
    :root{--red:#9e2932;--red-dark:#80222b;--red-soft:#f8e9e7;--navy:#213b58;--ink:#242625;--muted:#6e716c;--line:#e9e6df;--cream:#faf7f1;--warm:#f3eee5;--white:#fff;--gold:#bb895c;--shadow:0 16px 55px rgba(42,31,22,.085);--max:1220px;--ease:cubic-bezier(.22,1,.36,1)}
    *{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{margin:0;background:var(--white);color:var(--ink);font-family:'Plus Jakarta Sans',system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.65;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%;color:transparent;font-size:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(158,41,50,.32);outline-offset:3px}::selection{background:#e6c3bd;color:#3b2024}
    .icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:middle}.icon.small{width:15px;height:15px}.icon.large{width:25px;height:25px}.container{width:min(var(--max),calc(100% - 84px));margin-inline:auto}.page{display:none;min-height:52vh}.page.active{display:block;animation:pageIn .42s var(--ease) both}@keyframes pageIn{from{opacity:.2;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
    .announcement{background:var(--navy);color:#f6f8fa;font-size:11px;letter-spacing:.02em;min-height:31px}.announcement .container{display:flex;align-items:center;justify-content:space-between;gap:20px;height:31px}.announcement a{display:inline-flex;align-items:center;gap:5px;transition:opacity .2s}.announcement a:hover{opacity:.74}.header{height:80px;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(45,47,43,.065);position:sticky;top:0;z-index:60;transition:height .25s,box-shadow .25s;backdrop-filter:blur(14px)}.header.scrolled{height:69px;box-shadow:0 5px 28px rgba(39,30,27,.075)}.nav-wrap{display:flex;align-items:center;height:100%;gap:35px}.brand{display:flex;gap:10px;align-items:center;white-space:nowrap;flex:none;text-align:left}.brand-mark{width:39px;height:39px;border:2px solid var(--navy);display:grid;place-items:center;color:#fff;background:var(--red);border-radius:8px 8px 12px 12px;position:relative;transform:rotate(-3deg);font-size:18px;font-weight:800;letter-spacing:-2px;line-height:1}.brand-mark:before{content:'';position:absolute;width:15px;height:9px;border-top:3px solid #fff;transform:rotate(-12deg);top:5px;opacity:.75}.brand-type{display:flex;flex-direction:column;gap:0}.brand-name{color:var(--navy);font-size:17px;font-weight:800;letter-spacing:.04em;line-height:1.08}.brand-sub{font-size:8.3px;letter-spacing:.19em;font-weight:750;color:var(--red);margin-top:5px}.desktop-nav{display:flex;align-items:center;gap:29px;margin-left:auto}.nav-link{border:0;background:transparent;color:#555b59;font-size:12.4px;font-weight:650;white-space:nowrap;padding:10px 0;transition:color .2s;display:flex;align-items:center;gap:5px}.nav-link:hover,.nav-link.current{color:var(--red)}.nav-dropdown{position:relative}.dropdown-panel{position:absolute;z-index:80;top:calc(100% + 15px);left:-45px;width:295px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);padding:10px;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .23s,transform .23s}.dropdown-panel:before{content:'';position:absolute;top:-19px;height:20px;width:100%;left:0}.nav-dropdown:hover .dropdown-panel,.nav-dropdown:focus-within .dropdown-panel,.nav-dropdown.open .dropdown-panel{opacity:1;transform:translateY(0);pointer-events:auto}.dropdown-link{display:flex;align-items:center;gap:11px;width:100%;padding:11px;border-radius:10px;text-align:left;border:0;background:transparent;color:var(--ink);transition:background .2s}.dropdown-link:hover{background:var(--cream)}.dropdown-link .mini-icon{height:34px;width:34px;background:#f8edeb;color:var(--red);display:grid;place-items:center;border-radius:9px}.dropdown-link b{font-size:12px;display:block}.dropdown-link small{font-size:10px;color:var(--muted);display:block;margin-top:2px}.nav-actions{display:flex;align-items:center;gap:12px;margin-left:8px}.icon-btn{position:relative;display:grid;place-items:center;background:transparent;border:0;width:36px;height:36px;border-radius:50%;transition:background .2s,color .2s;color:var(--ink)}.icon-btn:hover{background:#f5f1ee;color:var(--red)}.cart-count{position:absolute;top:0;right:-1px;background:var(--red);color:white;border:2px solid white;border-radius:50%;min-width:18px;height:18px;display:grid;place-items:center;font-size:9px;font-weight:750;padding:0 3px}.cart-count[hidden]{display:none}.btn{border-radius:9px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 18px;font-size:12.4px;line-height:1.2;font-weight:750;transition:transform .25s var(--ease),background .25s,box-shadow .25s,border-color .25s;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--red);color:#fff;box-shadow:0 8px 15px rgba(158,41,50,.14)}.btn-primary:hover{background:var(--red-dark);box-shadow:0 11px 20px rgba(158,41,50,.22)}.btn-secondary{border-color:#dfd7cc;background:white;color:var(--ink)}.btn-secondary:hover{background:#fffaf6;border-color:#c2aca1}.btn-dark{background:var(--navy);color:#fff}.btn-dark:hover{background:#152c46}.btn-white{background:#fff;color:var(--red)}.btn-sm{padding:10px 13px;font-size:11px}.btn-ghost{border:0;background:transparent;padding:8px;color:var(--red);font-weight:750;display:inline-flex;gap:8px;align-items:center;font-size:12px}.btn-ghost:hover{text-decoration:underline}.menu-toggle{display:none}
    .hero{background:linear-gradient(108deg,#fffaf3 0%,#f9f4eb 61%,#f5e8dd 100%);position:relative;isolation:isolate;overflow:hidden}.hero:after{content:'';width:380px;height:380px;border:1px solid rgba(158,41,50,.055);border-radius:50%;position:absolute;bottom:-220px;left:-170px;box-shadow:0 0 0 72px rgba(158,41,50,.025);z-index:-1}.hero-grid{min-height:598px;display:grid;grid-template-columns:51% 49%;align-items:center;gap:22px;padding:42px 0 74px}.hero-copy{padding:15px 28px 6px 0;position:relative;z-index:2}.eyebrow{display:flex;align-items:center;gap:11px;text-transform:uppercase;color:var(--red);font-weight:800;font-size:10px;letter-spacing:.18em}.eyebrow:before{content:'';width:27px;height:1px;background:currentColor}.hero h1{font-weight:750;letter-spacing:-.062em;line-height:1.135;font-size:clamp(46px,5vw,72px);margin:23px 0 21px;max-width:590px}.hero h1 em{font-style:normal;color:var(--red);position:relative}.hero-description{color:#696863;line-height:1.85;font-size:14px;max-width:465px;margin-bottom:29px}.hero-actions{display:flex;align-items:center;gap:11px;flex-wrap:wrap}.hero-proof{margin-top:46px;display:flex;align-items:center;gap:17px;color:#5f5f58;font-size:11px}.proof-avatars{display:flex;padding-left:7px}.proof-avatars span{width:33px;height:33px;background:#dbb59b;border:3px solid #f9f4eb;border-radius:50%;margin-left:-7px;display:grid;place-items:center;font-size:15px}.proof-avatars span:nth-child(2){background:#b6c7b4}.proof-avatars span:nth-child(3){background:#e9cd9e}.hero-proof strong{display:block;color:#313430;font-weight:750;font-size:12px}.hero-visual{position:relative;height:530px;min-width:0;align-self:center}.hero-image-wrap{width:100%;height:100%;border-radius:240px 25px 25px 25px;position:relative;overflow:hidden;background:#ad5945;box-shadow:20px 26px 55px rgba(79,39,31,.09)}.hero-fallback{position:absolute;inset:0;background:linear-gradient(140deg,#61402f,#966046 58%,#7c4036);overflow:hidden}.hero-fallback:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(92deg,rgba(255,255,255,.04) 0 2px,transparent 2px 80px);opacity:.35}.fallback-plate{position:absolute;top:17%;left:13%;width:78%;aspect-ratio:1;border:17px solid #f9eee0;border-radius:50%;background:radial-gradient(ellipse at 65% 34%,#9a2c19 0 10%,transparent 11%),radial-gradient(ellipse at 37% 44%,#c87c35 0 17%,transparent 18%),radial-gradient(ellipse at 65% 69%,#8f3d26 0 16%,transparent 17%),radial-gradient(ellipse at 35% 72%,#6a6f36 0 12%,transparent 13%),radial-gradient(circle at 48% 50%,#dd9d56 0 54%,#e1a25d 55%,#b6623c 65%,#fff0dc 66%);box-shadow:0 18px 65px rgba(34,19,14,.3),inset 0 0 0 5px rgba(255,255,255,.45);transform:rotate(-12deg)}.hero-image-wrap:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(50,27,18,.35),transparent 45%)}.hero-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:49% center;transition:transform 1.2s var(--ease)}.hero-visual:hover img{transform:scale(1.055)}.hero-stamp{position:absolute;width:98px;height:98px;top:34px;left:-40px;border-radius:50%;background:#fff;border:1px solid #ece1d5;display:grid;place-items:center;text-align:center;box-shadow:0 14px 30px rgba(51,37,29,.09);transform:rotate(-11deg);color:var(--red);z-index:2}.hero-stamp strong{font-size:27px;display:block;line-height:1.1;letter-spacing:-1px}.hero-stamp span{font-size:8px;line-height:1.5;font-weight:750;letter-spacing:.08em}.hero-caption{position:absolute;bottom:27px;left:29px;right:30px;z-index:2;display:flex;align-items:center;justify-content:space-between;color:#fff;gap:15px}.hero-caption p{font-weight:750;font-size:15px;line-height:1.4;margin:0}.hero-caption small{display:block;font-size:10px;font-weight:500;opacity:.87;margin-top:4px}.hero-caption .caption-arrow{width:38px;height:38px;background:rgba(255,255,255,.19);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.35);display:grid;place-items:center;border-radius:50%}
    .quick-search{position:relative;margin-top:-42px;z-index:3;background:#fff;border:1px solid #f0ebe6;box-shadow:0 23px 58px rgba(44,36,28,.10);border-radius:15px;padding:17px 20px;display:grid;grid-template-columns:1.2fr 1.05fr .72fr auto;align-items:center;gap:16px}.finder-title{display:flex;align-items:center;gap:12px;border-right:1px solid var(--line);min-height:45px}.finder-title .finder-icon{height:43px;width:43px;border-radius:11px;background:var(--red-soft);color:var(--red);display:grid;place-items:center}.finder-title strong{font-size:12px;display:block}.finder-title span{font-size:10px;color:var(--muted)}.finder-field{display:flex;flex-direction:column;gap:2px}.finder-field label,.field label{font-weight:750;font-size:10px;color:#73736e;letter-spacing:.01em}.finder-field select,.finder-field input{height:26px;border:none;outline:none;background:transparent;min-width:0;width:100%;font-size:12px;font-weight:650;color:var(--ink);padding:0}.finder-field input::placeholder{color:#999}.finder-field select{cursor:pointer}.quick-search .btn{height:46px}
    section.section{padding:100px 0}.section-bg{background:var(--cream)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:35px}.section-kicker{color:var(--red);text-transform:uppercase;font-weight:800;font-size:10px;letter-spacing:.16em;margin-bottom:11px;display:block}.section-title{margin:0;font-size:clamp(27px,3vw,39px);line-height:1.23;letter-spacing:-.047em;font-weight:750}.section-sub{font-size:12.5px;line-height:1.85;color:var(--muted);max-width:540px;margin:11px 0 0}.text-link{border:0;background:transparent;color:var(--red);font-size:12px;font-weight:750;display:flex;gap:9px;align-items:center;padding:8px 0;white-space:nowrap}.text-link .icon{transition:transform .2s}.text-link:hover .icon{transform:translateX(4px)}
    .dish-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.dish-card{background:white;border:1px solid #eee9e2;border-radius:14px;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;position:relative;min-width:0}.dish-card:hover{transform:translateY(-7px);box-shadow:0 18px 34px rgba(47,36,30,.09);border-color:#e8dcd3}.dish-img{height:195px;overflow:hidden;background:#eee4d8;position:relative}.dish-img img{width:100%;height:100%;object-fit:cover;transition:transform .75s var(--ease)}.dish-card:hover .dish-img img{transform:scale(1.075)}.dish-label{position:absolute;left:12px;top:12px;background:rgba(255,255,255,.94);color:var(--red);border-radius:6px;padding:5px 8px;font-size:9px;font-weight:750}.dish-body{padding:16px 16px 13px}.dish-cat{color:#9c7c6b;text-transform:uppercase;letter-spacing:.1em;font-size:9px;font-weight:750}.dish-title{font-size:14px;font-weight:750;margin:5px 0 4px;letter-spacing:-.02em}.dish-desc{color:var(--muted);font-size:10.5px;line-height:1.7;min-height:37px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:12px}.dish-foot{border-top:1px solid #f0ece7;padding-top:11px;display:flex;justify-content:space-between;align-items:center;gap:8px}.dish-price{color:#88817c;font-size:10px}.add-round{border:1px solid #e8c9c6;color:var(--red);background:var(--red-soft);border-radius:8px;width:33px;height:33px;display:grid;place-items:center;transition:background .2s,color .2s}.add-round:hover{background:var(--red);color:#fff}
    .service-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:white;border:1px solid var(--line);border-radius:14px;margin-top:38px}.highlight{padding:23px 26px;display:flex;align-items:center;gap:13px;position:relative}.highlight:not(:last-child):after{content:'';height:39px;width:1px;background:var(--line);position:absolute;right:0;top:50%;transform:translateY(-50%)}.highlight-icon{width:43px;height:43px;display:grid;place-items:center;background:#f6f1e9;color:var(--red);border-radius:10px}.highlight strong{font-size:12px;display:block}.highlight span{font-size:10.5px;color:var(--muted);line-height:1.5;display:block;margin-top:3px}
    .story-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,8vw,110px);align-items:center}.story-media{position:relative}.story-media .story-photo{height:445px;width:100%;object-fit:cover;border-radius:12px 140px 12px 12px}.story-media:after{content:'';width:115px;height:115px;border:1px solid #cda98d;position:absolute;right:-20px;top:-19px;border-radius:0 90px 0 0;z-index:-1}.story-year{position:absolute;bottom:23px;left:-23px;border-radius:11px;background:white;padding:16px 21px;box-shadow:var(--shadow)}.story-year b{color:var(--red);display:block;font-size:29px;letter-spacing:-.07em;line-height:1}.story-year span{color:var(--muted);font-size:10px}.story-copy .section-title{max-width:550px}.story-copy p{font-size:12.8px;line-height:2;color:var(--muted);margin:19px 0 25px}.story-points{border-top:1px solid var(--line);margin-bottom:24px}.story-point{display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--line);padding:15px 0;font-size:12px;font-weight:650}.story-point .icon{color:var(--red)}
    .services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.service-card{border:1px solid var(--line);background:#fff;border-radius:13px;padding:28px;transition:transform .3s,box-shadow .3s}.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.service-icon{width:54px;height:54px;background:var(--cream);color:var(--red);border-radius:13px;display:grid;place-items:center;margin-bottom:24px}.service-card h3{font-size:17px;letter-spacing:-.03em;margin:0 0 9px}.service-card p{color:var(--muted);font-size:11.6px;line-height:1.85;margin:0 0 20px;min-height:63px}.service-card .text-link{font-size:11px}
    .catering-banner{background:var(--navy);border-radius:17px;color:white;overflow:hidden;display:grid;grid-template-columns:53% 47%;min-height:344px;position:relative}.catering-banner:before{content:'';position:absolute;width:280px;height:280px;border:1px solid rgba(255,255,255,.09);border-radius:50%;left:-165px;bottom:-156px;box-shadow:0 0 0 45px rgba(255,255,255,.035)}.catering-copy{padding:54px 55px;align-self:center;position:relative;z-index:1}.catering-copy .section-kicker{color:#d6b590}.catering-copy h2{font-size:34px;line-height:1.29;letter-spacing:-.045em;margin:0 0 13px}.catering-copy p{font-size:12px;line-height:1.85;color:#d8e0e7;margin:0 0 24px;max-width:420px}.catering-banner img{width:100%;height:100%;min-height:344px;object-fit:cover;object-position:center}
    .branches-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.branch-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:23px;transition:border .2s,transform .25s}.branch-card:hover{border-color:#dbbfb4;transform:translateY(-3px)}.branch-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.branch-icon{width:37px;height:37px;border-radius:9px;background:#f7eee8;color:var(--red);display:grid;place-items:center}.branch-region{font-size:9px;color:#9a655d;background:#faf0ed;border-radius:20px;padding:5px 8px;font-weight:750}.branch-card h3{margin:0 0 9px;font-size:14px;line-height:1.4}.branch-card p{font-size:11px;line-height:1.75;color:var(--muted);min-height:58px;margin:0 0 16px}.branch-foot{display:flex;gap:12px;align-items:center;border-top:1px solid var(--line);padding-top:15px}.branch-foot a,.branch-foot button{border:0;background:transparent;color:var(--red);font-size:10.5px;font-weight:750;display:inline-flex;align-items:center;gap:5px;padding:0}.branch-foot a:hover,.branch-foot button:hover{text-decoration:underline}
    .faq-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:95px}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;background:transparent;border:0;text-align:left;padding:19px 1px;font-size:12px;font-weight:750;color:var(--ink)}.faq-question .icon{transition:transform .2s}.faq-item.open .faq-question .icon{transform:rotate(180deg);color:var(--red)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}.faq-answer p{font-size:11.5px;line-height:1.85;color:var(--muted);margin:0 0 20px}
    .site-footer{background:#1e344d;color:#fff;padding:70px 0 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.1fr 1.35fr;gap:46px;padding-bottom:56px}.footer-brand .brand-name{color:#fff}.footer-brand .brand-sub{color:#f2c3b6}.footer-about{color:#bdc9d2;font-size:11.5px;line-height:1.9;max-width:300px;margin-top:22px}.footer-column h4{font-size:12px;margin:4px 0 19px}.footer-column button,.footer-column a{display:block;padding:0;background:transparent;border:0;color:#c0cbd5;font-size:11px;text-align:left;margin-bottom:12px}.footer-column button:hover,.footer-column a:hover{color:#fff}.footer-column p{color:#c0cbd5;font-size:11px;line-height:1.85;margin:0 0 12px}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);padding:21px 0;display:flex;justify-content:space-between;gap:15px;color:#b9c5cc;font-size:10px}.footer-bottom a{color:white;text-decoration:underline;text-underline-offset:3px}.footer-bottom .concept-note{opacity:.9}
    .page-hero{background:#faf6ef;position:relative;overflow:hidden;padding:67px 0 60px}.page-hero:after{content:'';position:absolute;width:380px;height:380px;border:1px solid #eee4d7;border-radius:50%;right:-185px;top:-110px;box-shadow:0 0 0 62px rgba(158,41,50,.025)}.page-hero h1{font-size:clamp(32px,4.1vw,52px);line-height:1.2;font-weight:750;letter-spacing:-.055em;margin:12px 0}.page-hero p{max-width:550px;font-size:13px;line-height:1.85;color:var(--muted);margin:0}.breadcrumb{font-size:10px;color:#8a837a;display:flex;gap:9px;align-items:center;margin-bottom:14px}.breadcrumb b{color:var(--red)}.page-content{padding:53px 0 94px}
    .menu-tools{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-bottom:25px}.chip-row{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.chip{background:#fff;border:1px solid #e9e3dd;border-radius:30px;color:#6b6965;font-size:10.5px;font-weight:700;padding:9px 14px;transition:all .2s}.chip:hover{background:#faf0eb;border-color:#e5c8c3;color:var(--red)}.chip.active{background:var(--red);border-color:var(--red);color:white}.search-box{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:9px;background:white;padding:0 13px;height:42px;min-width:230px;color:#8c8c85}.search-box input{font-size:11.5px;border:0;outline:none;background:transparent;width:100%;color:var(--ink)}.results-meta{font-size:11px;color:var(--muted);margin-bottom:19px}.empty-state{text-align:center;padding:62px 20px;background:var(--cream);border-radius:14px;color:var(--muted)}.empty-state .icon{width:35px;height:35px;color:var(--red);margin-bottom:10px}.empty-state h3{color:var(--ink);margin:6px 0;font-size:17px}
    .branch-controls{display:grid;grid-template-columns:minmax(0,1fr) 210px auto;gap:12px;margin-bottom:24px}.control-select,.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid #e4e0da;background:#fff;border-radius:9px;min-height:43px;padding:10px 13px;outline:none;color:var(--ink);font-size:12px}.field textarea{min-height:105px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.control-select:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(158,41,50,.09)}.branches-full{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.note-bar{background:#f7f1e8;color:#756b5b;padding:14px 18px;border-radius:9px;font-size:11px;display:flex;align-items:center;gap:10px;margin-bottom:23px}.note-bar .icon{color:var(--red)}
    .service-page-grid{display:grid;grid-template-columns:1fr .85fr;gap:50px;align-items:start}.service-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}.service-feature-image{border-radius:14px;overflow:hidden;height:260px;background:#ede1d3;margin-bottom:25px}.service-feature-image img{width:100%;height:100%;object-fit:cover}.service-description h2{font-size:25px;line-height:1.35;letter-spacing:-.04em;margin:0 0 13px}.service-description p{font-size:12.5px;line-height:1.9;color:var(--muted)}.package-list{display:grid;gap:10px;margin-top:24px}.package-item{display:flex;gap:13px;padding:14px;border:1px solid var(--line);border-radius:9px}.package-item .icon{color:var(--red);margin-top:2px}.package-item b{display:block;font-size:12px}.package-item small{display:block;font-size:10.5px;line-height:1.7;color:var(--muted);margin-top:2px}.form-card{background:var(--cream);border:1px solid #ece7e0;border-radius:15px;padding:28px;position:sticky;top:91px}.form-card h3{font-size:20px;letter-spacing:-.035em;margin:0 0 6px}.form-card .form-lead{color:var(--muted);font-size:11px;line-height:1.7;margin:0 0 21px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.field label{font-size:11px;color:var(--ink)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:11px}.form-help{font-size:10px;color:#8c847a;margin:0 0 14px}.form-card .btn{width:100%;min-height:45px}
    .about-wide{display:grid;grid-template-columns:1fr 1.1fr;gap:55px;align-items:center}.about-wide img{width:100%;height:410px;object-fit:cover;border-radius:16px}.about-wide h2{font-size:32px;line-height:1.3;letter-spacing:-.045em;margin:0 0 16px}.about-wide p{color:var(--muted);font-size:12.5px;line-height:1.95}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:38px}.value-card{padding:25px;border:1px solid var(--line);border-radius:12px}.value-card .icon{color:var(--red);width:26px;height:26px}.value-card h3{font-size:14px;margin:15px 0 6px}.value-card p{font-size:11px;color:var(--muted);line-height:1.8;margin:0}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px}.contact-info h2{font-size:31px;line-height:1.3;letter-spacing:-.05em;margin:0 0 13px}.contact-info p{font-size:12.5px;line-height:1.9;color:var(--muted)}.contact-method{display:flex;gap:12px;align-items:flex-start;margin-top:22px}.contact-method .service-icon{width:43px;height:43px;margin:0;flex:none}.contact-method b{display:block;font-size:12px}.contact-method span{display:block;font-size:11px;color:var(--muted);margin-top:4px;line-height:1.7}.contact-form{background:#fff;border:1px solid var(--line);border-radius:15px;padding:30px;box-shadow:0 10px 25px rgba(40,37,31,.035)}.contact-form .btn{min-width:185px}
    .overlay{position:fixed;inset:0;background:rgba(23,28,31,.5);z-index:100;opacity:0;pointer-events:none;transition:opacity .3s;backdrop-filter:blur(3px)}.overlay.active{opacity:1;pointer-events:auto}.cart-drawer{position:fixed;right:0;top:0;bottom:0;z-index:110;width:min(445px,100vw);background:white;transform:translateX(102%);transition:transform .45s var(--ease);display:flex;flex-direction:column;box-shadow:-22px 0 70px rgba(0,0,0,.12)}.cart-drawer.active{transform:translateX(0)}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:22px 25px;border-bottom:1px solid var(--line)}.drawer-head h3{font-size:18px;margin:0;letter-spacing:-.04em}.drawer-body{flex:1;overflow:auto;padding:22px 25px}.cart-empty{text-align:center;padding:85px 15px;color:var(--muted)}.cart-empty .cart-empty-icon{width:62px;height:62px;background:var(--cream);border-radius:50%;display:grid;place-items:center;color:var(--red);margin:0 auto 15px}.cart-empty h4{font-size:15px;color:var(--ink);margin:0 0 8px}.cart-empty p{font-size:11.5px;line-height:1.8;margin-bottom:18px}.cart-item{display:flex;gap:12px;padding-bottom:19px;margin-bottom:19px;border-bottom:1px solid var(--line)}.cart-item img{width:72px;height:72px;object-fit:cover;border-radius:9px;background:var(--cream);flex:none}.cart-item h4{font-size:12px;margin:1px 0 3px}.cart-item small{font-size:10px;color:var(--muted)}.cart-item-controls{display:flex;gap:8px;align-items:center;margin-top:11px}.qty-btn{width:25px;height:25px;display:grid;place-items:center;border:1px solid #ddd7d1;border-radius:6px;background:white;color:var(--ink);font-weight:800}.qty-btn:hover{border-color:var(--red);color:var(--red)}.cart-remove{border:0;background:transparent;font-size:10px;color:#a64e4e;margin-left:auto}.drawer-foot{border-top:1px solid var(--line);padding:21px 25px}.drawer-foot p{font-size:10px;line-height:1.8;color:var(--muted);margin:0 0 12px}.drawer-foot .btn{width:100%}.modal{position:fixed;left:50%;top:50%;width:min(720px,calc(100% - 32px));max-height:calc(100vh - 32px);overflow-y:auto;background:white;z-index:120;border-radius:17px;transform:translate(-50%,-47%) scale(.97);opacity:0;pointer-events:none;transition:opacity .28s,transform .28s var(--ease);box-shadow:0 25px 80px rgba(0,0,0,.22)}.modal.active{transform:translate(-50%,-50%) scale(1);opacity:1;pointer-events:auto}.modal-close{position:absolute;right:14px;top:14px;z-index:2;border:0;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 3px 12px rgba(0,0,0,.1)}.modal-grid{display:grid;grid-template-columns:1fr 1fr;min-height:370px}.modal-grid>img{width:100%;height:100%;min-height:370px;object-fit:cover}.modal-content{padding:47px 28px 31px;align-self:center}.modal-content h3{font-size:25px;letter-spacing:-.05em;margin:6px 0 12px}.modal-content p{font-size:12px;line-height:1.9;color:var(--muted)}.modal-content .btn{margin-top:18px}.toast{position:fixed;bottom:30px;left:50%;z-index:180;transform:translate(-50%,20px);background:#263c36;color:#fff;padding:13px 17px;border-radius:10px;display:flex;gap:9px;align-items:center;font-weight:650;font-size:11px;box-shadow:0 15px 35px rgba(0,0,0,.17);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;max-width:min(480px,calc(100vw - 25px))}.toast.active{opacity:1;transform:translate(-50%,0)}.back-top{position:fixed;right:25px;bottom:24px;width:41px;height:41px;background:#fff;border:1px solid var(--line);border-radius:50%;box-shadow:var(--shadow);display:grid;place-items:center;opacity:0;pointer-events:none;z-index:45;transform:translateY(10px);transition:opacity .2s,transform .2s}.back-top.show{opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-panel{display:none}.mobile-bottom{display:none}.body-lock{overflow:hidden}
    .js-motion .reveal{opacity:0;transform:translateY(26px);transition:opacity .72s var(--ease),transform .72s var(--ease)}.js-motion .reveal.visible{opacity:1;transform:none}.js-motion .reveal[data-delay="1"]{transition-delay:.07s}.js-motion .reveal[data-delay="2"]{transition-delay:.14s}.js-motion .reveal[data-delay="3"]{transition-delay:.21s}
    @media(max-width:1120px){.desktop-nav{gap:16px}.nav-wrap{gap:13px}.nav-actions{margin-left:0}.hero h1{font-size:58px}.hero-grid{min-height:540px}.hero-visual{height:465px}.catering-copy{padding:37px}.container{width:min(var(--max),calc(100% - 58px))}}
    @media(max-width:920px){.desktop-nav{display:none}.nav-wrap{justify-content:space-between}.nav-actions{margin-left:auto}.menu-toggle{display:grid}.header{height:68px}.hero-grid{grid-template-columns:1.05fr .95fr;gap:4px;padding-top:30px}.hero h1{font-size:47px}.hero-description{font-size:12px}.hero-visual{height:425px}.hero-stamp{left:-26px;width:83px;height:83px}.hero-stamp strong{font-size:23px}.quick-search{grid-template-columns:1fr 1fr;gap:17px}.finder-title{border:0}.quick-search .btn{width:100%}.dish-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dish-img{height:230px}.story-layout{gap:35px}.service-card{padding:22px}.branches-preview,.branches-full{grid-template-columns:repeat(2,minmax(0,1fr))}.faq-wrap{gap:35px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:28px}.footer-grid .footer-column:last-child{grid-column:1/-1}.service-page-grid{gap:25px}.mobile-panel{display:flex;flex-direction:column;position:fixed;inset:0 0 0 auto;width:min(340px,90%);z-index:140;background:#fff;transform:translateX(103%);transition:transform .4s var(--ease);padding:22px 23px;box-shadow:-12px 0 40px rgba(0,0,0,.1)}.mobile-panel.active{transform:translateX(0)}.mobile-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.mobile-panel-links{display:grid;gap:0}.mobile-panel-links button{background:transparent;border:0;border-bottom:1px solid var(--line);padding:16px 0;display:flex;align-items:center;justify-content:space-between;text-align:left;font-weight:700;font-size:13px;color:var(--ink)}.mobile-panel-links button:hover{color:var(--red)}.mobile-panel .menu-note{margin-top:auto;font-size:11px;color:var(--muted);line-height:1.8}}
    @media(max-width:700px){.container{width:calc(100% - 34px)}.announcement{font-size:9px}.announcement .hide-mobile{display:none}.header{height:64px}.brand-mark{width:35px;height:35px}.brand-name{font-size:15px}.brand-sub{font-size:7.5px}.header .nav-actions>.btn{display:none}.nav-actions{gap:3px}.hero-grid{display:flex;flex-direction:column;gap:29px;padding:39px 0 85px}.hero-copy{padding:0;align-self:stretch}.hero h1{font-size:clamp(40px,10.3vw,57px);margin:17px 0}.hero-description{font-size:12.4px;margin-bottom:24px;max-width:470px}.hero-proof{margin-top:26px}.hero-visual{width:100%;height:315px;align-self:stretch;padding-left:11px}.hero-image-wrap{border-radius:145px 12px 12px 12px}.hero-stamp{left:-3px;top:24px;width:75px;height:75px}.hero-caption{bottom:15px;left:22px;right:18px}.hero-caption p{font-size:12px}.hero-caption small{font-size:9px}.quick-search{margin-top:-42px;grid-template-columns:1fr 1fr;padding:15px;gap:14px}.finder-title{grid-column:1/-1;padding-bottom:12px;border-bottom:1px solid var(--line)}.finder-field{min-width:0}.quick-search .btn{grid-column:1/-1}.section-head{align-items:start;margin-bottom:25px;flex-direction:column;gap:8px}.section-title{font-size:29px}section.section{padding:69px 0}.dish-grid{gap:11px}.dish-img{height:170px}.dish-body{padding:12px}.dish-title{font-size:12.4px}.dish-desc{font-size:9.7px;min-height:36px}.dish-price{font-size:9px}.service-highlights{grid-template-columns:1fr;margin-top:25px}.highlight{padding:15px 18px}.highlight:not(:last-child):after{height:1px;width:calc(100% - 36px);top:auto;bottom:0;left:18px;transform:none}.story-layout,.about-wide{grid-template-columns:1fr;gap:42px}.story-media .story-photo{height:325px}.story-year{left:10px;bottom:-18px}.story-copy{padding-top:7px}.services-grid,.branches-preview,.branches-full,.value-grid{grid-template-columns:1fr}.service-card{padding:23px}.service-card p{min-height:0}.service-icon{margin-bottom:13px}.catering-banner{grid-template-columns:1fr}.catering-copy{padding:32px 25px}.catering-copy h2{font-size:27px}.catering-banner img{height:215px;min-height:0}.faq-wrap,.contact-grid,.service-page-grid{grid-template-columns:1fr;gap:27px}.footer-grid{grid-template-columns:1fr 1fr;gap:26px}.footer-grid .footer-brand{grid-column:1/-1}.footer-grid .footer-column:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:6px}.site-footer{padding-top:53px}.page-hero{padding:44px 0 42px}.page-hero h1{font-size:35px}.page-content{padding:32px 0 75px}.menu-tools{align-items:stretch}.chip-row{max-width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px}.chip{white-space:nowrap}.search-box{width:100%}.branch-controls{grid-template-columns:1fr 1fr}.branch-controls .search-box{grid-column:1/-1}.branch-controls .btn{grid-column:1/-1}.form-card{position:static;padding:22px}.form-row{grid-template-columns:1fr 1fr}.about-wide img{height:300px}.contact-form{padding:20px}.modal-grid{grid-template-columns:1fr}.modal-grid>img{height:225px;min-height:0}.modal-content{padding:23px}.mobile-bottom{position:fixed;bottom:0;left:0;right:0;z-index:54;background:rgba(255,255,255,.97);backdrop-filter:blur(15px);border-top:1px solid #ece6e0;box-shadow:0 -8px 25px rgba(32,23,21,.04);display:grid;grid-template-columns:repeat(4,1fr);padding:7px 9px calc(7px + env(safe-area-inset-bottom))}.mobile-bottom button{background:transparent;border:0;color:#777b7b;padding:5px 0;display:grid;place-items:center;gap:3px;font-size:9px;font-weight:700}.mobile-bottom button.active,.mobile-bottom button:hover{color:var(--red)}.mobile-bottom button .icon{width:20px;height:20px}.back-top{bottom:83px;right:17px}.toast{bottom:84px}.site-footer{padding-bottom:74px}.drawer-foot{padding-bottom:calc(24px + env(safe-area-inset-bottom))}}
    @media(max-width:410px){.hero h1{font-size:40px}.hero-actions .btn{padding:12px 12px;font-size:11px}.dish-img{height:145px}.quick-search{gap:10px}.form-row{grid-template-columns:1fr}.brand-name{font-size:14px}.brand-sub{letter-spacing:.13em}}
    @media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.js-motion .reveal{opacity:1;transform:none}}

    [hidden]{display:none!important}
    /* PREMIUM V2 — typography, tactility, responsive commerce UI */
    :root{--red:#9b2630;--red-dark:#7b1e28;--navy:#213246;--ink:#20252a;--muted:#646b6f;--cream:#fbf8f3;--line:#e7e4df;--shadow:0 22px 65px rgba(38,30,24,.075)}
    body{font-family:'Plus Jakarta Sans','DM Sans',Arial,sans-serif;font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}
    .container{width:min(1320px,calc(100% - 70px))}
    .nav-link{font-size:13px}.btn{font-size:13px;min-height:46px;border-radius:11px;font-weight:700;letter-spacing:-.01em}
    .btn:active,.add-round:active,.qty-btn:active{transform:scale(.96)}
    .btn-primary{box-shadow:0 10px 25px rgba(155,38,48,.17)}
    .brand-name{font-size:18px;letter-spacing:.005em}.brand-sub{font-size:8.5px}
    .hero h1{font-weight:800;letter-spacing:-.065em}.hero-description{font-size:15px;line-height:1.95}
    .section-sub,.story-copy p,.contact-info p,.about-wide p{font-size:14px;line-height:1.85}
    .section-title{font-weight:800;letter-spacing:-.05em}
    .dish-card{border-radius:18px;box-shadow:0 6px 24px rgba(37,30,26,.036);transition:transform .42s var(--ease),box-shadow .42s var(--ease),border-color .25s}
    .dish-card:hover{transform:translateY(-7px);box-shadow:0 24px 48px rgba(42,30,24,.10);border-color:#e3d5cf}
    .dish-img img{transition:transform .8s var(--ease)}.dish-card:hover .dish-img img{transform:scale(1.065)}
    .dish-body{padding:19px}.dish-title{font-size:16px}.dish-desc{font-size:12px;line-height:1.65;min-height:54px}
    .dish-price{font-size:13px}.dish-price strong{font-size:17px;color:var(--ink);letter-spacing:-.025em}
    .dish-price small{display:block;font-size:10px;color:#9b7975;font-weight:600;margin-bottom:1px}
    .dish-foot{align-items:center}.add-round{width:39px;height:39px;transition:transform .2s,box-shadow .2s,background .2s}
    .add-round:hover{transform:rotate(90deg);box-shadow:0 7px 15px rgba(155,38,48,.2)}
    .field label{font-size:12px;font-weight:650}.field input,.field select,.field textarea,.control-select{font-size:13px;border-radius:10px;min-height:45px}
    .drawer-head h3{font-size:21px}.cart-item h4{font-size:14px}.cart-item small{font-size:11px}.cart-item img{width:80px;height:80px;border-radius:12px}
    .qty-btn{width:31px;height:31px;border-radius:9px;font-size:17px}.cart-remove{font-size:11px}
    .drawer-foot p{font-size:11px}.mobile-cart-count{position:absolute;right:15px;top:0;background:var(--red);color:white;border-radius:20px;font-size:10px;min-width:16px;padding:0 3px}
    .cart-price{font-size:13px;font-weight:800;margin-top:3px;color:var(--red)}
    .cart-subtotal{display:flex;justify-content:space-between;align-items:center;margin:0 0 12px;padding:4px 0;font-size:13px}.cart-subtotal strong{font-size:19px;letter-spacing:-.04em}
    .note-chip{display:inline-flex;gap:6px;align-items:center;border:1px solid #ead9d2;border-radius:99px;background:#fff8f3;padding:6px 10px;font-size:10px;color:#8a5346;font-weight:700}
    .menu-demo-note{font-size:11px;color:#8d827a;padding-top:4px}
    .checkout-top{background:linear-gradient(125deg,#fffbf6,#f9f1e9);border-bottom:1px solid #efe7de;padding:22px 0 29px}
    .back-shop{display:inline-flex;align-items:center;gap:9px;color:#7a6860;border:0;background:transparent;font-weight:700;font-size:12px;padding:6px 0 13px}
    .back-shop svg{transform:rotate(180deg)}.back-shop:hover{color:var(--red)}
    .checkout-heading{display:flex;align-items:center;justify-content:space-between;gap:30px}
    .checkout-heading h1{font-size:clamp(30px,3.8vw,48px);line-height:1.2;letter-spacing:-.065em;margin:8px 0 8px;font-weight:800}
    .checkout-heading h1 em{font-style:normal;color:var(--red)}.checkout-heading p{margin:0;color:var(--muted);font-size:13px}
    .secure-pill{display:flex;gap:9px;align-items:center;border:1px solid #e5d9d0;background:white;border-radius:100px;padding:11px 15px;font-size:11px;color:#6c5e56;font-weight:700;white-space:nowrap}
    .secure-pill svg{color:#417b63}
    .steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:35px;position:relative;gap:8px;max-width:850px}
    .steps:before{content:'';position:absolute;left:8%;right:8%;top:20px;border-top:1px dashed #d8c8bf}
    .step{display:flex;align-items:center;gap:11px;position:relative;font-weight:750;font-size:12px;color:#98918b;background:transparent}
    .step b{height:39px;width:39px;border:1px solid #ddd5cf;background:#fffbf6;display:grid;place-items:center;border-radius:50%;font-size:12px;transition:all .3s;box-shadow:0 0 0 6px #fcf7f1}
    .step.active{color:var(--ink)}.step.active b{background:var(--red);color:white;border-color:var(--red)}
    .step.complete b{background:#39775e;border-color:#39775e;color:white}.step.complete{color:#39775e}
    .checkout-area{background:#f9f8f6;min-height:58vh;padding:37px 0 85px}
    .checkout-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(305px,.9fr);gap:28px;align-items:start}
    .checkout-main,.checkout-summary{min-width:0}
    .cx-card{background:#fff;border:1px solid #ece8e4;border-radius:19px;padding:27px;box-shadow:0 7px 30px rgba(27,21,16,.028);margin-bottom:17px;animation:cxEnter .35s var(--ease) both}
    @keyframes cxEnter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
    .cx-title-row{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:22px}
    .cx-title-row h2{font-size:23px;letter-spacing:-.055em;line-height:1.3;margin:0 0 5px}
    .cx-title-row p{font-size:12px;color:var(--muted);margin:0;line-height:1.65}
    .cx-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;flex-wrap:wrap}
    .cx-actions .btn{min-width:175px}.cx-support{text-align:center;font-size:11px;color:#857e78;margin:15px 0 0}
    .cx-product{display:flex;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid #f0eeea}
    .cx-product:first-of-type{padding-top:0}.cx-product:last-child{border-bottom:0;padding-bottom:0}
    .cx-product img{width:93px;height:93px;object-fit:cover;border-radius:13px;background:#f4e5d8;flex:none}
    .cx-product-info{flex:1;min-width:0}.cx-product h3{font-size:14px;letter-spacing:-.025em;margin:0 0 3px}
    .cx-product small{color:#999087;font-size:11px}.cx-product strong{display:block;font-size:14px;margin-top:4px}
    .cx-counter{display:flex;align-items:center;gap:10px}.cx-counter b{font-size:12px;min-width:13px;text-align:center}
    .cx-product-side{display:flex;flex-direction:column;align-items:end;gap:13px}
    .cx-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:17px 0 23px}
    .cx-option{padding:17px;border:1.5px solid #e9e6e2;border-radius:14px;background:#fff;text-align:left;transition:border-color .2s,background .2s,transform .2s;display:flex;gap:13px;align-items:center;min-height:78px}
    .cx-option:hover{border-color:#bf9f98;transform:translateY(-2px)}.cx-option.selected{border-color:var(--red);background:#fef7f4;box-shadow:0 0 0 3px rgba(155,38,48,.04)}
    .cx-option svg{color:var(--red);width:23px;height:23px}.cx-option strong{display:block;font-size:13px}.cx-option small{display:block;color:var(--muted);font-size:11px;font-weight:500;margin-top:3px;line-height:1.45}
    .cx-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.cx-fields .field{margin:0}.cx-fields .full{grid-column:1/-1}
    .cx-fields input,.cx-fields select,.cx-fields textarea{width:100%;padding:12px 13px;border:1px solid #dddcd8;background:#fff;border-radius:10px;font-size:13px;line-height:1.5;min-height:46px;color:#252525;transition:border .2s,box-shadow .2s}
    .cx-fields input:focus,.cx-fields select:focus,.cx-fields textarea:focus{outline:0;border-color:#bd6467;box-shadow:0 0 0 4px rgba(155,38,48,.08)}
    .cx-fields textarea{min-height:78px;resize:vertical}.cx-fields .field label{font-size:12px;margin-bottom:2px}
    .cx-fields .field .hint{color:#8d8a84;font-size:10px;line-height:1.5}
    .cx-section-label{font-size:12px;font-weight:800;margin:19px 0 9px;color:#46433e}
    .cx-radio-row{display:flex;gap:12px;flex-wrap:wrap}.cx-radio-row label{display:inline-flex;gap:8px;align-items:center;font-size:12px;cursor:pointer}
    .cx-pay-option{width:100%;border:1.5px solid #e8e3df;background:#fff;border-radius:13px;padding:17px;display:flex;gap:13px;align-items:center;text-align:left;margin-bottom:11px;transition:all .22s}
    .cx-pay-option:hover{border-color:#cba8a5}.cx-pay-option.selected{border-color:var(--red);background:#fffbf8;box-shadow:0 0 0 3px rgba(155,38,48,.04)}
    .cx-pay-icon{width:43px;height:43px;border-radius:12px;background:#f9eee9;color:var(--red);display:grid;place-items:center;flex:none}
    .cx-pay-option .pay-copy{flex:1}.cx-pay-option strong{font-size:13px;display:block}.cx-pay-option small{font-size:11px;color:#75726f;display:block;margin-top:3px}.cx-dot{width:18px;height:18px;border:2px solid #cfc9c4;border-radius:50%;display:grid;place-items:center}
    .cx-pay-option.selected .cx-dot{border-color:var(--red)}.cx-pay-option.selected .cx-dot:before{content:'';width:8px;height:8px;background:var(--red);border-radius:50%}
    .cx-info{display:flex;gap:9px;align-items:start;background:#f8f4ee;color:#72675d;border-radius:11px;padding:13px 15px;font-size:11px;line-height:1.75}.cx-info .icon{flex:none;width:16px;height:16px;margin-top:1px;color:#a37856}
    .checkout-summary{position:sticky;top:93px;background:#fff;border-radius:19px;border:1px solid #ece8e4;box-shadow:0 11px 30px rgba(40,31,25,.04);padding:25px}
    .checkout-summary h3{margin:0 0 4px;font-size:19px;letter-spacing:-.045em}.summary-lead{font-size:11px;color:#807a73;margin:0 0 18px}
    .summary-items{max-height:215px;overflow-y:auto;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:14px}
    .summary-item{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:10px 0;font-size:12px}.summary-item>span:first-child{color:#62615e}.summary-item b{font-size:12px;white-space:nowrap}
    .summary-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:12px;margin:12px 0;color:#6b6c6b}
    .summary-line strong{font-size:12px;color:var(--ink)}.summary-line.discount{color:#327354}.summary-line.discount strong{color:#327354}
    .summary-total{border-top:1px dashed #dcd6ce;margin-top:17px;padding-top:19px;display:flex;justify-content:space-between;align-items:center}
    .summary-total span{font-size:13px;font-weight:750}.summary-total b{font-size:25px;letter-spacing:-.06em;color:var(--red)}
    .promo-wrap{display:flex;gap:8px;margin-top:18px}.promo-wrap input{min-width:0;flex:1;border:1px solid #ded8d1;background:#fff;border-radius:9px;padding:11px;font-size:12px;text-transform:uppercase}
    .promo-wrap button{padding:0 14px;border-radius:9px;background:#f3eee7;color:#54443c;border:0;font-size:12px;font-weight:800}
    .promo-status{font-size:11px;color:#347356;margin:8px 0 0}
    .cx-summary-foot{font-size:10px;color:#a19a93;margin:14px 0 0;line-height:1.7}
    .cx-empty{text-align:center;padding:35px 12px 24px}.cx-empty .empty-icon{width:65px;height:65px;border-radius:18px;background:var(--cream);display:grid;place-items:center;margin:auto auto 17px;color:var(--red)}.cx-empty h2{font-size:23px;margin:0 0 4px;letter-spacing:-.04em}.cx-empty p{font-size:12px;color:var(--muted);margin:0 auto 22px;max-width:350px}
    .cx-confirm{padding:39px 25px;text-align:center;animation:cxEnter .45s var(--ease) both}.cx-success-icon{width:88px;height:88px;margin:0 auto 24px;display:grid;place-items:center;color:#fff;background:#3d8065;border-radius:50%;box-shadow:0 0 0 13px #e5f4ed,0 20px 34px rgba(50,110,80,.15);animation:successPop .7s var(--ease) both}
    @keyframes successPop{from{transform:scale(.45);opacity:0}to{transform:scale(1);opacity:1}}
    .cx-success-icon .icon{width:39px;height:39px;stroke-width:2.5}.cx-confirm h2{font-size:29px;letter-spacing:-.055em;margin:0 0 9px}.cx-confirm>p{max-width:540px;margin:0 auto 22px;font-size:13px;color:#666d69}
    .cx-order-number{display:inline-grid;gap:2px;padding:12px 23px;border:1px dashed #d5c0b4;background:#fdf7f2;border-radius:12px;margin:0 auto 23px}.cx-order-number small{font-size:10px;color:#86776d}.cx-order-number b{letter-spacing:.07em;color:var(--red);font-size:17px}
    .cx-ticket{background:#fff;border:1px solid #ebe7e2;border-radius:16px;max-width:580px;margin:0 auto;padding:20px;text-align:left}
    .cx-ticket p{margin:0 0 9px;font-size:12px;display:flex;justify-content:space-between;gap:20px}.cx-ticket p span{color:#7a7671;text-align:right}.cx-ticket strong{color:#393e3b}
    .cx-success-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:26px}
    .checkout-layout.completed{display:block}.checkout-layout.completed .checkout-summary{display:none}
    @media(max-width:1000px){.checkout-layout{grid-template-columns:minmax(0,1fr) minmax(270px,.75fr);gap:16px}.cx-card{padding:21px}.checkout-summary{padding:20px}}
    @media(max-width:750px){.container{width:calc(100% - 34px)}.hero-description{font-size:13.5px}.dish-body{padding:14px}.dish-title{font-size:14px}.dish-desc{font-size:11px;min-height:50px}.dish-price strong{font-size:15px}.dish-price small{font-size:9px}.checkout-top{padding:14px 0 21px}.checkout-heading h1{font-size:31px}.checkout-heading p{font-size:12px}.secure-pill{display:none}.steps{gap:0;margin-top:24px}.steps:before{left:8%;right:8%;top:15px}.step{display:flex;flex-direction:column;gap:4px;text-align:center;font-size:9.5px}.step b{width:30px;height:30px;box-shadow:0 0 0 4px #fcf7f1}.checkout-area{padding:18px 0 88px}.checkout-layout{display:flex;flex-direction:column;gap:0}.checkout-main,.checkout-summary{width:100%}.checkout-summary{position:static;order:2;margin-top:2px;padding:19px}.cx-card{padding:18px;border-radius:16px;margin-bottom:13px}.cx-title-row h2{font-size:20px}.cx-option-grid{gap:8px}.cx-option{padding:12px;gap:7px;min-height:75px}.cx-option svg{width:20px;height:20px}.cx-option strong{font-size:11px}.cx-option small{font-size:10px}.cx-product img{width:72px;height:72px}.cx-product{gap:10px}.cx-product h3{font-size:12px}.cx-product strong{font-size:12px}.cx-product-side{gap:8px}.cx-counter{gap:6px}.cx-counter .qty-btn{width:28px;height:28px}.cx-actions .btn{flex:1;min-width:125px}.cx-fields{grid-template-columns:1fr;gap:12px}.cx-fields .full{grid-column:1}.cx-confirm{padding:38px 8px}.cx-confirm h2{font-size:24px}.cx-ticket{padding:16px}.cx-success-actions .btn{width:100%}.mobile-bottom button{position:relative}}
    @media(max-width:380px){.step{font-size:8.5px}.checkout-heading h1{font-size:28px}.cx-option{padding:10px;gap:6px}.cx-option svg{display:none}.cx-product img{width:60px;height:60px}}
    @media print{body{background:white}.header,.announcement,.mobile-bottom,.site-footer,.checkout-top,.checkout-summary,.back-top,.toast,.cx-success-actions,.overlay{display:none!important}.checkout-area{padding:0}.checkout-main,.cx-card,.checkout-layout{border:0;box-shadow:none;width:100%;padding:0}.page{display:none!important}#page-checkout{display:block!important}}
  
    /* PREMIUM V3: blue-red flagship & branch-specific order */
    :root{--red:#a22532;--red-dark:#7b1c29;--navy:#183554;--navy-2:#214b72;--cream:#fbf9f5}
    .announcement,.site-footer{background:var(--navy)}.brand-mark{border-color:var(--navy);background:var(--red)}
    .page-hero{background:linear-gradient(120deg,#fbf8f3,#f5f0eb)}
    .order-branch-banner{display:flex;align-items:center;gap:16px;background:linear-gradient(105deg,#183554,#255175);border-radius:17px;color:#fff;padding:19px 22px;margin-bottom:24px;box-shadow:0 13px 27px rgba(19,47,73,.10)}
    .ob-icon{width:51px;height:51px;flex:0 0 auto;display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.15);border-radius:13px}.ob-icon svg{width:23px;height:23px}
    .ob-copy{flex:1;min-width:0;display:grid;gap:1px}.ob-label{font-size:10px;letter-spacing:.13em;font-weight:800;color:#bdcedd}.ob-copy strong{font-size:15px;letter-spacing:-.025em}.ob-copy small{font-size:11.5px;line-height:1.5;color:#e1e8ee;overflow-wrap:anywhere}
    .ob-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ob-actions button,.ob-actions a{border:1px solid rgba(255,255,255,.37);background:#fff;color:var(--navy);padding:10px 13px;min-height:40px;border-radius:9px;display:inline-flex;gap:7px;align-items:center;justify-content:center;font-size:11.5px;font-weight:750;white-space:nowrap;transition:background .2s,transform .2s}.ob-actions .ob-direction{background:rgba(255,255,255,.10);color:#fff}.ob-actions button:hover,.ob-actions a:hover{transform:translateY(-2px);background:#fff;color:var(--red)}
    .branch-card{border-radius:17px;padding:23px;box-shadow:0 7px 25px rgba(20,30,40,.03);display:flex;flex-direction:column;gap:0}.branch-card:hover{box-shadow:0 19px 33px rgba(20,30,40,.09)}.branch-card.selected-branch{border-color:#b56b72;box-shadow:0 0 0 2px rgba(162,37,50,.07)}
    .branch-card h3{font-size:16px;letter-spacing:-.035em;color:var(--navy)}.branch-card p{font-size:12.3px;min-height:66px;margin-bottom:12px}.branch-region{background:#eaf0f6;color:var(--navy)}.branch-icon{background:#eaf0f6;color:var(--navy)}
    .branch-phone{color:#596b7b;font-size:11.5px;display:flex;align-items:center;gap:8px;margin-bottom:20px}.branch-phone svg{width:14px;height:14px}
    .branch-actions{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:auto;border-top:1px solid var(--line);padding-top:16px}.branch-order{grid-column:1/-1;display:flex;justify-content:center;align-items:center;gap:9px;background:var(--red);color:#fff;border:1px solid var(--red);border-radius:10px;padding:11px 14px;font-size:12px;font-weight:750;min-height:45px;transition:all .22s}.branch-order:hover{background:var(--red-dark);transform:translateY(-2px)}.branch-order svg:last-child{margin-left:auto}.selected-branch .branch-order{background:var(--navy);border-color:var(--navy)}
    .branch-direction,.branch-call{border:1px solid #dde5e9;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 12px;color:var(--navy);font-size:11.5px;font-weight:750;transition:all .22s}.branch-direction:hover,.branch-call:hover{background:#edf3f6;border-color:#a2c0d4;transform:translateY(-2px)}.branch-call{width:45px}.branch-direction svg,.branch-call svg{width:16px;height:16px}
    .summary-branch{display:flex;align-items:center;gap:8px;color:var(--navy);background:#eef3f8;padding:10px 11px;border-radius:10px;font-size:11.5px;font-weight:750;margin-bottom:16px}.summary-branch svg{height:16px;width:16px}
    .cart-selected-branch{display:flex;gap:8px;align-items:center;background:#f0f5f8;border-radius:10px;padding:11px;margin-bottom:15px;font-size:11px;font-weight:750;color:var(--navy);flex-wrap:wrap}.cart-selected-branch button{margin-left:auto;color:var(--red);border:0;background:transparent;text-decoration:underline;font-weight:750}
    .cx-branch-location{display:flex;gap:8px;align-items:center;background:#eff4f9;border-radius:9px;padding:12px;margin-top:8px;font-size:11px;color:#344d64;line-height:1.6}.cx-branch-location>span{flex:1;min-width:0}.cx-branch-location>a{color:var(--red);display:inline-flex;align-items:center;gap:3px;font-weight:750;white-space:nowrap}.cx-branch-placeholder{display:block;color:#8b8883;font-size:11px;margin-top:8px}.cx-branch-location svg{width:16px;height:16px}
    .dish-photo-fallback{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,#fffdf6 0 28%,#e9e2d9 29% 34%,#f6eee5 35% 53%,#e2d4c7 100%);z-index:0}.dish-photo-fallback:before{content:'';width:53%;height:73%;position:absolute;border-radius:50%;box-shadow:0 8px 25px rgba(93,52,29,.18);border:9px solid #fbf9f2;background:radial-gradient(ellipse at 40% 45%,#cc7440 0 18%,#7f2e23 22% 37%,#ac5330 42% 51%,#e6bd6d 55% 69%,#6b8f3a 74% 88%,#b4a375 90%)}.dish-photo-fallback span{position:relative;z-index:1;font-size:46px;filter:drop-shadow(0 5px 8px rgba(0,0,0,.17))}.dish-img img{position:relative;z-index:1}.dish-label{z-index:2}
    .hero-copy .hero-actions .btn-secondary{border-color:#c7d4de;color:var(--navy)}
    @media(max-width:700px){.order-branch-banner{padding:16px;align-items:flex-start;flex-wrap:wrap;gap:11px;border-radius:14px}.ob-icon{width:41px;height:41px;border-radius:10px}.ob-copy{flex:1 1 calc(100% - 58px)}.ob-copy strong{font-size:13px}.ob-copy small{font-size:10.5px}.ob-actions{width:100%;margin-top:1px}.ob-actions button,.ob-actions a{flex:1;padding:10px;font-size:11px}.branch-card p{min-height:0}.branch-card{padding:21px}.cx-branch-location{align-items:flex-start;flex-wrap:wrap}.cx-branch-location>a{margin-left:24px}.dish-photo-fallback span{font-size:36px}}
    @media(max-width:380px){.ob-actions{flex-direction:column;align-items:stretch}.ob-actions a,.ob-actions button{width:100%}.cx-ticket p{flex-direction:column;gap:1px}.cx-ticket p span{text-align:left}.branch-actions{gap:7px}}


    /* V4 / Brand identity: logo resmi yang disediakan pengguna, biru #216096 dan merah #FF0000. */
    :root {
      --brand-blue:#216096;
      --brand-red:#FF0000;
      --red:#E00000;
      --red-dark:#BD0000;
      --red-soft:#FFF1F1;
      --navy:#216096;
      --navy-2:#2874AE;
      --ink:#1B3041;
      --muted:#607587;
      --line:#E0E9F1;
      --cream:#F5F9FC;
      --warm:#ECF4FA;
      --gold:#216096;
      --shadow:0 15px 45px rgba(20,71,106,.095);
    }
    body{font-size:14.5px;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
    button,input,select,textarea{font-family:inherit}
    button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(33,96,150,.38);outline-offset:3px}
    ::selection{background:#dbeeff;color:#173f63}
    .announcement{background:#216096;color:#fff}
    .announcement a{color:#fff}
    .header{height:94px;background:rgba(255,255,255,.97);border-bottom:1px solid #e5eef5}
    .header.scrolled{height:80px;box-shadow:0 9px 29px rgba(20,62,96,.09)}
    .nav-wrap{gap:17px}
    .brand{display:flex;gap:0;align-items:center;height:100%;min-width:0;line-height:1;flex:none}
    .brand-logo{display:block;width:211px;height:87px;background-image:url('logo.webp');background-repeat:no-repeat;background-size:contain;background-position:center left;flex:none}
    .desktop-nav{gap:22px}
    .nav-link{color:#3f5669;font-size:12.5px;font-weight:700}
    .nav-link.current,.nav-link:hover{color:#c90000}
    .nav-actions{gap:8px}
    .icon-btn:hover{background:#ebf3f9;color:var(--brand-blue)}
    .btn{border-radius:11px;min-height:43px}
    .btn-primary,.branch-order{background:#D80000;border-color:#D80000;color:#fff;box-shadow:0 9px 20px rgba(216,0,0,.15)}
    .btn-primary:hover,.branch-order:hover{background:#b90000;border-color:#b90000;box-shadow:0 14px 22px rgba(216,0,0,.2)}
    .btn-dark{background:var(--brand-blue)}.btn-dark:hover{background:#174c76}
    .btn-secondary{border-color:#cfdfe9;color:#18496c;background:#fff}
    .btn-secondary:hover{border-color:#8fb7d4;background:#f3f9fd}
    .btn-white{color:#C50000}
    .btn-ghost,.text-link{color:#ba0000}
    .cart-count{background:var(--brand-red)}
    .dropdown-panel{box-shadow:0 24px 55px rgba(26,69,103,.15);border-color:#e1ebf3}
    .dropdown-link:hover{background:#f0f7fc}
    .dropdown-link .mini-icon,.finder-title .finder-icon{background:#eaf3fa;color:var(--brand-blue)}
    .hero{background:linear-gradient(116deg,#fff 0%,#f4f9fd 52%,#e7f2fa 100%)}
    .hero:after{border-color:rgba(33,96,150,.1);box-shadow:0 0 0 72px rgba(33,96,150,.04)}
    .hero h1{color:#173b58;letter-spacing:-.057em}
    .hero h1 em{color:#e10000}
    .eyebrow,.section-kicker{color:#d00000}
    .hero-description,.hero-proof{color:#5b7180}
    .hero-image-wrap{box-shadow:16px 24px 60px rgba(22,76,118,.15)}
    .hero-stamp{color:var(--brand-blue);border-color:#d6e5f1}
    .quick-search{border:1px solid #e0ebf4;box-shadow:0 22px 53px rgba(22,77,110,.1)}
    .section-title,.page-hero h1{color:#173e60}
    .section-head p,.section-lead{color:#5e7180}
    .page-hero{background:linear-gradient(120deg,#f3f9fd,#fff 63%,#ebf4fa)}
    .page-hero:after{border-color:#cbe1f0;box-shadow:0 0 0 62px rgba(33,96,150,.035)}
    .breadcrumb b{color:#bf0000}
    .chip{border-color:#dce7ef;color:#526d81}
    .chip:hover{background:#edf6fc;border-color:#b7d1e4;color:#216096}
    .chip.active{background:#216096;border-color:#216096;color:#fff}
    .search-box,.control-select,.field input,.field select,.field textarea{border-color:#dce7ef}
    .field input:focus,.field select:focus,.field textarea:focus,.control-select:focus{border-color:#216096;box-shadow:0 0 0 3px rgba(33,96,150,.12)}
    .note-bar{background:#edf6fc;color:#425e72}
    .note-bar .icon{color:#216096}
    .branch-card{border-color:#e0ebf3;box-shadow:0 9px 27px rgba(20,71,106,.035)}
    .branch-card:hover{box-shadow:0 22px 36px rgba(20,71,106,.09)}
    .branch-card.selected-branch{border-color:#216096;box-shadow:0 0 0 2px rgba(33,96,150,.08)}
    .branch-card h3{color:#216096}
    .branch-region,.branch-icon{background:#eaf4fb;color:#216096}
    .branch-direction,.branch-call{border-color:#d6e7f2;color:#216096}
    .branch-direction:hover,.branch-call:hover{background:#eaf5fc;border-color:#92bedc}
    .branch-phone{color:#607587}
    .selected-branch .branch-order{background:#216096;border-color:#216096;box-shadow:none}
    .order-branch-banner{background:linear-gradient(115deg,#216096,#184c75);box-shadow:0 15px 31px rgba(33,96,150,.14)}
    .ob-label{color:#d2e7f6}
    .ob-actions .ob-direction:hover{color:#216096}
    .summary-branch,.cart-selected-branch,.cx-branch-location{background:#edf6fc;color:#216096}
    .form-card,.contact-form{border-color:#dfebf3}
    .service-card,.value-card,.dish-card{border-color:#e3edf5}
    .site-footer{background:#174D78;color:#fff}
    .footer-grid{grid-template-columns:1.7fr 1fr 1.1fr 1.25fr;gap:39px}
    .footer-brand .brand{display:inline-flex;height:auto}
    .footer-brand .brand-logo{width:235px;height:103px;background-color:#fff;background-size:calc(100% - 20px) auto;background-position:center;border-radius:14px;box-shadow:0 10px 26px rgba(0,0,0,.1)}
    .footer-about,.footer-column p,.footer-column button,.footer-column a{color:#d8e7f2}
    .footer-bottom{color:#c5ddec}
    .footer-bottom a{color:#fff}
    .mobile-panel{background:#fff}
    .mobile-panel-head .brand-logo{width:192px;height:85px}
    .toast{background:#1b5179}
    .secure-pill{border-color:#cbdfea;color:#216096;background:#edf6fc}
    .checkout-top,.checkout-area{background:#f8fbfe}
    .steps .step.active b,.steps .step.done b{background:#216096;border-color:#216096}
    .cx-card,.checkout-summary{border-color:#dfebf3}
    .cx-option.selected{border-color:#216096;background:#f1f8fd}
    .cx-option.selected svg{color:#216096}
    .cx-ticket{border-color:#d3e3ee}
    .service-icon,.value-card .icon{color:#216096}
    @media(max-width:1120px){.brand-logo{width:188px;height:81px}.desktop-nav{gap:13px}.nav-wrap{gap:11px}.header{height:85px}.header.scrolled{height:76px}}
    @media(max-width:920px){.brand-logo{width:177px;height:72px}.header,.header.scrolled{height:77px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}}
    @media(max-width:700px){
      .header,.header.scrolled{height:73px}
      .brand-logo{width:157px;height:67px}
      .mobile-panel-head .brand-logo{width:183px;height:78px}
      .footer-brand .brand-logo{width:225px;height:100px}
      .footer-grid{grid-template-columns:1fr 1fr}
      .hero h1{letter-spacing:-.05em}
      .hero-grid{padding-top:33px}
      .order-branch-banner{background:linear-gradient(135deg,#216096,#174b75)}
      .checkout-top,.checkout-area{background:#f9fcff}
    }
    @media(max-width:365px){.brand-logo{width:141px;height:63px}.header,.header.scrolled{height:69px}.nav-wrap{gap:3px}.nav-actions{gap:2px}}

  
/* DIREKTORI V5: Website-native maps, directions and brand-compliant cards */
.hero-photo-credit{position:absolute;z-index:3;right:16px;bottom:8px;color:#fff;font:500 9px/1.3 'Plus Jakarta Sans',sans-serif;opacity:.85;text-decoration:none;text-shadow:0 1px 3px #111}
.hero-photo-credit:hover{opacity:1;text-decoration:underline}.hero-image-wrap img{object-position:center center}
.directory-results{margin-bottom:14px}.directory-shell{display:grid;grid-template-columns:minmax(300px,.89fr) minmax(0,1.45fr);align-items:start;gap:22px;margin-top:14px}
.directory-list{border:1px solid #dfe7ed;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 13px 30px rgba(23,67,95,.04)}
.directory-list-top{padding:22px 22px 16px;border-bottom:1px solid #e9eef1;display:flex;flex-direction:column;gap:5px}
.directory-list-top b{font-size:17px;color:#183954}.directory-list-top span{color:#65798b;font-size:12px;line-height:1.5}
.directory-list #branchGrid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;max-height:770px;overflow-y:auto;overscroll-behavior:contain;padding:14px;scrollbar-width:thin;scrollbar-color:#b4cbd9 transparent}
.directory-list .branch-card{padding:19px;border:1px solid #e6edf1;box-shadow:none;border-radius:15px;min-height:unset;transition:box-shadow .2s, transform .2s, border-color .2s}
.directory-list .branch-card:hover{box-shadow:0 10px 22px rgba(33,96,150,.08);border-color:#aec7d8;transform:translateY(-1px)}
.directory-list .branch-card.map-preview-active{background:#f4f9fc;border-color:#216096;box-shadow:inset 3px 0 0 #216096}
.directory-list .branch-card .branch-top{margin-bottom:8px}.directory-list .branch-card h3{font-size:16px;line-height:1.3;margin-bottom:6px}
.directory-list .branch-card p{font-size:11.5px;line-height:1.55;margin-bottom:8px}.directory-list .branch-card .branch-phone{margin-bottom:12px}
.directory-list .branch-actions{display:flex;flex-wrap:wrap;gap:7px}.directory-list .branch-order{flex:1 1 190px;min-height:39px;font-size:10.5px;padding:9px 11px}
.directory-list .branch-direction{flex:1 1 135px;min-height:39px;font-size:10.5px;padding:9px 10px;cursor:pointer;background:#fff;font-family:inherit}
.directory-list .branch-call{min-height:39px;width:39px}.branch-direction{font-family:inherit;cursor:pointer}
.directory-map-panel{background:#fff;border:1px solid #dfe7ed;border-radius:20px;overflow:hidden;box-shadow:0 14px 36px rgba(23,67,95,.065);position:sticky;top:125px}
.directory-map-top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:23px 23px 18px}
.map-eyebrow{font-size:9px;font-weight:800;letter-spacing:.15em;color:#216096}.directory-map-top h2{font-size:23px;letter-spacing:-.035em;color:#173c59;margin:4px 0 6px;line-height:1.2}
.directory-map-top p{font-size:11.5px;color:#748492;margin:0;line-height:1.5}.map-live{color:#1d6188;font-size:10px;font-weight:750;white-space:nowrap;display:flex;align-items:center;gap:6px}
.map-live span{width:7px;height:7px;border-radius:50%;background:#00a68c}
.directory-map-canvas{position:relative;height:315px;background:linear-gradient(135deg,#eaf4fa 0%,#daeaf2 60%,#f4f9fc 100%);isolation:isolate}
#sederhanaMap{height:100%;width:100%;position:relative;z-index:1}.map-wait{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#57758c;background:linear-gradient(135deg,#e6f1f9,#f3f9fc);text-align:center;padding:22px}
.map-wait:before{content:'';position:absolute;inset:0;opacity:.23;background-image:linear-gradient(90deg,#99bed6 1px,transparent 1px),linear-gradient(#99bed6 1px,transparent 1px);background-size:44px 44px;transform:rotate(7deg) scale(1.3);z-index:-1}
.map-wait-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:17px;background:#fff;color:#216096;font-size:31px;box-shadow:0 8px 22px #2160961c}.map-wait strong{font-size:15px;color:#163c5c}.map-wait>span:last-child{font-size:11px;max-width:260px;line-height:1.6}
.map-reset{position:absolute;top:14px;right:14px;z-index:450;display:flex;align-items:center;gap:7px;cursor:pointer;font-family:inherit;background:#fff;border:1px solid #dae7ee;box-shadow:0 5px 16px #1c466222;border-radius:9px;padding:9px 12px;font-size:11px;font-weight:750;color:#194e78}
.map-route-panel{padding:18px 22px 20px}.route-destination{display:flex;align-items:flex-start;gap:11px;padding-bottom:14px;border-bottom:1px solid #e9eff3}.route-pin{display:grid;place-items:center;background:#fce9e9;border-radius:13px;width:41px;height:41px;color:#e00000;font-size:24px;flex-shrink:0}
.route-destination>div{display:flex;flex-direction:column;gap:3px;min-width:0}.route-destination small{color:#8c9aa4;letter-spacing:.08em;font-size:9px;font-weight:850}.route-destination strong{font-size:14px;color:#1c3850;line-height:1.3}.route-destination span:not(.route-pin){font-size:11px;color:#62798a;line-height:1.45}
.route-origin-row{margin-top:12px}.route-origin-row>label{font-weight:750;font-size:11px;color:#344f64;display:block;margin-bottom:7px}.route-input-wrap{display:flex;gap:7px;min-width:0}.route-input-wrap input{flex:1;min-width:0;border:1px solid #d7e3ec;border-radius:10px;outline:none;padding:11px 12px;font:500 11.5px 'Plus Jakarta Sans',sans-serif}.route-input-wrap input:focus{border-color:#216096;box-shadow:0 0 0 3px #21609617}.route-input-wrap button{white-space:nowrap;display:flex;align-items:center;gap:4px;background:#f0f5f8;border:1px solid #d7e4ec;color:#216096;border-radius:10px;padding:0 11px;font:750 10.5px 'Plus Jakarta Sans',sans-serif;cursor:pointer}
.route-buttons{display:flex;gap:8px;margin-top:10px}.route-start{flex:1;border:none;border-radius:10px;background:#e00000;color:#fff;min-height:41px;display:flex;align-items:center;justify-content:center;gap:9px;padding:10px 13px;font:800 11px 'Plus Jakarta Sans',sans-serif;cursor:pointer;transition:background .2s,transform .2s}.route-start:hover{background:#b90000;transform:translateY(-1px)}.route-copy{border:1px solid #cbdce8;background:#fff;padding:8px 12px;border-radius:10px;font:750 10.5px 'Plus Jakarta Sans',sans-serif;color:#216096;cursor:pointer}
.route-status{background:#f4f8fb;border:1px solid #e5edf3;border-radius:10px;color:#607d91;font-size:10.5px;line-height:1.65;padding:9px 11px;margin-top:11px}.route-status.error{background:#fff7f4;border-color:#f4ded5;color:#865541}.route-status.success{background:#eff9f4;border-color:#d7ebde;color:#32705a}
.route-itinerary{padding:0 2px;margin:10px 0;max-height:190px;overflow-y:auto}.route-itinerary[hidden]{display:none}.route-itinerary h4{font-size:12px;color:#173e5d;margin:7px 0}.route-itinerary ol{list-style:none;counter-reset:steps;margin:0;padding:0}.route-itinerary li{display:flex;gap:11px;padding:8px 0;border-bottom:1px solid #edf1f4;font-size:11px;color:#465f72;line-height:1.45}.route-itinerary li:before{counter-increment:steps;content:counter(steps);display:grid;place-items:center;width:22px;height:22px;flex-shrink:0;background:#eef5fa;border-radius:7px;color:#216096;font-size:10px;font-weight:800}
.map-attribution-note{font-size:9.2px;line-height:1.55;color:#9aa7af;padding-top:9px}.map-attribution-note a{color:#216096;text-decoration:underline}
.leaflet-container{font-family:'Plus Jakarta Sans',sans-serif!important}.map-pin-custom{display:grid;place-items:center;background:#e00000;color:#fff;border:3px solid #fff;box-shadow:0 3px 16px #112a4577;width:37px;height:37px;border-radius:12px 12px 12px 3px;transform:rotate(-15deg);font-weight:850;font-size:13px}.map-pin-custom span{transform:rotate(15deg)}
.cx-branch-location button.cx-directions{font:750 10.5px 'Plus Jakarta Sans',sans-serif;background:transparent;border:0;cursor:pointer;color:var(--red);display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
@media (max-width:1090px){.directory-shell{grid-template-columns:minmax(265px,.91fr) minmax(0,1.1fr);gap:15px}.directory-map-top{padding:19px 16px 14px}.map-route-panel{padding:15px}.directory-map-panel{top:100px}}
@media (max-width:800px){.directory-shell{grid-template-columns:1fr}.directory-map-panel{position:static;grid-row:1}.directory-list{grid-row:2}.directory-list #branchGrid{max-height:none;overflow:visible;grid-template-columns:repeat(2,minmax(0,1fr))}.directory-map-canvas{height:290px}.directory-map-top h2{font-size:22px}}
@media (max-width:575px){.directory-list #branchGrid{grid-template-columns:1fr;padding:12px}.directory-map-canvas{height:270px}.directory-map-top{padding:16px;align-items:start}.directory-map-top h2{font-size:21px}.directory-map-top p{font-size:11px}.map-live{display:none}.route-input-wrap button span{display:none}.route-input-wrap button{font-size:17px;min-width:42px;justify-content:center}.map-route-panel{padding:15px}.route-buttons{flex-wrap:wrap}.route-copy{flex:0 0 auto}.route-start{min-width:0}.hero-photo-credit{font-size:8px;right:10px;bottom:5px;max-width:65%;text-align:right}}
@media (prefers-reduced-motion:reduce){.directory-list .branch-card,.route-start{transition:none}}


/* V6: peta vektor OpenFreeMap + fallback terkontrol, bebas tile 403 OSM */
#sederhanaMap .maplibregl-control-container{font-family:'Plus Jakarta Sans',sans-serif}
#sederhanaMap .maplibregl-ctrl-bottom-right{bottom:10px;right:10px}
#sederhanaMap .maplibregl-ctrl-bottom-left{font-size:10px}
#sederhanaMap .maplibregl-popup-content{font:500 12px/1.6 'Plus Jakarta Sans',sans-serif;border-radius:9px;color:#163c5c}
#sederhanaMap .map-pin-custom{cursor:pointer}
.map-reset[hidden]{display:none!important}.map-live.map-offline{color:#7c8791}.map-wait-selected{position:relative;z-index:1;background:#fff;border:1px solid #d4e3ed;box-shadow:0 10px 27px #173d5f18;border-radius:999px;padding:9px 18px;color:#216096;font-size:11px;font-weight:760;line-height:1.45;margin-top:9px;max-width:94%}
.map-wait.map-fallback{background:radial-gradient(circle at 25% 15%,#ffffffbb 0,transparent 40%),linear-gradient(140deg,#e3f1f8 0%,#f5f9fb 55%,#d8ebf5 100%)}
.map-wait.map-fallback .map-wait-icon{background:#216096;color:white}
.map-wait.map-fallback:after{content:'';position:absolute;width:90%;height:90%;background:linear-gradient(115deg,transparent 43%,#fff 43.2%,#fff 45%,transparent 45.2%),linear-gradient(40deg,transparent 48%,#fff 48.2%,#fff 50%,transparent 50.2%);opacity:.6;pointer-events:none}
.map-wait.map-fallback > *{z-index:1}
@media(max-width:550px){.map-wait-selected{font-size:10px;padding:8px 12px}}

/* V7: native layanan cart & checkout */
.service-form-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.svc-live-pill{font-size:10px;font-weight:800;color:#216096;padding:6px 10px;border-radius:40px;background:#eaf3fa;border:1px solid #d5e7f6}
.form-card{border-color:#dfe9f2;background:linear-gradient(155deg,#fff 0%,#f6faff 100%);box-shadow:0 20px 55px rgba(23,81,133,.065)}
.form-card h3{font-size:24px}.form-card .form-lead{font-size:12px;line-height:1.85}
.package-item.selectable{font:inherit;width:100%;text-align:left;cursor:pointer;background:#fff;transition:transform .2s,border-color .2s,box-shadow .2s;align-items:flex-start}
.package-item.selectable:hover{transform:translateY(-2px);border-color:#8eb2d4;box-shadow:0 9px 24px rgba(28,85,141,.07)}
.package-item.selectable.is-selected{border-color:#216096;box-shadow:inset 0 0 0 1px #216096;background:#f1f7fd}
.package-item .svc-pkg-copy{flex:1;min-width:0}.package-item .svc-pkg-price{font-weight:800;color:#216096;font-size:12px;white-space:nowrap;align-self:center}
.svc-estimate{background:#edf5fb;border:1px solid #cfdfec;border-radius:14px;padding:17px 18px;margin:15px 0 16px}
.svc-estimate .svc-est-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;font-size:12px;color:#576f83}
.svc-estimate .svc-est-total{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #cadeed;padding-top:13px;margin-top:12px;font-size:12px;font-weight:800;color:#183e5d}
.svc-estimate .svc-est-total b{font-size:24px;color:#df0000;white-space:nowrap;letter-spacing:-.05em}
.svc-estimate small,.svc-safe-caption{font-size:10px;color:#697e90;line-height:1.7;display:block;margin-top:9px}
.svc-checkout-cta{display:flex;justify-content:center;align-items:center;gap:9px;font-size:14px!important;min-height:54px!important;box-shadow:0 12px 25px rgba(226,0,0,.13)}
.svc-checkout-cta .icon:last-child{margin-left:auto}.svc-checkout-cta .icon:first-child{margin-left:auto}
.svc-checkout-tag{display:inline-flex;gap:7px;align-items:center;padding:7px 12px;background:#eaf3fa;color:#216096;border-radius:99px;font-size:11px;font-weight:800}
.svc-line-review{display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:15px;align-items:center;padding:18px 0;border-block:1px solid #e6edf3;margin:14px 0}
.svc-line-review img{height:80px;width:82px;object-fit:cover;border-radius:12px}.svc-line-review h3{margin:4px 0;font-size:15px}
.svc-line-review .svc-mini{font-size:11px;color:#60768a;line-height:1.8}
.svc-review-cost{font-size:16px;font-weight:800;color:#216096;text-align:right}
.svc-qty-inline{display:flex;align-items:center;gap:12px;margin:18px 0;flex-wrap:wrap}.svc-qty-inline span{font-size:12px;color:#526b7f;font-weight:700;margin-right:5px}.svc-qty-inline b{min-width:32px;text-align:center}
.svc-qty-inline small{color:#708397;font-size:11px}
.svc-order-details{border:1px solid #dce8f0;background:#f8fbfd;border-radius:13px;padding:16px 20px;display:grid;gap:9px;margin:19px 0}
.svc-order-details>div{display:flex;justify-content:space-between;gap:15px;font-size:12px;color:#637588}.svc-order-details strong{color:#173f61;text-align:right}
.cx-service-hint{font-size:11px;line-height:1.85;color:#486a83;background:#ecf5fb;padding:13px 15px;border-radius:10px;margin:15px 0}
@media(max-width:700px){.svc-line-review{grid-template-columns:66px 1fr;gap:12px}.svc-line-review img{width:66px;height:70px}.svc-review-cost{grid-column:2;text-align:left}.svc-estimate .svc-est-total b{font-size:20px}}
@media(max-width:360px){.svc-estimate .svc-est-total{align-items:start;flex-direction:column;gap:4px}}

/* =====================================================================
   V8 — "SEDERHANA SIGNATURE"
   Identitas premium yang tetap setia pada corporate identity:
   • Biru Sederhana #216096 (warna utama, dari logo)
   • Merah Sederhana #FF0000 → #D7141A untuk UI (kontras & keterbacaan)
   • Turunan premium: Biru Malam #0C2741, Gading #FBF7F0, Pasir #F2EBDF
   • Benang Songket #B08D57 — aksen tipis, diambil dari songket Minang
   • Display: Cormorant Garamond · Teks: Plus Jakarta Sans
   • Motif: gonjong rumah gadang + kisi songket
   ===================================================================== */
:root{
  --sd-blue:#216096;--sd-blue-700:#184B77;--sd-night:#0E283F;--sd-night-2:#164064;
  --sd-red:#D7141A;--sd-red-700:#B30F14;--sd-logo-red:#FF0000;
  --sd-ivory:#FBF7F0;--sd-sand:#F2EBDF;--sd-paper:#FFFDF9;
  --sd-gold:#B08D57;--sd-gold-soft:#D9C4A0;--sd-gold-ink:#8A6A38;
  --sd-ink:#13263A;--sd-muted:#5D6B78;--sd-hair:#E6DDCF;
  --f-display:'Cormorant Garamond','Cormorant',Georgia,'Times New Roman',serif;
  --f-text:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  /* remap token lama */
  --red:var(--sd-red);--red-dark:var(--sd-red-700);--navy:var(--sd-blue);--ink:var(--sd-ink);
  --muted:var(--sd-muted);--line:var(--sd-hair);--cream:var(--sd-ivory);--warm:var(--sd-sand);
  --gold:var(--sd-gold);--shadow:0 30px 60px -30px rgba(14,40,63,.28);
  --songket:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='%23B08D57' stroke-width='.7'%3E%3Cpath d='M16 1 31 16 16 31 1 16Z'/%3E%3Cpath d='M16 8 24 16 16 24 8 16Z'/%3E%3C/g%3E%3Cpath d='M16 13.5 18.5 16 16 18.5 13.5 16Z' fill='%23B08D57'/%3E%3C/svg%3E");
  --gonjong:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='22' viewBox='0 0 120 22'%3E%3Cpath d='M0 20h14c8 0 12-6 16-15 2 5 6 9 12 10 6 1 12 1 18-3 6 4 12 4 18 3 6-1 10-5 12-10 4 9 8 15 16 15h14' fill='none' stroke='%23B08D57' stroke-width='1.1'/%3E%3Ccircle cx='60' cy='12' r='1.6' fill='%23B08D57'/%3E%3C/svg%3E");
}

/* ---------- Dasar ---------- */
html{background:var(--sd-ivory)}
body{background:var(--sd-ivory);color:var(--sd-ink);font-family:var(--f-text);font-size:15px;line-height:1.75;letter-spacing:.002em}
::selection{background:var(--sd-blue);color:#fff}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--sd-gold);outline-offset:3px}
.icon{stroke-width:1.5}

/* Tipografi display */
.hero h1,.section-title,.page-hero h1,.catering-copy h2,.checkout-heading h1,.drawer-head h3,.form-card h3,
.dish-title,.branch-card h3,.service-card h3,.value-card h3,.story-year b,.hero-stamp strong,.cx-card h2,.cx-card h3,
.modal-content h2,.modal-content h3,.footer-column h4,.about-wide h2,.contact-info h2,.contact-form h3,.directory-map-top h2{
  font-family:var(--f-display);font-weight:600;letter-spacing:-.01em;color:var(--sd-night)}
.hero h1 em,.section-title em,.page-hero h1 em,.checkout-heading h1 em{font-style:italic;font-weight:500;color:var(--sd-red)}

/* Label kecil: huruf kapital renggang + garis benang songket */
.eyebrow,.section-kicker,.map-eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--f-text);font-size:10.5px!important;
  font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--sd-blue)}
.eyebrow:before,.section-kicker:before{content:'';width:34px;height:1px;background:var(--sd-gold);flex:none}

/* ---------- Tombol ---------- */
.btn{border-radius:2px;min-height:50px;padding-inline:26px;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  box-shadow:none;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),transform .2s}
.btn-primary,.branch-order{background:var(--sd-red);border:1px solid var(--sd-red);color:#fff;box-shadow:none}
.btn-primary:hover,.branch-order:hover{background:var(--sd-red-700);border-color:var(--sd-red-700);box-shadow:0 14px 28px -14px rgba(215,20,26,.6)}
.btn-secondary{background:transparent;border:1px solid var(--sd-blue);color:var(--sd-blue)}
.btn-secondary:hover{background:var(--sd-blue);color:#fff;border-color:var(--sd-blue)}
.btn-dark{background:var(--sd-night);color:#fff}.btn-dark:hover{background:var(--sd-blue)}
.btn-white{background:var(--sd-ivory);color:var(--sd-night);border:1px solid var(--sd-ivory)}
.btn-white:hover{background:transparent;color:var(--sd-ivory)}
.text-link,.btn-ghost{color:var(--sd-blue);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;
  border-bottom:1px solid var(--sd-gold);padding-bottom:4px;border-radius:0}
.text-link:hover,.btn-ghost:hover{color:var(--sd-red)}
.svc-checkout-cta{box-shadow:none}

/* ---------- Pengumuman & header ---------- */
.announcement{background:var(--sd-night);color:var(--sd-gold-soft);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase}
.announcement a{color:#fff}
.header{background:rgba(251,247,240,.88);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--sd-hair)}
.header.scrolled{box-shadow:0 12px 30px -22px rgba(14,40,63,.35)}
.brand-logo{mix-blend-mode:multiply}
.nav-link{font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--sd-ink);position:relative}
.nav-link:after{content:'';position:absolute;left:50%;bottom:-8px;width:4px;height:4px;border-radius:50%;background:var(--sd-red);transform:translateX(-50%) scale(0);transition:transform .3s var(--ease)}
.nav-link.current,.nav-link:hover{color:var(--sd-blue)}
.nav-link.current:after{transform:translateX(-50%) scale(1)}
.icon-btn:hover{background:var(--sd-sand);color:var(--sd-blue)}
.cart-count{background:var(--sd-red)}
.dropdown-panel{background:var(--sd-paper);border:1px solid var(--sd-hair);border-radius:4px;box-shadow:0 30px 60px -30px rgba(14,40,63,.35)}
.dropdown-link:hover{background:var(--sd-ivory)}
.dropdown-link .mini-icon,.finder-title .finder-icon{background:transparent;border:1px solid var(--sd-gold-soft);color:var(--sd-blue);border-radius:50%}

/* ---------- Hero ---------- */
.hero{background:var(--sd-ivory);border-bottom:0}
.hero:before{content:'';position:absolute;inset:0 0 0 auto;width:42%;background:var(--sd-sand);z-index:-2}
.hero:after{content:'';width:100%;height:22px;left:0;right:0;bottom:0;top:auto;border:0;border-radius:0;box-shadow:none;
  background:var(--gonjong) center/120px 22px repeat-x;opacity:.55}
.hero h1{font-size:clamp(50px,6.3vw,96px);line-height:.98;letter-spacing:-.02em;font-weight:600;margin:22px 0 26px}
.hero-description{color:var(--sd-muted);font-size:16px;line-height:1.85;max-width:470px}
.hero-image-wrap{border-radius:999px 999px 4px 4px;box-shadow:0 50px 80px -40px rgba(14,40,63,.45);outline:1px solid var(--sd-gold-soft);outline-offset:14px;background:var(--sd-night)}
.hero-caption{background:linear-gradient(transparent,rgba(14,40,63,.82))}
.hero-caption p{font-family:var(--f-display);font-size:22px;font-style:italic;font-weight:500}
.hero-stamp{background:var(--sd-night);color:var(--sd-gold-soft);border:1px solid var(--sd-gold);box-shadow:0 0 0 6px var(--sd-ivory),0 0 0 7px var(--sd-gold-soft);transform:rotate(0)}
.hero-stamp strong{color:#fff;font-size:26px;font-weight:600}
.hero-stamp span{letter-spacing:.2em;font-size:7.5px;color:var(--sd-gold-soft)}
.hero-copy .hero-actions .btn-secondary{border-color:var(--sd-blue);color:var(--sd-blue)}
.hero-proof{color:var(--sd-muted);border-top:1px solid var(--sd-hair);padding-top:22px}
.hero-proof strong{font-family:var(--f-display);font-size:19px;font-weight:600;color:var(--sd-night);font-style:italic}
.proof-avatars{display:none!important}
.hero-proof:before{content:'';width:46px;height:46px;flex:none;border:1px solid var(--sd-gold);border-radius:50%;
  background:var(--songket) center/16px 16px,var(--sd-paper)}
.hero-photo-credit{color:var(--sd-muted)}

/* Pencarian cepat */
.quick-search{background:var(--sd-paper);border:1px solid var(--sd-hair);border-top:2px solid var(--sd-gold);border-radius:3px;box-shadow:0 40px 70px -40px rgba(14,40,63,.35)}
.finder-title{border-right-color:var(--sd-hair)}
.finder-title strong{font-family:var(--f-display);font-size:21px;font-weight:600;color:var(--sd-night)}
.finder-field label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--sd-gold-ink)}

/* ---------- Section ---------- */
section.section{padding:120px 0}
.section-bg{background:var(--sd-sand)}
.section-title{font-size:clamp(36px,4.2vw,58px);line-height:1.05;margin-top:14px}
.page-hero h1{letter-spacing:-.01em}
.section-sub,.section-head p,.section-lead{color:var(--sd-muted);font-size:15px;line-height:1.85;max-width:560px}

/* Kartu hidangan — gaya "menu degustasi" */
.dish-grid{gap:28px}
.dish-card{background:transparent;border:0;border-radius:0;box-shadow:none}
.dish-card:hover{transform:none;box-shadow:none}
.dish-img{height:300px;border-radius:999px 999px 3px 3px;background:var(--sd-sand)}
.dish-card:hover .dish-img img{transform:scale(1.06)}
.dish-label{background:var(--sd-night);color:var(--sd-gold-soft);border-radius:0;font-size:9px;letter-spacing:.22em;text-transform:uppercase;left:50%;top:auto;bottom:14px;transform:translateX(-50%);padding:6px 12px;white-space:nowrap}
.dish-body{padding:22px 4px 0;text-align:center}
.dish-cat{color:var(--sd-gold-ink);font-size:10px;letter-spacing:.26em;text-transform:uppercase}
.dish-title{font-size:27px;line-height:1.1;margin:6px 0 8px}
.dish-desc{color:var(--sd-muted);font-size:12.5px;min-height:62px}
.dish-foot{border-top:1px solid var(--sd-hair);padding-top:14px;margin-top:6px}
.dish-price small{color:var(--sd-gold-ink);letter-spacing:.14em;text-transform:uppercase;font-size:9px}
.dish-price strong{font-family:var(--f-display);font-size:24px;font-weight:600;color:var(--sd-night);letter-spacing:0}
.add-round{background:transparent;border:1px solid var(--sd-blue);color:var(--sd-blue);border-radius:50%}
.add-round:hover{background:var(--sd-red);border-color:var(--sd-red);color:#fff;box-shadow:none}

.service-highlights{background:transparent;border:0;border-top:1px solid var(--sd-hair);border-bottom:1px solid var(--sd-hair);border-radius:0;margin-top:64px}
.highlight strong{font-family:var(--f-display);font-size:20px;font-weight:600;color:var(--sd-night)}
.highlight-icon{background:transparent!important;border:1px solid var(--sd-gold-soft);color:var(--sd-blue)!important;border-radius:50%}

/* Cerita */
.story-media .story-photo{border-radius:999px 999px 3px 3px;height:540px}
.story-media:after{border-color:var(--sd-gold);border-radius:999px 999px 0 0;right:-16px;top:-16px;width:calc(100% - 40px);height:calc(100% - 40px);left:auto}
.story-year{background:var(--sd-night);color:#fff;border-radius:0;border-top:2px solid var(--sd-gold)}
.story-year b{color:#fff;font-size:44px}
.story-year span{color:var(--sd-gold-soft);letter-spacing:.14em;text-transform:uppercase;font-size:9px}
.story-copy p{color:var(--sd-muted)}
.story-point svg{color:var(--sd-red)}

/* Layanan */
.services-grid{gap:0;border-top:1px solid var(--sd-hair)}
.service-card{background:transparent;border:0;border-right:1px solid var(--sd-hair);border-radius:0;padding:44px 36px}
.service-card:last-child{border-right:0}
.service-card:hover{transform:none;box-shadow:none;background:var(--sd-paper)}
.service-card h3{font-size:30px;margin:22px 0 10px}
.service-icon{background:transparent!important;border:1px solid var(--sd-gold-soft);border-radius:50%;color:var(--sd-blue)!important}

/* Banner catering: Biru Malam + kisi songket */
.catering-banner{background:var(--sd-night);border-radius:2px;position:relative}
.catering-banner:before{inset:0;width:auto;height:auto;left:0;bottom:0;border:0;border-radius:0;box-shadow:none;
  background:var(--songket) 0 0/32px 32px;opacity:.16}
.catering-copy{position:relative;z-index:1}
.catering-copy .section-kicker{color:var(--sd-gold-soft)}
.catering-copy h2{color:#fff;font-size:clamp(34px,3.6vw,52px);line-height:1.06}
.catering-copy p{color:#D9E4EE}
.catering-banner img{filter:saturate(1.05)}

/* Cabang */
.branch-card{background:var(--sd-paper);border:1px solid var(--sd-hair);border-radius:3px;box-shadow:none}
.branch-card:hover{border-color:var(--sd-gold-soft);box-shadow:0 30px 50px -36px rgba(14,40,63,.4);transform:translateY(-3px)}
.branch-card.selected-branch{border-color:var(--sd-blue);box-shadow:inset 0 0 0 1px var(--sd-blue)}
.branch-card h3{font-size:26px;color:var(--sd-night)}
.branch-region,.branch-icon{background:transparent;border:1px solid var(--sd-gold-soft);color:var(--sd-blue);border-radius:99px;letter-spacing:.12em;text-transform:uppercase;font-size:9.5px}
.branch-icon{border-radius:50%}
.branch-direction,.branch-call{background:transparent;border:1px solid var(--sd-hair);border-radius:2px;border-color:var(--sd-hair);color:var(--sd-blue)}
.branch-direction:hover,.branch-call:hover{background:var(--sd-ivory);border-color:var(--sd-blue)}
.branch-order{border-radius:2px;letter-spacing:.14em;text-transform:uppercase;font-size:11px}
.selected-branch .branch-order{background:var(--sd-blue);border-color:var(--sd-blue)}
.order-branch-banner{background:var(--sd-night);border-radius:3px;border-left:3px solid var(--sd-gold);box-shadow:none}
.ob-label{color:var(--sd-gold-soft)}
.ob-actions button,.ob-actions a{border-radius:2px}

/* FAQ */
.faq-list{border-top:1px solid var(--sd-night)}
.faq-item{border-bottom-color:var(--sd-hair)}
.faq-question{font-family:var(--f-display);font-size:22px;font-weight:600;color:var(--sd-night);padding:24px 2px}
.faq-question .icon{color:var(--sd-gold)}
.faq-answer p{color:var(--sd-muted)}

/* ---------- Halaman dalam: hero Biru Malam ---------- */
.page-hero{background:var(--sd-night);color:#fff;padding:96px 0 84px;isolation:isolate}
.page-hero:before{content:'';position:absolute;inset:0;background:var(--songket) 0 0/32px 32px;opacity:.12;z-index:-1;
  -webkit-mask-image:linear-gradient(100deg,transparent 35%,#000 100%);mask-image:linear-gradient(100deg,transparent 35%,#000 100%)}
.page-hero:after{content:'';top:auto;right:0;left:0;bottom:0;width:100%;height:22px;border:0;border-radius:0;box-shadow:none;
  background:var(--gonjong) center/120px 22px repeat-x;opacity:.7}
.page-hero h1{color:#fff;font-size:clamp(42px,5.4vw,78px);line-height:1.02;max-width:900px}
.page-hero p{color:#D9E4EE;font-size:15.5px}
.page-hero .section-kicker{color:var(--sd-gold-soft)}
.breadcrumb{color:#B4C6D8;letter-spacing:.16em;text-transform:uppercase;font-size:10px}
.breadcrumb b{color:#fff}

/* Filter & form */
.chip{border-radius:99px;border-color:var(--sd-hair);background:transparent;color:var(--sd-ink);letter-spacing:.12em;text-transform:uppercase;font-size:10px}
.chip:hover{background:var(--sd-paper);border-color:var(--sd-gold);color:var(--sd-blue)}
.chip.active{background:var(--sd-night);border-color:var(--sd-night);color:#fff}
.search-box,.control-select,.field input,.field select,.field textarea{border-radius:2px;border-color:var(--sd-hair);background:var(--sd-paper)}
.field input:focus,.field select:focus,.field textarea:focus,.control-select:focus{border-color:var(--sd-blue);box-shadow:0 0 0 3px rgba(33,96,150,.12)}
.field label{letter-spacing:.06em}
.note-bar,.cx-service-hint,.svc-estimate{background:var(--sd-paper);border:1px solid var(--sd-hair);border-left:2px solid var(--sd-gold);border-radius:2px;color:var(--sd-muted)}
.form-card,.contact-form{background:var(--sd-paper);border:1px solid var(--sd-hair);border-radius:3px;box-shadow:0 40px 70px -50px rgba(14,40,63,.4)}
.form-card h3{font-size:32px}
.package-item.selectable{border-radius:2px}
.package-item.selectable.is-selected{background:var(--sd-ivory);border-color:var(--sd-blue)}
.svc-estimate .svc-est-total b{font-family:var(--f-display);font-weight:600;letter-spacing:0;font-size:30px;color:var(--sd-red)}
.svc-live-pill,.svc-checkout-tag{background:transparent;border:1px solid var(--sd-gold-soft);color:var(--sd-blue)}
.value-card{background:var(--sd-paper);border-radius:3px;border-color:var(--sd-hair)}
.about-wide img{border-radius:999px 999px 3px 3px}

/* ---------- Checkout ---------- */
.checkout-top{background:var(--sd-ivory);border-bottom:1px solid var(--sd-hair)}
.checkout-area{background:var(--sd-sand)}
.checkout-heading h1{font-size:clamp(38px,4.4vw,62px);letter-spacing:-.01em}
.secure-pill{background:var(--sd-paper);border-color:var(--sd-gold-soft);color:var(--sd-blue);border-radius:99px}
.steps:before{border-top:1px solid var(--sd-gold-soft)}
.step b{background:var(--sd-ivory);border-color:var(--sd-gold-soft);font-family:var(--f-display);font-size:17px}
.step.active b,.steps .step.active b{background:var(--sd-night);border-color:var(--sd-night);color:#fff}
.step.complete b{background:var(--sd-blue);border-color:var(--sd-blue)}.step.complete{color:var(--sd-blue)}
.cx-card,.checkout-summary{background:var(--sd-paper);border-color:var(--sd-hair);border-radius:3px;box-shadow:none}
.cx-option{border-radius:2px}
.cx-option.selected{border-color:var(--sd-blue);background:var(--sd-ivory)}
.summary-branch,.cart-selected-branch,.cx-branch-location{background:var(--sd-ivory);border:1px solid var(--sd-hair);color:var(--sd-blue);border-radius:2px}

/* Drawer, modal, toast */
.cart-drawer,.modal,.mobile-panel{background:var(--sd-paper)}
.drawer-head h3{font-size:30px}
.cart-item img{border-radius:999px 999px 2px 2px}
.cart-price{color:var(--sd-red)}
.qty-btn{border-radius:50%}
.toast{background:var(--sd-night);border-left:3px solid var(--sd-gold);border-radius:2px}
.overlay{background:rgba(14,40,63,.55)}

/* ---------- Footer ---------- */
.site-footer{background:var(--sd-night);position:relative;padding-top:96px;isolation:isolate}
.site-footer:before{content:'';position:absolute;inset:0 0 auto;height:22px;background:var(--gonjong) center/120px 22px repeat-x;opacity:.8}
.site-footer:after{content:'';position:absolute;inset:0;background:var(--songket) 0 0/32px 32px;opacity:.05;z-index:-1}
.footer-brand .brand-logo{background-color:var(--sd-ivory);border-radius:2px;box-shadow:none;outline:1px solid var(--sd-gold);outline-offset:5px;mix-blend-mode:normal}
.footer-column h4{color:var(--sd-gold-soft);font-family:var(--f-text);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;font-weight:700}
.footer-about,.footer-column p,.footer-column button,.footer-column a{color:#D3DFEB}
.footer-column button:hover,.footer-column a:hover{color:#fff}
.footer-bottom{border-top-color:rgba(176,141,87,.3);color:#A9BDD0}

/* Navigasi bawah mobile */
.mobile-bottom{background:rgba(251,247,240,.95);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--sd-hair)}
.mobile-bottom button{letter-spacing:.06em}
.mobile-bottom button.active{color:var(--sd-blue)}
.back-top{background:var(--sd-night);color:var(--sd-gold-soft);border-radius:50%}

/* ---------- Responsif ---------- */
@media(max-width:1120px){.dish-img{height:260px}.service-card{padding:36px 26px}}
@media(max-width:920px){
  .hero:before{width:100%;top:auto;height:44%}
  .services-grid{border-top:0}.service-card{border-right:0;border-bottom:1px solid var(--sd-hair)}
  .story-media .story-photo{height:440px}
}
@media(max-width:700px){
  section.section{padding:76px 0}
  .announcement{letter-spacing:.06em;font-size:9.5px}
  .announcement .container{white-space:nowrap;overflow:hidden}
  .announcement .container>span{overflow:hidden;text-overflow:ellipsis}
  .hero h1{font-size:clamp(44px,12vw,58px)}
  .hero-image-wrap{outline-offset:8px}
  .dish-grid{gap:30px 16px}
  .dish-img{height:220px}
  .dish-title{font-size:22px}
  .page-hero{padding:64px 0 60px}
  .page-hero h1{font-size:clamp(36px,10vw,48px)}
  .faq-question{font-size:19px}
  .story-media .story-photo{height:360px}
  .story-media:after{right:-8px;top:-8px}
  .btn{padding-inline:20px;letter-spacing:.12em}
}
@media(max-width:410px){.dish-img{height:170px}.dish-title{font-size:20px}.dish-desc{min-height:0}}


/* =====================================================================
   V9 — "OPULENCE": lebih tebal, lebih kaya, lebih mewah
   Biru Malam dominan · emas songket bertekstur · serif tebal Playfair
   ===================================================================== */
:root{
  --f-display:'Playfair Display',Georgia,'Times New Roman',serif;
  --sd-night:#0E283F;--sd-night-2:#164064;--sd-deep:#091B2A;
  --sd-gold:#C29A55;--sd-gold-soft:#E3C88F;--sd-gold-ink:#8E6A2E;
  --gold-grad:linear-gradient(120deg,#8E6A2E 0%,#E7CF94 38%,#B88A43 62%,#F0DDAA 100%);
  --sd-muted:#4F5D6B;--sd-hair:#E2D5BE;
  --songket-bold:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cg fill='none' stroke='%23C29A55' stroke-width='1.2'%3E%3Cpath d='M22 1 43 22 22 43 1 22Z'/%3E%3Cpath d='M22 9 35 22 22 35 9 22Z'/%3E%3C/g%3E%3Cpath d='M22 17 27 22 22 27 17 22Z' fill='%23C29A55'/%3E%3Ccircle cx='0' cy='0' r='2' fill='%23C29A55'/%3E%3Ccircle cx='44' cy='0' r='2' fill='%23C29A55'/%3E%3Ccircle cx='0' cy='44' r='2' fill='%23C29A55'/%3E%3Ccircle cx='44' cy='44' r='2' fill='%23C29A55'/%3E%3C/svg%3E");
  --gonjong-bold:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='30' viewBox='0 0 140 30'%3E%3Cpath d='M0 27h16c10 0 15-8 20-21 3 7 8 12 15 13 7 1 13 1 19-4 6 5 12 5 19 4 7-1 12-6 15-13 5 13 10 21 20 21h16' fill='none' stroke='%23C29A55' stroke-width='2'/%3E%3Cpath d='M70 9l4 4-4 4-4-4z' fill='%23C29A55'/%3E%3C/svg%3E");
}
body{font-size:15.5px;font-weight:500;color:var(--sd-ink)}
p{font-weight:450}

/* Judul: serif tebal kontras tinggi */
.hero h1,.section-title,.page-hero h1,.catering-copy h2,.checkout-heading h1,.drawer-head h3,.form-card h3,
.dish-title,.branch-card h3,.service-card h3,.value-card h3,.story-year b,.hero-stamp strong,.cx-card h2,.cx-card h3,
.modal-content h2,.modal-content h3,.about-wide h2,.contact-info h2,.contact-form h3,.directory-map-top h2,
.finder-title strong,.highlight strong,.faq-question,.hero-proof strong,.dish-price strong,.hero-caption p{font-family:var(--f-display);font-weight:700;letter-spacing:-.01em}
.hero h1 em,.section-title em,.page-hero h1 em,.checkout-heading h1 em{font-weight:600;font-style:italic}

/* Label: emas tebal dengan belah ketupat */
.eyebrow,.section-kicker,.map-eyebrow{font-size:11.5px!important;font-weight:800;letter-spacing:.24em;color:var(--sd-gold-ink)}
.eyebrow:before,.section-kicker:before{width:46px;height:2px;background:var(--gold-grad)}
.eyebrow:after,.section-kicker:after{content:'';width:7px;height:7px;background:var(--sd-gold);transform:rotate(45deg);flex:none;margin-left:-6px;order:-1}
.eyebrow:before,.section-kicker:before{order:-2}

/* Tombol berbobot */
.btn{min-height:56px;padding-inline:30px;font-size:12.5px;font-weight:800;letter-spacing:.14em;border-radius:3px}
.btn-primary,.branch-order{background:linear-gradient(180deg,#E3252B,#C30F15);border:1px solid #A70C11;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),inset 0 -3px 0 rgba(0,0,0,.18),0 18px 30px -16px rgba(195,15,21,.7)}
.btn-primary:hover,.branch-order:hover{background:linear-gradient(180deg,#C91A20,#A50C11);transform:translateY(-2px)}
.btn-secondary{border:2px solid var(--sd-blue);font-weight:800}
.btn-white{background:var(--gold-grad);color:var(--sd-deep);border:0;box-shadow:0 18px 30px -16px rgba(0,0,0,.6)}
.btn-white:hover{filter:brightness(1.08);color:var(--sd-deep);background:var(--gold-grad)}
.text-link,.btn-ghost{font-size:12px;font-weight:800;border-bottom:2px solid var(--sd-gold)}

/* Header: garis emas + merah tipis (warna korporat) */
.announcement{background:var(--sd-deep);color:var(--sd-gold-soft);font-weight:700}
.header{background:#FFFDF8;border-bottom:0;box-shadow:0 1px 0 var(--sd-hair)}
.header:after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:4px;background:linear-gradient(var(--sd-gold) 0 2px,transparent 2px 3px,var(--sd-red) 3px 4px);pointer-events:none}
.header{position:sticky}
.nav-link{font-size:11.5px;font-weight:800;color:var(--sd-night)}

/* ---------- HERO: Biru Malam, songket, bingkai emas ---------- */
.hero{background:radial-gradient(ellipse 70% 90% at 75% 40%,#216096 0%,var(--sd-night) 55%,var(--sd-deep) 100%);color:#fff}
.hero:before{inset:0;width:auto;height:auto;background:var(--songket-bold) 0 0/44px 44px;opacity:.13;z-index:-1;
  -webkit-mask-image:radial-gradient(ellipse 60% 80% at 80% 45%,#000 0%,transparent 75%);mask-image:radial-gradient(ellipse 60% 80% at 80% 45%,#000 0%,transparent 75%)}
.hero:after{height:30px;background:var(--gonjong-bold) center/140px 30px repeat-x;opacity:1;bottom:18px}
.hero-grid{padding-bottom:60px}
.hero .eyebrow{color:var(--sd-gold-soft)}
.hero h1{color:#FFF8EC;font-size:clamp(50px,6vw,92px);line-height:1.02;text-shadow:0 2px 30px rgba(0,0,0,.25)}
.hero h1 em{color:transparent;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text}
.hero-description{color:#E3ECF5;font-size:17px;font-weight:450}
.hero-copy .hero-actions .btn-secondary{border:2px solid var(--sd-gold);color:var(--sd-gold-soft);background:rgba(255,255,255,.03)}
.hero-copy .hero-actions .btn-secondary:hover{background:var(--sd-gold);color:var(--sd-deep)}
.hero-proof{border-top:1px solid rgba(194,154,85,.35);color:#CFDCE9}
.hero-proof strong{color:#FFF8EC;font-style:italic;font-weight:600}
.hero-proof:before{background:var(--songket-bold) center/22px 22px,var(--sd-night-2);border:2px solid var(--sd-gold)}
.hero-image-wrap{outline:0;border:6px solid transparent;background:var(--gold-grad) border-box;
  box-shadow:0 0 0 12px rgba(14,40,63,.9),0 0 0 13px rgba(194,154,85,.6),0 60px 90px -30px rgba(0,0,0,.7)}
.hero-image-wrap img{border-radius:999px 999px 0 0}
.hero-caption{background:linear-gradient(transparent,rgba(9,27,42,.9));border-radius:0}
.hero-caption p{font-size:24px;font-weight:600}
.hero-stamp{width:112px!important;height:112px!important;background:var(--gold-grad);color:var(--sd-deep);border:0;
  box-shadow:0 0 0 5px var(--sd-night),0 0 0 7px var(--sd-gold),0 20px 30px -10px rgba(0,0,0,.6)}
.hero-stamp strong{color:var(--sd-deep);font-size:32px}
.hero-stamp span{color:var(--sd-deep);font-weight:800;font-size:8px}
.hero-photo-credit{color:#9FB4C9}

/* Pencarian cepat: kartu gading dengan bingkai emas ganda */
.quick-search{border:1px solid var(--sd-gold);border-top:4px solid var(--sd-gold);outline:1px solid rgba(194,154,85,.35);outline-offset:5px;
  box-shadow:0 40px 80px -30px rgba(9,27,42,.5)}

/* ---------- Menu favorit: panggung gelap ---------- */
#home-menu{background:var(--sd-night);position:relative;isolation:isolate;color:#fff;margin-top:-1px}
#home-menu:before{content:'';position:absolute;inset:0;background:var(--songket-bold) 0 0/44px 44px;opacity:.06;z-index:-1}
#home-menu .section-title{color:#FFF8EC}
#home-menu .section-kicker{color:var(--sd-gold-soft)}
#home-menu .section-sub{color:#D3DFEB}
#home-menu .text-link{color:var(--sd-gold-soft)}
#home-menu .dish-title{color:#FFF8EC}
#home-menu .dish-desc{color:#C9D8E6}
#home-menu .dish-cat,#home-menu .dish-price small{color:var(--sd-gold-soft)}
#home-menu .dish-price strong{color:#fff}
#home-menu .dish-foot{border-top-color:rgba(194,154,85,.3)}
#home-menu .add-round{border-color:var(--sd-gold);color:var(--sd-gold-soft)}
#home-menu .dish-foot .text-link,#home-menu .dish-foot button:not(.add-round){color:var(--sd-gold-soft)}
#home-menu .service-highlights{border-color:rgba(194,154,85,.35)}
#home-menu .highlight strong{color:#FFF8EC}
#home-menu .highlight span{color:#C9D8E6}
#home-menu .highlight:not(:last-child):after{background:rgba(194,154,85,.35)}
#home-menu .highlight-icon{border-color:var(--sd-gold)!important;color:var(--sd-gold-soft)!important}

/* Kartu hidangan: bingkai lengkung emas */
.dish-img{border:3px solid var(--sd-gold);box-shadow:0 0 0 5px var(--sd-ivory),0 0 0 6px rgba(194,154,85,.55),0 30px 50px -28px rgba(9,27,42,.55)}
#home-menu .dish-img{box-shadow:0 0 0 5px var(--sd-night),0 0 0 6px rgba(194,154,85,.55),0 30px 50px -20px rgba(0,0,0,.6)}
.dish-label{background:var(--gold-grad);color:var(--sd-deep);font-weight:800}
.dish-title{font-size:26px}
.dish-desc{font-size:13px;font-weight:450}
.dish-price strong{font-size:23px}
.add-round{border-width:2px;width:44px!important;height:44px!important}

/* Cerita */
.story-media .story-photo{border:4px solid var(--sd-gold)}
.story-media:after{border:2px solid var(--sd-gold)}
.story-year{background:var(--gold-grad);color:var(--sd-deep);border-top:0;box-shadow:0 25px 40px -20px rgba(9,27,42,.6)}
.story-year b{color:var(--sd-deep);font-size:48px}
.story-year span{color:var(--sd-deep);font-weight:800}
.story-point{font-weight:700}

/* Layanan: kartu bernomor */
.services-grid{counter-reset:svc;gap:22px;border:0}
.service-card{counter-increment:svc;position:relative;background:#FFFDF8;border:1px solid var(--sd-hair)!important;border-top:4px solid var(--sd-blue)!important;border-radius:3px;
  box-shadow:0 30px 60px -40px rgba(9,27,42,.45);overflow:hidden}
.service-card:before{content:'0' counter(svc);position:absolute;right:22px;top:6px;font-family:var(--f-display);font-size:86px;font-weight:700;line-height:1;
  color:transparent;-webkit-text-stroke:1.5px var(--sd-gold-soft)}
.service-card:hover{background:#fff;transform:translateY(-6px);box-shadow:0 40px 70px -36px rgba(9,27,42,.55)}
.service-icon{width:62px!important;height:62px!important;border:2px solid var(--sd-gold)!important;background:var(--sd-ivory)!important}

/* Banner catering */
.catering-banner{background:radial-gradient(ellipse at 20% 30%,#216096,var(--sd-night) 60%,var(--sd-deep));border:1px solid var(--sd-gold);
  outline:1px solid rgba(194,154,85,.4);outline-offset:8px;box-shadow:0 50px 90px -40px rgba(9,27,42,.7)}
.catering-banner:before{background:var(--songket-bold) 0 0/44px 44px;opacity:.12}
.catering-banner img{border-left:4px solid var(--sd-gold)}

/* Cabang */
.branch-card{border-top:4px solid var(--sd-gold)!important;background:#FFFDF8;box-shadow:0 26px 50px -40px rgba(9,27,42,.5)}
.branch-card h3{font-size:25px}

/* FAQ */
.faq-list{border-top:3px solid var(--sd-night)}
.faq-question{font-size:21px}
.faq-item.open .faq-question{color:var(--sd-blue)}

/* Halaman dalam */
.page-hero{background:radial-gradient(ellipse 70% 120% at 85% 30%,#216096,var(--sd-night) 55%,var(--sd-deep))}
.page-hero:before{background:var(--songket-bold) 0 0/44px 44px;opacity:.16}
.page-hero:after{height:30px;background:var(--gonjong-bold) center/140px 30px repeat-x;bottom:14px}
.page-hero h1{color:#FFF8EC}
.page-hero .section-kicker{color:var(--sd-gold-soft)}
.about-wide img{border:4px solid var(--sd-gold);box-shadow:0 0 0 8px var(--sd-ivory),0 0 0 9px rgba(194,154,85,.5)}
.chip.active{background:var(--sd-night);box-shadow:inset 0 -2px 0 var(--sd-gold)}
.chip{font-weight:800}
.form-card,.contact-form,.cx-card,.checkout-summary{border-top:4px solid var(--sd-gold)!important}

/* Checkout */
.checkout-top{background:radial-gradient(ellipse at 85% 30%,#216096,var(--sd-night) 60%);color:#fff;border-bottom:0;position:relative}
.checkout-heading h1{color:#FFF8EC}
.checkout-heading h1 em{color:transparent;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text}
.checkout-heading p{color:#D3DFEB}
.checkout-top .section-kicker{color:var(--sd-gold-soft)}
.back-shop{color:var(--sd-gold-soft)}
.step{color:#B4C6D8}.step.active{color:#fff}.step b{background:var(--sd-night-2);border-color:var(--sd-gold);color:var(--sd-gold-soft)}
.step.active b,.steps .step.active b{background:var(--gold-grad);color:var(--sd-deep);border-color:transparent}
.steps:before{border-top:1px dashed rgba(194,154,85,.6)}
.secure-pill{background:rgba(255,255,255,.06);color:var(--sd-gold-soft);border-color:rgba(194,154,85,.5)}

/* Footer */
.site-footer{background:radial-gradient(ellipse at 10% 0%,#216096,var(--sd-night) 45%,var(--sd-deep))}
.site-footer:before{height:30px;background:var(--gonjong-bold) center/140px 30px repeat-x;top:24px}
.site-footer:after{background:var(--songket-bold) 0 0/44px 44px;opacity:.06}
.footer-brand .brand-logo{outline:2px solid var(--sd-gold);outline-offset:6px}
.footer-column h4{color:var(--sd-gold-soft);font-weight:800}
.photo-credits{display:block;margin-top:6px;font-size:10.5px;color:#9FB4C9;line-height:1.7}
.photo-credits a{color:#CFDCE9!important;text-decoration:underline;text-underline-offset:2px}

/* Lain-lain */
.toast{border-left-width:4px}
.back-top{border:2px solid var(--sd-gold)}
.cart-drawer .drawer-head{border-bottom:3px solid var(--sd-gold)}
.cart-item img{border:2px solid var(--sd-gold)}

@media(max-width:920px){
  .hero-grid{padding-bottom:70px}
  .hero-stamp{width:92px!important;height:92px!important}
  .services-grid{gap:18px}
}
@media(max-width:700px){
  .hero h1{font-size:clamp(42px,11.5vw,56px)}
  .hero-image-wrap{border-width:4px;box-shadow:0 0 0 8px rgba(14,40,63,.9),0 0 0 9px rgba(194,154,85,.6),0 40px 60px -30px rgba(0,0,0,.7)}
  .hero-stamp{width:80px!important;height:80px!important}.hero-stamp strong{font-size:24px}
  .btn{min-height:52px}
  .service-card:before{font-size:64px}
  .catering-banner{outline-offset:5px}
  .dish-title{font-size:21px}
}
/* Perbaikan: foto hero sebelumnya tertutup ilustrasi cadangan */
.hero-image-wrap img{position:relative;z-index:1}
.hero-caption{z-index:2}
.hero-fallback{z-index:0}
/* Sambungan gelap antara hero dan menu favorit (tanpa celah gading) */
.hero + .container{position:relative}
.hero + .container:before{content:'';position:absolute;left:50%;top:0;bottom:0;width:100vw;transform:translateX(-50%);background:var(--sd-night);z-index:0}
.hero + .container .quick-search{z-index:3}
/* Bayangan laci keranjang/menu tidak bocor di tepi kanan saat tertutup */
.cart-drawer:not(.active),.mobile-panel:not(.active){box-shadow:none}
/* Tombol di footer: emas */
.site-footer .btn-white{color:var(--sd-deep)!important;min-height:46px;padding:12px 20px!important;margin-top:8px}

/* ===== V11: Biru logo sebagai warna brand di atas Biru Malam ===== */
/* Pita pengumuman paling atas = biru logo murni */
.announcement{background:#216096;color:#fff}
.announcement a{color:#fff}
/* Judul di latar gading = biru logo */
.section-title,.dish-title,.branch-card h3,.service-card h3,.value-card h3,.form-card h3,.about-wide h2,.contact-info h2,
.contact-form h3,.faq-question,.drawer-head h3,.cx-card h2,.cx-card h3,.finder-title strong,.highlight strong,.modal-content h2{color:#216096}
/* Permukaan gelap: biru logo masuk lewat cahaya sorot, bukan kotak tempel */
.hero{background:radial-gradient(ellipse 65% 85% at 78% 42%,#2A6FAB 0%,#216096 22%,#164064 52%,#0E283F 78%,#091B2A 100%)}
#home-menu{background:radial-gradient(ellipse 80% 60% at 15% 0%,rgba(33,96,150,.85) 0%,rgba(33,96,150,0) 60%),#0E283F}
.page-hero{background:radial-gradient(ellipse 60% 120% at 88% 30%,#216096 0%,#164064 40%,#0E283F 72%,#091B2A 100%)}
.catering-banner{background:radial-gradient(ellipse 70% 90% at 12% 20%,#216096 0%,#164064 45%,#0E283F 100%)}
.checkout-top{background:radial-gradient(ellipse at 88% 30%,#216096,#164064 45%,#0E283F 80%)}
.site-footer{background:radial-gradient(ellipse 70% 80% at 0% 0%,#216096 0%,#164064 35%,#0E283F 70%,#091B2A 100%)}
.order-branch-banner{background:linear-gradient(110deg,#0E283F 0%,#164064 55%,#216096 100%)}
/* Garis biru logo sebagai penanda brand di tepi bagian gelap */
#home-menu,.page-hero,.site-footer{box-shadow:inset 0 3px 0 #216096}
.header:after{background:linear-gradient(#C29A55 0 2px,transparent 2px 3px,#216096 3px 4px)}
/* Aksen interaktif = biru logo */
.chip.active{background:#216096;border-color:#216096}
.step.complete b{background:#216096;border-color:#216096}
.hero-proof:before{background:var(--songket-bold) center/22px 22px,#216096}
.dish-label{color:#0E283F}
.service-card{border-top-color:#216096!important}

