/* Ella Baché — site styles. Mobile-first. Brand: navy #001E37, grey #4A4A4A, white. Poppins + Cormorant Garamond italic for the feeling line. */
:root{--navy:#001E37;--fg:#4A4A4A;--muted:#7A7A7A;--line:#E6E6E6;--sand:#F5F5F5;--sand2:#E8E8E8;--ok:#2E7D5B;--err:#B3261E;--body:'Poppins',system-ui,sans-serif;--serif:'Cormorant Garamond',Georgia,serif;--max:1200px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--fg);font-family:var(--body);font-weight:300;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:var(--navy)}button{font:inherit}
h1,h2,h3,h4{color:var(--navy);margin:0 0 .4em;line-height:1.1}
h1{font-size:clamp(30px,6vw,52px);font-weight:600;text-transform:uppercase;letter-spacing:.5px}h1 em,h2 em,.d em{font-family:var(--serif);font-style:italic;font-weight:500;text-transform:none;letter-spacing:0}
h2{font-size:clamp(24px,4.2vw,38px);font-weight:600;text-transform:uppercase;letter-spacing:.5px}h3{font-size:18px;font-weight:500}
.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}@media(min-width:900px){.wrap{padding:0 28px}}
.sec{padding:36px 0}@media(min-width:900px){.sec{padding:56px 0}}.sec.sand{background:var(--sand)}.sec.navy{background:var(--navy);color:#fff}.sec.navy h2,.sec.navy h3{color:#fff}
.eyebrow{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.navy .eyebrow{color:rgba(255,255,255,.7)}
.sub{color:var(--muted);max-width:60ch}.center{text-align:center}.center .sub{margin:0 auto}
.sr{position:absolute;left:-9999px}
.bk{display:inline-flex;gap:8px;align-items:center;justify-content:center;background:var(--navy);color:#fff;border:1px solid var(--navy);padding:13px 20px;font-size:12px;letter-spacing:1px;text-transform:uppercase;font-weight:500;cursor:pointer;text-decoration:none;min-height:44px;transition:transform .15s}.bk:hover{transform:translateY(-1px)}.bk.ghost{background:#fff;color:var(--navy)}.bk.wh{background:#fff;color:var(--navy);border-color:#fff}.bk.outw{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}.bk.full{width:100%}.bk[disabled]{opacity:.4;cursor:default;transform:none}
.ic{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
/* header */
.ann{background:var(--navy);color:#fff;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;padding:7px 0;overflow:hidden;white-space:nowrap}.ann span{display:inline-block;animation:mq 30s linear infinite}@keyframes mq{to{transform:translateX(-50%)}}
.hdr{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.hrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px}@media(min-width:900px){.hrow{padding:12px 28px 8px}}
.logo{text-decoration:none;text-align:center}.logo b{display:block;font-family:var(--serif);font-style:italic;font-size:24px;font-weight:500;color:var(--navy);line-height:1}.logo small{display:block;font-size:7px;letter-spacing:2.5px;text-transform:uppercase;color:var(--muted)}
.hr{display:flex;gap:10px;align-items:center;color:var(--navy);font-size:12px}.hr a{color:inherit;display:inline-flex;padding:6px;min-width:44px;min-height:44px;align-items:center;justify-content:center}.hr .loc{display:none;gap:4px;align-items:center;text-decoration:none}.hr .bk{display:none;padding:10px 14px;font-size:11px}
@media(min-width:900px){.hr .loc,.hr .bk{display:inline-flex}}
.ib{background:none;border:0;color:var(--navy);padding:6px;cursor:pointer;display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center}
.nav{display:none;justify-content:center;gap:26px;border-top:1px solid var(--line);font-size:12px;letter-spacing:.6px;text-transform:uppercase;font-weight:500}@media(min-width:900px){.nav{display:flex}}
.nav>span{position:static}.nav>a,.nav>span>a{position:relative}.nav>span>a,.nav>a{display:inline-flex;gap:4px;align-items:center;padding:12px 0;color:var(--navy);text-decoration:none}.nav i{font-style:normal;color:var(--muted);font-weight:400}
.nav>span:hover>a::after,.nav>a:hover::after,.nav a.cur::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--navy)}
.mega{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 30px 50px rgba(0,30,55,.1);padding:22px 28px 26px;text-transform:none;letter-spacing:0;font-weight:300;animation:mega .2s ease both}.nav>span:hover .mega,.nav>span:focus-within .mega{display:block}@keyframes mega{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.nav{position:relative}
.mega .h5{margin:0 0 10px;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);font-weight:500}
.pg{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.pt{color:var(--navy);text-decoration:none;display:block}.pt .ph{display:block;position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--sand2)}.pt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}.pt:hover img{transform:scale(1.06)}.pt b{display:block;font-weight:400;font-size:13px;margin-top:6px;line-height:1.25}.pt small{display:block;font-size:11px;color:var(--muted)}.pt .lb{position:absolute;left:8px;bottom:8px;background:#fff;color:var(--navy);font-size:9px;letter-spacing:1px;text-transform:uppercase;padding:3px 6px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);padding:8px 10px;font-size:12px;color:var(--navy);text-decoration:none;background:#fff;min-height:36px}.chip:hover,.chip.on{border-color:var(--navy)}.chip.on{background:var(--navy);color:#fff}.chip .ic{width:15px;height:15px}
/* mobile drawer */
.drawer{position:fixed;inset:0;background:#fff;z-index:60;overflow:auto;padding:14px 16px 90px;display:none}.drawer.on{display:block;animation:mega .25s ease both}
.dtop{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.dtab{display:flex;border:1px solid var(--navy);margin-bottom:12px}.dtab button{flex:1;font-size:11px;letter-spacing:1px;text-transform:uppercase;font-weight:500;background:#fff;color:var(--navy);border:0;padding:11px;cursor:pointer}.dtab button.on{background:var(--navy);color:#fff}
.drawer .pg{grid-template-columns:1fr 1fr;gap:8px}.dfoot{display:flex;gap:14px;flex-wrap:wrap;margin-top:16px;font-size:13px}.dfoot a{color:var(--muted)}
.mbar{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);z-index:55;padding:6px 0 max(6px,env(safe-area-inset-bottom))}@media(min-width:900px){.mbar{display:none}}
.mbar a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:var(--navy);text-decoration:none;padding:4px}.mbar a.p span{width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;margin-top:-22px;box-shadow:0 6px 14px rgba(0,30,55,.25)}
body{padding-bottom:64px}@media(min-width:900px){body{padding-bottom:0}}
/* media */
.media{position:relative;overflow:hidden;background:var(--sand2)}.media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.media .tag{position:absolute;top:10px;left:10px;font-size:9px;letter-spacing:1.2px;text-transform:uppercase;background:rgba(255,255,255,.92);color:var(--navy);padding:4px 8px}.media .tag.r{left:auto;right:10px}
/* hero */
.hero{display:grid;color:#fff;background:var(--navy);overflow:hidden}.hero .ph{position:relative;aspect-ratio:4/3;overflow:hidden}.hero .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero .in{padding:32px 16px 36px}@media(min-width:900px){.hero{grid-template-columns:1fr 1fr;min-height:70vh}.hero .ph{aspect-ratio:auto;height:100%;order:2}.hero .in{padding:60px 48px 60px max(28px,calc((100vw - var(--max)) / 2));display:flex;flex-direction:column;justify-content:center}}
.hero h1{color:#fff}.hero p{max-width:50ch;font-size:16px;color:#fff}.hero .acts{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}
.want{display:flex;gap:8px;flex-wrap:wrap}.want a{background:#fff;color:var(--navy);padding:9px 12px;font-size:12px;text-decoration:none;min-height:36px;display:inline-flex;align-items:center}
/* grids & cards */
.grid{display:grid;gap:14px;grid-template-columns:1fr 1fr}@media(min-width:900px){.grid{grid-template-columns:repeat(4,1fr);gap:18px}}.grid.three{grid-template-columns:1fr}@media(min-width:700px){.grid.three{grid-template-columns:repeat(3,1fr)}}
.tc{display:block;color:var(--navy);text-decoration:none;background:#fff;border:1px solid var(--line);overflow:hidden}.tc .media{aspect-ratio:1}.tc .bd{padding:12px}.tc .t{font-weight:400;font-size:14px;line-height:1.25}.tc .m{display:flex;gap:8px;font-size:12px;color:var(--muted);margin:6px 0}.tc .cs{display:flex;gap:4px;flex-wrap:wrap}.tc .cs i{font-style:normal;font-size:10px;letter-spacing:.6px;text-transform:uppercase;background:var(--sand);padding:3px 6px;color:var(--navy)}.tc .acts{display:flex;gap:6px;margin-top:10px}.tc .acts .bk{padding:9px 10px;font-size:10px;flex:1;min-height:40px}
.g2{display:grid;gap:22px}@media(min-width:900px){.g2{grid-template-columns:1fr 1fr;align-items:center;gap:40px}}
/* treatment page */
.th{padding:22px 0 10px}.th-ben{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;margin:12px 0 8px}@media(min-width:900px){.th-ben{grid-template-columns:1fr 1fr 1fr}}.th-ben div{display:flex;gap:8px;align-items:center;font-size:11px;letter-spacing:.5px;text-transform:uppercase;font-weight:500;color:var(--navy)}.th-ben i{width:30px;height:30px;border-radius:50%;background:var(--sand);display:grid;place-items:center;flex:none}
.facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--navy);border-bottom:1px solid var(--navy);margin:14px 0}@media(min-width:900px){.facts{grid-template-columns:repeat(4,1fr)}}.facts div{padding:10px 8px 10px 0;border-right:1px solid var(--line)}.facts div:last-child{border:0}.facts small{display:block;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.facts b{display:block;font-weight:400;font-size:18px;color:var(--navy)}
.th .media{aspect-ratio:16/10}@media(min-width:900px){.th .media{aspect-ratio:4/5}}
.stars{color:var(--navy);letter-spacing:2px;font-size:12px}.stars small{letter-spacing:0;color:var(--muted);margin-left:6px}
.steps{display:grid;gap:8px}@media(min-width:900px){.steps{grid-template-columns:1fr 1fr}}.step{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);padding:14px;background:#fff}.step .n{font-family:var(--serif);font-style:italic;font-size:28px;color:var(--navy);line-height:1;flex:none;width:32px}.step b{display:block;font-weight:400;color:var(--navy)}.step small{color:var(--muted);font-size:12px}
.acc details{border-top:1px solid var(--line)}.acc details:last-child{border-bottom:1px solid var(--line)}.acc summary{cursor:pointer;padding:13px 0;color:var(--navy);list-style:none;display:flex;justify-content:space-between;gap:10px;min-height:44px;align-items:center}.acc summary::-webkit-details-marker{display:none}.acc summary::after{content:'+';color:var(--muted);flex:none}.acc details[open] summary::after{content:'–'}.acc p{margin:0 0 12px;font-size:14px}
.vs{display:grid;gap:12px;max-width:820px;margin:0 auto}@media(min-width:700px){.vs{grid-template-columns:1fr 1fr}}.vs>div{padding:16px;border:1px solid rgba(255,255,255,.2)}.vs .us{background:#fff;color:var(--navy)}.vs .h5{margin:0 0 8px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:500}.vs div div{display:flex;gap:8px;padding:8px 0;border-top:1px solid currentColor;font-size:13px}.vs div div:first-of-type{border:0}
.sticky{position:fixed;left:0;right:0;bottom:62px;background:#fff;border-top:1px solid var(--line);padding:10px 16px;display:flex;justify-content:space-between;align-items:center;gap:10px;z-index:54;transform:translateY(120%);transition:transform .3s}.sticky.on{transform:none}@media(min-width:900px){.sticky{bottom:0}}.sticky b{display:block;font-weight:500;color:var(--navy);font-size:14px}.sticky small{color:var(--muted);font-size:11px}
.pressrow{display:flex;gap:24px;justify-content:center;align-items:center;flex-wrap:wrap;opacity:.7;margin-top:20px}.pressrow img{height:20px;width:auto;filter:grayscale(1)}
.rv{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;-webkit-overflow-scrolling:touch}.rv::-webkit-scrollbar{display:none}.rv>*{scroll-snap-align:start;flex:0 0 78%}@media(min-width:700px){.rv>*{flex:0 0 32%}}.card{border:1px solid var(--line);background:#fff;padding:14px}
.ugc{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory}.ugc::-webkit-scrollbar{display:none}.ugc a{flex:0 0 150px;aspect-ratio:9/16;position:relative;scroll-snap-align:start;overflow:hidden;background:var(--navy);text-decoration:none}.ugc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ugc span{position:absolute;left:8px;bottom:8px;right:8px;color:#fff;font-size:11px;line-height:1.3;text-shadow:0 1px 6px rgba(0,0,0,.6)}.ugc .grad{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,30,55,.8),transparent 55%)}
/* product page */
.pp{display:grid;gap:18px}@media(min-width:900px){.pp{grid-template-columns:1fr 1fr;gap:40px;align-items:start}}
.gal .main{aspect-ratio:1;background:#fff}.gal .main img{object-fit:contain}.gal .th{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:6px}.gal .th button{aspect-ratio:1;border:1px solid var(--line);background:#fff;padding:0;overflow:hidden;cursor:pointer}.gal .th button.on{border-color:var(--navy)}.gal .th img{width:100%;height:100%;object-fit:contain}
.price{display:flex;gap:10px;align-items:baseline}.price b{font-size:28px;font-weight:400;color:var(--navy)}.price s{color:var(--muted)}.price .sv{font-size:11px;background:var(--navy);color:#fff;padding:3px 7px}
.ap{font-size:12px;color:var(--muted)}.ap b{color:var(--navy);font-weight:500}
.ptabs{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0 12px}.pbody{animation:up .3s ease both}.pbody[hidden]{display:none}@keyframes up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.pben{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media(min-width:900px){.pben{grid-template-columns:repeat(4,1fr)}}.pben div{background:var(--sand);padding:12px}.pben i{width:32px;height:32px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--navy);margin-bottom:6px}.pben b{display:block;font-weight:500;color:var(--navy);font-size:13px}.pben small{font-size:12px}
.ings{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media(min-width:900px){.ings{grid-template-columns:repeat(3,1fr)}}.ings div{border:1px solid var(--line);padding:10px}.ings b{display:block;font-weight:500;color:var(--navy);font-size:13px}.ings small{font-size:12px}
.range{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}.range::-webkit-scrollbar{display:none}.range a{flex:0 0 150px;scroll-snap-align:start;border:1px solid var(--line);background:#fff;text-decoration:none;color:var(--navy)}.range .rp{aspect-ratio:1;position:relative;overflow:hidden}.range .rp img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff}.range b{display:block;font-weight:400;font-size:12px;padding:8px 10px 0}.range small{display:block;color:var(--muted);font-size:12px;padding:0 10px 10px}
.routine{display:grid;gap:10px}@media(min-width:900px){.routine{grid-template-columns:1fr 1fr}}.routine .card .h5{margin:0 0 6px;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--navy)}.routine .r{display:flex;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line);font-size:13px}.routine .r b{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--navy);width:22px;font-weight:500}.routine .r a{text-decoration:none;color:var(--navy)}
/* finder & booking */
.fcard{background:#fff;border:1px solid var(--line);padding:18px 16px}@media(min-width:900px){.fcard{padding:24px}}
.fprog{display:flex;gap:4px;margin-bottom:14px}.fprog i{flex:1;height:3px;background:var(--line)}.fprog i.on{background:var(--navy)}.fprog i.done{background:var(--navy);opacity:.4}
.fopts{display:grid;grid-template-columns:1fr;gap:8px}@media(min-width:700px){.fopts{grid-template-columns:1fr 1fr}}.fopt{display:flex;gap:12px;align-items:center;text-align:left;background:#fff;border:1px solid var(--line);padding:14px;cursor:pointer;color:var(--navy);min-height:56px;transition:border-color .15s}.fopt:hover,.fopt.on{border-color:var(--navy)}.fopt.on{background:var(--sand)}.fopt i{width:34px;height:34px;border-radius:50%;background:var(--sand);display:grid;place-items:center;flex:none}.fopt b{font-weight:400;font-size:14px}.fopt small{display:block;color:var(--muted);font-size:12px}
.fsalon{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);padding:10px 12px;margin:0 0 8px;font-size:14px;color:var(--navy);text-decoration:none}.fsalon:hover{border-color:var(--navy)}.fsalon img{width:56px;height:70px;object-fit:cover;flex:none}.fsalon>div{flex:1;min-width:0}.fsalon b{display:block;font-weight:500}.fsalon small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.fnav{display:flex;justify-content:space-between;align-items:center;margin-top:16px;gap:10px}.link{background:none;border:0;color:var(--muted);font-size:12px;letter-spacing:.6px;text-transform:uppercase;cursor:pointer;padding:10px 0}
.segs{display:inline-flex;border:1px solid var(--navy)}.segs button,.segs a{padding:10px 18px;font-size:12px;letter-spacing:1px;text-transform:uppercase;font-weight:500;background:#fff;color:var(--navy);border:0;cursor:pointer;text-decoration:none;display:inline-flex;gap:8px;align-items:center}.segs .on{background:var(--navy);color:#fff}
.slots{display:flex;gap:6px;flex-wrap:wrap}.slot{border:1px solid var(--line);padding:10px 12px;font-size:13px;color:var(--navy);background:#fff;cursor:pointer;min-height:44px}.slot.on{background:var(--navy);color:#fff;border-color:var(--navy)}.slot[disabled]{color:var(--muted);text-decoration:line-through;cursor:default}
.addon{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);padding:12px;cursor:pointer;background:#fff;text-align:left;width:100%;color:var(--fg);min-height:56px}.addon.on{border-color:var(--navy);box-shadow:inset 3px 0 0 var(--navy)}.addon b{display:block;font-weight:400;color:var(--navy);font-size:13px}.addon small{font-size:11px;color:var(--muted)}.addon .p{font-size:13px;color:var(--navy);white-space:nowrap}
.sal{display:flex;gap:12px;align-items:center;border:1px solid var(--line);padding:12px;background:#fff;cursor:pointer;text-align:left;width:100%;color:var(--fg);min-height:64px}.sal.on{border-color:var(--navy);box-shadow:inset 3px 0 0 var(--navy)}.sal b{display:block;font-weight:400;color:var(--navy)}.sal small{display:block;font-size:12px;color:var(--muted)}.sal .km{margin-left:auto;font-size:13px;color:var(--navy);white-space:nowrap}.badge{display:inline-block;font-size:9px;letter-spacing:1px;text-transform:uppercase;padding:2px 6px;background:var(--sand);color:var(--navy)}.badge.ok{background:#E6F1EC;color:var(--ok)}
.map{aspect-ratio:16/9;background:var(--sand2);position:relative;overflow:hidden;border:1px solid var(--line)}.map svg{width:100%;height:100%}
.in{width:100%;border:1px solid var(--line);padding:12px;font:inherit;font-size:16px;color:var(--navy);min-height:48px}.in:focus{outline:2px solid var(--navy);outline-offset:1px}.lbl{display:block;font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);margin:12px 0 6px}
.summ{border:1px solid var(--navy);padding:14px;display:grid;gap:8px;background:#fff}.summ .r{display:flex;justify-content:space-between;gap:10px;font-size:14px}.summ .r b{font-weight:500;color:var(--navy)}.summ .tot{border-top:1px solid var(--line);padding-top:8px;font-size:18px}
.msg{padding:10px 12px;font-size:13px;background:var(--sand);color:var(--navy)}.msg.err{background:#FBEAE8;color:var(--err)}.msg.ok{background:#E6F1EC;color:var(--ok)}
.tl{display:grid;gap:8px}@media(min-width:700px){.tl{grid-template-columns:repeat(3,1fr)}}.tl div{padding:12px;border-top:2px solid var(--navy)}.tl b{display:block;font-family:var(--serif);font-style:italic;font-size:24px;color:var(--navy)}.tl small{font-size:12px}
/* salons */
.slist{display:grid;gap:10px}@media(min-width:900px){.slist{grid-template-columns:1fr 1fr 1fr}}
.srow{display:block;border:1px solid var(--line);padding:14px;text-decoration:none;color:var(--fg);background:#fff}.srow b{display:block;color:var(--navy);font-weight:400}.srow small{display:block;color:var(--muted);font-size:12px}
/* blog */
.bgrid{display:grid;gap:14px}@media(min-width:700px){.bgrid{grid-template-columns:1fr 1fr}}@media(min-width:1000px){.bgrid{grid-template-columns:1fr 1fr 1fr}}
.bc{display:block;text-decoration:none;color:var(--fg);border:1px solid var(--line);background:#fff}.bc .media{aspect-ratio:4/3}.bc .bd{padding:14px}.bc h3{font-size:16px;font-weight:500;line-height:1.3}.bc small{color:var(--muted);font-size:12px}
.art{max-width:720px;margin:0 auto}.art p{font-size:16px;line-height:1.7}.art h2{font-size:22px;text-transform:none;letter-spacing:0;font-weight:500;margin-top:28px}.art h3{font-size:18px;margin-top:22px}.art .lead{font-size:18px;color:var(--navy)}.art .hero-img{aspect-ratio:16/9;margin:18px 0}.art ul{padding-left:20px}
.kt{background:var(--sand);padding:16px;margin:22px 0;font-size:14px}.kt b{display:block;color:var(--navy);font-weight:500;margin-bottom:6px}
/* footer */
.ft{background:var(--navy);color:#fff;padding:36px 0 30px;font-size:13px}.ft .cols{display:grid;gap:22px;grid-template-columns:1fr 1fr}@media(min-width:900px){.ft .cols{grid-template-columns:repeat(4,1fr)}}.ft .h5{margin:0 0 8px;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;font-weight:500}.ft a{display:block;color:rgba(255,255,255,.85);text-decoration:none;padding:4px 0}.ft .small{margin-top:24px;font-size:11px;opacity:.7}
.toast{position:fixed;left:50%;bottom:80px;transform:translateX(-50%);background:var(--navy);color:#fff;padding:12px 18px;font-size:13px;opacity:0;pointer-events:none;transition:opacity .3s;z-index:99;max-width:90vw}.toast.on{opacity:1}
.rev{opacity:0;transform:translateY(12px);transition:opacity .5s,transform .5s}.rev.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rev{opacity:1;transform:none;transition:none}.ann span{animation:none}*{transition:none!important}}
.crumbs{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.crumbs a{color:inherit;text-decoration:none}
.note{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:10px;margin-top:14px}
.skip{position:absolute;left:-9999px;top:0;background:#fff;padding:8px}.skip:focus{left:8px;z-index:100}
/* additions: states used by app.js */
.nav>span.open .mega{display:block}

.fopt.row{min-height:64px}.fopt.row img{width:56px;height:70px;object-fit:cover;flex:none}.fopt.row span{flex:1}
.segs.scroll{display:flex;overflow-x:auto;border:0;gap:6px;padding-bottom:4px;scrollbar-width:none;margin-bottom:12px}.segs.scroll::-webkit-scrollbar{display:none}.segs.scroll button{border:1px solid var(--line);flex:none;flex-direction:column;gap:2px;padding:8px 12px;text-transform:none;letter-spacing:0;font-size:13px;min-height:44px}.segs.scroll button small{font-size:10px;color:var(--muted)}.segs.scroll .on small{color:#fff}
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}@media(min-width:600px){.slots{grid-template-columns:repeat(5,1fr)}}.slot small{display:block;font-size:10px;color:var(--muted)}.slot.low{border-color:var(--navy)}.slot.on small{color:#fff}
.bk.sm{padding:9px 14px;font-size:11px;min-height:40px;flex:none}
.lnk{background:none;border:0;color:var(--navy);text-decoration:underline;cursor:pointer;font:inherit;font-size:13px;padding:0;display:inline-flex;gap:6px;align-items:center;min-height:32px}
.map svg line{stroke:#fff;stroke-width:1}.map svg circle.pin{fill:var(--navy)}.map svg circle.me{fill:#fff;stroke:var(--navy);stroke-width:3}.map svg text{font-size:12px;fill:var(--navy);font-family:Poppins,sans-serif}.map small{position:absolute;right:8px;bottom:6px;font-size:10px;color:var(--muted)}
.srow{display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:12px 14px;background:#fff;margin-bottom:6px}.srow>a{flex:1;text-decoration:none;color:inherit;min-width:0}.srow b{display:block;font-weight:500;font-size:14px}.srow small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.fprog small{margin-left:auto;font-size:11px;color:var(--muted);letter-spacing:1px;text-transform:uppercase}

@media(min-width:900px){#menuBtn{visibility:hidden}}.hr .bk{color:#fff}

.locbar{border:1px solid var(--navy);padding:14px 16px;margin:16px 0 4px;background:#fff}.locbar .row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.locbar .in{flex:1;min-width:180px}.locbar .have{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:14px}.locbar .have b{font-weight:500}.locbar .res{margin-top:10px}.locbar .srow{margin-bottom:6px}.tc.off{display:none}
.fbar{display:flex;gap:10px;align-items:flex-start;margin:14px 0 0;flex-wrap:wrap}.fbar>small{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);padding-top:12px}.fbar .chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}.tgroup.off{display:none}.locbar.compact{border:0;padding:0;margin:8px 0 0}
/* booking journey */
.bprog{display:grid;grid-template-columns:repeat(5,1fr);margin:0 0 14px;border-bottom:1px solid var(--line)}.bprog div{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 0 10px;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.bprog div.on{color:var(--navy);border-color:var(--navy)}.bprog div.done{color:var(--navy)}.bprog .ic{width:18px;height:18px}
.bsumm{border:1px solid var(--line);padding:12px;margin:0 0 6px;background:#fff}.bsumm .li{display:flex;gap:10px;align-items:flex-start;padding:6px 0;font-size:14px}.bsumm .li .ic{flex:none;margin-top:2px}.bsumm .li b{display:block;font-weight:500;color:var(--navy)}.bsumm .li span{display:block;color:var(--muted);font-size:13px}
.map.sm{aspect-ratio:16/8;margin-top:8px}
.bsticky{position:sticky;bottom:72px;background:#fff;padding:10px 0 4px;margin-top:14px;border-top:1px solid var(--line)}@media(min-width:900px){.bsticky{bottom:0}}
.pinned{display:flex;gap:10px;align-items:center;background:var(--sand);padding:10px 12px;font-size:13px}.pinned>div{flex:1;min-width:0}.pinned b{display:block;font-weight:500;color:var(--navy)}.pinned small{color:var(--muted)}
.banner{display:flex;gap:10px;align-items:center;border:1px solid var(--navy);padding:10px 12px;margin:0 0 10px;font-size:13px}
.radio{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);padding:12px;margin-bottom:6px;background:#fff;cursor:pointer;font-size:14px}.radio input{position:absolute;opacity:0;width:0;height:0}.radio .dot{width:18px;height:18px;border:1px solid var(--navy);border-radius:50%;flex:none;margin-top:2px;position:relative}.radio.on{border-color:var(--navy);background:var(--sand)}.radio.on .dot::after{content:'';position:absolute;inset:4px;border-radius:50%;background:var(--navy)}.radio b{display:block;font-weight:500;color:var(--navy)}.radio small{display:block;color:var(--muted);font-size:12px}.radio .km{text-align:right;flex:none;font-size:13px;color:var(--navy)}.radio .km small{color:var(--muted)}
.ther{display:flex;gap:6px;margin:0 0 12px}.ther button{flex:1;border:1px solid var(--line);background:#fff;padding:8px;font:inherit;font-size:13px;color:var(--navy);text-align:left;cursor:pointer}.ther button.on{border-color:var(--navy);background:var(--sand)}.ther button[disabled]{color:var(--muted);cursor:default}.ther small{display:block;font-size:11px;color:var(--muted)}
.lines .row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}.lines .row.total{font-weight:500;color:var(--navy);border-bottom:0;font-size:16px}
.msg.warn{background:#FFF7E6;border:1px solid #F0D9A8;padding:8px 10px;font-size:13px;color:#6B4E00}
.tick{width:52px;height:52px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:26px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:14px;margin:10px 0}.kv dt{color:var(--muted)}.kv dd{margin:0}
.note.ok{border-left:3px solid var(--navy)}
.center{text-align:center}
