/* ============================================================
   Salty Karts · interior pages: Rules & Safety, FAQs, About Us,
   Contact Us. Scoped under .ip so nothing here reaches site.css.
   The vocabulary is the one the Rates and Jamaica Beach pages
   already use: cream canvas, Walbaum heads with a Goodwater
   accent and a gold swash, cream-and-gold medallion icons, ruled
   ledgers instead of card grids, a green seal with a gold ring,
   watercolour washes dissolved into the cream on a smootherstep,
   and one glass rail per page at most.
   ============================================================ */

.ip{
  --gold:#BF9259;--gold-lt:#C7AB81;--gold-deep:#8A6B33;
  --rule:#EFE1C6;--rule-gold:rgba(181,137,74,.34);
  --card:#FDFBF6;--card-ink:#042854;--card-soft:#4C5874;
  position:relative;padding-top:var(--gap);isolation:isolate;overflow-x:clip;
}
/* the closing band sits closer on interior pages than under the home spine */
.cb--interior.cb--closing{padding-top:clamp(24px,3.4vw,52px);}
.ip--tight{padding-top:clamp(56px,7vw,104px);}
.ip--tail{padding-bottom:clamp(36px,4.6vw,70px);}
.ip__in{position:relative;z-index:2;}
.ip *{box-sizing:border-box;}

/* ── the interior photo hero gets a place kicker only: no eyebrow spam ── */
.phero--photo .phero__body{max-width:var(--shell);}
.phero--photo .phero__lead{max-width:50ch;}

/* ── headline with the script accent and the gold swash ── */
.ip__head{margin:0;font-family:var(--disp);font-weight:400;
  font-size:clamp(38px,4.4vw,62px);line-height:.98;letter-spacing:-.022em;color:var(--navy);
  font-feature-settings:"kern" 1,"liga" 1;}
.ip__head span:not(.script){display:block;}
.ip__head .script{display:inline-block;position:relative;font-family:var(--script);font-size:1.08em;line-height:.86;
  letter-spacing:0;color:var(--teal);margin-left:.06em;transform:translateY(.04em);}
.ip__head .script::after{content:"";position:absolute;left:5%;right:10%;bottom:-.08em;height:2px;
  background:#bd9652;border-radius:50%;transform:rotate(-4deg);}
.ip__lead{margin:clamp(18px,1.8vw,26px) 0 0;font:400 clamp(16px,1.2vw,17.5px)/1.62 var(--text);color:var(--ink-soft);max-width:52ch;}
.ip__lead p{margin:0;}
.ip__lead p+p{margin-top:14px;}
.ip__center{text-align:center;}
.ip__center .ip__lead{margin-left:auto;margin-right:auto;}

/* ── medallion: the cream-and-gold disc from the Coming-from-town rail ── */
.medal{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;
  background:linear-gradient(145deg,#fffdf8 5%,#f6eedf 60%,#e9dcc3 100%);
  border:1px solid rgba(181,145,84,.48);color:#9c763c;
  box-shadow:inset 0 2px 2px rgba(255,255,255,.92),inset 0 -2px 3px rgba(153,116,55,.15),
             0 2px 2px rgba(82,66,39,.09),0 7px 13px -6px rgba(82,66,39,.24);}
.medal svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.85));}
.medal--yes{color:#3f7a6d;}
.medal--no{color:#a35b47;}

/* ── ruled ledger: hairline rules, never a box per item ── */
.ledger{list-style:none;margin:0;padding:0;}
.ledger li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:18px;align-items:start;
  padding:clamp(18px,1.7vw,24px) 0;border-top:1px solid var(--rule);}
.ledger li:first-child{border-top:0;padding-top:0;}
.ledger li:last-child{padding-bottom:0;}
.ledger h3{margin:0 0 5px;font-family:var(--disp);font-weight:400;font-size:clamp(20px,1.6vw,23px);line-height:1.12;color:var(--card-ink);}
.ledger p{margin:0;font-size:15px;line-height:1.55;color:var(--card-soft);}
.ledger p a{color:var(--navy);font-weight:600;text-decoration:underline;text-decoration-color:rgba(79,138,126,.7);text-underline-offset:3px;}
.ledger p a:hover{color:var(--teal);}
.ledger--tight li{padding:clamp(14px,1.3vw,18px) 0;}
.ledger--tight h3{font-size:clamp(18px,1.4vw,20px);}

/* ── cream card with the gold hairline, from the Every-rental-includes card ── */
.ipcard{position:relative;background:var(--card);border:1px solid rgba(191,146,89,.55);border-radius:18px;
  padding:clamp(24px,2.6vw,36px) clamp(22px,2.6vw,36px);
  box-shadow:0 1px 2px rgba(40,53,67,.08),0 12px 24px -10px rgba(40,53,67,.16),0 34px 70px -20px rgba(14,36,69,.3);}
.ipcard::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -14px 22px -16px rgba(40,53,67,.12),inset 0 0 0 1px rgba(255,248,236,.35);}
.ipcard__kicker{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 clamp(18px,2vw,26px);
  font-family:var(--text);font-size:12px;font-weight:600;letter-spacing:.32em;text-indent:.32em;text-transform:uppercase;color:var(--gold);white-space:nowrap;}
.ipcard__kicker i{flex:1 1 auto;max-width:72px;height:1px;background:var(--gold-lt);}
.ipcard__note{margin:clamp(18px,2vw,24px) 0 0;padding-top:clamp(16px,1.6vw,20px);border-top:1px solid var(--rule);
  text-align:center;font-family:var(--script);font-size:clamp(20px,1.7vw,24px);line-height:1.1;color:#134746;}

/* ── the green seal with the gold ring, from the $100 badge ── */
.seal{position:absolute;z-index:5;width:var(--seal-w,clamp(118px,11.5vw,160px));aspect-ratio:1;border-radius:50%;
  background:linear-gradient(160deg,#C8A76B 0%,#D3B073 48%,#DCBC82 100%);isolation:isolate;
  box-shadow:0 6px 28px rgba(15,30,35,.2);color:#F4F6F5;text-align:center;container-type:inline-size;
  transform:rotate(var(--seal-tilt,-6deg));}
.seal::before{content:"";position:absolute;inset:2.2%;border-radius:50%;z-index:-1;
  background:radial-gradient(circle at 42% 38%,#21504C 0%,#1F4D4A 55%,#1D4A47 100%);}
.seal::after{content:"";position:absolute;inset:8%;border-radius:50%;border:1px solid #BFA663;}
.seal__in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 12%;}
.seal__palm{width:18cqi;height:auto;fill:#C9AC66;display:block;margin:-3cqi 0 2cqi;}
.seal b{display:block;font-family:var(--disp);font-weight:400;font-size:26cqi;line-height:.95;letter-spacing:-.02em;white-space:nowrap;}
.seal b small{font-family:var(--text);font-size:.42em;letter-spacing:.06em;vertical-align:.35em;margin-left:.1em;}
.seal__day{display:flex;align-items:center;justify-content:center;gap:4cqi;margin-top:4cqi;
  font-family:var(--text);font-size:7.2cqi;line-height:1;letter-spacing:.26em;text-indent:.26em;text-transform:uppercase;}
.seal__day i{display:block;width:12cqi;height:1px;background:#CCAC64;}
.seal small.seal__sub{display:block;margin-top:3cqi;font-family:var(--text);font-size:5.4cqi;line-height:1.3;letter-spacing:.11em;text-indent:.11em;text-transform:uppercase;color:#CCAC64;}
.seal .seal__script{display:block;margin-top:3cqi;font-family:var(--script);font-size:10cqi;line-height:1;color:#E1D39F;letter-spacing:0;text-transform:none;text-indent:0;}

/* ── rounded photo plate with the offset gold echo behind it ── */
.plate{position:relative;}
.plate__ph{position:relative;z-index:1;overflow:hidden;border-radius:var(--plate-r,22px);background:#E7E0D2;
  box-shadow:0 1px 2px rgba(40,53,67,.1),0 30px 60px -24px rgba(14,36,69,.38);}
.plate__ph img{display:block;width:100%;height:100%;object-fit:cover;}
.plate::before{content:"";position:absolute;inset:0;z-index:0;border-radius:var(--plate-r,22px);
  border:1px solid rgba(191,146,89,.62);transform:translate(var(--echo-x,16px),var(--echo-y,16px));}
.plate--arch{--plate-r:999px 999px 22px 22px;}
.plate__ph--arch{aspect-ratio:1/1.2;}
.plate__ph--land{aspect-ratio:4/3;}

/* ── script handwriting note, gold, like Explore More Worry Less ── */
.ip__script{margin:0;font-family:var(--script);font-size:clamp(22px,2.1vw,30px);line-height:1.05;color:#b58a4a;
  transform:rotate(-5deg);transform-origin:left center;white-space:nowrap;}

/* ── backdrops: wash art dissolved to the cream, frond shadows in a corner ── */
.ip__wash{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.ip__wash img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--wash-pos,center);opacity:var(--wash-o,.5);display:block;}
.ip__wash::after{content:"";position:absolute;inset:0;
  background:
    linear-gradient(to bottom, rgba(250,246,239,1) 0%, rgba(250,246,239,.99) 2.4%, rgba(250,246,239,.94) 4.8%, rgba(250,246,239,.84) 7.2%, rgba(250,246,239,.68) 9.6%, rgba(250,246,239,.5) 12%, rgba(250,246,239,.32) 14.4%, rgba(250,246,239,.16) 16.8%, rgba(250,246,239,.06) 19.2%, rgba(250,246,239,.01) 21.6%, rgba(250,246,239,0) 24%, rgba(250,246,239,0) 100%),
    linear-gradient(to top, rgba(250,246,239,1) 0%, rgba(250,246,239,.99) 2.4%, rgba(250,246,239,.94) 4.8%, rgba(250,246,239,.84) 7.2%, rgba(250,246,239,.68) 9.6%, rgba(250,246,239,.5) 12%, rgba(250,246,239,.32) 14.4%, rgba(250,246,239,.16) 16.8%, rgba(250,246,239,.06) 19.2%, rgba(250,246,239,.01) 21.6%, rgba(250,246,239,0) 24%, rgba(250,246,239,0) 100%);}
.ip__wash--veil::after{background-color:rgba(250,246,239,var(--veil,.55));background-blend-mode:normal;}
.ip__frond{position:absolute;z-index:1;pointer-events:none;mix-blend-mode:multiply;opacity:var(--frond-o,.55);display:block;height:auto;}
.ip__corner{position:absolute;z-index:0;pointer-events:none;opacity:var(--corner-o,.7);display:block;height:auto;}

/* ── glass rail: the Coming-from-town bar ── */
.rail{position:relative;display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));
  padding:clamp(22px,2.4vw,30px) clamp(10px,1.2vw,16px);border-radius:22px;}
.rail::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:22px;
  border:1px solid rgba(181,145,84,.3);
  background:linear-gradient(115deg,rgba(255,255,255,.52) 0%,rgba(255,253,246,.22) 44%,rgba(240,231,212,.28) 100%);
  backdrop-filter:blur(16px) saturate(115%);-webkit-backdrop-filter:blur(16px) saturate(115%);
  box-shadow:inset 0 1px 3px rgba(255,255,255,.32),inset 0 -1px 2px rgba(175,148,101,.05),0 5px 16px -9px rgba(96,79,49,.15);}
.rail>*{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;
  margin:0;padding:6px clamp(12px,1.6vw,22px);}
.rail>*+*{border-left:1px solid rgba(181,145,84,.28);}
.rail .medal{margin-bottom:12px;}
.rail b{display:block;font-family:var(--disp);font-weight:400;font-size:13px;line-height:1.3;letter-spacing:.035em;text-transform:uppercase;color:#082B54;}
.rail p{margin:6px 0 0;font:400 14px/1.5 var(--text);color:var(--ink-soft);max-width:26ch;}
.rail p a{color:var(--navy);font-weight:600;text-decoration:underline;text-decoration-color:rgba(79,138,126,.7);text-underline-offset:3px;}
.rail p a:hover{color:var(--teal);}

/* ── CTA rows ── */
.ip__ctas{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:clamp(26px,3vw,40px);}
.ip__ctas--center{justify-content:center;}
.ip__ctas .pill svg{flex:0 0 auto;}
.ip__ctas .pill{text-decoration:none;}

/* ── the numeral facts row, from the Rates page ── */
.facts{display:flex;margin-top:clamp(26px,2.6vw,36px);padding-top:clamp(22px,2.2vw,30px);border-top:1px solid var(--rule);}
.facts>div{flex:1 1 0;padding:0 clamp(12px,1.6vw,22px);}
.facts>div+div{border-left:1px solid var(--rule-gold);}
.facts>div:first-child{padding-left:0;}
.facts b{display:block;font-family:var(--disp);font-weight:400;font-size:clamp(30px,2.8vw,40px);line-height:1;color:var(--navy);letter-spacing:-.01em;}
.facts b small{font-family:var(--text);font-size:.42em;color:var(--teal);letter-spacing:.02em;vertical-align:.4em;margin-left:.15em;}
.facts span{display:block;margin-top:8px;font:400 14px/1.45 var(--text);color:var(--ink-soft);}

/* ============================================================
   RULES & SAFETY
   ============================================================ */
/* A · three things before the keys: photo plate left, ledger right */
.ip-req .ip__in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(36px,6vw,96px);align-items:center;}
.ip-req__art{position:relative;padding:0 26px 30px 0;}
.ip-req__art .plate{--echo-x:18px;--echo-y:18px;}
.ip-req__art .seal{right:-8px;bottom:-4px;--seal-tilt:-7deg;}
.ip-req__art .ip__script{position:absolute;left:6%;bottom:-42px;}
.ip-req{padding-bottom:20px;}
.ip-req .ip__frond{top:-3%;left:-9%;width:min(32vw,400px);--frond-o:.22;transform:scaleX(-1);}
.ip-req__copy .ledger{margin-top:clamp(28px,3vw,40px);}

/* B · the boundary board over the dune wash */
.ip-zone{padding-bottom:clamp(20px,2vw,32px);}
.ip-zone .ip__wash{--wash-o:.85;--wash-pos:center 42%;}
.ip-zone .ip__in{max-width:var(--shell);margin:0 auto;padding:0 clamp(20px,4vw,44px);}
.ip-zone .ip__center .ip__lead{max-width:56ch;}
.board{position:relative;max-width:980px;margin:clamp(34px,4vw,56px) auto 0;padding:clamp(26px,3vw,40px) clamp(22px,3vw,44px) clamp(24px,2.6vw,34px);}
.board__cols{display:grid;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);gap:0 clamp(24px,3.4vw,52px);}
.board__rule{background:var(--rule-gold);}
.board h3{margin:0 0 clamp(14px,1.4vw,18px);font-family:var(--disp);font-weight:400;font-size:clamp(22px,1.9vw,27px);line-height:1.1;color:var(--card-ink);display:flex;align-items:center;gap:12px;}
.board h3 .medal{width:36px;height:36px;}
.board h3 .medal svg{width:18px;height:18px;}
.board ul{list-style:none;margin:0;padding:0;}
.board li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start;padding:11px 0;border-top:1px solid var(--rule);font-size:15px;line-height:1.5;color:var(--card-soft);}
.board li:first-child{border-top:0;}
.board li b{color:var(--card-ink);font-weight:600;}
.board li svg{width:18px;height:18px;margin-top:2px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.board__yes li svg{color:#3f7a6d;}
.board__no li svg{color:#a35b47;}
.board .seal{right:-22px;top:-38px;--seal-w:clamp(104px,9vw,132px);--seal-tilt:8deg;}
.ip-zone .ip__script{display:block;width:max-content;margin:clamp(22px,2.4vw,30px) auto 0;transform:rotate(-3deg);}

/* C · while it is yours: soft photo band with the rail */
.ip-yours .ip__wash{--wash-o:.15;--wash-pos:right center;}
.ip-yours .ip__wash img{-webkit-mask-image:linear-gradient(to left,#000 40%,transparent 100%);mask-image:linear-gradient(to left,#000 40%,transparent 100%);}
.ip-yours .ip__in{max-width:var(--shell);margin:0 auto;padding:0 clamp(20px,4vw,44px);}
.ip-yours .rail{margin-top:clamp(30px,3.4vw,46px);}
.ip-yours .ip__head-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,60px);align-items:end;}
.ip-yours .ip__head-row .ip__lead{margin-top:0;}

/* ============================================================
   FAQs
   ============================================================ */
.ip-faq .ip__frond{top:-2%;right:-6%;width:min(30vw,380px);--frond-o:.22;}
.ip-faq .ip__corner{left:-6%;bottom:-2%;width:min(38vw,460px);--corner-o:.55;transform:scaleX(-1);}
.faqgrp{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,5vw,80px);align-items:start;}
.faqgrp+.faqgrp{margin-top:clamp(56px,7vw,100px);padding-top:clamp(40px,5vw,72px);border-top:1px solid var(--rule);}
.faqgrp__side{position:sticky;top:32px;}
.faqgrp__num{display:block;font-family:var(--disp);font-size:clamp(64px,8vw,116px);line-height:.8;letter-spacing:-.04em;color:rgba(181,137,74,.26);margin:0 0 6px -.04em;}
.faqgrp__side h2{margin:0;font-family:var(--disp);font-weight:400;font-size:clamp(30px,3.2vw,44px);line-height:1;letter-spacing:-.015em;color:var(--navy);}
.faqgrp__side h2 .script{display:inline-block;font-family:var(--script);font-size:1.08em;line-height:.86;letter-spacing:0;color:var(--teal);margin-left:.06em;}
.faqgrp__side p{margin:14px 0 0;font:400 15.5px/1.6 var(--text);color:var(--ink-soft);max-width:30ch;}
.faqlist{margin:0;}
.faqlist details{border-top:1px solid var(--rule);}
.faqlist details:first-child{border-top:0;}
.faqlist summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:18px;
  padding:clamp(16px,1.6vw,22px) 0;font-family:var(--disp);font-weight:400;font-size:clamp(19px,1.55vw,22px);line-height:1.22;color:var(--navy);
  transition:color .18s ease;}
.faqlist summary::-webkit-details-marker{display:none;}
.faqlist summary:hover{color:var(--teal);}
.faqlist summary i{position:relative;display:block;width:36px;height:36px;border-radius:50%;flex:none;
  background:linear-gradient(145deg,#fffdf8 5%,#f6eedf 60%,#e9dcc3 100%);border:1px solid rgba(181,145,84,.48);
  box-shadow:inset 0 2px 2px rgba(255,255,255,.92),inset 0 -2px 3px rgba(153,116,55,.15),0 2px 2px rgba(82,66,39,.09);
  transition:transform .28s cubic-bezier(.32,.72,.3,1);}
.faqlist summary i::before,.faqlist summary i::after{content:"";position:absolute;left:50%;top:50%;background:#9c763c;border-radius:2px;transform:translate(-50%,-50%);}
.faqlist summary i::before{width:14px;height:1.6px;}
.faqlist summary i::after{width:1.6px;height:14px;}
.faqlist details[open] summary i{transform:rotate(45deg);}
.faqlist details>p{margin:-4px 0 clamp(18px,1.8vw,24px);max-width:62ch;font:400 15.5px/1.62 var(--text);color:var(--ink-soft);}
.faqlist details>p a{color:var(--navy);font-weight:600;text-decoration:underline;text-decoration-color:rgba(79,138,126,.7);text-underline-offset:3px;}

/* still wondering: copy + pills left, hours card right, over the tide wash */
.ip-ask .ip__wash{--wash-o:.7;--wash-pos:center bottom;}
.ip-ask .ip__in{max-width:var(--shell);margin:0 auto;padding:0 clamp(20px,4vw,44px);
  display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(30px,5vw,80px);align-items:center;}
.hours{text-align:center;padding-bottom:clamp(26px,2.6vw,34px);}
.hours>b{display:block;font-family:var(--disp);font-weight:400;font-size:clamp(34px,3.2vw,46px);line-height:1;letter-spacing:-.015em;color:var(--card-ink);}
.hours>b small{font-family:var(--text);font-size:.36em;letter-spacing:.06em;color:var(--teal);vertical-align:.5em;margin:0 .05em;}
.hours>span{display:block;margin-top:10px;font:400 15px/1.5 var(--text);color:var(--card-soft);}
.hours .seal{position:absolute;right:-26px;top:-34px;--seal-w:clamp(96px,8.6vw,124px);--seal-tilt:9deg;}

/* ============================================================
   ABOUT US
   ============================================================ */
.ip-story .ip__in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(36px,6vw,96px);align-items:center;}
.ip-story .ip__corner{right:-8%;top:0;width:min(46vw,680px);--corner-o:.55;}
.ip-story__art{position:relative;padding:0 0 26px 18px;}
.ip-story__art img{display:block;width:100%;height:auto;filter:drop-shadow(0 26px 40px rgba(14,36,69,.22));}
.ip-story__art .ip__script{position:absolute;right:-4%;bottom:0;transform:rotate(-8deg);}
.ip-story__copy .ip__lead{max-width:56ch;}

/* the fleet: card overlapping the photo, over the dune wash */
.ip-fleet .ip__wash{--wash-o:.32;--wash-pos:center 30%;}
.ip-fleet .ip__in{max-width:var(--shell);margin:0 auto;padding:0 clamp(20px,4vw,44px);
  display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:0;align-items:center;}
.ip-fleet__copy{position:relative;z-index:3;margin-right:clamp(-40px,-4vw,-70px);}
.ip-fleet__copy .ipcard{max-width:520px;}
.ip-fleet__ph{position:relative;z-index:2;}
.ip-fleet__ph img{display:block;width:100%;height:auto;
  -webkit-mask-image:radial-gradient(ellipse 58% 60% at 52% 50%,#000 52%,rgba(0,0,0,.6) 72%,transparent 100%);
  mask-image:radial-gradient(ellipse 58% 60% at 52% 50%,#000 52%,rgba(0,0,0,.6) 72%,transparent 100%);}
.ip-fleet__ph .ip__script{position:absolute;left:8%;bottom:6%;transform:rotate(-6deg);}
.ip-fleet .ip__head{margin-bottom:clamp(22px,2.4vw,32px);}

/* resort family: tags plate art centered, copy above */
.ip-family .ip__in{max-width:var(--shell);margin:0 auto;padding:0 clamp(20px,4vw,44px);}
.ip-family__plate{position:relative;margin:clamp(10px,1.4vw,20px) auto 0;max-width:1040px;}
.ip-family__plate img{display:block;width:100%;height:auto;}
.ip-family__plate::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(to right, rgba(250,246,239,1) 0%, rgba(250,246,239,.84) 2%, rgba(250,246,239,.32) 5%, rgba(250,246,239,0) 9%, rgba(250,246,239,0) 91%, rgba(250,246,239,.32) 95%, rgba(250,246,239,.84) 98%, rgba(250,246,239,1) 100%),
    linear-gradient(to top, rgba(250,246,239,1) 0%, rgba(250,246,239,.84) 4%, rgba(250,246,239,.32) 9%, rgba(250,246,239,0) 15%);}
.ip-family__plate .ip__script{position:absolute;right:4%;bottom:14%;transform:rotate(-6deg);z-index:2;}

/* ============================================================
   CONTACT US
   ============================================================ */
.ip-office .ip__in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(30px,4.5vw,68px);align-items:stretch;}
.ip-office{padding-bottom:40px;}
.ip-office .ip__frond{left:-8%;top:-2%;width:min(30vw,380px);--frond-o:.2;transform:scaleX(-1);}
.ip-office__card .ipcard{height:100%;display:flex;flex-direction:column;}
.ip-office__card .ledger{flex:1 1 auto;}
.ip-office__card .ip__ctas{margin-top:clamp(24px,2.6vw,34px);padding-top:clamp(20px,2vw,26px);border-top:1px solid var(--rule);}
.mapframe{position:relative;min-height:460px;border-radius:22px;overflow:visible;}
.mapframe__in{position:absolute;inset:0;border-radius:22px;overflow:hidden;background:#E7E0D2;
  border:1px solid rgba(191,146,89,.55);
  box-shadow:0 1px 2px rgba(40,53,67,.1),0 30px 60px -24px rgba(14,36,69,.38);}
.mapframe__in::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,248,236,.4);}
.mapframe iframe{display:block;width:100%;height:100%;border:0;}
.mapframe .seal{right:-22px;top:-30px;--seal-tilt:8deg;}
.mapframe .ip__script{position:absolute;left:2%;bottom:-36px;transform:rotate(-4deg);}
.ip-before .ip__corner{right:-5%;top:0;width:min(28vw,340px);--corner-o:.5;}
.ip-before .ip__in{max-width:var(--shell);margin:0 auto;padding:0 clamp(20px,4vw,44px);}
.ip-before .rail{margin-top:clamp(30px,3.4vw,46px);--cols:3;}

/* ============================================================
   404
   ============================================================ */
.ip-lost{padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(64px,8vw,120px);}
.ip-lost .ip__corner{right:-6%;top:-4%;width:min(34vw,420px);--corner-o:.55;}
.ip-lost__wrap{position:relative;max-width:720px;margin:0 auto;text-align:center;padding-top:clamp(40px,5vw,70px);}
.ip-lost__num{position:absolute;left:50%;top:0;transform:translateX(-50%);z-index:0;pointer-events:none;
  font-family:var(--disp);font-size:clamp(120px,18vw,240px);line-height:.8;letter-spacing:-.04em;color:rgba(181,137,74,.16);}
.ip-lost__wrap>:not(.ip-lost__num){position:relative;z-index:1;}
.ip-lost .ip__lead{max-width:46ch;}

/* ── reduced motion ── */
@media (prefers-reduced-motion:reduce){
  .faqlist summary i{transition:none;}
}

/* ============================================================
   NARROW: every composition restacks
   ============================================================ */
@media (max-width:1100px){
  .ip-req .ip__in{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(30px,5vw,56px);}
  .rail{--cols:2;row-gap:22px;}
  .rail>*:nth-child(3){border-left:0;}
  .ip-before .rail{--cols:3;}
  .ip-before .rail>*:nth-child(3){border-left:1px solid rgba(181,145,84,.28);}
}
@media (max-width:900px){
  .phero--photo h1 .script{white-space:nowrap;}
  .ip{padding-top:clamp(64px,10vw,96px);}
  .ip__head{font-size:clamp(36px,9vw,52px);}
  .ip__frond,.ip__corner{display:none;}

  .ip-req .ip__in{grid-template-columns:minmax(0,1fr);gap:40px;}
  .ip-req__art{max-width:520px;margin:0 auto;padding-right:26px;}
  .ip-req__copy .ledger{margin-top:24px;}

  .board__cols{grid-template-columns:minmax(0,1fr);}
  .board__rule{display:none;}
  .board__no{margin-top:26px;padding-top:22px;border-top:1px solid var(--rule);}
  .board .seal{right:-8px;top:auto;bottom:-34px;--seal-w:96px;--seal-tilt:6deg;}
  .ip-zone .ip__script{margin-top:54px;}

  .ip-yours .ip__head-row{grid-template-columns:minmax(0,1fr);gap:0;}
  .ip-yours .ip__head-row .ip__lead{margin-top:18px;}
  .rail{--cols:1;display:block;padding:8px 20px;}
  .rail>*{align-items:flex-start;text-align:left;display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:16px;padding:18px 0;}
  .rail>*+*{border-left:0;border-top:1px solid rgba(181,145,84,.28);}
  .rail .medal{grid-row:1/3;margin:0;}
  .rail p{max-width:none;}
  .ip-before .rail{--cols:1;}
  .ip-before .rail>*:nth-child(3){border-left:0;}

  .faqgrp{grid-template-columns:minmax(0,1fr);gap:22px;}
  .faqgrp__side{position:static;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:18px;align-items:end;}
  .faqgrp__num{font-size:56px;margin:0;}
  .faqgrp__side p{grid-column:1/-1;margin-top:10px;max-width:none;}
  .faqlist summary{font-size:19px;}
  .ip-ask .ip__in{grid-template-columns:minmax(0,1fr);gap:40px;}
  .hours{max-width:420px;margin:0 auto;}
  .hours .seal{right:-8px;top:-26px;}

  .ip-story .ip__in{grid-template-columns:minmax(0,1fr);gap:36px;}
  .ip-story__art{max-width:400px;margin:0 auto;}
  .ip-fleet .ip__in{grid-template-columns:minmax(0,1fr);gap:0;}
  .ip-fleet__copy{margin:0;order:2;}
  .ip-fleet__copy .ipcard{max-width:none;margin-top:22px;}
  .ip-fleet__ph{order:1;max-width:520px;margin:0 auto -28px;}
  .ip-fleet__ph .ip__script{display:none;}
  .facts{flex-direction:column;gap:18px;}
  .facts>div{padding:0;}
  .facts>div+div{border-left:0;padding-top:18px;border-top:1px solid var(--rule);}

  .ip-office .ip__in{grid-template-columns:minmax(0,1fr);gap:36px;}
  .mapframe{min-height:380px;}
  .mapframe .seal{right:-6px;top:-24px;}
  .mapframe .ip__script{bottom:-26px;}
}
@media (max-width:560px){
  .ip__lead{font-size:15.5px;}
  .board{padding:24px 20px;}
  .board h3{font-size:22px;}
  .seal{--seal-w:104px;}
  .ip-req__art .ip__script{bottom:-20px;font-size:20px;}
  .ip-zone .ip__script{font-size:20px;}
  .faqlist summary{grid-template-columns:minmax(0,1fr) 32px;gap:12px;}
  .faqlist summary i{width:32px;height:32px;}
  .ipcard{padding:24px 20px;}
  .ip__ctas .pill{padding:12px 22px;font-size:14px;}
}
