body{background:linear-gradient(180deg,#e8f0e9 0,#f5f0e7 48%,#efe4d6 100%);min-height:100vh}
.landing-hero{min-height:620px;color:#fff;background:linear-gradient(110deg,rgba(21,45,37,.94),rgba(45,95,74,.72)),url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=2000&q=75') center/cover;display:flex;flex-direction:column}
.landing-nav{display:flex;justify-content:space-between;align-items:center;padding:1rem clamp(18px,4vw,70px);border-bottom:1px solid rgba(255,255,255,.18);background:rgba(17,39,32,.22);backdrop-filter:blur(8px)}
.brand{display:flex;align-items:center;gap:.7rem;color:#fff;text-decoration:none;font-weight:900;font-size:1.1rem}.brand img{width:34px;height:34px;filter:brightness(0) invert(1)}
.nav-actions{display:flex;align-items:center;gap:.6rem}.session-label{font-size:.85rem;color:#e9ddc5}.nav-button{border:1px solid rgba(255,255,255,.42);background:rgba(255,255,255,.12);color:#fff;border-radius:999px;padding:.6rem .85rem;font-weight:800}
.hero-copy{width:min(1040px,calc(100% - 36px));margin:auto;padding:4rem 0 5rem}.hero-kicker,.section-kicker{letter-spacing:.16em;text-transform:uppercase;font-size:.76rem;font-weight:850}.hero-kicker{color:#efd99e}.hero-copy h1{font-size:clamp(3.5rem,9vw,7.5rem);line-height:.88;margin:.35rem 0 1.2rem;max-width:900px}.hero-copy>p:not(.hero-kicker,.setup-warning){font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.55;max-width:780px;color:#f4eee4}.hero-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.7rem}.hero-primary,.hero-secondary{border-radius:999px;padding:.85rem 1.1rem;font-weight:900;text-decoration:none;display:inline-flex;align-items:center;border:0}.hero-primary{background:#d99d3f;color:#20372e}.hero-secondary{border:1px solid rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.09)}.setup-warning{max-width:800px;margin-top:1rem;padding:.75rem 1rem;border-radius:14px;background:#fff2d7;color:#6e4915;font-weight:750}
.travel-section,.legacy-section{width:min(1260px,calc(100% - 32px));margin:0 auto;padding:4.5rem 0}.legacy-section{padding-top:0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:1.2rem;margin-bottom:1.4rem}.section-heading.compact{margin-bottom:1rem}.section-kicker{color:#7f5734;margin:0}.section-heading h2{font-size:clamp(2rem,4vw,3.6rem);margin:.2rem 0}.search-field{display:grid;gap:.35rem;font-weight:800;color:#536058;min-width:min(340px,100%)}.search-field input{border:1px solid #d7cdbf;border-radius:999px;padding:.8rem 1rem;background:#fffdf8}
.trip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:1rem}.trip-card,.loading-card,.empty-card{border:1px solid #ddd1c1;border-radius:24px;background:#fffdf8;box-shadow:0 18px 45px rgba(51,45,35,.1);overflow:hidden}.loading-card,.empty-card{padding:2rem;color:#6f746f}.trip-cover{height:185px;background:linear-gradient(135deg,#244838,#6e8b6a);position:relative;display:flex;align-items:flex-end;padding:1rem;color:#fff;overflow:hidden}.trip-cover-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;opacity:0;transition:opacity .18s ease}.trip-cover.image-loaded .trip-cover-image{opacity:1}.trip-cover::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(14,31,25,.04) 28%,rgba(8,20,15,.72) 100%)}.trip-status{position:relative;z-index:2;margin-left:auto;border:1px solid rgba(255,255,255,.4);background:rgba(0,0,0,.18);backdrop-filter:blur(7px);border-radius:999px;padding:.32rem .55rem;font-size:.75rem;font-weight:850;text-transform:capitalize}.trip-body{padding:1.1rem}.trip-body h3{font-size:1.5rem;line-height:1.1;margin:.15rem 0}.trip-body p{color:#6f746f;line-height:1.5}.trip-meta{display:flex;flex-wrap:wrap;gap:.4rem;margin:.7rem 0}.trip-meta span{font-size:.78rem;border-radius:999px;background:#f1eadf;color:#6a5846;padding:.3rem .5rem}.trip-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}.trip-actions a,.trip-actions button{border-radius:999px;padding:.65rem .8rem;font-weight:850;text-decoration:none;border:1px solid #2d5f4a}.open-trip{background:#2d5f4a;color:#fff}.edit-trip{background:#fff;color:#2d5f4a}.delete-trip{margin-left:auto;border-color:#aa3b2d!important;color:#aa3b2d;background:#fff}.private-badge{background:#f5e3df!important;color:#8f3328!important}
.legacy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:.8rem}.legacy-card{background:rgba(255,253,248,.84);border:1px solid #ddd1c1;border-radius:18px;padding:1rem}.legacy-card h3{margin:.1rem 0}.legacy-card p{color:#6f746f}.legacy-card a{font-weight:850;color:#2d5f4a}
.landing-footer{background:#20372e;color:#f5efe4;padding:2rem clamp(18px,4vw,70px)}.landing-footer p{max-width:1000px}.new-trip-dialog{border:0;border-radius:24px;padding:0;max-width:min(94vw,600px);width:100%;box-shadow:0 35px 90px rgba(0,0,0,.35)}.new-trip-dialog::backdrop{background:rgba(20,33,27,.66);backdrop-filter:blur(4px)}.new-trip-card{position:relative;padding:1.5rem;background:#fffdf8;display:grid;gap:1rem}.new-trip-card h2{font-size:2rem;margin:0}.new-trip-card>label{display:grid;gap:.4rem;font-weight:800}.new-trip-card input,.new-trip-card select{width:100%;border:1px solid #ded5c7;border-radius:14px;padding:.78rem;background:#fff}.new-trip-card small{color:#6f746f;font-weight:500}.new-trip-card fieldset{border:0;padding:0;margin:0;display:grid;gap:.6rem}.new-trip-card legend{font-weight:850;margin-bottom:.5rem}.radio-card{display:flex;gap:.7rem;align-items:flex-start;border:1px solid #ded5c7;border-radius:16px;padding:.8rem;background:#fff}.radio-card span{display:grid;gap:.2rem}.dialog-actions{display:flex;justify-content:flex-end;gap:.6rem;flex-wrap:wrap}
@media(max-width:760px){.landing-nav{align-items:flex-start}.session-label{display:none}.hero-copy{padding:3rem 0 4rem}.landing-hero{min-height:560px}.section-heading{align-items:stretch;flex-direction:column}.search-field{min-width:0}.travel-section,.legacy-section{width:min(100% - 22px,1260px);padding:3rem 0}.trip-grid{grid-template-columns:1fr}.delete-trip{margin-left:0}.new-trip-card{padding:1.15rem}}
