:root{
  --navy:#1F2A44; --navy-2:#2a3858; --gold:#B08D57; --gold-d:#8f7142; --ivory:#FBF7EC; --ivory-2:#F3ECDB;
  --ink:#1b2236; --muted:#5b6478; --line:#e3dbc7; --ok:#2f7d4f; --err:#b3261e;
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif; --sans:'Nunito Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --r:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-text-size-adjust:100%}
img{max-width:100%;display:block}
a{color:var(--navy)}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:var(--serif);color:var(--navy);line-height:1.12;margin:0 0 .5em;font-weight:700}
h1{font-size:clamp(2.3rem,6.4vw,3.9rem)}
h2{font-size:clamp(1.8rem,4.6vw,2.6rem)}
h3{font-size:1.45rem}
p{margin:0 0 1em}
.eyebrow{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:.9em}
.lead{font-size:1.12rem;color:var(--muted)}

/* Hero */
.hero{background:var(--navy);color:var(--ivory);position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-90px;top:-90px;width:380px;height:380px;background:radial-gradient(closest-side,rgba(176,141,87,.28),transparent);pointer-events:none}
.top{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
.top img{height:44px;width:auto}
.top .mini{font-size:.9rem;color:var(--gold);text-decoration:none;font-weight:700;border:1px solid rgba(176,141,87,.6);padding:8px 14px;border-radius:99px}
.hero-body{padding:34px 0 64px;max-width:760px}
.hero h1{color:#fff}
.hero h1 em{font-style:italic;color:var(--gold)}
.hero .lead{color:#d7d9e2;max-width:600px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 30px;padding:0;list-style:none}
.chips li{font-size:.88rem;border:1px solid rgba(255,255,255,.22);border-radius:99px;padding:6px 14px;color:#e9e6dc}
.btn{display:inline-block;background:var(--gold);color:#fff;font-weight:800;font-size:1.05rem;text-decoration:none;padding:15px 28px;border-radius:99px;border:0;cursor:pointer;font-family:var(--sans);transition:background .15s,transform .15s}
.btn:hover{background:var(--gold-d)}
.btn:active{transform:scale(.98)}
.btn:disabled{opacity:.6;cursor:wait}
.btn.ghost{background:transparent;color:var(--navy);border:2px solid var(--navy);padding:13px 24px}
.btn.ghost:hover{background:var(--navy);color:#fff}
.btn.wa{background:#1f8f5a}
.btn.wa:hover{background:#17724a}
.sub-cta{display:block;margin-top:14px;font-size:.88rem;color:#b9bdcb}

/* Sections */
section{padding:60px 0}
.alt{background:var(--ivory-2)}
.center{text-align:center}
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px}
.card .tag{display:inline-block;background:var(--ivory-2);color:var(--gold-d);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:99px;margin-bottom:12px}
.price{font-family:var(--serif);font-size:2.3rem;font-weight:700;color:var(--navy);line-height:1}
.price small{font-family:var(--sans);font-size:.9rem;font-weight:600;color:var(--muted)}
.card ul{margin:14px 0 0;padding-left:1.15em;color:var(--muted)}
.card ul li{margin-bottom:.35em}
.note{font-size:.88rem;color:var(--muted)}
.steps{counter-reset:s;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));padding:0;list-style:none;margin:30px 0 0}
.steps li{counter-increment:s;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px 22px 22px 22px;position:relative}
.steps li::before{content:counter(s);font-family:var(--serif);font-size:2.2rem;color:var(--gold);font-weight:700;display:block;line-height:1;margin-bottom:8px}
.steps b{display:block;color:var(--navy);margin-bottom:4px}
.why .card h3{font-size:1.25rem}
.early{background:var(--navy);color:#fff;border-radius:var(--r);padding:26px 28px;display:flex;gap:18px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.early h3{color:#fff;margin:0 0 4px}
.early p{margin:0;color:#d7d9e2}
.pill-list{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:14px 0 0;list-style:none}
.pill-list li{background:#fff;border:1px solid var(--line);border-radius:99px;padding:5px 13px;font-size:.92rem}
.about{display:grid;gap:26px;grid-template-columns:auto 1fr;align-items:center}
.about img{width:96px;height:96px;border-radius:50%;background:var(--navy);padding:18px}
@media(max-width:560px){.about{grid-template-columns:1fr}}

/* Borang */
.formbox{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;max-width:620px;margin:28px auto 0;box-shadow:0 10px 40px rgba(31,42,68,.08)}
label{display:block;font-weight:700;font-size:.93rem;margin:16px 0 6px;color:var(--navy)}
input,select{width:100%;font:inherit;font-size:1rem;padding:13px 14px;border:1.5px solid #cfc7b2;border-radius:10px;background:#fff;color:var(--ink)}
input:focus,select:focus{outline:3px solid rgba(176,141,87,.35);border-color:var(--gold)}
.row2{display:grid;gap:0 14px;grid-template-columns:1fr 1fr}
@media(max-width:560px){.row2{grid-template-columns:1fr}}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.86rem;color:var(--muted);margin:18px 0 20px;font-weight:400}
.consent input{width:20px;height:20px;margin-top:3px;flex:none}
.formbox .btn{width:100%}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
#formMsg{margin-top:14px;padding:12px 14px;border-radius:10px;background:#fdecea;color:var(--err);font-size:.92rem}
.alt-wa{text-align:center;margin-top:18px;font-size:.92rem;color:var(--muted)}

/* FAQ */
details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin-bottom:10px}
summary{cursor:pointer;font-weight:700;color:var(--navy);list-style:none;display:flex;justify-content:space-between;gap:12px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--gold);font-size:1.3rem;line-height:1}
details[open] summary::after{content:"\2212"}
details p{margin:10px 0 0;color:var(--muted)}

footer{background:var(--navy);color:#c9cdda;padding:40px 0 100px;font-size:.88rem}
footer img{height:40px;margin-bottom:14px}
footer a{color:var(--gold)}

/* Bar CTA mobile */
#stickyCta{position:fixed;left:0;right:0;bottom:0;background:rgba(31,42,68,.97);padding:10px 16px calc(10px + env(safe-area-inset-bottom));display:none;gap:10px;z-index:20;transition:transform .25s}
#stickyCta.hide{transform:translateY(110%)}
#stickyCta .btn{flex:1;text-align:center;padding:13px 10px;font-size:1rem}
@media(max-width:720px){#stickyCta{display:flex}}

/* Terima kasih */
.ty{min-height:80vh;display:flex;align-items:center}
.ty .box{max-width:600px;margin:0 auto;text-align:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:40px 28px}
.tick{width:64px;height:64px;border-radius:50%;background:var(--ok);color:#fff;font-size:2rem;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.kod{display:inline-block;background:var(--ivory-2);border-radius:8px;padding:4px 12px;font-weight:800;letter-spacing:.05em;color:var(--navy)}
.ty ol{text-align:left;color:var(--muted);margin:20px auto;max-width:440px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
