/* Visual v5 extends the retained scene design. Text remains visible by default. */
/* Keep the rotated decorative strip inside the viewport without a scroll container. */
html,body{overflow-x:clip}
[hidden]{display:none!important}
.direction .statement{font-size:clamp(36px,5.7vw,84px);margin-top:44px}
.direction-bottom{margin-top:28px;padding-top:22px}
.direction .million{font-size:clamp(70px,12vw,180px);margin-top:20px}
.money-route{display:grid;grid-template-columns:1fr 30px 1fr 30px 1fr 30px 1fr;align-items:center;gap:10px;margin-top:30px}
.money-route>div{border:1px solid #b9b9ad;padding:16px 18px;min-height:107px}
.money-route>div>span{display:block;font-size:10px;letter-spacing:.08em;color:#69705f;margin-bottom:10px}
.money-route strong{display:block;font-size:15px;line-height:1.4;font-weight:500;letter-spacing:-.02em}
.money-route>b{text-align:center;color:#777a70;font-size:24px;font-weight:300}
.money-route .money-personal{background:#20271f;color:#eeeae2;border-color:#20271f}
.money-personal>span{color:#ff915d!important}
.approach{gap:8vw}
.step{min-height:78svh;padding-top:45px;padding-bottom:55px}
.step p{font-size:15px;margin-top:20px}
.step-kicker{margin-bottom:24px}
.mini-viz{margin-top:30px;padding:20px;border:1px solid #46503f;background:#1d231b;border-radius:3px;font-size:11px}
.finance-viz{display:flex;justify-content:space-between;gap:12px;align-items:end}
.finance-viz>div{flex:1;display:flex;flex-direction:column;gap:12px}
.finance-viz i{display:block;border:1px solid #8b987d;height:48px;background:repeating-linear-gradient(to bottom,transparent 0 14px,#8b987d44 14px 15px)}
.finance-viz>div:nth-child(2) i{height:65px}
.finance-viz>div:last-child i{height:85px;border-color:#ff915d;background:repeating-linear-gradient(to bottom,transparent 0 14px,#ff915d44 14px 15px)}
.finance-viz>div:last-child span{color:#ff915d}
.bottleneck-viz{display:flex;align-items:start;justify-content:space-between;gap:8px}
.bottleneck-viz>div{flex:1;text-align:center}
.bottleneck-viz i{display:block;height:38px;border:1px solid #7d8971;border-radius:4px;margin-top:14px}
.bottleneck-viz>b{font-size:20px;padding-top:30px;color:#b5bea9}
.bottleneck-viz .bottleneck i{border-color:#ff915d;background:#ff915d22}
.bottleneck-viz small{display:block;line-height:1.5;color:#ff915d;font-size:10px;margin-top:9px}
.priority-viz>div{display:flex;gap:15px;align-items:center;padding:10px 0;border-bottom:1px solid #46503f}
.priority-viz>div:last-child{border:0}
.priority-viz b{font-weight:400;color:#ff915d}
.loop-viz{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.loop-viz>b{color:#ff915d;font-size:22px}
.loop-viz>div{width:100%;border-top:1px solid #46503f;padding-top:10px;margin-top:8px;color:#b7c0aa;text-align:center}
.experience-title{font-size:clamp(38px,5.6vw,80px)!important;margin:40px 0 48px;line-height:1.13!important}
.experience-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw;align-items:stretch}
.experience-portrait{position:relative;margin:0;overflow:hidden;min-height:470px;isolation:isolate}
.experience-portrait img{height:100%;width:100%;object-fit:cover;object-position:50% 30%;filter:saturate(.35);position:absolute;inset:0;z-index:-2}
.experience-portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#141513ed,transparent 60%);z-index:-1}
.experience-portrait figcaption{position:absolute;bottom:24px;left:25px}
.experience-portrait strong{display:block;font-size:48px;font-weight:400;letter-spacing:-.05em}
.experience-portrait span{font-size:12px;color:#d3d7cc}
.experience-lead{font-size:17px;line-height:1.7;margin-bottom:30px;color:#dddcd3}
.expertise-row{display:flex;gap:22px;padding:23px 0;border-top:1px solid var(--line)}
.expertise-row>span{color:var(--orange);font-size:12px;padding-top:4px}
.expertise-row h3{font-size:22px;line-height:1.3;letter-spacing:-.035em}
.expertise-row p{font-size:14px;line-height:1.7;color:var(--muted);margin-top:10px}
.cases{background:#1b211a;padding-top:75px;padding-bottom:75px}
.cases-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:32px}
.cases-heading h2{font-size:clamp(40px,4.9vw,72px);font-weight:400;line-height:1.1;margin-top:28px}
.cases-heading h2 span{color:var(--orange)}
.cases-heading>p{font-size:14px;color:#c2cabb;line-height:1.7;padding-bottom:4px}
.case-tabs{display:flex;gap:8px;margin-bottom:22px;border-bottom:1px solid #526048;padding-bottom:16px}
.case-tabs button{background:transparent;border:1px solid #65735a;color:#dfe4d8;padding:12px 20px;cursor:pointer;font-size:14px;border-radius:3px;line-height:1.5}
.case-tabs button>span{font-size:10px;margin-right:12px;opacity:.8}
.case-tabs button[aria-selected=true]{background:#eeeae2;border-color:#eeeae2;color:#141513}
.case-tabs button:hover{border-color:#ff915d}
.case-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:32px;padding:28px;background:#eeeae2;color:#141513;min-width:0}
.case-visual{display:flex;flex-direction:column;min-width:0}
.case-visual figure{position:relative;margin:0;height:260px;overflow:hidden;background:#3d4737}
.case-visual img{width:100%;height:100%;object-fit:cover;display:block}
.case-visual figcaption{position:absolute;bottom:0;left:0;right:0;padding:12px 14px;background:linear-gradient(0deg,#10160fea,transparent);font-size:9px;color:#fff}
.case-situation{padding:22px 0 0}
.case-situation>span,.actions-label{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:#626b59}
.case-situation p{font-size:14px;line-height:1.75;margin-top:10px;color:#404b37}
.case-main{min-width:0}
.case-head{display:flex;align-items:start;justify-content:space-between;gap:12px}
.case-head h3{font-size:clamp(22px,2.4vw,35px);font-weight:600;line-height:1.2;letter-spacing:-.04em;max-width:300px}
.duration{flex:none;font-size:11px;background:#dde1d3;border:1px solid #b8c0aa;border-radius:30px;padding:5px 10px;white-space:nowrap}
.metric-heading{font-size:12px;color:#4b5643;margin-top:24px}
.income-compare{display:grid;grid-template-columns:1fr 28px 1fr;gap:12px;align-items:center;margin-top:15px}
.income-compare>div>span{font-size:10px;display:block;color:#57634c;margin-bottom:5px}
.income-compare strong{font-size:clamp(39px,4.5vw,65px);font-weight:500;letter-spacing:-.06em;line-height:1;white-space:nowrap;display:block}
.income-compare strong small{display:block;font-size:13px;font-weight:400;letter-spacing:0;margin-top:8px}
.income-compare>div:last-child strong{color:#b43c11}
.income-compare>b{font-size:30px;color:#68735d;font-weight:300}
.income-bars{display:grid;gap:7px;margin:16px 0 22px;border-left:1px solid #78846d}
.income-bars>div{height:8px}
.income-bars i{height:100%;display:block;background:#98a18b}
.income-bars>div:last-child i{background:#bd461b}
.case-actions{padding:0;list-style:none;margin:10px 0 0}
.case-actions li{display:flex;gap:12px;align-items:start;font-size:13px;line-height:1.55;margin:10px 0;color:#35422d}
.case-actions li>span{color:#a54421;font-size:10px;padding-top:3px;flex:none}
.case-outcome{border-top:1px solid #bdc4b2;display:grid;grid-template-columns:.9fr 1.1fr;gap:20px;margin-top:20px;padding-top:17px;align-items:start}
.case-outcome span{display:block;font-size:10px;color:#5a664f;margin-bottom:8px}
.case-outcome strong{font-size:18px;letter-spacing:-.04em;line-height:1.3;font-weight:600;white-space:nowrap}
.case-outcome p{font-size:12px;line-height:1.65;color:#3b4832}
.cases-note{font-size:11px;color:#c1cbb7;max-width:950px;line-height:1.75;margin-top:20px}
.meeting-map{display:flex;align-items:start;justify-content:space-between;gap:15px;margin:34px 0 30px 80px;padding:22px 0;border-top:1px solid #4e5745;border-bottom:1px solid #4e5745}
.meeting-map>div{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;flex:1}
.meeting-map i{display:flex;justify-content:center;align-items:center;flex-direction:column;width:58px;height:58px;border-radius:50%;border:1px solid #8a997c;font-style:normal;font-size:22px;line-height:1.1;color:#eeeae2}
.meeting-map i>span{font-size:9px;margin-top:3px}
.meeting-map>div>span{font-size:11px;color:#c6d0ba}
.meeting-map>b{padding-top:14px;font-size:22px;font-weight:300;color:#ff915d}
.meeting-map>div:first-child i{border-color:#ff915d}
.service-body{margin-top:28px}
@media(max-width:1000px){.case-panel{gap:24px;padding:24px;grid-template-columns:.75fr 1.25fr}.case-head{flex-wrap:wrap}.case-visual figure{height:230px}.case-outcome{grid-template-columns:1fr;gap:12px}.meeting-map{margin-left:50px}.experience-layout{gap:5vw}.expertise-row h3{font-size:20px}}
@media(max-width:680px){
 .direction .statement{font-size:clamp(29px,7.65vw,50px);margin-top:35px}.direction .million{font-size:15vw;margin-top:25px}.direction-bottom{margin-top:25px}.money-route{grid-template-columns:1fr 24px 1fr;gap:10px;margin-top:25px}.money-route>div{padding:12px;min-height:94px}.money-route>b:nth-of-type(2){display:none}.money-route strong{font-size:13px}.money-route>div>span{margin-bottom:7px}
 .step{min-height:0;padding-top:36px;padding-bottom:40px}.mini-viz{padding:16px;margin-top:23px}.finance-viz{font-size:10px}.bottleneck-viz{font-size:10px;gap:5px}.loop-viz{font-size:10px;gap:8px}
 .experience-title{font-size:clamp(29px,8vw,48px)!important;margin:30px 0}.experience-layout{display:flex;flex-direction:column;gap:28px}.experience-portrait{min-height:320px;max-height:400px}.experience-portrait img{object-position:50% 30%}.experience-portrait strong{font-size:44px}.experience-lead{font-size:15px;margin-bottom:24px}.expertise-row{padding:20px 0;gap:17px}.expertise-row h3{font-size:20px}.expertise-row p{font-size:14px}
 .cases{padding-top:50px;padding-bottom:55px}.cases-heading{display:block;margin-bottom:25px}.cases-heading h2{font-size:clamp(37px,10vw,55px);margin-top:24px}.cases-heading>p{margin-top:20px;font-size:13px}.case-tabs{gap:6px;padding-bottom:13px;margin-bottom:18px}.case-tabs button{padding:10px 9px;flex:1;font-size:11px;white-space:nowrap}.case-tabs button>span{display:block;font-size:9px;margin:0 0 4px}.case-panel{display:flex;flex-direction:column;padding:18px;gap:22px;margin-left:-10px;margin-right:-10px}.case-visual figure{height:180px}.case-situation{padding-top:16px}.case-situation p{font-size:13px;margin-top:8px}.case-head h3{font-size:25px;max-width:100%;line-height:1.2}.case-head{flex-wrap:wrap;gap:10px}.duration{font-size:10px}.metric-heading{font-size:11px;margin-top:20px}.income-compare strong{font-size:clamp(38px,12vw,58px)}.income-compare strong small{font-size:12px}.income-compare{gap:10px;grid-template-columns:1fr 24px 1fr}.income-bars{margin-bottom:20px}.case-actions li{font-size:13px;line-height:1.6}.case-outcome{grid-template-columns:1fr;gap:12px}.case-outcome strong{font-size:21px}.case-outcome p{font-size:13px}.cases-note{font-size:10px}
 .meeting-map{margin-left:36px;gap:5px;margin-top:25px;padding:20px 0}.meeting-map i{width:46px;height:46px;font-size:19px}.meeting-map>div>span{font-size:10px}.meeting-map>b{font-size:17px;padding-top:12px}.four-meetings{margin-left:0}.four-meetings>div>span{font-size:9px}.four-meetings i{width:45px;height:45px}
}
@media(max-width:360px){.meeting-map{margin-left:0}.four-meetings{gap:3px}.four-meetings i{width:40px;height:40px}.four-meetings>b{font-size:14px}.case-panel{padding:15px}.case-tabs button{font-size:10px}.income-compare strong{font-size:38px}}
/* Readability refinements from browser review. */
.target-label{font-size:13px;margin-top:28px;color:#535c4b}
.direction .million{margin-top:8px}
.profit-viz{display:grid;grid-template-columns:1fr 12px 1fr 12px 1fr;gap:14px 8px;align-items:center;text-align:center}
.profit-viz small{grid-column:1/-1;text-align:left;font-size:11px;color:#cad2bf}
.profit-viz>span{padding:15px 2px;border:1px solid #7b896e;font-size:11px}
.profit-viz>span:last-child{color:#ff915d;border-color:#ff915d}
.profit-viz b{font-weight:400;color:#b6c0aa;font-size:16px}
.finance-viz i,.finance-viz>div:nth-child(2) i,.finance-viz>div:last-child i{height:64px}
.cases-note{font-size:12px}
@media(min-width:681px){.step{min-height:62svh;padding-top:32px;padding-bottom:40px}.nav-price{font-size:14px}}
@media(max-width:680px){
 .money-route{grid-template-columns:22px 1fr;gap:6px 10px}
 .money-route>div{grid-column:2;min-height:0;display:flex;align-items:center;gap:16px;padding:12px 16px}
 .money-route>div>span{margin:0}
 .money-route>b{grid-column:1;line-height:1;align-self:center}
 .money-route>b:nth-of-type(1){grid-row:2}.money-route>b:nth-of-type(2){display:block;grid-row:3}.money-route>b:nth-of-type(3){grid-row:4}
 .money-route strong br{display:none}.cases-note{font-size:12px}
}
@media print{.case-tabs{display:none}.case-panel[hidden]{display:grid!important}.case-panel{break-inside:avoid}.case-panel+.case-panel{margin-top:30px}.case-visual figure{height:160px}.experience-portrait{min-height:300px}}

/* v6: predictable spacing and candid photographic backgrounds. */
.hero{display:flex;flex-direction:column;padding-top:clamp(155px,22svh,235px);padding-bottom:40px}
.hero-overline{position:static;flex:none}
.hero-name{position:relative;top:auto;left:auto;right:auto;margin-top:48px;flex:none}
.hero-bottom{position:static;margin-top:38px;flex:none;gap:30px}
.hero-meta{position:static;margin-top:auto;padding-top:38px;flex:none}
.approach{isolation:isolate}
.approach-atmosphere{position:absolute;inset:0 0 auto;height:740px;z-index:-1;overflow:hidden;pointer-events:none;mask-image:linear-gradient(#000 0%,#000 62%,transparent 100%)}
.approach-atmosphere img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.approach-atmosphere:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#141513e8 0%,#141513b3 46%,#14151380 100%)}
.approach .step p{color:#e0dfd6}
.approach .mini-viz{background:#1d231bf0}
.contact{isolation:isolate;background:#18211c}
.contact:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0e1813bd,#0e181326),linear-gradient(0deg,#0e1813e6,transparent 72%),url('assets/city-v6-web.webp') center 60%/cover no-repeat}
.contact-bottom>p,.contact footer{color:#eeeae2}
.contact-link{background:#13211a70;padding:18px 22px;border:1px solid #a5b29a70;border-radius:2px}
@media(max-width:680px){
 .hero{padding-top:clamp(132px,19svh,170px);padding-bottom:40px}
 .hero-name{margin-top:clamp(105px,18svh,165px);left:auto;right:auto;top:auto}
 .hero-bottom{left:auto;right:auto;bottom:auto;margin-top:36px;gap:18px}
 .hero-meta{left:auto;right:auto;bottom:auto;margin-top:auto;padding-top:42px}
 .approach-atmosphere{height:760px}
 .approach-atmosphere img{object-position:65% center}
 .approach-atmosphere:after{background:linear-gradient(90deg,#141513c9,#1415138c)}
 .contact:before{background-position:center,center,66% center}
 .contact-link{padding:16px;gap:14px}
}
@media print{.hero{padding-top:100px}.hero-name{margin-top:35px}.hero-bottom{margin-top:30px}.approach-atmosphere,.contact:before{display:none}}

/* v7: service photography and task-based industry cards. */
.scenario-focus{font-size:clamp(26px,3.6vw,48px);line-height:1.15;letter-spacing:-.045em;margin:24px 0 30px}
.scenario-focus em{color:#b43c11;font-style:normal}
.scenario-panel .case-outcome{display:block}
.scenario-panel .case-outcome p{font-size:14px}
.scenario-panel .case-actions li{font-size:14px}
@media(max-width:680px){
 .service-price{width:100%;max-width:330px}
 .scenario-focus{font-size:32px;margin:23px 0}
}
