:root{
  --ink:#1f302e;
  --green:#4d6a62;
  --sage:#8fab9c;
  --copper:#8b4a14;
  --copper-mid:#a4661f;
  --gold:#d6a646;
  --metal:linear-gradient(100deg,#8b4a14 0%,#b07a2e 55%,#d6a646 100%);
  --metal-text:linear-gradient(100deg,#7e4212 0%,#a8702a 100%);
  --muted:#56625f;
  --paper:#f3f6f4;
  --white:#ffffff;
  --line:#dde4e1;
  --head:"Exo 2",system-ui,sans-serif;
  --body:"Open Sans",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--ink);background:var(--white);line-height:1.6;font-size:17px}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4,h5{font-family:var(--head);line-height:1.2}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
:focus-visible{outline:3px solid var(--copper);outline-offset:3px}

/* Header */
.site-header{background:var(--white);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line)}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--metal);z-index:0}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:78px}
.logo img{height:30px;width:auto}
.nav{display:flex;gap:6px;align-items:center;list-style:none}
.nav > li{position:relative;height:78px;display:flex;align-items:center}
.nav > li > a,.nav > li > button{display:block;padding:10px 14px;color:var(--ink);text-decoration:none;font-family:var(--head);font-weight:600;font-size:16px;background:none;border:0;cursor:pointer}
.nav > li > a:hover,.nav > li > button:hover{color:var(--copper)}
.nav .drop{position:absolute;top:calc(100% + 2px);left:0;min-width:260px;background:var(--white);border-radius:0 0 8px 8px;box-shadow:0 14px 30px rgba(31,48,46,.14);padding:10px 0;list-style:none;display:none;z-index:2}
.nav li:hover .drop,.nav li:focus-within .drop,.nav li.open .drop{display:block}
.nav > li > button:focus:not(:focus-visible){outline:none}
.nav .drop a{display:block;padding:10px 14px;text-decoration:none;font-size:15px;color:var(--ink);white-space:nowrap}
.nav .drop a:hover{color:var(--copper)}
.burger{display:none;background:none;border:0;color:var(--ink);cursor:pointer;padding:8px}
.burger span{display:block;width:26px;height:2px;background:currentColor;margin:6px 0}

/* Hero */
.hero{background:var(--paper);padding:92px 0 100px;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1fr 1.15fr;gap:40px;align-items:center}
.hero-map{width:100%;height:auto}
.hero h1{font-size:clamp(30px,4.2vw,50px);font-weight:800;letter-spacing:-.01em;color:var(--ink)}
.tail{background:var(--metal-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.btn{display:inline-block;font-family:var(--head);font-weight:700;font-size:16px;text-decoration:none;padding:15px 28px;border-radius:6px;border:0;cursor:pointer;transition:background .2s}
.btn-primary{background:var(--copper);color:var(--white)}
.btn-primary:hover{background:var(--ink)}
.hero .btn{margin-top:36px}

/* Story blocks */
.story{padding:96px 0}
.story .wrap{max-width:860px;text-align:center}
.story-item + .story-item{margin-top:72px}
.story h2{font-size:clamp(26px,3vw,38px);font-weight:700;margin-bottom:18px}
.story p{color:var(--muted);max-width:720px;margin:0 auto}

/* Why */
.why{background:var(--ink);color:var(--white);padding:100px 0}
.why .intro{display:grid;grid-template-columns:1fr 1.4fr;gap:56px;align-items:start;margin-bottom:64px}
.why h2{font-size:clamp(34px,4vw,52px);font-weight:800;color:var(--gold)}
.why .intro p{color:#c9d6d1}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #3a4f4b}
.why-grid article{padding:32px 28px 8px 0}
.why-grid article + article{padding-left:28px;border-left:1px solid #3a4f4b}
.why-grid svg{width:34px;height:34px;color:var(--gold);margin-bottom:18px}
.why-grid h4{font-size:18px;font-weight:700;margin-bottom:10px}
.why-grid p{font-size:15px;color:#c9d6d1}

/* Unified */
.unified{padding:100px 0}
.unified .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.unified h2{font-size:clamp(28px,3.2vw,42px);font-weight:800;margin-bottom:22px}
.unified p{color:var(--muted)}
.unified p + p{margin-top:18px}
.unified .anywhere{align-self:center;font-family:var(--head);font-weight:800;font-size:clamp(40px,6vw,84px);line-height:1.02;letter-spacing:-.01em;background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent}

/* CTA */
.cta{background:linear-gradient(180deg,#f6f8f7 0%,#eaf0ed 100%);color:var(--ink);padding:96px 0;border-top:1px solid var(--line);position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--metal)}
.cta .wrap{display:grid;grid-template-columns:1fr 260px;gap:56px;align-items:center}
.cta-emblem{width:260px;height:auto;justify-self:center}
.cta h2{font-size:clamp(26px,3.2vw,40px);font-weight:800;max-width:760px;margin:0 0 16px}
.cta p{font-size:18px;margin-bottom:30px;color:var(--muted)}
.cta .btn{background:var(--ink);color:var(--white)}
.cta .btn:hover{background:var(--copper)}

/* Footer */
.site-footer{background:#141d1c;color:#dfe7e3;padding:80px 0 28px}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 1.6fr;gap:36px}
.foot-grid .logo-f img{width:180px;height:auto}
.foot-grid h5{color:var(--white)}
.foot-grid h5{font-size:15px;font-weight:700;margin-bottom:14px}
.foot-grid ul{list-style:none}
.foot-grid li + li{margin-top:8px}
.foot-grid a,.foot-grid .linkbtn{color:#a9b8b2;text-decoration:none;font-size:15px;background:none;border:0;cursor:pointer;font-family:var(--body);padding:0}
.foot-grid a:hover,.foot-grid .linkbtn:hover{color:var(--gold)}
.newsletter p{font-size:15px;color:#a9b8b2;margin-bottom:12px}
.newsletter input{background:#1d2927;border-color:#34443f;color:var(--white)}
.newsletter .btn-primary{background:var(--metal)}
.newsletter form{display:flex;gap:8px}
.newsletter input{flex:1;min-width:0}
.form-msg{font-size:14px;margin-top:10px;display:none}
.form-msg.ok{color:#198754;display:block}
.form-msg.err{color:#c0392b;display:block}
.copyright{margin-top:56px;padding-top:22px;border-top:1px solid #2a3835;font-size:14px;color:#8a9a94;display:flex;flex-wrap:wrap;gap:6px}
.copyright a{color:#a9b8b2}

/* Inputs */
input,textarea{font:inherit;font-size:15px;padding:12px 14px;border:1px solid #c8d3cf;border-radius:6px;background:var(--white);color:var(--ink);width:100%}
textarea{min-height:120px;resize:vertical}
label{display:block;font-size:14px;font-weight:600;margin:14px 0 6px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Modals */
dialog{border:0;border-radius:10px;padding:0;max-width:520px;width:calc(100% - 32px);box-shadow:0 24px 60px rgba(0,0,0,.25)}
dialog::backdrop{background:rgba(20,20,20,.55)}
.modal-body{padding:34px 32px 30px;position:relative}
.modal-body img{height:24px;width:auto;margin-bottom:20px}
.modal-body h3{font-size:20px;font-weight:800;margin-bottom:6px}
.modal-body h5{font-size:15px;font-weight:600;color:var(--muted);font-family:var(--body)}
.modal-body h5 a{color:var(--copper)}
.modal-body .btn{margin-top:20px;width:100%}
.close{position:absolute;top:14px;right:16px;background:none;border:0;font-size:26px;line-height:1;cursor:pointer;color:var(--muted)}

/* Responsive */
@media (max-width:980px){
  .why-grid{grid-template-columns:1fr 1fr}
  .why-grid article:nth-child(3){padding-left:0;border-left:0}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-grid .newsletter,.foot-grid .brand{grid-column:1/-1}
}
@media (max-width:860px){
  .cta .wrap{grid-template-columns:1fr}
  .cta-emblem{width:180px;order:-1;justify-self:start}
  .nav > li{height:auto;display:block}
  .burger{display:block}
  .nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--white);border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(31,48,46,.08);flex-direction:column;align-items:stretch;padding:8px 16px 18px;gap:0}
  .nav.open{display:flex}
  .nav .drop{position:static;display:block;box-shadow:none;background:transparent;padding:0 0 6px 14px}
  .nav .drop a{color:var(--muted)}
  .hero .wrap,.why .intro,.unified .wrap{grid-template-columns:1fr}
  .hero{padding:56px 0 64px}
  .story,.why,.unified{padding:72px 0}
}
@media (max-width:560px){
  .why-grid{grid-template-columns:1fr}
  .why-grid article + article{padding-left:0;border-left:0;border-top:1px solid #3a4f4b}
  .foot-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* ---------- Inner pages ---------- */
.nav a[aria-current="page"]{color:var(--copper)}
.page-hero{background:var(--paper);padding:96px 0 88px;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(30px,4vw,48px);font-weight:800;max-width:820px;letter-spacing:-.01em}
.page-hero p{color:var(--muted);max-width:640px;margin-top:22px;font-size:18px}
.page-hero p a{color:var(--copper)}
.page-hero .btn{margin-top:32px}
.page-hero.center{text-align:center}
.page-hero.center h1,.page-hero.center p{margin-left:auto;margin-right:auto}

.section{padding:96px 0}
.section-title{font-size:clamp(26px,3vw,38px);font-weight:800;margin-bottom:48px}
.section-title.center{text-align:center}

.benefits{display:grid;grid-template-columns:repeat(3,1fr);column-gap:48px;row-gap:8px}
.benefits.two{grid-template-columns:repeat(2,1fr)}
.benefits article{padding:30px 0 34px;border-top:1px solid var(--line)}
.benefits .ico{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--gold);margin-bottom:20px}
.benefits .ico svg{width:24px;height:24px}
.benefits h4{font-size:19px;font-weight:700;margin-bottom:10px}
.benefits p{color:var(--muted);font-size:16px}
.benefits .who{font-family:var(--head);font-weight:700;font-size:15px;color:var(--copper);margin-bottom:14px}

/* About */
.team-group + .team-group{margin-top:44px}
.team-group h3{font-size:20px;font-weight:700;margin-bottom:18px;color:var(--copper)}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.team div{border-left:3px solid var(--sage);padding:6px 0 6px 18px}
.team strong{display:block;font-family:var(--head);font-size:19px}
.team span{color:var(--muted);font-size:15px}

/* Contact */
.contact-ways{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.contact-ways div{padding:34px 30px;background:var(--paper);border-top:3px solid var(--copper)}
.contact-ways p{color:var(--muted);margin-bottom:10px}
.contact-ways a{font-family:var(--head);font-weight:700;font-size:19px;color:var(--ink);text-decoration:none;word-break:break-word}
.contact-ways a:hover{color:var(--copper)}

/* Forms */
.form-card{max-width:760px;margin:0 auto}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.form-grid .full{grid-column:1/-1}
select{font:inherit;font-size:15px;padding:12px 14px;border:1px solid #c8d3cf;border-radius:6px;background:var(--white);color:var(--ink);width:100%}
.consent{font-size:14px;color:var(--muted);margin-top:18px}
.consent a{color:var(--copper)}
.form-card .btn{margin-top:22px}
.radio-row{display:flex;gap:22px;padding-top:4px}
.radio-row label{display:flex;align-items:center;gap:8px;margin:0;font-weight:400}
.radio-row input{width:auto}

/* Career / jobs */
.job{display:block;max-width:420px;padding:28px 30px;border:1px solid var(--line);border-top:3px solid var(--copper);text-decoration:none;color:var(--ink);transition:border-color .2s}
.job:hover{border-color:var(--copper)}
.job .loc{font-size:14px;font-weight:600;color:var(--muted)}
.job h4{font-size:22px;font-weight:800;color:var(--copper);margin:14px 0 16px}
.job p{font-size:15px;color:var(--muted)}
.jd{max-width:760px}
.jd dl{display:grid;grid-template-columns:180px 1fr;gap:10px 20px;margin:24px 0}
.jd dt{font-weight:600}
.jd dd{color:var(--muted)}

/* Legal / prose */
.prose{max-width:780px}
.prose h1{font-size:clamp(30px,3.6vw,44px);font-weight:800;margin-bottom:28px}
.prose h2{font-size:24px;font-weight:800;margin:44px 0 14px}
.prose h3{font-size:19px;font-weight:700;margin:28px 0 10px}
.prose p,.prose li{color:var(--muted)}
.prose p + p{margin-top:14px}
.prose ol,.prose ul{padding-left:22px;margin:12px 0}
.prose li + li{margin-top:8px}
.prose a{color:var(--copper)}
.prose strong{color:var(--ink)}

/* News */
.news-list{list-style:none;max-width:820px}
.news-list li{border-top:1px solid var(--line)}
.news-list a{display:block;padding:20px 0;font-family:var(--head);font-weight:600;font-size:19px;color:var(--ink);text-decoration:none}
.news-list a:hover{color:var(--copper)}
.news-list small{display:block;font-family:var(--body);font-weight:400;font-size:14px;color:var(--muted);margin-top:4px}

@media (max-width:980px){
  .benefits{grid-template-columns:1fr 1fr}
  .team,.contact-ways{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
      .section{padding:72px 0}
  .page-hero{padding:64px 0 60px}
}
@media (max-width:560px){
  .benefits,.benefits.two,.team,.contact-ways,.form-grid{grid-template-columns:1fr}
  .jd dl{grid-template-columns:1fr}
}

/* ---------- Premium About ---------- */
.eyebrow{font-family:var(--head);font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--copper);margin-bottom:14px}
.eyebrow.center{text-align:center}
.about-hero{position:relative;background:#141d1c;color:#fff;min-height:620px;display:flex;align-items:center;overflow:hidden}
.about-photo{position:absolute;inset:0 0 0 38%;background:url(/assets/img/about_banner.jpg) center/cover no-repeat}
.about-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#141d1c 0%,rgba(20,29,28,.85) 22%,rgba(20,29,28,.25) 60%,rgba(20,29,28,.1) 100%)}
.about-hero .wrap{position:relative;z-index:1;width:100%;padding-top:110px;padding-bottom:110px}
.about-copy{max-width:600px}
.about-hero .eyebrow{color:var(--gold)}
.about-hero h1{font-size:clamp(40px,5vw,64px);font-weight:800;margin-bottom:28px;background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}
.about-hero p{color:#c9d6d1;font-size:17px}
.about-hero p + p{margin-top:16px}
.about-hero strong{color:#fff}
.about-hero .hl{color:var(--gold);font-weight:600}

.mission{background:radial-gradient(ellipse at 50% 0%,#24403a 0%,#141d1c 60%);color:#fff;padding:110px 0 120px}
.mission .eyebrow{color:var(--gold)}
.section-title.light{color:#fff;margin-bottom:64px}
.phones{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;align-items:end;text-align:center}
.phones img{margin:0 auto;width:100%;max-width:280px;height:auto;filter:drop-shadow(0 30px 50px rgba(0,0,0,.45))}
.phones .raised{transform:translateY(-36px)}
.phones figcaption{font-family:var(--head);font-size:30px;font-weight:800;margin-top:28px}
.phones figcaption span{color:var(--gold)}

.features-wrap{background:#fff}
.features{display:grid;grid-template-columns:1.5fr 1fr;gap:64px;align-items:center}
.features img{width:100%;height:auto}
.features h3{font-size:32px;font-weight:800;margin-bottom:18px}
.features ul{list-style:none}
.features li{padding:14px 0;border-bottom:1px solid var(--line);font-size:18px}
.features li::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--metal);margin-right:14px;vertical-align:middle}

/* Subtle scroll reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.phones .reveal.raised.in{transform:translateY(-36px)}
.phones .reveal:nth-child(2){transition-delay:.12s}
.phones .reveal:nth-child(3){transition-delay:.24s}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

@media (max-width:860px){
  .about-photo{inset:0}
  .about-photo::after{background:linear-gradient(180deg,rgba(20,29,28,.55) 0%,#141d1c 70%)}
  .about-hero{min-height:0}
  .features{grid-template-columns:1fr}
  .phones{grid-template-columns:1fr;gap:56px}
  .phones .raised,.phones .reveal.raised.in{transform:none}
  .mission{padding:80px 0}
}
