:root {
  --espresso: #211610;
  --espresso-2: #2b1b14;
  --deepest: #160f0b;
  --ink: #32231b;
  --cream: #f9f2e6;
  --paper: #f1e6d6;
  --soft: #fcf9f1;
  --saffron: #ddb36b;
  --gold-light: #f5d99a;
  --terracotta: #9d4d35;
  --copper: #a9663f;
  --sage: #293a2c;
  --muted: #75685c;
  --line: rgba(71,47,30,.17);
  --font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-body: 'DM Sans', 'Segoe UI', Arial, sans-serif;
  --max: 1360px;
  --pad: clamp(22px,4.7vw,70px);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:106px; }
body { margin:0; font-family:var(--font-body); color:var(--ink); background:var(--cream); -webkit-font-smoothing:antialiased; min-width:320px; }
body.menu-open { overflow:hidden; }
img { max-width:100%; height:auto; display:block; }
button,input,textarea,select { font:inherit; }
button { cursor:pointer; }
a { color:inherit; text-decoration:none; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid #ba8331; outline-offset:4px; }
::selection { color:#2b1b14; background:#eac682; }
.container { max-width:var(--max); margin-inline:auto; padding-inline:var(--pad); }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.skip-link { position:absolute; left:16px; top:-100px; z-index:300; padding:12px 18px; background:white; color:#19100c; }
.skip-link:focus { top:12px; }
.preview-ribbon { min-height:28px; display:flex; gap:9px; align-items:center; justify-content:center; padding:5px 15px; background:#f5d7a3; color:#3d2917; font-size:9px; letter-spacing:.20em; font-weight:700; text-align:center; line-height:1.5; }
.preview-dot { width:6px; height:6px; background:#a3592a; border-radius:50%; flex:none; }
.topline { background:var(--deepest); color:#e8d4b7; border-bottom:1px solid rgba(235,193,120,.2); }
.topline-inner { min-height:37px; display:flex; gap:18px; align-items:center; justify-content:space-between; }
.topline p { font-size:10px; letter-spacing:.20em; margin:0; font-weight:600; }
.topline p span { color:var(--saffron); margin:0 12px; }
.topline-end { font-size:10px; letter-spacing:.21em; white-space:nowrap; color:#c2a67a; }
.site-header { position:sticky; top:0; z-index:100; background:#211610f5; backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); color:#f5ecdc; border-bottom:1px solid rgba(238,197,128,.2); }
.header-inner { height:94px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { flex:none; display:inline-flex; align-items:center; gap:12px; max-width:100%; }
.brand-ornament { display:inline-grid; place-items:center; width:39px; height:39px; border:1px solid #cda86a; border-radius:50%; color:var(--saffron); font-size:20px; }
.brand-main { display:flex; flex-direction:column; color:#edce8c; font-family:var(--font-display); font-size:clamp(22px,2.2vw,32px); letter-spacing:.065em; font-weight:500; line-height:1.08; white-space:nowrap; }
.brand-main small { color:#dfd2bf; font-size:9px; font-family:var(--font-body); font-weight:600; letter-spacing:.37em; margin-top:8px; text-align:center; }
.main-nav { display:flex; gap:clamp(15px,1.9vw,30px); align-items:center; justify-content:flex-end; }
.nav-link { position:relative; font-size:12px; font-weight:500; color:#d9ccb9; white-space:nowrap; transition:color .2s; }
.nav-link:hover { color:#ffdda0; }
.nav-link:after { content:''; position:absolute; bottom:-8px; left:0; width:0%; height:1px; background:#f3d191; transition:width .25s; }
.nav-link:hover:after { width:100%; }
.nav-contact { display:flex; align-items:center; gap:13px; white-space:nowrap; padding:13px 18px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#27160c; background:#dfb86e; transition:background .2s,transform .2s; }
.nav-contact:hover { background:#f1ce87; transform:translateY(-1px); }
.lang-switch { display:flex; align-items:center; gap:7px; font-size:12px; letter-spacing:.06em; }
.lang-switch a { color:#ad9c88; font-weight:600; padding:4px 1px; }
.lang-switch a.active,.lang-switch a:hover { color:#f3c977; }
.lang-switch span { color:#5c5142; }
.mobile-actions { display:none; gap:17px; align-items:center; }
.menu-toggle { width:43px; height:43px; border:1px solid rgba(225,186,122,.5); padding:10px; background:none; flex:none; }
.menu-toggle > span:not(.visually-hidden) { width:21px; height:1.5px; background:#f4dbac; display:block; margin:7px 0; transition:transform .25s; }
.menu-toggle[aria-expanded="true"] > span:first-child { transform:translateY(4px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] > span:nth-child(2) { transform:translateY(-4px) rotate(-45deg); }
.hero { position:relative; isolation:isolate; overflow:hidden; background:radial-gradient(ellipse at 5% 15%,#3b271c 0%,transparent 54%),var(--espresso); color:var(--cream); }
.hero:before { content:''; position:absolute; inset:0; opacity:.16; pointer-events:none; z-index:-1; background:repeating-linear-gradient(120deg,rgba(224,179,112,.09) 0,rgba(224,179,112,.09) 1px,transparent 1px,transparent 39px); }
.hero-layout { min-height:0; display:grid; grid-template-columns:47% 53%; align-items:center; padding-block:clamp(28px,3.7svh,43px) clamp(38px,4.6svh,52px); }
.hero-content { padding:0 clamp(12px,2vw,30px) 0 0; position:relative; z-index:3; min-width:0; }
.eyebrow { display:flex; align-items:center; gap:14px; font-size:11px; font-weight:700; letter-spacing:.21em; line-height:1.5; color:#8e603a; text-transform:uppercase; }
.eyebrow.light { color:var(--saffron); }
.eyebrow-line { width:32px; height:1px; flex:none; background:currentColor; opacity:.9; }
.eyebrow.center { justify-content:center; text-align:center; }
.hero h1 { font-family:var(--font-display); font-weight:500; font-size:clamp(55px,5.25vw,82px); line-height:1.045; letter-spacing:-.06em; margin:18px 0 20px; overflow-wrap:normal; }
.hero h1 span,.hero h1 em { display:block; }
.hero h1 span { color:#fff6e8; }
.hero h1 em { color:var(--gold-light); font-weight:400; font-style:italic; font-size:.82em; line-height:1.15; letter-spacing:-.048em; }
.hero-description { max-width:485px; color:#deceba; font-size:clamp(15px,1.25vw,17px); line-height:1.68; margin:0 0 22px; }
.hero-buttons { display:flex; align-items:center; flex-wrap:wrap; gap:24px; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:20px; padding:17px 24px; min-height:54px; border:1px solid transparent; font-size:11px; line-height:1.35; font-weight:700; letter-spacing:.095em; text-transform:uppercase; transition:transform .2s,background .2s,border-color .2s; text-align:center; }
.btn:hover { transform:translateY(-2px); }
.btn-gold { background:var(--saffron); color:#24160d; }
.btn-gold:hover { background:#f0ce85; }
.btn-dark { background:#2b1c14; color:#f7e8ce; }
.btn-dark:hover { background:#442c20; }
.btn-arrow { font-size:20px; font-weight:400; line-height:1; }
.text-link { border-bottom:1px solid currentColor; padding:6px 0; font-size:11px; letter-spacing:.12em; text-transform:uppercase; font-weight:700; }
.text-link.light-link { color:#efcf9c; }
.text-link span { margin-left:8px; }
.hero-bottom { display:flex; align-items:center; gap:14px; margin-top:30px; font-size:10px; color:#b49c7c; font-weight:600; letter-spacing:.25em; }
.little-star { color:#ddb36b; font-size:24px; }
.vertical-rule { display:block; height:1px; width:65px; background:#6e4d2c; }
.hero-visual { min-width:0; height:auto; position:relative; padding:0 0 0 12px; display:flex; flex-direction:column; gap:14px; align-self:center; align-items:stretch; }
.hero-img-wrap { position:relative; width:100%; height:clamp(360px,calc(100svh - 310px),580px); min-height:0; flex:none; background:#342219; overflow:hidden; border:1px solid rgba(249,214,155,.20); }
.hero-img-wrap:after { content:''; position:absolute; inset:0; pointer-events:none; box-shadow:inset 0 0 0 14px rgba(40,24,14,.14); }
.hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:48% 52%; filter:saturate(.92) contrast(1.03); }
.hero-img-caption { position:static; min-height:18px; display:flex; gap:13px; align-items:center; color:#d7b887; font-size:10px; letter-spacing:.20em; font-weight:600; }
.thin-line { width:37px; height:1px; background:#cfb083; }
.hero-sticker { position:absolute; z-index:2; right:10px; bottom:48px; width:140px; height:140px; border-radius:50%; background:#e0b66d; border:7px solid #24170f; outline:1px solid #e0b66d; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:#3a2515; box-shadow:0 12px 28px #0007; transform:rotate(4deg); padding:12px 13px; }
.hero-sticker span { display:block; font-size:8px; letter-spacing:.055em; font-weight:700; line-height:1.22; text-align:center; text-wrap:balance; max-width:100%; overflow-wrap:normal; }
.hero-sticker strong { font-family:var(--font-display); font-size:34px; font-weight:500; font-style:italic; letter-spacing:-.04em; line-height:1.17; margin-block:3px; max-width:100%; }
.hero-bottom-bloom { position:absolute; left:-64px; bottom:-125px; font-size:410px; line-height:1; color:#3d291d; z-index:-1; opacity:.44; }
.marquee { overflow:hidden; background:#c8954f; color:#352116; border-block:1px solid #f0ca84; height:55px; display:flex; align-items:center; white-space:nowrap; }
.marquee-track { display:flex; align-items:center; min-width:max-content; gap:38px; animation:marquee 48s linear infinite; }
.marquee span { font-size:12px; font-weight:700; letter-spacing:.23em; }
.marquee b { color:#684027; font-size:18px; }
@keyframes marquee { to { transform:translateX(-50%); } }
:root { --section-space:64px; }
.section-pad { padding-block:var(--section-space); }
.intro { background:var(--cream); position:relative; overflow:hidden; }
.intro:after { content:'✥'; position:absolute; right:-75px; top:30px; font-family:Georgia,serif; font-size:300px; color:#ead9be; opacity:.33; pointer-events:none; }
.intro-content { text-align:center; max-width:1000px; position:relative; z-index:1; }
.display { margin:21px 0; font-family:var(--font-display); font-size:clamp(45px,5.3vw,79px); font-weight:500; letter-spacing:-.055em; line-height:1.22; }
.display.centered { text-align:center; }
.display em { color:var(--terracotta); font-weight:400; font-style:italic; }
.intro-copy { max-width:725px; margin:27px auto 24px; color:#6d5c4f; font-size:clamp(16px,1.5vw,19px); line-height:1.95; }
.signature-divider { display:flex; align-items:center; justify-content:center; gap:15px; color:#b38549; font-size:18px; margin:27px 0 16px; }
.signature-divider i { display:block; height:1px; width:100px; background:#c6a06e; }
.intro-signature { color:#8c6d4c; font-size:11px; letter-spacing:.26em; font-weight:700; }
.flavors { background:#eee4d3; }
.section-heading { display:grid; grid-template-columns:1.3fr .7fr; gap:50px; align-items:end; padding-bottom:49px; }
.section-heading .display { margin:18px 0 0; }
.heading-aside { color:#746357; max-width:385px; justify-self:end; font-size:16px; line-height:1.9; margin:0 0 4px; }
.flavor-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:19px; }
.flavor-card { min-width:0; background:#f8f1e5; border:1px solid #d9c9b0; box-shadow:0 12px 22px rgba(44,25,14,.035); transition:transform .25s,box-shadow .25s; }
.flavor-card:hover { transform:translateY(-5px); box-shadow:0 18px 40px #2a170d20; }
.flavor-image { position:relative; height:clamp(240px,24vw,340px); overflow:hidden; background:#382519; }
.flavor-image:after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(16,10,5,.26),transparent 28%,transparent 85%,rgba(16,10,5,.22)); pointer-events:none; }
.flavor-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .6s; }
.flavor-card:hover img { transform:scale(1.04); }
.flavor-num { position:absolute; z-index:2; left:22px; top:19px; color:#fff8ed; font-size:11px; letter-spacing:.16em; font-weight:700; }
.flavor-copy { padding:27px 27px 34px; }
.flavor-tag { font-size:10px; font-weight:700; letter-spacing:.17em; color:#9a6e3f; }
.flavor-title-row { display:flex; justify-content:space-between; gap:8px; align-items:baseline; }
.flavor-title-row h3 { font-size:clamp(31px,3vw,44px); margin:12px 0 1px; font-family:var(--font-display); font-weight:500; line-height:1.35; letter-spacing:-.04em; }
.flavor-title-row span { font-size:22px; color:#ac7846; }
.flavor-subtitle { font-size:12px; text-transform:uppercase; letter-spacing:.15em; color:#b48855; font-weight:600; }
.flavor-copy p { font-size:14px; line-height:1.85; color:#766456; margin:15px 0 0; min-height:77px; }
.footnote { font-size:11px; letter-spacing:.04em; line-height:1.7; color:#8b7a6a; }
.footnote.centered { text-align:center; }
.flavors .footnote { margin-top:30px; }
.sauces { display:grid; grid-template-columns:1fr 1fr; min-height:670px; background:var(--sage); }
.sauces-photo { position:relative; min-height:650px; overflow:hidden; }
.sauces-photo img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:45% center; }
.sauces-photo:after { content:''; pointer-events:none; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,#130b088c); }
.sauces-photo-badge { position:absolute; z-index:1; bottom:29px; left:clamp(26px,5vw,85px); color:#f9ead5; display:flex; align-items:center; gap:15px; font-size:11px; font-weight:700; letter-spacing:.17em; }
.sauces-photo-badge>span { max-width:265px; }
.sauces-panel { background:radial-gradient(ellipse at 90% 8%,#39503a 0%,transparent 49%),var(--sage); color:#ece7dc; padding:70px clamp(30px,7vw,125px) 70px clamp(40px,6.3vw,105px); display:flex; align-items:center; position:relative; overflow:hidden; }
.sauces-panel:before { content:'✳'; position:absolute; right:-55px; bottom:-105px; font-size:370px; opacity:.05; }
.sauces-panel-inner { position:relative; z-index:1; max-width:520px; }
.light-text { color:#fff7e7; }
.sauces-panel .display { margin-top:24px; }
.sauces-panel .display em { color:#e8c78a; }
.sauces-panel p { font-size:16px; line-height:2; color:#d6d8c7; margin:28px 0 34px; }
.sauce-seal { width:165px; height:165px; border:1px solid #c69a55; border-radius:50%; display:flex; flex-direction:column; justify-content:center; align-items:center; transform:rotate(-9deg); color:#f0c982; }
.sauce-seal .seal-small { font-size:17px; }
.sauce-seal strong { font-family:var(--font-display); font-weight:500; font-size:31px; letter-spacing:.04em; margin:4px 0; }
.sauce-seal span:last-child { font-size:9px; letter-spacing:.15em; font-weight:700; }
.occasions { background:var(--soft); }
.occasions-heading { padding-bottom:65px; }
.occasions-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border-top:1px solid #ddcfc1; border-bottom:1px solid #ddcfc1; }
.occasion { position:relative; padding:40px 28px 45px 26px; min-height:285px; border-right:1px solid #ddcfc1; }
.occasion:first-child { padding-left:0; }
.occasion:last-child { border-right:0; }
.occasion-icon { font-size:54px; font-family:Georgia,serif; line-height:1.2; color:var(--copper); margin:0 0 28px; }
.occasion-counter { position:absolute; right:26px; top:45px; font-size:11px; color:#a39a91; letter-spacing:.1em; }
.occasion h3 { font-family:var(--font-display); font-size:24px; font-weight:500; line-height:1.3; letter-spacing:-.03em; margin:0 0 12px; }
.occasion p { color:#766a5e; font-size:14px; line-height:1.8; margin:0; }
.occasion-action { display:flex; align-items:center; gap:34px; margin-top:47px; }
.occasion-action .footnote { max-width:500px; }
.founder { min-height:750px; display:grid; grid-template-columns:50% 50%; background:var(--espresso-2); color:#f5ead7; }
.founder-art { position:relative; min-height:735px; overflow:hidden; background:#39271a; }
.founder-art>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:47% 53%; filter:saturate(.84); }
.founder-art:after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#120d0bf2 0%,#1c130e24 55%,#1c130e08); }
.founder-art-overlay { position:absolute; bottom:58px; left:clamp(35px,7.5vw,140px); z-index:1; display:flex; flex-direction:column; gap:12px; }
.founder-art-overlay>span { font-family:var(--font-display); font-size:clamp(38px,4.2vw,70px); line-height:1; letter-spacing:.08em; color:#f9dea8; }
.founder-art-overlay small { font-weight:700; color:#d2b994; font-size:11px; letter-spacing:.26em; }
.founder-panel { display:flex; align-items:center; padding:80px clamp(36px,7.4vw,130px); background:radial-gradient(ellipse at 100% 0%,#3b2b21 0%,transparent 53%); }
.founder-panel-inner { max-width:575px; }
.founder-panel .display { font-size:clamp(46px,5vw,76px); }
.founder-panel .display em { color:#ecc787; }
.founder-panel p { color:#d8caba; font-size:15px; line-height:1.95; margin:21px 0; }
.founder-quote { margin:35px 0 28px; padding:16px 0 16px 24px; border-left:1px solid #c79a54; font-family:var(--font-display); font-style:italic; font-size:clamp(22px,2vw,32px); line-height:1.5; color:#f2d8ae; }
.founder-name { font-family:var(--font-display); letter-spacing:.12em; color:#f5d8a1; font-size:22px; display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.founder-name span { width:30px; height:1px; background:#bca17b; }
.founder-name small { font:700 10px var(--font-body); letter-spacing:.16em; color:#bda58b; }
.vision { background:#f0e4d1; }
.vision-intro { max-width:845px; text-align:center; margin:0 auto 60px; }
.vision-intro p { color:#6c5b4e; font-size:17px; line-height:1.95; max-width:730px; margin:25px auto 0; }
.vision-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #d0bfa8; border-bottom:1px solid #d0bfa8; }
.vision-step { padding:38px 35px 42px; border-right:1px solid #d0bfa8; }
.vision-step:first-child { padding-left:0; }
.vision-step:last-child { border-right:0; }
.vision-num { font:500 43px var(--font-display); color:#b7844f; }
.vision-line { width:47px; height:1px; background:#bb8853; margin:15px 0 27px; }
.vision-step h3 { font:500 29px var(--font-display); margin:0 0 13px; letter-spacing:-.03em; }
.vision-step p { font-size:15px; color:#766455; line-height:1.85; margin:0; }
.vision-note { margin-top:22px; }
.inquiry { background:radial-gradient(ellipse at -20% 60%,#663b2a,transparent 53%),var(--terracotta); position:relative; overflow:hidden; }
.inquiry-pattern { position:absolute; pointer-events:none; left:-150px; bottom:-120px; font-size:440px; color:#e7b68b; opacity:.08; }
.inquiry-grid { display:grid; grid-template-columns: .95fr 1.05fr; gap:clamp(42px,6.8vw,100px); position:relative; z-index:1; align-items:center; }
.inquiry-content { color:#fff0e5; }
.inquiry .eyebrow.light { color:#f2cd8b; }
.inquiry .display { font-size:clamp(50px,5vw,80px); }
.inquiry .display em { color:#ffd18c; }
.inquiry-lead { max-width:480px; color:#fae1d1; font-size:17px; line-height:1.9; }
.inquiry-promises { list-style:none; padding:0; margin:35px 0; display:grid; gap:18px; }
.inquiry-promises li { display:flex; gap:12px; align-items:flex-start; color:#fce5d6; font-size:14px; line-height:1.7; }
.inquiry-promises li:before { content:'✦'; color:#f1c57a; flex:none; font-size:16px; }
.inquiry-signature { border-top:1px solid #d8a08d; padding-top:23px; margin-top:46px; color:#efcba8; font-size:12px; letter-spacing:.14em; font-weight:700; }
.inquiry-signature span { margin:0 10px; color:#f3c584; }
.form-card { padding:clamp(26px,4.3vw,60px); background:#fff9ef; box-shadow:0 28px 70px #33140b36; border:1px solid #ecdbc1; }
.form-topline { display:flex; align-items:center; justify-content:space-between; margin-bottom:33px; padding-bottom:22px; border-bottom:1px solid #ded0bd; font:500 23px var(--font-display); letter-spacing:.10em; color:#a96d35; }
.form-topline span:last-child { color:#b58847; font-size:24px; }
.interest-form { display:grid; grid-template-columns:1fr 1fr; column-gap:22px; row-gap:21px; }
.form-row { display:flex; flex-direction:column; gap:9px; min-width:0; }
.form-row:nth-of-type(3),.form-row:nth-of-type(4) { grid-column:1/-1; }
.form-row label { font-size:12px; color:#514236; font-weight:700; letter-spacing:.03em; }
.form-row input,.form-row textarea,.form-row select { border:1px solid #cdbdab; border-radius:0; background:#fffdf9; color:#32231b; width:100%; font-size:14px; padding:13px 14px; outline:none; transition:border-color .15s,box-shadow .15s; }
.form-row input:focus,.form-row textarea:focus,.form-row select:focus { border-color:#af793f; box-shadow:0 0 0 2px #ddc19965; }
.form-row input,.form-row select { height:48px; }
.form-row textarea { resize:vertical; min-height:125px; max-height:350px; }
.form-row input::placeholder,.form-row textarea::placeholder { color:#a19383; opacity:1; }
.form-submit { grid-column:1/-1; width:100%; margin-top:4px; }
.form-note { grid-column:1/-1; font-size:11px; line-height:1.8; color:#7c6c60; margin:-8px 0 0; }
.form-preview-result { grid-column:1/-1; padding:17px 18px; border:1px solid #b98042; color:#563f2f; background:#fff2d6; line-height:1.7; font-size:13px; overflow-wrap:anywhere; }
.form-preview-result[hidden] { display:none; }
.form-preview-result pre { padding:10px; background:#fffbf5; white-space:pre-wrap; overflow-wrap:anywhere; font:12px/1.8 var(--font-body); }
.form-preview-result button { background:#32231b; color:#fff1dd; border:0; padding:10px 15px; font-size:12px; }
.footer { background:#19110d; color:#eee2d1; padding:80px 0 23px; }
.footer-top { display:grid; grid-template-columns:1.6fr .65fr .8fr; gap:60px; padding-bottom:70px; }
.footer-logo { color:#e7c47f; font:500 clamp(32px,4.7vw,57px)/1.1 var(--font-display); letter-spacing:.07em; white-space:nowrap; }
.footer-logo-sub { display:block; font-size:10px; letter-spacing:.42em; color:#bba281; margin-top:10px; }
.footer-brand-col p { max-width:360px; font-size:14px; line-height:1.85; color:#b7a998; margin-top:28px; }
.footer h3 { font-size:11px; color:#d3a766; letter-spacing:.22em; margin:0 0 21px; }
.footer-menu-col,.footer-contact-col { display:flex; flex-direction:column; align-items:flex-start; }
.footer-menu-col a,.footer-contact-col a { display:block; font-size:13px; color:#ddceba; padding:5px 0; }
.footer-menu-col a:hover,.footer-contact-col a:hover,.footer-bottom a:hover { color:#ecca8a; }
.footer-contact-col p { color:#aa9b88; font-size:13px; line-height:1.8; }
.footer-languages { display:flex; align-items:center; gap:8px; }
.footer-languages span { color:#897561; }
.footer-motto { border-top:1px solid #493525; border-bottom:1px solid #493525; text-align:center; color:#c6a170; font:500 clamp(21px,2.8vw,39px) var(--font-display); letter-spacing:.08em; padding:33px 8px; }
.footer-bottom { display:grid; grid-template-columns:1fr 2fr auto; gap:25px; align-items:start; padding-top:26px; color:#a48f77; }
.footer-bottom p,.footer-bottom a { font-size:10px; line-height:1.7; margin:0; }
.footer-bottom a { white-space:nowrap; }
.thank-screen { min-height:100vh; display:grid; place-items:center; background:radial-gradient(ellipse at 40% 20%,#503322,transparent 55%),var(--espresso); color:#f8eddd; padding:25px; }
.thank-card { background:#f9f2e6; color:var(--ink); padding:clamp(30px,6vw,85px); max-width:650px; text-align:center; }
.thank-card .display { font-size:clamp(36px,4vw,60px); }
.thank-card p { line-height:1.9; color:#645145; }
.thank-card .btn { margin-top:20px; }
.thank-mark { display:block; font-size:56px; color:var(--copper); margin:20px auto 0; }
@media(max-width:1200px) {
  .header-inner { height:84px; }
  .main-nav { gap:16px; }
  .nav-contact { padding:12px; }
  .brand-main { font-size:26px; }
  .hero-layout { min-height:0; }
  .hero h1 { font-size:clamp(54px,5.5vw,76px); }
  .hero-content { padding-right:23px; }
  .hero-img-wrap { min-height:0; }
  .founder-panel { padding:70px 55px; }
  .occasion { padding-inline:19px; }
}
@media(max-width:1200px) {
  .main-nav { position:absolute; top:100%; left:0; right:0; display:none; flex-direction:column; gap:0; align-items:stretch; background:#241810; padding:16px max(var(--pad),calc((100vw - var(--max))/2)) 29px; border-bottom:1px solid #a7794e; box-shadow:0 30px 60px #150d08a0; max-height:calc(100dvh - 84px); overflow:auto; }
  .main-nav.is-open { display:flex; }
  .main-nav .nav-link { padding:15px 7px; font-size:15px; border-bottom:1px solid rgba(249,222,175,.12); }
  .main-nav .nav-contact { margin-top:17px; justify-content:space-between; padding:16px 19px; }
  .main-nav .nav-lang { display:none; }
  .mobile-actions { display:flex; }
  .hero-layout { grid-template-columns:48% 52%; }
  .hero h1 { font-size:clamp(52px,5.8vw,68px); }
  .hero-sticker { height:132px; width:132px; bottom:47px; right:10px; padding:10px 12px; }
  .hero-sticker strong { font-size:32px; }
  .section-heading { gap:25px; }
  .occasions-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .occasion { border-bottom:1px solid #ddcfc1; min-height:220px; padding:26px 27px!important; }
  .occasion:nth-child(2) { border-right:none; }
  .occasion:nth-child(3),.occasion:nth-child(4) { border-bottom:none; }
  .sauces-panel { padding:65px 40px; }
  .founder-panel { padding:60px 38px; }
  .footer-top { gap:35px; }
}
@media(max-width:760px) {
  :root { --pad:clamp(19px,5vw,34px); }
  html { scroll-padding-top:78px; }
  .preview-ribbon { font-size:8px; letter-spacing:.15em; }
  .topline-inner { min-height:33px; justify-content:center; }
  .topline p { font-size:9px; letter-spacing:.1em; text-align:center; }
  .topline p span { margin-inline:6px; }
  .topline-end { display:none; }
  .header-inner { height:74px; }
  .brand-ornament { width:29px; height:29px; font-size:15px; }
  .brand { gap:8px; }
  .brand-main { font-size:clamp(20px,5vw,28px); letter-spacing:.03em; }
  .brand-main small { font-size:8px; letter-spacing:.24em; margin-top:5px; }
  .mobile-actions { gap:11px; }
  .lang-switch { font-size:11px; }
  .main-nav { max-height:calc(100dvh - 74px); }
  .hero-layout { min-height:auto; grid-template-columns:minmax(0,1fr); padding-block:0 0; }
  .hero-content { padding:69px 0 37px; }
  .hero h1 { font-size:clamp(53px,11vw,82px); letter-spacing:-.055em; margin:23px 0 26px; }
  .hero h1 em { font-size:.8em; }
  .hero-description { max-width:600px; line-height:1.85; font-size:16px; }
  .hero-buttons { gap:18px; }
  .hero-bottom { display:none; }
  .hero-visual { padding:12px 0 38px; height:auto; gap:14px; }
  .hero-img-wrap { width:100%; min-height:0; height:clamp(300px,72vw,510px); }
  .hero-image { object-position:52% 48%; }
  .hero-sticker { right:9px; width:120px; height:120px; bottom:77px; border-width:5px; padding:9px 10px; }
  .hero-sticker strong { font-size:29px; }
  .hero-sticker span { font-size:7.5px; }
  .hero-img-caption { position:static; min-height:18px; }
  :root { --section-space:48px; }
  .display { font-size:clamp(43px,9vw,64px); }
  .intro-copy { line-height:1.9; }
  .section-heading { grid-template-columns:1fr; align-items:start; padding-bottom:34px; gap:15px; }
  .heading-aside { justify-self:start; max-width:600px; }
  .flavor-grid { gap:18px; grid-template-columns:1fr; }
  .flavor-image { height:clamp(260px,70vw,440px); }
  .flavor-copy { padding:24px; }
  .flavor-copy p { min-height:0; }
  .sauces { grid-template-columns:1fr; }
  .sauces-photo { min-height:400px; }
  .sauces-panel { padding:72px var(--pad) 78px; }
  .sauces-panel-inner { max-width:610px; }
  .occasions-heading { padding-bottom:38px; }
  .occasion-action { align-items:flex-start; flex-direction:column; gap:10px; }
  .founder { display:flex; flex-direction:column; }
  .founder-art { min-height:550px; }
  .founder-panel { padding:75px var(--pad); }
  .founder-panel-inner { max-width:680px; }
  .vision-steps { grid-template-columns:1fr; }
  .vision-step { border-right:0; border-bottom:1px solid #d0bfa8; padding:29px 0; }
  .vision-step:last-child { border-bottom:0; }
  .vision-step h3 { font-size:30px; }
  .inquiry-grid { grid-template-columns:1fr; }
  .inquiry-content { max-width:640px; }
  .form-card { padding:clamp(24px,5vw,43px); }
  .footer { padding-top:66px; }
  .footer-top { grid-template-columns:1fr 1fr; gap:48px 30px; }
  .footer-brand-col { grid-column:1/-1; }
  .footer-bottom { grid-template-columns:1fr; gap:12px; }
}
@media(max-width:450px) {
  :root { --pad:20px; }
  .preview-ribbon { font-size:7px; padding-block:5px; min-height:27px; }
  .topline p { font-size:8px; }
  .header-inner { height:69px; }
  .main-nav { max-height:calc(100dvh - 69px); }
  .brand-main { font-size:21px; }
  .brand-ornament { display:none; }
  .menu-toggle { width:39px; height:39px; }
  .hero-content { padding:27px 0 20px; }
  .hero .eyebrow { font-size:9px; }
  .hero h1 { font-size:clamp(45px,10.4vw,61px); margin:14px 0 16px; }
  .hero-description { font-size:15px; line-height:1.66; margin-bottom:18px; }
  .hero-buttons { align-items:flex-start; flex-direction:column; gap:11px; }
  .btn { min-height:52px; padding:16px 20px; }
  .hero-img-wrap { height:225px; }
  .hero-sticker { right:9px; bottom:63px; height:100px; width:100px; padding:7px 8px; }
  .hero-sticker strong { font-size:24px; }
  .hero-sticker span { font-size:7px; }
  .hero-img-caption { font-size:8px; }
  .hero-visual { padding:8px 0 18px; gap:11px; }
  .hero .btn { min-height:48px; padding:14px 19px; }
  :root { --section-space:48px; }
  .eyebrow { gap:10px; font-size:9px; letter-spacing:.18em; }
  .eyebrow-line { width:23px; }
  .display { font-size:clamp(39px,10vw,50px); }
  .intro-copy,.heading-aside { font-size:15px; }
  .marquee { height:43px; }
  .marquee-track { gap:22px; }
  .marquee span { font-size:10px; }
  .occasion { padding:25px 13px!important; min-height:250px; }
  .occasion-icon { font-size:42px; margin-bottom:22px; }
  .occasion-counter { top:29px; right:14px; font-size:9px; }
  .occasion h3 { font-size:21px; }
  .occasion p { font-size:13px; }
  .sauces-photo { min-height:320px; }
  .sauces-panel { padding-block:65px; }
  .sauce-seal { height:136px; width:136px; }
  .sauce-seal strong { font-size:27px; }
  .founder-art { min-height:455px; }
  .founder-art-overlay { bottom:35px; left:23px; }
  .founder-art-overlay>span { font-size:46px; }
  .founder-panel { padding-block:65px; }
  .founder-panel .display { font-size:43px; }
  .form-card { padding:23px 19px; }
  .interest-form { grid-template-columns:1fr; row-gap:17px; }
  .form-row { grid-column:1/-1; }
  .form-topline { font-size:22px; }
  .inquiry .display { font-size:45px; }
  .footer-top { gap:40px 24px; }
  .footer-logo { font-size:35px; }
  .footer-motto { font-size:21px; }
  .footer-menu-col a,.footer-contact-col a { font-size:12px; }
}
/* V1.1 HERO NO-CROP RELEASE GATE: the image, its caption and the full
   headline/CTA stack must end above the desktop viewport bottom with cushion.
   On small viewports, sections grow naturally and remain scrollable. */
@media (min-width:761px) and (max-height:820px) {
  .hero-layout { padding-block:22px 30px; }
  .hero h1 { font-size:clamp(50px,4.8vw,69px); margin:13px 0 15px; line-height:1.025; }
  .hero h1 em { line-height:1.095; }
  .hero-description { font-size:15px; line-height:1.53; margin-bottom:17px; }
  .hero-bottom { margin-top:17px; }
  .hero-img-wrap { height:clamp(330px,calc(100svh - 300px),510px); }
  .hero-visual { gap:11px; }
  .hero-sticker { height:132px; width:132px; bottom:43px; right:10px; padding:11px 13px; }
  .hero-sticker strong { font-size:27px; }
  .hero-sticker span { font-size:7.5px; }
}
@media (min-width:761px) and (max-height:690px) {
  .hero-layout { padding-block:16px 25px; }
  .hero h1 { font-size:clamp(43px,4.4vw,57px); margin:11px 0 12px; }
  .hero-description { font-size:14px; line-height:1.45; margin-bottom:14px; }
  .hero-bottom { display:none; }
  .hero-img-wrap { height:clamp(285px,calc(100svh - 290px),390px); }
  .hero-sticker { height:110px; width:110px; bottom:40px; padding:7px 9px; }
  .hero-sticker strong { font-size:24px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
}

/* Responsive hero completion lock: hero photograph, caption, CTA and headline
   remain in normal flow. No viewport-height clipping and no hidden text.
   Short screens scroll naturally; desktop heroes fit within the fold. */
.hero-layout, .hero-content, .hero-visual { overflow:visible; }
.hero h1, .hero-description, .hero-img-caption { text-overflow:clip; max-height:none; }

/* V1.2: original rustic photograph, full composition; homepage hero only. */
.hero-visual { align-items:center; }
.hero-img-wrap { width:min(100%, max(300px, calc(100svh - 300px)), 540px); height:auto; aspect-ratio:1; overflow:visible; border-color:#8f7452; background:#160e0a; }
.hero-image { position:static; width:100%; height:auto; object-fit:contain; object-position:center; filter:none; }
.hero-img-wrap:after { box-shadow:none; }
.hero-img-caption { width:min(100%, max(300px, calc(100svh - 300px)), 540px); line-height:1.6; }
.hero-sticker { display:none; }
@media(max-width:760px) {
 .hero-visual { padding:12px 0 40px; gap:16px; }
 .hero-img-wrap,.hero-img-caption { width:100%; max-width:540px; height:auto; }
}

/* Avoid a 15px horizontal scrollbar at 320px with classic browser scrollbars. */
body.homepage { min-width:0; }

/* V1.3 accessibility and locale parity; approved visual system unchanged. */
.lang-switch a { min-height:32px; display:inline-flex; align-items:center; }
@media(max-width:450px){ .mobile-actions .lang-switch a.active,.mobile-actions .lang-switch span{display:none;} .mobile-actions{gap:10px;} }
.form-row [aria-invalid="true"] { border:2px solid #9d4d35; }
.form-submit:disabled { opacity:.65; cursor:not-allowed; }
.form-preview-result pre { white-space:pre-wrap; overflow-wrap:anywhere; }
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}.marquee-track{animation:none;}}

/* Full-source image visibility and readable supporting text. */
.flavor-image img,.sauces-photo img,.founder-art>img { object-fit:contain; object-position:center; }
.flavor-card:hover img { transform:none; }
.flavor-image:after,.sauces-photo:after,.founder-art:after { display:none; }
.flavor-num { background:#211610; padding:6px 8px; }
.sauces-photo,.founder-art { display:flex; flex-direction:column; justify-content:center; gap:28px; padding:32px; background:#211610; }
.sauces-photo img,.founder-art>img { position:static; height:auto; width:100%; filter:none; }
.sauces-photo-badge,.founder-art-overlay { position:static; margin:0; }
.flavor-subtitle,.flavor-tag,.footnote,.occasion-counter,.intro-signature { color:#765637; }
.form-row input::placeholder,.form-row textarea::placeholder { color:#75604b; }
.menu-toggle { min-width:44px; min-height:44px; }

/* Render decorative marks as monochrome text, not platform-colored emoji. */
.hero-bottom-bloom,.occasion-icon,.little-star,.btn-arrow,.nav-contact span,.text-link span { font-family:'DejaVu Sans',Arial,sans-serif; font-variant-emoji:text; }

/* V1.4 stable motion, clear errors and comfortable touch targets. */
.marquee-track { animation:none; }
.field-error { display:block; color:#7b3020; font-size:13px; line-height:1.5; margin-top:8px; }
.field-error[hidden] { display:none; }
.lang-switch a,.footer-languages a { min-height:44px; display:inline-flex; align-items:center; }

/* Five-percent minimum lateral content safety zone; backgrounds may bleed. */
:root { --pad:clamp(20px,5vw,90px); }
@media(max-width:760px){:root{--pad:max(20px,5vw);}}
.flavor-image { padding:5%; }

/* Header utilities reuse the existing espresso/gold design language. */
.topline-inner{flex-wrap:wrap;gap:8px 18px;}.top-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.top-actions a,.utility-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:5px 8px;font:600 12px var(--font-body);color:#f5d99a;background:none;border:0;text-decoration:underline;text-underline-offset:4px;cursor:pointer;}
.top-actions .utility-button:first-of-type{border:1px solid #b39361;text-decoration:none;min-width:44px;}
.contact-details{font-style:normal;display:grid;gap:12px;margin:28px 0;overflow-wrap:anywhere;}
.contact-details a{display:block;min-height:44px;color:#f5d99a;font-size:18px;}.contact-details span{display:block;font-size:11px;letter-spacing:.08em;color:#deceba;margin-bottom:6px;}
.utility-dialog{box-sizing:border-box;width:min(90vw,420px);max-width:90vw;max-height:none;padding:24px;margin:auto;border:1px solid #b39361;background:#f9f2e6;color:#32231b;overflow:visible;box-shadow:0 20px 80px #0008;}
.utility-dialog::backdrop{background:#160f0bba;}.utility-dialog h2{font:500 27px var(--font-display);padding-right:35px;margin:0 0 10px;}.utility-dialog p{font-size:14px;line-height:1.5;margin:8px 0 16px;}
.dialog-close{position:absolute;right:6px;top:6px;width:44px;height:44px;border:0;background:none;color:#32231b;font-size:28px;}
.qr-image{width:min(100%,30svh,220px);height:auto;margin:16px auto;background:white;}.dialog-link{display:flex;min-height:44px;align-items:center;justify-content:center;text-decoration:underline;}
.share-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}.share-grid a,.share-grid button{display:flex;align-items:center;justify-content:center;min-height:44px;text-align:center;padding:8px;border:1px solid #9c7d54;color:#32231b;background:transparent;font:600 12px var(--font-body);}
.share-status{overflow-wrap:anywhere;}.share-status:empty{display:none;}.share-status input{width:100%;font:14px var(--font-body);padding:8px;}
@media(max-width:760px){.topline-inner>p{width:100%;text-align:center;}.top-actions{justify-content:center;width:100%;padding-bottom:6px;gap:18px;}}
@media(max-height:480px){.utility-dialog{padding:14px;}.utility-dialog h2{font-size:21px;margin-bottom:6px;}.utility-dialog p{font-size:12px;line-height:1.35;margin:6px 0 10px;}.share-grid{gap:6px;}.share-grid a,.share-grid button{min-height:38px;padding:5px;}.qr-image{width:min(100%,25svh,150px);margin:8px auto;}}

.utility-dialog{width:min(85vw,420px);max-width:85vw;}
/* Final contrast corrections for small supporting labels. */
.vision-step p{color:#6f5d4e;}.contact-details span{color:#fff6e8;}.form-topline{color:#805326;}.footer-languages span{color:#b8a38a;}
/* Auxiliary-page min-content repair: preserve a safe card at narrow widths. */
body{min-width:0;}.thank-screen{grid-template-columns:minmax(0,1fr);}.thank-card{width:min(100%,650px);min-width:0;padding:clamp(20px,5vw,85px);}.thank-card .footer-logo{font-size:clamp(22px,5vw,38px);white-space:normal;overflow-wrap:normal;}
/* Full-width photo panels retain at least a five-percent viewport edge cushion. */
.sauces-photo,.founder-art{padding:max(20px,5vw);}

/* V1.5 original founder portraits and locale-specific poster. Never crop source pixels. */
.founder-art>img{width:100%;max-width:322px;height:auto;align-self:center;object-fit:contain;filter:none;}
.founder-art{overflow:visible;min-height:0;}
.founder-gallery{background:var(--cream);}
.founder-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,5vw,80px);max-width:1040px;margin:48px auto 0;align-items:start;}
.founder-gallery figure,.poster-frame{margin:0;min-width:0;padding:clamp(20px,3vw,48px);background:#f0e6d5;border:1px solid #d6c4a7;}
.founder-gallery img{display:block;width:100%;height:440px;object-fit:contain;filter:none;}
.founder-gallery figcaption,.poster-frame figcaption{padding-top:22px;text-align:center;font-size:14px;line-height:1.6;color:#513b2b;}
.poster-section{background:#f8f1e5;}
.poster-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,110px);align-items:center;}
.poster-copy{max-width:560px;min-width:0;}
.poster-copy>p{line-height:1.8;margin:24px 0;}
.poster-copy .poster-transcript{font-size:14px;color:#654b37;border-top:1px solid #d6c4a7;padding-top:24px;}
.poster-frame{max-width:510px;justify-self:center;width:100%;}
.poster-frame img{display:block;width:100%;height:auto;object-fit:contain;}
.poster-download{white-space:normal;text-align:center;max-width:100%;}
@media(max-width:700px){.founder-gallery-grid,.poster-grid{grid-template-columns:minmax(0,1fr);}.founder-gallery img{height:auto;max-height:none;}.poster-copy{max-width:none;}.poster-frame{max-width:440px;}.founder-gallery-grid{max-width:440px;}.founder-art-overlay>span{font-size:clamp(28px,9vw,46px);}}

.poster-other-download{display:inline-flex;align-items:center;min-height:44px;color:#65412b;text-decoration:underline;text-underline-offset:4px;line-height:1.6;}

/* Version6.0: explicit, accessible user-controlled email handoff. */
.form-preview-result .email-handoff{display:flex;justify-content:center;white-space:normal;margin:20px 0 12px;text-align:center;max-width:100%;line-height:1.6;}
.form-preview-result button{min-height:44px;white-space:normal;}
:target{scroll-margin-top:0;}

/* Short landscape viewports retain fully visible controls, not nested dialog scrollbars. */
@media(min-width:500px) and (max-height:480px){
.utility-dialog{width:min(85vw,600px);max-width:85vw;}
.share-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.share-grid a,.share-grid button{min-height:44px;}
.share-status input{padding:5px;}
}
@media(min-width:500px) and (max-width:1200px) and (max-height:480px){
.main-nav.is-open{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:10px;padding-bottom:16px;max-height:none;overflow:visible;}
.main-nav .nav-link{font-size:13px;padding:10px 7px;min-height:44px;display:flex;align-items:center;}
.main-nav .nav-contact{margin-top:0;min-height:44px;padding:10px;font-size:11px;}
.main-nav .nav-lang{display:none;}
}

/* Version 4.0: complete portrait and centered caption are one natural-flow figure. */
.founder{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
.founder-art{margin:0;min-width:0;align-items:center;gap:24px;padding:clamp(28px,5vw,88px);}
.founder-art>img{width:auto;max-width:100%;height:auto;max-height:560px;object-fit:contain;flex:none;}
.founder-art-overlay{position:static;width:100%;max-width:560px;align-items:center;text-align:center;gap:12px;}
.founder-art-overlay>span{font-size:clamp(25px,2.6vw,36px);line-height:1.25;letter-spacing:.08em;overflow-wrap:normal;}
.founder-art-overlay small{font-size:11px;line-height:1.7;letter-spacing:.15em;}
.founder-panel{min-width:0;}
@media(min-width:801px) and (min-height:600px){.founder-art>img{max-height:min(560px,calc(100svh - 330px));}}
@media(max-width:800px){.founder-art>img{width:min(100%,360px);max-height:none;}.founder-art{padding:max(28px,7vw);}.founder-art-overlay>span{font-size:clamp(25px,6vw,32px);}}
@media(min-width:1201px){.header-inner{gap:20px;}.main-nav{gap:clamp(10px,1.3vw,25px);}.main-nav .nav-link{font-size:11px;}}

/* The wider bilingual navigation collapses before it competes with the brand. */
.founder-art{justify-content:flex-start;}
@media(max-width:1200px) and (min-width:701px){.main-nav.is-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:none;overflow:visible;}.main-nav .nav-link{white-space:normal;}.main-nav .nav-contact{margin-top:0;}}
@media(max-width:1200px) and (min-width:500px) and (max-height:480px){.main-nav.is-open{grid-template-columns:repeat(3,minmax(0,1fr));}}

/* A complete, wrapping brand strip replaces the inherited clipped repeated ticker. */
.marquee{height:auto;min-height:55px;padding:18px var(--pad);overflow:visible;white-space:normal;justify-content:center;}.marquee-track{min-width:0;flex-wrap:wrap;justify-content:center;gap:14px 24px;text-align:center;}.marquee span{line-height:1.7;}.marquee b{line-height:1;}

/* User-requested WhatsApp handoff; indicator is decorative, never online telemetry. */
.top-actions{margin-left:auto;justify-content:flex-end;}
.whatsapp-contact{display:inline-flex;align-items:center;gap:2px;max-width:100%;}
.top-actions .whatsapp-link{gap:9px;text-decoration:none;text-align:left;min-height:48px;color:#f8f3e8;padding:6px 8px;border:1px solid #267544;border-radius:8px;}
.whatsapp-link svg{flex:none;}.whatsapp-link strong{display:block;font-size:12px;line-height:1.5;}.whatsapp-link small{display:block;font-size:10px;line-height:1.6;font-weight:500;letter-spacing:0;}
.whatsapp-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#25D366;flex:none;animation:whatsapp-pulse 2s steps(1,end) infinite;}
@keyframes whatsapp-pulse{0%,49.99%{opacity:1}50%,100%{opacity:0}}
.whatsapp-motion{width:44px;height:44px;flex:none;border:0;background:none;color:#dfceac;font-size:17px;cursor:pointer;}
.whatsapp-contact.is-paused .whatsapp-dot{animation:none;opacity:1;}
@media(prefers-reduced-motion:reduce){.whatsapp-dot{animation:none;opacity:1;}.whatsapp-motion{display:none;}}
@media(max-width:700px){.top-actions{width:100%;gap:8px;}.topline-end{margin-right:auto;}.whatsapp-contact{margin-left:auto;}.topline-inner{padding-block:8px;}}

.whatsapp-motion span{display:inline-block;width:11px;height:13px;border-left:3px solid currentColor;border-right:3px solid currentColor;}
.whatsapp-motion[aria-pressed="true"] span{width:0;height:0;border-left:11px solid currentColor;border-right:0;border-top:7px solid transparent;border-bottom:7px solid transparent;}

.brand-main .brand-slogan{font:500 clamp(9px,.8vw,11px)/1.5 var(--font-body);letter-spacing:0;white-space:normal;text-align:center;margin-top:6px;color:#e6d7bd;max-width:100%;}
.footer-brand-col .footer-slogan{font-family:var(--font-display);font-size:20px;line-height:1.5;margin:18px 0;color:#f5d99a;}
/* V5 dedicated menu/services: equal uncropped frames, calm editorial spacing. */
.catalog-opening{background:var(--espresso);color:var(--cream)}
.catalog-opening h1{max-width:18ch;margin:22px 0}.catalog-opening p{max-width:70ch;font-size:18px;line-height:1.8;color:#e8d9c5}
.catalog-opening .catalog-note{font-size:14px;border-left:2px solid var(--saffron);padding-left:20px}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:32px}
.menu-card{min-width:0;background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column;scroll-margin-top:130px}
.menu-card figure{margin:0;padding:20px;background:#f0e4d1;aspect-ratio:1;display:grid;place-items:center}
.menu-card img{width:100%;height:100%;object-fit:contain;display:block;filter:none;min-height:0}
.menu-card-copy{padding:28px;display:flex;flex-direction:column;flex:1}.menu-card h2,.services-grid h2{font:500 clamp(27px,3vw,36px)/1.2 var(--font-display);margin:0 0 18px}
.menu-card p,.services-grid p{line-height:1.8;margin:0 0 24px}.item-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}
.item-actions button{min-height:44px;border:1px solid #967750;background:transparent;color:var(--espresso);padding:10px 14px;font:600 12px var(--font-body);cursor:pointer;max-width:100%;white-space:normal}
.item-actions .item-order{width:100%;background:var(--espresso);color:var(--cream)}.item-actions [aria-pressed=true]{background:#e8c78f;border-color:#513b2b}
.illustration-note,.local-like-note{font-size:13px;line-height:1.7;color:#66513e}.local-like-note{margin-top:28px}
.catalog-details{background:var(--paper)}.catalog-details p{max-width:75ch;line-height:1.9}.catalog-contact{display:flex;flex-wrap:wrap;gap:16px;margin-top:30px}.catalog-contact a{white-space:normal;text-align:center}
.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}.services-grid article{border-top:1px solid var(--line);padding:28px 0}.services-grid .eyebrow{display:block;margin-bottom:20px}.services-grid a{display:inline-flex;min-height:44px;align-items:center;text-decoration:underline}
.order-item{font-weight:700}.order-note{font-size:12px!important}
@media(max-width:1000px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.menu-card-copy{padding:22px}}
@media(max-width:600px){.catalog-grid,.services-grid{grid-template-columns:minmax(0,1fr)}.catalog-opening h1{font-size:42px}.catalog-opening p{font-size:16px}.menu-card figure{padding:18px}.catalog-contact{flex-direction:column}}
@media(max-height:480px){#order-dialog{width:min(85vw,680px)}#order-dialog .share-grid{grid-template-columns:repeat(4,minmax(0,1fr))}#order-dialog p{margin:6px 0}.main-nav.is-open{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* QR-only polish: preserves original QR pixels/quiet zone and existing brand. */
#qr-dialog{width:min(calc(100vw - 40px),440px);max-width:calc(100vw - 40px);padding:28px;margin:auto;border:1px solid #b39361;border-radius:3px;background:#f9f2e6;box-shadow:0 24px 90px #160f0b66;overflow:visible;}
#qr-dialog h2{padding-right:32px;margin:0 0 10px;font-family:var(--font-display);}
#qr-dialog>p{margin:0 0 18px;color:#685443;line-height:1.5;}
#qr-dialog .qr-image{display:block;position:static;box-sizing:content-box;width:min(220px,calc(100% - 20px),36svh);max-width:calc(100% - 20px);height:auto;aspect-ratio:1;object-fit:contain;margin:0 auto 16px;padding:10px;background:#fff;border:1px solid #d6c6ad;border-radius:3px;box-shadow:0 5px 18px #32231b12;filter:none;}
#qr-dialog .dialog-link{min-height:44px;margin:0 auto;text-align:center;font-weight:600;letter-spacing:.04em;text-underline-offset:5px;overflow-wrap:anywhere;}
#qr-dialog .dialog-close{top:6px;right:6px;min-width:44px;min-height:44px;border-radius:2px;}
#qr-dialog .dialog-close:focus-visible,#qr-dialog .dialog-link:focus-visible{outline:2px solid #946a31;outline-offset:3px;}
@media(max-width:380px){#qr-dialog{padding:22px 18px;}#qr-dialog h2{font-size:24px;}#qr-dialog>p{font-size:13px;}#qr-dialog .dialog-link{font-size:13px;}}
@media(max-height:480px) and (min-width:480px){
 #qr-dialog[open]{display:grid;grid-template-columns:minmax(110px,160px) minmax(0,1fr);grid-template-areas:"code title" "code note" "code link";gap:6px 22px;width:min(calc(100vw - 40px),560px);padding:22px;align-items:center;}
 #qr-dialog h2{grid-area:title;font-size:23px;margin:0;padding-right:28px;}
 #qr-dialog>p{grid-area:note;font-size:13px;line-height:1.4;margin:0;}
 #qr-dialog .qr-image{grid-area:code;width:min(136px,40svh);max-width:calc(100% - 18px);padding:8px;margin:auto;}
 #qr-dialog .dialog-link{grid-area:link;font-size:13px;letter-spacing:.015em;}
}
@media(max-height:480px) and (max-width:479px){#qr-dialog{padding:16px;}#qr-dialog h2{font-size:20px;margin-bottom:5px;}#qr-dialog>p{font-size:12px;line-height:1.3;margin-bottom:8px;}#qr-dialog .qr-image{width:min(100px,25svh);padding:6px;margin-bottom:4px;}}
#qr-dialog{max-width:85vw;width:min(85vw,440px)}
@media(max-height:480px) and (min-width:480px){#qr-dialog[open]{width:min(85vw,560px)}}
/* Final release repair: all mobile navigation choices stay within the viewport. */
@media(max-width:700px){.main-nav.is-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 6vw 24px;max-height:var(--nav-available,70dvh);overflow:auto}.main-nav .nav-link{white-space:normal;min-height:44px;padding:10px 7px;font-size:13px}.main-nav .nav-contact{margin:0;min-height:44px;padding:10px;font-size:11px}}
@media(max-width:1200px){.main-nav.is-open{max-height:var(--nav-available,70dvh);overflow:auto}}
@media(max-width:1200px) and (min-width:500px) and (max-height:480px){.main-nav.is-open{grid-template-columns:repeat(3,minmax(0,1fr));padding-top:8px;padding-bottom:12px}.main-nav .nav-link{padding:6px 7px;font-size:12px;min-height:44px}.main-nav .nav-contact{font-size:11px}}

/* Final approved service imagery: equal frames, full untouched composition. */
.service-image{margin:0 0 28px;padding:clamp(18px,3vw,30px);background:#f4eee5;border:1px solid var(--line);aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
.service-image img{display:block;width:100%;height:100%;object-fit:contain;max-width:100%;border-radius:2px}
.service-image-note{font-size:14px;line-height:1.7;color:#665445;max-width:74ch;margin:24px 0 0}

/* Homepage flavor cards now reuse the approved menu artwork at identical proportions. */
.flavor-image{height:auto;aspect-ratio:1/1;padding:clamp(18px,2.2vw,28px);display:flex;align-items:center;justify-content:center}
.flavor-image img{width:100%;height:100%;object-fit:contain;transform:none}
.flavor-card:hover img{transform:none}
.flavor-num{left:10px;top:10px;font-size:10px;padding:4px 6px}

.flavor-image{flex-direction:column;gap:18px;aspect-ratio:auto}
.flavor-image img{aspect-ratio:1/1;height:auto;flex:none}
.flavor-caption{position:static;display:block;align-self:stretch;text-align:center;color:#65472d;font-size:11px;font-weight:700;line-height:1.6;letter-spacing:.08em;text-transform:uppercase;overflow-wrap:anywhere}
.flavor-caption{order:-1;min-height:3.2em;display:flex;align-items:center;justify-content:center}

.menu-category-caption{padding:22px 24px 0;min-height:calc(3.2em + 22px);display:flex;align-items:center;justify-content:center;text-align:center;font-size:11px;font-weight:700;line-height:1.6;letter-spacing:.08em;text-transform:uppercase;color:#65472d;overflow-wrap:anywhere}
.flavor-image{background:#f0e4d1;overflow:visible}

/* Brand canvas remains continuous through navigation and viewport overscroll. */
html{min-height:100%;background:var(--espresso);scrollbar-color:#8a6841 var(--espresso)}
body{min-height:100vh;min-height:100svh}
.footer{margin-bottom:0}

/* Approved official empanada/half-moon mark with subtle M edge crimps. */
.brand-mark{width:44px;height:44px;flex:0 0 44px;color:#ddb36b;display:block;overflow:visible}
@media(max-width:380px){.brand-mark{width:34px;height:34px;flex-basis:34px}}
/* Approved sauce-panel refinement: full-width original photo, never cover/crop. */
.sauces-photo{padding:0;gap:0;min-height:0;justify-content:center;overflow:visible}
.sauces-photo img{width:100%;height:auto;object-fit:contain;position:static;flex:none}
.sauces-photo-badge{width:100%;padding:clamp(24px,4vw,52px);margin:0;position:static;box-sizing:border-box}
@media(max-width:800px){.sauces-photo{justify-content:flex-start}}
@media(max-width:380px){
.header-inner{height:auto;min-height:69px;flex-direction:column;align-items:stretch;gap:12px;padding-top:14px;padding-bottom:14px}
.brand{align-self:center}
.mobile-actions{justify-content:center}
}

.menu-card-copy .unit-price,.flavor-copy .unit-price{font:700 16px/1.5 var(--font-body);color:#51371f;margin:10px 0 18px;min-height:0}

/* User-approved pricing: inquiries only, no checkout. */
.menu-offer{padding:clamp(24px,4vw,44px);border:1px solid #a78659;background:#eee0c8;margin:0 0 40px;scroll-margin-top:180px}
.menu-offer h2{font:500 clamp(26px,3vw,38px)/1.25 var(--font-display);margin:0 0 16px}
.menu-offer p{max-width:65ch;line-height:1.7}.menu-offer .offer-price{font-weight:700;font-size:18px}
.home-offer{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 24px;padding:26px 0;text-align:center}.home-offer a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline}.home-offer strong{font-family:var(--font-display);font-size:24px;font-weight:500}
.service-menu-offer{line-height:1.8;max-width:75ch}.service-menu-offer a{display:inline-flex;min-height:44px;align-items:center;text-decoration:underline}

/* Local quantity estimator, accessible and non-transactional. */
.calc-panel{padding:clamp(24px,4vw,44px);margin:0 0 40px;background:#fcf9f1;border:1px solid var(--line);scroll-margin-top:180px;max-width:100%;min-width:0}
.calc-panel h2{font:500 clamp(28px,3vw,38px)/1.25 var(--font-display);margin:0 0 18px}
.calc-panel p{max-width:76ch;font-size:14px;line-height:1.8}.calc-panel label{display:block;font-weight:700;font-size:14px;line-height:1.6;margin:20px 0 8px}
.calc-panel input,.calc-panel textarea{display:block;max-width:100%;width:100%;border:1px solid #9d8568;border-radius:0;background:#fffdf8;color:#32231b;padding:12px;min-height:48px;box-sizing:border-box}.calc-panel input{max-width:240px}.calc-panel textarea{resize:vertical;min-height:100px}
.calc-presets{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.calc-presets button{min-height:44px;padding:10px 16px;border:1px solid #876a46;background:#f1e6d6;color:#32231b;font-weight:600}
#calc-result dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;max-width:600px;padding:22px;background:#eee0c8;margin:24px 0}#calc-result dt,#calc-result dd{margin:0;line-height:1.6;overflow-wrap:anywhere}#calc-result dd{font-weight:700;text-align:right}#calc-error{color:#8a251d;font-weight:600}.calc-panel button:disabled{opacity:.6;cursor:not-allowed}.payment-note{font-size:14px;line-height:1.8;max-width:76ch}
@media(max-width:380px){#calc-result dl{grid-template-columns:minmax(0,1fr);gap:6px}#calc-result dd{text-align:left;margin-bottom:12px}}

/* Policy content uses the same spacious brand canvas. */
.policy-page{background:var(--cream,#f9f2e6);color:#32231b}.policy-page .container{max-width:1000px}.policy-lead{font-size:18px;line-height:1.6}.policy-index,.footer-policies{display:flex;flex-wrap:wrap;gap:12px 24px;padding:20px 0}.policy-index a,.footer-policies a{min-height:44px;display:inline-flex;align-items:center;text-underline-offset:4px}.policy-section{padding:24px 0;border-top:1px solid #bda98e;scroll-margin-top:140px}.policy-section h2{font:500 clamp(24px,4vw,36px)/1.2 var(--font-display)}.policy-section p{font-size:16px;line-height:1.7;max-width:75ch;overflow-wrap:anywhere}.footer-policies a{color:inherit}
/* Contact arrival: content-first spacing; tall policy copy must not push the form down. */
.inquiry.section-pad{padding-block:clamp(32px,4vw,56px)}
.inquiry-grid{align-items:start}
.inquiry .display{font-size:clamp(40px,4.3vw,64px)}
.inquiry-lead{line-height:1.65}
.inquiry-promises{margin-block:24px;gap:12px}
.inquiry-signature{margin-top:24px;padding-top:18px}
@media(min-width:801px){.inquiry .form-card{padding:clamp(28px,2.7vw,40px)}.inquiry .form-topline{margin-bottom:22px;padding-bottom:16px}.inquiry .interest-form{row-gap:18px}}

.tech-person-qr{display:flex;flex-direction:column;align-items:center;gap:12px;margin:24px auto 0;padding:20px;max-width:260px;border:1px solid var(--line);color:var(--ink);text-align:center;font-weight:600;text-underline-offset:4px}.tech-photo .tech-person-qr img{width:150px;max-width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:white;border:8px solid white}.tech-person-qr span{overflow-wrap:anywhere}

.tech-qr-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tech-qr-pair .tech-person-qr{width:100%;margin-top:20px;padding:16px;max-width:none}.tech-qr-pair .tech-person-qr img{width:130px}.tech-qr-pair small{font-size:12px;overflow-wrap:anywhere}@media(max-width:480px){.tech-qr-pair{grid-template-columns:1fr}.tech-qr-pair .tech-person-qr{max-width:260px;margin-inline:auto}}

.tech-qr-pair strong{font-size:14px;line-height:1.4;overflow-wrap:anywhere}
@media(max-height:500px) and (min-width:481px){#cazonci-contact-dialog{padding:12px}#cazonci-contact-dialog p{margin:3px 0 5px}}
/* Arrival composition: keep opening context concise and reveal complete content groups. */
.catalog-page .catalog-opening{padding-block:clamp(28px,3vw,40px)}
.catalog-page .catalog-opening h1{font-size:clamp(34px,3.1vw,48px);line-height:1.12;max-width:28ch;margin:14px 0 16px}
.catalog-page .catalog-opening p{font-size:16px;line-height:1.65;max-width:88ch;margin:12px 0}
.catalog-page .catalog-opening .catalog-note{font-size:14px;max-width:90ch}
.catalog-page .catalog-opening+section{padding-top:clamp(32px,3vw,48px)}
.catalog-page .services-grid article{padding-top:20px}
.catalog-page .service-image{width:100%;max-width:320px;margin:0 auto 22px;padding:20px}
@media(min-width:1001px) and (min-height:900px){.inquiry .form-card{margin-top:clamp(24px,calc((100svh - 900px)/4 + 24px),48px)}}
/* Shared viewport-aware opening: extend canvas, never crop content to fit. */
:root{--opening-chrome:194px;--opening-divider:58px;--content-arrival-gap:clamp(28px,3vw,48px)}
.homepage:not(.catalog-page):not(.technology-page) .hero-layout{min-height:calc(100svh - var(--opening-chrome) - var(--opening-divider))}

/* V15: consistent QR frames and private-label professional contact links. */
.tech-qr-pair .tech-person-qr{border:1px solid var(--line);text-decoration:none;transition:background-color .18s ease,border-color .18s ease}
.tech-qr-pair .tech-person-qr:hover{background:#f4e9d5;border-color:#9c7647}
.tech-qr-pair .tech-person-qr:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.cazonci-contact-actions{display:grid;gap:12px;margin:22px 0}
#cazonci-contact-dialog .contact-channel{display:flex;align-items:center;justify-content:flex-start;gap:14px;min-height:52px;padding:12px 16px;border:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:600;line-height:1.45;overflow-wrap:anywhere}
#cazonci-contact-dialog .contact-channel:hover{background:#f4e9d5;border-color:#9c7647}
#cazonci-contact-dialog .contact-channel:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.contact-channel svg{width:26px;height:26px;flex:0 0 26px}.contact-channel .contact-wa{color:#128c46}
@media(prefers-reduced-motion:reduce){.tech-qr-pair .tech-person-qr{transition:none}}
@media(max-height:500px){.cazonci-contact-actions{gap:8px;margin:12px 0}#cazonci-contact-dialog .contact-channel{padding:8px 12px;min-height:48px}}

/* Full-viewport overlay scroll: the contact card itself never clips or scrolls internally. */
#cazonci-contact-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:5vh 5vw;border:0;background:transparent;box-shadow:none;overflow:auto;align-items:flex-start;justify-content:center;box-sizing:border-box}
#cazonci-contact-dialog[open]{display:flex}
.cazonci-contact-card{position:relative;box-sizing:border-box;width:min(100%,460px);flex-shrink:0;margin:auto;padding:24px;border:1px solid #b39361;background:#f9f2e6;box-shadow:0 20px 80px #0008}
#cazonci-contact-dialog .dialog-close{width:44px;height:44px;top:4px;right:4px}
#cazonci-contact-dialog h2{padding-right:36px}
@media(max-width:400px){.cazonci-contact-card{padding:18px}#cazonci-contact-dialog h2{font-size:24px}#cazonci-contact-dialog p{font-size:13px;line-height:1.45;margin:8px 0 12px}.cazonci-contact-actions{margin:16px 0;gap:8px}}
@media(max-height:500px) and (min-width:481px){.cazonci-contact-card{width:min(100%,620px);padding:16px}.cazonci-contact-actions{grid-template-columns:repeat(3,minmax(0,1fr))}#cazonci-contact-dialog .contact-channel{flex-direction:column;justify-content:center;gap:6px;padding:8px 4px;font-size:12px;text-align:center}#cazonci-contact-dialog p{font-size:13px;line-height:1.4}}
/* V18: expanded sharing destinations are explicit, with a naturally scrolling outer overlay. */
.share-more-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;min-width:0}
.share-more-options[hidden]{display:none!important}
.share-more-options a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px;border:1px solid #9c7d54;color:#32231b;font:600 12px var(--font-body);text-align:center;overflow-wrap:anywhere;min-width:0}
#share-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:5vh 7.5vw;border:0;background:transparent;box-shadow:none;overflow:auto;box-sizing:border-box}
#share-dialog[open]{display:flex;align-items:safe center;justify-content:center}
.share-dialog-card{position:relative;flex:0 0 auto;width:min(100%,600px);padding:24px;border:1px solid #b39361;background:#f9f2e6;color:#32231b;box-shadow:0 20px 80px #0008;box-sizing:border-box;min-width:0}
@media(max-width:400px){.share-more-options{grid-template-columns:repeat(2,minmax(0,1fr))}.share-dialog-card{padding:18px}.share-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-height:480px){#share-dialog{padding:20px 7.5vw}.share-dialog-card{padding:18px}.share-more-options{margin-top:10px;gap:6px}}
/* V20: strengthen the existing story, with one navigation destination; practical FAQs near Contact. */
.story-values{background:var(--cream);padding-block:clamp(32px,4vw,56px)}
.story-values-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,4vw,48px);max-width:1040px;margin:28px auto 0}
.story-values article{min-width:0;padding:clamp(22px,3vw,40px);border:1px solid #bfa47d;background:#f9f2e6}
.story-values h3{font:500 clamp(24px,3vw,32px)/1.25 var(--font-display);margin:0 0 16px;color:#32231b}
.story-values p{font-size:16px;line-height:1.7;color:#513b2b;margin:0}
.faq-section{background:#f5ecdc;padding-block:clamp(32px,4vw,56px);scroll-margin-top:0}
.faq-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,72px);align-items:start}
.faq-intro{min-width:0}.faq-intro .display{font-size:clamp(32px,4vw,52px);line-height:1.15;margin:16px 0 20px}.faq-intro p{font-size:16px;line-height:1.7;max-width:42ch}.faq-intro a{display:inline-block;margin-top:16px;min-height:44px;padding-block:10px}
.faq-list{min-width:0}.faq-list details{border-top:1px solid #bfa47d;padding:0}.faq-list details:last-child{border-bottom:1px solid #bfa47d}
.faq-list summary{min-height:44px;padding:20px 8px;font-weight:600;font-size:16px;line-height:1.5;cursor:pointer;color:#32231b;overflow-wrap:break-word}
.faq-list summary::marker{color:#946a31}.faq-list summary:focus-visible{outline:2px solid #946a31;outline-offset:3px}
.faq-answer{padding:0 8px 22px}.faq-answer p{margin:0;font-size:15px;line-height:1.75;color:#513b2b}
@media(max-width:800px){.faq-layout{grid-template-columns:minmax(0,1fr)}.faq-intro p{max-width:65ch}}
@media(max-width:700px){.story-values-grid{grid-template-columns:minmax(0,1fr)}}

/* Food-first menu: retain the offer at the top, then all six cards, then calculator. */
.menu-page .catalog-opening{padding-block:24px}.menu-page .catalog-opening h1{margin:10px 0 12px}.menu-page .catalog-opening p{margin:8px 0}.menu-page .menu-offer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 28px;padding:24px;margin-bottom:24px;align-items:center}.menu-page .menu-offer h2{margin:0;font-size:clamp(26px,2.6vw,34px)}.menu-page .menu-offer p{margin:0}.menu-page .menu-offer .offer-price{text-align:right}.menu-page .menu-offer .btn{justify-self:end}.menu-page .catalog-opening+section{padding-top:28px}
@media(max-width:700px){.menu-page .menu-offer{grid-template-columns:minmax(0,1fr);gap:12px}.menu-page .menu-offer .offer-price{text-align:left}.menu-page .menu-offer .btn{justify-self:start}}

/* Form receipt feedback; unrelated to the protected cooking intro. */
.form-success-mark{font-size:44px;color:#536443;margin:12px auto;animation:form-receipt-in .35s ease-out}.contact-details a svg{vertical-align:middle;margin-right:8px}@keyframes form-receipt-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.form-success-mark{animation:none}}

.contact-details a{display:grid;grid-template-columns:22px minmax(0,1fr);column-gap:10px;align-items:center;padding-block:4px}.contact-details a svg{grid-column:1;grid-row:1 / span 2;margin:0}.contact-details a span{grid-column:2;margin-bottom:3px}

.whatsapp-mobile-hours{display:none;}
/* V27.0: compact mobile utility strip; desktop and startup remain unchanged. */
@media(max-width:760px) and (orientation:portrait){
 .topline-inner{flex-direction:column;gap:4px;padding-block:6px;}
 .topline-inner>p{width:100%;font-size:8px;letter-spacing:.06em;line-height:1.5;}
 .topline p span{margin-inline:4px;}
 .top-actions{display:grid;grid-template-columns:auto 44px auto auto 44px;align-items:center;justify-content:center;gap:4px;width:100%;margin:0;padding:0;}
 .top-actions>.topline-end{display:none;}
 .top-actions>a,.top-actions>.utility-button{min-width:44px;min-height:44px;padding:4px;font-size:11px;white-space:nowrap;}
 .top-actions .whatsapp-contact{margin:0;width:44px;min-width:44px;}
 .top-actions .whatsapp-link{width:44px;height:44px;min-height:44px;box-sizing:border-box;justify-content:center;padding:7px;border:0;gap:0;}
 .top-actions .whatsapp-link>span,.top-actions .whatsapp-motion{display:none;}
 .top-actions .whatsapp-dot{animation:none;}
 .top-actions .whatsapp-link{flex-direction:column;padding:2px;gap:1px;}
 .top-actions .whatsapp-link svg{width:24px;height:24px;}
 .top-actions .whatsapp-link>.whatsapp-mobile-hours{display:block;font-size:9px;line-height:1;color:#f8f3e8;}
 .hero-visual,.hero-img-wrap{overflow:visible;max-height:none;}
 .hero-img-wrap{height:auto;aspect-ratio:auto;}
 .hero-image{position:static;display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;}
}

.mobile-hero-continue{display:none;}
@media(max-width:760px) and (orientation:portrait){
 .homepage:not(.catalog-page):not(.technology-page) .hero-layout{padding-top:0;padding-bottom:12px;}
 .hero-content{padding-top:22px;padding-bottom:14px;}
 .hero-visual{padding-top:0;padding-bottom:14px;gap:10px;}
 .mobile-hero-continue{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:4px 12px;color:#f5d99a;font-size:11px;text-decoration:underline;text-underline-offset:4px;}
 .mobile-hero-continue>span:first-child{font-size:20px;}
 .hero-img-caption{justify-content:center;}
}

/* Classes: reuse approved typography, colors and safe content margins. */
.classes-opening{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,64px);align-items:center;}
.classes-opening>div{min-width:0}.classes-portrait{margin:0;min-width:0;text-align:center}.classes-portrait img{display:block;width:100%;height:auto;object-fit:contain}.classes-portrait figcaption{padding:16px;color:#ead7b5;font-size:12px}
.classes-formats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}.classes-formats article{padding:clamp(20px,3vw,32px);border:1px solid #b69b75;min-width:0}.classes-formats h3{font:500 30px/1.15 var(--font-display)}.classes-rate{font-weight:700;color:#6d4120}.classes-formats .btn{margin-top:12px}
.classes-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.classes-details h2{font:500 30px/1.2 var(--font-display)}
[data-lesson-fields]{border:1px solid #b69b75;padding:18px;margin:0;min-width:0;display:grid;gap:16px}[data-lesson-fields][hidden]{display:none}[data-lesson-fields] legend{padding:0 8px;font-weight:600}
@media(max-width:900px){.classes-opening,.classes-formats,.classes-details{grid-template-columns:minmax(0,1fr)}.classes-portrait{max-width:460px;margin-inline:auto}}

.location-fields{border:1px solid #b69b75;padding:18px;margin:0;min-width:0;display:grid;gap:16px}.location-fields legend{padding:0 8px;font-weight:600}.location-fields p{font-size:12px;line-height:1.6;margin:0}.location-fields a{color:inherit;text-decoration:underline}.location-fields input,[data-lesson-fields] input,[data-lesson-fields] select,[data-lesson-fields] textarea{width:100%;min-width:0;box-sizing:border-box}

.location-fields,[data-lesson-fields]{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.location-fields>p,[data-lesson-fields]>p{grid-column:1/-1}.location-fields .form-row,[data-lesson-fields] .form-row{grid-column:auto}.location-fields .form-row:last-of-type,[data-lesson-fields] .form-row:has(textarea),.interest-form>.form-row:has(select),.interest-form>.form-row:has(textarea){grid-column:1/-1}
@media(max-width:600px){.location-fields,[data-lesson-fields]{grid-template-columns:minmax(0,1fr)}}

.lesson-consent{grid-column:1/-1;min-width:0}.lesson-consent label{display:flex;align-items:flex-start;gap:10px;line-height:1.6}.lesson-consent input[type=checkbox]{width:22px;height:22px;flex:none;margin-top:2px;padding:0;accent-color:#805326}.lesson-consent a{color:inherit;text-decoration:underline;display:inline-block;min-height:44px;padding-block:10px}.classes-terms{max-width:900px}.classes-terms p{line-height:1.75}

.classes-cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:22px}.classes-share-button{border:1px solid #b39361}

/* Owner-designated favorite; not a rating or review count. */
.flavor-title-row .popular-badge{display:inline-flex;align-items:center;gap:5px;max-width:100%;font:600 12px/1.4 var(--font-body);color:#713d28;border:1px solid #b39361;border-radius:4px;padding:4px 7px;white-space:normal}.flavor-title-row .popular-badge>span{color:#8a5a16;font-size:15px}.flavor-title-row{flex-wrap:wrap;gap:8px 12px}

.service-card-actions{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}

/* Portrait-only utility relocation: the same controls live inside the expanded menu. */
@media(max-width:760px) and (orientation:portrait){
 .topline-inner>.top-actions{display:none;}
 .main-nav .nav-utilities{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;padding:8px 0 0;margin:0;border-top:1px solid #b3936166;}
 .main-nav .nav-utilities>.topline-end{display:none;}
 .main-nav .nav-utilities>a,.main-nav .nav-utilities>.utility-button{width:100%;min-width:0;min-height:44px;padding:10px 8px;border:1px solid #b3936170;border-radius:3px;color:#f5d99a;font:600 12px var(--font-body);white-space:normal;text-align:center;text-decoration:none;}
 .main-nav .nav-utilities .whatsapp-contact{grid-column:1/-1;display:flex;width:100%;min-width:0;margin:0;}
 .main-nav .nav-utilities .whatsapp-link{display:flex;flex-direction:row;justify-content:center;width:100%;height:auto;min-height:48px;padding:8px;gap:10px;border:1px solid #b3936170;border-radius:3px;}
 .main-nav .nav-utilities .whatsapp-link>span:not(.whatsapp-dot){display:block;}
 .main-nav .nav-utilities .whatsapp-link>span:has(strong){display:block;}.main-nav .nav-utilities .whatsapp-link small{display:none;}
 .main-nav .nav-utilities .whatsapp-mobile-hours{font-size:12px;line-height:1.4;}
 .main-nav .nav-utilities .whatsapp-motion,.main-nav .nav-utilities .whatsapp-dot{display:none;animation:none;}
 .main-nav .nav-utilities a:focus-visible,.main-nav .nav-utilities button:focus-visible{outline:2px solid #f5d99a;outline-offset:2px;}
}

/* Owner-approved: remove only the redundant supporting strip on phone portrait. */
@media(max-width:760px) and (orientation:portrait){.topline{display:none;}}

/* Only the Home photograph changes size; full composition and caption stay separate. */
@media(max-width:760px) and (orientation:portrait){
 body.homepage:not(.catalog-page):not(.technology-page) .hero-img-wrap{width:min(100%,var(--phone-photo-size,160px));max-width:100%;height:auto;aspect-ratio:auto;align-self:center;}
 body.homepage:not(.catalog-page):not(.technology-page) .hero-img-wrap .hero-image{width:100%;height:auto;object-fit:contain;}
}

/* Phone menu keeps a single Contact action in its utility grid. */
@media(max-width:760px) and (orientation:portrait){.main-nav>.nav-contact{display:none;}}

/* Head-installed, timeout-bounded gate hides only the photo until its first fit. */
@media(max-width:760px) and (orientation:portrait){.phone-photo-preparing body.homepage:not(.catalog-page):not(.technology-page) .hero-img-wrap .hero-image{visibility:hidden;}}

/* Phone Home opening: preserve copy and gold band; tune only vertical whitespace. */
@media(max-width:760px) and (orientation:portrait){
 body.homepage:not(.catalog-page):not(.technology-page) .hero-content{padding-top:8px;padding-bottom:8px;}
 body.homepage:not(.catalog-page):not(.technology-page) .hero h1{margin-top:8px;margin-bottom:10px;}
 body.homepage:not(.catalog-page):not(.technology-page) .hero-description{margin-bottom:8px;}
 body.homepage:not(.catalog-page):not(.technology-page) .hero-visual{gap:6px;padding-bottom:8px;}
 body.homepage:not(.catalog-page):not(.technology-page) .hero-layout{padding-bottom:8px;}
 body.homepage:not(.catalog-page):not(.technology-page) .mobile-hero-continue{display:none;}
}

/* V40: independently centered phone phrase rows; other widths retain flat flex flow. */
.marquee-row{display:contents;}
@media(max-width:760px) and (orientation:portrait){
 .marquee{min-height:0;padding:10px;}
 .marquee-track{display:flex;flex-direction:column;flex-wrap:nowrap;width:100%;gap:6px;align-items:center;justify-content:center;}
 .marquee-track>.marquee-row{display:flex;align-items:center;justify-content:center;gap:8px;width:max-content;max-width:100%;min-width:0;}
 .marquee-row>span{min-width:0;text-align:center;}
 .marquee-row>b{display:block;flex:0 0 12px;width:12px;font-size:12px;line-height:1;text-align:center;}
 .marquee-track>.marquee-row-divider{display:none;}
}

/* Global header cleanup: all page links and existing utilities share one menu. */
.topline{display:none;}
.mobile-actions{display:flex;}
.menu-toggle{display:block;min-width:44px;min-height:44px;}
.main-nav{position:absolute;top:100%;left:0;right:0;display:none;align-items:stretch;justify-content:stretch;background:#241810;padding:12px max(var(--pad),calc((100vw - var(--max))/2)) 20px;border-bottom:1px solid #a7794e;box-shadow:0 30px 60px #150d08a0;max-height:var(--nav-available,70dvh);overflow:auto;}
.main-nav.is-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:var(--nav-available,70dvh);overflow:auto;}
.main-nav .nav-link{white-space:normal;min-height:44px;padding:10px 7px;font-size:13px;display:flex;align-items:center;border-bottom:1px solid rgba(249,222,175,.12);}
.main-nav>.nav-contact,.main-nav>.nav-lang{display:none;}
 .main-nav .nav-utilities{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;padding:8px 0 0;margin:0;border-top:1px solid #b3936166;}
 .main-nav .nav-utilities>.topline-end{display:none;}
 .main-nav .nav-utilities>a,.main-nav .nav-utilities>.utility-button{width:100%;min-width:0;min-height:44px;padding:10px 8px;border:1px solid #b3936170;border-radius:3px;color:#f5d99a;font:600 12px var(--font-body);white-space:normal;text-align:center;text-decoration:none;}
 .main-nav .nav-utilities .whatsapp-contact{grid-column:1/-1;display:flex;width:100%;min-width:0;margin:0;}
 .main-nav .nav-utilities .whatsapp-link{display:flex;flex-direction:row;justify-content:center;width:100%;height:auto;min-height:48px;padding:8px;gap:10px;border:1px solid #b3936170;border-radius:3px;}
 .main-nav .nav-utilities .whatsapp-link>span:not(.whatsapp-dot){display:block;}
 .main-nav .nav-utilities .whatsapp-link>span:has(strong){display:block;}.main-nav .nav-utilities .whatsapp-link small{display:none;}
 .main-nav .nav-utilities .whatsapp-mobile-hours{font-size:12px;line-height:1.4;}
 .main-nav .nav-utilities .whatsapp-motion,.main-nav .nav-utilities .whatsapp-dot{display:none;animation:none;}
 .main-nav .nav-utilities a:focus-visible,.main-nav .nav-utilities button:focus-visible{outline:2px solid #f5d99a;outline-offset:2px;}
@media(min-width:700px){.main-nav.is-open{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-height:480px) and (min-width:500px){.main-nav.is-open{grid-template-columns:repeat(3,minmax(0,1fr));padding-top:8px;padding-bottom:12px;}.main-nav .nav-link{padding:6px 7px;min-height:44px;}}

/* V40: decorative 24/7 messaging indicator, not live presence telemetry. */
.main-nav .nav-utilities .whatsapp-link>.whatsapp-dot{display:inline-block;animation:whatsapp-pulse 2s steps(1,end) infinite;opacity:1;}
@media(prefers-reduced-motion:reduce){.main-nav .nav-utilities .whatsapp-link>.whatsapp-dot{animation:none;opacity:1;}}

/* V41.0: only noninteractive route-focus targets; all control focus stays intact. */
html[data-route-input="pointer"] .route-focus-target:focus{outline:none;}
html[data-route-input="keyboard"] .route-focus-target:focus{outline:3px solid #ba8331;outline-offset:4px;}

/* V42: shared arrival geometry and balanced phone content-section spacing. */
html{scroll-padding-top:var(--route-header-height,106px);}
.menu-card,.menu-offer,.calc-panel,.policy-section{scroll-margin-top:0;}
html.route-arrival-preparing main,html.route-arrival-preparing .footer{visibility:hidden;}
@media(max-width:1100px){:root{--section-space:48px;}}
@media(max-width:760px) and (orientation:portrait){:root{--section-space:32px;} .inquiry.section-pad,.faq-section{padding-block:var(--section-space);}}

/* V45: desktop Home flavor names/subtitles; no image or type scaling. */
@media(min-width:1201px) and (hover:hover) and (pointer:fine){
 .homepage #flavors{padding-block:48px;}
 .homepage #flavors .section-heading{padding-bottom:16px;}
 .homepage #flavors .flavor-copy{padding-top:15px;}
}

.coupon-card{box-sizing:border-box;width:min(640px,90%);max-width:90%;max-height:none;overflow:visible;margin:auto;padding:24px;border:1px solid #ddb36b;border-radius:12px;background:#f9f2e6;color:#32231b;box-shadow:0 24px 80px #0008;grid-template-columns:160px 1fr;gap:14px 20px;font-family:var(--font-body,Arial,sans-serif)}
.coupon-dialog[open]{display:flex}.coupon-card{display:grid;position:relative;flex-shrink:0}.coupon-dialog::backdrop{background:#160f0bcc}.coupon-close{position:absolute;right:4px;top:4px;width:44px;height:44px;border:0;background:transparent;color:#32231b;font:32px/1 Arial;cursor:pointer}.coupon-brand{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding-right:30px}.coupon-brand img{width:40px;height:40px;object-fit:contain}.coupon-brand strong{display:block;font:700 20px var(--font-display,Georgia,serif)}.coupon-brand small,.coupon-brand span{display:block;font-size:12px;line-height:1.4}.coupon-image{margin:0;grid-row:2/4;align-self:center}.coupon-image img{width:100%;height:auto;object-fit:contain}.coupon-image figcaption{font-size:10px;text-align:center;margin-top:4px}.coupon-offer p{margin:0}.coupon-eyebrow{font-size:10px;font-weight:700;letter-spacing:.08em}.coupon-dialog h2{font:700 clamp(24px,4vw,34px)/1.08 var(--font-display,Georgia,serif);margin:8px 0 12px;color:#713d28}.coupon-code{font-size:15px}.coupon-code strong{letter-spacing:.08em}.coupon-details p{font-size:12px;line-height:1.45;margin:0 0 10px}.coupon-links{display:flex;flex-wrap:wrap;gap:8px}.coupon-links a,.coupon-timer button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 10px;font:700 12px var(--font-body,Arial,sans-serif);border:1px solid #713d28;border-radius:4px;color:#32231b;background:transparent;text-decoration:underline;cursor:pointer}.coupon-timer{grid-column:1/-1;display:flex;align-items:center;gap:10px;border-top:1px solid #d5c5b0;padding-top:10px}.coupon-timer p{flex:1;font-size:11px;line-height:1.35;margin:0}.coupon-timer p span{display:block}.coupon-dialog [hidden]{display:none!important}.coupon-dialog :focus-visible{outline:3px solid #9d4d35;outline-offset:3px}
@media(max-width:480px){.coupon-card{padding:16px;gap:10px;grid-template-columns:76px 1fr}.coupon-brand strong{font-size:18px}.coupon-brand span{font-size:11px}.coupon-dialog h2{font-size:25px;margin:5px 0 8px}.coupon-details{grid-column:1/-1}.coupon-image{grid-row:2}.coupon-details p{font-size:11px}.coupon-eyebrow{font-size:9px}.coupon-timer{padding-top:7px}.coupon-code{font-size:13px}}
@media(max-height:500px) and (min-width:481px){.coupon-card{width:min(900px,90%);padding:12px;grid-template-columns:90px minmax(100px,.8fr) minmax(170px,1fr);gap:8px 10px}.coupon-brand{grid-column:1/3;padding-right:0}.coupon-brand img{width:28px;height:28px}.coupon-brand strong{font-size:16px}.coupon-brand small,.coupon-brand span{font-size:10px}.coupon-image{grid-column:1;grid-row:2;max-width:90px}.coupon-offer{grid-column:2;grid-row:2}.coupon-dialog h2{font-size:23px}.coupon-details{grid-column:3;grid-row:1/3;padding-top:28px}.coupon-details p{font-size:10px;line-height:1.25}.coupon-links{gap:4px}.coupon-links a{padding:5px;font-size:10px}.coupon-timer{padding-top:5px}.coupon-timer p{font-size:10px}.coupon-timer p span{display:inline}.coupon-timer button{font-size:11px;padding:5px 8px}}
@media(max-height:500px) and (max-width:480px){.coupon-image{display:block;grid-column:1;grid-row:2;width:50px}.coupon-image figcaption{font-size:8px}.coupon-card{padding:10px;gap:5px;grid-template-columns:50px 1fr}.coupon-offer{grid-column:2}.coupon-details{grid-column:1/-1}.coupon-brand img{width:26px;height:26px}.coupon-brand small,.coupon-brand span{font-size:10px}.coupon-dialog h2{font-size:21px;margin:3px 0}.coupon-eyebrow{font-size:8px}.coupon-details p{font-size:10px;line-height:1.2;margin-bottom:5px}.coupon-links a,.coupon-timer button{font-size:10px;padding:5px}.coupon-timer{gap:5px;padding-top:4px}.coupon-timer p{font-size:10px}}

/* Offer-expiry clock is independent of the dismiss timer, and never animated. */
.coupon-expiry{margin-top:9px;border-top:1px solid #d5c5b0;padding-top:7px}.coupon-expiry-label{font-size:11px!important;font-weight:700;line-height:1.2}.coupon-clock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;margin-top:5px;max-width:250px}.coupon-clock span{text-align:center;border:1px solid #d5c5b0;border-radius:3px;padding:3px 1px}.coupon-clock b{display:block;font-size:17px;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:0}.coupon-clock small{display:block;font-size:9px;line-height:1.2}.coupon-clock-note{font-size:9px!important;line-height:1.2;margin-top:4px!important}.coupon-dialog [aria-disabled="true"]{opacity:.65;cursor:default;text-decoration:none}.coupon-dialog[data-expired="true"] .coupon-expiry-label{color:#713d28}
@media(max-height:500px){.coupon-expiry{margin-top:5px;padding-top:4px}.coupon-clock{gap:2px;margin-top:3px}.coupon-clock b{font-size:13px}.coupon-clock small{font-size:8px}.coupon-clock-note{font-size:8px!important}.coupon-expiry-label{font-size:10px!important}.coupon-dialog h2{font-size:20px;margin:4px 0}.coupon-code{font-size:12px}.coupon-clock span{padding:2px 0}}
@media(max-height:500px) and (min-width:481px){.coupon-brand{grid-column:1;grid-row:1;display:block;padding:0}.coupon-brand img{width:24px;height:24px;margin-bottom:3px}.coupon-brand strong{font-size:12px}.coupon-brand small,.coupon-brand span{font-size:8px;line-height:1.15}.coupon-offer{grid-column:2;grid-row:1/3;align-self:center}.coupon-image{grid-row:2;max-width:76px}.coupon-image figcaption{font-size:8px}.coupon-card{grid-template-columns:80px minmax(110px,.8fr) minmax(170px,1fr)}.coupon-details{padding-top:25px}}

.coupon-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.coupon-actions button,.coupon-actions a{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:0;padding:5px;border:1px solid #713d28;border-radius:4px;color:#32231b;background:transparent;font:700 12px var(--font-body,Arial,sans-serif);cursor:pointer;text-decoration:underline}.coupon-action-status{grid-column:1/-1;font-size:11px;line-height:1.25;margin:0}.coupon-action-status:empty{display:none}.coupon-timer{gap:5px}
@media(max-width:480px){.coupon-actions{gap:4px}.coupon-actions button,.coupon-actions a{font-size:10px;padding:3px}.coupon-card{gap:7px}.coupon-expiry{margin-top:5px}.coupon-clock b{font-size:14px}.coupon-clock-note{font-size:8px!important}}
@media(max-height:500px){.coupon-actions{gap:4px}.coupon-actions button,.coupon-actions a{font-size:11px}.coupon-card{gap:5px 10px}.coupon-timer{padding-top:3px}.coupon-action-status{font-size:10px}}
@media print{body>*:not(#welcome-coupon){display:none!important}html,body{min-width:0!important;background:white!important;overflow:visible!important}#welcome-coupon.coupon-card{display:grid!important;position:static!important;margin:0 auto!important;width:100%!important;max-width:170mm!important;max-height:none!important;height:auto!important;overflow:visible!important;box-shadow:none!important;break-inside:avoid;grid-template-columns:40mm 1fr!important;gap:4mm!important;padding:6mm!important;border:1px solid #713d28!important}#welcome-coupon::backdrop{display:none!important}#welcome-coupon .coupon-close,#welcome-coupon .coupon-actions,#welcome-coupon .coupon-timer,#welcome-coupon .coupon-links,#welcome-coupon .coupon-action-status,#welcome-coupon .coupon-expiry{display:none!important}#welcome-coupon .coupon-brand{grid-column:1/-1!important;grid-row:auto!important;display:flex!important}#welcome-coupon .coupon-brand strong{font-size:20px!important}#welcome-coupon .coupon-brand small,#welcome-coupon .coupon-brand span{font-size:12px!important}#welcome-coupon .coupon-offer{grid-column:2!important;grid-row:2!important}#welcome-coupon .coupon-details{grid-column:2!important;grid-row:3!important;padding:0!important}#welcome-coupon .coupon-image{display:block!important;grid-column:1!important;grid-row:2/4!important;width:100%!important;max-width:none!important}#welcome-coupon .coupon-details p{font-size:12px!important;line-height:1.5!important}}
@media print{#welcome-coupon .coupon-expiry{display:block!important;border:0!important}#welcome-coupon .coupon-clock,#welcome-coupon .coupon-clock-note{display:none!important}#welcome-coupon:not([data-expired="true"]) .coupon-expiry-label{display:none!important}}

.coupon-optout{grid-column:1/-1;display:flex;align-items:center;gap:8px;min-height:32px;font-size:11px;line-height:1.25;cursor:pointer}.coupon-optout input{width:18px;height:18px;accent-color:#713d28;flex:none}.coupon-card{background:linear-gradient(145deg,#fff9ec,#f1dfbe);border:2px solid #ddb36b}.coupon-code strong{color:#713d28}.coupon-actions button,.coupon-actions a{background:#211610;color:#f5d99a;border-color:#211610}.coupon-close{z-index:2}
@media print{#welcome-coupon .coupon-optout{display:none!important}}

/* A full-viewport native modal is the scroll surface, never a nested terms box. */
.coupon-dialog{box-sizing:border-box;position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:5svh 0;border:0;background:transparent;overflow:auto;flex-direction:column;align-items:center;color:#32231b}.coupon-dialog .coupon-card{margin:auto;overflow:visible;max-height:none}.coupon-dialog::backdrop{background:#160f0bcc}
@media print{#welcome-coupon.coupon-dialog{display:block!important;padding:0!important;width:100%!important;height:auto!important;position:static!important;overflow:visible!important;border:0!important;background:white!important}#welcome-coupon .coupon-card{display:grid!important;width:100%!important;max-width:170mm!important;margin:0 auto!important;padding:6mm!important;grid-template-columns:40mm 1fr!important;gap:4mm!important;box-shadow:none!important;background:white!important;break-inside:avoid}}
body:has(#welcome-coupon[open]){overflow:hidden}
@media print{body:has(#welcome-coupon[open]){overflow:visible!important}}

/* Locale changes affect the entire site, not just the coupon. */
.coupon-language{display:flex;align-items:center;justify-content:center;gap:.45rem;flex-wrap:wrap;grid-column:1/-1;margin:.15rem 0 .5rem}.coupon-language button{font:inherit;font-size:.85rem;padding:.45rem .7rem;min-height:44px;border:1px solid currentColor;border-radius:6px;background:transparent;color:inherit;cursor:pointer}.coupon-language button[aria-pressed="true"]{font-weight:700;text-decoration:underline;text-underline-offset:4px}.coupon-language button:focus-visible{outline:3px solid #b95438;outline-offset:3px}

.coupon-brand{flex-wrap:wrap}.coupon-language{flex-basis:100%;width:100%;margin:0}.coupon-language button{font-size:12px}@media print{#welcome-coupon .coupon-language{display:none!important}}
@media(max-height:500px) and (min-width:481px){.coupon-details{padding-top:44px}}

/* Seasonal welcome accent only: original logo, offer and timer are unchanged. */
.coupon-holiday-label{display:flex;align-items:center;gap:6px;color:#913c2d;line-height:1.4;overflow-wrap:normal;letter-spacing:.045em}.coupon-holiday-star{width:17px;height:17px;flex:0 0 17px;color:#a33d2d}.coupon-holiday-label span{min-width:0}.coupon-offer .coupon-holiday-label{margin-bottom:5px}@media(max-width:480px){.coupon-holiday-label{font-size:9px;letter-spacing:.02em;gap:4px}.coupon-holiday-star{width:14px;height:14px;flex-basis:14px}}@media print{.coupon-holiday-label{color:#713d28!important}.coupon-holiday-star{color:#713d28!important}}

/* Scoped cooking intro. Gold logo paths stay stationary; decoration is separate. */
#cooking-intro.hp-intro{box-sizing:border-box;position:fixed;inset:0;margin:0;width:100%;height:100%;max-width:none;max-height:none;border:0;padding:clamp(20px,5vw,60px);background:#211610;color:#f8edda;overflow:auto;font-family:var(--font-body,Arial,sans-serif)}
#cooking-intro.hp-intro[open]{display:flex;flex-direction:column;align-items:center}#cooking-intro::backdrop{background:#211610}
.hp-intro .hp-intro-content{box-sizing:border-box;flex:none;width:min(100%,640px);margin:auto;text-align:center;padding:25px 0;overflow:visible}
.hp-intro .hp-intro-mark{position:relative;width:clamp(135px,28vw,185px);height:190px;margin:0 auto 8px;isolation:isolate}
.hp-intro .hp-intro-brandmark{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:1}
.hp-intro .hp-intro-steam{display:block;position:absolute;top:-12px;left:0;width:100%;height:85px;overflow:visible;pointer-events:none;z-index:0}
.hp-intro .hp-intro-steam path{fill:none;stroke:#f8edda;stroke-width:3;stroke-linecap:round;opacity:1}.hp-intro .hp-intro-steam{opacity:0;animation:hp-intro-rise 3.2s ease-in-out infinite;will-change:transform,opacity}
.hp-intro .hp-intro-flame-layer{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:2;transform-box:border-box;transform-origin:50% 30%;will-change:transform;animation:hp-intro-warmth 1.6s ease-in-out infinite}
.hp-intro .hp-intro-wordmark{font:500 clamp(30px,7.5vw,52px)/1.12 var(--font-display,Georgia,serif);letter-spacing:.015em;margin:0;overflow-wrap:normal}.hp-intro .hp-intro-byline{font-size:13px;letter-spacing:.12em;color:#ddb36b;margin:10px 0}.hp-intro .hp-intro-slogan{font-size:clamp(14px,3.5vw,17px);line-height:1.5;margin:12px 0 23px}.hp-intro .hp-intro-message{font:400 clamp(20px,4.5vw,26px)/1.4 var(--font-display,Georgia,serif);margin:0 auto 20px;max-width:550px}.hp-intro .hp-intro-skip{font:inherit;color:#f8edda;border:1px solid #ddb36b;border-radius:100px;background:transparent;padding:10px 22px;min-height:44px;cursor:pointer;max-width:100%}.hp-intro .hp-intro-skip:hover{background:#ffffff0c}.hp-intro .hp-intro-skip:focus-visible{outline:3px solid #f8edda;outline-offset:5px}
@keyframes hp-intro-warmth{0%,100%{transform:rotate(-5deg) scale(.96,.82)}50%{transform:rotate(5deg) scale(1.04,1.18)}}@keyframes hp-intro-rise{0%{opacity:0;transform:translateY(20px) scaleX(.92)}35%{opacity:.68}75%{opacity:.24}100%{opacity:0;transform:translateY(-25px) scaleX(1.08)}}
@media(max-height:560px){#cooking-intro.hp-intro{padding:16px 6vw}.hp-intro .hp-intro-content{padding:16px 0}.hp-intro .hp-intro-mark{height:115px;width:115px;margin-bottom:3px}.hp-intro .hp-intro-steam{height:55px;top:-5px}.hp-intro .hp-intro-wordmark{font-size:30px}.hp-intro .hp-intro-byline{margin:5px 0;font-size:11px}.hp-intro .hp-intro-slogan{margin:6px 0 10px;font-size:13px}.hp-intro .hp-intro-message{font-size:20px;margin-bottom:10px}}
@media(max-height:360px) and (min-width:481px){.hp-intro .hp-intro-mark{height:75px;width:85px}.hp-intro .hp-intro-steam{height:40px}.hp-intro .hp-intro-wordmark{font-size:27px}.hp-intro .hp-intro-content{padding:8px 0}.hp-intro .hp-intro-message{font-size:18px}.hp-intro .hp-intro-slogan{margin-bottom:7px}}
/* User-approved startup decoration animates in all motion-preference modes; Skip remains available. */
#cooking-intro[data-paused="true"] .hp-intro-flame-layer,#cooking-intro[data-paused="true"] .hp-intro-steam{animation-play-state:paused}

/* The unpacking canvas shares the same visible motion, never moving the gold mark. */
main.brand-loading.hp-intro{gap:0;padding:clamp(20px,5vw,60px)}.brand-loading.hp-intro .hp-intro-content{margin:auto}.brand-loading.hp-intro .hp-intro-brandmark{width:100%;height:100%}.brand-loading.hp-intro .hp-intro-steam{width:100%;height:85px}.brand-loading.hp-intro .brand-progress{margin:20px auto 0}
@media(max-height:560px){.brand-loading.hp-intro .hp-intro-steam{height:55px}}
@media(max-height:560px){main.brand-loading.hp-intro{padding:16px 6vw}}
@media(max-height:360px) and (min-width:481px){.brand-loading.hp-intro .hp-intro-steam{height:40px}}

/* Real introduction elapsed-time progress, gated by payload readiness. */
.hp-intro .hp-intro-progress-wrap{width:min(100%,420px);margin:18px auto 0;text-align:left}.hp-intro .hp-intro-progress-caption{display:flex;justify-content:space-between;gap:16px;font-size:12px;line-height:1.4;color:#f8edda;margin-bottom:7px}.hp-intro .hp-intro-progress{height:7px;border:1px solid #ddb36b;border-radius:8px;overflow:hidden;background:#443126}.hp-intro [data-intro-progress-fill]{display:block;width:0;height:100%;background:#ddb36b;transition:none}.hp-intro [data-intro-progress-value]{flex-shrink:0;font-variant-numeric:tabular-nums}
@media(max-height:560px){.hp-intro .hp-intro-progress-wrap{margin-top:10px}.hp-intro .hp-intro-progress-caption{font-size:11px;margin-bottom:4px}}

/* Explicit user-approved intro-only exception; all other reduced-motion rules remain intact. */
.hp-intro .hp-intro-flame-layer{animation-duration:1.6s!important;animation-iteration-count:infinite!important}
.hp-intro .hp-intro-steam{animation-duration:3.2s!important;animation-iteration-count:infinite!important}
