/* Seasons of Japan Catering — premium dark catering experience */
body[data-page="catering"]{background:#030906;color:#f6f0e4}
body[data-page="catering"] .site-header{background:#043322}
body[data-page="catering"] .site-footer{margin-top:0}
.catering-page{background:
  radial-gradient(circle at 88% 0%,rgba(212,178,69,.08),transparent 24%),
  linear-gradient(180deg,#04110c 0%,#020806 100%)}
.catering-page a{transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease}

.catering-hero{
  display:grid;grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);min-height:720px;
  background:
    radial-gradient(circle at 14% 10%,rgba(222,191,82,.09),transparent 26%),
    linear-gradient(102deg,#3d0710 0%,#5d0d1c 48%,#071b14 48%,#071b14 100%);
  border-bottom:1px solid rgba(222,191,82,.2)
}
.catering-hero-copy{padding:62px 42px 46px var(--space);align-self:center}
.catering-kicker{margin:0 0 14px;color:#f0d477;font:900 11px/1 var(--text);letter-spacing:.19em}
.catering-hero h1{margin:0;color:#fff9ec;font:400 clamp(66px,6.5vw,96px)/.91 var(--editorial);letter-spacing:-.06em}
.catering-hero h1 em{color:#f0d477;font-style:normal}
.catering-hero-lede{max-width:700px;margin:24px 0 0;color:#f0e4e2;font-size:17px;line-height:1.68}
.catering-hero-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:30px}
.catering-primary,.catering-secondary{
  min-height:50px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;
  font:800 13px/1 var(--text);border-radius:5px
}
.catering-primary{gap:28px;background:#d7183a;color:#fff;border:1px solid #d7183a}
.catering-primary span{font-size:18px}.catering-primary:hover{background:#b91230;transform:translateY(-1px)}
.catering-secondary{color:#fff8e9;border:1px solid rgba(240,212,119,.4);background:rgba(4,25,18,.22)}
.catering-secondary:hover{border-color:#f0d477;color:#f0d477}
.catering-hero-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:42px;background:rgba(240,212,119,.16);border-top:1px solid rgba(240,212,119,.18);border-bottom:1px solid rgba(240,212,119,.18)}
.catering-hero-proof span{padding:16px 13px;background:rgba(33,5,12,.35);color:#dbcfd0;font-size:12px;line-height:1.45}
.catering-hero-proof strong{display:block;margin-bottom:5px;color:#f0d477;font-size:12px;letter-spacing:.05em;text-transform:uppercase}

.catering-hero-visual{position:relative;min-height:720px;overflow:hidden;background:#061c14}
.catering-hero-main{position:absolute;inset:0 0 0 25%;margin:0;overflow:hidden}
.catering-hero-main:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#071b14 0%,transparent 30%),linear-gradient(0deg,rgba(1,11,7,.75),transparent 36%)}
.catering-hero-main img{width:100%;height:100%;object-fit:cover;display:block}
.catering-hero-main figcaption{position:absolute;z-index:2;right:25px;bottom:22px;color:#f4dd8b;font:900 10px/1 var(--text);letter-spacing:.16em}
.catering-hero-small{position:absolute;margin:0;width:250px;height:190px;border:1px solid rgba(240,212,119,.35);overflow:hidden;box-shadow:0 22px 40px rgba(0,0,0,.26)}
.catering-hero-small img{width:100%;height:100%;object-fit:cover;display:block}
.catering-hero-small figcaption{position:absolute;left:0;bottom:0;padding:9px 12px;background:#061d15;color:#f0d477;font:900 10px/1 var(--text);letter-spacing:.12em}
.catering-hero-small-one{left:20px;top:76px}.catering-hero-small-two{left:55px;bottom:82px;width:215px;height:165px}
.catering-hero-stamp{
  position:absolute;z-index:3;right:28px;top:26px;display:flex;align-items:center;gap:12px;padding:10px 12px;
  background:rgba(2,20,13,.74);backdrop-filter:blur(12px);border:1px solid rgba(240,212,119,.26)
}
.catering-hero-stamp img{width:66px;height:66px;object-fit:contain}.catering-hero-stamp span{color:#f0d477;font:900 9px/1.45 var(--text);letter-spacing:.13em}

.catering-ribbon{display:flex;align-items:center;justify-content:center;gap:22px;overflow:hidden;white-space:nowrap;padding:15px var(--space);background:#d7b84f;color:#0a2d21;font:900 11px/1 var(--text);letter-spacing:.12em}
.catering-ribbon i{font-style:normal;color:#9f1630;font-size:9px}

.catering-occasions{padding:54px var(--space) 60px;background:#07130f}
.catering-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.6fr);gap:50px;align-items:end;margin-bottom:28px}
.catering-section-head>div>p{margin:0 0 9px;color:#d9bd5d;font:900 10px/1 var(--text);letter-spacing:.18em}
.catering-section-head h2{margin:0;color:#fff8e9;font:400 clamp(50px,5vw,72px)/.94 var(--editorial);letter-spacing:-.05em}
.catering-section-head h2 em{color:#d9bd5d;font-style:normal}
.catering-section-head>p{margin:0;color:#b7c1ba;font-size:15px;line-height:1.65}
.catering-occasion-layout{display:grid;grid-template-columns:360px minmax(0,1fr);border-top:1px solid rgba(217,189,93,.18);border-bottom:1px solid rgba(217,189,93,.18)}
.catering-occasion-tabs{display:flex;flex-direction:column;background:#05241a;border-right:1px solid rgba(217,189,93,.2)}
.catering-occasion-tabs button{
  display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-areas:"num title" "num note";gap:3px 12px;align-items:center;
  min-height:86px;padding:12px 16px;border:0;border-bottom:1px solid rgba(255,255,255,.07);
  background:transparent;color:#fff;text-align:left;cursor:pointer;transition:.18s ease
}
.catering-occasion-tabs button:hover{background:#103d2e}
.catering-occasion-tabs button.is-active{background:linear-gradient(90deg,#741124 0%,#570a18 100%);box-shadow:inset 4px 0 0 #e0c35d}
.catering-occasion-tabs button>span{grid-area:num;width:36px;height:36px;border:1px solid rgba(224,195,93,.45);border-radius:50%;display:grid;place-items:center;color:#e0c35d;font:900 10px/1 var(--text)}
.catering-occasion-tabs button strong{grid-area:title;font-size:17px;line-height:1.1}
.catering-occasion-tabs button small{grid-area:note;color:#aeb9b0;font-size:11px;line-height:1.3}
.catering-occasion-tabs button.is-active small{color:#ead8d9}
.catering-occasion-stage{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);min-height:520px;background:#0a1913}
.catering-occasion-photo{position:relative;overflow:hidden}
.catering-occasion-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 70%,#0a1913 100%),linear-gradient(0deg,rgba(1,10,7,.25),transparent 45%)}
.catering-occasion-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .18s ease,transform .35s ease}
.catering-occasion-stage.is-switching .catering-occasion-photo img{opacity:.35;transform:scale(1.02)}
.catering-occasion-copy{align-self:center;padding:34px 38px}
.catering-occasion-copy>p:first-child{margin:0 0 8px;color:#d9bd5d;font:900 10px/1 var(--text);letter-spacing:.18em}
.catering-occasion-copy h3{margin:0;color:#fff8e9;font:400 clamp(42px,4.2vw,60px)/.92 var(--editorial);letter-spacing:-.045em}
.catering-occasion-copy h3 em{color:#d9bd5d;font-style:normal}
.catering-occasion-copy>p:nth-of-type(2){margin:17px 0 0;color:#c5cec7;font-size:15px;line-height:1.65}
.catering-occasion-examples{display:flex;flex-wrap:wrap;gap:7px;margin-top:21px}
.catering-occasion-examples span{padding:7px 9px;border:1px solid rgba(217,189,93,.18);background:#0e2a20;color:#e6e4dc;font-size:11px;font-weight:700}
.catering-occasion-copy>a{display:inline-flex;gap:24px;align-items:center;margin-top:24px;padding:12px 0;color:#f0d477;border-bottom:1px solid #f0d477;font-size:12px;font-weight:800}

.catering-service{padding:52px var(--space) 58px;background:#4f0a18}
.catering-service-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:26px}
.catering-service-heading>p{margin:0;color:#f0d477;font:900 10px/1 var(--text);letter-spacing:.18em}
.catering-service-heading h2{margin:0;color:#fff8ea;text-align:right;font:400 clamp(46px,4.8vw,68px)/.94 var(--editorial);letter-spacing:-.05em}
.catering-service-heading h2 em{color:#f0d477;font-style:normal}
.catering-service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(240,212,119,.2);border-bottom:1px solid rgba(240,212,119,.2)}
.catering-service-grid article{display:grid;grid-template-columns:44px 1fr;gap:15px;padding:27px 24px;border-right:1px solid rgba(240,212,119,.15)}
.catering-service-grid article:last-child{border-right:0}
.catering-service-grid article>span{width:42px;height:42px;border:1px solid rgba(240,212,119,.42);border-radius:50%;display:grid;place-items:center;color:#f0d477;font:900 10px/1 var(--text)}
.catering-service-grid article p:first-child{margin:2px 0 7px;color:#f0d477;font:900 10px/1 var(--text);letter-spacing:.14em}
.catering-service-grid h3{margin:0;color:#fff8ea;font:400 34px/.95 var(--editorial)}
.catering-service-grid article p:last-child{margin:13px 0 0;color:#e7d8da;font-size:13px;line-height:1.6}
.catering-service-note{max-width:980px;margin:17px 0 0;color:#d7c3c6;font-size:12px;line-height:1.55}

.catering-food{padding:54px var(--space) 62px;background:#e9e1d0;color:#123829}
.catering-section-head-light h2{color:#123829}.catering-section-head-light>p{color:#5d695f}.catering-section-head-light>div>p{color:#8e6a19}
.catering-food-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;gap:12px}
.catering-food-grid article{position:relative;min-height:520px;overflow:hidden;background:#0a281e}
.catering-food-grid article>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.catering-food-grid article:hover>img{transform:scale(1.025)}
.catering-food-grid article:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,17,11,.93) 0%,rgba(2,17,11,.12) 68%)}
.catering-food-grid article>div{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:24px}
.catering-food-grid article p{margin:0 0 7px;color:#e4c75f;font:900 10px/1 var(--text);letter-spacing:.15em}
.catering-food-grid h3{margin:0;color:#fff8e9;font:400 38px/.95 var(--editorial);letter-spacing:-.035em}
.catering-food-feature h3{font-size:48px}
.catering-food-grid article span{display:block;max-width:440px;margin-top:13px;color:#d5ddd7;font-size:13px;line-height:1.55}
.catering-food-grid article a{display:inline-block;margin-top:16px;color:#f0d477;font-size:12px;font-weight:800}

.catering-moments{display:grid;grid-template-columns:330px minmax(0,1fr);background:#061e16;border-top:1px solid rgba(217,189,93,.17);border-bottom:1px solid rgba(217,189,93,.17)}
.catering-moments-copy{padding:42px 28px 44px var(--space);background:#0a3829}
.catering-moments-copy>p{margin:0 0 9px;color:#d9bd5d;font:900 10px/1 var(--text);letter-spacing:.18em}
.catering-moments-copy h2{margin:0;color:#fff8e9;font:400 48px/.94 var(--editorial);letter-spacing:-.045em}
.catering-moments-copy h2 em{color:#d9bd5d;font-style:normal}
.catering-moments-copy>a{display:inline-flex;gap:22px;margin-top:25px;padding:12px 0;color:#f0d477;border-bottom:1px solid #f0d477;font-size:12px;font-weight:800}
.catering-moments-columns{display:grid;grid-template-columns:repeat(5,1fr)}
.catering-moments-columns>div{padding:32px 18px;border-right:1px solid rgba(217,189,93,.12)}
.catering-moments-columns>div:last-child{border-right:0}
.catering-moments-columns h3{margin:0 0 14px;color:#f0d477;font:400 23px/1 var(--editorial)}
.catering-moments-columns span{display:block;padding:5px 0;color:#c8d1ca;font-size:12px;line-height:1.35}

.catering-process{padding:52px var(--space) 58px;background:#0a0e0b}
.catering-process-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:24px}
.catering-process-head>p{margin:0;color:#d9bd5d;font:900 10px/1 var(--text);letter-spacing:.18em}
.catering-process-head h2{margin:0;color:#fff8e9;text-align:right;font:400 clamp(44px,4.5vw,64px)/.94 var(--editorial);letter-spacing:-.05em}
.catering-process-head h2 em{color:#d9bd5d;font-style:normal}
.catering-process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(217,189,93,.18)}
.catering-process-grid article{padding:26px 22px 4px 0}
.catering-process-grid article+article{padding-left:22px;border-left:1px solid rgba(217,189,93,.12)}
.catering-process-grid span{color:#d9bd5d;font:900 10px/1 var(--text)}
.catering-process-grid h3{margin:12px 0 8px;color:#fff8e9;font:400 30px/1 var(--editorial)}
.catering-process-grid p{margin:0;color:#aeb9b1;font-size:13px;line-height:1.6}

.catering-concierge{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);background:#e8dfcd;color:#15382a}
.catering-concierge-copy{padding:56px 38px 58px var(--space)}
.catering-concierge-copy>p:first-child{margin:0 0 9px;color:#8d681c;font:900 10px/1 var(--text);letter-spacing:.18em}
.catering-concierge-copy h2{margin:0;color:#12382a;font:400 clamp(48px,4.8vw,68px)/.94 var(--editorial);letter-spacing:-.05em}
.catering-concierge-copy h2 em{color:#a1122d;font-style:normal}
.catering-concierge-copy>p:nth-of-type(2){max-width:610px;margin:18px 0 0;color:#59675d;font-size:15px;line-height:1.65}
.catering-concierge-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin-top:25px}
.catering-concierge-checks span{position:relative;padding-left:20px;color:#314d40;font-size:12px;font-weight:700}
.catering-concierge-checks span:before{content:"✓";position:absolute;left:0;top:0;color:#a1122d;font-weight:900}
.catering-form-panel{margin:0;padding:52px var(--space) 52px 40px;background:#071f17;color:#f8f2e8;border:0}
.catering-form-panel .form-panel-heading{max-width:700px}
.catering-form-panel .form-panel-heading .eyebrow{color:#d9bd5d}
.catering-form-panel .form-panel-heading h2{color:#fff8e9;font-size:48px}
.catering-form-panel .form-panel-heading>p:last-child{color:#b8c2bb;font-size:14px;line-height:1.6}
.catering-form-panel .form-launch{margin-top:22px}
.catering-form-button{
  min-height:50px;padding:0 18px;display:inline-flex;align-items:center;gap:28px;border:0;border-radius:5px;
  background:#d7183a;color:#fff;font:800 13px/1 var(--text);cursor:pointer
}
.catering-form-button:hover{background:#b91230}
.catering-form-button span{font-size:18px}
.catering-form-panel .form-launch>a{display:inline-block;margin-left:14px;color:#e4c75f;font-size:12px;font-weight:800;border-bottom:1px solid currentColor;padding:8px 0}
.catering-form-panel .form-launch>p{margin:15px 0 0;color:#8ea197;font-size:11px;line-height:1.5}
.catering-form-panel .form-frame{margin-top:20px}
.catering-form-panel .form-frame iframe{background:#fff}
.catering-form-panel .form-frame>p{color:#d4dbd6}

@media(max-width:1120px){
  .catering-hero{grid-template-columns:1fr 1fr}
  .catering-hero-copy{padding-right:28px}
  .catering-hero-proof{grid-template-columns:1fr}
  .catering-hero-proof span{padding:10px 12px}
  .catering-hero-small{width:190px;height:145px}
  .catering-hero-small-two{width:175px;height:135px}
  .catering-occasion-layout{grid-template-columns:315px minmax(0,1fr)}
  .catering-occasion-stage{grid-template-columns:.85fr 1.15fr}
  .catering-moments{grid-template-columns:280px minmax(0,1fr)}
  .catering-moments-columns{grid-template-columns:repeat(3,1fr)}
  .catering-moments-columns>div:nth-child(3){border-right:0}
  .catering-moments-columns>div:nth-child(n+4){border-top:1px solid rgba(217,189,93,.12)}
  .catering-food-grid{grid-template-columns:1.1fr .9fr}
  .catering-food-grid article:last-child{grid-column:1/-1;min-height:390px}
}
@media(max-width:900px){
  .catering-hero{grid-template-columns:1fr;min-height:0;background:linear-gradient(180deg,#4d0917 0%,#5c0d1c 46%,#061b14 46%,#061b14 100%)}
  .catering-hero-copy{padding:44px var(--space) 36px}
  .catering-hero-visual{min-height:560px}
  .catering-hero-main{inset:0}
  .catering-hero-small{display:none}
  .catering-hero-stamp{right:20px;top:20px}
  .catering-section-head{grid-template-columns:1fr;gap:16px}
  .catering-occasion-layout{grid-template-columns:1fr}
  .catering-occasion-tabs{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid rgba(217,189,93,.2);scrollbar-width:none}
  .catering-occasion-tabs::-webkit-scrollbar{display:none}
  .catering-occasion-tabs button{flex:0 0 230px;border-right:1px solid rgba(255,255,255,.07);border-bottom:0}
  .catering-occasion-stage{grid-template-columns:1fr;min-height:0}
  .catering-occasion-photo{height:360px}
  .catering-occasion-photo:after{background:linear-gradient(0deg,#0a1913 0%,transparent 32%)}
  .catering-service-heading,.catering-process-head{display:block}
  .catering-service-heading h2,.catering-process-head h2{text-align:left;margin-top:10px}
  .catering-service-grid{grid-template-columns:1fr}
  .catering-service-grid article{border-right:0;border-bottom:1px solid rgba(240,212,119,.15)}
  .catering-service-grid article:last-child{border-bottom:0}
  .catering-moments{grid-template-columns:1fr}
  .catering-moments-copy{padding-right:var(--space)}
  .catering-process-grid{grid-template-columns:1fr 1fr}
  .catering-process-grid article:nth-child(3){border-left:0}
  .catering-process-grid article:nth-child(n+3){border-top:1px solid rgba(217,189,93,.12)}
  .catering-concierge{grid-template-columns:1fr}
  .catering-form-panel{padding-left:var(--space)}
}
@media(max-width:640px){
  .catering-hero-copy{padding:32px 18px 28px}
  .catering-kicker{font-size:10px}
  .catering-hero h1{font-size:54px}
  .catering-hero-lede{font-size:15px;line-height:1.58}
  .catering-hero-actions{display:grid;grid-template-columns:1fr}
  .catering-primary,.catering-secondary{width:100%;font-size:13px}
  .catering-hero-proof{margin-top:27px}
  .catering-hero-proof span{font-size:12px}
  .catering-hero-visual{min-height:420px}
  .catering-hero-stamp img{width:52px;height:52px}
  .catering-hero-stamp span{font-size:8px}
  .catering-ribbon{justify-content:flex-start;overflow-x:auto;padding-inline:18px;font-size:10px}
  .catering-occasions,.catering-service,.catering-food,.catering-process{padding-left:18px;padding-right:18px}
  .catering-section-head h2,.catering-service-heading h2,.catering-process-head h2{font-size:45px}
  .catering-section-head>p{font-size:14px}
  .catering-occasion-tabs button{flex-basis:220px;min-height:82px}
  .catering-occasion-copy{padding:27px 20px 31px}
  .catering-occasion-copy h3{font-size:44px}
  .catering-occasion-copy>p:nth-of-type(2){font-size:14px}
  .catering-occasion-photo{height:270px}
  .catering-service-grid article{padding:22px 0;grid-template-columns:42px 1fr}
  .catering-service-grid h3{font-size:31px}
  .catering-food-grid{grid-template-columns:1fr}
  .catering-food-grid article,.catering-food-grid article:last-child{grid-column:auto;min-height:390px}
  .catering-food-grid h3,.catering-food-feature h3{font-size:40px}
  .catering-moments-columns{grid-template-columns:1fr 1fr}
  .catering-moments-columns>div{padding:24px 16px}
  .catering-moments-columns>div:nth-child(odd){border-right:1px solid rgba(217,189,93,.12)}
  .catering-moments-columns>div:nth-child(even){border-right:0}
  .catering-moments-columns>div:nth-child(n+3){border-top:1px solid rgba(217,189,93,.12)}
  .catering-moments-copy{padding:32px 18px 34px}
  .catering-moments-copy h2{font-size:44px}
  .catering-process-grid{grid-template-columns:1fr}
  .catering-process-grid article,.catering-process-grid article:nth-child(3){padding:20px 0;border-left:0;border-top:1px solid rgba(217,189,93,.12)}
  .catering-process-grid article:first-child{border-top:0}
  .catering-concierge-copy{padding:42px 18px}
  .catering-concierge-copy h2{font-size:46px}
  .catering-concierge-copy>p:nth-of-type(2){font-size:14px}
  .catering-concierge-checks{grid-template-columns:1fr}
  .catering-form-panel{padding:38px 18px 42px}
  .catering-form-panel .form-panel-heading h2{font-size:40px}
  .catering-form-panel .form-panel-heading>p:last-child{font-size:13px}
  .catering-form-button{width:100%;justify-content:space-between;font-size:13px}
  .catering-form-panel .form-launch>a{margin:12px 0 0}
}
@media(prefers-reduced-motion:reduce){
  .catering-page *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}


/* CATERING V3 — rebuilt to sit beneath the compact global page identifier */
.catering-hero{
  min-height:590px;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
}
.catering-hero-copy{padding:42px 38px 38px var(--space)}
.catering-hero h1{font-size:clamp(58px,5.7vw,82px)}
.catering-hero-lede{margin-top:19px;font-size:15px;line-height:1.62}
.catering-hero-actions{margin-top:24px}
.catering-hero-proof{margin-top:30px}
.catering-hero-visual{min-height:590px}
.catering-hero-small{width:220px;height:165px}
.catering-hero-small-one{top:54px}
.catering-hero-small-two{bottom:60px;width:190px;height:145px}
.catering-primary{background:#741124;border-color:#741124}
.catering-primary:hover{background:#641022}
@media(max-width:900px){
  .catering-hero,.catering-hero-visual{min-height:540px}
}
@media(max-width:700px){
  .catering-hero{min-height:0}
  .catering-hero-copy{padding:34px 22px 30px}
  .catering-hero h1{font-size:52px}
  .catering-hero-visual{min-height:430px}
}
