@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#131313;--muted:#737373;--paper:#fff;--accent:#d72621;--line:#dedede;--display:'Barlow Condensed',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--ink);font:16px/1.7 'Manrope',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.05}img{max-width:100%}.skip{position:fixed;top:-120px;left:20px;background:white;padding:15px;z-index:300}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}header{position:absolute;z-index:20;inset:0 0 auto;min-height:125px;display:flex;align-items:center;justify-content:space-between;padding:24px 5%;color:#fff;border-bottom:1px solid #ffffff30;background:linear-gradient(#0007,transparent);gap:30px}.brand{display:block;flex-shrink:0}.brand-logo{display:block;width:155px;height:auto;filter:invert(1);mix-blend-mode:screen}nav{display:flex;gap:36px;align-items:center}nav a{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;font-weight:700;padding:12px 0;border-bottom:2px solid transparent;transition:border-color .2s}nav a:hover{border-color:var(--accent)}.header-note{font-size:11px;letter-spacing:1px;text-transform:uppercase}.showcase{position:relative;background:#111;min-height:850px;height:100svh;color:white;isolation:isolate}.project-carousel{position:absolute;inset:0;overflow:hidden;background:#151515}.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.25s;pointer-events:none}.slide.is-active{opacity:1}.slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.015)}.slide.is-active img{animation:cinema-pan 10s ease-out forwards}@keyframes cinema-pan{from{transform:scale(1.055)}to{transform:scale(1.015)}}.project-carousel:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0008 0%,#0001 30%,#0004 60%,#000c 100%);pointer-events:none}.showcase-intro{position:absolute;z-index:2;left:50%;top:48%;width:85%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.showcase-logo{display:block;width:260px;height:auto;margin:0 auto 36px;filter:invert(1);mix-blend-mode:screen}.showcase-intro .eyebrow{display:none}.showcase h1{font-family:var(--display);font-weight:600;text-transform:uppercase;font-size:clamp(55px,6.4vw,100px);letter-spacing:.012em;line-height:.94;text-shadow:0 2px 22px #0004}.showcase h1 span{color:white}.intro-copy{font-size:14px;line-height:1.65;margin-top:24px;color:#f0f0f0}.intro-copy br{display:none}.showcase-cta{display:inline-flex;align-items:center;gap:22px;font-size:12px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;margin-top:30px;pointer-events:auto}.showcase-cta span{display:grid;place-items:center;width:40px;height:40px;border:1px solid #fffa;border-radius:50%;font-size:23px;transition:background .25s,border-color .25s}.showcase-cta:hover span{background:var(--accent);border-color:var(--accent)}.intro-location{display:none}.carousel-topline{position:absolute;top:157px;left:5%;right:5%;z-index:2;display:flex;justify-content:space-between;font-size:11px;letter-spacing:2px;font-weight:700}.carousel-caption{position:absolute;z-index:2;left:5%;bottom:120px;max-width:65%}.carousel-caption>p{font-size:11px;letter-spacing:2px;text-transform:uppercase;margin-bottom:9px}.carousel-caption h2{font-family:var(--display);font-size:38px;text-transform:uppercase;letter-spacing:.02em;font-weight:500;margin-bottom:8px}.rendering-note{font-size:12px;color:#d0d0d0}.carousel-controls{position:absolute;bottom:25px;left:5%;right:5%;z-index:3;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff50;padding-top:18px;gap:20px}.project-selector-group{display:flex;gap:24px;align-items:center}.control-label{font-size:10px;letter-spacing:2px}.slide-selectors,.playback{display:flex;gap:10px}.carousel-controls button{color:white;border:0;background:none;min-width:44px;min-height:44px}.slide-selector{font-size:13px;border-bottom:2px solid transparent!important;opacity:.55;transition:opacity .2s}.slide-selector.active{border-bottom-color:var(--accent)!important;opacity:1}.slide-selector:hover{opacity:1}.playback button{border:1px solid #ffffff70;border-radius:50%;font-size:22px;transition:background .2s}.playback button:hover{background:var(--accent);border-color:var(--accent)}#pause-slides{font-size:15px}.carousel-controls button:focus-visible{outline-color:white}.slideshow-views{display:grid;grid-template-columns:30% 70%;padding:30px 5%;background:#121212;color:white;gap:25px;border-bottom:1px solid #333}.views-label{display:flex;flex-direction:column;justify-content:center;gap:8px}.views-label>span:first-child{font-size:10px;letter-spacing:2px;color:#aaa}.views-label strong{font-family:var(--display);font-weight:500;font-size:30px;letter-spacing:.03em;text-transform:uppercase}.views-label>span:last-child{font-size:12px;color:#aaa}.view-thumbnails{display:flex;gap:18px;overflow-x:auto;align-items:flex-start}.view-thumbnail{background:none;border:0;color:#aaa;text-align:left;padding:0;flex:1;max-width:180px;min-width:90px}.view-thumbnail[hidden]{display:none}.view-thumbnail img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;opacity:.55;border-bottom:3px solid transparent;transition:opacity .2s}.view-thumbnail[aria-current='true'] img{opacity:1;border-color:var(--accent)}.view-thumbnail:hover img{opacity:1}.view-thumbnail span{font-size:12px;line-height:1.4;display:block;padding-top:8px}.project-ribbon{display:flex;justify-content:space-between;align-items:center;gap:24px;background:#121212;color:white;padding:28px 5%}.project-ribbon>span{font-size:10px;letter-spacing:1.5px;color:#999}.project-ribbon p{font-family:var(--display);font-size:24px;font-weight:500;letter-spacing:.02em;text-transform:uppercase}.section{padding:105px 6%;display:grid;grid-template-columns:22% 78%;gap:0;border-bottom:1px solid var(--line)}.section-label{display:flex;align-items:flex-start;gap:15px;font-size:11px;letter-spacing:1.3px;font-weight:700;padding-top:10px;white-space:nowrap}.small-line{width:25px;height:2px;background:var(--accent);margin-top:8px}.section h2{font-family:var(--display);font-weight:500;text-transform:uppercase;font-size:clamp(40px,4.5vw,70px);letter-spacing:.01em}.about h2{margin-bottom:40px}.about h2 span{color:#888}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px}.two-col .lead{font-size:23px;line-height:1.6;color:#171717}.two-col p{font-size:16px;color:#676767;margin-bottom:22px}.portfolio{background:#f3f3f3}.portfolio-heading{margin-bottom:40px}.portfolio-heading h2{margin-bottom:22px}.portfolio-heading>p{color:#666}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px 28px}.project-card:first-child{grid-column:1/-1}.project-image-button{position:relative;display:block;width:100%;border:0;padding:0;overflow:hidden;background:#222;color:#fff;text-align:left}.project-image-button img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .8s}.project-card:first-child img{aspect-ratio:2/1}.project-image-button:hover img{transform:scale(1.045)}.project-image-button:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none}.project-image-label{position:absolute;bottom:20px;left:20px;right:65px;z-index:1;font-size:12px;line-height:1.5}.project-view-icon{position:absolute;right:18px;bottom:15px;z-index:1;width:38px;height:38px;border:1px solid #fff9;border-radius:50%;display:grid;place-items:center;font-size:24px}.project-card-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:22px}.project-card-heading h3{font-family:var(--display);font-size:33px;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.project-card-heading>span{font-size:12px;color:#666}.project-card>p{font-size:14px;color:#666;margin-top:10px}.project-slideshow-link{display:flex;align-items:center;justify-content:space-between;width:100%;padding:17px 0;margin-top:20px;border:0;border-top:1px solid #ccc;background:none;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.project-slideshow-link>span{font-size:12px;color:#777;font-weight:400}.project-slideshow-link>span>span{font-size:20px;margin-left:12px}.project-slideshow-link:hover{color:var(--accent)}.mission{background:#151515;color:#fff;border:0}.mission .section-label{color:#aaa}.mission .eyebrow{font-size:11px;letter-spacing:2px;color:#aaa;margin-bottom:35px}.mission h2{font-size:clamp(40px,4.8vw,74px);line-height:1.08;margin-bottom:42px}.mission-foot{font-size:14px;color:#bbb;border-top:1px solid #ffffff30;padding-top:25px}.approach-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:55px}.approach-heading h2{max-width:450px}.approach-heading p{max-width:240px;font-size:16px;color:#777}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.principles article{border-top:1px solid #bbb;padding-top:20px}.number{font-size:12px;color:var(--accent)}.principles h3{font-family:var(--display);font-size:28px;text-transform:uppercase;font-weight:500;margin:28px 0 17px}.principles p{font-size:16px;color:#666}.closing{padding:100px 5%;text-align:center;background:#ededed}.closing .eyebrow{font-size:11px;letter-spacing:2px;margin-bottom:26px}.closing h2{font-family:var(--display);text-transform:uppercase;font-weight:500;font-size:clamp(40px,4.8vw,74px);margin-bottom:35px}.closing h2 span{color:#888}.text-link{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;border-bottom:1px solid #aaa;padding-bottom:9px}.text-link span{margin-left:22px}footer{padding:50px 5%;background:#101010;color:#aaa;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:50px}footer p{font-size:12px}.footer-brand .brand-logo{width:145px}.footer-contact{text-align:center}.footer-contact address{display:flex;flex-direction:column;color:#ddd;font-size:13px;font-style:normal;line-height:1.6}.footer-contact p{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:8px}.footer-contact a{color:#aaa;transition:color .2s}.footer-contact a:hover{color:#fff}.footer-divider{color:#555}.reveal-ready{opacity:0;transform:translateY(22px);transition:opacity .8s,transform .8s}.reveal-ready.in-view{opacity:1;transform:none}@media(min-width:1800px){.showcase h1{font-size:110px}.showcase-logo{width:320px}}@media(max-width:1100px){.header-note{display:none}nav{gap:24px}.section{grid-template-columns:1fr;gap:35px;padding:80px 6%}.section-label{padding:0}.slideshow-views{grid-template-columns:25% 75%;gap:15px}.project-ribbon{flex-wrap:wrap;justify-content:center}.project-ribbon>span{width:100%;text-align:center}.two-col{gap:35px}.carousel-caption{bottom:125px}}@media(max-width:700px){header{min-height:100px;padding:18px 6%;gap:18px}.brand-logo{width:115px}nav{gap:19px}nav a{font-size:10px;letter-spacing:1px}nav a:first-child,nav a:last-child{display:none}.showcase{height:100svh;min-height:780px}.carousel-topline{top:124px;left:6%;right:6%;font-size:10px}.showcase-intro{top:45%;width:90%}.showcase-logo{width:210px;margin-bottom:30px}.showcase h1{font-size:56px}.intro-copy{font-size:13px;max-width:290px;margin:20px auto 0}.showcase-cta{font-size:11px;margin-top:23px}.carousel-caption{left:6%;bottom:124px;max-width:88%}.carousel-caption h2{font-size:29px}.carousel-caption>p{font-size:10px;margin-bottom:7px}.rendering-note{font-size:11px}.carousel-controls{left:6%;right:6%;bottom:21px;gap:10px}.control-label{display:none}.slide-selectors,.playback{gap:4px}.carousel-controls .slide-selector{min-width:32px}.playback button{min-width:38px;min-height:38px}.slideshow-views{display:block;padding:24px 6%}.views-label{margin-bottom:18px}.views-label strong{font-size:27px}.view-thumbnails{gap:12px}.view-thumbnail{min-width:75px}.view-thumbnail span{font-size:11px}.project-ribbon{gap:13px 23px;padding:25px 6%}.project-ribbon p{font-size:21px}.section{padding:58px 6%;gap:28px}.section h2{font-size:43px}.two-col{grid-template-columns:1fr;gap:0}.two-col .lead{font-size:21px}.portfolio-grid{grid-template-columns:1fr;gap:35px}.project-card:first-child{grid-column:auto}.project-card:first-child img,.project-image-button img{aspect-ratio:16/11}.project-card-heading h3{font-size:29px}.project-card-heading>span{font-size:11px}.project-image-label{font-size:11px;bottom:18px;left:16px}.mission h2{font-size:42px}.mission .eyebrow{font-size:10px}.approach-heading{display:block;margin-bottom:35px}.approach-heading p{margin-top:20px;max-width:none}.principles{grid-template-columns:1fr;gap:30px}.principles h3{margin:16px 0}.closing{padding:65px 6%}.closing h2{font-size:43px}footer{display:flex;flex-direction:column;align-items:flex-start;padding:35px 6%;gap:24px}.footer-contact{text-align:left}.footer-contact p{justify-content:flex-start;flex-wrap:wrap;gap:6px 12px}.footer-divider{display:none}footer>p:last-child{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.reveal-ready{opacity:1;transform:none}}

/* Unobstructed project showcase and compact navigation */
header{min-height:155px;padding:22px 5%;align-items:flex-start;border-bottom:0;background:linear-gradient(#0008,transparent)}header .brand-logo{width:225px}.site-menu{position:relative;margin-top:22px;z-index:25}.site-menu summary{display:flex;align-items:center;gap:20px;padding:10px 0 10px 20px;color:#fff;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;cursor:pointer;list-style:none;min-height:44px}.site-menu summary::-webkit-details-marker{display:none}.site-menu summary:focus-visible{outline:2px solid white;outline-offset:6px}.menu-icon{display:flex;flex-direction:column;gap:7px;width:28px}.menu-icon i{display:block;height:1px;background:#fff;width:28px;transition:transform .2s}.site-menu[open] .menu-icon i:first-child{transform:translateY(4px) rotate(45deg)}.site-menu[open] .menu-icon i:last-child{transform:translateY(-4px) rotate(-45deg)}.site-menu nav{position:absolute;right:0;top:62px;display:flex;flex-direction:column;align-items:stretch;gap:0;background:#111f;width:270px;padding:14px 24px;box-shadow:0 18px 55px #0004;border-top:2px solid var(--accent)}.site-menu nav a{display:block!important;color:#fff;padding:17px 0;border:0;border-bottom:1px solid #ffffff25;font-size:12px;letter-spacing:1.4px}.site-menu nav a:last-child{border-bottom:0}.site-menu nav a:hover{color:#ccc}.carousel-topline{top:180px}.project-carousel:after{background:linear-gradient(180deg,#0005 0%,transparent 30%,transparent 67%,#000a 100%)}.carousel-caption{bottom:114px}.carousel-caption h2{margin-bottom:0}.showcase{min-height:700px}.showcase>h1.sr-only{font-size:1px;line-height:1;letter-spacing:0;margin:0}@media(max-width:700px){header{min-height:120px;padding:22px 6%}header .brand-logo{width:165px}.site-menu{margin-top:9px}.site-menu summary{gap:13px;font-size:11px}.site-menu nav{width:min(280px,86vw);top:56px}.site-menu nav a{font-size:12px}.carousel-topline{top:139px}.showcase{min-height:650px}.carousel-caption{bottom:117px}.carousel-caption h2{font-size:31px}}

/* Full-width brand masthead */
header{position:relative;inset:auto;display:grid;grid-template-columns:minmax(0,1fr) 110px;align-items:center;gap:4vw;padding:36px 5%;min-height:0;background:#101010;border-bottom:1px solid #ffffff20;color:#fff}
header .brand{width:100%;max-width:1200px;justify-self:center}
header .brand-logo{width:100%;height:auto;display:block;filter:invert(1);mix-blend-mode:screen}
.site-menu{margin:0;align-self:start;justify-self:end;position:relative;padding-top:6px}
.site-menu summary{padding:10px 0;gap:18px}
.site-menu nav{top:62px}
.showcase{height:84svh;min-height:650px}
.carousel-topline{top:35px}
.project-carousel:after{background:linear-gradient(180deg,#0004 0%,transparent 22%,transparent 67%,#000a 100%)}
@media(min-width:1800px){header{padding-left:8%;padding-right:8%}}
@media(max-width:700px){header{grid-template-columns:minmax(0,1fr) 74px;gap:22px;padding:28px 6%;min-height:0}header .brand-logo{width:100%}.site-menu{padding-top:0}.site-menu summary{font-size:10px;gap:11px}.menu-icon,.menu-icon i{width:22px}.site-menu nav{top:54px;width:min(280px,86vw)}.showcase{height:78svh;min-height:570px}.carousel-topline{top:27px}}

/* Compact brand banner */
header{grid-template-columns:minmax(0,1fr) 110px;padding:20px 5%;gap:30px;align-items:center}
header .brand{max-width:330px;justify-self:start}
.site-menu{align-self:center;padding-top:0}
.showcase{height:calc(100svh - 200px);min-height:570px}
@media(max-width:700px){header{grid-template-columns:minmax(0,1fr) 74px;padding:16px 6%;gap:22px}header .brand{max-width:205px}.showcase{height:calc(100svh - 132px);min-height:530px}}

/* Optional brand entrance; underlying approved layout stays intact. */
.brand-intro{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:0;background:#080808;color:white;overflow:hidden;opacity:1}
.brand-intro::backdrop{background:#080808}
.brand-intro[open]{display:grid;place-items:center}
.intro-stage{width:min(56vw,610px);position:relative}
.intro-lion{display:block;width:100%;height:auto;filter:invert(1);mix-blend-mode:screen;opacity:0;transform:scale(.88);will-change:transform,opacity}
.brand-intro.playing .intro-lion{animation:lion-arrive 650ms cubic-bezier(.16,1,.3,1) forwards,lion-burst 800ms cubic-bezier(.55,0,.75,.4) 1350ms forwards}
.brand-intro.playing{animation:intro-open 700ms ease-in 1600ms forwards}
.brand-intro::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,#ffffff24,transparent 65%);opacity:0}
.brand-intro.playing::after{animation:intro-glow 750ms ease-out 1320ms both}
.intro-skip{position:absolute;right:5%;bottom:5%;border:0;border-bottom:1px solid #555;padding:12px 0;background:transparent;color:#bdbdbd;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;z-index:2}
.intro-skip span{margin-left:20px}.intro-skip:hover{color:white}.intro-skip:focus-visible{outline:2px solid white;outline-offset:6px}
@keyframes lion-arrive{to{opacity:1;transform:scale(1)}}
@keyframes lion-burst{0%{opacity:1;transform:scale(1);filter:invert(1) blur(0)}70%{opacity:.7}100%{opacity:0;transform:scale(4.5);filter:invert(1) blur(10px)}}
@keyframes intro-open{to{opacity:0}}
@keyframes intro-glow{0%{opacity:0}30%{opacity:1}100%{opacity:0}}
@media(max-width:700px){.intro-stage{width:76vw}.intro-skip{right:7%;bottom:6%}}
@media(prefers-reduced-motion:reduce){.brand-intro{display:none!important}}

/* Company copy and temporary slogan review */
.about h2{text-transform:none}.slogan-options{margin-top:52px;border-top:1px solid var(--line);padding-top:30px}.slogan-review-label{font-size:11px;font-weight:700;letter-spacing:1.8px;color:var(--muted);margin-bottom:26px}.slogan-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px 36px}.slogan-grid>div{border-left:2px solid var(--accent);padding-left:22px}.slogan-grid>div>span{font-size:10px;letter-spacing:1.2px;font-weight:700;color:var(--muted);display:block;margin-bottom:15px}.slogan-grid p{font-family:var(--display);font-size:30px;line-height:1.17;font-weight:500}@media(max-width:700px){.slogan-grid{grid-template-columns:1fr;gap:28px}.slogan-grid p{font-size:29px}.slogan-options{margin-top:35px}}

/* Approved brand slogan and supporting section headlines */
.company-slogan{margin-top:44px;border-top:1px solid var(--line);padding-top:32px}.company-slogan p{font-family:var(--display);font-weight:500;font-size:clamp(30px,3.2vw,46px);line-height:1.13;letter-spacing:.01em;border-left:2px solid var(--accent);padding-left:24px}.mission-statement{max-width:650px;font-size:20px;line-height:1.7;color:#d0d0d0;border-top:1px solid #ffffff30;padding-top:28px}.approach-heading h2{max-width:610px;font-size:clamp(38px,3.9vw,60px)}@media(max-width:700px){.company-slogan{margin-top:30px;padding-top:26px}.company-slogan p{font-size:32px;padding-left:18px}.mission-statement{font-size:18px}.approach-heading h2{font-size:39px}}

/* Single-page view routing */
[data-page-view][hidden]{display:none!important}
[data-page-view]:not([hidden]){animation:page-enter .42s ease-out both}
.site-menu nav a[aria-current='page']{color:#fff;border-bottom-color:var(--accent)}
body:not([data-page='home']) main{min-height:calc(100svh - 220px)}
body:not([data-page='home']) .section{min-height:calc(100svh - 220px);align-content:center}
@keyframes page-enter{from{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){[data-page-view]:not([hidden]){animation:none}}
