/* ── RESET & BASE ── */
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Merriweather',Georgia,serif;background:#fff;color:#384856;line-height:1.7;font-size:16px}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
h1,h2,h3,h4{font-family:'Alfa Slab One',serif;font-weight:400;line-height:1.2;color:#1C3D5A}
p{margin-bottom:1rem}
/* ── HEADER ── */
.header{background:#fff;border-bottom:1px solid #e5e5e5;position:sticky;top:0;z-index:200}
.header-top-row{max-width:1260px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;height:72px}
.logo{display:flex;align-items:center;text-decoration:none}
.logo img{width:200px;display:block}
.logo span{font-family:'Alfa Slab One',serif;font-size:1.1rem;color:#173b57}
.signup-btn{border:2px solid #000;border-radius:50px;color:#000!important;padding:8px 20px;font-size:14px;font-family:'Merriweather',serif;white-space:nowrap;text-decoration:none;transition:all .2s;display:inline-block}
.signup-btn:hover{background:#000;color:#fff!important}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px}
.hamburger span{display:block;width:24px;height:2px;background:#000;border-radius:1px}
.nav-row{border-top:1px solid #e5e5e5;background:#fff}
.nav-links{max-width:1260px;margin:0 auto;padding:0 16px;display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:0}
.nav-links a{color:#000;font-size:14px;padding:9px 13px;font-family:'Merriweather',serif;font-weight:400;white-space:nowrap;border-bottom:2px solid transparent;display:block;text-decoration:none}
.nav-links a:hover,.nav-links a.active{border-bottom-color:#000}
.mobile-nav{display:none;background:#fff;border-top:1px solid #e5e5e5}
.mobile-nav a{display:block;padding:12px 24px;color:#000;font-size:15px;border-bottom:1px solid #f0f0f0;font-family:'Merriweather',serif;text-decoration:none}
@media(max-width:900px){.nav-row{display:none}.hamburger{display:flex}}

.step-bar { display:flex; background:white; border-radius:8px; box-shadow:var(--shadow); overflow:hidden; border:1px solid var(--border); margin-bottom:28px; }
.step { flex:1; padding:13px 8px; text-align:center; font-size:0.75rem; font-weight:600; color:var(--muted); border-right:1px solid var(--border); transition:all 0.3s; }
.step:last-child { border-right:none; }
.step.active { background:#173b57; color:white; }
.step.done { background:#FBEACF; color:#173b57; }
.step-num { display:block; font-size:1rem; margin-bottom:2px; } .option-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:10px; margin:12px 0; }
.option-tile { border:2px solid var(--border); border-radius:4px; padding:14px 10px; text-align:center; cursor:pointer; transition:all 0.2s; background:white; user-select:none; }
.option-tile:hover { border-color:#173b57; background:#FBEACF; }
.option-tile.selected { border-color:#173b57; background:#FBEACF; }
.tile-icon { font-size:1.8rem; display:block; margin-bottom:6px; }
.tile-label { font-size:0.78rem; font-weight:600; color:var(--dark); line-height:1.3; }
.tile-sub { font-size:0.68rem; color:var(--muted); margin-top:2px; } .form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media(max-width:540px){ .form-row { grid-template-columns:1fr; } }
.field-group { margin-bottom:14px; }
.field-group label { display:block; font-size:0.84rem; font-weight:600; margin-bottom:5px; }
.field-group input, .field-group select, .field-group textarea { width:100%; padding:9px 13px; border:2px solid var(--border); border-radius:6px; font-size:0.9rem; outline:none; transition:border-color 0.2s; font-family:inherit; background:white; }
.field-group input:focus, .field-group select:focus, .field-group textarea:focus { border-color:#173b57; }
.field-group textarea { resize:vertical; min-height:76px; } .wizard-panel { display:none; }
.wizard-panel.active { display:block; animation:fadeIn 0.25s ease; }
@keyframes fadeIn { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:none} } .summary-box { background:#FBEACF; border:2px solid #173b57; border-radius:8px; padding:18px; margin-bottom:18px; }
.summary-row { display:flex; justify-content:space-between; align-items:flex-start; padding:6px 0; border-bottom:1px solid rgba(27,94,32,0.15); font-size:0.86rem; gap:10px; }
.summary-row:last-child { border-bottom:none; }
.summary-label { color:var(--muted); flex-shrink:0; }
.summary-val { font-weight:600; color:#173b57; text-align:right; } /* PACKAGE CARDS */
.pkg-card { background:white; border-radius:8px; box-shadow:0 4px 20px rgba(0,0,0,0.12); overflow:hidden; border:1px solid var(--border); margin-bottom:32px; }
.pkg-header { color:white; padding:22px 24px; }
.pkg-header.green { background:linear-gradient(135deg,#173b57,#173b57); }
.pkg-header.coastal { background:linear-gradient(135deg,#0D47A1,#1565C0); }
.pkg-header.foliage { background:linear-gradient(135deg,#BF360C,#D84315); }
.pkg-header.purple { background:linear-gradient(135deg,#4A148C,#6A1B9A); }
.pkg-header.navy { background:linear-gradient(135deg,#1A237E,#283593); }
.pkg-eyebrow { font-size:0.67rem; text-transform:uppercase; letter-spacing:2px; opacity:0.75; margin-bottom:5px; }
.pkg-title { font-size:1.2rem; font-weight:700; margin-bottom:4px; }
.pkg-sub { font-size:0.83rem; opacity:0.85; }
.pkg-meta { display:flex; gap:10px; margin-top:12px; flex-wrap:wrap; }
.pkg-badge { background:rgba(255,255,255,0.18); border:1px solid rgba(255,255,255,0.28); padding:3px 11px; border-radius:20px; font-size:0.72rem; font-weight:600; }
.pkg-body { padding:22px 24px; }
.pkg-cols { display:grid; grid-template-columns:3fr 2fr; gap:22px; }
@media(max-width:650px){ .pkg-cols { grid-template-columns:1fr; } } .day-block { margin-bottom:14px; }
.day-header { background:#FBEACF; border-left:4px solid #173b57; padding:7px 13px; border-radius:0 6px 6px 0; font-weight:700; font-size:0.84rem; color:#173b57; margin-bottom:7px; }
.day-stops { list-style:none; padding:0; }
.day-stops li { padding:4px 0; font-size:0.84rem; color:#43505c; border-bottom:1px dashed #f0f0f0; display:flex; gap:7px; align-items:flex-start; }
.day-stops li:last-child { border-bottom:none; }
.day-stops li::before { content:'→'; color:#173b57; flex-shrink:0; font-weight:700; margin-top:1px; } .inc-list { list-style:none; padding:0; }
.inc-list li { padding:5px 0; font-size:0.84rem; border-bottom:1px solid #f5f5f5; display:flex; gap:7px; }
.inc-list li:last-child { border-bottom:none; } .rate-box { background:#FBEACF; border:2px solid #000000; border-radius:4px; padding:16px; text-align:center; margin-top:14px; }
.rate-headline { font-size:1.35rem; font-weight:700; color:#E65100; }
.rate-note { font-size:0.73rem; color:var(--muted); margin-top:3px; line-height:1.4; }
.not-incl { background:#f9f9f9; border-radius:4px; padding:12px; margin-top:12px; font-size:0.8rem; color:var(--muted); } #confirmScreen { display:none; }
.confetti-box { text-align:center; padding:36px 20px 24px; background:linear-gradient(135deg,#173b57,#173b57); color:white; border-radius:8px; margin-bottom:28px; }
