/* Review 01: give the service selector a balanced horizontal composition. */
.service-choice-section{padding-bottom:55px;border-bottom:1px solid var(--line)}
.service-choice-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:8%;margin:25px 0 36px;align-items:start}
.service-choice-heading h2{grid-row:span 2;font-size:clamp(28px,3vw,48px);line-height:1.5;letter-spacing:-.055em;font-weight:600;margin:0}
.service-choice-heading p{font-size:15px;line-height:1.95;color:var(--muted);margin:0 0 14px;max-width:38em}
.service-choice-section .service-choice-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:28px;gap:0 28px}
.service-choice-section .service-choice-panel>p{grid-column:1/-1;margin-bottom:20px}
.service-choice-section .choice-link{grid-template-columns:24px 1fr 64px;gap:12px;padding:24px 0;min-width:0;border-bottom:0;border-top:1px solid #b6c3a6}
.service-choice-section .choice-link strong{font-size:clamp(17px,1.55vw,23px);line-height:1.65}
.service-choice-section .choice-art{width:64px;height:64px}
@media(max-width:1000px){.service-choice-section .service-choice-panel{gap:0 18px;padding:23px}.service-choice-section .choice-link{grid-template-columns:1fr 55px;gap:10px}.service-choice-section .choice-link>span:first-child{grid-column:1/-1}.service-choice-section .choice-art{width:55px;height:55px}}
@media(max-width:700px){.service-choice-heading{grid-template-columns:1fr;gap:20px;margin:20px 0 26px}.service-choice-heading h2{grid-row:auto;font-size:29px}.service-choice-heading p{font-size:14px;margin:0}.service-choice-section .service-choice-panel{grid-template-columns:1fr;padding:24px}.service-choice-section .choice-link{grid-template-columns:24px 1fr 64px;padding:23px 0}.service-choice-section .choice-link>span:first-child{grid-column:auto}.service-choice-section .choice-link strong{font-size:20px}.service-choice-section .choice-art{width:64px;height:64px}.service-choice-section{padding-bottom:38px}}
.service-choice-section .service-choice-panel{max-width:none;width:100%}
/* Reviews 03–06: compact editorial pairing, coherent artwork, mobile typography. */
.review-concept-art{margin:22px 0 0;aspect-ratio:8/5;max-width:480px;background:#eef2e7;overflow:hidden}
.review-concept-art picture,.review-concept-art img{display:block;width:100%;height:100%;object-fit:contain}
@media(min-width:851px){.inner-page .review-balanced{align-items:center}.inner-page .review-balanced .editorial-content{padding-top:25px}}
.inner-page .editorial-row .explainer-conversation{flex-direction:column;justify-content:center;align-items:stretch;gap:22px;padding:28px;aspect-ratio:1;min-height:0}
.inner-page .editorial-row .explainer-conversation .mini-bubble{width:84%;padding:17px 20px;transform:none;align-self:flex-start}
.inner-page .editorial-row .explainer-conversation .mini-bubble--us{align-self:flex-end;transform:none;margin:0}
.inner-page .editorial-row .explainer-conversation .mini-bubble>strong{font-size:clamp(17px,5.4cqi,23px);line-height:1.5;word-break:keep-all;overflow-wrap:normal}
@media(max-width:600px){.review-legal .page-title.long-title,.review-legal .page-title{font-size:clamp(30px,9.7vw,48px)}.inner-page .editorial-row .explainer-conversation{padding:24px;gap:20px}}
/* Desktop composition responds to available height, not just screen width.
   Long lists remain scrollable; no fixed-height clipping or scroll snapping. */
@media(min-width:1100px){
 body:not(.inner-page) .section-pad{padding-block:clamp(44px,5.5vh,80px)}
 .v34 #about.people-section{padding-bottom:clamp(40px,5vh,70px)}
 .v32.inner-page .page-body .editorial-row{padding-block:clamp(32px,4.5vh,64px)}
 .inner-page .page-body{padding-top:clamp(36px,5vh,64px)}
 .inner-page .editorial-aside{gap:20px}
 .inner-page .editorial-aside>.service-explainer-visual,
 .inner-page .editorial-aside>.estimate-sheet-panel,
 .inner-page .editorial-aside>.agreement-art{width:100%;max-width:min(100%,48vh)}
 .inner-page .maintenance-pricing{padding:clamp(28px,4vh,56px);margin-bottom:48px}
 .people-stage{padding-top:clamp(32px,4vh,60px)}
 .person-cut img{height:clamp(280px,40vh,560px)}
 .person-cut--keigo img{height:clamp(250px,36vh,505px)}
 .people-divider{max-height:48vh}
 .v34 .v32-service-main{min-height:0}
 .v34 .v32-service-main-copy{padding:clamp(30px,4vh,56px)}
 .v34 .v32-service-main h3{font-size:clamp(42px,5.4vh,76px);margin:24px 0}
 .v34 .service-showcase-panel{padding:28px 6%}
 .service-showcase{min-height:0;max-width:min(100%,48vh);margin-inline:auto}
 .service-showcase .showcase-type{font-size:clamp(64px,8vh,112px);margin-top:20px}
 .showcase-devices{min-height:0}
 .member-feature{padding-block:clamp(36px,4.5vh,64px)}
 .member-portrait{min-height:0}
 .member-portrait img{height:clamp(360px,55vh,680px)}
 .member-copy h3{margin-top:26px;margin-bottom:18px}
 .studio-partnership{padding-block:clamp(40px,5vh,72px)}
 .studio-partnership>h2{font-size:clamp(38px,4.4vh,64px);margin:24px auto 36px}
 .partnership-promise{margin-top:32px;padding:28px 32px;gap:32px}
 .proposal-studies{padding-block:40px 48px}
}
@media(min-width:1100px) and (max-height:900px){
 .inner-page .page-hero{padding-top:120px;padding-bottom:40px;min-height:0}
 .inner-page .breadcrumbs{margin-bottom:26px}
 .inner-page .page-kicker{margin-bottom:24px}
 .inner-page .page-intro h2{margin-bottom:18px}
 .inner-page .editorial-content>h2{margin-bottom:24px}
 .v34 .member-copy h2{font-size:52px}
 .v34 .member-copy h3{font-size:28px}
 #why .studio-proof{margin-top:28px}
}
/* Selected work: crisp, front-facing screens on an editorial presentation board. */
.v32.v34 .v32-proof-band{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:6%;padding-block:clamp(48px,6vh,80px);background:#19211d}
.proof-showcase{margin:0;min-width:0;padding:26px;background:linear-gradient(135deg,#2d3932,#202b25);border:1px solid #526147;box-shadow:0 24px 60px #0002}
.proof-showcase-meta{display:flex;justify-content:space-between;gap:16px;font:10px/1.6 Inter,sans-serif;letter-spacing:.13em;color:#d3dec9;margin-bottom:30px}
.proof-showcase-meta>span:first-child:before{content:'';display:inline-block;width:6px;height:6px;margin-right:10px;background:#c9ff3b}
.proof-showcase-stage{position:relative;padding:0 9% 11% 0}
.proof-showcase .proof-browser{overflow:hidden;border:1px solid #647166;border-radius:7px;background:#151b17;box-shadow:0 14px 30px #0003}
.proof-browser-chrome{height:28px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;font:9px/1 Inter,sans-serif;color:#abb5ac;letter-spacing:.12em}
.proof-browser-chrome>span:first-child{display:flex;gap:4px}.proof-browser-chrome i{width:4px;height:4px;border-radius:50%;background:#7d897e}.proof-browser-chrome b{font-weight:500}
.v33 .v32-proof-band .proof-showcase img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;box-shadow:none;transform:none}
.proof-mobile{position:absolute;right:0;bottom:0;width:24%;padding:5px;background:#101612;border:1px solid #84907b;border-radius:15px;box-shadow:0 14px 28px #0006;overflow:hidden}
.proof-mobile img{border-radius:10px}
.proof-mobile-camera{position:absolute;top:9px;left:38%;width:24%;height:5px;border-radius:6px;background:#101612}
.proof-layout-note{position:absolute;left:0;bottom:0;font:9px/1.8 Inter,sans-serif;letter-spacing:.12em;color:#b5c0b0}
.proof-showcase figcaption{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #53604e;padding-top:18px;margin-top:24px;line-height:1.6}
.proof-showcase figcaption strong{font:500 11px/1.6 Inter,sans-serif;letter-spacing:.05em;color:#eef2e8}.proof-showcase figcaption>span{font-size:11px;color:#bac6b1;white-space:nowrap}
@media(max-width:850px){.v32.v34 .v32-proof-band{grid-template-columns:1fr;gap:32px}.proof-showcase{max-width:720px;width:100%;justify-self:center}}
@media(max-width:600px){.proof-showcase{padding:18px}.proof-showcase-meta{font-size:8px;margin-bottom:20px;letter-spacing:.08em}.proof-mobile{border-radius:10px;padding:3px;width:25%}.proof-mobile img{border-radius:7px}.proof-mobile-camera{height:3px;top:6px}.proof-browser-chrome{height:20px;font-size:7px;padding-inline:8px}.proof-layout-note{font-size:7px}.proof-showcase figcaption{align-items:flex-start;flex-direction:column;gap:5px;margin-top:20px;padding-top:14px}.proof-showcase figcaption strong{font-size:9px}.proof-showcase figcaption>span{font-size:10px}}
