:root{--orange:#ff6948;--text:#262326;--muted:#77716e;--line:#eee8e4;font-family:'DM Sans',system-ui,-apple-system,Arial,sans-serif;color:var(--text);background:#fff;font-synthesis:none;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}body.modal-open{overflow:hidden}a{color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #1f77bc;outline-offset:3px}[hidden]{display:none!important}.site-container{max-width:1050px;margin:auto;padding:0 22px}.header{height:93px;display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}.brand .logo{width:51px;height:55px;object-fit:contain;flex-shrink:0}.logo-fallback{width:50px;height:50px;border:2px solid #b79348;border-radius:50%;color:#ad8847;display:flex;align-items:center;justify-content:center;flex-direction:column;font:700 9px Georgia,serif}.logo-fallback small{font-size:15px}.brand-label{display:flex;flex-direction:column;gap:3px;min-width:0}.brand-label strong{font-size:20px;line-height:1.1;font-weight:600;letter-spacing:-.025em}.brand-label small{font-size:9px;letter-spacing:.22em;color:var(--muted);white-space:nowrap}.menu-button{height:44px;width:45px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:0;background:transparent;flex-shrink:0}.menu-button span{height:2px;width:29px;background:#1f1d1c;border-radius:5px}.menu{position:absolute;z-index:20;top:77px;right:0;min-width:220px;border-radius:15px;padding:8px;box-shadow:0 15px 45px #2c261b24;border:1px solid #eee;background:#fff}.menu a{display:block;font-size:14px;text-decoration:none;padding:12px 14px;border-radius:8px}.menu a:hover{background:#fff3ef;color:#dc5638}.hero{height:445px;border-radius:21px;overflow:hidden;position:relative;background:#a6b89a;isolation:isolate}.hero>img{width:100%;height:100%;object-fit:cover;object-position:center 52%;display:block}.hero-placeholder{height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#45644a,#df9c62);color:white;font-size:26px}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#10221dba 0%,#13211b52 47%,transparent 80%)}.hero-copy{position:absolute;inset:auto auto 40px 38px;max-width:560px;color:white;text-shadow:0 1px 8px #0005}.hero-kicker{font-size:10px;font-weight:700;letter-spacing:.2em}.hero-copy h1{font:700 clamp(31px,4.6vw,51px)/1.1 'Playfair Display',Georgia,serif;max-width:420px;margin:13px 0}.hero-copy p{max-width:365px;font-size:15px;line-height:1.48;margin:0 0 18px}.hero-action{display:inline-flex;align-items:center;gap:15px;text-decoration:none;background:#fff;color:#b8422d;font-size:12px;font-weight:800;border-radius:100px;padding:12px 17px;text-shadow:none;box-shadow:0 5px 24px #0002}.quick-links{display:flex;align-items:start;justify-content:center;gap:32px;max-width:590px;margin:22px auto 8px}.quick-links a{display:grid;justify-items:center;gap:7px;min-width:65px;text-decoration:none;color:#302924;font-size:11px}.quick-icon{height:43px;width:43px;background:#fff0eb;border-radius:14px;display:grid;place-items:center;color:#f36544;font-size:24px;font-weight:700}.package-section{scroll-margin-top:25px}.intro{text-align:center;max-width:690px;margin:43px auto 30px}.eyebrow{display:block;color:#dd6145;font-size:10px;font-weight:800;letter-spacing:.19em;margin-bottom:9px}.intro h2,.extra-section h2,.location-card h2{font-size:clamp(21px,3vw,32px);letter-spacing:-.025em;line-height:1.23;margin:0 0 9px;font-weight:700}.intro p,.extra-section>p{font-size:15px;line-height:1.55;color:#68615e;margin:0}.package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.package-card{display:flex;flex-direction:column;min-width:0;border-radius:17px;background:var(--orange);overflow:hidden;color:white;box-shadow:0 4px 0 #ed604108}.package-img{display:block;width:100%;aspect-ratio:1.4;object-fit:cover;object-position:center;background:#e5dacc}.image-placeholder{display:grid;place-items:center}.package-content{padding:13px 15px 15px;display:flex;flex:1;flex-direction:column}.package-content h3{font-size:17px;line-height:1.28;font-weight:600;min-height:2.55em;margin:0 0 12px}.price-line{display:flex;gap:9px;align-items:baseline;flex-wrap:wrap;margin-bottom:14px}.price-line strong{font-size:24px;line-height:1.1;letter-spacing:-.035em;white-space:nowrap}.price-line s{font-size:15px;color:#ffe2d9;white-space:nowrap}.contact-button{width:100%;min-height:39px;border:0;border-radius:10px;background:#fffef4;color:#c64f37;font-weight:700;font-size:14px;display:flex;justify-content:center;align-items:center;gap:11px;margin-top:auto}.contact-button:hover{background:#fff0db}.wa-bubble{display:inline-grid;place-items:center;background:#20b457;color:white;border-radius:50%;height:23px;width:23px;font-size:18px;font-weight:700;line-height:1}.no-packages{text-align:center;color:#777;padding:35px}.features{margin:27px 0 42px;border-radius:17px;padding:18px 13px;background:#fff5ec;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.features>div{display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;line-height:1.27}.features>div+div{border-left:1px solid #e4cfc0}.feature-icon{font-size:24px;color:#be6544}.extra-section{text-align:center;scroll-margin-top:28px;margin:45px 0}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:19px}.gallery-item{display:block;text-align:left;overflow:hidden;text-decoration:none;border-radius:14px;border:1px solid var(--line);background:white}.gallery-item img{display:block;width:100%;aspect-ratio:1.3;object-fit:cover}.gallery-item span{display:block;font-size:12px;font-weight:600;padding:10px 11px}.testimonial-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:19px;text-align:left}.testimonial-grid blockquote{border:1px solid var(--line);border-radius:15px;margin:0;padding:18px;line-height:1.55;background:#fffaf7}.testimonial-grid blockquote p{margin:0 0 12px}.testimonial-grid footer{font-size:12px;font-weight:700;color:#9b4d3d}.location-card{border:1px solid #f4decf;background:#fff8f3;border-radius:18px;padding:25px 20px;text-align:center;margin:40px 0 20px}.location-card h2{font-size:21px}.location-card p{font-size:13px;color:#786a64;line-height:1.45}.location-card a{display:inline-block;color:#be543a;font-size:13px;font-weight:700;margin-top:8px}.site-footer{text-align:center;padding:10px 0 32px;display:flex;align-items:center;flex-direction:column;gap:8px;font-size:11px;color:#777}.site-footer strong{color:#5a4034;font-size:13px}.site-footer a{font-size:11px;color:#be6145}.modal-overlay{position:fixed;z-index:100;inset:0;background:#181818af;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:25px 16px;overscroll-behavior:contain}.modal-dialog{position:relative;width:min(100%,570px);margin:auto;background:var(--orange);color:white;border:12px solid #fff;border-radius:20px;box-shadow:0 20px 70px #0005;padding:16px 16px 25px;outline:none}.modal-close{position:absolute;z-index:2;right:5px;top:5px;width:36px;height:36px;border:0;border-radius:50%;background:#302c2bc4;color:white;font-size:30px;line-height:1;display:grid;place-items:center}.modal-photo-wrap{width:100%;overflow:hidden;border-radius:15px;background:#ea856c;min-height:115px}.modal-photo-wrap img{display:block;width:100%;max-height:min(55vh,470px);object-fit:cover}.modal-prices{display:flex;flex-wrap:wrap;gap:17px;align-items:baseline;margin:17px 0 12px}.modal-prices strong{font-size:27px;letter-spacing:-.03em}.modal-prices s{font-size:18px;color:#ffe0d9}.modal-dialog h2{font-size:22px;line-height:1.3;margin:0 0 23px}.modal-caption{font-size:12px;font-weight:800;letter-spacing:.12em;display:block;margin-bottom:11px}.modal-order{display:flex;align-items:center;justify-content:center;gap:10px;border:1.5px solid white;min-height:53px;border-radius:10px;font-weight:750;color:white;text-decoration:none;margin-bottom:24px}.modal-order .wa-bubble{height:30px;width:30px;font-size:22px}.modal-order:hover{background:#fff2}.wa-notice{background:#fff5ed;color:#863820;border-radius:10px;padding:13px;line-height:1.45;font-size:13px;margin-bottom:23px}.modal-dialog h3{font-size:16px;margin:0 0 12px}.modal-description{margin:0;white-space:pre-line;line-height:1.6;font-size:14px;overflow-wrap:anywhere}
@media(max-width:700px){.site-container{padding:0 14px}.header{height:76px}.brand .logo{height:45px;width:43px}.brand-label strong{font-size:15px}.brand-label small{font-size:7px;letter-spacing:.12em}.menu{top:64px}.hero{height:320px;border-radius:15px}.hero-shade{background:linear-gradient(0deg,#12221bbd 0%,transparent 75%)}.hero-copy{left:18px;bottom:18px;right:14px}.hero-copy h1{font-size:29px;max-width:280px;margin:8px 0}.hero-copy p{font-size:12px;max-width:265px;margin-bottom:13px}.hero-kicker{font-size:8px}.hero-action{font-size:11px;padding:9px 13px}.quick-links{gap:9px;justify-content:space-around}.quick-links a{min-width:0;font-size:10px;gap:5px}.quick-icon{height:37px;width:37px;font-size:19px}.intro{margin:35px auto 24px}.intro h2{font-size:22px}.intro p{font-size:13px}.package-grid{gap:12px}.package-card{border-radius:13px}.package-img{aspect-ratio:1 / 1.05}.package-content{padding:11px 10px 11px}.package-content h3{font-size:13px;min-height:2.55em;margin-bottom:10px}.price-line{gap:3px 8px;margin-bottom:13px}.price-line strong{font-size:19px}.price-line s{font-size:12px}.contact-button{font-size:12px;gap:6px;min-height:35px;border-radius:8px}.contact-button .wa-bubble{width:20px;height:20px;font-size:15px}.features{padding:13px 5px;margin:23px 0 35px;gap:1px}.features>div{font-size:9px;gap:5px;flex-direction:column;text-align:center}.feature-icon{font-size:23px}.extra-section{margin:34px 0}.gallery-grid{gap:8px}.gallery-item{border-radius:9px}.gallery-item span{padding:7px;font-size:10px}.testimonial-grid{grid-template-columns:1fr}.location-card{margin-top:30px}.modal-overlay{padding:10px 8px}.modal-dialog{border-width:7px;border-radius:15px;padding:12px 12px 20px}.modal-photo-wrap img{max-height:50vh}.modal-prices strong{font-size:24px}.modal-dialog h2{font-size:20px}.modal-description{font-size:13px}}
@media(max-width:355px){.brand-label strong{font-size:13px}.brand-label small{display:none}.package-content h3{font-size:12px}.price-line strong{font-size:17px}.price-line s{font-size:11px}.contact-button{font-size:11px}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}

/* Versi ringkas: hero langsung diikuti daftar paket, tanpa pintasan, galeri, banner fasilitas, atau kartu lokasi. */
.intro{margin-top:30px}
.site-footer{margin-top:25px}
@media(max-width:700px){.intro{margin-top:26px}}

/* Mobile readability and layout update — 22 Sep 2026.
   2 columns on ordinary phones, one column on very narrow screens. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media (max-width:700px){
 .site-container{width:100%;max-width:100%;padding-inline:16px}
 .header{height:77px}
 .brand-label strong{font-size:16px;line-height:1.2}
 .brand-label small{font-size:9px;letter-spacing:.08em}
 .hero{height:355px;border-radius:16px}
 .hero-copy{left:20px;right:18px;bottom:20px}
 .hero-copy h1{font-size:clamp(29px,8vw,36px);max-width:315px}
 .hero-copy p{font-size:14px;line-height:1.48;max-width:290px}
 .hero-action{font-size:13px;min-height:40px;padding:10px 15px}
 .intro{margin:30px auto 23px}
 .eyebrow{font-size:11px;letter-spacing:.14em}
 .intro h2{font-size:clamp(24px,6.4vw,30px);line-height:1.23;margin-bottom:10px}
 .intro p{font-size:14px;line-height:1.5}
 .package-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
 .package-card{border-radius:15px;min-width:0}
 .package-img{aspect-ratio:1.04 / 1;object-position:center 44%;height:auto}
 .package-content{padding:13px 11px 12px}
 .package-content h3{font-size:14px;line-height:1.35;min-height:2.7em;margin-bottom:11px}
 .price-line{gap:4px 7px;margin-bottom:12px}
 .price-line strong{font-size:clamp(17px,4.7vw,21px);line-height:1.2;letter-spacing:-.035em}
 .price-line s{font-size:12px;line-height:1.2}
 .contact-button{min-height:39px;font-size:12px;padding:6px 3px;gap:5px;border-radius:9px}
 .contact-button .wa-bubble{width:19px;height:19px;font-size:14px;flex-shrink:0}
 .modal-overlay{padding:10px 8px}
 .modal-dialog{width:100%;max-width:500px;padding:12px 13px 20px}
 .modal-description{font-size:14px;line-height:1.55}
}
@media (max-width:365px){
 .site-container{padding-inline:12px}
 .package-grid{gap:9px}
 .package-content{padding:10px 8px 10px}
 .package-content h3{font-size:13px}
 .price-line strong{font-size:17px}
 .contact-button{font-size:11px}
}
@media (max-width:320px){
 .package-grid{grid-template-columns:minmax(0,1fr);gap:17px}
 .package-content{padding:15px}
 .package-content h3{font-size:17px;min-height:0}
 .price-line strong{font-size:22px}
 .price-line s{font-size:14px}
 .contact-button{font-size:14px;min-height:44px}
 .package-img{aspect-ratio:1.25}
}

/* Teks tombol dapat diubah dari dasbor admin dan tetap muat di HP. */
.contact-button,.modal-order{overflow-wrap:anywhere;text-align:center;white-space:normal;padding-inline:8px}
.modal-order{padding-block:10px}

/* Generic default tanpa foto; foto bisnis diunggah melalui admin. */
.hero:has(.hero-placeholder) { background:linear-gradient(135deg,#264e47,#fa9a67); }
.hero:has(.hero-placeholder) .hero-shade { background:linear-gradient(0deg,#1e393cb8,#263e4d16); }
.logo-fallback { display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fff0e9;color:#d5563d;font-weight:800;font-size:14px;line-height:1; }
.logo-fallback small { font-size:9px;display:block; }
