/* SI Link — an architectural scroll film, with an ordinary document fallback. */
.si-home{--si-red:#ba2635;--si-paper:#f7f5f1;--si-text:#302c2b;background:#fff;color:var(--si-text)}
.si-home .site-header{position:fixed;inset:0 0 auto;height:88px;backdrop-filter:none;-webkit-backdrop-filter:none}.si-home .site-header.is-scrolled{background:#fffffff5}
.si-home .wrap{width:min(1440px,calc(100% - 128px))}
.si-home .section{padding-block:140px}
.scroll-story{position:relative;background:#f7f6f2}
.film-stage{position:relative;min-height:640px;height:100svh;isolation:isolate;overflow:hidden}
.film-poster,.film-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.film-poster img{width:100%;height:100%;object-fit:cover;object-position:center}
.film-canvas{opacity:0;transition:opacity .18s}
.film-canvas.has-frame{opacity:1}
.film-light{position:absolute;inset:0;background:linear-gradient(90deg,#f9f8f5e6 0%,#faf9f6c2 30%,#faf9f62b 48%,transparent 62%);pointer-events:none}
.film-copy{position:relative;z-index:1;padding-top:clamp(150px,21vh,235px)}
.film-eyebrow{font:11px/1.6 Arial,sans-serif;letter-spacing:.16em;display:flex;align-items:center;gap:12px;color:#926367}
.film-eyebrow i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--si-red)}
.film-chapter h1,.film-chapter h2{font-size:clamp(48px,5.25vw,90px);line-height:1.45;letter-spacing:.035em;font-weight:500;margin:27px 0 0}
.film-chapter h1 span{color:var(--si-red)}
.film-description{margin-top:26px;font-size:14px;line-height:2.05;letter-spacing:.035em;color:#48413f}
.film-action{display:inline-flex;align-items:center;gap:70px;border-bottom:1px solid #b89392;margin-top:28px;padding:10px 0;font-size:13px}
.film-action span{font:22px/1 Arial,sans-serif}
.film-footer{position:absolute;z-index:2;bottom:30px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:25px;font:10px/1.7 Arial,sans-serif;letter-spacing:.14em;color:#655c5a}
.film-skip{display:flex;gap:22px;align-items:center}.film-skip span{font-size:21px;color:var(--si-red)}
.film-count{position:absolute;z-index:2;right:64px;bottom:85px;font:11px/1.5 Arial,sans-serif;color:#86696d;letter-spacing:.1em}
.film-count span{color:#a22c37}
.film-progress{position:absolute;z-index:3;left:0;bottom:0;width:100%;height:2px;background:#ddd4ce55;transform-origin:left}
.film-progress span{display:block;width:100%;height:100%;background:var(--si-red);transform:scaleX(var(--film-progress,0));transform-origin:left}
.film-chapter:not(:first-child){display:none}
/* Enhancement is enabled only after the first decoded frame is ready. */
.scroll-story.is-film-ready{height:calc(var(--film-height,100svh) * 3.8)}
.is-film-ready .film-stage{position:sticky;top:0;height:var(--film-height,100svh);min-height:640px}
.is-film-ready .film-copy{height:100%;padding-top:0}
.is-film-ready .film-chapter{display:block;position:absolute;left:0;top:clamp(145px,20svh,235px);opacity:0;visibility:hidden;pointer-events:none;transition:none}
.is-film-ready .film-chapter.is-active{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity .14s ease}
.is-film-ready .film-chapter:not(:first-child){top:clamp(145px,20svh,235px)}
.si-home .about{padding-block:155px 160px;grid-template-columns:.85fr 2fr;gap:70px;position:relative}
.si-home .about:after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:#e2ddd9}
.si-home .about h2{font-size:clamp(36px,4.6vw,65px);line-height:1.6;letter-spacing:.025em}
.si-home .about-main{max-width:820px}.si-home .subheading{font-size:12px;margin-bottom:25px;color:#985a62}
.si-home .about-copy{font-size:16px;line-height:2.4;gap:24px;margin-top:40px}
.si-home .philosophy-signature{font-size:24px;margin-top:45px;color:#938481}
.si-home .business{background:#fff;color:var(--si-text);position:relative;padding-top:125px}
.si-home .business:before{display:none}.si-home .section-label{font-size:11px;letter-spacing:.15em}
.si-home .section-heading{margin-bottom:70px}.si-home .section-heading h2{font-size:clamp(34px,4vw,58px);line-height:1.5;font-weight:500;margin-top:25px}
.si-home .section-heading>p{font-size:14px;line-height:2.1;max-width:380px;padding-bottom:8px}
/* The channel is a quiet editorial interlude, with a single photographic image. */
.si-media{background:#17191d;color:#fff;padding-block:105px;overflow:hidden}
.si-media-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:8%;align-items:center}
.si-media-art{position:relative;overflow:hidden;margin:0;background:#23262c}
.si-media-art img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.si-media-art figcaption{padding:16px 0 0;background:#17191d;font:10px/1.8 Arial,sans-serif;letter-spacing:.17em;color:#acafb5;display:flex;align-items:center;gap:12px}
.si-media-art figcaption:before{content:'';width:24px;height:1px;background:#db4353}
.si-media-copy .film-eyebrow{color:#e67a83}.si-media-copy h2{font-size:clamp(30px,3vw,44px);line-height:1.6;font-weight:500;letter-spacing:.025em;margin-top:22px}
.si-channel-name{margin-top:24px;font-size:18px;font-weight:500;letter-spacing:.1em}
.si-channel-purpose{font-size:15px;line-height:2.05;margin-top:22px;color:#f2eeed}
.si-channel-note{font-size:13px;line-height:2.1;margin-top:16px;color:#bfc1c7}
.si-media-copy .film-action{border-color:#84434a;color:#fff;margin-top:22px}
.si-home .journal{padding-block:125px 130px}.si-home .journal .section-heading h2{font-size:clamp(30px,3.1vw,44px)}
.si-home .journal-grid{gap:35px}.si-home .article-image{aspect-ratio:1.4;background:#f7f4f1}
.si-home .article-card h3{font-size:21px;line-height:1.7;letter-spacing:.01em}.si-home .article-card>p{font-size:13px;line-height:1.95}
.si-home .article-meta{font-size:10px}.si-home .article-image-number{display:none}
.si-home .company{background:#f7f5f2;padding-block:105px}.si-home .company-grid{grid-template-columns:1fr 1.4fr;gap:120px}
.si-home .company h2{font-size:37px}.si-home .company-table>div{padding-block:22px;font-size:14px}
.si-home .contact-teaser{padding-block:120px;align-items:center}.si-home .contact-teaser h2{font-size:clamp(26px,2.8vw,39px);line-height:1.7}.si-home .contact-teaser p{font-size:14px;line-height:2.1}
.si-home .button-dark{background:#ab2330;padding:20px 26px;font-size:13px}
.si-home .site-footer{background:#f7f5f2}.si-home .site-footer .wrap{width:min(1440px,calc(100% - 128px))}
@media(min-width:1800px){.film-copy{padding-top:22vh}.film-chapter h1{font-size:94px}.film-description{font-size:17px}.film-action{font-size:15px}}
@media(max-height:790px) and (min-width:801px){.film-stage{min-height:620px}.is-film-ready .film-stage{min-height:620px}.film-copy{padding-top:140px}.is-film-ready .film-chapter{top:140px}.film-chapter h1{font-size:58px;line-height:1.35}.film-chapter h2{font-size:55px}.film-description{margin-top:18px}.film-action{margin-top:15px}.film-footer{bottom:23px}}
@media(max-width:1100px){.si-home .wrap,.si-home .site-footer .wrap{width:calc(100% - 72px)}.film-chapter h1,.film-chapter h2{font-size:64px}.si-home .about{gap:45px;grid-template-columns:.55fr 1.8fr}.si-home .company-grid{gap:70px}.si-media-grid{gap:7%}.film-count{right:36px}}
@media(max-width:800px){
 .si-home .site-header{height:74px}.si-home .wrap,.si-home .site-footer .wrap{width:calc(100% - 48px)}
 .si-home .section{padding-block:80px}.film-stage{height:100svh;min-height:620px}.film-poster img{object-position:center}
 .film-copy{padding-top:132px}.film-eyebrow{font-size:9px;letter-spacing:.08em;gap:9px}
 .film-chapter h1{font-size:clamp(40px,9.8vw,64px);line-height:1.4;letter-spacing:.03em;margin-top:21px}
 .film-chapter h2{font-size:clamp(35px,8.8vw,54px);line-height:1.55;margin-top:20px}
 .film-description{font-size:12px;line-height:1.95;margin-top:20px;letter-spacing:0}
 .film-action{font-size:12px;margin-top:17px;gap:55px;padding-block:8px}
 .film-light{background:linear-gradient(180deg,#faf9f5cf 0%,#faf9f5b3 38%,transparent 60%,#fff1 80%,#faf8f355)}
 .film-footer{font-size:9px;bottom:21px;gap:10px}.film-word{max-width:110px}.film-skip{gap:10px;font-size:9px}.film-count{right:24px;bottom:62px;font-size:10px}
 .scroll-story.is-film-ready{height:calc(var(--film-height,100svh) * 3.2)}.is-film-ready .film-stage{min-height:620px}
 .is-film-ready .film-chapter{top:125px}.is-film-ready .film-chapter:not(:first-child){top:125px}
 .si-home .about{display:block;padding-block:85px 95px}.si-home .about-main{margin-top:38px}.si-home .about h2{font-size:36px}.si-home .about-copy{font-size:14px;line-height:2.25;gap:22px;margin-top:30px}.si-home .subheading{font-size:11px;line-height:1.9}.si-home .philosophy-signature{font-size:23px;margin-top:33px}
 .si-home .section-heading{margin-bottom:36px}.si-home .section-heading h2{font-size:36px}.si-home .section-heading>p{font-size:13px;margin-top:25px}
 .si-media{padding-block:60px 70px}.si-media-grid{display:flex;flex-direction:column;gap:36px;align-items:stretch}.si-media-art{width:100%;margin:0}.si-media-copy h2{font-size:clamp(27px,7.4vw,38px)}.si-channel-purpose{font-size:14px}.si-channel-note{font-size:13px}

 .si-home .journal{padding-block:80px}.si-home .journal-grid{gap:48px}.si-home .journal .section-heading h2{font-size:29px}.si-home .article-image{aspect-ratio:1.55}.si-home .article-card h3{font-size:23px}.si-home .article-card>p{font-size:14px}
 .si-home .company-grid{grid-template-columns:1fr;gap:38px}.si-home .company h2{font-size:32px}.si-home .company-table>div{grid-template-columns:70px 1fr;gap:16px;font-size:13px}.si-home .contact-teaser{padding-block:80px;align-items:flex-start}.si-home .contact-teaser h2{font-size:28px}.si-home .contact-teaser p{font-size:14px}.si-home .contact-teaser .button{margin-top:20px;gap:24px;font-size:12px}
}
@media(max-width:390px){.film-copy{padding-top:118px}.is-film-ready .film-chapter{top:118px}.film-chapter h1{font-size:39px}.film-description{font-size:11px}.film-eyebrow{font-size:8px}.film-action{font-size:11px}.si-home .about h2{font-size:31px}.si-service-title h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){.film-chapter,.film-canvas,.si-service-image img{transition:none!important}}

@media(max-width:800px){.film-chapter h1{font-size:clamp(27px,8.9vw,48px);line-height:1.55;letter-spacing:.01em}.film-desktop-break{display:none}.film-chapter-first .film-description{margin-top:17px}.film-chapter-first .film-action{margin-top:12px}}

@media(max-width:390px){.is-film-ready .film-chapter:not(:first-child){top:118px}}

/* The native video is an inert visual layer; the page owns scrolling. */
.film-mobile{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;opacity:0}
.film-mobile.has-frame{opacity:1}
.native-film-ready .film-canvas{display:none}

.home-faq-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:10%}.home-faq h2{font-size:clamp(27px,3vw,42px);font-weight:500;line-height:1.6;margin-top:25px}.home-faq summary{font-size:15px;line-height:1.85;padding:24px 36px 24px 0}.home-faq .faq-item p{font-size:14px;line-height:2.1;margin:0;padding:0 32px 25px 0}.home-faq .faq-item{border-color:#ddd7d3}.company-table dd>span{font-size:12px;color:#746969}
@media(max-width:800px){.home-faq-grid{grid-template-columns:1fr;gap:30px}.home-faq summary{font-size:14px}.home-faq .faq-item p{font-size:13px}}
/* Visual coverage can grow with browser chrome without changing scroll progress. */
@supports(height:100lvh){
 .scroll-story.native-film-ready{overflow:clip}
 .native-film-ready .film-stage{overflow:visible}
 .native-film-ready :is(.film-poster,.film-mobile,.film-light,.film-wash){bottom:auto;height:max(var(--film-height),100lvh)}
 .native-film-ready :is(.film-footer,.film-count,.film-progress){transform:translateY(min(max(0px,calc(100dvh - var(--film-height))),var(--film-tail-room,0px)))}
}
@media(max-width:800px){.film-headline-line{white-space:nowrap;font-size:clamp(28px,7.7vw,48px);letter-spacing:0}}
@media(max-width:480px){.si-media-copy h2{font-size:clamp(18px,6vw,23px);line-height:1.5;letter-spacing:0;max-width:100%;overflow-wrap:anywhere}}
