/* Beauty by KIIS — udkast 2: uld-verdenen + seddel-blokke */
:root{
  --chalk:#EDEFE9; --chalk-2:#E2E5DD; --paper:#FBFBF8;
  --ink:#1C231F; --ink-2:#4A544D; --rule:#CDD3C9;
  --moss:#3D5C47; --moss-deep:#2E4636; --pine:#24352B;
  --ochre:#C4923F; --ochre-soft:#E3C68E; --plum:#74465A; --plum-deep:#5C3647;
  --fjord:#8AA1B1; --taupe:#B3A296; --on-dark:#F2F3EE; --on-dark-2:#C9D3C8;
  --pen:#8E3B55;
  --wool:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --r:6px;
  --wrap:1360px;
  --gutter:clamp(16px,4vw,48px);
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}
img{max-width:100%;height:auto;display:block}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--chalk);color:var(--ink);font:400 18px/1.6 'Albert Sans',system-ui,sans-serif}
::selection{background:var(--ochre-soft);color:var(--ink)}
a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}
:focus-visible{outline:3px solid var(--ochre);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-weight:600;letter-spacing:-.03em;text-wrap:balance;margin:0}
p{margin:0}
.wool{background-image:var(--wool)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.num{font-variant-numeric:tabular-nums}
.skip{position:absolute;left:-999px;top:8px;background:var(--paper);padding:10px 16px;border-radius:6px;z-index:50}
.skip:focus{left:8px}

/* udkast-bar (kun i udkast) */
.draft{background:var(--ink);color:#c9d0c9;font-size:13px;padding:6px var(--gutter);display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between}
.draft a{color:#fff}

/* knapper */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;font:600 17px/1.3 'Albert Sans',sans-serif;text-align:center;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background-color .2s,border-color .2s,transform .2s var(--ease)}
.btn:active{transform:translateY(1px)}
.btn-chalk{background:var(--chalk);color:var(--ink)}
.btn-chalk:hover{background:#fff}
.btn-moss{background:var(--moss);color:var(--on-dark)}
.btn-moss:hover{background:var(--moss-deep)}
.btn-line-light{border-color:rgba(242,243,238,.55);color:var(--on-dark)}
.btn-line-light:hover{border-color:var(--on-dark)}
.btn-line{border-color:var(--ink);color:var(--ink)}
.btn-line:hover{background:var(--paper)}
.link-strong{font-weight:600}

/* header */
.top{background-color:var(--moss);color:var(--on-dark);position:relative;z-index:30}
.top .wrap{display:flex;align-items:center;gap:28px;min-height:112px}
.brand{display:block;margin:10px 0 -22px -8px;position:relative;z-index:2}
.side .brand{margin:8px 0 6px -8px}
.side .brand img{width:108px;height:108px}
.brand img{width:124px;height:124px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.18))}
.nav{display:flex;gap:24px;margin-left:auto;font-size:16px}
.nav a{text-decoration:none;opacity:.9;padding:6px 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a[aria-current]{opacity:1;border-bottom-color:currentColor}
.lang{font-size:15px;white-space:nowrap;color:var(--on-dark-2)}
.lang strong{color:var(--on-dark)}
.lang a{text-decoration:none}
.top .btn{min-height:44px;padding:0 20px;font-size:16px}
.menu-btn{display:none;background:transparent;border:2px solid rgba(242,243,238,.5);color:var(--on-dark);border-radius:999px;min-height:44px;padding:0 16px;font:600 16px/1.3 'Albert Sans',sans-serif;cursor:pointer}
.mobile-nav{display:none}

/* hero */
.hero{background-color:var(--moss);color:var(--on-dark);padding:clamp(36px,5vw,72px) 0 0;position:relative}
.hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,80px);align-items:start}
.hero h1{font-size:clamp(46px,6vw,90px);line-height:.98;letter-spacing:-.035em;margin-bottom:26px;max-width:11ch}
.hero .lead{font-size:clamp(19px,1.5vw,22px);color:#DCE3DA;max-width:34ch;margin-bottom:28px}
.facts{list-style:none;padding:0;margin:0 0 30px;display:grid;gap:10px;font-size:16.5px;color:#DCE3DA}
.facts li{display:flex;gap:12px;align-items:baseline}
.facts svg{flex:none;width:18px;height:18px;transform:translateY(3px);stroke:var(--ochre-soft);fill:none;stroke-width:1.8}
.actions{display:flex;gap:14px;flex-wrap:wrap}

/* seddel (bestillingsseddel) */
.slip-stage{position:relative;padding:28px 0 0 28px}
.slip-photo{position:absolute;right:-12px;top:-8px;width:44%;transform:rotate(4deg);margin:0;z-index:0}
.slip-photo img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--r);box-shadow:0 18px 36px -20px rgba(0,0,0,.6)}
.slip-photo figcaption{position:absolute;left:-14px;bottom:18px;background:var(--chalk);color:var(--ink);font-size:14px;line-height:1.4;padding:9px 13px;border-radius:3px;transform:rotate(-5deg);box-shadow:0 8px 16px -10px rgba(0,0,0,.5)}
.slip-photo figcaption b{display:block;font-weight:700}
.slip{position:relative;z-index:1;background:var(--paper);color:var(--ink);width:min(100%,560px);padding:30px clamp(18px,2.6vw,34px) 26px;border-radius:2px;transform:rotate(-.8deg);box-shadow:0 2px 0 rgba(0,0,0,.05),0 30px 50px -28px rgba(0,0,0,.6)}
.slip::before{content:"";position:absolute;left:0;right:0;top:-9px;height:10px;background:radial-gradient(circle at 7px 10px,var(--paper) 6px,transparent 6.5px) 0 0/14px 10px repeat-x}
.slip-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;border-bottom:2px solid var(--ink);padding-bottom:12px}
.slip-head .t{font-size:clamp(25px,2.2vw,32px);font-weight:700;letter-spacing:-.02em;line-height:1.15}
.slip-head .s{font-size:14.5px;color:var(--ink-2);margin-top:6px}
.slip-head img{width:64px;height:64px;transform:rotate(9deg);flex:none;opacity:.95}
.cols{display:grid;grid-template-columns:36px 1fr 64px 78px;font-size:13px;color:var(--ink-2);padding:10px 0 2px}
.cols span:nth-child(n+3){text-align:right}
.sec{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;margin:14px 0 2px}
.sec i{width:12px;height:12px;border-radius:3px;display:inline-block}
.row{display:grid;grid-template-columns:36px 1fr 64px 78px;align-items:center;width:100%;background:transparent;border:0;border-top:1px solid var(--rule);padding:9px 0;font:inherit;font-size:16.5px;color:inherit;text-align:left;cursor:pointer;min-height:48px;transition:background-color .15s}
.row:hover{background:rgba(61,92,71,.06)}
.row .box{width:22px;height:22px;border:2px solid var(--ink);border-radius:3px;position:relative}
.row .box svg{position:absolute;inset:-6px;width:34px;height:34px;overflow:visible}
.row .box path{fill:none;stroke:var(--pen);stroke-width:3.2;stroke-linecap:round;stroke-dasharray:40;stroke-dashoffset:40;transition:stroke-dashoffset .26s ease-out}
.row .box path+path{transition-delay:.11s}
.row[aria-checked="true"] .box path{stroke-dashoffset:0}
.row .n small{display:block;color:var(--ink-2);font-size:13.5px;line-height:1.4}
.row .m,.row .p{text-align:right;font-variant-numeric:tabular-nums}
.row .m{color:var(--ink-2);font-size:15px}
.row .p{font-weight:700}
.combi{display:none;margin:12px 0 0;padding:12px 14px;background:var(--chalk);border-radius:4px;font-size:15.5px}
.combi.show{display:block}
.combi label{display:inline-flex;gap:8px;align-items:center;margin:4px 18px 0 0;cursor:pointer;min-height:32px}
.combi input{accent-color:var(--moss);width:18px;height:18px;font:inherit;line-height:inherit}
.total{display:grid;grid-template-columns:1fr auto auto;gap:4px 22px;align-items:baseline;border-top:2px solid var(--ink);margin-top:14px;padding-top:14px}
.total .lbl{font-weight:700;font-size:18px}
.total output{font-size:clamp(25px,2.2vw,32px);font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;text-align:right}
.total small{grid-column:1/-1;color:var(--ink-2);font-size:14.5px;line-height:1.45}
.slip-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.slip-actions .btn{min-height:48px;padding:0 22px;font-size:16px}
.sent{display:none;margin-top:12px;font-size:15px;color:var(--pen)}
.sent.show{display:block}

/* prøvebog (swatches) */
.book{margin-top:clamp(36px,5vw,64px)}
.book-row{display:flex;align-items:flex-end}
.swatch{position:relative;display:block;text-decoration:none;color:var(--ink);border-radius:var(--r) var(--r) 0 0;padding:20px 20px 28px;min-height:150px;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.swatch:hover{transform:translateY(-12px);box-shadow:0 -12px 28px -18px rgba(0,0,0,.45);z-index:2}
.swatch .sw-t{display:block;font-size:clamp(19px,1.6vw,24px);font-weight:600;letter-spacing:-.015em;line-height:1.3;margin-bottom:6px}
.swatch .from{font-size:15.5px}
.swatch .from strong{font-weight:700;font-variant-numeric:tabular-nums}
.swatch .go{display:block;margin-top:14px;font-size:14px;text-decoration:underline;text-underline-offset:.25em;opacity:.85}
.s-negle{flex:34 1 0;background-color:var(--ochre)}
.s-sugar{flex:22 1 0;background-color:var(--plum);color:var(--on-dark)}
.s-bryn{flex:18 1 0;background-color:var(--fjord)}
.s-haar{flex:14 1 0;background-color:var(--taupe)}
.s-massage{flex:12 1 0;background-color:var(--pine);color:var(--on-dark)}

/* sektioner */
.section{padding:clamp(64px,8vw,120px) 0}
.h2{font-size:clamp(34px,4vw,58px);line-height:1.02}
.sub{color:var(--ink-2);max-width:56ch;margin-top:16px;font-size:19px}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:28px;flex-wrap:wrap;margin-bottom:clamp(28px,4vw,48px)}

/* mosaik: det laver vi */
.mosaic{display:grid;grid-template-columns:1.25fr repeat(3,minmax(0,1fr));grid-template-rows:auto auto;gap:clamp(12px,1.6vw,22px)}
.tile{position:relative;margin:0;border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--ink);display:block;background:var(--chalk-2)}
.tile img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transition:transform .6s var(--ease)}
.tile:hover img{transform:scale(1.03)}
.tile.big{grid-row:span 2}
.tile.big img{aspect-ratio:auto;min-height:100%}
.tile .tag{position:absolute;left:14px;bottom:14px;right:auto;display:flex;flex-direction:column;gap:1px;padding:12px 16px;border-radius:3px;font-size:15px;line-height:1.4;box-shadow:0 10px 22px -14px rgba(0,0,0,.6)}
.tile .tag b{font-size:18px;font-weight:700;letter-spacing:-.01em}
.tag.ochre{background:var(--ochre)} .tag.plum{background:var(--plum);color:var(--on-dark)} .tag.fjord{background:var(--fjord)} .tag.taupe{background:var(--taupe)} .tag.pine{background:var(--pine);color:var(--on-dark)} .tag.chalk{background:var(--chalk)}

/* alt i ét besøg */
.together-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.compare{display:grid;grid-template-columns:auto 1fr;gap:10px 22px;margin:28px 0 32px;font-variant-numeric:tabular-nums}
.compare dt{font-weight:700}
.compare dd{margin:0;color:var(--ink-2)}
.overlap{position:relative;height:clamp(320px,34vw,460px)}
.overlap .sw{position:absolute;width:60%;height:74%;border-radius:var(--r);overflow:hidden;box-shadow:0 22px 40px -26px rgba(0,0,0,.5)}
.overlap .sw img{width:100%;height:100%;object-fit:cover}
.overlap .sw span{position:absolute;left:14px;bottom:14px;padding:8px 12px;border-radius:3px;font-weight:700;font-size:16px}
.overlap .one{left:0;top:0}
.overlap .one span{background:var(--ochre)}
.overlap .two{right:0;bottom:0}
.overlap .two span{background:var(--plum);color:var(--on-dark)}
.overlap .clock{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--paper);border-radius:999px;padding:14px 22px;font-weight:700;font-size:20px;box-shadow:0 10px 24px -14px rgba(0,0,0,.55);white-space:nowrap;z-index:2}

/* stemmer (kvitteringer på plum) */
.voices{background-color:var(--plum);color:var(--on-dark)}
.voices .sub{color:#E5D3DA}
.voices-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,80px);align-items:center}
.voices img{border-radius:var(--r);aspect-ratio:4/5;object-fit:cover}
.receipts{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.receipts li{background:var(--paper);color:var(--ink);padding:22px 24px 24px;font-size:clamp(18px,1.5vw,21px);line-height:1.45;transform:rotate(var(--r,0deg));box-shadow:0 18px 30px -22px rgba(0,0,0,.6);position:relative}
.receipts li::before{content:"";position:absolute;left:0;right:0;top:-8px;height:9px;background:radial-gradient(circle at 6px 9px,var(--paper) 5px,transparent 5.5px) 0 0/12px 9px repeat-x}
.receipts small{display:block;margin-top:10px;font-size:14px;color:var(--ink-2)}
.src{font-size:14px;margin-top:18px;color:#E5D3DA}

/* sådan booker du */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px);counter-reset:s}
.steps li{counter-increment:s;padding-top:20px;border-top:2px solid var(--ink)}
.steps li::before{content:counter(s);display:block;font-size:44px;font-weight:600;letter-spacing:-.03em;line-height:1;margin-bottom:14px;color:var(--moss)}
.steps h3{font-size:22px;margin-bottom:8px;letter-spacing:-.015em}
.steps p{color:var(--ink-2)}
.note{margin-top:28px;padding:18px 22px;background:var(--paper);border-radius:var(--r);display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:space-between}

/* find os: kort + kontakt */
.findos{background-color:var(--pine);color:var(--on-dark);padding:0}
.map-wrap{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);min-height:560px}
.map{position:relative;overflow:hidden;background:#d9ddd5}
.map img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;pointer-events:none}
.pin .head{width:90px;height:90px;border-radius:50%;background:var(--pine);box-shadow:0 10px 24px -8px rgba(0,0,0,.6);display:grid;place-items:center}
.pin .head img{width:80px;height:80px}
.pin .stem{width:3px;height:26px;background:var(--pine)}
.pin .dot{width:14px;height:14px;border-radius:50%;background:var(--pine);border:3px solid #fff;margin-top:-4px;box-shadow:0 2px 6px rgba(0,0,0,.4)}
.pin::after{content:"";position:absolute;bottom:-2px;width:46px;height:14px;border-radius:50%;background:rgba(36,53,43,.25);filter:blur(4px);z-index:-1}
.map .credit{position:absolute;right:8px;bottom:6px;font-size:12px;background:rgba(241,242,236,.85);color:var(--ink);padding:2px 6px;border-radius:3px}
.map .label{position:absolute;left:50%;top:calc(50% + 14px);transform:translateX(-50%);background:var(--paper);color:var(--ink);font-size:14px;font-weight:700;padding:6px 10px;border-radius:3px;white-space:nowrap;box-shadow:0 8px 16px -10px rgba(0,0,0,.5)}
.contact{padding:clamp(36px,4vw,56px) clamp(24px,3.5vw,56px)}
.contact h2{font-size:clamp(30px,3vw,44px);margin-bottom:22px}
.contact address{font-style:normal;font-size:19px;line-height:1.5;margin-bottom:20px}
.phone{display:inline-block;font-size:clamp(28px,2.6vw,38px);font-weight:600;letter-spacing:-.02em;text-decoration:none;font-variant-numeric:tabular-nums;margin-bottom:6px}
.phone:hover{text-decoration:underline}
.mail{display:block;color:var(--on-dark-2);margin-bottom:26px}
.hours{width:100%;border-collapse:collapse;font-size:16.5px;margin-bottom:26px;font-variant-numeric:tabular-nums}
.hours th{text-align:left;font-weight:400;color:var(--on-dark-2);padding:8px 0;border-top:1px solid rgba(242,243,238,.18)}
.hours td{text-align:right;padding:8px 0;border-top:1px solid rgba(242,243,238,.18)}
.hours tr.today th,.hours tr.today td{color:#fff;font-weight:700}
.contact .actions .btn{min-height:48px}

/* footer */
footer.foot{background-color:var(--pine);color:var(--on-dark-2);border-top:1px solid rgba(242,243,238,.14);padding:48px 0 120px;font-size:15.5px}
.foot-grid{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));gap:36px;align-items:center}
.foot-logo{width:200px;height:200px;margin:-24px 0 -24px -24px}
.foot h3{color:#fff;font-size:16px;margin-bottom:10px;letter-spacing:0}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.foot a{text-decoration:none}
.foot a:hover{text-decoration:underline;color:#fff}
.legal{margin-top:36px;padding-top:18px;border-top:1px solid rgba(242,243,238,.14);font-size:14px;display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between}

.sticky-book{display:none}

/* ---------- manicure-side ---------- */
.crumbs{font-size:15px;color:#5a4a2a;padding:18px 0 0}
.crumbs a{color:inherit}
.crumbs span{margin:0 8px;opacity:.6}
.hero-ochre{background-color:var(--ochre);color:var(--ink);padding:0 0 clamp(48px,6vw,88px)}
.hero-ochre .lead{color:#3b2f1c}
.hero-ochre h1{max-width:12ch}
.hero-ochre .facts{color:#3b2f1c}
.hero-ochre .facts svg{stroke:var(--ink)}
.price-chip{display:inline-flex;gap:16px;align-items:baseline;background:var(--paper);padding:14px 20px;border-radius:var(--r);margin-bottom:28px;box-shadow:0 12px 24px -18px rgba(0,0,0,.5)}
.price-chip strong{font-size:30px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.price-chip span{color:var(--ink-2)}
.collage{position:relative;height:clamp(380px,40vw,560px);margin-top:clamp(24px,4vw,56px)}
.collage figure{position:absolute;margin:0}
.collage img{width:100%;height:100%;object-fit:cover;border-radius:var(--r);box-shadow:0 22px 40px -24px rgba(0,0,0,.55)}
.collage .c1{left:0;top:0;width:72%;height:78%}
.collage .c2{right:0;bottom:0;width:46%;height:52%;transform:rotate(2.5deg)}
.collage figcaption{position:absolute;left:-14px;top:22px;background:var(--paper);font-size:14.5px;line-height:1.4;padding:10px 14px;border-radius:3px;transform:rotate(-4deg);box-shadow:0 8px 16px -10px rgba(0,0,0,.5)}
.collage figcaption b{display:block}
.slip-section{background-color:var(--chalk)}
.slip-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,80px);align-items:start}
.slip.wide{width:100%;transform:rotate(-.4deg)}
.aside-notes{position:sticky;top:24px;display:grid;gap:18px}
.card-note{background-color:var(--paper);border-radius:var(--r);padding:22px 24px}
.card-note h3{font-size:20px;margin-bottom:8px;letter-spacing:-.01em}
.card-note p{color:var(--ink-2);font-size:16.5px}
.card-note.moss{background-color:var(--moss);color:var(--on-dark)}
.card-note.moss p{color:#DCE3DA}
.process{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.8vw,24px);counter-reset:p}
.process li{counter-increment:p}
.process img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--r);margin-bottom:16px}
.process h3{font-size:21px;margin-bottom:6px;display:flex;gap:10px;align-items:baseline;letter-spacing:-.015em}
.process h3::before{content:counter(p);color:var(--ochre);font-weight:700}
.process p{color:var(--ink-2);font-size:16.5px}
.band{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:520px}
.band img{width:100%;height:100%;object-fit:cover}
.band .txt{padding:clamp(40px,6vw,96px) clamp(24px,5vw,80px);display:flex;flex-direction:column;justify-content:center}
.band.fjord .txt{background-color:var(--fjord)}
.tips{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:14px}
.tips li{display:grid;grid-template-columns:28px 1fr;gap:12px;font-size:17.5px}
.tips svg{width:22px;height:22px;stroke:var(--ink);fill:none;stroke-width:1.8;margin-top:3px}
.mini-tracks{background:var(--paper);border-radius:var(--r);padding:20px 22px;margin:24px 0 28px}
.mt-row{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:12px;margin:8px 0}
.mt-row b{font-size:15.5px}
.mt-lane{position:relative;height:30px;background:var(--chalk);border-radius:5px}
.mt-bar{position:absolute;top:0;height:30px;border-radius:5px;display:flex;align-items:center;padding:0 10px;font-size:13.5px;font-weight:700;color:#fff;white-space:nowrap}
.mt-cap{display:flex;justify-content:space-between;font-size:14px;color:var(--ink-2);margin-top:10px;font-variant-numeric:tabular-nums}
.extra{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;background-color:var(--plum);color:var(--on-dark);border-radius:var(--r);padding:26px 30px}
.extra .p{font-size:30px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.extra p{color:#E5D3DA}
.extra h3{font-size:22px;margin-bottom:4px}
.faq{max-width:880px}
.faq details{border-top:1px solid var(--rule);padding:4px 0}
.faq details:last-child{border-bottom:1px solid var(--rule)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;font-size:20px;font-weight:600;letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:14px;height:14px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg) translateY(-4px);transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:rotate(225deg) translate(-2px,-2px)}
.faq details p{padding:0 0 20px;color:var(--ink-2);max-width:70ch}

/* responsive */
@media (max-width:1100px){
  .nav{gap:16px;font-size:15px}
  .process{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .nav,.lang{display:none}
  .menu-btn{display:inline-flex;align-items:center;margin-left:auto}
  .top .wrap{gap:12px;min-height:88px}
  .brand,.side .brand{margin:6px 0 -10px -6px}
  .side .brand{margin:6px 0 6px -6px}
  .brand img,.side .brand img{width:84px;height:84px}
  .foot-logo{width:150px;height:150px;margin:-18px 0 -10px -18px}
  .mobile-nav{display:none;background-color:var(--moss-deep);padding:8px var(--gutter) 20px}
  .mobile-nav.open{display:block}
  .mobile-nav a{display:block;padding:12px 0;border-bottom:1px solid rgba(242,243,238,.14);color:var(--on-dark);text-decoration:none;font-size:18px}
  .hero-grid,.together-grid,.voices-grid,.slip-grid,.map-wrap,.band{grid-template-columns:1fr}
  .slip-stage{padding:10px 0 0}
  .slip-photo{display:none}
  .slip,.slip.wide{transform:none}
  .cols,.row{grid-template-columns:34px 1fr 56px 70px}
  .book-row{flex-direction:column;align-items:stretch}
  .swatch{border-radius:0;min-height:0;padding:16px 18px}
  .swatch:hover{transform:none;box-shadow:none}
  .swatch .go{display:inline;margin:0 0 0 10px}
  .mosaic{grid-template-columns:1fr 1fr}
  .tile.big{grid-column:span 2;grid-row:auto}
  .tile.big img{aspect-ratio:4/3;min-height:0}
  .steps{grid-template-columns:1fr}
  .map{min-height:360px}
  .aside-notes{position:static}
  .process{grid-template-columns:1fr 1fr}
  .band img{max-height:360px}
  .extra{grid-template-columns:1fr;gap:10px}
  .foot-grid{grid-template-columns:1fr 1fr}
  .collage{height:360px}
  .sticky-book{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:40;gap:10px;transition:opacity .25s,transform .25s}
  .sticky-book .btn{flex:1;min-height:54px;box-shadow:0 10px 30px -10px rgba(0,0,0,.6)}
  .sticky-book.hide{opacity:0;pointer-events:none;transform:translateY(20px)}
}
@media (max-width:520px){
  .mosaic{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 calc(-1*var(--gutter));padding:0 var(--gutter) 6px;scrollbar-width:none}
  .mosaic::-webkit-scrollbar{display:none}
  .tile,.tile.big{flex:0 0 80%;scroll-snap-align:start;grid-column:auto}
  .tile img,.tile.big img{aspect-ratio:4/5;min-height:0}
  .process{grid-template-columns:1fr}
  .process img{aspect-ratio:16/10}
  .hero h1{font-size:44px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
