:root{
  --navy:#212f45; --cream:#fff7e7; --peach:#f7ad80; --coral:#e96d5c;
  --gold:#e0ad53; --green:#56927e; --sky:#bae2ef; --purple:#735a8e;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:linear-gradient(180deg,var(--sky),var(--cream));color:var(--navy)}
.hero{position:relative;min-height:360px;overflow:hidden}
.hero>img{width:100%;height:430px;object-fit:cover;display:block}
.hero-card{position:absolute;left:6%;bottom:32px;max-width:680px;background:rgba(255,247,231,.92);border:3px solid var(--navy);border-radius:24px;padding:24px 28px;box-shadow:0 18px 50px rgba(33,47,69,.25)}
.hero-card h1{font-size:48px;margin:0 0 8px}
.hero-card p{font-size:20px;margin:0 0 16px}
.budget{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;font-weight:700}
.bar{height:16px;background:white;border:2px solid var(--navy);border-radius:999px;overflow:hidden}
.bar i{display:block;height:100%;width:0%;background:linear-gradient(90deg,var(--gold),var(--coral));transition:.3s}
main{width:min(1120px,92vw);margin:28px auto 70px}
.trip-snapshot img{width:100%;border-radius:22px;border:3px solid var(--navy);box-shadow:0 12px 30px rgba(33,47,69,.18)}
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0}
.tab{border:2px solid var(--navy);background:var(--cream);border-radius:999px;padding:10px 14px;cursor:pointer;font-weight:700}
.tab.active{background:var(--navy);color:var(--cream)}
.category{display:none;background:rgba(255,255,255,.68);border:3px solid var(--navy);border-radius:24px;padding:22px;margin-bottom:24px;box-shadow:0 12px 30px rgba(33,47,69,.12)}
.category.active{display:block}
.cat-head{display:flex;align-items:center;gap:16px;margin-bottom:12px}
.cat-head img{width:72px;height:72px}
.cat-head h2{font-size:30px;margin:0}
.item{display:flex;gap:14px;align-items:flex-start;background:var(--cream);border:2px solid rgba(33,47,69,.25);border-radius:16px;padding:14px;margin:10px 0;transition:.2s}
.item:hover{transform:translateY(-1px);box-shadow:0 8px 16px rgba(33,47,69,.12)}
.item input{width:22px;height:22px;accent-color:var(--green);margin-top:2px}
.item label{font-size:18px;line-height:1.35;cursor:pointer}
.item.done label{text-decoration:line-through;opacity:.65}
.notes{background:var(--navy);color:var(--cream);border-radius:24px;padding:24px;margin-top:22px}
.notes h2{margin-top:0}
button{background:var(--coral);color:white;border:none;border-radius:999px;padding:12px 18px;font-weight:700;cursor:pointer}
footer{text-align:center;padding:24px;background:rgba(33,47,69,.08)}
@media(max-width:720px){
  .hero-card{position:relative;left:auto;bottom:auto;margin:-70px 16px 20px}
  .hero-card h1{font-size:34px}
  .budget{grid-template-columns:1fr}
}
