/* ==========================================================================
   SOLID3D - site stylesheet
   Derived from the approved design preview (Project Alberto).
   Brand tokens are fixed: white body, black header. The site does not invert.
   ========================================================================== */

:root{
  --k:#0B0D0D; --ink:#111819; --body:#394344; --mute:#6E7879;
  --line:#E3E7E6; --line2:#D2D8D7; --paper:#fff; --wash:#F5F7F6;
  --tl:#0A7A73; --tl-d:#06615B; --tl-w:#E5F2F1;
  /* the accessible teal fails on black, so dark grounds get their own tint:
     #0A7A73 on #0B0D0D is only 3.88:1 - #3FBFB4 is 8.7:1 */
  --tl-lt:#3FBFB4;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation:none!important;transition:none!important}
}
body{
  margin:0;background:var(--paper);color:var(--body);
  font-size:16.5px;line-height:1.62;
  font-family:"Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--tl);color:#fff}
img{max-width:100%}

.pad{max-width:1120px;margin:0 auto;padding:0 clamp(18px,4vw,46px)}

/* skip link -------------------------------------------------------------- */
.skip{
  position:absolute;left:-9999px;top:0;z-index:100;background:var(--tl-d);color:#fff;
  padding:12px 20px;border-radius:0 0 8px 0;font-weight:750;text-decoration:none;
}
.skip:focus{left:0}

/* ============================== HEADER ================================== */
.nav{background:var(--k);color:#fff;position:relative;z-index:20}
.nav-in{max-width:1120px;margin:0 auto;padding:12px clamp(18px,4vw,46px);
  display:flex;align-items:center;gap:clamp(12px,2.2vw,26px)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;flex:none}
.logo img{width:36px;height:auto;display:block}
.logo b{font-size:19px;font-weight:800;letter-spacing:.07em}
.menu{display:flex;align-items:center;gap:clamp(6px,1.4vw,16px);margin-left:auto}
.menu > a,.dd > button{
  background:none;border:0;font:inherit;color:#E7ECEB;text-decoration:none;font-size:14.5px;font-weight:650;
  padding:9px 8px;border-bottom:2px solid transparent;white-space:nowrap;cursor:pointer;
  display:inline-flex;align-items:center;gap:5px;
}
.menu > a:hover,.dd > button:hover{color:#fff;border-bottom-color:var(--tl-lt)}
.menu > a.cur,.dd.cur > button{color:#fff;border-bottom-color:#fff}
.menu > a:focus-visible,.dd > button:focus-visible{outline:2px solid var(--tl-lt);outline-offset:2px}
.dd{position:relative}
.dd-p{position:absolute;top:calc(100% + 8px);left:-10px;background:#fff;border-radius:11px;padding:7px;
  min-width:250px;box-shadow:0 18px 44px -14px rgba(0,0,0,.42);opacity:0;visibility:hidden;
  transform:translateY(-5px);transition:.16s ease;border:1px solid var(--line)}
.dd:hover .dd-p,.dd:focus-within .dd-p{opacity:1;visibility:visible;transform:none}
.dd-p a{display:block;padding:9px 12px;border-radius:7px;text-decoration:none;color:var(--ink);
  font-size:14.5px;font-weight:650}
.dd-p a em{display:block;font-style:normal;font-size:12.5px;color:var(--mute);font-weight:400;
  margin-top:1px;line-height:1.4}
.dd-p a:hover,.dd-p a:focus-visible{background:var(--tl-w)}
.navr{display:flex;align-items:center;gap:11px;flex:none;margin-left:4px}
.phone{display:inline-flex;align-items:center;gap:7px;color:#fff;text-decoration:none;
  font-size:14.5px;font-weight:750;white-space:nowrap}
.phone:hover{color:var(--tl-lt)}
.navcta{display:inline-flex;align-items:center;min-height:40px;padding:0 17px;border-radius:8px;
  background:var(--tl);color:#fff;text-decoration:none;font-size:14.5px;font-weight:750;white-space:nowrap}
.navcta:hover{background:var(--tl-d)}

/* mobile menu - the desktop bar is hidden below 1000px */
.mtoggle{display:none;appearance:none;border:0;background:rgba(255,255,255,.12);color:#fff;
  width:40px;height:40px;border-radius:8px;cursor:pointer;align-items:center;justify-content:center;flex:none}
.mtoggle:hover{background:rgba(255,255,255,.22)}
.mtoggle span{display:block;width:19px;height:2px;background:#fff;position:relative}
.mtoggle span::before,.mtoggle span::after{content:"";position:absolute;left:0;width:19px;height:2px;background:#fff}
.mtoggle span::before{top:-6px}
.mtoggle span::after{top:6px}
.mnav{display:none;background:#141A1A;border-top:1px solid #242C2C}
.mnav.open{display:block}
.mnav ul{list-style:none;margin:0;padding:8px clamp(18px,4vw,46px) 16px}
.mnav a{display:block;padding:13px 0;color:#E7ECEB;text-decoration:none;font-size:16px;font-weight:650;
  border-bottom:1px solid #242C2C}
.mnav a:hover{color:var(--tl-lt)}
.mnav a.sub{padding-left:16px;font-size:15px;font-weight:600;color:#B6C0BF}
.mnav .mhead{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#7E8988;font-weight:800;
  padding:14px 0 6px;border-bottom:1px solid #242C2C;margin:0}

/* dimension-line divider - a drafting motif, used as the section marker */
.dim{display:flex;align-items:center;gap:0;color:var(--tl);margin:0 0 13px}
.dim::before,.dim::after{content:"";width:6px;height:9px;border-left:1.5px solid currentColor}
.dim span{flex:none;font-size:11px;letter-spacing:.19em;text-transform:uppercase;font-weight:800;padding:0 11px}
.dim::before{margin-right:-1px}
.dim i{flex:none;width:22px;height:1.5px;background:currentColor}
.hero .dim,.s.dark .dim{color:var(--tl-lt)}

/* ================================ HERO ================================== */
.hero{background:var(--k);color:#fff;overflow:hidden;position:relative}
.hero-in{max-width:1120px;margin:0 auto;padding:clamp(38px,5.5vw,74px) clamp(18px,4vw,46px);
  display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(24px,4vw,54px);align-items:center}
h1.h1{font-size:clamp(34px,5.4vw,62px);line-height:1.02;letter-spacing:-.035em;font-weight:800;
  margin:0 0 16px;color:#fff;text-wrap:balance}
.hero .sub{font-size:clamp(17px,2.1vw,21px);color:#C9D2D1;margin:0 0 26px;max-width:46ch;line-height:1.52}
.hero .sub b{color:#fff;font-weight:700}
.cta{display:flex;gap:11px;flex-wrap:wrap;margin-bottom:22px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:53px;padding:0 27px;
  border-radius:9px;text-decoration:none;font-size:16px;font-weight:750;border:2px solid transparent;
  cursor:pointer;font-family:inherit}
.btn:focus-visible{outline:2px solid var(--tl-lt);outline-offset:3px}
.b1{background:var(--tl);color:#fff}
.b1:hover{background:var(--tl-d)}
.b2{background:transparent;color:#fff;border-color:rgba(255,255,255,.42)}
.b2:hover{background:#fff;color:var(--k);border-color:#fff}
.b3{background:var(--ink);color:#fff}
.b3:hover{background:var(--tl-d)}
.b4{background:transparent;color:var(--ink);border-color:var(--ink)}
.b4:hover{background:var(--ink);color:#fff}
.hchips{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13.8px;color:#AEB9B8}
.hchips span{display:inline-flex;align-items:center;gap:7px}
.hchips svg{color:var(--tl-lt);flex:none}
.hero figure{margin:0;border-radius:13px;overflow:hidden;line-height:0;box-shadow:0 30px 60px -26px rgba(0,0,0,.8)}
.hero figure img{width:100%;height:auto;display:block}

/* page header (interior pages) */
.phead{background:var(--k);color:#fff}
.phead-in{max-width:1120px;margin:0 auto;padding:clamp(30px,4vw,54px) clamp(18px,4vw,46px)}
.phead h1{font-size:clamp(30px,4.4vw,48px);line-height:1.06;letter-spacing:-.032em;font-weight:800;
  margin:0 0 12px;color:#fff;text-wrap:balance}
.phead p{color:#C9D2D1;font-size:clamp(16.5px,1.9vw,19px);margin:0;max-width:62ch;line-height:1.55}

/* trust strip */
.strip{background:var(--wash);border-bottom:1px solid var(--line)}
.strip-in{max-width:1120px;margin:0 auto;padding:18px clamp(18px,4vw,46px);
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.strip-in > div{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.4;
  color:var(--ink);font-weight:600}
.strip-in svg{color:var(--tl);flex:none;margin-top:1px}

/* ============================== SECTIONS ================================ */
.s{padding:clamp(44px,6.5vw,80px) 0}
.s.wash{background:var(--wash);border-block:1px solid var(--line)}
.s.dark{background:var(--k);color:#C7D0CF}
.s.dark h2,.s.dark h3{color:#fff}
h2{font-size:clamp(25px,3.5vw,38px);line-height:1.12;letter-spacing:-.028em;color:var(--ink);
  font-weight:800;margin:0 0 14px;text-wrap:balance}
h3{font-size:19px;line-height:1.28;color:var(--ink);font-weight:800;margin:0 0 8px;letter-spacing:-.012em}
.s p{margin:0 0 15px;max-width:64ch}
.lead{font-size:18px;color:var(--body);max-width:60ch}
.s.dark .lead{color:#B7C1C0}
a{color:var(--tl-d)}

/* service cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,22px);margin-top:30px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:26px 24px 24px;
  display:flex;flex-direction:column;transition:.16s ease;text-decoration:none;color:inherit}
a.card:focus-visible{outline:2px solid var(--tl);outline-offset:3px}
a.card:hover{border-color:var(--tl);transform:translateY(-2px);box-shadow:0 16px 34px -22px rgba(0,60,56,.5)}
.card .ic{width:42px;height:42px;border-radius:10px;background:var(--tl-w);color:var(--tl-d);
  display:grid;place-items:center;margin-bottom:16px}
.card p{font-size:15.5px;color:var(--body);margin:0 0 18px;flex:1}
.card .go{display:inline-flex;align-items:center;gap:7px;color:var(--tl-d);text-decoration:none;
  font-weight:750;font-size:15px}
.card .go svg{transition:.16s}
a.card:hover .go{gap:11px}

/* split feature */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4.5vw,56px);align-items:center}
.split figure{margin:0;line-height:0;border-radius:13px;overflow:hidden;border:1px solid var(--line)}
.split figure img{width:100%;height:auto;display:block}
.ticks{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:11px}
.ticks li{display:flex;gap:11px;align-items:flex-start;font-size:16px}
.ticks svg{color:var(--tl);flex:none;margin-top:4px}
code{font-family:ui-monospace,Consolas,"SF Mono",monospace;font-size:.92em;
  background:var(--wash);padding:1px 5px;border-radius:4px}
.s.dark code{background:rgba(255,255,255,.1)}

/* portfolio */
.folio{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}
.folio figure{position:relative;display:block;line-height:0;border-radius:11px;overflow:hidden;
  border:1px solid var(--line);background:var(--wash);margin:0}
.folio figure:nth-child(1),.folio figure:nth-child(6){grid-column:span 2}
.folio img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;display:block;transition:.35s ease}
.folio figcaption{position:absolute;left:12px;bottom:11px;background:rgba(11,13,13,.84);color:#fff;
  font-size:12px;font-weight:700;padding:5px 11px;border-radius:15px;line-height:1.3}

/* process */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,24px);margin-top:30px;counter-reset:st}
.step{position:relative;padding-top:20px;border-top:2px solid #2A3231}
.s:not(.dark) .step{border-top-color:var(--line2)}
.step::before{counter-increment:st;content:"0" counter(st);position:absolute;top:-12px;left:0;
  background:var(--k);color:var(--tl-lt);font-size:12px;font-weight:800;letter-spacing:.1em;padding-right:9px}
.s:not(.dark) .step::before{background:var(--paper);color:var(--tl-d)}
.step h3{font-size:16.5px;margin:0 0 7px}
.step p{font-size:14.8px;line-height:1.55;margin:0;color:inherit;opacity:.88}

/* viewer */
.vwr{margin-top:30px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--paper)}
.s.dark .vwr{border-color:#252C2C;background:#0F1313}
.vwr .im{position:relative;line-height:0;background:var(--wash)}
.s.dark .vwr .im{background:#141919}
.vwr .im img{width:100%;height:auto;display:block;max-height:400px;object-fit:contain}
.hint{position:absolute;left:50%;bottom:15px;transform:translateX(-50%);background:rgba(11,13,13,.88);
  color:#fff;font-size:12.5px;font-weight:650;padding:8px 15px;border-radius:20px;
  display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.vfoot{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;
  padding:13px 17px;border-top:1px solid var(--line);font-size:13.5px;color:var(--mute)}
.s.dark .vfoot{border-top-color:#252C2C;color:#8B9594}
.pill{display:inline-flex;align-items:center;gap:6px;background:var(--tl-w);color:var(--tl-d);
  font-size:12.5px;font-weight:750;padding:5px 12px;border-radius:20px}
.s.dark .pill{background:rgba(63,191,180,.13);color:var(--tl-lt)}

/* interactive model viewer -------------------------------------------------
   <model-viewer> is a custom element. Before its module loads (or if it never
   does) the browser treats it as an unknown inline element, so the height is
   set here to reserve the space either way and avoid a layout shift. */
.mvbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;line-height:1.4;
  padding:12px 16px;border-bottom:1px solid var(--line)}
.s.dark .mvbar{border-bottom-color:#252C2C}
.mvbar .mvlab{font-size:12.5px;font-weight:750;letter-spacing:.04em;text-transform:uppercase;
  color:var(--mute);margin-right:2px}
.s.dark .mvbar .mvlab{color:#6F7978}
.mvbar button{font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;padding:7px 15px;
  border-radius:20px;border:1px solid var(--line2);background:transparent;color:var(--body);
  transition:background .16s ease,border-color .16s ease,color .16s ease}
.s.dark .mvbar button{border-color:#2B3333;color:#9AA4A3}
.mvbar button:hover{border-color:var(--tl);color:var(--tl)}
.s.dark .mvbar button:hover{border-color:var(--tl-lt);color:var(--tl-lt)}
.mvbar button[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.s.dark .mvbar button[aria-selected="true"]{background:var(--tl-lt);border-color:var(--tl-lt);color:#08201E}
.mvbar button:focus-visible{outline:3px solid var(--tl-lt);outline-offset:2px}
model-viewer{display:block;width:100%;height:min(64vh,430px);background:#141919;
  --poster-color:#141919;--progress-bar-color:var(--tl-lt);--progress-mask:transparent}
model-viewer:focus-visible{outline:3px solid var(--tl-lt);outline-offset:-3px}
.mvfall{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;
  min-height:300px;padding:28px 24px;text-align:center;line-height:1.55;font-size:14.5px;color:#8B9594}
/* an author display value outranks the [hidden] attribute, so say it here */
.mvfall[hidden]{display:none}
.mvload{width:100%;height:2px;background:rgba(255,255,255,.09);opacity:1;transition:opacity .35s ease .1s}
.mvload span{display:block;height:100%;width:0;background:var(--tl-lt);transition:width .18s ease}
.mvload.done{opacity:0}
.mvfall b{display:block;color:#fff;font-size:16.5px;font-weight:800}
.mvfall a{color:var(--tl-lt)}
.vwr .im .hint{transition:opacity .3s ease}
.vwr .im.mv-touched .hint{opacity:0;pointer-events:none}

/* product row */
.prow{display:grid;grid-template-columns:210px 1fr auto;gap:24px;align-items:center;
  border:1px solid var(--line);border-radius:13px;padding:20px;background:var(--paper);margin-top:28px}
.prow img{width:100%;height:auto;border-radius:9px;display:block}
.prow h3{margin:0 0 7px;font-size:21px}
.prow p{margin:0 0 10px;font-size:15px;max-width:44ch}
.pz{font-size:29px;font-weight:800;color:var(--ink);letter-spacing:-.025em;
  font-variant-numeric:tabular-nums;line-height:1}
.pz small{display:block;font-size:13.5px;font-weight:700;color:var(--tl-d);margin-top:5px;letter-spacing:0}

/* FAQ */
.faq{margin-top:28px;border-top:1px solid var(--line2)}
.q{border-bottom:1px solid var(--line2)}
.q summary{list-style:none;cursor:pointer;padding:19px 44px 19px 0;position:relative;font-size:17.5px;
  font-weight:750;color:var(--ink);line-height:1.4}
.q summary::-webkit-details-marker{display:none}
.q summary::after{content:"";position:absolute;right:8px;top:26px;width:11px;height:11px;
  border-right:2.2px solid var(--tl);border-bottom:2.2px solid var(--tl);transform:rotate(45deg);transition:.2s}
.q[open] summary::after{transform:rotate(-135deg);top:29px}
.q summary:hover{color:var(--tl-d)}
.q summary:focus-visible{outline:2px solid var(--tl);outline-offset:3px;border-radius:4px}
.q .a{padding:0 40px 20px 0;font-size:16px;max-width:66ch}
.q .a p{margin:0 0 11px}
.q .a p:last-child{margin:0}

/* CTA band */
.band{background:var(--tl-d);color:#fff;padding:clamp(44px,6vw,72px) 20px;text-align:center}
.band h2{color:#fff;margin:0 0 12px;font-size:clamp(24px,3.2vw,36px)}
.band p{color:#CDE7E5;max-width:52ch;margin:0 auto 26px;font-size:17px}
.band .cta{justify-content:center;margin:0}
.band .b1{background:#fff;color:var(--tl-d)}
.band .b1:hover{background:var(--k);color:#fff}
.band .b2{border-color:rgba(255,255,255,.55)}
.band .b2:hover{background:#fff;color:var(--tl-d)}

/* ============================ PRODUCT PAGE ============================== */
.crumb{font-size:13.5px;color:var(--mute);padding:18px 0 0}
.crumb a{color:var(--mute);text-decoration:none}
.crumb a:hover{color:var(--tl-d);text-decoration:underline}
.pdp{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(26px,4vw,54px);padding:22px 0 0}
.gal figure{margin:0 0 11px;line-height:0;border:1px solid var(--line);border-radius:13px;overflow:hidden}
.gal figure img{width:100%;height:auto;display:block}
.pdp h1{font-size:clamp(29px,3.8vw,40px);line-height:1.08;color:var(--ink);font-weight:800;
  margin:0 0 8px;letter-spacing:-.028em}
.prz{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:16px 0 6px}
.prz .pz{font-size:34px}
.badge{background:var(--tl-w);color:var(--tl-d);font-weight:800;font-size:14px;padding:7px 13px;border-radius:8px}
.each{font-size:14px;color:var(--mute);margin:0 0 20px}
.addr{display:flex;gap:12px;align-items:stretch;margin:22px 0 16px;flex-wrap:wrap}
.addr .btn{flex:1;min-width:200px}
.assure{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:10px}
.assure li{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--body)}
.assure svg{color:var(--tl);flex:none;margin-top:3px}
.spec{width:100%;border-collapse:collapse;font-size:15px;margin-top:10px}
.spec caption{text-align:left;font-weight:800;color:var(--ink);padding-bottom:6px}
.spec th,.spec td{text-align:left;padding:10px 0;border-bottom:1px solid var(--line);vertical-align:top}
.spec th{width:36%;color:var(--mute);font-weight:600}
.spec td{color:var(--ink)}

/* ============================== CONTACT ================================= */
.cg{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(26px,4vw,52px);align-items:start;margin-top:28px}
.ccard{background:var(--wash);border:1px solid var(--line);border-radius:13px;padding:26px}
.ccard h3{margin:0 0 6px;font-size:12px;letter-spacing:.17em;text-transform:uppercase;
  color:var(--mute);font-weight:800}
.tel-b{display:inline-flex;align-items:center;gap:11px;font-size:clamp(21px,2.5vw,27px);font-weight:800;
  color:var(--ink);text-decoration:none;letter-spacing:-.02em;margin:0 0 6px}
.tel-b:hover{color:var(--tl-d)}
.ccard p{margin:0;font-size:15px;color:var(--body)}
.ccard hr{border:0;border-top:1px solid var(--line2);margin:21px 0}
form.f{display:grid;gap:17px}
.f .rq{font-size:13.5px;color:var(--mute);margin:0}
.f .rq em{color:#B3261E;font-style:normal;font-weight:800;padding:0 1px}
.f label{display:block;font-size:14px;font-weight:750;color:var(--ink);margin-bottom:7px}
.f label em{color:#B3261E;font-style:normal}
.f input,.f textarea,.f select{width:100%;font:inherit;font-size:16px;padding:13px 14px;
  border:2px solid var(--line2);border-radius:9px;background:var(--paper);color:var(--ink)}
.f input:focus,.f textarea:focus,.f select:focus{outline:0;border-color:var(--tl)}
.f textarea{min-height:128px;resize:vertical}
.f .two{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.f button{justify-self:start}
.hlp{font-size:13px;color:var(--mute);margin:6px 0 0}
/* honeypot - hidden from people, visible to bots */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ============================ LEGAL / PROSE ============================= */
.prose{max-width:72ch;margin:0 auto}
.prose h2{font-size:clamp(21px,2.6vw,27px);margin:34px 0 12px}
.prose h3{font-size:18px;margin:26px 0 8px}
.prose p,.prose li{font-size:16.5px;line-height:1.68}
.prose ul,.prose ol{padding-left:22px;display:grid;gap:9px;margin:0 0 15px}
.prose .updated{font-size:14px;color:var(--mute);margin-bottom:26px}
.callout{background:var(--tl-w);border-left:3px solid var(--tl);border-radius:0 9px 9px 0;
  padding:16px 20px;margin:22px 0}
.callout p{margin:0;color:#08453F;font-size:15.5px}
.callout p + p{margin-top:10px}

/* ============================== FOOTER ================================== */
.foot{background:#12191A;color:#B9C3C2;padding:clamp(36px,5vw,58px) 0 26px;font-size:15px}
.fg{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:clamp(20px,3.5vw,42px)}
.foot h4{margin:0 0 13px;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:#fff;font-weight:800}
.foot a{color:#B9C3C2;text-decoration:none}
.foot a:hover{color:#fff;text-decoration:underline}
.foot p{margin:0 0 9px;line-height:1.62}
.foot .big{font-size:20px;font-weight:800;color:#fff;display:inline-block;margin-bottom:9px}
.fl{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.fbot{border-top:1px solid #253030;margin-top:32px;padding-top:19px;display:flex;flex-wrap:wrap;gap:12px;
  justify-content:space-between;font-size:13.5px;color:#7E8988}
.flogo{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.flogo img{width:34px;height:auto}
.flogo b{color:#fff;font-size:18px;font-weight:800;letter-spacing:.07em}

/* ============================= RESPONSIVE =============================== */
@media (max-width:1000px){
  .hero-in,.pdp,.cg{grid-template-columns:1fr}
  .split{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .strip-in{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .fg{grid-template-columns:1fr 1fr}
  .menu{display:none}
  .mtoggle{display:flex}
  .folio{grid-template-columns:1fr 1fr}
  .folio figure:nth-child(1),.folio figure:nth-child(6){grid-column:span 1}
  .prow{grid-template-columns:1fr}
}
@media (max-width:600px){
  .strip-in{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .f .two{grid-template-columns:1fr}
  .fg{grid-template-columns:1fr}
  .phone span{display:none}
  .navcta{padding:0 13px;font-size:14px}
  .nav-in{gap:10px}
  .logo b{font-size:17px}
  .logo img{width:30px}
}

/* ================================ PRINT ================================= */
@media print{
  .nav,.mnav,.band,.foot,.skip{display:none}
  body{font-size:12pt}
}
