@font-face{font-family:Fraunces;src:url("assets/fonts/fraunces-700-new.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Karla;src:url("assets/fonts/karla-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Karla;src:url("assets/fonts/karla-600.woff2") format("woff2");font-weight:600 700;font-style:normal;font-display:swap}

:root{
  --cream:#f8f0e4;--paper:#fffaf2;--paper-2:#f4e7d7;--wine:#7c1025;--wine-dark:#510a19;
  --clay:#bd4a24;--gold:#c88b2b;--ink:#321d16;--muted:#715f54;--line:#ddcbb7;
  --shadow:0 14px 42px rgba(84,46,29,.1);--radius-s:12px;--radius:20px;--radius-l:28px;
  --serif:Fraunces,Georgia,serif;--sans:Karla,Arial,sans-serif;--shell:min(1240px,calc(100% - 56px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.is-locked{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{color:inherit}
.shell{width:var(--shell);margin-inline:auto}
.section{padding-block:54px}
.skip-link{position:fixed;top:8px;left:8px;z-index:1000;padding:10px 14px;background:var(--paper);transform:translateY(-160%);border-radius:999px}
.skip-link:focus{transform:none}
.eyebrow{margin:0 0 8px;color:var(--wine);font-size:.74rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.eyebrow-light{color:#f6ca75}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--serif);line-height:.98;letter-spacing:-.035em}
h2{font-size:clamp(2rem,3.2vw,3.55rem);margin-bottom:18px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:11px 25px;border:1px solid transparent;border-radius:999px;font:700 .92rem/1 var(--sans);cursor:pointer;transition:transform .45s ease,background .45s ease,color .45s ease,border-color .45s ease,box-shadow .45s ease}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--wine);color:#fff;box-shadow:0 8px 24px rgba(124,16,37,.16)}
.button-primary:hover{background:var(--wine-dark);box-shadow:0 12px 28px rgba(124,16,37,.22)}
.button-light{background:var(--paper);color:var(--ink);border-color:#f0dbc1}
.button-light:hover{background:#fff}
.button-outline{background:transparent;border-color:#bda58d;color:var(--wine)}
.button-outline:hover{background:#fff9f0;border-color:var(--wine)}
.text-link{display:inline-flex;align-items:center;gap:12px;color:var(--wine);font-weight:700;border-bottom:1px solid currentColor;padding-bottom:3px}
.media-frame{margin:0;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow);background:#d9c2ac}
.media-frame img{width:100%;height:100%;object-fit:cover}

/* header */
.site-header{position:relative;z-index:50;background:rgba(255,250,242,.98);border-bottom:1px solid rgba(124,16,37,.12)}
.header-inner{min-height:92px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px}
.brand{display:inline-flex;align-items:center;gap:10px;min-width:max-content}
.brand img{width:68px;height:68px;object-fit:contain;filter:drop-shadow(0 7px 14px rgba(78,35,18,.16))}
.brand span{display:grid}
.brand strong{font:700 1.58rem/1 var(--serif);letter-spacing:-.025em}
.brand small{margin-top:6px;color:var(--wine);font-size:.63rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.desktop-nav{display:flex;align-items:center;justify-content:center;gap:23px;font-size:.91rem}
.desktop-nav a{position:relative;padding:34px 0 31px}
.desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:25px;height:2px;background:var(--wine);transition:right .35s ease}
.desktop-nav a:hover::after,.desktop-nav .is-active::after{right:0}
.header-contact{display:flex;align-items:center;gap:16px;color:var(--wine);font-size:.91rem;line-height:1.28}
.header-contact>a:first-child{white-space:nowrap;padding:10px 13px;border-radius:999px;background:rgba(124,16,37,.055);font-size:1rem}
.header-place{padding-left:16px;border-left:1px solid var(--line);font-size:.91rem}
.header-place span{color:var(--wine)}
.header-place small{color:var(--muted);font-size:.8rem}
.menu-toggle,.mobile-menu{display:none}

/* hero */
.hero{position:relative;min-height:535px;color:#fff;overflow:hidden;background:#2a160f}
.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%}
.hero-image{object-fit:cover;object-position:center 57%;filter:saturate(.9) contrast(1.02) brightness(.93);transform:scale(1.015);animation:hero-settle 1.4s cubic-bezier(.2,.7,.2,1) both}
.hero-shade{background:linear-gradient(90deg,rgba(28,9,7,.92) 0%,rgba(28,9,7,.76) 33%,rgba(28,9,7,.22) 62%,rgba(28,9,7,.08) 100%),linear-gradient(0deg,rgba(29,10,7,.34),transparent 42%)}
.hero-inner{position:relative;min-height:535px;display:flex;align-items:center;padding-block:58px}
.hero-copy{width:min(620px,52%);position:relative;z-index:2}
.hero-copy h1{font-size:clamp(3.65rem,5.15vw,5.2rem);margin:0 0 17px;color:#fff8ee;text-shadow:0 3px 24px rgba(0,0,0,.18)}
.hero-copy h1 span{white-space:nowrap}
.hero-lead{max-width:500px;margin-bottom:22px;font:1.19rem/1.35 var(--serif);color:#f7ede1}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.hero-meta{margin:26px 0 0;display:flex;align-items:center;gap:20px;font-size:.91rem;color:#eadccd}
.hero-meta span::before{content:"⌖";margin-right:7px;color:#f1bc60}
.hero-meta a::before{content:"☎";margin-right:7px;color:#f1bc60}
.hero-meta a{font-size:1rem;font-weight:700;color:#fff}
.hero-note{position:absolute;margin:0;color:#fff5e8;font:italic 1.35rem/1.03 var(--serif);transform:rotate(-7deg);text-align:center;text-shadow:0 2px 18px rgba(0,0,0,.5)}
.hero-note-one{top:55px;left:51%}
.hero-note-two{right:25px;bottom:34px;transform:rotate(-5deg)}
@keyframes hero-settle{from{opacity:.2;transform:scale(1.08)}to{opacity:1;transform:scale(1.015)}}

/* value strip */
.value-strip{position:relative;z-index:4;margin-top:-1px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 10px 30px rgba(74,39,22,.06)}
.value-grid{display:grid;grid-template-columns:repeat(4,1fr);padding-block:18px}
.value-grid article{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;align-items:center;padding:4px 22px;border-right:1px solid var(--line)}
.value-grid article:last-child{border-right:0}
.line-icon{grid-row:1/3;width:32px;height:32px;display:grid;place-items:center;color:var(--wine);font:1.3rem/1 var(--serif)}
.value-grid strong{font:700 1rem/1.15 var(--serif)}
.value-grid small{margin-top:3px;color:var(--muted);font-size:.72rem}

/* story */
.story{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,43%) 1fr;align-items:center;gap:42px;padding-top:92px;padding-bottom:92px}
.story::before{content:"";position:absolute;z-index:-1;inset:0 auto 0 50%;width:100vw;transform:translateX(-50%);background:linear-gradient(100deg,#f8efe3 0%,#fbf5ec 52%,#f7ecdf 100%);border-bottom:1px solid rgba(124,16,37,.08)}
.story-photo{height:360px;position:relative}
.story-photo img{object-position:center center}
.story-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(28,11,8,.72))}
.story-photo figcaption{position:absolute;z-index:2;left:20px;bottom:15px;color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.story-copy{position:relative;padding:24px 138px 24px 0}
.story-copy::after{content:"";position:absolute;top:25px;right:4px;bottom:25px;width:1px;background:linear-gradient(var(--gold),transparent)}
.story-copy p:not(.eyebrow,.story-mark){max-width:650px;margin-bottom:12px;color:var(--muted)}
.story-copy .button{margin-top:8px}
.story-mark{position:absolute;right:0;top:64px;width:118px;margin:0;color:var(--wine);font:italic 1rem/1.12 var(--serif);transform:rotate(-5deg)}

/* products */
.products{position:relative;isolation:isolate;padding-top:78px;padding-bottom:88px}
.products::before{content:"";position:absolute;z-index:-1;inset:0 auto 0 50%;width:100vw;transform:translateX(-50%);background:#fffaf2;border-bottom:1px solid var(--line)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.section-heading h2{margin-bottom:12px}
.section-heading>p{margin-bottom:16px;color:var(--wine);font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.product-card{overflow:hidden;background:rgba(255,250,242,.85);border:1px solid var(--line);border-radius:var(--radius-s);transition:transform .55s ease,box-shadow .55s ease,border-color .55s ease}
.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#c89f76}
.product-image{height:212px;overflow:hidden;background:#dcc4ae}
.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.product-card:nth-child(1) img{object-position:center 52%}.product-card:nth-child(2) img{object-position:center 52%}.product-card:nth-child(3) img{object-position:center 45%}.product-card:nth-child(4) img{object-position:center 52%}
.product-card:hover img{transform:scale(1.025)}
.product-copy{position:relative;padding:14px 48px 14px 15px;min-height:100px}
.product-copy h3{font-size:1.32rem;margin-bottom:5px}
.product-copy p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.3}
.product-copy>a{position:absolute;right:13px;bottom:17px;width:32px;height:32px;display:grid;place-items:center;border:1px solid #a89078;border-radius:50%;font-size:1.05rem;transition:background .35s,color .35s,border-color .35s}
.product-copy>a:hover{background:var(--wine);border-color:var(--wine);color:#fff}

/* current / pre-order */
.current{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,44%) 1fr;align-items:center;gap:clamp(42px,6vw,84px);padding-block:88px;color:#fffaf2}
.current::before{content:"";position:absolute;z-index:-1;inset:0 auto 0 50%;width:100vw;transform:translateX(-50%);background:radial-gradient(circle at 18% 20%,rgba(200,139,43,.2),transparent 32%),linear-gradient(115deg,#420812 0%,#650d20 58%,#7c1025 100%)}
.current-visual{position:relative;height:405px;margin:0;overflow:hidden;border:1px solid rgba(255,250,242,.22);border-radius:var(--radius-l);box-shadow:0 25px 60px rgba(24,3,7,.32)}
.current-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 54%,rgba(31,5,9,.72))}
.current-visual img{width:100%;height:100%;object-fit:cover;object-position:center 58%;filter:saturate(.9) contrast(1.03)}
.current-visual figcaption{position:absolute;z-index:2;left:24px;bottom:22px;display:grid;color:#fff;font:italic 1.15rem/1.05 var(--serif);transform:rotate(-3deg);text-shadow:0 3px 16px rgba(0,0,0,.35)}
.current-visual figcaption span{color:#f5c66f;font-size:2rem}
.current-copy{max-width:650px}.current-copy .eyebrow{color:#f5c66f}.current-copy h2{max-width:620px;margin-bottom:22px;font-size:clamp(2.6rem,4vw,4.2rem)}
.current-copy>p:not(.eyebrow,.current-note){max-width:610px;margin-bottom:24px;color:rgba(255,250,242,.8);font-size:1.02rem}
.current-points{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:28px}.current-points span{padding:7px 12px;border:1px solid rgba(255,250,242,.24);border-radius:999px;background:rgba(255,250,242,.07);color:#fff8ec;font-size:.72rem;font-weight:700;letter-spacing:.015em}
.current .button-light{min-height:50px;padding-inline:29px}.current-note{max-width:520px;margin:15px 0 0;color:rgba(255,250,242,.64);font-size:.76rem}

/* service */
.service{display:grid;grid-template-columns:44% 1fr;gap:46px;align-items:center;margin-block:92px;padding:38px;background:linear-gradient(115deg,#f0dfcc,#f6eadc 70%);border:1px solid #ddc3a8;border-radius:var(--radius-l);box-shadow:0 16px 45px rgba(84,46,29,.08)}
.service-photo{height:370px;position:relative}
.service-photo img{object-position:center 36%}
.service-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(34,11,7,.52),transparent 48%)}
.service-photo span{position:absolute;z-index:2;top:24px;left:22px;color:#fff;font:italic 1.15rem/1.08 var(--serif);transform:rotate(-5deg)}
.service-copy{padding:20px 0}
.service-copy p:not(.eyebrow){max-width:650px;color:var(--muted)}

/* celebrations */
.celebrations{display:grid;grid-template-columns:46% 1fr;min-height:390px;margin-block:88px 92px;padding:10px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow);overflow:hidden}
.celebration-photo{margin:0;overflow:hidden;border-radius:calc(var(--radius-l) - 8px)}
.celebration-photo img{width:100%;height:100%;object-fit:cover;object-position:center 56%}
.celebration-copy{padding:38px 40px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 90% 10%,rgba(200,139,43,.14),transparent 36%)}
.celebration-copy h2{font-size:clamp(2rem,3vw,3.2rem)}
.celebration-copy p:not(.eyebrow){color:var(--muted)}
.celebration-copy .button{align-self:flex-start;margin-top:4px}

/* reviews */
.reviews{position:relative;isolation:isolate;display:grid;grid-template-columns:1.05fr 1.15fr .85fr;gap:28px;align-items:center;padding-block:78px}
.reviews::before{content:"";position:absolute;z-index:-1;inset:0 auto 0 50%;width:100vw;transform:translateX(-50%);background:linear-gradient(90deg,#f6e9df,#f8eee5 55%,#f4e2dc);border-block:1px solid rgba(124,16,37,.09)}
.review-score{display:flex;align-items:center;gap:14px;padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 34px rgba(74,39,22,.07);transition:transform .45s ease}
.review-score:hover{transform:translateY(-2px)}
.google-g{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;font:700 2rem/1 Arial;color:#4285f4;background:conic-gradient(from 20deg,#4285f4,#34a853,#fbbc05,#ea4335,#4285f4);-webkit-background-clip:text;background-clip:text}
.review-score>strong{font:700 2.75rem/1 var(--serif)}
.review-score>span:last-child{display:grid;gap:4px}
.review-score b{color:#e6a21a;letter-spacing:.05em}
.review-score small{font-size:.72rem;color:var(--muted)}
.review-copy{padding-left:26px;border-left:1px solid var(--line)}
.review-copy h2{font-size:2.25rem;margin-bottom:10px}
.review-copy>p:not(.eyebrow){margin-bottom:10px;color:var(--muted)}
.review-note{margin:0;color:var(--wine);font:italic 1.32rem/1.08 var(--serif);transform:rotate(-5deg);text-align:center}

/* visit */
.visit{display:grid;grid-template-columns:.8fr 1.05fr 1fr;gap:30px;padding:30px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-l) var(--radius-l) 0 0;box-shadow:0 -10px 40px rgba(74,39,22,.06)}
.visit h2{font-size:2.65rem}
.visit address{display:grid;gap:7px;font-style:normal;color:var(--muted)}
.visit address strong,.visit address a{color:var(--ink);font-weight:700}
.visit address a{font-size:1.15rem;color:var(--wine)}
.visit-actions{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}.visit-actions .button{padding-inline:19px}
.hours{padding:0 24px;border-left:1px solid var(--line);border-right:1px solid var(--line)}
.hours dl{margin:0}.hours dl>div{display:grid;grid-template-columns:1fr auto;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.hours dt{font-weight:700}.hours dd{margin:0;display:grid;text-align:right;font-family:var(--serif);font-weight:700}
.hours>p:last-child{margin:16px 0 0;color:var(--muted);font-size:.8rem}
.visit-photo{height:230px;position:relative}
.visit-photo img{object-position:center 38%}
.visit-photo::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(37,13,9,.7))}
.visit-photo figcaption{position:absolute;z-index:2;left:16px;right:16px;bottom:14px;color:#fff;font:700 1rem/1.15 var(--serif)}

/* footer */
.site-footer{background:var(--paper);border-top:1px solid var(--line);padding:18px 0 22px}
.footer-inner{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center}
.footer-brand img{width:46px;height:46px}.footer-brand strong{font-size:1.15rem}.footer-brand small{font-size:.5rem}
.footer-inner nav{display:flex;justify-content:center;gap:22px;font-size:.76rem}
.footer-inner nav a:hover{color:var(--wine)}
.footer-line{margin:0;color:var(--wine);font:italic 1rem var(--serif);transform:rotate(-3deg)}
.footer-legal{grid-column:1/-1;margin:0;padding-top:10px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:16px;color:var(--muted);font-size:.68rem}

/* dialog */
.dialog-backdrop{position:fixed;inset:0;z-index:100;background:rgba(36,14,10,.68);display:grid;place-items:center;padding:18px;backdrop-filter:blur(7px)}
.dialog-backdrop[hidden]{display:none}
.dialog{position:relative;width:min(760px,100%);max-height:min(860px,calc(100vh - 36px));overflow:auto;padding:36px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:0 28px 90px rgba(0,0,0,.3)}
.dialog-close{position:absolute;right:16px;top:12px;width:40px;height:40px;border:0;background:transparent;font-size:2rem;cursor:pointer}
.dialog-heading{padding-right:36px}.dialog h2{max-width:620px;font-size:2.55rem;margin-bottom:12px}.dialog-heading>p:not(.eyebrow){color:var(--muted);max-width:620px;margin-bottom:0}
.dialog form,.dialog label{display:grid;gap:7px}.dialog form{gap:16px;margin-top:22px}.dialog label{font-size:.78rem;font-weight:700;color:var(--wine)}
.dialog fieldset{min-width:0;margin:0;padding:17px 18px 18px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.45)}
.dialog legend{padding:0 9px;color:var(--ink);font:700 1.1rem/1 var(--serif)}
.dialog input,.dialog select,.dialog textarea{width:100%;min-height:46px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fffdf9;color:var(--ink);outline:none;transition:border-color .25s ease,box-shadow .25s ease,background .25s ease}
.dialog textarea{min-height:104px;resize:vertical;line-height:1.45}
.dialog input:focus,.dialog select:focus,.dialog textarea:focus{border-color:var(--wine);box-shadow:0 0 0 3px rgba(124,16,37,.1)}
.dialog input::placeholder,.dialog textarea::placeholder{color:#9b897e}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:13px}.form-row-three{grid-template-columns:1.1fr .75fr .9fr}.form-required{margin:-4px 0 -8px;text-align:right;color:var(--muted);font-size:.7rem}.form-required span,.dialog label>span,.form-consent strong{color:var(--wine)}
.form-consent{grid-template-columns:22px 1fr!important;align-items:start;gap:10px!important;color:var(--ink)!important;font-weight:400!important;line-height:1.35}.form-consent input{width:19px;height:19px;min-height:0;margin:1px 0 0;accent-color:var(--wine)}
.form-privacy{margin:-8px 0 0 32px;color:var(--muted);font-size:.69rem;line-height:1.4}.form-honey{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;min-height:0!important;opacity:0!important}.dialog form>.button{width:100%}.form-submit{min-height:52px;font-size:1rem}.form-submit:disabled{cursor:wait;opacity:.72;transform:none}.form-alternative{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--muted);font-size:.75rem}.form-alternative a{color:var(--wine);font-weight:700;border-bottom:1px solid currentColor}.form-status{min-height:1.4em;margin:-4px 0 0;color:var(--wine);font-size:.78rem;text-align:center}.form-status[data-state="error"]{color:#a51f25}.form-status[data-state="pending"]{color:var(--muted)}
.form-success{min-height:440px;place-content:center;text-align:center;padding:34px}.form-success:not([hidden]){display:grid}.success-icon{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 18px;border-radius:50%;background:var(--wine);color:#fff;font-size:2rem;box-shadow:0 14px 34px rgba(124,16,37,.2)}.form-success h2{margin-bottom:14px}.form-success>p:not(.eyebrow){max-width:500px;margin:0 auto 25px;color:var(--muted)}.form-success .button{justify-self:center}
.mobile-quick{display:none}

/* motion */
.reveal-pending{opacity:0;transform:translateY(18px)}
.reveal-visible{opacity:1;transform:none;transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1)}
.value-grid article:nth-child(2),.product-grid article:nth-child(2){transition-delay:80ms}.value-grid article:nth-child(3),.product-grid article:nth-child(3){transition-delay:160ms}.value-grid article:nth-child(4),.product-grid article:nth-child(4){transition-delay:240ms}

@media (max-width:1080px){
  :root{--shell:min(960px,calc(100% - 40px))}
  .header-inner{gap:16px}.desktop-nav{gap:15px;font-size:.79rem}.header-place{display:none}.header-contact>a:first-child{font-size:.9rem;padding-inline:10px}
  .hero-copy{width:58%}.story-mark{display:none}.story-copy{padding-right:0}.story-copy::after{display:none}
  .product-image{height:178px}.product-copy{min-height:112px}
  .current{gap:38px}.current-visual{height:370px}.current-copy h2{font-size:3.2rem}
  .visit{grid-template-columns:.78fr 1.05fr}.visit-photo{grid-column:1/-1;height:260px}.visit-photo img{object-position:center 44%}
}

@media (max-width:820px){
  :root{--shell:min(100% - 30px,720px)}
  html{scroll-padding-top:72px}
  body{font-size:15px;padding-bottom:62px}
  .section{padding-block:34px}
  .site-header{position:sticky;top:0;backdrop-filter:blur(14px)}
  .header-inner{min-height:76px;grid-template-columns:1fr auto}
  .brand img{width:54px;height:54px}.brand strong{font-size:1.3rem}.brand small{font-size:.54rem}
  .desktop-nav,.header-contact{display:none}
  .menu-toggle{display:grid;gap:5px;width:44px;height:44px;padding:12px;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer}
  .menu-toggle span{height:2px;background:var(--wine);transition:.3s}
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .mobile-menu{display:block;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 20px 40px rgba(60,30,18,.12)}.mobile-menu[hidden]{display:none}.mobile-menu nav{width:var(--shell);margin:auto;padding:15px 0 20px;display:grid}.mobile-menu nav>a:not(.button){padding:13px 2px;border-bottom:1px solid var(--line);font-weight:700}.mobile-menu .button{margin-top:14px}

  .hero{min-height:610px;border-radius:0 0 var(--radius-l) var(--radius-l)}
  .hero-inner{min-height:610px;align-items:flex-end;padding:155px 0 32px}
  .hero-image{object-position:61% center;filter:saturate(.94) contrast(1.02) brightness(.97)}
  .hero-shade{background:linear-gradient(180deg,rgba(25,8,6,.12) 0%,rgba(25,8,6,.08) 27%,rgba(25,8,6,.76) 62%,rgba(25,8,6,.94) 100%),linear-gradient(90deg,rgba(25,8,6,.35),transparent 75%)}
  .hero-copy{width:100%}.hero-copy h1{font-size:clamp(3.15rem,15vw,4.35rem);line-height:.88;margin-bottom:14px;max-width:100%}.hero-copy h1 span{white-space:normal}.hero-lead{font:1.05rem/1.38 var(--sans);max-width:335px;margin-bottom:18px}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.hero-actions .button{padding-inline:12px}.hero-meta{display:none}.hero-note-one{display:none}.hero-note-two{right:13px;top:106px;bottom:auto;font-size:1rem}
  .value-strip{margin:0 9px;border:1px solid var(--line);border-top:0;border-radius:0 0 var(--radius) var(--radius)}
  .value-grid{grid-template-columns:1fr 1fr;padding:6px 0}.value-grid article{grid-template-columns:30px 1fr;padding:12px 10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.value-grid article:nth-child(even){border-right:0}.value-grid article:nth-child(n+3){border-bottom:0}.line-icon{width:24px;height:24px}.value-grid strong{font-size:.86rem}.value-grid small{font-size:.64rem}

  .story{grid-template-columns:1fr;gap:18px;padding-top:48px;padding-bottom:48px}.story-photo{height:300px}.story-photo img{object-position:center center}.story-copy{padding:0 2px}.story-copy p:not(.eyebrow,.story-mark){font-size:.96rem}.story-copy .button{width:100%}
  .products{padding-top:38px;padding-bottom:42px}.section-heading{align-items:flex-start}.section-heading h2{font-size:2.45rem}.section-heading>p{font-size:.6rem;margin-top:4px;text-align:right}.product-grid{grid-template-columns:1fr 1fr;gap:9px}.product-image{height:145px}.product-copy{min-height:112px;padding:12px 36px 11px 11px}.product-copy h3{font-size:1.05rem;line-height:1.05}.product-copy p{font-size:.7rem}.product-copy>a{right:9px;bottom:12px;width:27px;height:27px}
  .current{grid-template-columns:1fr;gap:24px;padding-block:46px}.current-visual{height:280px}.current-visual img{object-position:center 55%}.current-copy h2{font-size:2.65rem;margin-bottom:16px}.current-copy>p:not(.eyebrow,.current-note){font-size:.95rem;margin-bottom:18px}.current-points{gap:7px;margin-bottom:20px}.current-points span{font-size:.66rem;padding:6px 9px}.current .button{width:100%}.current-note{font-size:.7rem}
  .service{grid-template-columns:1fr;gap:16px;margin-block:40px;padding:14px}.service-photo{height:300px}.service-photo img{object-position:center 30%}.service-copy{padding:8px 8px 12px}.service-copy h2{font-size:2.45rem}.service-copy .button{width:100%}
  .celebrations{grid-template-columns:1fr;min-height:0;margin-block:40px 48px;padding:8px}.celebration-photo{height:240px}.celebration-copy{padding:24px 18px}.celebration-copy h2{font-size:2.2rem}.celebration-copy .button{width:100%}
  .reviews{grid-template-columns:1fr 1fr;gap:12px;padding-block:38px}.review-score{padding:16px 12px;gap:9px}.google-g{width:38px;height:38px;font-size:1.7rem}.review-score>strong{font-size:2.15rem}.review-score b{font-size:.78rem}.review-score small{font-size:.61rem}.review-copy{padding-left:12px}.review-copy .eyebrow{font-size:.58rem}.review-copy h2{font-size:1.45rem}.review-copy>p:not(.eyebrow){font-size:.76rem;line-height:1.35}.text-link{font-size:.75rem}.review-note{display:none}
  .visit{grid-template-columns:1fr;padding:22px 17px;gap:20px}.visit h2{font-size:2.3rem}.hours{padding:18px 0;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.visit-photo{grid-column:auto;height:250px}.visit-actions{display:grid;grid-template-columns:1fr 1fr}.visit-actions .button{padding-inline:10px}
  .footer-inner{grid-template-columns:1fr auto}.footer-inner nav{display:none}.footer-line{text-align:right}.footer-legal{justify-content:center}.site-footer{padding-bottom:20px}
  .mobile-quick{position:fixed;z-index:55;left:10px;right:10px;bottom:8px;height:54px;display:grid;grid-template-columns:1fr 1fr;border-radius:999px;overflow:hidden;box-shadow:0 12px 32px rgba(43,16,10,.25)}.mobile-quick a,.mobile-quick button{display:grid;place-items:center;border:0;font-weight:700;cursor:pointer}.mobile-quick a{background:var(--wine);color:#fff}.mobile-quick button{background:var(--paper);color:var(--wine)}
  .dialog{padding:28px 18px 20px}.dialog h2{font-size:2rem}.dialog-heading{padding-right:26px}.dialog fieldset{padding:15px 13px 14px}.form-row,.form-row-three{grid-template-columns:1fr;gap:11px;margin-bottom:11px}.dialog-backdrop{align-items:end;padding:10px}.dialog{max-height:calc(100vh - 20px);border-radius:24px 24px 14px 14px}.form-privacy{margin-left:29px}.form-alternative{display:grid;text-align:center}.form-success{min-height:430px;padding:28px 8px}
}

@media (max-width:390px){
  :root{--shell:calc(100% - 24px)}
  .brand img{width:46px;height:46px}.brand strong{font-size:1.14rem}
  .hero{min-height:595px}.hero-inner{min-height:595px;padding-bottom:26px}.hero-copy h1{font-size:3.35rem}.hero-lead{font-size:.98rem}.hero-actions .button{font-size:.79rem;min-height:44px}.hero-note-two{top:94px}
  .value-grid strong{font-size:.78rem}.value-grid small{display:none}
  .story-photo{height:300px}.product-image{height:128px}.product-copy{min-height:106px}.product-copy h3{font-size:.96rem}.product-copy p{font-size:.65rem}
  .current{padding-block:40px}.current-visual{height:245px}.current-copy h2{font-size:2.35rem}.service-photo{height:270px}.celebration-photo{height:215px}
  .reviews{grid-template-columns:1fr}.review-copy{padding:12px 0 0;border-left:0;border-top:1px solid var(--line)}
  .visit-actions{grid-template-columns:1fr}.footer-line{font-size:.83rem}
}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal-pending{opacity:1;transform:none}}
