/* Deshi Angina main styles. Tokens come from the saved design system. */
@font-face{font-family:'Bricolage Grotesque';src:url('../fonts/bricolage-grotesque.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:'DM Sans';src:url('../fonts/dm-sans.woff2') format('woff2');font-weight:100 1000;font-display:swap}
:root{--bg:#F1ECDF;--surface:#FBF8F1;--ink:#17261D;--accent:#B5301F;--leaf:#1F4D37;--turmeric:#E0A21B;--indigo:#232C5C;--line:rgba(23,38,29,.16);--soft:rgba(23,38,29,.72);--r:4px;--wrap:1280px;--gutter:clamp(20px,4vw,56px);--section:clamp(72px,11vw,140px);--head:'Bricolage Grotesque',system-ui,sans-serif;--body:'DM Sans',system-ui,sans-serif;--pattern:url('data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2736%27 height=%2718%27><path d=%27M0 18L9 0l9 18zM18 18l9-18 9 18z%27 fill=%27%231F4D37%27/><path d=%27M9 18l4.5-9L18 18zM27 18l4.5-9L36 18z%27 fill=%27%23E0A21B%27/></svg>')}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
:where(h1,h2,h3,h4,p,ul,ol,figure,dl){margin:0}
:where(ul,ol){padding:0;list-style:none}
a{color:inherit}
img,svg,canvas,video{max-width:100%;display:block}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--bg);padding:10px 14px;z-index:200}.skip:focus{left:8px;top:8px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wrap{width:min(100% - 2*var(--gutter),var(--wrap));margin-inline:auto}
:where(h1,h2,h3,.display){font-family:var(--head);font-weight:700;line-height:1.06;letter-spacing:-.02em}
.display{font-size:clamp(36px,5.6vw,80px)}
.btn,.button,.wp-element-button,button.single_add_to_cart_button,.woocommerce-Button,input[type=submit]{display:inline-block;font:600 16px/1 var(--body);background:var(--accent);color:var(--surface);border:1.5px solid var(--accent);border-radius:var(--r);padding:17px 28px;text-decoration:none;cursor:pointer;transition:transform .2s,filter .2s}
.btn:hover,.button:hover,.wp-element-button:hover,button.single_add_to_cart_button:hover,input[type=submit]:hover{background:var(--accent);border-color:var(--accent);color:var(--surface);filter:brightness(.84)}
.btn:active,.button:active,button.single_add_to_cart_button:active{transform:translateY(2px)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--ink)}.btn--ghost:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.link{font-weight:600;text-decoration:none;border-bottom:1.5px solid var(--accent);padding-bottom:2px}.link:hover{color:var(--accent)}
input,select,textarea{font:inherit;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink)}
.pattern{height:18px;background:var(--pattern) repeat-x;background-size:36px 18px}
/* brand */
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--leaf);font:700 22px/1 var(--head);letter-spacing:-.02em;text-decoration:none}.brand b{font-weight:800;color:var(--ink)}
/* header */
.site-header{position:sticky;top:0;z-index:60;background:rgba(241,236,223,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-header__in{display:flex;align-items:center;gap:32px;min-height:72px}
.nav{margin-left:auto}.nav ul{display:flex;gap:28px}.nav a{text-decoration:none;font-weight:500;font-size:15px;padding:6px 0;border-bottom:1.5px solid transparent}.nav a:hover,.nav .current-menu-item a{border-color:var(--accent)}
.cart-link{text-decoration:none;font-weight:600;font-size:15px;display:inline-flex;gap:8px;align-items:center}
.cart-link__n{background:var(--ink);color:var(--bg);border-radius:var(--r);min-width:24px;height:24px;display:inline-grid;place-items:center;font-size:13px;padding:0 6px}
.nav-toggle{display:none;margin-left:auto;background:none;border:1.5px solid var(--ink);color:var(--ink);padding:9px 14px;font:600 14px var(--body);border-radius:var(--r)}
@media(max-width:900px){.nav-toggle{display:block}.cart-link{order:3}.nav{position:absolute;left:0;right:0;top:100%;margin:0;background:var(--bg);border-bottom:1px solid var(--line);display:none;padding:16px var(--gutter) 24px}.site-header.is-open .nav{display:block}.nav ul{flex-direction:column;gap:6px}.nav a{display:block;padding:12px 0;font-size:18px}}
/* preloader and motion initial states */
.preloader{position:fixed;inset:0;z-index:300;background:var(--leaf);color:var(--bg);display:none;place-items:center}.js .preloader{display:grid}
.preloader .brand{color:var(--bg);font-size:44px;gap:16px}.preloader .brand b{color:var(--bg)}.preloader .brand__mark{width:64px;height:64px}
.js .reveal{opacity:0;transform:translateY(28px)}
.js .split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.js .split .w>i{display:inline-block;font-style:normal;transform:translateY(110%)}
@media(prefers-reduced-motion:reduce){.js .reveal,.js .split .w>i{opacity:1!important;transform:none!important}.preloader{display:none!important}}
/* hero */
.hero{min-height:calc(100svh - 73px);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:var(--gutter);padding-block:32px}
.hero h1{font-size:clamp(44px,6.6vw,96px);line-height:1}.hero h1 .split{display:block}
.hero__sub{max-width:36ch;font-size:clamp(17px,1.5vw,20px);color:var(--soft);margin-top:24px}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.hero__stage{position:relative;width:100%;aspect-ratio:1/1.05;max-height:74svh;justify-self:center}
.hero__stage::before{content:'';position:absolute;left:50%;top:48%;width:80%;aspect-ratio:1;border-radius:50%;background:var(--turmeric);transform:translate(-50%,-50%)}
.hero__stage canvas{position:absolute;inset:0;width:100%;height:100%}
@media(max-width:800px){.hero{grid-template-columns:1fr;min-height:0;padding-block:28px 40px}.hero__stage{order:-1;max-height:46svh;aspect-ratio:1/.9}}
/* category rail */
.rail{background:var(--ink);color:var(--bg);min-height:100svh;display:flex;flex-direction:column;justify-content:center;gap:40px;padding-block:72px;overflow:hidden}
.rail__head{display:flex;justify-content:space-between;align-items:end;gap:24px}.rail .link{color:var(--bg);border-color:var(--turmeric)}
.rail__viewport{overflow:hidden}
.rail__track{display:flex;gap:20px;width:max-content;padding-inline:max(var(--gutter),calc((100vw - var(--wrap))/2))}
.rail__item{position:relative;flex:0 0 clamp(270px,28vw,400px);height:min(58svh,500px);display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:28px;border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--bg);background:var(--leaf);transition:transform .35s}
.rail__item:nth-child(3n+2){background:var(--indigo)}.rail__item:nth-child(3n){background:var(--turmeric);color:var(--ink)}
.rail__item::before{content:'';position:absolute;left:0;right:0;top:0;height:18px;background:var(--pattern) repeat-x;background-size:36px 18px}
.rail__item::after{content:'';position:absolute;right:-18%;top:12%;width:70%;aspect-ratio:1;border-radius:50%;background:rgba(241,236,223,.16)}.rail__item:nth-child(3n)::after{background:rgba(23,38,29,.12)}
.rail__item:hover{transform:translateY(-8px)}
.rail__name{font:700 clamp(26px,2.6vw,38px)/1.05 var(--head);letter-spacing:-.02em;position:relative;z-index:1}
.rail__desc,.rail__meta{position:relative;z-index:1;font-size:15px}.rail__desc{max-width:28ch}.rail__meta{font-weight:600;margin-top:6px}
@media(max-width:800px){.rail{min-height:0}.rail__viewport{overflow-x:auto;scroll-snap-type:x mandatory}.rail__track{padding-inline:var(--gutter)}.rail__item{scroll-snap-align:start}}
/* scroll story */
.story__stage{position:relative;height:100svh;overflow:hidden;background:var(--leaf);color:var(--bg)}
.story__panel{position:absolute;inset:0;display:grid;align-content:center;background:var(--pc);color:var(--pt)}
.story__in{display:grid;grid-template-columns:1.3fr .7fr;gap:var(--gutter);align-items:end}
.story__in h2{font-size:clamp(44px,7.5vw,112px);line-height:1}.story__in p{font-size:clamp(18px,1.6vw,22px);max-width:34ch;line-height:1.5}
.story:not(.is-pinned) .story__stage{height:auto;overflow:visible}.story:not(.is-pinned) .story__panel{position:relative;padding-block:var(--section)}
.story.is-pinned .story__panel{background:transparent}
@media(max-width:800px){.story__in{grid-template-columns:1fr}}
/* shelf and tiles */
.shelf,.closing{padding-block:var(--section)}
.shelf__head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:48px}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:48px 24px}.tiles .tile:nth-child(even){margin-top:56px}
.tile a{display:block;text-decoration:none}
.tile__img{aspect-ratio:4/5;overflow:hidden;border-radius:var(--r);background:var(--surface)}.tile__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.tile a:hover img{transform:scale(1.05)}
.tile__body{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.tile__name{font-weight:600}.tile__price{white-space:nowrap}
.empty{padding:40px;background:var(--surface);border-radius:var(--r);max-width:56ch}
@media(max-width:1000px){.tiles{grid-template-columns:repeat(2,1fr)}.tiles .tile:nth-child(even){margin-top:0}}
/* about and closing */
.about{background:var(--surface);padding-bottom:var(--section)}.about .pattern{margin-bottom:var(--section)}
.about__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:calc(var(--gutter)*1.5);align-items:start}.about__grid h2{font-size:clamp(34px,4.6vw,68px)}.about__side p{font-size:19px}
.facts{margin-top:28px}.facts li{padding:16px 0;border-top:1px solid var(--line)}.facts li:last-child{border-bottom:1px solid var(--line)}
@media(max-width:800px){.about__grid{grid-template-columns:1fr}}
.closing{display:grid;gap:32px;justify-items:start}.closing h2{font-size:clamp(44px,8vw,120px);max-width:14ch;line-height:1}
/* footer */
.site-footer{background:var(--ink);color:var(--bg)}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--gutter);padding-block:64px}
.footer__brand .brand,.footer__brand .brand b{color:var(--bg)}.footer__brand p{margin-top:16px;max-width:36ch;opacity:.85}
.footer__grid h3{font-size:18px;margin-bottom:14px}.footer__grid li{margin-bottom:8px;opacity:.9}.footer__grid a{text-decoration:none}.footer__grid a:hover{color:var(--turmeric)}
.footer__base{padding-block:20px;border-top:1px solid rgba(241,236,223,.2);font-size:14px;opacity:.8}
@media(max-width:800px){.footer__grid{grid-template-columns:1fr;padding-block:48px}}
/* generic pages and WooCommerce */
.page{padding-block:clamp(32px,5vw,64px) var(--section)}
.page>h1,.woocommerce-products-header__title{font-size:clamp(36px,5vw,64px);margin-bottom:32px}
.prose{max-width:70ch}.prose>*+*{margin-top:1.1em}
.woocommerce-breadcrumb{font-size:14px;color:var(--soft);margin:0 0 24px}
ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:48px 24px;margin-top:32px}
ul.products li.product a{text-decoration:none}
ul.products li.product img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r);background:var(--surface)}
.woocommerce-loop-product__title{font:600 17px/1.3 var(--body);margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.price{font-weight:600;display:block;margin-top:4px}.price del{opacity:.5;margin-right:6px}.price ins{text-decoration:none}
ul.products li.product .button{margin-top:14px;padding:12px 18px;font-size:14px}
.woocommerce-ordering{margin-bottom:16px}.woocommerce-result-count{color:var(--soft);font-size:14px}
div.product{display:grid;grid-template-columns:1fr 1fr;gap:var(--gutter);align-items:start}
div.product .product_title{font-size:clamp(32px,4vw,56px)}div.product .summary .price{font-size:24px;margin:12px 0 20px}
div.product form.cart{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}.quantity input{width:76px}
.woocommerce-product-gallery img{width:100%;border-radius:var(--r)}
.woocommerce-tabs,.related.products,.upsells.products{grid-column:1/-1}.woocommerce-tabs ul.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:24px}.woocommerce-tabs ul.tabs a{text-decoration:none;font-weight:600;display:block;padding:10px 0}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-left:3px solid var(--accent);background:var(--surface);padding:16px 20px;margin-block:20px;list-style:none}
@media(max-width:1000px){ul.products{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){div.product{grid-template-columns:1fr}}

/* Phase one: wordmark, accessible shell and production hero. */
.brand__mark{width:34px;height:34px;flex:0 0 auto;color:var(--leaf)}
.brand__mark svg{width:100%;height:100%}
.brand__type{white-space:nowrap}
.preloader{transition:opacity .35s ease,visibility .35s ease}
.js.is-ready .preloader{opacity:0;visibility:hidden;pointer-events:none}
.preloader .brand__mark{color:var(--bg)}
.site-header__in>.brand{flex:0 0 auto}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.admin-bar .site-header{top:32px}

.hero{isolation:isolate}
.hero__copy{position:relative;z-index:2}
.hero__title{font-size:clamp(44px,6.6vw,96px);line-height:1;max-width:none}
.hero__line{display:block;overflow:hidden;padding:0 .04em .09em 0;margin-bottom:-.09em;white-space:nowrap}
.hero__line>span{display:block;will-change:transform}
.hero__sub{max-width:42ch}
.hero__stage{display:grid;place-items:center;isolation:isolate;perspective:1000px}
.js:not(.hero-ready) .hero__line>span{transform:translateY(115%)}
.js:not(.hero-ready) [data-hero-copy],.js:not(.hero-ready) [data-hero-cta]{opacity:0;transform:translateY(24px)}
.js:not(.hero-ready) .hero__stage{opacity:0;transform:scale(.9) rotate(2deg)}
.hero__stage::before{box-shadow:inset 0 0 0 1px rgba(23,38,29,.08)}
.hero__stage::after{content:'';position:absolute;z-index:-1;inset:13% 4% 7% 12%;background:repeating-linear-gradient(115deg,transparent 0 19px,rgba(23,38,29,.055) 19px 20px);transform:rotate(-5deg)}
.hero__stage canvas{z-index:2;filter:drop-shadow(0 28px 24px rgba(23,38,29,.18))}
.pot-fallback{position:relative;z-index:1;width:47%;height:57%;transform:translateY(5%)}
.pot-fallback__body{position:absolute;left:0;right:0;bottom:0;height:82%;background:var(--accent);border-radius:42% 42% 33% 33% / 22% 22% 18% 18%;box-shadow:inset -22px -18px 0 rgba(23,38,29,.13)}
.pot-fallback__rim{position:absolute;z-index:2;left:27%;top:5%;width:46%;height:11%;border:8px solid var(--ink);border-radius:50%;background:var(--accent)}
.pot-fallback__band{position:absolute;z-index:3;left:5%;right:5%;top:47%;height:13%;border-top:8px solid var(--turmeric);border-bottom:8px solid var(--leaf)}
.hero__stage.is-webgl .pot-fallback{opacity:0}

.footer__grid h2{font:700 18px/1.2 var(--head);margin-bottom:14px}
.post-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 24px}
.post-summary{border-top:1px solid var(--line);padding-top:20px}
.post-summary h2{font-size:clamp(26px,3vw,40px)}
.post-summary a{text-decoration:none}
.post-summary__excerpt{margin-top:14px;max-width:60ch}
.page article>h1,.page__header h1{font-size:clamp(36px,5vw,64px);margin-bottom:32px}
.single__image{margin-block:32px}

@media(max-width:800px){
  body.admin-bar .site-header{top:46px}
  .site-header__in{min-height:64px;gap:14px}
  .site-header__in>.brand .brand__type{font-size:19px}
  .site-header__in>.brand .brand__mark{width:29px;height:29px}
  .cart-link>span:first-child{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .hero{grid-template-columns:1fr;grid-template-rows:auto minmax(210px,32svh);min-height:calc(100svh - 65px);gap:10px;padding-block:28px 24px}
  .hero__title{font-size:clamp(42px,13vw,68px);max-width:none}
  .hero__sub{font-size:16px;line-height:1.55;margin-top:18px;max-width:38ch}
  .hero__cta{margin-top:22px}
  .hero__stage{order:initial;max-height:none;aspect-ratio:auto;height:100%}
  .hero__stage::before{width:min(68%,260px)}
  .hero__stage::after{inset:5% 10% 0 15%}
  .post-list{grid-template-columns:1fr}
}

@media(max-width:782px){body.admin-bar .site-header{top:46px}}
@media(max-width:480px){
  .nav-toggle{padding:8px 10px}
  .hero{grid-template-rows:auto minmax(180px,27svh)}
  .hero__title{font-size:clamp(40px,12.5vw,58px)}
  .hero__stage::before{width:min(62%,220px)}
  .btn{padding:15px 22px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js [data-hero-title] .hero__line>span,.js [data-hero-copy],.js [data-hero-cta],.js .hero__stage{opacity:1!important;transform:none!important}
}
