  :root{
    --ink:#1c140f;
    --ink-2:#150f0b;
    --wood:#2b1e14;
    --wood-light:#3a2a1c;
    --leaf:#5c7a49;
    --leaf-dark:#3f5936;
    --turmeric:#e4a335;
    --turmeric-light:#f0c169;
    --chili:#c0432d;
    --paper:#f3ead4;
    --paper-dim:#cdbb96;
    --paper-dim2:#8e7a5c;
    --radius:18px;
    --shadow: 0 20px 50px -20px rgba(0,0,0,0.6);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--ink);
    color:var(--paper);
    font-family:'Plus Jakarta Sans', sans-serif;
    overflow-x:hidden;
    line-height:1.5;
  }
  img,svg{display:block;max-width:100%;}
  a{color:inherit;text-decoration:none;}
  ul{list-style:none;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
  h1,h2,h3,h4{font-family:'Fraunces', serif;font-weight:700;letter-spacing:-0.01em;color:var(--paper);}
  .accent-script{font-family:'Caveat',cursive;font-weight:700;color:var(--turmeric-light);}
  .eyebrow{
    font-family:'Caveat',cursive;
    font-size:clamp(1.2rem,2vw,1.5rem);
    color:var(--turmeric-light);
    display:inline-block;
    margin-bottom:6px;
    transform:rotate(-2deg);
  }
  .btn{
    display:inline-flex;align-items:center;gap:10px;
    padding:14px 28px;
    border-radius:999px;
    font-weight:700;
    font-size:0.98rem;
    cursor:pointer;
    border:2px solid transparent;
    transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
    white-space:nowrap;
  }
  .btn:hover{transform:translateY(-3px);}
  .btn-primary{background:var(--chili);color:var(--paper);box-shadow:0 12px 30px -10px rgba(192,67,45,0.65);}
  .btn-primary:hover{background:#d64e35;}
  .btn-outline{border-color:var(--paper-dim);color:var(--paper);}
  .btn-outline:hover{border-color:var(--turmeric);color:var(--turmeric-light);}

  /* ===== Texture backdrop ===== */
  .weave-bg{
    position:fixed;inset:0;z-index:-2;
    background:
      radial-gradient(ellipse at 15% 0%, rgba(228,163,53,0.10), transparent 45%),
      radial-gradient(ellipse at 90% 20%, rgba(92,122,73,0.12), transparent 40%),
      var(--ink);
  }

  /* ===== Header ===== */
  header{
    position:sticky;top:0;z-index:100;
    background:rgba(28,20,15,0.85);
    backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(243,234,212,0.08);
    transition:padding .3s ease;
  }
  .nav-row{display:flex;align-items:center;justify-content:space-between;padding-top:18px;padding-bottom:18px;}
  .logo{display:flex;align-items:center;gap:10px;}
  .logo-badge{
    width:34px;height:34px;border-radius:9px;
    background:linear-gradient(145deg, var(--turmeric), var(--chili));
    display:flex;align-items:center;justify-content:center;
    font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;color:var(--ink);font-size:0.92rem;
  }
  .logo-text{
    font-family:'Plus Jakarta Sans',sans-serif;
    font-weight:700;
    font-size:1.05rem;
    letter-spacing:-0.01em;
    color:var(--paper);
  }
  .logo-text .accent{
    color:var(--turmeric-light);
    font-weight:700;
  }
  .nav-links{display:flex;gap:34px;align-items:center;}
  .nav-links a{font-weight:600;font-size:0.95rem;color:var(--paper-dim);transition:color .2s;position:relative;}
  .nav-links a:hover{color:var(--turmeric-light);}
  .nav-cta{display:flex;align-items:center;gap:16px;}
  .burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px;}
  .burger span{width:24px;height:2px;background:var(--paper);border-radius:2px;}

  /* ===== Hero ===== */
  .hero{
    position:relative;
    padding:80px 0 100px;
    overflow:hidden;
  }
  .hero .wrap{display:grid;grid-template-columns:1.1fr 0.9fr;gap:50px;align-items:center;}
  .rating-chip{
    display:inline-flex;align-items:center;gap:8px;
    background:var(--wood);border:1px solid rgba(243,234,212,0.1);
    padding:8px 16px;border-radius:999px;font-size:0.85rem;color:var(--paper-dim);
    margin-bottom:22px;
  }
  .rating-chip strong{color:var(--turmeric-light);}
  .hero h1{
    font-size:clamp(2.4rem, 5vw, 4rem);
    line-height:1.05;
    margin-bottom:22px;
  }
  .hero h1 em{
    font-style:italic;
    background:linear-gradient(180deg, transparent 60%, rgba(228,163,53,0.35) 60%);
    padding:0 4px;
  }
  .hero p.lead{
    color:var(--paper-dim);
    font-size:1.08rem;
    max-width:480px;
    margin-bottom:34px;
  }
  .hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:40px;}
  .hero-stats{display:flex;gap:34px;flex-wrap:wrap;}
  .hero-stats div{display:flex;flex-direction:column;}
  .hero-stats strong{font-family:'Fraunces',serif;font-size:1.8rem;color:var(--turmeric-light);}
  .hero-stats span{font-size:0.82rem;color:var(--paper-dim2);}

  /* Signature: hanging menu board */
  .board-wrap{position:relative;display:flex;justify-content:center;}
  .board-string{
    position:absolute;top:-30px;left:50%;transform:translateX(-50%);
    width:2px;height:34px;background:var(--paper-dim2);
  }
  .board{
    position:relative;
    width:100%;max-width:400px;
    background:linear-gradient(160deg, var(--wood-light), var(--wood) 70%);
    border-radius:14px;
    padding:34px 30px 30px;
    border:1px solid rgba(243,234,212,0.08);
    box-shadow:var(--shadow);
    transform:rotate(-3deg);
    animation:sway 6s ease-in-out infinite;
  }
  @keyframes sway{
    0%,100%{transform:rotate(-3deg);}
    50%{transform:rotate(2deg);}
  }
  .board::before{
    content:"";position:absolute;inset:10px;
    border:1px dashed rgba(228,163,53,0.35);border-radius:8px;pointer-events:none;
  }
  .board-title{
    font-family:'Caveat',cursive;font-weight:700;color:var(--turmeric-light);
    font-size:1.6rem;text-align:center;margin-bottom:4px;transform:rotate(-1deg);
  }
  .board-sub{text-align:center;color:var(--paper-dim2);font-size:0.78rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:18px;}
  .board-item{
    display:flex;justify-content:space-between;align-items:baseline;
    padding:9px 0;border-bottom:1px dotted rgba(243,234,212,0.15);
    font-size:0.95rem;
  }
  .board-item:last-child{border-bottom:none;}
  .board-item span:first-child{color:var(--paper);font-weight:600;}
  .board-item span:last-child{color:var(--turmeric-light);font-family:'Fraunces',serif;font-weight:600;}
  .pin{
    position:absolute;top:-14px;left:50%;transform:translateX(-50%);
    width:26px;height:26px;border-radius:50%;
    background:radial-gradient(circle at 35% 30%, #e6603f, var(--chili));
    box-shadow:0 6px 10px -3px rgba(0,0,0,0.5);
  }
  .steam-scene{position:absolute;bottom:-40px;right:-30px;width:140px;opacity:0.9;}
  .steam{
    stroke:var(--paper-dim);stroke-width:3;fill:none;stroke-linecap:round;
    animation:rise 3.5s ease-in-out infinite;
    transform-origin:bottom;
  }
  .steam.s2{animation-delay:1.1s;}
  .steam.s3{animation-delay:2.2s;}
  @keyframes rise{
    0%{opacity:0;transform:translateY(6px) scaleY(0.8);}
    30%{opacity:0.8;}
    100%{opacity:0;transform:translateY(-22px) scaleY(1.15);}
  }
  @media (prefers-reduced-motion: reduce){
    .board{animation:none;}
    .steam{animation:none;opacity:0.4;}
  }

  /* ===== Section shell ===== */
  section{padding:100px 0;position:relative;}
  .section-head{max-width:640px;margin-bottom:56px;}
  .section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
  .section-head h2{font-size:clamp(1.9rem,3.4vw,2.7rem);margin-top:8px;}
  .section-head p{color:var(--paper-dim);margin-top:14px;font-size:1.02rem;}

  /* ===== Menu ===== */
  .menu-tabs{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:40px;}
  .tab-btn{
    padding:11px 22px;border-radius:999px;border:1px solid rgba(243,234,212,0.15);
    background:transparent;color:var(--paper-dim);font-weight:600;cursor:pointer;font-family:inherit;font-size:0.92rem;
    transition:all .25s ease;
  }
  .tab-btn.active{background:var(--turmeric);color:var(--ink);border-color:var(--turmeric);}
  .menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px;}
  .menu-panel{display:none;}
  .menu-panel.active{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px;}
  .menu-card{
    background:var(--wood);
    border:1px solid rgba(243,234,212,0.07);
    border-radius:var(--radius);
    padding:24px;
    position:relative;
    transition:transform .3s ease, border-color .3s ease;
  }
  .menu-card:hover{transform:translateY(-6px);border-color:rgba(228,163,53,0.4);}
  .menu-card .icon-tile{
    width:56px;height:56px;border-radius:14px;
    display:flex;align-items:center;justify-content:center;margin-bottom:16px;
    background:rgba(228,163,53,0.12);
  }
  .menu-card h4{font-size:1.15rem;margin-bottom:6px;}
  .menu-card p{color:var(--paper-dim2);font-size:0.88rem;margin-bottom:16px;min-height:40px;}
  .menu-card .price-row{display:flex;justify-content:space-between;align-items:center;border-top:1px dashed rgba(243,234,212,0.15);padding-top:14px;}
  .price-tag{font-family:'Fraunces',serif;font-weight:700;color:var(--turmeric-light);font-size:1.15rem;}
  .badge-pedas{font-size:0.72rem;background:rgba(192,67,45,0.18);color:#e9836f;padding:4px 9px;border-radius:999px;font-weight:700;}
  .badge-telur{font-size:0.72rem;background:rgba(228,163,53,0.18);color:var(--turmeric-light);padding:4px 9px;border-radius:999px;font-weight:700;}
  .badge-notelur{font-size:0.72rem;background:rgba(92,122,73,0.22);color:#a8c497;padding:4px 9px;border-radius:999px;font-weight:700;}
  .btn-order{
    width:100%;margin-top:14px;padding:11px 16px;
    border-radius:999px;border:1.5px solid var(--turmeric);
    background:transparent;color:var(--turmeric-light);
    font-family:inherit;font-weight:700;font-size:0.88rem;
    cursor:pointer;transition:all .2s ease;
  }
  .btn-order:hover{background:var(--turmeric);color:var(--ink);}
  .btn-order.added{background:var(--leaf);border-color:var(--leaf);color:var(--paper);}

  /* ===== Cart FAB ===== */
  .cart-fab{
    position:fixed;bottom:24px;right:24px;z-index:200;
    width:58px;height:58px;border-radius:50%;
    background:var(--chili);color:var(--paper);
    display:flex;align-items:center;justify-content:center;
    font-size:1.4rem;border:none;cursor:pointer;
    box-shadow:0 12px 30px -8px rgba(192,67,45,0.65);
    transition:transform .25s ease;
  }
  .cart-fab:hover{transform:translateY(-3px);}
  .cart-count{
    position:absolute;top:-2px;right:-2px;
    background:var(--turmeric);color:var(--ink);
    font-size:0.72rem;font-weight:800;
    min-width:22px;height:22px;padding:0 4px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    border:2px solid var(--ink);
  }
  .cart-count.hidden{display:none;}

  /* ===== Toast ===== */
  .toast{
    position:fixed;bottom:96px;left:50%;
    transform:translateX(-50%) translateY(16px);
    background:var(--leaf-dark);color:var(--paper);
    padding:12px 22px;border-radius:999px;
    font-size:0.86rem;font-weight:600;
    box-shadow:var(--shadow);
    opacity:0;pointer-events:none;z-index:250;
    transition:opacity .3s ease, transform .3s ease;
  }
  .toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

  /* ===== Order Modal ===== */
  .modal-overlay{
    position:fixed;inset:0;z-index:300;
    background:rgba(10,7,5,0.72);backdrop-filter:blur(3px);
    display:flex;align-items:center;justify-content:center;
    padding:20px;
    opacity:0;pointer-events:none;transition:opacity .3s ease;
  }
  .modal-overlay.open{opacity:1;pointer-events:auto;}
  .modal-panel{
    position:relative;width:100%;max-width:440px;max-height:88vh;
    overflow-y:auto;background:var(--wood);
    border:1px solid rgba(243,234,212,0.08);border-radius:22px;
    padding:28px 24px 26px;
    transform:translateY(20px);transition:transform .3s ease;
  }
  .modal-overlay.open .modal-panel{transform:translateY(0);}
  .modal-close{
    position:absolute;top:16px;right:16px;
    width:34px;height:34px;border-radius:50%;
    background:rgba(243,234,212,0.08);border:none;color:var(--paper);
    font-size:1.05rem;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
  }
  .modal-close:hover{background:rgba(243,234,212,0.16);}
  .modal-step{display:none;}
  .modal-step.active{display:block;}
  .modal-title{font-family:'Fraunces',serif;font-size:1.35rem;margin-bottom:4px;padding-right:34px;}
  .modal-sub{color:var(--paper-dim2);font-size:0.86rem;margin-bottom:22px;}
  .modal-back{
    background:none;border:none;color:var(--paper-dim2);
    font-size:0.84rem;font-weight:600;cursor:pointer;
    padding:0;margin-bottom:16px;font-family:inherit;
  }
  .modal-back:hover{color:var(--turmeric-light);}
  .btn-block{width:100%;justify-content:center;}

  /* Cart list */
  .cart-list{display:flex;flex-direction:column;gap:14px;margin-bottom:18px;}
  .cart-empty{text-align:center;color:var(--paper-dim2);font-size:0.9rem;padding:26px 0;}
  .cart-item{
    display:flex;align-items:center;gap:12px;
    padding-bottom:14px;border-bottom:1px dashed rgba(243,234,212,0.14);
  }
  .cart-item:last-child{border-bottom:none;padding-bottom:0;}
  .cart-item-info{flex:1;min-width:0;}
  .cart-item-name{font-weight:700;font-size:0.92rem;color:var(--paper);margin-bottom:2px;}
  .cart-item-price{font-size:0.78rem;color:var(--paper-dim2);}
  .qty-control{display:flex;align-items:center;gap:8px;}
  .qty-btn{
    width:26px;height:26px;border-radius:50%;
    border:1px solid rgba(243,234,212,0.22);background:transparent;
    color:var(--paper);font-weight:700;cursor:pointer;
    display:flex;align-items:center;justify-content:center;font-size:0.9rem;line-height:1;
  }
  .qty-btn:hover{border-color:var(--turmeric);color:var(--turmeric-light);}
  .qty-val{min-width:16px;text-align:center;font-weight:700;font-size:0.88rem;}
  .cart-item-remove{
    background:none;border:none;color:var(--chili);
    font-size:0.72rem;font-weight:700;cursor:pointer;margin-left:6px;font-family:inherit;
  }

  .cart-total-row{
    display:flex;justify-content:space-between;align-items:center;
    padding-top:14px;border-top:1px solid rgba(243,234,212,0.1);margin-bottom:18px;
  }
  .cart-total-row span:first-child{color:var(--paper-dim);font-weight:600;font-size:0.92rem;}
  .cart-total-row strong{font-family:'Fraunces',serif;font-size:1.25rem;color:var(--turmeric-light);}

  .field-group{margin-bottom:18px;}
  .field-label{
    display:block;font-size:0.78rem;color:var(--paper-dim2);
    margin-bottom:8px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  }
  .field-input{
    width:100%;padding:12px 14px;border-radius:12px;
    background:var(--ink-2);border:1px solid rgba(243,234,212,0.16);
    color:var(--paper);font-family:inherit;font-size:0.94rem;
  }
  .field-input:focus{outline:none;border-color:var(--turmeric);}

  /* Payment options */
  .pay-options{display:flex;flex-direction:column;gap:12px;}
  .pay-option{
    display:flex;align-items:center;gap:14px;padding:16px;
    border-radius:14px;border:1.5px solid rgba(243,234,212,0.15);
    background:var(--ink-2);cursor:pointer;transition:border-color .2s ease;
  }
  .pay-option:hover{border-color:var(--turmeric);}
  .pay-option .icon-tile{
    width:44px;height:44px;border-radius:12px;flex-shrink:0;
    background:rgba(228,163,53,0.14);display:flex;align-items:center;justify-content:center;font-size:1.25rem;
  }
  .pay-option-text strong{display:block;font-size:0.94rem;color:var(--paper);margin-bottom:2px;}
  .pay-option-text span{font-size:0.78rem;color:var(--paper-dim2);}

  .pay-note{
    background:rgba(228,163,53,0.08);border:1px solid rgba(228,163,53,0.22);
    border-radius:14px;padding:16px;font-size:0.86rem;color:var(--paper-dim);
    line-height:1.65;margin-bottom:18px;
  }

  .qris-box{text-align:center;padding:4px 0 18px;}
  .qris-img-wrap{
    background:#fff;padding:14px;border-radius:16px;
    display:inline-block;margin-bottom:16px;box-shadow:var(--shadow);
  }
  .qris-img-wrap img{width:180px;height:180px;display:block;}
  .qris-amount{font-family:'Fraunces',serif;font-size:1.5rem;color:var(--turmeric-light);margin-bottom:6px;}
  .qris-note{color:var(--paper-dim2);font-size:0.84rem;max-width:300px;margin:0 auto 20px;}

  /* ===== Kenapa kami ===== */
  .why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
  .why-card{
    background:var(--wood);border-radius:var(--radius);padding:30px 24px;
    border:1px solid rgba(243,234,212,0.07);
  }
  .why-card .icon-tile{width:52px;height:52px;border-radius:50%;background:rgba(92,122,73,0.22);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
  .why-card h4{font-size:1.05rem;margin-bottom:8px;}
  .why-card p{color:var(--paper-dim2);font-size:0.88rem;}

  /* ===== Galeri (illustrated) ===== */
  .gallery-grid{
    display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:150px;gap:16px;
  }
  .g-tile{
    border-radius:16px;position:relative;overflow:hidden;
    display:flex;align-items:flex-end;padding:16px;
    font-family:'Fraunces',serif;font-weight:600;font-size:0.95rem;
  }
  .g-tile span{position:relative;z-index:2;}
  .g-tile.tall{grid-row:span 2;}
  .g-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, transparent 40%, rgba(0,0,0,0.55));}
  .g1{background:radial-gradient(circle at 30% 20%, #e4a335, #7a4a12);}
  .g2{background:radial-gradient(circle at 60% 30%, #c0432d, #5c1c12);}
  .g3{background:radial-gradient(circle at 40% 40%, #5c7a49, #23331b);}
  .g4{background:radial-gradient(circle at 50% 20%, #f0c169, #8a5a1a);}
  .g5{background:radial-gradient(circle at 60% 60%, #3f5936, #16220f);}
  .g6{background:radial-gradient(circle at 40% 30%, #e6603f, #6b2113);}

  /* ===== Testimoni ===== */
  .testi-track{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .testi-card{
    background:var(--wood);border-radius:var(--radius);padding:30px;
    border:1px solid rgba(243,234,212,0.07);
  }
  .stars{color:var(--turmeric);letter-spacing:2px;margin-bottom:14px;font-size:0.95rem;}
  .testi-card p{color:var(--paper-dim);font-size:0.95rem;margin-bottom:18px;}
  .testi-who{display:flex;align-items:center;gap:12px;}
  .testi-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--turmeric),var(--chili));}
  .testi-who strong{font-size:0.9rem;display:block;}
  .testi-who span{font-size:0.78rem;color:var(--paper-dim2);}

  /* ===== Jam & Lokasi ===== */
  .loc-wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:stretch;}
  .hours-card, .map-card{
    background:var(--wood);border-radius:var(--radius);padding:34px;border:1px solid rgba(243,234,212,0.07);
  }
  .hours-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(243,234,212,0.08);font-size:0.95rem;}
  .hours-row:last-child{border-bottom:none;}
  .hours-row span:first-child{color:var(--paper-dim);}
  .hours-row span:last-child{font-weight:700;color:var(--turmeric-light);}
  .hours-row.today{background:rgba(228,163,53,0.08);margin:0 -14px;padding:12px 14px;border-radius:10px;border-bottom:1px solid rgba(228,163,53,0.15);}
  .map-card{display:flex;flex-direction:column;justify-content:space-between;}
  .map-visual{
    height:170px;border-radius:14px;margin-bottom:20px;
    background:
      repeating-linear-gradient(0deg, rgba(243,234,212,0.05) 0 1px, transparent 1px 26px),
      repeating-linear-gradient(90deg, rgba(243,234,212,0.05) 0 1px, transparent 1px 26px),
      var(--ink-2);
    position:relative;
  }
  .map-pin{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}
  .addr{color:var(--paper-dim);font-size:0.95rem;line-height:1.7;margin-bottom:20px;}
  .addr strong{color:var(--paper);display:block;margin-bottom:4px;}

  /* ===== CTA strip ===== */
  .cta-strip{
    background:linear-gradient(120deg, var(--leaf-dark), var(--leaf));
    border-radius:28px;padding:56px 50px;
    display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;
  }
  .cta-strip h3{font-size:clamp(1.5rem,3vw,2.1rem);color:var(--paper);max-width:480px;}
  .cta-strip .btn-primary{background:var(--turmeric);color:var(--ink);box-shadow:0 12px 30px -10px rgba(228,163,53,0.5);}
  .cta-strip .btn-primary:hover{background:var(--turmeric-light);}

  /* ===== Footer ===== */
  footer{padding:70px 0 30px;border-top:1px solid rgba(243,234,212,0.08);margin-top:60px;}
  .foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;margin-bottom:50px;}
  .foot-brand p{color:var(--paper-dim2);font-size:0.9rem;margin-top:14px;max-width:280px;}
  .foot-col h5{font-size:0.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--paper-dim2);margin-bottom:16px;}
  .foot-col a{display:block;color:var(--paper-dim);font-size:0.92rem;margin-bottom:10px;transition:color .2s;}
  .foot-col a:hover{color:var(--turmeric-light);}
  .foot-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:0.82rem;color:var(--paper-dim2);border-top:1px solid rgba(243,234,212,0.08);padding-top:24px;}

  /* ===== Reveal on scroll ===== */
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease, transform .7s ease;}
  .reveal.in{opacity:1;transform:translateY(0);}

  /* ===== Focus states ===== */
  a:focus-visible, button:focus-visible{outline:2px solid var(--turmeric);outline-offset:3px;border-radius:6px;}

  /* ===== Responsive ===== */
  @media (max-width:980px){
    .hero .wrap{grid-template-columns:1fr;}
    .board-wrap{order:-1;max-width:340px;margin:0 auto 20px;}
    .why-grid{grid-template-columns:repeat(2,1fr);}
    .gallery-grid{grid-template-columns:repeat(2,1fr);}
    .testi-track{grid-template-columns:1fr;}
    .loc-wrap{grid-template-columns:1fr;}
    .foot-grid{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:760px){
    .wrap{padding:0 20px;}
    .board-wrap{max-width:300px;}
    .nav-row{padding-top:16px;padding-bottom:16px;}
    .nav-links{
      position:fixed;top:76px;left:0;right:0;
      flex-direction:column;align-items:flex-start;gap:0;
      background:var(--ink-2);
      border-bottom:1px solid rgba(243,234,212,0.08);
      max-height:0;overflow:hidden;transition:max-height .35s ease;
    }
    .nav-links.open{max-height:400px;}
    .nav-links a{padding:16px 24px;width:100%;border-bottom:1px solid rgba(243,234,212,0.06);}
    .nav-cta .btn-outline{display:none;}
    .burger{display:flex;}
    .logo{font-size:1.05rem;white-space:nowrap;gap:9px;}
    .logo-badge{width:32px;height:32px;font-size:0.85rem;}
    .nav-cta{gap:10px;}
    .nav-cta .btn-primary{padding:10px 16px;font-size:0.85rem;}
    .board{padding:40px 26px 32px;}
    .board::before{inset:14px;}
    .board-item{font-size:0.88rem;}
    .why-grid{grid-template-columns:1fr;}
    .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:130px;}
    .g-tile.tall{grid-row:span 1;}
    .foot-grid{grid-template-columns:1fr;gap:32px;}
    .cta-strip{padding:40px 26px;flex-direction:column;text-align:center;}
    section{padding:70px 0;}
    .hero{padding:50px 0 70px;}
    .cart-fab{width:52px;height:52px;font-size:1.25rem;bottom:18px;right:18px;}
    .modal-panel{padding:24px 18px 20px;max-height:92vh;}
    .qris-img-wrap img{width:160px;height:160px;}
  }
