@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--ink:#281a14;--muted:#706257;--gold:#bb8a36;--cream:#fffaf1;--line:#e8dcc9;--brown:#3b2418}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit;cursor:pointer}.container{width:min(1180px,calc(100% - 40px));margin:auto}.eyebrow{color:var(--gold);font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700}.section{padding:90px 0}.section h1,.section h2{font-family:'Playfair Display',Georgia,serif;line-height:1.16;letter-spacing:-.03em;font-size:clamp(2.1rem,4.4vw,3.8rem);margin:12px 0 20px}.section p{color:var(--muted)}.header{position:sticky;top:0;z-index:100;background:rgba(255,250,241,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:174px;height:auto;max-height:66px;object-fit:contain}.links{display:flex;align-items:center;gap:27px}.links a{font-size:.87rem;font-weight:700}.links a:hover,.links a[aria-current=page]{color:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 23px;border-radius:4px;background:var(--gold);color:#fff;font-weight:700;border:1px solid var(--gold);gap:8px}.btn.outline{background:transparent;color:var(--brown);border-color:#c7b8a4}.btn:hover{filter:brightness(.92)}.hamb{display:none;border:1px solid var(--line);background:transparent;padding:8px 13px;border-radius:5px;font-size:23px}.hero{position:relative;min-height:min(760px,83vh);background:#231912;overflow:hidden;display:flex;align-items:center}.slides,.slide{position:absolute;inset:0}.slide{opacity:0;transition:opacity 1s ease}.slide.active{opacity:1}.slide img{width:100%;height:100%;object-fit:cover}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,12,8,.79),rgba(22,12,8,.25) 72%),linear-gradient(0deg,rgba(22,12,8,.4),transparent 40%)}.hero .container{position:relative;z-index:2;color:white;padding:100px 0}.hero h1{font:600 clamp(2.8rem,6.6vw,6rem)/1.08 'Playfair Display',Georgia,serif;max-width:820px;margin:18px 0}.hero p{font-size:1.13rem;max-width:610px;color:#f1e8df}.hero .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.hero .outline{color:white;border-color:#f2e4d4}.dots{position:absolute;z-index:4;bottom:28px;left:50%;transform:translateX(-50%);display:flex;gap:9px}.dot{width:10px;height:10px;border:1px solid white;background:transparent;border-radius:50%;padding:0}.dot.active{background:var(--gold);border-color:var(--gold)}.grid2{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px}.feature-img{border-radius:6px;width:100%;aspect-ratio:1/1;object-fit:cover}.statgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}.stat{padding:20px;border:1px solid var(--line);background:white}.stat strong{display:block;color:var(--brown)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{background:white;border:1px solid var(--line);border-radius:7px;overflow:hidden}.card img{width:100%;height:260px;object-fit:cover}.card .content{padding:25px}.card h3{font:600 1.5rem 'Playfair Display',Georgia,serif;margin:0 0 10px}.dark{background:var(--brown);color:white}.dark p{color:#e0d0c3}.center{text-align:center}.center p{max-width:720px;margin:0 auto 35px}.pagehero{padding:90px 0;background:linear-gradient(135deg,#402619,#24150f);color:#fff}.pagehero h1{font:600 clamp(2.5rem,5vw,4.5rem) 'Playfair Display',Georgia,serif;margin:9px 0}.pagehero p{color:#eadbd0;max-width:720px}.breadcrumb{font-size:.8rem;color:#d8bd91}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.gallery button{border:0;padding:0;background:transparent;overflow:hidden;border-radius:5px}.gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .3s}.gallery button:hover img{transform:scale(1.04)}.menugrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.menu-sheet{background:white;border:1px solid var(--line);padding:8px;border-radius:6px}.menu-sheet img{width:100%;height:auto}.menu-caption{font-size:.84rem;padding:12px 8px 6px;color:var(--muted)}.map{width:100%;height:390px;border:0;border-radius:6px}.info{padding:28px;background:white;border:1px solid var(--line);border-radius:6px}.info h3{font:600 1.5rem 'Playfair Display',Georgia,serif}.hours{width:100%;border-collapse:collapse}.hours td{padding:9px 0;border-bottom:1px solid var(--line)}.hours td:last-child{text-align:right}.footer{background:#24160f;color:#f8e8d8;padding:65px 0 25px}.footergrid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:45px}.footer p,.footer a{color:#d7c4b2}.footer a:hover{color:white}.footer ul{list-style:none;padding:0;margin:0}.footer li{margin:8px 0}.footer h3{color:#fff;font-size:1rem}.footer img{width:205px}.footbottom{border-top:1px solid #574133;padding-top:20px;margin-top:48px;font-size:.8rem;color:#c5ad98}.mobilebar{display:none}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:300;display:none;align-items:center;justify-content:center;padding:30px}.lightbox.open{display:flex}.lightbox img{max-height:90vh;max-width:95vw;object-fit:contain}.lightbox button{position:absolute;top:20px;right:24px;color:white;background:transparent;border:0;font-size:34px}.faq details{border-bottom:1px solid var(--line);padding:17px 0}.faq summary{font-weight:700;cursor:pointer}.faq p{margin-bottom:0}.note{font-size:.82rem;color:var(--muted)}
@media(max-width:900px){.links{gap:14px}.links a{font-size:.8rem}.grid2{gap:28px}.cards,.menugrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.nav{min-height:67px}.brand img{width:150px}.hamb{display:block}.links{display:none;position:absolute;left:0;right:0;top:67px;background:var(--cream);flex-direction:column;align-items:stretch;padding:15px 24px 24px;border-bottom:1px solid var(--line);box-shadow:0 15px 20px #0001}.links.open{display:flex}.links a{padding:7px 0;font-size:1rem}.hero{min-height:670px}.hero .container{padding:80px 0}.hero h1{font-size:clamp(2.6rem,11vw,4rem)}.section{padding:65px 0}.grid2,.cards,.menugrid,.footergrid{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr);gap:9px}.statgrid{grid-template-columns:1fr}.card img{height:230px}.mobilebar{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fffaf4;z-index:90;justify-content:space-around;border-top:1px solid var(--line);box-shadow:0 -5px 25px #0001;padding:9px 6px calc(9px + env(safe-area-inset-bottom))}.mobilebar a{display:flex;flex-direction:column;align-items:center;font-size:.69rem;font-weight:700;gap:2px}.mobilebar span{font-size:1.2rem}.footer{padding-bottom:100px}.pagehero{padding:70px 0}.container{width:min(1180px,calc(100% - 30px))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* Artikel editorial SEO per halaman */
.seo-editorial{background:#fffaf2;color:#38251c}.seo-editorial-inner{max-width:940px}.seo-article+ .seo-article{margin-top:38px;padding-top:32px;border-top:1px solid #e6d8c5}.seo-article h2{font-size:clamp(1.45rem,3vw,2.1rem);line-height:1.25;margin:0 0 18px;color:#43291c}.seo-article p{font-size:1.04rem;line-height:1.9;margin:0 0 16px;color:#4b3b31}.seo-article a{color:#8d531e;text-decoration:underline;text-underline-offset:3px}.seo-article a:hover{color:#4b2b12}@media(max-width:600px){.seo-article p{font-size:1rem;line-height:1.8}.seo-article+.seo-article{margin-top:24px;padding-top:24px}}

/* Display complete source images without cropping, on every viewport */
.hero{min-height:clamp(340px,56vw,760px);background:#24170f}
.slide{display:flex;align-items:center;justify-content:center}
.slide img{width:100%;height:100%;object-fit:contain;object-position:center}
.feature-img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.card img{width:100%;height:auto;max-height:none;object-fit:contain;background:#fff}
.gallery button{background:#f4eadb;display:flex;align-items:center;justify-content:center}
.gallery img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;transition:none}
.gallery button:hover img{transform:none}
.menu-sheet img{width:100%;height:auto;object-fit:contain}
.lightbox img{width:auto;height:auto;max-width:95vw;max-height:90vh;object-fit:contain}
.seo-editorial-inner{max-width:1000px}.seo-article p{font-size:1.065rem;line-height:1.95}
@media(max-width:700px){.hero{min-height:520px}.slide img{object-fit:contain}.gallery{grid-template-columns:1fr 1fr}.card img{height:auto}.seo-article p{font-size:1rem}}

/* Accessible, indexable menu price directory */
.menu-text-section{background:#fffaf2}.menu-price-group{margin:28px 0;padding:26px;border:1px solid #e6d7bd;border-radius:18px;background:#fff}.menu-price-group h3{font-size:clamp(1.25rem,2vw,1.8rem);color:#482b1b;margin:0 0 12px}.menu-price-group>p{line-height:1.8;margin:0 0 20px}.menu-price-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.menu-price-list li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px dashed #dfd2c0;padding:11px 0;line-height:1.5}.menu-price-list strong{white-space:nowrap;color:#754313;font-variant-numeric:tabular-nums}@media(max-width:700px){.menu-price-group{padding:18px}.menu-price-list{grid-template-columns:1fr}}

/* Homepage slider mobile: memenuhi bidang banner, tidak mengikuti rasio asli foto. */
@media (max-width:700px) {
  .hero {height: 650px; min-height: 650px;}
  .hero .slides, .hero .slide {inset:0;width:100%;height:100%;}
  .hero .slide img {width:100%;height:100%;object-fit:contain;object-position:center;position:relative;z-index:1;}
}
@media (max-width:380px) { .hero {height:600px;min-height:600px;} }

/* Mobile hero: gambar utama proporsional, tanpa crop dan tanpa distorsi.
   Latar menggunakan foto yang sama secara blur untuk mengisi bidang tinggi. */
@media(max-width:700px){
 .hero .slide{isolation:isolate;overflow:hidden;background:#24170f}
 .hero .slide::before{content:"";position:absolute;inset:-24px;background-image:var(--slide-bg);background-size:cover;background-position:center;filter:blur(24px) brightness(.52);transform:scale(1.08);z-index:0}
 .hero .slide img{width:100%;height:100%;object-fit:contain;object-position:center;position:relative;z-index:1}
}

/* Mobile: teks hero di atas, slideshow utuh di bawah tanpa tertutup teks */
@media (max-width:700px) {
  .hero {display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; height:auto; min-height:0; overflow:visible; background:#2e1c13;}
  .hero::after {display:none;}
  .hero > .container {order:0; width:min(1180px,calc(100% - 30px)); padding:38px 0 32px; color:#fff; margin:0 auto;}
  .hero h1 {font-size:clamp(2rem,8.8vw,3.2rem);line-height:1.14;margin:12px 0 16px;}
  .hero p {font-size:1rem;line-height:1.65;margin:0;}
  .hero .actions {margin-top:23px;gap:10px;}
  .hero .actions .btn {padding:11px 15px;font-size:.85rem;}
  .hero > .slides {order:1;position:relative;inset:auto;width:100%;height:clamp(280px,70vw,510px);flex:none;overflow:hidden;background:#24170f;}
  .hero .slide {position:absolute;inset:0;width:100%;height:100%;}
  .hero .slide img {object-fit:contain;width:100%;height:100%;}
  .hero > .dots {order:2;position:relative;bottom:auto;left:auto;transform:none;justify-content:center;padding:15px 0 18px;background:#24170f;}
}
.domain-dropdown { width: 100%; max-width: 450px; margin: 20px auto; font-family: Arial, sans-serif; } .domain-details { width: 100%; border: 1px solid #e5e7eb; border-radius: 12px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.07); overflow: hidden; } .domain-dropdown-btn { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; color: #222222; font-size: 15px; font-weight: 700; cursor: pointer; list-style: none; transition: background 0.3s ease; } .domain-dropdown-btn::-webkit-details-marker { display: none; } .domain-dropdown-btn::marker { content: ""; } .domain-dropdown-btn:hover { background: #fff5ed; } .dropdown-arrow { font-size: 12px; color: #d97706; transition: transform 0.3s ease; } .domain-details[open] .dropdown-arrow { transform: rotate(180deg); } .domain-dropdown-menu { display: flex; flex-direction: column; max-height: 350px; overflow-y: auto; background: #ffffff; border-top: 1px solid #eeeeee; padding: 8px; } .domain-dropdown-menu a { display: block; padding: 12px 15px; margin: 2px 0; color: #333333; font-size: 14px; font-weight: 500; line-height: 1.5; text-decoration: none; border-radius: 7px; transition: all 0.2s ease; } .domain-dropdown-menu a:hover { background: #fff0df; color: #c65c00; padding-left: 20px; } .domain-dropdown-menu::-webkit-scrollbar { width: 5px; } .domain-dropdown-menu::-webkit-scrollbar-track { background: #f5f5f5; } .domain-dropdown-menu::-webkit-scrollbar-thumb { background: #d6a36c; border-radius: 10px; } @media (max-width: 768px) { .domain-dropdown { max-width: 100%; margin: 15px auto; } .domain-dropdown-btn { padding: 14px 16px; font-size: 14px; } .domain-dropdown-menu { max-height: 300px; } .domain-dropdown-menu a { padding: 11px 12px; font-size: 13px; } }