:root{
  --ink:#17120f;
  --ink2:#231a14;
  --cream:#f4efe7;
  --paper:#fbf8f2;
  --gold:#b88b45;
  --gold2:#d5b16f;
  --muted:#a79b8f;
  --line:rgba(255,255,255,.22);
  --line-dark:rgba(25,19,15,.18);
  --serif:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",Georgia,"Times New Roman",serif;
  --sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--serif);letter-spacing:.04em}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
button{font:inherit}

/* shared header */
.site-header{position:fixed;inset:0 0 auto 0;height:86px;z-index:50;display:grid;grid-template-columns:minmax(250px,31%) 1fr 250px;align-items:center;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(to bottom,rgba(12,8,6,.83),rgba(12,8,6,.34),transparent);color:white;padding:0 28px;transition:.25s}
.site-header.scrolled{height:70px;background:rgba(17,12,9,.94);backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:14px;min-width:0}
.brand-mark{font-size:27px;color:var(--gold2);line-height:1}
.brand-title{font-size:20px;letter-spacing:.16em;white-space:nowrap}
.brand-sub{display:block;font-size:8px;letter-spacing:.26em;color:#d8c9b5;margin-top:4px}
.nav{display:flex;justify-content:flex-end;gap:30px;align-items:center;font-size:12px;letter-spacing:.12em}
.nav a{position:relative;padding:10px 0}
.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:1px;background:var(--gold2);transition:.25s}
.nav a:hover:after,.nav a.active:after{right:0}
.shop-btn{justify-self:end;background:var(--gold);border:1px solid #c9a86e;color:white;padding:15px 24px;font-size:12px;letter-spacing:.16em;min-width:170px;text-align:center}
.menu-btn{display:none;background:none;border:0;color:white;font-size:25px;justify-self:end}

/* Home */
.hero{min-height:790px;height:100vh;max-height:1040px;display:grid;grid-template-columns:31% 53% 16%;position:relative;background:var(--ink);color:white;overflow:hidden}
.hero-left{position:relative;z-index:2;padding:170px 48px 85px 5.2vw;background:linear-gradient(90deg,rgba(11,8,6,.98) 0%,rgba(12,9,7,.94) 65%,rgba(12,9,7,.65) 100%);display:flex;flex-direction:column;justify-content:center}
.hero-left:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(184,139,69,.10),transparent 42%);pointer-events:none}
.hero-copy{position:relative}
.hero h1{font-size:clamp(38px,3.2vw,61px);line-height:1.55;font-weight:500;margin:0 0 18px;letter-spacing:.08em}
.hero-lead{font-size:15px;line-height:2.15;color:#f0e6d8;margin:0 0 25px;max-width:430px}
.hero-rule{width:52px;height:1px;background:#c7a773;margin:26px 0}
.hero-subcopy{font-size:17px;line-height:1.9;margin:0 0 14px}
.hero-script{font-family:Georgia,serif;font-style:italic;font-size:34px;line-height:1.35;color:#e5d4bc;opacity:.92;margin-top:18px;letter-spacing:.01em}
.hero-media{position:relative;overflow:hidden;background:#2a1e16}
.hero-media:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,6,4,.38),transparent 25%,transparent 72%,rgba(8,6,4,.28));z-index:1}
.hero-media img{object-position:55% 55%;transform:none}
.hero-side{position:relative;background:linear-gradient(180deg,#201711,#150f0c 78%);padding:110px 24px 34px;display:flex;flex-direction:column;justify-content:space-between;border-left:1px solid rgba(255,255,255,.18)}
.hero-side .fr-copy{font-family:Georgia,serif;font-size:24px;line-height:1.2;color:#c8b8a3;opacity:.75}
.hero-side .jp-small{font-size:12px;line-height:2;color:#d5c7b6}
.award{border:1px solid rgba(213,177,111,.6);padding:26px 14px;text-align:center;background:rgba(0,0,0,.2);position:relative}
.award .laurel{font-size:31px;color:var(--gold2);line-height:1;margin-bottom:12px}
.award strong{display:block;font-size:17px;letter-spacing:.12em;color:#e2c998;font-weight:500}
.award span{display:block;font-size:11px;line-height:1.8;color:#ded1c1;margin-top:9px}
.product-chips{position:absolute;z-index:3;left:31%;right:16%;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(255,255,255,.25);background:linear-gradient(to top,rgba(9,7,5,.88),rgba(9,7,5,.2));padding:0 20px}
.product-chip{min-height:116px;padding:20px 15px 14px;border-right:1px solid rgba(255,255,255,.18);display:flex;flex-direction:column;justify-content:flex-end;text-align:center}
.product-chip:last-child{border-right:0}
.product-chip small{font-family:Georgia,serif;font-style:italic;color:#d8c8b5;font-size:13px}
.product-chip b{font-weight:500;font-size:12px;line-height:1.55;margin-top:5px}
.product-chip em{font-style:normal;color:#d3b178;font-size:12px;margin-top:4px}

.feature-row{display:grid;grid-template-columns:repeat(3,1fr);background:#120d0a;color:#fff;border-top:1px solid #ad8c5e}
.feature-card{min-height:330px;position:relative;overflow:hidden;border-right:1px solid rgba(255,255,255,.14)}
.feature-card:last-child{border-right:0}
.feature-card img{position:absolute;inset:0;filter:brightness(.62);transition:transform .7s ease,filter .4s ease}
.feature-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,9,7,.85),rgba(12,9,7,.12) 72%)}
.feature-card:hover img{transform:none;filter:brightness(.72)}
.feature-copy{position:relative;z-index:2;padding:36px 38px;max-width:75%}
.feature-eyebrow{font-family:Georgia,serif;font-style:italic;font-size:25px;color:#eadcc9}
.feature-title{font-size:20px;margin:7px 0 17px}
.feature-copy p{font-size:12px;line-height:2;color:#e0d4c5}
.text-link{display:inline-block;margin-top:16px;font-size:12px;border-bottom:1px solid #cdb17e;padding-bottom:5px}

/* internal pages */
.page{background:var(--paper);min-height:100vh;padding-top:86px}
.page-hero{height:360px;position:relative;color:white;display:flex;align-items:flex-end;overflow:hidden;background:#211810}
.page-hero img{position:absolute;inset:0;filter:brightness(.55)}
.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,11,8,.85),transparent 65%)}
.page-hero .inner{position:relative;z-index:2;width:min(1180px,92vw);margin:0 auto;padding-bottom:48px}
.page-hero h1{font-size:54px;font-weight:500;letter-spacing:.07em;margin:0 0 8px}
.page-hero p{margin:0;font-size:13px;color:#ddd0c1}
.container{width:min(1180px,92vw);margin:0 auto;padding:72px 0}
.section-kicker{font-family:Georgia,serif;font-style:italic;color:#8e6b37;font-size:18px;margin-bottom:10px}
.section-title{font-size:34px;font-weight:500;line-height:1.55;margin:0 0 28px}
.prose{font-family:var(--sans);font-size:14px;line-height:2.15;color:#4d453e}
.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:46px}
.info-card{border-top:1px solid #a98d64;padding-top:20px}
.info-card h3{font-size:18px;font-weight:500;margin:0 0 12px}
.info-card p{font-family:var(--sans);font-size:13px;line-height:1.9;color:#5e554e}
.image-block{aspect-ratio:4/3;overflow:hidden;background:#ddd1c3}

.products{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 18px}
.product-card .pic{aspect-ratio:1.25/1;overflow:hidden;background:#ddd}
.product-card img{transition:transform .5s ease}
.product-card:hover img{transform:none}
.product-card h3{font-size:16px;margin:13px 0 5px;font-weight:500}
.product-card .price{font-size:13px;color:#8a6835}
.product-card p{font-family:var(--sans);font-size:11px;line-height:1.8;color:#6a625a;margin:8px 0 0}
.category-tabs{display:flex;gap:28px;border-bottom:1px solid var(--line-dark);margin:28px 0 40px;padding-bottom:14px;font-size:13px}
.category-tabs button{background:none;border:0;padding:0;cursor:pointer;color:#7a6c60}
.category-tabs button.active{color:#21160e;border-bottom:1px solid #9f7740;padding-bottom:14px;margin-bottom:-15px}

.chef-profile{display:grid;grid-template-columns:330px 1fr;gap:55px;align-items:start}
.chef-profile .portrait{aspect-ratio:.75/1;overflow:hidden}
.award-list{border-top:1px solid var(--line-dark);margin-top:26px}
.award-item{display:grid;grid-template-columns:90px 1fr auto;gap:20px;padding:15px 0;border-bottom:1px solid var(--line-dark);font-size:13px}
.quote-banner{margin-top:60px;position:relative;height:260px;color:white;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.quote-banner img{position:absolute;inset:0;filter:brightness(.45)}
.quote-banner blockquote{position:relative;z-index:1;font-size:24px;line-height:1.8;margin:0}

.news-list{display:grid;gap:0;border-top:1px solid var(--line-dark)}
.news-item{display:grid;grid-template-columns:190px 150px 1fr;gap:30px;padding:28px 0;border-bottom:1px solid var(--line-dark);align-items:center}
.news-thumb{aspect-ratio:1.35/1;overflow:hidden}
.news-date{font-size:12px;color:#847567}
.news-body h3{font-size:17px;font-weight:500;margin:0 0 9px}
.news-body p{font-family:var(--sans);font-size:12px;line-height:1.8;color:#645b54;margin:0}
.tag{display:inline-block;background:#e5d7c0;padding:4px 9px;font-size:10px;margin-left:10px}

.access-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:45px}
.access-photo{aspect-ratio:1.7/1;overflow:hidden;margin-bottom:36px}
.shop-info{display:grid;grid-template-columns:110px 1fr;gap:12px;font-family:var(--sans);font-size:13px;line-height:1.7;padding:13px 0;border-bottom:1px solid var(--line-dark)}
.map-placeholder{background:#e5e0d9;min-height:340px;display:grid;place-items:center;position:relative;overflow:hidden}
.map-placeholder:before{content:"";position:absolute;inset:-30%;background:repeating-linear-gradient(38deg,transparent 0 22px,rgba(255,255,255,.7) 23px 27px),repeating-linear-gradient(132deg,transparent 0 30px,rgba(255,255,255,.6) 31px 35px);opacity:.7}
.map-pin{position:relative;z-index:1;background:#21170f;color:#fff;padding:12px 18px;font-size:12px}
.online-panel{margin-top:50px;min-height:230px;position:relative;color:white;display:flex;align-items:center;padding:38px 52px;overflow:hidden}
.online-panel img{position:absolute;inset:0;filter:brightness(.38)}
.online-panel .online-copy{position:relative;z-index:1}
.online-panel h2{font-size:36px;font-weight:500;margin:0 0 8px}
.online-panel p{font-family:var(--sans);font-size:12px}

/* footer */
.footer{background:#120e0b;color:#eee2d3;border-top:1px solid rgba(255,255,255,.08);padding:34px 4vw 28px}
.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px}
.footer-brand{font-size:20px;letter-spacing:.13em}
.footer-nav{display:flex;gap:24px;font-size:10px;letter-spacing:.08em;flex-wrap:wrap;justify-content:center}
.copyright{font-family:var(--sans);font-size:9px;color:#8f8478;margin-top:22px;text-align:center}

.mobile-panel{display:none}
@media (max-width: 980px){
  .site-header{grid-template-columns:1fr auto;height:70px;padding:0 20px}.nav,.shop-btn{display:none}.menu-btn{display:block}.brand-title{font-size:16px}.brand-sub{font-size:7px}
  .mobile-panel{display:block;position:fixed;inset:70px 0 auto 0;background:rgba(17,12,9,.98);z-index:49;color:white;padding:18px 22px;transform:translateY(-140%);transition:.25s;border-bottom:1px solid #5d4931}.mobile-panel.open{transform:none}.mobile-panel a{display:block;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:13px}.mobile-panel .mobile-shop{color:#e2c388}
  .hero{height:auto;min-height:0;display:block;padding-top:70px}.hero-left{min-height:570px;padding:120px 8vw 115px;background:linear-gradient(90deg,rgba(10,7,5,.94),rgba(10,7,5,.63)),url('images/hero-chef.jpg') center/cover no-repeat}.hero-media{display:none}.hero-side{padding:34px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:24px}.hero-side .fr-copy{font-size:20px}.product-chips{position:static;display:grid;grid-template-columns:repeat(2,1fr);padding:0;left:auto;right:auto;background:#17110d}.product-chip{border-bottom:1px solid rgba(255,255,255,.15)}
  .feature-row{grid-template-columns:1fr}.feature-card{min-height:300px;border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}.feature-copy{max-width:86%;padding:34px 8vw}
  .two-col,.access-grid{grid-template-columns:1fr;gap:34px}.three-grid{grid-template-columns:1fr}.products{grid-template-columns:repeat(2,1fr)}.chef-profile{grid-template-columns:1fr}.chef-profile .portrait{max-width:420px}.news-item{grid-template-columns:130px 1fr;gap:20px}.news-date{grid-column:2}.news-body{grid-column:2}.footer-top{flex-direction:column;align-items:flex-start}.footer-nav{justify-content:flex-start}
  .page-hero{height:290px}.page-hero h1{font-size:38px}.container{padding:54px 0}
}
@media (max-width: 560px){
  .hero h1{font-size:35px;line-height:1.55}.hero-left{padding:92px 7vw 90px}.hero-script{font-size:27px}.hero-side{grid-template-columns:1fr}.product-chips{grid-template-columns:1fr 1fr}.product-chip{min-height:98px}.feature-eyebrow{font-size:22px}
  .products{grid-template-columns:1fr 1fr;gap:22px 12px}.product-card h3{font-size:13px}.product-card p{display:none}.category-tabs{gap:16px;overflow-x:auto;white-space:nowrap}.section-title{font-size:29px}.news-item{grid-template-columns:100px 1fr;gap:14px;padding:20px 0}.news-body h3{font-size:14px}.access-grid{gap:26px}.online-panel{padding:28px 22px}.online-panel h2{font-size:28px}.award-item{grid-template-columns:62px 1fr}.award-item span:last-child{display:none}
}


/* v5 internal-page refinement: closer to approved luxury reference */
body.internal{background:#0d0a08;color:#f6efe7}
.internal .site-header{position:absolute;background:linear-gradient(180deg,rgba(7,5,4,.88),rgba(7,5,4,.26),transparent);border-bottom:0}
.internal .page{padding-top:0;background:#efe9df;color:#211913}
.internal .page-hero{height:520px;align-items:flex-end;border-bottom:1px solid rgba(184,139,69,.28)}
.internal .page-hero img{filter:brightness(.46) saturate(.92);transform:none}
.internal .page-hero:after{background:linear-gradient(90deg,rgba(9,6,4,.9) 0%,rgba(9,6,4,.52) 42%,rgba(9,6,4,.14) 72%,rgba(9,6,4,.38) 100%)}
.internal .page-hero .inner{padding-bottom:62px}
.internal .page-hero h1{font-size:64px;letter-spacing:.08em}
.internal .page-hero p{font-size:15px;letter-spacing:.12em;color:#e5d4bf}

.internal .container{width:min(1240px,92vw);padding:88px 0 96px}
.internal .section-kicker{font-size:21px;color:#9f7439}
.internal .section-title{font-size:40px;line-height:1.55}
.internal .prose{font-size:14px;line-height:2.25;color:#4c4139}
.internal .two-col{gap:72px}
.internal .image-block{box-shadow:0 20px 60px rgba(55,35,20,.16)}
.internal .three-grid{gap:0;margin-top:70px;border-top:1px solid #ba9c70;border-bottom:1px solid #d8cbb9}
.internal .info-card{border-top:0;padding:30px 32px 32px;border-right:1px solid #d8cbb9}
.internal .info-card:last-child{border-right:0}
.internal .info-card h3{font-size:20px}
.internal .info-card p{font-size:12px}

.internal .products{grid-template-columns:repeat(3,1fr);gap:42px 28px}
.internal .product-card{background:#f7f2ea;border-bottom:1px solid #c8b18f;padding-bottom:20px}
.internal .product-card .pic{aspect-ratio:1.4/1}
.internal .product-card h3{font-size:17px;margin-left:4px}
.internal .product-card .price{margin-left:4px;color:#9a6e31}
.internal .product-card p{margin-left:4px;margin-right:4px}
.internal .category-tabs{margin-top:10px;margin-bottom:48px;gap:34px}
.internal .category-tabs button{font-size:12px;letter-spacing:.08em}

.internal .chef-profile{grid-template-columns:390px 1fr;gap:74px}
.internal .chef-profile .portrait{box-shadow:0 20px 60px rgba(55,35,20,.18)}
.internal .award-list{margin-top:34px}
.internal .award-item{padding:18px 0;grid-template-columns:100px 1fr auto}
.internal .quote-banner{height:330px;margin-top:78px}
.internal .quote-banner blockquote{font-size:28px;letter-spacing:.08em}

.internal .news-list{background:#f7f2ea}
.internal .news-item{grid-template-columns:230px 150px 1fr;padding:30px 28px}
.internal .news-body h3{font-size:19px}
.internal .news-thumb{box-shadow:0 10px 24px rgba(40,25,15,.08)}

.internal .access-photo{aspect-ratio:2/1;box-shadow:0 18px 48px rgba(45,28,18,.14)}
.internal .access-grid{gap:60px}
.internal .map-placeholder{border:1px solid #cbbda9}
.internal .online-panel{min-height:280px;border:1px solid rgba(196,157,98,.35)}

.internal .footer{background:#100c09;padding-top:42px;padding-bottom:34px}
.internal .footer-brand{color:#dbc49f;letter-spacing:.16em}

@media(max-width:980px){
  .internal .page-hero{height:390px}
  .internal .page-hero h1{font-size:46px}
  .internal .products{grid-template-columns:repeat(2,1fr)}
  .internal .chef-profile{grid-template-columns:1fr}
  .internal .news-item{grid-template-columns:150px 1fr}
}
@media(max-width:560px){
  .internal .page-hero{height:320px}
  .internal .page-hero h1{font-size:37px}
  .internal .products{grid-template-columns:1fr}
}


/* v6 final responsive QA refinements */
@media(max-width:980px){
  .internal .site-header{position:absolute}
  .internal .page-hero .inner{padding-bottom:42px}
  .internal .container{width:min(92vw,760px);padding:64px 0 72px}
  .internal .section-title{font-size:34px}
  .internal .two-col{gap:42px}
  .internal .three-grid{grid-template-columns:1fr;gap:0;margin-top:50px}
  .internal .info-card{border-right:0;border-bottom:1px solid #d8cbb9;padding:24px 12px}
  .internal .info-card:last-child{border-bottom:0}
  .internal .chef-profile{gap:42px}
  .internal .chef-profile .portrait{max-width:420px;width:100%}
  .internal .news-item{grid-template-columns:150px 1fr;gap:20px;padding:24px 20px}
  .internal .news-thumb{grid-row:1/3}
  .internal .news-date{grid-column:2;grid-row:1}
  .internal .news-body{grid-column:2;grid-row:2}
  .internal .access-grid{gap:38px}
  .internal .online-panel{padding:34px 36px}
}

@media(max-width:560px){
  body.internal{letter-spacing:.025em}
  .internal .page-hero{height:300px}
  .internal .page-hero .inner{padding-bottom:30px}
  .internal .page-hero h1{font-size:34px;line-height:1.15;letter-spacing:.055em}
  .internal .page-hero p{font-size:11px}
  .internal .container{width:88vw;padding:48px 0 58px}
  .internal .section-kicker{font-size:17px}
  .internal .section-title{font-size:28px;line-height:1.55;margin-bottom:20px}
  .internal .prose{font-size:13px;line-height:2.05}
  .internal .image-block{aspect-ratio:4/3}
  .internal .products{grid-template-columns:1fr;gap:28px}
  .internal .product-card .pic{aspect-ratio:1.45/1}
  .internal .product-card h3{font-size:16px}
  .internal .product-card p{display:block;font-size:11px}
  .internal .category-tabs{gap:22px;margin-bottom:34px;padding-bottom:10px}
  .internal .category-tabs button{font-size:11px}
  .internal .chef-profile .portrait{max-width:none}
  .internal .award-item{grid-template-columns:58px 1fr;gap:12px;padding:14px 0}
  .internal .award-item span:last-child{display:none}
  .internal .quote-banner{height:240px;margin-top:46px}
  .internal .quote-banner blockquote{font-size:20px;line-height:1.8;padding:0 22px}
  .internal .news-item{grid-template-columns:1fr;padding:20px 0;gap:10px}
  .internal .news-thumb{grid-column:1;grid-row:auto;aspect-ratio:1.6/1}
  .internal .news-date{grid-column:1;grid-row:auto}
  .internal .news-body{grid-column:1;grid-row:auto}
  .internal .news-body h3{font-size:16px;line-height:1.6}
  .internal .news-body p{font-size:11px}
  .internal .access-photo{aspect-ratio:1.35/1}
  .internal .shop-info{grid-template-columns:84px 1fr;font-size:12px}
  .internal .map-placeholder{min-height:260px}
  .internal .online-panel{min-height:220px;padding:28px 22px}
  .internal .online-panel h2{font-size:27px}
  .internal .footer{padding:32px 6vw 25px}
  .internal .footer-brand{font-size:17px}
  .internal .footer-nav{gap:14px}
}

/* v8 image clarity */
img{image-rendering:auto;-webkit-font-smoothing:antialiased;backface-visibility:hidden}

/* v9 no-upscale clarity rules */
.internal .page-hero img{transform:none!important;filter:brightness(.58) saturate(.98)!important}
.product-card img,.image-block img,.news-thumb img,.access-photo img,.chef-profile img{
  image-rendering:auto!important;
  transform:none!important;
  filter:none!important;
}

/* v10 — unique AI-generated imagery, no shared internal hero photos */
.internal .page-hero{
  height:290px!important;
  background:
    radial-gradient(circle at 82% 35%,rgba(164,116,58,.20),transparent 32%),
    linear-gradient(120deg,#100b08 0%,#20150d 58%,#0d0a08 100%)!important;
  border-bottom:1px solid rgba(191,149,86,.34)!important;
}
.internal .page-hero:after{
  background:linear-gradient(90deg,rgba(0,0,0,.18),transparent)!important;
}
.internal .page-hero .inner{padding-bottom:52px!important}
.internal .page-hero h1{font-size:54px!important}
.internal .page-hero p{color:#d8c7ae!important}

.internal .products{
  grid-template-columns:repeat(4,minmax(0,220px))!important;
  justify-content:center;
  gap:34px 22px!important;
}
.internal .product-card{width:220px}
.internal .product-card .pic{
  width:220px;
  height:165px;
  aspect-ratio:auto!important;
  background:#e2d8cb;
}
.internal .product-card .pic img{
  width:100%;height:100%;object-fit:cover;
  transform:none!important;filter:none!important;
}
.internal .product-card h3{font-size:15px!important;line-height:1.5}
.internal .product-card p{font-size:10.5px!important}

.internal .image-block img,
.internal .portrait img,
.internal .quote-banner img,
.internal .news-thumb img,
.internal .access-visual-v10 img{
  transform:none!important;
  filter:none!important;
}
.internal .access-grid{
  grid-template-columns:minmax(280px,390px) 1fr!important;
  align-items:start;
}
.access-visual-v10{overflow:hidden;box-shadow:0 18px 48px rgba(45,28,18,.14)}
.access-visual-v10 img{display:block;width:100%;height:auto}
.online-panel-textonly{background:linear-gradient(115deg,#17100b,#493119)!important}
.online-panel-textonly .online-copy{position:relative!important}

@media(max-width:980px){
  .internal .products{grid-template-columns:repeat(3,minmax(0,210px))!important}
  .internal .product-card{width:210px}
  .internal .product-card .pic{width:210px;height:158px}
  .internal .access-grid{grid-template-columns:1fr!important}
  .access-visual-v10{max-width:390px}
}
@media(max-width:720px){
  .internal .page-hero{height:235px!important}
  .internal .page-hero h1{font-size:38px!important}
  .internal .products{grid-template-columns:repeat(2,minmax(0,160px))!important;gap:26px 14px!important}
  .internal .product-card{width:160px}
  .internal .product-card .pic{width:160px;height:120px}
  .internal .product-card h3{font-size:13px!important}
  .internal .product-card p{font-size:10px!important;display:block!important}
}

/* v10 final image-resolution gate fixes */
.internal .quote-banner img{width:100%;height:100%;object-fit:cover}
@media(max-width:560px){
  .internal .news-thumb{width:min(100%,320px);margin-inline:auto}
  .internal .news-thumb img{width:100%;height:100%;object-fit:cover}
}

/* v11 embedded-text contamination prevention */
.internal img{transform:none!important}
@media(max-width:560px){.internal .news-thumb{width:min(100%,320px);margin-inline:auto}}

/* v11 final intrinsic image sizing: never stretch source images beyond native detail */
.internal .image-block{aspect-ratio:auto!important;height:auto!important}
.internal .image-block img{width:100%;height:auto!important;object-fit:contain!important}
.internal .chef-profile .portrait{height:auto!important;aspect-ratio:auto!important}
.internal .chef-profile .portrait img{width:100%;height:auto!important;object-fit:contain!important}
.internal .quote-banner{width:min(100%,900px)!important;height:auto!important;min-height:230px;margin-left:auto;margin-right:auto}
.internal .quote-banner img{width:100%;height:auto!important;object-fit:cover!important}
.internal .news-thumb{height:auto!important;aspect-ratio:auto!important}
.internal .news-thumb img{width:100%;height:auto!important;object-fit:cover!important}
@media(max-width:560px){.internal .news-thumb{width:min(100%,320px)!important}}

/* v11 final clean-image sizing */
.internal .chef-profile .portrait{max-width:341px!important}
.internal .quote-text-only{max-width:900px!important;min-height:230px!important;background:linear-gradient(120deg,#17100b,#3b2818)!important;display:flex!important;align-items:center!important;justify-content:center!important}
.internal .quote-text-only blockquote{position:relative!important;margin:0!important}
.internal .two-col .image-block{max-width:500px}

/* v12 — regenerated clean product/news imagery */
.internal .product-card .pic img,
.internal .news-thumb img{
  transform:none!important;
  filter:none!important;
  image-rendering:auto!important;
  object-fit:cover!important;
}
@media(max-width:560px){
  .internal .news-thumb{width:min(100%,320px);margin-inline:auto}
}

@media(max-width:560px){
  .internal .news-thumb{width:min(100%,270px)!important;margin-inline:auto}
}


/* v14 — approved three-promises concept section */
.internal .promises-section{
  margin-top:88px;
  padding-top:4px;
}
.internal .promises-intro{
  text-align:center;
  max-width:900px;
  margin:0 auto 52px;
}
.internal .promises-kicker{
  font-family:Georgia,serif;
  font-style:italic;
  color:#9a7339;
  font-size:22px;
  margin-bottom:14px;
}
.internal .promises-intro h2{
  margin:0;
  font-size:46px;
  line-height:1.35;
  font-weight:500;
  letter-spacing:.055em;
}
.internal .promises-intro p{
  margin:20px 0 0;
  font-family:var(--sans);
  font-size:14px;
  line-height:1.9;
  color:#4c4139;
  letter-spacing:.035em;
}
.internal .promises-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.internal .promise-item{
  min-width:0;
  padding-right:24px;
  border-right:1px solid #d7c8b4;
}
.internal .promise-item:last-child{
  border-right:0;
  padding-right:0;
}
.internal .promise-photo{
  aspect-ratio:1.2/1;
  overflow:hidden;
  background:#d9cdbc;
  margin-bottom:24px;
}
.internal .promise-photo img{
  width:100%;height:100%;object-fit:cover;
  transform:none!important;filter:none!important;
}
.internal .promise-number{
  display:flex;align-items:center;gap:14px;
  font-family:Georgia,serif;
  color:#9b763f;
  font-size:35px;
  line-height:1;
  margin-bottom:18px;
}
.internal .promise-number span{
  display:block;width:56px;height:1px;background:#b89b73;
}
.internal .promise-item h3{
  margin:0 0 7px;
  font-size:22px;
  font-weight:500;
  line-height:1.45;
  letter-spacing:.04em;
}
.internal .promise-en{
  font-family:Georgia,serif;
  color:#9b763f;
  font-size:11px;
  letter-spacing:.16em;
  margin-bottom:19px;
}
.internal .promise-item>p{
  margin:0;
  font-family:var(--sans);
  color:#4e443c;
  font-size:12px;
  line-height:2.0;
}
@media(max-width:980px){
  .internal .promises-section{margin-top:62px}
  .internal .promises-intro{margin-bottom:38px}
  .internal .promises-intro h2{font-size:38px}
  .internal .promises-grid{grid-template-columns:1fr;gap:42px}
  .internal .promise-item{border-right:0;padding-right:0;padding-bottom:38px;border-bottom:1px solid #d7c8b4}
  .internal .promise-item:last-child{border-bottom:0;padding-bottom:0}
  .internal .promise-photo{aspect-ratio:1.45/1;max-width:680px}
}
@media(max-width:560px){
  .internal .promises-section{margin-top:48px}
  .internal .promises-kicker{font-size:18px}
  .internal .promises-intro h2{font-size:30px;letter-spacing:.035em}
  .internal .promises-intro p{font-size:12px;line-height:1.85}
  .internal .promise-photo{aspect-ratio:1.25/1;margin-bottom:20px}
  .internal .promise-number{font-size:30px;margin-bottom:15px}
  .internal .promise-item h3{font-size:20px}
  .internal .promise-item>p{font-size:12px;line-height:1.9}
}


/* ==========================================================
   v15 — EXACT APPROVED THREE PROMISES
   Desktop: approved 1536x1024 original displayed as-is.
   Mobile: separate accessible/responsive layout.
   ========================================================== */
.internal .promises-v15{
  position:relative;
  margin-top:72px;
}

/* Keep the approved composition exactly as generated.
   Full-bleed relative to viewport, capped at its native 1536px width. */
.internal .promises-desktop-exact{
  display:block;
  width:min(1536px, 100vw);
  margin-left:50%;
  transform:translateX(-50%);
  overflow:hidden;
  background:#f4eee4;
}
.internal .promises-desktop-exact img{
  display:block;
  width:100%;
  height:auto;
  max-width:1536px;
  margin:0 auto;
  transform:none!important;
  filter:none!important;
  image-rendering:auto;
}

.internal .promises-mobile-v15{
  display:none;
}

@media(max-width:699px){
  .internal .promises-v15{margin-top:48px}
  .internal .promises-desktop-exact{display:none}
  .internal .promises-mobile-v15{display:block}
  .internal .promises-mobile-intro{text-align:center;margin:0 auto 34px}
  .internal .promises-mobile-intro .promises-kicker{
    font-family:Georgia,serif;
    font-style:italic;
    color:#9a7339;
    font-size:17px;
    margin-bottom:10px;
  }
  .internal .promises-mobile-intro h2{
    margin:0;
    font-size:29px;
    line-height:1.35;
    font-weight:500;
    letter-spacing:.04em;
  }
  .internal .promises-mobile-intro p{
    margin:16px auto 0;
    font-family:var(--sans);
    font-size:11.5px;
    line-height:1.9;
    color:#4c4139;
  }
  .internal .promise-mobile-card{
    padding:0 0 34px;
    margin:0 0 34px;
    border-bottom:1px solid #d7c8b4;
  }
  .internal .promise-mobile-card:last-child{
    border-bottom:0;
    margin-bottom:0;
  }
  .internal .promise-mobile-card img{
    display:block;
    width:100%;
    height:auto;
    margin:0 0 20px;
    transform:none!important;
    filter:none!important;
  }
  .internal .promise-mobile-card .promise-number{
    font-size:30px;
    margin-bottom:14px;
  }
  .internal .promise-mobile-card h3{
    margin:0 0 6px;
    font-size:21px;
    line-height:1.45;
    font-weight:500;
  }
  .internal .promise-mobile-card .promise-en{
    font-size:10px;
    margin-bottom:15px;
  }
  .internal .promise-mobile-card>p{
    margin:0;
    font-family:var(--sans);
    color:#4e443c;
    font-size:11.5px;
    line-height:1.95;
  }
}

/* PC/tablet must NEVER fall into the old single-column promise layout. */
@media(min-width:700px){
  .internal .promises-desktop-exact{display:block!important}
  .internal .promises-mobile-v15{display:none!important}
}


/* =========================================================
   v17 FULL RESPONSIVE
   - PC top remains the approved exact image
   - Mobile top uses a dedicated text-free vertical image
   - All text/CTA is live HTML
   - 375 / 390 / 430 / tablet / PC verified
   ========================================================= */
.visual-picture{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
}
.visual-picture .visual{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}


/* Internal-page responsive consistency overrides. */
@media(max-width:980px){
  .internal .site-header{
    position:fixed!important;
    height:70px!important;
    background:rgba(17,12,9,.96)!important;
    backdrop-filter:blur(10px);
  }
  .internal .page{padding-top:70px!important}
  .internal .page-hero{margin-top:-70px;padding-top:70px}
  .internal .mobile-panel{top:70px}
}
@media(max-width:700px){
  .internal .page-hero{height:250px!important}
  .internal .page-hero .inner{padding-bottom:28px!important}
  .internal .page-hero h1{font-size:34px!important}
  .internal .container{width:88vw!important;padding:46px 0 58px!important}
  .internal .two-col{gap:30px!important}
  .internal .image-block{order:-1}
  .internal .section-title{font-size:28px!important}
  .internal .prose{font-size:12.5px!important;line-height:2.05!important}
  .internal .products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:22px 12px!important;
  }
  .internal .product-card{width:auto!important}
  .internal .product-card .pic{
    width:100%!important;
    height:auto!important;
    aspect-ratio:1.35/1!important;
  }
  .internal .product-card h3{font-size:13px!important}
  .internal .product-card p{font-size:10px!important;line-height:1.7!important}
  .internal .chef-profile{grid-template-columns:1fr!important;gap:30px!important}
  .internal .chef-profile .portrait{max-width:100%!important}
  .internal .news-item{
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:22px 0!important;
  }
  .internal .news-thumb{
    grid-column:1!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:none!important;
    aspect-ratio:1.55/1!important;
  }
  .internal .news-date,
  .internal .news-body{
    grid-column:1!important;
    grid-row:auto!important;
  }
  .internal .access-grid{grid-template-columns:1fr!important;gap:28px!important}
  .internal .shop-info{grid-template-columns:88px 1fr!important}
  .internal .footer{padding-left:6vw!important;padding-right:6vw!important}
  .internal .footer-top{align-items:flex-start!important}
  .internal .footer-nav{gap:13px!important}
}
@media(max-width:430px){
  .internal .products{grid-template-columns:1fr!important}
  .internal .product-card .pic{aspect-ratio:1.45/1!important}
  .internal .category-tabs{
    gap:20px!important;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .internal .category-tabs::-webkit-scrollbar{display:none}
}


/* v17.1 — no-upscale responsive image fixes */
@media(max-width:430px){
  .internal .product-card{
    width:min(100%,350px)!important;
    margin-inline:auto!important;
  }
  .internal .product-card .pic{
    width:100%!important;
    height:auto!important;
    aspect-ratio:1.82/1!important;
  }
  .internal .product-card .pic img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }

  .internal .news-thumb{
    width:min(100%,270px)!important;
    max-width:270px!important;
    height:auto!important;
    aspect-ratio:auto!important;
    margin-inline:auto!important;
    overflow:hidden;
  }
  .internal .news-thumb img{
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
  }
}
