:root { --ink:#10291f; --cream:#f8f3e9; --red:#8f211d; --deep-red:#571517; --gold:#dfa523; --light-gold:#f6d988; --green:#007a57; --line:rgba(16,41,31,.14); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:"DM Sans",sans-serif; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
.page-glow { position:fixed; border-radius:50%; filter:blur(80px); pointer-events:none; opacity:.22; z-index:-1; }
.glow-one { width:340px; height:340px; background:#f2c041; top:8%; right:-120px; }.glow-two { width:280px; height:280px; background:#a7302d; top:65%; left:-180px; }
.site-header { height:94px; max-width:1280px; margin:auto; padding:13px 34px; display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; z-index:10; transition:background .25s,box-shadow .25s,backdrop-filter .25s; }
.site-header.is-scrolled { background:rgba(248,243,233,.82); box-shadow:0 8px 25px rgba(16,41,31,.06); backdrop-filter:blur(16px); }
.brand { display:block; width:150px; height:68px; overflow:hidden; }.brand img { display:block; width:100%; height:100%; object-fit:contain; }
.site-nav { display:flex; align-items:center; gap:30px; font-size:14px; font-weight:600; }.site-nav > a:not(.nav-cta) { opacity:.7; }.site-nav > a:not(.nav-cta):hover { opacity:1; }.nav-cta { color:var(--cream); background:var(--ink); padding:13px 18px; border-radius:99px; }.menu-toggle { display:none; }
.hero { min-height:650px; max-width:1280px; margin:0 auto; padding:85px 7vw 90px; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:40px; }
.eyebrow { color:var(--green); text-transform:uppercase; letter-spacing:.13em; font-size:11px; font-weight:700; margin:0 0 19px; display:flex; gap:9px; align-items:center; }.eyebrow span { width:18px; height:1px; background:currentColor; }
h1,h2 { font-family:"Playfair Display",Georgia,serif; font-weight:600; letter-spacing:-.045em; line-height:.98; margin:0; } h1 { font-size:clamp(52px,6vw,84px); max-width:700px; } h2 { font-size:clamp(42px,4.7vw,67px); } h1 em,h2 em { color:var(--red); font-weight:600; }
.hero-text { max-width:475px; margin:26px 0 32px; line-height:1.65; font-size:16px; color:rgba(16,41,31,.75); }.hero-actions { display:flex; align-items:center; gap:24px; }.button { display:inline-flex; gap:13px; align-items:center; border-radius:99px; font-size:14px; font-weight:700; transition:transform .2s,background .2s; }.button:hover { transform:translateY(-2px); }.button-primary { color:white; background:var(--red); padding:16px 21px; box-shadow:0 10px 26px rgba(143,33,29,.18); }.button-quiet { color:var(--ink); text-decoration:underline; text-underline-offset:4px; }.availability { margin-top:58px; display:flex; gap:10px; align-items:flex-start; font-size:12px; line-height:1.5; }.availability p { margin:0; }.status-dot,.hours-title i { width:9px; height:9px; background:#41af6f; border-radius:100%; display:block; margin-top:5px; box-shadow:0 0 0 5px rgba(65,175,111,.12); }
.hero-art { height:475px; position:relative; }.hero-disc { position:absolute; border-radius:50%; }.disc-back { width:390px; height:390px; right:4%; top:0; background:var(--gold); background-image:radial-gradient(circle at 32% 22%,#ffecaa,transparent 29%),linear-gradient(145deg,#f7d570,#cd8919); }.disc-front { width:300px; height:300px; right:19%; top:82px; background:rgba(255,249,232,.52); border:1px solid rgba(255,255,255,.62); backdrop-filter:blur(10px); }.gold-sun { position:absolute; width:405px; height:405px; right:-65px; top:40px; background:repeating-conic-gradient(from 0deg,rgba(143,33,29,.3) 0 2deg, transparent 2deg 12deg); mask:radial-gradient(transparent 0 47%,#000 48%); opacity:.55; }.hero-seal { width:190px; height:190px; position:absolute; right:32%; top:133px; border:1px solid rgba(16,41,31,.2); border-radius:50%; display:flex; align-items:center; justify-content:center; transform:rotate(-10deg); background:rgba(248,243,233,.35); overflow:hidden; z-index:1; }.hero-seal img { width:112%; height:112%; object-fit:contain; mix-blend-mode:multiply; transform:rotate(10deg) scale(1.2); }.vertical-label { position:absolute; right:-13px; bottom:43px; margin:0; font-size:10px; letter-spacing:.16em; font-weight:700; writing-mode:vertical-rl; transform:rotate(180deg); }.hero-card { position:absolute; z-index:2; left:4%; bottom:22px; padding:17px 20px; width:180px; background:rgba(255,255,255,.42); border:1px solid rgba(255,255,255,.75); border-radius:13px; backdrop-filter:blur(10px); box-shadow:0 15px 30px rgba(30,26,15,.12); }.hero-card span { display:block; color:var(--green); font-size:10px; text-transform:uppercase; letter-spacing:.11em; font-weight:700; margin-bottom:5px; }.hero-card b { font:600 19px/1.16 "Playfair Display",serif; }
.section { max-width:1280px; margin:0 auto; padding:112px 7vw; }.discover { border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr; column-gap:80px; }.section-intro { align-self:end; margin:0 0 10px; max-width:410px; color:rgba(16,41,31,.72); line-height:1.65; }.category-grid { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:70px; }.category-card { min-height:276px; padding:25px; color:white; border-radius:18px; position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; transition:transform .25s; }.category-card:hover { transform:translateY(-5px); }.category-card:before { content:""; position:absolute; width:210px; height:210px; border:1px solid rgba(255,255,255,.38); border-radius:50%; right:-55px; top:-80px; }.category-card p,.category-card h3,.category-card span,.category-card i { position:relative; z-index:1; }.category-card p { position:absolute; top:3px; font-size:12px; opacity:.7; }.category-card h3 { font:600 clamp(30px,3vw,43px)/.95 "Playfair Display",serif; letter-spacing:-.04em; margin:0 0 13px; }.category-card span { font-size:12px; opacity:.82; }.category-card i { position:absolute; right:24px; bottom:24px; font-style:normal; font-size:21px; }.card-red { background:linear-gradient(145deg,#a8312b,#711719); }.card-gold { background:linear-gradient(145deg,#e9b83a,#c78c15); color:var(--ink); }.card-green { background:linear-gradient(145deg,#098b66,#005a42); }
.arrivals { max-width:none; padding-left:max(7vw,calc((100% - 1140px)/2)); padding-right:max(7vw,calc((100% - 1140px)/2)); color:var(--cream); background:var(--deep-red); display:grid; grid-template-columns:1fr 1fr; gap:80px; position:relative; overflow:hidden; }.arrivals:after { content:""; position:absolute; width:600px; height:600px; border:1px solid rgba(246,217,136,.22); border-radius:50%; top:-340px; right:-100px; box-shadow:0 0 0 25px transparent,0 0 0 26px rgba(246,217,136,.12),0 0 0 51px transparent,0 0 0 52px rgba(246,217,136,.1); }.arrivals .eyebrow { color:var(--light-gold); }.arrivals h2 em { color:var(--light-gold); }.arrivals-note { align-self:end; max-width:400px; position:relative; z-index:1; }.arrivals-note p { line-height:1.65; color:rgba(248,243,233,.78); }.arrivals-note a { color:var(--light-gold); font-weight:700; font-size:14px; border-bottom:1px solid rgba(246,217,136,.4); padding-bottom:5px; }
.visit { display:grid; grid-template-columns:1.25fr 1fr; gap:0; padding-bottom:0; }.visit-panel { padding:74px 7vw 75px 0; }.visit-panel .button { margin-top:31px; }.contact-details { padding:78px 0 45px 60px; border-left:1px solid var(--line); }.contact-block { margin-bottom:31px; }.contact-block p,.hours-title p { margin:0 0 9px; color:var(--green); font-weight:700; text-transform:uppercase; letter-spacing:.1em; font-size:10px; }.contact-block address,.contact-block a { display:block; font-style:normal; font-size:16px; line-height:1.55; }.contact-block a:hover { text-decoration:underline; text-underline-offset:4px; }.hours { grid-column:1/-1; border-top:1px solid var(--line); padding:28px 0 0; display:grid; grid-template-columns:1.25fr 1fr; }.hours-title span { display:flex; gap:10px; font-size:12px; }.hours-title i { margin-top:3px; }.hours dl { margin:0; }.hours dl > div { display:grid; grid-template-columns:1.2fr 1fr; border-bottom:1px solid var(--line); padding:13px 0; font-size:14px; }.hours dt { font-weight:700; }.hours dd { margin:0; line-height:1.45; }
.newsletter { margin-top:112px; max-width:none; padding-left:max(7vw,calc((100% - 1140px)/2)); padding-right:max(7vw,calc((100% - 1140px)/2)); background:var(--green); color:white; text-align:center; }.newsletter .eyebrow { color:var(--light-gold); justify-content:center; }.newsletter h2 em { color:var(--light-gold); }.newsletter > p:not(.eyebrow) { max-width:440px; margin:24px auto 29px; line-height:1.6; color:rgba(255,255,255,.8); }.button-light { color:var(--ink); background:var(--light-gold); padding:16px 21px; }.site-footer { max-width:1280px; margin:auto; padding:32px 7vw 38px; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; font-size:11px; color:rgba(16,41,31,.65); }.site-footer p { margin:0; text-align:center; }.site-footer p:last-child { text-align:right; }.footer-brand { color:var(--ink); font:600 19px "Playfair Display",serif; }.footer-brand em { color:var(--red); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:720px) { .site-header { height:78px; padding:9px 20px; }.site-header.is-scrolled { background:rgba(248,243,233,.9); }.brand { width:116px; height:57px; }.menu-toggle { display:grid; gap:5px; background:none; border:0; padding:10px 0 10px 10px; }.menu-toggle span:not(.sr-only) { width:24px; height:1.5px; background:var(--ink); transition:transform .2s; }.menu-toggle.is-open span:nth-child(2) { transform:translateY(3px) rotate(45deg); }.menu-toggle.is-open span:nth-child(3) { transform:translateY(-3px) rotate(-45deg); }.site-nav { display:none; position:absolute; top:74px; left:14px; right:14px; padding:17px; background:rgba(248,243,233,.96); border:1px solid var(--line); border-radius:15px; box-shadow:0 18px 35px rgba(17,29,19,.12); flex-direction:column; align-items:stretch; gap:14px; }.site-nav.is-open { display:flex; }.nav-cta { text-align:center; }.hero { min-height:auto; display:block; padding:59px 24px 61px; }.hero h1 { font-size:51px; }.hero-text { margin:23px 0 27px; font-size:15px; }.hero-actions { gap:17px; flex-wrap:wrap; }.availability { margin-top:39px; }.hero-art { height:355px; margin:48px -5px 0; }.disc-back { width:286px; height:286px; right:4%; }.disc-front { width:218px; height:218px; right:17%; top:58px; }.gold-sun { width:295px; height:295px; top:31px; right:-47px; }.hero-seal { width:143px; height:143px; right:29%; top:96px; }.hero-seal span { font-size:9px; }.vertical-label { right:1px; bottom:12px; font-size:8px; }.hero-card { left:0; bottom:2px; width:157px; padding:14px 16px; }.hero-card b { font-size:17px; }.section { padding:75px 24px; }.discover { display:block; }.section-intro { margin:24px 0 0; font-size:15px; }.category-grid { grid-template-columns:1fr; margin-top:40px; }.category-card { min-height:190px; }.arrivals { grid-template-columns:1fr; gap:28px; padding:75px 24px; }.arrivals:after { width:400px; height:400px; top:-230px; right:-155px; }.visit { display:block; padding:0 24px; }.visit-panel { padding:75px 0 61px; }.contact-details { border-left:0; border-top:1px solid var(--line); padding:35px 0 9px; }.hours { display:block; padding-top:28px; }.hours dl { margin-top:24px; }.hours dl > div { grid-template-columns:1fr 1fr; font-size:13px; }.newsletter { margin-top:75px; padding:75px 24px; }.site-footer { padding:27px 24px 31px; display:flex; flex-direction:column; gap:9px; }.site-footer p,.site-footer p:last-child { text-align:center; } }
