@font-face{font-family:"Young Serif";src:url(fonts/young-serif-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Familjen Grotesk";src:url(fonts/familjen-grotesk-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Familjen Grotesk";src:url(fonts/familjen-grotesk-700.woff2) format("woff2");font-weight:700;font-display:swap}
:root{
  --saffron:#f0a830;--turmeric:#f7cf6a;--marigold:#fbe2a2;--chilli:#b8321f;--indigo:#1e2550;
  --cardamom:#56662a;--clove:#4a2216;--paprika:#de6a2c;
  --serif:"Young Serif",Georgia,serif;--sans:"Familjen Grotesk","Trebuchet MS",sans-serif;
  --r:18px;
}
[hidden]{display:none!important}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);font-size:1.075rem;line-height:1.6;color:var(--indigo);background:var(--turmeric);overflow-wrap:break-word}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.18;background-image:radial-gradient(rgba(74,34,22,.35) 1px,transparent 1.2px);background-size:5px 5px;mix-blend-mode:multiply}
img{max-width:100%;display:block}
a{color:inherit;text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{color:var(--chilli)}
:focus-visible{outline:3px solid var(--indigo);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;margin:0 0 .5em}
h2{font-size:clamp(1.8rem,3.4vw,2.7rem)}
h3{font-size:1.3rem}
.skip{position:absolute;left:-999px;top:0;background:var(--indigo);color:var(--turmeric);padding:.6rem 1rem;z-index:300}
.skip:focus{left:1rem;top:1rem}
.wrap{word-break:break-all}
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 1.4rem;border-radius:999px;background:var(--chilli);color:var(--marigold);font-weight:700;text-decoration:none;border:2px solid var(--chilli);cursor:pointer;font:inherit;font-weight:700;transition:transform .25s cubic-bezier(.3,1.6,.5,1),background .2s}
.btn:hover{transform:translateY(-3px) rotate(-1deg);color:var(--marigold);background:var(--clove);border-color:var(--clove)}
.btn--line{background:transparent;color:var(--indigo);border-color:var(--indigo)}
.btn--line:hover{background:var(--indigo);color:var(--turmeric);border-color:var(--indigo)}
.btn--ink{background:var(--indigo);border-color:var(--indigo);color:var(--turmeric)}

/* ---------- top bar: woven warp nav ---------- */
.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:1.5rem;padding:.7rem clamp(1rem,3vw,2.5rem);background:var(--indigo);color:var(--marigold)}
.topbar::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:8px;background:repeating-linear-gradient(90deg,var(--chilli) 0 12px,var(--saffron) 12px 24px,var(--cardamom) 24px 36px);animation:slide 18s linear infinite}
@keyframes slide{to{background-position:360px 0}}
.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--marigold)}
.brand:hover{color:var(--saffron)}
.brand-knot{display:grid;gap:3px;width:30px}
.brand-knot i{display:block;height:6px;border-radius:3px;background:var(--saffron);transition:transform .4s}
.brand-knot i:nth-child(2){background:var(--chilli);transform:translateX(6px)}
.brand-knot i:nth-child(3){background:var(--turmeric);transform:translateX(-3px)}
.brand:hover .brand-knot i{transform:translateX(0)}
.brand-word{font-family:var(--serif);font-size:1.5rem;line-height:1}
.brand-word small{display:block;font-family:var(--sans);font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;opacity:.8}
.warp{display:flex;align-items:center;gap:.2rem;margin-left:auto}
.warp-link{position:relative;padding:.55rem .85rem;color:var(--marigold);text-decoration:none;background:none;border:0;font:inherit;font-size:.98rem;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem}
.warp-link::after{content:"";position:absolute;left:.85rem;right:.85rem;bottom:.25rem;height:3px;background:repeating-linear-gradient(90deg,var(--saffron) 0 6px,var(--chilli) 6px 12px);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.warp-link:hover,.warp-link[aria-current],.warp-link.is-cur{color:var(--saffron)}
.warp-link:hover::after,.warp-link[aria-current]::after,.warp-link.is-cur::after,.make-btn[aria-expanded=true]::after{transform:scaleX(1)}
.chev{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s}
.make-btn[aria-expanded=true] .chev{transform:rotate(-135deg)}
.make{position:relative}
.make-panel{position:absolute;top:calc(100% + 18px);left:-1rem;width:min(560px,80vw);display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--saffron);border-radius:var(--r);box-shadow:0 22px 40px -18px rgba(30,37,80,.6);animation:drop .3s ease}
@keyframes drop{from{opacity:0;transform:translateY(-8px)}}
.make-panel a{display:block;padding:1rem 1.1rem;background:var(--marigold);color:var(--indigo);text-decoration:none;border-radius:14px;transition:background .2s,transform .2s}
.make-panel a:nth-child(2){border-radius:14px 14px 14px 4px}
.make-panel a:hover,.make-panel a[aria-current]{background:var(--indigo);color:var(--marigold);transform:translateY(-2px)}
.make-panel strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.15rem}
.make-panel span{font-size:.9rem;opacity:.85}
.talk{padding:.6rem 1.1rem;border-radius:999px;background:var(--saffron);color:var(--indigo);text-decoration:none;font-weight:700;white-space:nowrap;transition:transform .25s}
.talk:hover{transform:rotate(-3deg) scale(1.04);color:var(--indigo)}
.dock-btn{display:none}
.sheet{position:fixed;inset:0;z-index:200;background:rgba(30,37,80,.55);display:flex;align-items:flex-end}
.sheet-inner{width:100%;max-height:85dvh;overflow:auto;background:var(--marigold);border-radius:26px 26px 0 0;padding:1.2rem 1.4rem 2rem;animation:up .35s cubic-bezier(.2,.9,.3,1.1);border-top:10px solid transparent;border-image:repeating-linear-gradient(90deg,var(--chilli) 0 12px,var(--saffron) 12px 24px,var(--indigo) 24px 36px) 10}
@keyframes up{from{transform:translateY(100%)}}
.sheet-head{display:flex;justify-content:space-between;align-items:center}
.sheet-head p{font-family:var(--serif);font-size:1.6rem;margin:0}
.sheet-close{font:inherit;font-weight:700;background:var(--indigo);color:var(--marigold);border:0;border-radius:999px;padding:.5rem 1rem;cursor:pointer}
.sheet ul{list-style:none;margin:1rem 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.4rem}
.sheet a{display:block;padding:.8rem;border-radius:12px;background:var(--turmeric);text-decoration:none;font-weight:700}
.sheet a[aria-current]{background:var(--indigo);color:var(--marigold)}

@media (max-width:960px){
  .warp,.talk{display:none}
  .topbar{justify-content:center}
  .dock-btn{display:inline-flex;position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:60;align-items:center;gap:.6rem;padding:.8rem 1.4rem;border-radius:999px;border:0;background:var(--chilli);color:var(--marigold);font:inherit;font-weight:700;box-shadow:0 12px 26px -10px rgba(30,37,80,.7);cursor:pointer}
  .dock-lines{display:grid;gap:3px;width:18px}.dock-lines i{height:3px;border-radius:2px;background:currentColor}
  .dock-lines i:nth-child(2){transform:translateX(4px)}
}

/* ---------- home hero ---------- */
.hero{position:relative;padding:clamp(3rem,8vw,6.5rem) clamp(1rem,4vw,3rem) 0;text-align:center;overflow:hidden;background:radial-gradient(120% 80% at 50% 0,var(--marigold),var(--turmeric) 60%,var(--saffron))}
.hero-kicker,.kicker{font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:.78rem;margin:0 0 1.4rem}
.hero-title{font-size:clamp(2.6rem,8.4vw,7.4rem);line-height:.98;margin:0 auto 2rem;display:grid;justify-items:center;gap:.05em}
.thread{display:block;position:relative;padding:0 .25em}
.thread>span{position:relative;z-index:1;display:inline-block}
.thread::before{content:"";position:absolute;left:0;right:0;top:52%;height:.34em;z-index:0;border-radius:.2em;transform-origin:left}
.t1::before{background:repeating-linear-gradient(90deg,var(--saffron) 0 10px,var(--paprika) 10px 20px)}
.t2{color:var(--chilli)}.t2::before{background:var(--marigold);transform-origin:right}
.t3::before{background:repeating-linear-gradient(90deg,rgba(86,102,42,.45) 0 10px,transparent 10px 20px)}
.t4{color:var(--indigo)}.t4::before{background:repeating-linear-gradient(90deg,var(--chilli) 0 6px,var(--saffron) 6px 12px);height:.14em;top:88%}
@media (prefers-reduced-motion:no-preference){
  .thread>span{animation:weft 1s cubic-bezier(.2,.8,.2,1) both}
  .thread::before{animation:warp 1.2s cubic-bezier(.2,.8,.2,1) both}
  .t1>span{--from:-60px}.t2>span{--from:60px;animation-delay:.12s}.t3>span{--from:-60px;animation-delay:.24s}.t4>span{--from:60px;animation-delay:.36s}
  .t2::before{animation-delay:.2s}.t3::before{animation-delay:.32s}.t4::before{animation-delay:.6s}
}
@keyframes weft{from{opacity:0;transform:translateX(var(--from))}}
@keyframes warp{from{transform:scaleX(0)}}
.hero-foot{max-width:720px;margin:0 auto}
.hero-foot p{font-size:1.15rem}
.hero-acts{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin:1.6rem 0 3rem}
.hero-band{margin:0 calc(-1*clamp(1rem,4vw,3rem));max-width:none;background:var(--indigo);color:var(--saffron);overflow:hidden;padding:.9rem 0;transform:rotate(-1.2deg) translateY(10px)}
.band-track{display:flex;gap:2.5rem;width:max-content;font-family:var(--serif);font-size:1.6rem;animation:marq 32s linear infinite}
.band-track span::after{content:"";display:inline-block;width:.5em;height:.5em;margin-left:2.5rem;background:repeating-linear-gradient(45deg,var(--chilli) 0 3px,var(--saffron) 3px 6px);border-radius:2px}
@keyframes marq{to{transform:translateX(-50%)}}

/* path */
.path{padding:clamp(4rem,8vw,7rem) clamp(1rem,4vw,3rem);background:var(--indigo);color:var(--marigold);position:relative;overflow:hidden}
.path-head{max-width:640px}
.path-head h2{color:var(--saffron)}
.path-line{list-style:none;padding:0;margin:3rem 0 0;display:grid;grid-template-columns:repeat(5,1fr);gap:1.4rem;position:relative}
.path-line::before{content:"";position:absolute;left:0;right:0;top:15px;height:6px;background:repeating-linear-gradient(90deg,var(--saffron) 0 14px,var(--chilli) 14px 28px);border-radius:3px;transform-origin:left;transform:scaleX(var(--p,0));transition:transform 1.4s cubic-bezier(.2,.8,.2,1)}
.path-line.in::before{--p:1}
.path-line li{position:relative;padding-top:3rem}
.knot{position:absolute;top:0;left:0;width:36px;height:36px;border-radius:50%;background:var(--turmeric);border:6px solid var(--indigo);box-shadow:0 0 0 3px var(--saffron);transition:transform .4s}
.path-line li:hover .knot{transform:scale(1.2) rotate(45deg);border-radius:8px}
.path-line h3{color:var(--saffron)}
.path-line p{font-size:.98rem;opacity:.9}
@media (max-width:800px){.path-line{grid-template-columns:1fr;padding-left:3rem}.path-line::before{left:15px;right:auto;width:6px;height:auto;top:0;bottom:0;transform-origin:top;transform:scaleY(var(--p,0))}.path-line li{padding-top:0}.knot{left:-3rem}}

/* bench */
.bench{overflow:clip;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center;padding:clamp(4rem,8vw,7rem) clamp(1rem,4vw,3rem);background:var(--marigold)}
.swatch{margin:0;position:relative;padding:12px;background:repeating-linear-gradient(90deg,var(--chilli) 0 10px,var(--saffron) 10px 20px),repeating-linear-gradient(0deg,var(--indigo) 0 10px,transparent 10px 20px);border-radius:var(--r);width:100%;max-width:100%}
.swatch img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:10px}
.swatch figcaption{margin-top:.6rem;padding:.6rem .8rem;background:var(--marigold);border-radius:10px;font-size:.88rem}
.swatch figcaption em{display:block;font-style:normal;font-weight:700;color:var(--chilli);font-size:.8rem}
.swatch--tilt{transform:rotate(-2deg);transition:transform .5s cubic-bezier(.3,1.5,.5,1)}
.swatch--tilt:hover{transform:rotate(0) scale(1.01)}
.swatch--wide{margin:2rem 0}
.arrow-link{font-weight:700;display:inline-flex;gap:.5rem;align-items:center}
.arrow-link::after{content:"\2192";transition:transform .25s}
.arrow-link:hover::after{transform:translateX(6px)}
@media (max-width:860px){.bench{grid-template-columns:1fr}}

/* strands */
.strands{padding:clamp(4rem,8vw,7rem) clamp(1rem,4vw,3rem);background:var(--saffron)}
.strand-list{list-style:none;padding:0;margin:2rem 0 0;border-top:4px solid var(--indigo)}
.strand-list a{display:grid;grid-template-columns:minmax(0,18rem) 1fr 3rem;gap:1.5rem;align-items:center;padding:1.5rem .5rem;border-bottom:4px solid var(--indigo);text-decoration:none;position:relative;overflow:hidden;isolation:isolate}
.strand-list a::before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(90deg,var(--indigo) 0 18px,#253064 18px 36px);transform:translateX(-101%);transition:transform .5s cubic-bezier(.7,0,.2,1)}
.strand-list li:nth-child(even) a::before{transform:translateX(101%)}
.strand-list a:hover::before,.strand-list a:focus-visible::before{transform:translateX(0)}
.strand-list a:hover,.strand-list a:focus-visible{color:var(--marigold)}
.s-name{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.05}
.s-go{width:44px;height:44px;border-radius:50%;border:3px solid currentColor;position:relative;transition:transform .4s}
.s-go::after{content:"";position:absolute;inset:12px 14px 12px 10px;border-top:3px solid currentColor;border-right:3px solid currentColor;transform:rotate(45deg)}
.strand-list a:hover .s-go{transform:rotate(360deg)}
@media (max-width:700px){.strand-list a{grid-template-columns:1fr 3rem}.s-desc{grid-column:1/-1;grid-row:2}}

/* picker */
.picker{display:grid;grid-template-columns:1fr 1.4fr;gap:2rem 4rem;padding:clamp(4rem,8vw,7rem) clamp(1rem,4vw,3rem);background:var(--clove);color:var(--marigold)}
.picker h2{color:var(--saffron)}
.picker-form{display:grid;gap:1.2rem;grid-row:span 2}
.picker fieldset{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem}
.picker legend{font-family:var(--serif);font-size:1.25rem;margin-bottom:.6rem;width:100%}
.picker label{position:relative;display:inline-flex;align-items:center;padding:.6rem 1rem;border:2px solid var(--saffron);border-radius:12px;cursor:pointer;transition:background .2s,transform .2s}
.picker label:hover{transform:translateY(-2px)}
.picker input[type=radio]{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.picker label:has(input:checked){background:var(--saffron);color:var(--clove);font-weight:700}
.picker label:has(input:focus-visible){outline:3px solid var(--marigold);outline-offset:3px}
.picker-out{background:var(--marigold);color:var(--indigo);border-radius:var(--r);padding:1.5rem;min-height:8rem;align-self:start}
.picker-out h3{color:var(--chilli)}
.picker-out.pop{animation:pop .5s cubic-bezier(.3,1.6,.5,1)}
@keyframes pop{from{transform:scale(.96);opacity:.4}}
@media (max-width:860px){.picker{grid-template-columns:1fr}.picker-form{grid-row:auto}}

.loom-cta{padding:clamp(3rem,6vw,5rem) clamp(1rem,4vw,3rem);background:repeating-linear-gradient(90deg,var(--saffron) 0 24px,var(--turmeric) 24px 48px);background-size:200% 100%;animation:slide 40s linear infinite}
.loom-cta-in{max-width:900px;margin:0 auto;background:var(--marigold);border-radius:var(--r);padding:clamp(1.5rem,4vw,3rem);display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between;box-shadow:10px 10px 0 var(--indigo)}
.loom-cta p{font-family:var(--serif);font-size:clamp(1.3rem,2.6vw,1.9rem);margin:0;flex:1 1 22rem;line-height:1.2}

/* ---------- inner pages ---------- */
.selvedge{position:relative;padding:clamp(3rem,7vw,6rem) clamp(1rem,4vw,3rem) clamp(4rem,8vw,7rem);color:var(--marigold);overflow:hidden}
.selvedge--chilli{background:var(--chilli)}.selvedge--indigo{background:var(--indigo)}.selvedge--cardamom{background:var(--cardamom)}.selvedge--clove{background:var(--clove)}
.selvedge-in{max-width:980px;position:relative;z-index:1}
.weft-title{font-size:clamp(2.4rem,6.4vw,5.4rem);color:var(--turmeric)}
.lede{font-size:1.2rem;max-width:720px}
.lede a{color:var(--turmeric)}
.selvedge-edge{position:absolute;left:0;right:0;bottom:0;height:34px;background:repeating-linear-gradient(90deg,var(--saffron) 0 16px,transparent 16px 32px),repeating-linear-gradient(0deg,var(--turmeric) 0 8px,var(--marigold) 8px 17px);animation:slide 30s linear infinite}
.selvedge::after{content:"";position:absolute;right:-6rem;top:-4rem;width:26rem;height:26rem;border-radius:50%;background:repeating-conic-gradient(rgba(240,168,48,.18) 0 10deg,transparent 10deg 20deg);animation:spin 60s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.cloth{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);padding:clamp(2.5rem,5vw,4rem) clamp(1rem,4vw,3rem) 5rem;max-width:1320px;margin:0 auto}
.threads{position:sticky;top:6rem;align-self:start}
.threads>p{font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:.75rem}
.threads ol{list-style:none;padding:0;margin:0;border-left:4px solid rgba(30,37,80,.2)}
.threads a{display:block;padding:.45rem 0 .45rem 1rem;margin-left:-4px;border-left:4px solid transparent;text-decoration:none;transition:border-color .3s,padding .3s}
.threads a.on{border-left-color:var(--chilli);padding-left:1.4rem;font-weight:700;color:var(--chilli)}
.cloth-body{display:grid;gap:1.6rem}
.panel{background:var(--marigold);border-radius:var(--r);padding:clamp(1.4rem,3.5vw,2.6rem);scroll-margin-top:6rem;position:relative}
.panel:nth-child(odd){margin-right:clamp(0rem,4vw,4rem)}
.panel:nth-child(even){margin-left:clamp(0rem,4vw,4rem);background:#fdebbd}
.panel h2{font-size:clamp(1.6rem,3vw,2.3rem)}
@media (prefers-reduced-motion:no-preference){.panel{transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .7s}.panel.pre{opacity:0;transform:translateY(30px)}}
.knots{list-style:none;padding:0;display:grid;gap:.7rem}
.knots li{position:relative;padding-left:2rem}
.knots li::before{content:"";position:absolute;left:0;top:.45em;width:14px;height:14px;background:repeating-linear-gradient(90deg,var(--chilli) 0 4px,var(--saffron) 4px 7px);border-radius:3px;transform:rotate(45deg)}
.pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.pair>div{padding:1.1rem;border-radius:14px;border:2px dashed rgba(30,37,80,.35)}
.pair>div:hover{border-style:solid;border-color:var(--chilli)}
.steps{padding-left:1.4rem;display:grid;gap:.5rem}
.steps li::marker{font-family:var(--serif);color:var(--chilli)}
.links{display:grid;gap:.6rem;padding-left:1.2rem}
.note{font-size:.9rem;opacity:.85}
.gloss{display:grid;grid-template-columns:10rem 1fr;gap:.6rem 1.2rem}
.gloss dt{font-family:var(--serif);color:var(--chilli)}.gloss dd{margin:0}
@media (max-width:900px){.cloth{grid-template-columns:1fr}.threads{position:static}.threads ol{display:flex;flex-wrap:wrap;gap:.4rem;border:0}.threads a{border:2px solid var(--indigo);border-radius:999px;padding:.3rem .8rem;margin:0;font-size:.9rem}.threads a.on{padding-left:.8rem;background:var(--indigo);color:var(--marigold);border-color:var(--indigo)}.panel:nth-child(n){margin:0}}
@media (max-width:600px){.pair{grid-template-columns:1fr}.gloss{grid-template-columns:1fr}.gloss dd{margin-bottom:.6rem}}

/* tabs */
.tabs [role=tablist]{display:flex;flex-wrap:wrap;gap:.3rem;border-bottom:4px solid var(--indigo)}
.tabs [role=tab]{font:inherit;font-weight:700;padding:.7rem 1.1rem;border:0;border-radius:12px 12px 0 0;background:var(--turmeric);color:var(--indigo);cursor:pointer;position:relative;transition:transform .2s}
.tabs [role=tab]:hover{transform:translateY(-3px)}
.tabs [role=tab][aria-selected=true]{background:var(--indigo);color:var(--saffron)}
.tabs [role=tabpanel]{padding:1.4rem .2rem 0;animation:pop .4s ease}

/* checklist */
.ready{background:var(--indigo);color:var(--marigold);border-radius:var(--r);padding:1.4rem}
.ready-meter{height:22px;border-radius:11px;background:rgba(251,226,162,.15);overflow:hidden}
.ready-fill{display:block;height:100%;width:100%;background:repeating-linear-gradient(90deg,var(--saffron) 0 10px,var(--chilli) 10px 20px);transform-origin:left;transform:scaleX(0);transition:transform .6s cubic-bezier(.3,1.4,.5,1);animation:slide 10s linear infinite}
.ready-status{font-family:var(--serif);font-size:1.4rem;margin:.8rem 0}
.ready ul{list-style:none;padding:0;display:grid;gap:.4rem}
.ready label{display:flex;gap:.8rem;align-items:flex-start;padding:.6rem .7rem;border-radius:10px;cursor:pointer;transition:background .2s}
.ready label:hover{background:rgba(251,226,162,.1)}
.ready input[type=checkbox]{width:22px;height:22px;flex:0 0 22px;margin:.1rem 0 0;accent-color:var(--saffron)}
.ready-advice{min-height:1.5em;color:var(--turmeric)}
.ready .btn--line{color:var(--marigold);border-color:var(--marigold)}

/* forms */
.form{display:grid;gap:1rem}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{margin:0;display:grid;gap:.35rem}
.field label{font-weight:700}
.field input,.field select,.field textarea{width:100%;max-width:100%;font:inherit;padding:.75rem .9rem;border:2px solid var(--indigo);border-radius:12px;background:#fff8e4;color:var(--indigo)}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--saffron);outline-offset:1px}
.field [aria-invalid=true]{border-color:var(--chilli);background:#fde5dc}
.err{color:var(--chilli);font-weight:700;font-size:.9rem}
.check{display:flex;gap:.8rem;align-items:flex-start;margin:0}
.check input[type=checkbox]{width:22px;height:22px;flex:0 0 22px;margin:.15rem 0 0;accent-color:var(--chilli)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-msg:not(:empty){padding:1rem;border-radius:12px;font-weight:700}
.form-msg.ok{background:var(--cardamom);color:var(--marigold)}
.form-msg.bad{background:var(--chilli);color:var(--marigold)}
@media (max-width:640px){.row2{grid-template-columns:1fr}}
.map-ph{border-radius:14px;padding:1.5rem;background:repeating-linear-gradient(45deg,var(--turmeric) 0 14px,var(--marigold) 14px 28px);border:2px dashed var(--indigo)}

/* lost */
.lost{min-height:70dvh;display:grid;place-content:center;text-align:center;padding:4rem 1rem}

/* footer */
.foot{background:var(--indigo);color:var(--marigold);padding-bottom:5rem}
.foot-weave{height:40px;background:repeating-linear-gradient(90deg,var(--chilli) 0 20px,var(--saffron) 20px 40px,var(--cardamom) 40px 60px,var(--turmeric) 60px 80px);-webkit-mask:repeating-linear-gradient(0deg,#000 0 10px,rgba(0,0,0,.55) 10px 20px);mask:repeating-linear-gradient(0deg,#000 0 10px,rgba(0,0,0,.55) 10px 20px)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem;padding:3rem clamp(1rem,4vw,3rem)}
.foot-big{font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);line-height:1;color:var(--saffron)}
.foot h2{font-family:var(--sans);font-weight:700;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--saffron)}
.foot ul{list-style:none;padding:0;margin:0;display:grid;gap:.3rem}
.foot address{font-style:normal}
.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,4vw,3rem);border-top:1px solid rgba(251,226,162,.25);font-size:.9rem}
.cookie-open{font:inherit;background:none;border:2px solid var(--saffron);color:var(--saffron);border-radius:999px;padding:.4rem 1rem;cursor:pointer}
@media (max-width:800px){.foot-grid{grid-template-columns:1fr}}
.cookie{position:fixed;left:1rem;bottom:1rem;z-index:150;width:min(440px,calc(100vw - 2rem));background:var(--marigold);color:var(--indigo);border-radius:var(--r);padding:1.3rem;box-shadow:8px 8px 0 var(--chilli);border:3px solid var(--indigo);animation:pop .4s ease}
.cookie p{margin:0 0 1rem;font-size:.95rem}
.cookie-btns{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.7rem}
.cookie-btns button{font:inherit;font-weight:700;padding:.7rem;border-radius:12px;border:2px solid var(--indigo);background:var(--indigo);color:var(--marigold);cursor:pointer}
@media (max-width:960px){.cookie{bottom:5rem}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
/* homepage expansion */
.table-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);background:var(--marigold);overflow:clip}
.table-photo{margin:0;position:relative;min-height:22rem}
.table-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.table-photo figcaption{position:absolute;left:1rem;right:1rem;bottom:1rem;background:rgba(30,37,80,.88);color:var(--marigold);font-size:.82rem;padding:.5rem .8rem;border-radius:10px}
.table-copy{padding:clamp(2.5rem,6vw,5rem) clamp(1rem,4vw,3.5rem)}
.bring{list-style:none;padding:0;margin:1.4rem 0;display:grid;gap:.9rem}
.bring li{padding-left:1.6rem;position:relative}
.bring li::before{content:"";position:absolute;left:0;top:.45rem;width:.8rem;height:.8rem;border-radius:50%;background:var(--chilli);box-shadow:0 0 0 3px var(--saffron)}
@media (max-width:860px){.table-band{grid-template-columns:1fr}.table-photo{min-height:16rem}}
.trimmer{padding:clamp(3rem,7vw,6rem) clamp(1rem,4vw,3rem);background:var(--clove);color:var(--marigold)}
.trim-head{max-width:46rem}
.trim-head h2{color:var(--saffron)}
.trim-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:.7rem;margin:2rem 0}
.trim-row{border:1px solid rgba(251,226,162,.35);border-radius:14px;padding:.7rem .8rem;margin:0;display:flex;flex-wrap:wrap;gap:.35rem}
.trim-row legend{font-weight:700;padding:0 .3rem;font-size:.95rem}
.trim-row label{position:relative;flex:1}
.trim-row input{position:absolute;opacity:0;width:1px;height:1px}
.trim-row span{display:block;text-align:center;font-size:.85rem;padding:.4rem .3rem;border-radius:999px;border:1px solid rgba(251,226,162,.5);cursor:pointer;transition:background .2s}
.trim-row input:checked+span{background:var(--saffron);color:var(--clove);border-color:var(--saffron);font-weight:700}
.trim-row input[value=later]:checked+span{background:var(--marigold)}
.trim-row input[value=no]:checked+span{background:transparent;color:var(--marigold);text-decoration:line-through}
.trim-row input:focus-visible+span{outline:3px solid var(--turmeric);outline-offset:2px}
.trim-out{background:var(--marigold);color:var(--indigo);border-radius:var(--r);padding:1.2rem 1.4rem;max-width:46rem}
.trim-weight{font-family:var(--serif);font-size:1.6rem;margin:0}
.trim-out p{margin:.3rem 0 0}
.ledger{padding:clamp(3rem,7vw,6rem) clamp(1rem,4vw,3rem)}
.ledger-intro{max-width:44rem}
.ledger-table{margin-top:1.6rem;border-top:4px solid var(--indigo)}
.lg-row{display:grid;grid-template-columns:10rem minmax(0,1fr) minmax(0,1fr);gap:1.4rem;padding:1rem 0;border-bottom:2px dashed rgba(30,37,80,.35)}
.lg-head{font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}
.lg-stage{font-family:var(--serif);font-size:1.4rem;color:var(--chilli)}
.lg-lab{display:none}
@media (max-width:760px){.lg-row{grid-template-columns:1fr;gap:.3rem}.lg-head{display:none}.lg-lab{display:inline}}
.snippet{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:2.5rem;align-items:center;padding:clamp(3rem,7vw,6rem) clamp(1rem,4vw,3rem);background:var(--indigo);color:var(--marigold)}
.snippet h2{color:var(--saffron)}
.snippet .btn--ink{background:var(--saffron);color:var(--indigo);border-color:var(--saffron)}
.snip-card{margin:0;white-space:pre-wrap;font-family:var(--sans);font-size:1.05rem;line-height:1.7;background:var(--marigold);color:var(--indigo);padding:1.6rem;border-radius:var(--r);transform:rotate(-1deg);box-shadow:8px 8px 0 var(--chilli)}
.copy-note{min-height:1.5em}
@media (max-width:860px){.snippet{grid-template-columns:1fr}.snip-card{transform:none}}
.tend{padding:clamp(3rem,7vw,6rem) clamp(1rem,4vw,3rem);background:var(--saffron)}
.tend-cols{columns:2 20rem;column-gap:2.5rem;margin-bottom:1.2rem}
.tend-cols p{margin-top:0}
.faq{padding:clamp(3rem,7vw,6rem) clamp(1rem,4vw,3rem)}
.faq-list{max-width:52rem;display:grid;gap:.6rem;margin-top:1.4rem}
.faq-list details{background:var(--marigold);border-radius:14px;padding:0 1.2rem;border-left:6px solid var(--chilli)}
.faq-list summary{cursor:pointer;font-weight:700;padding:1rem 0;list-style-position:outside}
.faq-list details p{margin:0 0 1rem}
