: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;
--ink:#f6e5dd;
--ink-soft:rgba(246,229,221,0.78);
--panel:rgba(102,31,37,0.78);
--panel-strong:rgba(122,49,55,0.9);
--red:#752329;
--red-dark:#4f141a;
--red-soft:rgba(246,229,221,0.1);
--red-glow:rgba(246,229,221,0.16);
--line:rgba(246,229,221,0.14);
--line-strong:rgba(246,229,221,0.24);
--shadow:0 28px 80px rgba(22,5,7,0.26);
--shadow-strong:0 42px 120px rgba(22,5,7,0.36);
--hero-section-height:min(104vh, 1180px);
--hero-section-height-svh:min(104svh, 1180px);
--hero-section-height-dvh:min(104dvh, 1180px);
--hero-section-height-mobile-svh:calc(86svh - 0.25rem);
--hero-section-height-mobile-dvh:calc(86dvh - 0.25rem);
--home-section-height:calc(78vh - 1rem);
--home-section-height-svh:calc(78svh - 1rem);
--home-section-height-dvh:calc(78dvh - 1rem);
--home-section-height-mobile-svh:calc(70svh - 0.75rem);
--home-section-height-mobile-dvh:calc(70dvh - 0.75rem);
}

*,
*::before,
*::after{
margin:0;
padding:0;
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;
}

main{
display:grid;
gap:0;
padding-bottom:0;
}

.store-hero,
.editorial-section,
.featured,
.about-link{
width:100%;
max-width:100%;
margin:0;
padding-left:max(16px, calc((100% - var(--site-container-raw)) / 2), env(safe-area-inset-left, 0px));
padding-right:max(16px, calc((100% - var(--site-container-raw)) / 2), env(safe-area-inset-right, 0px));
}

.store-hero{
position:relative;
min-height:var(--hero-section-height);
min-height:var(--hero-section-height-svh);
min-height:var(--hero-section-height-dvh);
padding:calc(9.8rem + env(safe-area-inset-top, 0px)) 0 7.8rem;
display:grid;
place-items:center;
overflow:hidden;
isolation:isolate;
}

.store-hero::before{
content:"";
position:absolute;
top:5rem;
left:clamp(1rem, 5vw, 6rem);
width:min(42vw, 520px);
aspect-ratio:1;
background:radial-gradient(circle, var(--red-glow) 0%, rgba(117,35,41,0) 72%);
filter:blur(10px);
pointer-events:none;
}

.store-hero::after{
content:"";
position:absolute;
inset:0;
background:
linear-gradient(180deg, rgba(20,3,6,0.18) 0%, rgba(33,9,13,0.76) 100%),
radial-gradient(circle at 22% 18%, rgba(166,74,81,0.14) 0%, rgba(166,74,81,0) 36%),
radial-gradient(circle at 82% 24%, rgba(181,138,85,0.12) 0%, rgba(181,138,85,0) 34%),
linear-gradient(90deg, rgba(25,5,8,0.72) 0%, rgba(91,23,31,0.12) 48%, rgba(25,5,8,0.66) 100%),
url("images/wine-red-fabric.jpg") center center/cover no-repeat;
opacity:1;
pointer-events:none;
}

.store-hero > *{
position:relative;
z-index:1;
}

.hero-panel{
z-index:1;
display:grid;
justify-items:center;
text-align:center;
gap:1.25rem;
padding:clamp(1rem, 2.2vw, 2rem);
width:var(--ds-container);
max-width:1040px;
justify-self:center;
transform:translateY(-2rem);
}

.hero-panel::before{
display:none;
}

.hero-panel::after{
display:none;
}

.hero-panel > *{
position:relative;
z-index:1;
}

.section-label,
.feature-kind{
display:inline-flex;
align-items:center;
justify-content:center;
width:max-content;
padding:0.55rem 0.88rem;
border:1px solid var(--line);
border-radius:999px;
background:rgba(246,229,221,0.08);
font-family:'Lora', Georgia, serif;
font-size:0.7rem;
font-weight:600;
letter-spacing:0.18em;
text-transform:uppercase;
color:var(--ink);
}

.hero-logo{
width:min(100%, 860px);
max-width:100%;
height:auto;
filter:brightness(0) invert(1) drop-shadow(0 24px 44px rgba(22,5,7,0.18));
}

.hero-tagline{
font-family:'Lora', Georgia, serif;
font-size:clamp(0.9rem, 1.15vw, 1.25rem);
font-weight:600;
letter-spacing:0.18em;
text-transform:uppercase;
color:var(--ink);
text-shadow:0 10px 24px rgba(22,5,7,0.18);
}

.hero-copy{
max-width:60ch;
margin:0;
font-size:clamp(1rem, 0.35vw + 1rem, 1.2rem);
line-height:1.8;
color:var(--ink-soft);
}

.hero-actions{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:0.85rem;
margin-top:0.4rem;
width:min(100%, 860px);
}

.editorial-section{
position:relative;
overflow:hidden;
isolation:isolate;
padding:var(--ds-section-y) 0;
}

.editorial-section::before{
content:"";
position:absolute;
inset:0;
background:
linear-gradient(90deg, rgba(33,9,13,0.86), rgba(117,35,41,0.66)),
url("images/background-5.png") center/cover no-repeat;
pointer-events:none;
}

.editorial-grid{
position:relative;
z-index:1;
width:var(--ds-container);
max-width:var(--ds-container);
margin-inline:auto;
display:grid;
grid-template-columns:minmax(0, 0.9fr) minmax(320px, 1.1fr);
gap:clamp(1.5rem, 4vw, 4rem);
align-items:center;
}

.editorial-copy{
display:grid;
gap:1rem;
}

.editorial-copy h2{
max-width:10ch;
font-size:clamp(2.4rem, 5vw, 5rem);
line-height:0.95;
text-transform:uppercase;
color:var(--ink);
}

.editorial-copy p{
max-width:58ch;
font-size:1rem;
line-height:1.8;
color:var(--ink-soft);
}

.editorial-image{
border-radius:var(--ds-radius-xl);
overflow:hidden;
border:1px solid var(--line);
box-shadow:var(--ds-shadow-strong);
}

.editorial-image img{
width:100%;
aspect-ratio:4 / 5;
object-fit:cover;
object-position:center top;
}

.featured{
position:relative;
overflow:hidden;
isolation:isolate;
display:grid;
align-content:start;
gap:1.2rem;
padding:var(--ds-section-y) 0;
padding-left:0;
padding-right:0;
}

.featured::before{
content:"";
position:absolute;
inset:0;
background:
linear-gradient(180deg, rgba(33,9,13,0.26) 0%, rgba(33,9,13,0.58) 100%),
linear-gradient(90deg, rgba(25,5,8,0.66) 0%, rgba(91,23,31,0.12) 48%, rgba(25,5,8,0.66) 100%),
url("images/background-7.png") center center/cover no-repeat;
opacity:1;
pointer-events:none;
}

.featured::after{
content:"";
position:absolute;
inset:0;
background:radial-gradient(circle at top left, rgba(246,229,221,0.18) 0%, rgba(246,229,221,0) 40%);
pointer-events:none;
}

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

.about-link{
width:100%;
max-width:none;
margin:0;
position:relative;
display:grid;
align-items:center;
overflow:hidden;
isolation:isolate;
padding:var(--ds-section-y) max(1rem, env(safe-area-inset-right, 0px)) var(--ds-section-y) max(1rem, env(safe-area-inset-left, 0px));
background:none;
}

.about-link::before{
content:"";
position:absolute;
inset:0;
background:
linear-gradient(180deg, rgba(91,23,31,0.24) 0%, rgba(91,23,31,0.52) 100%),
linear-gradient(90deg, rgba(25,5,8,0.56) 0%, rgba(117,35,41,0.14) 45%, rgba(25,5,8,0.56) 100%),
url("images/background-3.png") center center/cover no-repeat;
opacity:0.9;
transform:none;
pointer-events:none;
}

.about-link::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%);
pointer-events:none;
}

.about-link > *{
position:relative;
z-index:1;
}

.about-link-shell{
width:var(--ds-container);
max-width:var(--ds-container);
margin:0 auto;
display:grid;
grid-template-columns:minmax(0, 1fr) auto;
align-items:center;
gap:clamp(1.4rem, 3vw, 2.5rem);
padding-inline:0;
}

.about-link-copy{
display:grid;
gap:0.8rem;
max-width:44rem;
align-content:start;
}

.about-link-copy h2{
max-width:12ch;
font-size:clamp(2.4rem, 4.2vw, 4.6rem);
line-height:0.94;
text-transform:uppercase;
color:var(--ink);
}

.about-link-copy > p:last-of-type{
max-width:42ch;
font-size:1rem;
line-height:1.8;
color:var(--ink-soft);
}

.about-link-details{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:1rem;
margin-top:0.4rem;
}

.about-point{
display:grid;
gap:0.45rem;
padding-top:1rem;
border-top:1px solid rgba(246,229,221,0.14);
}

.about-point h3{
font-family:'Cormorant Garamond', Georgia, serif;
font-size:clamp(1.15rem, 1.7vw, 1.5rem);
line-height:1;
letter-spacing:0.04em;
text-transform:uppercase;
color:var(--ink);
}

.about-point p{
font-size:0.9rem;
line-height:1.75;
color:var(--ink-soft);
}

.about-link-actions{
display:flex;
flex-wrap:wrap;
justify-content:flex-end;
gap:0.85rem;
}

@media (max-width:1180px){
.store-hero{
min-height:min(98vh, 1040px);
min-height:min(98svh, 1040px);
min-height:min(98dvh, 1040px);
padding:calc(8.9rem + env(safe-area-inset-top, 0px)) 0 6.4rem;
}

.hero-panel{
max-width:920px;
transform:translateY(-1.35rem);
gap:1.05rem;
}

.hero-logo{
width:min(100%, 760px);
}

.hero-copy{
max-width:50ch;
font-size:clamp(0.98rem, 0.28vw + 0.96rem, 1.08rem);
line-height:1.74;
}

.hero-actions{
width:min(100%, 720px);
}

.editorial-grid{
grid-template-columns:minmax(0, 0.95fr) minmax(280px, 1fr);
gap:clamp(1.2rem, 3vw, 2.5rem);
}

.editorial-copy h2{
max-width:9ch;
font-size:clamp(2.15rem, 4.2vw, 4rem);
}

.editorial-copy p{
max-width:46ch;
font-size:0.96rem;
line-height:1.72;
}

.about-link-copy h2{
font-size:clamp(2.2rem, 4vw, 3.8rem);
}
}

@media (max-width:1024px){
.store-hero{
min-height:84vh;
min-height:84svh;
min-height:84dvh;
padding:calc(6.9rem + env(safe-area-inset-top, 0px)) 0 3.8rem;
}

.hero-panel{
max-width:760px;
transform:translateY(-0.45rem);
gap:0.8rem;
padding:0.6rem 0.2rem;
}

.hero-logo{
width:min(100%, 560px);
}

.hero-tagline{
font-size:0.8rem;
letter-spacing:0.1em;
}

.hero-copy{
max-width:33ch;
font-size:0.86rem;
line-height:1.56;
}

.hero-actions{
width:min(100%, 560px);
gap:0.7rem;
}

.hero-actions .btn{
padding:0.82rem 1rem;
font-size:0.7rem;
}

.editorial-section{
padding-top:2.5rem;
padding-bottom:2.5rem;
}

.editorial-grid{
gap:1rem;
}

.editorial-copy h2{
max-width:8ch;
font-size:clamp(1.9rem, 7vw, 2.8rem);
}

.editorial-copy p{
max-width:32ch;
font-size:0.86rem;
line-height:1.58;
}
}

.featured-slider{
position:relative;
width:100%;
max-width:none;
margin-inline:auto;
overflow:hidden;
}

.featured-track{
--track-gap:clamp(0.9rem, 1.7vw, 1.3rem);
display:flex;
align-items:stretch;
gap:var(--track-gap);
width:max-content;
transform:translate3d(0, 0, 0);
will-change:transform;
}

.feature-slide{
display:grid;
grid-template-rows:auto minmax(0, 1fr);
gap:0;
flex:0 0 clamp(240px, 24vw, 360px);
align-items:stretch;
opacity:1;
visibility:visible;
pointer-events:auto;
transform:none;
text-decoration:none;
color:var(--ink);
border-radius:30px;
overflow:hidden;
border:1px solid var(--line);
background:rgba(91,23,31,0.76);
box-shadow:var(--shadow);
transition:transform 0.3s ease, border-color 0.3s ease, background 0.3s ease;
}

.feature-slide:hover{
transform:translateY(-4px);
border-color:var(--line-strong);
background:rgba(117,35,41,0.84);
}

.feature-slide figure{
position:relative;
overflow:hidden;
margin:0;
aspect-ratio:4 / 5;
min-height:clamp(230px, 32vh, 360px);
border:none;
box-shadow:none;
background:rgba(91,23,31,0.78);
}

.feature-slide figure::after{
content:"";
position:absolute;
inset:0;
background:
linear-gradient(180deg, rgba(117,35,41,0.04) 0%, rgba(17,12,13,0.2) 100%),
radial-gradient(circle at top, rgba(246,229,221,0.16) 0%, rgba(246,229,221,0) 48%);
}

.feature-slide img{
width:100%;
height:100%;
display:block;
object-fit:cover;
object-position:center top;
}

.feature-content{
display:grid;
grid-template-rows:auto auto 1fr auto;
align-content:stretch;
gap:0.75rem;
padding:clamp(0.9rem, 1.6vw, 1.1rem);
min-height:200px;
border:none;
border-top:1px solid var(--line);
background:linear-gradient(180deg, rgba(91,23,31,0.24) 0%, rgba(91,23,31,0.82) 100%);
box-shadow:none;
}

.feature-slide-top{
display:flex;
justify-content:space-between;
align-items:flex-start;
gap:0.75rem;
}

.feature-name{
font-family:'Cormorant Garamond', Georgia, serif;
font-size:clamp(1.2rem, 1.7vw, 1.65rem);
line-height:0.94;
text-transform:uppercase;
color:var(--ink);
}

.feature-price{
font-family:'Cormorant Garamond', Georgia, serif;
font-size:1rem;
letter-spacing:0.03em;
color:var(--ink);
}

.feature-text{
font-size:0.82rem;
line-height:1.5;
color:var(--ink-soft);
}

.feature-slide-logo figure{
display:grid;
place-items:center;
background:
linear-gradient(180deg, rgba(117,35,41,0.06) 0%, rgba(17,12,13,0.14) 100%),
url("images/wine-red-fabric.jpg") center center/cover no-repeat;
}

.feature-slide-logo figure::after{
background:
linear-gradient(180deg, rgba(117,35,41,0.18) 0%, rgba(17,12,13,0.14) 100%),
radial-gradient(circle at center, rgba(246,229,221,0.24) 0%, rgba(246,229,221,0) 55%);
}

.feature-slide-logo img{
width:44%;
height:auto;
object-fit:contain;
filter:brightness(0) invert(1);
}

.fade{
opacity:0;
transform:translateY(28px);
transition:opacity 0.9s ease, transform 0.9s ease;
}

.fade.visible{
opacity:1;
transform:translateY(0);
}

.hero-panel > *{
opacity:0;
transform:translateY(28px);
}

body{
}

body.page-ready .hero-panel > *:nth-child(1){
animation:fadeUp 0.85s cubic-bezier(0.2, 0.7, 0.2, 1) 0.08s both;
}

body.page-ready .hero-panel > *:nth-child(2){
animation:fadeUp 0.85s cubic-bezier(0.2, 0.7, 0.2, 1) 0.18s both;
}

body.page-ready .hero-panel > *:nth-child(3){
animation:fadeUp 0.85s cubic-bezier(0.2, 0.7, 0.2, 1) 0.28s both;
}

body.page-ready .hero-panel > *:nth-child(4){
animation:fadeUp 0.85s cubic-bezier(0.2, 0.7, 0.2, 1) 0.38s both;
}

body.page-ready .hero-panel > *:nth-child(5){
animation:fadeUp 0.85s cubic-bezier(0.2, 0.7, 0.2, 1) 0.48s both;
}

@keyframes fadeUp{
0%{opacity:0;transform:translateY(34px);}
100%{opacity:1;transform:translateY(0);}
}

@media (max-width:1100px){
.editorial-grid{
grid-template-columns:minmax(0, 1fr) minmax(280px, 0.95fr);
}

.featured-slider{
width:var(--ds-container);
max-width:var(--ds-container);
}
}

@media (max-width:900px){
.store-hero{
min-height:80vh;
min-height:80svh;
min-height:80dvh;
padding:calc(6.2rem + var(--page-safe-top, 0px)) 0 3.5rem;
}

.hero-panel{
max-width:680px;
transform:translateY(-0.2rem);
padding-inline:0.25rem;
gap:0.78rem;
}

.hero-logo{
width:min(100%, 520px);
}

.hero-tagline{
font-size:0.82rem;
letter-spacing:0.11em;
}

.hero-copy{
max-width:32ch;
font-size:0.86rem;
line-height:1.58;
}

.hero-actions{
width:min(100%, 520px);
gap:0.7rem;
}

.hero-actions .btn{
flex:1 1 220px;
padding:0.84rem 1rem;
font-size:0.7rem;
}

.editorial-grid,
.about-link-shell{
grid-template-columns:1fr;
justify-items:start;
}

.editorial-copy{
max-width:100%;
}

.editorial-copy h2{
max-width:7ch;
}

.editorial-copy p{
max-width:34ch;
font-size:0.84rem;
line-height:1.56;
}

.editorial-image{
max-width:720px;
width:100%;
}

.about-link-details{
grid-template-columns:1fr;
}

.about-link-actions{
justify-content:flex-start;
}
}

@media (max-width:760px){
main{
gap:0;
}

.store-hero,
.editorial-section,
.featured,
.about-link{
padding-left:max(16px, env(safe-area-inset-left, 0px));
padding-right:max(16px, env(safe-area-inset-right, 0px));
}

.store-hero{
min-height:78vh;
min-height:78svh;
min-height:78dvh;
padding:calc(6.6rem + var(--page-safe-top, 0px)) 0 3rem;
}

.hero-panel{
padding:1rem 0.1rem 1rem;
transform:translateY(-0.55rem);
gap:1rem;
}

.hero-tagline{
font-size:0.94rem;
letter-spacing:0.12em;
}

.hero-copy{
max-width:34ch;
font-size:0.98rem;
line-height:1.72;
}

.hero-actions{
width:100%;
}

.hero-actions .btn{
width:100%;
flex:1 1 auto;
}

.about-link-actions{
width:100%;
}

.editorial-section,
.featured,
.about-link{
padding-top:var(--ds-section-y-mobile);
padding-bottom:var(--ds-section-y-mobile);
}

.featured{
padding-left:0;
padding-right:0;
}

.featured-track{
--track-gap:0.85rem;
}

.feature-slide{
flex-basis:min(74vw, 286px);
grid-template-rows:170px auto;
}

.feature-slide figure{
min-height:170px;
}

.feature-content{
padding:0.86rem;
min-height:180px;
}

.about-link{
padding-top:var(--ds-section-y-mobile);
padding-bottom:var(--ds-section-y-mobile);
}

.about-link-shell{
gap:1.2rem;
align-items:start;
}

.about-link-copy{
max-width:100%;
}

.about-link-copy h2{
max-width:11ch;
}

.about-link-copy > p:last-of-type{
max-width:40ch;
font-size:0.95rem;
line-height:1.7;
}

.about-point{
padding-top:0.8rem;
}

.about-point p{
font-size:0.86rem;
line-height:1.65;
}

.about-link .btn,
.editorial-copy .btn{
width:100%;
}
}

@media (max-width:600px){
.hero-logo{
width:min(100%, 410px);
}

.feature-slide,
.featured-slider{
width:auto;
}

.feature-slide{
flex-basis:clamp(210px, 76vw, 250px);
border-radius:26px;
}

.store-hero{
min-height:68vh;
min-height:68svh;
min-height:68dvh;
padding:calc(5.8rem + var(--page-safe-top, 0px)) 0 1.85rem;
}

.hero-panel{
transform:translateY(-0.25rem);
max-width:100%;
gap:0.82rem;
}

.hero-copy{
max-width:29ch;
font-size:0.88rem;
line-height:1.6;
}

.editorial-grid{
gap:0.95rem;
}

.editorial-copy h2{
font-size:clamp(1.9rem, 9.4vw, 2.55rem);
max-width:8ch;
line-height:0.94;
}

.editorial-copy p{
max-width:32ch;
font-size:0.88rem;
line-height:1.62;
}

.editorial-image{
border-radius:26px;
}

.editorial-section{
padding-top:2.4rem;
padding-bottom:2.4rem;
}

.about-link-copy h2{
font-size:clamp(2rem, 10vw, 2.8rem);
}

.feature-name{
font-size:clamp(1.1rem, 6vw, 1.4rem);
}

.feature-text{
font-size:0.78rem;
}

.btn{
padding:0.82rem 1.05rem;
font-size:0.7rem;
}
}

@media (max-width:430px){
.store-hero{
min-height:63vh;
min-height:63svh;
min-height:63dvh;
padding-top:calc(5.45rem + var(--page-safe-top, 0px));
padding-bottom:1.35rem;
}

.hero-panel{
transform:translateY(0);
padding-inline:0;
gap:0.72rem;
}

.hero-tagline{
font-size:0.74rem;
letter-spacing:0.08em;
}

.hero-logo{
width:min(100%, 360px);
}

.hero-copy{
font-size:0.82rem;
line-height:1.56;
max-width:25ch;
}

.hero-actions{
gap:0.65rem;
}

.hero-actions .btn{
padding:0.8rem 0.92rem;
font-size:0.68rem;
}

.feature-slide{
flex-basis:min(82vw, 236px);
border-radius:22px;
}

.feature-slide figure{
min-height:160px;
}

.feature-content{
min-height:168px;
padding:0.8rem;
}

.about-link-copy h2{
font-size:clamp(1.65rem, 9vw, 2.2rem);
}

.about-link-copy > p:last-of-type{
font-size:0.88rem;
}

.about-point h3{
font-size:1rem;
}

.about-point p{
font-size:0.82rem;
}

.editorial-section{
padding-top:2rem;
padding-bottom:2rem;
}

.editorial-copy h2{
font-size:clamp(1.72rem, 8.8vw, 2.05rem);
max-width:7ch;
}

.editorial-copy p{
max-width:28ch;
font-size:0.82rem;
line-height:1.56;
}
}

@media (max-width:390px){
.store-hero{
min-height:60vh;
min-height:60svh;
min-height:60dvh;
padding-top:calc(5.2rem + var(--page-safe-top, 0px));
padding-bottom:1.1rem;
}

.hero-logo{
width:min(100%, 320px);
}

.hero-copy{
max-width:23ch;
font-size:0.78rem;
line-height:1.5;
}

.feature-slide{
flex-basis:min(84vw, 222px);
}

.hero-tagline{
font-size:0.7rem;
}

.editorial-copy h2{
font-size:clamp(1.54rem, 8.4vw, 1.9rem);
}

.editorial-copy p{
font-size:0.78rem;
line-height:1.5;
}
}

@media (max-width:1024px){
.store-hero{
min-height:91vh;
min-height:91svh;
min-height:91dvh;
padding:calc(6.9rem + var(--page-safe-top, 0px)) 0 5rem;
}

.hero-panel{
max-width:780px;
transform:translateY(-0.18rem);
gap:0.92rem;
}

.hero-logo{
width:min(100%, 610px);
}

.hero-copy{
max-width:35ch;
font-size:0.9rem;
line-height:1.62;
}

.hero-actions{
width:min(100%, 620px);
}
}

@media (max-width:900px){
.store-hero{
min-height:89vh;
min-height:89svh;
min-height:89dvh;
padding:calc(6.25rem + var(--page-safe-top, 0px)) 0 4.5rem;
}

.hero-logo{
width:min(100%, 570px);
}

.hero-tagline{
font-size:0.84rem;
letter-spacing:0.11em;
}

.hero-copy{
max-width:33ch;
font-size:0.88rem;
line-height:1.6;
}

.hero-actions{
width:min(100%, 560px);
}
}

@media (max-width:760px){
.store-hero{
min-height:87vh;
min-height:87svh;
min-height:87dvh;
padding:calc(6.7rem + var(--page-safe-top, 0px)) 0 4.15rem;
}

.hero-panel{
gap:0.84rem;
}

.hero-logo{
width:min(100%, 520px);
}
}

@media (max-width:600px){
.store-hero{
min-height:85vh;
min-height:85svh;
min-height:85dvh;
padding:calc(6.35rem + var(--page-safe-top, 0px)) 0 3.7rem;
}

.hero-logo{
width:min(100%, 470px);
}

.hero-copy{
max-width:30ch;
font-size:0.86rem;
line-height:1.58;
}
}

@media (max-width:430px){
.store-hero{
min-height:82vh;
min-height:82svh;
min-height:82dvh;
padding-top:calc(5.95rem + var(--page-safe-top, 0px));
padding-bottom:3.2rem;
}

.hero-logo{
width:min(100%, 410px);
}

.hero-copy{
max-width:27ch;
font-size:0.82rem;
line-height:1.54;
}
}

@media (max-width:390px){
.store-hero{
min-height:79vh;
min-height:79svh;
min-height:79dvh;
padding-top:calc(5.65rem + var(--page-safe-top, 0px));
padding-bottom:2.9rem;
}

.hero-logo{
width:min(100%, 360px);
}

.hero-copy{
max-width:25ch;
font-size:0.78rem;
line-height:1.5;
}
}

@media (prefers-reduced-motion:reduce){
.hero-panel > *,
.fade{
opacity:1;
transform:none;
animation:none !important;
transition:none !important;
}

.featured-slider{
overflow-x:auto;
scroll-snap-type:x proximity;
}

.featured-track{
transform:none;
}

.feature-slide{
scroll-snap-align:start;
}

body{
opacity:1;
transition:none;
}
}

@media (max-width:1024px){
.store-hero{
min-height:94vh;
min-height:94svh;
min-height:94dvh;
padding-bottom:5.4rem;
}
}

@media (max-width:900px){
.store-hero{
min-height:93vh;
min-height:93svh;
min-height:93dvh;
padding-bottom:5rem;
}
}

@media (max-width:760px){
.store-hero{
min-height:91vh;
min-height:91svh;
min-height:91dvh;
padding-bottom:4.6rem;
}
}

@media (max-width:600px){
.store-hero{
min-height:89vh;
min-height:89svh;
min-height:89dvh;
padding-bottom:4.1rem;
}
}

@media (max-width:430px){
.store-hero{
min-height:87vh;
min-height:87svh;
min-height:87dvh;
padding-bottom:3.7rem;
}
}

@media (max-width:390px){
.store-hero{
min-height:85vh;
min-height:85svh;
min-height:85dvh;
padding-bottom:3.3rem;
}
}

body.site-locked{
overflow:hidden;
}

body.site-locked header,
body.site-locked main,
body.site-locked footer{
filter:blur(18px) saturate(0.7);
transform:scale(0.985);
pointer-events:none;
user-select:none;
}

body.site-unlocked header,
body.site-unlocked main,
body.site-unlocked footer,
body.site-locked header,
body.site-locked main,
body.site-locked footer{
transition:
filter 0.7s ease,
transform 0.7s ease,
opacity 0.7s ease;
}

.site-gate{
position:fixed;
inset:0;
display:grid;
place-items:center;
padding:clamp(1rem, 4vw, 2rem);
background:
linear-gradient(180deg, rgba(18,3,6,0.9) 0%, rgba(58,16,21,0.96) 100%),
radial-gradient(circle at 18% 20%, rgba(246,229,221,0.12) 0%, rgba(246,229,221,0) 34%),
radial-gradient(circle at 82% 18%, rgba(181,138,85,0.14) 0%, rgba(181,138,85,0) 30%),
url("images/wine-red-fabric.jpg") center/cover no-repeat;
z-index:3400;
opacity:1;
visibility:visible;
transition:opacity 0.65s ease, visibility 0.65s ease, transform 0.65s ease;
}

.site-gate::before{
content:"";
position:absolute;
inset:clamp(0.8rem, 3vw, 1.8rem);
border:1px solid rgba(246,229,221,0.12);
border-radius:clamp(28px, 5vw, 46px);
pointer-events:none;
}

.site-gate__panel{
position:relative;
display:grid;
justify-items:start;
gap:0.95rem;
width:min(100%, 620px);
padding:clamp(1.4rem, 4vw, 2.5rem);
border:1px solid rgba(246,229,221,0.14);
border-radius:clamp(28px, 4vw, 38px);
background:
linear-gradient(180deg, rgba(43,10,14,0.9) 0%, rgba(26,6,9,0.92) 100%);
box-shadow:0 38px 110px rgba(8,2,4,0.42);
backdrop-filter:blur(20px);
-webkit-backdrop-filter:blur(20px);
overflow:hidden;
}

.site-gate__panel::before{
content:"";
position:absolute;
inset:auto -12% 48% 34%;
height:220px;
background:radial-gradient(circle, rgba(181,138,85,0.22) 0%, rgba(181,138,85,0) 72%);
pointer-events:none;
}

.site-gate__mark{
width:72px;
height:72px;
display:grid;
place-items:center;
padding:0.7rem;
border:1px solid rgba(246,229,221,0.16);
border-radius:24px;
background:rgba(246,229,221,0.06);
box-shadow:0 18px 34px rgba(5,1,2,0.2);
}

.site-gate__mark img{
width:100%;
height:100%;
object-fit:contain;
filter:brightness(0) invert(1);
}

.site-gate__eyebrow{
display:inline-flex;
align-items:center;
justify-content:center;
padding:0.52rem 0.84rem;
border:1px solid rgba(246,229,221,0.12);
border-radius:999px;
background:rgba(246,229,221,0.08);
font-size:0.68rem;
font-weight:600;
letter-spacing:0.18em;
text-transform:uppercase;
color:var(--ink);
}

.site-gate h1{
font-family:'Cormorant Garamond', Georgia, serif;
font-size:clamp(2.7rem, 7vw, 5rem);
line-height:0.9;
letter-spacing:0.04em;
text-transform:uppercase;
color:var(--ink);
}

.site-gate__copy{
max-width:42ch;
font-size:clamp(0.95rem, 0.4vw + 0.9rem, 1.12rem);
line-height:1.72;
color:var(--ink-soft);
}

.site-gate__form{
display:grid;
gap:0.8rem;
width:min(100%, 440px);
margin-top:0.25rem;
}

.site-gate__label{
font-size:0.72rem;
font-weight:600;
letter-spacing:0.16em;
text-transform:uppercase;
color:var(--ink);
}

.site-gate__controls{
display:grid;
grid-template-columns:minmax(0, 1fr) auto;
gap:0.75rem;
width:100%;
}

.site-gate__input{
width:100%;
min-height:54px;
padding:0.95rem 1rem;
border:1px solid rgba(246,229,221,0.16);
border-radius:20px;
background:rgba(246,229,221,0.08);
color:var(--ink);
font-size:1rem;
letter-spacing:0.18em;
text-transform:uppercase;
outline:none;
box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);
transition:border-color 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}

.site-gate__input::placeholder{
letter-spacing:0.08em;
text-transform:none;
color:rgba(246,229,221,0.42);
}

.site-gate__input:focus{
border-color:rgba(246,229,221,0.34);
background:rgba(246,229,221,0.11);
box-shadow:0 0 0 4px rgba(246,229,221,0.08);
}

.site-gate__submit{
min-height:54px;
padding:0.95rem 1.2rem;
border:1px solid rgba(246,229,221,0.16);
border-radius:20px;
background:linear-gradient(180deg, rgba(143,47,53,0.94) 0%, rgba(91,23,31,0.98) 100%);
color:var(--ink);
font-family:'Lora', Georgia, serif;
font-size:0.76rem;
font-weight:600;
letter-spacing:0.16em;
text-transform:uppercase;
cursor:pointer;
box-shadow:0 18px 32px rgba(15,3,5,0.24);
transition:transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, filter 0.3s ease;
}

.site-gate__submit:hover{
transform:translateY(-1px);
border-color:rgba(246,229,221,0.24);
box-shadow:0 22px 36px rgba(15,3,5,0.3);
filter:brightness(1.05);
}

.site-gate__hint,
.site-gate__feedback{
min-height:1.2rem;
font-size:0.76rem;
line-height:1.55;
color:rgba(246,229,221,0.62);
}

.site-gate__feedback{
color:rgba(246,229,221,0.82);
}

.site-gate.is-error .site-gate__input{
border-color:rgba(255,190,190,0.48);
box-shadow:0 0 0 4px rgba(255,190,190,0.08);
}

.site-gate.is-error .site-gate__feedback{
color:#ffd0d0;
}

.site-gate.is-success .site-gate__panel{
border-color:rgba(181,138,85,0.3);
box-shadow:0 38px 110px rgba(8,2,4,0.42), 0 0 0 1px rgba(181,138,85,0.1);
}

body.site-unlocked .site-gate{
opacity:0;
visibility:hidden;
transform:scale(1.02);
pointer-events:none;
}

@media (max-width:600px){
.site-gate__panel{
justify-items:stretch;
padding:1.25rem;
gap:0.82rem;
}

.site-gate__mark{
width:64px;
height:64px;
}

.site-gate__controls{
grid-template-columns:1fr;
}

.site-gate__submit{
width:100%;
}
}

@media (max-width:430px){
.site-gate{
padding:0.7rem;
}

.site-gate::before{
inset:0.45rem;
border-radius:24px;
}

.site-gate__panel{
padding:1rem;
gap:0.72rem;
border-radius:26px;
}

.site-gate__mark{
width:56px;
height:56px;
padding:0.6rem;
border-radius:20px;
}

.site-gate h1{
font-size:clamp(2.1rem, 11vw, 3rem);
}

.site-gate__copy{
font-size:0.84rem;
line-height:1.6;
max-width:30ch;
}

.site-gate__eyebrow,
.site-gate__label{
letter-spacing:0.14em;
}

.site-gate__input,
.site-gate__submit{
min-height:50px;
padding:0.86rem 0.92rem;
border-radius:18px;
}

.site-gate__submit{
font-size:0.72rem;
}

.site-gate__hint,
.site-gate__feedback{
font-size:0.72rem;
line-height:1.48;
}
}
