/* Rolling Ridge Ranch — shared site styles */
:root{
  --brown-dark:#2C1A0E;--brown-mid:#5C3A1E;--brown-light:#8B5E3C;
  --gold:#C9902E;--gold-light:#E8B455;--cream:#F5EFE6;
  --green-dark:#2D3B2A;--green-mid:#4A6741;--green-light:#7A9E6F;
  --white:#FFFFFF;--text-dark:#1E1209;--text-mid:#4A3728;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Lato',sans-serif;color:var(--text-dark);background:var(--white);line-height:1.7;}
img{max-width:100%;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;height:72px;background:rgba(28,16,6,0.97);display:flex;align-items:center;justify-content:space-between;padding:0 28px;z-index:1000;backdrop-filter:blur(4px);}
.nav-brand{display:flex;align-items:center;gap:12px;text-decoration:none;}
.nav-brand img{height:48px;width:auto;}
.nav-brand-text{display:flex;flex-direction:column;line-height:1.1;}
.nav-brand-text .name{font-family:'Playfair Display',serif;font-size:0.95rem;color:var(--gold-light);letter-spacing:0.03em;}
.nav-brand-text .tagline{font-size:0.62rem;color:rgba(255,255,255,0.55);letter-spacing:0.08em;text-transform:uppercase;}
.nav-links{display:flex;align-items:center;gap:20px;list-style:none;}
.nav-links a{color:rgba(255,255,255,0.82);text-decoration:none;font-size:0.68rem;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;transition:color 0.2s;}
.nav-links a:hover,.nav-links a.active{color:var(--gold-light);}
.nav-cta{background:var(--gold);color:var(--white)!important;padding:9px 18px;border-radius:3px;font-weight:700!important;transition:background 0.2s!important;}
.nav-cta:hover{background:var(--gold-light)!important;}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;}
.hamburger span{display:block;width:24px;height:2px;background:var(--white);transition:all 0.3s;}
.mobile-menu{display:none;position:fixed;top:72px;left:0;right:0;background:rgba(28,16,6,0.98);padding:22px 28px;z-index:999;flex-direction:column;gap:16px;}
.mobile-menu.open{display:flex;}
.mobile-menu a{color:rgba(255,255,255,0.85);text-decoration:none;font-size:0.85rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:6px 0;border-bottom:1px solid rgba(255,255,255,0.1);}
.mobile-menu a.active,.mobile-menu a:hover{color:var(--gold-light);}
.mobile-menu .mob-cta{background:var(--gold);color:var(--white)!important;text-align:center;padding:12px;border-radius:3px;border-bottom:none!important;}

/* BUTTONS */
.btn-primary{display:inline-block;background:var(--gold);color:var(--white);text-decoration:none;padding:14px 34px;font-size:0.82rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;border-radius:3px;transition:background 0.2s,transform 0.2s;}
.btn-primary:hover{background:var(--gold-light);transform:translateY(-1px);}
.btn-secondary{display:inline-block;border:2px solid var(--gold);color:var(--gold);text-decoration:none;padding:12px 30px;font-size:0.82rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;border-radius:3px;transition:all 0.2s;}
.btn-secondary:hover{background:var(--gold);color:var(--white);transform:translateY(-1px);}

/* PAGE HERO (interior pages) */
.page-hero{min-height:52vh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;margin-top:72px;padding:80px 24px;background-size:cover;background-position:center;}
.page-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(rgba(28,16,6,0.55),rgba(28,16,6,0.72));}
.page-hero .inner{position:relative;z-index:2;max-width:780px;}
.page-hero .eyebrow{font-size:0.75rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold-light);margin-bottom:14px;}
.page-hero h1{font-family:'Playfair Display',serif;font-size:clamp(2rem,4.6vw,3.3rem);color:#fff;line-height:1.12;margin-bottom:18px;}
.page-hero p{color:rgba(255,255,255,0.9);font-size:1.08rem;max-width:620px;margin:0 auto 26px;}

/* SECTIONS */
.section{padding:80px 24px;}
.section-cream{background:var(--cream);}
.section-green{background:var(--green-dark);color:#fff;}
.section-dark{background:var(--brown-dark);color:#fff;}
.container{max-width:1100px;margin:0 auto;}
.center{text-align:center;}
.section-label{font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;}
.section-green .section-label,.section-dark .section-label{color:var(--gold-light);}
h2{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3.6vw,2.6rem);line-height:1.2;margin-bottom:20px;}
.section-green h2,.section-dark h2{color:#fff;}
h3{font-family:'Playfair Display',serif;}
.lead{font-size:1.1rem;color:var(--text-mid);max-width:720px;margin-bottom:12px;}
.center .lead{margin-left:auto;margin-right:auto;}
.section-green .lead,.section-dark .lead{color:rgba(255,255,255,0.82);}

/* TRUST BAR */
.trust-bar{background:var(--brown-dark);color:#fff;display:flex;justify-content:center;flex-wrap:wrap;gap:12px 44px;padding:22px 24px;text-align:center;}
.trust-bar .stat{font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.85);}
.trust-bar .stat b{color:var(--gold-light);font-weight:700;}

/* JOURNEY STEPS */
.steps{max-width:820px;margin:48px auto 0;}
.step{display:flex;gap:24px;align-items:flex-start;padding:22px 0;border-bottom:1px solid rgba(0,0,0,0.08);}
.step .num{font-family:'Playfair Display',serif;font-size:2rem;color:var(--gold);line-height:1;flex-shrink:0;width:56px;}
.step h3{font-size:1.15rem;margin-bottom:6px;}
.step p{font-size:0.95rem;color:var(--text-mid);}

/* CARDS / GRID */
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:26px;margin-top:44px;text-align:left;}
.card{background:#fff;border:1px solid rgba(0,0,0,0.07);border-radius:8px;padding:28px;box-shadow:0 3px 14px rgba(0,0,0,0.06);}
.card .icon{font-size:2rem;margin-bottom:12px;}
.card h3{font-size:1.15rem;margin-bottom:8px;}
.card p{font-size:0.92rem;color:var(--text-mid);}

/* SPLIT */
.split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;}
.split-img{min-height:440px;background-size:cover;background-position:center;}
.split-text{padding:70px 54px;display:flex;flex-direction:column;justify-content:center;}
.split-text ul{list-style:none;margin:8px 0 24px;}
.split-text ul li{padding:6px 0;font-size:0.95rem;color:var(--text-mid);display:flex;gap:10px;}
.split-text ul li::before{content:'✓';color:var(--gold);font-weight:700;}

/* GALLERY */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px;}
.trophy-card{background:#fff;border:1px solid rgba(0,0,0,0.07);border-radius:8px;overflow:hidden;box-shadow:0 3px 14px rgba(0,0,0,0.06);}
.trophy-card img{width:100%;height:300px;object-fit:cover;display:block;}
.trophy-card .meta{padding:18px 20px;}
.trophy-card .meta .who{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--brown-dark);}
.trophy-card .meta .score{color:var(--gold);font-weight:700;font-size:0.9rem;margin:4px 0;}
.trophy-card .meta .note{font-size:0.86rem;color:var(--text-mid);}
.gallery-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;}
.gallery-strip img{width:100%;height:240px;object-fit:cover;display:block;}

/* TESTIMONIALS */
.testi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px;margin-top:44px;text-align:left;}
.testi{background:#fff;border:1px solid rgba(0,0,0,0.06);border-radius:8px;padding:28px;box-shadow:0 3px 14px rgba(0,0,0,0.06);}
.testi .stars{color:var(--gold);letter-spacing:2px;margin-bottom:12px;}
.testi p{font-size:0.95rem;color:var(--text-mid);font-style:italic;margin-bottom:14px;}
.testi .who{font-weight:700;color:var(--brown-dark);font-size:0.9rem;}

/* CORPORATE */
.corp{display:grid;grid-template-columns:0.8fr 1.2fr;align-items:stretch;background:var(--green-dark);color:#fff;border-radius:10px;overflow:hidden;margin-top:8px;}
.corp-price{background:rgba(0,0,0,0.22);padding:56px 40px;display:flex;flex-direction:column;justify-content:center;text-align:center;}
.corp-price .num{font-family:'Playfair Display',serif;font-size:3rem;color:var(--gold-light);line-height:1;}
.corp-price .sub{font-size:0.75rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.7);margin-top:8px;}
.corp-body{padding:44px 40px;}
.corp-body ul{list-style:none;margin:6px 0 0;columns:2;}
.corp-body ul li{padding:5px 0;font-size:0.9rem;color:rgba(255,255,255,0.85);display:flex;gap:8px;break-inside:avoid;}
.corp-body ul li::before{content:'✓';color:var(--gold-light);}

/* ITINERARY */
.itin{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:40px;text-align:left;}
.itin .day{background:#fff;border-left:4px solid var(--gold);border-radius:6px;padding:26px 28px;box-shadow:0 3px 14px rgba(0,0,0,0.06);}
.itin .day h3{font-size:1.15rem;margin-bottom:10px;color:var(--brown-dark);}
.itin .day p{font-size:0.92rem;color:var(--text-mid);}

/* FAQ */
.faq-wrap{max-width:840px;margin:40px auto 0;}
.faq-item{border-bottom:1px solid rgba(0,0,0,0.1);padding:20px 0;}
.faq-item h3{font-size:1.1rem;margin-bottom:6px;color:var(--brown-dark);}
.faq-item p{font-size:0.94rem;color:var(--text-mid);}

/* PROMISE */
.promise{background:var(--cream);border-left:4px solid var(--gold);padding:24px 28px;margin-top:24px;font-style:italic;color:var(--text-mid);}
.promise b{display:block;font-style:normal;color:var(--brown-dark);letter-spacing:0.06em;margin-bottom:6px;text-transform:uppercase;font-size:0.78rem;}

/* CTA */
.cta-section{background:linear-gradient(rgba(28,16,6,0.82),rgba(28,16,6,0.9)),url('campfire-sunset.jpg') center/cover no-repeat;padding:92px 24px;text-align:center;color:#fff;}
.cta-section h2{color:#fff;}
.cta-section p{color:rgba(255,255,255,0.85);font-size:1.06rem;max-width:560px;margin:0 auto 24px;}
.cta-phone{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--gold-light);margin-bottom:26px;}
.cta-phone a{color:var(--gold-light);text-decoration:none;}

/* FOOTER */
footer{background:#0E0806;color:rgba(255,255,255,0.55);padding:48px 24px 28px;}
.footer-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:36px;}
.footer-brand .name{font-family:'Playfair Display',serif;color:var(--gold-light);font-size:1.1rem;margin-bottom:8px;}
.footer-brand p{font-size:0.85rem;line-height:1.6;}
footer h5{color:#fff;font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:14px;}
footer ul{list-style:none;}
footer ul li{margin-bottom:8px;}
footer a{color:rgba(255,255,255,0.55);text-decoration:none;font-size:0.88rem;transition:color 0.2s;}
footer a:hover{color:var(--gold-light);}
.footer-bottom{max-width:1100px;margin:0 auto;padding-top:20px;border-top:1px solid rgba(255,255,255,0.08);display:flex;justify-content:space-between;align-items:center;font-size:0.78rem;flex-wrap:wrap;gap:8px;}

/* MOBILE STICKY CALL/TEXT */
.mobile-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:1001;}
.mobile-bar a{flex:1;text-align:center;padding:14px;font-size:0.8rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;text-decoration:none;color:#fff;}
.mobile-bar .call{background:var(--green-mid);}
.mobile-bar .text{background:var(--gold);}

@media (max-width:900px){
  .split,.corp,.itin{grid-template-columns:1fr;}
  .split-img{min-height:300px;}
  .split-text{padding:48px 28px;}
  .corp-body ul{columns:1;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:768px){
  nav{padding:0 20px;}
  .nav-links{display:none;}
  .hamburger{display:flex;}
  .gallery-strip{grid-template-columns:repeat(2,1fr);}
  .footer-inner{grid-template-columns:1fr;gap:28px;}
  .footer-bottom{flex-direction:column;text-align:center;}
  .mobile-bar{display:flex;}
  body{padding-bottom:50px;}
}
@media (max-width:480px){
  .gallery-grid{grid-template-columns:1fr;}
  .gallery-strip img{height:180px;}
}

/* PACKAGE CARDS */
.pkg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;margin-top:44px;text-align:left;}
.pkg{background:#fff;border:1px solid rgba(0,0,0,0.08);border-radius:6px;padding:28px 26px;box-shadow:0 3px 14px rgba(0,0,0,0.06);display:flex;flex-direction:column;}
.pkg.feature{background:var(--green-dark);color:#fff;border-color:var(--green-dark);}
.pkg-tag{font-size:0.66rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;font-weight:700;}
.pkg.feature .pkg-tag{color:var(--gold-light);}
.pkg h3{font-size:1.3rem;margin-bottom:6px;}
.pkg .best{font-size:0.8rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--brown-light);margin-bottom:14px;}
.pkg.feature .best{color:var(--green-light);}
.pkg .price{font-size:1.5rem;font-weight:700;color:var(--brown-dark);margin-bottom:14px;}
.pkg.feature .price{color:var(--gold-light);}
.pkg p.desc{font-size:0.9rem;color:var(--text-mid);margin-bottom:14px;}
.pkg.feature p.desc{color:rgba(255,255,255,0.82);}
.pkg ul.incl{list-style:none;margin:0 0 20px;flex:1;}
.pkg ul.incl li{font-size:0.85rem;color:var(--text-mid);padding:4px 0;display:flex;gap:8px;}
.pkg ul.incl li::before{content:'✓';color:var(--gold);font-weight:700;flex-shrink:0;}
.pkg.feature ul.incl li{color:rgba(255,255,255,0.82);}
.pkg.feature ul.incl li::before{color:var(--gold-light);}
.pkg .pkg-cta{display:block;text-align:center;background:var(--gold);color:#fff;text-decoration:none;padding:11px;border-radius:3px;font-size:0.74rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;transition:background 0.2s;}
.pkg .pkg-cta:hover{background:var(--gold-light);}

/* GUARANTEE BAND */
.guarantee{text-align:center;}
.guarantee h2{max-width:900px;margin:0 auto 16px;}
.guarantee .lead{max-width:660px;margin:0 auto;}

/* FIT / NOT FIT */
.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px;text-align:left;}
.fit{padding:26px 28px;border-radius:8px;}
.fit.yes{background:rgba(74,103,65,0.1);border-left:4px solid var(--green-mid);}
.fit.no{background:rgba(140,94,60,0.1);border-left:4px solid var(--brown-light);}
.fit h3{font-size:1.1rem;margin-bottom:10px;color:var(--brown-dark);}
.fit p{font-size:0.92rem;color:var(--text-mid);}

/* BOOKING FORM */
.form-wrap{max-width:780px;margin:44px auto 0;background:#fff;border-radius:10px;box-shadow:0 4px 20px rgba(0,0,0,0.1);padding:40px;text-align:left;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.field{margin-bottom:18px;}
.field label{display:block;font-size:0.78rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--brown-dark);margin-bottom:6px;}
.field input,.field select,.field textarea{width:100%;padding:11px 12px;border:1px solid rgba(0,0,0,0.18);border-radius:4px;font-family:'Lato',sans-serif;font-size:0.95rem;background:#fff;}
.field textarea{min-height:110px;resize:vertical;}
.form-note{font-size:0.82rem;color:var(--text-mid);margin-top:8px;}
@media (max-width:600px){.form-row{grid-template-columns:1fr;}.fit-grid{grid-template-columns:1fr;}.form-wrap{padding:28px 20px;}}

/* PRICE TABLES */
.price-tables{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:44px;text-align:left;}
.price-card{background:#fff;border:1px solid rgba(0,0,0,0.08);border-radius:8px;overflow:hidden;box-shadow:0 3px 14px rgba(0,0,0,0.06);}
.price-card .ph{background:var(--brown-dark);color:#fff;padding:22px 24px;text-align:center;}
.price-card .ph h3{color:#fff;font-size:1.3rem;margin-bottom:4px;}
.price-card .ph .sub{font-size:0.8rem;color:rgba(255,255,255,0.72);letter-spacing:0.03em;}
.price-card.feature .ph{background:var(--green-dark);}
.ptable{width:100%;border-collapse:collapse;}
.ptable tr{border-bottom:1px solid rgba(0,0,0,0.06);}
.ptable tr:last-child{border-bottom:none;}
.ptable td{padding:12px 22px;font-size:0.94rem;vertical-align:middle;}
.ptable .tier{font-weight:700;color:var(--text-dark);}
.ptable .rng{color:var(--brown-light);font-size:0.8rem;font-weight:400;}
.ptable .amt{text-align:right;font-weight:700;color:var(--brown-dark);white-space:nowrap;}
.ptable .amt.call{color:var(--gold);font-style:italic;font-weight:700;}
@media (max-width:760px){.price-tables{grid-template-columns:1fr;}}

/* CLEAN PHOTO GALLERY */
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:44px;}
.photo-grid img{width:100%;height:340px;object-fit:cover;border-radius:6px;display:block;box-shadow:0 3px 14px rgba(0,0,0,0.08);transition:transform 0.25s;}
.photo-grid img:hover{transform:scale(1.02);}
@media (max-width:900px){.photo-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.photo-grid{grid-template-columns:1fr;}.photo-grid img{height:300px;}}
