/* ==========================================================================
   Dubsib Home & Office — site stylesheet
   Palette taken directly from the Dubsib logo: navy #131345 + gold #B8924C
   ========================================================================== */

/* ---- self-hosted fonts (no external requests; faster on mobile data) ---- */
@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;
  src:url("fonts/instrument-serif-latin-400-normal.woff2") format("woff2");}
@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;
  src:url("fonts/instrument-serif-latin-400-italic.woff2") format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;
  src:url("fonts/inter-latin-400-normal.woff2") format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;
  src:url("fonts/inter-latin-500-normal.woff2") format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;
  src:url("fonts/inter-latin-600-normal.woff2") format("woff2");}

:root{
  --navy:#131345;
  --navy-deep:#0B0B2B;
  --navy-soft:#1E1F5C;
  --gold:#B8924C;
  --gold-light:#D9BE7E;
  --gold-deep:#8C6E2A;
  --paper:#F8F6F1;
  --paper-2:#EFEBE3;
  --ink:#17171F;
  --muted:#5C5C6B;
  --muted-light:#9A9AA8;
  --line:rgba(19,19,69,.14);
  --line-dark:rgba(255,255,255,.16);
  --serif:"Instrument Serif","Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --pad:clamp(1.25rem,5vw,2.5rem);
  --section:clamp(4.5rem,10vw,9.5rem);
  --maxw:1240px;
  --ease:cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:1.0625rem;line-height:1.65;
  font-weight:400;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto;}
a{color:inherit;}
button{font:inherit;}

/* ---------- type ---------- */
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;margin:0;}
h1{font-size:clamp(2.35rem,6.2vw,4.6rem);line-height:1.04;}
h2{font-size:clamp(1.95rem,4.2vw,3.15rem);line-height:1.1;}
h3{font-size:clamp(1.35rem,2.2vw,1.75rem);line-height:1.2;}
p{margin:0 0 1.1em;}
.lede{font-size:clamp(1.075rem,1.65vw,1.3rem);line-height:1.6;color:var(--muted);}
.eyebrow{
  font-family:var(--sans);font-size:.72rem;font-weight:600;text-transform:uppercase;
  letter-spacing:.16em;color:var(--gold-deep);margin:0 0 1.1rem;display:block;
}
.on-dark .eyebrow,.dark .eyebrow,.band .eyebrow,.hero .eyebrow,.page-hero .eyebrow,.cta-band .eyebrow{color:var(--gold-light);}
em{font-style:italic;}
.muted{color:var(--muted);}
.small{font-size:.925rem;}

/* ---------- layout ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);}
.wrap-wide{max-width:1480px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);}
section{padding-block:var(--section);}
.dark{background:var(--navy);color:#fff;}
.dark p,.dark .lede{color:rgba(255,255,255,.74);}
.deep{background:var(--navy-deep);color:#fff;}
.tint{background:var(--paper-2);}
.rule{height:1px;background:var(--line);border:0;margin:0;}
.section-head{max-width:42rem;margin-bottom:clamp(2.5rem,5vw,4rem);}
.section-head.wide{max-width:56rem;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  padding:.95rem 1.6rem;border-radius:3px;border:1px solid transparent;
  font-size:.94rem;font-weight:600;letter-spacing:.01em;text-decoration:none;
  cursor:pointer;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);
  min-height:48px;
}
.btn-primary{background:var(--navy);color:#fff;}
.btn-primary:hover{background:var(--navy-soft);}
.btn-gold{background:var(--gold);color:#0B0B2B;}
.btn-gold:hover{background:var(--gold-light);}
.btn-light{background:#fff;color:var(--navy);}
.btn-light:hover{background:var(--paper-2);}
.btn-ghost{background:transparent;color:var(--navy);border-color:rgba(19,19,69,.35);}
.btn-ghost:hover{border-color:var(--navy);background:rgba(19,19,69,.05);}
.btn-ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.45);}
.btn-ghost-light:hover{border-color:#fff;background:rgba(255,255,255,.09);}
.btn-row{display:flex;flex-wrap:wrap;gap:.85rem;}

.link-arrow{
  display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;
  font-weight:600;font-size:.94rem;color:var(--navy);padding-bottom:2px;
  border-bottom:1px solid rgba(19,19,69,.28);transition:border-color .25s var(--ease),gap .25s var(--ease);
}
.link-arrow:hover{border-color:var(--gold);gap:.8rem;}
.dark .link-arrow{color:#fff;border-color:rgba(255,255,255,.35);}
.dark .link-arrow:hover{border-color:var(--gold-light);}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:80;background:var(--navy);
  border-bottom:1px solid rgba(255,255,255,.1);
}
.header-inner{
  max-width:1480px;margin:0 auto;padding:.7rem var(--pad);
  display:flex;align-items:center;gap:1.5rem;
}
.brand{display:flex;align-items:center;text-decoration:none;flex:0 0 auto;}
.brand img{width:clamp(132px,17vw,178px);height:auto;}
.nav{display:flex;align-items:center;gap:1.85rem;margin-left:auto;}
.nav a{
  color:rgba(255,255,255,.86);text-decoration:none;font-size:.9rem;font-weight:500;
  letter-spacing:.01em;padding:.35rem 0;position:relative;white-space:nowrap;
}
.nav a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--gold-light);
  transition:right .3s var(--ease);
}
.nav a:hover::after,.nav a[aria-current="page"]::after{right:0;}
.nav a[aria-current="page"]{color:#fff;}
.header-actions{display:flex;align-items:center;gap:1.1rem;}
.header-tel{
  color:#fff;text-decoration:none;font-size:.9rem;font-weight:600;white-space:nowrap;
  display:inline-flex;align-items:center;gap:.45rem;
}
.header-tel:hover{color:var(--gold-light);}
.header-actions .btn{padding:.72rem 1.15rem;min-height:44px;font-size:.875rem;}

.burger{
  display:none;margin-left:auto;background:none;border:0;color:#fff;
  padding:.5rem;cursor:pointer;line-height:0;
}
.burger span{display:block;width:24px;height:1.5px;background:#fff;margin:5px 0;transition:transform .3s var(--ease),opacity .2s;}
.mobile-panel{
  position:fixed;inset:0;z-index:90;background:var(--navy);
  display:flex;flex-direction:column;padding:1.25rem var(--pad) 2rem;
  transform:translateY(-100%);transition:transform .45s var(--ease);visibility:hidden;
}
.mobile-panel.open{transform:none;visibility:visible;}
.mobile-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:auto;}
.mobile-top img{width:150px;}
.close-x{background:none;border:0;color:#fff;font-size:1.9rem;line-height:1;cursor:pointer;padding:.25rem .5rem;}
.mobile-nav{display:flex;flex-direction:column;gap:.35rem;margin:2rem 0;}
.mobile-nav a{
  font-family:var(--serif);font-size:2rem;color:#fff;text-decoration:none;padding:.35rem 0;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.mobile-cta{display:grid;gap:.7rem;}

/* ---------- hero ---------- */
.hero{position:relative;isolation:isolate;min-height:clamp(500px,78vh,760px);display:flex;align-items:flex-end;padding:0;}
.hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden;background:var(--navy-deep);}
.hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.92);}
.hero::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to top,rgba(6,6,26,.94) 0%,rgba(6,6,26,.86) 26%,rgba(6,6,26,.62) 52%,rgba(6,6,26,.34) 78%,rgba(6,6,26,.22) 100%);
}
.hero-inner{width:100%;max-width:1480px;margin:0 auto;padding:clamp(3rem,9vw,6rem) var(--pad) clamp(2.5rem,6vw,4.25rem);color:#fff;}
.hero h1{max-width:16ch;color:#fff;}
.hero h1 em{color:var(--gold-light);}
.hero .lede{max-width:46ch;color:rgba(255,255,255,.82);margin-top:1.25rem;}
.hero .btn-row{margin-top:2rem;}
.hero-note{margin-top:1.35rem;font-size:.875rem;color:rgba(255,255,255,.62);}

.page-hero{background:var(--navy);color:#fff;padding-block:clamp(3.25rem,8vw,6rem);position:relative;overflow:hidden;}
.page-hero h1{color:#fff;max-width:18ch;}
.page-hero .lede{color:rgba(255,255,255,.75);max-width:52ch;margin-top:1.1rem;}
.crumbs{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:1.4rem;}
.crumbs a{color:rgba(255,255,255,.7);text-decoration:none;}
.crumbs a:hover{color:var(--gold-light);}

/* ---------- trust strip ---------- */
.trust{background:var(--navy-deep);color:#fff;padding-block:0;}
.trust-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-left:1px solid var(--line-dark);
}
.trust-item{padding:1.6rem 1.5rem;border-right:1px solid var(--line-dark);display:flex;gap:.8rem;align-items:flex-start;}
.trust-item svg{flex:0 0 auto;margin-top:2px;}
.trust-item b{display:block;font-size:.94rem;font-weight:600;letter-spacing:.005em;}
.trust-item span{display:block;font-size:.83rem;color:rgba(255,255,255,.58);margin-top:.15rem;}

/* ---------- two column ---------- */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,5.5rem);align-items:start;}
.two-col.mid{align-items:center;}
.two-col.tight{gap:clamp(2rem,4vw,3.5rem);}
.stack-sm > * + *{margin-top:1.5rem;}

/* ---------- alternating service rows ---------- */
.srow{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
.srow-body{padding-block:.25rem;}
.srow + .srow{margin-top:clamp(3.5rem,7vw,6.5rem);}
.srow:nth-child(even) .srow-media{order:2;}
.srow-media{position:relative;overflow:hidden;background:var(--paper-2);}
.srow-media img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .8s var(--ease);}
.srow-media:hover img{transform:scale(1.035);}
.srow-body h3{margin-bottom:.85rem;}
.tag-list{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 1.4rem;padding:0;list-style:none;}
.tag-list li{
  font-size:.79rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);
  border:1px solid var(--line);padding:.32rem .65rem;border-radius:2px;
}
.dark .tag-list li{color:rgba(255,255,255,.7);border-color:var(--line-dark);}

/* ---------- card grid ---------- */
.grid{display:grid;gap:clamp(1.1rem,2.2vw,1.9rem);}
.g2{grid-template-columns:repeat(2,1fr);}
.g3{grid-template-columns:repeat(3,1fr);}
.g4{grid-template-columns:repeat(4,1fr);}

.card{background:transparent;text-decoration:none;color:inherit;display:block;}
.card-media{overflow:hidden;background:var(--paper-2);margin-bottom:1.05rem;}
.card-media img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .8s var(--ease);}
.card:hover .card-media img{transform:scale(1.04);}
.card h3{font-size:1.28rem;margin-bottom:.4rem;}
.card p{font-size:.95rem;color:var(--muted);margin:0;}
.dark .card p{color:rgba(255,255,255,.68);}

.mini{border-top:1px solid var(--line);padding-top:1.15rem;}
.mini h4{font-family:var(--sans);font-size:1rem;font-weight:600;margin-bottom:.35rem;letter-spacing:0;}
.mini p{font-size:.92rem;color:var(--muted);margin:0;}
.dark .mini{border-color:var(--line-dark);}
.dark .mini p{color:rgba(255,255,255,.65);}

/* ---------- feature band ---------- */
.band{position:relative;isolation:isolate;color:#fff;padding-block:clamp(5rem,11vw,9rem);overflow:hidden;}
.band-media{position:absolute;inset:0;z-index:-2;}
.band-media img{width:100%;height:100%;object-fit:cover;}
.band::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(8,8,32,.93) 0%,rgba(8,8,32,.78) 45%,rgba(8,8,32,.42) 100%);}
.band h2{color:#fff;max-width:20ch;}
.band .lede{color:rgba(255,255,255,.78);max-width:46ch;}

/* ---------- process ---------- */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0 clamp(1rem,2vw,2rem);position:relative;}
.steps.four{grid-template-columns:repeat(4,1fr);}
.step{padding:2.2rem 0 0;border-top:1px solid var(--line);position:relative;}
.dark .step{border-color:var(--line-dark);}
.step-num{
  font-family:var(--serif);font-size:clamp(3rem,5vw,4.25rem);line-height:1;
  color:var(--gold);opacity:.9;display:block;margin-bottom:.9rem;font-variant-numeric:tabular-nums;
}
.step h3{font-size:1.2rem;margin-bottom:.5rem;}
.step p{font-size:.93rem;color:var(--muted);margin-bottom:.7rem;}
.dark .step p{color:rgba(255,255,255,.66);}
.step .promise{font-size:.83rem;color:var(--gold-deep);font-weight:600;}
.dark .step .promise{color:var(--gold-light);}

/* ---------- gallery ---------- */
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;}
.chip{
  background:transparent;border:1px solid var(--line);color:var(--muted);
  padding:.5rem 1rem;border-radius:2px;font-size:.86rem;font-weight:500;cursor:pointer;
  transition:all .25s var(--ease);white-space:nowrap;
}
.chip:hover{border-color:var(--navy);color:var(--navy);}
.chip[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff;}

.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.7rem,1.5vw,1.15rem);}
.tile{position:relative;overflow:hidden;background:var(--paper-2);margin:0;cursor:pointer;border:0;padding:0;width:100%;display:block;text-align:left;}
.tile img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transition:transform .8s var(--ease);}
.tile.tall img{aspect-ratio:3/4;}
.tile figcaption{
  position:absolute;inset:auto 0 0 0;padding:1.5rem 1.1rem .95rem;color:#fff;
  background:linear-gradient(to top,rgba(6,6,26,.86),rgba(6,6,26,0));
  font-size:.88rem;opacity:0;transform:translateY(8px);transition:opacity .35s var(--ease),transform .35s var(--ease);
}
.tile figcaption b{display:block;font-weight:600;}
.tile figcaption span{color:rgba(255,255,255,.7);font-size:.8rem;}
.tile:hover img{transform:scale(1.05);}
.tile:hover figcaption,.tile:focus-visible figcaption{opacity:1;transform:none;}
.tile[hidden]{display:none;}

.lightbox{
  position:fixed;inset:0;z-index:120;background:rgba(5,5,18,.985);backdrop-filter:blur(3px);
  display:none;align-items:center;justify-content:center;padding:3.5rem 1rem 5rem;
}
.lightbox.open{display:flex;}
.lightbox img{max-width:min(1150px,92vw);max-height:80vh;object-fit:contain;}
.lb-cap{position:absolute;left:0;right:0;bottom:1.5rem;text-align:center;color:rgba(255,255,255,.8);font-size:.9rem;padding:0 1rem;}
.lb-btn{
  position:absolute;background:none;border:0;color:#fff;cursor:pointer;
  font-size:2rem;line-height:1;padding:.6rem .9rem;opacity:.75;transition:opacity .2s;
}
.lb-btn:hover{opacity:1;}
.lb-close{top:1rem;right:1rem;}
.lb-prev{left:.5rem;top:50%;transform:translateY(-50%);}
.lb-next{right:.5rem;top:50%;transform:translateY(-50%);}

/* ---------- numbers ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;}
.stat b{
  display:block;font-family:var(--serif);font-size:clamp(2.5rem,5vw,3.6rem);
  line-height:1;color:var(--gold-light);font-variant-numeric:tabular-nums;margin-bottom:.6rem;
}
.stat span{font-size:.92rem;color:rgba(255,255,255,.7);}

/* ---------- form ---------- */
.form-card{background:#fff;padding:clamp(1.6rem,3.5vw,2.75rem);border:1px solid var(--line);}
.dark .form-card{background:rgba(255,255,255,.05);border-color:var(--line-dark);}
.field{margin-bottom:1.1rem;}
.field label{display:block;font-size:.83rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.45rem;color:var(--muted);}
.dark .field label{color:rgba(255,255,255,.72);}
.field input,.field select,.field textarea{
  width:100%;padding:.85rem .95rem;border:1px solid var(--line);border-radius:2px;
  background:#fff;color:var(--ink);font-family:var(--sans);font-size:1rem;min-height:48px;
  transition:border-color .25s var(--ease);
}
.dark .field input,.dark .field select,.dark .field textarea{
  background:rgba(255,255,255,.06);border-color:var(--line-dark);color:#fff;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);}
.field textarea{min-height:110px;resize:vertical;}
.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;}
.choice{position:relative;}
.choice input{position:absolute;opacity:0;width:0;height:0;}
.choice span{
  display:flex;align-items:center;justify-content:center;text-align:center;min-height:56px;
  padding:.6rem .5rem;border:1px solid var(--line);border-radius:2px;font-size:.88rem;
  cursor:pointer;transition:all .25s var(--ease);
}
.dark .choice span{border-color:var(--line-dark);}
.choice input:checked + span{border-color:var(--gold);background:rgba(184,146,76,.12);font-weight:600;}
.choice input:focus-visible + span{outline:2px solid var(--gold);outline-offset:2px;}
.form-note{font-size:.85rem;color:var(--muted);margin-top:1rem;}
.dark .form-note{color:rgba(255,255,255,.6);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}

/* ---------- faq ---------- */
.faq{border-top:1px solid var(--line);}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{
  list-style:none;cursor:pointer;padding:1.35rem 2.5rem 1.35rem 0;position:relative;
  font-size:1.08rem;font-weight:500;font-family:var(--serif);letter-spacing:-.005em;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
  content:"";position:absolute;right:.35rem;top:50%;width:11px;height:11px;
  border-right:1.5px solid var(--gold-deep);border-bottom:1.5px solid var(--gold-deep);
  transform:translateY(-70%) rotate(45deg);transition:transform .3s var(--ease);
}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg);}
.faq p{padding:0 2.5rem 1.4rem 0;margin:0;color:var(--muted);font-size:.98rem;}

/* ---------- contact detail ---------- */
.detail-list{list-style:none;margin:0;padding:0;}
.detail-list li{border-top:1px solid var(--line);padding:1.15rem 0;display:flex;gap:1.1rem;}
.dark .detail-list li{border-color:var(--line-dark);}
.detail-list b{font-family:var(--sans);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);flex:0 0 6.5rem;padding-top:.2rem;}
.detail-list li>*:last-child{min-width:0;}
.detail-list a[href^="tel"],.detail-list a[href^="https://wa.me"]{white-space:nowrap;}
.dark .detail-list b{color:rgba(255,255,255,.55);}
.detail-list a{text-decoration:none;border-bottom:1px solid var(--line);}
.detail-list a:hover{border-color:var(--gold);}

/* ---------- CTA band ---------- */
.cta-band{background:var(--navy-deep);color:#fff;text-align:center;padding-block:clamp(4rem,9vw,7rem);}
.cta-band h2{color:#fff;max-width:20ch;margin:0 auto 1.1rem;}
.cta-band .lede{color:rgba(255,255,255,.72);max-width:42ch;margin:0 auto 2rem;}
.cta-band .btn-row{justify-content:center;}

/* ---------- footer ---------- */
.site-footer{background:var(--navy);color:rgba(255,255,255,.72);padding-block:clamp(3rem,6vw,4.5rem) 0;font-size:.93rem;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:clamp(1.75rem,4vw,3rem);}
.site-footer img.f-logo{width:170px;margin-bottom:1.1rem;}
.site-footer h4{font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:1rem;}
.site-footer ul{list-style:none;margin:0;padding:0;}
.site-footer li{margin-bottom:.6rem;}
.site-footer a{text-decoration:none;color:rgba(255,255,255,.72);}
.site-footer a:hover{color:var(--gold-light);}
.footer-bottom{
  margin-top:clamp(2.5rem,5vw,3.5rem);border-top:1px solid rgba(255,255,255,.12);
  padding:1.5rem 0 calc(1.5rem + env(safe-area-inset-bottom));
  display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;justify-content:space-between;
  font-size:.83rem;color:rgba(255,255,255,.5);
}

/* ---------- mobile sticky bar ---------- */
.mobile-bar{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:70;
  background:var(--navy);border-top:1px solid rgba(255,255,255,.14);
  padding-bottom:env(safe-area-inset-bottom);
}
.mobile-bar a{
  flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:56px;text-decoration:none;font-size:.94rem;font-weight:600;color:#fff;
}
.mobile-bar a + a{background:var(--gold);color:var(--navy-deep);}

/* ---------- motion ---------- */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.reveal.in{opacity:1;transform:none;}

/* ---------- a11y ---------- */
.skip{position:absolute;left:-9999px;top:0;background:#fff;color:var(--navy);padding:.75rem 1rem;z-index:200;}
.skip:focus{left:.5rem;top:.5rem;}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1080px){
  .nav{gap:1.35rem;}
  .nav a{font-size:.86rem;}
  .header-tel{display:none;}
}
@media (max-width:1180px){
  .steps{grid-template-columns:repeat(3,1fr);gap:0 1.6rem;}
  .step{padding-bottom:1.75rem;}
}
@media (max-width:900px){
  .nav,.header-actions{display:none;}
  .burger{display:block;}
  .trust-grid{grid-template-columns:repeat(2,1fr);}
  .two-col,.srow{grid-template-columns:1fr;}
  .srow:nth-child(even) .srow-media{order:0;}
  .g3,.g4{grid-template-columns:repeat(2,1fr);}
  .steps,.steps.four{grid-template-columns:repeat(2,1fr);gap:0 1.5rem;}
  .gallery{grid-template-columns:repeat(2,1fr);}
  .stats{grid-template-columns:repeat(2,1fr);gap:1.75rem;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .mobile-bar{display:flex;}
  body{padding-bottom:56px;}
  .lightbox{padding-bottom:6rem;}
}
@media (max-width:620px){
  .trust-grid{grid-template-columns:1fr;border-left:0;}
  .trust-item{border-right:0;border-bottom:1px solid var(--line-dark);}
  .g2,.g3,.g4{grid-template-columns:1fr;}
  .gallery{grid-template-columns:1fr;}
  .tile.tall img,.tile img{aspect-ratio:4/3;}
  .steps,.steps.four{grid-template-columns:1fr;}
  .stats{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .form-row,.choice-grid{grid-template-columns:1fr;}
  .hero .btn-row .btn{width:100%;}
  .detail-list li{flex-direction:column;gap:.3rem;}
  .detail-list b{flex:none;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}
  html{scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;}
}
