/* Homepage only. The original shared stylesheet and other pages remain intact. */
.premium-home{--gutter:clamp(24px,5vw,88px)}
.premium-home .header{padding-top:20px;padding-bottom:20px;z-index:10}
.premium-home .opening{position:relative;display:block;padding:60px var(--gutter) 34px;min-height:0;overflow:clip}
.hero-rule{position:absolute;top:0;left:var(--gutter);right:var(--gutter);height:1px;background:#ffffff30;transform-origin:left}
.premium-home .opening-copy{position:relative;display:grid;grid-template-columns:1.5fr 1fr;padding:0;gap:24px 6vw;align-items:end}
.eyebrow{font:400 12px/1.4 Manrope,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.premium-home .hero-eyebrow{grid-column:1/-1;margin:0;color:var(--accent);font-size:12px}
.premium-home .opening h1{font-size:clamp(70px,8.8vw,148px);line-height:1.02;letter-spacing:-.035em;grid-row:2/4}
.title-line{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
.title-line>span,.title-line>em{display:block}
.premium-home .opening-copy>p:not(.eyebrow){font-size:clamp(18px,1.8vw,27px);margin:0;max-width:25ch}
.premium-home .opening-details{padding-bottom:10px}
.premium-home .opening-details>p{margin:10px 0 18px;font-size:14px}
.premium-home .opening-scroll{position:absolute;left:0;bottom:-62px;padding:0;z-index:2}
.premium-home .opening-visual{padding:0;margin:88px 0 0;position:relative}
.premium-home .image-mat{padding:0;border:0;border-radius:0;overflow:hidden;clip-path:inset(0 12% 0 12%)}
.premium-home .opening-image{height:76svh;min-height:430px;max-height:960px;object-fit:cover;object-position:center 43%;border-radius:0}
.premium-home .image-foot{padding:20px 0 0;font-size:14px}
.premium-home .image-foot>span:last-child{font-size:13px}
.premium-home .video-open{bottom:95px;right:calc(12% + 24px)}
.premium-home .section{padding-top:clamp(80px,11vw,170px);padding-bottom:clamp(80px,11vw,170px)}
.premium-home h2{font-size:clamp(46px,6vw,90px);line-height:1.06}
.premium-home .section-heading{gap:8vw;grid-template-columns:1.2fr 1fr;margin-bottom:72px}
.premium-home .section-heading>p{font-size:16px;line-height:1.8;max-width:47ch}
.service-index{display:flex;gap:25px;align-items:center;border-top:1px solid var(--line);padding:20px 0;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.service-count{margin-left:auto}.service-track{width:100px;height:2px;background:var(--line);overflow:hidden}.service-track i{display:block;width:100%;height:100%;background:var(--dark);transform:scaleX(.333);transform-origin:left}
.service-panel{display:grid;grid-template-columns:1.15fr 1fr;gap:7vw;align-items:center;margin-bottom:70px}
.service-photo{position:relative;overflow:hidden;background:#d7e2eb}
.service-photo img{height:clamp(360px,50svh,650px);object-fit:cover}
.service-photo-number{position:absolute;bottom:18px;left:28px;font:italic 84px/1 Editorial,serif;color:white;text-shadow:0 2px 30px #17344f}
.premium-home .service-row{display:block;border:0;padding:25px 0}
.premium-home .service-row h3{font-size:clamp(36px,4vw,65px);margin:20px 0 24px}
.premium-home .service-row p{font-size:16px;line-height:1.85;margin-bottom:32px}
.premium-home .service-row .text-link{white-space:normal}
/* Stacking is enabled by JS only when ScrollTrigger can run. */
.services.is-pinned .service-panels{position:relative;min-height:540px;height:64svh;max-height:750px}
.services.is-pinned .service-panel{position:absolute;inset:0;margin:0}
.services.is-pinned .service-photo img{height:60svh;max-height:690px}
.premium-home .portfolio{background:#e9f0f6;overflow:clip}
.premium-home .project-grid{display:block}
.premium-home .project-grid figure{margin:0 0 100px}
.project-window{overflow:hidden;clip-path:inset(0 8% 0 8%)}
.premium-home .project-grid img{height:78svh;min-height:400px;max-height:960px;aspect-ratio:auto;object-fit:cover;object-position:center}
.premium-home .project-grid figcaption{display:flex;flex-direction:row;justify-content:space-between;gap:20px;border-bottom:1px solid #bacddd;padding:23px 0;font-size:clamp(20px,2.8vw,40px);font-family:Editorial,serif;align-items:baseline}
.premium-home .project-grid figcaption span:last-child{font:400 14px/1.6 Manrope,sans-serif}
.premium-home .progress-project{gap:8vw;margin-top:110px;padding-top:70px;border-top:1px solid #b9cbdc}
.premium-home .progress-copy h3{font-size:clamp(40px,4.3vw,66px)}
.premium-home .progress-copy p{font-size:16px;line-height:1.85}
.premium-home .phase-images{position:relative;overflow:hidden;padding:0;border:0;background:#dce7f0}
.premium-home .phase-images>img{height:620px;max-height:75svh;object-fit:contain}
.phase-images .phase-ghost{position:absolute;inset:0;width:100%;height:100%!important;max-height:none!important;object-fit:contain;z-index:1;background:#dce7f0;pointer-events:none}
.premium-home .about{padding-top:50px}.premium-home .about h2{font-size:clamp(42px,4.5vw,72px)}
.premium-home .reviews{padding-top:0;padding-bottom:80px}.premium-home .reviews h2{font-size:36px}
@media(min-width:1000px){.premium-home .project-grid{margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter))}.premium-home .project-grid figcaption{margin:0 var(--gutter)}}
@media(max-width:999px){.premium-home .opening-copy{grid-template-columns:1fr 1fr;gap:24px}.premium-home .opening h1{font-size:8.8vw}.service-panel{gap:4vw}.premium-home .service-row h3{font-size:40px}}
@media(max-width:700px){
 .premium-home .opening{padding-top:30px}.premium-home .opening-copy{display:block}.premium-home .hero-eyebrow{margin-bottom:25px}.premium-home .opening h1{font-size:clamp(43px,11.8vw,80px);margin-bottom:28px}
 .premium-home .opening-copy>p:not(.eyebrow){font-size:20px;margin-bottom:22px}.premium-home .opening-details{padding:0}.premium-home .opening-details>p{margin-bottom:20px}.premium-home .opening-scroll{display:none}
 .premium-home .opening-visual{margin-top:40px}.premium-home .image-mat{clip-path:none}.premium-home .opening-image{height:60svh;min-height:370px;object-position:center}.premium-home .video-open{right:14px;bottom:102px}.premium-home .image-foot{font-size:13px}
 .premium-home .section-heading{display:block;margin-bottom:40px}.premium-home .section-heading>p{font-size:16px;margin-top:25px}.service-panel{display:flex;flex-direction:column;gap:0;align-items:stretch;margin-bottom:42px}.service-photo img{height:380px}.service-photo-number{font-size:60px}.premium-home .service-row h3{font-size:42px}.premium-home .service-row p{font-size:16px}.service-index{margin-bottom:15px}.service-count,.service-track{display:none}
 .premium-home .project-grid img{height:62svh;min-height:350px}.premium-home .project-grid figure{margin-bottom:60px}.project-window{clip-path:none}.premium-home .project-grid figcaption{flex-direction:column;gap:6px;font-size:28px}.premium-home .progress-project{gap:26px;margin-top:64px;padding-top:40px}.premium-home .phase-images>img{height:480px;max-height:70svh}.premium-home .progress-copy p{font-size:16px}.premium-home .about{padding-top:30px}
}
@media(prefers-reduced-motion:reduce){.premium-home .image-mat,.project-window{clip-path:none}}
.service-navigation{display:none}
.services.is-pinned .service-navigation{display:flex;gap:24px;margin:0 0 15px}
.service-jump{border:0;border-bottom:1px solid transparent;background:none;padding:8px 0;color:var(--muted);font-size:13px;min-height:44px}
.service-jump span{margin-left:8px}.service-jump[aria-pressed=true]{border-color:var(--dark);color:var(--dark)}
@media(min-width:1000px) and (max-height:760px){.services.is-pinned .service-panels{min-height:400px;height:calc(100svh - 160px)}.services.is-pinned .service-photo img{height:calc(100svh - 180px)}.premium-home .service-row h3{font-size:42px;margin:10px 0 14px}.premium-home .service-row p{font-size:14px;margin-bottom:18px}}
@media(max-width:700px){.premium-home .service-row h3{font-size:clamp(32px,10.5vw,42px)}}
