﻿*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:#F7F5F0;color:#1A1612;overflow-x:hidden}
a{text-decoration:none;color:inherit}
button{cursor:pointer;font-family:inherit;border:none}
ul{list-style:none}
img{display:block;width:100%;object-fit:cover}

:root{
  --ink:#1A1612;--ink2:#5A5550;--ink3:#9A9590;
  --cream:#F7F5F0;--cream2:#EDE9E2;--cream3:#E0DBD3;
  --rust:#C4500A;--rust-l:#E87035;
  --rust-dim:rgba(196,80,10,0.08);--rust-border:rgba(196,80,10,0.2);
  --white:#FFFFFF;--border:rgba(26,22,18,0.1);--border2:rgba(26,22,18,0.06);
}

@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes shimmer{0%,100%{opacity:.6}50%{opacity:1}}

.a1{animation:fadeUp .65s .05s both ease}
.a2{animation:fadeUp .65s .15s both ease}
.a3{animation:fadeUp .65s .25s both ease}
.a4{animation:fadeUp .65s .35s both ease}
.a5{animation:fadeUp .65s .45s both ease}

/* NAV */
#nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.25rem 3rem;
  background:rgba(247,245,240,0.92);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border2);
  transition:padding .3s,box-shadow .3s;
}
#nav.scrolled{padding:.9rem 3rem;box-shadow:0 2px 20px rgba(0,0,0,.06)}
.logo{display:flex;align-items:center;gap:10px}
.logo-box{width:32px;height:32px;border-radius:8px;background:var(--rust);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:16px;font-weight:800}
.logo-text{font-family:'Fraunces',serif;font-size:17px;font-weight:600;letter-spacing:-.5px}
.logo-text span{color:var(--rust)}
.nav-actions{display:flex;align-items:center;gap:1rem}
.nav-links{display:flex;gap:2.5rem}
.nav-links a{font-size:13.5px;color:var(--ink2);transition:color .2s}
.nav-links a:hover,.nav-links a.active{color:var(--ink)}
.nav-pill{font-size:13px;font-weight:500;padding:9px 22px;border-radius:100px;background:var(--ink);color:var(--cream);transition:background .2s,transform .15s}
.nav-pill:hover{background:#333;transform:translateY(-1px)}
.nav-toggle{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--white);color:var(--ink);font-size:19px;align-items:center;justify-content:center;transition:border-color .2s,color .2s,transform .2s}
.nav-toggle:hover{border-color:var(--rust);color:var(--rust);transform:translateY(-1px)}

/* PAGES */
.page{display:none;padding-top:76px;min-height:100vh}
.page.active{display:block;animation:fadeIn .4s ease}

/* UTILS */
.sec-tag{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--rust);margin-bottom:1rem}
.sec-tag::before{content:'';width:20px;height:1.5px;background:var(--rust)}
.btn-dark{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--cream);padding:13px 28px;border-radius:100px;font-size:14px;font-weight:500;transition:all .2s}
.btn-dark:hover{background:#333;transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.15)}
.btn-rust{display:inline-flex;align-items:center;gap:8px;background:var(--rust);color:#fff;padding:13px 28px;border-radius:100px;font-size:14px;font-weight:500;transition:all .2s}
.btn-rust:hover{background:var(--rust-l);transform:translateY(-2px);box-shadow:0 8px 24px rgba(196,80,10,.3)}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--ink);border:1.5px solid var(--border);padding:12px 26px;border-radius:100px;font-size:14px;font-weight:400;transition:all .2s}
.btn-ghost:hover{border-color:var(--rust);color:var(--rust);transform:translateY(-2px)}
.car-btn{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--border);background:var(--white);font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s;color:var(--ink)}
.car-btn:hover{border-color:var(--rust);color:var(--rust)}
.c-dot{width:6px;height:6px;border-radius:3px;background:var(--cream3);transition:all .3s;cursor:pointer}
.c-dot.on{width:22px;background:var(--rust)}

/* ═══ HOME ═══ */

.hero{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 76px);border-bottom:1px solid var(--border)}
.hero-left{padding:5rem 4rem 5rem 3rem;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--border)}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--rust-dim);border:1px solid var(--rust-border);color:var(--rust);font-size:11px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;padding:6px 16px;border-radius:100px;margin-bottom:2rem;width:fit-content}
.ldot{width:7px;height:7px;border-radius:50%;background:var(--rust);animation:shimmer 2s infinite}
.hero-left h1{font-family:'Fraunces',serif;font-size:clamp(40px,4.5vw,62px);font-weight:800;line-height:1.05;letter-spacing:-2.5px;margin-bottom:1.5rem}
.hero-left h1 em{font-style:italic;color:var(--rust);font-weight:300}
.hero-left p{font-size:16px;color:var(--ink2);line-height:1.8;font-weight:300;max-width:460px;margin-bottom:2.5rem}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-right{position:relative;overflow:hidden;background:var(--cream2)}
.hero-right img{width:100%;height:100%;object-fit:cover;transition:transform 8s ease}
.hero-right:hover img{transform:scale(1.03)}
.hero-cap{position:absolute;bottom:0;left:0;right:0;padding:1.5rem 2rem;background:linear-gradient(0deg,rgba(26,22,18,.7) 0%,transparent 100%);color:#fff}
.hero-cap strong{font-size:15px;font-weight:500;display:block;margin-bottom:4px}
.hero-cap p{font-size:13px;font-weight:300;opacity:.8}

/* TICKER */
.ticker-outer{overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:14px 0;background:var(--ink)}
.ticker-track{display:flex;width:max-content;animation:ticker 35s linear infinite}
.t-item{display:inline-flex;align-items:center;gap:10px;padding:0 2.5rem;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.45);white-space:nowrap}
.t-sep{width:4px;height:4px;border-radius:50%;background:var(--rust);flex-shrink:0}

/* STRIP CAROUSEL */
.strip-section{padding:4rem 0;border-bottom:1px solid var(--border);overflow:hidden}
.strip-section .sh{padding:0 3rem;margin-bottom:2rem}
.strip-section h2{font-family:'Fraunces',serif;font-size:32px;font-weight:600;letter-spacing:-1px}
.img-strip{display:flex;gap:1.5rem;padding:0 3rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.img-strip::-webkit-scrollbar{display:none}
.isc{min-width:340px;height:240px;border-radius:18px;overflow:hidden;flex-shrink:0;scroll-snap-align:start;position:relative;cursor:pointer}
.isc img{height:100%;transition:transform .5s ease}
.isc:hover img{transform:scale(1.06)}
.isc-lbl{position:absolute;bottom:0;left:0;right:0;padding:1rem 1.25rem;background:linear-gradient(0deg,rgba(26,22,18,.75) 0%,transparent 100%);color:#fff;font-size:13px;font-weight:400}
.strip-nav-row{display:flex;gap:10px;padding:1.5rem 3rem 0}
.sbtn{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--border);background:var(--white);font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s;color:var(--ink)}
.sbtn:hover{border-color:var(--rust);color:var(--rust)}

/* SERVICES */
.svc-section{padding:5rem 3rem;border-bottom:1px solid var(--border)}
.svc-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:3rem;gap:2rem}
.svc-head h2{font-family:'Fraunces',serif;font-size:42px;font-weight:700;letter-spacing:-2px;max-width:380px;line-height:1.1}
.svc-head p{font-size:15px;color:var(--ink2);max-width:340px;line-height:1.75;font-weight:300}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.svc-tile{background:var(--white);border:1px solid var(--border);border-radius:18px;overflow:hidden;transition:all .3s;cursor:pointer}
.svc-tile:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(0,0,0,.08);border-color:var(--rust-border)}
.svc-tile-img{height:180px;overflow:hidden;background:var(--cream2)}
.svc-tile-img img{height:100%;transition:transform .5s}
.svc-tile:hover .svc-tile-img img{transform:scale(1.06)}
.svc-tile-body{padding:1.5rem}
.svc-num{font-size:11px;color:var(--rust);font-weight:500;letter-spacing:1px;margin-bottom:.75rem}
.svc-tile-body h3{font-family:'Fraunces',serif;font-size:19px;font-weight:600;letter-spacing:-.5px;margin-bottom:.6rem}
.svc-tile-body p{font-size:13px;color:var(--ink2);line-height:1.7;font-weight:300}
.svc-arr{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--rust);font-weight:500;margin-top:1rem;transition:gap .2s}
.svc-tile:hover .svc-arr{gap:10px}

/* APPROACH */
.approach{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.apl{padding:5rem 3rem;background:var(--ink);color:var(--cream)}
.apl .sec-tag{color:var(--rust-l)}
.apl .sec-tag::before{background:var(--rust-l)}
.apl h2{font-family:'Fraunces',serif;font-size:38px;font-weight:700;letter-spacing:-1.5px;line-height:1.15;margin-bottom:1.5rem}
.apl p{font-size:15px;color:rgba(247,245,240,.6);line-height:1.85;font-weight:300;margin-bottom:1rem}
.apr{padding:5rem 3rem;display:flex;flex-direction:column;justify-content:center;gap:1.5rem}
.ap-item{display:flex;gap:1.25rem;align-items:flex-start;padding:1.5rem;border:1px solid var(--border);border-radius:14px;background:var(--white);transition:all .25s}
.ap-item:hover{border-color:var(--rust-border);transform:translateX(6px)}
.ap-icon{width:44px;height:44px;border-radius:10px;flex-shrink:0;background:var(--rust-dim);border:1px solid var(--rust-border);display:flex;align-items:center;justify-content:center;font-size:20px}
.ap-item h4{font-size:15px;font-weight:500;margin-bottom:5px}
.ap-item p{font-size:13px;color:var(--ink2);line-height:1.65;font-weight:300}

/* INDUSTRIES */
.ind-section{padding:5rem 0;border-bottom:1px solid var(--border);background:var(--cream2)}
.ind-head{padding:0 3rem;margin-bottom:2.5rem;display:flex;align-items:flex-end;justify-content:space-between}
.ind-head h2{font-family:'Fraunces',serif;font-size:36px;font-weight:700;letter-spacing:-1px}
.ind-wrap{overflow:hidden}
.ind-track{display:flex;gap:1.25rem;padding:0 3rem;transition:transform .5s cubic-bezier(.25,.46,.45,.94)}
.ind-card{min-width:260px;flex-shrink:0;background:var(--white);border:1px solid var(--border);border-radius:18px;overflow:hidden;transition:all .3s}
.ind-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(0,0,0,.08)}
.ind-img{height:160px;overflow:hidden;background:var(--cream3)}
.ind-img img{height:100%;transition:transform .5s}
.ind-card:hover .ind-img img{transform:scale(1.07)}
.ind-body{padding:1.25rem}
.ind-body h4{font-family:'Fraunces',serif;font-size:17px;font-weight:600;letter-spacing:-.3px;margin-bottom:5px}
.ind-body p{font-size:12px;color:var(--ink2);line-height:1.6;font-weight:300}
.ind-nav-row{display:flex;gap:10px;padding:1.5rem 3rem 0;align-items:center}

/* CTA BAND */
.cta-band{margin:4rem 3rem;border-radius:24px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);min-height:380px}
.cta-l{padding:4rem;background:var(--rust);color:#fff;display:flex;flex-direction:column;justify-content:center}
.cta-l h2{font-family:'Fraunces',serif;font-size:38px;font-weight:800;letter-spacing:-1.5px;line-height:1.1;margin-bottom:1rem}
.cta-l p{font-size:15px;opacity:.85;line-height:1.8;font-weight:300;margin-bottom:2rem}
.btn-white{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--rust);padding:13px 28px;border-radius:100px;font-size:14px;font-weight:500;width:fit-content;transition:all .2s}
.btn-white:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.2)}
.cta-r{overflow:hidden}
.cta-r img{width:100%;height:100%;object-fit:cover}

/* ═══ SERVICES PAGE ═══ */
.page-banner{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border);min-height:420px}
.pb-left{padding:5rem 3rem;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--border)}
.pb-left h1{font-family:'Fraunces',serif;font-size:clamp(34px,4vw,52px);font-weight:800;letter-spacing:-2px;line-height:1.1;margin-bottom:1rem}
.pb-left p{font-size:16px;color:var(--ink2);line-height:1.8;font-weight:300;max-width:420px}
.pb-right{overflow:hidden;background:var(--cream2)}
.pb-right img{width:100%;height:100%;object-fit:cover}
.svc-dl{padding:4rem 3rem}
.sdi{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:24px;overflow:hidden;margin-bottom:2rem;transition:border-color .3s}
.sdi:hover{border-color:var(--rust-border)}
.sdil{padding:3rem;border-right:1px solid var(--border);background:var(--white)}
.sdi-img{width:100%;height:180px;border-radius:14px;overflow:hidden;margin-bottom:1.5rem;background:var(--cream2)}
.sdi-img img{height:100%}
.sdi-num{font-size:11px;color:var(--rust);font-weight:500;letter-spacing:1px;margin-bottom:.75rem}
.sdil h3{font-family:'Fraunces',serif;font-size:22px;font-weight:700;letter-spacing:-.5px;margin-bottom:.75rem}
.sdil p{font-size:14px;color:var(--ink2);line-height:1.8;font-weight:300}
.sdir{padding:3rem;background:var(--cream)}
.sdir h4{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--ink3);font-weight:500;margin-bottom:1rem}
.dlist{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}
.di{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--ink2);font-weight:300;line-height:1.5}
.di::before{content:'→';color:var(--rust);font-size:12px;margin-top:3px;flex-shrink:0}
.ttags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:2rem}
.ttag{font-size:11px;padding:5px 13px;border-radius:100px;border:1px solid var(--border);color:var(--ink2);background:var(--white);font-weight:400}
.tl{display:flex;flex-direction:column;gap:10px}
.tlr{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--ink2);font-weight:300;padding:10px 14px;border-radius:8px;background:var(--white);border:1px solid var(--border)}
.tld{width:7px;height:7px;border-radius:50%;background:var(--rust);flex-shrink:0}

/* ═══ ABOUT PAGE ═══ */
.about-hero{display:grid;grid-template-columns:1.2fr 1fr;border-bottom:1px solid var(--border);min-height:500px}
.ahl{padding:5rem 3rem;border-right:1px solid var(--border)}
.ahl h1{font-family:'Fraunces',serif;font-size:clamp(36px,4vw,54px);font-weight:800;letter-spacing:-2.5px;line-height:1.05;margin-bottom:1.5rem}
.ahl p{font-size:16px;color:var(--ink2);line-height:1.85;font-weight:300;max-width:460px;margin-bottom:2rem}
.ahr{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border)}
.ahstat{background:var(--cream);padding:2.5rem 2rem;display:flex;flex-direction:column;justify-content:flex-end}
.ahstat .big{font-family:'Fraunces',serif;font-size:48px;font-weight:800;color:var(--rust);letter-spacing:-2px;line-height:1;margin-bottom:.5rem}
.ahstat .lbl{font-size:13px;color:var(--ink2);font-weight:300;line-height:1.5}

.about-story{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border)}
.as-l{padding:5rem 3rem;border-right:1px solid var(--border)}
.as-l h2{font-family:'Fraunces',serif;font-size:34px;font-weight:700;letter-spacing:-1px;margin-bottom:1.5rem}
.as-l p{font-size:15px;color:var(--ink2);line-height:1.85;font-weight:300;margin-bottom:1rem}
.as-r{padding:5rem 3rem;background:var(--cream2)}
.as-r h3{font-family:'Fraunces',serif;font-size:22px;font-weight:600;letter-spacing:-.5px;margin-bottom:1.5rem}

.mosaic{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:260px 260px;gap:1px;background:var(--border);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.mc{overflow:hidden;background:var(--cream2);position:relative}
.mc.tall{grid-row:span 2}
.mc img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.mc:hover img{transform:scale(1.05)}
.mc-lbl{position:absolute;bottom:0;left:0;right:0;padding:1rem 1.25rem;background:linear-gradient(0deg,rgba(26,22,18,.65) 0%,transparent 100%);color:#fff;font-size:13px}

.val-section{padding:5rem 3rem;border-bottom:1px solid var(--border);background:var(--ink)}
.val-section .sec-tag{color:var(--rust-l)}
.val-section .sec-tag::before{background:var(--rust-l)}
.val-section h2{font-family:'Fraunces',serif;font-size:38px;font-weight:700;letter-spacing:-1.5px;color:var(--cream);margin-bottom:3rem}
.val-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.vc{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:2rem;transition:all .3s}
.vc:hover{background:rgba(255,255,255,.07);transform:translateY(-5px)}
.vc-icon{font-size:28px;margin-bottom:1rem}
.vc h4{font-size:15px;font-weight:500;color:var(--cream);margin-bottom:.6rem}
.vc p{font-size:13px;color:rgba(247,245,240,.5);line-height:1.7;font-weight:300}

.team-section{padding:5rem 0;border-bottom:1px solid var(--border)}
.team-head{padding:0 3rem;margin-bottom:3rem;display:flex;align-items:flex-end;justify-content:space-between}
.team-head h2{font-family:'Fraunces',serif;font-size:36px;font-weight:700;letter-spacing:-1px}
.team-wrap{overflow:hidden}
.team-track{display:flex;gap:1.5rem;padding:0 3rem;transition:transform .5s cubic-bezier(.25,.46,.45,.94)}
.tc{min-width:300px;flex-shrink:0;background:var(--white);border:1px solid var(--border);border-radius:24px;overflow:hidden;transition:all .3s}
.tc:hover{transform:translateY(-5px);box-shadow:0 20px 50px rgba(0,0,0,.07)}
.tc-hdr{height:180px;background:var(--cream2);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border-bottom:1px solid var(--border)}
.tc-hdr img{width:100%;height:100%;object-fit:cover}
.tc-av{width:80px;height:80px;border-radius:50%;background:var(--rust-dim);border:2px solid var(--rust-border);display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:26px;font-weight:800;color:var(--rust);position:absolute}
.tc-body{padding:1.75rem}
.tc-body h3{font-family:'Fraunces',serif;font-size:18px;font-weight:600;letter-spacing:-.3px;margin-bottom:3px}
.tc-role{font-size:12px;color:var(--rust);font-weight:500;letter-spacing:.5px;margin-bottom:1rem}
.tc-body p{font-size:13px;color:var(--ink2);line-height:1.65;font-weight:300}

/* ═══ CONTACT PAGE ═══ */
.contact-wrap{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 76px)}
.cl{background:var(--ink);color:var(--cream);padding:5rem 3rem;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid rgba(255,255,255,.06);position:relative;overflow:hidden}
.cl::before{content:'';position:absolute;top:-200px;right:-200px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(196,80,10,.15) 0%,transparent 70%);pointer-events:none}
.cl h2{font-family:'Fraunces',serif;font-size:clamp(32px,3vw,46px);font-weight:800;letter-spacing:-2px;line-height:1.1;margin-bottom:1rem;position:relative;z-index:1}
.cl>p{font-size:15px;color:rgba(247,245,240,.6);line-height:1.85;font-weight:300;margin-bottom:3rem;position:relative;z-index:1}
.ci-list{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:3rem;position:relative;z-index:1}
.ci{display:flex;align-items:center;gap:14px}
.ci-icon{width:44px;height:44px;border-radius:12px;flex-shrink:0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:20px}
.ci-lbl{font-size:11px;color:rgba(247,245,240,.4);letter-spacing:.5px;margin-bottom:3px}
.ci-val{font-size:14px;color:var(--cream)}
.cl-img{border-radius:18px;overflow:hidden;height:200px;border:1px solid rgba(255,255,255,.08);position:relative;z-index:1}
.cl-img img{width:100%;height:100%;object-fit:cover}
.cr{padding:5rem 3rem;background:var(--cream)}
.cr h3{font-family:'Fraunces',serif;font-size:26px;font-weight:700;letter-spacing:-.5px;margin-bottom:.5rem}
.cr>p{font-size:14px;color:var(--ink2);margin-bottom:2rem;font-weight:300}
.fg{margin-bottom:1.5rem}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
label{font-size:11px;color:var(--ink3);letter-spacing:1px;text-transform:uppercase;font-weight:500;display:block;margin-bottom:8px}
input,textarea,select{width:100%;background:var(--white);border:1.5px solid var(--border);border-radius:10px;padding:13px 16px;font-size:14px;color:var(--ink);font-family:'DM Sans',sans-serif;font-weight:300;transition:border-color .2s,box-shadow .2s;outline:none}
input:focus,textarea:focus,select:focus{border-color:var(--rust);box-shadow:0 0 0 3px var(--rust-dim)}
input::placeholder,textarea::placeholder{color:var(--ink3)}
select{appearance:none;cursor:pointer}
select option{background:#fff}
textarea{resize:vertical;min-height:120px}
.fsub{width:100%;background:var(--ink);color:var(--cream);border-radius:100px;padding:15px;font-size:15px;font-weight:500;font-family:'DM Sans',sans-serif;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:10px}
.fsub:hover{background:#333;transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.15)}
.f-note{font-size:12px;color:var(--ink3);text-align:center;margin-top:14px;font-weight:300}
.smsg{display:none;text-align:center;padding:2.5rem 2rem;background:rgba(34,139,34,.06);border:1px solid rgba(34,139,34,.2);border-radius:18px;margin-top:1.5rem}
.smsg h4{color:#2D6A4F;font-size:17px;font-weight:500;margin-bottom:6px}
.smsg p{font-size:14px;color:var(--ink2);font-weight:300}

/* FOOTER */
footer{border-top:1px solid var(--border);padding:3rem;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem;background:var(--ink);color:var(--cream)}
.fb .logo-text{color:var(--cream)}
.fb .logo-text span{color:var(--rust-l)}
.fb p{font-size:13px;color:rgba(247,245,240,.45);line-height:1.75;font-weight:300;margin-top:1rem;max-width:240px}
footer h5{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:rgba(247,245,240,.4);font-weight:500;margin-bottom:1rem}
footer ul li{margin-bottom:.65rem}
footer ul a{font-size:13px;color:rgba(247,245,240,.55);transition:color .2s;font-weight:300}
footer ul a:hover{color:var(--cream)}
.fcopy{border-top:1px solid rgba(255,255,255,.06);padding:1.5rem 3rem;background:var(--ink);display:flex;justify-content:space-between;align-items:center}
.fcopy p{font-size:12px;color:rgba(247,245,240,.3);font-weight:300}

@media (max-width:1080px){
  #nav,#nav.scrolled{padding:1rem 1.5rem}
  .hero-left,.hero-right,.strip-section .sh,.img-strip,.strip-nav-row,.svc-section,.apl,.apr,.ind-head,.ind-track,.ind-nav-row,.cta-l,.pb-left,.svc-dl,.sdil,.sdir,.ahl,.as-l,.as-r,.val-section,.team-head,.team-track,.cl,.cr,footer,.fcopy{padding-left:1.5rem;padding-right:1.5rem}
  .hero,.approach,.cta-band,.page-banner,.about-story,.contact-wrap{grid-template-columns:1fr}
  .hero-left,.pb-left,.ahl,.as-l,.cl{border-right:none}
  .hero-right{min-height:420px}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .sdi{grid-template-columns:1fr}
  .sdil{border-right:none;border-bottom:1px solid var(--border)}
  .about-hero{grid-template-columns:1fr}
  .ahr{min-height:340px}
  .val-grid{grid-template-columns:repeat(2,1fr)}
  footer{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:820px){
  #nav{align-items:center;flex-wrap:wrap;gap:1rem}
  .nav-toggle{display:inline-flex}
  .nav-actions{margin-left:auto}
  .nav-pill{display:none}
  .nav-links{order:3;flex-basis:100%;flex-direction:column;gap:.25rem;max-height:0;overflow:hidden;transition:max-height .25s ease,padding-top .25s ease}
  #nav.open .nav-links{max-height:260px;padding-top:.5rem}
  .nav-links li{width:100%}
  .nav-links a{display:block;padding:.85rem 0;border-top:1px solid var(--border2)}
  .hero-left h1,.svc-head h2,.apl h2,.cta-l h2,.val-section h2{letter-spacing:-1.4px}
  .svc-head,.ind-head,.team-head{flex-direction:column;align-items:flex-start}
  .svc-grid,.val-grid{grid-template-columns:1fr}
  .cta-band{margin:3rem 1.5rem;min-height:auto}
  .cta-r{min-height:280px}
  .mosaic{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px 220px}
  .mc.tall{grid-row:span 1}
  .team-track,.ind-track{padding-bottom:.25rem}
  footer{grid-template-columns:1fr 1fr}
  .fcopy{flex-direction:column;align-items:flex-start;gap:.5rem}
}

@media (max-width:640px){
  .page{padding-top:84px}
  .hero-left,.svc-section,.apl,.apr,.cta-l,.pb-left,.svc-dl,.sdil,.sdir,.ahl,.as-l,.as-r,.val-section,.cl,.cr,footer{padding-top:3.5rem;padding-bottom:3.5rem}
  .strip-section,.team-section,.ind-section{padding-top:3.5rem;padding-bottom:3.5rem}
  .hero-left p,.pb-left p,.ahl p,.cl>p,.as-l p{font-size:15px}
  .hero-right,.pb-right,.cta-r,.cl-img{min-height:240px}
  .isc{min-width:78vw;height:210px}
  .svc-tile-img,.ind-img,.tc-hdr,.sdi-img{height:160px}
  .ind-card,.tc{min-width:82vw}
  .fr{grid-template-columns:1fr}
  .about-hero .ahr{min-height:260px}
  .mosaic{grid-template-columns:1fr;grid-template-rows:none}
  .mc,.mc.tall{min-height:220px}
  footer{grid-template-columns:1fr}
  #totop{right:1rem;bottom:1rem}
}

#totop{
  position:fixed;bottom:2rem;right:2rem;z-index:300;
  width:44px;height:44px;border-radius:50%;
  background:var(--ink);color:var(--cream);
  border:none;font-size:20px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  opacity:0;pointer-events:none;
  transition:opacity .3s,transform .2s,background .2s;
  box-shadow:0 4px 16px rgba(0,0,0,.18);
}
#totop.show{opacity:1;pointer-events:auto}
#totop:hover{background:var(--rust);transform:translateY(-3px)}

