/* ---------- fonts (self-hosted) ---------- */
@font-face{font-family:"Vazirmatn";font-weight:400;font-display:swap;src:url(../fonts/vazirmatn-arabic-400-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+200C-200E,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:"Vazirmatn";font-weight:500;font-display:swap;src:url(../fonts/vazirmatn-arabic-500-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+200C-200E,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:"Vazirmatn";font-weight:700;font-display:swap;src:url(../fonts/vazirmatn-arabic-700-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+200C-200E,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:"Vazirmatn";font-weight:400;font-display:swap;src:url(../fonts/vazirmatn-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F}
@font-face{font-family:"Vazirmatn";font-weight:500;font-display:swap;src:url(../fonts/vazirmatn-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F}
@font-face{font-family:"Vazirmatn";font-weight:700;font-display:swap;src:url(../fonts/vazirmatn-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F}
@font-face{font-family:"Noto Nastaliq Urdu";font-weight:700;font-display:swap;src:url(../fonts/nastaliq.woff2) format("woff2")}

/* ---------- tokens ---------- */
:root{
  --wool:#FFFFFF;--wool-dark:#F2F0EC;--ink:#141210;--black:#070707;--ash:#6B635A;
  --sans:"Vazirmatn",system-ui,sans-serif;--nq:"Noto Nastaliq Urdu","Vazirmatn",serif;
  --smooth:cubic-bezier(.22,1,.36,1);
}

/* The whole layout is drawn at 1440 wide and scales with the viewport:
   1rem = 1rem at 1440, capped by the window height so the hero always fits
   on one screen. Below 56.25rem it switches to the phone layout, where
   1rem = 1rem at 390. */
html{font-size:clamp(10px,min(calc(100vw / 90),calc(100vh / 56)),20px);direction:rtl;-webkit-text-size-adjust:100%;scroll-padding-top:5rem}
@media (max-width:900px){html{font-size:clamp(11px,calc(100vw / 24.375),22px)}}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;border-radius:0}
body{background:var(--wool);color:var(--ink);font-family:var(--sans);font-size:max(1rem,14px);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;text-align:inherit}
img{display:block;max-width:100%}
ul{list-style:none}
h1,h2,h3{font-weight:inherit;font-size:inherit}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
::selection{background:var(--dye);color:var(--on-dye)}

.wrap{width:80rem;max-width:calc(100% - 2.75rem);margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:fixed;top:0.5rem;right:0.5rem;z-index:100;background:var(--ink);color:var(--wool);padding:0.625rem 1.125rem;transform:translateY(-200%)}
.skip:focus{transform:none}
h2{font-size:4.5rem;font-weight:500;line-height:1.25;position:relative;z-index:2}
.link{font-weight:700;border-bottom:1px solid currentColor;padding-bottom:0.3125rem}

/* smooth scrolling (Lenis) */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
html.is-locked,html.is-locked body{overflow:hidden}

/* ---------- buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;height:3.375rem;padding:0 1.875rem;font-weight:700;font-size:max(1rem,14px);white-space:nowrap;overflow:hidden;isolation:isolate;transition:color .25s .12s;--fill:var(--ink);--fill-img:url(../motifs/dither-h-ink.svg);--fill-text:var(--wool)}
.btn::before{content:"";position:absolute;top:0;bottom:0;right:0;left:-36px;z-index:-1;transform:translateX(100%);transition:transform .6s var(--smooth);
  background:var(--fill-img) left top/36px 24px repeat-y,linear-gradient(var(--fill),var(--fill)) right top/calc(100% - 36px) 100% no-repeat}
.btn--wool{background:var(--wool);color:var(--ink)}
.btn--dye{background:var(--dye);color:var(--on-dye)}
.btn--outline{box-shadow:inset 0 0 0 2px var(--ink);color:var(--ink)}
.btn--on{background:var(--on-dye);color:var(--on-dye-inv);--fill:var(--on-dye-inv);--fill-img:var(--dither-on-dye-inv);--fill-text:var(--on-dye)}
.btn--line{box-shadow:inset 0 0 0 2px var(--on-dye);color:var(--on-dye);--fill:var(--on-dye);--fill-img:var(--dither-on-dye);--fill-text:var(--on-dye-inv)}
@media (hover:hover){.btn:hover{color:var(--fill-text)}.btn:hover::before{transform:none}}
.btn:active{color:var(--fill-text)}.btn:active::before{transform:none}

/* ---------- pixel resolve ---------- */
.js img.px-wait{opacity:0}
.px-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}

/* ---------- cursor ---------- */
.cursor{position:fixed;left:0;top:0;z-index:80;pointer-events:none;display:flex;align-items:flex-start;direction:ltr;opacity:0;transition:opacity .15s}
.cursor.is-on{opacity:1}
.cursor i{width:1rem;height:1rem;background:var(--dye);box-shadow:0 0 0 0.1875rem var(--wool);flex:none}
.cursor b{margin:1rem 0 0 0.375rem;background:var(--ink);color:var(--wool);font-size:max(0.875rem,13px);font-weight:700;padding:0.3125rem 0.75rem 0.4375rem;line-height:1.4;white-space:nowrap}
@media (hover:none),(pointer:coarse){.cursor{display:none}}

/* ---------- opening: hidden until the sequence reveals them ---------- */
.js.is-loading .hero__rug,.js.is-loading .hero__under,.js.is-loading .hero__tag,.js.is-loading .nav{opacity:0}
.js.is-loading .hero__word{clip-path:inset(0 0 0 100%)}

/* reduced motion: nothing shakes or pulses. Fades, fills and the pixel resolve stay. */
@media (prefers-reduced-motion:reduce){.pdp__sizes.is-nudge,.bag b.is-new{animation:none!important}}

/* ---------- seasons ----------
   One dye per season, taken from the traditional rug dyes. The dye is used
   exactly where the design allows an accent and nowhere else.
     --dye         fields: hero, filled buttons, selected states
     --on-dye      text and lines on the dye
     --on-dye-inv  the opposite of --on-dye (text on a filled outline button)
     --dye-text    thin things on paper: bands, stitches, underlines, wordmark
     --dye-bright  the accent on black
   The active season is set by data-season on <html>. Autumn is the default. */
:root{
  --dye:#B3231A;--on-dye:var(--wool);--on-dye-inv:var(--ink);--on-dye-soft:rgba(255,255,255,.5);
  --dye-text:#B3231A;--dye-bright:#B3231A;--dye-deep:#8f1d15;--dye-shadow:rgba(50,5,2,.5);
  --band-main:url(../motifs/band-main-autumn.svg);--band-saw:url(../motifs/band-saw-autumn.svg);
  --fringe-end:url(../motifs/fringe-autumn.svg);--knot:url(../motifs/knot-autumn.svg);--edge:url(../motifs/edge-autumn.svg);
  --caret-on-dye:url(../motifs/caret-wool.svg);--close-on-dye:url(../motifs/close-wool.svg);
  --dither-on-dye:url(../motifs/dither-h-wool.svg);--dither-on-dye-inv:url(../motifs/dither-h-ink.svg);
}
[data-season="winter"]{
  --dye:#1F2A56;--dye-text:#1F2A56;--dye-bright:#7C93E8;--dye-deep:#151C3B;--dye-shadow:rgba(3,5,18,.55);
  --band-main:url(../motifs/band-main-winter.svg);--band-saw:url(../motifs/band-saw-winter.svg);
  --fringe-end:url(../motifs/fringe-winter.svg);--knot:url(../motifs/knot-winter.svg);--edge:url(../motifs/edge-winter.svg);
}
[data-season="spring"]{
  --dye:#3F6B45;--dye-text:#3F6B45;--dye-bright:#7DB07A;--dye-deep:#2C4B30;--dye-shadow:rgba(6,22,9,.5);
  --band-main:url(../motifs/band-main-spring.svg);--band-saw:url(../motifs/band-saw-spring.svg);
  --fringe-end:url(../motifs/fringe-spring.svg);--knot:url(../motifs/knot-spring.svg);--edge:url(../motifs/edge-spring.svg);
}
[data-season="summer"]{
  --dye:#D9A01E;--on-dye:var(--ink);--on-dye-inv:var(--wool);--on-dye-soft:rgba(20,18,16,.4);
  --dye-text:#8A5A00;--dye-bright:#D9A01E;--dye-deep:#A87510;--dye-shadow:rgba(70,42,0,.45);
  --band-main:url(../motifs/band-main-summer.svg);--band-saw:url(../motifs/band-saw-summer.svg);
  --fringe-end:url(../motifs/fringe-summer.svg);--knot:url(../motifs/knot-summer.svg);--edge:url(../motifs/edge-summer.svg);
  --caret-on-dye:url(../motifs/caret-ink.svg);--close-on-dye:url(../motifs/close-ink.svg);
  --dither-on-dye:url(../motifs/dither-h-ink.svg);--dither-on-dye-inv:url(../motifs/dither-h-wool.svg);
}

/* ---------- woven band ---------- */
.band{display:flex;flex-direction:column;gap:4px;padding:9px 0;--shift:0px}
.band i{display:block;background-repeat:repeat-x;background-position:calc(50% + var(--shift)) 0}
.band__ln{height:2px;background:var(--dye-text)}
.band__saw{height:6px;background-image:var(--band-saw);background-size:10px 6px}
.band__saw--f{transform:scaleY(-1)}
.band__main{height:36px;background-image:var(--band-main);background-size:72px 36px;margin:3px 0}
.band--slim{gap:3px;padding:6px 0}
.band--slim .band__main{height:18px;background-size:36px 18px;margin:2px 0}
.band--slim .band__saw{height:4px;background-size:7px 4px}
.band--slim .band__ln{height:1px}

.fringe{height:40px;background:var(--fringe-end) 0 0/240px 40px repeat-x}

/* ---------- dither edges (0.25rem cells) ---------- */
.dither{height:56px;background-repeat:repeat-x;background-size:32px 56px;position:relative;z-index:1}
.dither--wool{background-image:url(../motifs/dither-v-wool.svg);height:40px;background-size:32px 40px}
.dither--black{background-image:url(../motifs/dither-v-black.svg);height:40px;background-size:32px 40px}

/* ---------- rug: a photo lying on the page, with fringe ---------- */
.rug{position:relative;display:block}
.rug__photo{position:absolute;inset:0;overflow:hidden;display:block;background:#2a1512}
.rug__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rug__fringe{position:absolute;height:40px;background:url(../motifs/fringe-wool.svg) 0 0/240px 40px repeat-x}
.rug--ink .rug__fringe{background-image:url(../motifs/fringe-ink.svg);opacity:.75}
.rug--v .rug__fringe{left:0;right:0}
.rug--v .rug__fringe--a{top:-39px;transform:scaleY(-1)}
.rug--v .rug__fringe--b{bottom:-39px}
.rug--h .rug__fringe{top:0;width:var(--h)}
.rug--h .rug__fringe--a{left:0;transform-origin:top left;transform:rotate(90deg)}
.rug--h .rug__fringe--b{right:0;transform-origin:top right;transform:rotate(-90deg)}

/* ---------- faint Nastaliq background words ---------- */
.ghostword{position:absolute;font-family:var(--nq);font-weight:700;line-height:1.75;white-space:nowrap;color:var(--wool-dark);pointer-events:none;user-select:none;z-index:0}

.knot{display:block;flex:none;width:1.6875rem;height:1.6875rem;background:var(--knot) center/contain no-repeat}

/* ---------- nav ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;color:var(--ink)}
.nav__row{display:flex;align-items:center;justify-content:space-between;height:5.75rem;padding:0.75rem max(5rem,calc(50vw - 40rem)) 0}
.nav__wm{font-family:var(--nq);font-weight:700;font-size:2.25rem;line-height:2.1;display:block;color:var(--dye-text)}
.nav__tabs{display:flex;gap:2.375rem;align-items:center}
.tab{position:relative;display:flex;align-items:center;gap:0.5625rem;padding:0.625rem 0 1.0625rem;font-size:max(1rem,14px);font-weight:500;white-space:nowrap}
.tab__line{position:absolute;left:0;right:0;bottom:0.5rem;height:1px;background:currentColor;transform:scaleX(0);transform-origin:100% 50%}
.tab.is-current{font-weight:700}
.tab.is-current .tab__line,.tab[aria-expanded="true"] .tab__line{transform:none}
.tab__caret{width:10px;height:6px;margin-top:0.1875rem;background:url(../motifs/caret-ink.svg) center/contain no-repeat}
.tab[aria-expanded="true"] .tab__caret{transform:scaleY(-1)}
.nav__tools{display:flex;gap:1.75rem;align-items:center;font-weight:500}
.bag{display:flex;align-items:center;gap:0.5625rem;font-weight:500}
.bag b{display:grid;place-items:center;min-width:1.5rem;height:1.5rem;padding:0 0.25rem;background:var(--dye);color:var(--on-dye);font-size:max(0.875rem,13px);font-weight:700;line-height:1}
.bag b.is-new{animation:bag-ring .6s steps(6)}
@keyframes bag-ring{0%{box-shadow:0 0 0 0 var(--wool),0 0 0 0 var(--dye);transform:scale(1.5)}60%{box-shadow:0 0 0 4px var(--wool),0 0 0 6px var(--dye);transform:none}100%{box-shadow:0 0 0 4px var(--wool),0 0 0 6px transparent}}
.burger{display:none;grid-template-columns:8px 8px;gap:6px;padding:0.75rem}
.burger s{display:block;width:8px;height:8px;background:currentColor}

/* slim paper bar (after the hero, or while the shop menu is open) */
.nav.is-paper,.nav.is-open{background:var(--wool)}
.nav.is-paper .nav__row,.nav.is-open .nav__row{height:4.5rem;padding-top:0}
.nav.is-paper .nav__wm,.nav.is-open .nav__wm{font-size:1.875rem}
.nav__progress{display:none;position:relative;height:1px;background:rgba(20,18,16,.1)}
.nav.is-paper .nav__progress,.nav.is-open .nav__progress{display:block}
.nav__progress i{position:absolute;inset:0;background:var(--ink);transform:scaleX(0);transform-origin:100% 50%;will-change:transform}

/* shop menu */
.shop{position:absolute;top:100%;left:0;right:0;display:grid;grid-template-columns:26.25rem 18.75rem 1fr;gap:3.75rem;padding:2.375rem max(5rem,calc(50vw - 40rem)) 2.75rem;background:var(--wool);color:var(--ink);box-shadow:0 1.875rem 3.75rem rgba(20,18,16,.25);visibility:hidden;clip-path:inset(0 0 100% 0)}
.nav.is-open .shop{visibility:visible}
.shop__cat{display:flex;align-items:baseline;gap:0.875rem;font-size:2.75rem;font-weight:500;line-height:1.5;color:rgba(20,18,16,.38);transition:color .2s}
.shop__cat small{font-size:max(0.875rem,13px);font-weight:400}
.shop__cat i{width:0.875rem;height:0.875rem;background:var(--dye);align-self:center;opacity:0;flex:none}
.shop__cat.is-on{color:var(--ink)}
.shop__cat.is-on i{opacity:1}
.shop__links{padding-top:0.875rem}
.shop__links li{margin-bottom:0.875rem}
.shop__links a{font-size:max(1.1875rem,15px);font-weight:500}
.shop__links .link{font-weight:700;display:inline-block;margin-top:0.625rem}
.shop__show{position:relative;height:20.625rem}
.shop__rug{position:absolute;left:1.875rem;top:1.625rem;width:27.5rem;height:15.375rem;--h:15.375rem;transform:rotate(-3deg);box-shadow:0 1.625rem 3.125rem rgba(20,18,16,.3)}
.shop__tag{position:absolute;left:0;bottom:0;background:var(--ink);color:var(--wool);padding:0.5rem 1rem 0.625rem;font-size:max(0.9375rem,13px);z-index:3}
.shop__tag b{font-size:max(1.0625rem,15px);margin-left:0.625rem}

/* phone menu */
.menu{position:fixed;inset:0;z-index:60;background:var(--wool);color:var(--ink);--on-dye-soft:rgba(20,18,16,.28);display:flex;flex-direction:column;overflow-y:auto}
.menu[hidden]{display:none}
.menu__top{display:flex;justify-content:space-between;align-items:center;height:4.75rem;padding:0.5rem 1.375rem 0;flex:none}
.menu__close{width:2.875rem;height:2.875rem;background:url(../motifs/close-ink.svg) center/22px no-repeat}
.menu__list{padding:1.125rem 1.375rem 0;flex:1}
.menu__list>li{border-bottom:4px solid transparent;border-image:repeating-linear-gradient(to left,var(--on-dye-soft) 0 4px,transparent 4px 8px) 4}
.menu__main{display:flex;align-items:center;gap:0.875rem;font-size:2.1875rem;font-weight:500;line-height:1.55;padding:0.375rem 0}
.menu__main i{width:0.875rem;height:0.875rem;background:var(--dye);flex:none}
.menu__chips{display:flex;flex-wrap:wrap;gap:0.5rem;padding:0.375rem 0 1.125rem}
.menu__chips a{font-size:max(1rem,14px);font-weight:500;padding:0.375rem 0.875rem 0.5rem;box-shadow:inset 0 0 0 1.5px var(--on-dye-soft)}
.menu__foot{display:flex;justify-content:space-between;padding:1.625rem 1.375rem 1.875rem;font-weight:500;flex:none}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--wool);color:var(--ink);height:58.125rem;overflow:hidden;
  --on-dye:var(--ink);--on-dye-inv:var(--wool);--on-dye-soft:rgba(20,18,16,.35);--dither-on-dye:url(../motifs/dither-h-ink.svg);--dither-on-dye-inv:url(../motifs/dither-h-wool.svg)}
.hero__stage{position:relative;width:90rem;max-width:100%;height:100%;margin-inline:auto}
.hero__word{position:absolute;top:8.25rem;font-family:var(--nq);font-weight:700;font-size:16.375rem;line-height:1.75;white-space:nowrap;pointer-events:none;color:var(--dye-text)}
.hero__word--r{right:4rem;z-index:3}
.hero__word--l{left:5.25rem;z-index:1}
.hero__rug{position:absolute;left:50%;top:11rem;width:24.5rem;height:32.5rem;margin-left:-12.25rem;--tilt:-4deg;transform:rotate(var(--tilt));z-index:2;box-shadow:0 2.75rem 4.375rem rgba(20,18,16,.24)}
.hero__rug .rug__photo{background:var(--dye-deep)}
.hero__tag{position:absolute;left:-7.375rem;bottom:4rem;z-index:4;background:var(--wool);color:var(--ink);box-shadow:inset 0 0 0 1px rgba(20,18,16,.18);padding:0.5625rem 1rem 0.75rem;font-size:max(0.875rem,13px);line-height:1.55;white-space:nowrap;transform:rotate(4deg)}
.hero__tag b{display:block;font-size:max(1.0625rem,15px)}
.hero__under{position:absolute;left:0;right:0;bottom:2.875rem;z-index:4;text-align:center}
.hero__line{font-size:1.4375rem;font-weight:500;margin-bottom:1.25rem}
.hero__cta{display:flex;gap:0.875rem;justify-content:center}

/* ---------- new arrivals ---------- */
.new{position:relative;padding-bottom:6.875rem;overflow:hidden}
.new__word{font-size:20.625rem;left:3.75rem;top:-3.75rem}
.new__head{display:flex;justify-content:space-between;align-items:flex-end;padding-top:5.25rem;position:relative;z-index:2}
.new__scroller{position:relative;z-index:2;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding:2.75rem max(5rem,calc(50vw - 40rem)) 3.75rem;cursor:grab;-webkit-overflow-scrolling:touch}
.new__scroller::-webkit-scrollbar{display:none}
.new__scroller.is-dragging{cursor:grabbing}
.new__scroller.is-dragging .card__link{pointer-events:none}
.new__row{display:flex;gap:1.625rem;align-items:flex-start;width:max-content}
.card{flex:0 0 18.125rem;position:relative;margin-top:var(--o)}
.card__tilt{position:relative;transform:rotate(var(--r));transition:transform .35s var(--smooth)}
.card__photo{position:relative;height:23.5rem;overflow:hidden;background:var(--wool-dark);transition:box-shadow .35s var(--smooth)}
.card__link{position:absolute;inset:0;display:block}
.card__link img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;-webkit-user-drag:none;user-select:none}
.card__echo{position:absolute;top:0;left:0;right:0;height:23.5rem;z-index:-1;box-shadow:inset 0 0 0 2px var(--dye-text);transition:transform .3s steps(4)}
.card__quick{position:absolute;inset:auto 0.625rem 0.625rem 0.625rem;z-index:3;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0.375rem 0.5rem;background:var(--wool);padding:0.625rem 0.75rem;transform:translateY(calc(100% + 0.75rem));transition:transform .28s var(--smooth)}
.sizes{display:flex;flex-wrap:wrap;gap:0.25rem}
.size{width:1.875rem;height:1.875rem;display:grid;place-items:center;border:1px solid rgba(20,18,16,.3);font-size:max(0.875rem,13px);line-height:1}
.size.is-on{background:var(--dye);border-color:var(--dye);color:var(--on-dye)}
.card__add{font-weight:700;font-size:max(0.875rem,13px);color:var(--dye-text);white-space:nowrap;margin-right:auto}
.card__info{padding-top:1rem}
.card__info b{display:block;font-size:max(1.1875rem,15px);font-weight:700}
.card__info span{font-size:max(1rem,14px)}
.card.is-open .card__tilt,.card:focus-within .card__tilt{transform:rotate(0deg) translateY(-0.5rem)}
.card.is-open .card__photo,.card:focus-within .card__photo{box-shadow:0 1.625rem 3.125rem rgba(20,18,16,.28)}
.card.is-open .card__echo,.card:focus-within .card__echo{transform:translate(-0.875rem,0.875rem)}
.card.is-open .card__quick,.card:focus-within .card__quick{transform:none}
@media (hover:hover){
  .card:hover .card__tilt{transform:rotate(0deg) translateY(-0.5rem)}
  .card:hover .card__photo{box-shadow:0 1.625rem 3.125rem rgba(20,18,16,.28)}
  .card:hover .card__echo{transform:translate(-0.875rem,0.875rem)}
  .card:hover .card__quick{transform:none}
}

/* ---------- the rug stays, the clothes change ---------- */
.stage{position:relative;background:var(--black);color:var(--wool);min-height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:7.5rem 0 3.75rem}
.stage__edge{position:absolute;top:0;left:0;right:0}
.stage__inner{position:relative;width:80rem;height:37.5rem;margin-inline:auto}
.stage__word{color:#231D1A;font-size:16.25rem;left:20.625rem;top:14.375rem}
.stage__rugs{position:absolute;inset:0}
.stage__ghost{position:absolute;left:5.625rem;top:0;width:41.25rem;height:23rem;transform:rotate(-7deg);opacity:.2;overflow:hidden}
.stage__ghost img{width:100%;height:100%;object-fit:cover}
.stage__rug{position:absolute;left:0.625rem;top:5rem;width:46.25rem;height:25.8125rem;--h:25.8125rem;transform:rotate(3deg);box-shadow:0 3.125rem 5.625rem rgba(0,0,0,.8);z-index:2}
.stage__list{position:absolute;right:0;top:2.5rem;width:27.5rem;z-index:3}
.stage__marker{position:absolute;right:0;top:2.1875rem;width:1.25rem;height:1.25rem;background:var(--dye-bright)}
.stage__item{display:block;width:100%;padding-right:2.375rem;font-size:3.75rem;font-weight:500;line-height:1.5;white-space:nowrap;color:rgba(255,255,255,.46);transition:color .3s}
.stage__item.is-on{color:var(--wool)}
.stage__meta{margin:1.875rem 2.375rem 0 0;display:flex;align-items:center;gap:1.375rem}
.stage__steps{position:absolute;left:2.875rem;bottom:0;display:flex;gap:0.5rem;align-items:center;font-size:max(0.875rem,13px);color:rgba(255,255,255,.6);z-index:3}
.stage__steps i{width:0.875rem;height:0.875rem;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.stage__steps i.is-done{background:var(--wool);box-shadow:none}
.stage__steps i.is-on{background:var(--dye-bright);box-shadow:none}
.stage__steps span{margin-right:0.625rem}

/* ---------- statement ---------- */
.say{position:relative}
.say .wrap{padding:7.5rem 0 7.5rem}
.say__p{font-size:5.375rem;font-weight:500;line-height:1.36;max-width:73.75rem}
.echo{position:relative;display:inline-block;white-space:nowrap;isolation:isolate}

/* ---------- fit finder ---------- */
.fit{position:relative;padding:6.875rem 0 9.375rem;overflow:hidden}
.fit__word{font-size:18.75rem;right:20.625rem;top:9.375rem}
.fit__grid{display:grid;grid-template-columns:1fr 30rem;gap:5.625rem;align-items:start;position:relative;z-index:2}
.fit__help{font-size:max(1.1875rem,15px);max-width:26.875rem;margin:0.75rem 0 3.5rem}
.slider{position:relative;height:7.5rem;--p:0}
.slider__track{position:absolute;top:1.0625rem;left:1.125rem;right:1.125rem;height:2px;background:rgba(20,18,16,.25)}
.slider__fill{position:absolute;top:0;bottom:0;right:0;width:calc(var(--p) * 100%);background:var(--dye)}
.slider__stop{position:absolute;top:0.625rem;right:calc(1.125rem + (100% - 2.25rem) * var(--at));width:1rem;height:1rem;margin-right:-0.5rem;background:var(--wool);border:2px solid rgba(20,18,16,.4)}
.slider__stop.is-done{background:var(--dye);border-color:var(--dye)}
.slider__stop b{position:absolute;top:2.25rem;right:50%;transform:translateX(50%);font-size:1.375rem;font-weight:500;color:var(--ash);white-space:nowrap;transition:font-size .25s var(--smooth),color .25s,top .25s var(--smooth)}
.slider__stop.is-on b{font-size:2.125rem;font-weight:700;color:var(--ink);top:2.75rem}
.slider__knob{position:absolute;top:0;right:calc(1.125rem + (100% - 2.25rem) * var(--p));width:2.25rem;height:2.25rem;margin-right:-1.125rem;background:var(--dye);box-shadow:0 0 0 0.375rem var(--wool),0 0 0 0.5rem var(--dye);z-index:2;pointer-events:none}
.slider__input{position:absolute;top:-0.5rem;left:-0.25rem;right:-0.25rem;width:calc(100% + 0.5rem);height:3.25rem;margin:0;opacity:0;cursor:grab;z-index:3;-webkit-appearance:none;appearance:none;background:none}
.slider__input::-webkit-slider-thumb{-webkit-appearance:none;width:2.75rem;height:3.25rem}
.slider__input::-moz-range-thumb{width:2.75rem;height:3.25rem;border:0}
.slider__input:active{cursor:grabbing}
.slider:focus-within .slider__knob{outline:2px solid var(--ink);outline-offset:0.625rem}
.fit__thumbs{display:flex;gap:1rem;margin-top:1.625rem;align-items:flex-end}
.thumb{flex:0 0 9.375rem;font-size:max(0.875rem,13px);font-weight:500}
.thumb__ph{display:block;position:relative;height:9.375rem;overflow:hidden;background:var(--wool-dark);margin-bottom:0.5rem}
.thumb__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.thumb__name{display:block}
.fit__go{margin-right:0.875rem}
.fit__go p{font-size:max(0.9375rem,13px);color:#4b443c;margin-top:0.625rem;max-width:11.875rem}
.fit__panel{position:relative;height:35rem;background:var(--wool-dark);margin-top:2.5rem;overflow:hidden}
.fit__ph{position:absolute;inset:0}
.fit__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* ---------- tilted strip ---------- */
.stripw{position:relative;z-index:4;overflow:hidden;padding:2.75rem 0;margin:-2.75rem 0 -4.625rem}
.strip{direction:ltr;background:var(--ink);color:var(--wool);transform:rotate(-2deg);width:calc(100% + 12.5rem);margin-inline:-6.25rem;padding:0.875rem 0 1.125rem;overflow:hidden}
.strip__track{display:flex;width:max-content;direction:ltr;will-change:transform}
.strip__set{display:flex;align-items:center;gap:2.125rem;padding-inline:1.0625rem;white-space:nowrap;font-weight:500;font-size:2.125rem;direction:rtl}

/* ---------- footer ---------- */
.foot{position:relative;overflow:hidden}
.foot__in{display:grid;grid-template-columns:1fr 12.5rem 12.5rem 15rem;gap:2.5rem;padding:8.125rem 0 4.375rem;align-items:end}
.foot__wm{color:var(--dye-text)}
.foot__wmt:not(.lettering){display:block;font-family:var(--nq);font-weight:700;font-size:16.875rem;line-height:1.8;margin:-9.375rem 0 -5.625rem}
.foot__col h3{font-size:max(0.875rem,13px);font-weight:400;color:var(--ash);margin-bottom:0.625rem}
.foot__col li{font-size:max(1.0625rem,15px);font-weight:500;margin-bottom:0.375rem}
.foot__end{padding-bottom:3.125rem}

/* ---------- hero layouts, one per season (desktop) ----------
   The pieces never change: two Nastaliq words, one rug, a tag, a sentence and
   two buttons. Only their arrangement does.
     hero--centre  autumn  rug in the middle, a word each side
     hero--left    winter  rug on the left, words stacked on the right
     hero--right   spring  rug on the right, words stacked on the left
     hero--wide    summer  words across the top, a wide rug beneath */
@media (min-width:901px){
  .hero--left .hero__rug{left:13.125rem;margin-left:0;top:12.25rem;--tilt:3deg}
  .hero--left .hero__word{font-size:12.5rem;right:5.25rem;left:auto}
  .hero--left .hero__word--r{top:4.625rem}
  .hero--left .hero__word--l{top:20.375rem;z-index:3}
  .hero--left .hero__under{left:auto;right:5.75rem;bottom:4.375rem;text-align:right}
  .hero--left .hero__cta{justify-content:flex-start}
  .hero--left .hero__tag{left:auto;right:-7.75rem;bottom:5.25rem;transform:rotate(-3deg)}

  .hero--right .hero__rug{left:auto;right:13.125rem;margin-left:0;top:12.25rem;--tilt:-3deg}
  .hero--right .hero__word{font-size:14.375rem;left:6rem;right:auto}
  .hero--right .hero__word--r{top:0.875rem;z-index:3}
  .hero--right .hero__word--l{top:17.875rem;z-index:3}
  .hero--right .hero__under{right:auto;left:6.25rem;bottom:4.375rem;text-align:left}
  .hero--right .hero__cta{justify-content:flex-end}
  .hero--right .hero__tag{left:-7.75rem;bottom:5.25rem;transform:rotate(3deg)}

  .hero--wide .hero__word{font-size:11.875rem;top:2.5rem}
  .hero--wide .hero__word--r{right:9.375rem;z-index:3}
  .hero--wide .hero__word--l{left:11.875rem;z-index:3}
  .hero--wide .hero__rug{top:21.875rem;width:42.5rem;height:23.75rem;--h:23.75rem;margin-left:-21.25rem;--tilt:-3deg}
  .hero--wide .hero__tag{left:-6rem;bottom:2.75rem;transform:rotate(3deg)}
  .hero--wide .hero__under{bottom:2.5rem}
}

/* ---------- phone layout (1rem = 1rem at 390 wide) ---------- */
@media (max-width:900px){
  .wrap{width:auto;max-width:none;margin-inline:1.375rem}
  h2{font-size:2.5rem}

  /* nav: wordmark, cart and menu button on the first line; the tabs stay
     visible as a strip beneath that scrolls sideways */
  .nav__row{height:auto;flex-wrap:wrap;padding:0.375rem 0.875rem 0 1.375rem}
  .nav__wm{font-size:1.875rem;line-height:2.1}
  .nav.is-paper .nav__row,.nav.is-open .nav__row{height:auto}
  .nav.is-paper .nav__wm{font-size:1.625rem}
  .nav__tool,.bag span,.shop{display:none}
  .nav__tabs{order:3;flex:0 0 calc(100% + 2.25rem);margin:0 -0.875rem 0 -1.375rem;padding:0 1.375rem;gap:1.5rem;height:2.5rem;overflow-x:auto;scrollbar-width:none}
  .nav__tabs::-webkit-scrollbar{display:none}
  .tab{flex:none;font-size:max(0.9375rem,13px);padding:0.25rem 0 0.75rem}
  .tab__line{bottom:0.3125rem}
  .tab__caret{display:none}
  .nav__tools{gap:0.5rem}
  .bag b{min-width:1.75rem;height:1.75rem;font-size:max(0.9375rem,13px)}
  .burger{display:grid}

  /* hero: both words on one line across the top, the rug clear beneath them,
     the main button on the first screen */
  .hero{height:auto;padding-bottom:1.875rem}
  .hero__stage{width:100%;display:flex;flex-direction:column;align-items:center;padding:15.875rem 1.375rem 0}
  .hero__word{font-size:5.5rem;top:6.125rem}
  .hero__word--r{right:1.25rem;left:auto;z-index:3}
  .hero__word--l{left:1.25rem;right:auto;z-index:3}
  [data-season="winter"] .hero__word,[data-season="summer"] .hero__word{font-size:4.75rem;top:7rem}
  .hero__rug{position:relative;left:auto;right:auto;top:auto;margin:0;width:14.75rem;height:19.125rem;--tilt:-4deg}
  .hero__rug.rug--h .rug__fringe{left:0;right:0;width:auto;transform:none}
  .hero__rug.rug--h .rug__fringe--a{top:-39px;transform:scaleY(-1)}
  .hero__rug.rug--h .rug__fringe--b{top:auto;bottom:-39px}
  .hero__tag{left:auto;right:-1.875rem;top:auto;bottom:1.625rem;font-size:max(0.75rem,12px);padding:0.4375rem 0.75rem 0.5625rem;transform:rotate(4deg)}
  .hero__tag b{font-size:max(0.875rem,13px)}
  .hero__under{position:relative;left:auto;right:auto;bottom:auto;width:100%;margin-top:3.875rem;text-align:center}
  .hero__line{font-size:max(1.0625rem,15px);margin-bottom:0.875rem}
  .hero__cta{flex-direction:column;gap:0.625rem}
  .hero__cta .btn{width:100%}

  .new{padding-bottom:4.375rem}
  .new__word{font-size:10.625rem;left:0.625rem;top:-0.625rem}
  .new__head{padding-top:3.375rem;flex-direction:column;align-items:flex-start;gap:0.875rem}
  .new__scroller{padding:1.875rem 1.375rem 2.75rem;scroll-snap-type:x mandatory;scroll-padding-inline:1.375rem;cursor:auto}
  .new__row{gap:1rem}
  .card{flex-basis:16.875rem;margin-top:calc(var(--o) * .3);scroll-snap-align:start}
  .card__tilt{transform:rotate(calc(var(--r) * .5))}
  .card__photo,.card__echo{height:21.875rem}
  .card__info b{font-size:max(1.0625rem,15px)}

  .stage{min-height:0;display:block;padding:5.25rem 0 4.375rem}
  .stage__inner{width:auto;height:auto;margin-inline:1.375rem}
  .stage__word{font-size:9.375rem;left:auto;right:-0.375rem;top:-4.375rem}
  /* the side fringes are a fixed 40px, so the rug is inset by that much to keep
     them on screen; the ghost sits right behind it and only its corners show */
  .stage__rugs{position:relative;inset:auto;height:14.75rem}
  .stage__ghost{left:calc(40px - 0.25rem);right:calc(40px - 0.25rem);top:2.125rem;width:auto;height:10rem}
  .stage__rug{left:calc(40px - 0.25rem);right:calc(40px - 0.25rem);top:2.125rem;width:auto;height:10rem;--h:10rem;touch-action:pan-y}
  .stage__list{position:relative;right:auto;top:auto;width:auto;display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:1.25rem}
  .stage__marker{display:none}
  .stage__item{width:auto;flex:none;padding:0.375rem 0.875rem 0.5rem;font-size:max(1rem,14px);font-weight:500;line-height:1.7;color:var(--wool);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}
  .stage__item.is-on{background:var(--wool);color:var(--ink);box-shadow:none}
  .stage__meta{flex-basis:100%;margin:1.125rem 0 0}
  .stage__steps{position:relative;left:auto;bottom:auto;margin-top:1.375rem;justify-content:flex-start}

  .say .wrap{padding:4.375rem 0 4.375rem}
  .say__p{font-size:2.5rem;line-height:1.5}

  .fit{padding:4.375rem 0 6.25rem}
  .fit__word{font-size:10.625rem;right:auto;left:0;top:20.625rem}
  .fit__grid{grid-template-columns:1fr;gap:2.5rem}
  .fit__panel{order:-1;height:26.25rem;margin-top:2.5rem}
  .fit__help{font-size:max(1.0625rem,15px);margin-bottom:2.75rem}
  .slider__stop b{font-size:max(1.0625rem,15px)}
  .slider__stop.is-on b{font-size:1.5rem}
  .fit__thumbs{flex-wrap:wrap;gap:0.625rem;margin-top:0.625rem}
  .thumb{flex:1 1 30%;font-size:max(0.8125rem,12px)}
  .thumb__ph{height:6.75rem}
  .fit__go{flex-basis:100%;margin:0.875rem 0 0}
  .fit__go .btn{width:100%}
  .fit__go p{max-width:none}

  .stripw{padding:1.5rem 0;margin:-1.5rem 0 -2.75rem}
  .strip{padding:0.5625rem 0 0.75rem;width:calc(100% + 5rem);margin-inline:-2.5rem}
  .strip__set{font-size:1.25rem;gap:1.25rem;padding-inline:0.625rem}
  .knot{width:1rem;height:1rem}

  .foot__in{grid-template-columns:1fr 1fr;gap:1.625rem 1.25rem;padding:5.625rem 0 3.125rem}
  .foot__wm{grid-column:1 / -1}
  .foot__wmt:not(.lettering){font-size:9.375rem;margin:-5rem 0 -1.5rem}
  .foot__wmt.lettering{height:6.875rem;margin:3.75rem 0 2.5rem}
  .foot__col li{font-size:max(1rem,14px)}
}

/* ---------- inner pages: the slim bar is there from the start ---------- */
.nav-space{height:4.75rem}

.hx{position:relative;display:inline-block;isolation:isolate}
.hx-line-mask{padding:.14em 0;margin:-.14em 0}

/* ---------- lettering artwork in place of the Nastaliq font ---------- */
.lettering{display:inline-block;height:calc(var(--h) * 0.0625rem);aspect-ratio:var(--w) / var(--h);background:currentColor;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;vertical-align:middle}
.nav__wmt.lettering{height:3rem}
.nav.is-paper .nav__wmt.lettering,.nav.is-open .nav__wmt.lettering{height:2.375rem}
.foot__wmt.lettering{height:12.5rem;margin:8.125rem 0 6.25rem}

/* ---------- returning visitor line in the hero ---------- */
.hero__back{display:inline-flex;align-items:center;gap:0.625rem;margin-bottom:1.25rem;padding:0.375rem 1rem 0.5rem;font-size:max(1.0625rem,15px);font-weight:700;box-shadow:inset 0 0 0 1.5px var(--on-dye-soft)}
.hero__back[hidden]{display:none}
.hero__back i{width:0.625rem;height:0.625rem;background:var(--on-dye);flex:none}
.hero__back a{font-weight:500;border-bottom:2px solid currentColor;margin-right:0.375rem}
.hero__back a:empty{display:none}
.hero.is-back .hero__line{display:none}

/* ---------- cards: seen-before mark, sold-out sizes ---------- */
.card__info{display:block}
.card__seen{display:none;position:absolute;top:0.625rem;right:0.625rem;z-index:3;background:var(--ink);color:var(--wool);font-size:max(0.75rem,12px);font-weight:700;line-height:1.5;padding:0.125rem 0.5625rem 0.25rem}
.card.is-seen .card__seen{display:block}
.card.is-seen .card__echo{transform:translate(-0.5rem,0.5rem)}
.size.is-out{opacity:.35;text-decoration:line-through;cursor:not-allowed}
.card[hidden]{display:none}
@media (hover:none){.card__quick{display:none}}

/* ---------- trust ---------- */
.trust{position:relative;z-index:2;padding:0.625rem 0 5rem}
.trust__list{display:grid;grid-template-columns:repeat(4,1fr);gap:1.875rem;padding:2.125rem 0 2.25rem;position:relative}
.trust__list::before,.trust__list::after{content:"";position:absolute;left:0;right:0;height:4px;background:repeating-linear-gradient(to left,rgba(20,18,16,.2) 0 4px,transparent 4px 8px)}
.trust__list::before{top:0}.trust__list::after{bottom:0}
.trust__list li{display:grid;grid-template-columns:0.75rem 1fr;column-gap:0.875rem;align-items:start}
.trust__list i{width:0.75rem;height:0.75rem;background:var(--dye);margin-top:0.625rem}
.trust__list b{font-size:max(1.1875rem,15px);font-weight:700}
.trust__list span{grid-column:2;font-size:max(0.9375rem,13px);color:var(--ash)}
.trust--compact{padding-top:0}
.page-home .new{padding-bottom:2.5rem}

/* ---------- seen before ---------- */
.seen{position:relative;padding:4.375rem 0 6.875rem;overflow:hidden}
.seen[hidden]{display:none}
.seen__word{font-size:18.75rem;left:1.875rem;top:-4.375rem}
.seen__scroller{position:relative;z-index:2;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding:2.75rem max(5rem,calc(50vw - 40rem)) 1.875rem;cursor:grab}
.seen__scroller::-webkit-scrollbar{display:none}
.seen__row{display:flex;gap:2.125rem;width:max-content}
.mini{flex:0 0 12.5rem;position:relative;display:block;isolation:isolate}
.mini::before{content:"";position:absolute;top:0;left:0;right:0;height:16.125rem;z-index:-1;box-shadow:inset 0 0 0 2px var(--dye-text);transform:translate(-0.5rem,0.5rem)}
.mini__ph{position:relative;display:block;height:16.125rem;overflow:hidden;background:var(--wool-dark)}
.mini__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;-webkit-user-drag:none}
.mini b{display:block;font-size:max(1rem,14px);font-weight:700;margin-top:1.25rem;line-height:1.5}
.mini span{font-size:max(0.875rem,13px)}
.is-dragging .mini{pointer-events:none}

/* ---------- shop: the product list ---------- */
.list{position:relative;padding:4rem 0 6.25rem;overflow:hidden}
.list__word{font-size:20.625rem;left:1.875rem;top:-7.5rem}
.list__head{display:flex;justify-content:space-between;align-items:flex-end;position:relative;z-index:2}
.list__head h1{font-size:6rem;font-weight:500;line-height:1.2}
.list__count{font-size:max(1.0625rem,15px);color:var(--ash);padding-bottom:1.25rem}
.filters{display:flex;flex-wrap:wrap;align-items:center;gap:0.875rem 1.625rem;margin-top:1.75rem;position:relative;z-index:2}
.chips{display:flex;flex-wrap:wrap;gap:0.5rem}
.chips[hidden]{display:none}
.chip{display:inline-flex;align-items:center;height:2.625rem;padding:0 1.125rem 0.125rem;font-size:max(1rem,14px);font-weight:500;box-shadow:inset 0 0 0 1.5px rgba(20,18,16,.3)}
.chip.is-on{background:var(--ink);color:var(--wool);box-shadow:none}
.chip--line.is-on{background:var(--dye);color:var(--on-dye)}
.sort{display:flex;gap:1.25rem;margin-right:auto;font-size:max(0.9375rem,13px)}
.sort__b{position:relative;padding:0.375rem 0 0.625rem;color:var(--ash)}
.sort__b.is-on{color:var(--ink);font-weight:700}
.sort__b::after{content:"";position:absolute;left:0;right:0;bottom:0.1875rem;height:1px;background:currentColor;transform:scaleX(0);transform-origin:100% 50%;transition:transform .6s var(--smooth)}
.sort__b.is-on::after{transform:none}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3.125rem 1.625rem;margin-top:3.125rem;position:relative;z-index:2}
.grid .card{margin-top:0}
.grid .card__tilt{transform:none}
.grid .card__photo,.grid .card__echo{height:24.375rem}
.list__empty{margin-top:3.75rem;font-size:1.375rem;font-weight:700}
.list__empty[hidden]{display:none}

/* ---------- product page ---------- */
.pdp{position:relative;padding-top:2.5rem;overflow:hidden}
.pdp__grid{display:grid;grid-template-columns:36.25rem 1fr;gap:6.25rem;align-items:start;position:relative;z-index:2;padding-bottom:6.875rem}
.pdp__gallery{position:relative;padding:3.375rem 1.875rem 0 0}
.pdp__word{font-size:18.75rem;right:-5.625rem;top:20.625rem}
.pdp__rug{width:31.25rem;height:40.625rem;z-index:2;transform:rotate(-2deg);box-shadow:0 2.5rem 4.375rem rgba(20,18,16,.3)}
.pdp__thumbs{display:flex;gap:0.875rem;margin-top:4.75rem;position:relative;z-index:2}
.pdp__thumb{position:relative;width:5.75rem;height:5.75rem;overflow:hidden;opacity:.55}
.pdp__thumb.is-on{opacity:1;box-shadow:0 0 0 3px var(--wool),0 0 0 5px var(--dye-text)}
.pdp__thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pdp__info{padding-top:2.75rem}
.crumbs{display:flex;align-items:center;gap:0.625rem;font-size:max(0.9375rem,13px);color:var(--ash);margin-bottom:1rem}
.crumbs i{width:0.375rem;height:0.375rem;background:var(--dye)}
.pdp h1{font-size:3.625rem;font-weight:500;line-height:1.3}
.pdp__price{font-size:1.625rem;font-weight:700;margin-top:0.625rem}
.pdp__desc{font-size:max(1.1875rem,15px);max-width:32.5rem;margin-top:1.125rem}
.pdp__fit{font-size:max(1rem,14px);margin-top:0.875rem;color:#4b443c;max-width:32.5rem}
.pdp__fit b{color:var(--ink)}
.pdp__fit .link{margin-right:0.5rem;white-space:nowrap}
.pdp__sizes{margin-top:2.125rem}
.pdp__sizes.is-nudge{animation:nudge .4s steps(4)}
@keyframes nudge{25%{transform:translateX(0.4375rem)}50%{transform:translateX(-0.4375rem)}75%{transform:translateX(0.25rem)}}
.pdp__label{display:flex;gap:0.875rem;align-items:baseline;margin-bottom:0.75rem}
.pdp__label b{font-size:max(1.0625rem,15px)}
.pdp__label span{font-size:max(0.9375rem,13px);color:var(--ash)}
.sizes--big{gap:0.5rem}
.sizes--big .size{width:3.75rem;height:3.375rem;font-size:max(1.0625rem,15px);font-weight:500}
.pdp__add{width:100%;max-width:27.5rem;height:3.75rem;margin-top:1.375rem;font-size:max(1.125rem,15px)}
.pdp__msg{min-height:1.875rem;margin-top:0.625rem;font-size:max(0.9375rem,13px);font-weight:700;color:var(--dye-text)}
.pdp__trust{display:grid;gap:0.5rem;margin-top:0.625rem}
.pdp__trust li{display:flex;align-items:baseline;gap:0.75rem;font-size:max(0.9375rem,13px)}
.pdp__trust i{width:0.5rem;height:0.5rem;background:var(--dye);flex:none;transform:translateY(-0.0625rem)}
.pdp__trust span{color:var(--ash)}
.acc{margin-top:2.25rem;max-width:35rem}
.acc details{border-top:4px solid transparent;border-image:repeating-linear-gradient(to left,rgba(20,18,16,.2) 0 4px,transparent 4px 8px) 4}
.acc details:last-child{border-bottom:4px solid transparent}
.acc summary{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;font-size:max(1.125rem,15px);font-weight:700;cursor:pointer;list-style:none}
.acc summary::-webkit-details-marker{display:none}
.acc summary i{width:10px;height:6px;background:url(../motifs/caret-ink.svg) center/contain no-repeat}
.acc details[open] summary i{transform:scaleY(-1)}
.acc details p{padding:0 0 1.25rem;max-width:30rem;color:#4b443c}
.new--related{padding-bottom:3.125rem}
.new--related .new__head{padding-top:1.25rem}
.new--related .new__word{top:-6.875rem}
.buybar{display:none}

/* ---------- cart drawer ---------- */
.cart{position:fixed;inset:0;z-index:70}
.cart[hidden]{display:none}
.cart__scrim{position:absolute;inset:0;background:rgba(7,7,7,.55)}
.cart__panel{position:absolute;top:0;bottom:0;left:0;width:28.75rem;max-width:100%;display:flex;flex-direction:column;background:var(--wool);padding:1.375rem 1.875rem 1.625rem}
.cart__head{display:flex;justify-content:space-between;align-items:center}
.cart__head h2{font-size:2.5rem}
.cart__close{width:2.875rem;height:2.875rem;background:url(../motifs/close-ink.svg) center/20px no-repeat}
.cart__note{min-height:1.75rem;font-size:max(0.9375rem,13px);font-weight:700;color:var(--dye-text)}
.cart__list{flex:1;overflow-y:auto;overscroll-behavior:contain}
.cart__list:empty{display:none}
.line{display:grid;grid-template-columns:4.75rem 1fr auto;gap:0.875rem;align-items:center;padding:1rem 0;border-top:4px solid transparent;border-image:repeating-linear-gradient(to left,rgba(20,18,16,.2) 0 4px,transparent 4px 8px) 4}
.line__ph{position:relative;display:block;width:4.75rem;height:6rem;overflow:hidden;background:var(--wool-dark)}
.line__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.line b{display:block;font-size:max(1rem,14px);line-height:1.5}
.line small{display:block;font-size:max(0.875rem,13px);color:var(--ash)}
.line__p{font-size:max(0.9375rem,13px);font-weight:700;margin-top:0.25rem}
.qty{display:flex;align-items:center}
.qty button{display:grid;place-items:center;width:2.125rem;height:2.125rem;border:1px solid rgba(20,18,16,.3);font-size:max(1.125rem,15px);line-height:1}
.qty span{width:2.125rem;text-align:center;font-weight:700}
.cart__empty{flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0.875rem;font-size:1.5rem;font-weight:500}
.cart__empty .link{font-size:max(1.0625rem,15px)}
.cart__empty[hidden],.cart__foot[hidden]{display:none}
.cart__foot{padding-top:1rem;border-top:2px solid var(--ink)}
.cart__sum{display:flex;justify-content:space-between;font-size:1.25rem}
.cart__sum b{font-weight:700}
.cart__ship{font-size:max(0.875rem,13px);color:var(--ash);margin:0.25rem 0 0.875rem}
.cart__go{width:100%;height:3.625rem;font-size:max(1.0625rem,15px)}
.cart__trust{display:flex;flex-wrap:wrap;gap:0.375rem 1.125rem;margin-top:0.875rem;font-size:max(0.8125rem,12px);color:#4b443c}
.cart__trust li{display:flex;align-items:center;gap:0.5rem}
.cart__trust i{width:0.5rem;height:0.5rem;background:var(--dye)}
.menu__foot button{font-weight:500}

/* ---------- phone ---------- */
@media (max-width:900px){
  .nav-space{height:6.75rem}
  .hero__back{font-size:max(0.875rem,13px);margin-bottom:0.875rem;flex-wrap:wrap;justify-content:center}
  .trust{padding-bottom:3.75rem}
  .trust__list{grid-template-columns:1fr 1fr;gap:1.375rem 0.875rem;padding:1.625rem 0}
  .trust__list b{font-size:max(1rem,14px)}
  .trust__list span{font-size:max(0.8125rem,12px)}
  .seen{padding:3.125rem 0 5rem}
  .seen__word{font-size:10rem;left:0;top:-1.875rem}
  .seen__scroller{padding:2.125rem 1.375rem 1.5rem;cursor:auto}
  .seen__row{gap:1.375rem}
  .mini{flex-basis:9.375rem}
  .mini::before,.mini__ph{height:12.125rem}
  .list{padding:2.125rem 0 4.375rem}
  .list__word{font-size:10.625rem;left:0;top:-3.125rem}
  .list__head h1{font-size:3.375rem}
  .list__count{padding-bottom:0.625rem;font-size:max(0.9375rem,13px)}
  .filters{gap:0.75rem;margin-top:1.125rem}
  .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-1.375rem;padding-inline:1.375rem;width:calc(100% + 2.75rem)}
  .chips::-webkit-scrollbar{display:none}
  .chip{flex:none;height:2.5rem;padding:0 0.9375rem 0.125rem;font-size:max(0.9375rem,13px)}
  .sort{margin-right:0;width:100%;gap:1.125rem}
  .grid{grid-template-columns:1fr 1fr;gap:1.875rem 0.875rem;margin-top:1.625rem}
  .grid .card__photo,.grid .card__echo{height:13.75rem}
  .grid .card__info b{font-size:max(0.9375rem,13px)}
  .grid .card__info span{font-size:max(0.875rem,13px)}
  .pdp{padding-top:0.625rem}
  .pdp__grid{grid-template-columns:1fr;gap:0.625rem;padding-bottom:4.375rem}
  .pdp__gallery{padding:3.125rem 0 0}
  .pdp__word{font-size:10.625rem;right:auto;left:-0.625rem;top:15.625rem}
  .pdp__rug{width:17.5rem;height:22.75rem;margin-inline:auto}
  .pdp__thumbs{justify-content:center;margin-top:3.875rem}
  .pdp__thumb{width:4.25rem;height:4.25rem}
  .pdp__info{padding-top:1.625rem}
  .pdp h1{font-size:2.125rem}
  .pdp__price{font-size:1.375rem}
  .pdp__desc{font-size:max(1.0625rem,15px)}
  .sizes--big .size{width:3.375rem;height:3.125rem}
  .pdp__add{max-width:none}
  .new--related .new__word{top:-2.5rem}
  .buybar{position:fixed;left:0;right:0;bottom:0;z-index:45;display:flex;align-items:center;justify-content:space-between;gap:0.875rem;padding:0.625rem 1rem calc(0.625rem + env(safe-area-inset-bottom));background:var(--wool);border-top:2px solid var(--ink);transform:translateY(110%);transition:transform .3s var(--smooth)}
  .buybar.is-on{transform:none}
  .buybar p{line-height:1.4;min-width:0}
  .buybar b{display:block;font-size:max(0.9375rem,13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .buybar span{font-size:max(0.875rem,13px)}
  .buybar .btn{height:3rem;padding:0 1.25rem;flex:none}
  .cart__panel{width:100%;max-width:none;padding:0.875rem 1.25rem 1.25rem}
  .cart__head h2{font-size:2rem}
}

/* real phones: once the slim bar is fixed to the top it drops the tab strip to save room;
   the menu button still opens everything */
@media (max-width:600px){
  .nav.is-paper .nav__tabs{display:none}
  .nav-space{height:4.125rem}
}

/* ---------- lookbook: the one page that is mostly black ---------- */
.looks{position:relative;background:var(--black);color:var(--wool);overflow:hidden;padding-bottom:6.875rem}
.looks__word{font-size:20.625rem;left:2.5rem;top:-2.5rem;color:#231D1A}
.looks__head{position:relative;z-index:2;padding:4.375rem 0 5rem}
.looks__head h1{font-size:6rem;font-weight:500;line-height:1.2}
.looks__head p{font-size:1.3125rem;max-width:32.5rem;margin-top:0.75rem;color:rgba(255,255,255,.8)}
.look{position:relative;height:50.25rem;margin-bottom:3.75rem}
.look__photo{position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(to right,transparent,#000 14%,#000 86%,transparent)}
.look__photo img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover}
.look__text{position:absolute;bottom:5rem;width:28.75rem;z-index:2}
.look--right .look__text{right:max(5rem,calc(50vw - 40rem))}
.look--left .look__text{left:max(5rem,calc(50vw - 40rem))}
.look__n{font-size:max(1rem,14px);font-weight:700;color:var(--dye-bright)}
.look__text h2{font-size:4rem}
.look__note{font-size:max(1.1875rem,15px);margin:0.625rem 0 1.375rem;color:rgba(255,255,255,.82)}
.look__items li{border-top:4px solid transparent;border-image:repeating-linear-gradient(to left,rgba(255,255,255,.3) 0 4px,transparent 4px 8px) 4}
.look__items li:last-child{border-bottom:4px solid transparent}
.look__items a,.look__items .is-soon{display:grid;grid-template-columns:0.625rem 1fr auto;gap:0.875rem;align-items:center;padding:0.75rem 0}
.look__items i{width:0.625rem;height:0.625rem;background:var(--dye-bright)}
.look__items b{font-size:max(1.0625rem,15px);font-weight:700}
.look__items span{font-size:max(0.9375rem,13px);color:rgba(255,255,255,.75)}
.look__items .is-soon{color:rgba(255,255,255,.55)}
.look__items .is-soon i{background:none;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}
.looks__end{position:relative;z-index:2;display:flex;justify-content:center;padding-top:0.625rem}

/* ---------- about ---------- */
.about{position:relative;padding-top:4rem;overflow:hidden}
.about__word{font-size:20.625rem;left:1.875rem;top:-6.875rem}
.about__kicker{position:relative;z-index:2;font-size:max(1.1875rem,15px);font-weight:700;color:var(--ash)}
.about h1{font-size:6rem;font-weight:500;line-height:1.25;max-width:75rem;margin-top:0.375rem}
.about__text{position:relative;z-index:2;max-width:47.5rem;margin-top:2.75rem}
.about__text p{font-size:1.625rem;line-height:1.8}
.about__text p+p{margin-top:1.375rem}
.about__quote{font-size:4.5rem;font-weight:500;line-height:1.35;margin:2.75rem 0 5.25rem}
.about__facts{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:3.75rem;padding:2.75rem 0;border-top:4px solid transparent;border-image:repeating-linear-gradient(to left,rgba(20,18,16,.2) 0 4px,transparent 4px 8px) 4}
.about__fact h2{font-size:2.5rem}
.about__fact p{font-size:1.3125rem;line-height:1.75;max-width:32.5rem;margin-top:0.5rem}
.about__cta{position:relative;z-index:2;display:flex;align-items:center;gap:1.875rem;padding:1.875rem 0 6.25rem}
.about+.trust,.contact+.trust{padding-top:3.75rem}

/* ---------- contact ---------- */
.contact{position:relative;padding:4rem 0 6.25rem;overflow:hidden}
.contact__word{font-size:20.625rem;left:1.875rem;top:-6.875rem}
.contact__grid{display:grid;grid-template-columns:1fr 26.25rem;gap:6.875rem;align-items:start;position:relative;z-index:2}
.contact h1{font-size:6rem;font-weight:500;line-height:1.2}
.contact__lead{font-size:1.375rem;margin:0.625rem 0 2.75rem;max-width:32.5rem}
.contact__rows li{display:grid;grid-template-columns:9.375rem 1fr auto;gap:1.25rem;align-items:baseline;padding:1.25rem 0 1.5rem;border-top:4px solid transparent;border-image:repeating-linear-gradient(to left,rgba(20,18,16,.2) 0 4px,transparent 4px 8px) 4}
.contact__rows li:last-child{border-bottom:4px solid transparent}
.contact__rows span{font-size:max(1rem,14px);color:var(--ash)}
.contact__rows b{font-size:2.375rem;font-weight:500;line-height:1.4}
.contact__rows b a{display:inline-block}
.contact__side{padding:4.375rem 1.25rem 0 0}
.contact__rug{width:23.75rem;height:31.25rem;transform:rotate(3deg);box-shadow:0 2.5rem 4.375rem rgba(20,18,16,.3)}
.contact__faq{position:relative;z-index:2;padding-top:6.875rem}
.acc--wide{max-width:51.25rem;margin-top:1.625rem}
.acc--wide details p{max-width:40rem;font-size:max(1.0625rem,15px)}
.acc--wide summary{font-size:1.3125rem;padding:1.25rem 0}

@media (max-width:900px){
  .looks{padding-bottom:4.375rem}
  .looks__word{font-size:10.625rem;left:0;top:0.625rem}
  .looks__head{padding:2.75rem 0 2.5rem}
  .looks__head h1{font-size:3.125rem}
  .looks__head p{font-size:max(1.0625rem,15px)}
  .look{height:auto;margin-bottom:3.125rem}
  .look__photo{position:relative;inset:auto;height:27.5rem;-webkit-mask-image:linear-gradient(to bottom,#000 80%,transparent);mask-image:linear-gradient(to bottom,#000 80%,transparent)}
  .look__text{position:relative;bottom:auto;width:auto;margin:-1.875rem 1.375rem 0}
  .look--right .look__text,.look--left .look__text{right:auto;left:auto}
  .look__text h2{font-size:2.25rem}
  .look__note{font-size:max(1.0625rem,15px)}
  .about{padding-top:2.125rem}
  .about__word{font-size:10.625rem;left:0;top:-3.125rem}
  .about__kicker{font-size:max(0.9375rem,13px)}
  .about h1{font-size:2.75rem;line-height:1.35}
  .about__text{margin-top:1.625rem}
  .about__text p{font-size:max(1.125rem,15px)}
  .about__text p+p{margin-top:0.875rem}
  .about__quote{font-size:2.375rem;margin:1.875rem 0 3.125rem}
  .about__facts{grid-template-columns:1fr;gap:1.625rem;padding:1.875rem 0}
  .about__fact h2{font-size:1.875rem}
  .about__fact p{font-size:max(1.0625rem,15px)}
  .about__cta{flex-direction:column;align-items:stretch;gap:1.25rem;padding:1.25rem 0 4.375rem}
  .about__cta .link{align-self:flex-start}
  .contact{padding:2.125rem 0 4.375rem}
  .contact__word{font-size:10.625rem;left:0;top:-3.125rem}
  .contact h1{font-size:3.375rem}
  .contact__lead{font-size:max(1.125rem,15px);margin-bottom:1.875rem}
  .contact__grid{grid-template-columns:1fr;gap:0.625rem}
  .contact__rows li{grid-template-columns:1fr auto;gap:0.125rem 0.875rem;padding:0.875rem 0 1.125rem}
  .contact__rows span{grid-column:1 / -1;font-size:max(0.875rem,13px)}
  .contact__rows b{font-size:1.625rem}
  .contact__side{padding:3.125rem 0 0;display:flex;justify-content:center}
  .contact__rug{width:15.625rem;height:20.625rem}
  .contact__faq{padding-top:4.375rem}
  .acc--wide summary{font-size:max(1.125rem,15px)}
}

/* ---------- checkout ---------- */
.co{position:relative;padding:4rem 0 6.875rem}
.co h1{font-size:6rem;font-weight:500;line-height:1.2}
.co__empty{padding:2.5rem 0 1.25rem;font-size:1.375rem}
.co__empty .link{display:inline-block;margin-top:0.875rem}
.co__grid{display:grid;grid-template-columns:1fr 25rem;gap:5.625rem;align-items:start;margin-top:2.75rem}
.co__grid[hidden],.co__empty[hidden],.co__done[hidden],.co__fail[hidden],.co__bar[hidden],.co__preview[hidden]{display:none}

/* the cart, beside the steps */
.co__sum{grid-column:2;grid-row:1;position:sticky;top:6.875rem;background:var(--wool-dark);padding:1.875rem 1.875rem 1.625rem}
.co__sum h2{font-size:1.75rem}
.co__lines li{display:grid;grid-template-columns:1fr auto;gap:0.125rem 1rem;padding:1rem 0;border-bottom:4px solid transparent;border-image:repeating-linear-gradient(to left,rgba(20,18,16,.2) 0 4px,transparent 4px 8px) 4}
.co__lines b{font-size:max(1rem,14px);font-weight:700}
.co__lines small{grid-row:2;font-size:max(0.875rem,13px);color:var(--ash)}
.co__lines span{grid-row:1 / 3;grid-column:2;align-self:center;font-size:max(0.9375rem,13px);font-weight:700;white-space:nowrap}
.co__total{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding-top:1.125rem;font-size:max(1.0625rem,15px)}
.co__total b{font-size:1.625rem;font-weight:700}
.co__ship{font-size:max(0.875rem,13px);color:var(--ash);margin-top:0.375rem}
.co__edit{margin-top:1.125rem;font-size:max(0.9375rem,13px)}

/* the three steps */
.co__form{grid-column:1;grid-row:1}
.co__step{border:0;padding:0;margin:0 0 0.875rem;min-width:0}
.co__step legend{display:flex;align-items:center;gap:0.875rem;font-size:2rem;font-weight:500;padding:0}
.co__step legend b{display:grid;place-items:center;width:2.75rem;height:2.75rem;background:var(--ink);color:var(--wool);font-size:1.25rem}
.co__step.is-open legend b{background:var(--dye);color:var(--on-dye)}
.co__step:disabled legend{color:var(--ash)}
.co__step:disabled legend b{background:var(--wool-dark);color:var(--ash)}
.co__step:not(.is-open) .co__body{display:none}
.co__body{padding:1.625rem 3.625rem 2.75rem 0}
.co__fields{display:grid;grid-template-columns:1fr 1fr;gap:1.125rem 1.5rem;margin-bottom:1.75rem}
.field{display:flex;flex-direction:column;gap:0.5rem}
.field--wide{grid-column:1 / -1}
.field span{font-size:max(0.9375rem,13px);font-weight:700}
.field input,.field textarea{font:inherit;font-size:max(1.0625rem,15px);line-height:1.6;color:var(--ink);background:var(--wool);border:2px solid rgba(20,18,16,.35);border-radius:0;padding:0.75rem 0.875rem;width:100%;-webkit-appearance:none;appearance:none}
.field textarea{resize:vertical}
.field input:focus,.field textarea:focus{outline:2px solid var(--dye-text);outline-offset:0;border-color:var(--ink)}
.field [aria-invalid="true"]{border:3px solid var(--ink)}
.field__err{display:block;font-style:normal;font-size:max(0.875rem,13px);font-weight:700}
.field__err:not(:empty)::before{content:"";display:inline-block;width:0.5rem;height:0.5rem;background:var(--ink);margin-left:0.5rem;vertical-align:middle}
/* the spam trap: hidden in place (an offset far off-screen makes phones zoom out) */
.co__hp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);opacity:0;pointer-events:none}

/* card-to-card */
.co__pay{font-size:1.3125rem;margin-bottom:1.125rem}
.co__pay b{font-weight:700}
.co__card{display:flex;flex-direction:column;align-items:flex-start;gap:0.5rem;background:var(--wool-dark);padding:1.625rem 1.75rem;margin-bottom:1.125rem}
.co__num{font-size:2.375rem;font-weight:500;line-height:1.3;letter-spacing:.04em}
.co__card p{font-size:max(1.0625rem,15px);color:var(--ash)}
.co__note{font-size:max(1rem,14px);color:var(--ash);max-width:35rem;margin-bottom:1.5rem}

/* the receipt */
.co__photo{display:flex;align-items:center;flex-wrap:wrap;gap:1.25rem;margin-bottom:0.625rem}
.co__file{position:absolute;width:0.0625rem;height:0.0625rem;opacity:0}
.co__file:focus-visible+.co__pick{outline:2px solid var(--dye-text);outline-offset:3px}
.co__pick{cursor:pointer}
.co__preview{width:7.5rem;height:10rem;object-fit:cover;background:var(--wool-dark)}
.co__send{margin-top:1.5rem}
.co__bar{max-width:26.25rem;height:4px;background:rgba(20,18,16,.12);margin-top:1.125rem}
.co__bar i{display:block;height:100%;background:var(--dye);transform:scaleX(var(--p,0));transform-origin:right;transition:transform .2s}
.co__fail{margin-top:1.75rem}
.co__fail .btn{margin:0.875rem 0 1.5rem}
.co__text{font:inherit;font-size:max(0.9375rem,13px);white-space:pre-wrap;background:var(--wool-dark);padding:1.125rem 1.25rem;margin:0.75rem 0 0.625rem}

/* sent */
.co__done{max-width:45rem;padding-top:2.75rem}
.co__done:focus{outline:none}
.co__done h2{font-size:3.5rem}
.co__code{font-size:1.25rem;margin:0.875rem 0 0.625rem}
.co__code b{font-size:1.875rem;font-weight:700}
.co__done p{font-size:max(1.1875rem,15px)}
.co__done .btn{margin-top:1.875rem}

@media (max-width:900px){
  .co{padding:2.125rem 0 4.375rem}
  .co h1{font-size:3.125rem}
  .co__grid{grid-template-columns:1fr;gap:1.875rem;margin-top:1.625rem}
  .co__sum,.co__form{grid-column:auto;grid-row:auto}
  .co__sum{position:static;padding:1.25rem 1.25rem 1.125rem}
  .co__step legend{font-size:1.5rem;gap:0.75rem}
  .co__step legend b{width:2.25rem;height:2.25rem;font-size:max(1.0625rem,15px)}
  .co__body{padding:1.25rem 0 2.125rem}
  .co__fields{grid-template-columns:1fr}
  /* 16 real pixels or more, or phones zoom in when a field is tapped */
  .field input,.field textarea{font-size:max(1.125rem,16px)}
  .co__num{font-size:1.75rem}
  .co__form .btn,.co__done .btn{width:100%}
  .co__done h2{font-size:2.375rem}
}

/* ---------- WordPress only ----------
   Added after src/css by wp/build.mjs. Kept to what the static site has no
   need for. */

/* Plain pages (privacy policy …) and not found: the about letter's type, with room at the end. */
.about--page h1{font-size:4.5rem}
.about--page .about__text{padding-bottom:6.25rem}
.prose h2,.prose h3{font-size:1.625rem;font-weight:500;margin:2.25rem 0 0.625rem}
.prose ul,.prose ol{font-size:1.25rem;line-height:1.8;padding-right:1.5rem}
.prose a{font-weight:700;text-decoration:underline;text-decoration-color:var(--dye-text);text-underline-offset:0.3125rem}
@media (max-width:56.25rem){
  .about--page h1{font-size:2.25rem}
  .prose h2,.prose h3{font-size:1.25rem}
  .prose ul,.prose ol{font-size:max(1rem,14px)}
}

/* A sale: the old price struck through and faded, then the price. No dye, no badge. */
.was{color:inherit;opacity:.5;font-weight:400;text-decoration:line-through;text-decoration-thickness:1px;white-space:nowrap}

/* «حساب من» (template-parts/account.php, account.js): the checkout's look.
   Each order is a wool-dark panel; where it is shows as three steps on a
   stitched line, the current one in the dye. Cancelled and refunded orders
   have no track: an outlined square and the words in ash. */
.ac__grid{display:grid;grid-template-columns:1fr 25rem;gap:5.625rem;align-items:start;margin-top:2.75rem}
.ac__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1.5rem}
.ac__order{background:var(--wool-dark);padding:1.75rem 1.875rem 1.5rem}
.ac__head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.ac__head b{font-size:1.75rem;font-weight:500;direction:ltr}
.ac__head time{font-size:max(0.9375rem,13px);color:var(--ash)}
.ac__track{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);margin:1rem 0 0.25rem;font-size:max(0.875rem,13px);font-weight:700;color:var(--ash)}
.ac__track li{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:0.5rem}
.ac__track li::after{content:"";position:absolute;top:0.4375rem;right:1.375rem;left:0.25rem;height:2px;background:repeating-linear-gradient(to left,rgba(20,18,16,.25) 0 4px,transparent 4px 8px)}
.ac__track li:last-child::after{display:none}
.ac__track i{width:1rem;height:1rem;box-shadow:inset 0 0 0 2px rgba(20,18,16,.35)}
.ac__track .is-past,.ac__track .is-now{color:var(--ink)}
.ac__track .is-past i{background:var(--ink);box-shadow:none}
.ac__track .is-past::after{background:var(--ink)}
.ac__track .is-now i{background:var(--dye);box-shadow:none}
.ac__off{display:flex;align-items:center;gap:0.625rem;margin:0.875rem 0 0.25rem;font-size:max(1rem,14px);font-weight:700;color:var(--ash)}
.ac__off i{width:0.75rem;height:0.75rem;box-shadow:inset 0 0 0 2px var(--ash)}
.ac__none{font-size:1.375rem}
.ac__fail{font-size:max(1.125rem,15px)}
.ac__fail .link{margin-right:0.75rem}
.ac__forget{margin-top:1.625rem;font-size:max(0.9375rem,13px)}
.ac__none[hidden],.ac__fail[hidden],.ac__forget[hidden]{display:none}
.ac__find{background:var(--wool-dark);padding:1.875rem 1.875rem 1.625rem}
.ac__find h2{font-size:1.75rem}
.ac__find p{font-size:max(1rem,14px);color:var(--ash);margin:0.5rem 0 1.375rem}
.ac__find .field{margin-bottom:1.125rem}
.ac__find .btn{width:100%}
.ac__find .ac__err{color:var(--ink);font-weight:700;margin:0.875rem 0 0}
.ac__find .ac__err:empty{display:none}
.ac__err:not(:empty)::before{content:"";display:inline-block;width:0.5rem;height:0.5rem;background:var(--ink);margin-left:0.5rem;vertical-align:middle}
@media (max-width:900px){
  .ac__grid{grid-template-columns:1fr;gap:3.5rem;margin-top:1.625rem}
  .ac__order{padding:1.375rem 1.25rem 1.125rem}
  .ac__find{padding:1.25rem 1.25rem 1.125rem}
  .ac__none{font-size:max(1.125rem,15px)}
}
