:root{
  --clay: #b5622f;
  --clay-dark: #8f4a22;
  --savanna: #c9a24b;
  --ink: #23201b;
  --cream: #f7f1e6;
  --cream-2: #efe6d3;
  --line: rgba(35,32,27,0.12);
  --font-display: 'Iowan Old Style', 'Georgia', 'Times New Roman', serif;
  --font-body: 'Avenir Next', 'Segoe UI', Helvetica, Arial, sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--cream);line-height:1.55;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}

header{position:sticky;top:0;z-index:50;background:rgba(247,241,230,0.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:1180px;margin:0 auto;}
.brand{display:flex;align-items:center;gap:12px;}
.brand img{width:42px;height:42px;object-fit:contain;}
.brand-text .name{font-family:var(--font-display);font-size:1.15rem;font-weight:700;letter-spacing:0.02em;}
.brand-text .tag{font-size:0.72rem;color:var(--clay-dark);letter-spacing:0.08em;text-transform:uppercase;}
.nav-links{display:flex;align-items:center;gap:28px;font-size:0.92rem;}
.nav-links a{position:relative;padding:4px 0;}
.nav-links a.active{color:var(--clay-dark);font-weight:700;}
.nav-links a:not(.cta):hover{color:var(--clay-dark);}
.nav-links a:not(.cta)::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--clay);transition:width .25s ease;}
.nav-links a:not(.cta):hover::after{width:100%;}
.cta{display:inline-block;background:var(--clay);color:#fff !important;padding:10px 22px;border-radius:999px;font-weight:600;white-space:nowrap;flex-shrink:0;line-height:1.2;}
.cta:hover{background:var(--clay-dark);}

.page-hero{position:relative;min-height:52vh;display:flex;align-items:flex-end;overflow:hidden;}
.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(20,16,10,0.15) 0%, rgba(20,16,10,0.55) 65%, rgba(20,16,10,0.85) 100%);z-index:1;}
.page-hero-content{position:relative;z-index:2;color:#fff;padding:50px 24px 56px;max-width:1180px;margin:0 auto;width:100%;}

.hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;overflow:hidden;}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(20,16,10,0.15) 0%, rgba(20,16,10,0.55) 65%, rgba(20,16,10,0.85) 100%);z-index:1;}
.hero-content{position:relative;z-index:2;color:#fff;padding:60px 24px 72px;max-width:1180px;margin:0 auto;width:100%;}

.eyebrow{display:inline-block;font-size:0.8rem;letter-spacing:0.14em;text-transform:uppercase;color:#fff;font-weight:600;background:rgba(20,16,10,0.45);border:1px solid rgba(255,255,255,0.5);padding:6px 14px;border-radius:999px;margin-bottom:22px;backdrop-filter:blur(2px);}
.hero h1{font-family:var(--font-display);font-size:clamp(2.1rem, 5vw, 3.6rem);line-height:1.12;max-width:820px;margin:0 0 20px;font-weight:600;}
.hero p{max-width:560px;font-size:1.05rem;color:rgba(255,255,255,0.9);margin:0 0 32px;}
.page-hero h1{font-family:var(--font-display);font-size:clamp(1.9rem, 4.2vw, 2.9rem);line-height:1.14;max-width:760px;margin:0 0 14px;font-weight:600;}
.page-hero p{max-width:560px;font-size:1rem;color:rgba(255,255,255,0.9);margin:0;}
.hero-buttons{display:flex;gap:16px;flex-wrap:wrap;}
.btn{padding:13px 26px;border-radius:999px;font-weight:600;font-size:0.95rem;display:inline-block;line-height:1.2;transition:transform .2s ease, background .2s ease;}
.btn:hover{transform:translateY(-2px);}
.btn-solid{background:var(--clay);color:#fff;}
.btn-solid:hover{background:var(--clay-dark);}
.btn-outline{border:1.5px solid rgba(255,255,255,0.7);color:#fff;}
.btn-outline:hover{background:rgba(255,255,255,0.12);}
.btn-outline-dark{border:1.5px solid var(--clay);color:var(--clay-dark);}
.btn-outline-dark:hover{background:rgba(181,98,47,0.08);}

.origins{background:var(--ink);color:var(--cream);}
.origins .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
.origin{padding:34px 28px;border-right:1px solid rgba(247,241,230,0.12);}
.origin:last-child{border-right:none;}
.origin .flag{font-size:0.75rem;letter-spacing:0.12em;color:var(--savanna);font-weight:700;margin-bottom:10px;}
.origin h3{font-family:var(--font-display);font-size:1.15rem;margin:0 0 8px;font-weight:600;}
.origin p{margin:0;font-size:0.92rem;color:rgba(247,241,230,0.75);}

.section{padding:88px 0;}
.section-tight{padding:64px 0;}
.section-head{max-width:640px;margin-bottom:48px;}
.kicker{font-size:0.78rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--clay-dark);font-weight:700;margin-bottom:12px;display:block;}
.section-head h2{font-family:var(--font-display);font-size:clamp(1.7rem,3.2vw,2.5rem);margin:0;font-weight:600;}
.lede{max-width:680px;font-size:1rem;color:rgba(35,32,27,0.8);}

.dest-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.dest-card{position:relative;border-radius:18px;overflow:hidden;min-height:380px;display:flex;align-items:flex-end;}
.dest-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.dest-card:hover img{transform:scale(1.05);}
.dest-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(20,16,10,0) 30%, rgba(20,16,10,0.82) 100%);}
.dest-card-body{position:relative;z-index:2;padding:28px;color:#fff;}
.dest-card-body h3{font-family:var(--font-display);font-size:1.4rem;margin:0 0 8px;font-weight:600;}
.dest-card-body p{margin:0 0 14px;font-size:0.92rem;color:rgba(255,255,255,0.88);max-width:420px;}
.dest-card-body a{font-weight:700;font-size:0.9rem;color:var(--savanna);}
.dest-card-body a:hover{text-decoration:underline;}

.park-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:8px;}
.park-item{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px;}
.park-item h4{font-family:var(--font-display);margin:0 0 6px;font-size:1.05rem;font-weight:600;}
.park-item p{margin:0;font-size:0.9rem;color:rgba(35,32,27,0.72);}

.itin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.itin-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 24px;display:flex;flex-direction:column;gap:10px;transition:box-shadow .2s ease, transform .2s ease;}
.itin-card:hover{box-shadow:0 14px 30px rgba(35,32,27,0.08);transform:translateY(-3px);}
.itin-days{font-size:0.78rem;letter-spacing:0.06em;color:var(--clay-dark);font-weight:700;text-transform:uppercase;}
.itin-card h3{font-family:var(--font-display);font-size:1.2rem;margin:2px 0 4px;font-weight:600;}
.itin-card p{font-size:0.9rem;color:rgba(35,32,27,0.75);margin:0 0 8px;flex:1;}
.itin-card a{font-weight:700;font-size:0.88rem;color:var(--clay);}
.itin-card a:hover{text-decoration:underline;}
.itin-highlights{list-style:none;margin:0 0 10px;padding:0;font-size:0.86rem;color:rgba(35,32,27,0.72);display:flex;flex-direction:column;gap:6px;}
.itin-highlights li{padding-left:16px;position:relative;}
.itin-highlights li::before{content:"—";position:absolute;left:0;color:var(--clay);}

.services{position:relative;border-radius:24px;overflow:hidden;min-height:520px;}
.services img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.services-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg, rgba(20,16,10,0.86) 0%, rgba(20,16,10,0.5) 55%, rgba(20,16,10,0.15) 100%);}
.services-content{position:relative;z-index:2;min-height:520px;display:flex;align-items:center;padding:44px;}
.services-list{color:#fff;max-width:560px;}
.services-list .kicker{color:var(--savanna);}
.services-list h2{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.2rem);margin:8px 0 28px;font-weight:600;}
.service-item{display:flex;gap:16px;margin-bottom:22px;}
.service-item .num{font-family:var(--font-display);font-size:1rem;color:var(--savanna);font-weight:700;min-width:26px;}
.service-item h4{margin:0 0 4px;font-size:1.02rem;font-weight:600;}
.service-item p{margin:0;font-size:0.88rem;color:rgba(255,255,255,0.78);}
.services-cta{margin-top:8px;font-weight:700;color:var(--savanna);}
.services-cta:hover{text-decoration:underline;}

.service-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.service-detail{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;}
.service-detail .num{font-family:var(--font-display);color:var(--clay);font-weight:700;font-size:0.9rem;margin-bottom:8px;display:block;}
.service-detail h3{font-family:var(--font-display);margin:0 0 10px;font-size:1.25rem;font-weight:600;}
.service-detail p{margin:0;font-size:0.92rem;color:rgba(35,32,27,0.75);}

.closing{background:linear-gradient(135deg, var(--clay) 0%, var(--clay-dark) 100%);color:#fff;border-radius:24px;padding:64px 48px;text-align:center;}
.closing h2{font-family:var(--font-display);font-size:clamp(1.7rem,3.4vw,2.4rem);margin:0 0 16px;font-weight:600;}
.closing p{max-width:560px;margin:0 auto 32px;color:rgba(255,255,255,0.9);}
.closing .hero-buttons{justify-content:center;}
.closing .btn-solid{background:#fff;color:var(--clay-dark);}
.closing .btn-solid:hover{background:var(--cream-2);}
.closing .btn-outline{border-color:rgba(255,255,255,0.8);}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;}
.contact-card h3{font-family:var(--font-display);margin:0 0 14px;font-size:1.15rem;font-weight:600;}
.contact-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;font-size:0.94rem;}
.contact-row .label{min-width:88px;color:var(--clay-dark);font-weight:700;font-size:0.8rem;text-transform:uppercase;letter-spacing:0.04em;padding-top:2px;}
.contact-row a:hover{text-decoration:underline;}

footer{background:var(--ink);color:rgba(247,241,230,0.85);padding:64px 0 28px;}
.footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;margin-bottom:48px;}
.footer-brand .brand{margin-bottom:16px;}
.footer-brand .brand-text .name{color:var(--cream);}
.footer-brand p{font-size:0.88rem;color:rgba(247,241,230,0.65);max-width:340px;}
footer h4{font-size:0.8rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--savanna);margin:0 0 16px;}
footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
footer ul a{font-size:0.9rem;color:rgba(247,241,230,0.85);}
footer ul a:hover{color:var(--savanna);}
.footer-bottom{border-top:1px solid rgba(247,241,230,0.12);padding-top:24px;font-size:0.8rem;color:rgba(247,241,230,0.55);}

@media (max-width: 900px){
  .nav-links{display:none;}
  .origins .wrap{grid-template-columns:1fr;}
  .origin{border-right:none;border-bottom:1px solid rgba(247,241,230,0.12);}
  .dest-grid{grid-template-columns:1fr;}
  .park-list{grid-template-columns:1fr;}
  .itin-grid{grid-template-columns:1fr 1fr;}
  .service-detail-grid{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr;}
  .services{min-height:640px;}
  .services-content{min-height:640px;padding:0 24px;align-items:flex-end;padding-bottom:36px;}
  .services-overlay{background:linear-gradient(180deg, rgba(20,16,10,0.35) 0%, rgba(20,16,10,0.94) 65%);}
}
@media (max-width: 560px){
  .itin-grid{grid-template-columns:1fr;}
  .closing{padding:48px 24px;}
}
