:root{--service-shade:#07172be8;--service-clear:#07172b00}
.service-header{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:16px 6%;gap:24px}.service-header>a:first-child{display:block;flex-shrink:0}.service-header img{display:block;width:190px;height:auto}.service-header>a:last-child{display:inline-flex;align-items:center;justify-content:center;min-height:48px;white-space:nowrap;font-size:13px;padding:12px 18px;border:1px solid var(--botanical-gold);background:var(--color-paper)}
.service-hero{position:relative;height:calc(100svh - 72px);min-height:570px;max-height:1000px;background:var(--color-paper-2) var(--botanical-ground) center/160px;overflow:hidden}
.service-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;animation:service-photo-in 1.5s var(--ease-out) both}
.service-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,var(--service-shade),var(--service-clear) 28%,var(--service-clear) 40%,var(--service-shade))}
.service-hero-copy{position:absolute;left:6%;right:6%;bottom:36px;z-index:1}.service-hero-copy>p:first-child{font-size:12px;color:var(--tech-gold);margin-bottom:14px}.service-hero h1{font-size:clamp(54px,7vw,105px);line-height:1.03;letter-spacing:-.04em;max-width:800px}.service-hero-copy>p:not(:first-child){font-size:14px;margin-top:20px;max-width:450px}.service-hero-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--botanical-edge);margin-top:24px;padding-top:16px;font-size:12px}.service-hero-foot a{font-size:30px;min-width:44px;text-align:center}
.experience-intro{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;padding-block:90px}.section-label{display:block;font-size:13px;color:var(--tech-gold);margin-bottom:20px}.experience-intro h2{font-size:clamp(38px,4vw,60px)}.lead{font-size:clamp(20px,2vw,28px);line-height:1.6}.fine{font-size:15px;line-height:1.9;color:var(--color-ink-2);margin-top:24px}
.duration-section{background:var(--botanical-navy) var(--botanical-ground) center/160px;border-block:1px solid var(--botanical-gold);padding-block:70px}.duration-top{display:flex;align-items:end;justify-content:space-between;gap:40px}.duration-top p{max-width:390px;font-size:15px;color:var(--color-ink-2)}.duration-scale{margin-top:40px}.duration-row{display:grid;grid-template-columns:120px minmax(0,1fr) 100px;gap:28px;align-items:center;padding:22px 0;border-bottom:1px solid var(--botanical-edge)}.duration-row strong{font:52px/1 var(--font-display);color:var(--tech-gold)}.duration-row small{font:12px var(--font-body);margin-left:9px}.duration-track{height:4px;background:var(--color-rule);overflow:hidden}.duration-fill{display:block;height:100%;width:100%;transform:scaleX(var(--fill));transform-origin:left;background:var(--tech-gold)}.duration-row>span:last-child{font-size:14px;text-align:right}.duration-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:36px}.duration-bottom p{font-size:13px}.duration-bottom strong{font-weight:400;color:var(--color-ink-2)}
.experience-chapters{padding-block:90px}.chapter{display:grid;grid-template-columns:65px minmax(0,1fr) minmax(0,1fr);gap:34px;align-items:start;border-top:1px solid var(--botanical-edge);padding:36px 0}.chapter-number{font:40px var(--font-display);color:var(--tech-gold)}.chapter h2{font-size:34px}.chapter p{font-size:15px;color:var(--color-ink-2);line-height:1.9}.service-faq{padding-block:65px;background:var(--color-paper-3)}.service-faq-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:60px}.service-faq details{border-bottom:1px solid var(--color-rule);padding:20px 0}.service-faq summary{cursor:pointer;font-size:16px}.service-faq details p{margin-top:16px;color:var(--color-ink-2);font-size:14px;line-height:1.8}.next-service{display:flex;align-items:center;justify-content:space-between;padding-block:40px;border-bottom:1px solid var(--botanical-gold)}.next-service small{display:block;font-size:12px;color:var(--color-muted)}.next-service strong{font:clamp(28px,4vw,50px) var(--font-display);color:var(--tech-gold)}.next-service>span:last-child{font-size:32px}.service-contact{display:none}
@media(min-width:901px){.service-hero>img{left:48%;width:52%}.service-hero:after{left:48%;background:linear-gradient(180deg,var(--service-clear) 55%,var(--service-shade))}.service-hero-copy{left:6%;right:auto;width:36%;bottom:60px}.service-hero h1{font-size:clamp(62px,6vw,96px)}}
@media(max-width:700px){.service-header{padding:12px 20px}.service-header{gap:16px}.service-header img{width:156px}.service-header>a:last-child{font-size:12px}.service-hero{min-height:540px;height:calc(100svh - 72px)}.service-hero-copy{left:22px;right:22px;bottom:28px}.service-hero h1{font-size:clamp(43px,12vw,64px)}.service-hero-copy>p:not(:first-child){font-size:13px;max-width:300px}.service-hero-foot{font-size:11px;margin-top:18px}.experience-intro{display:block;padding-block:50px}.experience-intro h2{margin-bottom:28px}.lead{font-size:22px}.duration-section{padding-block:45px}.duration-top{display:block}.duration-top h2{font-size:42px}.duration-top p{margin-top:22px;font-size:14px}.duration-row{grid-template-columns:78px minmax(0,1fr) 65px;gap:14px;padding:20px 0}.duration-row strong{font-size:40px}.duration-row>span:last-child{font-size:12px}.duration-bottom{display:block}.duration-bottom .contact-pair{margin-top:24px}.experience-chapters{padding-block:50px}.chapter{grid-template-columns:36px minmax(0,1fr);gap:14px}.chapter-number{font-size:28px}.chapter h2{font-size:28px}.chapter p{grid-column:2;font-size:14px}.service-faq{padding-block:45px}.service-faq-inner{display:block}.service-faq h2{margin-bottom:24px;font-size:42px}.service-contact{display:block;position:fixed;bottom:0;left:0;right:0;padding:10px 16px;background:var(--color-paper);border-top:1px solid var(--botanical-edge);z-index:20}.contact-clearance{display:block;height:78px}}
@keyframes service-photo-in{from{transform:scale(1.04)}to{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.service-hero>img{animation:none}.js .reveal{opacity:1;translate:none;transition:none}}
/* Duration bars build once as each row enters view. */
@media(prefers-reduced-motion:no-preference){
.js .duration-fill{transform:scaleX(0);transition:transform 1.5s cubic-bezier(.22,1,.36,1);transition-delay:var(--bar-delay,0ms)}
.js .duration-row.seen .duration-fill{transform:scaleX(var(--fill))}
.duration-row:nth-child(2){--bar-delay:120ms}
.duration-row:nth-child(3){--bar-delay:240ms}
.duration-row:nth-child(4){--bar-delay:360ms}
}

