.info-header-title { display:grid; gap:2px; justify-items:center; color:var(--green-950); }
.info-header-title small { color:var(--orange-700); font-size:10px; font-weight:900; letter-spacing:.16em; }
.info-header-title strong { font-family:Georgia, 'Times New Roman', serif; font-size:22px; }
.current-menu-link { color:#ffd39f !important; }
.info-hero { overflow:hidden; background:linear-gradient(125deg,#fbf7ec 0%,#fffdfa 55%,#edf4e8 100%); }
.info-hero-grid { min-height:570px; display:grid; grid-template-columns:.92fr 1.08fr; align-items:center; gap:56px; }
.info-hero-copy { padding:70px 0; }
.info-hero h1 { margin:8px 0 22px; color:var(--green-950); font-family:Georgia,'Times New Roman',serif; font-size:clamp(48px,6vw,80px); line-height:.98; }
.info-hero-copy > p:not(.kicker) { max-width:650px; margin:0 0 28px; color:#52635a; font-size:18px; line-height:1.7; }
.info-hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.info-hero-image { position:relative; min-height:470px; overflow:hidden; border-radius:28px; box-shadow:0 24px 65px rgba(16,58,36,.18); }
.info-hero-image img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.info-hero-image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 52%,rgba(7,42,24,.63)); }
.info-hero-caption { position:absolute; z-index:2; left:28px; right:28px; bottom:25px; color:#fff; }
.info-hero-caption strong { display:block; margin-bottom:5px; font-size:20px; }
.info-hero-caption span { color:#deeadf; }
.info-section { padding:82px 0; }
.info-section.soft { background:#f7f4ea; }
.info-intro-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:64px; align-items:start; }
.info-intro-grid h2, .contact-intro h2 { margin:8px 0 0; color:var(--green-950); font-family:Georgia,'Times New Roman',serif; font-size:clamp(38px,4.4vw,58px); line-height:1.08; }
.info-story { display:grid; gap:18px; color:#536159; font-size:17px; line-height:1.75; }
.info-story p { margin:0; }
.value-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:38px; }
.value-grid article { min-height:250px; padding:30px 26px; border:1px solid #e6e7de; border-radius:18px; background:#fff; box-shadow:0 12px 30px rgba(20,63,40,.06); }
.value-grid span { display:grid; place-items:center; width:54px; height:54px; border-radius:50%; background:#eef5e9; font-size:27px; }
.value-grid h3 { margin:22px 0 9px; color:var(--green-950); }
.value-grid p { margin:0; color:#68746d; line-height:1.6; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:36px; overflow:hidden; border:1px solid #dfe5dc; border-radius:20px; background:#dfe5dc; }
.process-grid article { position:relative; min-height:250px; padding:32px 27px; background:#fff; }
.process-grid b { color:#d9e4da; font-size:42px; }
.process-grid span { display:block; margin:22px 0 12px; font-size:32px; }
.process-grid h3 { margin:0 0 8px; color:var(--green-950); }
.process-grid p { margin:0; color:#67736c; line-height:1.6; }
.about-visual-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:24px; align-items:stretch; }
.about-visual-grid img { width:100%; height:100%; min-height:390px; object-fit:cover; border-radius:22px; }
.about-visual-copy { padding:48px; border-radius:22px; background:var(--green-950); color:#fff; }
.about-visual-copy h2 { margin:8px 0 18px; color:#fff; font-family:Georgia,'Times New Roman',serif; font-size:44px; }
.about-visual-copy p { color:#d5e1da; line-height:1.75; }
.area-chips { display:flex; flex-wrap:wrap; gap:10px; margin:24px 0 30px; }
.area-chips span { padding:10px 14px; border:1px solid rgba(255,255,255,.22); border-radius:999px; background:rgba(255,255,255,.08); font-weight:800; font-size:13px; }
.contact-page { padding:76px 0 90px; background:#f8f5ed; }
.contact-intro { max-width:760px; margin-bottom:38px; }
.contact-intro > p:not(.kicker) { color:#5e6c64; line-height:1.7; font-size:17px; }
.contact-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:38px; }
.contact-card { min-height:245px; padding:30px; border:1px solid #e3e5dc; border-radius:19px; background:#fff; box-shadow:0 13px 35px rgba(13,55,33,.06); }
.contact-card > span { display:grid; place-items:center; width:55px; height:55px; border-radius:50%; background:#edf5e9; font-size:27px; }
.contact-card h3 { margin:22px 0 8px; color:var(--green-950); font-size:22px; }
.contact-card p { min-height:50px; margin:0 0 19px; color:#67736c; line-height:1.6; }
.contact-card a, .contact-card button { padding:0; border:0; background:transparent; color:var(--orange-700); font-weight:900; cursor:pointer; text-decoration:none; }
.contact-layout { display:grid; grid-template-columns:1.1fr .9fr; gap:24px; align-items:start; }
.contact-form-card, .delivery-card { padding:38px; border:1px solid #e1e5dc; border-radius:22px; background:#fff; }
.contact-form-card h2, .delivery-card h2 { margin:7px 0 10px; color:var(--green-950); font-family:Georgia,'Times New Roman',serif; font-size:38px; }
.contact-form-card > p, .delivery-card > p { color:#66736b; line-height:1.65; }
.contact-form { display:grid; gap:16px; margin-top:25px; }
.contact-form label { display:grid; gap:8px; color:var(--green-950); font-size:13px; font-weight:900; }
.contact-form input, .contact-form textarea, .contact-form select { width:100%; padding:14px 15px; border:1px solid #d5ddd4; border-radius:11px; background:#fff; color:#22352a; outline:0; font:inherit; }
.contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus { border-color:var(--orange-600); box-shadow:0 0 0 3px rgba(242,140,40,.12); }
.contact-form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.delivery-list { display:grid; gap:15px; margin-top:24px; }
.delivery-list article { display:grid; grid-template-columns:38px 1fr; gap:12px; padding:17px; border-radius:13px; background:#f4f7f1; }
.delivery-list span { font-size:23px; }
.delivery-list strong { display:block; margin-bottom:4px; color:var(--green-950); }
.delivery-list p { margin:0; color:#66736b; line-height:1.5; font-size:14px; }
.contact-note { margin-top:20px; padding:18px; border-left:4px solid var(--orange-600); border-radius:10px; background:#fff6e9; color:#625744; line-height:1.6; }
.info-footer-links { display:flex; flex-wrap:wrap; gap:17px; }
.info-toast { position:fixed; z-index:100; left:50%; bottom:25px; transform:translate(-50%,18px); padding:12px 18px; border-radius:999px; background:var(--green-950); color:#fff; opacity:0; pointer-events:none; transition:.2s ease; }
.info-toast.show { opacity:1; transform:translate(-50%,0); }
@media (max-width:900px) {
  .info-hero-grid, .info-intro-grid, .about-visual-grid, .contact-layout { grid-template-columns:1fr; }
  .value-grid, .process-grid { grid-template-columns:repeat(2,1fr); }
  .contact-card-grid { grid-template-columns:1fr; }
  .info-hero-grid { gap:0; }
  .info-hero-copy { padding:55px 0 34px; }
  .info-hero-image { min-height:420px; }
}
@media (max-width:760px) {
  .info-header-title { display:none; }
  .info-hero-grid { width:100%; }
  .info-hero-copy { padding:45px 22px 32px; }
  .info-hero h1 { font-size:48px; }
  .info-hero-copy > p:not(.kicker) { font-size:16px; }
  .info-hero-image { min-height:370px; border-radius:0; }
  .info-section, .contact-page { padding:55px 0; }
  .info-intro-grid { gap:24px; }
  .value-grid, .process-grid { grid-template-columns:1fr; }
  .value-grid article, .process-grid article { min-height:0; }
  .about-visual-copy { padding:32px 24px; border-radius:16px; }
  .about-visual-copy h2 { font-size:36px; }
  .about-visual-grid img { min-height:320px; border-radius:16px; }
  .contact-form-card, .delivery-card { padding:27px 20px; border-radius:16px; }
  .contact-form-card h2, .delivery-card h2 { font-size:33px; }
  .contact-form-row { grid-template-columns:1fr; }
  .contact-card { min-height:0; }
  .info-footer-links { display:grid; gap:10px; }
}


/* Reliable hamburger menu navigation on touch devices */
@media (max-width: 760px) {
  .category-nav.open .nav-inner a,
  .reference-home .ref-nav.open .nav-inner a {
    display: block !important;
    width: 100%;
    position: relative;
    z-index: 2;
    pointer-events: auto !important;
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(255,255,255,.08);
  }
  .category-nav.open .nav-inner a.menu-only-page,
  .reference-home .ref-nav.open .nav-inner a.menu-only-page {
    display: block !important;
  }
}
