/* Fashion Creation Boutique — LuxWeb Studio preview. Palette from the brief; motif: a running thread-stitch. */
:root{--plum:#4A1D3F;--plum-d:#2f1128;--gold:#D9A23B;--gold-l:#f1c86e;--blush:#F3D9D6;--rose:#C2416B;--ivory:#FBF7F2;--ink:#1C1A1A;--mute:#5b4f57;--line:rgba(74,29,63,.16);--r:14px;--sh:0 18px 50px -20px rgba(47,17,40,.45);--sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--serif:"Playfair Display",Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ivory);color:var(--ink);font:400 16px/1.55 var(--sans);overflow-x:hidden}
img{max-width:100%;display:block}a{color:inherit}button{font:inherit;color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.08;margin:0 0 .5rem;letter-spacing:-.01em}
h2{font-size:clamp(1.7rem,4.2vw,2.6rem)}h3{font-size:1.2rem}
.wrap{width:min(1120px,100% - 32px);margin-inline:auto}.wrap.narrow{max-width:760px}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:var(--ink);padding:8px 12px;z-index:100}.skip:focus{left:8px}
.ic{width:18px;height:18px;fill:currentColor;flex:none}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.kicker{font:600 .72rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--rose);margin:0 0 .9rem}
.sub{color:var(--mute);max-width:60ch;margin:.25rem 0 1.4rem}
.fine{font-size:.86rem;color:var(--mute)}.fine.center{text-align:center;margin-top:1.4rem}.fine.light{color:rgba(251,247,242,.72)}
.opt{color:var(--mute);font-weight:400;font-size:.85em}
.sec{padding:clamp(48px,7vw,88px) 0}
.sec-blush{background:linear-gradient(180deg,#f8e9e6,var(--blush) 60%,#f6e1dd)}
.sec-plum{background:radial-gradient(120% 90% at 20% 0%,#5e2650,var(--plum) 55%,var(--plum-d));color:var(--ivory)}
.sec-plum .kicker{color:var(--gold-l)}

/* ===== buttons / chips ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.75rem 1.25rem;border-radius:999px;border:2px solid transparent;font-weight:600;text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}
.btn:active{transform:translateY(1px)}
.btn-gold{background:var(--gold);color:var(--ink);box-shadow:0 10px 28px -10px rgba(217,162,59,.8)}.btn-gold:hover{background:var(--gold-l)}
.btn-line{background:transparent;color:var(--ivory);border-color:rgba(251,247,242,.55)}.btn-line:hover{border-color:var(--ivory)}
.btn-plum{background:var(--plum);color:var(--ivory)}.btn-plum:hover{background:var(--plum-d)}
.btn-line-plum{background:transparent;color:var(--plum);border-color:var(--plum)}.btn-line-plum:hover{background:rgba(74,29,63,.07)}
.cta-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem}
.pill{display:inline-flex;align-items:center;gap:.4rem;min-height:40px;padding:.4rem .9rem;border-radius:999px;font-weight:600;text-decoration:none;font-size:.9rem}
.pill-gold{background:var(--gold);color:var(--ink)}
.chip{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border-radius:999px;background:rgba(251,247,242,.14);border:1px solid rgba(251,247,242,.3);font-size:.78rem;font-weight:600;letter-spacing:.02em}
.chip::before{content:"";width:8px;height:8px;border-radius:50%;background:#9aa0a6}
.chip.is-open::before{background:#5fd38d;box-shadow:0 0 0 3px rgba(95,211,141,.25)}.chip.is-closed::before{background:var(--rose)}
.chip-new{background:var(--gold);color:var(--ink);border-color:var(--gold)}.chip-new::before{display:none}

/* ===== header ===== */
.top{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:1rem;padding:.55rem 16px;background:rgba(251,247,242,.9);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;min-height:48px}
.brand img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.brand-t{display:flex;flex-direction:column;line-height:1.05}.brand-t b{font-family:var(--serif);font-size:1.08rem;color:var(--plum)}.brand-t small{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.menu{display:none;margin-left:auto;gap:1.2rem;font-size:.92rem;font-weight:600}.menu a{text-decoration:none;color:var(--plum)}.menu a:hover{color:var(--rose)}
.top .pill{margin-left:auto}.top .pill span{display:none}
@media(min-width:880px){.menu{display:flex}.top .pill{margin-left:0}.top .pill span{display:inline}}

/* ===== hero: fabric-swatch scene ===== */
.hero{position:relative;background:var(--plum);color:var(--ivory);overflow:hidden;isolation:isolate}
.silk{position:absolute;inset:0;z-index:-1;overflow:hidden}
.silk-photo{position:absolute;inset:-6%;width:112%;height:112%;object-fit:cover;opacity:.28;filter:saturate(.7) contrast(1.05);mix-blend-mode:luminosity;animation:drift 38s ease-in-out infinite alternate}
.silk-sheen{position:absolute;inset:-20%;background:
  radial-gradient(60% 45% at 20% 25%,rgba(217,162,59,.38),transparent 70%),
  radial-gradient(50% 40% at 80% 70%,rgba(194,65,107,.45),transparent 72%),
  radial-gradient(45% 50% at 65% 15%,rgba(243,217,214,.22),transparent 70%),
  linear-gradient(115deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.08) 45%,rgba(255,255,255,0) 60%),
  linear-gradient(160deg,#5c2450,var(--plum) 45%,#3a1431);
  background-size:140% 140%,140% 140%,140% 140%,260% 260%,100% 100%;
  animation:sheen 22s ease-in-out infinite alternate}
.silk-grain{position:absolute;inset:0;opacity:.35;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .5 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
@keyframes sheen{0%{background-position:0% 0%,100% 100%,50% 0%,0% 0%,0 0}100%{background-position:100% 60%,0% 20%,30% 100%,100% 100%,0 0}}
@keyframes drift{from{transform:translate3d(-1.5%,-1%,0) scale(1.02)}to{transform:translate3d(1.5%,1.5%,0) scale(1.06)}}
.hero-in{width:min(1120px,100% - 32px);margin-inline:auto;padding:clamp(40px,7vw,92px) 0 clamp(56px,8vw,100px);display:grid;gap:2.2rem;align-items:center}
.eyebrow{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.2rem}
.wordmark{display:inline-flex;flex-direction:column;gap:.15rem;margin-bottom:1.2rem;color:var(--gold-l)}
.wm{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(1.5rem,3.6vw,2.1rem);letter-spacing:.01em;line-height:1}
.stitch{width:min(320px,70%);height:16px;color:var(--gold);margin:.2rem 0 0 .1rem}
.wm-sub{font:600 .66rem/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:rgba(251,247,242,.78)}
h1{font-size:clamp(2.2rem,6.4vw,4.1rem);font-weight:600;max-width:12ch}h1 em{font-style:italic;color:var(--gold-l)}
.lede{font-size:clamp(1rem,1.6vw,1.18rem);color:rgba(251,247,242,.86);max-width:48ch;margin:.9rem 0 0}
.hero-note{margin:.9rem 0 0;font-size:.9rem;color:rgba(251,247,242,.72)}.hero-note a{color:var(--gold-l)}
.swatches{position:relative;height:clamp(300px,62vw,420px);margin-top:.4rem}
.sw{position:absolute;margin:0;width:clamp(150px,34vw,230px);background:#fff;padding:7px 7px 0;border-radius:6px;box-shadow:0 26px 60px -24px rgba(0,0,0,.7),0 4px 10px -4px rgba(0,0,0,.4);transform-origin:50% 100%;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.sw img{aspect-ratio:4/5;object-fit:cover;border-radius:3px;width:100%;height:auto}
.sw figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.5rem .3rem .55rem;color:var(--ink);font-size:.78rem}
.sw figcaption b{font-family:var(--serif);font-weight:600;font-size:.95rem}.sw figcaption span{color:var(--mute);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}
.sw-1{left:2%;top:12%;transform:rotate(-7deg);z-index:1}.sw-2{left:29%;top:0;transform:rotate(2deg);z-index:3}.sw-3{left:54%;top:16%;transform:rotate(8deg);z-index:2}
.swatches:hover .sw-1{transform:rotate(-10deg) translateY(-6px)}.swatches:hover .sw-3{transform:rotate(11deg) translateY(-6px)}.swatches:hover .sw-2{transform:rotate(0) translateY(-10px)}
@media(min-width:880px){.hero-in{grid-template-columns:1.15fr .85fr;gap:3rem}.swatches{height:520px}.sw{width:250px}.sw-1{left:0;top:18%}.sw-2{left:28%;top:2%}.sw-3{left:56%;top:22%}}

/* ===== ticker ===== */
.ticker{overflow:hidden;background:var(--gold);color:var(--ink);border-top:3px solid var(--plum-d);border-bottom:1px solid var(--plum)}
.ticker-in{display:flex;gap:1.4rem;width:max-content;padding:.6rem 0;font:600 .78rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;animation:tick 42s linear infinite}
.ticker-in i{width:14px;height:1px;border-top:2px dashed var(--plum);align-self:center;opacity:.75}
@keyframes tick{to{transform:translateX(-50%)}}

/* ===== Style Me ===== */
.styleme{display:grid;gap:1.6rem;align-items:start}
@media(min-width:960px){.styleme{grid-template-columns:1.05fr .95fr;gap:2.4rem}.board{position:sticky;top:76px}}
.picker{display:grid;gap:1rem}
.fs{border:0;padding:0;margin:0;min-width:0}
.fs legend{font-family:var(--serif);font-weight:600;font-size:1.05rem;margin-bottom:.5rem;padding:0;color:var(--plum)}.fs legend small{font:400 .8rem var(--sans);color:var(--mute)}
.chips{display:flex;flex-wrap:wrap;gap:.45rem}
.chip-b{min-height:44px;padding:.55rem .95rem;border-radius:999px;border:1.5px solid var(--line);background:#fff;cursor:pointer;font-weight:600;font-size:.9rem;transition:background .15s,border-color .15s,color .15s}
.chip-b:hover{border-color:var(--plum)}.chip-b.is-on{background:var(--plum);border-color:var(--plum);color:var(--ivory)}
.colors{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}
@media(min-width:480px){.colors{grid-template-columns:repeat(6,1fr)}}
.col{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.35rem .2rem .45rem;border-radius:12px;border:1.5px solid transparent;background:transparent;cursor:pointer;font-size:.74rem;font-weight:600;color:var(--mute)}
.col-ph{width:100%;aspect-ratio:1;border-radius:9px;background:var(--c) center/cover no-repeat;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.col.is-on{border-color:var(--plum);background:#fff;color:var(--plum)}.col.is-on .col-ph{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--plum)}
.col[disabled]{opacity:.45;cursor:not-allowed}
.satin{display:block;background:
  linear-gradient(135deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,0) 28%,rgba(0,0,0,.18) 52%,rgba(255,255,255,.28) 74%,rgba(0,0,0,.22) 100%),
  repeating-linear-gradient(115deg,rgba(255,255,255,.07) 0 2px,rgba(0,0,0,.05) 2px 4px),
  var(--c)}
.two{display:grid;gap:1rem}@media(min-width:600px){.two{grid-template-columns:1fr 1fr}}
.fl{display:flex;flex-direction:column;gap:.35rem;font-weight:600;font-size:.92rem;color:var(--plum)}
.fl input,.fl select,.fl textarea{font:inherit;font-weight:400;color:var(--ink);min-height:48px;padding:.7rem .9rem;border:1.5px solid var(--line);border-radius:10px;background:#fff;width:100%}
.fl textarea{min-height:88px;resize:vertical}
.fl input:focus,.fl select:focus,.fl textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--plum)}
.readback{margin:.2rem 0 0;padding:.8rem 1rem;border-left:3px solid var(--gold);background:#fff;border-radius:0 10px 10px 0;font-family:var(--serif);font-size:1.02rem;color:var(--plum)}
.form-msg{min-height:1.2em;margin:.3rem 0 0;font-weight:600;color:var(--plum)}.form-msg.err{color:#8f1b3a}
.board{background:#fff;border-radius:18px;padding:1rem;box-shadow:var(--sh);border:1px solid var(--line)}
.board-head{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.8rem}
.tag{display:inline-block;padding:.35rem .75rem;border-radius:4px 999px 999px 4px;background:var(--plum);color:var(--ivory);font-size:.78rem;font-weight:600;letter-spacing:.04em;position:relative}
.tag::before{content:"";position:absolute;left:-7px;top:50%;width:7px;height:7px;border-radius:50%;background:var(--gold);transform:translateY(-50%)}
.board-no{font:600 .7rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.board-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto auto;gap:.55rem}
.bt{margin:0;position:relative;border-radius:10px;overflow:hidden;aspect-ratio:4/5;background:var(--blush)}
.bt img,.bt .satin{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:opacity .35s}
.bt figcaption{position:absolute;left:.5rem;bottom:.45rem;padding:.25rem .55rem;border-radius:999px;background:rgba(28,26,26,.72);color:#fff;font-size:.7rem;font-weight:600;letter-spacing:.04em}
.bt-occ{grid-column:1/3;grid-row:1/3;aspect-ratio:auto}
.bt-note{aspect-ratio:auto;background:var(--ivory);border:1.5px dashed var(--gold);display:flex;align-items:center;padding:.7rem}
.bt-note p{margin:0;font-family:var(--serif);font-style:italic;font-size:.9rem;color:var(--plum);line-height:1.3}
.board-foot{margin:.8rem 0 0;font-size:.76rem;color:var(--mute)}
.bt.is-swap img,.bt.is-swap .satin{animation:pop .4s ease}
@keyframes pop{from{opacity:.2;transform:scale(1.04)}to{opacity:1;transform:none}}

/* ===== What we carry ===== */
.carry{display:grid;gap:1rem;margin-top:1.6rem}
@media(min-width:620px){.carry{grid-template-columns:1fr 1fr}}@media(min-width:1000px){.carry{grid-template-columns:repeat(4,1fr)}}
.card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--sh);display:grid;grid-template-columns:110px 1fr}
.card img{width:100%;height:100%;object-fit:cover;aspect-ratio:auto}
.card div{padding:.9rem 1rem}.card h3{color:var(--plum)}.card p{margin:0;font-size:.9rem;color:var(--mute)}
@media(min-width:1000px){.card{grid-template-columns:1fr}.card img{aspect-ratio:4/4.2}}

/* ===== Lookbook rail ===== */
.rail{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:1rem 16px 1.2rem;scrollbar-width:thin;scrollbar-color:var(--plum) transparent}
@media(min-width:1152px){.rail{padding-inline:calc((100% - 1120px)/2)}}
.lk{flex:0 0 min(72vw,300px);margin:0;scroll-snap-align:start}
.lk-b{display:block;width:100%;padding:0;border:0;border-radius:12px;overflow:hidden;background:var(--blush);cursor:zoom-in;box-shadow:var(--sh)}
.lk-b img,.lk .slot{width:100%;aspect-ratio:3/4;object-fit:cover}
.lk figcaption{padding:.6rem .15rem 0;font-size:.86rem;color:var(--mute)}.lk figcaption b{font-family:var(--serif);color:var(--plum);margin-right:.4rem}
.slot{display:flex;align-items:center;justify-content:center;border-radius:12px;background:
  repeating-linear-gradient(135deg,rgba(255,255,255,.08) 0 3px,rgba(0,0,0,.04) 3px 6px),linear-gradient(160deg,var(--plum),var(--rose) 60%,var(--blush));color:#fff;font-weight:600;outline:2px dashed var(--gold);outline-offset:-8px}

/* ===== Reviews ===== */
.rating{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:0 0 1.2rem;font-size:1rem}.stars{color:var(--gold-l);letter-spacing:.1em}
.pull{margin:0 0 1.8rem;padding:0;max-width:34ch}
.pull p{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(1.35rem,3.2vw,2rem);line-height:1.25;color:#fff}
.pull footer{margin-top:.8rem;font-size:.84rem;color:rgba(251,247,242,.7)}
.revs{display:grid;gap:.9rem}@media(min-width:720px){.revs{grid-template-columns:repeat(3,1fr)}}
.rev{margin:0;padding:1rem 1.1rem;border-radius:14px;background:rgba(251,247,242,.08);border:1px solid rgba(251,247,242,.16)}
.rev p{margin:0 0 .6rem;font-size:.95rem}.rev footer{font-weight:600;font-size:.82rem;color:var(--gold-l)}
.sec-plum a{color:var(--gold-l)}

/* ===== Visit ===== */
.visit{display:grid;gap:1.6rem}@media(min-width:900px){.visit{grid-template-columns:1fr 1fr;align-items:center}}
address{font-style:normal;line-height:1.6;margin:.6rem 0 1rem}address b{font-family:var(--serif);font-size:1.15rem;color:var(--plum)}
.hours{border-collapse:collapse;margin:.4rem 0}.hours th,.hours td{text-align:left;padding:.35rem .9rem .35rem 0;font-weight:400}.hours th{font-weight:600;color:var(--plum)}
.map{border-radius:16px;overflow:hidden;box-shadow:var(--sh);background:var(--blush);aspect-ratio:4/3}
.map-b{position:relative;display:block;width:100%;height:100%;padding:0;border:0;cursor:pointer;background:var(--plum)}
.map-b img{width:100%;height:100%;object-fit:cover;opacity:.55}
.map-b span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:.7rem 1.1rem;border-radius:999px;background:var(--gold);color:var(--ink);font-weight:600;white-space:nowrap}
.map iframe{width:100%;height:100%;border:0;display:block}

/* ===== FAQ ===== */
details{border-bottom:1px solid var(--line);padding:.3rem 0}summary{cursor:pointer;font-family:var(--serif);font-weight:600;font-size:1.08rem;padding:.7rem 0;color:var(--plum);list-style:none;display:flex;justify-content:space-between;gap:1rem}
summary::-webkit-details-marker{display:none}summary::after{content:"+";color:var(--rose);font-size:1.3rem;line-height:1}details[open] summary::after{content:"–"}
details p{margin:0 0 .9rem;color:var(--mute)}

/* ===== footer / bar ===== */
.foot{background:var(--plum-d);color:var(--ivory);padding:2.4rem 0 7rem}
.foot-in{display:grid;gap:1.4rem}@media(min-width:760px){.foot-in{grid-template-columns:1fr auto;align-items:start}.foot-in>.fine{grid-column:1/-1}}
.foot-brand{display:flex;gap:.9rem;align-items:flex-start;line-height:1.6}.foot-brand img{border-radius:50%}.foot-brand b{font-family:var(--serif);font-size:1.1rem}
.foot-links{display:flex;flex-wrap:wrap;gap:1rem;font-weight:600}.foot-links a{color:var(--gold-l)}
.lux{color:var(--gold-l)}
.bar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:1fr 1.2fr 1fr;background:var(--plum);border-top:1px solid rgba(255,255,255,.14);padding-bottom:env(safe-area-inset-bottom)}
.bar a{display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:56px;color:var(--ivory);text-decoration:none;font-weight:600;font-size:.92rem}
.bar .bar-mid{background:var(--gold);color:var(--ink)}
@media(min-width:880px){.bar{display:none}.foot{padding-bottom:2.4rem}}

/* ===== lightbox ===== */
.lb{position:fixed;inset:0;z-index:60;background:rgba(28,26,26,.92);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.8rem;padding:16px}
.lb[hidden]{display:none}.lb img{max-width:min(92vw,900px);max-height:78vh;object-fit:contain;border-radius:8px}
.lb p{color:#fff;margin:0;font-size:.9rem}
.lb-x,.lb-n{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;width:48px;height:48px;border-radius:50%;font-size:1.6rem;cursor:pointer}
.lb-x{top:14px;right:14px}.lb-n{top:50%;transform:translateY(-50%)}.lb-prev{left:10px}.lb-next{right:10px}

/* ===== ready mode / edit mode ===== */
.edit-only{display:none}
body.edit .edit-only{display:revert}
body.edit .edit-only.chip,body.edit span.edit-only{display:inline-flex;align-items:center;gap:.3rem;outline:2px dashed var(--rose);outline-offset:2px;background:#fff3ea;color:#8f1b3a;font-size:.78rem;padding:.1rem .4rem;border-radius:6px}
body.edit .lk.edit-only{display:block}
body.edit .todo{display:block;position:fixed;right:12px;bottom:72px;z-index:45;max-width:340px;max-height:60vh;overflow:auto;background:#fff;color:var(--ink);padding:1rem 1.1rem;border-radius:14px;box-shadow:var(--sh);outline:2px dashed var(--rose);font-size:.84rem}
.todo ol{padding-left:1.1rem;margin:.5rem 0 0}.todo li{margin:.3rem 0}

/* ===== motion ===== */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.silk-photo,.silk-sheen,.ticker-in,.bt.is-swap img,.bt.is-swap .satin{animation:none!important}.sw,.btn{transition:none}}

/* ===== hero opening: the tailor's table (stitch → unroll the silk → words rise → swatches deal) ===== */
.hero{background:var(--plum-d)}
.silk{animation:unroll 1.25s cubic-bezier(.65,0,.25,1) .45s both}
.silk-edge{position:absolute;top:-5%;bottom:-5%;left:0;width:16%;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.22) 55%,rgba(255,240,220,.55) 78%,rgba(20,6,16,.55) 100%);filter:blur(1px);animation:edge 1.25s cubic-bezier(.65,0,.25,1) .45s both}
@keyframes unroll{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes edge{from{transform:translateX(-100%);opacity:1}92%{opacity:1}to{transform:translateX(640%);opacity:0}}
.wordmark{position:relative}
.wm{clip-path:inset(-10% 100% -10% 0);animation:sew 1s cubic-bezier(.4,0,.2,1) .15s both}
.stitch{overflow:visible;clip-path:inset(-200% 100% -200% 0);animation:sew 1s cubic-bezier(.4,0,.2,1) .15s both}
@keyframes sew{to{clip-path:inset(-200% -2% -200% 0)}}
.needle{offset-path:path("M2 12 C 60 2, 110 22, 160 12 S 260 2, 318 12");offset-rotate:auto;offset-distance:0%;animation:needle 1s cubic-bezier(.4,0,.2,1) .15s both}
@keyframes needle{0%{offset-distance:0%;opacity:1}96%{opacity:1}100%{offset-distance:100%;opacity:0}}
.wm-sub,.eyebrow{animation:rise .6s ease-out 1.05s both}
h1 .w{display:inline-block;animation:rise .7s cubic-bezier(.2,.8,.2,1) calc(1.15s + var(--i,0)*.075s) both}
.lede{animation:rise .7s ease-out 1.65s both}.cta-row{animation:rise .7s ease-out 1.8s both}.hero-note{animation:rise .7s ease-out 1.95s both}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.sw{animation:deal .85s cubic-bezier(.2,.9,.25,1.05) calc(1.5s + var(--n)*.18s) both}
.sw-1{--n:0;--r:-7deg}.sw-2{--n:1;--r:2deg}.sw-3{--n:2;--r:8deg}
.sw-1,.sw-2,.sw-3{transform:rotate(var(--r))}
@keyframes deal{from{opacity:0;transform:translate(28%,70vh) rotate(calc(var(--r) + 24deg)) scale(.92)}60%{opacity:1}to{opacity:1;transform:rotate(var(--r))}}
.swatches:hover .sw-1{transform:rotate(-10deg) translateY(-6px)}.swatches:hover .sw-3{transform:rotate(11deg) translateY(-6px)}.swatches:hover .sw-2{transform:rotate(0) translateY(-10px)}
@media(prefers-reduced-motion:reduce){.silk,.silk-edge,.wm,.stitch,.needle,.wm-sub,.eyebrow,h1 .w,.lede,.cta-row,.hero-note,.sw{animation:none!important}.silk-edge{display:none}.wm,.stitch{clip-path:none}.needle{display:none}}
