/* Roamwell Mobile Massage: night navy, an amber route line with pin stops, teal zone bands. */
:root{
  --navy:#14213D; --navy-2:#1C2C4F; --navy-3:#0E182E; --line:#2E4170;
  --amber:#F2A541; --amber-2:#F7BC67; --cream:#F7F1E3; --muted:#C3C9D6; --teal:#2A9D8F; --teal-2:#5CC4B6;
  --display:"Space Grotesk",system-ui,sans-serif; --text:"IBM Plex Sans",system-ui,sans-serif;
  --gut:16px; --rp:52px; --lo:18px; --pin:36px;
  --s1:clamp(.9rem,.86rem + .2vw,1rem); --s2:clamp(1.15rem,1.05rem + .4vw,1.35rem);
  --s3:clamp(1.5rem,1.25rem + 1.1vw,2.2rem); --s4:clamp(2rem,1.4rem + 2.6vw,3.4rem);
  --s5:clamp(2.35rem,1.2rem + 5.2vw,4.6rem);
}
@media (min-width:768px){:root{--gut:32px;--rp:104px;--lo:30px;--pin:44px}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--navy);color:var(--cream);font:400 1.0625rem/1.65 var(--text)}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:1.08;letter-spacing:-.02em;margin:0 0 .5em}
h1{font-size:var(--s5)} h2{font-size:var(--s4)} h3{font-size:var(--s2);letter-spacing:-.01em;line-height:1.25}
p{margin:0 0 1em} ul,ol{margin:0;padding:0}
a{color:var(--amber)} a:hover{color:var(--amber-2)}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:8px;background:var(--amber);color:var(--navy);padding:12px 16px;font-weight:600;text-decoration:none}
.skip:focus{left:12px;top:12px;z-index:99}
.wrap{max-width:1240px;margin:0 auto;padding-inline:var(--gut)}
.label{font:600 .8rem/1.3 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--teal-2);margin:0 0 .9rem}
.lede{font-size:var(--s2);line-height:1.5;color:var(--muted);max-width:36em}
.muted{color:var(--muted)}
.price{font-family:var(--display);font-weight:700;color:var(--amber)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Buttons: a pair stays side by side on a phone */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:50px;padding:.7em 1.4em;border-radius:999px;
  background:var(--amber);color:var(--navy);font:700 1rem/1.2 var(--display);text-decoration:none;border:2px solid var(--amber);cursor:pointer;text-align:center;transition:background .2s,color .2s}
.btn:hover{background:var(--amber-2);border-color:var(--amber-2);color:var(--navy)}
.btn.ghost{background:transparent;color:var(--cream);border-color:rgba(247,241,227,.55)}
.btn.ghost:hover{border-color:var(--cream);background:rgba(247,241,227,.08)}
.btns{display:flex;gap:12px;margin-top:1.6rem}
.btns .btn{flex:1 1 0;min-width:0}
@media (min-width:600px){.btns .btn{flex:0 0 auto}}

/* Header */
.site-head{background:var(--navy-3);border-bottom:1px solid var(--line);position:relative;z-index:20}
.head-row{display:flex;align-items:center;gap:14px;min-height:72px}
.brand{display:flex;align-items:center;gap:10px;color:var(--cream);text-decoration:none;font:700 1.1rem/1.1 var(--display);margin-right:auto;min-height:44px}
.brand img{width:38px;height:38px}
.brand-name small{display:block;font:500 .72rem/1.2 var(--text);letter-spacing:.06em;color:var(--teal-2);text-transform:uppercase}
.nav-main{display:none}
.nav-main ul{display:flex;gap:4px;list-style:none;align-items:center}
.nav-main a{display:flex;align-items:center;min-height:44px;padding:0 12px;color:var(--cream);text-decoration:none;font:500 .97rem var(--text);border-radius:8px}
.nav-main a:hover{background:rgba(247,241,227,.07);color:var(--cream)}
.nav-main a[aria-current="page"]{color:var(--amber);box-shadow:inset 0 -3px 0 var(--amber);border-radius:0}
.nav-main a.nav-book{background:var(--amber);color:var(--navy);border-radius:999px;padding:0 18px;font-weight:600;margin-left:6px;box-shadow:none}
.nav-main a.nav-book[aria-current="page"]{background:var(--amber-2)}
.head-tel{display:none;color:var(--cream);text-decoration:none;font:600 .95rem var(--display);min-height:44px;align-items:center}
details>summary{list-style:none;cursor:pointer}
details>summary::-webkit-details-marker{display:none}
.lang{position:relative}
.lang summary{display:flex;align-items:center;gap:6px;min-height:44px;min-width:44px;padding:0 8px;border-radius:8px;color:var(--cream);font-size:.9rem}
.lang summary svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4}
.lang-text{display:none}
.lang-panel{position:absolute;right:0;top:calc(100% + 6px);background:var(--navy-2);border:1px solid var(--line);border-radius:10px;padding:10px;min-width:180px}
.mnav summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:999px;font:600 .95rem var(--display)}
.bars,.bars::before,.bars::after{display:block;width:16px;height:2px;background:var(--amber);position:relative}
.bars::before,.bars::after{content:"";position:absolute;left:0}.bars::before{top:-5px}.bars::after{top:5px}
.mnav-panel{position:absolute;left:0;right:0;top:100%;background:var(--navy-3);border-bottom:2px dotted var(--amber);padding:8px var(--gut) 18px}
.mnav-panel ul{list-style:none}
.mnav-panel a{display:flex;align-items:center;min-height:48px;color:var(--cream);text-decoration:none;font:600 1.1rem var(--display);border-bottom:1px solid var(--line)}
.mnav-panel a[aria-current="page"]{color:var(--amber)}
@media (min-width:1080px){.nav-main{display:block}.mnav{display:none}.head-tel{display:flex}}
@media (min-width:1280px){.lang-text{display:inline}}

/* The route: one dotted amber line down the left edge, pins on it */
.rt{position:relative;padding-left:calc(var(--gut) + var(--rp))}
.rt::before{content:"";position:absolute;top:0;bottom:0;left:calc(var(--gut) + var(--lo) - 3px);width:6px;
  background:radial-gradient(circle,var(--amber) 2.3px,transparent 2.8px) center top/6px 14px repeat-y}
.rt.first::before{top:calc(var(--pin) / 2 + 3rem)}
.rt.last::before{bottom:auto;height:calc(4rem + var(--pin) / 2)}
.pin{position:absolute;left:calc(var(--lo) - var(--rp) - var(--pin) / 2);width:var(--pin);height:var(--pin);border-radius:50%;
  display:grid;place-items:center;background:var(--navy);border:3px solid var(--amber);color:var(--amber);font:700 .95rem var(--display);z-index:2}
.rt > .pin{left:calc(var(--gut) + var(--lo) - var(--pin) / 2)}
.pin.solid{background:var(--amber);color:var(--navy)}
.pin.teal{border-color:var(--teal-2);color:var(--teal-2)}

/* Home: hero */
.hero .rt{display:grid;gap:2.4rem;padding-block:3rem 4rem}
.hero .pin{top:3rem}
.hero h1{margin-bottom:.35em}
.hero-photo{position:relative;margin:0}
.hero-photo img{width:100%;aspect-ratio:1/1;object-fit:cover;box-shadow:10px 10px 0 var(--teal)}
@media (min-width:768px){.hero-photo img{box-shadow:16px 16px 0 var(--teal)}}
.hero-photo figcaption{position:absolute;left:12px;bottom:12px;background:var(--navy-3);color:var(--cream);font:500 .85rem/1.3 var(--text);padding:8px 12px;border-left:4px solid var(--amber)}
.facts{display:flex;flex-wrap:wrap;gap:8px 10px;list-style:none;margin-top:1.6rem}
.facts li{border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:.92rem;color:var(--muted)}
/* Owner rule: the title runs full width, the photo goes under it (no two-column hero). */
@media (min-width:960px){.hero-photo img{aspect-ratio:21/9;object-position:50% 40%}}

/* Home: the stops of a visit */
.visit .rt{padding-block:1rem 2rem}
.visit h2{margin-bottom:1.6rem}
.stops{list-style:none}
.stop{position:relative;padding:1.4rem 0 1.8rem;border-top:1px solid var(--line)}
.stop .pin{top:1.25rem}
.stop h3{margin-bottom:.35em}
.stop p{max-width:40em;color:var(--muted);margin-bottom:.5em}
.stop .when{font:600 .85rem/1.4 var(--display);color:var(--teal-2);letter-spacing:.04em}
@media (min-width:900px){.stop{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:2.5rem}}

/* Home: full-bleed photo band, the route keeps running over it */
.band{position:relative;margin:0}
.band img{width:100%;height:clamp(300px,52vw,600px);object-fit:cover;object-position:50% 40%}
.band-over{position:absolute;inset:0}
.band-over .rt{height:100%;display:flex;align-items:flex-end;padding-bottom:1.4rem}
.band figcaption{background:rgba(14,24,46,.92);padding:12px 16px;max-width:30em;font-size:.95rem;border-top:3px solid var(--amber)}

/* Home: home and workplace side by side */
.split .rt{padding-block:4rem}
.split-grid{display:grid;gap:1.6rem;margin-top:.6rem}
.side{background:var(--navy-2);border:1px solid var(--line);display:flex;flex-direction:column;min-width:0}
.side img{width:100%;aspect-ratio:16/9;object-fit:cover}
.side-body{padding:1.5rem 1.4rem 1.6rem;display:flex;flex-direction:column;flex:1}
.side ul{list-style:none;margin:.2rem 0 1.2rem}
.side li{padding:.45rem 0 .45rem 1.4rem;position:relative;border-bottom:1px dashed var(--line);color:var(--muted)}
.side li::before{content:"";position:absolute;left:2px;top:1.05em;width:8px;height:8px;border-radius:50%;background:var(--teal-2)}
.side .from{margin-top:auto;font-size:1rem}
.side .from .price{font-size:1.6rem}
.side .more{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
@media (min-width:860px){.split-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Zones as concentric rings */
.zones{background:var(--navy-3)}
.zones .rt{padding-block:4rem}
.sw1{background:var(--teal-2)}.sw2{background:var(--teal)}.sw3{border:2px dashed #6B7FAF}
.zones-grid{display:grid;gap:2rem;align-items:center}
.rings{width:100%;max-width:520px;height:auto;margin:0 auto}
.rings text{font-family:var(--display)}
.zone-list{list-style:none}
.zone-list li{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:12px;align-items:baseline;padding:1rem 0;border-bottom:1px solid var(--line)}
.zone-list .sw{width:14px;height:14px;border-radius:50%;align-self:center}
.zone-list strong{font-family:var(--display);font-size:1.1rem}
.zone-list span.d{display:block;color:var(--muted);font-size:.95rem}
.zone-list .price{font-size:1.25rem;white-space:nowrap}
@media (min-width:900px){.zones-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4rem}}

/* Home: last stop */
.arrive .rt{padding-block:4rem 5rem}
.arrive .pin{top:4rem}
.arrive h2{max-width:none}

/* Inner page hero: a short route with a pin at the end */
.page-hero{padding:3.2rem 0 2.6rem;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(2.25rem,1.3rem + 4vw,4.4rem)}
.trail{display:flex;align-items:center;gap:10px;margin-top:1.4rem;color:var(--teal-2);font:600 .85rem var(--display);letter-spacing:.08em;text-transform:uppercase}
.trail::before{content:"";flex:0 0 clamp(80px,22vw,220px);height:6px;background:radial-gradient(circle,var(--amber) 2.3px,transparent 2.8px) left center/14px 6px repeat-x}
.trail i{width:16px;height:16px;border-radius:50%;background:var(--amber);flex:0 0 auto}
.hero-split{display:grid;gap:2rem;align-items:center}
.circle-photo{margin:0;justify-self:center;width:min(100%,380px)}
.circle-photo img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:50%;border:4px dotted var(--amber);padding:8px}


.section{padding:4rem 0}
.section.alt{background:var(--navy-3)}
.section h2{font-size:var(--s3)}
.intro{max-width:44em;color:var(--muted)}

/* Home visits: the van's packing list */
.pack{display:grid;gap:2rem;align-items:start}
.pack-list{list-style:none;counter-reset:pk;display:grid;gap:0}
.pack-list li{display:grid;grid-template-columns:2.4rem minmax(0,1fr);gap:4px 14px;padding:1rem 0;border-bottom:1px dashed var(--line)}
.pack-list li::before{counter-increment:pk;content:counter(pk,decimal-leading-zero);grid-row:span 2;font:700 1rem var(--display);color:var(--amber);padding-top:2px}
.pack-list b{font-family:var(--display);font-size:1.1rem}
.pack-list span{color:var(--muted);font-size:.97rem}
.pack figure{margin:0}
.pack figure img{width:100%;aspect-ratio:4/5;object-fit:cover;clip-path:polygon(0 0,100% 0,100% 88%,88% 100%,0 100%)}
.pack figcaption{font-size:.9rem;color:var(--muted);margin-top:.6rem}
@media (min-width:900px){.pack{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:4rem}}

/* Home visits: the room drawing */
.room{display:grid;gap:2rem;align-items:center}
.room svg{width:100%;max-width:560px;height:auto}
.room svg text{font-family:var(--display)}
.room dl{margin:0;display:grid;gap:0}
.room dt{font:700 1.05rem var(--display);padding-top:1rem}
.room dd{margin:0;padding-bottom:1rem;border-bottom:1px solid var(--line);color:var(--muted)}
@media (min-width:900px){.room{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4rem}}

/* Price matrices and tables */
.tbl-box{position:relative;overflow-x:auto;border:1px solid var(--line);background:var(--navy-2)}
table{width:100%;border-collapse:collapse;min-width:520px}
caption{text-align:left;padding:1rem 1.2rem .4rem;font:600 .85rem var(--display);color:var(--teal-2);letter-spacing:.08em;text-transform:uppercase}
th,td{text-align:left;padding:.95rem 1.2rem;border-top:1px solid var(--line);vertical-align:top}
thead th{font:600 .85rem var(--display);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;border-top:0}
tbody th{font-family:var(--display);font-weight:700}
td.num{font:700 1.25rem var(--display);color:var(--amber);white-space:nowrap}
.tbl-note{font-size:.92rem;color:var(--muted);margin-top:.8rem}
tr.group th{background:rgba(42,157,143,.16);color:var(--teal-2);font:600 .8rem var(--display);letter-spacing:.1em;text-transform:uppercase;padding:.6rem 1.2rem}

/* Home visits: session cards with two lengths */
.sessions{display:grid;gap:1.4rem}
.sess{border-left:6px solid var(--teal);background:var(--navy-2);padding:1.6rem 1.4rem;min-width:0}
.sess p{color:var(--muted)}
.lengths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:1rem}
.lengths div{border:1px solid var(--line);padding:.8rem 1rem}
.lengths dt{font-size:.9rem;color:var(--muted)}
.lengths dd{margin:0;font:700 1.6rem var(--display);color:var(--amber)}
@media (min-width:860px){.sessions{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Two notes side by side (pets, parking) */
.notes{display:grid;gap:0;border-top:2px dotted var(--amber)}
.note{padding:1.6rem 0;border-bottom:1px solid var(--line)}
.note h3{display:flex;gap:10px;align-items:center}
.note h3 svg{width:28px;height:28px;flex:0 0 auto;stroke:var(--teal-2);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.note p{color:var(--muted)}
@media (min-width:860px){.notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 3rem}}

/* Closing strip */
.cta{padding:3.4rem 0;background:var(--amber);color:var(--navy)}
.cta-row{display:grid;gap:1.2rem;align-items:center}
.cta h2{font-size:var(--s3);margin:0}
.cta p{margin:.4rem 0 0}
.cta .btn{background:var(--navy);border-color:var(--navy);color:var(--cream)}
.cta .btn:hover{background:var(--navy-2)}
.cta .btn.ghost{background:transparent;color:var(--navy);border-color:var(--navy)}
.cta .btn.ghost:hover{background:rgba(20,33,61,.08)}
.cta .btns{margin-top:0}
.cta :focus-visible{outline-color:var(--navy)}
@media (min-width:900px){.cta-row{grid-template-columns:minmax(0,1fr) auto;gap:3rem}}

/* Workplace: a two-hour block cut into slots */
.wide-photo{margin:0}
.wide-photo img{width:100%;height:clamp(220px,34vw,420px);object-fit:cover}
.wide-photo figcaption{font-size:.9rem;color:var(--muted);padding:.7rem var(--gut) 0;max-width:1240px;margin:0 auto}
.block{border:1px solid var(--line);background:var(--navy-2);padding:1.4rem;margin-top:1.6rem}
.slots{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;margin:1rem 0 .5rem}
.slots span{height:58px;background:var(--teal);display:grid;place-items:center;font:700 .85rem var(--display);color:var(--navy-3)}
.slots span.set{background:transparent;border:2px dashed var(--amber);color:var(--amber)}
.slot-axis{display:flex;justify-content:space-between;font:600 .8rem var(--display);color:var(--muted)}
.slot-key{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:1rem;font-size:.92rem;color:var(--muted)}
.slot-key i{display:inline-block;width:14px;height:14px;background:var(--teal);vertical-align:-2px;margin-right:6px}
.alt-slots{margin-top:1.4rem;font-size:.97rem;color:var(--muted)}
.rate{display:grid;gap:2rem;align-items:center}
.rate-card{border:3px solid var(--amber);padding:2rem 1.6rem;text-align:center}
.rate-card .big{font:700 clamp(3rem,2rem + 4vw,4.8rem)/1 var(--display);color:var(--amber);display:block}
.rate-card .per{display:block;margin-top:.5rem;color:var(--muted)}
.rate ul{list-style:none}
.rate li{padding:.8rem 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem}
.rate li .price{white-space:nowrap}
@media (min-width:860px){.rate{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:4rem}}
.needs{display:grid;gap:1rem;list-style:none}
.needs li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;align-items:start;padding:1.2rem;border:1px solid var(--line)}
.needs svg{width:56px;height:56px;stroke:var(--amber);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.needs h3{margin-bottom:.25em}
.needs p{margin:0;color:var(--muted)}
@media (min-width:860px){.needs{grid-template-columns:repeat(3,minmax(0,1fr))}.needs li{grid-template-columns:minmax(0,1fr)}}

/* Rates: zone bands */
.bands{display:grid;gap:0}
.zband{display:grid;gap:.4rem 2rem;padding:1.5rem 1.4rem;border-left:8px solid var(--teal)}
.zband.z1{background:rgba(42,157,143,.22)}
.zband.z2{background:rgba(42,157,143,.11);border-left-color:var(--teal-2)}
.zband.z3{background:transparent;border:1px dashed var(--line);border-left:8px dashed var(--line)}
.zband h3{margin:0}
.zband p{margin:0;color:var(--muted)}
.zband .price{font-size:1.5rem;white-space:nowrap}
@media (min-width:860px){.zband{grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr) auto;align-items:center}}

/* Rates: cancellation as a segmented line */
.cancel{list-style:none;display:grid;gap:0;margin-top:1.4rem}
.cancel li{padding:1.1rem 1.2rem;border-top:6px solid var(--teal);background:var(--navy-2)}
.cancel li:nth-child(2){border-top-color:var(--amber)}
.cancel li:nth-child(3){border-top-color:#E0703A}
.cancel b{display:block;font:700 1.1rem var(--display)}
.cancel span{color:var(--muted);font-size:.97rem}
@media (min-width:860px){.cancel{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.8fr)}}
.paylist{columns:1;list-style:none}
.paylist li{padding:.6rem 0;border-bottom:1px dashed var(--line);break-inside:avoid}
@media (min-width:760px){.paylist{columns:2;column-gap:3rem}}

/* FAQ: index on the side, answers in details */
.faq{display:grid;gap:2rem;align-items:start}
.faq-index{border-left:3px dotted var(--amber);padding-left:1rem}
.faq-index ul{list-style:none}
.faq-index a{display:flex;align-items:center;min-height:44px;color:var(--cream);text-decoration:none;font:600 1rem var(--display)}
.faq-index a:hover{color:var(--amber)}
.faq-group{margin-bottom:2.6rem;scroll-margin-top:1rem}
.faq-group h2{font-size:var(--s3);margin-bottom:.8rem}
.qa{border-top:1px solid var(--line)}
.qa:last-child{border-bottom:1px solid var(--line)}
.qa summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;min-height:56px;padding:.8rem 0;font:600 1.08rem/1.35 var(--display)}
.qa summary::after{content:"+";flex:0 0 auto;width:32px;height:32px;border-radius:50%;border:2px solid var(--amber);color:var(--amber);display:grid;place-items:center;font-size:1.2rem;line-height:1}
.qa[open] summary::after{content:"\2013"}
.qa div{padding:0 0 1.2rem;color:var(--muted);max-width:44em}
.refer{border:2px solid var(--teal);padding:1.4rem;margin-top:1rem}
.refer h3{color:var(--teal-2)}
.refer ul{list-style:none}
.refer li{padding:.55rem 0;border-top:1px solid var(--line)}
@media (min-width:900px){.faq{grid-template-columns:minmax(0,.32fr) minmax(0,1fr);gap:4rem}.faq-index{position:sticky;top:1.5rem}}

/* Book: the request form */
.book{display:grid;gap:2.4rem;align-items:start}
.next-steps{list-style:none;counter-reset:ns}
.next-steps li{position:relative;padding:0 0 1.4rem 3.2rem}
.next-steps li::before{counter-increment:ns;content:counter(ns);position:absolute;left:0;top:-2px;width:36px;height:36px;border-radius:50%;border:3px solid var(--amber);display:grid;place-items:center;font:700 .95rem var(--display);color:var(--amber)}
.next-steps li::after{content:"";position:absolute;left:16px;top:40px;bottom:6px;width:4px;background:radial-gradient(circle,var(--amber) 1.8px,transparent 2.2px) center top/4px 10px repeat-y}
.next-steps li:last-child::after{display:none}
.next-steps b{display:block;font-family:var(--display)}
.next-steps span{color:var(--muted)}
.form{background:var(--cream);color:var(--navy);padding:1.6rem 1.2rem;display:grid;gap:1.1rem;min-width:0}
.form h2{font-size:var(--s3);margin:0}
.field{display:grid;gap:6px;min-width:0}
.field label,.field legend{font:600 .98rem var(--display)}
.opt{font:400 .85rem var(--text);color:#4A5470}
.form input,.form select{width:100%;min-height:50px;padding:.6rem .8rem;border:2px solid #8A93A8;border-radius:8px;background:#fff;color:var(--navy);font:400 1rem var(--text)}
.form input:focus-visible,.form select:focus-visible{outline:3px solid var(--navy);outline-offset:2px;border-color:var(--navy)}
.form :focus-visible{outline-color:var(--navy)}
.pair{display:grid;gap:1.1rem}
@media (min-width:560px){.pair{grid-template-columns:repeat(2,minmax(0,1fr))}}
.form .btn{background:var(--navy);border-color:var(--navy);color:var(--cream);width:100%}
.form .btn:hover{background:var(--navy-2)}
.gi{font-size:.9rem;color:#3B4562;border-left:4px solid var(--teal);padding:.5rem .8rem;background:rgba(42,157,143,.1);margin:0}
.form a{color:#7A4A08}
@media (min-width:960px){.book{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:4rem}.form{padding:2.2rem}}

/* Accessibility statement */
.statement{max-width:46em}
.statement h2{font-size:var(--s2);margin-top:2rem}
.statement ul{padding-left:1.2rem;color:var(--muted)}
.statement li{margin-bottom:.5rem}

/* Footer */
.site-foot{background:var(--navy-3);border-top:2px dotted var(--amber);padding:3.4rem 0 2rem;color:var(--muted);font-size:.97rem}
.foot-grid{display:grid;gap:2rem}
.site-foot .brand{margin:0 0 .8rem}
.site-foot h2{font:600 .8rem var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--teal-2);margin:0 0 .6rem}
.site-foot ul{list-style:none}
.site-foot li a,.foot-contact a{display:inline-flex;align-items:center;min-height:44px;color:var(--cream);text-decoration:none}
.site-foot li a:hover,.foot-contact a:hover{color:var(--amber)}
.foot-contact{display:grid}
.foot-base{margin-top:2.4rem;padding-top:1.2rem;border-top:1px solid var(--line);font-size:.9rem}
@media (min-width:760px){.foot-grid{grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr))}}

.reveal-pending{transform:translateY(14px)}.reveal-in{opacity:1;transform:none;transition:opacity .5s,transform .5s}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
