@charset "UTF-8";
:root{--paper:#f2f0eb;--ink:#343633;--red:#9d1c20;--green:#203c31;--line:rgba(52,54,51,.18);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--red);outline-offset:6px}[hidden]{display:none!important}.js body.intro-active{overflow:hidden}#main{min-width:0;opacity:1;visibility:visible;transition:opacity .7s var(--ease)}.js body.intro-active #main{opacity:0;visibility:hidden}.hero{min-height:720px;height:100svh;position:relative;isolation:isolate;overflow:hidden;background:#27372e;color:#fff}.hero-image,.hero-shade{position:absolute;inset:0;z-index:-1}.hero-image img,.hero-video{width:100%;height:100%;object-fit:cover;object-position:center 54%;transform:scale(1.035);transition:transform 2.3s var(--ease)}.hero-video{position:absolute;inset:0;display:block;opacity:0;transition:opacity 900ms ease,transform 2.3s var(--ease)}.hero-video.is-playing{opacity:1}.hero-shade{background:linear-gradient(180deg,rgba(5,18,12,.18) 14%,rgba(5,18,12,.04) 40%,rgba(5,18,12,.68) 100%)}.header{display:flex;align-items:center;gap:25px;padding:25px 4.1%;position:relative;z-index:1}.brand{display:flex;background:transparent;width:91px;height:91px;padding:8px 7px;flex:none}.brand img{width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1)}.header-discipline{font-size:10px;line-height:1.7;letter-spacing:1.6px}.header-nav{display:flex;align-items:center;gap:38px;margin-left:auto;font-size:12px}.header-nav a{padding:12px 0;position:relative}.header-nav a::after{content:"";position:absolute;bottom:4px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.header-nav a:hover::after{transform:scaleX(1)}.header-nav a span[aria-hidden="true"]{margin-left:12px}.hero-copy{position:absolute;inset:auto 4.1% 58px}.eyebrow{font-size:10px;font-weight:400;letter-spacing:1.8px;display:flex;align-items:center;gap:18px}.small-line{width:40px;height:1px;background:currentColor;opacity:.5}h1{font-size:clamp(72px,9.6vw,154px);line-height:.95;font-weight:400;letter-spacing:-.065em;margin:24px 0 34px}h1>span{display:block}.title-period{display:inline;font-family:Georgia,serif;color:#d8d0bb}.hero-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff55;padding-top:20px;max-width:65%}.hero-bottom p,.hero-bottom a{font-size:13px;margin:0}.hero-bottom a span[aria-hidden="true"]{margin-left:40px}.photo-label{position:absolute;right:4.1%;bottom:63px;letter-spacing:1.2px;font-size:9px;writing-mode:vertical-rl;opacity:.78}.hero-copy,.header{transition:opacity 1.1s var(--ease),transform 1.3s var(--ease)}.js body.intro-active .hero-copy{opacity:0;transform:translateY(24px)}.js body.intro-active .header{opacity:0;transform:translateY(-12px)}.js body.intro-active .hero-image img,.js body.intro-active .hero-video{transform:scale(1.08)}.js body.intro-revealing .hero-image img,.js body.intro-revealing .hero-video{transform:scale(1.035)}
.project-section{padding:26px 0 19px;background:#fff;overflow:hidden}
.section-top{display:flex;align-items:center;justify-content:space-between;margin:0 4.1% 18px;padding-bottom:8px;border-bottom:1px solid var(--line)}.section-top>p:last-child{font-size:10px;color:#7c7f76}
.story-heading{margin:0 4.1% 11px;display:flex;align-items:flex-end;justify-content:space-between;gap:25px}.story-heading .eyebrow{font-size:8px;letter-spacing:1.4px;color:#868b7f;margin:0 0 17px}.story-heading h2{font-size:clamp(28px,3.2vw,46px);line-height:1.12;font-weight:400;letter-spacing:-1.5px;color:var(--green);margin:0}.story-hint{font-size:9px;line-height:1.7;color:#92978b;max-width:230px;text-align:right;margin:0 0 5px}.touch-hint{display:none}
.story-gallery{--cover-width:min(760px,64vw,calc(var(--story-height)*var(--cover-ratio,1.5946843854)));--story-height:clamp(390px,39.8vw,520px);display:flex;align-items:flex-start;gap:42px;overflow-x:auto;overflow-y:hidden;padding:2px 4.1% 4px;scrollbar-width:none;overscroll-behavior-inline:contain;touch-action:pan-x pan-y;cursor:grab;scroll-behavior:auto;min-height:calc(var(--story-height) + 48px)}.story-gallery::-webkit-scrollbar{display:none}.story-gallery.story-closed{cursor:default;overflow-x:hidden}.story-cover{width:var(--cover-width);flex:none;margin:0;transition:margin 650ms var(--ease)}.story-closed .story-cover{margin-left:max(0px,calc((100% - var(--cover-width))/2));margin-right:max(0px,calc((100% - var(--cover-width))/2))}.story-open-button{display:block;border:0;background:none;color:#fff;text-align:left;padding:0;position:relative;width:100%;cursor:pointer;overflow:hidden}.story-open-button>img{display:block;width:100%;height:var(--story-height);object-fit:cover;transform:scale(1);transition:transform 900ms var(--ease)}.story-open-button::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(5,18,12,.4));pointer-events:none}.cover-invitation{position:absolute;left:28px;right:28px;bottom:25px;display:flex;align-items:center;justify-content:space-between;z-index:1;font-size:11px}.cover-invitation>span:last-child{font-size:24px}.story-opened .cover-invitation{opacity:0;transition:opacity 350ms}.story-opened .story-open-button{cursor:grab}.story-cover figcaption,.story-photo figcaption{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:39px;margin:0;padding-top:11px;font-size:9px;color:#8b9084;line-height:1.5}.story-tail,.story-chapter{display:flex;align-items:flex-start;gap:42px;flex:none}.story-text{width:245px;flex:none;padding:28px 9px 15px 0;min-height:var(--story-height);display:flex;flex-direction:column;border-right:1px solid #edf0e9}.story-text>.eyebrow{font-size:8px;color:#979d90;margin:0 0 55px}.story-text h3{font-size:30px;font-weight:400;letter-spacing:-1.1px;line-height:1.19;color:var(--green);margin:0 0 26px;max-width:212px}.story-text>p:not(.eyebrow){font-size:12px;line-height:1.9;color:#7a8273;max-width:205px;margin:0}.story-text-mark{margin-top:auto;padding-top:30px;font-size:22px;color:var(--green)}.story-photo{width:calc(var(--story-height) * var(--photo-ratio,1));max-width:710px;flex:none;margin:0}.story-photo>img{display:block;width:100%;height:var(--story-height);object-fit:contain;object-position:left center}.js .story-arrival{opacity:0;transform:translate3d(22px,0,0);transition:opacity 700ms var(--ease),transform 850ms var(--ease)}.js .story-arrival.is-arrived{opacity:1;transform:translate3d(0,0,0)}.story-gallery.is-dragging,.story-gallery.is-dragging *{cursor:grabbing!important;user-select:none!important}.story-gallery.is-dragging .story-photo,.story-gallery.is-dragging .story-text{pointer-events:none}.story-controls{display:flex;align-items:center;gap:30px;margin:9px 4.1% 0;color:var(--green);font-size:10px}.gallery-progress{width:145px;height:1px;background:#dce1d7;position:relative;overflow:hidden}.gallery-progress i{display:block;height:1px;background:var(--green);width:12.5%;transition:width 250ms}.story-close{border:0;background:none;color:#7c8475;padding:12px;font-size:10px;min-height:44px;margin-left:auto}.story-close span{margin-left:15px}.gallery-arrows{display:flex;gap:12px}.gallery-arrows button{width:46px;height:44px;padding:0;border:0;background:none;color:var(--green);font-size:25px;transition:opacity .2s,transform .2s}.gallery-arrows button:hover:not(:disabled){transform:translateX(3px)}.gallery-arrows button:disabled{opacity:.22;cursor:default}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(hover:hover) and (pointer:fine){.story-open-button:hover>img{transform:scale(1.018)}}
.services{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:115px 7%;background:var(--paper)}.services-heading>.eyebrow{font-size:9px;color:#777b70;margin:0 0 45px}.services-heading h2{font-size:clamp(33px,3.7vw,54px);font-weight:400;line-height:1.13;letter-spacing:-.05em;margin:0 0 29px;color:var(--green)}.services-heading>p:last-child{font-size:13px;line-height:1.9;max-width:370px;color:#777b70}.service-list{padding-top:8px}.service-item{display:grid;grid-template-columns:25px 1fr 20px;gap:18px;padding:29px 0;border-top:1px solid #cdd0c7}.service-item>span:first-child{font-size:9px;color:#8a8e82;padding-top:6px}.service-item h3{font-size:26px;letter-spacing:-.7px;font-weight:400;margin:0 0 15px;color:var(--green)}.service-item p{font-size:12px;line-height:1.8;color:#7b7f73;margin:0;max-width:340px}.service-arrow{font-size:19px;color:var(--green)}
.contact{padding:80px 7% 30px;background:#30322f;color:#f2f0eb}.contact-top>.eyebrow{font-size:9px;margin-bottom:45px}.contact h2{font-weight:400;font-size:clamp(40px,6.1vw,88px);letter-spacing:-.055em;line-height:1.08;margin:0 0 29px}.contact-period{color:#b74b4d}.contact-top>p:last-child{font-size:13px;line-height:1.8;color:#c1c9bd}.footer-bottom{border-top:1px solid #ffffff33;margin-top:85px;padding-top:27px;display:flex;align-items:center;gap:35px}.footer-bottom>img{width:68px;height:67px;object-fit:contain;filter:brightness(0) invert(1)}.footer-bottom>span{font-size:8px;letter-spacing:1px}.footer-bottom a{margin-left:auto;font-size:11px}.footer-bottom a span[aria-hidden="true"]{margin-left:20px}.replay{position:fixed;bottom:22px;right:24px;z-index:5;display:flex;align-items:center;gap:12px;border:1px solid #d9d7cf;background:var(--paper);color:var(--ink);border-radius:0;padding:12px 17px;font-size:11px;box-shadow:0 2px 20px #00000008;transition:background .25s,color .25s,opacity .2s}.replay:hover{background:var(--ink);color:var(--paper)}.replay svg{width:16px;height:16px}.js body.intro-active .replay{opacity:0;pointer-events:none}.js .reveal{opacity:0;transform:translateY(23px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.js body.site-ready .reveal.is-visible{opacity:1;transform:none}
/* Original-color logo at half size; a feathered mask dissolves from top to bottom. */
.js body.intro-revealing #main{opacity:1;visibility:visible;transition:none}
.intro{position:fixed;inset:0;z-index:10;background:#fff;overflow:hidden;opacity:1;color:var(--ink);transition:opacity 900ms ease}
.intro.leaving{opacity:0;pointer-events:none}
@supports ((mask-image:linear-gradient(#000,transparent)) or (-webkit-mask-image:linear-gradient(#000,transparent))){
.intro{mask-image:linear-gradient(to bottom,transparent 0%,transparent 40%,#000 60%,#000 100%);mask-size:100% 300%;mask-position:0 100%;mask-repeat:no-repeat;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,transparent 40%,#000 60%,#000 100%);-webkit-mask-size:100% 300%;-webkit-mask-position:0 100%;-webkit-mask-repeat:no-repeat;transition:mask-position 900ms cubic-bezier(.65,0,.35,1),-webkit-mask-position 900ms cubic-bezier(.65,0,.35,1)}
.intro.leaving{opacity:1;mask-position:0 0;-webkit-mask-position:0 0}
}
.intro-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.intro-video{display:block;width:min(600px,90vw);max-width:none;aspect-ratio:16/9;height:auto;object-fit:contain;background:transparent}
.intro-fallback{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(192px,28.8vw);height:auto;object-fit:contain}
#skip{position:absolute;right:4.1%;bottom:31px;border:0;background:transparent;color:var(--ink);font-size:11px;padding:12px 0 12px 22px}#skip span{display:inline-block;margin-left:30px;font-size:17px}
@media(max-height:600px) and (min-width:701px){.intro-video{width:min(600px,80vh)}.intro-fallback{width:min(192px,25.6vh)}}
/* Separate word wrappers preserve line breaks, Vietnamese diacritics and link semantics. */
.motion-word{display:inline-block;vertical-align:baseline}
.motion-word-inner{display:inline-block;vertical-align:baseline}
.word-enter .motion-word-inner{opacity:0;transform:translate3d(0,.48em,0);filter:blur(2px);transition:opacity 650ms var(--ease),transform 800ms var(--ease),filter 650ms var(--ease);transition-delay:var(--word-delay,0ms)}
.word-enter.words-visible .motion-word-inner{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}


@media(max-width:1000px){.services{gap:6%;padding-left:5%;padding-right:5%}.header-nav{gap:25px}}
@media(max-width:700px){html{scroll-padding-top:18px}.hero{min-height:650px}.header{padding:20px 6%;gap:12px}.brand{width:69px;height:69px;padding:5px}.header-discipline{display:none}.header-nav{gap:22px;font-size:10px}.header-nav a span[aria-hidden="true"]{margin-left:5px}.hero-copy{left:6%;right:6%;bottom:75px}h1{font-size:clamp(64px,15.5vw,106px);margin-top:25px}.hero-bottom{max-width:100%;padding-top:20px;gap:12px}.hero-bottom p,.hero-bottom a{font-size:11px}.hero-bottom a span[aria-hidden="true"]{margin-left:14px}.eyebrow{font-size:8px;letter-spacing:1.5px;gap:12px}.small-line{width:22px}.photo-label{bottom:46px;writing-mode:initial;left:6%;right:auto;font-size:7px}.hero-image img,.hero-video{object-position:20% center}.services{display:block;padding:65px 6%}.services-heading>.eyebrow{margin-bottom:30px}.services-heading h2{font-size:36px}.services-heading>p:last-child{font-size:13px}.service-list{padding-top:30px}.service-item{padding:24px 0;gap:12px}.service-item h3{font-size:25px}.service-item p{font-size:12px}.contact{padding:58px 6% 80px}.contact h2{font-size:45px}.contact-top>.eyebrow{margin-bottom:32px}.contact-top>p:last-child{font-size:12px}.footer-bottom{margin-top:55px;padding-top:24px;gap:19px;flex-wrap:wrap}.footer-bottom>img{width:54px;height:53px}.footer-bottom>span{font-size:7px;letter-spacing:.7px}.footer-bottom>a{font-size:10px;margin-left:0;width:100%;margin-top:15px}.replay{bottom:14px;right:14px;padding:11px 13px;gap:8px;font-size:10px}#skip{right:6%;bottom:25px;font-size:10px}#skip span{margin-left:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.hero-image img,.hero-video{transform:none}.js .reveal{opacity:1;transform:none}.motion-word,.motion-word-inner,.word-enter .motion-word-inner{opacity:1!important;transform:none!important;filter:none!important}}

@media(prefers-reduced-motion:reduce){.hero-image:not(.motion-opt-in) .hero-video{display:none!important}}

/* Hover moves semantic phrases as one unit; entrance remains per word. */
[data-hover-phrase]{display:inline-block;transform:translateY(0);transition:transform 300ms cubic-bezier(.22,1.3,.36,1)}
@media(hover:hover) and (pointer:fine){[data-hover-phrase]:hover{transform:translateY(-3px)}}
a[data-hover-phrase]:focus-visible{transform:translateY(-3px)}a[data-hover-phrase]:active{transform:translateY(-1px)}
@media(max-width:700px){.project-section{padding:16px 0 13px}.section-top{margin:0 6% 11px;padding-bottom:6px}.section-top>.eyebrow{font-size:7px;letter-spacing:1px}.section-top>p:last-child{font-size:8px}.story-heading{display:block;margin:0 6% 8px}.story-heading .eyebrow{font-size:7px;margin-bottom:15px;letter-spacing:1.1px}.story-heading h2{font-size:31px;letter-spacing:-1px;max-width:300px}.story-hint{text-align:left;font-size:9px;max-width:none;margin-top:17px}.mouse-hint{display:none}.touch-hint{display:inline}.story-gallery{--cover-width:min(88vw,calc(390px*var(--cover-ratio,1.5946843854)));--story-height:390px;padding:1px 6% 3px;gap:25px;min-height:437px}.story-closed .story-cover{margin-inline:max(0px,calc((100% - var(--cover-width))/2))}.story-cover>button>img{height:390px;object-position:center}.cover-invitation{left:21px;right:21px;bottom:22px;font-size:10px}.story-tail,.story-chapter{gap:25px}.story-text{width:195px;padding:16px 8px 12px 0}.story-text>.eyebrow{font-size:7px;margin-bottom:38px}.story-text h3{font-size:25px;letter-spacing:-.7px;max-width:175px;margin-bottom:22px}.story-text>p:not(.eyebrow){font-size:11px;line-height:1.85;max-width:171px}.story-text-mark{font-size:20px}.story-photo{max-width:86vw;width:calc(var(--story-height) * var(--photo-ratio,1))}.story-photo>img{object-fit:contain}.story-cover figcaption,.story-photo figcaption{font-size:7px;gap:12px;min-height:35px;align-items:flex-start;padding-top:10px}.story-controls{margin:6px 6% 0;gap:17px;font-size:9px}.gallery-progress{width:56px}.story-close{font-size:9px;padding:8px 0}.story-close span{margin-left:8px}.gallery-arrows{gap:0}.gallery-arrows button{width:44px;height:44px;font-size:23px}}
@media(prefers-reduced-motion:reduce){[data-hover-phrase]{transform:none!important}.js .story-arrival{opacity:1;transform:none}.story-open-button>img{transform:none!important}}
.sound-toggle{position:fixed;left:24px;bottom:22px;z-index:5;display:flex;align-items:center;gap:10px;min-height:44px;border:1px solid #d9d7cf;background:var(--paper);color:var(--ink);border-radius:0;padding:12px 15px;font-size:11px;box-shadow:0 2px 20px #00000008;transition:background .25s,color .25s,opacity .2s}.sound-toggle:hover{background:var(--ink);color:var(--paper)}.sound-toggle svg{width:18px;height:18px;flex:none}.sound-waves{display:none}.sound-toggle[aria-pressed="true"] .sound-waves{display:block}.sound-toggle[aria-pressed="true"] .sound-mute{display:none}.js body.intro-active .sound-toggle{opacity:0;pointer-events:none}@media(max-width:700px){.sound-toggle{left:14px;bottom:14px;padding:10px 12px;font-size:10px;gap:8px;min-height:44px}.replay{min-height:44px}}
/* San project mark and company contact details — GM site branding stays unchanged. */
.hero-project-logo{width:clamp(137.5px,20.625vw,293.75px);max-width:100%;font-size:0;line-height:0;letter-spacing:normal;margin:25px 0 38px}.san-wordmark{display:block;width:100%;height:auto;object-fit:contain}.hero-project-logo .san-wordmark{filter:brightness(0) invert(1)}.story-heading .story-project-logo{width:clamp(75px,9.375vw,118.75px);font-size:0;line-height:0;margin:0}.story-project-logo .san-wordmark{filter:none;max-height:140px;object-position:left center}.contact-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.85fr);gap:clamp(45px,7vw,110px);align-items:start}.contact-grid .contact-top h2{font-size:clamp(35px,4.2vw,64px);line-height:1.13}.company-info>.eyebrow{font-size:8px;letter-spacing:1.7px;margin:0 0 30px;color:#b9c6b6}.company-name{font-size:22px;line-height:1.45;font-weight:400;letter-spacing:-.45px;margin:0 0 30px;max-width:370px}.company-details{margin:0}.company-details>div{margin-bottom:18px}.company-details dt{font-size:7px;letter-spacing:1.4px;color:#9baa96;margin:0 0 5px}.company-details dd{font-size:13px;margin:0;line-height:1.75}.company-details a{display:inline-flex;align-items:center;min-height:44px;line-height:1.5;color:#f2f0eb}.company-details .company-email{overflow-wrap:anywhere}.company-tax dd{font-size:12px;color:#ccd4c5}.company-details address{font-style:normal;font-size:12px;line-height:1.85;margin-top:9px;color:#d3daca}.company-map{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:48px;border-top:1px solid #ffffff30;border-bottom:1px solid #ffffff30;padding:12px 0;margin-top:27px;font-size:11px;max-width:370px}.company-map>span:last-child{font-size:21px}.company-map:hover{color:#d1c3ab}
@media(max-width:1000px) and (min-width:701px){.contact-grid{grid-template-columns:minmax(0,1fr) minmax(270px,.85fr);gap:38px}.contact-grid .contact-top h2{font-size:39px}.company-name{font-size:20px}}
@media(max-width:700px){.hero-project-logo{width:clamp(125px,36.25vw,181.25px);margin-top:27px;margin-bottom:35px}.story-heading .story-project-logo{width:84.375px;max-width:100%}.story-project-logo .san-wordmark{max-height:105px}.contact-grid{display:block}.contact-grid .contact-top h2{font-size:clamp(35px,9vw,45px)}.company-info{margin-top:48px;border-top:1px solid #ffffff30;padding-top:35px}.company-info>.eyebrow{margin-bottom:23px}.company-name{font-size:22px;max-width:330px;margin-bottom:27px}.company-details>div{margin-bottom:17px}.company-details dt{font-size:7px}.company-details dd{font-size:13px}.company-details address{font-size:12px}.company-map{max-width:none;margin-top:23px;min-height:48px}.footer-bottom{margin-top:43px}}

/* Brand lettering keeps its vector shapes; reveal the image as a single mark. */
.logo-enter .san-wordmark{opacity:0;transform:translate3d(0,16px,0);transition:opacity 850ms var(--ease),transform 1000ms var(--ease)}.logo-enter.logo-visible .san-wordmark{opacity:1;transform:translate3d(0,0,0)}@media(prefers-reduced-motion:reduce){.logo-enter .san-wordmark{opacity:1;transform:none!important}}

/* Discreet manual video control, also available when autoplay is blocked. */
.hero-motion-toggle{position:absolute;right:8%;bottom:165px;z-index:2;display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid #ffffff80;border-radius:50%;background:rgba(7,23,15,.17);color:#fff;transition:background 250ms,border-color 250ms,opacity 250ms}.hero-motion-toggle:hover{background:rgba(255,255,255,.13);border-color:#fff}.hero-motion-toggle:focus-visible{outline:2px solid #fff;outline-offset:5px}.hero-motion-toggle svg{width:20px;height:20px}.hero-video-pause{display:none}.hero-motion-toggle[data-video-state="playing"] .hero-video-play,.hero-motion-toggle[data-video-state="loading"] .hero-video-play{display:none}.hero-motion-toggle[data-video-state="playing"] .hero-video-pause,.hero-motion-toggle[data-video-state="loading"] .hero-video-pause{display:block}.hero-motion-toggle[data-video-state="loading"] svg{opacity:.55}.js body.intro-active .hero-motion-toggle{opacity:0;pointer-events:none}@media(max-width:700px){.hero-motion-toggle{right:6%;bottom:175px}}

/* Each row owns its palette and story state. */
.project-catalog{padding:0;scroll-margin-top:0}.project-row{--green:var(--project-accent,#203d31);background:var(--project-paper,#fff);border-top:1px solid rgba(52,54,51,.06)}.project-row:first-child{border-top:0}.project-row .section-top{border-bottom-color:color-mix(in srgb,var(--project-accent) 18%,transparent)}.project-row .story-text{border-right-color:color-mix(in srgb,var(--project-accent) 10%,transparent)}.project-row .gallery-progress{background:color-mix(in srgb,var(--project-accent) 15%,transparent)}.project-row .story-heading h2{overflow-wrap:anywhere}.story-cover{position:relative}.project-cover-video{position:absolute;inset:0;width:100%;height:var(--story-height);object-fit:cover;object-position:center;opacity:0;transition:opacity 700ms ease;pointer-events:none}.project-cover-video.is-playing{opacity:1}.project-video-toggle{position:absolute;right:18px;top:18px;z-index:3;display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid #ffffffa0;border-radius:50%;background:rgba(10,19,15,.18);color:#fff;transition:background .2s}.project-video-toggle:hover{background:rgba(10,19,15,.36)}.project-video-toggle:focus-visible{outline:2px solid #fff;outline-offset:4px}.project-video-toggle svg{width:20px;height:20px}.project-video-pause{display:none}.project-video-toggle[data-video-state="playing"] .project-video-play,.project-video-toggle[data-video-state="loading"] .project-video-play{display:none}.project-video-toggle[data-video-state="playing"] .project-video-pause,.project-video-toggle[data-video-state="loading"] .project-video-pause{display:block}.project-video-toggle[data-video-state="loading"] svg{opacity:.55}.contact-top>p:last-child{color:#c5c6bd}.company-info>.eyebrow{color:#c6c0b8}.company-details dt{color:#a4a99e}.company-details address{color:#d5d5cb}.company-map{border-color:rgba(157,28,32,.55)}.company-map:hover{color:#efd8d6}.footer-bottom{border-top-color:rgba(157,28,32,.3)}
@media(max-width:700px){.project-video-toggle{top:13px;right:13px}.project-row .story-heading h2:not(.story-project-logo){font-size:31px;max-width:100%}}

/* Material-led surfaces carry through captions, controls and story copy. */
:root{--paper:#b4a58d}
.project-section{background:#25483a}
.project-row{color:var(--project-accent,#f1ecdf);background:var(--project-paper,#25483a);--project-muted:color-mix(in srgb,var(--project-accent) 86%,var(--project-paper));--line:color-mix(in srgb,var(--project-accent) 24%,transparent);border-top-color:var(--line)}
.project-row .section-top{border-bottom-color:var(--line)}
.project-row .section-top>p:last-child,.project-row .story-heading .eyebrow,.project-row .story-hint,.project-row .story-cover figcaption,.project-row .story-photo figcaption,.project-row .story-text>.eyebrow,.project-row .story-text>p:not(.eyebrow),.project-row .story-close{color:var(--project-muted)}
.project-row .story-text{border-right-color:var(--line)}
.project-row .gallery-progress{background:color-mix(in srgb,var(--project-accent) 22%,transparent)}
.project-row button:focus-visible,.project-row [tabindex]:focus-visible{outline-color:var(--project-accent)}
.project-row[data-project-id="san"] .story-project-logo .san-wordmark{filter:brightness(0) invert(1)}
.services{background:#35493e;color:#f1ecdf;--green:#f1ecdf}
.services-heading>.eyebrow,.services-heading>p:last-child,.service-item>span:first-child,.service-item p{color:#d2d8c9}
.service-item{border-top-color:#879888}
.sound-toggle,.replay{background:#24392f;color:#f5eddd;border-color:#ffffff45;box-shadow:0 3px 18px #00000014}
.sound-toggle:hover,.replay:hover{background:#355341;color:#fff4da}

/* A steady dark backing keeps navigation readable over bright sky and foliage. */
.hero-shade{background:linear-gradient(180deg,rgba(5,18,12,.38) 0%,rgba(5,18,12,.14) 23%,rgba(5,18,12,.04) 40%,rgba(5,18,12,.68) 100%)}
.header-nav{font-size:15px;font-weight:600;gap:28px;padding:3px 15px;background:rgba(17,37,29,.84);border:1px solid rgba(241,226,193,.34);border-radius:2px;color:#fff1ce}
.header-nav a{display:inline-block;min-height:44px;line-height:20px;white-space:nowrap;padding:12px 5px;text-shadow:0 1px 5px #00000030}
.header-nav a::after{background:#e8c888;height:2px;bottom:6px}
.header-nav a:hover,.header-nav a:focus-visible{color:#ffe3a1}
.header-nav a:focus-visible{outline-color:#ffe3a1}
@media(max-width:700px){.header-nav{font-size:13px;gap:10px;padding:1px 6px}.header-nav a{padding:12px 3px}.header{gap:10px}.header-nav a span[aria-hidden="true"]{margin-left:4px}}
@media(max-width:360px){.header-nav{gap:6px;font-size:12.5px;padding-inline:4px}.header{padding-inline:5%}}

/* Photos stay inside the story on iOS; their parent buttons retain interaction. */
.story-gallery img,.story-gallery video,.hero-image img,.hero-image video{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}
.story-open-button,.story-photo,.story-cover{-webkit-touch-callout:none}
.story-open-button{-webkit-user-select:none;user-select:none}
