@font-face{font-family:SUIT;src:url('assets/SUIT-Regular.woff2')}@font-face{font-family:SUIT;src:url('assets/SUIT-Bold.woff2');font-weight:700}@font-face{font-family:SUIT;src:url('assets/SUIT-ExtraBold.woff2');font-weight:800}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#f4f4f4;color:#080808;font-family:SUIT,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #111;outline-offset:4px}button{border:0;background:none}img{max-width:100%;display:block}header{height:76px;position:fixed;inset:0 0 auto;z-index:10;background:#090909ce;backdrop-filter:blur(12px);color:#fff;display:flex;align-items:center;padding:0 4.5%;gap:24px}header nav{display:flex;gap:30px;margin:auto;font-size:13px}header nav a:hover{color:#aaa}.brand{font-size:22px;font-weight:700;display:flex;align-items:center;gap:9px}.symbol{background:white;color:#111;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;font-size:14px}.small{padding:10px 17px;border-radius:5px;font-size:12px}.light{background:#fff;color:#111}.motion{border:1px solid #666;border-radius:50%;height:33px;width:33px}.hero{height:210svh;background:#000;color:#fff}.hero-sticky{height:100svh;position:sticky;top:0;overflow:hidden;display:grid;place-items:center}.hero video{position:absolute;width:100%;height:100%;object-fit:cover}.shade{position:absolute;inset:0;background:#000;opacity:var(--shade,0)}.hero-copy{position:relative;text-align:center;opacity:var(--progress,0);transform:translateY(calc((1 - var(--progress,0))*80px));pointer-events:none}.hero-copy.active{pointer-events:auto}.hero-copy h1{font-size:clamp(36px,5.3vw,82px);line-height:1.35;letter-spacing:-.055em;margin:0}.word-box{display:inline-block;min-width:5.1em;text-align:left}#heroWord{display:inline-block;background:linear-gradient(100deg,#31a66f,#a89942,#df4735);color:transparent;background-clip:text;transition:opacity .3s,transform .3s}#heroWord.changing{opacity:0;transform:translateY(-20px)}.hero-copy p{font-size:26px;margin:35px 0}.actions{display:flex;justify-content:center;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;padding:17px 26px;border-radius:5px;font-weight:700;font-size:15px;transition:transform .2s}.button:hover{transform:translateY(-3px)}.outline{border:1px solid #777;color:white}.black{background:#111;color:#fff}.scroll-cue{position:absolute;bottom:6%;color:#fff;border:1px solid #aaa;border-radius:20px;font-size:26px;animation:nudge 2s infinite}#playVideo{position:absolute;bottom:7%;right:5%;color:#fff}.section{padding:130px 0}.wrap{width:min(1200px,84%);margin:auto}.dark{background:#050505;color:#f5f5f5}.eyebrow{font-size:14px;color:#8b8b8b;display:block;margin-bottom:28px}h2{font-size:clamp(32px,4vw,58px);line-height:1.45;letter-spacing:-.05em;margin:0 0 65px;font-weight:800}h2>span{color:#888}h3{font-size:23px;letter-spacing:-.035em;line-height:1.4}p{line-height:1.8;color:#858585}.problem{padding-top:160px}.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.problem-grid h3{margin-bottom:12px}.index{font-size:11px;letter-spacing:.1em;color:#777}.abstract{height:220px;background:#151515;border:1px solid #292929;margin-bottom:28px;position:relative;overflow:hidden;padding:36px;display:flex;flex-direction:column;gap:10px}.abstract i{display:block;background:#333;height:14px;width:80%}.abstract i:nth-child(2){width:55%}.abstract b{position:absolute;bottom:24px;left:24px;color:#ccc;background:#222;padding:10px;font-size:13px}.paper{transform:rotate(-2deg)}.identity{flex-direction:row;align-items:center;padding:15px;gap:14px}.identity span{font-size:46px;color:#777}.identity span:nth-child(2){font-family:SUIT;font-style:italic}.identity span:last-child{font-weight:800;transform:rotate(-10deg)}.closing{text-align:center;margin:80px 0 0;font-size:25px}.closing strong{color:#eee}.centered{text-align:center}.intro{padding-bottom:40px}.character{width:280px;height:330px;object-fit:contain;margin:auto;mix-blend-mode:multiply}.service-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.service-top .eyebrow{margin:0}.tabs{display:flex;gap:8px}.tabs button{font-size:15px;padding:10px 18px;border-radius:30px;color:#888}.tabs button[aria-selected=true]{background:#111;color:#fff}.service-pair{display:grid;grid-template-columns:1fr 1fr;gap:48px;transition:opacity .16s}.service-pair.switching{opacity:.1}.model-frame,.result-card{border-radius:20px;overflow:hidden;aspect-ratio:6/7}.model-frame img{width:100%;height:100%;object-fit:cover}.result-card{display:flex;flex-direction:column;background:#ece9e5;border:1px solid #bbb}.result-frame{height:70.5%;padding:0;display:grid;place-items:center}.result-frame img{width:100%;height:100%;object-fit:contain}.service-band{height:21%;background:#050505;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 8%}.service-band strong{font-size:38px}.service-band span{font-size:22px;margin-left:20px;padding-left:20px;border-left:1px solid #777}.service-band button{font-size:30px;border:1px solid #fff;border-radius:4px;line-height:1;width:38px;height:38px}.pagination{flex:1;display:flex;align-items:center;justify-content:center;gap:28px;font-size:12px}.pagination button{font-size:20px;min-width:40px}.caption{font-size:12px;color:#888;margin:20px 0}.about{padding-top:80px}.stats{display:flex;margin:100px 0 50px}.stats>div{flex:1;display:flex;align-items:center;flex-direction:column;border-right:1px solid #bbb}.stats>div:last-child{border:0}.stats strong{font-size:clamp(44px,7vw,100px);letter-spacing:-.05em}.stats span{font-size:25px;color:#888;margin-top:15px}.text-link{display:inline-block;font-size:14px;padding:10px 0;border-bottom:1px solid #999}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:30px}blockquote{margin:0;padding:32px;background:#fff;border:1px solid #e3e3e3;border-radius:15px}blockquote>span{font-size:12px;color:#aaa}blockquote h3{font-size:20px}blockquote p{font-size:15px}.logo-wall{padding:45px 0 65px;overflow:hidden}.logo-heading{display:flex;justify-content:space-between;width:84%;margin:auto auto 35px;color:#888;font-size:12px}.marquee{mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.logo-track{display:flex;width:max-content;animation:marquee 65s linear infinite}.logo-set{display:flex;align-items:center;gap:65px;padding-right:65px}.logo-set img{width:125px;height:50px;object-fit:contain}.logo-wall:hover .logo-track,.logo-wall:focus-within .logo-track,.logo-track.paused{animation-play-state:paused}.insight-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}.editorial{width:100%;padding:35px;background:#e9e9e7;text-align:left;margin-bottom:20px;display:block}.editorial span{font-size:12px;color:#888}.editorial h3{font-size:30px}.editorial.lead{background:#dededb;display:flex;flex-direction:column;justify-content:space-between;margin:0}.editorial.lead h3{font-size:44px}.editorial .large-arrow{font-size:90px;color:#111}.guide-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:center}.guide h2{font-size:44px;margin-bottom:30px}.guide .button{margin-top:20px}.sheet{background:#fff;padding:40px;box-shadow:0 20px 70px #00000010;transform:rotate(3deg)}.sheet>div{display:flex;justify-content:space-between;font-size:13px}.sheet>div span{font-size:9px;color:#888}.sheet h3{font-size:35px}.sheet li{font-size:14px;margin-bottom:28px}.sheet hr{border:0;border-bottom:1px solid #ddd;margin-top:20px}.sheet>span{font-size:11px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.work{padding:0;text-align:left}.work.featured{grid-column:span 2}.work img{width:100%;height:400px;object-fit:cover}.work.featured img{height:570px}.work span{display:flex;justify-content:space-between;margin-top:18px;color:#aaa}.work b{color:#fff}.faq details{border-bottom:1px solid #333}.faq summary{padding:28px 0;cursor:pointer;font-size:22px;list-style:none}.faq summary:after{content:'+';float:right;color:#888}.faq details[open] summary:after{content:'−'}.faq details p{max-width:850px;padding-bottom:25px}.statement{padding:100px 0;text-align:center}.statement p{font-size:38px}.statement strong{color:#fff}footer{min-height:100svh;padding:100px 0 30px;display:flex;align-items:center}footer .wrap{width:90%}footer h2{font-size:clamp(55px,12.5vw,190px);line-height:.95;letter-spacing:-.065em;margin:40px 0 65px}footer h2 span{color:#777}.consult{display:flex;align-items:center;justify-content:space-between;background:#eee;color:#111;width:100%;padding:28px 35px;font-size:clamp(24px,3vw,44px);font-weight:700;border-radius:5px}.footer-info{border-top:1px solid #333;margin-top:85px;padding:35px 0;display:flex;justify-content:space-between;gap:30px}.footer-info p,.footer-info small{font-size:12px;color:#777}.footer-info nav{display:grid;gap:12px;font-size:13px}.footer-info>a{font-size:13px}.copyright{display:flex;justify-content:space-between;font-size:10px;color:#666}dialog{width:min(740px,92%);max-height:85svh;border:0;border-radius:12px;padding:55px;background:#f4f4f4}dialog::backdrop{background:#000a;backdrop-filter:blur(5px)}.modal-close{position:absolute;right:18px;top:10px;font-size:32px}dialog h2{font-size:34px;margin-bottom:25px}dialog p{color:#666}dialog img{width:100%}dialog label{display:block;margin:20px 0}dialog input,dialog textarea{display:block;width:100%;padding:14px;border:1px solid #bbb;background:#fff;margin-top:8px}dialog .notice{font-size:12px;color:#888}.skip{position:fixed;top:-100px;z-index:99}.skip:focus{top:10px;background:#fff;padding:15px}.motion-paused *{animation-play-state:paused!important}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes nudge{50%{transform:translateY(8px)}}@media(max-width:760px){header{height:64px;gap:12px;padding:0 5%}header nav{display:none}.brand{font-size:18px}header .small{margin-left:auto}.wrap{width:88%}.section{padding:80px 0}.hero-copy{width:92%}.hero-copy h1{font-size:clamp(29px,6.8vw,46px)}.hero-copy p{font-size:20px}.button{padding:15px 18px;font-size:13px}.hero video{object-position:47% center}.hero{height:190svh}h2{font-size:30px;margin-bottom:40px}.problem-grid{grid-template-columns:1fr}.abstract{height:160px}.closing{font-size:22px}.character{width:210px;height:240px}.service-top{display:block}.service-top .eyebrow{margin-bottom:16px}.tabs{justify-content:space-between}.tabs button{padding:10px 17px}.service-pair{gap:16px;grid-template-columns:1fr}.model-frame{aspect-ratio:6/5;max-height:440px}.model-frame img{object-position:center 35%}.result-card{aspect-ratio:6/7}.service-band strong{font-size:32px}.service-band span{font-size:20px}.stats{margin:55px 0 35px}.stats strong{font-size:43px}.stats span{font-size:17px}.review-grid{grid-template-columns:1fr}.insight-grid,.guide-grid{grid-template-columns:1fr;gap:30px}.editorial.lead{min-height:340px}.editorial.lead h3{font-size:34px}.guide h2{font-size:30px}.sheet{padding:30px;transform:rotate(1deg)}.work-grid{gap:25px;grid-template-columns:1fr}.work.featured{grid-column:auto}.work img,.work.featured img{height:300px}.faq summary{font-size:18px;padding-right:5px}.statement p{font-size:26px}.footer-info{flex-wrap:wrap}.footer-info>div{width:100%}footer{padding-top:80px}.consult{padding:24px 20px}.logo-set{gap:40px;padding-right:40px}dialog{padding:45px 25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-copy{transform:none}.logo-track{animation:none}.marquee{overflow-x:auto}}
/* September revision: centered type, paired sliding panels, editorial rhythm. */
header .brand img{width:134px;height:32px}header nav span{cursor:default}.chat{display:grid;place-items:center;background:white;width:36px;height:36px;border-radius:6px;flex-shrink:0}.chat svg{width:23px;height:23px;fill:#000}.hero-line{display:inline-flex;align-items:baseline;justify-content:center;gap:.23em}.word-box{min-width:0;text-align:center}.hero-copy .actions{margin-top:44px}.scroll-cue{border:0;padding:0;border-radius:0;width:30px;height:44px;color:#aaa}.scroll-cue svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.problem-lead{font-size:22px;max-width:680px;margin-bottom:90px}.problem h2{margin-bottom:32px}.reason-list article{display:grid;grid-template-columns:180px 1fr 1fr;gap:32px;padding:50px 0;border-top:1px solid #333;align-items:start}.reason-list article>span{font-size:12px;color:#888;padding-top:8px}.reason-list h3{margin:0;font-size:28px}.reason-list p{margin:0;font-size:16px}.intro{padding:130px 0 60px}.intro h2{margin-bottom:100px}.character{height:300px;width:285px}.service-viewport{overflow:hidden;touch-action:pan-y}.service-track{display:flex;transition:transform .7s cubic-bezier(.22,.7,.2,1);will-change:transform}.service-pair.slide{min-width:100%;flex:0 0 100%;gap:48px;transition:none}.result-frame{height:70%;min-height:0;overflow:hidden}.service-band{height:22%;flex-shrink:0}.pagination{height:8%;flex:none;gap:7px}.pagination .dot{padding:0;min-width:0;width:6px;height:6px;position:relative;border-radius:50%;background:#c8c6c3}.pagination .dot:after{content:'';position:absolute;inset:-9px}.pagination .dot.selected{background:#111}.service-band button{width:32px;height:32px;padding:2px;flex-shrink:0}.next-slide svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.service-band strong{font-size:32px}.service-band span{font-size:20px;margin-left:16px;padding-left:16px}.inverse .result-card{background:#202020;border-color:#202020}.inverse .service-band{background:#f4f4f4;color:#202020}.inverse .service-band button{border-color:#202020}.inverse .pagination .dot{background:#444}.inverse .pagination .dot.selected{background:#eee}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.reviews{background:#eaeae7;border-radius:36px 36px 0 0}.review-grid blockquote{padding:40px 30px;border:0;border-radius:22px}.editorial{border-radius:20px;transition:background .3s,transform .3s}.editorial:hover{background:#d6d6d1;transform:translateY(-4px)}.work img{border-radius:20px}.faq .wrap{display:grid;grid-template-columns:1fr 1.4fr;column-gap:70px}.faq .eyebrow,.faq h2{grid-column:1}.faq h2{grid-row:2/7;position:sticky;top:120px;align-self:start}.faq details{grid-column:2}.faq details:first-of-type{grid-row:2}.faq summary{font-size:19px}.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s,transform .7s}.reveal.revealed{opacity:1;transform:none}footer{border-top:1px solid #222}.consult{border-radius:12px;transition:background .25s}.consult:hover{background:#fff}.destination{padding-top:140px;min-height:100svh}.destination .wrap{max-width:1100px}.destination .back{display:inline-block;margin-bottom:65px}.destination .work-grid{margin:50px 0}.destination .work{display:block}.destination .button{margin-top:30px}
@media(max-width:1000px){.reason-list article{grid-template-columns:1fr 2fr}.reason-list p{grid-column:2}.service-band strong{font-size:27px}.service-band span{font-size:16px;margin-left:10px;padding-left:10px}.service-pair.slide{gap:28px}}
@media(max-width:760px){.reason-list article{display:block;padding:32px 0}.reason-list h3{margin:18px 0;font-size:25px}.problem-lead{font-size:18px;margin-bottom:45px}.service-pair.slide{gap:16px}.service-band strong{font-size:32px}.service-band span{font-size:20px}.faq .wrap{display:block}.faq h2{position:static}.intro h2{margin-bottom:60px}.hero-copy .actions{margin-top:34px}.hero-line{gap:.18em}.reviews{border-radius:24px 24px 0 0}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
/* Sep 9: a single thought bridges the hero and studio introduction. */
.problem{min-height:85svh;display:grid;align-items:center;padding:140px 0 170px}.reason-focus{text-align:center}.reason-focus h2{font-size:clamp(30px,4.4vw,64px);line-height:1.45;margin:0;word-break:keep-all}.reason-focus h2>span{font-size:.7em;display:inline-block;margin-bottom:20px;font-weight:400;color:#aaa}.reason-focus h2 strong{font-weight:800;color:#fff}.reason-focus p{font-size:20px;margin:40px 0 0;color:#aaa}.intro{position:relative;margin-top:-38px;border-radius:38px 38px 0 0;background:#f4f4f4;min-height:85svh;display:grid;align-items:center}.intro .eyebrow{color:#666}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:65px}.section-heading h2{margin:0}.view-link{flex-shrink:0;display:inline-flex;align-items:center;gap:22px;padding:13px 0;font-size:15px;border-bottom:1px solid #aaa;white-space:nowrap}.view-link span{color:#777}.view-link:hover span{color:#111}.stats strong .count-number{font:inherit;color:inherit;margin:0;font-variant-numeric:tabular-nums}.stats strong{white-space:nowrap;min-width:3.5ch;text-align:center}.service-web{--surface:#ece8e5}.service-deck{--surface:#faf8f4}.service-page{--surface:#1e1e1e}.service-book{--surface:#e0e0e0}.slide .result-card,.slide .result-frame,.slide .pagination{background:var(--surface)}.slide .result-frame{position:relative}.slide .result-frame img{position:relative;z-index:1}.faq .wrap{display:block;max-width:760px}.faq h2{position:static;font-size:40px;margin-bottom:45px}.faq details{background:#191919;border:0;border-radius:18px;margin-bottom:12px;padding:0 24px}.faq summary{font-size:17px;line-height:1.5}.faq summary:after{content:'⌄'}.faq details[open] summary:after{content:'⌃'}.faq details p{margin-top:0}.statement{padding-bottom:130px}.statement p{font-size:clamp(30px,5.5vw,80px);line-height:1.25;letter-spacing:-.04em}.statement+footer{position:relative;border-radius:38px 38px 0 0;background:#151515;margin-top:-38px}.section-heading .view-link{margin-bottom:12px}
@media(max-width:760px){.problem{min-height:75svh;padding:110px 0 130px}.reason-focus h2{font-size:clamp(25px,6.5vw,42px)}.reason-focus h2>span{font-size:.73em}.reason-focus p{font-size:16px}.intro{border-radius:24px 24px 0 0;min-height:75svh}.section-heading{display:block;margin-bottom:35px}.section-heading .view-link{margin-top:20px;margin-bottom:0}.faq h2{font-size:30px}.faq details{padding:0 18px}}
.problem{min-height:135svh;display:block;padding:0}.reason-focus{position:sticky;top:76px;min-height:85svh;display:flex;flex-direction:column;justify-content:center;padding:75px 0 110px}.clarity-copy{display:inline-block;filter:blur(var(--clarity-blur,9px));will-change:filter}.logo-wall{padding:65px 0}.logo-set{gap:65px;padding-right:65px}.logo-mark{display:block;position:relative;flex:none;overflow:hidden}.logo-mark:before{content:'';position:absolute;inset:0;background:#929292;mask-image:var(--mask);mask-size:var(--mw) var(--mh);mask-position:var(--mx) var(--my);mask-repeat:no-repeat;-webkit-mask-image:var(--mask);-webkit-mask-size:var(--mw) var(--mh);-webkit-mask-position:var(--mx) var(--my);-webkit-mask-repeat:no-repeat}.logo-wall:hover .logo-track,.logo-wall:focus-within .logo-track,.logo-track.paused{animation-play-state:running}.logo-track{animation:marquee 80s linear infinite}.marquee{mask-image:none}.logo-wall{pointer-events:none}
@media(max-width:760px){.reason-focus{top:64px;min-height:80svh}.problem{min-height:130svh}.logo-set{gap:65px;padding-right:65px}}
@media(prefers-reduced-motion:reduce){.clarity-copy{filter:none}.logo-track{animation:marquee 80s linear infinite!important}}
/* Hero-only opening, then ordered clarity and studio reveal. */
header{opacity:0;transform:translateY(-100%);visibility:hidden;transition:opacity .4s,transform .4s,visibility .4s}header.header-visible{opacity:1;transform:none;visibility:visible}.difference{opacity:0;transform:translateY(16px);transition:opacity .55s,transform .55s}.difference.visible{opacity:1;transform:none}.intro{min-height:100svh;padding:100px 0 70px;overflow:hidden}.intro .wrap{width:min(1500px,90%)}.intro .eyebrow{font-size:clamp(20px,2vw,32px);letter-spacing:-.025em;margin-bottom:32px}.intro h2{font-size:clamp(40px,6.2vw,94px);line-height:1.2;letter-spacing:-.055em;margin-bottom:48px}.intro h2>span{color:#777}.character-stage{position:relative;display:block;padding:0;width:clamp(280px,29vw,430px);margin:auto;cursor:pointer;transform:translateY(35px) scale(.92);opacity:0;transition:transform .85s cubic-bezier(.2,.8,.2,1),opacity .65s}.intro-visible .character-stage{opacity:1;transform:none}.character-stage .character{width:100%;height:auto;margin:0}.focus-ring{position:absolute;left:56%;top:36%;width:43%;height:18%;border:2px solid #999;border-radius:50%;opacity:0;pointer-events:none}.focus-spark{position:absolute;left:27%;top:25%;font-size:38px;opacity:0;pointer-events:none}.character-stage:hover .character{transform:translateY(-3px)}.character-stage .character{transition:transform .25s}.character-stage:focus-visible{outline:2px solid #777;outline-offset:12px;border-radius:20px}
@media(max-width:760px){.intro{padding:85px 0 60px;min-height:90svh}.intro h2{font-size:clamp(32px,7vw,48px);margin-bottom:40px}.intro .eyebrow{font-size:19px}.character-stage{width:260px}.difference{min-height:30px}}
@media(prefers-reduced-motion:reduce){.character-stage{opacity:1;transform:none}.focus-ring,.focus-spark{display:none}}
/* Review and portfolio revision */
.intro .stats{margin:65px auto 0;display:grid;grid-template-columns:repeat(4,1fr);width:100%;text-align:center}.intro .stats strong{font-size:clamp(32px,4.5vw,72px)}.intro .stats .certification strong{font-size:clamp(24px,3vw,46px);line-height:1.5}.intro .stats>div{padding:20px 12px}.intro .stats>div>span{font-size:18px}.services .section-heading{margin:35px 0 60px}.services .section-heading h2{font-size:clamp(28px,3.4vw,54px)}
.review-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;align-items:stretch}.review-feature,.review-small{background:#fff;border:1px solid #ddd;border-radius:20px;padding:36px;text-align:left}.review-feature{background:#e9e6df;display:flex;flex-direction:column}.review-meta{font-size:12px;letter-spacing:.06em;color:#777;display:flex;justify-content:space-between;gap:20px}.review-feature h3{font-size:clamp(25px,2.6vw,40px);line-height:1.4;margin:36px 0 20px;letter-spacing:-.05em}.review-by{font-size:15px;font-weight:700}.qa{margin:22px 0}.qa h4{font-size:16px;margin:26px 0 10px}.qa p,.review-layout details p{font-size:16px;line-height:1.85;color:#555}.review-stack{display:grid;gap:18px}.review-small h3{font-size:23px;line-height:1.5;margin:25px 0}.review-layout details{border-top:1px solid #ccc;padding:18px 0 0;margin-top:20px}.review-layout summary{font-size:14px;cursor:pointer}.review-feature small{font-size:11px;color:#777;margin-top:25px}.home-work-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.home-work{display:block;overflow:hidden;aspect-ratio:4/3;background:#202020}.home-work img{width:100%;height:100%;object-fit:contain;transition:transform .7s,filter .7s}.home-work:hover img,.home-work:focus-visible img{transform:scale(1.045);filter:brightness(1.08)}
.archive{background:#070707;color:#fff;min-height:100vh}.archive-nav{display:flex;justify-content:space-between;align-items:center;padding:28px 0;border-bottom:1px solid #333}.archive-nav img{width:140px}.archive-main{padding:75px 0}.archive h1{font-size:clamp(58px,9vw,140px);font-weight:500;letter-spacing:-.07em;margin:0 0 55px}.archive-tools{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:35px;flex-wrap:wrap}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{border:1px solid #555;border-radius:40px;padding:12px 22px;background:none;color:#aaa}.filters button[aria-pressed=true]{background:white;color:black;border-color:white}.archive-count{color:#999;font-size:14px}.archive-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px 20px}.project-card{display:block}.project-image{aspect-ratio:4/3;overflow:hidden;background:#222}.project-image img{width:100%;height:100%;object-fit:contain;transition:transform .6s}.project-card:hover img{transform:scale(1.045)}.project-caption{display:flex;justify-content:space-between;padding:16px 0;color:#bbb;font-size:14px}.archive-note{color:#888;font-size:13px;margin:30px 0}.archive-footer{border-top:1px solid #333;padding:45px 0;display:flex;justify-content:space-between}.project-detail h1{font-size:clamp(50px,8vw,110px);margin-bottom:25px}.project-summary{max-width:650px;line-height:1.8;color:#aaa;margin:30px 0 60px}.project-gallery img{width:100%;display:block;margin-bottom:25px}.detail-meta{display:flex;gap:35px;color:#999}.archive a:focus-visible{outline:2px solid white;outline-offset:5px}
@media(max-width:760px){.intro .stats{grid-template-columns:1fr 1fr}.review-layout{grid-template-columns:1fr}.review-feature,.review-small{padding:25px}.home-work-grid{gap:8px}.archive-grid{grid-template-columns:1fr}.archive-main{padding-top:45px}.archive h1{margin-bottom:35px}.section-heading{flex-wrap:wrap}.intro .stats>div:nth-child(3){border-left:0}}
@media(prefers-reduced-motion:reduce){.home-work img,.project-image img{transition:none}}

/* Equal-width trust metrics: grid owns widths, separators belong to cells. */
.intro .stats{max-width:1240px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:48px;align-items:stretch}
.intro .stats>div{width:auto;min-width:0;flex:none;padding:24px 18px;display:grid;grid-template-rows:80px auto;justify-items:center;align-items:center;border:0;position:relative}
.intro .stats>div+div:before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:1px;background:#d2d2d2}
.intro .stats strong{font-size:clamp(44px,4.5vw,68px);line-height:1.1;letter-spacing:-.04em;min-width:0}
.intro .stats .certification strong{font-size:clamp(28px,2.7vw,42px);line-height:1.1}
.intro .stats>div>span{font-size:16px;line-height:1.5;margin:12px 0 0;color:#737373;white-space:nowrap;word-break:keep-all}
.intro .character-stage{width:clamp(270px,26vw,390px)}
@media(max-width:760px){.intro .stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:30px;row-gap:12px}.intro .stats>div{padding:18px 8px;grid-template-rows:64px auto}.intro .stats>div:nth-child(3):before{display:none}.intro .stats strong{font-size:44px}.intro .stats .certification strong{font-size:28px}.intro .stats>div>span{font-size:14px}.intro .character-stage{width:260px}}

/* Sep 9 complete interaction pass */
header nav a{transition:opacity .2s}header nav a:hover{opacity:.62}.character-stage{cursor:default}.character-stage:hover .character{transform:none}.eye-star{position:absolute;left:43%;top:28%;color:#050505;font-size:clamp(18px,2vw,30px);line-height:1;transform-origin:center;animation:eyeStar 1.8s cubic-bezier(.22,.8,.2,1) infinite}.reveal{transition-delay:var(--reveal-delay,0ms)}
@keyframes eyeStar{0%,22%,100%{opacity:0;transform:scale(.2) rotate(-30deg)}42%{opacity:1;transform:scale(1.2) rotate(6deg)}62%{opacity:.75;transform:scale(.78) rotate(20deg)}}
.service-track{display:block;transform:none!important;will-change:auto}.service-track img,.service-band>div{transition:opacity .28s,transform .28s}.service-track.service-changing img,.service-track.service-changing .service-band>div{opacity:0;transform:translateX(22px)}.service-viewport{--surface:#ece8e5}.service-deck{--surface:#faf8f4}.service-page{--surface:#1e1e1e}.service-book{--surface:#e0e0e0}.service-viewport .result-card,.service-viewport .result-frame,.service-viewport .pagination{background:var(--surface)}.service-viewport .model-frame,.service-viewport .result-card{transform:none}.client-logo{width:min(190px,48%);height:72px;object-fit:contain;filter:grayscale(1);opacity:.52;margin:0 0 34px}.review-excerpt{font-size:16px;max-width:640px}.review-link{margin-top:auto;padding:22px 0 4px;border-top:1px solid #bbb;font-weight:700}.review-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}.review-tags span{font-size:12px;color:#666;background:#f1f1f1;border-radius:999px;padding:8px 12px}.review-small{display:flex;flex-direction:column}.review-small h3{margin-bottom:14px}.review-small .review-by{margin:0 0 20px}.review-feature small{margin-top:18px}
.portfolio{height:190svh;padding:0;--portfolio-progress:0;--portfolio-scale:.86;--portfolio-gap:14px;--portfolio-radius:28px}.portfolio-sticky{position:sticky;top:0;min-height:100svh;display:grid;place-items:center;overflow:hidden}.portfolio-shell{width:100%;height:100svh;transform:scale(var(--portfolio-scale));display:grid;grid-template-rows:auto 1fr;gap:20px;border-radius:var(--portfolio-radius);overflow:hidden;background:#050505;will-change:transform}.portfolio-head{width:100%;padding-top:clamp(24px,4vh,55px)}.portfolio-head .section-heading{margin-bottom:0}.portfolio .home-work-grid{min-height:0;gap:var(--portfolio-gap)}.portfolio .home-work{min-height:0;aspect-ratio:auto;border-radius:var(--portfolio-radius)}
.consult-section{background:#deded9}.consult-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:start}.consult-intro{position:sticky;top:120px}.consult-intro h2{margin-bottom:25px}.consult-intro>p{max-width:520px;color:#666;font-size:17px}.consult-promise{border-top:1px solid #aaa;padding:20px 0;font-size:16px}.consult-promise span{display:inline-block;width:42px;color:#777;font-size:12px}.consult-builder{background:#f6f6f4;border-radius:24px;padding:clamp(26px,4vw,54px)}.consult-builder fieldset{border:0;padding:0;margin:0 0 44px}.consult-builder legend{font-size:20px;font-weight:700;margin-bottom:18px}.choice-row{display:flex;flex-wrap:wrap;gap:8px}.choice-row button{border:1px solid #bbb;border-radius:999px;padding:12px 17px;background:#fff}.choice-row button.selected{background:#090909;color:#fff;border-color:#090909}.select-wrap select{width:100%;background:white;border:1px solid #bbb;border-radius:9px;padding:15px;color:#111}.consult-builder>.button{width:100%}.consult-result{margin-top:20px;background:#111;color:white;border-radius:14px;padding:24px}.consult-result p{margin:8px 0;color:#aaa}.consult-result a{display:inline-block;margin-top:10px;border-bottom:1px solid #777;padding-bottom:5px}
.inner-page>.site-header{opacity:1;visibility:visible;transform:none;background:#090909f2}.inner-page main{padding-top:76px}.inner-page .site-header .brand img{width:134px}.page-wrap{width:min(1320px,88%);margin:auto}.page-hero{padding:100px 0 70px}.page-kicker{color:#888;font-size:14px}.page-hero h1{font-size:clamp(54px,8vw,124px);line-height:1;letter-spacing:-.06em;margin:28px 0}.page-hero p{font-size:18px;max-width:680px}.page-footer{padding:70px 0;min-height:auto}.page-footer .wrap{width:min(1320px,88%)}
.review-index{background:#ecece9}.review-list{padding-bottom:130px}.review-index-feature{display:grid;grid-template-columns:.8fr 1.2fr;background:#0a0a0a;color:white;border-radius:28px;overflow:hidden}.review-index-mark{display:grid;place-items:center;padding:50px;background:#1a1a1a}.review-index-mark img{width:65%;filter:grayscale(1) brightness(1.8);opacity:.7}.review-index-copy{padding:clamp(35px,6vw,80px)}.review-index-copy h2{font-size:clamp(32px,4.3vw,62px);margin:18px 0 28px}.review-index-copy p{font-size:17px}.review-more{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}.review-more article{background:#fff;border-radius:20px;padding:32px;min-height:280px;display:flex;flex-direction:column}.review-more h3{margin:45px 0 auto}.review-more small{color:#777}
.article-list{background:#f2f2f0}.ideas-controls{display:flex;justify-content:space-between;gap:20px;align-items:center;border-block:1px solid #bbb;padding:20px 0;margin:45px 0}.idea-tabs{display:flex;gap:8px}.idea-tabs span{padding:9px 15px;border-radius:999px;background:#111;color:#fff;font-size:13px}.ideas-controls input{width:min(320px,44vw);border:0;border-bottom:1px solid #777;background:none;padding:12px}.idea-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 18px;padding-bottom:130px}.idea-card{display:block}.idea-cover{aspect-ratio:3/4;background:#111;color:white;padding:28px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:transform .45s}.idea-card:hover .idea-cover{transform:translateY(-8px)}.idea-cover strong{font-size:clamp(28px,3vw,48px);line-height:1.12;letter-spacing:-.05em}.idea-cover span{font-size:12px;color:#aaa}.idea-card h2{font-size:21px;margin:18px 0 8px;line-height:1.45}.idea-card p{font-size:14px;margin:0}.score-table{width:100%;border-collapse:collapse;margin:60px 0}.score-table th,.score-table td{border-bottom:1px solid #ccc;text-align:left;padding:14px 8px;font-size:14px}.score-table td:last-child{font-weight:700}
.article-page{background:#f4f4f2}.article-layout{display:grid;grid-template-columns:230px minmax(0,850px);gap:6vw;justify-content:center;padding:90px 0 140px}.article-toc{position:sticky;top:120px;align-self:start}.article-toc strong{font-size:13px}.article-toc a{display:block;color:#777;font-size:13px;padding:8px 0}.article-body h1{font-size:clamp(40px,5.1vw,68px);line-height:1.18;letter-spacing:-.06em;margin:20px 0 28px}.article-meta{font-size:13px;color:#777}.answer-box{background:#111;color:white;border-radius:18px;padding:32px;margin:45px 0}.article-body .answer-box p{color:#ddd;font-size:19px;margin:0}.article-body h2{font-size:32px;margin:85px 0 20px}.article-body h3{font-size:23px;margin-top:40px}.article-body p,.article-body li{font-size:17px;line-height:1.9;color:#444}.article-body table{width:100%;border-collapse:collapse;margin:30px 0}.article-body th,.article-body td{border-bottom:1px solid #ccc;padding:14px 10px;text-align:left}.article-cta{background:#ddd;border-radius:20px;padding:32px;margin-top:70px}.article-cta a{display:inline-block;margin-top:14px;font-weight:700;border-bottom:1px solid}.page-footer .wrap{display:flex;align-items:center;justify-content:space-between}
@media(max-width:800px){.portfolio-shell{width:calc(92% + var(--portfolio-progress)*8%)}.portfolio-head h2{font-size:28px}.portfolio .home-work-grid{height:auto}.consult-grid,.review-index-feature,.article-layout{grid-template-columns:1fr}.consult-intro,.article-toc{position:static}.review-more,.idea-grid{grid-template-columns:1fr}.review-index-mark{min-height:260px}.article-layout{padding-top:55px}.ideas-controls{align-items:stretch;flex-direction:column}.ideas-controls input{width:100%}}
@media(prefers-reduced-motion:reduce){.eye-star{animation:eyeStar 2.4s steps(2) infinite}.service-track{transform:none!important}.portfolio-shell{width:100%;height:100svh;border-radius:0}.portfolio .home-work-grid{gap:0}}

/* Sep 9 feedback 2 — rebuilt editorial sections */
.intro .character-stage{overflow:visible}
.intro .eye-star{
  left:27%;
  top:22%;
  color:#050505;
  font-size:clamp(15px,1.55vw,24px);
  text-shadow:none;
  pointer-events:none;
}
@keyframes eyeStar{0%,100%{opacity:.15;transform:scale(.45) rotate(-24deg)}38%{opacity:1;transform:scale(1.18) rotate(7deg)}67%{opacity:.58;transform:scale(.78) rotate(20deg)}}

.reviews{background:#efefec;color:#080808}
.reviews .section-heading{align-items:end;margin-bottom:54px}
.review-layout-v2{display:grid;grid-template-columns:minmax(0,1.48fr) minmax(310px,.72fr);gap:20px;align-items:stretch}
.review-feature-v2{min-height:790px;padding:0;background:#f8f7f3;border:1px solid #d7d7d2;border-radius:28px;overflow:hidden;display:grid;grid-template-rows:minmax(300px,44%) 1fr}
.review-visual{position:relative;min-height:0;overflow:hidden;background:#111}
.review-visual>img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 43%;filter:saturate(.78) contrast(.96)}
.review-visual:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.42));pointer-events:none}
.review-visual-label{position:absolute;z-index:1;left:32px;right:32px;bottom:26px;display:flex;justify-content:space-between;gap:24px;color:white;font-size:11px;letter-spacing:.08em}
.review-feature-copy{min-height:0;padding:38px clamp(34px,4vw,62px) 32px;display:flex;flex-direction:column;align-items:flex-start}
.review-feature-v2 .client-logo{width:164px;height:42px;margin:0 0 27px;object-fit:contain;object-position:left center;filter:grayscale(1);opacity:.55}
.review-feature-v2 blockquote{max-width:790px;margin:0;font-size:clamp(25px,2.15vw,36px);font-weight:680;line-height:1.48;letter-spacing:-.045em;word-break:keep-all}
.review-feature-v2 .review-by{margin:22px 0 12px;font-size:14px;font-weight:700;color:#555}
.review-feature-v2 .review-excerpt{max-width:760px;margin:0;color:#666;font-size:14px;line-height:1.8;word-break:keep-all}
.review-proof{width:100%;margin-top:auto;padding-top:22px;border-top:1px solid #cecec9;display:flex;align-items:center;justify-content:space-between;gap:24px}
.review-proof small{margin:0;color:#777;font-size:11px;line-height:1.5}
.review-proof .review-link{flex:0 0 auto;margin:0;padding:0;border:0;font-size:14px;transition:opacity .2s,transform .2s}
.review-proof .review-link:hover{opacity:.58;transform:translateX(3px)}
.review-stack{display:grid;grid-template-rows:repeat(3,1fr);gap:16px}
.review-small{min-height:0;padding:34px 36px;background:#fff;border:1px solid #ddd;border-radius:24px;transition:background .25s,transform .25s}
.review-small:hover{background:#f8f8f6;transform:translateY(-3px)}
.review-small .review-meta{font-size:12px;color:#777;letter-spacing:.02em}
.review-small h3{margin:30px 0 22px;font-size:clamp(19px,1.5vw,25px);line-height:1.5;letter-spacing:-.045em;word-break:keep-all}
.review-small .review-by{font-size:13px;color:#777}
.review-small .review-tags{margin-top:auto}

.portfolio.portfolio-v2{height:100svh;min-height:680px;padding:0;background:#050505}
.home-work-grid-v2{height:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:1px;background:#444}
.home-work-v2{position:relative;min-width:0;min-height:0;aspect-ratio:auto;overflow:hidden;background:#0b0b0b}
.home-work-v2 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:opacity .5s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1),filter .5s}
.home-work-v2 .work-base{opacity:1}
.home-work-v2 .work-hover{opacity:0;transform:scale(1.018)}
.portfolio-v2 .home-work-grid-v2{gap:1px}
.portfolio-v2 .home-work-v2{border-radius:0}
.home-work-v2:hover .work-base,.home-work-v2:focus-visible .work-base{opacity:0;transform:scale(1.012)}
.home-work-v2:hover .work-hover,.home-work-v2:focus-visible .work-hover{opacity:1;transform:scale(1)}
.home-work-v2 .work-label{position:absolute;z-index:2;left:22px;bottom:20px;padding:8px 11px;background:rgba(0,0,0,.68);color:#fff;font-size:11px;letter-spacing:.06em;opacity:0;transform:translateY(7px);transition:.3s}
.home-work-v2:hover .work-label,.home-work-v2:focus-visible .work-label{opacity:1;transform:none}

.insight-home{background:#f2f2f0;color:#080808}
.insight-home .section-heading{align-items:end;margin-bottom:54px}
.insight-covers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.insight-cover-card{aspect-ratio:3/4;padding:36px 34px;background:#111;color:#fff;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:transform .4s,background .3s}
.insight-cover-card:hover,.insight-cover-card:focus-visible{transform:translateY(-8px);background:#1b1b1b}
.insight-cover-card>span{color:#aaa;font-size:13px;letter-spacing:.03em}
.insight-cover-card>strong{max-width:92%;font-size:clamp(36px,3.3vw,62px);line-height:1.18;letter-spacing:-.065em;word-break:keep-all}
.insight-captions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:22px}
.insight-captions>div{min-width:0}
.insight-captions h3{margin:0 0 9px;font-size:clamp(18px,1.55vw,25px);line-height:1.4;letter-spacing:-.04em;word-break:keep-all}
.insight-captions p{margin:0;color:#777;font-size:14px;line-height:1.6}

.diagnosis-section{background:#e3e3df;color:#090909}
.diagnosis-grid{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(440px,1.18fr);gap:clamp(55px,8vw,130px);align-items:start}
.diagnosis-intro{position:sticky;top:118px}
.diagnosis-intro h2{margin:24px 0 25px;font-size:clamp(46px,5.8vw,88px);line-height:1.05;letter-spacing:-.065em}
.diagnosis-intro>p{max-width:510px;color:#5f5f5f;font-size:17px;line-height:1.75}
.diagnosis-promises{margin-top:52px;border-top:1px solid #aaa}
.diagnosis-promises p{display:flex;gap:22px;margin:0;padding:18px 0;border-bottom:1px solid #aaa;font-size:14px;line-height:1.5}
.diagnosis-promises span{color:#777;font-size:11px;padding-top:3px}
.diagnosis-note{margin-top:24px;padding:20px;border:1px solid #c6c6c0;border-radius:14px;color:#666;font-size:13px;line-height:1.65}
.diagnosis-form{background:#f9f9f7;border:1px solid #d4d4ce;border-radius:28px;padding:clamp(30px,4.3vw,64px);box-shadow:0 18px 55px rgba(0,0,0,.06)}
.form-progress{display:flex;justify-content:space-between;align-items:center;margin-bottom:46px;color:#777;font-size:12px;letter-spacing:.08em}
.form-progress strong{color:#111;font-size:18px}
.form-step{display:none}
.form-step.active{display:grid;gap:24px;animation:formIn .35s ease both}
@keyframes formIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.form-step h3{margin:0;font-size:clamp(27px,2.5vw,40px);line-height:1.25;letter-spacing:-.045em}
.form-step>p{margin:-12px 0 8px;color:#777;font-size:14px}
.diagnosis-form label{display:grid;gap:9px;font-size:13px;font-weight:700;color:#333}
.diagnosis-form label em{font-style:normal;font-weight:400;color:#999}
.diagnosis-form input:not([type=checkbox]),.diagnosis-form textarea,.diagnosis-form select{width:100%;border:1px solid #cdcdc8;border-radius:11px;background:#fff;padding:16px 17px;color:#111;font:inherit;line-height:1.5;outline:0;transition:border-color .2s,box-shadow .2s}
.diagnosis-form textarea{min-height:118px;resize:vertical}
.diagnosis-form input:focus,.diagnosis-form textarea:focus,.diagnosis-form select:focus{border-color:#111;box-shadow:0 0 0 3px rgba(0,0,0,.08)}
.diagnosis-choices{display:flex;flex-wrap:wrap;gap:9px}
.diagnosis-choices button{border:1px solid #c9c9c4;border-radius:999px;background:white;padding:12px 16px;color:#555;font-size:13px}
.diagnosis-choices button.selected{border-color:#111;background:#111;color:#fff}
.diagnosis-form .privacy{grid-template-columns:20px 1fr;align-items:start;font-weight:400;color:#777;line-height:1.55}
.diagnosis-form .privacy input{margin-top:3px}
.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:38px;padding-top:26px;border-top:1px solid #ddd}
.form-actions button{min-width:130px;border:1px solid #111;border-radius:999px;padding:14px 20px;font-weight:700}
.form-back{background:white;color:#111}
.form-next,.form-submit{background:#111;color:#fff}
.diagnosis-result{margin-top:28px;padding:24px;border-radius:16px;background:#111;color:white}
.diagnosis-result p{color:#c9c9c9;font-size:13px;line-height:1.75}
.diagnosis-result a{display:inline-block;margin-top:10px;padding-bottom:3px;border-bottom:1px solid #777;font-weight:700}
.diagnosis-result small{display:block;margin-top:14px;color:#888}

.faq{background:#080808;color:#fff}
.faq .faq-v2{display:grid;grid-template-columns:minmax(250px,.74fr) minmax(520px,1.26fr);gap:clamp(60px,9vw,150px);align-items:start}
.faq-head{position:sticky;top:118px}
.faq-head h2{margin:24px 0 22px;font-size:clamp(46px,5.7vw,86px);line-height:1.05;letter-spacing:-.065em}
.faq-head h2 span{color:#777}
.faq-head p{max-width:410px;color:#8d8d8d;font-size:15px;line-height:1.75}
.faq-list{border-top:1px solid #444}
.faq-list details{padding:0;border-bottom:1px solid #3b3b3b}
.faq-list summary{position:relative;padding:27px 52px 27px 0;cursor:pointer;list-style:none;font-size:clamp(18px,1.45vw,24px);font-weight:650;line-height:1.45;letter-spacing:-.035em;word-break:keep-all}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:4px;top:23px;color:#888;font-size:29px;font-weight:300;transition:transform .25s}
.faq-list details[open] summary:after{transform:rotate(45deg)}
.faq-list details p{max-width:760px;margin:0;padding:0 60px 28px 0;color:#aaa;font-size:15px;line-height:1.8;word-break:keep-all}

.statement{min-height:58svh;display:grid;place-items:center;padding:80px 5%;text-align:center;border-top:1px solid #242424}
.statement p{font-size:clamp(48px,7.5vw,120px);line-height:1.08;letter-spacing:-.07em;color:#666}
.statement strong{color:#fff;font-weight:680}
.footer-v2{min-height:100svh;padding:64px 0 34px;background:#050505;color:#fff;border-top:1px solid #222}
.footer-v2 h2{margin:54px 0 66px;font-size:clamp(78px,14.5vw,222px);font-weight:650;line-height:.83;letter-spacing:-.085em}
.footer-v2 h2 span{color:#666}
.consult-v2{width:100%;min-height:150px;padding:27px 32px 27px 40px;border-radius:20px;background:#f5f5f3;color:#050505;display:flex;align-items:center;justify-content:space-between;gap:25px;transition:background .25s,transform .25s}
.consult-v2:hover{background:#fff;transform:translateY(-4px)}
.consult-v2>span{display:grid;gap:8px}
.consult-v2 b{font-size:clamp(28px,3.4vw,56px);letter-spacing:-.05em}
.consult-v2 small{font-size:14px;color:#666}
.consult-v2 i{width:82px;height:82px;flex:0 0 82px;border:1px solid #aaa;border-radius:50%;display:grid;place-items:center;font-size:35px;font-style:normal;transition:transform .3s,background .3s,color .3s}
.consult-v2:hover i{transform:rotate(-35deg);background:#050505;color:#fff}
.footer-info-v2{display:grid;grid-template-columns:1.5fr .7fr .7fr;gap:70px;margin-top:82px;padding:56px 0;border-top:1px solid #292929;border-bottom:1px solid #292929}
.footer-info-v2>div,.footer-info-v2 nav{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.footer-info-v2 .brand{font-size:24px;font-weight:700}
.footer-info-v2 p{margin:8px 0;color:#777;line-height:1.7}
.footer-info-v2 strong{margin-bottom:5px;color:#777;font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.footer-info-v2 a{color:#bbb;font-size:14px}
.footer-info-v2 a:hover{color:#fff}
.copyright{display:flex;justify-content:space-between;padding-top:28px;color:#555;font-size:12px}

@media(max-width:980px){
  .review-layout-v2{grid-template-columns:1fr}
  .review-feature-v2{min-height:820px}
  .review-stack{grid-template-columns:repeat(3,1fr);grid-template-rows:auto}
  .review-small{min-height:270px;padding:28px}
  .insight-cover-card{padding:28px 24px}
  .diagnosis-grid,.faq .faq-v2{grid-template-columns:1fr}
  .diagnosis-intro,.faq-head{position:static}
  .faq-head p{max-width:620px}
}

@media(max-width:700px){
  .intro .eye-star{left:27%;top:22%}
  .reviews .section-heading,.insight-home .section-heading{margin-bottom:34px}
  .review-feature-v2{min-height:760px;grid-template-rows:260px 1fr;border-radius:20px}
  .review-visual-label{left:20px;right:20px;bottom:18px;flex-direction:column;gap:5px}
  .review-feature-copy{padding:28px 24px 24px}
  .review-feature-v2 blockquote{font-size:24px}
  .review-proof{align-items:flex-start;flex-direction:column;gap:12px}
  .review-stack{grid-template-columns:1fr}
  .review-small{min-height:245px}
  .portfolio.portfolio-v2{height:auto;min-height:0}
  .home-work-grid-v2{height:auto;grid-template-columns:1fr;grid-template-rows:none}
  .home-work-v2{aspect-ratio:4/3}
  .insight-covers,.insight-captions{grid-template-columns:1fr}
  .insight-captions{display:none}
  .insight-cover-card{aspect-ratio:3/4}
  .diagnosis-grid{gap:42px}
  .diagnosis-form{padding:28px 22px;border-radius:20px}
  .faq .faq-v2{gap:40px}
  .faq-list summary{padding-right:42px}
  .statement{min-height:48svh}
  .footer-v2 h2{font-size:clamp(64px,20vw,110px);margin:42px 0 50px}
  .consult-v2{min-height:130px;padding:24px;border-radius:16px}
  .consult-v2 small{max-width:220px}
  .consult-v2 i{width:58px;height:58px;flex-basis:58px}
  .footer-info-v2{grid-template-columns:1fr 1fr;gap:42px 22px}
  .footer-info-v2>div:first-child{grid-column:1/-1}
  .copyright{gap:20px;flex-direction:column}
}

@media(prefers-reduced-motion:reduce){
  .home-work-v2 img,.insight-cover-card,.review-small,.consult-v2,.consult-v2 i{transition:none}
  .form-step.active{animation:none}
}

/* Home section selector alignment */
.home-work-v2>span{position:absolute;z-index:2;left:22px;bottom:20px;padding:8px 11px;background:rgba(0,0,0,.68);color:#fff;font-size:11px;letter-spacing:.06em;opacity:0;transform:translateY(7px);transition:.3s}
.home-work-v2>span small{margin-left:8px;color:#aaa}
.home-work-v2:hover>span,.home-work-v2:focus-visible>span{opacity:1;transform:none}
.insight-captions>div{display:grid;grid-template-rows:1fr auto;gap:8px}
.insight-captions>div>strong{font-size:clamp(18px,1.55vw,25px);line-height:1.4;letter-spacing:-.04em;word-break:keep-all}
.insight-captions>div>span{color:#777;font-size:14px;line-height:1.6}
.diagnosis-intro ul{display:grid;gap:12px;margin:34px 0;padding:0;list-style:none;color:#333;font-size:14px}
.diagnosis-intro li:before{content:"✓";display:inline-block;margin-right:11px}
.diagnosis-note{display:grid;gap:6px}
.diagnosis-intro .text-link{display:inline-block;margin-top:24px;padding-bottom:5px;border-bottom:1px solid #777;font-weight:700;font-size:14px}
.diagnosis-form .form-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:46px;color:#777;font-size:12px;letter-spacing:.08em}
.diagnosis-form .form-head b{font-size:13px}.diagnosis-form .form-head b b{color:#111;font-size:19px}
.diagnosis-form .field-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}

/* Insight index — 3:4 magazine library */
.insight-index-page{background:#f4f4f2;color:#0b0b0b}
.insight-index-hero{padding:125px 0 92px}
.insight-index-hero h1{margin:25px 0 30px;font-size:clamp(60px,8.5vw,132px);font-weight:650;line-height:.98;letter-spacing:-.075em}
.insight-index-hero h1 span{color:#888}
.insight-index-hero>p{max-width:600px;margin-left:auto;color:#666;font-size:17px;line-height:1.75}
.insight-library{padding-bottom:140px}
.library-tools{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:22px 0;border-top:1px solid #aaa;border-bottom:1px solid #aaa}
.library-tools h2{margin:0;font-size:18px}.library-tools h2 span{color:#888;font-weight:400}
.idea-search{position:relative;display:block;width:min(320px,40vw)}
.idea-search input{width:100%;border:0;border-bottom:1px solid #888;background:transparent;padding:11px 30px 11px 0;font:inherit;outline:0}
.idea-search i{position:absolute;right:4px;top:7px;font-size:22px;font-style:normal;color:#777}
.idea-filters{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0 48px}
.idea-filters button{border:1px solid #b9b9b4;border-radius:999px;background:transparent;padding:10px 17px;color:#666;font-size:13px}
.idea-filters button[aria-pressed=true]{border-color:#111;background:#111;color:#fff}
.idea-grid-12{grid-template-columns:repeat(3,minmax(0,1fr));gap:64px 22px;padding-bottom:0}
.idea-grid-12 .idea-card{min-width:0}
.idea-grid-12 .idea-cover{aspect-ratio:3/4;padding:34px 32px;border:1px solid #292929}
.idea-grid-12 .idea-cover.tone-charcoal{background:#1b1b1b}
.idea-grid-12 .idea-cover.tone-warm{background:#25231f}
.idea-grid-12 .idea-card h3{margin:18px 0 8px;font-size:clamp(19px,1.5vw,24px);line-height:1.45;letter-spacing:-.04em;word-break:keep-all}
.idea-grid-12 .idea-card p{margin:0;color:#777;font-size:14px;line-height:1.65}
.idea-grid-12 .idea-card[hidden]{display:none}
.empty-ideas{padding:80px 0;text-align:center;color:#777}
.editorial-roadmap{padding:110px 0;background:#111;color:#fff}
.editorial-roadmap .page-wrap>div{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:40px}
.editorial-roadmap h2{margin:0;font-size:clamp(45px,6vw,92px);line-height:1.05;letter-spacing:-.06em}
.editorial-roadmap p{margin:8px 0 0;color:#aaa;font-size:17px;line-height:1.9;word-break:keep-all}

/* Long-form insight detail */
.article-detail-page{background:#f7f7f5;color:#131313}
.article-hero{max-width:1040px;padding:105px 0 64px;text-align:center}
.article-breadcrumb{color:#777;font-size:12px;letter-spacing:.03em}
.article-hero h1{margin:28px 0 25px;font-size:clamp(45px,5.6vw,82px);font-weight:620;line-height:1.15;letter-spacing:-.06em;word-break:keep-all}
.article-deck{max-width:710px;margin:0 auto;color:#666;font-size:18px;line-height:1.75;word-break:keep-all}
.article-author-line{max-width:690px;margin:38px auto 0;padding-top:24px;border-top:1px solid #ddd;display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;text-align:left}
.author-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;background:#eee;display:grid;place-items:center}
.author-avatar img{width:100%;height:100%;object-fit:contain;object-position:center top}
.article-author-line>div:nth-child(2){display:grid;gap:4px}.article-author-line strong{font-size:13px}.article-author-line span{color:#888;font-size:11px}
.share-tools{display:flex;gap:8px}.share-tools button,.share-tools a{border:1px solid #ccc;border-radius:999px;background:white;padding:8px 12px;color:#666;font-size:11px}
.article-grid{display:grid;grid-template-columns:170px minmax(0,760px) 190px;gap:clamp(30px,4vw,65px);align-items:start;padding:50px 0 140px;border-top:1px solid #ddd}
.article-toc-v2{position:sticky;top:108px;display:grid;align-self:start;border-top:2px solid #111;padding-top:15px}
.article-toc-v2 strong{margin-bottom:10px;font-size:12px}.article-toc-v2 a{padding:7px 0;color:#999;font-size:11px;line-height:1.45}.article-toc-v2 a.active{color:#111;font-weight:700}
.article-content{min-width:0}
.article-lead{padding:0 0 40px;border-bottom:1px solid #ddd}
.article-content p,.article-content li{color:#404040;font-size:16px;line-height:1.95;word-break:keep-all}
.article-lead p{font-size:18px}.article-content p:first-child{margin-top:0}
.quick-summary{margin:48px 0 96px;padding:30px 32px;border-radius:14px;background:#eee;color:#111}
.quick-summary>span{display:block;margin-bottom:18px;color:#111;font-size:20px;font-weight:800}
.quick-summary ul{display:grid;gap:10px;margin:0;padding-left:20px}.quick-summary li{font-size:14px;line-height:1.65}
.article-content section[id]{scroll-margin-top:0}
.article-content section[id]:not(.quick-summary){margin:0 0 100px}
.article-section-no{display:block;margin-bottom:19px;color:#999;font-size:12px;letter-spacing:.08em}
.article-content h2{margin:0 0 28px;font-size:clamp(34px,3.3vw,50px);line-height:1.22;letter-spacing:-.055em;word-break:keep-all}
.article-content blockquote{margin:40px 0;padding:24px 28px;border-left:3px solid #111;background:#eee;font-size:18px;font-weight:650;line-height:1.7;word-break:keep-all}
.before-after{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:38px 0;background:#bbb;border:1px solid #bbb}
.before-after>div{min-height:210px;padding:25px;background:#f7f7f5;display:flex;flex-direction:column;justify-content:space-between}
.before-after span{color:#999;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.before-after p{margin:0!important;color:#111;font-size:20px!important;font-weight:700;line-height:1.5!important}
.article-checklist{margin:38px 0;padding:30px;border:1px solid #bbb}.article-checklist>strong{font-size:14px}.article-checklist ol{margin:25px 0 0;padding:0;list-style:none}.article-checklist li{display:grid;grid-template-columns:120px 1fr;padding:16px 0;border-top:1px solid #ddd}.article-checklist li b{color:#111}.article-checklist li span{color:#777}
.fix-order{margin-top:38px;border-top:1px solid #bbb}.fix-order article{display:grid;grid-template-columns:54px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid #ddd}.fix-order article>b{font-size:30px}.fix-order strong{font-size:18px}.fix-order p{margin:7px 0 0;font-size:14px}
.self-check{margin:34px 0 0;padding:0;list-style:none;border-top:1px solid #bbb}.self-check li{display:grid;grid-template-columns:24px 1fr;gap:12px;padding:18px 0;border-bottom:1px solid #ddd}.self-check input{width:18px;height:18px;margin-top:5px}.self-check label{cursor:pointer}
.article-faq details{border-top:1px solid #ccc}.article-faq details:last-child{border-bottom:1px solid #ccc}.article-faq summary{padding:22px 35px 22px 0;cursor:pointer;font-weight:700;list-style:none}.article-faq summary::-webkit-details-marker{display:none}.article-faq details p{padding:0 20px 20px 0;color:#666;font-size:14px}
.article-inline-cta{padding:45px!important;border-radius:20px;background:#111;color:#fff}
.article-inline-cta span{color:#888;font-size:12px}.article-inline-cta h2{margin:18px 0 35px;color:#fff;font-size:clamp(28px,3vw,44px)}.article-inline-cta a{display:inline-block;padding:13px 18px;border-radius:999px;background:white;color:#111;font-weight:700;font-size:13px}
.author-card{display:grid;grid-template-columns:150px 1fr;gap:30px;margin-top:90px;padding:30px;border:1px solid #ccc;background:#fff}
.author-portrait{min-height:170px;background:#eee;overflow:hidden}.author-portrait img{width:100%;height:100%;object-fit:contain;object-position:center top}.author-card span{color:#999;font-size:10px;letter-spacing:.1em}.author-card h3{margin:12px 0 9px;font-size:20px}.author-card p{margin:0 0 16px;font-size:13px;line-height:1.7}.author-card a{font-size:12px;font-weight:700;border-bottom:1px solid}
.article-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:25px}.article-tags span{padding:8px 11px;border-radius:999px;background:#e8e8e6;color:#777;font-size:11px}
.article-side{position:sticky;top:108px;display:grid;gap:12px;align-self:start}
.side-card{min-height:210px;padding:21px;border:1px solid #ccc;background:#fff;display:flex;flex-direction:column;justify-content:space-between}.side-card.dark{background:#111;color:#fff;border-color:#111}.side-card span{color:#999;font-size:9px;letter-spacing:.08em}.side-card strong{font-size:18px;line-height:1.45}.side-card b{font-size:11px}
.related-articles{padding:100px 0 120px;background:#e7e7e4}.related-articles h2{margin:18px 0 40px;font-size:clamp(42px,5vw,72px);letter-spacing:-.055em}.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.related-grid a{aspect-ratio:1/1.15;padding:22px;background:#111;color:white;display:flex;flex-direction:column;justify-content:space-between}.related-grid span{color:#888;font-size:10px}.related-grid strong{font-size:clamp(19px,1.7vw,27px);line-height:1.45;word-break:keep-all}

/* Full diagnosis page */
.diagnosis-page{background:#f5f5f3;color:#111}
.diagnosis-page-grid{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(500px,1.18fr);gap:clamp(60px,8vw,130px);align-items:start;padding:110px 0 135px}
.diagnosis-page-intro{position:sticky;top:118px}
.diagnosis-page-intro h1{margin:25px 0 28px;font-size:clamp(47px,5.3vw,82px);line-height:1.07;letter-spacing:-.065em}.diagnosis-page-intro h1 span{color:#888}
.diagnosis-page-intro>p{max-width:500px;color:#666;font-size:16px;line-height:1.8}
.diagnosis-benefits{margin:43px 0 0;padding:0;list-style:none;border-top:1px solid #bbb}.diagnosis-benefits li{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:18px 0;border-bottom:1px solid #ccc}.diagnosis-benefits i{font-style:normal}.diagnosis-benefits span{display:grid;gap:5px;color:#777;font-size:13px}.diagnosis-benefits strong{color:#111;font-size:15px}
.diagnosis-trust{margin-top:28px;padding:20px;border:1px solid #ccc;border-radius:14px}.diagnosis-trust strong{font-size:13px}.diagnosis-trust p{margin:8px 0 0;color:#777;font-size:12px;line-height:1.7}
.kakao-text-link{display:inline-block;margin-top:24px;padding-bottom:4px;border-bottom:1px solid;font-weight:700;font-size:13px}
.diagnosis-page-form-card{scroll-margin-top:95px;background:#fff;border:1px solid #ddd;border-radius:28px;padding:clamp(32px,4.3vw,62px);box-shadow:0 20px 60px rgba(0,0,0,.06)}
.diagnosis-page-form-head{display:flex;justify-content:space-between;padding-bottom:24px;border-bottom:1px solid #ddd;color:#777;font-size:12px;letter-spacing:.08em}.diagnosis-page-form-head i{color:#111;font-size:17px;font-style:normal}
.full-form-step{display:none;padding-top:42px}.full-form-step.active{display:grid;gap:24px;animation:formIn .35s ease both}.full-form-step .form-question{margin:0;color:#999;font-size:11px;letter-spacing:.07em}.full-form-step h2{margin:-11px 0 0;font-size:clamp(30px,2.8vw,43px);letter-spacing:-.05em}.full-form-step>p:not(.form-question){margin:-13px 0 8px;color:#888;font-size:13px}
.diagnosis-page-form-card label{display:grid;gap:9px;color:#333;font-size:13px;font-weight:700}.diagnosis-page-form-card label em{color:#999;font-style:normal;font-weight:400}.diagnosis-page-form-card input:not([type=checkbox]),.diagnosis-page-form-card textarea,.diagnosis-page-form-card select{width:100%;border:1px solid #d0d0cc;border-radius:10px;background:#fff;padding:16px 17px;color:#111;font:inherit;line-height:1.5;outline:0}.diagnosis-page-form-card textarea{min-height:118px;resize:vertical}.diagnosis-page-form-card input:focus,.diagnosis-page-form-card textarea:focus,.diagnosis-page-form-card select:focus{border-color:#111;box-shadow:0 0 0 3px rgba(0,0,0,.07)}
.diagnosis-page-form-card .field-pair{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.full-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.full-choice-grid button{min-height:52px;border:1px solid #ccc;border-radius:10px;background:#fff;padding:12px;color:#555;text-align:left}.full-choice-grid button.selected{border-color:#111;background:#111;color:#fff}
.diagnosis-page-form-card .privacy{grid-template-columns:20px 1fr;align-items:start;color:#777;font-weight:400;line-height:1.55}.diagnosis-page-form-card .privacy input{margin-top:3px}
.full-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:42px;padding-top:25px;border-top:1px solid #ddd}.full-form-actions button{min-width:135px;border:1px solid #111;border-radius:999px;padding:14px 18px;font-weight:700}.prototype-note{margin:20px 0 0;text-align:center;color:#aaa;font-size:10px}
.diagnosis-result dl{margin:18px 0}.diagnosis-result dl>div{display:grid;grid-template-columns:85px 1fr;gap:12px;padding:8px 0;border-bottom:1px solid #333}.diagnosis-result dt{color:#777}.diagnosis-result dd{margin:0;color:#ddd}
.diagnosis-method{padding:110px 0;background:#111;color:#fff}.diagnosis-method h2{margin:20px 0 50px;font-size:clamp(45px,6vw,90px);letter-spacing:-.06em}.diagnosis-method .page-wrap>div{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #444}.diagnosis-method article{min-height:260px;padding:27px;border-right:1px solid #444}.diagnosis-method article:last-child{border-right:0}.diagnosis-method article>b{color:#777;font-size:12px}.diagnosis-method h3{margin:70px 0 12px;font-size:25px}.diagnosis-method p{margin:0;color:#999;font-size:14px;line-height:1.75}

@media(max-width:1080px){
  .article-grid{grid-template-columns:145px minmax(0,1fr)}
  .article-side{display:none}
  .related-grid{grid-template-columns:repeat(2,1fr)}
  .diagnosis-page-grid{grid-template-columns:1fr;gap:60px}
  .diagnosis-page-intro{position:static}
}

@media(max-width:760px){
  .diagnosis-form .field-pair,.diagnosis-page-form-card .field-pair{grid-template-columns:1fr}
  .insight-index-hero{padding:78px 0 60px}
  .insight-index-hero>p{margin-left:0}
  .library-tools{align-items:stretch;flex-direction:column}
  .idea-search{width:100%}
  .idea-grid-12{grid-template-columns:1fr;gap:48px}
  .editorial-roadmap .page-wrap>div{grid-template-columns:1fr;gap:30px}
  .article-hero{padding:72px 0 45px;text-align:left}
  .article-author-line{grid-template-columns:44px 1fr}.share-tools{grid-column:1/-1}
  .article-grid{grid-template-columns:1fr;padding-top:35px}
  .article-toc-v2{display:none}
  .quick-summary{margin-bottom:70px;padding:25px 22px}
  .article-content section[id]:not(.quick-summary){margin-bottom:75px}
  .before-after{grid-template-columns:1fr}
  .article-checklist li{grid-template-columns:1fr;gap:4px}
  .article-inline-cta{padding:30px 24px!important}
  .author-card{grid-template-columns:90px 1fr;padding:20px;gap:20px}.author-portrait{min-height:120px}
  .related-grid{grid-template-columns:1fr 1fr}.related-grid a{padding:18px}
  .diagnosis-page-grid{padding:75px 0 100px}
  .diagnosis-page-form-card{padding:28px 22px;border-radius:20px}
  .full-choice-grid{grid-template-columns:1fr}
  .diagnosis-method .page-wrap>div{grid-template-columns:1fr}.diagnosis-method article{min-height:210px;border-right:0;border-bottom:1px solid #444}.diagnosis-method h3{margin-top:45px}
}

/* 2026-09-10 Astra audit implementation */
.menu-toggle,.mobile-diagnosis,.nav-actions{display:none}

header.article-hero{
  position:relative;
  inset:auto;
  z-index:auto;
  width:min(1220px,88%);
  height:auto;
  margin:0 auto;
  padding:95px 0 65px;
  display:block;
  background:transparent;
  color:#111;
  opacity:1;
  visibility:visible;
  transform:none;
  box-shadow:none;
}

.intro-method{max-width:720px;margin:-20px auto 42px;color:#777;font-size:clamp(16px,1.45vw,22px);line-height:1.65;word-break:keep-all}

.evidence-bridge{padding:clamp(90px,10vw,160px) 0}
.evidence-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(390px,.75fr);gap:clamp(45px,6vw,95px);align-items:center}
.evidence-visual{position:relative;display:block;overflow:hidden;aspect-ratio:16/10;background:#151515}
.evidence-visual img{width:100%;height:100%;object-fit:cover;object-position:center}
.evidence-visual>span,.review-visual-link{position:absolute;right:20px;bottom:20px;border-radius:999px;background:rgba(0,0,0,.72);padding:11px 16px;color:#fff;font-size:13px;backdrop-filter:blur(8px)}
.evidence-copy .eyebrow{display:block;margin-bottom:32px;color:#777}
.evidence-copy h2{margin:0 0 34px;font-size:clamp(48px,5vw,78px);line-height:1.04;letter-spacing:-.06em;word-break:keep-all}
.evidence-copy h2 span{color:#858585}
.evidence-context{margin:0 0 38px;color:#aaa;font-size:17px;line-height:1.85;word-break:keep-all}
.evidence-copy blockquote{margin:0;padding:28px 0;border:0;border-top:1px solid #444;border-bottom:1px solid #444;border-radius:0;background:none;color:#fff;font-size:clamp(23px,2.3vw,35px);line-height:1.45;letter-spacing:-.035em;word-break:keep-all}
.evidence-by{margin:16px 0 34px;color:#888;font-size:13px}
.evidence-actions{display:flex;gap:12px}
.evidence-actions a{border:1px solid #555;border-radius:999px;padding:13px 18px;color:#fff;font-size:14px}
.evidence-actions a:first-child{background:#fff;color:#111;border-color:#fff}

.review-feature-copy blockquote{margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.review-visual{position:relative;display:block;overflow:hidden}
.review-visual-link{z-index:2}

.publication-status{display:flex;align-items:center;gap:10px;margin:-5px 0 32px;color:#777;font-size:13px}
.publication-status strong,.publication-status span{border:1px solid #ccc;border-radius:999px;padding:7px 11px;color:#111}
.publication-status small{margin-left:auto}
.idea-card.planned{cursor:default}
.idea-card.planned .idea-cover{opacity:.74}
.idea-card.planned:hover .idea-cover{transform:none}

.article-real-case{padding:45px!important;border:1px solid #ddd;background:#f4f4f2}
.article-real-case img{width:100%;margin:25px 0;aspect-ratio:16/9;object-fit:cover}
.article-real-case blockquote{margin:28px 0;padding:24px 0;border:0;border-top:1px solid #bbb;border-bottom:1px solid #bbb;border-radius:0;background:none;font-size:24px;line-height:1.55}
.article-real-case>div{display:flex;gap:12px;margin-top:28px}
.article-real-case>div a,.carry-checks{border:1px solid #111;border-radius:999px;padding:12px 17px;color:#111;font-size:14px}
.article-real-case>div a:first-child,.carry-checks{background:#111;color:#fff}
.carry-checks{margin-top:24px}
.related-grid.three{grid-template-columns:repeat(3,1fr)}

.carried-context{margin-bottom:26px;border-radius:14px;background:#111;padding:18px 20px;color:#fff}
.carried-context strong{font-size:12px;letter-spacing:.06em}
.carried-context p{margin:8px 0 0;color:#bbb;font-size:13px;line-height:1.55}
.form-handoff-note{border:1px solid #ccc;border-radius:12px;padding:18px}
.form-handoff-note strong{display:block;font-size:14px}
.form-handoff-note p{margin:7px 0 0;color:#777;font-size:13px;line-height:1.6}
.result-actions{display:flex;gap:10px;margin:20px 0 12px}
.result-actions button,.result-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border:1px solid #fff;border-radius:999px;padding:11px 18px;font-weight:700}
.result-actions button{background:#fff;color:#111}.result-actions a{color:#fff}

.diagnosis-page-intro h1{font-size:clamp(44px,4.7vw,76px);word-break:keep-all}
.diagnosis-page-intro .keep-line{color:#111;white-space:nowrap}
.diagnosis-sample{background:#ededeb;padding:120px 0}
.diagnosis-sample .page-wrap{display:grid;grid-template-columns:.65fr 1.35fr;gap:7vw}
.diagnosis-sample-head{position:sticky;top:110px;align-self:start}
.diagnosis-sample-head h2{margin:22px 0;font-size:clamp(46px,5vw,76px);line-height:1.08;letter-spacing:-.06em}
.diagnosis-sample-head p{color:#777}
.sample-sheet{display:grid;grid-template-columns:1fr 1fr;border:1px solid #bbb;background:#fff}
.sample-sheet>div,.sample-sheet article{min-height:250px;padding:34px;border-right:1px solid #ccc;border-bottom:1px solid #ccc}
.sample-sheet>article:nth-child(3){border-right:0}.sample-sheet .sample-action{grid-column:1/-1;border-right:0;border-bottom:0;background:#111;color:#fff}
.sample-sheet span{display:block;margin-bottom:72px;color:#888;font-size:12px;letter-spacing:.08em}
.sample-brand{grid-column:1/-1}
.sample-brand strong{font-size:clamp(28px,3vw,45px);line-height:1.25}
.sample-sheet article p{margin:0;font-size:18px;line-height:1.7;word-break:keep-all}

.services-page{background:#f5f5f3}
.services-page-hero{padding:150px 0 105px}
.services-page-hero h1{margin:25px 0 35px;font-size:clamp(58px,7.6vw,120px);line-height:.98;letter-spacing:-.065em;word-break:keep-all}
.services-page-hero h1 span{color:#888}
.services-page-hero>p{max-width:720px;margin-left:auto;color:#666;font-size:18px;line-height:1.8}
.service-jump{display:flex;gap:8px;margin-top:55px}
.service-jump a{border:1px solid #bbb;border-radius:999px;padding:11px 18px;color:#111}
.service-detail{display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:center;padding:110px 0;border-top:1px solid #ccc}
.service-detail.reverse .service-detail-visual{order:2}
.service-detail-visual{overflow:hidden;aspect-ratio:1.1/1;background:#e7e4df}
.service-detail-visual img{width:100%;height:100%;object-fit:contain;transition:transform .65s cubic-bezier(.2,.8,.2,1)}
.service-detail:hover .service-detail-visual img{transform:scale(1.025)}
.service-detail-copy>span{color:#888;font-size:12px;letter-spacing:.08em}.service-detail-copy h2{margin:17px 0 12px;font-size:clamp(50px,5vw,78px);letter-spacing:-.055em}
.service-detail-copy .service-for{color:#111;font-size:21px;font-weight:700;line-height:1.5}
.service-detail-copy>p:not(.service-for){color:#666;font-size:16px;line-height:1.8}
.service-detail-copy dl{margin:35px 0;border-top:1px solid #ccc}
.service-detail-copy dl div{display:grid;grid-template-columns:115px 1fr;gap:18px;padding:17px 0;border-bottom:1px solid #ccc}
.service-detail-copy dt{font-size:12px;color:#888}.service-detail-copy dd{margin:0;line-height:1.55}
.service-detail-copy>a{display:inline-block;border-bottom:1px solid #111;padding:10px 0;color:#111;font-weight:700}
.service-process{padding:120px 0}
.service-process h2{margin:25px 0 70px;font-size:clamp(50px,6.5vw,100px);line-height:1.05;letter-spacing:-.06em}
.service-process ol{display:grid;grid-template-columns:repeat(4,1fr);margin:0 0 55px;padding:0;border-top:1px solid #444;list-style:none}
.service-process li{min-height:290px;padding:25px;border-right:1px solid #444}.service-process li:last-child{border-right:0}
.service-process li span{color:#777;font-size:12px}.service-process li strong{display:block;margin:80px 0 13px;font-size:23px}.service-process li p{color:#999;line-height:1.65}
.service-process a{display:inline-block;border-radius:999px;background:#fff;padding:15px 22px;color:#111;font-weight:700}

.archive-lead{margin:-70px 0 70px;color:#888;font-size:18px}
.project-card-moment{margin:10px 0 0;color:#888;font-size:13px;line-height:1.5}
.project-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin:35px 0 70px}
.project-moment{border-top:1px solid #555;padding-top:18px}.project-moment span{display:block;margin-bottom:18px;color:#888;font-size:11px}.project-moment strong{font-size:24px;line-height:1.45}
.project-review-link{display:grid;gap:20px;margin:70px 0;padding:45px;background:#f3f2ef;color:#111}
.project-review-link span{color:#888;font-size:11px}.project-review-link strong{max-width:650px;font-size:clamp(28px,3.5vw,52px);line-height:1.2}.project-review-link b{justify-self:end}
.project-next-actions{display:flex;justify-content:space-between;border-top:1px solid #444;padding-top:26px}
.project-empty{padding:100px 0}.project-empty h1{margin:20px 0;font-size:clamp(50px,7vw,100px)}

.review-story-hero{position:relative;height:min(72vw,780px);margin-top:76px;overflow:hidden;background:#111}
.review-story-hero>img{width:100%;height:100%;object-fit:cover}
.review-story-overlay{position:absolute;left:6%;right:6%;bottom:6%;padding:30px;border:1px solid rgba(255,255,255,.35);border-radius:22px;background:rgba(0,0,0,.6);color:#fff;backdrop-filter:blur(12px)}
.review-story-overlay img{width:160px;max-height:55px;object-fit:contain;filter:grayscale(1) brightness(2)}
.review-story-overlay>span{display:block;margin:22px 0;color:#bbb;font-size:11px;letter-spacing:.08em}.review-story-overlay h1{margin:0;font-size:clamp(40px,5vw,78px);line-height:1.05;letter-spacing:-.055em}
.edit-disclosure{border-left:2px solid #111;padding-left:18px;color:#777}
.story-links{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:60px}.story-links a{display:grid;gap:35px;background:#111;padding:25px;color:#fff}.story-links span{color:#888;font-size:11px}.story-links strong{font-size:21px;line-height:1.45}

@media(max-width:900px){
  .evidence-grid,.service-detail,.diagnosis-sample .page-wrap{grid-template-columns:1fr}
  .evidence-grid{gap:55px}.evidence-copy{max-width:720px}
  .service-detail.reverse .service-detail-visual{order:0}
  .service-process ol{grid-template-columns:1fr 1fr}.service-process li:nth-child(2){border-right:0}.service-process li{border-bottom:1px solid #444}
  .diagnosis-sample-head{position:static}
}

@media(max-width:760px){
  body.nav-open{overflow:hidden}
  .site-header .menu-toggle{display:flex;align-items:center;gap:9px;order:2;border:1px solid #555;border-radius:999px;background:#111;padding:8px 12px;color:#fff;font-size:11px}
  .site-header .menu-toggle i{width:14px;height:10px;border-top:1px solid;border-bottom:1px solid;transition:transform .25s}
  .site-header.menu-open .menu-toggle i{height:14px;border-bottom:0;transform:rotate(45deg)}
  .site-header nav{display:none;position:fixed;inset:70px 10px auto;z-index:1001;grid-template-columns:1fr;border:1px solid #333;border-radius:18px;background:#111;padding:12px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
  .site-header.menu-open nav{display:grid}
  .site-header nav a{padding:15px 12px;border-bottom:1px solid #333;color:#fff;font-size:17px}
  .site-header nav a:last-child{border-bottom:0}
  .site-header .mobile-diagnosis{display:block;margin-top:8px;border-radius:12px;background:#fff;color:#111;text-align:center}
  .site-header>.small{display:none}
  .site-header>.chat{order:3}
  header.article-hero{width:88%;padding:72px 0 45px}
  .intro-method{margin:-15px auto 32px;font-size:16px}
  .evidence-bridge{padding:80px 0}.evidence-grid{grid-template-columns:1fr}.evidence-visual{aspect-ratio:4/3}.evidence-copy h2{font-size:47px}
  .evidence-actions{flex-wrap:wrap}
  .publication-status{align-items:flex-start;flex-wrap:wrap}.publication-status small{width:100%;margin:4px 0 0}
  .article-real-case{padding:25px!important}.article-real-case blockquote{font-size:20px}.article-real-case>div{flex-wrap:wrap}
  .related-grid.three{grid-template-columns:1fr}
  .diagnosis-page-intro h1{font-size:clamp(42px,13vw,62px)}
  .diagnosis-page-intro .keep-line{white-space:normal}
  .diagnosis-sample{padding:80px 0}.sample-sheet{grid-template-columns:1fr}.sample-sheet>div,.sample-sheet article{min-height:220px;border-right:0}.sample-sheet .sample-action{grid-column:auto}.sample-sheet span{margin-bottom:48px}
  .result-actions{flex-direction:column}.result-actions button,.result-actions a{width:100%}
  .services-page-hero{padding:95px 0 70px}.services-page-hero h1{font-size:clamp(50px,14vw,72px)}
  .services-page-hero>p{font-size:16px}.service-jump{overflow:auto}
  .service-detail{padding:75px 0}.service-detail-copy dl div{grid-template-columns:1fr;gap:7px}
  .service-process ol{grid-template-columns:1fr}.service-process li{min-height:220px;border-right:0}.service-process li strong{margin-top:45px}
  .project-intro-grid{grid-template-columns:1fr;gap:35px}.project-next-actions{flex-direction:column;gap:20px}
  .review-story-hero{height:680px;margin-top:70px}.review-story-overlay{padding:22px}.review-story-overlay h1{font-size:39px}
  .story-links{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  .eye-star{animation:none!important;opacity:1!important;transform:none!important}
  .logo-track{animation:none!important;transform:none!important}
  .reveal,[data-reveal]{opacity:1!important;transform:none!important;transition:none!important}
  .service-detail-visual img{transition:none!important}
}

/* Desktop layout: size type to its column, not only to the viewport. */
@media(min-width:981px){
  main>.section:not(.problem):not(.intro)>.wrap{width:min(1600px,88%);max-width:1600px}
  .faq .wrap.faq-v2{width:min(1600px,88%);max-width:1600px}
}
/* 2026-09-10 copy rhythm, continuity story, review carousel and circular CTA */
.continuity-head{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);column-gap:5%;align-items:end;margin-bottom:64px}
.continuity-head .eyebrow{grid-column:1/-1;margin-bottom:34px}
.continuity-head h2{margin:0;max-width:1000px;font-size:clamp(46px,4.1vw,76px);line-height:1.2;letter-spacing:-.055em;word-break:keep-all;text-wrap:balance}
.continuity-head h2 span{color:#858585}
.continuity-head>p{max-width:560px;margin:0 0 8px;color:#aaa;font-size:17px;line-height:1.85;word-break:keep-all}
.continuity-rail{position:relative;display:grid;grid-template-columns:repeat(5,1fr);margin:0 0 90px;padding:0;border-top:1px solid #454545;border-bottom:1px solid #333;list-style:none}
.continuity-rail li{position:relative;min-height:210px;padding:25px 22px;border-right:1px solid #333}
.continuity-rail li:last-child{border-right:0}
.continuity-rail b{display:block;color:#696969;font-size:11px;letter-spacing:.12em}
.continuity-rail strong{display:block;margin-top:82px;color:#f5f5f5;font-size:20px;letter-spacing:-.035em}
.continuity-rail span{display:block;margin-top:8px;color:#777;font-size:11px}
.continuity-case{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:650px;border:1px solid #343434;background:#0a0a0a}
.continuity-case .evidence-visual{aspect-ratio:auto;min-height:650px;border-right:1px solid #343434}
.continuity-case .evidence-visual img{object-fit:contain}
.continuity-case .evidence-copy{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(30px,3vw,52px);min-width:0}
.case-label{display:block;margin-bottom:auto;color:#777;font-size:11px;letter-spacing:.1em}
.continuity-case h3{margin:36px 0 24px;color:#fff;font-size:clamp(30px,2.5vw,44px);line-height:1.25;letter-spacing:-.045em;word-break:keep-all}
.continuity-case .evidence-context{font-size:15px;line-height:1.75}
.continuity-case .evidence-copy blockquote{font-size:clamp(20px,1.65vw,27px);line-height:1.55}

.review-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:56px;margin-bottom:62px}
.review-heading-row .eyebrow{margin-bottom:25px}
.review-heading-row h2{max-width:880px;margin:0;font-size:clamp(44px,4.1vw,68px);line-height:1.2;letter-spacing:-.05em;word-break:keep-all}
.review-carousel{display:grid;grid-template-columns:64px minmax(0,1fr) 64px;gap:18px;align-items:center}
.review-viewport{min-width:0;overflow:hidden}
.review-track{display:flex;align-items:stretch;transition:transform .55s cubic-bezier(.22,.75,.2,1)}
.review-page{flex:0 0 100%;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.review-track.slide-from-right{animation:reviewFromRight .5s cubic-bezier(.2,.75,.2,1)}
.review-track.slide-from-left{animation:reviewFromLeft .5s cubic-bezier(.2,.75,.2,1)}
.review-card{display:flex;flex-direction:column;min-height:450px;padding:34px 32px;border:1px solid #d4d4cf;border-radius:24px;background:#fafaf8}
.review-card .review-meta{display:block;min-height:35px;color:#777;font-size:12px;line-height:1.45;letter-spacing:.02em}
.review-card blockquote{margin:48px 0 35px;padding:0;border:0;background:none;color:#111;font-size:clamp(20px,1.55vw,25px);font-weight:700;line-height:1.58;letter-spacing:-.042em;word-break:keep-all}
.faq-head p,.diagnosis-intro>p{word-break:keep-all}
@media(min-width:981px){.footer-v2>.wrap{width:min(1600px,88%)}}
.review-card-foot{display:grid;gap:18px;margin-top:auto;padding-top:22px;border-top:1px solid #ddd}
.review-card-foot p{margin:0;color:#777;font-size:13px}
.review-card-foot>div{display:flex;flex-wrap:wrap;gap:7px}
.review-card-foot span{border-radius:999px;background:#efefec;padding:7px 10px;color:#666;font-size:11px}
.review-arrow{width:64px;height:64px;border:1px solid #bbb;border-radius:50%;background:transparent;color:#111;font-size:27px;transition:background .25s,color .25s,transform .25s}
.review-arrow:hover{background:#111;color:#fff;transform:scale(1.05)}
.review-foot{display:flex;justify-content:space-between;align-items:center;margin:23px 82px 0;color:#777;font-size:12px}
.review-foot p{margin:0;font-size:12px}
.review-foot b{color:#111;font-size:16px;font-variant-numeric:tabular-nums}
@keyframes reviewFromRight{from{opacity:.1;transform:translateX(34px)}to{opacity:1;transform:none}}
@keyframes reviewFromLeft{from{opacity:.1;transform:translateX(-34px)}to{opacity:1;transform:none}}

.logo-wall{border-bottom:1px solid #3b3b3b}
.portfolio-v2{border-top:1px solid #111}

.diagnosis-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:7%}
.diagnosis-intro h2{max-width:650px;font-size:clamp(40px,3.35vw,58px);line-height:1.22;word-break:keep-all;text-wrap:balance}
.faq .faq-v2{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8%}
.faq-head h2{max-width:580px;font-size:clamp(38px,3.35vw,58px);line-height:1.22;word-break:keep-all;text-wrap:balance}
.faq .faq-list details{background:none;border-radius:0;margin:0;padding:0 24px;border-bottom:1px solid #363636}

.footer-v2{min-height:auto;padding-top:90px}
.footer-hero{display:grid;grid-template-columns:minmax(0,1fr) clamp(220px,18vw,300px);gap:5vw;align-items:end;margin-top:45px}
.footer-v2 .footer-hero h2{min-width:0;margin:0;font-size:clamp(76px,11.6vw,176px);line-height:.86;letter-spacing:-.08em;word-break:normal}
.consult-circle{position:relative;justify-self:end;width:clamp(220px,18vw,300px);aspect-ratio:1;border-radius:50%;background:#f5f5f3;color:#080808;display:grid;place-items:center;overflow:hidden;transition:transform .45s cubic-bezier(.2,.8,.2,1),background .35s}
.consult-circle>span{font-size:clamp(21px,2vw,31px);font-weight:800;line-height:1.2;letter-spacing:-.05em;text-align:center;transition:opacity .25s,transform .35s}
.consult-circle>img{position:absolute;inset:0;width:100%;height:100%;opacity:0;transform:scale(.72) rotate(-10deg);transition:opacity .3s,transform .5s cubic-bezier(.2,.8,.2,1)}
.consult-circle:hover,.consult-circle:focus-visible{transform:rotate(7deg) scale(1.03);background:#fff}
.consult-circle:hover>span,.consult-circle:focus-visible>span{opacity:0;transform:scale(.7)}
.consult-circle:hover>img,.consult-circle:focus-visible>img{opacity:1;transform:scale(1) rotate(0)}
.consult-note{margin:24px 0 0;text-align:right;color:#777;font-size:13px}

@media(max-width:980px){
  .continuity-head{grid-template-columns:1fr}.continuity-head>p{margin-top:30px}
  .continuity-rail{grid-template-columns:repeat(3,1fr)}.continuity-rail li:nth-child(3){border-right:0}.continuity-rail li:nth-child(-n+2){border-bottom:1px solid #333}
  .continuity-case{grid-template-columns:1fr}.continuity-case .evidence-visual{min-height:480px;border-right:0;border-bottom:1px solid #343434}
  .review-carousel{grid-template-columns:54px minmax(0,1fr) 54px}.review-arrow{width:54px;height:54px}.review-card{padding:29px 25px}
  .diagnosis-grid,.faq .faq-v2{grid-template-columns:1fr}.diagnosis-intro,.faq-head{position:static}
  .footer-hero{grid-template-columns:minmax(0,1fr) 210px}.consult-circle{width:210px}
}

@media(max-width:760px){
  .continuity-head{margin-bottom:45px}.continuity-head .eyebrow{margin-bottom:22px}.continuity-head h2{font-size:clamp(39px,11.5vw,57px)}.continuity-head>p{font-size:15px}
  .continuity-rail{grid-template-columns:1fr;margin-bottom:55px}.continuity-rail li{min-height:112px;padding:18px 0;border-right:0;border-bottom:1px solid #333!important}.continuity-rail li:last-child{border-bottom:0!important}.continuity-rail strong{margin-top:26px}.continuity-rail span{position:absolute;right:0;bottom:20px}
  .continuity-case{min-height:0}.continuity-case .evidence-visual{min-height:300px;aspect-ratio:4/3}.continuity-case .evidence-copy{padding:31px 24px}.case-label{margin-bottom:34px}.continuity-case h3{margin:0 0 22px;font-size:38px}.continuity-case .evidence-context{font-size:14px}.continuity-case .evidence-actions{margin-top:8px}
  .review-heading-row{display:block;margin-bottom:38px}.review-heading-row h2{font-size:clamp(38px,10.5vw,52px)}.review-heading-row .view-link{margin-top:22px}
  .review-carousel{grid-template-columns:44px minmax(0,1fr) 44px;gap:8px}.review-arrow{width:44px;height:44px;font-size:21px}.review-page{grid-template-columns:1fr}.review-card{min-height:430px;padding:27px 23px}.review-card blockquote{margin-top:52px;font-size:21px}.review-foot{margin:18px 52px 0;align-items:flex-start;gap:20px}.review-foot p:first-child{max-width:240px}
  .diagnosis-intro h2,.faq-head h2{font-size:clamp(39px,11vw,54px);line-height:1.12}.faq-head h2 br{display:none}
  .footer-v2{padding-top:72px}.footer-hero{grid-template-columns:1fr;align-items:start;gap:42px}.footer-v2 .footer-hero h2{font-size:clamp(64px,20vw,105px);line-height:.88}.consult-circle{justify-self:end;width:190px}.consult-note{text-align:right;margin-top:18px}.footer-info-v2{margin-top:60px}
}

@media(prefers-reduced-motion:reduce){
  .review-track.slide-from-left,.review-track.slide-from-right{animation:none!important}
  .consult-circle,.consult-circle>*{transition:none!important}
}
/* UI note application: explicit form states and business footer */
.footer-business{display:grid;grid-template-columns:1fr 1fr;gap:8%;border-top:1px solid #333;margin-top:80px;padding:72px 0 12px}
.footer-email{display:inline-block;font-size:clamp(28px,2.9vw,48px);font-weight:650;letter-spacing:-.04em;color:#fff}
.footer-contact nav{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:72px;font-size:20px;color:#bcbcbc}
.footer-wordmark{font-size:42px;font-weight:750;letter-spacing:-.04em;color:#fff}
.footer-company p,.footer-company address{font-size:clamp(16px,1.2vw,22px);line-height:1.9;color:#969696;font-style:normal;margin:12px 0 28px;word-break:keep-all}
.footer-company .footer-rights{color:#c5c5c5;margin-bottom:0}
.footer-business a:hover{color:#fff;text-decoration:underline;text-underline-offset:6px}
.diagnosis-stepper{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;margin:0 0 32px;gap:12px}
.diagnosis-stepper li{border-top:2px solid #d6d6d6;padding-top:12px;color:#888;font-size:12px}
.diagnosis-stepper li[aria-current],.diagnosis-stepper li[data-complete]{border-color:#111;color:#111}
.diagnosis-stepper li[aria-current]{font-weight:750}
.diagnosis-form .field-error{display:block;color:#a42b25;font-size:12px;font-weight:500;margin-top:8px}
.diagnosis-form .field-error[hidden]{display:none}
.diagnosis-form [aria-invalid="true"]{border-color:#a42b25}
/* Shared footer: retained three-column navigation frame and added company copy */
.footer-social{display:flex;gap:18px;margin-top:12px}
.footer-legal{display:flex;justify-content:space-between;gap:40px;padding-top:26px}
.footer-legal p{font-size:12px;line-height:1.9;margin:0;color:#999}
.footer-legal p:last-child{text-align:right}
.inner-page .inner-footer{display:block;min-height:0;padding:0 0 42px;margin-top:0}
.inner-footer .footer-info-v2{margin-top:0}
.inner-footer .page-wrap{padding-top:0;padding-bottom:0}
/* Desktop category audit: scope typography to the actual content column */
@media(min-width:1000px){
 .service-detail.reverse{grid-template-columns:.85fr 1.15fr}
 .inner-page .archive-main{padding-top:140px}
 .page-hero h1,.services-page-hero h1,.insight-index-hero h1{font-size:clamp(60px,6.6vw,104px);line-height:1.12;word-break:keep-all;letter-spacing:-.055em}
 .diagnosis-sample-head h2{font-size:clamp(36px,3.1vw,52px);line-height:1.25;word-break:keep-all}
 .editorial-roadmap h2{font-size:clamp(38px,3.7vw,60px);line-height:1.22;word-break:keep-all}
 .review-index-copy h2{font-size:clamp(34px,3.3vw,52px);line-height:1.25;word-break:keep-all}
}
.project-review-link strong{max-width:850px;font-size:clamp(28px,2.8vw,44px);word-break:keep-all;line-height:1.3}
.review-index-mark img,.review-story-overlay img{filter:brightness(0) invert(.75);opacity:1}
.review-more h3,.review-more p,.article-body p,.service-detail-copy p,.service-detail-copy dd,.project-summary,.project-moment strong{word-break:keep-all;overflow-wrap:break-word}
.review-more h3{line-height:1.6;font-size:21px}
.review-story-hero{margin-top:0}
.idea-grid-12 .idea-card{display:flex;flex-direction:column}
.idea-grid-12 .idea-card h3{min-height:2.9em}
.idea-search input:focus-visible{outline:2px solid #111;outline-offset:5px}
.archive-empty{grid-column:1/-1;padding:80px 30px;border:1px solid #333;text-align:center;color:#aaa}
.archive-empty p{color:#aaa}.archive-empty button{border-bottom:1px solid #aaa;padding:10px;color:#fff}
.site-header nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px;color:#fff}
/* Shared desktop closing screen */
footer.unified-footer{display:flex;min-height:100svh;padding:64px 0 28px;align-items:center}
.unified-footer>.wrap{width:calc(100% - 96px);max-width:1760px}
.unified-footer .footer-hero{margin-top:0;align-items:center}
.unified-footer .footer-hero h2{font-size:clamp(80px,10.5vw,180px)}
.unified-footer .footer-info-v2{margin-top:56px;padding-top:32px;padding-bottom:20px}
.footer-top-row{display:flex;justify-content:flex-end;padding:4px 0 18px}
.footer-top-row a{display:flex;align-items:center;gap:18px;font-size:13px}
.footer-top-row span{display:grid;place-items:center;width:32px;height:32px;border:1px solid #454545;border-radius:50%}
.unified-footer .footer-legal{border-top:1px solid #252525;padding-top:18px}
.unified-footer .footer-legal p{color:#737373}
.diagnosis-page-grid{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:80px;padding-top:80px}
.diagnosis-page-intro h1{font-size:clamp(42px,4vw,64px);line-height:1.17;letter-spacing:-.055em;word-break:keep-all}
.diagnosis-page-form-card{padding:40px;scroll-margin-top:0}
.diagnosis-page-form-card h2{font-size:32px;line-height:1.3}
.diagnosis-page-form-card textarea{min-height:95px}
.diagnosis-page-form-card label em{font-size:12px;font-weight:400;color:#777;font-style:normal;margin-left:5px}
.full-form-step>p{word-break:keep-all}
.service-story{padding:90px 0;border-top:1px solid #d2d2ce}
.service-story h2{font-size:clamp(36px,3.5vw,56px);line-height:1.25;letter-spacing:-.05em;word-break:keep-all;margin:20px 0 30px}
.service-story-intro{max-width:680px;font-size:19px;line-height:1.85;word-break:keep-all;color:#666}
.service-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:50px}
.service-principles article{border-top:1px solid #bbb;padding-top:22px}
.service-principles h3{font-size:23px;line-height:1.4;margin:20px 0 14px}
.service-principles p{line-height:1.85;color:#666;word-break:keep-all}
.service-case{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}
.service-case img{width:100%;aspect-ratio:4/3;object-fit:cover}
.service-case blockquote{margin:25px 0;font-size:27px;line-height:1.6;word-break:keep-all}
.service-case p{line-height:1.85;color:#666;word-break:keep-all}
.service-case a{display:inline-block;border-bottom:1px solid;padding-bottom:8px;margin-top:22px}
.diagnosis-page-form-card label{position:relative}
.diagnosis-page-form-card label>em{position:absolute;right:0;top:0;margin:0}
.diagnosis-page-form-card .full-form-step.active{animation:none}
.diagnosis-page-form-card .full-form-step label{gap:9px}
.diagnosis-page-form-card .full-form-actions{margin-top:24px;padding-top:24px}
/* September desktop annotation pass */
.stats .certification strong{font-size:68px!important;line-height:1.1}
.continuity-case{grid-template-columns:1.08fr 1fr;min-height:0;align-items:stretch}
.case-media{min-width:0;border-right:1px solid #343434}
.continuity-case .evidence-visual{min-height:0;aspect-ratio:16/9;border:0}
.continuity-case .evidence-visual img{display:block;object-fit:cover;transition:opacity .55s ease,transform .8s ease}
.continuity-case .evidence-visual .hover-image{position:absolute;inset:0;opacity:0}
.continuity-case .evidence-visual:hover .hover-image,.continuity-case .evidence-visual:focus-visible .hover-image{opacity:1}
.case-quote{border-top:1px solid #343434;padding:25px 32px}
.case-quote blockquote{margin:0;font-size:20px;line-height:1.65;word-break:keep-all}
.case-quote p{font-size:12px;color:#888;margin:16px 0 0}
.continuity-case .evidence-copy{padding:36px}
.continuity-case h3{margin:28px 0 22px;font-size:clamp(30px,2.6vw,48px)}
.case-keywords{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 30px}
.case-keywords span{border:1px solid #484848;border-radius:100px;padding:9px 13px;font-size:12px;color:#bbb}
.continuity-case .evidence-actions{margin-top:auto}
.service-top{margin-bottom:28px}.service-top .eyebrow{margin:0}
.service-band strong{font-size:40px!important}.service-band span{font-size:22px!important}
#serviceTrack .model-frame,#serviceTrack .result-frame{overflow:hidden;position:relative}
#serviceTrack img{will-change:transform}
.review-carousel{position:relative;display:block;width:1200px;max-width:100%;margin-inline:auto}
.review-carousel>.review-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2}
#reviewPrev{left:-82px}#reviewNext{right:-82px}
.review-stars{letter-spacing:5px;font-size:17px;margin-top:22px;color:#777}
.faq-filters{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px;max-width:340px}
.faq-filters button{border:1px solid #555;border-radius:999px;padding:10px 18px;color:#aaa;background:none;cursor:pointer}
.faq-filters button[aria-pressed=true]{background:#fff;color:#111;border-color:#fff}
.faq-list details[hidden]{display:none!important}
.faq-head .view-link{display:inline-flex;margin-top:32px}
.interview-work,.interview-gallery{margin:42px 0}
.interview-work img,.interview-gallery img{width:100%;display:block}
.interview-work figcaption,.interview-gallery figcaption{font-size:12px;color:#777;margin-top:12px}
.interview-gallery{display:grid;gap:24px}.interview-gallery figure{margin:0}
.statement-line{color:transparent;background:linear-gradient(to right,#fff 0%,#fff var(--read,0%),#515151 var(--read,0%),#515151 100%);background-clip:text;-webkit-background-clip:text}
footer.unified-footer>.wrap{width:calc(100% - clamp(64px,7vw,168px));max-width:none!important}
footer.unified-footer{border-top:1px solid #333;min-height:100svh;padding:clamp(72px,9vh,140px) 0 35px}
.unified-footer .footer-hero{grid-template-columns:minmax(0,1fr) clamp(250px,20vw,420px)}
.unified-footer .footer-hero h2{font-size:clamp(90px,11.5vw,280px)}
.unified-footer .consult-circle{width:clamp(250px,20vw,420px)}
.unified-footer .footer-info-v2 a[href^="mailto:"]{font-size:clamp(24px,2.2vw,48px);font-weight:600;letter-spacing:-.035em;color:#e8e8e8;line-height:1.3;margin:24px 0}
.footer-top-row a{display:inline-flex;align-items:center;gap:12px;line-height:1}
.footer-top-row span{flex:none;line-height:1;font-family:Arial,sans-serif}
.unified-footer .footer-hero{transition:opacity .9s ease,transform .9s ease}
.unified-footer.footer-enter .footer-hero{animation:footer-arrive 1s both}
@keyframes footer-arrive{from{opacity:.3;transform:translateY(45px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.unified-footer.footer-enter .footer-hero{animation:none}.statement-line{--read:100%!important}}
.continuity-case .case-quote blockquote{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none;color:#ddd;font-weight:400}
.continuity-case .case-label{margin-bottom:0}
.continuity-case .evidence-context{margin-bottom:0}
.review-card blockquote{word-break:keep-all;overflow-wrap:break-word}
/* Frame-aligned review navigation and spacious closing screen */
.review-carousel{width:100%;max-width:none;display:grid;grid-template-columns:1fr 44px 44px;gap:24px 10px}
.review-carousel .review-viewport{grid-column:1/-1;grid-row:1}
.review-carousel>.review-arrow{position:static;transform:none;width:44px;height:44px;font-size:21px;grid-row:2}
.review-carousel #reviewPrev{grid-column:2}.review-carousel #reviewNext{grid-column:3}
.review-page{gap:22px}.review-card{min-height:430px}
.diagnosis-intro .diagnosis-note{max-width:560px;width:100%;margin-top:30px}
.diagnosis-intro>h2,.diagnosis-intro>p,.diagnosis-intro>ul{max-width:560px}
.continuity-case .evidence-copy{padding:clamp(30px,2.7vw,52px);display:flex;gap:0}
.continuity-case h3{font-size:clamp(36px,3vw,58px);margin:24px 0;line-height:1.23}
.continuity-case .evidence-context{font-size:17px;line-height:1.8}
.case-facts{width:100%;margin:28px 0 0;border-top:1px solid #333}
.case-facts>div{display:grid;grid-template-columns:115px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid #333;font-size:14px;line-height:1.6}
.case-facts dt{color:#777}.case-facts dd{margin:0;color:#ddd}
.continuity-case .case-keywords{margin:22px 0}.continuity-case .evidence-actions{margin-top:16px}
.unified-footer .footer-info-v2{margin-top:clamp(70px,8vh,120px);padding-top:48px;padding-bottom:42px}
footer.unified-footer{padding-top:clamp(90px,10vh,160px);padding-bottom:42px;min-height:100svh;align-items:stretch}
.unified-footer>.wrap{display:flex;flex-direction:column;justify-content:space-between}
.unified-footer .footer-top-row{display:flex;justify-content:space-between;align-items:center;min-height:84px;padding:24px 0}
.unified-footer .footer-top-row a{margin:0;line-height:1;gap:12px}
.unified-footer .footer-top-row .footer-since{display:block;border:0;width:auto;height:auto;font-size:17px;letter-spacing:.025em;color:#aaa}
.unified-footer .footer-legal{padding-top:30px}
.service-incoming{pointer-events:none}
.interview-editorial{margin:64px 0;padding:32px 0;border-top:1px solid #ccc;border-bottom:1px solid #ccc}
.interview-comparison{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:32px 0}
.interview-comparison figure{margin:0}.interview-comparison img{width:100%}.interview-comparison figcaption{font-size:12px;color:#777;margin-top:10px}
.interview-timeline{list-style:none;padding:0;margin:30px 0}
.interview-timeline li{display:grid;grid-template-columns:100px 1fr;gap:24px;padding:24px 0;border-bottom:1px solid #ddd}
.interview-timeline li>span{font-size:15px;color:#777;padding-top:5px}.interview-timeline h3{margin:0;font-size:21px}.interview-timeline p{margin:10px 0 0}

/* Keep the interview action with the client quote. */
.continuity-case .case-quote .evidence-actions{margin-top:24px}
.continuity-case .evidence-copy .case-keywords{margin-bottom:0}

.statement .statement-line:nth-child(2){font-weight:700}

/* Home interview: quote and action share the same compact row. */
.case-quote{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;align-items:center}
.case-quote blockquote{grid-column:1;grid-row:1}
.case-quote p{grid-column:1;grid-row:2}
.continuity-case .case-quote .evidence-actions{grid-column:2;grid-row:1 / 3;margin:0}
.case-quote .evidence-actions a{white-space:nowrap}
.service-viewport .result-card{position:relative}
.service-card-slide{pointer-events:none}
.continuity-case .evidence-copy{justify-content:center}
.insight-library .publication-status{margin:24px 0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* Unnumbered section labels retain balanced spacing. */
.continuity-rail li{display:flex;flex-direction:column;justify-content:center}.continuity-rail strong{margin-top:0}.foundation-questions dd{margin-left:0}

/* Consistent rating accent across customer reviews. */
.review-stars,.voice-stars{color:#e53935!important}
/* ── 작은 글자 명도 대비 보정 (WCAG AA) ─────────────────────────
   흰/연회색 배경은 한 단계 어둡게, 검은 배경은 한 단계 밝게.
   기존 규칙의 특이도가 제각각이라 이 블록만 !important로 고정한다. */
body .page-kicker,
body .check-hero-meta,
body .example-label span,
body .example-disclaimer,
body .example-notes span,
body .diagnosis-page-form-card .form-question,
body .diagnosis-page-form-card .field-label em,
body .diagnosis-page-form-card .prototype-note,
body .diagnosis-page-form-card .diagnosis-result dt,
body .diagnosis-page-form-card .diagnosis-result small,
body .service-field legend span,
body .reviews-section-title span,
body .interview-number,
body .interview-list-row dl dt,
body .voice-grid article>span,
body .voice-grid article>p,
body .voice-more-row p,
body .foundation-questions dd,
body .service-detail-copy>span,
body .service-detail-copy dl dt,
body .working-steps strong,
body .diagnosis-benefits li span,
body .diagnosis-trust p,
body .diagnosis-page-form-head span,
body .diagnosis-page-form-head b,
body .form-handoff-note p,
body .library-tools h2 span,
body .idea-search i,
body .publication-status small,
body .idea-card p,
body .intro-method,
body .review-card-foot p,
body .diagnosis-form .form-head span,
body .diagnosis-form .form-head strong,
body .diagnosis-form .form-head strong b,
body .diagnosis-stepper li,
body .diagnosis-form .form-step>p,
body .diagnosis-form .form-step label em,
body .interview-meta-row dt,
body .article-author-line span,
body .article-toc-v2 a,
body .before-after span,
body .article-content ol li span,
body .article-section-no,
body .author-card span,
body .article-tags span,
body .side-card span,
body.review-story-page .article-body>.edit-disclosure,
body.review-story-page .article-body .question-index,
body.review-story-page .article-body .article-meta,
body.review-story-page .article-body figcaption,
body.review-story-page .interview-timeline li>span,
body.review-story-page .story-links span{color:#6f6f6f!important}
/* 연회색 배경 위에서는 한 단계 더 */
body .intro .stats>div>span,
body .eyebrow,
body .view-link span,
body .review-card .review-meta,
body .insight-captions span,
body .gift-tag,
body .insight-index-hero .page-kicker{color:#5f5f5f!important}
body .diagnosis-intro .diagnosis-note strong,
body .diagnosis-intro .diagnosis-note span{color:#4f4f4f!important}
body .diagnosis-intro h2 span{color:#6f6f6f!important}
/* 검은 배경 위에서는 다시 밝게 되돌린다 */
body .dark .page-kicker,
body .check-lenses .page-kicker,
body .editorial-roadmap .page-kicker,
body .dark .eyebrow,
body footer .eyebrow,
body .dark .view-link span,
body .example-notes article:last-child span,
body .evidence-copy .case-label,
body .evidence-copy dl dt,
body .side-card.dark span,
body .gift-secret .gift-tag{color:#a3a3a3!important}
body .unified-footer .footer-legal p{color:#8f8f8f!important}
/* 검은 배경 위에서는 포커스 링을 흰색으로 */
body .dark button:focus-visible,body .dark a:focus-visible,body .dark summary:focus-visible,
body footer button:focus-visible,body footer a:focus-visible,
body .check-lenses a:focus-visible,body .check-lenses button:focus-visible,
body .archive .project-card:focus-visible,
body .site-header a:focus-visible,body .site-header button:focus-visible{outline-color:#fff}
/* 터치 타깃 최소 44px */
body .hero-secondary{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:760px){
 body .footer-social a,body .footer-info nav a,body .footer-info>div>a,body .footer-top-row a{min-height:44px;display:inline-flex;align-items:center}
}
/* FAQ 열림 표시: 오래된 캐럿 규칙이 회전하는 +를 덮고 있었다. 되돌린다. */
.faq-list details[open] summary:after{content:"+";transform:rotate(45deg)}

/* v3 · legibility floor: running text never below 12px, tap targets at least 44px. */
.home-work>span,.continuity-rail li>span,.case-label,.about-profile span,.idea-cover>span,.idea-cover time,.review-card-foot span,.gift-tag{font-size:max(12px,1em)!important}
.continuity-rail li>span,.case-label,.idea-cover>span,.gift-tag{font-size:12px!important}
.pagination .dot{position:relative}
.pagination .dot::before{content:"";position:absolute;inset:-19px}
.scroll-cue{min-width:44px}
.footer-social a{min-width:44px}
