/* ===========================================================
   Agrawal Oil Group / Ankur Oil — Udaipur
   Stylesheet · 3i Planet — Udaipur Web Designer
   =========================================================== */

:root{
  --navy:#0c1b30;
  --navy-2:#16294291;
  --ink:#1b2431;
  --body:#4a5464;
  --mute:#7d8797;
  --gold:#c8920c;
  --gold-lt:#f0b71f;
  --red:#c1181e;
  --paper:#faf8f3;
  --paper-2:#f2ece0;
  --line:#ded6c6;
  --line-2:#eae4d7;
  --white:#fff;

  --slab:"Jost","Century Gothic","Questrial",Futura,"Avenir Next",Avenir,"Trebuchet MS",sans-serif;
  --sans:"Jost","Century Gothic","Questrial",Futura,"Avenir Next",Avenir,"Trebuchet MS",sans-serif;
  --wrap:1180px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:100px}
body{
  margin:0;background:var(--paper);color:var(--body);
  font-family:var(--sans);font-size:17px;line-height:1.78;letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul,ol{margin:0;padding:0;list-style:none}
p{margin:0 0 1.05em}
p:last-child{margin-bottom:0}
:where(h1:not(.hx),.hx-h1),:where(h2:not(.hx),.hx-h2),:where(h3:not(.hx),.hx-h3),:where(h4:not(.hx),.hx-h4){margin:0;font-family:var(--slab);color:var(--navy);font-weight:600;line-height:1.18;letter-spacing:-.012em}
button{font:inherit;border:0;background:none;cursor:pointer;color:inherit}
table{border-collapse:collapse;width:100%}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:24px}
.sec{padding-block:clamp(50px,6.4vw,92px)}
.sec--sm{padding-block:clamp(38px,4.4vw,60px)}
.paper2{background:var(--paper-2)}
.navy{background:var(--navy);color:#aebaca}
.navy :where(h1:not(.hx),.hx-h1),.navy :where(h2:not(.hx),.hx-h2),.navy :where(h3:not(.hx),.hx-h3),.navy :where(h4:not(.hx),.hx-h4){color:#fff}

/* ---------- typographic furniture ---------- */
.kicker{
  display:block;font-size:.7rem;font-weight:600;
  letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:15px;
}
.navy .kicker{color:var(--gold-lt)}
.ttl{font-size:clamp(1.75rem,3.4vw,2.7rem);letter-spacing:-.02em}
.ttl-sm{font-size:clamp(1.35rem,2.1vw,1.72rem);letter-spacing:-.015em}
.hr-gold{width:52px;height:2px;background:var(--gold);margin:18px 0 0}
.lede{font-size:1.06rem;line-height:1.78}
.sec-head{margin-bottom:clamp(30px,3.6vw,48px)}
.sec-head--row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;
  border-bottom:1px solid var(--line);padding-bottom:18px}
.navy .sec-head--row{border-color:rgba(255,255,255,.16)}

.tlink{
  display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--navy);
  border-bottom:2px solid var(--gold);padding-bottom:3px;transition:color .2s,border-color .2s;
}
.tlink:hover{color:var(--gold)}
.navy .tlink{color:#fff}
.navy .tlink:hover{color:var(--gold-lt)}
.tlink svg{width:13px;height:13px}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-size:.79rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  padding:15px 28px;border:1.5px solid transparent;border-radius:2px;
  transition:background-color .2s,color .2s,border-color .2s;
}
.btn svg{width:14px;height:14px}
.btn--navy{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn--navy:hover{background:#16294a;border-color:#16294a}
.btn--gold{background:var(--gold);color:#fff;border-color:var(--gold)}
.btn--gold:hover{background:#a87a08;border-color:#a87a08}
.btn--line{border-color:var(--navy);color:var(--navy)}
.btn--line:hover{background:var(--navy);color:#fff}
.btn--wline{border-color:rgba(255,255,255,.45);color:#fff}
.btn--wline:hover{background:#fff;color:var(--navy);border-color:#fff}

/* ===========================================================
   HEADER
   =========================================================== */
.strip{background:var(--navy);color:#93a2b6;font-size:.76rem;letter-spacing:.02em}
.strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:38px;flex-wrap:wrap}
.strip__l{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.strip b{color:var(--gold-lt);font-weight:600;letter-spacing:.2em;text-transform:uppercase;font-size:.67rem}
.strip a:hover{color:#fff}

.hdr{position:sticky;top:0;z-index:60;background:var(--paper);border-bottom:1px solid var(--line)}
.hdr.stuck{box-shadow:0 1px 0 var(--line),0 8px 20px -16px rgba(12,27,48,.5)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:78px}
.logo{display:flex;align-items:center;gap:15px;flex:none}
.logo img{width:96px}
.logo span{display:block;border-left:1px solid var(--line);padding-left:15px;line-height:1.25}
.logo b{display:block;font-family:var(--slab);font-size:1.02rem;color:var(--navy);font-weight:600;letter-spacing:.01em}
.logo i{display:block;font-style:normal;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);font-weight:500}

.nav{display:flex;align-items:center;gap:2px}
.nav a{
  position:relative;padding:9px 14px;white-space:nowrap;
  font-size:.79rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--ink);
  transition:color .2s;
}
.nav a::after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2px;background:var(--gold);
  transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.nav a:hover{color:var(--gold)}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}

.hdr-end{display:flex;align-items:center;gap:12px;flex:none}
.hdr-end .btn{padding:12px 20px}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line);align-items:center;justify-content:center;border-radius:2px}
.burger svg{width:19px;height:19px}
.burger .cl{display:none}
.burger[aria-expanded="true"] .op{display:none}
.burger[aria-expanded="true"] .cl{display:block}
.mnav{display:none;border-top:1px solid var(--line);background:var(--paper)}
.mnav.open{display:block}
.mnav a{display:block;padding:14px 24px;border-bottom:1px solid var(--line-2);
  font-size:.82rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--ink)}
.mnav a[aria-current="page"]{color:var(--gold)}
.mnav .mcta{padding:18px 24px 26px;display:flex;gap:10px;flex-wrap:wrap}
.mnav .mcta a{padding:15px 26px;border-bottom:1.5px solid transparent;letter-spacing:.16em}
.mnav .mcta .btn--navy{color:#fff;background:var(--navy);border-color:var(--navy)}
.mnav .mcta .btn--navy:hover{background:#16294a;border-color:#16294a}
.mnav .mcta .btn--line{color:var(--navy);border-color:var(--navy)}
.mnav .mcta .btn--line:hover{background:var(--navy);color:#fff}

/* ===========================================================
   HERO
   =========================================================== */
.hero{position:relative;background:var(--navy);overflow:hidden}
.hero__s{position:absolute;inset:0;opacity:0;transition:opacity .8s ease}
.hero__s:first-child{position:relative}
.hero__s.on{opacity:1;z-index:2}
.hero__s img{width:100%}
.hero__nav{position:absolute;right:20px;bottom:16px;z-index:5;display:flex;gap:6px}
.hero__nav button{width:30px;height:4px;background:rgba(255,255,255,.42);transition:background .25s}
.hero__nav button.on{background:var(--gold-lt)}
.hero__ar{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:40px;height:40px;
  background:rgba(12,27,48,.45);color:#fff;display:flex;align-items:center;justify-content:center;transition:background .2s}
.hero__ar:hover{background:var(--gold)}
.hero__ar svg{width:17px;height:17px}
.hero__ar--p{left:0}
.hero__ar--n{right:0}

/* quote rule under hero */
.quote-band{background:var(--navy);border-top:1px solid rgba(255,255,255,.12);text-align:center;padding:26px 24px}
.quote-band q{display:block;font-family:var(--slab);font-weight:400;font-size:clamp(1.1rem,2.1vw,1.5rem);
  color:#fff;letter-spacing:.01em;quotes:'\201C' '\201D'}
.quote-band small{display:block;margin-top:7px;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-lt)}

/* ---------- facts row (no boxes, hairlines only) ---------- */
.facts{border-bottom:1px solid var(--line);background:var(--paper)}
.facts ul{display:grid;grid-template-columns:repeat(4,1fr)}
.facts li{padding:28px 18px;text-align:center;border-left:1px solid var(--line)}
.facts li:first-child{border-left:0}
.facts b{display:block;font-family:var(--slab);font-size:clamp(1.6rem,2.8vw,2.2rem);font-weight:500;color:var(--navy);line-height:1;letter-spacing:-.01em}
.facts span{display:block;margin-top:9px;font-size:.67rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);font-weight:500}

/* ===========================================================
   EDITORIAL BLOCKS
   =========================================================== */
.cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,68px);align-items:start}
.cols--rev .fig{order:2}
.cols--mid{align-items:center}
.fig{margin:0}
.fig img{width:100%;border:1px solid var(--line)}
.fig figcaption{margin-top:12px;font-size:.8rem;color:var(--mute);border-left:2px solid var(--gold);padding-left:12px;line-height:1.6}

.dropcap::first-letter{
  float:left;font-family:var(--slab);font-weight:500;font-size:3.1em;line-height:.82;
  color:var(--navy);margin:.1em .14em 0 0;
}
.pullquote{
  margin:28px 0;padding:4px 0 4px 24px;border-left:3px solid var(--gold);
  font-family:var(--slab);font-weight:400;font-size:1.16rem;line-height:1.6;color:var(--navy);
}
.pullquote span{display:block;margin-top:12px;font-size:.68rem;
  letter-spacing:.19em;text-transform:uppercase;color:var(--mute);font-weight:600}

.seal{
  display:inline-flex;flex-direction:column;align-items:center;justify-content:center;
  width:96px;height:96px;border:2px solid var(--gold);border-radius:50%;color:var(--navy);text-align:center;
}
.seal b{font-family:var(--slab);font-size:1.28rem;line-height:1}
.seal span{font-size:.55rem;letter-spacing:.17em;text-transform:uppercase;color:var(--gold);font-weight:700}

/* ---------- numbered reasons (replaces icon cards) ---------- */
.reasons{border-top:1px solid var(--line);margin-top:6px}
.reasons li{
  display:grid;grid-template-columns:74px 1fr;gap:20px;align-items:start;
  padding:26px 0;border-bottom:1px solid var(--line);
}
.reasons .n{font-family:var(--slab);font-size:1.5rem;color:var(--gold);font-weight:500;line-height:1.1;letter-spacing:.02em}
.reasons :where(h3:not(.hx),.hx-h3){font-size:1.08rem;margin-bottom:6px}
.reasons p{margin:0;font-size:.96rem}
.reasons--2{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(30px,4.4vw,56px)}
.reasons--2 li:nth-last-child(-n+2){border-bottom:0}

/* ===========================================================
   PRODUCT CATALOGUE
   =========================================================== */
.cat{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cat--3{grid-template-columns:repeat(3,1fr)}
.item{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);padding:20px 20px 22px;
  transition:background .22s,border-color .22s}
.item:hover{background:var(--white);border-color:var(--navy)}
.item__im{background:#fff;aspect-ratio:1/1;flex:none;display:flex;align-items:center;justify-content:center;overflow:hidden}
.item__im img{width:100%;height:100%;object-fit:contain;padding:14px;transition:transform .5s ease}
.item:hover .item__im img{transform:scale(1.04)}
.item :where(h3:not(.hx),.hx-h3){margin-top:16px;font-size:1rem;line-height:1.32}
.item .count+.go{margin-top:auto}
.item .sizes{display:flex;flex-wrap:wrap;gap:5px;margin-top:11px}
.item .sizes span{font-size:.68rem;font-weight:500;letter-spacing:.03em;color:var(--navy);
  border:1px solid var(--line);background:var(--paper-2);padding:3px 7px;white-space:nowrap}
.item:hover .sizes span{border-color:#cfc6b2}
.item .count{display:block;margin-top:9px;font-size:.72rem;color:var(--mute)}
.item .go{display:block;margin-top:12px;align-self:flex-start;font-size:.68rem;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;color:var(--gold);border-bottom:1px solid transparent;transition:border-color .2s}
.item:hover .go{border-color:var(--gold)}
.navy .item{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.17)}
.navy .item:hover{background:#16294a;border-color:var(--gold)}
.navy .item__im{background:#f4efe4}
.navy .item :where(h3:not(.hx),.hx-h3){color:#fff}
.navy .item .sizes span{color:#dfe6ee;border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.06)}
.navy .item .count{color:#8d9bae}

/* division intro (product landing) */
.divs{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch}
.div-card{display:flex;flex-direction:column;border:1px solid var(--line);background:var(--paper);
  transition:background .22s,border-color .22s}
.div-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-bottom:1px solid var(--line);flex:none}
.div-card .bd{display:flex;flex-direction:column;flex:1;padding:26px 26px 28px}
.div-card :where(h3:not(.hx),.hx-h3){font-size:1.4rem;margin-bottom:10px}
.div-card p{font-size:.95rem;margin:0 0 20px;flex:1}
.div-card .tlink{align-self:flex-start}
.div-card:hover{background:var(--white);border-color:var(--navy)}

/* ===========================================================
   PAGE HEAD
   =========================================================== */
.phead{background:var(--navy);color:#fff;padding-block:clamp(56px,6.4vw,88px);border-bottom:3px solid var(--gold)}
.crumb{display:flex;flex-wrap:wrap;gap:8px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#8695aa;margin-bottom:18px}
.crumb a:hover{color:var(--gold-lt)}
.crumb .cur{color:var(--gold-lt)}
.phead :where(h1:not(.hx),.hx-h1){font-size:clamp(1.9rem,4.1vw,3rem);color:#fff;letter-spacing:-.02em}
.phead p{margin-top:12px;color:#a9b7c8;max-width:620px}
.phead--bar{padding-block:clamp(44px,4.6vw,60px)}
.phead--bar .crumb{margin-bottom:0}

/* ===========================================================
   PRODUCT DETAIL
   =========================================================== */
.pd{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,4.6vw,60px);align-items:start}
.gal__main{border:1px solid var(--line);background:#fff;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden}
.gal__main img{width:100%;height:100%;object-fit:contain;padding:22px}
.gal__t{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
.gal__t button{width:76px;height:76px;border:1px solid var(--line);background:#fff;padding:6px;transition:border-color .2s}
.gal__t button img{width:100%;height:100%;object-fit:contain}
.gal__t button.on{border-color:var(--gold);border-width:2px}

.pd :where(h1:not(.hx),.hx-h1){font-size:clamp(1.55rem,3vw,2.25rem)}
.spec{margin-top:26px;border-top:1px solid var(--line)}
.spec .row{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.94rem}
.spec dt{font-size:.69rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--navy);padding-top:3px}
.spec dd{margin:0}
.spec dd a{color:var(--gold);font-weight:600}
.packs{margin-top:26px}
.packs :where(h2:not(.hx),.hx-h2){font-size:.71rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--navy);margin-bottom:12px}
.packs ul{border-top:1px solid var(--line);columns:2;column-gap:26px}
.packs li{padding:9px 0 9px 16px;border-bottom:1px solid var(--line-2);font-size:.93rem;position:relative;break-inside:avoid}
.packs li::before{content:"";position:absolute;left:0;top:19px;width:6px;height:1px;background:var(--gold)}
/* every pack size as its own tile, with its own pack shot */
.packgrid{columns:auto;border-top:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}
.packgrid li{padding:0;border:1px solid var(--line);background:#fff;transition:border-color .2s}
.packgrid li>button,.packgrid li>.im{width:100%}
.packgrid li>button{display:flex;flex-direction:column;gap:8px;text-align:center;padding:12px 10px 14px;width:100%}
.packgrid li.np{display:flex;flex-direction:column;gap:6px;justify-content:center;align-items:center;
  text-align:center;padding:12px 10px 14px;min-height:150px;background:var(--paper);border-style:dashed}
.packgrid li.on{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.packgrid li::before{display:none}
.packgrid li:hover{border-color:var(--navy)}
.packgrid .im{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff}
.packgrid .im img{width:100%;height:100%;object-fit:contain}

.packgrid b{font-size:.85rem;color:var(--navy);font-weight:600;line-height:1.35}
.packgrid span:not(.im){font-size:.74rem;color:var(--mute)}
.pd-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}

/* ===========================================================
   AWARDS
   =========================================================== */
.awards{border-top:1px solid var(--line)}
.awards li{display:grid;grid-template-columns:64px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid var(--line);align-items:start}
.awards .n{font-family:var(--slab);font-size:1.35rem;color:var(--gold);font-weight:500;letter-spacing:.02em}
.awards p{margin:0;color:var(--ink);font-size:1.02rem}
.assoc{columns:2;column-gap:40px;border-top:1px solid var(--line)}
.assoc li{padding:15px 0 15px 20px;border-bottom:1px solid var(--line-2);position:relative;font-size:.98rem;color:var(--ink);break-inside:avoid}
.assoc li::before{content:"";position:absolute;left:0;top:25px;width:8px;height:2px;background:var(--gold)}

/* ===========================================================
   CONTACT
   =========================================================== */
.offices{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.offices li{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);
  border-top:3px solid var(--navy);background:var(--paper);padding:26px 24px;transition:border-color .22s}
.offices li:hover{border-color:var(--gold);border-top-color:var(--gold)}
.offices .n{font-family:var(--sans);font-size:.66rem;font-weight:700;letter-spacing:.18em;color:var(--gold)}
.offices :where(h3:not(.hx),.hx-h3){font-size:1.04rem;line-height:1.3}
.offices p{font-size:.93rem;margin:0;flex:1}
.offices .dir{align-self:flex-start;font-size:.67rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:var(--navy);border-bottom:1px solid var(--gold);padding-bottom:2px;transition:color .2s}
.offices .dir:hover{color:var(--gold)}
.map--wide iframe{height:440px}

.reach{display:grid;grid-template-columns:repeat(4,1fr)}
.reach li{padding:0 26px;border-left:1px solid rgba(255,255,255,.16)}
.reach li:first-child{border-left:0;padding-left:0}
.reach :where(h3:not(.hx),.hx-h3){font-size:.68rem;font-weight:600;letter-spacing:.21em;text-transform:uppercase;color:var(--gold-lt);margin-bottom:10px}
.reach a,.reach p{display:block;color:#cbd5e2;font-size:.95rem;margin:0}
.reach a:hover{color:#fff}

.form{border:1px solid var(--line);background:var(--white);padding:clamp(24px,3.2vw,38px)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.f{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.f label{font-size:.68rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:var(--navy)}
.f input,.f textarea{
  font:inherit;font-size:.95rem;color:var(--ink);background:var(--paper);
  border:1px solid var(--line);border-radius:2px;padding:12px 13px;width:100%;
  transition:border-color .2s,background-color .2s;
}
.f textarea{min-height:128px;resize:vertical}
.f input:focus,.f textarea:focus{outline:none;border-color:var(--gold);background:#fff}
.cap{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--line);
  border-left:3px solid var(--gold);padding:13px 15px;margin-bottom:18px;background:var(--paper)}
.cap b{font-family:var(--slab);font-size:1.08rem;font-weight:500;color:var(--navy)}
.cap input{width:92px;background:#fff}
.note{font-size:.82rem;color:var(--mute);margin-top:13px}
.msg{display:none;padding:12px 15px;font-size:.92rem;margin-bottom:16px;border-radius:2px}
.msg.ok{display:block;background:#eaf5ee;color:#1c6237;border:1px solid #c3e2ce}
.msg.err{display:block;background:#fceded;color:#96161b;border:1px solid #f0c6c8}
.map{border:1px solid var(--line);line-height:0}
.map iframe{width:100%;height:400px;border:0;display:block}

/* ===========================================================
   FOOTER
   =========================================================== */
.ftr{background:var(--navy);color:#9daaba;font-size:.93rem;border-top:4px solid var(--gold)}
.ftr :where(h4:not(.hx),.hx-h4){font-size:.7rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:#fff;margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.16)}
.ftr-grid{display:grid;grid-template-columns:1.45fr 1.35fr 1fr;gap:clamp(28px,4vw,56px);padding-block:clamp(42px,5.2vw,68px)}
.ftr-about img{width:106px;background:#fff;padding:7px;margin-bottom:18px}
.ftr-about p{font-size:.92rem;line-height:1.78;color:#93a2b4}
.flist{columns:2;column-gap:22px}
.flist li{margin-bottom:9px;break-inside:avoid}
.flist a{font-size:.88rem;transition:color .2s;border-bottom:1px solid transparent}
.flist a:hover{color:var(--gold-lt);border-color:var(--gold-lt)}
.fcon li{margin-bottom:15px}
.fcon b{display:block;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-lt);font-weight:700;margin-bottom:3px}
.fcon a{display:block;word-break:break-word}
.fcon a:hover{color:#fff}
.ftr-btm{border-top:1px solid rgba(255,255,255,.13);padding-block:20px;display:flex;
  align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.84rem}
.ftr-btm a{color:var(--gold-lt)}
.ftr-btm a:hover{text-decoration:underline}
.soc{display:flex;gap:9px}
.soc a{width:34px;height:34px;border:1px solid rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;
  color:#9daaba;transition:background .2s,color .2s,border-color .2s}
.soc a:hover{background:var(--gold);color:#fff;border-color:var(--gold)}
.soc svg{width:15px;height:15px}

.totop{
  position:fixed;right:18px;bottom:18px;z-index:70;width:46px;height:46px;border-radius:2px;
  display:flex;align-items:center;justify-content:center;background:var(--navy);color:#fff;
  border:1px solid var(--navy);opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .25s ease,transform .25s ease,background-color .2s,border-color .2s,visibility .25s;
}
.totop.show{opacity:1;visibility:visible;transform:none}
.totop:hover{background:var(--gold);border-color:var(--gold)}
.totop svg{width:19px;height:19px}

.blank{border:1px solid var(--line);background:var(--paper-2);padding:clamp(40px,5.4vw,70px) 26px;text-align:center}
.blank :where(h2:not(.hx),.hx-h2){font-size:1.4rem;margin-bottom:10px}
.blank p{max-width:470px;margin-inline:auto}

/* ===========================================================
   RESPONSIVE
   =========================================================== */
@media (max-width:1080px){
  .nav,.hdr-end .btn{display:none}
  .burger{display:flex}
  .cat{grid-template-columns:repeat(2,1fr)}
  .offices,.reach{grid-template-columns:repeat(2,1fr)}
  .reach li:nth-child(3){border-left:0;padding-left:0}
  .reach li{padding-block:16px}
  .ftr-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .cols,.divs,.pd,.reasons--2{grid-template-columns:1fr}
  .cols--rev .fig{order:0}
  .cat--3{grid-template-columns:repeat(2,1fr)}
  .packgrid{grid-template-columns:repeat(3,1fr)}
  .facts ul{grid-template-columns:repeat(2,1fr)}
  .facts li:nth-child(3){border-left:0}
  .facts li:nth-child(n+3){border-top:1px solid var(--line)}
  .reasons--2 li:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
  .hero__ar{display:none}
}
@media (max-width:760px){
  /* phones get the portrait artwork via <picture>, no cropping needed */
  .hero__nav{right:50%;transform:translateX(50%);bottom:16px}
}
@media (max-width:620px){
  .cat,.cat--3{grid-template-columns:1fr}
  .offices,.reach,.ftr-grid,.frow{grid-template-columns:1fr}
  .reach li{border-left:0;padding-left:0;border-top:1px solid var(--line)}
  .reach li:first-child{border-top:0}
  .reach li{border-top-color:rgba(255,255,255,.16)}
  .packs ul,.assoc,.flist{columns:1}
  .packgrid{grid-template-columns:repeat(2,1fr)}
  .logo span{display:none}
  .logo img{width:84px}
  .strip .wrap{min-height:34px;justify-content:center}
  .strip__l{gap:14px;font-size:.73rem}
  .strip__l a:nth-child(2),.strip__l a:nth-child(4){display:none}
  .strip .wrap > span{display:none}
  .totop{right:12px;bottom:12px;width:42px;height:42px}
  .reasons li{grid-template-columns:44px 1fr;gap:14px}
  .spec .row{grid-template-columns:1fr;gap:4px}
}
@media (prefers-reduced-motion:reduce){
  *{transition-duration:.001ms !important;animation-duration:.001ms !important}
}
@media print{.strip,.hdr,.ftr,.totop,.hero__nav,.hero__ar{display:none}}


/* ===================================================================
   CMS additions — utilities the content manager needs.
   Nothing here changes the approved design's default appearance.
   =================================================================== */

/* Heading stand-ins: zero specificity, so a heading re-tagged in the admin
   keeps the look its own rule gives it and never falls back to browser sizes. */
:where(.hx-h1){font-size:clamp(34px,4.2vw,52px);font-weight:600;line-height:1.1;display:block}
:where(.hx-h2){font-size:clamp(26px,2.9vw,38px);font-weight:600;line-height:1.18;display:block}
:where(.hx-h3){font-size:19px;font-weight:600;line-height:1.3;display:block}
:where(.hx-h4){font-size:17px;font-weight:600;line-height:1.35;display:block}
:where(.hx-h5){font-size:15px;font-weight:600;display:block}
:where(.hx-h6){font-size:14px;font-weight:600;display:block}

/* Owner-facing section controls (the Advanced box) */
.sp-tight{padding-block:clamp(34px,4vw,54px)!important}
.sp-loose{padding-block:clamp(92px,12vw,150px)!important}
.sp-notop{padding-top:0!important}
.sp-nobottom{padding-bottom:0!important}
.sp-none{padding-block:0!important}
.w-narrow .wrap{max-width:760px}
.w-wide .wrap{max-width:1320px}
.w-full .wrap{max-width:none;padding-inline:clamp(16px,4vw,48px)}
@media (max-width:760px){.hide-m{display:none!important}}

/* Content block (prose) */
.prose{max-width:860px}
.prose .kicker{display:block}
.prose .ttl,.prose :where(h2,h3,.hx-h2,.hx-h3){margin-bottom:0}
.prose--plain{max-width:none}
.prose__b{margin-top:22px}
.prose__b>*:first-child{margin-top:0}
.prose__b>*:last-child{margin-bottom:0}
.prose__b p{margin:0 0 1.05em}
.prose__b ul,.prose__b ol{margin:0 0 1.05em;padding-left:22px}
.prose__b li{margin-bottom:.4em}
.prose__b blockquote{margin:1.3em 0;padding-left:20px;border-left:3px solid var(--gold);
  color:var(--ink);font-size:18px}
.prose__b img{max-width:100%;height:auto}
.prose__b img.img-left{float:left;margin:4px 26px 14px 0;max-width:46%}
.prose__b img.img-right{float:right;margin:4px 0 14px 26px;max-width:46%}
.prose__b img.img-center{display:block;margin:22px auto}
.prose__b img.img-full{display:block;width:100%;margin:22px 0}
.prose__b table{width:100%;border-collapse:collapse;margin:1.3em 0;font-size:15.5px}
.prose__b th,.prose__b td{border:1px solid var(--line);padding:10px 13px;text-align:left}
.prose__b th{background:var(--paper-2);font-weight:600}
.prose__b hr{border:0;border-top:1px solid var(--line);margin:2em 0}

/* FAQ */
.faq-list{margin-top:34px;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:18px;
  padding:20px 0;transition:color .16s}
.faq-item>summary::-webkit-details-marker{display:none}
.faq-item>summary:hover .faq-q{color:var(--gold)}
.faq-q{flex:1;font-size:18px;font-weight:600;line-height:1.4;margin:0;letter-spacing:-.005em}
.faq-ic{flex:0 0 auto;width:26px;height:26px;border:1px solid var(--line);border-radius:50%;
  position:relative}
.faq-ic::before,.faq-ic::after{content:"";position:absolute;background:var(--gold);
  left:50%;top:50%;transform:translate(-50%,-50%)}
.faq-ic::before{width:11px;height:1.5px}
.faq-ic::after{width:1.5px;height:11px;transition:opacity .16s}
.faq-item[open] .faq-ic::after{opacity:0}
.faq-item[open] .faq-ic{border-color:var(--gold)}
.faq-a{padding:0 44px 24px 0;color:var(--body)}
.faq-a>*:first-child{margin-top:0}
.faq-a>*:last-child{margin-bottom:0}
.faq-a p{margin:0 0 .9em}

/* Form status messages (shown by main.js after send.php redirects back) */
.form .msg{display:none;padding:12px 15px;margin-bottom:18px;border-left:3px solid;font-size:15px}
.form .msg.ok{display:block;border-color:#1c7a3e;background:#f0f8f2;color:#14562c}
.form .msg.err{display:block;border-color:var(--red);background:#fdf1f1;color:#8e1217}
