/* Shared editorial luxury system */
:root{
--ds-red-black:#120306;
--ds-burgundy:#3a1015;
--ds-wine:#5b171f;
--ds-ruby:#8f2f35;
--ds-cream:#f6e5dd;
--ds-cream-soft:rgba(246,229,221,0.78);
--ds-cream-muted:rgba(246,229,221,0.58);
--ds-champagne:#ead2bd;
--ds-gold:#b58a55;
--ds-gold-soft:rgba(181,138,85,0.42);
--ds-red:#752329;
--ds-red-dark:#4f141a;
--ds-red-deep:#2c1014;
--ds-panel:rgba(58,16,21,0.76);
--ds-panel-strong:rgba(43,10,14,0.92);
--ds-line:rgba(246,229,221,0.14);
--ds-line-strong:rgba(246,229,221,0.26);
--ds-shadow:0 28px 80px rgba(22,5,7,0.28);
--ds-shadow-strong:0 42px 120px rgba(10,2,4,0.48);
--ds-container:min(calc(100% - 32px), 1440px);
--ds-text-container:min(calc(100% - 32px), 980px);
--ds-container-wide:min(calc(100% - 32px), 1600px);
--ds-radius:28px;
--ds-radius-lg:36px;
--ds-radius-xl:54px;
--ds-radius-pill:999px;
--ds-section-y:clamp(4rem, 8vw, 7rem);
--ds-section-y-mobile:3rem;
--ds-transition:all 0.35s ease;
--font-body:'Lora', Georgia, serif;
--font-display:'Cormorant Garamond', Georgia, serif;
--page-white:#fff8f5;
--page-white-soft:#f3e3db;
--page-panel:var(--ds-panel);
--page-panel-strong:var(--ds-panel-strong);
--page-red:var(--ds-red);
--page-red-dark:var(--ds-red-dark);
--page-ink:var(--ds-cream);
--page-ink-soft:var(--ds-cream-soft);
--page-line:var(--ds-line);
--page-line-strong:var(--ds-line-strong);
--page-shadow:var(--ds-shadow);
--page-shadow-strong:0 42px 120px rgba(22,5,7,0.38);
--site-container-raw:1440px;
--site-container-wide-raw:1600px;
--site-container:var(--ds-container);
--site-container-wide:var(--ds-container-wide);
--page-max:var(--site-container);
--page-wide:var(--site-container-wide);
--page-gutter:clamp(1rem, 2.6vw, 2.5rem);
--page-radius:var(--ds-radius);
--site-radius:var(--ds-radius);
--site-radius-lg:var(--ds-radius-lg);
--site-transition:var(--ds-transition);
--page-safe-top:env(safe-area-inset-top, 0px);
--page-safe-right:env(safe-area-inset-right, 0px);
--page-safe-bottom:env(safe-area-inset-bottom, 0px);
--page-safe-left:env(safe-area-inset-left, 0px);
--transition-accent:rgba(143,47,53,0.26);
--transition-secondary:rgba(91,23,31,0.34);
--transition-highlight:rgba(246,229,221,0.12);
--transition-deep:rgba(18,3,6,0.84);
--tr:all 0.35s ease;
}

*,
*::before,
*::after{
box-sizing:border-box;
}

html,
body{
width:100%;
max-width:100%;
margin:0;
overflow-x:hidden;
}

img,
picture,
video,
svg{
max-width:100%;
height:auto;
display:block;
}

button,
input,
select,
textarea{
font:inherit;
}

::selection{
background:rgba(246,229,221,0.18);
color:var(--page-red-dark);
}

html{
width:100%;
max-width:100%;
font-size:16px;
background:var(--ds-red-black);
scroll-behavior:smooth;
-webkit-text-size-adjust:100%;
text-size-adjust:100%;
}

body{
width:100%;
max-width:100%;
min-height:100vh;
background:
radial-gradient(circle at 20% 0%, rgba(246,229,221,0.08) 0%, rgba(246,229,221,0) 32%),
radial-gradient(circle at 80% 10%, rgba(181,138,85,0.08) 0%, rgba(181,138,85,0) 30%),
linear-gradient(180deg, var(--ds-red-deep) 0%, var(--ds-red-dark) 42%, var(--ds-burgundy) 74%, var(--ds-red-black) 100%);
font-family:var(--font-body);
font-size:1rem;
line-height:1.75;
color:var(--page-ink);
text-rendering:optimizeLegibility;
-webkit-font-smoothing:antialiased;
-webkit-text-size-adjust:100%;
text-size-adjust:100%;
position:relative;
isolation:isolate;
opacity:1;
transition:none;
-webkit-tap-highlight-color:transparent;
--page-drag-x:0px;
--page-drag-back-x:0px;
--page-drag-opacity:1;
--page-drag-blur:0px;
--page-drag-saturate:1;
--page-drag-overlay:0;
--page-leave-start-x:0px;
}

body.page-ready,
body.page-leaving,
body.page-enter-next,
body.page-enter-prev{
opacity:1;
transition:none;
}

body[data-nav="home"]{
--transition-accent:rgba(143,47,53,0.28);
--transition-secondary:rgba(117,35,41,0.34);
--transition-highlight:rgba(246,229,221,0.14);
}

body[data-nav="shop"]{
--transition-accent:rgba(117,35,41,0.3);
--transition-secondary:rgba(91,23,31,0.38);
--transition-highlight:rgba(234,210,189,0.12);
}

body[data-nav="about"]{
--transition-accent:rgba(91,23,31,0.28);
--transition-secondary:rgba(117,35,41,0.3);
--transition-highlight:rgba(246,229,221,0.13);
}

body[data-nav="privacy"]{
--transition-accent:rgba(117,35,41,0.24);
--transition-secondary:rgba(82,20,26,0.3);
--transition-highlight:rgba(246,229,221,0.11);
}

body[data-nav="terms"]{
--transition-accent:rgba(181,138,85,0.18);
--transition-secondary:rgba(117,35,41,0.24);
--transition-highlight:rgba(246,229,221,0.14);
}

body[data-nav="cart"]{
--transition-accent:rgba(117,35,41,0.28);
--transition-secondary:rgba(91,23,31,0.34);
--transition-highlight:rgba(234,210,189,0.12);
}

body::before{
content:"";
position:fixed;
inset:0;
background:url("images/wine-red-fabric.jpg") center top/cover no-repeat;
opacity:0.09;
mix-blend-mode:soft-light;
pointer-events:none;
z-index:0;
}

body::after{
content:"";
position:fixed;
inset:0;
background:
linear-gradient(180deg, rgba(117,35,41,0.94) 0%, rgba(58,16,21,0.97) 56%, rgba(18,3,6,0.99) 100%),
radial-gradient(circle at 18% 22%, var(--transition-highlight) 0%, rgba(246,229,221,0) 34%),
radial-gradient(circle at 78% 18%, rgba(181,138,85,0.09) 0%, rgba(181,138,85,0) 28%),
radial-gradient(circle at 52% 56%, var(--transition-accent) 0%, rgba(117,35,41,0) 46%),
radial-gradient(circle at 74% 72%, var(--transition-secondary) 0%, rgba(91,23,31,0) 42%);
opacity:0;
pointer-events:none;
z-index:0;
transform:scale(1.025);
transition:
opacity 0.5s ease,
transform 0.72s cubic-bezier(0.22, 1, 0.36, 1);
}

.page-loader{
position:fixed;
inset:0;
display:grid;
place-items:center;
padding:clamp(1.25rem, 4vw, 2rem);
background:
linear-gradient(180deg, rgba(18,3,6,0.92) 0%, rgba(44,16,20,0.96) 100%),
radial-gradient(circle at 22% 18%, rgba(246,229,221,0.08) 0%, rgba(246,229,221,0) 34%),
radial-gradient(circle at 78% 22%, rgba(181,138,85,0.08) 0%, rgba(181,138,85,0) 28%),
radial-gradient(circle at center, rgba(117,35,41,0.22) 0%, rgba(117,35,41,0) 48%);
backdrop-filter:blur(18px);
-webkit-backdrop-filter:blur(18px);
z-index:2100;
opacity:1;
pointer-events:none;
transition:opacity 0.72s ease, visibility 0.72s ease;
}

.page-loader.is-hidden{
opacity:0;
visibility:hidden;
}

.page-loader__inner{
display:grid;
justify-items:center;
gap:0.9rem;
text-align:center;
transform:translateY(0) scale(1);
transition:transform 0.72s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.72s ease;
}

.page-loader.is-hidden .page-loader__inner{
opacity:0;
transform:translateY(-12px) scale(0.98);
}

.page-loader__mark,
.page-swipe-preview__mark{
width:84px;
height:84px;
display:grid;
place-items:center;
border-radius:28px;
border:1px solid rgba(246,229,221,0.18);
background:rgba(91,23,31,0.42);
box-shadow:0 24px 64px rgba(10,2,4,0.34);
}

.page-loader__mark img,
.page-swipe-preview__mark img{
width:42px;
height:42px;
object-fit:contain;
filter:brightness(0) invert(1);
}

.page-loader__word{
font-family:var(--font-display);
font-size:clamp(1.15rem, 2vw, 1.55rem);
letter-spacing:0.18em;
text-transform:uppercase;
color:var(--page-ink);
}

.page-loader__track{
width:min(220px, 54vw);
height:2px;
border-radius:999px;
overflow:hidden;
background:rgba(246,229,221,0.14);
}

.page-loader__line{
display:block;
width:40%;
height:100%;
border-radius:inherit;
background:linear-gradient(90deg, rgba(246,229,221,0.18), rgba(246,229,221,0.9), rgba(181,138,85,0.5));
box-shadow:0 0 18px rgba(246,229,221,0.35);
animation:pageLoaderSweep 1.15s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}

@keyframes pageLoaderSweep{
0%{transform:translateX(-120%);opacity:0.4;}
55%{opacity:1;}
100%{transform:translateX(320%);opacity:0.65;}
}

.page-swipe-preview{
position:fixed;
inset:0;
display:grid;
place-items:center;
padding:clamp(1.25rem, 4vw, 2rem);
background:
linear-gradient(180deg, rgba(117,35,41,0.96) 0%, rgba(58,16,21,0.98) 58%, rgba(18,3,6,0.99) 100%),
radial-gradient(circle at 18% 22%, rgba(246,229,221,0.11) 0%, rgba(246,229,221,0) 34%),
radial-gradient(circle at 78% 18%, rgba(181,138,85,0.1) 0%, rgba(181,138,85,0) 28%),
radial-gradient(circle at 52% 56%, rgba(143,47,53,0.26) 0%, rgba(143,47,53,0) 46%);
opacity:0;
visibility:hidden;
pointer-events:none;
z-index:1;
transition:opacity 0.24s ease, visibility 0.24s ease;
}

.page-swipe-preview[data-nav="home"]{
background:
linear-gradient(180deg, rgba(117,35,41,0.96) 0%, rgba(58,16,21,0.98) 58%, rgba(18,3,6,0.99) 100%),
radial-gradient(circle at 18% 22%, rgba(246,229,221,0.14) 0%, rgba(246,229,221,0) 34%),
radial-gradient(circle at 74% 18%, rgba(181,138,85,0.08) 0%, rgba(181,138,85,0) 28%);
}

.page-swipe-preview[data-nav="shop"]{
background:
linear-gradient(180deg, rgba(91,23,31,0.96) 0%, rgba(44,16,20,0.98) 56%, rgba(18,3,6,0.99) 100%),
radial-gradient(circle at 20% 22%, rgba(234,210,189,0.12) 0%, rgba(234,210,189,0) 34%),
radial-gradient(circle at 72% 20%, rgba(143,47,53,0.2) 0%, rgba(143,47,53,0) 30%);
}

.page-swipe-preview[data-nav="about"]{
background:
linear-gradient(180deg, rgba(82,20,26,0.96) 0%, rgba(58,16,21,0.98) 56%, rgba(18,3,6,0.99) 100%),
radial-gradient(circle at 20% 20%, rgba(246,229,221,0.11) 0%, rgba(246,229,221,0) 34%),
radial-gradient(circle at 78% 24%, rgba(117,35,41,0.22) 0%, rgba(117,35,41,0) 30%);
}

.page-swipe-preview[data-nav="privacy"]{
background:
linear-gradient(180deg, rgba(79,20,26,0.96) 0%, rgba(43,10,14,0.98) 58%, rgba(18,3,6,0.99) 100%),
radial-gradient(circle at 22% 20%, rgba(246,229,221,0.1) 0%, rgba(246,229,221,0) 32%),
radial-gradient(circle at 74% 22%, rgba(117,35,41,0.18) 0%, rgba(117,35,41,0) 28%);
}

.page-swipe-preview[data-nav="terms"]{
background:
linear-gradient(180deg, rgba(91,23,31,0.94) 0%, rgba(58,16,21,0.98) 58%, rgba(18,3,6,0.99) 100%),
radial-gradient(circle at 20% 20%, rgba(234,210,189,0.14) 0%, rgba(234,210,189,0) 32%),
radial-gradient(circle at 74% 20%, rgba(181,138,85,0.14) 0%, rgba(181,138,85,0) 28%);
}

.page-swipe-preview[data-nav="cart"]{
background:
linear-gradient(180deg, rgba(58,16,21,0.96) 0%, rgba(33,9,13,0.98) 56%, rgba(18,3,6,0.99) 100%),
radial-gradient(circle at 20% 20%, rgba(246,229,221,0.1) 0%, rgba(246,229,221,0) 32%),
radial-gradient(circle at 78% 24%, rgba(143,47,53,0.18) 0%, rgba(143,47,53,0) 28%);
}

.page-swipe-preview__inner{
display:grid;
justify-items:center;
gap:0.9rem;
text-align:center;
opacity:0;
transform:translateY(12px) scale(0.98);
transition:transform 0.32s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.24s ease;
}

.page-swipe-preview__eyebrow{
font-size:0.72rem;
font-weight:600;
letter-spacing:0.22em;
text-transform:uppercase;
color:rgba(246,229,221,0.62);
}

.page-swipe-preview__title{
font-family:var(--font-display);
font-size:clamp(2.8rem, 8vw, 5.8rem);
line-height:0.92;
letter-spacing:0.05em;
text-transform:uppercase;
color:var(--page-ink);
}

body.page-dragging .page-swipe-preview,
body.page-leaving.page-swipe-next .page-swipe-preview,
body.page-leaving.page-swipe-prev .page-swipe-preview{
opacity:var(--page-preview-opacity, 1);
visibility:visible;
}

body.page-dragging .page-swipe-preview__inner,
body.page-leaving.page-swipe-next .page-swipe-preview__inner,
body.page-leaving.page-swipe-prev .page-swipe-preview__inner{
opacity:1;
transform:translateY(0) scale(1);
}

main,
footer{
position:relative;
z-index:2;
}

.container,
.page-container,
.shop-container{
width:var(--ds-container);
max-width:var(--ds-container);
margin-inline:auto;
}

.wide-container{
width:var(--ds-container-wide);
max-width:var(--ds-container-wide);
margin-inline:auto;
}

.text-container{
width:var(--ds-text-container);
max-width:var(--ds-text-container);
margin-inline:auto;
}

header{
position:fixed;
top:max(1rem, calc(var(--page-safe-top) + 0.35rem));
left:50%;
transform:translateX(-50%);
width:var(--site-container-wide);
max-width:calc(100% - 32px);
padding:0.92rem 1.15rem 0.92rem 1.35rem;
display:flex;
justify-content:space-between;
align-items:center;
gap:1rem;
background:rgba(33,9,13,0.82);
backdrop-filter:blur(22px);
-webkit-backdrop-filter:blur(22px);
border:1px solid rgba(246,229,221,0.11);
border-radius:999px;
box-shadow:0 22px 56px rgba(5,1,2,0.38);
z-index:1000;
transition:var(--tr);
}

header.scrolled{
top:max(0.8rem, calc(var(--page-safe-top) + 0.2rem));
padding:0.82rem 1.1rem 0.82rem 1.3rem;
background:rgba(33,9,13,0.92);
border-color:rgba(246,229,221,0.14);
box-shadow:0 26px 62px rgba(5,1,2,0.42);
}

header .logo{
flex-shrink:0;
}

header .logo img{
height:clamp(46px, 5vw, 64px);
width:auto;
display:block;
object-fit:contain;
filter:brightness(0) invert(1);
}

nav{
display:flex;
align-items:center;
justify-content:flex-end;
gap:clamp(0.45rem, 1.1vw, 1.15rem);
flex:1 1 auto;
min-width:0;
position:relative;
padding:0.16rem;
overflow-x:auto;
overflow-y:hidden;
scroll-behavior:smooth;
scroll-snap-type:x proximity;
overscroll-behavior-x:contain;
scrollbar-width:none;
}

nav::-webkit-scrollbar{
display:none;
}

nav a{
position:relative;
padding:0.68rem 1rem;
border:1px solid transparent;
border-radius:999px;
font-family:var(--font-body);
font-size:clamp(0.72rem, 0.15vw + 0.7rem, 0.84rem);
font-weight:600;
letter-spacing:0.16em;
text-transform:uppercase;
text-decoration:none;
color:var(--page-ink-soft);
transition:var(--tr);
white-space:nowrap;
flex:0 0 auto;
z-index:1;
scroll-snap-align:center;
}

nav a::after{
display:none;
}

nav .nav-indicator{
position:absolute;
top:0;
left:0;
width:var(--nav-indicator-w, 0px);
height:var(--nav-indicator-h, 0px);
border:1px solid rgba(246,229,221,0.22);
border-radius:999px;
background:rgba(246,229,221,0.13);
box-shadow:0 14px 28px rgba(5,1,2,0.34);
transform:translate3d(var(--nav-indicator-x, 0px), var(--nav-indicator-y, 0px), 0);
transition:
transform 0.34s cubic-bezier(0.22, 1, 0.36, 1),
width 0.34s cubic-bezier(0.22, 1, 0.36, 1),
height 0.34s cubic-bezier(0.22, 1, 0.36, 1),
opacity 0.22s ease;
opacity:0;
pointer-events:none;
z-index:0;
}

nav .nav-indicator.is-visible{
opacity:1;
}

nav .nav-indicator.is-static{
transition:none;
}

nav a:not(.cart-link):hover{
color:var(--page-ink);
background:rgba(246,229,221,0.09);
border-color:rgba(246,229,221,0.14);
}

body[data-nav="home"] nav a[href$="index.html"],
body[data-nav="shop"] nav a[href$="shop.html"],
body[data-nav="about"] nav a[href$="about.html"],
body[data-nav="privacy"] nav a[href$="privacy.html"],
body[data-nav="terms"] nav a[href$="terms.html"]{
background:rgba(246,229,221,0.13);
border-color:rgba(246,229,221,0.22);
box-shadow:0 14px 28px rgba(5,1,2,0.34);
color:var(--page-ink);
}

body[data-nav="cart"] .cart-link{
border-color:rgba(246,229,221,0.22);
background:rgba(246,229,221,0.13);
box-shadow:0 14px 28px rgba(5,1,2,0.34);
}

body.nav-enhanced[data-nav="home"] nav a[href$="index.html"],
body.nav-enhanced[data-nav="shop"] nav a[href$="shop.html"],
body.nav-enhanced[data-nav="about"] nav a[href$="about.html"],
body.nav-enhanced[data-nav="privacy"] nav a[href$="privacy.html"],
body.nav-enhanced[data-nav="terms"] nav a[href$="terms.html"],
body.nav-enhanced[data-nav="cart"] .cart-link{
background:transparent;
border-color:transparent;
box-shadow:none;
color:var(--page-ink);
}

body.nav-enhanced nav a.is-current,
body.nav-enhanced .cart-link.is-current{
color:var(--page-ink);
}

nav a:focus-visible,
.btn:focus-visible,
.nav-like:focus-visible,
.cart-link:focus-visible{
outline:2px solid rgba(246,229,221,0.45);
outline-offset:4px;
}

.cart-link{
display:inline-flex;
align-items:center;
justify-content:center;
width:44px;
height:44px;
padding:0;
border:1px solid transparent;
border-radius:999px;
background:transparent;
box-shadow:none;
transition:var(--tr);
}

.cart-link::after{
display:none;
}

.cart-link img{
width:22px;
height:22px;
display:block;
object-fit:contain;
filter:brightness(0) invert(1);
opacity:0.78;
}

.cart-link span,
.cart-count{
display:none;
}

.cart-link:hover{
border-color:rgba(246,229,221,0.14);
background:rgba(246,229,221,0.09);
transform:translateY(-1px);
}

header{
transition:var(--tr);
will-change:auto;
}

main,
footer{
transition:
transform 0.88s cubic-bezier(0.22, 1, 0.36, 1),
opacity 0.88s ease,
filter 0.88s ease;
will-change:transform, opacity, filter;
}

body.page-enter-next main,
body.page-enter-next footer{
transform:translate3d(22px, 0, 0);
opacity:0.97;
filter:blur(0.9px) saturate(0.985);
}

body.page-enter-prev main,
body.page-enter-prev footer{
transform:translate3d(-22px, 0, 0);
opacity:0.97;
filter:blur(0.9px) saturate(0.985);
}

body.page-ready.page-enter-next main,
body.page-ready.page-enter-next footer,
body.page-ready.page-enter-prev main,
body.page-ready.page-enter-prev footer{
transform:translate3d(0, 0, 0);
opacity:1;
filter:none;
}

body.page-leaving.page-swipe-next main,
body.page-leaving.page-swipe-next footer{
transform:translate3d(calc(var(--page-leave-start-x, 0px) - 100vw - 3rem), 0, 0);
opacity:0.985;
filter:blur(0.95px) saturate(0.985);
}

body.page-leaving.page-swipe-prev main,
body.page-leaving.page-swipe-prev footer{
transform:translate3d(calc(var(--page-leave-start-x, 0px) + 100vw + 3rem), 0, 0);
opacity:0.985;
filter:blur(0.95px) saturate(0.985);
}

body.page-enter-next::after,
body.page-enter-prev::after,
body.page-leaving.page-swipe-next::after,
body.page-leaving.page-swipe-prev::after{
opacity:1;
transform:scale(1);
}

body.page-dragging{
user-select:none;
-webkit-user-select:none;
cursor:grabbing;
}

main,
footer{
touch-action:pan-y;
}

body.page-dragging main,
body.page-dragging footer{
transition:none !important;
transform:translate3d(var(--page-drag-x), 0, 0);
opacity:var(--page-drag-opacity);
filter:blur(var(--page-drag-blur)) saturate(var(--page-drag-saturate));
}

body.page-dragging::after{
opacity:var(--page-drag-overlay);
transform:translate3d(var(--page-drag-back-x), 0, 0) scale(1);
transition:none;
}

@media (prefers-reduced-motion:reduce){
*,
*::before,
*::after{
animation-duration:0.01ms !important;
animation-iteration-count:1 !important;
scroll-behavior:auto !important;
transition-duration:0.01ms !important;
}
}

h1,
h2,
h3,
.hero h1,
.shop-hero h1,
.product-title,
.product-name,
.set-title,
.footer-logo{
font-family:var(--font-display);
color:var(--page-ink);
line-height:0.96;
letter-spacing:0.03em;
text-wrap:balance;
}

p,
li,
.hero p,
.shop-hero p,
.product-text,
.product-desc,
.footer-tagline,
.footer-bottom,
.footer-contact{
color:var(--page-ink-soft);
text-wrap:pretty;
}

a{
color:inherit;
}

.btn,
.nav-like{
display:inline-flex;
align-items:center;
justify-content:center;
gap:0.6rem;
padding:0.94rem 1.58rem;
border:1px solid rgba(117,35,41,0.16);
border-radius:999px;
background:linear-gradient(135deg, #a45857 0%, #8b3a3f 38%, #752329 100%);
box-shadow:0 18px 34px rgba(22,5,7,0.26);
font-family:var(--font-body);
font-size:0.78rem;
font-weight:600;
letter-spacing:0.16em;
text-transform:uppercase;
text-decoration:none;
color:var(--page-ink);
transition:var(--tr);
cursor:pointer;
}

.btn:hover,
.nav-like:hover{
transform:translateY(-2px);
box-shadow:0 24px 42px rgba(117,35,41,0.2);
background:linear-gradient(135deg, #bb7570 0%, #8f4546 100%);
border-color:rgba(246,229,221,0.2);
color:var(--page-ink);
}

.btn.btn-ghost{
background:rgba(246,229,221,0.08);
box-shadow:none;
border-color:var(--page-line-strong);
color:var(--page-ink);
}

.btn.btn-ghost:hover{
background:rgba(246,229,221,0.12);
border-color:var(--page-line-strong);
color:var(--page-ink);
}

.section-label,
.feature-kind,
.product-type{
display:none !important;
}

footer{
position:relative;
width:100%;
max-width:100%;
overflow:hidden;
padding:4.8rem 0 2.4rem;
background:
radial-gradient(circle at top left, rgba(246,229,221,0.14) 0%, rgba(246,229,221,0) 24%),
radial-gradient(circle at 85% 18%, rgba(181,138,85,0.1) 0%, rgba(181,138,85,0) 22%),
linear-gradient(180deg, rgba(79,20,26,0.94) 0%, rgba(44,16,20,0.98) 100%);
border-top:1px solid rgba(246,229,221,0.12);
}

.footer-shell,
.footer-bottom{
width:var(--site-container);
max-width:var(--site-container);
margin-inline:auto;
}

.footer-shell{
display:grid;
grid-template-columns:minmax(0, 1fr) minmax(0, auto) minmax(14rem, auto);
gap:clamp(1.5rem, 3vw, 3rem);
align-items:start;
}

.footer-shell > div:first-child{
display:grid;
gap:0.45rem;
min-width:0;
}

.footer-logo{
font-size:clamp(1.12rem, 2vw, 1.45rem);
letter-spacing:0.14em;
color:var(--page-ink);
}

.footer-tagline,
.footer-contact,
.footer-bottom{
color:var(--page-ink-soft);
}

.footer-tagline{
max-width:34ch;
font-size:0.94rem;
line-height:1.8;
}

.footer-links{
display:flex;
flex-wrap:wrap;
gap:12px 20px;
align-items:flex-start;
align-content:start;
justify-content:flex-end;
min-width:0;
}

.footer-links a{
font-family:var(--font-body);
font-size:0.8rem;
font-weight:600;
letter-spacing:0.16em;
text-transform:uppercase;
text-decoration:none;
color:var(--page-ink);
transition:var(--tr);
}

.footer-links a:hover{
color:#ffffff;
}

.footer-contact{
justify-self:end;
align-self:start;
text-align:right;
min-width:0;
max-width:100%;
}

.footer-contact p{
margin:0 0 0.45rem;
}

.footer-contact p:first-child{
font-family:var(--font-body);
font-size:0.74rem;
font-weight:600;
letter-spacing:0.16em;
text-transform:uppercase;
color:rgba(246,229,221,0.62);
}

.footer-contact a{
color:var(--page-ink);
text-decoration:none;
transition:var(--tr);
word-break:break-word;
overflow-wrap:anywhere;
}

.footer-contact a:hover{
color:#ffffff;
}

.footer-bottom{
margin:1.65rem auto 0;
padding-top:1.2rem;
border-top:1px solid rgba(246,229,221,0.12);
font-size:0.82rem;
line-height:1.7;
display:flex;
justify-content:space-between;
align-items:center;
gap:1rem 1.5rem;
flex-wrap:wrap;
}

.footer-bottom p{
margin:0;
}

.legal-page{
width:100%;
max-width:100%;
overflow:hidden;
padding-top:calc(8rem + var(--page-safe-top));
padding-bottom:clamp(4rem, 8vw, 7rem);
position:relative;
isolation:isolate;
min-height:100vh;
min-height:100svh;
min-height:100dvh;
}

.legal-page::before{
content:"";
position:absolute;
inset:0;
background:
linear-gradient(180deg, rgba(86,24,30,0.1) 0%, rgba(86,24,30,0.38) 100%),
var(--legal-shell-image) center top/cover no-repeat;
opacity:0.88;
pointer-events:none;
}

.legal-page::after{
content:"";
position:absolute;
inset:0;
background:
radial-gradient(circle at top left, rgba(246,229,221,0.16) 0%, rgba(246,229,221,0) 38%),
linear-gradient(180deg, rgba(15,1,3,0.18) 0%, rgba(15,1,3,0) 34%);
pointer-events:none;
}

body[data-nav="privacy"] .legal-page{
--legal-shell-image:url("images/background-7.png");
}

body[data-nav="terms"] .legal-page{
--legal-shell-image:url("images/background-5.png");
}

.legal-page > *{
position:relative;
z-index:1;
}

.legal-hero{
padding:clamp(3rem, 7vw, 5.5rem) 0 clamp(1.5rem, 4vw, 3rem);
}

.legal-hero h1{
max-width:12ch;
font-size:clamp(3rem, 7vw, 6rem);
line-height:0.95;
letter-spacing:0.03em;
text-transform:uppercase;
}

.legal-hero p:not(.section-label){
max-width:62ch;
color:var(--page-ink-soft);
font-size:clamp(1rem, 0.3vw + 1rem, 1.16rem);
line-height:1.8;
}

.legal-content{
padding-bottom:clamp(3rem, 7vw, 6rem);
}

.legal-card{
padding:clamp(1.25rem, 3vw, 2.25rem);
border:1px solid var(--page-line);
border-radius:var(--site-radius-lg);
background:
linear-gradient(180deg, rgba(102,31,37,0.72), rgba(79,20,26,0.86));
box-shadow:var(--page-shadow);
display:grid;
gap:0;
}

.legal-card > * + *{
margin-top:1rem;
}

.legal-card h2,
.legal-card h3{
margin-top:2rem;
margin-bottom:0.6rem;
font-family:var(--font-display);
color:var(--page-ink);
line-height:1.1;
}

.legal-card h2:first-child,
.legal-card h3:first-child{
margin-top:0;
}

.legal-card p,
.legal-card li{
max-width:76ch;
color:var(--page-ink-soft);
line-height:1.85;
font-size:1rem;
}

.legal-card p + p{
margin-top:1rem;
}

.legal-card ul,
.legal-card ol{
padding-left:1.25rem;
}

.legal-card a{
color:var(--page-ink);
text-decoration-thickness:1px;
text-underline-offset:4px;
}

.legal-card .privacy-grid,
.legal-card .terms-list{
display:grid;
grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
gap:1rem;
margin-top:2rem;
}

.legal-card .privacy-card,
.legal-card .term-item{
margin-top:0;
padding:1rem 0 0;
border-top:1px solid var(--page-line-strong);
background:none;
box-shadow:none;
}

.legal-card .privacy-card h3,
.legal-card .term-item h3{
margin-top:0;
font-family:var(--font-body);
font-size:0.8rem;
font-weight:600;
letter-spacing:0.16em;
text-transform:uppercase;
}

main:has(.story-points),
main:has(.privacy-grid),
main:has(.terms-list),
main.page-main-split{
width:100%;
max-width:none;
margin:0;
padding-top:calc(clamp(8rem, 11vh, 9.6rem) + var(--page-safe-top));
padding-bottom:clamp(4.2rem, 8vh, 5.4rem);
padding-left:max(16px, calc((100% - var(--site-container-raw)) / 2), calc(16px + var(--page-safe-left)));
padding-right:max(16px, calc((100% - var(--site-container-raw)) / 2), calc(16px + var(--page-safe-right)));
display:grid;
grid-template-columns:minmax(0, 1.14fr) minmax(300px, 0.86fr);
column-gap:clamp(1.8rem, 3vw, 3rem);
row-gap:1rem;
align-items:start;
background:none;
}

main.page-main-split,
main.page-main-product,
main.page-main-cart,
main.page-main-checkout{
position:relative;
overflow:hidden;
isolation:isolate;
min-height:100vh;
min-height:100svh;
min-height:100dvh;
}

main.page-main-split::before,
main.page-main-product::before,
main.page-main-cart::before,
main.page-main-checkout::before{
content:"";
position:absolute;
inset:0;
background:
linear-gradient(180deg, rgba(86,24,30,0.06) 0%, rgba(86,24,30,0.34) 100%),
var(--page-shell-image) center top/cover no-repeat;
opacity:0.84;
transform:none;
pointer-events:none;
}

main.page-main-split::after,
main.page-main-product::after,
main.page-main-cart::after,
main.page-main-checkout::after{
content:"";
position:absolute;
inset:0;
background:radial-gradient(circle at top left, rgba(246,229,221,0.16) 0%, rgba(246,229,221,0) 36%);
pointer-events:none;
}

main.page-main-split{
--page-shell-image:url("images/background-5.png");
}

body[data-nav="about"] main.page-main-split{
--page-shell-image:url("images/background-3.png");
}

body[data-nav="about"] main.page-main-split::before{
background:
linear-gradient(180deg, rgba(86,24,30,0.03) 0%, rgba(86,24,30,0.22) 100%),
var(--page-shell-image) center top/cover no-repeat;
opacity:0.9;
}

body[data-nav="privacy"] main.page-main-split{
--page-shell-image:url("images/background-7.png");
}

body[data-nav="terms"] main.page-main-split{
--page-shell-image:url("images/background-5.png");
}

main.page-main-product{
--page-shell-image:url("images/background-6.png");
}

main.page-main-cart{
--page-shell-image:url("images/background-7.png");
}

main.page-main-checkout{
--page-shell-image:url("images/background-5.png");
}

main.page-main-split > *,
main.page-main-product > *,
main.page-main-cart > *,
main.page-main-checkout > *{
position:relative;
z-index:1;
}

main:has(.story-points) > :not(.story-points),
main:has(.privacy-grid) > :not(.privacy-grid),
main:has(.terms-list) > :not(.terms-list),
main.page-main-split > :not(.story-points):not(.privacy-grid):not(.terms-list){
grid-column:1;
max-width:min(62ch, 100%);
}

main:has(.story-points) h1,
main:has(.privacy-grid) h1,
main:has(.terms-list) h1,
main.page-main-split h1{
font-size:clamp(3rem, 5.4vw, 5.4rem);
margin-bottom:0.8rem;
color:var(--page-ink);
}

main:has(.story-points) h2,
main:has(.privacy-grid) h2,
main:has(.terms-list) h2,
main.page-main-split h2{
margin:1.45rem 0 0.5rem;
font-size:0.82rem;
font-weight:600;
letter-spacing:0.18em;
text-transform:uppercase;
color:var(--page-ink);
}

main:has(.story-points) > p:first-of-type,
main:has(.privacy-grid) > p:first-of-type,
main:has(.terms-list) > p:first-of-type,
main.page-main-split > p:first-of-type{
font-size:clamp(1.05rem, 0.26vw + 1rem, 1.18rem);
line-height:1.9;
color:var(--page-ink);
}

.story-points,
.privacy-grid,
.terms-list{
grid-column:2;
display:grid;
gap:1rem;
align-self:start;
margin-top:0.25rem;
}

.point,
.privacy-card,
.term-item{
padding:1.1rem 0 0;
border-top:1px solid var(--page-line-strong);
background:none;
box-shadow:none;
}

.point h3,
.privacy-card h3,
.term-item h3{
margin:0 0 0.45rem;
font-family:var(--font-body);
font-size:0.8rem;
font-weight:600;
letter-spacing:0.16em;
text-transform:uppercase;
color:var(--page-ink);
}

.point p,
.privacy-card p,
.term-item p{
margin:0;
font-size:0.96rem;
line-height:1.82;
}

main:has(.product-layout),
main.page-main-product{
width:100%;
max-width:none;
margin:0;
padding-top:calc(clamp(8rem, 11vh, 9.6rem) + var(--page-safe-top));
padding-bottom:clamp(4.2rem, 8vh, 5.4rem);
padding-left:max(16px, calc((100% - var(--site-container-raw)) / 2), calc(16px + var(--page-safe-left)));
padding-right:max(16px, calc((100% - var(--site-container-raw)) / 2), calc(16px + var(--page-safe-right)));
background:none;
}

.product-layout{
display:grid;
grid-template-columns:minmax(0, 1.18fr) minmax(340px, 0.82fr);
gap:clamp(1.5rem, 2.8vw, 3rem);
align-items:start;
}

.product-layout img{
width:100%;
aspect-ratio:4 / 5;
min-height:clamp(420px, 72vh, 760px);
max-height:min(82vh, 860px);
border-radius:var(--page-radius);
border:1px solid rgba(117,35,41,0.12);
box-shadow:var(--page-shadow-strong);
object-fit:cover;
}

.product-layout.product-layout-logo img{
object-fit:contain;
padding:clamp(2rem, 5vw, 4.25rem);
background:linear-gradient(145deg, rgba(117,35,41,0.96) 0%, rgba(79,20,26,1) 100%);
filter:brightness(0) invert(1);
}

.product-layout.product-layout-logo .size-picker{
grid-template-columns:repeat(2, minmax(0, 1fr));
max-width:260px;
}

.product-layout > div:last-child{
position:sticky;
top:8rem;
display:grid;
align-content:start;
gap:0.55rem;
padding:0.3rem 0 0;
max-width:34rem;
background:none;
border-top:1px solid var(--page-line-strong);
box-shadow:none;
}

.product-layout .product-title{
font-size:clamp(2.6rem, 4.8vw, 5rem);
margin-bottom:0.35rem;
}

.product-layout .product-price{
font-family:var(--font-display);
font-size:1.32rem;
letter-spacing:0.04em;
color:var(--page-ink);
margin-bottom:0.9rem;
}

.product-layout .product-text{
max-width:54ch;
font-size:1rem;
line-height:1.88;
}

.size-label{
display:block;
margin-bottom:0.6rem;
font-family:var(--font-body);
font-size:0.74rem;
font-weight:600;
letter-spacing:0.16em;
text-transform:uppercase;
color:var(--page-ink);
}

.size-picker{
display:grid;
grid-template-columns:repeat(5, minmax(0, 1fr));
gap:0.65rem;
}

.size-chip{
border:1px solid var(--page-line-strong);
background:rgba(86,24,30,0.92);
color:var(--page-ink);
padding:0.72rem 0.45rem;
border-radius:999px;
cursor:pointer;
font-family:var(--font-body);
font-size:0.74rem;
font-weight:600;
letter-spacing:0.14em;
text-transform:uppercase;
transition:var(--tr);
}

.size-chip:hover{
border-color:var(--page-red);
background:rgba(246,229,221,0.12);
}

.size-chip.is-active{
border-color:var(--page-red);
background:var(--page-ink);
color:var(--page-red-dark);
}

.product-layout .btn-row{
display:flex;
gap:0.8rem;
flex-wrap:wrap;
margin-top:1.35rem;
}

.product-layout .btn-row .btn{
min-width:190px;
flex:1 1 190px;
}

.product-layout .btn-row .btn:not(.add-to-cart){
background:rgba(246,229,221,0.08);
border-color:var(--page-line-strong);
color:var(--page-ink);
box-shadow:none;
}

.product-layout .btn-row .btn:not(.add-to-cart):hover{
background:rgba(246,229,221,0.12);
border-color:var(--page-line-strong);
color:var(--page-ink);
}

.product-layout .add-to-cart{
background:linear-gradient(135deg, #8f4546 0%, #752329 40%, #4f141a 100%);
border-color:rgba(117,35,41,0.2);
color:var(--page-ink);
}

main:has(#cart-page),
main:has(#checkout-page),
main.page-main-cart,
main.page-main-checkout{
width:100%;
max-width:none;
margin:0;
padding-top:calc(clamp(8rem, 11vh, 9.6rem) + var(--page-safe-top));
padding-bottom:clamp(4rem, 8vh, 5rem);
padding-left:max(16px, calc((100% - var(--site-container-raw)) / 2), calc(16px + var(--page-safe-left)));
padding-right:max(16px, calc((100% - var(--site-container-raw)) / 2), calc(16px + var(--page-safe-right)));
background:none;
}

#cart-page,
#checkout-page{
max-width:min(1380px, 100%);
}

#cart-page.is-empty{
max-width:min(860px, calc(100% - 32px));
}

#cart-page h1,
#checkout-page h1{
font-size:clamp(2.8rem, 4.8vw, 4.8rem);
margin-bottom:0.85rem;
}

#cart-page > p,
#checkout-page > p,
.empty-cart p{
max-width:60ch;
font-size:1rem;
line-height:1.82;
}

.cart-list,
.checkout-items{
display:grid;
gap:1rem;
}

.empty-cart,
.cart-item,
.cart-summary,
.checkout-card{
padding:1.2rem 0 0;
border-top:1px solid var(--page-line-strong);
background:none;
box-shadow:none;
}

.cart-item{
display:grid;
grid-template-columns:220px minmax(0, 1fr);
gap:1.2rem;
align-items:start;
}

.cart-item img{
width:220px;
height:220px;
object-fit:cover;
border-radius:22px;
}

.cart-item-body{
display:grid;
grid-template-columns:minmax(0, 1fr) auto;
gap:0.55rem 1.2rem;
align-items:center;
}

.cart-item-body h3{
margin:0;
font-size:1.18rem;
letter-spacing:0.04em;
text-transform:uppercase;
color:var(--page-ink);
}

.cart-item-body p,
.item-options{
margin:0;
}

.item-options{
font-size:0.8rem;
letter-spacing:0.12em;
text-transform:uppercase;
color:var(--page-ink-soft);
}

.qty-row{
grid-column:2;
grid-row:1 / span 3;
display:flex;
align-items:center;
gap:0.6rem;
justify-content:flex-end;
align-self:center;
}

.qty-btn{
width:36px;
height:36px;
border:1px solid var(--page-line-strong);
border-radius:999px;
background:rgba(86,24,30,0.92);
color:var(--page-ink);
font-size:1rem;
cursor:pointer;
}

.qty-val{
min-width:28px;
text-align:center;
font-weight:600;
}

.remove-btn{
border:none;
background:transparent;
color:var(--page-ink);
text-decoration:underline;
cursor:pointer;
font-family:inherit;
}

.cart-summary{
display:grid;
grid-template-columns:minmax(0, 1fr) auto;
gap:0.8rem 1.2rem;
align-items:start;
}

.cart-summary p{
display:flex;
justify-content:space-between;
gap:1rem;
margin:0;
color:var(--page-ink-soft);
}

.cart-summary-actions{
grid-column:2;
grid-row:1 / span 2;
justify-self:end;
display:flex;
gap:0.8rem;
flex-wrap:wrap;
}

.btn-checkout,
#place-order-btn{
background:linear-gradient(135deg, #8f4546 0%, #752329 40%, #4f141a 100%);
border-color:rgba(117,35,41,0.2);
color:var(--page-ink);
}

.checkout-layout{
display:grid;
grid-template-columns:minmax(0, 1.24fr) minmax(320px, 0.82fr);
gap:1.4rem 1.6rem;
}

.checkout-grid{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:0.95rem;
}

.checkout-grid label{
display:flex;
flex-direction:column;
gap:0.4rem;
font-size:0.74rem;
font-weight:600;
letter-spacing:0.16em;
text-transform:uppercase;
color:var(--page-ink);
}

.checkout-grid input{
background:rgba(86,24,30,0.92);
border:1px solid var(--page-line-strong);
color:var(--page-ink);
padding:0.84rem 0.92rem;
border-radius:16px;
font-family:inherit;
font-size:16px;
-webkit-appearance:none;
appearance:none;
}

.checkout-grid input:focus{
outline:none;
border-color:var(--page-red);
box-shadow:0 0 0 3px rgba(117,35,41,0.08);
}

.checkout-note{
max-width:54ch;
font-size:0.88rem;
line-height:1.72;
color:var(--page-ink-soft);
}

.checkout-item{
display:flex;
justify-content:space-between;
gap:1rem;
color:var(--page-ink-soft);
}

.checkout-totals{
margin-top:1rem;
padding-top:1rem;
border-top:1px solid var(--page-line-strong);
}

.checkout-totals p{
display:flex;
justify-content:space-between;
gap:1rem;
margin:0 0 0.6rem;
color:var(--page-ink);
}

@media (max-width:1180px){
header{
width:min(calc(100% - 28px), 1480px);
padding:0.82rem 1rem 0.82rem 1.18rem;
}

header .logo img{
height:54px;
}

nav{
gap:0.5rem 0.8rem;
}

nav a{
font-size:0.76rem;
letter-spacing:0.14em;
}

nav a:not(.cart-link){
padding:0.6rem 0.86rem;
}
}

@media (max-width:980px){
header{
padding:0.78rem 0.94rem;
}

header .logo img{
height:48px;
}

nav{
gap:0.42rem 0.62rem;
}

nav a{
font-size:0.7rem;
letter-spacing:0.12em;
}

nav a:not(.cart-link){
padding:0.56rem 0.76rem;
}

.cart-link{
width:40px;
height:40px;
}

.cart-link img{
width:20px;
height:20px;
}
}

@media (max-width:1100px){
main:has(.story-points),
main:has(.privacy-grid),
main:has(.terms-list),
main.page-main-split{
grid-template-columns:1fr;
}

.story-points,
.privacy-grid,
.terms-list{
grid-column:1;
grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
}

.product-layout,
.checkout-layout{
grid-template-columns:1fr;
}

.product-layout > div:last-child{
position:static;
}
}

@media (max-width:900px){
header{
top:max(0.7rem, calc(var(--page-safe-top) + 0.2rem));
align-items:center;
justify-content:space-between;
flex-wrap:nowrap;
width:min(calc(100% - 20px), 1440px);
padding:0.9rem 1rem;
text-align:left;
}

header .logo{
display:flex;
align-items:center;
justify-content:flex-start;
width:auto;
flex:0 0 auto;
}

nav{
width:auto;
min-width:0;
flex:1 1 auto;
flex-wrap:nowrap;
justify-content:flex-end;
gap:0.55rem 0.8rem;
overflow-x:auto;
white-space:nowrap;
padding:0.16rem 0.16rem 0.22rem;
scrollbar-width:none;
-webkit-overflow-scrolling:touch;
}

nav::-webkit-scrollbar{
display:none;
}

.footer-shell{
grid-template-columns:1fr;
text-align:left;
gap:1rem;
}

.footer-links{
justify-content:flex-start;
}

.footer-contact{
justify-self:start;
text-align:left;
}

.footer-bottom{
flex-direction:column;
align-items:flex-start;
}

.legal-card .privacy-grid,
.legal-card .terms-list{
grid-template-columns:1fr;
}

.legal-hero{
padding:2.4rem 0 1.6rem;
}

.legal-hero h1{
font-size:clamp(2.6rem, 10vw, 4.2rem);
max-width:10ch;
}

.legal-hero p:not(.section-label){
max-width:40ch;
font-size:0.94rem;
line-height:1.68;
}

main:has(.story-points),
main:has(.privacy-grid),
main:has(.terms-list),
main:has(.product-layout),
main:has(#cart-page),
main:has(#checkout-page),
main.page-main-split,
main.page-main-product,
main.page-main-cart,
main.page-main-checkout{
padding-left:max(5vw, calc(0.9rem + var(--page-safe-left)));
padding-right:max(5vw, calc(0.9rem + var(--page-safe-right)));
}

.cart-item{
grid-template-columns:1fr;
}

.cart-item img{
width:100%;
height:auto;
aspect-ratio:4 / 3;
}

.cart-item-body,
.cart-summary,
.checkout-grid{
grid-template-columns:1fr;
}

.qty-row,
.cart-summary-actions{
grid-column:1;
grid-row:auto;
justify-self:start;
justify-content:flex-start;
}
}

@media (max-width:1024px){
.legal-page{
padding-top:calc(6.2rem + var(--page-safe-top));
}

.legal-hero{
padding:2rem 0 1.2rem;
}

.legal-hero h1{
font-size:clamp(2.4rem, 8vw, 3.4rem);
max-width:9ch;
}

.legal-hero p:not(.section-label){
max-width:34ch;
font-size:0.86rem;
line-height:1.6;
}

main:has(.story-points),
main:has(.privacy-grid),
main:has(.terms-list),
main.page-main-split{
padding-top:calc(6.15rem + var(--page-safe-top));
padding-bottom:2.2rem;
}

main:has(.story-points) h1,
main:has(.privacy-grid) h1,
main:has(.terms-list) h1,
main.page-main-split h1{
font-size:clamp(2.3rem, 8vw, 3.2rem);
margin-bottom:0.6rem;
}

main:has(.story-points) > p:first-of-type,
main:has(.privacy-grid) > p:first-of-type,
main:has(.terms-list) > p:first-of-type,
main.page-main-split > p:first-of-type{
font-size:0.92rem;
line-height:1.64;
}
}

@media (max-width:700px){
header{
left:max(0.5rem, calc(var(--page-safe-left) + 0.3rem));
right:max(0.5rem, calc(var(--page-safe-right) + 0.3rem));
width:auto;
transform:none;
top:max(0.35rem, calc(var(--page-safe-top) + 0.15rem));
padding:0.72rem 0.8rem;
border-radius:28px;
}

header.scrolled{
top:max(0.2rem, var(--page-safe-top));
padding:0.68rem 0.78rem;
}

header .logo img{
height:44px;
}

nav{
gap:0.45rem 0.55rem;
flex-wrap:nowrap;
justify-content:flex-end;
overflow-x:auto;
padding:0.14rem 0.14rem 0.2rem;
scrollbar-width:none;
-webkit-overflow-scrolling:touch;
}

nav::-webkit-scrollbar{
display:none;
}

nav a{
flex:0 0 auto;
font-size:0.68rem;
letter-spacing:0.13em;
}

nav a:not(.cart-link){
padding:0.56rem 0.82rem;
}

.cart-link{
flex:0 0 auto;
width:38px;
height:38px;
}

.btn,
.nav-like{
min-height:40px;
padding:0.78rem 1rem;
font-size:0.7rem;
letter-spacing:0.12em;
}

.hero-actions .btn,
.shop-actions .btn,
.collection-actions .btn,
.about-link .btn,
.editorial-copy .btn,
.product-layout .btn-row .btn,
.cart-summary-actions .btn,
.btn-checkout,
#place-order-btn{
padding:0.78rem 0.96rem;
font-size:0.69rem;
}

.btn,
.nav-like{
width:100%;
}

footer{
padding:3.7rem 0 calc(2.3rem + var(--page-safe-bottom));
}

.footer-shell{
gap:0.9rem;
}

.footer-logo{
font-size:1rem;
}

.footer-tagline{
max-width:20ch;
font-size:0.76rem;
line-height:1.5;
}

.footer-links{
gap:0.4rem 0.55rem;
}

.footer-links a{
font-size:0.72rem;
letter-spacing:0.12em;
}

.footer-contact p:first-child{
font-size:0.66rem;
}

.footer-contact,
.footer-bottom{
font-size:0.74rem;
}

main:has(.story-points),
main:has(.privacy-grid),
main:has(.terms-list),
main:has(.product-layout),
main:has(#cart-page),
main:has(#checkout-page),
main.page-main-split,
main.page-main-product,
main.page-main-cart,
main.page-main-checkout{
padding-top:calc(6.3rem + var(--page-safe-top));
padding-bottom:2.7rem;
}

.story-points,
.privacy-grid,
.terms-list{
grid-template-columns:1fr;
}

.point,
.privacy-card,
.term-item,
.empty-cart,
.cart-item,
.cart-summary,
.checkout-card{
padding:1rem;
}

.product-layout img{
min-height:clamp(320px, 56vh, 430px);
}

.product-layout.product-layout-logo img{
padding:1.5rem;
}

.product-layout > div:last-child{
padding:1.15rem 1rem 1.25rem;
}

.product-layout .product-title{
font-size:clamp(2rem, 11vw, 3rem);
}

.product-layout .product-price{
font-size:1.15rem;
}

.product-layout .btn-row{
gap:0.65rem;
}

.product-layout .btn-row .btn{
min-width:0;
}

.cart-summary-actions{
width:100%;
justify-self:stretch;
}

.cart-summary-actions .btn,
.btn-checkout,
#place-order-btn{
width:100%;
}

.checkout-grid label{
font-size:0.72rem;
}

.cart-summary p,
.checkout-item,
.checkout-totals p{
font-size:0.92rem;
}

.size-picker{
grid-template-columns:repeat(3, minmax(0, 1fr));
}
}

@media (max-width:600px){
:root{
--ds-container:min(calc(100% - 24px), 1440px);
--ds-text-container:min(calc(100% - 24px), 980px);
--ds-container-wide:min(calc(100% - 24px), 1600px);
}

header{
width:min(calc(100% - 24px), 1440px);
padding:0.62rem 0.66rem;
gap:0.7rem;
border-radius:24px;
}

header .logo img{
height:40px;
}

nav a{
font-size:0.62rem;
letter-spacing:0.1em;
}

nav a:not(.cart-link){
padding:0.5rem 0.68rem;
}

nav{
padding:0.1rem 0.1rem 0.16rem;
gap:0.35rem 0.42rem;
justify-content:flex-start;
}

.cart-link{
width:36px;
height:36px;
}

.cart-link img{
width:18px;
height:18px;
}

.btn,
.nav-like{
min-height:38px;
padding:0.72rem 0.92rem;
font-size:0.66rem;
letter-spacing:0.1em;
border-radius:22px;
}

.hero-actions .btn,
.shop-actions .btn,
.collection-actions .btn,
.about-link .btn,
.editorial-copy .btn,
.product-layout .btn-row .btn,
.cart-summary-actions .btn,
.btn-checkout,
#place-order-btn{
padding:0.72rem 0.88rem;
font-size:0.65rem;
}

.footer-shell,
.footer-bottom{
width:min(calc(100% - 24px), 1440px);
max-width:min(calc(100% - 24px), 1440px);
}

.footer-links{
display:grid;
grid-template-columns:1fr;
gap:0.65rem;
justify-content:flex-start;
}

.legal-page{
padding-top:calc(5.9rem + var(--page-safe-top));
}

.legal-hero h1{
font-size:clamp(2.2rem, 12vw, 3.2rem);
max-width:9ch;
}

.legal-hero{
padding:1.95rem 0 1.2rem;
}

.legal-hero p:not(.section-label){
max-width:32ch;
font-size:0.84rem;
line-height:1.56;
}

.legal-card{
padding:1rem;
border-radius:28px;
}

main:has(.story-points),
main:has(.privacy-grid),
main:has(.terms-list),
main:has(.product-layout),
main:has(#cart-page),
main:has(#checkout-page),
main.page-main-split,
main.page-main-product,
main.page-main-cart,
main.page-main-checkout{
padding-top:calc(5.95rem + var(--page-safe-top));
padding-bottom:2.2rem;
}

main.page-main-split > :not(.story-points):not(.privacy-grid):not(.terms-list){
max-width:min(100%, 58ch);
}

main:has(.story-points) h1,
main:has(.privacy-grid) h1,
main:has(.terms-list) h1,
main.page-main-split h1{
font-size:clamp(2.2rem, 11vw, 3rem);
margin-bottom:0.55rem;
}

main:has(.story-points) > p:first-of-type,
main:has(.privacy-grid) > p:first-of-type,
main:has(.terms-list) > p:first-of-type,
main.page-main-split > p:first-of-type{
font-size:0.96rem;
line-height:1.7;
}

.product-layout img{
min-height:clamp(280px, 46vh, 360px);
}

.product-layout > div:last-child{
padding-top:0;
}

.product-layout .product-title{
font-size:clamp(1.9rem, 10vw, 2.7rem);
}

.product-layout .product-price{
font-size:1.08rem;
}

.product-layout .product-text{
font-size:0.94rem;
line-height:1.76;
}

.product-layout .btn-row{
flex-direction:column;
}

.product-layout .btn-row .btn{
width:100%;
min-width:0;
}

.size-picker{
grid-template-columns:repeat(2, minmax(0, 1fr));
}

#cart-page,
#checkout-page{
width:100%;
}

#cart-page h1,
#checkout-page h1{
font-size:clamp(2.2rem, 12vw, 3.1rem);
}

.cart-item,
.checkout-card,
.cart-summary,
.empty-cart{
padding-top:1rem;
}

.cart-item img{
aspect-ratio:4 / 4.5;
border-radius:18px;
}

.cart-item-body{
gap:0.45rem 0.8rem;
}

.qty-row{
width:100%;
justify-content:flex-start;
flex-wrap:wrap;
}

.checkout-grid{
grid-template-columns:1fr;
}

.checkout-grid input{
padding:0.8rem 0.88rem;
border-radius:14px;
}
}

@media (max-width:430px){
header{
top:max(0.22rem, calc(var(--page-safe-top) + 0.08rem));
padding:0.58rem 0.58rem;
border-radius:22px;
}

header.scrolled{
top:max(0.12rem, var(--page-safe-top));
padding:0.56rem 0.56rem;
}

header .logo img{
height:36px;
}

nav{
gap:0.28rem 0.36rem;
}

nav a{
font-size:0.58rem;
letter-spacing:0.09em;
}

nav a:not(.cart-link){
padding:0.46rem 0.6rem;
}

nav .nav-indicator{
border-radius:22px;
}

.btn,
.nav-like{
min-height:36px;
padding:0.66rem 0.8rem;
font-size:0.62rem;
letter-spacing:0.08em;
border-radius:20px;
}

.hero-actions .btn,
.shop-actions .btn,
.collection-actions .btn,
.about-link .btn,
.editorial-copy .btn,
.product-layout .btn-row .btn,
.cart-summary-actions .btn,
.btn-checkout,
#place-order-btn{
padding:0.66rem 0.78rem;
font-size:0.61rem;
}

main,
footer{
transition-duration:0.7s;
}

main:has(.story-points),
main:has(.privacy-grid),
main:has(.terms-list),
main:has(.product-layout),
main:has(#cart-page),
main:has(#checkout-page),
main.page-main-split,
main.page-main-product,
main.page-main-cart,
main.page-main-checkout{
padding-top:calc(5.45rem + var(--page-safe-top));
padding-left:max(0.9rem, calc(0.9rem + var(--page-safe-left)));
padding-right:max(0.9rem, calc(0.9rem + var(--page-safe-right)));
}

.legal-page{
padding-top:calc(5.4rem + var(--page-safe-top));
}

.legal-hero{
padding:1.55rem 0 0.95rem;
}

.legal-hero h1{
font-size:clamp(1.92rem, 11vw, 2.6rem);
}

.legal-hero p:not(.section-label){
max-width:27ch;
font-size:0.76rem;
line-height:1.48;
}

main:has(.story-points) h1,
main:has(.privacy-grid) h1,
main:has(.terms-list) h1,
#cart-page h1,
#checkout-page h1{
font-size:clamp(1.82rem, 10vw, 2.4rem);
}

main.page-main-split > p:first-of-type,
.legal-card p,
.legal-card li,
.product-layout .product-text,
#cart-page > p,
#checkout-page > p{
font-size:0.84rem;
line-height:1.58;
}

.footer-links{
gap:0.55rem 0.75rem;
}

.footer-tagline,
.footer-contact,
.footer-bottom{
font-size:0.72rem;
line-height:1.56;
}

.product-layout img{
min-height:clamp(280px, 48vh, 360px);
}

.size-picker{
grid-template-columns:repeat(2, minmax(0, 1fr));
}

.size-chip{
padding:0.66rem 0.38rem;
font-size:0.68rem;
}
}

@media (max-width:390px){
header{
left:max(0.35rem, calc(var(--page-safe-left) + 0.18rem));
right:max(0.35rem, calc(var(--page-safe-right) + 0.18rem));
width:auto;
}

main:has(.story-points),
main:has(.privacy-grid),
main:has(.terms-list),
main:has(.product-layout),
main:has(#cart-page),
main:has(#checkout-page),
main.page-main-split,
main.page-main-product,
main.page-main-cart,
main.page-main-checkout{
padding-top:calc(5rem + var(--page-safe-top));
padding-left:max(0.78rem, calc(0.78rem + var(--page-safe-left)));
padding-right:max(0.78rem, calc(0.78rem + var(--page-safe-right)));
}

.legal-page{
padding-top:calc(4.95rem + var(--page-safe-top));
}

.legal-hero h1{
font-size:clamp(1.72rem, 10vw, 2.2rem);
}

.legal-hero p:not(.section-label){
font-size:0.72rem;
line-height:1.42;
}

.product-layout img{
min-height:clamp(250px, 44vh, 320px);
}

.cart-item img{
border-radius:16px;
}
}

@media (max-width:480px){
header{
left:max(0.32rem, calc(var(--page-safe-left) + 0.12rem));
right:max(0.32rem, calc(var(--page-safe-right) + 0.12rem));
width:auto;
transform:none;
top:max(0.16rem, calc(var(--page-safe-top) + 0.06rem));
padding:0.46rem 0.48rem;
gap:0.42rem;
border-radius:20px;
}

header.scrolled{
top:max(0.08rem, var(--page-safe-top));
padding:0.44rem 0.46rem;
}

header .logo img{
height:30px;
}

nav{
justify-content:flex-start;
gap:0.18rem 0.24rem;
padding:0.04rem 0.04rem 0.1rem;
scroll-padding-inline:0.4rem;
}

nav a{
font-size:0.52rem;
letter-spacing:0.06em;
}

nav a:not(.cart-link){
padding:0.4rem 0.5rem;
}

nav .nav-indicator{
border-radius:18px;
}

.cart-link{
width:30px;
height:30px;
}

.cart-link img{
width:15px;
height:15px;
}

.btn,
.nav-like{
min-height:34px;
padding:0.6rem 0.72rem;
font-size:0.58rem;
letter-spacing:0.06em;
border-radius:18px;
}

.hero-actions .btn,
.shop-actions .btn,
.collection-actions .btn,
.about-link .btn,
.editorial-copy .btn,
.product-layout .btn-row .btn,
.cart-summary-actions .btn,
.btn-checkout,
#place-order-btn{
padding:0.6rem 0.7rem;
font-size:0.57rem;
}
}

@media (max-width:760px){
header{
display:grid;
grid-template-columns:minmax(0, 1fr);
grid-template-areas:
"logo"
"nav";
align-items:stretch;
gap:0.38rem;
padding:0.52rem 0.56rem 0.6rem;
border-radius:24px;
}

header.scrolled{
padding:0.46rem 0.5rem 0.54rem;
}

header .logo{
grid-area:logo;
display:flex;
align-items:center;
justify-content:flex-start;
width:100%;
min-width:0;
flex:none;
line-height:0;
}

header .logo img{
height:clamp(26px, 7vw, 30px);
}

nav{
grid-area:nav;
width:100%;
min-width:0;
flex:none;
justify-content:flex-start;
gap:0.22rem 0.26rem;
padding:0.06rem 0.04rem 0.12rem;
overflow-x:auto;
overflow-y:hidden;
white-space:nowrap;
scroll-padding-inline:0.12rem;
scrollbar-width:none;
-webkit-overflow-scrolling:touch;
overscroll-behavior-x:contain;
}

nav::-webkit-scrollbar{
display:none;
}

nav a{
flex:0 0 auto;
font-size:0.56rem;
letter-spacing:0.08em;
scroll-snap-align:start;
}

nav a:not(.cart-link){
padding:0.42rem 0.54rem;
}

nav .nav-indicator{
border-radius:18px;
}

.cart-link{
flex:0 0 auto;
width:32px;
height:32px;
}

.cart-link img{
width:16px;
height:16px;
}

main:has(.story-points),
main:has(.privacy-grid),
main:has(.terms-list),
main:has(.product-layout),
main:has(#cart-page),
main:has(#checkout-page),
main.page-main-split,
main.page-main-product,
main.page-main-cart,
main.page-main-checkout{
padding-top:calc(6.25rem + var(--page-safe-top));
}

.legal-page{
padding-top:calc(6.2rem + var(--page-safe-top));
}
}

@media (max-width:390px){
header{
gap:0.32rem;
padding:0.44rem 0.48rem 0.5rem;
}

header.scrolled{
padding:0.38rem 0.42rem 0.46rem;
}

header .logo img{
height:26px;
}

nav{
gap:0.16rem 0.2rem;
}

nav a{
font-size:0.52rem;
letter-spacing:0.04em;
}

nav a:not(.cart-link){
padding:0.38rem 0.42rem;
}

main:has(.story-points),
main:has(.privacy-grid),
main:has(.terms-list),
main:has(.product-layout),
main:has(#cart-page),
main:has(#checkout-page),
main.page-main-split,
main.page-main-product,
main.page-main-cart,
main.page-main-checkout{
padding-top:calc(5.95rem + var(--page-safe-top));
}

.legal-page{
padding-top:calc(5.9rem + var(--page-safe-top));
}
}

body[data-nav="home"] .hero-actions{
width:min(100%, 420px);
margin-inline:auto;
gap:clamp(0.36rem, 1.5vw, 0.6rem);
justify-content:center;
flex-wrap:nowrap;
}

body[data-nav="home"] .hero-actions .btn{
flex:1 1 0;
min-width:0;
width:auto;
min-height:clamp(34px, 5vw, 42px);
padding:clamp(0.5rem, 1.7vw, 0.68rem) clamp(0.5rem, 2.3vw, 0.92rem);
font-size:0.62rem;
letter-spacing:0.1em;
line-height:1;
white-space:nowrap;
text-align:center;
}

body[data-nav="home"] .hero-copy{
width:min(92vw, 58ch);
max-width:min(92vw, 58ch);
margin-inline:auto;
font-size:clamp(0.76rem, 1.15vw, 1.08rem);
line-height:1.55;
text-align:center;
text-wrap:balance;
}

@media (min-width:761px){
header{
width:min(calc(100% - 32px), 1480px);
padding:0.82rem 1rem 0.82rem 1.18rem;
}

header .logo img{
height:54px;
}

nav{
gap:0.5rem 0.8rem;
}

nav a{
font-size:0.76rem;
letter-spacing:0.14em;
}

nav a:not(.cart-link){
padding:0.6rem 0.86rem;
}

body[data-nav="home"] .store-hero{
min-height:88vh;
min-height:88svh;
min-height:88dvh;
padding:calc(6.95rem + var(--page-safe-top, 0px)) 0 4rem;
}

body[data-nav="home"] .hero-panel{
max-width:920px;
transform:translateY(-0.35rem);
gap:0.84rem;
padding-inline:0.2rem;
}

body[data-nav="home"] .hero-logo{
width:min(100%, 1020px);
}

body[data-nav="home"] .hero-tagline{
font-size:0.92rem;
letter-spacing:0.14em;
}

body[data-nav="home"] .hero-copy{
width:min(92vw, 54ch);
max-width:min(92vw, 54ch);
font-size:0.9rem;
line-height:1.56;
}

body[data-nav="home"] .hero-actions{
width:min(100%, 470px);
gap:0.56rem;
}

body[data-nav="home"] .hero-actions .btn{
min-height:40px;
padding:0.64rem 0.9rem;
font-size:0.6rem;
letter-spacing:0.1em;
}
}

.store-hero,
.shop-hero,
.collection-hero,
.legal-hero,
.about-hero,
.product-layout,
#cart-page,
#checkout-page{
--hero-fade-progress:0;
opacity:calc(1 - (var(--hero-fade-progress) * 0.9));
transform:translate3d(0, calc(var(--hero-fade-progress) * 36px), 0) scale(calc(1 - (var(--hero-fade-progress) * 0.03)));
filter:blur(calc(var(--hero-fade-progress) * 5px)) saturate(calc(1 - (var(--hero-fade-progress) * 0.16)));
transform-origin:center top;
will-change:opacity, transform, filter;
transition:opacity 0.14s linear, transform 0.14s linear, filter 0.14s linear;
}

body[data-nav="home"] .store-hero,
body[data-nav="shop"] .shop-hero,
.collection-hero{
min-height:100vh;
min-height:100svh;
min-height:100dvh;
}

.legal-hero{
min-height:max(32rem, calc(100svh - 8rem - var(--page-safe-top)));
display:grid;
align-content:center;
}

.about-hero{
display:grid;
align-content:center;
gap:1rem;
min-height:max(34rem, calc(100svh - clamp(8rem, 11vh, 9.6rem) - var(--page-safe-top) - 2rem));
}

.about-hero > p{
margin:0;
}

.about-hero > p:not(.section-label):first-of-type{
font-size:clamp(1.05rem, 0.26vw + 1rem, 1.18rem);
line-height:1.9;
color:var(--page-ink);
}

.about-hero > p:not(.section-label){
max-width:min(58ch, 100%);
}

.about-followup{
grid-column:1 / -1;
max-width:min(62ch, 100%);
}

.about-followup p{
margin:0;
}

.product-layout{
min-height:max(32rem, calc(100svh - clamp(8rem, 11vh, 9.6rem) - var(--page-safe-top) - 2rem));
align-items:center;
}

#cart-page,
#checkout-page{
min-height:max(32rem, calc(100svh - clamp(8rem, 11vh, 9.6rem) - var(--page-safe-top) - 2rem));
display:grid;
align-content:center;
}

@media (max-width:900px){
.legal-hero{
min-height:max(29rem, calc(100svh - 7.1rem - var(--page-safe-top)));
}

.about-hero,
.product-layout,
#cart-page,
#checkout-page{
min-height:max(29rem, calc(100svh - 7rem - var(--page-safe-top) - 1.5rem));
}
}

@media (max-width:760px){
.store-hero,
.shop-hero,
.collection-hero,
.legal-hero,
.about-hero,
.product-layout,
#cart-page,
#checkout-page{
transform:translate3d(0, calc(var(--hero-fade-progress) * 28px), 0) scale(calc(1 - (var(--hero-fade-progress) * 0.025)));
}

.about-hero,
.product-layout,
#cart-page,
#checkout-page{
min-height:max(27rem, calc(100svh - 6.4rem - var(--page-safe-top) - 1.1rem));
}
}

@media (max-width:600px){
.store-hero,
.shop-hero,
.collection-hero,
.legal-hero,
.about-hero,
.product-layout,
#cart-page,
#checkout-page{
filter:blur(calc(var(--hero-fade-progress) * 4px)) saturate(calc(1 - (var(--hero-fade-progress) * 0.12)));
}

.legal-hero,
.about-hero,
.product-layout,
#cart-page,
#checkout-page{
min-height:max(24rem, calc(100svh - 5.8rem - var(--page-safe-top) - 0.8rem));
}
}

@media (prefers-reduced-motion:reduce){
.store-hero,
.shop-hero,
.collection-hero,
.legal-hero,
.about-hero,
.product-layout,
#cart-page,
#checkout-page{
opacity:1;
transform:none;
filter:none;
transition:none;
}
}
