/* ============ BALI SPECIALTY — design system ============
   navy #0C2438 · sea #12405E · foam #F6F8F9 · sand #C99B4E
   display: Fraunces · body: Inter
========================================================= */
:root{
  --navy:#0C2438;
  --sea:#12405E;
  --sea-soft:#1D5A80;
  --foam:#F6F8F9;
  --white:#FFFFFF;
  --sand:#C99B4E;
  --sand-deep:#A87D35;
  --ink:#152430;
  --ink2:#4E5E6B;
  --ink3:#8494A0;
  --line:#DCE3E8;
  --disp:'Fraunces',serif;
  --sans:'Inter',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--white);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--sea);text-decoration:none}
a:hover{color:var(--sea-soft)}
.wrap{max-width:1120px;margin:0 auto;padding:0 28px}
h1,h2,h3,.disp{font-family:var(--disp);font-weight:600;color:var(--navy);letter-spacing:-.01em}

/* ---- header ---- */
header{position:sticky;top:0;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:50}
.nav{display:flex;align-items:center;gap:36px;height:76px}
.brand{display:flex;align-items:center;gap:11px;margin-right:auto}
.brand .mark{width:34px;height:34px;flex-shrink:0}
.brand .bname{font-family:var(--disp);font-weight:600;font-size:21px;color:var(--navy);line-height:1}
.brand .bname span{display:block;font-family:var(--sans);font-weight:600;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--sand-deep);margin-top:3px}
.nav a.nl{font-size:15px;font-weight:500;color:var(--ink2)}
.nav a.nl:hover,.nav a.nl.on{color:var(--navy)}
.btn{display:inline-block;background:var(--navy);color:#fff;font-weight:600;font-size:15px;padding:11px 22px;border-radius:6px;transition:background .15s}
.btn:hover{background:var(--sea);color:#fff}
.btn.ghost{background:transparent;color:var(--navy);border:1.5px solid var(--navy)}
.btn.ghost:hover{background:var(--navy);color:#fff}
.btn.sand{background:var(--sand);color:var(--navy)}
.btn.sand:hover{background:var(--sand-deep);color:#fff}

/* ---- hero ---- */
.hero{background:linear-gradient(180deg,var(--foam) 0%,#fff 100%);padding:96px 0 80px;border-bottom:1px solid var(--line)}
.hero .eyebrow{margin-bottom:18px}
.hero h1{font-size:clamp(38px,5.2vw,58px);line-height:1.05;max-width:19ch}
.hero h1 em{font-style:italic;color:var(--sea)}
.hero .lede{margin-top:24px;font-size:19px;color:var(--ink2);max-width:58ch}
.hero .cta-row{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap}
.hero-dark{background:var(--navy);border-bottom:none}
.hero-dark h1,.hero-dark h2{color:#fff}
.hero-dark .lede{color:#B9C6D0}
.hero-dark .eyebrow{color:var(--sand)}

.eyebrow{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--sand-deep)}

/* ---- sections ---- */
section.sec{padding:76px 0}
section.sec.alt{background:var(--foam);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-head{max-width:64ch;margin-bottom:42px}
.sec-head h2{font-size:clamp(28px,3.4vw,38px);line-height:1.15}
.sec-head p{margin-top:14px;color:var(--ink2);font-size:17px}

/* ---- grids & cards ---- */
.grid{display:grid;gap:22px}
.g2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:26px 28px;box-shadow:0 1px 2px rgba(12,36,56,.04)}
.card h3{font-size:19px;margin-bottom:9px}
.card p{font-size:15px;color:var(--ink2)}
.card .k{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sand-deep);margin-bottom:10px}
.card.navy{background:var(--navy);border-color:var(--navy)}
.card.navy h3{color:#fff}
.card.navy p{color:#B9C6D0}
.card.navy .k{color:var(--sand)}

/* ---- lists ---- */
.ticklist{list-style:none;margin-top:8px}
.ticklist li{padding:9px 0 9px 30px;position:relative;font-size:15.5px;color:var(--ink);border-bottom:1px solid var(--line)}
.ticklist li:last-child{border-bottom:none}
.ticklist li::before{content:'';position:absolute;left:2px;top:16px;width:14px;height:14px;border-radius:50%;background:var(--sand);opacity:.25}
.ticklist li::after{content:'';position:absolute;left:6px;top:19px;width:6px;height:6px;border-radius:50%;background:var(--sand-deep)}
.ticklist li small{display:block;color:var(--ink3);font-size:13px}

/* appetite table */
.tbl{width:100%;border-collapse:collapse;margin-top:8px;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.tbl th{background:var(--foam);text-align:left;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);padding:13px 18px;border-bottom:1px solid var(--line)}
.tbl td{padding:14px 18px;border-bottom:1px solid var(--line);font-size:15px;vertical-align:top}
.tbl tr:last-child td{border-bottom:none}
.tbl td:first-child{font-weight:600;color:var(--navy);width:220px}

/* steps */
.steps{counter-reset:st;display:grid;gap:0;margin-top:10px}
.stp{display:grid;grid-template-columns:64px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}
.stp:last-child{border-bottom:none}
.stp::before{counter-increment:st;content:counter(st,decimal-leading-zero);font-family:var(--disp);font-size:30px;font-weight:600;color:var(--sand-deep);line-height:1.1}
.stp h3{font-size:18px;margin-bottom:5px}
.stp p{font-size:15px;color:var(--ink2);max-width:64ch}

/* band CTA */
.band{background:var(--navy);padding:70px 0}
.band h2{color:#fff;font-size:clamp(26px,3.2vw,36px);max-width:24ch}
.band p{color:#B9C6D0;margin-top:12px;max-width:60ch}
.band .cta-row{margin-top:28px;display:flex;gap:14px}

/* stat strip */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;margin-top:8px}
.stat{border-left:3px solid var(--sand);padding-left:18px}
.stat .v{font-family:var(--disp);font-size:30px;font-weight:600;color:var(--navy);line-height:1.2}
.stat .l{font-size:14px;color:var(--ink2);margin-top:4px}

/* forms */
form{display:grid;gap:16px;max-width:560px}
label{font-size:13.5px;font-weight:600;color:var(--navy)}
input,select,textarea{width:100%;margin-top:6px;padding:11px 13px;border:1px solid var(--line);border-radius:7px;font-family:var(--sans);font-size:15px;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--sea);outline-offset:0;border-color:var(--sea)}

/* footer */
footer{background:var(--foam);border-top:1px solid var(--line);padding:52px 0 44px;margin-top:0}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
.fgrid h4{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2);margin-bottom:12px}
.fgrid a{display:block;font-size:14.5px;color:var(--ink2);padding:3px 0}
.fgrid a:hover{color:var(--navy)}
.legal{margin-top:36px;padding-top:22px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink3);line-height:1.6;max-width:110ch}
@media(max-width:860px){.fgrid{grid-template-columns:1fr 1fr}.nav{gap:20px}.nav a.nl{display:none}}
