/* HALAL ICHIBA Global — design system (rebuilt from dc mockups, i18n-ready) */
:root{
  --green:#008C43; --green-dark:#005127; --green-hover:#04BC5C; --green-deep:#00401F;
  --tint:#EEF8F3; --line:#CBEBDA; --ink:#1F2A24; --muted:#6B7A72; --white:#fff;
  --serif:'Cormorant Garamond','Noto Serif JP',Georgia,serif;
  --sans:'Instrument Sans','Noto Sans JP',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --max:1200px; --pad:24px; --radius:10px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.68;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%}
a{color:var(--green);text-decoration:none}
a:hover{color:var(--green-hover)}
h1,h2,h3,p{margin:0}
.container{max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.serif{font-family:var(--serif)}
.eyebrow{color:var(--green);font-size:13px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;margin:0 0 18px}
.kicker{color:var(--muted);font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px}
.lead{color:var(--ink);font-size:clamp(16px,1.7vw,19px);line-height:1.72}
.muted{color:var(--muted)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:16px;padding:15px 28px;border-radius:6px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,color .15s}
.btn--primary{background:var(--green);color:#fff}
.btn--primary:hover{background:var(--green-hover);color:#fff}
.btn--ghost{background:rgba(255,255,255,.7);border-color:var(--line);color:var(--green-dark);backdrop-filter:blur(4px)}
.btn--ghost:hover{border-color:var(--green-hover);color:var(--green-dark)}
.btn--sm{padding:10px 18px;font-size:14px}
.arrow-link{color:var(--green);font-weight:600;font-size:14.5px}

/* top bar */
.topbar{background:var(--tint);border-bottom:1px solid var(--line)}
.topbar__inner{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px var(--pad);font-size:13px;color:var(--muted)}
.topbar a{font-weight:500}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.site-header__inner{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:0 var(--pad)}
.brand{display:flex;align-items:center;gap:10px}
.brand__logo{height:32px;width:auto;display:block}
.brand__badge{background:var(--green);color:#fff;font-size:13px;font-weight:600;letter-spacing:.08em;padding:7px 9px;border-radius:4px}
.brand__word{font-family:var(--serif);font-style:italic;font-weight:600;font-size:23px;color:var(--green-dark);line-height:1}
.nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.nav a{color:var(--ink);font-size:15.5px;font-weight:500}
.nav a:hover{color:var(--green-hover)}
.nav__cta{background:var(--green);color:#fff !important;padding:10px 18px;border-radius:6px}
.nav__cta:hover{background:var(--green-hover)}
/* language switcher */
.lang{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:999px;padding:2px;background:#fff}
.lang a{font-size:12.5px;font-weight:600;color:var(--muted);padding:5px 10px;border-radius:999px;line-height:1}
.lang a:hover{color:var(--green)}
.lang a[aria-current="true"]{background:var(--green);color:#fff}

/* hero */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--tint) 0%,#fff 100%);display:flex;align-items:center;min-height:calc(100vh - 104px);min-height:calc(100dvh - 104px)}
.hero__bg{position:absolute;inset:0;opacity:.5;pointer-events:none;z-index:0}
.hero__inner{position:relative;z-index:1;width:100%;display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center;padding:48px var(--pad)}
.hero__title{font-family:var(--serif);font-weight:500;font-size:clamp(38px,5.4vw,64px);line-height:1.06;color:var(--green-dark);margin:0 0 18px;max-width:15ch}
.hero__lead{max-width:52ch;margin:0 0 30px}
.hero__cta{display:flex;gap:12px;flex-wrap:wrap}
.hero__art{position:relative;min-height:560px}
.hero__orb{position:absolute;display:block;border-radius:50%;object-fit:cover;border:7px solid #fff;box-shadow:0 20px 44px rgba(20,45,32,.28)}
.hero__orb--matcha{top:0;right:0;width:56%;aspect-ratio:1/1}
.hero__orb--wagyu{bottom:0;left:0;width:56%;aspect-ratio:1/1}
.hero__scroll{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);color:var(--muted);font-size:12px;letter-spacing:.18em;text-transform:uppercase}
/* export band with globe backdrop */
.hero3d-band{position:relative;overflow:hidden}
.band__globe{position:absolute;right:-6%;top:50%;transform:translateY(-50%);width:min(620px,60%);aspect-ratio:1/1;opacity:.5;pointer-events:none}
@media(max-width:900px){
  .hero{min-height:auto;display:block}
  .hero__bg{display:none}
  .hero__inner{grid-template-columns:1fr;gap:20px;padding:40px var(--pad) 56px}
  .hero__art{order:-1;min-height:340px}
  .hero__orb--matcha{width:52%}
  .hero__orb--wagyu{width:52%}
  .band__globe{display:none}
}

/* sections */
.section{padding:72px 0}
.section--tint{background:var(--tint)}
.section--tight{padding:40px 0}
.h2{font-family:var(--serif);font-weight:500;font-size:clamp(28px,3.4vw,40px);color:var(--green-dark);margin:0 0 24px}
.h2--sm{font-size:clamp(26px,3vw,36px)}

/* product feature cards (home) */
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px}
.feature{display:block;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;color:var(--ink)}
.feature:hover{border-color:var(--green-hover)}
.feature__media{height:300px;overflow:hidden}
.feature__media img{width:100%;height:100%;object-fit:cover}
.feature__body{padding:24px 26px 28px}
.feature__title{font-family:var(--serif);font-weight:600;font-size:30px;color:var(--green-dark);margin:0 0 8px}
.feature__desc{color:var(--muted);font-size:16px;line-height:1.65;margin:0 0 14px}

/* category grid */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.cat{border:1px solid var(--line);border-radius:8px;padding:16px 18px}
.cat__name{font-weight:600;font-size:16px;color:var(--ink);margin:0 0 4px}
.cat__desc{font-size:14.5px;color:var(--muted);margin:0;line-height:1.55}

/* two-column track record */
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:48px;align-items:start}
.checklist{display:grid;gap:8px;margin-top:20px;font-size:14.5px}
.checklist>div{display:flex;gap:10px;align-items:baseline}
.checklist .mk{color:var(--green);font-weight:700}
.stats{display:flex;gap:40px;flex-wrap:wrap}
.stats{gap:48px}
.stat__num{font-family:var(--serif);font-size:48px;font-weight:600;color:var(--green);line-height:1}
.stat__label{font-size:14.5px;color:var(--muted);margin-top:4px}

/* certifications */
.certs{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.chip{border:1px solid var(--line);border-radius:999px;padding:10px 18px;font-size:15px;font-weight:500;color:var(--ink)}

/* CTA band */
.cta-band{border-top:1px solid var(--line);text-align:center}
.cta-band .h2{margin-bottom:12px}

/* breadcrumb / pagenav */
.crumb{color:var(--muted);font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px}
.crumb a{color:var(--muted)}
.crumb a:hover{color:var(--green-hover)}
.pagenav{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:40px;padding-top:24px;border-top:1px solid var(--line);font-weight:600;font-size:14.5px}

/* product grid (matcha grades / wagyu brands) */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.tile{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;color:var(--ink)}
.tile:hover{border-color:var(--green-hover)}
.tile__media{aspect-ratio:4/3;overflow:hidden;background:var(--tint)}
.tile__media img{width:100%;height:100%;object-fit:cover}
.tile__body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.tile__tag{color:var(--green);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
.tile__title{font-family:var(--serif);font-weight:600;font-size:25px;color:var(--green-dark);margin:0}
.tile__desc{color:var(--muted);font-size:15.5px;line-height:1.65;margin:0}
.tile__more{margin-top:auto;color:var(--green);font-weight:600;font-size:15px}
.tile__tag{font-size:12px}

/* PDP */
.pdp{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:start}
.pdp__media{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--tint)}
.pdp__media img{width:100%;height:100%;object-fit:cover}
.pdp__title{font-family:var(--serif);font-weight:500;font-size:clamp(30px,4vw,44px);color:var(--green-dark);margin:6px 0 14px}
.price-note{color:var(--muted);font-size:15px}
.buybar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:20px 0 8px}
.spec{width:100%;border-collapse:collapse;font-size:15.5px;margin-top:8px}
.spec th,.spec td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.spec th{width:38%;color:var(--muted);font-weight:600;background:var(--tint)}

/* cuts guide */
.cutgroup{margin-top:40px}
.cutgroup__head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;border-bottom:2px solid var(--green);padding-bottom:8px;margin-bottom:6px}
.cutgroup__title{font-family:var(--serif);font-weight:600;font-size:24px;color:var(--green-dark)}
.cutgroup__count{color:var(--green);font-size:13px;font-weight:600}
.cutgroup__desc{color:var(--muted);font-size:14.5px;max-width:70ch;margin:8px 0 16px}
.cuts{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.cutcard{border:1px solid var(--line);border-radius:8px;padding:14px 16px}
.cutcard__name{font-weight:600;font-size:16px;color:var(--ink)}
.cutcard__wt{color:var(--green);font-size:14px;font-weight:600;margin-left:6px}
.cutcard__use{color:var(--muted);font-size:14.5px;margin:6px 0 0;line-height:1.55}

/* form */
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:20px}
.field{display:grid;gap:7px;font-size:13.5px;font-weight:600;color:var(--ink)}
.field .req{color:var(--green)}
.input,.select,.textarea{border:1px solid var(--line);border-radius:6px;padding:12px 14px;font-size:15px;color:var(--ink);font-weight:400;font-family:var(--sans);background:#fff;outline:none;width:100%}
.textarea{resize:vertical}
.input:focus,.select:focus,.textarea:focus{border-color:var(--green)}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}
.chip-toggle{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:9px 16px;font-size:14px;font-weight:500;cursor:pointer;font-family:var(--sans)}
.chip-toggle:hover{border-color:var(--green-hover)}
.chip-toggle[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#fff}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--muted);margin:4px 0 24px;font-weight:400}
.consent input{margin-top:3px;flex:none}
.form-note{font-size:13.5px;color:var(--muted)}
.form-error{font-size:13px;color:#B3261E;margin:14px 0 0;min-height:1em}
.form-success{text-align:center;padding:72px 24px;border:1px solid var(--line);border-radius:12px;background:var(--tint)}
.form-success__mark{width:56px;height:56px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;margin:0 auto 20px}

/* footer */
.site-footer{background:var(--green-dark);color:#fff}
.site-footer a{color:#fff}
.site-footer a:hover{color:var(--green-hover)}
.footer__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:36px;padding:56px var(--pad) 44px}
.footer__brand .brand__badge{background:#fff;color:var(--green-dark)}
.footer__brand .brand__logo{filter:brightness(0) invert(1)}
.footer__brand .brand__word{color:#fff}
.footer__desc{margin:12px 0 0;font-size:14px;line-height:1.7;color:var(--line);max-width:32ch}
.footer__col p.h{margin:0 0 12px;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--line)}
.footer__links{display:grid;gap:8px;font-size:14.5px}
.footer__legal{background:var(--green-deep);border-top:1px solid rgba(255,255,255,.15)}
.footer__legal-inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px 36px;padding:22px var(--pad);font-size:12.5px;line-height:1.7;color:#fff}
.footer__legal a{text-decoration:underline}

/* whatsapp float */
.wa{position:fixed;right:18px;bottom:18px;z-index:60;display:inline-flex;align-items:center;gap:8px;background:#25D366;color:#fff;font-weight:600;font-size:14px;padding:12px 16px;border-radius:999px;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.wa:hover{color:#fff;filter:brightness(1.05)}
.wa svg{width:20px;height:20px;fill:currentColor}

@media(max-width:900px){
  .pdp{grid-template-columns:1fr;gap:24px}
}
@media(max-width:640px){
  .section{padding:52px 0}
  .hero__inner{padding:56px var(--pad)}
  .nav{gap:14px}
  .wa span{display:none}
}

/* cookie consent banner */
.consent-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:70;max-width:820px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.14);padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:14px;color:var(--ink)}
.consent-banner__btns{display:flex;gap:8px;flex-wrap:wrap}

/* FAQ */
.faq{display:grid;gap:0}
.faq__item{padding:20px 0;border-top:1px solid var(--line)}
.faq__item:last-child{border-bottom:1px solid var(--line)}
.faq__q{font-family:var(--serif);font-weight:600;font-size:20px;color:var(--green-dark);margin:0 0 8px}
.faq__a{color:var(--ink);font-size:16px;line-height:1.7;max-width:74ch;margin:0}

/* ---------- hamburger menu (tablet / mobile) ---------- */
.nav-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--green-dark);cursor:pointer;padding:0;flex:none}
.nav-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.nav-toggle .nt-close{display:none}
.nav-open .nav-toggle .nt-open{display:none}
.nav-open .nav-toggle .nt-close{display:inline}
@media(max-width:900px){
  .site-header__inner{flex-wrap:nowrap;min-height:60px}
  .brand__logo{height:28px}
  .brand__word{font-size:20px}
  .nav-toggle{display:inline-flex}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 16px 30px rgba(20,45,32,.12);padding:4px 0 20px;max-height:calc(100vh - 60px);overflow:auto}
  .nav-open .nav{display:flex}
  .nav a{padding:15px var(--pad);font-size:17px;border-bottom:1px solid var(--line)}
  .nav .nav__cta{margin:18px var(--pad) 0;text-align:center;justify-content:center;border-radius:8px;border-bottom:0;padding:14px}
  .nav .lang{align-self:flex-start;margin:16px var(--pad) 0}
  .nav .lang a{padding:8px 14px;font-size:14px;border-bottom:0}
  .topbar__inner{justify-content:center;text-align:center;font-size:12px;padding:6px var(--pad)}
  .topbar__inner > span:first-child{display:none}
}

/* About: operator (Tradi) block */
.operator{display:flex;align-items:center;gap:32px;flex-wrap:wrap;border:1px solid var(--line);border-radius:14px;background:#fff;padding:26px 30px;margin:30px 0 6px}
.operator__logo{height:58px;width:auto;flex:none}
.operator__text{min-width:220px;flex:1}
.operator__text .kicker{margin:0 0 4px}
.operator__name{font-family:var(--serif);font-weight:600;font-size:26px;color:var(--green-dark);margin:0 0 4px}
.operator__meta{color:var(--muted);font-size:15px;margin:0}
@media(max-width:640px){.operator{gap:18px;padding:22px}.operator__logo{height:46px}}

/* About: company profile table */
.spec.company th{width:32%}
.spec.company td a{color:var(--green)}
@media(max-width:640px){.spec.company th,.spec.company td{display:block;width:100%}.spec.company th{border-bottom:0;padding-bottom:4px}}
