:root{--ink:#17352e;--forest:#244f42;--sage:#dbe6df;--cream:#f6f1e7;--paper:#fffdfa;--gold:#b9874b;--muted:#66736d;--shadow:0 20px 60px rgba(23,53,46,.14);--radius:24px;--line:#d9e1dc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Manrope",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}h1,h2,h3,.brand{font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif}h1{font-size:clamp(2.7rem,7vw,5.6rem);line-height:.98;margin:.2em 0}h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.08;margin:.25em 0 .5em}h3{font-size:1.35rem;margin:.2em 0 .45em}p{margin:.5em 0 1.2em}a{color:inherit}.container{width:min(1160px,92%);margin:auto}.nav{position:sticky;top:0;z-index:50;background:rgba(255,253,250,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(23,53,46,.08)}.navin{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;font-size:1.72rem;font-weight:700;line-height:1}.brand small{display:block;font:700 .68rem/1.3 "Manrope",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:7px}.links{display:flex;align-items:center;gap:22px}.links a{text-decoration:none;font-weight:700;font-size:.94rem}.menu{display:none;background:none;border:0;font-size:1.7rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px;border-radius:999px;border:1px solid transparent;text-decoration:none;font-weight:800;cursor:pointer}.primary{background:var(--forest);color:white}.light{background:white;color:var(--ink)}.outline{border-color:var(--forest);background:transparent}.gold{background:var(--gold);color:#fff}.hero{min-height:72vh;padding:95px 0;display:flex;align-items:center;color:white;background:linear-gradient(90deg,rgba(14,39,32,.84),rgba(14,39,32,.28)),url('/ArborVista-Labs/images/hero/2732PC-1.webp') center/cover}.hero-copy{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.25rem,2vw,1.7rem);max-width:750px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:900;color:var(--gold)}.section{padding:78px 0}.soft{background:var(--cream)}.dark{background:var(--ink);color:white}.grid2{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:center}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card,.panel{background:white;border:1px solid rgba(23,53,46,.09);border-radius:var(--radius);padding:27px;box-shadow:0 10px 35px rgba(23,53,46,.07)}.dark .card{color:var(--ink)}.image-card img,.wide-img{width:100%;display:block;border-radius:var(--radius);box-shadow:var(--shadow)}.snapshot{margin-top:32px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.snapshot div{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);padding:17px;border-radius:16px;text-align:center;font-weight:800}.form-shell{background:white;border-radius:30px;box-shadow:var(--shadow);overflow:hidden}.form-head{padding:34px;background:var(--ink);color:white}.form-body{padding:34px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}label{font-weight:800;font-size:.9rem}input,select,textarea{width:100%;padding:14px 15px;border:1px solid #cbd5d0;border-radius:12px;font:inherit;background:#fff}textarea{min-height:120px}.check{display:flex;gap:10px;align-items:flex-start}.check input{width:auto;margin-top:6px}.notice{padding:16px 18px;border-radius:14px;background:#eef5f1;border-left:4px solid var(--forest)}.success{display:none;background:#e8f6ed;border:1px solid #9bceb0;padding:18px;border-radius:14px;margin-top:18px}.success.show{display:block}.timeline{display:grid;gap:14px}.step{display:grid;grid-template-columns:42px 1fr;gap:15px;align-items:start}.step-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--sage);font-weight:900}.step.done .step-icon{background:var(--forest);color:white}.portal-hero{padding:64px 0;background:linear-gradient(135deg,var(--ink),var(--forest));color:white}.status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.status{padding:22px;border-radius:18px;background:white;border:1px solid var(--line)}.status strong{display:block}.pill{display:inline-flex;padding:6px 11px;border-radius:999px;background:var(--sage);font-size:.78rem;font-weight:900}.locked{background:#f3f3f3;color:#717171}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.guide-card{min-height:210px;border-radius:22px;padding:24px;color:white;display:flex;flex-direction:column;justify-content:end;background-size:cover;background-position:center;position:relative;overflow:hidden}.guide-card:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.78))}.guide-card>*{position:relative}.agreement{max-width:900px;margin:auto}.agreement ol{padding-left:1.3rem}.agreement li{margin-bottom:1rem}.footer{padding:55px 0;background:#102a24;color:#e7eee9}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer a{display:block;margin:8px 0;text-decoration:none}.sticky-book{position:fixed;right:22px;bottom:22px;z-index:40;background:var(--gold);color:#fff;padding:14px 20px;border-radius:999px;text-decoration:none;font-weight:900;box-shadow:var(--shadow)}.small{font-size:.88rem;color:var(--muted)}.signature{border-left:3px solid var(--gold);padding-left:16px}.code{font-family:ui-monospace,monospace;background:#eef2ef;padding:2px 6px;border-radius:6px}.hide{display:none!important}@media(max-width:900px){.links{display:none;position:absolute;top:82px;left:0;right:0;background:white;padding:22px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.links.open{display:flex}.menu{display:block}.grid2,.cards,.guide-grid,.status-grid{grid-template-columns:1fr}.snapshot{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.hero{min-height:66vh;padding:70px 0}.sticky-book{left:5%;right:5%;text-align:center}}

/* v2.3 guided Book Direct flow */
.booking-hero{padding:72px 0;background:linear-gradient(135deg,#102a24,#244f42);color:#fff}.booking-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}.trust-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.trust-row span{padding:9px 13px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.08);font-size:.86rem;font-weight:800}.booking-summary-card{background:#fff;color:var(--ink);border-radius:26px;overflow:hidden;box-shadow:var(--shadow)}.booking-summary-card img{display:block;width:100%;height:220px;object-fit:cover}.booking-summary-body{padding:24px}.amenity-pills{display:flex;flex-wrap:wrap;gap:8px}.amenity-pills span{font-size:.78rem;font-weight:800;background:var(--cream);padding:7px 10px;border-radius:999px}.booking-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:34px;align-items:start}.booking-side{position:sticky;top:110px}.booking-step-list{display:grid;gap:9px;margin:24px 0}.booking-step-nav{width:100%;display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center;text-align:left;padding:12px;border:0;border-radius:15px;background:transparent;color:var(--ink)}.booking-step-nav>span{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#e7ece9;font-weight:900}.booking-step-nav div{display:grid}.booking-step-nav small{color:var(--muted)}.booking-step-nav.active{background:#fff;box-shadow:0 8px 24px rgba(23,53,46,.08)}.booking-step-nav.active>span,.booking-step-nav.complete>span{background:var(--forest);color:#fff}.host-note{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.host-note p{font-size:.9rem;margin-bottom:0}.booking-shell{position:relative}.booking-progress{height:6px;background:#e7ece9}.booking-progress span{display:block;height:100%;width:25%;background:var(--gold);transition:width .3s ease}.booking-panel{display:none}.booking-panel.active{display:block}.light-head{background:#fff;color:var(--ink);border-bottom:1px solid var(--line)}.light-head h2{font-size:clamp(1.8rem,3.5vw,2.7rem)}.booking-actions{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px}.field small{color:var(--muted)}.agreement-preview{background:var(--cream);border-radius:18px;padding:22px;margin-bottom:22px}.agreement-fields{margin-top:12px}.signature-input{font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;font-size:1.25rem;font-style:italic}.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.review-item{border:1px solid var(--line);border-radius:15px;padding:16px}.review-item small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-weight:800}.review-item strong{display:block;margin-top:5px}.privacy-note{margin-top:20px;padding:18px;border-radius:16px;background:#eef5f1;border-left:4px solid var(--forest)}.privacy-note p{margin-bottom:0}.confirmation-panel{text-align:center;padding:56px 34px}.confirmation-mark{width:76px;height:76px;border-radius:50%;margin:0 auto 18px;display:grid;place-items:center;background:#e8f6ed;color:#247447;font-size:2.2rem;font-weight:900}.confirmation-card{max-width:620px;margin:24px auto;padding:20px;background:var(--cream);border-radius:18px}.confirmation-card strong{display:block;word-break:break-word;font-family:ui-monospace,monospace;font-size:1rem;margin:7px 0}.next-steps{max-width:650px;margin:26px auto;text-align:left;display:grid;gap:12px}.next-steps>div{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start}.next-steps span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--sage);font-weight:900}.next-steps p{margin:0}.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#b33;box-shadow:0 0 0 3px rgba(179,51,51,.1)}.field-error{font-size:.8rem;color:#a32727;font-weight:700}
@media(max-width:900px){.booking-hero-grid,.booking-layout{grid-template-columns:1fr}.booking-side{position:static}.booking-step-list{grid-template-columns:repeat(4,1fr)}.booking-step-nav{display:flex;justify-content:center;padding:8px}.booking-step-nav div{display:none}.booking-summary-card img{height:190px}}
@media(max-width:620px){.booking-step-list{gap:4px}.booking-step-nav>span{width:34px;height:34px}.review-grid{grid-template-columns:1fr}.booking-actions{flex-direction:column-reverse;align-items:stretch}.booking-actions .btn{width:100%}.confirmation-panel{padding:42px 20px}}

/* v2.3.1 cabin and gallery corrections */
.section-heading{max-width:760px;margin-bottom:30px}.photo-gallery{display:grid;gap:20px}.photo-gallery.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-tile{margin:0;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(23,53,46,.08)}.photo-tile img{display:block;width:100%;height:260px;object-fit:cover}.photo-tile figcaption{padding:12px 15px;font-weight:800;font-size:.9rem;color:var(--ink)}@media(max-width:900px){.photo-gallery.three-col{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.photo-gallery.three-col{grid-template-columns:1fr}.photo-tile img{height:auto}}

.check-list{padding-left:1.2rem;line-height:1.9}.check-list li{margin:.25rem 0}.photo-gallery img{width:100%;height:260px;object-fit:cover}.photo-tile{overflow:hidden}.photo-tile figcaption{padding:.75rem 1rem;font-size:.92rem}


/* v2.6 Mountain Luxury visual system */
:root{--ink:#172c27;--forest:#234a3f;--deep-forest:#10251f;--sage:#dfe8e1;--cream:#f4efe5;--paper:#fdfbf7;--gold:#ba8a52;--gold-soft:#dfc29b;--muted:#66736d;--shadow:0 24px 70px rgba(16,37,31,.16);--radius:26px;--line:#d8e0da}
body{font-weight:500;letter-spacing:.005em;background:linear-gradient(180deg,#fffdfa 0%,#fbf8f1 100%)}
h1,h2,h3,.brand{letter-spacing:-.018em}.brand{font-size:1.9rem}.brand small{letter-spacing:.19em}
h1{font-weight:600;text-wrap:balance}h2{font-weight:600;text-wrap:balance}h3{font-weight:700}
.nav{background:rgba(253,251,247,.9);box-shadow:0 8px 30px rgba(16,37,31,.04)}
.links a{position:relative}.links a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--gold);transition:right .25s ease}.links a:hover:after{right:0}
.btn{letter-spacing:.015em;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(16,37,31,.18)}
.hero{min-height:82vh;background:linear-gradient(90deg,rgba(10,30,25,.86),rgba(10,30,25,.28)),url('/ArborVista-Labs/images/hero/2732PC-1.webp?v=3.2') center/cover fixed;position:relative}.hero:after{content:"";position:absolute;inset:auto 0 0;height:170px;background:linear-gradient(transparent,rgba(16,37,31,.42));pointer-events:none}.hero .container{position:relative;z-index:1}.hero-copy{font-size:clamp(1.25rem,2.2vw,1.85rem);font-weight:500;line-height:1.45}
.portal-hero,.booking-hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(100deg,rgba(10,31,25,.93),rgba(20,56,46,.65)),url('/ArborVista-Labs/images/explore-smokies/Newfound-Gap.webp?v=3.2') center 52%/cover no-repeat;color:#fff;padding:92px 0}.portal-hero:after,.booking-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 80% 15%,rgba(223,194,155,.22),transparent 35%)}
.gallery-page .portal-hero{min-height:430px;display:flex;align-items:center;background-image:linear-gradient(100deg,rgba(8,28,22,.91),rgba(16,51,41,.48)),url('/ArborVista-Labs/images/explore-smokies/Foothills-Parkway-Sunrise.webp?v=3.2');background-position:center 48%}
.section-heading{max-width:760px;margin-bottom:34px}.section-heading p{font-size:1.02rem;color:var(--muted)}
.eyebrow{color:var(--gold);font-size:.72rem;letter-spacing:.22em}
.photo-gallery{display:grid;gap:22px}.photo-gallery.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-tile{margin:0;background:#fff;border-radius:22px;overflow:hidden;border:1px solid rgba(23,44,39,.08);box-shadow:0 12px 34px rgba(16,37,31,.08);transition:transform .28s ease,box-shadow .28s ease}.photo-tile:hover{transform:translateY(-5px);box-shadow:0 22px 48px rgba(16,37,31,.15)}.photo-tile img{display:block;width:100%;height:285px;object-fit:cover;transition:transform .5s ease}.photo-tile:hover img{transform:scale(1.025)}.photo-tile figcaption{padding:15px 18px 17px;font-size:.88rem;font-weight:700;color:#334942;line-height:1.4;background:linear-gradient(180deg,#fff,#fcfaf5)}
.gallery-page section:nth-of-type(even):not(.portal-hero){background:rgba(244,239,229,.68)}
.card,.panel,.form-shell,.booking-summary-card{border-color:rgba(23,44,39,.08);box-shadow:0 16px 48px rgba(16,37,31,.09)}
.soft{background:linear-gradient(135deg,#f4efe5,#edf3ee)}
.footer{position:relative;background:linear-gradient(rgba(8,28,22,.94),rgba(8,28,22,.97)),url('/ArborVista-Labs/images/explore-smokies/Newfound-Gap.webp?v=3.2') center/cover no-repeat}
.wide-img,.image-card img{object-fit:cover}
@media(max-width:900px){.hero{background-attachment:scroll;min-height:70vh}.portal-hero,.booking-hero{padding:72px 0}.photo-gallery.three-col{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-tile img{height:250px}}
@media(max-width:600px){.photo-gallery.three-col{grid-template-columns:1fr}.photo-tile img{height:260px}.brand{font-size:1.55rem}.gallery-page .portal-hero{min-height:360px}}
.guest-preview-link{display:inline-block;margin-top:8px;font-weight:800;color:var(--forest,#173c36);text-decoration:underline;text-underline-offset:4px}.guest-preview-link:hover{opacity:.75}

/* v2.7.2 booking navigation and autosave affordances */
.booking-step-nav{cursor:pointer;transition:background .2s ease,box-shadow .2s ease,transform .2s ease}.booking-step-nav:hover{background:rgba(255,255,255,.72);transform:translateY(-1px)}.booking-step-nav:focus-visible{outline:3px solid rgba(191,143,67,.45);outline-offset:2px}.booking-step-nav.locked{opacity:.58}.step-helper{font-size:.88rem;color:var(--muted);margin-top:-10px}.draft-restored{margin:0 0 18px;padding:12px 15px;border-radius:14px;background:#eef5f1;border:1px solid #d8e8df;color:var(--forest);font-weight:700}.draft-restored button{margin-left:8px;border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer;font:inherit}
