/* Flextronics: site.css (mobile-first, one stylesheet)
   v5: clean corporate. White pages, navy brand colour, copper used sparingly, Lato. */

/* Fonts: self-hosted Lato, SIL OFL (licence in ../fonts) */
@font-face{font-family:"Lato";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/lato-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Lato";font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/lato-latin-700-normal.woff2) format("woff2")}

:root{
  --navy:#0f2a44;
  --navy-2:#163a5f;
  --navy-deep:#0a1f33;
  --text:#1f2933;
  --muted:#52606d;        /* 6.4:1 on white */
  --line:#dfe4ea;
  --line-strong:#c3cbd4;
  --bg:#ffffff;
  --soft:#f3f5f8;
  --on-navy:#c9d4df;      /* body text on navy, 9:1 */
  --accent:#b0532a;       /* copper, 5.1:1 on white */
  --accent-dark:#8c4120;
  --accent-light:#f0a983; /* copper on navy */
  --link:#1b4f80;

  --font:"Lato","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;

  --fs-xs:.8rem;
  --fs-sm:clamp(.9rem,.88rem + .1vw,.95rem);
  --fs-base:clamp(1.02rem,1rem + .12vw,1.0938rem);
  --fs-lead:clamp(1.1rem,1.04rem + .3vw,1.25rem);
  --fs-h4:clamp(1.02rem,1rem + .15vw,1.1rem);
  --fs-h3:clamp(1.15rem,1.07rem + .35vw,1.35rem);
  --fs-h2:clamp(1.55rem,1.3rem + 1vw,2.15rem);
  --fs-h1:clamp(2rem,1.55rem + 1.9vw,3.1rem);

  --wrap:1200px;
  --pad:clamp(16px,4vw,40px);
  --space:clamp(56px,7vw,96px);
  --header-h:68px;
  --r:4px;
  --shadow:0 1px 2px rgba(15,42,68,.06),0 4px 16px rgba(15,42,68,.06);
}
@media (min-width:960px){:root{--header-h:80px}}

/* Base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 20px)}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-base);line-height:1.65;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%;height:auto}
h1,h2,h3,h4{font-family:var(--font);font-weight:700;line-height:1.2;margin:0 0 .6em;text-wrap:balance;color:var(--navy)}
h1{font-size:var(--fs-h1);line-height:1.12;letter-spacing:-.01em}
h2{font-size:var(--fs-h2);letter-spacing:-.005em}
h3{font-size:var(--fs-h3)}
h4{font-size:var(--fs-h4)}
p{margin:0 0 1em;max-width:68ch}
ul,ol{margin:0 0 1.1em;padding-left:1.25em}
li{margin-bottom:.35em}
li::marker{color:var(--accent)}
strong,b{font-weight:700}
address{font-style:normal}
a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:var(--navy);text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.topbar :focus-visible,.site-footer :focus-visible,.cta-band :focus-visible,.page-header :focus-visible,.hero :focus-visible{outline-color:var(--accent-light)}
::selection{background:var(--navy);color:#fff}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:12px;top:-100px;z-index:100;background:var(--navy);color:#fff;padding:.7em 1em;font-weight:700}
.skip-link:focus{top:12px;color:#fff}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad)}
.section{padding-block:var(--space)}
.section + .section{padding-top:0}
.section--soft{background:var(--soft)}
.section--soft + .section,.section + .section--soft{padding-top:var(--space)}
.lead{font-size:var(--fs-lead);line-height:1.55;color:var(--muted)}
.muted{color:var(--muted)}
.small{font-size:var(--fs-sm)}
.nowrap{white-space:nowrap}
.mb-0{margin-bottom:0}.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}

/* Owner-supplied placeholder text */
.tbc{background:#fff4d6;color:#5b4300;border:1px dashed #b98b00;padding:0 .35em;border-radius:2px;font-weight:700;font-size:.95em}
.site-footer .tbc{background:#3a3220;color:#f3d98a;border-color:#a88a2c}

/* Section heading accent: short copper bar */
.sec-title h2::before,.ruled::before,.section > .wrap > h2:first-child::before,.split > div > h2:first-child::before,.svc > .wrap > h2::before,.family > h2::before,#prepare > h2::before,.reasons h2::before,.intro h2::before{content:"";display:block;width:44px;height:3px;background:var(--accent);margin-bottom:.9rem}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:.75em 1.4em;font-family:var(--font);font-weight:700;font-size:1rem;line-height:1.2;text-decoration:none;border-radius:var(--r);border:2px solid transparent;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.btn--primary{background:var(--accent);color:#fff}
.btn--primary:hover{background:var(--accent-dark);color:#fff;text-decoration:none}
.btn--secondary{background:#fff;color:var(--navy);border-color:var(--line-strong)}
.btn--secondary:hover{border-color:var(--navy);color:var(--navy)}
.btn--light{background:#fff;color:var(--navy)}
.btn--light:hover{background:var(--soft);color:var(--navy)}
.btn-row{display:flex;flex-wrap:wrap;gap:.75rem}

/* Photos */
.ph,.ph-img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);background:#dfe3e8}
.ph{position:relative;border:1px solid var(--line)}
.ph::after{content:attr(data-label);position:absolute;inset:auto 0 0 0;padding:.6rem .8rem;font-size:.85rem;color:#5f6b76}
.ph--3x2{aspect-ratio:3/2}.ph--16x9{aspect-ratio:16/9}.ph--1x1{aspect-ratio:1}.ph--5x4{aspect-ratio:5/4}

/* Top bar */
.topbar{background:var(--navy-deep);color:var(--on-navy);font-size:var(--fs-sm)}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;flex-wrap:wrap;min-height:40px}
.topbar p{margin:0;display:none}
.topbar__contact{display:flex;gap:1.5rem;flex-wrap:wrap}
.topbar a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:.45em;padding-block:.4em}
.topbar a:hover{color:var(--accent-light)}
.ico{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media (min-width:760px){.topbar p{display:block}}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);transition:box-shadow .2s}
.site-header.is-stuck{box-shadow:0 2px 12px rgba(15,42,68,.08)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:var(--header-h)}
.brand{display:inline-flex;color:var(--navy);text-decoration:none;padding-block:.5rem}
.brand svg{width:170px}
@media (min-width:960px){.brand svg{width:196px}}
.wordmark-text{font-family:var(--font);font-weight:700;fill:currentColor}
.nav-toggle{display:none;align-items:center;gap:.55em;min-height:44px;padding:0 .9rem;background:#fff;border:1px solid var(--line-strong);border-radius:var(--r);font:700 1rem/1 var(--font);color:var(--navy);cursor:pointer}
.nav-toggle__bars{position:relative;width:18px;height:12px}
.nav-toggle__bars::before,.nav-toggle__bars::after,.nav-toggle__bars span{content:"";position:absolute;left:0;width:100%;height:2px;background:currentColor;transition:transform .2s,opacity .2s}
.nav-toggle__bars::before{top:0}.nav-toggle__bars span{top:5px}.nav-toggle__bars::after{bottom:0}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::before{transform:translateY(5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span{opacity:0}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::after{transform:translateY(-5px) rotate(-45deg)}
.nav-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.25rem}
.nav-menu li{margin:0}
.nav-menu a{display:block;padding:.6rem .9rem;color:var(--text);text-decoration:none;font-weight:700;font-size:1rem}
.nav-menu a:not(.btn):hover{color:var(--accent)}
.nav-menu a[aria-current="page"]:not(.btn){color:var(--navy);box-shadow:inset 0 -3px 0 var(--accent)}
.nav-menu .btn{margin-left:.9rem;padding-inline:1.3rem;min-height:44px;color:#fff}
@media (max-width:959.98px){
  .site-header .wrap{flex-wrap:wrap}
  .nav-menu{flex-wrap:wrap;padding-bottom:.5rem}
  .nav-menu .btn{margin-left:0}
  .js .nav-toggle{display:inline-flex}
  .js .site-header .wrap{flex-wrap:nowrap}
  .js .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 10px 20px rgba(15,42,68,.08);max-height:calc(100vh - var(--header-h));overflow-y:auto}
  .js .nav.is-open{display:block}
  .js .nav-menu{flex-direction:column;align-items:stretch;gap:0;padding:.25rem var(--pad) 1.25rem}
  .js .nav-menu li{border-bottom:1px solid var(--line)}
  .js .nav-menu li:last-child{border:0;padding-top:1rem}
  .js .nav-menu a{padding:.9rem 0;font-size:1.12rem}
  .js .nav-menu a[aria-current="page"]:not(.btn){box-shadow:none;color:var(--accent)}
  .js .nav-menu .btn{width:100%}
}


/* Home hero: full-width photo with a navy overlay */
.hero{position:relative;isolation:isolate;background:var(--navy);color:#fff;overflow:hidden}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,31,51,.92) 0%,rgba(10,31,51,.8) 40%,rgba(10,31,51,.35) 72%,rgba(10,31,51,.12) 100%)}
.hero__inner{padding-block:clamp(72px,10vw,136px) clamp(72px,9vw,128px)}
.hero h1{color:#fff;max-width:15ch;margin-bottom:.45em;font-size:clamp(2.2rem,1.5rem + 2.8vw,3.6rem)}
.hero .lead{color:#dbe3eb;max-width:44ch;margin-bottom:2rem}
.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2rem}
.hero__link{color:#fff;font-weight:700;text-decoration:none;padding-block:.6rem;border-bottom:1px solid rgba(255,255,255,.45);transition:border-color .2s,color .2s}
.hero__link::after{content:"\2192";display:inline-block;margin-left:.5em;transition:transform .2s var(--ease)}
.hero__link:hover{color:#fff;border-color:#fff}
.hero__link:hover::after{transform:translateX(3px)}
@media (max-width:640px){.hero::before{background:rgba(10,31,51,.82)}}

/* Metals ticker: endless strip scrolling left (two identical lists, track moves by half its width) */
.ticker{background:var(--navy-deep);color:var(--on-navy);overflow:hidden;border-top:1px solid #1d3550}
.ticker__track{display:flex;width:max-content;animation:ticker 85s linear infinite}
.ticker__list{display:flex;flex:none;align-items:center;list-style:none;margin:0;padding:0}
.ticker__list li{display:flex;align-items:center;margin:0;padding:.8rem 0;font-size:.95rem;white-space:nowrap}
.ticker__list li::after{content:"";width:1px;height:.9em;background:#34506d;margin:0 1.75rem}@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker__track{animation:none}.ticker{overflow-x:auto}}

/* Section heading row */
.sec-title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.5rem 2rem;margin-bottom:2rem}
.sec-title h2{margin:0}
.sec-title p{margin:0;font-weight:700}

/* Intro */
.intro{display:grid;gap:1rem 3rem}
.intro h2{margin:0}
.intro p:first-child{font-size:var(--fs-lead);line-height:1.55;color:var(--text)}
@media (min-width:900px){.intro{grid-template-columns:1fr 2fr}}

/* Metal cards */
.metals{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem}
.metals li{margin:0}
.metal{display:flex;flex-direction:column;height:100%;padding:1.5rem;background:#fff;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--text);transition:box-shadow .2s,border-color .2s}
.metal:hover{border-color:var(--line-strong);box-shadow:var(--shadow);color:var(--text);text-decoration:none}
.metal h3{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.45em}
.metal h3 span{font-weight:700;font-size:.85rem;color:var(--accent);letter-spacing:.02em}
.metal p{margin:0 0 1rem;color:var(--muted);font-size:var(--fs-sm)}
.metal .more{margin-top:auto;color:var(--link);font-weight:700;font-size:var(--fs-sm)}
.metal .more::after{content:" \203A"}
.metal:hover .more{text-decoration:underline;text-underline-offset:.18em}
@media (min-width:640px){.metals{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.metals{grid-template-columns:repeat(3,1fr)}}

/* What we do */
.services{display:grid;gap:1.5rem}
.service{border:1px solid var(--line);border-radius:var(--r);background:#fff;display:flex;flex-direction:column;overflow:hidden}
.service__body{padding:1.6rem;display:flex;flex-direction:column;flex:1}
.service__body p{color:var(--muted)}
.service__body .btn,.service__body .text-link{margin-top:auto;align-self:flex-start}
.service .ph,.service .ph-img{border-radius:0}
.service--main ul{margin-bottom:1.5rem}
.text-link{font-weight:700}
.text-link::after{content:" \203A"}
@media (min-width:900px){
  .services{grid-template-columns:2fr 1fr;grid-template-rows:auto auto}
  .service--main{grid-row:span 2;display:grid;grid-template-columns:1fr 1fr}
  .service--main .ph,.service--main .ph-img{height:100%;aspect-ratio:auto}
}

/* Steps */
.steps{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem;counter-reset:step}
.steps li{counter-increment:step;margin:0;padding:1.5rem;background:#fff;border:1px solid var(--line);border-top:3px solid var(--navy);border-radius:0 0 var(--r) var(--r)}
.steps li::before{content:counter(step);display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--soft);color:var(--navy);font-weight:700;margin-bottom:.9rem}
.steps h3{margin-bottom:.4em}
.steps p{margin:0;color:var(--muted)}
.section--soft .steps li{background:#fff}
.section--soft .steps li::before{background:var(--soft)}
@media (min-width:800px){.steps{grid-template-columns:repeat(var(--n,3),1fr)}.steps--4{--n:4}}
@media (min-width:640px) and (max-width:799.98px){.steps--4{grid-template-columns:1fr 1fr}}

/* Reasons */
.reasons{display:grid;gap:2rem 3.5rem;align-items:start}
.reasons dl{margin:0;display:grid;gap:1.75rem 2.5rem}
.reasons dl > div{padding-left:1.1rem;border-left:3px solid var(--line)}
.reasons dt{font-weight:700;font-size:var(--fs-h4);color:var(--navy);margin-bottom:.3rem}
.reasons dd{margin:0;color:var(--muted)}
@media (min-width:640px){.reasons dl{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.reasons{grid-template-columns:5fr 7fr;align-items:center}.reasons dl{margin-top:3.6rem}}

/* Call-to-action band */
.cta-band{background:var(--navy);color:#fff;padding-block:clamp(52px,6vw,84px)}
.contact-box{display:grid;gap:2rem 4rem}
.contact-box h2{color:#fff}
.contact-box p{color:var(--on-navy)}
.contact-box .phone{display:inline-block;font-weight:700;font-size:clamp(1.8rem,1.4rem + 1.6vw,2.5rem);color:#fff;text-decoration:none;margin:.25rem 0 1.25rem}
.contact-box .phone:hover{color:var(--accent-light)}
.contact-box ul{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.contact-box li{margin:0;padding:1rem 1.25rem;background:var(--navy-2);border-radius:var(--r)}
.contact-box li span{display:block;font-size:var(--fs-sm);color:var(--on-navy)}
.contact-box li a{color:#fff;font-weight:700;font-size:1.08rem}
.contact-box li a:hover{color:var(--accent-light)}
@media (min-width:900px){.contact-box{grid-template-columns:1.2fr 1fr;align-items:center}}

/* Inner page header: navy banner */
.page-header{background:var(--navy);color:#fff;padding-block:clamp(32px,4.5vw,56px) clamp(40px,5.5vw,68px)}
.page-header h1{color:#fff;margin-bottom:.35em}
.page-header .lead{margin:0;max-width:60ch;color:#dbe3eb}
.crumbs ol{list-style:none;margin:0 0 1.25rem;padding:0;display:flex;flex-wrap:wrap;gap:.4rem;font-size:var(--fs-sm);color:var(--on-navy)}
.crumbs li{margin:0}
.crumbs li+li::before{content:"/";margin-right:.4rem;color:#6f8399}
.crumbs a{color:#fff}
.crumbs a:hover{color:var(--accent-light)}

/* Two-column text + media */
.split{display:grid;gap:2rem;align-items:start}
@media (min-width:900px){.split{grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem)}.split--wide{grid-template-columns:7fr 5fr}.split--rev>:first-child{order:2}}

/* Definition rows (about) */
.rows{margin:0;display:grid;gap:1rem}
.rows > div{display:grid;gap:.25rem 2rem;padding:1.4rem 1.5rem;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.rows dt{font-weight:700;font-size:var(--fs-h4);color:var(--navy)}
.rows dd{margin:0;color:var(--muted)}
@media (min-width:800px){.rows > div{grid-template-columns:220px 1fr}}

.quote{font-weight:700;font-size:clamp(1.3rem,1.1rem + .9vw,1.75rem);line-height:1.35;color:var(--navy);border-left:3px solid var(--accent);padding-left:1.25rem;margin:0 0 1.5rem;max-width:30ch}

/* Tables */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--r)}
.table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);background:#fff}
.table caption{text-align:left;font-weight:700;padding:.75rem 1rem;color:var(--muted);background:#fff;border-bottom:1px solid var(--line)}
.table th,.table td{text-align:left;vertical-align:top;padding:.8rem 1rem;border-bottom:1px solid var(--line)}
.table tr:last-child > *{border-bottom:0}
.table thead th{background:var(--soft);color:var(--navy);font-weight:700}
.table tbody th{font-weight:700;width:34%;color:var(--navy)}
.details-table th{width:32%;background:#fafbfc}
.sic-list{list-style:none;margin:0;padding:0}
.sic-list li+li{margin-top:.3em}

/* Metals page */
.metals-layout{display:grid;gap:2.5rem}
.toc{display:none}
@media (min-width:1050px){.metals-layout{grid-template-columns:230px 1fr;gap:3.5rem}.toc{display:block;position:sticky;top:calc(var(--header-h) + 1.5rem);align-self:start}}
.toc h2{font-size:var(--fs-sm);font-weight:700;color:var(--muted);margin-bottom:.6rem;text-transform:uppercase;letter-spacing:.06em}
.toc ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
.toc li{margin:0}
.toc a{display:block;padding:.42rem 0 .42rem 1rem;margin-left:-2px;border-left:2px solid transparent;color:var(--text);text-decoration:none;font-size:var(--fs-sm)}
.toc a:hover{color:var(--accent)}
.toc a[aria-current="true"]{border-left-color:var(--accent);color:var(--navy);font-weight:700}
.family{padding-bottom:2.75rem;margin-bottom:2.75rem;border-bottom:1px solid var(--line)}
.family h2 .sym{font-weight:700;font-size:.95rem;color:var(--accent);margin-left:.5rem}
.family__grid{display:grid;gap:1.5rem;align-items:start}
@media (min-width:800px){.family__grid--media{grid-template-columns:3fr 2fr}}
.box{background:var(--soft);border-left:3px solid var(--navy);border-radius:0 var(--r) var(--r) 0;padding:1.5rem 1.75rem}
.box h2,.box h3{font-size:var(--fs-h3);margin-bottom:.45em}
.box p:last-child{margin-bottom:0}
.prep{margin:0;padding:0;list-style:none;display:grid;gap:1rem;counter-reset:prep}
.prep li{counter-increment:prep;margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.3rem 1.4rem}
.prep h3{font-size:var(--fs-h4);margin-bottom:.35em}
.prep h3::before{content:counter(prep) ". ";color:var(--accent)}
.prep p{margin:0;color:var(--muted);font-size:var(--fs-sm)}
@media (min-width:760px){.prep{grid-template-columns:1fr 1fr}}

/* Services page */
.tabs{position:sticky;top:var(--header-h);z-index:30;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(15,42,68,.03)}
.tabs ol{list-style:none;margin:0;padding:0;display:flex;gap:2rem;overflow-x:auto;scrollbar-width:none}
.tabs ol::-webkit-scrollbar{display:none}
.tabs li{margin:0}
.tabs a{display:block;white-space:nowrap;padding:1rem 0;color:var(--muted);text-decoration:none;font-weight:700;box-shadow:inset 0 -3px 0 transparent}
.tabs a:hover{color:var(--navy)}
.tabs a[aria-current="true"]{color:var(--navy);box-shadow:inset 0 -3px 0 var(--accent)}
.svc{padding-block:var(--space);border-bottom:1px solid var(--line)}
.svc:last-of-type{border-bottom:0}
.svc > .wrap > .lead{margin-bottom:2rem}
.panels{display:grid;gap:1.5rem;margin-bottom:3rem}
.panel{border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.4rem,3vw,2.1rem);background:#fff;display:flex;flex-direction:column;box-shadow:var(--shadow)}
.panel--accent{border-top:3px solid var(--accent)}
.panel h3{font-size:var(--fs-h2)}
.panel h4{margin:1.3rem 0 .5rem;color:var(--navy)}
.panel .btn{margin-top:auto;align-self:flex-start}
.panel ol,.panel ul{margin-bottom:1.4rem}
@media (min-width:960px){.panels{grid-template-columns:3fr 2fr}}
.faq-wrap{display:grid;gap:1rem 3rem}
.faq-wrap > h3{font-size:var(--fs-h2)}
@media (min-width:960px){.faq-wrap{grid-template-columns:1fr 2fr}}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.05rem 0;cursor:pointer;font-weight:700;font-size:1.05rem;color:var(--navy);list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:9px;height:9px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
.faq summary:hover{color:var(--accent)}
.faq .answer{padding-bottom:1.15rem;color:var(--muted)}
.faq .answer p{margin:0}
.svc-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;margin-top:2.75rem;padding:1.5rem 1.75rem;background:var(--soft);border-radius:var(--r)}
.section--soft .svc-cta,.svc.section--soft .svc-cta{background:#fff;border:1px solid var(--line)}
.svc-cta p{margin:0;font-weight:700;font-size:var(--fs-h4);color:var(--navy)}

/* Contact page */
.contact-layout{display:grid;gap:2.5rem}
@media (min-width:1000px){.contact-layout{grid-template-columns:5fr 7fr;gap:4rem}}
.c-item{padding:1.3rem 0;border-bottom:1px solid var(--line)}
.c-item:first-child{padding-top:0}
.c-item h2{font-size:var(--fs-sm);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.4rem}
.c-item p{margin:0 0 .3rem}
.c-item .big{font-weight:700;font-size:clamp(1.6rem,1.3rem + 1.1vw,2.1rem);color:var(--navy);text-decoration:none}
.c-item .big:hover{color:var(--accent)}
.c-item .mail{font-weight:700;font-size:1.08rem}
.form{border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.4rem,3vw,2.4rem);background:#fff;box-shadow:var(--shadow)}
.form h2{font-size:var(--fs-h2)}
.form__grid{display:grid;gap:1.15rem}
@media (min-width:700px){.form__grid{grid-template-columns:1fr 1fr}.field--full{grid-column:1/-1}}
.field label{display:block;font-weight:700;margin-bottom:.35rem;color:var(--text)}
.field .opt{font-weight:400;color:var(--muted)}
.field input,.field select,.field textarea{width:100%;min-height:48px;padding:.65rem .8rem;font:inherit;font-size:1.02rem;color:var(--text);background:#fff;border:1px solid #8a96a3;border-radius:var(--r)}
.field textarea{min-height:150px;resize:vertical;line-height:1.5}
.field select{appearance:none;padding-right:2.5rem;background-image:linear-gradient(45deg,transparent 50%,var(--navy) 50%),linear-gradient(135deg,var(--navy) 50%,transparent 50%);background-position:calc(100% - 20px) 52%,calc(100% - 14px) 52%;background-size:6px 6px;background-repeat:no-repeat}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--navy);outline-offset:0;border-color:var(--navy)}
.field [aria-invalid="true"]{border-color:#a3261b;background:#fdf3f2}
.field__err{display:block;color:#a3261b;font-size:var(--fs-sm);font-weight:700;margin-top:.3rem}
.field__err:empty{display:none}
.field__hint{display:block;color:var(--muted);font-size:var(--fs-sm);margin-top:.3rem}
.consent{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:start}
.field .consent label{font-weight:400;margin:0}
.consent input{width:22px;height:22px;min-height:0;margin:.15rem 0 0;accent-color:var(--navy)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form__foot{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin-top:1.6rem}
.form__foot p{margin:0;font-size:var(--fs-sm);color:var(--muted)}
.form-status{margin-top:1.25rem;padding:1rem 1.2rem;border-radius:var(--r);border-left:4px solid var(--navy);background:var(--soft)}
.form-status:empty{display:none}
.form-status.is-ok{border-color:#2f6b3a;background:#eef5ef}
.form-status.is-err{border-color:#a3261b;background:#fdf3f2}
.btn:disabled{opacity:.6;cursor:progress}

/* Prose (privacy, fallback pages) */
.prose{max-width:780px}
.prose h2{font-size:var(--fs-h3);margin-top:2em}
.prose h3{font-size:var(--fs-h4);margin-top:1.5em}

/* 404 */
.notfound{padding-block:clamp(64px,10vw,140px)}
.notfound .code{font-weight:700;font-size:1rem;color:var(--accent);margin-bottom:.5rem}

/* Footer */
.site-footer{background:var(--navy-deep);color:var(--on-navy);font-size:var(--fs-sm)}
.site-footer a{color:#fff}
.site-footer a:hover{color:var(--accent-light)}
.footer__top{display:grid;gap:2rem;padding-block:clamp(44px,6vw,72px) 2rem}
.footer__brand svg{width:180px;color:#fff}
.footer__brand p{margin-top:1rem;max-width:34ch}
.site-footer h2{font-weight:700;font-size:1rem;color:#fff;margin-bottom:.8rem}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:0}
.site-footer li a{display:inline-block;padding-block:.3rem}
.site-footer dl{margin:0;display:grid;gap:.65rem}
.site-footer dt{color:#93a4b6}
.site-footer dd{margin:0}
.footer__legal{border-top:1px solid #213a54;padding-block:1.5rem 2rem;display:grid;gap:.6rem;line-height:1.55;color:#a8b6c4}
.footer__legal p{margin:0;max-width:none}
.footer__meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem}
@media (min-width:700px){.footer__top{grid-template-columns:1fr 1fr}}
@media (min-width:1050px){.footer__top{grid-template-columns:4fr 2fr 3fr 3fr;gap:2.5rem}}

/* Motion: subtle, one easing curve everywhere */
:root{--ease:cubic-bezier(.22,.61,.36,1)}
.reveal.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--d,0ms)}
.reveal.reveal.is-in{opacity:1;transform:none}
/* Home hero: text rises in on load, photo settles from a slight zoom */
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes settle{from{transform:scale(1.1)}to{transform:scale(1.04)}}
.hero__img{transform:scale(1.04);animation:settle 1.8s var(--ease) backwards;will-change:transform}
.hero h1,.hero .lead,.hero__actions,.page-header h1,.page-header .lead{animation:rise .8s var(--ease) both}
.hero .lead,.page-header .lead{animation-delay:.12s}
.hero__actions{animation-delay:.24s}
/* Hover polish */
.service .ph-img,.split .ph-img,.family .ph-img,.reasons .ph-img{transition:transform .6s var(--ease)}
.service{overflow:hidden}
.service:hover .ph-img{transform:scale(1.04)}
.split > .ph-img,.family__grid > .ph-img,.reasons .ph-img{overflow:hidden}
.metal{transition:box-shadow .25s var(--ease),border-color .25s,transform .25s var(--ease)}
.metal:hover{transform:translateY(-3px)}
.btn{transition:background-color .2s,border-color .2s,color .2s,transform .2s var(--ease),box-shadow .2s}
.btn--primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(176,83,42,.28)}
.steps li,.prep li,.rows > div,.panel{transition:box-shadow .25s var(--ease),transform .25s var(--ease)}
.steps li:hover,.prep li:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.nav-menu a:not(.btn){position:relative}
.text-link,.metal .more{transition:color .2s}
.text-link:hover::after,.metal:hover .more::after{display:inline-block;transform:translateX(3px);transition:transform .2s var(--ease)}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero__img,.hero h1,.hero .lead,.hero__actions,.page-header h1,.page-header .lead{animation:none}.reveal{opacity:1;transform:none}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
@media print{.topbar,.nav,.nav-toggle,.tabs{display:none!important}.site-header{position:static}body{padding:0}.hero,.page-header,.cta-band{background:#fff;color:#000}.hero h1,.page-header h1{color:#000}}
