:root{--ink:#192b39;--muted:#64717a;--line:#e4e6e4;--paper:#faf9f6;--cream:#f4f0e9;--navy:#102f41;--red:#d95743;--red2:#b94333;--white:#fff;--blue:#e9f1f6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,sans-serif;line-height:1.85}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}img{display:block;width:100%;object-fit:cover}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{line-height:1.45;letter-spacing:-.04em}h1{font-size:clamp(34px,4.2vw,61px)}h2{font-size:clamp(27px,3vw,39px)}h3{font-size:22px}.container{max-width:1180px;padding:0 28px;margin:0 auto}header{position:sticky;top:0;background:#fffdfaf5;backdrop-filter:blur(12px);z-index:30;border-bottom:1px solid #eee}.header-inner{max-width:1250px;padding:0 28px;margin:auto;height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:900;font-size:23px;letter-spacing:-.07em;line-height:1.2;white-space:nowrap}.logo small{display:block;font-size:10px;font-weight:500;letter-spacing:0;margin-top:4px}.logo-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--navy);color:white;font-size:21px}nav{display:flex;gap:30px;align-items:center}nav a{text-decoration:none;font-weight:700;font-size:13px}nav a:hover,.textlink:hover{color:var(--red)}.menu-button{display:none;border:0;background:none;font-size:27px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:9px;background:var(--red);border:2px solid var(--red);color:white;text-decoration:none;font-weight:900;line-height:1.45;padding:17px 24px;box-shadow:0 8px 18px #b3432822;transition:transform .2s,background .2s}.button:hover{background:var(--red2);transform:translateY(-2px)}.button.secondary{background:#fffdf6;color:var(--navy);border-color:#fffdf6}.button.outline{background:white;color:var(--navy);border-color:#d8dce0;box-shadow:none}.button.small{padding:11px 16px;font-size:13px}.button.big{padding:21px 27px;font-size:19px}.button:disabled{opacity:.4;cursor:not-allowed;transform:none}.textlink{text-decoration:none;font-weight:900;font-size:13px;white-space:nowrap}.textlink:after{content:' →';color:var(--red)}.eyebrow{font-size:11px;letter-spacing:.15em;font-weight:900;color:var(--red);text-transform:uppercase}.section{padding:76px 0}.section-title{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:25px}.section-title h2{margin:0}.section-title p{color:var(--muted);font-size:13px;margin:5px 0 0}.hero{display:grid;grid-template-columns:1.07fr .93fr;background:#142d37;min-height:555px;color:white}.hero-content{padding:83px max(30px,calc((100vw - 1180px)/2)) 55px max(30px,calc((100vw - 1180px)/2));padding-right:25px;position:relative;z-index:1}.hero .eyebrow{color:#ffd2c6}.hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;line-height:1.35;letter-spacing:-.045em;margin:18px 0 21px}.hero p{font-size:15px;color:#e3e7e7;max-width:540px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin:29px 0 15px}.hero-actions .button{min-width:215px}.hero-note{font-size:12px;color:#cbd9dc}.hero-photo{min-height:490px;position:relative;overflow:hidden}.hero-photo img{height:100%;object-position:center 24%;filter:saturate(.9)}.hero-photo:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#142d37 0%,transparent 20%)}.hero-photo .photo-caption{position:absolute;bottom:27px;right:26px;color:white;z-index:2;font-size:11px;background:#142d37aa;padding:8px 12px}.topics{background:white;border-bottom:1px solid var(--line)}.topic-row{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;padding-top:22px;padding-bottom:22px}.topic-row a{text-decoration:none;text-align:center;font-size:12px;font-weight:800;padding:12px 3px}.topic-row a span{display:block;font-size:25px;margin-bottom:5px}.topic-row a:hover{background:var(--cream)}.issue-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.issue-card{background:white;border:1px solid var(--line);text-decoration:none;transition:.2s}.issue-card:hover,.story-card:hover{transform:translateY(-4px);box-shadow:0 13px 30px #122b4014}.issue-card img{height:155px}.issue-card-body{padding:15px}.issue-card strong{display:block;font-size:16px;line-height:1.55}.issue-card p{font-size:12px;color:var(--muted);margin:6px 0}.issue-card .arrow{color:var(--red);font-weight:900}.story-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:17px}.story-card{display:block;background:white;border:1px solid var(--line);text-decoration:none;transition:.2s}.story-card img{height:185px}.story-card.featured img{height:250px}.story-body{padding:19px}.story-body h3{font-size:20px;margin:10px 0}.story-body p{font-size:13px;color:var(--muted)}.story-meta{display:flex;gap:10px;align-items:center;font-size:11px;color:var(--muted)}.tag{display:inline-block;background:#fce7e1;color:#a73f30;font-size:11px;font-weight:800;padding:4px 9px;border-radius:3px}.feature-band{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:#f2ede5;margin-top:30px}.feature-band img{height:320px}.feature-band .feature-copy{padding:36px 50px}.feature-band h2{font-family:"Yu Mincho",serif}.split-cta{background:#143447;color:white;padding:52px 0}.split-cta .container{display:flex;align-items:center;justify-content:space-between;gap:25px}.split-cta h2{font-size:29px;margin:0 0 7px}.split-cta p{color:#d5e1e5;margin:0}.page-hero{background:#f2eee7;padding:53px 0 45px;border-bottom:1px solid #e7e0d6}.page-hero h1{font-size:42px;margin:9px 0}.page-hero p{max-width:720px;color:var(--muted)}.breadcrumbs{font-size:11px;color:#73808a;padding:18px 0}.breadcrumbs a{text-decoration:none}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:55px;align-items:start;padding-bottom:70px}.article h1{font-size:clamp(30px,3.4vw,45px);margin:12px 0 18px}.article-lead{font-size:16px;color:#465b65}.article-cover{width:100%;height:350px;margin:23px 0 25px}.byline{display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:25px}.byline img{width:45px;height:45px;border-radius:50%}.byline small{display:block;color:var(--muted)}.summary{background:#f4efe7;padding:24px 27px;margin:25px 0 38px}.summary strong{display:block;margin-bottom:10px}.summary ul{padding-left:20px;margin:0}.summary li{margin:5px 0}.article-section{padding:13px 0 27px}.article-section h2{font-size:28px;margin:18px 0;padding-left:18px;border-left:5px solid var(--red)}.article-section h3{font-size:19px;margin:24px 0 12px}.article-section p{font-size:15px;line-height:2.12;margin-bottom:17px}.article-section ul{padding-left:22px;line-height:2.1}.article-photo{height:270px;margin:22px 0}.caption{font-size:11px;color:#7c8589;margin-top:-12px;margin-bottom:18px}.quote{font-family:"Yu Mincho",serif;font-size:22px;line-height:1.7;background:#f1eee8;border-left:4px solid #caa888;padding:26px 30px;margin:26px 0}.inline-cta{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:center;padding:23px 24px;background:#fbede9;border-radius:8px;margin:27px 0}.inline-cta strong{font-size:17px}.inline-cta p{font-size:12px;color:#58646b;margin:5px 0 0;line-height:1.7}.inline-cta .button{font-size:13px;padding:13px 17px}.sidebar{position:sticky;top:100px}.sidebar-panel{border:1px solid var(--line);background:white;padding:22px;margin-bottom:18px}.sidebar-panel h3{font-size:20px;margin:0 0 13px}.sidebar-service{padding:15px 0;border-top:1px solid var(--line)}.sidebar-service strong{display:block}.sidebar-service p{font-size:12px;color:var(--muted);margin:5px 0}.sidebar-service a{font-size:12px;color:var(--red);font-weight:900;text-decoration:none}.side-promo{background:var(--navy);color:white;padding:26px}.side-promo h3{font-size:22px}.side-promo p{font-size:13px;color:#d8e3e9}.side-promo .button{width:100%}.article-related{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.article-related img{height:130px}.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.service-card{background:white;border:1px solid var(--line);padding:23px;display:grid;grid-template-columns:1fr 125px;gap:15px;align-items:center}.service-card img{height:125px}.service-card h3{font-size:20px;margin:8px 0}.service-card p{font-size:13px;color:var(--muted);margin:0 0 10px}.service-card .tag{background:#e8f0f7;color:#32617a}.filter-row{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0 25px}.filter{border:1px solid #d5d9db;background:white;border-radius:20px;padding:8px 14px;font-size:12px;font-weight:800}.filter.active{background:var(--navy);color:white}.service-detail{display:grid;grid-template-columns:1.25fr .75fr;gap:45px;padding:40px 0 80px}.service-detail h1{font-size:44px}.detail-visual{height:300px}.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.fact{background:#f2efe9;padding:17px}.fact span{display:block;font-size:11px;color:var(--muted)}.fact strong{font-size:14px}.detail-note{background:#fceee8;padding:20px;font-size:13px}.diagnosis{max-width:830px;margin:35px auto 80px;background:white;border:1px solid var(--line);padding:35px}.progress{display:flex;gap:7px;margin-bottom:27px}.progress span{height:5px;flex:1;background:#e4e6e5;border-radius:3px}.progress span.on{background:var(--red)}.options{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.option{display:flex;align-items:center;gap:11px;text-align:left;background:white;border:1px solid #dce2e3;padding:18px;border-radius:7px;font-weight:800;min-height:85px}.option.selected{border:2px solid var(--red);background:#fff4f0}.option span{font-size:24px}.step-controls{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.result-insight{background:#f3eee7;padding:27px;margin:20px 0}.result-insight h2{font-size:27px}.result-services{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.result-services a{background:white;border:1px solid var(--line);padding:17px;text-decoration:none}.result-services strong{display:block}.result-services small{color:var(--muted)}.notice{font-size:12px;color:#68757b;background:#f0f1ef;padding:15px}.empty{padding:50px;text-align:center}.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:35px 0}.about-grid div{background:white;border:1px solid var(--line);padding:24px}.about-grid h3{font-size:18px}footer{background:#102e40;color:white;padding:50px 0 20px}footer p{color:#c9d6dc;font-size:13px}.footer-grid{display:flex;justify-content:space-between;gap:30px}.footer-grid>div:last-child{display:flex;gap:20px;flex-wrap:wrap}.footer-grid a{color:white;text-decoration:none;font-size:12px}.footer-bottom{font-size:11px;color:#afc0c8;border-top:1px solid #ffffff33;margin-top:35px;padding-top:18px}.mobile-cta{display:none}button:focus-visible,a:focus-visible{outline:3px solid #f4a04d;outline-offset:3px}@media(max-width:920px){.hero{grid-template-columns:1fr}.hero-content{padding:55px 28px}.hero-photo{min-height:360px;max-height:420px}.hero-photo:before{background:linear-gradient(0deg,#142d3720,transparent)}.issue-grid{grid-template-columns:repeat(2,1fr)}.story-grid{grid-template-columns:repeat(2,1fr)}.story-card.featured{grid-column:span 2}.story-card.featured img{height:250px}.article-layout{grid-template-columns:1fr;gap:20px}.sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:15px}.service-list{grid-template-columns:1fr}.service-detail{grid-template-columns:1fr}.topic-row{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.container{padding:0 17px}.header-inner{padding:0 17px;height:66px}.logo{font-size:19px}.logo-mark{width:35px;height:35px}.menu-button{display:block}nav{display:none;position:absolute;top:65px;left:0;right:0;background:white;flex-direction:column;padding:25px;align-items:start;box-shadow:0 14px 20px #0002}nav.open{display:flex}.hero-content{padding:48px 20px 36px}.hero h1{font-size:37px}.hero-photo{min-height:300px;height:330px}.hero-actions{display:grid}.hero-actions .button{min-width:0}.topic-row{grid-template-columns:repeat(3,1fr)}.topic-row a{font-size:10px}.section{padding:48px 0}.section-title{align-items:start}.section-title h2{font-size:27px}.issue-grid{grid-template-columns:repeat(2,1fr);gap:9px}.issue-card img{height:115px}.issue-card-body{padding:10px}.issue-card strong{font-size:13px}.story-grid{grid-template-columns:1fr}.story-card.featured{grid-column:span 1}.story-card.featured img{height:195px}.story-card img{height:185px}.feature-band{grid-template-columns:1fr}.feature-band img{height:200px}.feature-band .feature-copy{padding:25px}.split-cta .container{display:block}.split-cta .button{margin-top:19px}.page-hero h1{font-size:33px}.article-cover{height:220px}.article-section h2{font-size:24px}.inline-cta{grid-template-columns:1fr}.sidebar{display:block}.article-related{grid-template-columns:1fr}.article-related img{height:180px}.service-card{grid-template-columns:1fr 90px;padding:15px}.service-card img{height:100px}.service-card h3{font-size:17px}.diagnosis{padding:20px;margin:20px 12px 65px}.options{grid-template-columns:1fr}.about-grid{grid-template-columns:1fr}.footer-grid{display:block}.footer-grid>div:last-child{margin-top:25px}.mobile-cta{display:block;position:fixed;bottom:0;left:0;right:0;background:#fffefaeb;padding:9px 16px;z-index:25;box-shadow:0 -3px 15px #0001}.mobile-cta .button{width:100%;padding:12px}.footer-bottom{padding-bottom:60px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* v1.1 — profile screening and tailored recommendations */
.profile-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,.7fr);gap:36px;align-items:start}.profile-panel,.profile-side{background:#fff;border:1px solid #e5e4df;padding:34px;border-radius:12px}.profile-panel h2{font-size:22px;margin:28px 0 15px}.profile-panel h2:first-of-type{margin-top:16px}.profile-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-option{text-align:left;cursor:pointer;background:#fff;border:1px solid #d9dcd9;border-radius:8px;padding:16px;color:#162b36;font:inherit}.profile-option strong{display:block;font-size:15px}.profile-option small{display:block;margin-top:6px;color:#68747a;font-size:12px;line-height:1.6}.profile-option.selected{border:2px solid #087c73;background:#f0faf6;padding:15px}.profile-actions{display:flex;gap:12px;justify-content:space-between;margin-top:30px;flex-wrap:wrap}.profile-side{background:#f6f4ee;position:sticky;top:100px}.profile-side h3{font-size:24px;line-height:1.4}.profile-side p{line-height:1.9}.profile-note{background:white;padding:18px;border-radius:8px;line-height:2}.profile-summary{padding:12px 16px;background:#f0f7f5;border-radius:8px;margin-bottom:18px;font-size:13px}.profile-summary a{float:right;color:#087c73}.result-tags{color:#52726c;font-size:14px;margin:10px 0 20px}.result-why{border-top:1px solid #dfe5e0;padding-top:16px}.ranked-list{display:grid;gap:16px;margin:28px 0}.ranked-item{display:flex;gap:25px;background:white;border:1px solid #e3e5e2;padding:30px;border-radius:10px}.rank-num{font-size:32px;font-weight:800;color:#d95844;line-height:1}.rank-content{flex:1}.rank-content h3{font-size:25px;margin:8px 0}.rank-content p{line-height:1.8}.reason-tags{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.reason-tags span{background:#e9f5f0;color:#0b6b60;padding:6px 10px;border-radius:6px;font-size:12px;font-weight:700}.muted{color:#6c777b}@media(max-width:800px){.profile-layout{grid-template-columns:1fr}.profile-side{position:static}.profile-options{grid-template-columns:1fr}.profile-panel,.profile-side{padding:20px}.ranked-item{padding:18px;gap:12px}}

/* v1.2 art direction: stable editorial photography, human-centered hierarchy */
.hero{background:#102d3b}.hero-photo{background:#233d43;min-width:0}.hero-photo img{width:100%;height:100%;min-height:490px;object-fit:cover;object-position:53% 35%;filter:none}.hero-photo:before{pointer-events:none}
.issue-card img,.story-card img,.feature-band img,.article-hero img,.service-hero img{object-fit:cover;object-position:center 32%}
.issue-card,.story-card{transition:transform .2s ease,box-shadow .2s ease}.issue-card:hover,.story-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(16,47,65,.12)}
.button{transition:transform .15s ease,filter .15s ease}.button:hover{transform:translateY(-2px);filter:brightness(.97)}.button:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #ef634f;outline-offset:3px}
.page-hero{background:linear-gradient(105deg,#f5f0e9,#e7f1f6)}
.story-body h3{letter-spacing:-.035em}.article-body p{line-height:2.1}.article-body h2{border-bottom:1px solid #e2e4e1;padding-bottom:12px}
@media(max-width:800px){.hero-photo img{min-height:270px;max-height:370px;object-position:center 30%}}

/* v1.2.1 image-quality remediation: no thumbnail is stretched to banner size */
.hero-photo{display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(125deg,#163648,#274a4b);min-height:440px}
.hero-photo img{width:100%;height:100%;min-height:0;max-height:none;object-fit:cover;object-position:55% 45%;image-rendering:auto}
.issue-card img{height:118px;object-fit:cover;object-position:center 35%}
.story-card img{height:140px;object-fit:cover;object-position:center 35%}
.story-card.featured img{height:200px}
.article-cover{height:260px;max-height:260px;object-fit:contain;background:linear-gradient(120deg,#e9eeeb,#dce9e7);padding:0 12%;border-radius:4px}
.article-photo{height:205px;max-height:205px;object-fit:contain;background:linear-gradient(115deg,#eff1ed,#dce7e2);padding:0 16%;border-radius:4px}
.service-card img{width:120px;height:100px;object-fit:contain;background:#f2f3ef;border-radius:4px}
.detail-visual{height:220px;object-fit:contain;background:linear-gradient(110deg,#f2eee7,#e3ecea);padding:0 16%;border-radius:6px}
.feature-band img{height:270px;object-fit:contain;background:#193949;padding:0 9%}
.byline img{width:46px;height:46px;object-fit:cover;border-radius:50%}
@media(max-width:640px){.hero-photo{min-height:260px;height:290px}.hero-photo img{min-height:0;max-height:none;height:100%}.article-cover{height:190px;padding:0 5%}.article-photo{height:180px;padding:0 7%}.service-card img{width:90px;height:90px}.feature-band img{height:195px}}

/* v1.3: editorial image system and verified updates */
.hero-photo img{object-fit:cover;object-position:center center}
.issue-card img,.story-card img,.article-cover,.article-photo,.detail-visual,.feature-band img,.service-card img{object-fit:cover;padding:0;object-position:center center}
.article-cover{height:340px;max-height:none}.article-photo{height:280px;max-height:none}.detail-visual{height:290px}.feature-band img{height:320px}
.update-section{background:#f4f1eb}.update-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.update-grid>div{background:white;border:1px solid #e4e0d9;padding:26px;border-radius:10px}.update-grid h3{font-size:21px}.update-grid p{line-height:1.8}.source-note{padding:20px;background:#edf3f4;border-left:4px solid #284a60;margin:22px 0;overflow-wrap:anywhere}.source-note p{margin:8px 0;font-size:13px}.source-note a{color:#174b75}
@media(max-width:640px){.update-grid{grid-template-columns:1fr}.article-cover{height:220px}.article-photo{height:190px}.detail-visual{height:210px}.feature-band img{height:210px}}
