:root{--ink:#17231c;--forest:#183f2b;--forest-2:#0f2d20;--orange:#f16a2b;--sand:#f1ede3;--paper:#faf9f5;--line:#d8d7cf;--muted:#69746d;--font-sans:"Manrope",Arial,sans-serif;--font-serif:"Playfair Display",Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
.site-header{height:88px;padding:0 clamp(24px,4vw,72px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:absolute;z-index:20;top:0;left:0;width:100%;color:#fff;border-bottom:1px solid #ffffff30;transition:background .25s,position .25s}.site-header.is-scrolled{position:fixed;height:72px;background:#0f2d20f2;backdrop-filter:blur(14px);box-shadow:0 10px 30px #0002}.brand{display:flex;align-items:center;gap:12px;width:max-content}.brand img{width:46px;height:46px;object-fit:contain}.brand>span{display:flex;flex-direction:column;line-height:1.08}.brand strong{font-size:14px;letter-spacing:.01em}.brand small{font-size:10px;letter-spacing:.17em;text-transform:uppercase;opacity:.7;margin-top:5px}.desktop-nav{display:flex;gap:34px;font-size:13px}.desktop-nav a{opacity:.84;transition:.2s}.desktop-nav a:hover{opacity:1;color:#ffc2a1}.header-cta{justify-self:end;display:flex;align-items:center;gap:12px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid #fff;padding-bottom:7px}.menu-button,.mobile-nav{display:none}
.hero{min-height:820px;height:100svh;position:relative;color:#fff;overflow:hidden;background:#173323}.hero-image{position:absolute;inset:0;background:url('/images/construction-team.jpg') center 44%/cover no-repeat;animation:heroIn 1.3s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,24,15,.88) 0%,rgba(7,24,15,.58) 46%,rgba(7,24,15,.16) 76%),linear-gradient(0deg,rgba(6,20,13,.62),transparent 48%)}.hero-content{position:absolute;z-index:2;left:clamp(24px,8vw,146px);top:50%;transform:translateY(-46%);max-width:780px}.eyebrow,.section-number{text-transform:uppercase;letter-spacing:.19em;font-size:11px;font-weight:700}.eyebrow:before{content:"";display:inline-block;width:38px;height:1px;background:currentColor;vertical-align:middle;margin-right:14px}.light{color:#e7e3d9}.hero h1{font-size:clamp(64px,8vw,126px);line-height:.85;letter-spacing:-.065em;margin:34px 0 28px;max-width:850px}.hero h1 em,.contact h2 em{font-family:var(--font-serif);font-weight:400;color:#ff9a68}.hero-copy{font-size:clamp(16px,1.4vw,20px);line-height:1.7;max-width:590px;color:#e9ece8;margin:0}.hero-actions{display:flex;align-items:center;gap:36px;margin-top:42px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:18px 24px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.button.primary{background:var(--orange);color:#fff}.text-link{display:inline-flex;align-items:center;gap:10px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:5px}.light-link{color:#fff}.hero-note{position:absolute;z-index:2;right:clamp(24px,5vw,80px);bottom:50px;max-width:240px;border-left:2px solid var(--orange);padding-left:18px}.hero-note>span{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#ffb18c}.hero-note p{font-size:12px;line-height:1.6;margin:8px 0 0;color:#ddd}.scroll-cue{position:absolute;left:50%;bottom:28px;z-index:3;width:22px;height:38px;border:1px solid #ffffff70;border-radius:20px}.scroll-cue span{position:absolute;width:3px;height:7px;background:#fff;top:8px;left:8px;border-radius:3px;animation:scroll 1.8s infinite}
.section{padding:clamp(84px,10vw,150px) clamp(24px,8vw,146px)}.section-number{color:var(--orange);margin:0 0 54px}.intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw}.intro h2,.section-heading h2,.approach h2,.company h2{font-size:clamp(42px,5vw,76px);line-height:1.03;letter-spacing:-.055em;margin:0;font-weight:600}.intro h2 span{font-family:var(--font-serif);font-style:italic;font-weight:400;color:#748078}.lead{font-size:clamp(18px,1.7vw,24px);line-height:1.65;margin:0 0 36px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:100px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.principles article{background:var(--paper);padding:40px 36px 40px 0}.principles article+article{padding-left:36px}.principles span,.capability>span{font-size:10px;color:var(--orange);font-weight:700;letter-spacing:.14em}.principles h3{font-size:22px;margin:45px 0 14px}.principles p{color:var(--muted);font-size:14px;line-height:1.7;margin:0}
.dark-section{background:var(--forest-2);color:#fff}.section-heading{display:grid;grid-template-columns:1fr 380px;align-items:end;gap:60px;margin-bottom:75px}.section-heading>p{color:var(--muted);line-height:1.8;font-size:15px;margin:0}.light-heading>p{color:#b4c0b8}.capability-list{border-top:1px solid #ffffff2a}.capability{display:grid;grid-template-columns:70px 1fr 1fr 48px;gap:35px;align-items:center;padding:34px 0;border-bottom:1px solid #ffffff2a;transition:.25s}.capability:hover{padding-left:16px;background:#ffffff08}.capability h3{font-size:24px;margin:0}.capability p{color:#adbbb2;font-size:13px;line-height:1.65;margin:0;max-width:440px}.circle-arrow{width:44px;height:44px;border:1px solid #ffffff50;border-radius:50%;display:grid;place-items:center;color:#ff9a68}
.approach{background:var(--sand)}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.approach-sticky>p{color:var(--muted);font-size:16px;line-height:1.75;max-width:530px}.image-frame{margin-top:48px;height:420px;overflow:hidden;position:relative}.image-frame:after{content:"";position:absolute;inset:0;border:1px solid #fff6}.image-frame img{width:100%;height:100%;object-fit:cover;filter:saturate(.75)}.steps{list-style:none;margin:0;padding:0;border-top:1px solid #c8c5ba}.steps li{display:grid;grid-template-columns:64px 1fr;padding:32px 0;border-bottom:1px solid #c8c5ba}.steps span{font-size:10px;color:var(--orange);font-weight:700}.steps h3{font-size:26px;margin:0 0 10px}.steps p{color:var(--muted);font-size:14px;line-height:1.65;margin:0}
.work-grid{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:330px 330px;gap:18px}.work-card{position:relative;overflow:hidden;padding:38px;color:#fff}.work-card>span,.work-card>div>span{font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:700}.work-card h3{font-size:clamp(28px,3vw,48px);line-height:1.05;letter-spacing:-.04em;margin:18px 0 12px}.work-card p{font-size:13px;line-height:1.7;max-width:430px;color:#e2e2dd}.work-large{grid-row:1/3;display:flex;align-items:end}.work-large img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.work-large:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0b2118e8,transparent 68%)}.work-large>div{position:relative;z-index:2}.work-color{background:var(--orange)}.work-color p{color:#fff0e9}.work-dark{background:var(--forest)}.blueprint{position:absolute;right:-40px;bottom:-44px;width:210px;height:180px;border:1px solid #ffffff42;transform:rotate(-8deg)}.blueprint span{position:absolute;border:1px solid #ffffff42}.blueprint span:nth-child(1){inset:25px}.blueprint span:nth-child(2){left:70px;top:0;height:100%;width:1px}.blueprint span:nth-child(3){left:0;top:65px;width:100%;height:1px}.line-mark{position:absolute;width:170px;height:170px;border:1px solid #ffffff20;border-radius:50%;right:-35px;bottom:-45px}.line-mark:after,.line-mark:before{content:"";position:absolute;inset:24px;border:1px solid #ffffff20;border-radius:50%}.line-mark:after{inset:50px}.portfolio-note{text-align:right;color:#7c837f;font-size:11px;margin:18px 0 0}
.company{display:grid;grid-template-columns:1fr 1fr;gap:9vw;background:#f0eee8;align-items:center}.company-visual{position:relative;height:700px}.company-visual>img{width:100%;height:100%;object-fit:cover;filter:saturate(.7)}.company-badge{position:absolute;right:-35px;bottom:35px;width:170px;height:170px;background:var(--orange);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center}.company-badge strong{font-family:var(--font-serif);font-size:38px}.company-badge span{font-size:9px;text-transform:uppercase;letter-spacing:.16em;margin-top:8px}.company-copy .lead{color:#4e5a53;margin:32px 0}.company-copy ul{list-style:none;padding:0;margin:44px 0 0;border-top:1px solid var(--line)}.company-copy li{display:flex;gap:14px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line);font-size:13px}.company-copy li b{color:var(--orange)}
.contact{background:var(--forest-2);color:#fff}.contact-top{position:relative;padding-bottom:80px;border-bottom:1px solid #ffffff2a}.contact h2{font-size:clamp(52px,7.5vw,110px);line-height:.96;letter-spacing:-.06em;margin:0}.round-button{position:absolute;right:0;bottom:68px;width:110px;height:110px;border-radius:50%;display:grid;place-items:center;background:var(--orange);font-size:30px;transition:.25s}.round-button:hover{transform:rotate(-12deg) scale(1.04)}.contact-details{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:50px;padding-top:58px}.contact-details span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:#8ea096;margin-bottom:16px}.contact-details address,.contact-details a{font-style:normal;font-size:13px;line-height:1.7;color:#e5eae7}.contact-details a:hover{color:#ff9a68}
footer{background:#0a2117;color:#fff;border-top:1px solid #ffffff20;padding:42px clamp(24px,8vw,146px);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:30px}.footer-brand img{width:40px;height:40px}footer>p{font-family:var(--font-serif);font-style:italic;text-align:center;color:#aab6af;font-size:14px}footer>div{display:flex;gap:24px;justify-content:end;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#84948a}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}
@keyframes heroIn{from{transform:scale(1.05);opacity:.5}to{transform:scale(1);opacity:1}}@keyframes scroll{0%,100%{transform:translateY(0);opacity:1}70%{transform:translateY(13px);opacity:0}}
@media(max-width:980px){.site-header{grid-template-columns:1fr auto}.desktop-nav,.header-cta{display:none}.menu-button{display:grid;width:42px;height:42px;padding:0;place-content:center;gap:7px;border:1px solid #ffffff50;background:transparent;color:#fff}.menu-button span{display:block;width:18px;height:1px;background:currentColor;transition:.2s}.menu-button[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-button[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav{position:absolute;top:100%;left:0;width:100%;background:var(--forest-2);padding:24px;flex-direction:column}.mobile-nav.is-open{display:flex}.mobile-nav a{padding:15px;border-bottom:1px solid #ffffff20}.hero-note{display:none}.intro-grid,.approach-grid,.company{grid-template-columns:1fr}.principles{grid-template-columns:1fr}.principles article,.principles article+article{padding:30px 0}.section-heading{grid-template-columns:1fr;align-items:start}.capability{grid-template-columns:50px 1fr 40px}.capability p{grid-column:2}.work-grid{grid-template-columns:1fr;grid-template-rows:580px 320px 320px}.work-large{grid-row:auto}.company-visual{height:560px}.company-badge{right:20px}.contact-details{grid-template-columns:1fr 1fr}.round-button{position:static;margin-top:40px}footer{grid-template-columns:1fr;text-align:center}.footer-brand{margin:auto}footer>div{justify-content:center}}
@media(max-width:620px){.site-header{height:74px}.brand img{width:38px;height:38px}.brand strong{font-size:12px}.brand small{font-size:8px}.hero{min-height:740px}.hero-content{top:45%}.hero h1{font-size:58px}.hero-actions{align-items:flex-start;flex-direction:column;gap:26px}.scroll-cue{display:none}.section{padding:76px 24px}.section-number{margin-bottom:34px}.intro h2,.section-heading h2,.approach h2,.company h2{font-size:42px}.principles{margin-top:60px}.capability{grid-template-columns:32px 1fr;padding:27px 0;gap:15px}.capability h3{font-size:20px}.capability p{grid-column:2}.capability .circle-arrow{display:none}.work-grid{grid-template-rows:500px 300px 300px}.work-card{padding:28px}.company-visual{height:450px}.company-badge{width:130px;height:130px}.contact h2{font-size:50px}.contact-details{grid-template-columns:1fr;gap:30px}.round-button{width:82px;height:82px}footer{padding:36px 24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-image,.scroll-cue span{animation:none}.capability,.round-button,.reveal{transition:none}.reveal{opacity:1;transform:none}}
