/* Srivari Studio storefront. Layout: a village-vintage saree house. Paper ground, a kolam doorstep band between sections, a mantapam with banana trees at the door, and small letterpress type. */
:root{
  --paper:#F4EAD5; --paper-deep:#E9DABC; --card:#FBF5E8;
  --maroon:#5A1220; --kumkum:#8E1B1B; --turmeric:#C98A16; --leaf:#3F6B2A; --mud:#7A4E2D; --ink:#2E1A12; --line:rgba(122,78,45,.28);
  --head:'IM Fell English SC','IM Fell English',Georgia,serif;
  --ital:'IM Fell English',Georgia,serif;
  --body:'EB Garamond',Georgia,'Times New Roman',serif;
  --kolam:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2292%22%20height%3D%2246%22%20viewBox%3D%220%200%2092%2046%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23FBF5E6%22%20stroke-opacity%3D%220.95%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M0%2023%20C10%205%2022%205%2023%2023%20C24%2041%2036%2041%2046%2023%20C56%205%2068%205%2069%2023%20C70%2041%2082%2041%2092%2023%22/%3E%3Cpath%20d%3D%22M0%2023%20C10%2041%2022%2041%2023%2023%20C24%205%2036%205%2046%2023%20C56%2041%2068%2041%2069%2023%20C70%205%2082%205%2092%2023%22/%3E%3C/g%3E%3Cg%20fill%3D%22%23FBF5E6%22%20fill-opacity%3D%220.95%22%3E%3Ccircle%20cx%3D%2211.5%22%20cy%3D%2223%22%20r%3D%222.2%22/%3E%3Ccircle%20cx%3D%2234.5%22%20cy%3D%2223%22%20r%3D%222.2%22/%3E%3Ccircle%20cx%3D%2257.5%22%20cy%3D%2223%22%20r%3D%222.2%22/%3E%3Ccircle%20cx%3D%2280.5%22%20cy%3D%2223%22%20r%3D%222.2%22/%3E%3Ccircle%20cx%3D%2223%22%20cy%3D%228%22%20r%3D%221.6%22/%3E%3Ccircle%20cx%3D%2269%22%20cy%3D%228%22%20r%3D%221.6%22/%3E%3Ccircle%20cx%3D%2223%22%20cy%3D%2238%22%20r%3D%221.6%22/%3E%3Ccircle%20cx%3D%2269%22%20cy%3D%2238%22%20r%3D%221.6%22/%3E%3C/g%3E%3C/svg%3E");
  --kolam-faint:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22260%22%20height%3D%22260%22%20viewBox%3D%220%200%20260%20260%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%237A4E2D%22%20stroke-opacity%3D%220.12%22%20stroke-width%3D%221.6%22%3E%3Cpath%20d%3D%22M90.0%20130.0%20L100.0%20120.0%20L110.0%20130.0%20L120.0%20140.0%20L110.0%20150.0%20L100.0%20160.0%20L90.0%20150.0%20L80.0%20140.0%20L90.0%20130.0%20Z%22/%3E%3Cpath%20d%3D%22M50.0%2050.0%20A14.1%2014.1%200%200%201%2070.0%2050.0%20L80.0%2060.0%20L70.0%2070.0%20L60.0%2080.0%20L50.0%2070.0%20A14.1%2014.1%200%200%201%2050.0%2050.0%20Z%22/%3E%3Cpath%20d%3D%22M90.0%2090.0%20L100.0%2080.0%20L110.0%2090.0%20L120.0%20100.0%20L110.0%20110.0%20L100.0%20120.0%20L90.0%20110.0%20L80.0%20100.0%20L90.0%2090.0%20Z%22/%3E%3Cpath%20d%3D%22M50.0%20130.0%20L60.0%20120.0%20L70.0%20130.0%20L80.0%20140.0%20L70.0%20150.0%20A14.1%2014.1%200%200%201%2050.0%20150.0%20A14.1%2014.1%200%200%201%2050.0%20130.0%20Z%22/%3E%3Cpath%20d%3D%22M130.0%20130.0%20L140.0%20120.0%20L150.0%20130.0%20A14.1%2014.1%200%200%201%20150.0%20150.0%20A14.1%2014.1%200%200%201%20130.0%20150.0%20L120.0%20140.0%20L130.0%20130.0%20Z%22/%3E%3Cpath%20d%3D%22M170.0%2090.0%20A14.1%2014.1%200%200%201%20190.0%2090.0%20A14.1%2014.1%200%200%201%20190.0%20110.0%20A14.1%2014.1%200%200%201%20170.0%20110.0%20L160.0%20100.0%20L170.0%2090.0%20Z%22/%3E%3Cpath%20d%3D%22M130.0%2050.0%20A14.1%2014.1%200%200%201%20150.0%2050.0%20A14.1%2014.1%200%200%201%20150.0%2070.0%20L140.0%2080.0%20L130.0%2070.0%20L120.0%2060.0%20L130.0%2050.0%20Z%22/%3E%3Cpath%20d%3D%22M90.0%2050.0%20L100.0%2040.0%20L110.0%2050.0%20L120.0%2060.0%20L110.0%2070.0%20L100.0%2080.0%20L90.0%2070.0%20L80.0%2060.0%20L90.0%2050.0%20Z%22/%3E%3Cpath%20d%3D%22M10.0%2090.0%20A14.1%2014.1%200%200%201%2030.0%2090.0%20L40.0%20100.0%20L30.0%20110.0%20A14.1%2014.1%200%200%201%2010.0%20110.0%20A14.1%2014.1%200%200%201%2010.0%2090.0%20Z%22/%3E%3Cpath%20d%3D%22M50.0%2090.0%20L60.0%2080.0%20L70.0%2090.0%20L80.0%20100.0%20L70.0%20110.0%20L60.0%20120.0%20L50.0%20110.0%20L40.0%20100.0%20L50.0%2090.0%20Z%22/%3E%3Cpath%20d%3D%22M90.0%20170.0%20L100.0%20160.0%20L110.0%20170.0%20A14.1%2014.1%200%200%201%20110.0%20190.0%20A14.1%2014.1%200%200%201%2090.0%20190.0%20A14.1%2014.1%200%200%201%2090.0%20170.0%20Z%22/%3E%3Cpath%20d%3D%22M130.0%2090.0%20L140.0%2080.0%20L150.0%2090.0%20L160.0%20100.0%20L150.0%20110.0%20L140.0%20120.0%20L130.0%20110.0%20L120.0%20100.0%20L130.0%2090.0%20Z%22/%3E%3Cpath%20d%3D%22M90.0%2010.0%20A14.1%2014.1%200%200%201%20110.0%2010.0%20A14.1%2014.1%200%200%201%20110.0%2030.0%20L100.0%2040.0%20L90.0%2030.0%20A14.1%2014.1%200%200%201%2090.0%2010.0%20Z%22/%3E%3C/g%3E%3Cg%20fill%3D%22%237A4E2D%22%20fill-opacity%3D%220.12%22%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%22140%22%20r%3D%222.4%22/%3E%3Ccircle%20cx%3D%2260%22%20cy%3D%2260%22%20r%3D%222.4%22/%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%22100%22%20r%3D%222.4%22/%3E%3Ccircle%20cx%3D%2260%22%20cy%3D%22140%22%20r%3D%222.4%22/%3E%3Ccircle%20cx%3D%22140%22%20cy%3D%22140%22%20r%3D%222.4%22/%3E%3Ccircle%20cx%3D%22180%22%20cy%3D%22100%22%20r%3D%222.4%22/%3E%3Ccircle%20cx%3D%22140%22%20cy%3D%2260%22%20r%3D%222.4%22/%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%2260%22%20r%3D%222.4%22/%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%22100%22%20r%3D%222.4%22/%3E%3Ccircle%20cx%3D%2260%22%20cy%3D%22100%22%20r%3D%222.4%22/%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%22180%22%20r%3D%222.4%22/%3E%3Ccircle%20cx%3D%22140%22%20cy%3D%22100%22%20r%3D%222.4%22/%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%2220%22%20r%3D%222.4%22/%3E%3C/g%3E%3C/svg%3E");
  --grain:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22180%22%20height%3D%22180%22%3E%3Cfilter%20id%3D%22n%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%22.9%22%20numOctaves%3D%222%22%20stitchTiles%3D%22stitch%22/%3E%3CfeColorMatrix%20values%3D%220%200%200%200%20.45%20%200%200%200%200%20.3%20%200%200%200%200%20.18%20%200%200%200%20.07%200%22/%3E%3C/filter%3E%3Crect%20width%3D%22180%22%20height%3D%22180%22%20filter%3D%22url%28%23n%29%22/%3E%3C/svg%3E");
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{font-size:15px;scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 110px)}
body{margin:0;background-color:var(--paper);background-image:var(--grain);color:var(--ink);font-family:var(--body);font-size:1.08rem;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--head);font-weight:400;line-height:1.15;margin:0;text-wrap:balance;color:var(--maroon)}
p{margin:0}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:1.5px solid var(--turmeric);outline-offset:3px}
.wrap{width:min(1140px,100%);margin-inline:auto;padding-inline:clamp(16px,4vw,36px)}
.eyebrow{font-family:var(--head);font-size:.82rem;letter-spacing:.18em;color:var(--mud)}
.ital{font-family:var(--ital);font-style:italic}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.55rem 1.3rem;border:1px solid var(--maroon);background:transparent;color:var(--maroon);text-decoration:none;font-family:var(--head);font-size:.92rem;letter-spacing:.08em}
.btn.solid{background:var(--maroon);color:var(--paper)}
.btn.gold{background:var(--turmeric);border-color:var(--turmeric);color:var(--ink)}
.btn:hover{filter:brightness(1.08)}
.btn svg{width:17px;height:17px}
/* strips */
.announce{background:var(--maroon);color:#F3DFA2;text-align:center;font-family:var(--ital);font-style:italic;font-size:.95rem;padding:.45rem 16px}
.thoranam{display:block;width:100%;height:clamp(48px,6vw,64px);background:var(--paper-deep)}
.thoranam .sw{transform-box:fill-box;transform-origin:50% 0%}
@media (prefers-reduced-motion:no-preference){.thoranam .sw{animation:sway 3.6s ease-in-out infinite alternate;animation-delay:var(--d)}@keyframes sway{from{transform:rotate(-5deg)}to{transform:rotate(5deg)}}}
.kolam-band{height:46px;background-color:var(--maroon);background-image:var(--kolam);background-repeat:repeat-x;background-position:center;background-size:auto 46px;border-block:3px double #C9A45E}
/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--paper);background-image:var(--grain);box-shadow:0 6px 16px -10px rgba(46,26,18,.35);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.55rem}
.mark{display:flex;align-items:center;gap:.55rem;text-decoration:none;flex:none}
.mark svg{width:26px;height:30px;color:var(--maroon)}
.mark span{font-family:var(--head);font-size:1.45rem;letter-spacing:.16em;color:var(--maroon)}
.nav{display:flex;gap:1.3rem;overflow-x:auto;scrollbar-width:none;min-width:0}
.nav::-webkit-scrollbar{display:none}
.nav a{font-family:var(--head);font-size:.95rem;text-decoration:none;white-space:nowrap;padding:.6rem 0;color:var(--mud)}
.nav a:hover{color:var(--maroon)}
/* hero */
.hero{background-image:var(--kolam-faint);padding-block:clamp(1.5rem,4vw,3rem) 0}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(1rem,4vw,3rem);align-items:end}
@media (max-width:820px){.hero .wrap{grid-template-columns:minmax(0,1fr);text-align:center}.hero .art{order:-1}}
.hero .copy{padding-bottom:clamp(2rem,6vw,5rem)}
.hero h1{font-size:clamp(2.1rem,6vw,3.6rem);margin:.6rem 0 .8rem}
.hero p{max-width:30rem;color:var(--mud)}
@media (max-width:820px){.hero p{margin-inline:auto}}
.hero .ctas{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.4rem}
@media (max-width:820px){.hero .ctas{justify-content:center}}
.hero .art img{width:min(100%,520px);margin-inline:auto}
/* sections */
.sec{padding-block:clamp(3rem,7vw,5rem)}
.sec.deep{background-color:var(--paper-deep)}
.sec .head{text-align:center;margin-bottom:clamp(1.8rem,4vw,2.6rem)}
.sec .head h2{font-size:clamp(1.7rem,4vw,2.4rem);margin-top:.35rem}
.sec .head p{margin:.5rem auto 0;max-width:34rem;color:var(--mud);font-family:var(--ital);font-style:italic}
.orn{display:flex;align-items:center;justify-content:center;gap:8px;margin:.6rem auto 0;color:var(--turmeric)}
.orn::before,.orn::after{content:"";height:1px;width:60px;background:currentColor}
.orn i{width:7px;height:7px;transform:rotate(45deg);background:currentColor}
/* occasions */
.occ{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
@media (max-width:760px){.occ{grid-template-columns:repeat(2,minmax(0,1fr))}}
.occ a{display:flex;flex-direction:column;align-items:center;gap:.4rem;text-decoration:none;background:var(--card);border:1px solid var(--line);outline:1px solid var(--line);outline-offset:-6px;padding:1.4rem .8rem 1.2rem;text-align:center;transition:transform .2s}
.occ a:hover{transform:translateY(-3px)}
.occ svg{width:52px;height:52px;color:var(--kumkum)}
.occ b{font-family:var(--head);font-weight:400;font-size:1.15rem;color:var(--maroon)}
.occ span{font-family:var(--ital);font-style:italic;font-size:.95rem;color:var(--mud)}
/* products */
.card{position:relative;background:var(--card);border:1px solid var(--line);padding:8px 8px 12px;text-align:center;transition:box-shadow .25s,transform .25s}
.card:hover{box-shadow:0 14px 30px rgba(90,18,32,.14);transform:translateY(-2px)}
.card .open{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:.35rem;width:100%;box-sizing:border-box}
.card .open:focus-visible{outline:1.5px solid var(--turmeric);outline-offset:3px}
.card .ph{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;background:var(--paper-deep);outline:1px solid var(--line);outline-offset:-5px;margin-bottom:.25rem}
.card img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.card:hover img{transform:scale(1.04)}
.badge{position:absolute;top:10px;left:10px;background:var(--maroon);color:#F3DFA2;font-family:var(--head);font-size:.72rem;letter-spacing:.12em;padding:.15rem .55rem;border:1px solid #C9A45E}
.heart{position:absolute;top:12px;right:12px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(251,245,232,.92);display:grid;place-items:center;color:var(--kumkum);box-shadow:0 3px 10px rgba(0,0,0,.15)}
.heart svg,.wishbtn svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7}
.heart[aria-pressed="true"] svg{fill:currentColor}
@media (prefers-reduced-motion:no-preference){.heart[aria-pressed="true"] svg{animation:pop .3s ease-out}@keyframes pop{50%{transform:scale(1.3)}}}
.card .no{font-family:var(--head);font-size:.78rem;letter-spacing:.12em;color:var(--mud)}
.card .nm{font-family:var(--ital);font-style:italic;font-size:1rem;line-height:1.3;color:var(--ink)}
.card .price{font-size:.92rem;color:var(--kumkum)}
.card .sold{font-size:.85rem;color:var(--kumkum);font-family:var(--head)}
/* shop tools */
.tools{display:flex;flex-direction:column;gap:.8rem;margin-bottom:1.6rem}
.tools .row{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center}
.search{flex:1 1 240px;position:relative}
.search input,.sortl select,.join input{font:inherit;font-size:1rem;width:100%;min-height:46px;padding:.5rem .9rem;border:1px solid var(--mud);background:var(--card);color:var(--ink);border-radius:0}
.search input{padding-left:2.4rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237A4E2D' stroke-width='1.8'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M16 16l4.5 4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:.75rem center;background-size:18px}
.sortl{display:flex;align-items:center;gap:.5rem;font-family:var(--head);color:var(--mud);font-size:.92rem;flex:0 1 auto}
.sortl select{width:auto;min-width:12rem}
.chips{display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;align-items:center}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;display:inline-flex;align-items:center;gap:.45rem;min-height:40px;padding:.3rem .9rem;border:1px solid var(--line);background:var(--card);border-radius:99px;font-size:.95rem;color:var(--ink);white-space:nowrap}
.chip i{width:14px;height:14px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.chip[aria-pressed="true"]{background:var(--maroon);border-color:var(--maroon);color:#F6EAD0}
.count{margin-left:auto;flex:none;font-family:var(--ital);font-style:italic;color:var(--mud);padding-left:.6rem}
.pnote{font-size:.92rem;color:var(--mud);font-family:var(--ital);font-style:italic}
.none{grid-column:1/-1;text-align:center;color:var(--mud);padding:2rem 0}
.lnk{background:none;border:0;padding:.3rem 0;color:var(--kumkum);text-decoration:underline;text-underline-offset:3px;font:inherit;min-height:32px}
.recent{margin-top:2.2rem}
.rrow{display:flex;gap:.6rem;overflow-x:auto;margin-top:.5rem;padding-bottom:4px}
.rrow button{flex:none;width:64px;height:84px;padding:0;border:1px solid var(--line);background:var(--paper-deep)}
.rrow img{width:100%;height:100%;object-fit:cover}
/* try-on */
.tryon{display:flex;flex-direction:column;gap:1.8rem;max-width:56rem;margin-inline:auto}
.steps2{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1rem,4vw,2.4rem)}
@media (max-width:700px){.steps2{grid-template-columns:minmax(0,1fr)}.drop{max-width:260px;margin-inline:auto}}
.step h3{font-size:1.3rem;margin:.2rem 0 .7rem}
.drop{display:grid;place-items:center;aspect-ratio:3/4;max-height:340px;width:100%;border:1.5px dashed var(--mud);background:var(--card);background-image:var(--kolam-faint);cursor:pointer;overflow:hidden;text-align:center;padding:1rem;color:var(--mud);font-family:var(--ital);font-style:italic}
.drop:has(img){padding:0;border-style:solid}
.drop img{width:100%;height:100%;object-fit:cover}
.drop span::before{content:"+";display:block;font-family:var(--head);font-style:normal;font-size:2.4rem;color:var(--kumkum);line-height:1;margin-bottom:.3rem}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:.5rem}
.thumbs button{padding:3px;border:1px solid var(--line);background:var(--card);aspect-ratio:3/4}
.thumbs img{width:100%;height:100%;object-fit:cover}
.thumbs button[aria-pressed="true"]{border:2px solid var(--kumkum);padding:2px}
.look{background:var(--card);border:3px double var(--mud);text-align:center;padding-bottom:1.4rem}
.look .kb{height:30px;border:0;border-bottom:3px double #C9A45E}
.pair{display:flex;align-items:center;justify-content:center;gap:clamp(.5rem,3vw,1.5rem);padding:1.4rem 1rem .6rem}
.pair figure{margin:0;width:min(42%,230px)}
.pair img,.ph0{width:100%;aspect-ratio:3/4;object-fit:cover;outline:1px solid var(--line);outline-offset:-5px;background:var(--paper-deep)}
.ph0{display:grid;place-items:center;color:var(--mud);font-family:var(--ital);font-style:italic}
.pair figcaption{font-family:var(--head);font-size:.82rem;letter-spacing:.12em;color:var(--mud);margin-top:.4rem}
.plus{font-family:var(--head);font-size:2rem;color:var(--turmeric)}
.lk{font-size:1.1rem;color:var(--maroon);margin-bottom:1rem}
.lkbtns{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap;padding-inline:1rem}
.btn:disabled{opacity:.6;cursor:wait}
.fine{font-size:.88rem;color:var(--mud);margin-top:.5rem}
/* sign-up */
.join{display:flex;gap:.6rem;max-width:30rem;margin:0 auto;flex-wrap:wrap}
.join input{flex:1 1 220px;width:auto}
.join .btn{flex:0 0 auto}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0;margin:-1px}
/* header wishlist */
.wishbtn{flex:none;position:relative;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--card);display:grid;place-items:center;color:var(--kumkum)}
.wishbtn span{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;border-radius:99px;background:var(--maroon);color:#F6EAD0;font-size:.72rem;display:grid;place-items:center;padding:0 5px;font-family:system-ui,sans-serif}
.nav{flex:1;justify-content:flex-end}
@media (max-width:700px){.top .wrap{flex-wrap:wrap;row-gap:0}.nav{order:3;flex-basis:100%;justify-content:flex-start;gap:1.1rem}.mark{flex:1}}
.wl{list-style:none;margin:1.2rem 0;padding:0;text-align:left;display:flex;flex-direction:column;gap:.5rem}
.wl li{display:flex;align-items:center;gap:.6rem;border-bottom:1px solid var(--line);padding-bottom:.5rem}
.wl li>button:first-child{flex:1;display:flex;gap:.7rem;align-items:center;background:none;border:0;padding:0;text-align:left;font-family:var(--head);font-size:.85rem;color:var(--mud)}
.wl img{width:48px;height:62px;object-fit:cover}
.wl i{font-family:var(--ital);font-size:1rem;color:var(--ink);letter-spacing:0}
.pbtns{display:flex;gap:.6rem;flex-wrap:wrap}
.pbtns .btn[aria-pressed="true"]{background:var(--paper-deep)}
.fab.wa{background:#1FAF55}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:1.6rem 1.2rem}
@media (max-width:520px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem .8rem}}
/* craft */
.craft{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4rem);align-items:start}
@media (max-width:820px){.craft{grid-template-columns:minmax(0,1fr)}}
.craft .intro h2{font-size:clamp(1.7rem,4vw,2.4rem);margin:.35rem 0 1rem}
.craft .intro p+p{margin-top:.8rem}
.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem;counter-reset:s}
.steps li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:1rem;align-items:center;padding:.8rem 0;border-bottom:1px dashed var(--line);counter-increment:s}
.steps .ic{width:56px;height:56px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--kumkum);background:var(--card)}
.steps .ic svg{width:34px;height:34px}
.steps h3{font-size:1.1rem}
.steps h3::before{content:counter(s) ". ";color:var(--turmeric)}
.steps p{font-size:1rem;color:var(--mud)}
/* stories */
.stories{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:.8rem}
.story{text-align:left;background:var(--card);border:1px solid var(--line);padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.2rem;transition:background .2s}
.story:hover{background:#fff}
.story em{font-style:normal;font-family:var(--head);font-size:.78rem;letter-spacing:.12em;color:var(--turmeric)}
.story b{font-family:var(--head);font-weight:400;font-size:1.12rem;color:var(--maroon)}
.story span{font-family:var(--ital);font-style:italic;font-size:.92rem;color:var(--mud)}
/* weaves */
.weaves{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:.6rem}
.weaves div{border-bottom:1px solid var(--line);padding:.55rem 0;display:flex;justify-content:space-between;gap:.6rem}
.weaves b{font-family:var(--head);font-weight:400;color:var(--maroon)}
.weaves span{font-family:var(--ital);font-style:italic;color:var(--mud);font-size:.92rem;text-align:right}
/* promise + house */
.promise{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;text-align:center}
@media (max-width:760px){.promise{grid-template-columns:repeat(2,minmax(0,1fr))}}
.promise div{padding:1rem .6rem}
.promise svg{width:40px;height:40px;color:var(--turmeric);margin:0 auto .5rem}
.promise b{display:block;font-family:var(--head);font-weight:400;font-size:1.08rem;color:var(--maroon)}
.promise span{font-size:.95rem;color:var(--mud)}
.house{max-width:40rem;margin:2.6rem auto 0;text-align:center;display:flex;flex-direction:column;gap:.8rem}
.house svg{width:64px;height:72px;color:var(--maroon);margin:0 auto}
/* bridal + circle */
.bridal{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:center;background:var(--maroon);color:#F3DFA2;padding:clamp(1.6rem,4vw,2.6rem);border:3px double #C9A45E}
@media (max-width:700px){.bridal{grid-template-columns:minmax(0,1fr);text-align:center}}
.bridal h2{color:#F6EAD0;font-size:clamp(1.5rem,3.6vw,2rem)}
.bridal p{color:#EAD7A8;margin-top:.4rem}
.circle{text-align:center}
.circle h2{font-size:clamp(1.6rem,4vw,2.2rem);margin:.35rem 0 .6rem}
.circle p{max-width:30rem;margin:0 auto 1.3rem;color:var(--mud)}
footer{background:var(--ink);color:#E9D6B0;padding-block:2.4rem 6rem}
footer .cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem}
@media (max-width:700px){footer .cols{grid-template-columns:minmax(0,1fr);text-align:center}}
footer h3{color:#F3DFA2;font-size:1.1rem;margin-bottom:.5rem}
footer a,footer button{color:#E9D6B0;background:none;border:0;padding:.2rem 0;text-decoration:none;font-size:1rem;display:block}
@media (max-width:700px){footer a,footer button{margin-inline:auto}}
footer a:hover,footer button:hover{color:#F3DFA2}
footer small{display:block;text-align:center;margin-top:2rem;opacity:.75;font-size:.9rem}
.fab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:30;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--leaf);color:#fff;box-shadow:0 10px 26px rgba(0,0,0,.3)}
.fab svg{width:26px;height:26px}
/* pop-ups */
.scrim{position:fixed;inset:0;background:rgba(46,26,18,.55);z-index:40;display:grid;place-items:center;padding:16px}
.pop{position:relative;width:min(100%,27rem);max-height:calc(100% - 32px);overflow:auto;background:var(--card);background-image:var(--grain);color:var(--ink);text-align:center;border:3px double var(--mud);box-shadow:0 26px 70px rgba(0,0,0,.4)}
.pop.wide{width:min(100%,44rem);text-align:left}
.pop .inner{padding:2rem clamp(1.1rem,6vw,2.2rem) 2rem}
.pop .x{position:absolute;top:2px;right:2px;width:44px;height:44px;border:0;background:transparent;font-size:1.4rem;line-height:1;z-index:2}
.pop h2{font-size:clamp(1.5rem,5vw,2rem);margin:.4rem 0 .2rem}
.pop .sub{font-family:var(--ital);font-style:italic;color:var(--mud)}
.pop .body{margin:1rem auto 1.3rem;max-width:24rem}
.pop .kb{height:30px;border:0;border-bottom:3px double #C9A45E}
.ppop{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width:640px){.ppop{grid-template-columns:minmax(0,1fr)}}
.ppop .gal{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;background:var(--paper-deep)}
.ppop .gal img{width:100%;flex:none;scroll-snap-align:start;aspect-ratio:3/4;object-fit:cover}
.ppop .info{padding:2rem clamp(1.1rem,5vw,1.8rem);display:flex;flex-direction:column;gap:.6rem}
.ppop h2{font-family:var(--ital);font-style:italic;font-size:1.5rem}
.ppop dl{margin:.3rem 0 .8rem;border-top:1px solid var(--line)}
.ppop dl div{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:.8rem;padding:.4rem 0;border-bottom:1px solid var(--line)}
.ppop dt{color:var(--mud)}
.ppop dd{margin:0}
.toast{position:fixed;left:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:35;width:min(calc(100% - 32px),20rem);background:var(--card);border:1px solid var(--line);box-shadow:0 14px 36px rgba(0,0,0,.25);padding:.9rem 2.6rem .9rem 1rem}
.toast b{display:block;font-family:var(--head);font-weight:400;color:var(--maroon)}
.toast .more{background:none;border:0;padding:.2rem 0;font-family:var(--ital);font-style:italic;color:var(--mud);text-decoration:underline;text-underline-offset:3px}
.toast .x{position:absolute;top:0;right:0;width:44px;height:44px;border:0;background:transparent;font-size:1.3rem}
@media (prefers-reduced-motion:no-preference){.pop,.toast{animation:rise .35s ease-out}@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}
#spark{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:90}
.flash{position:fixed;left:50%;top:calc(16px + env(safe-area-inset-top,0px));transform:translateX(-50%);z-index:70;background:var(--card);color:var(--ink);padding:.7rem 1.1rem;border:1px solid var(--line);max-width:min(92vw,30rem);box-shadow:0 10px 30px rgba(0,0,0,.3)}
/* borders */
.card .ph img.alt{position:absolute;inset:0;opacity:0;transition:opacity .45s}
.card .bl{position:absolute;left:10px;bottom:10px;background:rgba(251,245,232,.94);color:var(--maroon);font-family:var(--head);font-size:.72rem;letter-spacing:.12em;padding:.15rem .55rem;opacity:0;transition:opacity .45s}
@media (hover:hover){.card:hover .ph img.alt,.card:hover .bl{opacity:1}.card:hover .ph img.alt{transform:scale(1.04)}}
.brow{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,1fr);gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
@media (max-width:600px){.brow{grid-auto-columns:72%}}
.bcard{scroll-snap-align:start;display:flex;flex-direction:column;gap:.35rem;background:var(--card);border:1px solid var(--line);padding:8px 8px 12px;text-align:center}
.bimg{display:block;aspect-ratio:1;overflow:hidden;border:3px double #C9A45E}
.bimg img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.bcard:hover .bimg img{transform:scale(1.08)}
.bcard .no{font-family:var(--head);font-size:.78rem;letter-spacing:.12em;color:var(--mud);margin-top:.3rem}
.bcard .nm{font-family:var(--ital);font-style:italic;font-size:.98rem;color:var(--ink);line-height:1.3}
.galw{display:flex;flex-direction:column;background:var(--paper-deep);min-width:0}
.ppop .gal figure{margin:0;flex:none;width:100%;position:relative;scroll-snap-align:start}
.ppop .gal figure img{width:100%;aspect-ratio:3/4;object-fit:cover}
.ppop .gal figcaption{position:absolute;left:10px;top:10px;background:var(--maroon);color:#F3DFA2;font-family:var(--head);font-size:.75rem;letter-spacing:.12em;padding:.2rem .6rem;border:1px solid #C9A45E}
.gthumbs{display:flex;gap:.5rem;padding:.6rem}
.gthumbs button{width:58px;padding:0;border:1px solid var(--line);background:var(--card);display:flex;flex-direction:column;align-items:center;font-size:.72rem;font-family:var(--head);letter-spacing:.06em;color:var(--mud)}
.gthumbs img{width:100%;height:58px;object-fit:cover}
[hidden]:not([hidden=until-found i]){display:none!important}
/* loading */
.loading{grid-column:1/-1;text-align:center;color:var(--mud);font-family:var(--ital);font-style:italic;padding:2rem 0}
/* prices */
.card .price s,.ppop .was{color:var(--mud);opacity:.8;margin-right:.35rem}
.save{display:inline-block;font-family:var(--head);font-size:.72rem;letter-spacing:.1em;color:var(--leaf);margin-left:.35rem}
.pop.cart{width:min(100%,32rem)}
/* add to cart on cards */
.card{display:flex;flex-direction:column}
.card .open{flex:1 0 auto}
.card .addc{margin-top:.55rem;width:100%;min-height:40px;padding:.35rem .6rem;font-size:.85rem}
.card .addc[aria-pressed="true"]{background:var(--paper-deep)}
.card .addc:disabled{opacity:.5;cursor:not-allowed;filter:none}
/* header cart */
.hbtns{display:flex;gap:.5rem;flex:none}
.wishbtn.cartbtn svg{fill:none;stroke:currentColor;stroke-width:1.6}
@media (prefers-reduced-motion:no-preference){.bump{animation:pop .35s ease-out}}
/* cart */
.cartl{list-style:none;margin:1rem 0;padding:0;display:flex;flex-direction:column;gap:.7rem}
.cartl li{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:.8rem;align-items:center;border-bottom:1px solid var(--line);padding-bottom:.7rem}
.cartl img,.cartl .noimg{width:56px;height:74px;object-fit:cover;background:var(--paper-deep);outline:1px solid var(--line);outline-offset:-4px}
.cartl .nm{font-family:var(--ital);font-style:italic;line-height:1.3;display:block}
.cartl .no{font-family:var(--head);font-size:.75rem;letter-spacing:.12em;color:var(--mud)}
.cartl .lp{font-size:.92rem;color:var(--kumkum)}
.cartl .warn{display:block;font-size:.85rem;color:var(--kumkum);font-family:var(--ital);font-style:italic}
.qty{display:flex;align-items:center;border:1px solid var(--line);background:var(--card)}
.qty button{width:36px;height:40px;border:0;background:none;font-size:1.1rem;color:var(--maroon)}
.qty button:disabled{opacity:.35;cursor:not-allowed}
.qty span{min-width:1.6rem;text-align:center;font-family:var(--head)}
.cartr{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}
.cartr .lnk{font-size:.9rem;min-height:28px;padding:0}
.sum{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--head);color:var(--maroon);font-size:1.15rem;border-top:3px double var(--line);padding-top:.7rem}
.sumnote{font-size:.9rem;color:var(--mud);font-family:var(--ital);font-style:italic;margin-top:.3rem}
.checkout{display:flex;flex-direction:column;gap:.7rem;margin-top:1.3rem}
.checkout label{display:flex;flex-direction:column;gap:.25rem;font-family:var(--head);font-size:.88rem;letter-spacing:.06em;color:var(--mud)}
.checkout input{font:inherit;font-family:var(--body);font-size:1rem;min-height:46px;padding:.5rem .9rem;border:1px solid var(--mud);background:#fff;color:var(--ink);border-radius:0;letter-spacing:0}
.checkout .btn{width:100%;margin-top:.3rem}
.checkout .err{color:var(--kumkum);font-size:.95rem}
.checkout .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.done{text-align:center}
.done .code{display:inline-block;font-family:var(--head);font-size:1.5rem;letter-spacing:.14em;color:var(--maroon);border:3px double #C9A45E;padding:.35rem 1rem;margin:.6rem 0 1rem;background:var(--paper)}
.done .btn{width:100%;margin-top:.6rem}
.done .fine{margin-top:.8rem}
.ppop .pbtns .btn.solid{flex:1 1 100%}
/* pop-ups scroll inside, so the close button stays in reach on phones */
.pop{display:flex;flex-direction:column;overflow:hidden}
.pop>.pscroll{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}
.pop .x{top:6px;right:6px;width:40px;height:40px;border-radius:50%;background:rgba(251,245,232,.94);color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.18)}
