@charset "UTF-8";
:root{--orange:#f16a21;--charcoal:#333;--ink:#171717;--paper:#fff;--soft:#f5f5f5;--line:#d8d8d8;--body:'Inter',Arial,sans-serif;--display:'Libre Caslon Display',Georgia,serif;--italic:'Instrument Serif',Georgia,serif;--gutter:clamp(24px,6.5vw,120px);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--charcoal);font:400 16px/1.75 var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;object-fit:cover}p,h1,h2,h3{margin:0}h1,h2{font-family:var(--display);font-weight:400;letter-spacing:-.045em;line-height:1.03}h2{font-size:clamp(60px,6vw,94px)}h3{font-size:16px;font-weight:500}em{font:italic 400 1.04em/1 var(--italic)}p{line-height:1.9}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:5px}::selection{color:var(--ink);background:#f16a2166}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;padding:12px 20px;background:var(--orange);color:var(--ink)}.skip-link:focus{top:12px}.reading-progress{position:fixed;inset:0 0 auto;height:2px;z-index:80;pointer-events:none}.reading-progress span{display:block;width:100%;height:100%;background:var(--orange);transform:scaleX(0);transform-origin:left center}
.site-header{position:fixed;inset:0 0 auto;z-index:40;display:flex;align-items:center;gap:28px;min-height:105px;padding:20px var(--gutter);color:white;border-bottom:1px solid #ffffff2e;background:#33333323;transition:background .4s ease,padding .4s var(--ease),min-height .4s var(--ease),border-color .4s ease;isolation:isolate}.site-header.is-scrolled{min-height:80px;padding-top:10px;padding-bottom:10px;background:transparent;border-color:transparent}.brand{display:block;width:176px;flex:none;background:transparent;padding:3px 6px;transition:width .4s var(--ease)}.brand img{width:100%;height:auto;filter:drop-shadow(0 1px 2px #0006)}.is-scrolled .brand{width:150px}.site-header nav{display:flex;gap:clamp(14px,1.6vw,27px);align-items:center;margin-left:auto}.site-header nav>a{color:white;text-shadow:0 1px 3px #0008;font-size:13px;white-space:nowrap;position:relative;padding:10px 0}.site-header nav>a:after{content:'';position:absolute;left:0;right:0;bottom:4px;height:1px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.site-header nav>a:hover:after,.site-header nav>a.is-active:after{transform:scaleX(1)}.nav-cta{display:inline-flex;align-items:center;justify-content:center;background:var(--orange);color:var(--ink);border-radius:100px;padding:12px 21px;font-size:13px;font-weight:500;white-space:nowrap;transition:background .25s ease,transform .35s var(--ease)}.nav-cta:hover{background:var(--orange);transform:translateY(-2px)}.menu-toggle{display:none;width:44px;height:44px;padding:12px;border:0;background:transparent}.menu-toggle span{box-shadow:0 1px 3px #0008;display:block;height:1px;background:currentColor;margin:6px 0;transition:transform .3s var(--ease)}.menu-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 28px;border-radius:100px;border:1px solid transparent;background:white;color:var(--charcoal);font-size:14px;font-weight:500;line-height:1.5;transition:color .25s ease,background .25s ease,box-shadow .25s ease,transform .35s var(--ease)}.button:hover{background:var(--orange);color:var(--ink);transform:translateY(-3px);box-shadow:0 8px 24px #17171716}.button:active{transform:translateY(0)}.hero{position:relative;min-height:745px;height:100svh;max-height:1100px;color:white;isolation:isolate;overflow:clip}.full-bleed{position:absolute;inset:0;z-index:-2;background:var(--charcoal);overflow:clip}.hero-media{position:absolute;inset:-6% 0;transform:translate3d(0,var(--hero-y,0px),0) scale(var(--hero-scale,1.055));transform-origin:50% 50%;will-change:transform}.hero-poster,.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 57%}.hero-video{opacity:0}.hero-film.is-ready .hero-video{opacity:1}.hero-film.is-ready .hero-poster{visibility:hidden}.full-bleed:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#171717a8 0,#17171727 80%),linear-gradient(0deg,#171717b3,transparent 75%)}.hero-copy{position:absolute;left:var(--gutter);right:var(--gutter);bottom:150px;max-width:850px;transform:translate3d(0,var(--hero-copy-y,0px),0);opacity:var(--hero-copy-opacity,1)}.hero-major{display:block;font-size:clamp(88px,9.5vw,148px);line-height:.98;letter-spacing:-.05em}.hero-line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}.hero-line>span{display:block}.hero-major strong{font:italic 400 1em/.98 var(--italic);letter-spacing:-.035em}.hero-minor{display:block;max-width:540px;font:400 clamp(17px,1.45vw,20px)/1.6 var(--body);letter-spacing:-.015em;margin-top:28px;color:#f5f5f5}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-actions .button{transition:background-color .45s ease,color .3s ease,box-shadow .3s ease}.hero-actions .button:hover,.hero-actions .button:focus-visible{background-color:var(--orange);color:var(--ink);transform:none}.hero-category{position:absolute;right:var(--gutter);bottom:147px;display:flex;gap:35px;font-size:12px;line-height:1.8}.hero-category>a+ a{padding-left:35px;border-left:1px solid #ffffff60}.hero-category span{font:400 27px/1.5 var(--display)}.hero-category a{transition:color .25s}.hero-category a:hover{color:var(--orange)}.scroll-cue{position:absolute;left:50%;bottom:29px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:11px;font-size:11px;letter-spacing:.1em;line-height:1.3}.scroll-cue i{display:block;height:27px;width:1px;background:#ffffff65;position:relative;overflow:hidden}.scroll-cue i:after{content:'';position:absolute;inset:0;background:var(--orange);transform:scaleY(.6);transform-origin:top;transition:transform .4s}.scroll-cue:hover i:after{transform:scaleY(1)}
.sectors{margin:auto}.sector{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding:clamp(80px,9vw,160px) var(--gutter);position:relative}.sector-commercial{background:var(--soft)}.sector-image{position:relative;overflow:hidden;aspect-ratio:.94;border-radius:24px;align-self:center}.sector-image>img{position:absolute;inset:-6% 0;width:100%;height:112%;max-width:none;transform:translate3d(0,var(--image-y,0px),0) scale(1.025);object-position:center;will-change:transform}.image-number{position:absolute;top:25px;left:25px;display:grid;place-items:center;width:42px;height:42px;background:#ffffffee;border-radius:50%;font-size:12px;z-index:1}.sector-copy{max-width:545px}.eyebrow{display:block;font-size:12px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:#666;margin-bottom:29px}.sector h2{margin-bottom:29px}.sector h2 span{display:block;font:italic 400 1.04em/1 var(--italic);letter-spacing:-.025em}.sector p{font-size:16px;color:#555;margin-bottom:32px}.sector .button{background:var(--orange);color:var(--ink);border-color:var(--orange)}.sector .button:hover{background:var(--charcoal);border-color:var(--charcoal);color:white}.sector-residential .sector-image{order:2}.sector-residential .sector-copy{order:1}
.trust{display:grid;grid-template-columns:1.1fr 1fr;background:var(--charcoal);color:white;overflow:hidden}.trust-copy{padding:clamp(80px,8vw,130px) clamp(35px,6.5vw,120px)}.trust h2{font-size:clamp(66px,6.4vw,102px);letter-spacing:-.035em;max-width:780px}.trust h2 em{font-family:var(--italic);font-style:italic;color:white}.trust p{color:#ddd;margin:32px 0 36px;max-width:580px;font-size:16px}.trust-image{position:relative;overflow:hidden;min-height:640px;border-radius:0}.trust-image>img{position:absolute;inset:-6% 0;width:100%;height:112%;transform:translate3d(0,var(--image-y,0px),0) scale(1.025);will-change:transform}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:clamp(85px,9vw,145px) var(--gutter);background:var(--soft)}.contact-intro h2{font-size:clamp(75px,7vw,115px);margin-bottom:36px}.contact-intro .eyebrow{margin-bottom:25px}.contact-details{display:flex;flex-direction:column;gap:10px}.contact-details a:first-child{font-size:27px;letter-spacing:-.04em}.contact-details a:last-child{font-size:14px;overflow-wrap:anywhere}.contact-details a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--orange)}.socials{display:flex;gap:12px}.socials a{display:grid;place-items:center;width:38px;height:38px;transition:color .2s,transform .3s}.socials a:hover{color:var(--orange);transform:translateY(-2px)}.socials svg{width:22px;height:22px}.contact .socials{margin-top:24px}.contact-photo{width:100%;height:205px;margin-top:30px;border-radius:18px;object-position:50% 59%}.contact-form{background:#555;color:white;align-self:center;display:flex;flex-direction:column;gap:22px;min-width:0;border:2px solid var(--orange);border-radius:24px;padding:clamp(20px,3vw,44px)}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:block;min-width:0}.contact-form label>span{position:absolute;clip:rect(0,0,0,0);height:1px;width:1px;overflow:hidden}.contact-form input,.contact-form textarea{display:block;width:100%;border:1px solid #d4d4d4;background:white;padding:17px 19px;border-radius:15px;font-size:16px;line-height:1.5;color:var(--charcoal);resize:vertical;transition:border-color .25s,box-shadow .25s}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px #f16a2112;outline:none}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#666;opacity:1}.contact-form textarea{min-height:175px}.contact-form .button{align-self:flex-start;min-width:135px;background:var(--orange);color:var(--ink)}.contact-form .button:hover{background:white;color:var(--ink)}.form-status{font-size:13px}.form-status:empty{display:none}.site-footer{display:grid;grid-template-columns:.8fr 1.5fr 1fr;gap:6%;padding:75px var(--gutter) 26px;color:white;background:var(--charcoal);font-size:14px}.footer-brand img{width:190px;height:auto}.footer-info p{color:#ccc;font-size:14px;margin-top:14px;line-height:1.8}.footer-contact>a{display:block;margin-top:14px;color:#ddd;font-size:14px;overflow-wrap:anywhere}.footer-bottom{display:flex;align-items:center;justify-content:space-between;grid-column:1/-1;border-top:1px solid #ffffff25;padding-top:25px;margin-top:55px;font-size:12px;color:#ddd}.back-to-top{position:fixed;right:24px;bottom:24px;z-index:30;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:white;background:var(--charcoal);border:1px solid #ffffff35;box-shadow:0 4px 20px #17171720;font-size:12px;opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .25s,visibility .25s,transform .35s var(--ease),background .25s}.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{color:var(--ink);background:var(--orange)}
/* Motion is progressive: content remains visible with scripts off or motion reduced. */
.motion-ready [data-reveal]{opacity:0;transform:translate3d(0,32px,0);transition:opacity .8s var(--ease),transform 1.05s var(--ease);transition-delay:var(--reveal-delay,0ms)}.motion-ready [data-reveal="image"]{opacity:.15;transform:translate3d(0,26px,0);clip-path:inset(7% 0 7% 0 round 24px);transition:opacity .9s var(--ease),transform 1.3s var(--ease),clip-path 1.3s var(--ease);transition-delay:var(--reveal-delay,0ms)}.motion-ready .trust-image[data-reveal="image"]{clip-path:inset(5% 0 5% 0)}.motion-ready [data-reveal].is-visible,.motion-ready [data-reveal]:focus-within{opacity:1;transform:translate3d(0,0,0);clip-path:inset(0 0 0 0 round 0)}.motion-ready .sector-image.is-visible,.motion-ready .contact-photo.is-visible{clip-path:inset(0 0 0 0 round 24px)}.motion-ready .hero-line>span{animation:hero-line-enter 1.2s var(--ease) both}.motion-ready .hero-line:nth-child(2)>span{animation-delay:.14s}.motion-ready .hero-minor,.motion-ready .hero-actions,.motion-ready .hero-category,.motion-ready .scroll-cue{animation:hero-fade-enter 1s var(--ease) .35s both}.motion-ready .hero-actions{animation-delay:.5s}.motion-ready .hero-category{animation-delay:.65s}.motion-ready .scroll-cue{animation-delay:.8s}@keyframes hero-line-enter{from{transform:translate3d(0,110%,0)}to{transform:translate3d(0,0,0)}}@keyframes hero-fade-enter{from{opacity:0;translate:0 17px}to{opacity:1;translate:0 0}}
@media(min-width:1700px){.sector{padding-left:max(var(--gutter),calc((100vw - 1450px)/2));padding-right:max(var(--gutter),calc((100vw - 1450px)/2))}.contact{padding-left:max(var(--gutter),calc((100vw - 1450px)/2));padding-right:max(var(--gutter),calc((100vw - 1450px)/2))}}
@media(max-width:1150px){:root{--gutter:5vw}.site-header{gap:18px}.brand{width:155px}.site-header nav{gap:15px}.site-header nav>a{font-size:12px}.nav-cta{font-size:12px;padding:12px 17px}.hero-category{bottom:95px;gap:25px}.hero-category>a+a{padding-left:25px}.hero-copy{bottom:158px}.hero-major{font-size:110px}.hero-minor{max-width:485px;font-size:18px}.sector{gap:8%;padding-top:100px;padding-bottom:100px}.sector h2{font-size:72px}.trust h2{font-size:72px}.trust-copy{padding:90px 10%}.contact{gap:8%}.site-footer{gap:5%}.footer-contact>a{font-size:12px}.contact-details a:last-child{font-size:13px}}
@media(max-width:900px){:root{--gutter:5vw}.site-header{padding:16px var(--gutter);min-height:91px;gap:15px}.site-header.is-scrolled{min-height:76px}.brand{width:151px}.is-scrolled .brand{width:135px}.nav-cta{margin-left:auto;font-size:12px}.menu-toggle{display:block;order:3;padding:11px}.site-header nav{position:absolute;top:100%;left:0;right:0;margin:0;display:flex;flex-direction:column;gap:0;align-items:stretch;padding:18px var(--gutter) 26px;background:var(--charcoal);box-shadow:0 10px 22px #17171712;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-9px);transition:opacity .25s,visibility .25s,transform .35s var(--ease)}.site-header.menu-open nav{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.site-header nav>a{font-size:16px;padding:12px 0}.site-header nav>a:after{right:auto;width:30px;bottom:8px}.hero{min-height:780px}.hero-copy{bottom:178px}.hero-major{font-size:112px}.hero-minor{font-size:18px;max-width:500px}.hero-category{left:var(--gutter);right:auto;bottom:85px;gap:26px}.hero-category br{display:none}.hero-category span{font-size:23px;margin-left:8px}.hero-category>a+a{padding-left:26px}.scroll-cue{left:auto;right:var(--gutter);transform:none;bottom:98px}.sector{gap:7%;padding-top:80px;padding-bottom:80px}.sector h2{font-size:62px}.sector p{font-size:16px;line-height:1.8}.sector-image{aspect-ratio:.8}.image-number{top:18px;left:18px;width:36px;height:36px}.trust h2{font-size:62px}.trust-copy{padding:70px 9%}.trust-image{min-height:650px}.contact-intro h2{font-size:80px}.contact-details a:first-child{font-size:23px}.field-pair{grid-template-columns:1fr;gap:22px}.contact-photo{height:180px}.site-footer{grid-template-columns:.8fr 1.4fr;gap:30px}.footer-contact{grid-column:2}.footer-bottom{margin-top:5px}.footer-contact>a{font-size:14px}}
@media(max-width:640px){:root{--gutter:24px}html{scroll-padding-top:94px}.site-header{padding:14px 20px;min-height:88px;gap:10px}.brand{width:130px;padding:3px 5px}.is-scrolled .brand{width:118px}.site-header.is-scrolled{padding:9px 20px;min-height:70px}.nav-cta{font-size:11px;padding:11px 15px}.menu-toggle{width:38px;height:44px;padding:10px 8px}.hero{min-height:750px;height:100svh;max-height:none}.hero-copy{left:24px;right:24px;bottom:184px;transform:none;opacity:1}.hero-major{font-size:clamp(70px,18.4vw,105px);line-height:1.02}.hero-major strong{line-height:1.02}.hero-minor{font-size:17px;max-width:380px;line-height:1.55;margin-top:25px}.hero-actions{margin-top:26px}.button{min-height:51px;font-size:13px;padding:14px 24px}.hero-category{bottom:87px;gap:22px}.hero-category>a+a{padding-left:22px}.hero-category span{font-size:21px;margin-left:0}.hero-category br{display:block}.hero-category{font-size:11px}.scroll-cue{bottom:93px;font-size:9px;right:25px;letter-spacing:.02em;gap:8px}.scroll-cue i{height:22px}.hero-media{inset:0;transform:scale(1.055)}.full-bleed:after{background:linear-gradient(0deg,#171717db 3%,#17171755 65%,#17171735)}.sector{grid-template-columns:1fr;padding:65px 24px;gap:38px}.sector-image{aspect-ratio:1.08;border-radius:20px}.sector-image>img,.trust-image>img{transform:none}.sector-residential .sector-image{order:0}.sector-residential .sector-copy{order:1}.sector-copy{max-width:none}.eyebrow{font-size:11px;margin-bottom:22px}.sector h2{font-size:70px;margin-bottom:23px}.sector h2 span{font-size:1em}.sector p{font-size:16px;line-height:1.85;margin-bottom:28px}.image-number{font-size:11px}.trust{grid-template-columns:1fr}.trust-copy{padding:65px 25px}.trust h2{font-size:70px}.trust p{font-size:16px;margin:29px 0 30px}.trust-image{height:400px;min-height:0}.contact{grid-template-columns:1fr;padding:66px 24px;gap:40px}.contact-intro h2{font-size:87px;margin-bottom:28px}.contact-details a:first-child{font-size:26px}.contact-details a:last-child{font-size:14px}.contact-photo{height:190px}.contact-form input,.contact-form textarea{font-size:16px}.site-footer{grid-template-columns:1fr;padding:55px 25px 22px;gap:30px}.footer-brand img{width:160px}.footer-info p{font-size:14px}.footer-contact{grid-column:auto}.footer-bottom{grid-column:auto;gap:16px;font-size:11px}.footer-bottom .socials{gap:2px}.back-to-top{right:16px;bottom:16px;width:43px;height:43px;font-size:11px}.motion-ready [data-reveal]{transform:translate3d(0,20px,0)}.motion-ready [data-reveal="image"]{transform:translate3d(0,16px,0);clip-path:inset(4% 0 4% 0 round 20px)}}
@media(max-width:359px){:root{--gutter:20px}.site-header{padding-left:14px;padding-right:14px;gap:7px}.site-header.is-scrolled{padding-left:14px;padding-right:14px}.brand{width:118px}.nav-cta{padding:10px 12px;font-size:10px}.hero-copy{left:20px;right:20px}.hero-major{font-size:65px}.hero-category{gap:16px}.hero-category>a+a{padding-left:16px}.hero-category span{font-size:19px}.scroll-cue{right:20px}.sector,.contact{padding-left:20px;padding-right:20px}.sector h2{font-size:63px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready [data-reveal],.motion-ready [data-reveal="image"]{opacity:1;transform:none;clip-path:none}.hero-media{transform:none!important}.hero-copy{transform:none!important;opacity:1!important}.sector-image>img,.trust-image>img{transform:none!important}.back-to-top{transform:none}}


/* The film and its controls stay independent of the page entrance animations. */
.film-controls[hidden]{display:none}
.film-controls{position:absolute;left:var(--gutter);bottom:27px;z-index:5;display:flex;align-items:center;gap:18px}
.film-toggle{display:inline-flex;gap:9px;align-items:center;justify-content:center;min-height:44px;padding:9px 15px 9px 12px;border:1px solid #ffffff60;border-radius:99px;background:#17171745;color:white;font:400 11px/1.5 var(--body);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .25s,border-color .25s}
.film-toggle:hover{background:#333333c0;border-color:#fff}
.film-toggle svg{width:17px;height:17px;fill:currentColor}
.film-toggle .film-pause{display:none}.film-toggle.is-playing .film-pause{display:block}.film-toggle.is-playing .film-play{display:none}
.film-timeline{display:block;width:75px;height:2px;background:#ffffff50;overflow:hidden}
.film-timeline>span{display:block;width:100%;height:100%;background:var(--orange);transform:scaleX(0);transform-origin:left}
@media(max-width:640px){.film-controls{bottom:20px;gap:14px}.film-toggle{font-size:10px;padding:8px 12px 8px 10px}.film-timeline{width:54px}.hero-poster,.hero-video{object-position:57% center}}

/* A fading, see-through shadow keeps white navigation legible over light sections. */
.site-header:before{content:'';position:absolute;inset:0 0 -28px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#171717b3 0%,#17171794 52%,#17171700 100%);opacity:0;transition:opacity .4s ease}.site-header.is-scrolled:before,.inner-page .site-header:before{opacity:1}
