
:root{
  --ink:#171717;
  --ink-soft:#242321;
  --ivory:#f4efe6;
  --paper:#fbf8f2;
  --gold:#b59a45;
  --gold-soft:#d1bd79;
  --red:#8e2528;
  --sage:#71805a;
  --muted:#746f67;
  --line:rgba(23,23,23,.14);
  --white:#fffdf9;
  --shadow:0 24px 70px rgba(23,23,23,.10);
  --radius:3px;
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Manrope", Arial, sans-serif;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}
body.menu-open{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}
.narrow{width:min(calc(100% - 48px),900px);margin-inline:auto}
.eyebrow{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:700}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.02;margin:0}
h1{font-size:clamp(3.5rem,7vw,7.6rem);letter-spacing:-.035em}
h2{font-size:clamp(2.7rem,5vw,5rem);letter-spacing:-.025em}
h3{font-size:clamp(1.8rem,3vw,2.8rem)}
p{margin:0 0 1.2rem}
.lead{font-size:clamp(1.02rem,1.5vw,1.25rem);color:var(--muted);max-width:650px}
.section{padding:110px 0}
.section-dark{background:var(--ink);color:var(--paper)}
.section-ivory{background:var(--ivory)}
.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:54px}
.section-head .lead{margin-left:auto}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:0 23px;border:1px solid var(--ink);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;transition:.35s ease;border-radius:var(--radius)}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(23,23,23,.12)}
.btn-primary{background:var(--ink);color:var(--paper)}
.btn-primary:hover{background:var(--red);border-color:var(--red)}
.btn-gold{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.btn-light{border-color:rgba(244,239,230,.5);color:var(--paper)}
.btn-ghost{border-color:var(--line)}
.link-arrow{display:inline-flex;align-items:center;gap:10px;font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800}
.link-arrow::after{content:"↗";transition:.25s}
.link-arrow:hover::after{transform:translate(3px,-3px)}

.site-header{position:fixed;inset:0 0 auto;z-index:100;background:rgba(244,239,230,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(23,23,23,.10);transition:.3s}
.site-header.scrolled{border-color:var(--line)}
.nav{height:104px;display:flex;align-items:center;justify-content:space-between;gap:46px}
.brand{display:flex;align-items:baseline;gap:15px;min-width:230px}
.brand-mark{font-family:var(--serif);font-size:2.45rem;line-height:1;letter-spacing:.16em;font-weight:500}
.brand-sub{font-size:.58rem;letter-spacing:.16em;text-transform:lowercase;color:var(--muted);border-left:1px solid var(--line);padding-left:14px}
.nav-links{display:flex;align-items:center;gap:30px;margin-left:auto}
.nav-links a{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800;position:relative;white-space:nowrap}
.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--gold);transition:.25s}
.nav-links a:hover::after{right:0}
.nav-cta{background:var(--ink);color:var(--paper);padding:13px 22px;letter-spacing:.15em}
.nav-toggle{display:none;background:none;border:0;width:42px;height:42px}
.nav-toggle span{display:block;height:1px;background:var(--ink);margin:6px 4px}

.hero{min-height:100svh;display:grid;place-items:center;padding:150px 0 80px;background:var(--ivory);overflow:hidden;position:relative}
.hero::before{content:"";position:absolute;width:540px;height:540px;border:1px solid rgba(181,154,69,.3);border-radius:50%;right:-160px;top:100px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:center}
.hero-copy{position:relative;z-index:2}
.hero-title{max-width:760px}
.hero-title em{font-style:normal;color:var(--red)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.hero-note{display:flex;align-items:center;gap:14px;margin-top:34px;color:var(--muted);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}
.hero-note::before{content:"";width:54px;height:1px;background:var(--gold)}
.hero-media{position:relative;min-height:610px}
.hero-card{position:absolute;inset:30px 0 0 8%;background:var(--ink);box-shadow:var(--shadow);overflow:hidden}
.hero-card img{width:100%;height:100%;object-fit:cover;opacity:.72;mix-blend-mode:screen}
.hero-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.72))}
.hero-card-copy{position:absolute;z-index:2;left:34px;bottom:30px;color:var(--paper)}
.hero-card-copy strong{display:block;font-family:var(--serif);font-size:2rem;font-weight:500}
.hero-stamp{position:absolute;z-index:3;left:-20px;top:50px;width:120px;height:120px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;background:var(--paper);font-family:var(--serif);text-align:center;font-size:1rem;line-height:1.1;transform:rotate(-10deg)}
.hero-stamp span{display:block;font-family:var(--sans);font-size:.5rem;letter-spacing:.15em;text-transform:uppercase;margin-top:5px}

.marquee{overflow:hidden;background:var(--red);color:var(--paper);border-block:1px solid rgba(255,255,255,.1)}
.marquee-track{display:flex;width:max-content;animation:marquee 24s linear infinite;padding:13px 0}
.marquee span{font-family:var(--serif);font-size:1.15rem;padding:0 32px;white-space:nowrap}
@keyframes marquee{to{transform:translateX(-50%)}}

.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line)}
.category-card{min-height:480px;background:var(--paper);position:relative;overflow:hidden;padding:34px;display:flex;flex-direction:column;justify-content:flex-end}
.category-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.55));z-index:1}
.category-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease;filter:saturate(.9)}
.category-card:hover img{transform:scale(1.045)}
.category-card-content{position:relative;z-index:2;color:var(--white)}
.category-card-content h3{margin-bottom:8px}
.category-card-content p{color:rgba(255,253,249,.8);max-width:340px}
.category-number{position:absolute;z-index:2;top:25px;right:25px;color:var(--white);font-size:.7rem;letter-spacing:.16em}

.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.product-card{position:relative}
.product-image{aspect-ratio:1/1;background:var(--ivory);overflow:hidden;margin-bottom:20px}
.product-image img{width:100%;height:100%;object-fit:cover;transition:.6s}
.product-card:hover .product-image img{transform:scale(1.035)}
.product-tag{position:absolute;top:14px;left:14px;background:var(--paper);padding:7px 10px;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}
.product-card h3{font-size:1.6rem;margin-bottom:5px}
.product-meta{font-size:.82rem;color:var(--muted)}
.product-card .link-arrow{margin-top:12px}

.split{display:grid;grid-template-columns:1fr 1fr;min-height:620px}
.split-media{min-height:620px;overflow:hidden}
.split-media img{width:100%;height:100%;object-fit:cover}
.split-copy{display:flex;align-items:center;padding:80px clamp(35px,7vw,110px);background:var(--ink);color:var(--paper)}
.split-copy-inner{max-width:560px}
.split-copy .lead{color:rgba(244,239,230,.68);margin-top:22px}
.pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin:42px 0}
.pillar{border-top:1px solid rgba(244,239,230,.2);padding-top:17px}
.pillar strong{display:block;font-family:var(--serif);font-size:1.45rem;font-weight:500;margin-bottom:4px}
.pillar span{font-size:.76rem;color:rgba(244,239,230,.6)}

.experience{background:var(--ivory)}
.experience-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:start}
.experience-list{border-top:1px solid var(--line)}
.experience-item{padding:28px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:65px 1fr auto;gap:20px;align-items:start}
.experience-item .num{font-family:var(--serif);font-size:1.5rem;color:var(--gold)}
.experience-item h3{font-size:1.7rem}
.experience-item p{font-size:.86rem;color:var(--muted);margin-top:5px;margin-bottom:0}
.event-card{background:var(--ink);color:var(--paper);padding:45px;position:sticky;top:120px}
.event-card .lead{color:rgba(244,239,230,.68);margin:20px 0 30px}

.quote-band{padding:120px 0;text-align:center;background:var(--paper)}
.quote-band blockquote{font-family:var(--serif);font-size:clamp(2.6rem,5vw,5.2rem);line-height:1.02;max-width:1000px;margin:0 auto 35px}
.quote-band cite{font-style:normal;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}

.instagram-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.instagram-tile{aspect-ratio:1/1;overflow:hidden;background:var(--ivory)}
.instagram-tile img{width:100%;height:100%;object-fit:cover;transition:.6s}
.instagram-tile:hover img{transform:scale(1.04)}

.footer{background:var(--ink);color:var(--paper);padding:80px 0 30px}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:60px;padding-bottom:60px;border-bottom:1px solid rgba(244,239,230,.14)}
.footer-brand{font-family:var(--serif);font-size:2.4rem}
.footer p{color:rgba(244,239,230,.6);max-width:430px}
.footer h4{font-family:var(--sans);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 18px}
.footer-links{display:grid;gap:10px;font-size:.85rem}
.footer-links a:hover{color:var(--gold-soft)}
.footer-bottom{padding-top:24px;display:flex;justify-content:space-between;gap:20px;color:rgba(244,239,230,.45);font-size:.68rem}

.page-hero{padding:180px 0 100px;background:var(--ivory)}
.page-hero .lead{margin-top:22px}
.breadcrumb{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:25px}
.filter-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:38px}
.filter-btn{background:transparent;border:1px solid var(--line);padding:10px 16px;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}
.filter-btn.active,.filter-btn:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}

.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.detail-image{aspect-ratio:1/1;background:var(--ivory);overflow:hidden}
.detail-image img{width:100%;height:100%;object-fit:cover}
.detail-copy h1{font-size:clamp(3rem,5vw,5.8rem)}
.detail-copy .lead{margin:22px 0}
.detail-info{border-top:1px solid var(--line);margin-top:30px}
.detail-row{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);font-size:.85rem}
.detail-row strong{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}

.form-shell{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}
.form{display:grid;gap:22px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:grid;gap:8px}
.field label{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:transparent;padding:14px 15px;outline:none;border-radius:0}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 2px rgba(181,154,69,.12)}
.field textarea{min-height:150px;resize:vertical}
.form-status{display:none;padding:15px;background:var(--ivory);font-size:.82rem}
.form-status.show{display:block}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.article{max-width:820px;margin:auto}
.article-meta{display:flex;gap:20px;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;margin:22px 0 42px}
.article h2{font-size:2.7rem;margin:55px 0 18px}
.article h3{font-size:2rem;margin:42px 0 12px}
.article p,.article li{font-family:var(--serif);font-size:1.25rem;line-height:1.65}
.article ul{padding-left:25px}
.article-feature{aspect-ratio:16/8;object-fit:cover;width:100%;margin:45px 0}

.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;padding:23px 0;background:none;border:0;text-align:left;display:flex;justify-content:space-between;gap:20px;font-family:var(--serif);font-size:1.6rem}
.faq-q span:last-child{font-family:var(--sans);font-size:1rem;color:var(--gold)}
.faq-a{display:grid;grid-template-rows:0fr;transition:.35s}
.faq-a > div{overflow:hidden}
.faq-item.open .faq-a{grid-template-rows:1fr}
.faq-a p{padding:0 45px 24px 0;color:var(--muted);max-width:800px}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}
.reveal.is-visible{opacity:1;transform:none}
.stagger>*{opacity:0;transform:translateY(15px);transition:.65s ease}
.stagger.is-visible>*{opacity:1;transform:none}
.stagger.is-visible>*:nth-child(2){transition-delay:.08s}
.stagger.is-visible>*:nth-child(3){transition-delay:.16s}
.stagger.is-visible>*:nth-child(4){transition-delay:.24s}

@media(max-width:980px){
  .nav-links{position:fixed;inset:82px 0 0;background:var(--paper);display:flex;flex-direction:column;align-items:flex-start;padding:40px 24px;gap:25px;transform:translateX(100%);transition:.35s}
  .nav-links.open{transform:none}
  .nav-toggle{display:block}
  .hero-grid,.split,.detail-grid,.form-shell,.experience-grid{grid-template-columns:1fr}
  .hero{padding-top:130px}
  .hero-media{min-height:520px}
  .category-grid{grid-template-columns:1fr}
  .product-grid{grid-template-columns:repeat(2,1fr)}
  .split-media{min-height:500px}
  .event-card{position:static}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .container,.narrow{width:min(calc(100% - 32px),var(--max))}
  .section{padding:75px 0}
  .section-head{display:block;margin-bottom:35px}
  .section-head .lead{margin-top:16px}
  .hero{padding-bottom:55px}
  .hero-grid{gap:45px}
  .hero-media{min-height:420px}
  .hero-card{inset:20px 0 0 8%}
  .hero-stamp{width:90px;height:90px;left:-8px;top:28px;font-size:.78rem}
  .product-grid{grid-template-columns:1fr 1fr;gap:18px}
  .product-card h3{font-size:1.35rem}
  .pillars{grid-template-columns:1fr}
  .experience-item{grid-template-columns:40px 1fr}
  .experience-item .link-arrow{grid-column:2}
  .instagram-grid{grid-template-columns:repeat(2,1fr)}
  .form-row{grid-template-columns:1fr}
  .form-shell{gap:45px}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{display:block}
  .footer-bottom span{display:block;margin-top:8px}
  .page-hero{padding:145px 0 70px}
  .detail-grid{gap:45px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

.delivery-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.delivery-label{opacity:.58}.delivery-actions a{font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}.delivery-actions a:hover{opacity:.68}

/* --- Premium editorial redesign: homepage --- */
:root{--ink:#11100f;--ivory:#eee8dc;--paper:#faf7f1;--gold:#b99a4c;--gold-soft:#d7c58b;--red:#7d2429;--muted:#756f67;--line:rgba(17,16,15,.14);--shadow:0 30px 90px rgba(17,16,15,.18)}
/* Sakura editorial direction */
.sakura-branch{position:absolute;z-index:2;pointer-events:none;user-select:none}
.sakura-branch-hero{width:min(56vw,760px);right:-5vw;top:14%;opacity:.72;transform:rotate(-4deg)}
.sakura-section{position:relative;overflow:hidden}
.sakura-section::after{content:"";position:absolute;inset:0;background:url("../assets/images/sakura-branch.svg") no-repeat right -130px top 20px/560px auto;opacity:.42;pointer-events:none}
.sakura-section > .container{position:relative;z-index:1}
.collection-intro{background:var(--ivory)}
.packaging-section{background:var(--ivory)}
.quote-band{background:var(--ivory)}
.hero-luxury{min-height:100svh;padding:0;display:flex;align-items:flex-end;background:var(--ivory);color:var(--ink);isolation:isolate;overflow:hidden}.hero-luxury::before{content:"";position:absolute;width:min(62vw,900px);height:min(62vw,900px);border:1px solid rgba(181,154,69,.22);border-radius:50%;right:-20vw;top:8%;z-index:0}.hero-luxury::after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(125,33,48,.10);border-radius:50%;left:-170px;bottom:-160px;z-index:0}.hero-luxury-inner{position:relative;z-index:3;width:100%;min-height:100svh;display:flex;align-items:center;justify-content:space-between;padding-top:155px;padding-bottom:95px}.hero-luxury .hero-copy{max-width:850px}.hero-luxury h1{font-size:clamp(4.2rem,8vw,9.2rem);max-width:920px;line-height:.88;margin:14px 0 26px}.hero-luxury h1 em,.editorial-intro h2 em,.packaging-copy h2 em,.events-copy h2 em,.quote-band blockquote em,.buy-inner h2 em{color:var(--red);font-style:italic}.hero-kicker{font-family:var(--serif);font-size:1.3rem;color:var(--muted);margin:0}.hero-luxury .lead{color:var(--muted);max-width:620px}.hero-luxury .btn-light{border-color:rgba(17,16,15,.24);color:var(--ink);background:rgba(255,255,255,.25);backdrop-filter:blur(8px)}.hero-luxury .btn-light:hover{background:var(--ink);color:var(--paper)}.hero-note{color:var(--muted);margin-top:28px}.hero-note span{font-family:var(--serif);font-size:1rem;color:var(--red)}.hero-note i{display:inline-block;width:35px;height:1px;background:var(--gold);margin:0 8px}.hero-aside{display:flex;align-items:flex-end;gap:30px;padding-bottom:8px;max-width:280px}.vertical-label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.58rem;letter-spacing:.24em;line-height:1.8;color:rgba(17,16,15,.5)}.hero-caption{border-left:1px solid rgba(17,16,15,.22);padding-left:25px;max-width:190px}.hero-caption span{display:block;font-size:.58rem;letter-spacing:.16em;color:var(--red);margin-bottom:12px}.hero-caption strong{font-family:var(--serif);font-size:1.55rem;font-weight:400;line-height:1.02}.hero-jp{position:absolute;z-index:1;right:7vw;top:18%;font-family:var(--serif);font-size:clamp(6rem,15vw,14rem);color:rgba(125,33,48,.075);writing-mode:vertical-rl}.scroll-cue{position:absolute;z-index:4;right:34px;bottom:25px;color:rgba(17,16,15,.62);font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;display:flex;align-items:center;gap:12px;writing-mode:vertical-rl}.scroll-cue i{display:block;width:1px;height:55px;background:var(--gold)}.hero-luxury .sakura-branch-hero{opacity:.58;z-index:2;right:-8vw;top:9%;filter:none}
.marquee{background:var(--red)}.marquee span{font-size:1.05rem;letter-spacing:.06em}
.collection-intro{background:var(--paper);padding-top:145px}.editorial-intro{display:grid;grid-template-columns:80px 1.2fr .8fr;gap:25px;align-items:end;margin-bottom:65px}.editorial-number{font-family:var(--serif);font-size:1.3rem;color:var(--gold);border-top:1px solid var(--gold);padding-top:12px;max-width:55px}.editorial-intro h2{font-size:clamp(3.3rem,6vw,6.8rem);line-height:.88}.editorial-intro .lead{max-width:440px}.collection-stage{display:grid;grid-template-columns:1.35fr .65fr;min-height:720px;gap:3px;background:var(--paper)}.collection-side{display:grid;grid-template-rows:1fr 1fr;gap:3px}.collection-card{position:relative;overflow:hidden;background:var(--ink);color:var(--paper);min-height:300px}.collection-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.04);transition:transform 1s cubic-bezier(.2,.7,.2,1)}.collection-main img{object-position:center 58%}.collection-card:hover img{transform:scale(1.06)}.collection-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.78))}.collection-content{position:absolute;z-index:2;left:34px;right:34px;bottom:32px}.collection-index{display:block;font-size:.58rem;letter-spacing:.2em;color:var(--gold-soft);margin-bottom:10px}.collection-content h3{font-size:clamp(2.2rem,4vw,4.5rem);margin-bottom:6px}.collection-content p{max-width:500px;color:rgba(250,247,241,.78);margin-bottom:16px}.collection-content .link-arrow{color:var(--paper)}
.statement{background:var(--red);color:var(--paper);padding:105px 0;overflow:hidden}.statement-inner{display:grid;grid-template-columns:150px 1fr 100px;gap:35px;align-items:center}.statement-mark{font-family:var(--serif);font-size:10rem;line-height:.7;color:rgba(250,247,241,.12)}.statement h2{font-size:clamp(3rem,5.5vw,6rem);max-width:900px}.statement .lead{color:rgba(250,247,241,.72);max-width:650px;margin-top:20px}.statement-line{height:1px;background:var(--gold);align-self:center}
.packaging-section{background:var(--ivory);padding:150px 0}.packaging-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:9vw;align-items:center}.packaging-media{position:relative}.packaging-media img{width:100%;aspect-ratio:1.15/1;object-fit:cover;box-shadow:var(--shadow);filter:saturate(.88)}.image-label{position:absolute;bottom:-18px;right:25px;background:var(--ink);color:var(--paper);padding:12px 16px;font-size:.58rem;letter-spacing:.16em}.packaging-copy h2{font-size:clamp(3.3rem,5.6vw,6.5rem);line-height:.88;margin:12px 0 22px}.packaging-copy .lead{max-width:530px}.packaging-copy .editorial-number{margin-bottom:55px}.pillars{grid-template-columns:1fr 1fr;margin:45px 0}.pillar{border-top:1px solid rgba(17,16,15,.2);padding-top:15px}.pillar strong{font-size:1.5rem}.pillar span{color:var(--muted)}
.products-feature{background:var(--paper)}.editorial-head{align-items:end}.editorial-head h2{font-size:clamp(3.1rem,5.5vw,6rem);line-height:.9}.center-cta{text-align:center;margin-top:55px}
.events-feature{background:var(--ink);color:var(--paper)}.events-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:center}.events-copy h2{font-size:clamp(3.5rem,6vw,7rem);line-height:.86;margin:14px 0 25px}.events-copy .lead{color:rgba(250,247,241,.68)}.events-copy .editorial-number{margin-bottom:55px}.event-list{border-top:1px solid rgba(250,247,241,.18);margin:45px 0}.event-list>div{display:grid;grid-template-columns:50px 1fr;gap:12px;padding:20px 0;border-bottom:1px solid rgba(250,247,241,.18)}.event-list span{font-family:var(--serif);color:var(--gold-soft)}.event-list strong{font-family:var(--serif);font-size:1.45rem;font-weight:400}.event-list p{grid-column:2;color:rgba(250,247,241,.55);font-size:.78rem;margin:0}.events-panel{min-height:680px;background:linear-gradient(145deg,#201d1a,#0b0b0a);border:1px solid rgba(185,154,76,.38);position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:45px}.events-panel:before{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(185,154,76,.22);border-radius:50%;right:-150px;top:-100px}.panel-jp{position:absolute;top:30px;right:55px;font-family:var(--serif);font-size:14rem;color:rgba(185,154,76,.12)}.panel-copy{position:relative;z-index:2}.panel-copy h3{font-size:clamp(2.4rem,4vw,4.3rem);max-width:480px;line-height:.95;margin:12px 0 28px}.panel-copy .link-arrow{color:var(--paper)}
.quote-band{background:var(--ivory);padding:150px 0}.quote-mark{display:block;text-align:center;color:var(--gold);font-family:var(--serif);font-size:5rem;line-height:.5}.quote-band blockquote{font-size:clamp(3.2rem,6vw,7rem);max-width:1100px;margin-bottom:45px}.quote-band cite{letter-spacing:.28em}
.social-editorial{background:var(--paper)}.buy-band{background:var(--red);color:var(--paper);padding:100px 0}.buy-inner{display:flex;justify-content:space-between;align-items:center;gap:60px}.buy-inner h2{font-size:clamp(3rem,5.5vw,6rem);line-height:.86;margin-top:10px}.buy-actions{display:flex;flex-direction:column;gap:10px;min-width:270px}.buy-actions .btn{text-align:center}.buy-actions .btn-light{border-color:rgba(250,247,241,.35);color:var(--paper)}
.footer{padding-top:95px}.footer-brand{font-size:3rem}
@media(max-width:980px){.nav{height:92px}.brand{min-width:auto}.brand-mark{font-size:2.35rem}.nav-links{gap:18px}.hero-luxury-inner{align-items:flex-end;padding-bottom:80px}.hero-luxury h1{font-size:clamp(3.7rem,10vw,7rem)}.hero-aside{display:none}.editorial-intro{grid-template-columns:55px 1fr}.editorial-intro .lead{grid-column:2}.collection-stage{grid-template-columns:1fr}.collection-side{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.statement-inner{grid-template-columns:80px 1fr}.statement-line{display:none}.packaging-grid,.events-layout{grid-template-columns:1fr;gap:55px}.events-panel{min-height:500px}.buy-inner{display:block}.buy-actions{margin-top:35px;max-width:420px}}
@media(max-width:640px){.nav{height:78px}.brand-mark{font-size:2.05rem}.brand-sub{font-size:.48rem}.nav-links{gap:14px}.sakura-branch-hero{width:720px;right:-48vw;top:24%;opacity:.5}.hero-luxury-inner{padding-bottom:75px}.hero-luxury h1{font-size:clamp(3.3rem,16vw,5.8rem)}.hero-luxury .hero-kicker{font-size:1.05rem}.hero-jp{right:-10px;top:24%;font-size:7rem}.scroll-cue{right:12px}.collection-intro,.packaging-section,.quote-band{padding-top:90px;padding-bottom:90px}.editorial-intro{display:block}.editorial-number{margin-bottom:25px}.editorial-intro h2{font-size:3.5rem}.editorial-intro .lead{margin-top:25px}.collection-stage{min-height:auto}.collection-card{min-height:420px}.collection-side{grid-template-columns:1fr}.collection-side .collection-card{min-height:300px}.statement{padding:80px 0}.statement-inner{display:block}.statement-mark{font-size:7rem;margin-bottom:20px}.statement h2{font-size:3.2rem}.packaging-copy h2,.events-copy h2{font-size:3.5rem}.packaging-copy .editorial-number,.events-copy .editorial-number{margin-bottom:35px}.pillars{grid-template-columns:1fr}.events-panel{min-height:420px;padding:30px}.panel-jp{font-size:9rem;right:25px}.quote-band blockquote{font-size:3.3rem}.buy-inner h2{font-size:3.5rem}.buy-actions{min-width:0}.instagram-grid{grid-template-columns:repeat(2,1fr)}}

/* =========================================================
   V5 — Tomoya-inspired editorial homepage for Okasan
   Structural/visual homage only; no Tomoya assets or code used.
   ========================================================= */
.tomoya-base{background:#f4efe7;color:#171513}.tomoya-base .site-header{position:absolute;top:0;left:0;right:0;z-index:20;background:transparent;border:0}.tomoya-nav{height:92px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:40px}.tomoya-brand{justify-self:start;color:#fff;text-transform:lowercase;display:flex;flex-direction:column;line-height:.75;text-decoration:none}.tomoya-brand span{font-family:var(--serif);font-size:3rem;letter-spacing:-.06em}.tomoya-brand small{font:600 .52rem/1 Manrope,sans-serif;letter-spacing:.22em;text-transform:uppercase;margin-left:4px}.tomoya-links{display:flex;justify-content:center;gap:36px}.tomoya-links a,.tomoya-order{color:#fff;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none}.tomoya-links a{position:relative;padding:10px 0}.tomoya-links a:after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:1px;background:#fff;transition:right .3s ease}.tomoya-links a:hover:after{right:0}.tomoya-order{justify-self:end;border:1px solid rgba(255,255,255,.6);padding:13px 19px;transition:.25s ease}.tomoya-order:hover{background:#fff;color:#171513}.tomoya-base .nav-toggle{display:none}
.tomoya-hero{position:relative;min-height:100svh;overflow:hidden;background:#111;color:#fff}.tomoya-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;filter:saturate(.82) contrast(1.02)}.tomoya-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,9,8,.7),rgba(10,9,8,.22) 58%,rgba(10,9,8,.4)),linear-gradient(0deg,rgba(10,9,8,.55),transparent 40%)}.tomoya-hero-copy{position:relative;z-index:2;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:95px}.tomoya-kicker,.tomoya-mini{font-size:.62rem;letter-spacing:.25em;font-weight:600}.tomoya-kicker{margin-bottom:16px}.tomoya-hero h1{font-size:clamp(5rem,11vw,11rem);line-height:.78;letter-spacing:-.045em;max-width:820px;margin:0 0 28px}.tomoya-hero h1 em{font-style:italic;font-family:var(--serif);font-weight:400}.tomoya-hero-copy>p:not(.tomoya-kicker){max-width:480px;font-size:1rem;line-height:1.7;color:rgba(255,255,255,.82)}.tomoya-hero-actions{display:flex;align-items:center;gap:28px;margin-top:28px}.tomoya-btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 26px;text-transform:uppercase;letter-spacing:.14em;font-size:.62rem;text-decoration:none;transition:.25s ease}.tomoya-btn-light{background:#f4efe7;color:#171513}.tomoya-btn-light:hover{background:#fff}.tomoya-btn-dark{background:#171513;color:#fff}.tomoya-btn-dark:hover{background:#7d2130}.tomoya-text-link{color:#fff;text-decoration:none;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase}.tomoya-hero-jp{position:absolute;right:5vw;top:18%;font-family:var(--serif);font-size:clamp(8rem,16vw,15rem);line-height:.8;color:rgba(255,255,255,.09);writing-mode:vertical-rl}.tomoya-hero-scroll{position:absolute;z-index:3;right:30px;bottom:25px;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.2em;font-size:.53rem;color:rgba(255,255,255,.75);display:flex;align-items:center;gap:12px}.tomoya-hero-scroll span{display:block;width:1px;height:60px;background:#fff}
.tomoya-intro{padding:145px 0 150px;background:#f4efe7}.tomoya-intro-grid{display:grid;grid-template-columns:120px 1fr;gap:65px;max-width:1180px}.tomoya-section-tag{display:flex;flex-direction:column;gap:12px;color:#7d2130}.tomoya-section-tag span{font-family:var(--serif);font-size:2.5rem}.tomoya-section-tag small{font-size:.54rem;letter-spacing:.18em}.tomoya-intro h2,.tomoya-menu-copy h2,.tomoya-section-head h2,.tomoya-events h2{font-size:clamp(3.8rem,7vw,8rem);line-height:.82;letter-spacing:-.045em;font-weight:500;margin:12px 0 30px}.tomoya-intro h2 em,.tomoya-menu-copy h2 em,.tomoya-section-head h2 em,.tomoya-events h2 em{font-family:var(--serif);font-style:italic;font-weight:400;color:#7d2130}.tomoya-copy{max-width:650px;color:#5f5a54;font-size:.95rem;line-height:1.9}.tomoya-line-link{display:inline-flex;gap:20px;align-items:center;margin-top:35px;color:#171513;text-decoration:none;font-size:.63rem;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid rgba(23,21,19,.35);padding-bottom:9px}.tomoya-line-link span{font-size:1rem}.tomoya-line-link.light{color:#fff;border-color:rgba(255,255,255,.45)}
.tomoya-menu-block{display:grid;grid-template-columns:1.1fr .9fr;min-height:760px;background:#e7ded2}.tomoya-menu-image{min-height:760px;overflow:hidden}.tomoya-menu-image img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.75)}.tomoya-menu-copy{padding:110px clamp(45px,7vw,120px);display:flex;flex-direction:column;justify-content:center}.tomoya-menu-copy>p:not(.tomoya-mini){max-width:500px;color:#625d57;line-height:1.8}.tomoya-category-list{margin:38px 0 32px;border-top:1px solid rgba(23,21,19,.22)}.tomoya-category-list a{display:grid;grid-template-columns:40px 1fr 20px;gap:14px;align-items:center;padding:18px 0;border-bottom:1px solid rgba(23,21,19,.22);text-decoration:none;color:#171513}.tomoya-category-list span{font-family:var(--serif);color:#7d2130}.tomoya-category-list strong{font-family:var(--serif);font-size:1.45rem;font-weight:500}.tomoya-category-list i{font-style:normal}.tomoya-category-list a:hover strong{color:#7d2130}
.tomoya-products{padding:145px 0;background:#f7f3ed}.tomoya-section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:65px}.tomoya-section-head .tomoya-line-link{margin-bottom:14px}.tomoya-product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.tomoya-product-card{background:#e9e1d6}.tomoya-product-card a{color:#171513;text-decoration:none}.tomoya-product-image{position:relative;aspect-ratio:1/1.12;overflow:hidden;background:#201e1b}.tomoya-product-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.72);transition:transform .8s cubic-bezier(.2,.7,.2,1)}.tomoya-product-card:hover .tomoya-product-image img{transform:scale(1.05)}.tomoya-product-image span{position:absolute;left:18px;top:16px;color:#fff;font:500 .58rem Manrope,sans-serif;letter-spacing:.16em}.tomoya-product-info{padding:20px 22px 25px;display:flex;justify-content:space-between;gap:20px;align-items:end}.tomoya-product-info small{font-size:.53rem;text-transform:uppercase;letter-spacing:.15em;color:#7d2130}.tomoya-product-info h3{font-family:var(--serif);font-size:1.9rem;font-weight:500;margin-top:5px}.tomoya-product-info i{font-style:normal;font-size:1.2rem}
.tomoya-philosophy{padding:150px 0;background:#7d2130;color:#fff;overflow:hidden}.tomoya-philosophy-inner{position:relative;text-align:center}.tomoya-philosophy .tomoya-mini{color:rgba(255,255,255,.65)}.tomoya-philosophy h2{font-size:clamp(4rem,8vw,9rem);line-height:.8;letter-spacing:-.05em;margin:20px auto 30px;position:relative;z-index:2}.tomoya-philosophy h2 em{font-family:var(--serif);font-style:italic;font-weight:400}.tomoya-philosophy p:last-child{max-width:560px;margin:0 auto;color:rgba(255,255,255,.72);line-height:1.8}.tomoya-philosophy-jp{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--serif);font-size:20rem;color:rgba(255,255,255,.055);white-space:nowrap}
.tomoya-locations{padding:145px 0;background:#f4efe7}.tomoya-copy.small{max-width:380px}.tomoya-location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.tomoya-location-card{min-height:300px;padding:32px;background:#e7ded2;color:#171513;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;transition:.3s ease}.tomoya-location-card:hover{transform:translateY(-5px);background:#ddd1c2}.tomoya-location-card.featured{background:#171513;color:#fff}.tomoya-location-card.featured:hover{background:#7d2130}.tomoya-location-card>span{font-family:var(--serif);color:#7d2130}.tomoya-location-card.featured>span{color:#c7aa6b}.tomoya-location-card h3{font-family:var(--serif);font-size:2.6rem;font-weight:500;margin-top:auto}.tomoya-location-card p{color:#6c665f;font-size:.78rem;line-height:1.6;margin:8px 0 25px}.tomoya-location-card.featured p{color:rgba(255,255,255,.65)}.tomoya-location-card strong{font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
.tomoya-events{padding:130px 0;background:#171513;color:#fff}.tomoya-events-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:center}.tomoya-events h2{max-width:950px}.tomoya-events>div:first-child>p:not(.tomoya-mini){max-width:620px;color:rgba(255,255,255,.65);line-height:1.8}.tomoya-events-side{min-height:470px;border:1px solid rgba(199,170,107,.5);display:flex;flex-direction:column;justify-content:flex-end;padding:35px;position:relative;overflow:hidden}.tomoya-events-side>span{position:absolute;right:35px;top:15px;font-family:var(--serif);font-size:12rem;color:rgba(199,170,107,.14)}.tomoya-events-side p{font-size:.62rem;letter-spacing:.2em;line-height:1.7}.tomoya-events-side a{color:#fff;text-decoration:none;font-size:.63rem;letter-spacing:.16em;text-transform:uppercase;margin-top:18px}
.tomoya-instagram{padding:120px 0 0;background:#e7ded2}.tomoya-instagram-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.tomoya-instagram-head h2{font-family:var(--serif);font-size:clamp(2.7rem,5vw,5.5rem);font-weight:500}.tomoya-instagram-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.tomoya-instagram-grid div{aspect-ratio:1;overflow:hidden}.tomoya-instagram-grid img{width:100%;height:100%;object-fit:cover;filter:saturate(.7);transition:transform .7s ease}.tomoya-instagram-grid div:hover img{transform:scale(1.05)}
.tomoya-footer{background:#11100f;color:#fff;padding:90px 0 28px}.tomoya-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:55px;padding-bottom:80px}.tomoya-footer-brand{font-family:var(--serif);font-size:4rem;line-height:.8}.tomoya-footer p{font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;color:#9a948c}.tomoya-footer h4{font-size:.57rem;letter-spacing:.2em;text-transform:uppercase;color:#c7aa6b;margin-bottom:20px}.tomoya-footer a{display:block;color:#e8e3dc;text-decoration:none;font-size:.72rem;margin:0 0 12px}.tomoya-footer a:hover{color:#c7aa6b}.tomoya-footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;display:flex;justify-content:space-between;color:#77716a;font-size:.58rem;letter-spacing:.06em}
@media(max-width:900px){.tomoya-nav{grid-template-columns:1fr auto}.tomoya-links{display:none}.tomoya-order{justify-self:end}.tomoya-base .nav-toggle{display:flex;margin-left:12px}.tomoya-hero h1{font-size:clamp(4.6rem,15vw,8rem)}.tomoya-intro-grid{grid-template-columns:70px 1fr;gap:35px}.tomoya-menu-block,.tomoya-events-grid{grid-template-columns:1fr}.tomoya-menu-image{min-height:500px}.tomoya-product-grid{grid-template-columns:repeat(2,1fr)}.tomoya-location-grid{grid-template-columns:1fr}.tomoya-footer-grid{grid-template-columns:1.5fr 1fr 1fr}.tomoya-footer-grid>div:last-child{grid-column:2}.tomoya-instagram-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.tomoya-nav{height:78px}.tomoya-brand span{font-size:2.5rem}.tomoya-order{display:none}.tomoya-hero-copy{padding-top:70px}.tomoya-hero h1{font-size:clamp(4rem,18vw,6.2rem)}.tomoya-hero-copy>p:not(.tomoya-kicker){font-size:.9rem;max-width:360px}.tomoya-hero-actions{gap:18px}.tomoya-hero-jp{right:-5px;font-size:7rem}.tomoya-intro,.tomoya-products,.tomoya-locations{padding:90px 0}.tomoya-intro-grid{display:block}.tomoya-section-tag{margin-bottom:35px}.tomoya-intro h2,.tomoya-menu-copy h2,.tomoya-section-head h2,.tomoya-events h2{font-size:3.6rem}.tomoya-menu-copy{padding:80px 25px}.tomoya-menu-image{min-height:430px}.tomoya-product-grid{grid-template-columns:1fr}.tomoya-section-head,.tomoya-instagram-head{display:block}.tomoya-section-head .tomoya-line-link,.tomoya-instagram-head .tomoya-line-link{margin-top:20px}.tomoya-philosophy{padding:100px 0}.tomoya-philosophy h2{font-size:4rem}.tomoya-philosophy-jp{font-size:10rem}.tomoya-events{padding:90px 0}.tomoya-events-side{min-height:360px;margin-top:25px}.tomoya-instagram{padding-top:90px}.tomoya-footer-grid{grid-template-columns:1fr 1fr;gap:35px}.tomoya-footer-grid>div:first-child{grid-column:1/-1}.tomoya-footer-grid>div:last-child{grid-column:auto}.tomoya-footer-bottom{display:block;line-height:1.8}}

/* V6 — Tomoya-inspired structural base: fixed oversized header + image-led editorial sections */
.tomoya-base .site-header.tomoya-header{
  position:fixed!important;top:0;left:0;right:0;height:132px;background:rgba(244,239,231,.96)!important;
  border-bottom:1px solid rgba(23,21,19,.12)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  z-index:1000;
}
.tomoya-base .tomoya-nav{height:132px;max-width:1440px;padding:0 42px;grid-template-columns:1fr auto 1fr;gap:50px}
.tomoya-base .tomoya-brand{color:#171513!important;justify-self:start}
.tomoya-base .tomoya-brand span{font-size:4.15rem;letter-spacing:-.075em;line-height:.72}
.tomoya-base .tomoya-brand small{font-size:.56rem;letter-spacing:.25em;margin-left:6px;color:#6c665f}
.tomoya-base .tomoya-links{gap:42px}
.tomoya-base .tomoya-links a,.tomoya-base .tomoya-order{color:#171513!important;font-size:.66rem;letter-spacing:.17em}
.tomoya-base .tomoya-links a:after{background:#7d2130}
.tomoya-base .tomoya-order{border-color:rgba(23,21,19,.42);padding:15px 25px;background:transparent}
.tomoya-base .tomoya-order:hover{background:#171513;color:#fff!important}

.tomoya-base .tomoya-hero{
  min-height:calc(100svh - 132px);margin-top:132px;background:#f4efe7;color:#171513;
  overflow:hidden;display:flex;align-items:center;position:relative;
}
.tomoya-base .tomoya-hero-image{display:none!important}
.tomoya-base .tomoya-hero-overlay{display:none!important}
.tomoya-base .tomoya-hero:before{content:"";position:absolute;right:-7vw;top:9%;width:46vw;height:46vw;border:1px solid rgba(125,33,48,.20);border-radius:50%}
.tomoya-base .tomoya-hero:after{content:"お菓子";position:absolute;right:8vw;top:14%;font-family:var(--serif);font-size:clamp(9rem,17vw,17rem);line-height:.75;color:rgba(125,33,48,.055);writing-mode:vertical-rl;pointer-events:none}
.tomoya-base .tomoya-hero-copy{min-height:calc(100svh - 132px);width:min(calc(100% - 84px),1440px);padding:105px 0 100px;margin:0 auto;justify-content:center;position:relative;z-index:2}
.tomoya-base .tomoya-kicker{color:#7d2130;font-size:.65rem;letter-spacing:.28em;margin-bottom:24px}
.tomoya-base .tomoya-hero h1{font-size:clamp(5.8rem,10vw,11rem);line-height:.77;letter-spacing:-.055em;max-width:980px;color:#171513;margin-bottom:35px}
.tomoya-base .tomoya-hero h1 em{color:#7d2130;font-style:italic}
.tomoya-base .tomoya-hero-copy>p:not(.tomoya-kicker){color:#625d57;max-width:510px;font-size:1rem;line-height:1.85}
.tomoya-base .tomoya-hero-actions{margin-top:34px}
.tomoya-base .tomoya-btn-light{background:#171513;color:#f4efe7}
.tomoya-base .tomoya-text-link{color:#171513;border-bottom:1px solid rgba(23,21,19,.35);padding-bottom:8px}
.tomoya-base .tomoya-hero-jp{right:23vw;top:28%;color:rgba(125,33,48,.07);font-size:clamp(8rem,13vw,13rem)}
.tomoya-base .tomoya-hero-scroll{color:#625d57;right:32px;bottom:32px}
.tomoya-base .tomoya-hero-scroll span{background:#7d2130}

/* Keep photography editorial, never as a full-page background. */
.tomoya-base .tomoya-menu-block{min-height:780px;grid-template-columns:1.05fr .95fr;background:#e7ded2}
.tomoya-base .tomoya-menu-image{min-height:780px;padding:42px;display:flex;align-items:stretch;background:#d9cdbf}
.tomoya-base .tomoya-menu-image img{object-position:center;filter:none;box-shadow:0 20px 60px rgba(23,21,19,.12)}
.tomoya-base .tomoya-menu-copy{padding:110px clamp(55px,8vw,130px)}

.tomoya-base .tomoya-intro{padding:160px 0 165px}
.tomoya-base .tomoya-intro-grid{max-width:1320px;grid-template-columns:130px 1fr;gap:75px}
.tomoya-base .tomoya-intro h2,.tomoya-base .tomoya-menu-copy h2,.tomoya-base .tomoya-section-head h2,.tomoya-base .tomoya-events h2{font-size:clamp(4.3rem,7.2vw,9rem)}
.tomoya-base .tomoya-products{padding:160px 0}
.tomoya-base .tomoya-product-grid{gap:5px}
.tomoya-base .tomoya-product-image{aspect-ratio:1/1.16}
.tomoya-base .tomoya-philosophy{padding:170px 0}
.tomoya-base .tomoya-locations{padding:160px 0}
.tomoya-base .tomoya-events{padding:145px 0}

@media(max-width:900px){
 .tomoya-base .site-header.tomoya-header{height:96px}
 .tomoya-base .tomoya-nav{height:96px;padding:0 24px}
 .tomoya-base .tomoya-brand span{font-size:3.1rem}
 .tomoya-base .tomoya-hero{margin-top:96px;min-height:calc(100svh - 96px)}
 .tomoya-base .tomoya-hero-copy{min-height:calc(100svh - 96px);width:min(calc(100% - 48px),1440px);padding-top:80px}
 .tomoya-base .tomoya-menu-image{padding:25px;min-height:500px}
}
@media(max-width:640px){
 .tomoya-base .site-header.tomoya-header{height:82px}
 .tomoya-base .tomoya-nav{height:82px;padding:0 18px}
 .tomoya-base .tomoya-brand span{font-size:2.7rem}
 .tomoya-base .tomoya-brand small{font-size:.46rem}
 .tomoya-base .tomoya-hero{margin-top:82px;min-height:calc(100svh - 82px)}
 .tomoya-base .tomoya-hero-copy{min-height:calc(100svh - 82px);width:calc(100% - 36px);padding:70px 0 70px}
 .tomoya-base .tomoya-hero h1{font-size:clamp(4.4rem,18vw,6.5rem)}
 .tomoya-base .tomoya-hero:after{right:-2vw;font-size:7rem}
 .tomoya-base .tomoya-intro{padding:100px 0}
 .tomoya-base .tomoya-menu-image{padding:16px;min-height:430px}
}

/* V11 — 1200px central canvas inspired by Tomoya */
@media (min-width: 1001px){
  .tomoya-base{
    --canvas: 1200px;
    background:#171513;
    min-height:100vh;
    position:relative;
  }
  .tomoya-base::before,
  .tomoya-base::after{
    content:"";
    position:fixed;
    z-index:0;
    top:0;
    bottom:0;
    width:calc((100vw - var(--canvas)) / 2);
    pointer-events:none;
    background-color:#ebe4d9;
    background-image:url('../assets/images/sakura-branch.svg');
    background-repeat:no-repeat;
    background-size:760px auto;
    background-position:left 20% center;
    opacity:.9;
  }
  .tomoya-base::before{left:0;}
  .tomoya-base::after{
    right:0;
    transform:scaleX(-1);
    background-position:left 76% center;
  }
  .tomoya-base .site-header.tomoya-header{
    width:var(--canvas);
    left:50%;
    right:auto;
    transform:translateX(-50%);
    box-shadow:0 10px 28px rgba(23,21,19,.08);
  }
  .tomoya-base .tomoya-nav{
    width:100%;
    max-width:none;
    padding:0 34px;
    grid-template-columns:1fr auto 1fr;
    gap:24px;
  }
  .tomoya-base main,
  .tomoya-base .tomoya-footer{
    width:var(--canvas);
    max-width:var(--canvas);
    margin-inline:auto;
    position:relative;
    z-index:1;
  }
  .tomoya-base .tomoya-hero{
    width:100%;
    margin-top:132px;
  }
  .tomoya-base .tomoya-hero-copy{
    width:calc(100% - 68px);
    max-width:none;
    padding-inline:0;
  }
  .tomoya-base .tomoya-hero h1{
    font-size:clamp(5rem,8vw,8.2rem);
    max-width:760px;
  }
  .tomoya-base .tomoya-hero:before{right:-16vw;}
  .tomoya-base .tomoya-hero:after{right:6vw;}
  .tomoya-base .tomoya-hero-jp{right:18vw;}
  .tomoya-base .tomoya-intro-grid,
  .tomoya-base .tomoya-section-head,
  .tomoya-base .tomoya-events-grid,
  .tomoya-base .tomoya-instagram-head{
    max-width:none;
  }
  .tomoya-base .container{
    width:calc(100% - 68px);
    max-width:none;
  }
  .tomoya-base .tomoya-menu-block{
    grid-template-columns:1fr;
  }
  .tomoya-base .tomoya-menu-image{
    min-height:560px;
  }
  .tomoya-base .tomoya-menu-copy{
    padding:85px 68px 95px;
  }
  .tomoya-base .tomoya-product-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .tomoya-base .tomoya-location-grid{
    grid-template-columns:1fr;
  }
  .tomoya-base .tomoya-events-grid{
    grid-template-columns:1fr;
    gap:55px;
  }
  .tomoya-base .tomoya-events-side{
    min-height:330px;
  }
  .tomoya-base .tomoya-instagram-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .tomoya-base .tomoya-footer-grid{
    grid-template-columns:1.4fr 1fr 1fr 1fr;
  }
}


/* V13.1 — enlarged Okasan brand header */
.unified-site-header{
  position:fixed!important;
  top:0!important;
  left:50%!important;
  right:auto!important;
  width:min(1200px,100%)!important;
  transform:translateX(-50%)!important;
  height:112px;
  z-index:1000!important;
  background:rgba(244,239,230,.97)!important;
  border-bottom:1px solid rgba(23,23,23,.10)!important;
  box-shadow:0 10px 30px rgba(23,21,19,.06);
  backdrop-filter:blur(14px);
}
.unified-nav{
  width:100%!important;
  max-width:none!important;
  height:112px;
  padding:0 34px;
  display:grid!important;
  grid-template-columns:230px 1fr auto;
  align-items:center;
  gap:24px;
}
.unified-brand{display:flex;align-items:center;width:315px;height:auto;text-decoration:none}
.unified-brand img{display:block;width:100%;height:auto;max-height:105px;object-fit:contain;object-position:left center}
.unified-links{display:flex!important;align-items:center;justify-content:flex-end;gap:31px;margin-left:auto}
.unified-links a{font-family:"Baramond",var(--serif);font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase;font-weight:400;position:relative;white-space:nowrap;color:var(--ink)}
.unified-links a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--gold);transition:.25s}
.unified-links a:not(.nav-cta):hover::after{right:0}
.unified-links .nav-cta{background:var(--ink);color:var(--paper);padding:14px 25px;letter-spacing:.09em;font-family:"Baramond",var(--serif)}
.unified-links .nav-cta:hover{background:var(--red)}
.unified-site-header .nav-toggle{display:none}
.tomoya-base .unified-site-header{position:fixed!important;background:rgba(244,239,230,.97)!important}
.tomoya-base .unified-nav{height:142px!important;padding:0 34px!important;display:grid!important;grid-template-columns:230px 1fr auto!important}
.tomoya-base .unified-brand{justify-self:start;color:var(--ink)}
.tomoya-base .unified-links{justify-content:flex-end!important;gap:38px!important}

@media(max-width:980px){
  .unified-site-header{height:92px}
  .unified-nav,.tomoya-base .unified-nav{height:108px!important;padding:0 24px!important;grid-template-columns:245px 1fr auto!important}
  .unified-brand{width:235px}
  .unified-links{gap:18px!important}
  .unified-links a{font-size:.82rem}
  .unified-links .nav-cta{padding:12px 17px}
}
@media(max-width:760px){
  .unified-site-header{height:82px}
  .unified-nav,.tomoya-base .unified-nav{height:82px!important;padding:0 18px!important;grid-template-columns:1fr auto!important}
  .unified-brand{width:190px}
  .unified-links{position:fixed!important;inset:82px 0 0!important;background:var(--paper)!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;padding:40px 24px!important;gap:25px!important;margin:0!important;transform:translateX(100%);transition:.35s!important;overflow:auto}
  .unified-links.open{transform:none!important}
  .unified-links a{font-family:"Baramond",var(--serif);font-size:1rem;letter-spacing:.06em}
  .unified-links .nav-cta{padding:13px 22px}
  .unified-site-header .nav-toggle{display:block!important;background:none;border:0;width:42px;height:42px}
  .unified-site-header .nav-toggle span{display:block;height:1px;background:var(--ink);margin:6px 4px}
}

/* V13 — single-page navigation */
html{scroll-behavior:smooth;scroll-padding-top:112px}
.tomoya-base main section[id]{scroll-margin-top:112px}
.tomoya-base .tomoya-buy-section{padding:150px 0 160px;background:#efe7dc}
.tomoya-base .tomoya-contact-section{padding:150px 0;background:#f7f1e8}
.tomoya-base .tomoya-contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:center}
.tomoya-base .tomoya-contact-section h2,.tomoya-base .tomoya-buy-section h2{font-size:clamp(4rem,6.5vw,7.5rem);line-height:.86;letter-spacing:-.045em;margin:15px 0 30px}
.tomoya-base .tomoya-contact-card{border-top:1px solid rgba(23,21,19,.22)}
.tomoya-base .tomoya-contact-card a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;border-bottom:1px solid rgba(23,21,19,.18);text-decoration:none;color:var(--ink)}
.tomoya-base .tomoya-contact-card span{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:#777067}
.tomoya-base .tomoya-contact-card strong{font-family:var(--serif);font-size:1.35rem;font-weight:500}
.tomoya-base .tomoya-buy-grid{grid-template-columns:repeat(3,1fr)!important}
@media(max-width:900px){
  html{scroll-padding-top:92px}
  .tomoya-base main section[id]{scroll-margin-top:92px}
  .tomoya-base .tomoya-contact-grid{grid-template-columns:1fr;gap:55px}
  .tomoya-base .tomoya-buy-grid{grid-template-columns:1fr!important}
  .tomoya-base .tomoya-contact-section,.tomoya-base .tomoya-buy-section{padding:100px 0}
}
@media(max-width:760px){
  html{scroll-padding-top:82px}
  .tomoya-base main section[id]{scroll-margin-top:82px}
  .tomoya-base .tomoya-contact-section h2,.tomoya-base .tomoya-buy-section h2{font-size:clamp(3.4rem,15vw,5.4rem)}
}

/* V13.2 — fix unified header layout and prevent logo/nav overlap */
.tomoya-base .unified-site-header{
  height:132px!important;
  overflow:visible;
}
.tomoya-base .unified-nav{
  height:132px!important;
  grid-template-columns:315px minmax(0,1fr) auto!important;
  gap:28px!important;
  padding:0 34px!important;
  box-sizing:border-box;
}
.tomoya-base .unified-brand{
  width:315px!important;
  min-width:315px!important;
  max-width:315px!important;
  overflow:visible;
}
.tomoya-base .unified-brand img{
  width:315px!important;
  max-width:315px!important;
  max-height:112px!important;
  object-fit:contain;
}
.tomoya-base .unified-links{
  min-width:0;
  gap:28px!important;
  justify-content:flex-end!important;
}
.tomoya-base .unified-links a{
  flex:0 0 auto;
  font-size:1.16rem!important;
  letter-spacing:.07em!important;
}
.tomoya-base .unified-links .nav-cta{
  padding:14px 24px!important;
}
html{scroll-padding-top:132px}
.tomoya-base main section[id]{scroll-margin-top:132px}

@media(max-width:980px){
  .tomoya-base .unified-site-header{height:96px!important}
  .tomoya-base .unified-nav{height:96px!important;grid-template-columns:245px minmax(0,1fr) auto!important;padding:0 24px!important}
  .tomoya-base .unified-brand{width:235px!important;min-width:235px!important;max-width:235px!important}
  .tomoya-base .unified-brand img{width:235px!important;max-width:235px!important;max-height:82px!important}
  .tomoya-base .unified-links{gap:18px!important}
  .tomoya-base .unified-links a{font-size:.82rem!important}
  html{scroll-padding-top:96px}
  .tomoya-base main section[id]{scroll-margin-top:96px}
}

@media(max-width:760px){
  .tomoya-base .unified-site-header{height:82px!important}
  .tomoya-base .unified-nav{height:82px!important;grid-template-columns:1fr auto!important;padding:0 18px!important}
  .tomoya-base .unified-brand{width:190px!important;min-width:190px!important;max-width:190px!important}
  .tomoya-base .unified-brand img{width:190px!important;max-width:190px!important;max-height:68px!important}
  html{scroll-padding-top:82px}
  .tomoya-base main section[id]{scroll-margin-top:82px}
}

/* V13.4 — stable browser-safe header typography */
.tomoya-base .unified-links a,
.tomoya-base .unified-links .nav-cta{
  /* Do not load the extracted Baramond webfont here: it is corrupt in Chrome. */
  font-family: Georgia, "Times New Roman", Times, serif!important;
  font-variant-ligatures: normal!important;
  font-feature-settings: normal!important;
  font-synthesis: none!important;
  text-rendering: optimizeLegibility;
}
.tomoya-base .unified-links a{
  font-size:1.08rem!important;
  letter-spacing:.035em!important;
  line-height:1.1!important;
}
.tomoya-base .unified-links{gap:25px!important}
.tomoya-base .unified-nav{grid-template-columns:300px minmax(0,1fr) auto!important;gap:24px!important}
.tomoya-base .unified-brand{width:300px!important;min-width:300px!important;max-width:300px!important}
.tomoya-base .unified-brand img{width:300px!important;max-width:300px!important}
.tomoya-base .unified-links .nav-cta{padding:13px 21px!important;letter-spacing:.035em!important}
@media(max-width:980px){
  .tomoya-base .unified-nav{grid-template-columns:235px minmax(0,1fr) auto!important}
  .tomoya-base .unified-brand{width:225px!important;min-width:225px!important;max-width:225px!important}
  .tomoya-base .unified-brand img{width:225px!important;max-width:225px!important}
  .tomoya-base .unified-links{gap:14px!important}
  .tomoya-base .unified-links a{font-size:.78rem!important;letter-spacing:.025em!important}
}


/* V13.5 — Baramond Roman webfont (clean web build) */
@font-face{
  font-family:"OkasanBaramondWeb";
  src:url("https://db.onlinewebfonts.com/t/bc4e3771a313d618eb3f3692628538ac.woff2") format("woff2"),
      url("https://db.onlinewebfonts.com/t/bc4e3771a313d618eb3f3692628538ac.woff") format("woff");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
.tomoya-base .unified-links a,
.tomoya-base .unified-links .nav-cta{
  font-family:"OkasanBaramondWeb",Georgia,"Times New Roman",serif!important;
  font-style:normal!important;
  font-weight:400!important;
  font-synthesis:none!important;
  font-variant-ligatures:none!important;
  text-transform:none!important;
  text-rendering:optimizeLegibility;
}
.tomoya-base .unified-links a{font-size:1.10rem!important;letter-spacing:.025em!important;line-height:1!important}
.tomoya-base .unified-links{gap:27px!important}
.tomoya-base .unified-links .nav-cta{padding:13px 22px!important;letter-spacing:.02em!important}
@media(max-width:980px){.tomoya-base .unified-links a{font-size:.80rem!important}.tomoya-base .unified-links{gap:15px!important}}


/* V13.6 — new Okasan Sakura Brown header logo */
.tomoya-base .unified-site-header{
  height:160px!important;
}
.tomoya-base .unified-nav{
  height:160px!important;
  grid-template-columns:210px minmax(0,1fr) auto!important;
  gap:30px!important;
  align-items:center!important;
}
.tomoya-base .unified-brand{
  width:210px!important;
  min-width:210px!important;
  max-width:210px!important;
  height:150px!important;
  display:flex!important;
  align-items:center!important;
}
.tomoya-base .unified-brand img{
  display:block!important;
  width:210px!important;
  max-width:210px!important;
  height:auto!important;
  max-height:150px!important;
  object-fit:contain!important;
  object-position:center!important;
}
.tomoya-base .unified-links{
  align-self:center!important;
}
html{scroll-padding-top:160px}
.tomoya-base main section[id]{scroll-margin-top:160px}

@media(max-width:980px){
  .tomoya-base .unified-site-header{height:104px!important}
  .tomoya-base .unified-nav{height:104px!important;grid-template-columns:150px minmax(0,1fr) auto!important;padding:0 24px!important;gap:18px!important}
  .tomoya-base .unified-brand{width:150px!important;min-width:150px!important;max-width:150px!important;height:94px!important}
  .tomoya-base .unified-brand img{width:150px!important;max-width:150px!important;max-height:94px!important}
  html{scroll-padding-top:104px}
  .tomoya-base main section[id]{scroll-margin-top:104px}
}

@media(max-width:760px){
  .tomoya-base .unified-site-header{height:82px!important}
  .tomoya-base .unified-nav{height:82px!important;grid-template-columns:1fr auto!important;padding:0 18px!important}
  .tomoya-base .unified-brand{width:125px!important;min-width:125px!important;max-width:125px!important;height:72px!important}
  .tomoya-base .unified-brand img{width:125px!important;max-width:125px!important;max-height:72px!important}
  html{scroll-padding-top:82px}
  .tomoya-base main section[id]{scroll-margin-top:82px}
}

/* V13.7 — larger Sakura logo + proportional desktop navigation */
.tomoya-base .unified-site-header{height:190px!important}
.tomoya-base .unified-nav{
  height:190px!important;
  grid-template-columns:275px minmax(0,1fr) auto!important;
  gap:28px!important;
  padding:0 30px!important;
}
.tomoya-base .unified-brand{
  width:275px!important;
  min-width:275px!important;
  max-width:275px!important;
  height:184px!important;
}
.tomoya-base .unified-brand img{
  width:275px!important;
  max-width:275px!important;
  max-height:184px!important;
}
.tomoya-base .unified-links{
  gap:32px!important;
}
.tomoya-base .unified-links a{
  font-size:1.30rem!important;
  letter-spacing:.025em!important;
  line-height:1!important;
}
.tomoya-base .unified-links .nav-cta{
  padding:15px 25px!important;
  letter-spacing:.025em!important;
}
html{scroll-padding-top:190px}
.tomoya-base main section[id]{scroll-margin-top:190px}

@media(max-width:980px){
  .tomoya-base .unified-site-header{height:104px!important}
  .tomoya-base .unified-nav{height:104px!important;grid-template-columns:150px minmax(0,1fr) auto!important;padding:0 24px!important;gap:18px!important}
  .tomoya-base .unified-brand{width:150px!important;min-width:150px!important;max-width:150px!important;height:94px!important}
  .tomoya-base .unified-brand img{width:150px!important;max-width:150px!important;max-height:94px!important}
  .tomoya-base .unified-links{gap:15px!important}
  .tomoya-base .unified-links a{font-size:.80rem!important}
  html{scroll-padding-top:104px}
  .tomoya-base main section[id]{scroll-margin-top:104px}
}

/* V13.8 — Sakura photo motif in header + side margins */
@media (min-width:1001px){
  .tomoya-base .unified-site-header{
    overflow:hidden!important;
    isolation:isolate;
  }
  .tomoya-base .unified-site-header::before,
  .tomoya-base .unified-site-header::after{
    content:"";
    position:absolute;
    z-index:0;
    pointer-events:none;
    background-image:url('../assets/images/sakura-branch-photo.png');
    background-repeat:no-repeat;
    background-size:520px auto;
    opacity:.20;
  }
  .tomoya-base .unified-site-header::before{
    width:420px;
    height:190px;
    left:-170px;
    top:-105px;
    transform:rotate(-3deg);
  }
  .tomoya-base .unified-site-header::after{
    width:460px;
    height:190px;
    right:-175px;
    top:-55px;
    transform:scaleX(-1) rotate(-2deg);
  }
  .tomoya-base .unified-nav{position:relative;z-index:2}

  .tomoya-base::before,
  .tomoya-base::after{
    background-image:url('../assets/images/sakura-branch-photo.png');
    background-size:520px auto;
    opacity:.34;
  }
  .tomoya-base::before{background-position:left 18% center}
  .tomoya-base::after{background-position:right 72% center}

  .tomoya-base .unified-links{gap:38px!important}
  .tomoya-base .unified-links a{font-size:1.42rem!important;letter-spacing:.028em!important}
  .tomoya-base .unified-links .nav-cta{padding:16px 27px!important}
}

/* V13.9 — organic sakura treatment, lighter outer canvas, clean logo zone */
@media (min-width:1001px){
  .tomoya-base{
    background:#f0ebe3!important;
  }

  /* Outer margins: light paper tone + bespoke elongated branches */
  .tomoya-base::before,
  .tomoya-base::after{
    background-color:#f0ebe3!important;
    background-repeat:no-repeat!important;
    background-size:520px auto!important;
    opacity:1!important;
  }
  .tomoya-base::before{
    background-image:url('../assets/images/sakura-side-left.svg')!important;
    background-position:76% center!important;
  }
  .tomoya-base::after{
    background-image:url('../assets/images/sakura-side-right.svg')!important;
    background-position:24% center!important;
    transform:none!important;
  }

  /* Header: keep the logo area visually clean; sakura lives in the outer right zones */
  .tomoya-base .unified-site-header{
    background:rgba(244,239,230,.985)!important;
    overflow:hidden!important;
  }
  .tomoya-base .unified-site-header::before,
  .tomoya-base .unified-site-header::after{
    content:"";
    position:absolute;
    z-index:0;
    pointer-events:none;
    background-repeat:no-repeat;
  }
  .tomoya-base .unified-site-header::before{
    width:430px;
    height:210px;
    right:-105px;
    top:-22px;
    background-image:url('../assets/images/sakura-header-right.svg');
    background-size:430px auto;
    opacity:.25;
    transform:rotate(-2deg);
  }
  .tomoya-base .unified-site-header::after{
    width:250px;
    height:120px;
    right:210px;
    bottom:-46px;
    background-image:url('../assets/images/sakura-header-left.svg');
    background-size:250px auto;
    opacity:.12;
    transform:scaleX(-1) rotate(4deg);
  }
  .tomoya-base .unified-nav{position:relative;z-index:2}

  /* Slightly larger header words, while keeping the CTA proportional */
  .tomoya-base .unified-links{gap:36px!important}
  .tomoya-base .unified-links a{
    font-size:1.48rem!important;
    letter-spacing:.026em!important;
  }
  .tomoya-base .unified-links .nav-cta{
    padding:16px 27px!important;
  }
}

@media (max-width:1000px){
  .tomoya-base{background:#f0ebe3!important}
}

/* V14 — use the user's original sakura artwork, transformed into varied natural crops */
@media (min-width:1001px){
  /* Keep the V13.9 outer paper tone exactly as approved. */
  .tomoya-base{
    background:#f0ebe3!important;
  }
  .tomoya-base::before,
  .tomoya-base::after{
    background-color:#f0ebe3!important;
    background-image:url('../assets/images/sakura-original-cutout.png')!important;
    background-repeat:no-repeat!important;
    opacity:.78!important;
  }
  .tomoya-base::before{
    background-size:520px auto!important;
    background-position:58% 34%!important;
  }
  .tomoya-base::after{
    background-size:450px auto!important;
    background-position:42% 70%!important;
    transform:scaleX(-1)!important;
  }

  /* Header: no sakura behind the logo. Two asymmetric corner compositions only. */
  .tomoya-base .unified-site-header{
    background:rgba(244,239,230,.985)!important;
    overflow:hidden!important;
    isolation:isolate!important;
  }
  .tomoya-base .unified-site-header::before,
  .tomoya-base .unified-site-header::after{
    content:"";
    position:absolute;
    z-index:0;
    pointer-events:none;
    background-image:url('../assets/images/sakura-original-cutout.png')!important;
    background-repeat:no-repeat!important;
  }
  .tomoya-base .unified-site-header::before{
    width:360px;
    height:132px;
    right:-34px;
    top:-16px;
    background-size:500px auto!important;
    background-position:58% 42%!important;
    opacity:.56!important;
    transform:rotate(-7deg)!important;
  }
  .tomoya-base .unified-site-header::after{
    width:285px;
    height:118px;
    right:210px;
    bottom:-34px;
    background-size:405px auto!important;
    background-position:62% 58%!important;
    opacity:.34!important;
    transform:scaleX(-1) rotate(8deg)!important;
  }
  .tomoya-base .unified-nav{position:relative;z-index:2}

  .tomoya-base .unified-links{gap:36px!important}
  .tomoya-base .unified-links a{
    font-size:1.48rem!important;
    letter-spacing:.026em!important;
  }
  .tomoya-base .unified-links .nav-cta{padding:16px 27px!important}
}

/* V15 — visual language taken directly from the supplied Okasan menu artwork */
@media (min-width:1001px){
  /* The approved warm outer paper stays exactly as in V13.9/V14. */
  .tomoya-base{background:#f0ebe3!important;}

  /* SIDE MARGINS: same watercolor / botanical language as the supplied menu.
     Left = soft pink wash + gold leaf; right = sakura + seigaiha-style wash. */
  .tomoya-base::before,
  .tomoya-base::after{
    background-color:#f0ebe3!important;
    background-repeat:no-repeat!important;
    opacity:1!important;
    transform:none!important;
  }
  .tomoya-base::before{
    background-image:url('../assets/images/menu-header-left.png'), url('../assets/images/menu-side-left.png')!important;
    background-size:260px auto, 270px auto!important;
    background-position:left -18px top 10px, left -10px bottom 0!important;
  }
  .tomoya-base::after{
    background-image:url('../assets/images/menu-gold-arc.png'), url('../assets/images/menu-side-right.png')!important;
    background-size:210px auto, 285px auto!important;
    background-position:right -34px top -8px, right -16px bottom -4px!important;
  }

  /* HEADER: use the exact decorative language of the menu, but keep the logo zone clean. */
  .tomoya-base .unified-site-header{
    background:rgba(244,239,230,.985)!important;
    overflow:hidden!important;
    isolation:isolate!important;
  }
  .tomoya-base .unified-site-header::before,
  .tomoya-base .unified-site-header::after{
    content:"";
    position:absolute;
    z-index:0;
    pointer-events:none;
    background-repeat:no-repeat!important;
  }

  /* Left decoration sits outside the logo footprint. */
  .tomoya-base .unified-site-header::before{
    width:185px;
    height:120px;
    left:-28px;
    top:-10px;
    background-image:url('../assets/images/menu-header-left.png')!important;
    background-size:225px auto!important;
    background-position:left top!important;
    opacity:.58!important;
    transform:scaleX(-1) rotate(-2deg)!important;
  }

  /* Right corner combines the gold brush arc + the small flowering branch. */
  .tomoya-base .unified-site-header::after{
    width:255px;
    height:175px;
    right:-22px;
    top:-8px;
    background-image:url('../assets/images/menu-gold-arc.png'), url('../assets/images/menu-header-right-branch.png')!important;
    background-size:190px auto, 145px auto!important;
    background-position:right -8px top -4px, right 4px bottom -8px!important;
    opacity:.58!important;
  }

  /* Keep logo + navigation above decoration; no sakura crosses the logo itself. */
  .tomoya-base .unified-nav{position:relative;z-index:2!important;}
  .tomoya-base .unified-brand{position:relative;z-index:3!important;}

  /* Header typography stays at the previously approved scale. */
  .tomoya-base .unified-links{gap:36px!important}
  .tomoya-base .unified-links a{font-size:1.48rem!important;letter-spacing:.026em!important}
  .tomoya-base .unified-links .nav-cta{padding:16px 27px!important}
}

@media (max-width:1000px){
  .tomoya-base{background:#f0ebe3!important}
}


/* V17 — side margins refined from V15. Header intentionally untouched. */
@media (min-width:1001px){
  .tomoya-base::before,
  .tomoya-base::after{
    background-color:#f0ebe3!important;
    background-repeat:no-repeat!important;
    opacity:1!important;
    transform:none!important;
    background-size:620px auto!important;
  }
  .tomoya-base::before{
    background-image:url('../assets/images/menu-side-left-integrated.png')!important;
    background-position:left top!important;
  }
  .tomoya-base::after{
    background-image:url('../assets/images/menu-side-right-integrated.png')!important;
    background-position:right top!important;
  }
}

/* V18 — side margins: preserve V15 artwork, extend it naturally through the margins.
   Header intentionally untouched. */
@media (min-width:1001px){
  .tomoya-base::before,
  .tomoya-base::after{
    background-color:#f0ebe3!important;
    background-repeat:no-repeat!important;
    opacity:1!important;
    transform:none!important;
  }

  /* Left: original V15 top + a larger, softer middle flowering branch + original wash below. */
  .tomoya-base::before{
    background-image:
      url('../assets/images/menu-header-left.png'),
      url('../assets/images/menu-header-left.png'),
      url('../assets/images/menu-side-left.png')!important;
    background-size:
      275px auto,
      245px auto,
      285px auto!important;
    background-position:
      left -18px top 10px,
      left -72px 47%,
      left -12px bottom -2px!important;
  }

  /* Right: original gold arc + flowering branch at top, a subtle branch through the middle,
     and the original watercolor/seigaiha treatment below. */
  .tomoya-base::after{
    background-image:
      url('../assets/images/menu-gold-arc.png'),
      url('../assets/images/menu-header-right-branch.png'),
      url('../assets/images/menu-header-right-branch.png'),
      url('../assets/images/menu-side-right.png')!important;
    background-size:
      210px auto,
      150px auto,
      205px auto,
      300px auto!important;
    background-position:
      right -34px top -8px,
      right 4px top 175px,
      right -74px 54%,
      right -16px bottom -4px!important;
  }
}

/* V19 — final side-margin refinement requested by client.
   Header remains untouched. Preserve V15 artwork; only remove the lower-left leaf
   and gently continue the existing right-side artwork using the same source motifs. */
@media (min-width:1001px){
  .tomoya-base::before,
  .tomoya-base::after{
    background-color:#f0ebe3!important;
    background-repeat:no-repeat!important;
    opacity:1!important;
    transform:none!important;
  }

  /* Left: top corner exactly as approved; lower corner keeps the same wash/border,
     with only the marked leaf removed. No extra left-side elements. */
  .tomoya-base::before{
    background-image:
      url('../assets/images/menu-header-left.png'),
      url('../assets/images/menu-side-left-clean.png')!important;
    background-size:
      275px auto,
      285px auto!important;
    background-position:
      left -18px top 10px,
      left -12px bottom -2px!important;
  }

  /* Right: original top and bottom artwork stay in their original positions.
     The extra layers are the same motifs, reduced in opacity, simply continuing
     the existing visual language into the surrounding margin. */
  .tomoya-base::after{
    background-image:
      url('../assets/images/menu-gold-arc.png'),
      url('../assets/images/menu-header-right-branch.png'),
      url('../assets/images/menu-header-right-branch-fill.png'),
      url('../assets/images/menu-side-right.png'),
      url('../assets/images/menu-side-right-fill.png')!important;
    background-size:
      210px auto,
      150px auto,
      190px auto,
      300px auto,
      245px auto!important;
    background-position:
      right -34px top -8px,
      right 4px top 175px,
      right -92px top 92px,
      right -16px bottom -4px,
      right 54px 72%!important;
  }
}

/* V20 — mirror the approved left lateral artwork onto the right lateral.
   Header and all central content remain untouched. */
@media (min-width:1001px){
  .tomoya-base::after{
    background-color:#f0ebe3!important;
    background-repeat:no-repeat!important;
    opacity:1!important;
    transform:none!important;
    background-image:
      url('../assets/images/menu-header-left-mirror.png'),
      url('../assets/images/menu-side-left-clean-mirror.png')!important;
    background-size:
      275px auto,
      285px auto!important;
    background-position:
      right -18px top 10px,
      right -12px bottom -2px!important;
  }
}


/* V22 — Hero simplified: one brand message, then directly to Carta.
   Header, side margins and all other sections remain untouched. */
.tomoya-base .tomoya-hero-copy{
  justify-content:center!important;
  padding-top:90px!important;
  padding-bottom:90px!important;
}
.tomoya-base .tomoya-hero-lead{
  position:relative;
  z-index:3;
  max-width:860px!important;
  color:#171513!important;
  font-family:var(--serif)!important;
  font-size:clamp(2.35rem,4.2vw,4.35rem)!important;
  line-height:1.05!important;
  letter-spacing:-.025em!important;
  margin:0 0 34px!important;
}
.tomoya-base .tomoya-hero-lead em{
  color:#7d2130!important;
  font-style:italic;
}
.tomoya-base .tomoya-hero-description{
  position:relative;
  z-index:3;
  max-width:820px!important;
  color:#2f2a27!important;
  font-family:var(--serif)!important;
  font-size:clamp(1.25rem,1.75vw,1.62rem)!important;
  font-weight:650!important;
  line-height:1.6!important;
  text-align:justify!important;
  text-justify:inter-word!important;
  margin:0 0 28px!important;
}
.tomoya-base .tomoya-hero-description strong{color:#171513;font-weight:700}
.tomoya-base .tomoya-hero-signature{
  position:relative;
  z-index:3;
  max-width:760px!important;
  color:#2f2a27!important;
  font-family:var(--serif)!important;
  font-size:clamp(1.2rem,1.65vw,1.5rem)!important;
  font-weight:650!important;
  line-height:1.5!important;
  text-align:justify!important;
  text-justify:inter-word!important;
  margin:0!important;
}
.tomoya-base .tomoya-hero-brand{display:none!important}
.tomoya-base .tomoya-hero-actions{display:none!important}
.tomoya-base .tomoya-kicker{display:none!important}
.tomoya-base .tomoya-hero h1{display:none!important}
@media(max-width:640px){
  .tomoya-base .tomoya-hero-copy{padding-top:65px!important;padding-bottom:65px!important}
  .tomoya-base .tomoya-hero-lead{font-size:2.05rem!important;line-height:1.08!important;margin-bottom:28px!important}
  .tomoya-base .tomoya-hero-description{font-size:1.12rem!important;line-height:1.55!important}
  .tomoya-base .tomoya-hero-signature{font-size:1.08rem!important}
}

/* V25 — Hero typography direction: rounded, geometric, contemporary Japanese feel. */
@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@600;700&display=swap');
.tomoya-base .tomoya-hero-lead,
.tomoya-base .tomoya-hero-description,
.tomoya-base .tomoya-hero-signature{
  font-family:'Nunito Sans', var(--sans), Arial, sans-serif!important;
  color:#292522!important;
}
.tomoya-base .tomoya-hero-lead{font-weight:700!important;letter-spacing:-.018em!important}
.tomoya-base .tomoya-hero-description,
.tomoya-base .tomoya-hero-signature{font-weight:600!important}


/* V27 — Hero uses the same stable Baramond webfont already used by the header.
   The extracted TTF from the artwork had a malformed glyph mapping, so it is not
   used for live text. The header's webfont is the reliable browser-safe source. */
.tomoya-base .tomoya-hero-lead,
.tomoya-base .tomoya-hero-description,
.tomoya-base .tomoya-hero-signature{
  font-family:"OkasanBaramondWeb", Georgia, "Times New Roman", serif!important;
  color:#25221f!important;
  font-synthesis:weight!important;
  font-style:normal!important;
  font-variant-ligatures:none!important;
  text-rendering:optimizeLegibility;
}
.tomoya-base .tomoya-hero-lead{
  font-weight:500!important;
  letter-spacing:-.008em!important;
}
.tomoya-base .tomoya-hero-description,
.tomoya-base .tomoya-hero-signature{
  font-weight:500!important;
}
.tomoya-base .tomoya-hero-description{
  text-align:justify!important;
}
.tomoya-base .tomoya-hero-signature{
  text-align:justify!important;
}

/* V28 — Carta completa basada en la carta vigente entregada por Okasan */
.tomoya-base .okasan-carta{background:#f4efe7;color:#171513}
.tomoya-base .okasan-carta-intro{display:grid;grid-template-columns:1fr 1fr;min-height:650px;background:#e7ded2}
.tomoya-base .okasan-carta-visual{padding:52px;display:flex;align-items:center;justify-content:center;background:#ddd1c2}
.tomoya-base .okasan-carta-visual img{width:100%;max-height:610px;object-fit:cover;object-position:center top;box-shadow:0 24px 60px rgba(23,21,19,.14)}
.tomoya-base .okasan-carta-heading{padding:100px 78px;display:flex;flex-direction:column;justify-content:center}
.tomoya-base .okasan-carta-heading h2{font-size:clamp(4rem,6.2vw,7.2rem);line-height:.86;margin:0 0 30px;letter-spacing:-.045em}
.tomoya-base .okasan-carta-heading h2 em{color:#7d2130;font-style:italic}
.tomoya-base .okasan-carta-heading>p:not(.tomoya-mini){max-width:470px;color:#625d57;line-height:1.8;margin:0 0 34px}
.tomoya-base .okasan-carta-pricing{padding:115px 68px 135px}
.tomoya-base .okasan-carta-section{padding:0 0 88px;margin:0 0 88px;border-bottom:1px solid rgba(23,21,19,.16)}
.tomoya-base .okasan-carta-section:last-child{margin-bottom:0;border-bottom:0;padding-bottom:0}
.tomoya-base .okasan-carta-section-head{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:20px;align-items:end;margin-bottom:38px}
.tomoya-base .okasan-carta-section-head>span{font-family:var(--serif);font-size:1.05rem;color:#7d2130;padding-bottom:8px}
.tomoya-base .okasan-carta-section-head h3{font-family:var(--serif);font-size:clamp(3rem,5vw,5.2rem);font-weight:400;line-height:.9;margin:5px 0 0;letter-spacing:-.035em}
.tomoya-base .okasan-carta-note{max-width:290px;color:#756e67;font-size:.82rem;line-height:1.55;margin:0 0 5px;text-align:right}
.tomoya-base .okasan-carta-flavors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(23,21,19,.18)}
.tomoya-base .okasan-carta-flavors article,.tomoya-base .okasan-traditional-grid article{padding:18px 12px 18px 0;border-bottom:1px solid rgba(23,21,19,.13);display:flex;flex-direction:column;gap:5px}
.tomoya-base .okasan-carta-flavors article:nth-child(odd){padding-right:30px;border-right:1px solid rgba(23,21,19,.13)}
.tomoya-base .okasan-carta-flavors article:nth-child(even){padding-left:30px}
.tomoya-base .okasan-carta-flavors b,.tomoya-base .okasan-traditional-grid b{font-family:var(--serif);font-size:1.2rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em}
.tomoya-base .okasan-carta-flavors span,.tomoya-base .okasan-traditional-grid span{font-size:.78rem;line-height:1.45;color:#756e67}
.tomoya-base .okasan-price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(23,21,19,.16);margin-top:38px;border:1px solid rgba(23,21,19,.16)}
.tomoya-base .okasan-price-grid>div{background:#f4efe7;padding:19px 16px;display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:baseline}
.tomoya-base .okasan-price-grid strong{font-family:var(--serif);font-size:1.55rem;font-weight:400;color:#7d2130}
.tomoya-base .okasan-price-grid span{font-size:.76rem;color:#756e67}
.tomoya-base .okasan-price-grid b{grid-column:1/-1;font-family:var(--serif);font-size:1.35rem;font-weight:500;margin-top:6px}
.tomoya-base .okasan-carta-duo{padding-bottom:80px}
.tomoya-base .okasan-traditional-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(23,21,19,.18)}
.tomoya-base .okasan-traditional-grid article{padding-right:24px;border-right:1px solid rgba(23,21,19,.13)}
.tomoya-base .okasan-traditional-grid article:last-child{border-right:0;padding-right:0}
.tomoya-base .okasan-traditional-grid article:not(:first-child){padding-left:24px}
.tomoya-base .bottom-note{text-align:left;max-width:none;margin-top:20px}
.tomoya-base .okasan-price-grid-compact{grid-template-columns:repeat(2,1fr);max-width:520px}
.tomoya-base .okasan-extras{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(23,21,19,.16);border:1px solid rgba(23,21,19,.16)}
.tomoya-base .okasan-extra-card{background:#e7ded2;padding:48px}
.tomoya-base .okasan-extra-card h3{font-family:var(--serif);font-size:3rem;font-weight:400;line-height:1;margin:6px 0 14px}
.tomoya-base .okasan-extra-card p:not(.tomoya-mini){color:#625d57;line-height:1.65;max-width:420px}
.tomoya-base .okasan-extra-card .okasan-price-grid{margin-top:28px}
.tomoya-base .okasan-single-price{margin-top:30px;border-top:1px solid rgba(23,21,19,.2);padding-top:18px;display:flex;justify-content:space-between;align-items:baseline}
.tomoya-base .okasan-single-price span{font-size:.82rem;color:#756e67}.tomoya-base .okasan-single-price b{font-family:var(--serif);font-size:2rem;font-weight:400}
@media(max-width:900px){
 .tomoya-base .okasan-carta-intro{grid-template-columns:1fr}
 .tomoya-base .okasan-carta-visual{padding:25px;min-height:500px}
 .tomoya-base .okasan-carta-heading{padding:75px 48px}
 .tomoya-base .okasan-carta-pricing{padding:85px 48px 100px}
 .tomoya-base .okasan-carta-section-head{grid-template-columns:42px 1fr}
 .tomoya-base .okasan-carta-note{grid-column:2;text-align:left;max-width:430px}
 .tomoya-base .okasan-price-grid{grid-template-columns:repeat(2,1fr)}
 .tomoya-base .okasan-extras{grid-template-columns:1fr}
}
@media(max-width:640px){
 .tomoya-base .okasan-carta-visual{padding:16px;min-height:430px}
 .tomoya-base .okasan-carta-heading{padding:62px 24px}
 .tomoya-base .okasan-carta-heading h2{font-size:clamp(3.4rem,14vw,5rem)}
 .tomoya-base .okasan-carta-pricing{padding:72px 20px 85px}
 .tomoya-base .okasan-carta-section{padding-bottom:65px;margin-bottom:65px}
 .tomoya-base .okasan-carta-section-head{grid-template-columns:34px 1fr;gap:12px}
 .tomoya-base .okasan-carta-section-head h3{font-size:2.8rem}
 .tomoya-base .okasan-carta-flavors{grid-template-columns:1fr}
 .tomoya-base .okasan-carta-flavors article:nth-child(odd){padding-right:0;border-right:0}
 .tomoya-base .okasan-carta-flavors article:nth-child(even){padding-left:0}
 .tomoya-base .okasan-traditional-grid{grid-template-columns:1fr}
 .tomoya-base .okasan-traditional-grid article,.tomoya-base .okasan-traditional-grid article:not(:first-child){padding:18px 0;border-right:0}
 .tomoya-base .okasan-price-grid{grid-template-columns:1fr 1fr}
 .tomoya-base .okasan-extra-card{padding:34px 26px}
}

/* V29 — Carta reducida a las dos páginas aprobadas. Header, laterales y Hero untouched. */
.tomoya-base .okasan-carta-gallery{
  background:#f4efe7;
  color:#171513;
  padding:120px 52px 135px;
}
.tomoya-base .okasan-carta-gallery-intro{
  max-width:900px;
  margin:0 auto 58px;
  text-align:center;
}
.tomoya-base .okasan-carta-gallery-intro .tomoya-mini{margin-bottom:14px}
.tomoya-base .okasan-carta-gallery-intro h2{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(3.2rem,5.5vw,6.2rem);
  line-height:.92;
  font-weight:400;
  letter-spacing:-.035em;
}
.tomoya-base .okasan-carta-gallery-intro h2 em{
  color:#7d2130;
  font-style:italic;
}
.tomoya-base .okasan-carta-pages{
  width:min(100%, 920px);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:54px;
}
.tomoya-base .okasan-carta-page{
  margin:0;
  padding:0;
  background:#fffdf8;
  box-shadow:0 20px 50px rgba(23,21,19,.12);
  overflow:hidden;
}
.tomoya-base .okasan-carta-page img{
  display:block;
  width:100%;
  height:auto;
}
@media(max-width:640px){
  .tomoya-base .okasan-carta-gallery{padding:78px 16px 88px}
  .tomoya-base .okasan-carta-gallery-intro{margin-bottom:36px}
  .tomoya-base .okasan-carta-gallery-intro h2{font-size:clamp(2.65rem,12vw,4.2rem)}
  .tomoya-base .okasan-carta-pages{gap:28px}
}


/* V30 — Carta: páginas a ancho completo y navegación al inicio exacto de la sección. */
.tomoya-base .okasan-carta-gallery{
  padding:0 0 72px!important;
  margin:0!important;
  background:#f4efe7!important;
}
.tomoya-base .okasan-carta-pages{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  gap:36px!important;
}
.tomoya-base .okasan-carta-page{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  overflow:hidden!important;
}
.tomoya-base .okasan-carta-page img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center top!important;
}
.tomoya-base main section#carta{
  scroll-margin-top:132px!important;
}
@media(max-width:1000px){
  .tomoya-base main section#carta{scroll-margin-top:92px!important}
}
@media(max-width:640px){
  .tomoya-base .okasan-carta-gallery{padding:0 0 48px!important}
  .tomoya-base .okasan-carta-pages{gap:22px!important}
}


/* V31 — Carta presentation: continuous canvas, exact alignment and clean Hero. */
.tomoya-base .tomoya-hero-scroll{display:none!important}
.tomoya-base .tomoya-hero,
.tomoya-base .okasan-carta-gallery{background:#f4efe7!important}
.tomoya-base .okasan-carta-gallery{
  width:100%!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
}
.tomoya-base .okasan-carta-pages{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  align-items:stretch!important;
}
.tomoya-base .okasan-carta-page{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:#f4efe7!important;
  box-shadow:none!important;
  overflow:hidden!important;
  line-height:0!important;
}
.tomoya-base .okasan-carta-page img{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:50% 0!important;
}
.tomoya-base main section#carta{
  scroll-margin-top:132px!important;
}
@media(max-width:980px){
  .tomoya-base main section#carta{scroll-margin-top:96px!important}
}
@media(max-width:760px){
  .tomoya-base main section#carta{scroll-margin-top:82px!important}
}

/* V32 — Carta: remove the baked-in side margins from the supplied pages.
   Both source pages are now equal-width crops; render them flush to the
   central canvas so the physical cards share the exact same left/right edge. */
.tomoya-base .okasan-carta-gallery{
  background:#f4efe7!important;
  padding:0!important;
  margin:0!important;
}
.tomoya-base .okasan-carta-pages{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  gap:0!important;
  align-items:stretch!important;
}
.tomoya-base .okasan-carta-page{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:#f4efe7!important;
  box-shadow:none!important;
  border:0!important;
  overflow:hidden!important;
  line-height:0!important;
}
.tomoya-base .okasan-carta-page img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:fill!important;
}


/* V33 — Carta: preserve visual sharpness while keeping both pages perfectly centered.
   The 2x masters are rendered at a restrained CSS width so text/details stay crisp
   instead of being enlarged to the full 1200px canvas. */
.tomoya-base .okasan-carta-pages{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:0!important;
}
.tomoya-base .okasan-carta-page{
  width:min(100%, 780px)!important;
  max-width:780px!important;
  margin:0 auto!important;
  padding:0!important;
  background:#f4efe7!important;
  box-shadow:none!important;
  border:0!important;
  overflow:visible!important;
  line-height:0!important;
}
.tomoya-base .okasan-carta-page img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  margin:0 auto!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center top!important;
  image-rendering:auto!important;
}
@media(max-width:820px){
  .tomoya-base .okasan-carta-page{
    width:100%!important;
    max-width:100%!important;
  }
}

/* V50 — Carta alineada al fondo crema general de la página. */
.tomoya-base .okasan-carta-gallery{
  position:relative!important;
  background:#f4efe7!important;
  padding-top:28px!important;
  border-top:1px solid rgba(125,33,48,.12)!important;
}
.tomoya-base .okasan-carta-pages{
  position:relative!important;
  z-index:1!important;
}
@media(max-width:760px){
  .tomoya-base .okasan-carta-gallery{
    padding-top:18px!important;
  }
}

/* V37 — Eventos: editorial light section aligned with the Okasan palette. */
.tomoya-base .tomoya-events{
  padding:140px 0 150px!important;
  background:#f4efe7!important;
  color:#25221f!important;
  border-top:1px solid rgba(125,33,48,.12)!important;
  position:relative!important;
  overflow:hidden!important;
}
.tomoya-base .tomoya-events-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(430px,.9fr)!important;
  gap:72px!important;
  align-items:center!important;
}
.tomoya-base .tomoya-events-copy{max-width:650px!important}
.tomoya-base .tomoya-events h2{
  max-width:720px!important;
  margin:0 0 36px!important;
  font-family:"OkasanBaramondWeb",Georgia,"Times New Roman",serif!important;
  color:#25221f!important;
  font-weight:500!important;
  font-size:clamp(3.8rem,6.4vw,7rem)!important;
  line-height:.88!important;
  letter-spacing:-.035em!important;
}
.tomoya-base .tomoya-events h2 em{
  color:#7d2130!important;
  font-style:italic!important;
  font-weight:400!important;
}
.tomoya-base .tomoya-events-intro,
.tomoya-base .tomoya-events-note{
  font-family:"OkasanBaramondWeb",Georgia,"Times New Roman",serif!important;
  color:#4d4842!important;
  font-size:1.12rem!important;
  line-height:1.72!important;
  max-width:600px!important;
  margin:0!important;
}
.tomoya-base .tomoya-events-note{
  margin-top:25px!important;
  padding-top:22px!important;
  border-top:1px solid rgba(125,33,48,.20)!important;
  font-size:.98rem!important;
  color:#666058!important;
}
.tomoya-base .tomoya-events-cta{
  display:inline-flex!important;
  align-items:center!important;
  gap:22px!important;
  margin-top:38px!important;
  padding:16px 28px!important;
  border-radius:999px!important;
  background:#7d2130!important;
  color:#fff!important;
  text-decoration:none!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:.68rem!important;
  letter-spacing:.17em!important;
  text-transform:uppercase!important;
  transition:transform .2s ease,background .2s ease!important;
}
.tomoya-base .tomoya-events-cta span{font-size:1.05rem!important;line-height:1!important}
.tomoya-base .tomoya-events-cta:hover{background:#651a27!important;transform:translateY(-1px)!important}
.tomoya-base .tomoya-events-visual{width:100%!important;max-width:560px!important;justify-self:end!important}
.tomoya-base .tomoya-events-photo{
  margin:0!important;
  padding:10px!important;
  background:#eee8df!important;
  border:1px solid rgba(125,33,48,.16)!important;
  box-shadow:0 24px 55px rgba(23,21,19,.10)!important;
}
.tomoya-base .tomoya-events-photo img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1.08/1!important;
  object-fit:cover!important;
  object-position:center 52%!important;
}
.tomoya-base .tomoya-events-caption{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:17px!important;
  margin:22px 0 0!important;
  color:#4d4842!important;
  font-family:"OkasanBaramondWeb",Georgia,"Times New Roman",serif!important;
  font-size:1rem!important;
  font-style:italic!important;
  text-align:center!important;
}
.tomoya-base .tomoya-events-caption span{
  display:block!important;
  width:45px!important;
  height:1px!important;
  background:#7d2130!important;
  opacity:.72!important;
}
@media(max-width:900px){
  .tomoya-base .tomoya-events{padding:105px 0 115px!important}
  .tomoya-base .tomoya-events-grid{grid-template-columns:1fr!important;gap:55px!important}
  .tomoya-base .tomoya-events-copy{max-width:700px!important}
  .tomoya-base .tomoya-events-visual{justify-self:center!important;max-width:650px!important}
}
@media(max-width:760px){
  .tomoya-base .tomoya-events{padding:82px 0 92px!important}
  .tomoya-base .tomoya-events h2{font-size:3.55rem!important;line-height:.9!important;margin-bottom:28px!important}
  .tomoya-base .tomoya-events-intro{font-size:1rem!important}
  .tomoya-base .tomoya-events-note{font-size:.92rem!important}
  .tomoya-base .tomoya-events-cta{margin-top:30px!important;width:100%!important;justify-content:center!important}
  .tomoya-base .tomoya-events-photo{padding:7px!important}
  .tomoya-base .tomoya-events-caption{font-size:.9rem!important;gap:10px!important}
  .tomoya-base .tomoya-events-caption span{width:25px!important}
}


/* V38 — Contacto: refinamiento visual solicitado */
.tomoya-base .tomoya-contact-card .contact-label{display:inline-flex;align-items:center;gap:11px;}
.tomoya-base .tomoya-contact-card .contact-icon{width:21px;height:21px;flex:0 0 21px;stroke:#7d2130;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.tomoya-base .tomoya-contact-card .contact-icon-wa{stroke-width:1.55;}
.tomoya-base .tomoya-contact-card a:hover .contact-icon{stroke:#171513;}
@media(max-width:760px){
  .tomoya-base .tomoya-contact-card .contact-icon{width:20px;height:20px;flex-basis:20px;}
}

/* V39 — Comprar: orden directo + plataformas de delivery */
.tomoya-base .tomoya-buy-section{
  padding:150px 0 155px!important;
  background:#f4efe7!important;
}
.tomoya-base .tomoya-buy-head{
  align-items:flex-end!important;
  margin-bottom:58px!important;
}
.tomoya-base .tomoya-buy-head h2{
  color:#25221f!important;
}
.tomoya-base .tomoya-buy-head .tomoya-copy.small{
  max-width:360px!important;
  color:#625d57!important;
  line-height:1.7!important;
}
.tomoya-base .tomoya-buy-grid{
  gap:18px!important;
}
.tomoya-base .tomoya-buy-card{
  min-height:390px!important;
  padding:34px!important;
  background:#efe7dc!important;
  color:#25221f!important;
  border:1px solid rgba(125,33,48,.14)!important;
  box-shadow:none!important;
  transition:transform .25s ease,background .25s ease,border-color .25s ease!important;
}
.tomoya-base .tomoya-buy-card:hover{
  transform:translateY(-5px)!important;
  background:#ebe2d6!important;
  border-color:rgba(125,33,48,.28)!important;
}
.tomoya-base .tomoya-buy-card .buy-number{
  color:#7d2130!important;
  font-family:var(--serif)!important;
  font-size:1.15rem!important;
}
.tomoya-base .tomoya-buy-card h3{
  color:#25221f!important;
  font-size:2.35rem!important;
  line-height:.95!important;
  margin-top:auto!important;
}
.tomoya-base .tomoya-buy-card p{
  color:#625d57!important;
  font-size:.82rem!important;
  line-height:1.65!important;
  margin:10px 0 25px!important;
}
.tomoya-base .tomoya-buy-card strong{
  color:#7d2130!important;
}
.tomoya-base .tomoya-buy-card .buy-brand-logo{
  height:58px!important;
  width:150px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  margin-top:16px!important;
}
.tomoya-base .tomoya-buy-card .buy-brand-logo img{
  display:block!important;
  width:118px!important;
  max-height:50px!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.tomoya-base .tomoya-buy-card .buy-brand-logo-pedidos img{
  width:150px!important;
  max-height:44px!important;
}
.tomoya-base .tomoya-buy-card .buy-mark-direct{
  width:52px!important;
  height:52px!important;
  border:1px solid rgba(125,33,48,.35)!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-top:17px!important;
  color:#7d2130!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:1.35rem!important;
}
.tomoya-base .tomoya-buy-coverage{
  margin:50px auto 0!important;
  max-width:900px!important;
  padding:30px 0 0!important;
  border-top:1px solid rgba(125,33,48,.20)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:35px!important;
}
.tomoya-base .tomoya-buy-coverage p{
  margin:0!important;
  max-width:720px!important;
  color:#625d57!important;
  font-size:.9rem!important;
  line-height:1.75!important;
}
.tomoya-base .tomoya-buy-coverage p strong:first-child{
  color:#25221f!important;
  font-family:"OkasanBaramondWeb",Georgia,"Times New Roman",serif!important;
  font-size:1.05rem!important;
  font-weight:500!important;
}
.tomoya-base .tomoya-buy-coverage a{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:15px 22px!important;
  background:#7d2130!important;
  color:#fff!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
  letter-spacing:.13em!important;
  font-size:.61rem!important;
  transition:background .2s ease,transform .2s ease!important;
}
.tomoya-base .tomoya-buy-coverage a:hover{
  background:#651a27!important;
  transform:translateY(-1px)!important;
}
.tomoya-base .tomoya-buy-coverage a span{font-size:1rem!important;line-height:1!important}
@media(max-width:900px){
  .tomoya-base .tomoya-buy-section{padding:105px 0 115px!important}
  .tomoya-base .tomoya-buy-head{align-items:flex-start!important;gap:18px!important;margin-bottom:42px!important}
  .tomoya-base .tomoya-buy-grid{gap:14px!important}
  .tomoya-base .tomoya-buy-card{min-height:330px!important}
  .tomoya-base .tomoya-buy-coverage{flex-direction:column!important;align-items:flex-start!important;margin-top:42px!important}
}
@media(max-width:760px){
  .tomoya-base .tomoya-buy-section{padding:82px 0 92px!important}
  .tomoya-base .tomoya-buy-head{margin-bottom:32px!important}
  .tomoya-base .tomoya-buy-head h2{font-size:clamp(3.4rem,15vw,5.4rem)!important}
  .tomoya-base .tomoya-buy-card{min-height:310px!important;padding:28px!important}
  .tomoya-base .tomoya-buy-card h3{font-size:2.15rem!important}
  .tomoya-base .tomoya-buy-coverage{padding-top:24px!important;margin-top:34px!important}
  .tomoya-base .tomoya-buy-coverage a{width:100%!important;justify-content:center!important}
}

/* V39 — Comprar: orden directo + plataformas de delivery */
.tomoya-base .tomoya-buy-section{
  padding:150px 0 155px!important;
  background:#f4efe7!important;
}
.tomoya-base .tomoya-buy-head{
  align-items:flex-end!important;
  margin-bottom:58px!important;
}
.tomoya-base .tomoya-buy-head h2{color:#25221f!important}
.tomoya-base .tomoya-buy-head .tomoya-copy.small{
  max-width:360px!important;
  color:#625d57!important;
  line-height:1.7!important;
}
.tomoya-base .tomoya-buy-grid{gap:18px!important}
.tomoya-base .tomoya-buy-card{
  min-height:390px!important;
  padding:34px!important;
  background:#efe7dc!important;
  color:#25221f!important;
  border:1px solid rgba(125,33,48,.14)!important;
  box-shadow:none!important;
  transition:transform .25s ease,background .25s ease,border-color .25s ease!important;
}
.tomoya-base .tomoya-buy-card:hover{
  transform:translateY(-5px)!important;
  background:#ebe2d6!important;
  border-color:rgba(125,33,48,.28)!important;
}
.tomoya-base .tomoya-buy-card .buy-number{
  color:#7d2130!important;
  font-family:var(--serif)!important;
  font-size:1.15rem!important;
}
.tomoya-base .tomoya-buy-card h3{
  color:#25221f!important;
  font-size:2.35rem!important;
  line-height:.95!important;
  margin-top:auto!important;
}
.tomoya-base .tomoya-buy-card p{
  color:#625d57!important;
  font-size:.82rem!important;
  line-height:1.65!important;
  margin:10px 0 25px!important;
}
.tomoya-base .tomoya-buy-card strong{color:#7d2130!important}
.tomoya-base .tomoya-buy-card .buy-brand-logo{
  height:58px!important;
  width:150px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  margin-top:16px!important;
}
.tomoya-base .tomoya-buy-card .buy-brand-logo img{
  display:block!important;
  width:118px!important;
  max-height:50px!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.tomoya-base .tomoya-buy-card .buy-brand-logo-pedidos img{
  width:150px!important;
  max-height:44px!important;
}
.tomoya-base .tomoya-buy-card .buy-mark-direct{
  width:52px!important;
  height:52px!important;
  border:1px solid rgba(125,33,48,.35)!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-top:17px!important;
  color:#7d2130!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:1.35rem!important;
}
.tomoya-base .tomoya-buy-coverage{
  margin:50px auto 0!important;
  max-width:900px!important;
  padding:30px 0 0!important;
  border-top:1px solid rgba(125,33,48,.20)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:35px!important;
}
.tomoya-base .tomoya-buy-coverage p{
  margin:0!important;
  max-width:720px!important;
  color:#625d57!important;
  font-size:.9rem!important;
  line-height:1.75!important;
}
.tomoya-base .tomoya-buy-coverage p strong:first-child{
  color:#25221f!important;
  font-family:"OkasanBaramondWeb",Georgia,"Times New Roman",serif!important;
  font-size:1.05rem!important;
  font-weight:500!important;
}
.tomoya-base .tomoya-buy-coverage a{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:15px 22px!important;
  background:#7d2130!important;
  color:#fff!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
  letter-spacing:.13em!important;
  font-size:.61rem!important;
  transition:background .2s ease,transform .2s ease!important;
}
.tomoya-base .tomoya-buy-coverage a:hover{background:#651a27!important;transform:translateY(-1px)!important}
.tomoya-base .tomoya-buy-coverage a span{font-size:1rem!important;line-height:1!important}
@media(max-width:900px){
  .tomoya-base .tomoya-buy-section{padding:105px 0 115px!important}
  .tomoya-base .tomoya-buy-head{align-items:flex-start!important;gap:18px!important;margin-bottom:42px!important}
  .tomoya-base .tomoya-buy-grid{gap:14px!important}
  .tomoya-base .tomoya-buy-card{min-height:330px!important}
  .tomoya-base .tomoya-buy-coverage{flex-direction:column!important;align-items:flex-start!important;margin-top:42px!important}
}
@media(max-width:760px){
  .tomoya-base .tomoya-buy-section{padding:82px 0 92px!important}
  .tomoya-base .tomoya-buy-head{margin-bottom:32px!important}
  .tomoya-base .tomoya-buy-head h2{font-size:clamp(3.4rem,15vw,5.4rem)!important}
  .tomoya-base .tomoya-buy-card{min-height:310px!important;padding:28px!important}
  .tomoya-base .tomoya-buy-card h3{font-size:2.15rem!important}
  .tomoya-base .tomoya-buy-coverage{padding-top:24px!important;margin-top:34px!important}
  .tomoya-base .tomoya-buy-coverage a{width:100%!important;justify-content:center!important}
}


/* V40 — Comprar: logo Okasan, mensaje unificado y mejor llegada al ancla */
.tomoya-base .tomoya-buy-card .buy-brand-logo-okasan{
  height:58px!important;
  width:150px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  margin-top:16px!important;
}
.tomoya-base .tomoya-buy-card .buy-brand-logo-okasan img{
  display:block!important;
  width:145px!important;
  max-width:145px!important;
  max-height:58px!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:left center!important;
}
@media(max-width:760px){
  .tomoya-base .tomoya-buy-card .buy-brand-logo-okasan{
    height:54px!important;
    width:145px!important;
  }
  .tomoya-base .tomoya-buy-card .buy-brand-logo-okasan img{
    width:140px!important;
    max-width:140px!important;
    max-height:54px!important;
  }
}

/* V41 — Comprar: Okasan como primera opción, alineación de plataformas y ancla refinada */
.tomoya-base .tomoya-buy-card .buy-brand-logo{
  height:112px!important;
  margin-top:12px!important;
  align-items:center!important;
}
.tomoya-base .tomoya-buy-card .buy-brand-logo-okasan{
  width:100%!important;
  height:112px!important;
  margin-top:12px!important;
  align-items:center!important;
}
.tomoya-base .tomoya-buy-card .buy-brand-logo-okasan img{
  width:188px!important;
  max-width:188px!important;
  max-height:none!important;
  height:auto!important;
  object-fit:contain!important;
}
.tomoya-base .tomoya-buy-card h3{
  margin-top:auto!important;
  white-space:nowrap!important;
  letter-spacing:-.025em!important;
}
.tomoya-base .tomoya-buy-card .buy-brand-logo-pedidos img{
  width:150px!important;
  max-width:150px!important;
}
@media(max-width:900px){
  .tomoya-base .tomoya-buy-card .buy-brand-logo,
  .tomoya-base .tomoya-buy-card .buy-brand-logo-okasan{
    height:96px!important;
  }
  .tomoya-base .tomoya-buy-card .buy-brand-logo-okasan img{
    width:170px!important;
    max-width:170px!important;
  }
  .tomoya-base .tomoya-buy-card h3{font-size:2.15rem!important}
}
@media(max-width:760px){
  .tomoya-base .tomoya-buy-card .buy-brand-logo,
  .tomoya-base .tomoya-buy-card .buy-brand-logo-okasan{
    height:88px!important;
  }
  .tomoya-base .tomoya-buy-card .buy-brand-logo-okasan img{
    width:160px!important;
    max-width:160px!important;
  }
  .tomoya-base .tomoya-buy-card h3{
    font-size:2.05rem!important;
    white-space:normal!important;
  }
}

/* V42 — Comprar: solo el isotipo Okasan, títulos perfectamente alineados y ancla equilibrada */
.tomoya-base .tomoya-buy-card{
  display:grid!important;
  grid-template-rows:auto 112px 52px 1fr auto!important;
  align-items:start!important;
}
.tomoya-base .tomoya-buy-card .buy-brand-logo,
.tomoya-base .tomoya-buy-card .buy-brand-logo-okasan{
  grid-row:2!important;
  align-self:center!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
.tomoya-base .tomoya-buy-card h3{
  grid-row:3!important;
  align-self:start!important;
  margin:0!important;
  min-height:52px!important;
  display:flex!important;
  align-items:flex-start!important;
  white-space:nowrap!important;
}
.tomoya-base .tomoya-buy-card p{
  grid-row:4!important;
  align-self:start!important;
  margin:0 0 25px!important;
}
.tomoya-base .tomoya-buy-card strong{
  grid-row:5!important;
  align-self:end!important;
}
.tomoya-base .tomoya-buy-card .buy-brand-logo-okasan img{
  content:url('../assets/images/okasan-logo-sakura-leaf.png')!important;
  width:86px!important;
  max-width:86px!important;
  max-height:92px!important;
  height:auto!important;
  object-fit:contain!important;
}
@media(max-width:900px){
  .tomoya-base .tomoya-buy-card{
    grid-template-rows:auto 96px 48px 1fr auto!important;
  }
  .tomoya-base .tomoya-buy-card h3{
    min-height:48px!important;
    font-size:2.15rem!important;
  }
  .tomoya-base .tomoya-buy-card .buy-brand-logo-okasan img{
    width:78px!important;
    max-width:78px!important;
    max-height:82px!important;
  }
}
@media(max-width:760px){
  .tomoya-base .tomoya-buy-card{
    grid-template-rows:auto 88px 48px 1fr auto!important;
  }
  .tomoya-base .tomoya-buy-card h3{
    min-height:48px!important;
    white-space:normal!important;
  }
  .tomoya-base .tomoya-buy-card .buy-brand-logo-okasan img{
    width:72px!important;
    max-width:72px!important;
    max-height:76px!important;
  }
}

/* Llegada del ancla Comprar: mostrar completo el encabezado sin perder el bloque inferior. */
@media(min-width:981px){
  .tomoya-base #comprar{scroll-margin-top:100px!important;}
}


<style id="v45-buy-okasan-fix">
/* V45 — use the complete Okasan isotipo; the previous source asset itself was clipped. */
.tomoya-base .tomoya-buy-card .buy-brand-logo-okasan{
  width:100%!important;
  height:112px!important;
  min-height:112px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
}
.tomoya-base .tomoya-buy-card .buy-brand-logo-okasan img{
  content:url('../assets/images/okasan-isotipo-completo.png')!important;
  display:block!important;
  width:112px!important;
  height:112px!important;
  max-width:112px!important;
  max-height:112px!important;
  margin:0 auto!important;
  object-fit:contain!important;
  object-position:center center!important;
}
@media(max-width:900px){
  .tomoya-base .tomoya-buy-card .buy-brand-logo-okasan,
  .tomoya-base .tomoya-buy-card .buy-brand-logo{
    height:96px!important;
    min-height:96px!important;
  }
  .tomoya-base .tomoya-buy-card .buy-brand-logo-okasan img{
    width:96px!important; height:96px!important;
    max-width:96px!important; max-height:96px!important;
  }
}
@media(max-width:760px){
  .tomoya-base .tomoya-buy-card .buy-brand-logo-okasan,
  .tomoya-base .tomoya-buy-card .buy-brand-logo{
    height:88px!important;
    min-height:88px!important;
  }
  .tomoya-base .tomoya-buy-card .buy-brand-logo-okasan img{
    width:88px!important; height:88px!important;
    max-width:88px!important; max-height:88px!important;
  }
}
</style>

/* V47 — footer final: unified Okasan branding, cream background and social links */
.tomoya-base .tomoya-footer{
  background:#f4efe7!important;
  color:#25221f!important;
  border-top:1px solid rgba(125,33,48,.12)!important;
  padding:78px 0 28px!important;
}
.tomoya-base .tomoya-footer-grid{align-items:start!important}
.tomoya-base .tomoya-footer-brand-wrap{display:flex!important;align-items:flex-start!important}
.tomoya-base .tomoya-footer-brand-link{display:block!important;width:280px!important;text-decoration:none!important}
.tomoya-base .tomoya-footer-brand-logo{display:block!important;width:280px!important;max-width:100%!important;height:auto!important;object-fit:contain!important;object-position:left center!important}
.tomoya-base .tomoya-footer h4{color:#7d2130!important}
.tomoya-base .tomoya-footer a{color:#4d4842!important}
.tomoya-base .tomoya-footer a:hover{color:#7d2130!important}
.tomoya-base .tomoya-footer-social{display:flex!important;align-items:center!important;gap:10px!important}
.tomoya-base .footer-social-icon{width:18px!important;height:18px!important;flex:0 0 18px!important;stroke:#7d2130!important;fill:none!important;stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.tomoya-base .footer-social-tiktok{stroke-width:1.65!important}
.tomoya-base .tomoya-footer-bottom{border-top:1px solid rgba(125,33,48,.16)!important;color:#777067!important}
@media(max-width:900px){.tomoya-base .tomoya-footer-brand-link,.tomoya-base .tomoya-footer-brand-logo{width:245px!important}}
@media(max-width:640px){.tomoya-base .tomoya-footer-brand-link,.tomoya-base .tomoya-footer-brand-logo{width:220px!important}}

/* V48 — footer compact, warm cream and aligned with the page palette */
.tomoya-base .tomoya-footer{
  width:min(1080px, calc(100% - 64px))!important;
  max-width:1080px!important;
  margin:0 auto!important;
  background:#f4efe7!important;
  color:#25221f!important;
  border-top:1px solid rgba(125,33,48,.12)!important;
  padding:48px 0 22px!important;
  box-sizing:border-box!important;
}
.tomoya-base .tomoya-footer-grid{
  grid-template-columns:1.7fr 1fr 1fr 1fr!important;
  gap:38px!important;
  padding-bottom:42px!important;
  align-items:start!important;
}
.tomoya-base .tomoya-footer-brand-link,
.tomoya-base .tomoya-footer-brand-logo{
  width:220px!important;
  max-width:100%!important;
}
.tomoya-base .tomoya-footer-brand-logo{
  height:auto!important;
}
.tomoya-base .tomoya-footer h4{
  margin-bottom:14px!important;
  color:#7d2130!important;
}
.tomoya-base .tomoya-footer a{
  color:#4d4842!important;
  margin-bottom:9px!important;
}
.tomoya-base .tomoya-footer a:hover{color:#7d2130!important}
.tomoya-base .tomoya-footer-social{gap:9px!important}
.tomoya-base .footer-social-icon{
  width:17px!important;
  height:17px!important;
  flex-basis:17px!important;
  stroke:#7d2130!important;
}
.tomoya-base .tomoya-footer-bottom{
  padding-top:15px!important;
  border-top:1px solid rgba(125,33,48,.14)!important;
  color:#777067!important;
}
@media(max-width:900px){
  .tomoya-base .tomoya-footer{
    width:calc(100% - 36px)!important;
    max-width:none!important;
    padding:42px 0 20px!important;
  }
  .tomoya-base .tomoya-footer-grid{
    grid-template-columns:1.5fr 1fr 1fr!important;
    gap:30px!important;
    padding-bottom:36px!important;
  }
  .tomoya-base .tomoya-footer-brand-link,
  .tomoya-base .tomoya-footer-brand-logo{width:205px!important}
}
@media(max-width:640px){
  .tomoya-base .tomoya-footer{
    width:calc(100% - 28px)!important;
    padding:36px 0 18px!important;
  }
  .tomoya-base .tomoya-footer-grid{
    grid-template-columns:1fr 1fr!important;
    gap:28px 24px!important;
    padding-bottom:30px!important;
  }
  .tomoya-base .tomoya-footer-grid>div:first-child{grid-column:1/-1!important}
  .tomoya-base .tomoya-footer-brand-link,
  .tomoya-base .tomoya-footer-brand-logo{width:190px!important}
}

/* V49 — footer aligned to the full 1200px page canvas + improved readability */
@media(min-width:1001px){
  .tomoya-base .tomoya-footer{
    width:1200px!important;
    max-width:1200px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}
.tomoya-base .tomoya-footer a{
  font-size:.88rem!important;
  line-height:1.45!important;
}
.tomoya-base .tomoya-footer h4{
  font-size:.78rem!important;
  font-weight:700!important;
  line-height:1.3!important;
  margin-bottom:16px!important;
  letter-spacing:.18em!important;
}
.tomoya-base .tomoya-footer-bottom{
  font-size:.68rem!important;
  line-height:1.5!important;
}
@media(max-width:900px){
  .tomoya-base .tomoya-footer a{font-size:.86rem!important}
  .tomoya-base .tomoya-footer h4{font-size:.76rem!important}
}
@media(max-width:640px){
  .tomoya-base .tomoya-footer a{font-size:.84rem!important}
  .tomoya-base .tomoya-footer h4{font-size:.74rem!important}
  .tomoya-base .tomoya-footer-bottom{font-size:.65rem!important}
}

/* V51 — Experimental Hero with three real Okasan photographs.
   Only the Hero is changed; all other approved sections remain untouched. */
.tomoya-base .tomoya-hero{
  background:#f4efe7!important;
  overflow:hidden!important;
  position:relative!important;
}
.tomoya-base .tomoya-hero-gallery{
  position:absolute!important;
  z-index:1!important;
  top:50%!important;
  right:max(3.5vw,28px)!important;
  width:min(49vw,650px)!important;
  height:min(82vh,720px)!important;
  transform:translateY(-48%)!important;
  pointer-events:none!important;
}
.tomoya-base .tomoya-hero-photo{
  position:absolute!important;
  margin:0!important;
  overflow:hidden!important;
  background:#e9e1d7!important;
  box-shadow:0 20px 50px rgba(48,37,29,.10)!important;
}
.tomoya-base .tomoya-hero-photo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:saturate(.88) contrast(.99)!important;
}
.tomoya-base .tomoya-hero-photo-main{
  width:56%!important;
  height:67%!important;
  top:0!important;
  right:3%!important;
  z-index:3!important;
}
.tomoya-base .tomoya-hero-photo-main img{object-position:54% 57%!important}
.tomoya-base .tomoya-hero-photo-secondary{
  width:43%!important;
  height:51%!important;
  left:0!important;
  bottom:4%!important;
  z-index:2!important;
}
.tomoya-base .tomoya-hero-photo-secondary img{object-position:51% 58%!important}
.tomoya-base .tomoya-hero-photo-detail{
  width:31%!important;
  height:36%!important;
  right:0!important;
  bottom:0!important;
  z-index:4!important;
}
.tomoya-base .tomoya-hero-photo-detail img{object-position:center center!important}
.tomoya-base .tomoya-hero-copy{
  justify-content:center!important;
  align-items:flex-start!important;
  padding-top:50px!important;
  padding-bottom:110px!important;
  padding-right:min(47vw,610px)!important;
  position:relative!important;
  z-index:5!important;
}
.tomoya-base .tomoya-hero-copy>*:not(.tomoya-hero-jp){position:relative;z-index:6}
.tomoya-base .tomoya-hero-lead{max-width:680px!important}
.tomoya-base .tomoya-hero-description{max-width:680px!important}
.tomoya-base .tomoya-hero-signature{max-width:620px!important}
.tomoya-base .tomoya-hero:before{
  right:-12vw!important;
  top:7%!important;
  z-index:0!important;
}
.tomoya-base .tomoya-hero:after{
  right:5vw!important;
  top:13%!important;
  z-index:0!important;
}
.tomoya-base .tomoya-hero-jp{
  right:22vw!important;
  top:22%!important;
  z-index:1!important;
}
@media(max-width:1000px){
  .tomoya-base .tomoya-hero-gallery{
    right:24px!important;
    width:min(46vw,520px)!important;
    height:min(66vh,580px)!important;
  }
  .tomoya-base .tomoya-hero-copy{padding-right:min(44vw,500px)!important}
}
@media(max-width:760px){
  .tomoya-base .tomoya-hero{
    min-height:auto!important;
    padding-bottom:34px!important;
    display:block!important;
  }
  .tomoya-base .tomoya-hero-copy{
    width:calc(100% - 36px)!important;
    min-height:auto!important;
    padding:58px 0 20px!important;
    margin:0 auto!important;
  }
  .tomoya-base .tomoya-hero-gallery{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    width:calc(100% - 36px)!important;
    height:430px!important;
    transform:none!important;
    margin:8px auto 0!important;
  }
  .tomoya-base .tomoya-hero-photo-main{width:57%!important;height:65%!important;right:3%!important;top:0!important}
  .tomoya-base .tomoya-hero-photo-secondary{width:47%!important;height:51%!important;left:0!important;bottom:4%!important}
  .tomoya-base .tomoya-hero-photo-detail{width:31%!important;height:37%!important;right:0!important;bottom:0!important}
  .tomoya-base .tomoya-hero-jp{right:4vw!important;top:13%!important;font-size:7rem!important}
  .tomoya-base .tomoya-hero:before{right:-30vw!important;top:11%!important;width:70vw!important;height:70vw!important}
  .tomoya-base .tomoya-hero:after{right:-3vw!important;top:17%!important;font-size:7rem!important}
}
@media(max-width:520px){
  .tomoya-base .tomoya-hero-copy{padding-top:48px!important}
  .tomoya-base .tomoya-hero-gallery{height:355px!important}
  .tomoya-base .tomoya-hero-lead{max-width:92%!important}
  .tomoya-base .tomoya-hero-description{max-width:100%!important}
  .tomoya-base .tomoya-hero-signature{max-width:100%!important}
}

/* V52 — Hero experimental: editorial Japanese illustration/product scene. */
.tomoya-base .tomoya-hero{
  min-height:calc(100svh - 132px)!important;
  background:#f4efe7!important;
  overflow:hidden!important;
  position:relative!important;
  display:flex!important;
  align-items:flex-start!important;
}
.tomoya-base .tomoya-hero-copy{
  position:relative!important;
  z-index:5!important;
  width:100%!important;
  max-width:none!important;
  padding-top:44px!important;
  padding-bottom:360px!important;
  padding-right:0!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
}
.tomoya-base .tomoya-hero-copy > *:not(.tomoya-hero-jp){position:relative!important;z-index:7!important}
.tomoya-base .tomoya-hero-lead{max-width:820px!important;margin-bottom:22px!important}
.tomoya-base .tomoya-hero-description{max-width:760px!important}
.tomoya-base .tomoya-hero-signature{max-width:720px!important}
.tomoya-base .tomoya-hero-editorial{
  position:absolute!important;
  z-index:3!important;
  right:28px!important;
  bottom:18px!important;
  width:min(43vw,540px)!important;
  margin:0!important;
  line-height:0!important;
  pointer-events:none!important;
}
.tomoya-base .tomoya-hero-editorial img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  object-fit:contain!important;
  filter:saturate(.92) contrast(.98)!important;
}
.tomoya-base .tomoya-hero:before{
  right:-18vw!important;
  top:8%!important;
  z-index:0!important;
}
.tomoya-base .tomoya-hero:after{
  right:4vw!important;
  top:11%!important;
  z-index:0!important;
  opacity:.55!important;
}
.tomoya-base .tomoya-hero-jp{
  right:18vw!important;
  top:14%!important;
  z-index:1!important;
  opacity:.45!important;
}
@media(max-width:900px){
  .tomoya-base .tomoya-hero-copy{padding-top:38px!important;padding-bottom:300px!important}
  .tomoya-base .tomoya-hero-editorial{right:16px!important;width:min(52vw,470px)!important;bottom:12px!important}
}
@media(max-width:760px){
  .tomoya-base .tomoya-hero{
    min-height:auto!important;
    padding-bottom:0!important;
    display:block!important;
  }
  .tomoya-base .tomoya-hero-copy{
    width:calc(100% - 36px)!important;
    min-height:auto!important;
    padding:48px 0 16px!important;
    margin:0 auto!important;
  }
  .tomoya-base .tomoya-hero-editorial{
    position:relative!important;
    right:auto!important;
    bottom:auto!important;
    width:88%!important;
    margin:4px 0 0 auto!important;
  }
  .tomoya-base .tomoya-hero-jp{right:4vw!important;top:11%!important;font-size:6rem!important}
  .tomoya-base .tomoya-hero:before{right:-35vw!important;top:18%!important;width:75vw!important;height:75vw!important}
  .tomoya-base .tomoya-hero:after{right:-3vw!important;top:18%!important;font-size:6rem!important}
}

/* V53 — Hero refinement: integrated editorial image, tighter composition. */
.tomoya-base .tomoya-hero{
  background:#f4efe7!important;
  overflow:hidden!important;
}
.tomoya-base .tomoya-hero-copy{
  padding-top:34px!important;
  padding-bottom:170px!important;
  position:relative!important;
  z-index:5!important;
}
.tomoya-base .tomoya-hero-lead{
  max-width:760px!important;
  margin-bottom:20px!important;
}
.tomoya-base .tomoya-hero-description{
  max-width:735px!important;
}
.tomoya-base .tomoya-hero-signature{
  max-width:690px!important;
}
.tomoya-base .tomoya-hero-editorial{
  position:absolute!important;
  z-index:3!important;
  right:34px!important;
  bottom:34px!important;
  width:min(40vw,510px)!important;
  margin:0!important;
  line-height:0!important;
  pointer-events:none!important;
}
.tomoya-base .tomoya-hero-editorial img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  filter:saturate(.86) contrast(.97)!important;
  mix-blend-mode:multiply!important;
}
@media(min-width:1001px){
  .tomoya-base .tomoya-hero-editorial{
    right:clamp(24px,3vw,48px)!important;
    bottom:28px!important;
    width:min(40vw,510px)!important;
  }
}
@media(max-width:900px){
  .tomoya-base .tomoya-hero-copy{
    padding-top:32px!important;
    padding-bottom:145px!important;
  }
  .tomoya-base .tomoya-hero-editorial{
    right:18px!important;
    bottom:22px!important;
    width:min(47vw,440px)!important;
  }
}
@media(max-width:760px){
  .tomoya-base .tomoya-hero-copy{
    padding-top:42px!important;
    padding-bottom:12px!important;
  }
  .tomoya-base .tomoya-hero-editorial{
    position:relative!important;
    right:auto!important;
    bottom:auto!important;
    width:78%!important;
    margin:-2px 0 0 auto!important;
  }
}
@media(max-width:520px){
  .tomoya-base .tomoya-hero-editorial{width:88%!important;margin:0 0 0 auto!important}
}

/* V54 — Hero editorial: texto + dibujo integrados en una sola composición */
.tomoya-base .tomoya-hero{
  min-height:calc(100svh - 132px)!important;
  margin-top:132px!important;
  position:relative!important;
  overflow:hidden!important;
  background:#f4efe7!important;
}
.tomoya-base .tomoya-hero-copy{
  min-height:calc(100svh - 132px)!important;
  width:min(calc(100% - 68px),1200px)!important;
  max-width:1200px!important;
  margin:0 auto!important;
  padding:54px 48% 58px 0!important;
  justify-content:center!important;
  position:relative!important;
  z-index:5!important;
}
.tomoya-base .tomoya-hero-lead,
.tomoya-base .tomoya-hero-description,
.tomoya-base .tomoya-hero-signature{
  position:relative!important;
  z-index:7!important;
}
.tomoya-base .tomoya-hero-lead{
  max-width:620px!important;
  margin:0 0 28px!important;
  font-size:clamp(2.9rem,4.7vw,5.25rem)!important;
  line-height:.98!important;
  letter-spacing:-.018em!important;
}
.tomoya-base .tomoya-hero-description{
  max-width:570px!important;
  font-size:1.08rem!important;
  line-height:1.68!important;
  margin:0 0 24px!important;
}
.tomoya-base .tomoya-hero-signature{
  max-width:520px!important;
  font-size:1rem!important;
  line-height:1.62!important;
  margin:0!important;
}
.tomoya-base .tomoya-hero-editorial{
  display:block!important;
  position:absolute!important;
  z-index:3!important;
  right:-2.5%!important;
  top:8%!important;
  width:59%!important;
  height:84%!important;
  margin:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 7%,#000 18%,#000 100%),linear-gradient(0deg,transparent 0%,#000 10%,#000 100%)!important;
  -webkit-mask-composite:source-in!important;
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 7%,#000 18%,#000 100%),linear-gradient(0deg,transparent 0%,#000 10%,#000 100%)!important;
  mask-composite:intersect!important;
}
.tomoya-base .tomoya-hero-editorial img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:57% 54%!important;
  filter:saturate(.86) contrast(.97) brightness(1.015)!important;
  transform:scale(1.04)!important;
}
.tomoya-base .tomoya-hero:before{
  right:-17vw!important;
  top:8%!important;
  width:49vw!important;
  height:49vw!important;
  border-color:rgba(125,33,48,.15)!important;
  z-index:1!important;
}
.tomoya-base .tomoya-hero:after{
  right:10vw!important;
  top:15%!important;
  color:rgba(125,33,48,.045)!important;
  z-index:1!important;
}
.tomoya-base .tomoya-hero-jp{
  right:auto!important;
  left:42%!important;
  top:17%!important;
  font-size:clamp(7rem,10vw,10rem)!important;
  color:rgba(125,33,48,.038)!important;
  z-index:1!important;
}

@media(max-width:1000px){
  .tomoya-base .tomoya-hero-copy{
    width:calc(100% - 48px)!important;
    padding:54px 44% 58px 0!important;
  }
  .tomoya-base .tomoya-hero-editorial{
    right:-8%!important;
    width:63%!important;
    top:10%!important;
    height:80%!important;
  }
}
@media(max-width:760px){
  .tomoya-base .tomoya-hero{
    margin-top:82px!important;
    min-height:auto!important;
  }
  .tomoya-base .tomoya-hero-copy{
    min-height:auto!important;
    width:calc(100% - 36px)!important;
    padding:56px 0 22px!important;
  }
  .tomoya-base .tomoya-hero-lead{
    max-width:620px!important;
    font-size:clamp(2.5rem,11vw,4.3rem)!important;
    margin-bottom:24px!important;
  }
  .tomoya-base .tomoya-hero-description{
    max-width:560px!important;
    font-size:1.03rem!important;
    line-height:1.58!important;
  }
  .tomoya-base .tomoya-hero-signature{
    max-width:540px!important;
    font-size:.98rem!important;
  }
  .tomoya-base .tomoya-hero-editorial{
    position:relative!important;
    right:auto!important;
    top:auto!important;
    width:calc(100% + 20px)!important;
    height:auto!important;
    margin:-2px -10px 0!important;
    -webkit-mask-image:linear-gradient(0deg,transparent 0%,#000 8%,#000 100%)!important;
    mask-image:linear-gradient(0deg,transparent 0%,#000 8%,#000 100%)!important;
  }
  .tomoya-base .tomoya-hero-editorial img{
    width:100%!important;
    height:auto!important;
    aspect-ratio:1.58/1!important;
    object-fit:cover!important;
    object-position:57% 53%!important;
    transform:none!important;
  }
  .tomoya-base .tomoya-hero-jp{
    left:auto!important;
    right:4%!important;
    top:8%!important;
    font-size:6.5rem!important;
  }
}

/* V55 — Hero: texto arriba + imagen completa abajo, integrada al fondo */
.tomoya-base .tomoya-hero{
  min-height:calc(100svh - 132px)!important;
  height:calc(100svh - 132px)!important;
  display:block!important;
  background:#f4efe7!important;
  position:relative!important;
  overflow:hidden!important;
}
.tomoya-base .tomoya-hero-copy{
  min-height:0!important;
  height:auto!important;
  width:min(calc(100% - 68px),1200px)!important;
  max-width:1200px!important;
  margin:0 auto!important;
  padding:58px 70px 0 0!important;
  display:block!important;
  position:relative!important;
  z-index:6!important;
}
.tomoya-base .tomoya-hero-lead{
  max-width:760px!important;
  margin:0 0 22px!important;
  font-size:clamp(3rem,4.5vw,5.15rem)!important;
  line-height:.96!important;
}
.tomoya-base .tomoya-hero-description{
  max-width:720px!important;
  margin:0 0 18px!important;
  font-size:1.08rem!important;
  line-height:1.62!important;
}
.tomoya-base .tomoya-hero-signature{
  max-width:650px!important;
  margin:0!important;
  font-size:1rem!important;
  line-height:1.58!important;
}
.tomoya-base .tomoya-hero-editorial{
  display:block!important;
  position:absolute!important;
  z-index:3!important;
  left:50%!important;
  right:auto!important;
  bottom:-1%!important;
  top:auto!important;
  width:min(88%,1080px)!important;
  height:54%!important;
  margin:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
  transform:translateX(-50%)!important;
  -webkit-mask-image:
    linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.12) 7%,#000 18%,#000 84%,rgba(0,0,0,.5) 94%,transparent 100%),
    linear-gradient(to right,transparent 0%,rgba(0,0,0,.18) 5%,#000 16%,#000 84%,rgba(0,0,0,.18) 95%,transparent 100%)!important;
  -webkit-mask-composite:source-in!important;
  mask-image:
    linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.12) 7%,#000 18%,#000 84%,rgba(0,0,0,.5) 94%,transparent 100%),
    linear-gradient(to right,transparent 0%,rgba(0,0,0,.18) 5%,#000 16%,#000 84%,rgba(0,0,0,.18) 95%,transparent 100%)!important;
  mask-composite:intersect!important;
}
.tomoya-base .tomoya-hero-editorial img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  filter:saturate(.84) contrast(.96) brightness(1.02)!important;
  transform:none!important;
}
.tomoya-base .tomoya-hero:before{
  right:-19vw!important;
  top:5%!important;
  width:48vw!important;
  height:48vw!important;
  border-color:rgba(125,33,48,.12)!important;
  z-index:1!important;
}
.tomoya-base .tomoya-hero:after{
  right:8vw!important;
  top:12%!important;
  color:rgba(125,33,48,.035)!important;
  z-index:1!important;
}
.tomoya-base .tomoya-hero-jp{
  left:auto!important;
  right:10%!important;
  top:9%!important;
  font-size:clamp(7rem,10vw,10rem)!important;
  color:rgba(125,33,48,.032)!important;
  z-index:1!important;
}

@media(max-width:1000px){
  .tomoya-base .tomoya-hero{
    height:auto!important;
    min-height:calc(100svh - 96px)!important;
  }
  .tomoya-base .tomoya-hero-copy{
    width:calc(100% - 48px)!important;
    padding:48px 0 0!important;
  }
  .tomoya-base .tomoya-hero-editorial{
    width:94%!important;
    height:49%!important;
    bottom:0!important;
  }
  .tomoya-base .tomoya-hero-lead{max-width:760px!important}
  .tomoya-base .tomoya-hero-description{max-width:720px!important}
  .tomoya-base .tomoya-hero-signature{max-width:650px!important}
}

@media(max-width:760px){
  .tomoya-base .tomoya-hero{
    margin-top:82px!important;
    height:auto!important;
    min-height:0!important;
  }
  .tomoya-base .tomoya-hero-copy{
    width:calc(100% - 36px)!important;
    padding:44px 0 0!important;
  }
  .tomoya-base .tomoya-hero-lead{
    max-width:100%!important;
    font-size:clamp(2.5rem,11vw,4.2rem)!important;
    line-height:.98!important;
    margin-bottom:22px!important;
  }
  .tomoya-base .tomoya-hero-description{
    max-width:100%!important;
    font-size:1.02rem!important;
    line-height:1.58!important;
    margin-bottom:17px!important;
  }
  .tomoya-base .tomoya-hero-signature{
    max-width:100%!important;
    font-size:.98rem!important;
    line-height:1.56!important;
  }
  .tomoya-base .tomoya-hero-editorial{
    position:relative!important;
    left:auto!important;
    bottom:auto!important;
    width:calc(100% + 28px)!important;
    height:auto!important;
    margin:12px -14px -4px!important;
    transform:none!important;
    -webkit-mask-image:
      linear-gradient(to bottom,transparent 0%,#000 12%,#000 88%,transparent 100%),
      linear-gradient(to right,transparent 0%,#000 9%,#000 91%,transparent 100%)!important;
    mask-image:
      linear-gradient(to bottom,transparent 0%,#000 12%,#000 88%,transparent 100%),
      linear-gradient(to right,transparent 0%,#000 9%,#000 91%,transparent 100%)!important;
  }
  .tomoya-base .tomoya-hero-editorial img{
    width:100%!important;
    height:auto!important;
    aspect-ratio:1100/656!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
  .tomoya-base .tomoya-hero-jp{
    right:4%!important;
    top:8%!important;
    font-size:6rem!important;
  }
}

/* V56 — Hero: más aire arriba, tipografía protagonista e imagen más pequeña hacia la derecha */
@media(min-width:1001px){
  .tomoya-base .tomoya-hero-copy{
    padding-top:72px!important;
  }
  .tomoya-base .tomoya-hero-lead{
    max-width:800px!important;
    font-size:clamp(3.35rem,5.05vw,5.75rem)!important;
    line-height:.94!important;
    margin-bottom:24px!important;
  }
  .tomoya-base .tomoya-hero-description{
    max-width:760px!important;
    font-size:1.16rem!important;
    line-height:1.64!important;
    margin-bottom:20px!important;
  }
  .tomoya-base .tomoya-hero-signature{
    max-width:690px!important;
    font-size:1.07rem!important;
    line-height:1.6!important;
  }
  .tomoya-base .tomoya-hero-editorial{
    left:auto!important;
    right:-2%!important;
    bottom:-2%!important;
    width:min(74%,900px)!important;
    height:49%!important;
    transform:none!important;
  }
  .tomoya-base .tomoya-hero-editorial img{
    object-position:center bottom!important;
  }
}

@media(max-width:1000px){
  .tomoya-base .tomoya-hero-copy{
    padding-top:58px!important;
  }
  .tomoya-base .tomoya-hero-lead{
    font-size:clamp(3rem,6.4vw,5rem)!important;
    line-height:.96!important;
  }
  .tomoya-base .tomoya-hero-description{
    font-size:1.08rem!important;
  }
  .tomoya-base .tomoya-hero-editorial{
    width:84%!important;
    height:44%!important;
    right:0!important;
    left:auto!important;
    transform:none!important;
  }
}

@media(max-width:760px){
  .tomoya-base .tomoya-hero-copy{
    padding-top:50px!important;
  }
  .tomoya-base .tomoya-hero-lead{
    font-size:clamp(2.7rem,11.5vw,4.5rem)!important;
  }
  .tomoya-base .tomoya-hero-description{
    font-size:1.04rem!important;
  }
  .tomoya-base .tomoya-hero-editorial{
    width:calc(100% - 18px)!important;
    margin:16px 0 -4px auto!important;
  }
}

/* V57 — Hero: reducir vacío y fundir más la escena visual con el fondo */
@media(min-width:1001px){
  .tomoya-base .tomoya-hero-copy{
    padding-top:84px!important;
  }
  .tomoya-base .tomoya-hero-editorial{
    right:-2%!important;
    bottom:-3%!important;
    width:min(72%,880px)!important;
    height:56%!important;
  }
  .tomoya-base .tomoya-hero-editorial img{
    object-position:center bottom!important;
    filter:saturate(.80) contrast(.94) brightness(1.025)!important;
  }
  .tomoya-base .tomoya-hero-editorial{
    -webkit-mask-image:
      linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.06) 4%,rgba(0,0,0,.28) 10%,#000 23%,#000 78%,rgba(0,0,0,.48) 91%,rgba(0,0,0,.16) 97%,transparent 100%),
      linear-gradient(to right,transparent 0%,rgba(0,0,0,.10) 4%,rgba(0,0,0,.48) 11%,#000 20%,#000 82%,rgba(0,0,0,.42) 92%,transparent 100%)!important;
    -webkit-mask-composite:source-in!important;
    mask-image:
      linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.06) 4%,rgba(0,0,0,.28) 10%,#000 23%,#000 78%,rgba(0,0,0,.48) 91%,rgba(0,0,0,.16) 97%,transparent 100%),
      linear-gradient(to right,transparent 0%,rgba(0,0,0,.10) 4%,rgba(0,0,0,.48) 11%,#000 20%,#000 82%,rgba(0,0,0,.42) 92%,transparent 100%)!important;
    mask-composite:intersect!important;
  }
}

@media(max-width:1000px){
  .tomoya-base .tomoya-hero-copy{padding-top:64px!important}
  .tomoya-base .tomoya-hero-editorial{
    height:50%!important;
    bottom:-1%!important;
  }
}

@media(max-width:760px){
  .tomoya-base .tomoya-hero-copy{padding-top:54px!important}
  .tomoya-base .tomoya-hero-editorial{
    height:auto!important;
    margin:8px 0 -4px auto!important;
  }
}

/* V58 — Hero: eliminar el vacío central y suavizar la transición entre texto e imagen */
@media(min-width:1001px){
  .tomoya-base .tomoya-hero-editorial{
    right:-3%!important;
    bottom:-2%!important;
    width:min(76%,930px)!important;
    height:64%!important;
    -webkit-mask-image:
      linear-gradient(to bottom,
        transparent 0%,
        rgba(0,0,0,.035) 4%,
        rgba(0,0,0,.12) 9%,
        rgba(0,0,0,.30) 16%,
        rgba(0,0,0,.62) 25%,
        #000 35%,
        #000 78%,
        rgba(0,0,0,.54) 90%,
        rgba(0,0,0,.18) 97%,
        transparent 100%),
      linear-gradient(to right,
        transparent 0%,
        rgba(0,0,0,.08) 5%,
        rgba(0,0,0,.35) 13%,
        rgba(0,0,0,.72) 23%,
        #000 34%,
        #000 82%,
        rgba(0,0,0,.50) 93%,
        transparent 100%)!important;
    mask-image:
      linear-gradient(to bottom,
        transparent 0%,
        rgba(0,0,0,.035) 4%,
        rgba(0,0,0,.12) 9%,
        rgba(0,0,0,.30) 16%,
        rgba(0,0,0,.62) 25%,
        #000 35%,
        #000 78%,
        rgba(0,0,0,.54) 90%,
        rgba(0,0,0,.18) 97%,
        transparent 100%),
      linear-gradient(to right,
        transparent 0%,
        rgba(0,0,0,.08) 5%,
        rgba(0,0,0,.35) 13%,
        rgba(0,0,0,.72) 23%,
        #000 34%,
        #000 82%,
        rgba(0,0,0,.50) 93%,
        transparent 100%)!important;
    -webkit-mask-composite:source-in!important;
    mask-composite:intersect!important;
  }
  .tomoya-base .tomoya-hero-editorial img{
    object-position:center bottom!important;
    filter:saturate(.76) contrast(.92) brightness(1.035)!important;
  }
}

@media(max-width:1000px){
  .tomoya-base .tomoya-hero-editorial{
    height:50%!important;
    bottom:-1%!important;
  }
}

@media(max-width:760px){
  .tomoya-base .tomoya-hero-editorial{
    height:auto!important;
    margin:4px 0 -4px auto!important;
  }
}

/* V60 — responsive fixes from the client's real-device check.
   Desktop/header above 900px remains unchanged. */
@media (min-width:761px) and (max-width:900px){
  .tomoya-base .unified-site-header{height:96px!important}
  .tomoya-base .unified-nav{
    height:96px!important;
    grid-template-columns:1fr auto!important;
    padding:0 24px!important;
    gap:18px!important;
  }
  .tomoya-base .unified-brand{
    width:160px!important;
    min-width:160px!important;
    max-width:160px!important;
    height:84px!important;
  }
  .tomoya-base .unified-brand img{
    width:160px!important;
    max-width:160px!important;
    max-height:84px!important;
  }
  .tomoya-base .unified-links{
    position:fixed!important;
    inset:96px 0 0!important;
    z-index:20!important;
    background:var(--paper)!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    padding:38px 28px!important;
    gap:24px!important;
    margin:0!important;
    transform:translateX(100%)!important;
    transition:.35s!important;
    overflow:auto!important;
  }
  .tomoya-base .unified-links.open{transform:none!important}
  .tomoya-base .unified-links a{
    font-family:Georgia,"Times New Roman",Times,serif!important;
    font-size:1.18rem!important;
    letter-spacing:.035em!important;
  }
  .tomoya-base .unified-links .nav-cta{padding:13px 22px!important}
  .tomoya-base .unified-site-header .nav-toggle{
    display:block!important;
    position:relative!important;
    z-index:30!important;
    background:none!important;
    border:0!important;
    width:42px!important;
    height:42px!important;
  }
  .tomoya-base .unified-site-header .nav-toggle span{
    display:block!important;
    height:1px!important;
    background:var(--ink)!important;
    margin:6px 4px!important;
  }
  html{scroll-padding-top:96px!important}
  .tomoya-base main section[id]{scroll-margin-top:96px!important}
}

/* Keep the complete Okasan flower comfortably separated from the mobile title. */
@media(max-width:760px){
  .tomoya-base .tomoya-buy-card{
    grid-template-rows:auto 70px 48px 1fr auto!important;
  }
  .tomoya-base .tomoya-buy-card .buy-brand-logo-okasan,
  .tomoya-base .tomoya-buy-card .buy-brand-logo{
    height:70px!important;
    min-height:70px!important;
  }
  .tomoya-base .tomoya-buy-card .buy-brand-logo-okasan img{
    width:64px!important;
    height:64px!important;
    max-width:64px!important;
    max-height:64px!important;
  }
}
