:root{
  --ink:#2b1b14;
  --ink-2:#4b3327;
  --paper:#f7f0e5;
  --paper-2:#efe3d0;
  --cream:#fffaf2;
  --gold:#c69455;
  --gold-light:#e8c58f;
  --blue:#12343a;
  --blue-2:#1d4f57;
  --green:#406153;
  --line:rgba(43,27,20,.16);
  --shadow:0 24px 70px rgba(35,21,13,.18);
  --radius:26px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:
    radial-gradient(circle at 15% 5%, rgba(214,164,100,.12), transparent 28rem),
    linear-gradient(180deg,#fbf7f0 0%,#f3eadc 100%);
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  line-height:1.8;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.055;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  z-index:50;
}
img{max-width:100%;display:block}
a{color:inherit}
button,select{font:inherit}
button{cursor:pointer}
::selection{background:#d8bd8a;color:#2a1a12}

.skip-link{
  position:fixed;
  top:12px;
  left:12px;
  z-index:100;
  transform:translateY(-180%);
  background:#fff;
  padding:10px 14px;
  border-radius:8px;
}
.skip-link:focus{transform:none}
.visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(1px,1px,1px,1px)!important;
  white-space:nowrap!important;
}

.world-notice{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:7px 20px;
  color:#f7ebd7;
  background:linear-gradient(90deg,#132e34,#274b4e,#132e34);
  font-size:.78rem;
  letter-spacing:.08em;
  text-align:center;
}
.notice-dot{width:4px;height:4px;border-radius:50%;background:var(--gold-light)}

.site-header{
  position:sticky;
  top:0;
  z-index:40;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  min-height:82px;
  padding:12px clamp(20px,5vw,80px);
  color:#f8eee0;
  background:rgba(43,27,20,.94);
  border-bottom:1px solid rgba(232,197,143,.24);
  backdrop-filter:blur(14px);
}
.brand,.footer-brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  min-width:max-content;
}
.brand img,.footer-brand img{filter:drop-shadow(0 6px 14px rgba(0,0,0,.25))}
.brand span,.footer-brand span{display:flex;flex-direction:column;line-height:1.15}
.brand small,.footer-brand small{font-size:.68rem;letter-spacing:.18em;color:#dfc9a5}
.brand strong,.footer-brand strong{
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:1.55rem;
  font-weight:500;
  letter-spacing:.12em;
}
.site-nav{display:flex;gap:clamp(14px,2.4vw,34px);align-items:center}
.site-nav a{
  position:relative;
  text-decoration:none;
  font-size:.88rem;
  color:#eadfce;
  white-space:nowrap;
}
.site-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-7px;
  height:1px;
  background:var(--gold-light);
  transition:right .25s ease;
}
.site-nav a:hover::after,.site-nav a:focus-visible::after{right:0}
.nav-toggle{
  display:none;
  border:1px solid rgba(255,255,255,.25);
  border-radius:999px;
  background:transparent;
  color:#fff;
  padding:8px 14px;
}

.hero{position:relative;background:#21150f;overflow:hidden}
.hero-image-wrap img{width:100%;height:auto;min-height:320px;object-fit:cover}
.hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:35%;
  pointer-events:none;
  background:linear-gradient(transparent,rgba(22,13,9,.72));
}
.hero-actions{
  position:absolute;
  z-index:2;
  left:clamp(24px,7vw,120px);
  bottom:clamp(22px,4vw,52px);
  display:flex;
  gap:12px;
}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:12px 22px;
  border:1px solid transparent;
  border-radius:999px;
  text-decoration:none;
  font-weight:700;
  letter-spacing:.04em;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.button:hover{transform:translateY(-2px)}
.button-primary{
  color:#24160f;
  background:linear-gradient(135deg,#f3d5a1,#c99756);
  box-shadow:0 12px 28px rgba(0,0,0,.22);
}
.button-primary:hover{box-shadow:0 16px 35px rgba(0,0,0,.28)}
.button-ghost{
  color:#fff8eb;
  background:rgba(42,26,18,.58);
  border-color:rgba(255,255,255,.38);
  backdrop-filter:blur(8px);
}

.section{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
  padding:clamp(76px,10vw,128px) 0;
}
.section-heading{max-width:760px;margin:0 auto 48px;text-align:center}
.section-heading.compact{margin-bottom:38px}
.eyebrow{
  margin:0 0 10px;
  color:var(--green);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.22em;
}
h1,h2,h3,h4,p{margin-top:0}
h2{
  margin-bottom:16px;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(2rem,4.5vw,3.45rem);
  line-height:1.35;
  font-weight:500;
  letter-spacing:.04em;
}
.section-heading>p:last-child,.simulator-heading>div>p:last-child,.special-copy>p{color:#6e5d51}
.intro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feature-card{
  position:relative;
  min-height:250px;
  padding:34px 30px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(255,250,242,.78);
  box-shadow:0 12px 35px rgba(61,40,25,.06);
  overflow:hidden;
}
.feature-card::after{
  content:"";
  position:absolute;
  width:130px;
  height:130px;
  right:-55px;
  bottom:-55px;
  border:1px solid rgba(198,148,85,.25);
  border-radius:50%;
  box-shadow:0 0 0 18px rgba(198,148,85,.05),0 0 0 36px rgba(198,148,85,.025);
}
.feature-number{
  display:block;
  margin-bottom:34px;
  color:var(--gold);
  font-family:Georgia,serif;
  font-size:1.05rem;
  letter-spacing:.14em;
}
.feature-card h3{font-family:"Yu Mincho",serif;font-size:1.35rem;font-weight:600}
.feature-card p{margin-bottom:0;color:#6f5b4d}

.simulator-section{
  width:min(1280px,calc(100% - 28px));
  padding-left:clamp(18px,3vw,46px);
  padding-right:clamp(18px,3vw,46px);
  border-radius:36px;
  color:#f9f0df;
  background:
    radial-gradient(circle at 8% 10%,rgba(222,176,107,.13),transparent 32rem),
    linear-gradient(145deg,#2b1b14 0%,#172f34 100%);
  box-shadow:var(--shadow);
}
.simulator-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:34px;
}
.simulator-heading>div{max-width:800px}
.simulator-heading .eyebrow{color:#dcb97f}
.simulator-heading h2{margin-bottom:12px}
.simulator-heading>div>p:last-child{color:#cfc1ad;margin-bottom:0}
.small-button{
  border:1px solid rgba(237,214,177,.35);
  border-radius:999px;
  padding:9px 15px;
  color:inherit;
  background:rgba(255,255,255,.07);
}
.small-button:hover{background:rgba(255,255,255,.13)}
.simulator-shell{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:24px;align-items:stretch}
.simulator-form,.simulation-result{
  min-height:580px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:28px;
  background:rgba(255,255,255,.055);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.simulator-form{padding:clamp(24px,4vw,42px)}
.choice-row{display:grid;grid-template-columns:1fr 44px 1fr;gap:12px;align-items:center}
.ingredient-choice{display:flex;flex-direction:column;gap:9px}
.choice-label{font-size:.76rem;letter-spacing:.13em;color:#d9c8ac}
.ingredient-choice select{
  width:100%;
  min-height:58px;
  padding:0 44px 0 16px;
  border:1px solid rgba(239,218,185,.3);
  border-radius:14px;
  color:#fff8ec;
  background-color:#24383a;
  font-size:1rem;
}
.ingredient-choice option,.ingredient-choice optgroup{color:#24170f;background:#fff}
.choice-description{min-height:3.2em;color:#bba991;font-size:.78rem;line-height:1.6}
.plus-sign{text-align:center;color:#deb878;font-size:2rem;font-family:serif}
.bake-options{border:0;padding:0;margin:28px 0 0}
.bake-options legend{margin-bottom:12px;color:#d9c8ac;font-size:.76rem;letter-spacing:.13em}
.bake-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.bake-options legend{grid-column:1/-1}
.bake-options label{position:relative}
.bake-options input{position:absolute;opacity:0;pointer-events:none}
.bake-options span{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-height:72px;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:14px;
  background:rgba(255,255,255,.035);
  transition:.2s ease;
}
.bake-options small{color:#b7a58f;font-size:.72rem}
.bake-options input:checked+span{
  border-color:#d7af70;
  background:rgba(209,166,98,.16);
  box-shadow:0 0 0 2px rgba(209,166,98,.07);
}
.form-actions{display:flex;align-items:center;gap:18px;margin-top:28px}
.form-actions .button{border:0;white-space:nowrap}
.form-actions p{margin:0;color:#b7a68f;font-size:.72rem;line-height:1.55}

.simulation-result{padding:clamp(24px,3.5vw,38px);display:flex;align-items:center}
.result-placeholder{width:100%;text-align:center;color:#cbbba5}
.result-placeholder img{margin:0 auto 18px;opacity:.86}
.result-placeholder h3{font-family:"Yu Mincho",serif;color:#fff3dd;font-size:1.45rem}
.result-placeholder p{max-width:360px;margin:0 auto}
.result-content{width:100%}
.result-topline{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.result-kicker{margin-bottom:6px;color:#d8b578;font-size:.68rem;letter-spacing:.18em}
.result-topline h3{margin-bottom:0;font-family:"Yu Mincho",serif;font-size:clamp(1.5rem,3vw,2.15rem);font-weight:500}
.score-ring{
  flex:0 0 84px;
  width:84px;
  height:84px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(229,195,139,.55);
  border-radius:50%;
  background:radial-gradient(circle,rgba(226,179,105,.16),transparent 64%);
}
.score-ring strong{font-family:Georgia,serif;font-size:1.7rem;line-height:1}
.score-ring span{margin-top:4px;color:#cbb89b;font-size:.67rem}
.result-summary{margin:20px 0 12px;color:#e4d8c5}
.result-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:22px}
.result-tags span{padding:4px 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:#ceb994;font-size:.68rem}
.metric-list{display:grid;gap:10px;margin:0 0 24px}
.metric-row{display:grid;grid-template-columns:5.6em 1fr 2em;gap:10px;align-items:center;font-size:.76rem}
.metric-track{height:7px;background:rgba(255,255,255,.09);border-radius:999px;overflow:hidden}
.metric-fill{height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#a56f43,#e3bd7c);transition:width .7s cubic-bezier(.2,.8,.2,1)}
.metric-row strong{text-align:right;color:#e3c38f;font-family:Georgia,serif;font-size:.75rem}
.result-panels{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.result-panels article{padding:14px;border:1px solid rgba(255,255,255,.11);border-radius:15px;background:rgba(255,255,255,.035)}
.result-panels h4{margin-bottom:8px;color:#d9b77e;font-size:.75rem;letter-spacing:.08em}
.result-panels p,.result-panels blockquote{margin-bottom:0;color:#d8ccba;font-size:.78rem}
.rating-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#ratingStars{letter-spacing:.08em;color:#efbd65}
#ratingValue{font-family:Georgia,serif;color:#fff2d7}
#ratingCount{color:#a99b87}
.result-panels blockquote{margin-top:7px;font-style:normal}
.special-note{margin-top:12px;padding:12px 14px;border-left:3px solid #d4a968;border-radius:6px;background:rgba(209,166,98,.1);color:#dbcaae;font-size:.76rem}
.result-actions{display:flex;align-items:center;gap:12px;margin-top:16px}
#copyStatus{color:#d7be94;font-size:.72rem}
.recent-wrap{margin-top:28px}
.recent-wrap h3{font-size:.8rem;letter-spacing:.12em;color:#d7c5aa}
.recent-list{display:flex;gap:8px;flex-wrap:wrap}
.recent-chip{border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.05);color:#f1e5d1;padding:8px 12px;font-size:.74rem}
.recent-chip:hover{background:rgba(255,255,255,.11)}

.menu-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);gap:26px;align-items:stretch}
.menu-photo-card{border-radius:28px;overflow:hidden;box-shadow:var(--shadow);background:#2a1b14}
.menu-photo-card img{width:100%;height:100%;object-fit:cover}
.menu-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.menu-list article{
  display:grid;
  grid-template-columns:1fr auto;
  column-gap:18px;
  padding:19px 4px;
  border-bottom:1px solid var(--line);
}
.menu-list article>div{display:flex;align-items:center;gap:10px}
.menu-list article span{padding:3px 8px;border-radius:999px;background:#e9dcc7;color:#5c4737;font-size:.65rem}
.menu-list h3{margin:0;font-family:"Yu Mincho",serif;font-size:1.18rem;font-weight:600}
.menu-list p{grid-column:1/2;margin:6px 0 0;color:#735f50;font-size:.82rem}
.menu-list strong{grid-column:2;grid-row:1/3;align-self:center;color:#8d6233;font-family:Georgia,serif}
.set-menu{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
.set-menu article{position:relative;padding:28px;border:1px solid var(--line);border-radius:20px;background:rgba(255,250,242,.72)}
.set-menu span{color:#9b7040;font-size:.66rem;letter-spacing:.16em}
.set-menu h3{margin:8px 0 4px;font-family:"Yu Mincho",serif;font-size:1.22rem}
.set-menu p{margin:0 0 18px;color:#735f50;font-size:.8rem}
.set-menu strong{font-family:Georgia,serif;color:#8b5c2c}

.special-section{width:100%;padding-left:max(20px,calc((100% - 1180px)/2));padding-right:max(20px,calc((100% - 1180px)/2));background:#eadfce}
.special-grid{display:grid;grid-template-columns:minmax(340px,.78fr) minmax(0,1.22fr);gap:clamp(34px,7vw,90px);align-items:start}
.poster-wrap{width:100%;max-width:540px;margin:0;justify-self:center}
.poster-preview{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:4/3;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:20px;
  background:#1c1714;
  box-shadow:var(--shadow);
  cursor:pointer;
}
.poster-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 18%;
  transform:scale(1.015);
  transition:transform .35s ease,filter .35s ease;
}
.poster-preview::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(22,13,9,.82));
  pointer-events:none;
}
.poster-preview span{
  position:absolute;
  left:18px;
  bottom:15px;
  z-index:1;
  padding:7px 12px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:999px;
  color:#fff5e4;
  background:rgba(34,22,16,.68);
  backdrop-filter:blur(7px);
  font-size:.74rem;
  letter-spacing:.06em;
}
.poster-preview:hover img{transform:scale(1.045);filter:brightness(1.05)}
.poster-wrap figcaption{margin-top:10px;color:#746154;font-size:.72rem;text-align:center}
.special-copy{padding-top:8px}
.special-copy h2{max-width:700px}

.poster-dialog{
  width:min(92vw,760px);
  max-height:92vh;
  padding:0;
  border:0;
  border-radius:22px;
  color:#2b1b14;
  background:#efe4d3;
  box-shadow:0 28px 90px rgba(0,0,0,.45);
}
.poster-dialog::backdrop{background:rgba(18,10,7,.78);backdrop-filter:blur(5px)}
.poster-dialog-panel{padding:18px;overflow:auto;max-height:92vh}
.poster-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:4px 4px 14px}
.poster-dialog-head h2{margin:2px 0 0;font-size:clamp(1.35rem,3vw,2rem)}
.poster-dialog-close{
  flex:0 0 auto;
  width:42px;
  height:42px;
  border:1px solid rgba(43,27,20,.18);
  border-radius:50%;
  background:#fff8ed;
  color:#352219;
  font-size:1.6rem;
  line-height:1;
  cursor:pointer;
}
.poster-dialog-panel>img{width:100%;height:auto;border-radius:12px;box-shadow:0 12px 35px rgba(42,27,20,.22)}
.special-list{margin:30px 0;display:grid;gap:0;border-top:1px solid rgba(43,27,20,.18)}
.special-list>div{display:grid;grid-template-columns:7.5em 1fr;gap:22px;padding:18px 0;border-bottom:1px solid rgba(43,27,20,.18)}
.special-list dt{font-family:"Yu Mincho",serif;font-weight:700;color:#1e474a}
.special-list dd{margin:0;color:#645448;font-size:.88rem}
.university-note{padding:22px 24px;border-left:4px solid var(--blue-2);background:rgba(255,255,255,.42)}
.university-note p{margin:5px 0 10px;color:#655649;font-size:.84rem}
.university-note a{color:#1c4e55;font-weight:700}

.eat-in-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr);gap:24px}
.wide-photo{margin:0;border-radius:28px;overflow:hidden;background:#1e1712;box-shadow:var(--shadow)}
.wide-photo img{width:100%;height:100%;min-height:520px;object-fit:cover}
.wide-photo figcaption{margin-top:-56px;position:relative;padding:18px 22px;color:#f6ead8;background:linear-gradient(transparent,rgba(23,14,10,.88));font-size:.78rem}
.eat-in-notes{display:grid;gap:14px}
.eat-in-notes article{padding:26px;border:1px solid var(--line);border-radius:22px;background:rgba(255,250,242,.7)}
.eat-in-notes span{color:#9b7040;font-size:.66rem;letter-spacing:.17em}
.eat-in-notes h3{margin:10px 0 8px;font-family:"Yu Mincho",serif;font-size:1.35rem}
.eat-in-notes p{margin:0;color:#705e50;font-size:.83rem}

.access-section{padding-top:48px}
.access-card{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:34px;
  padding:clamp(30px,5vw,62px);
  border-radius:30px;
  color:#f7eddd;
  background:
    radial-gradient(circle at 90% 10%,rgba(211,169,104,.16),transparent 25rem),
    linear-gradient(140deg,#312018,#15363a);
  box-shadow:var(--shadow);
}
.access-card .eyebrow{color:#d9b77e}
.access-card h2{max-width:720px}
.access-card address{font-style:normal;color:#e1d2bc;font-size:1rem}
.route{margin:20px 0 0;max-width:700px;color:#c7b7a1;font-size:.84rem}
.hours-card{align-self:stretch;padding:24px;border:1px solid rgba(255,255,255,.13);border-radius:20px;background:rgba(255,255,255,.055)}
.hours-card h3{font-family:"Yu Mincho",serif;font-size:1.35rem}
.hours-card dl{margin:0}
.hours-card dl>div{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.hours-card dt{color:#baa991}
.hours-card dd{margin:0}
.hours-card p{margin:18px 0 0;color:#b8a891;font-size:.73rem}
.link-row{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:24px}
.link-row a{padding:9px 14px;border:1px solid var(--line);border-radius:999px;text-decoration:none;background:rgba(255,250,242,.7);font-size:.8rem}
.link-row a:hover{background:#fff}

.site-footer{
  margin-top:60px;
  padding:70px 24px;
  text-align:center;
  color:#eadfce;
  background:#251711;
}
.footer-brand{justify-content:center;margin-bottom:20px}
.site-footer>p{max-width:680px;margin:0 auto;color:#bfae98}
.footer-meta{margin-top:22px!important;font-size:.7rem;line-height:1.7;color:#887765!important}

@media (max-width:1050px){
  .site-nav{gap:14px}.site-nav a{font-size:.78rem}
  .simulator-shell{grid-template-columns:1fr}
  .simulator-form,.simulation-result{min-height:auto}
  .menu-layout{grid-template-columns:1fr}
  .menu-photo-card{max-height:680px}
  .special-grid{grid-template-columns:.8fr 1.2fr;gap:34px}
}

@media (max-width:820px){
  .world-notice{font-size:.68rem}
  .site-header{min-height:70px;padding:10px 18px}
  .brand strong{font-size:1.25rem}
  .brand img{width:42px;height:42px}
  .nav-toggle{display:block}
  .site-nav{
    position:absolute;
    top:100%;left:0;right:0;
    display:none;
    flex-direction:column;
    align-items:stretch;
    padding:12px 18px 20px;
    background:rgba(43,27,20,.98);
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  .site-nav.open{display:flex}
  .site-nav a{padding:10px 6px;font-size:.86rem}
  .hero-image-wrap img{min-height:370px;object-position:64% center}
  .hero-actions{left:20px;right:20px;bottom:20px}
  .hero-actions .button{flex:1;padding:10px 14px;font-size:.82rem}
  .intro-grid,.set-menu{grid-template-columns:1fr}
  .feature-card{min-height:auto}
  .simulator-heading{align-items:flex-start;flex-direction:column}
  .choice-row{grid-template-columns:1fr}
  .plus-sign{line-height:1}
  .form-actions{align-items:stretch;flex-direction:column}
  .form-actions .button{width:100%}
  .special-grid{grid-template-columns:1fr}
  .poster-wrap{max-width:620px}
  .poster-preview{aspect-ratio:16/10}
  .eat-in-grid{grid-template-columns:1fr}
  .eat-in-notes{grid-template-columns:repeat(3,1fr)}
  .access-card{grid-template-columns:1fr}
}

@media (max-width:600px){
  .section{width:min(100% - 28px,1180px);padding:68px 0}
  .world-notice{gap:7px;padding-inline:10px;flex-wrap:wrap}
  .notice-dot{display:none}
  .hero-image-wrap img{min-height:430px;object-fit:cover;object-position:68% center}
  .hero-actions{flex-direction:column}
  .simulator-section{width:calc(100% - 16px);border-radius:24px;padding:56px 12px}
  .simulator-form,.simulation-result{border-radius:20px;padding:22px 16px}
  .bake-options{grid-template-columns:1fr}
  .result-topline{align-items:center}
  .result-panels{grid-template-columns:1fr}
  .menu-list article{grid-template-columns:1fr auto}
  .menu-list article>div{align-items:flex-start;flex-direction:column;gap:5px}
  .menu-list p{grid-column:1/-1}
  .menu-list strong{grid-column:2;grid-row:1;align-self:start}
  .special-section{padding-left:14px;padding-right:14px}
  .poster-preview{aspect-ratio:4/3}
  .poster-dialog{width:96vw;border-radius:16px}
  .poster-dialog-panel{padding:10px}
  .special-list>div{grid-template-columns:1fr;gap:7px}
  .eat-in-notes{grid-template-columns:1fr}
  .wide-photo img{min-height:400px}
  .access-card{padding:28px 20px;border-radius:22px}
  .site-footer{padding:56px 20px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}


/* v1.2 — fiction disclosure */
.fiction-alert{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  min-height:46px;
  padding:9px 20px;
  color:#3b2418;
  background:#f4d8a8;
  border-bottom:1px solid rgba(73,42,25,.22);
  font-size:.8rem;
  line-height:1.45;
  text-align:center;
}
.fiction-alert strong{
  padding:3px 9px;
  border-radius:999px;
  color:#fff8eb;
  background:#713b28;
  letter-spacing:.08em;
}
.fiction-alert a{
  font-weight:700;
  text-underline-offset:3px;
}

.fiction-badge{
  position:absolute;
  z-index:3;
  top:clamp(18px,3vw,42px);
  left:clamp(20px,5vw,78px);
  display:flex;
  flex-direction:column;
  gap:2px;
  max-width:min(440px,calc(100% - 40px));
  padding:10px 15px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:12px;
  color:#fff8eb;
  background:rgba(35,20,13,.74);
  box-shadow:0 10px 28px rgba(0,0,0,.22);
  backdrop-filter:blur(8px);
}
.fiction-badge span{
  color:#e8c58f;
  font-size:.62rem;
  letter-spacing:.18em;
}
.fiction-badge strong{
  font-size:.8rem;
  line-height:1.5;
}

.fiction-section{
  padding:clamp(34px,6vw,72px) max(20px,calc((100% - 1080px)/2));
  background:
    linear-gradient(135deg,rgba(22,56,60,.98),rgba(42,28,21,.98));
  color:#f5ead8;
}
.fiction-section-inner{
  padding:clamp(24px,4vw,46px);
  border:1px solid rgba(232,197,143,.3);
  border-radius:24px;
  background:rgba(255,255,255,.045);
  box-shadow:0 22px 60px rgba(0,0,0,.16);
}
.fiction-section .eyebrow{color:#e5bd7c}
.fiction-section h2{
  max-width:850px;
  margin:0 0 16px;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(1.8rem,4.3vw,3.2rem);
  font-weight:500;
  line-height:1.45;
}
.fiction-section p{
  max-width:920px;
  color:#dfd1bd;
}
.fiction-labels{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:24px;
}
.fiction-labels span{
  padding:7px 12px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:#f4e4cb;
  font-size:.74rem;
}

.access-fiction-note{
  margin-top:20px;
  padding:14px 16px;
  border:1px solid rgba(232,197,143,.3);
  border-radius:12px;
  color:#f3e5cf!important;
  background:rgba(112,57,38,.35);
  font-size:.78rem!important;
}

@media (max-width:720px){
  .fiction-alert{align-items:flex-start;flex-direction:column;text-align:left}
  .fiction-alert a{align-self:flex-start}
  .fiction-badge{
    top:14px;
    left:14px;
    right:14px;
    max-width:none;
  }
}


/* v1.3 — result sharing */
.result-share-box{
  margin-top:18px;
  padding:16px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:rgba(255,255,255,.045);
}
.result-share-title{
  margin:0 0 10px;
  color:#e8c894;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.08em;
}
.result-share-box .result-actions{
  margin-top:0;
  flex-wrap:wrap;
}
.x-share-button{
  color:#fff;
  border-color:rgba(255,255,255,.22);
  background:#111;
}
.x-share-button:hover{
  background:#2a2a2a;
}
.result-share-help{
  margin:10px 0 0;
  color:#b8aa96;
  font-size:.68rem;
  line-height:1.65;
}
.result-share-box #copyStatus{
  display:block;
  min-height:1.4em;
  margin-top:7px;
}

@media (max-width:560px){
  .result-share-box .result-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .result-share-box .small-button{
    width:100%;
  }
}
