@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap');
:root{--navy:#10283e;--ivory:#f6f3ea;--cream:#faf8f2;--gold:#c7a66c;--forest:#24433b;--ink:#142b40;--line:#d7c8ac;--body:#52605d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.65}h1,h2,h3,.brand,.nav-brand{font-family:Georgia,'Times New Roman',serif}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.small-caps{font-family:'DM Sans',Arial,sans-serif;font-size:12px;letter-spacing:.19em;font-weight:700;text-transform:uppercase}.muted{font-size:13px;color:#61706b}.error{color:#922b29;font-weight:700}
/* Private guest entrance */.login-wrap{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:45px 18px;background:var(--ivory)}.login-panel{max-width:640px;width:100%;padding:clamp(24px,6vw,65px);text-align:center;border:1px solid var(--gold);outline:1px solid #e0d4bc;outline-offset:-10px;background:var(--cream)}.login-panel .small-caps{color:var(--forest)}.login-panel h1{font-size:clamp(44px,7vw,75px);line-height:1.12;margin:20px 0;color:var(--navy)}.login-panel h1 span{color:var(--gold)}.login-mountains{display:block;width:100%;max-width:450px;margin:12px auto 22px;mix-blend-mode:multiply}.login-panel h2{font-size:clamp(24px,4vw,34px);font-weight:400;margin:14px 0}.login-panel p{color:var(--body)}.login-form{text-align:left;margin-top:30px}.login-form label{display:block;font-weight:700;font-size:14px;margin-bottom:7px}.login-form input{display:block;width:100%;padding:14px;border:1px solid var(--line);background:white;border-radius:0}.solid-button{width:100%;padding:15px;background:var(--navy);color:white;border:0;margin-top:17px;font-weight:700}
/* Mailing address: faithful narrow ivory / gold bordered card */.invitation-shell{max-width:680px;margin:auto;padding:0 0 40px}.invitation-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:31px 0 24px}.brand{font-size:24px;font-weight:700;white-space:nowrap}.top-actions{display:flex;align-items:center;gap:16px}.top-actions form{margin:0}.simple-link{font:500 15px 'DM Sans',Arial,sans-serif;color:#153a34;text-decoration:underline;border:0;background:none;padding:0}.logout{font-size:12px;color:#69716c}.invitation-card{border:1px solid #c6aa7e;padding:8px}.invitation-inner{border:1px solid #dfd2b9;padding:clamp(19px,4vw,30px)}.mountain-art{display:block;width:100%;margin:12px auto 14px;mix-blend-mode:multiply}.invitation-inner h1{font-size:clamp(32px,4vw,43px);text-align:center;line-height:1.2;letter-spacing:-.03em;margin:8px 0 16px;font-weight:700}.lead{font-size:16px;color:#53635f;text-align:center;line-height:1.8;max-width:490px;margin:0 auto 15px}.form-area{margin-top:34px}.form-area .field{margin-bottom:19px}.form-area label{display:block;font-size:14px;font-weight:700;margin-bottom:8px}.form-area input,.form-area select{width:100%;padding:12px 11px;background:transparent;border:0;border-bottom:1px solid #c7b999;border-radius:0;color:var(--navy);font-size:16px}.form-area .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.optional{font-weight:400;color:#6b756f}.form-area .safe{font-size:13px;color:#4e615b;line-height:1.7;margin:18px 0}.form-area .gold-btn{width:100%;border:0;background:var(--navy);color:white;padding:15px;font-size:15px;font-weight:700}.form-area .disabled-submit{width:100%;border:0;background:#bbb;color:#222;padding:15px}.guest-footer{text-align:center;color:#66736e;font-size:12px;margin:25px 10px}.guest-footer span{color:var(--gold);padding:0 8px}
/* Original full-site editorial split hero */.site-nav{display:flex;align-items:center;justify-content:space-between;padding:15px clamp(18px,4vw,75px);background:var(--ivory);min-height:66px;gap:20px}.nav-brand{font-size:25px;text-decoration:none;font-weight:700}.nav-brand span,.full-footer i{color:var(--gold);font-style:normal}.site-nav nav{display:flex;gap:clamp(12px,2.6vw,40px);align-items:center}.site-nav nav a{font-size:13px;text-decoration:none;font-weight:600}.site-nav nav a:hover{text-decoration:underline}.site-nav .nav-rsvp{background:var(--navy);color:var(--ivory);padding:11px 17px}.split-hero{display:grid;grid-template-columns:1fr 1fr;min-height:min(700px,82vh)}.split-copy{background:var(--navy);color:var(--ivory);padding:23px;display:flex}.hero-outline{border:1px solid rgba(199,166,108,.78);outline:1px solid rgba(199,166,108,.45);outline-offset:-5px;padding:clamp(35px,5vw,65px);width:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.hero-outline .small-caps{letter-spacing:.23em;color:white;margin:0 0 25px}.hero-outline h1{font-size:clamp(68px,8.1vw,126px);letter-spacing:-.065em;line-height:.97;margin:0 0 45px;font-weight:700}.hero-outline h1 span{color:var(--gold);font-size:.56em;vertical-align:middle}.hero-outline h2{font-size:clamp(21px,2vw,27px);margin:0 0 25px}.gold-rule{height:1px;width:90px;background:var(--gold);margin:0 0 25px}.hero-meta{font-weight:600;font-size:16px;margin:0 0 20px}.hero-date{font-size:13px;margin:0 0 28px}.ivory-button{background:var(--ivory);color:var(--navy);font-weight:700;text-decoration:none;padding:14px 25px;display:inline-block;font-size:15px}.split-photo{min-width:0;overflow:hidden}.split-photo img{width:100%;height:100%;min-height:680px;object-fit:cover;object-position:center center;display:block}.center-intro{text-align:center;padding:clamp(80px,11vw,150px) 20px}.center-intro .small-caps{color:var(--forest)}.center-intro h2{font-size:clamp(32px,4.5vw,58px);line-height:1.3;margin:20px 0 32px}.center-intro h2 em,.travel-heading h2 em{font-weight:400}.spaced{letter-spacing:.21em;font-size:11px;font-weight:700;color:var(--forest)}.content-section,.travel-section,.faq-section{padding:clamp(70px,8vw,130px) clamp(22px,7vw,115px)}.content-section{background:#ece9df;display:grid;grid-template-columns:1fr 2.5fr;gap:50px}.section-label{font-size:12px;letter-spacing:.18em;color:var(--forest);font-weight:700;text-transform:uppercase}.section-main h2,.travel-heading h2,.faq-body h2{font-size:clamp(37px,4.5vw,61px);line-height:1.18;margin:0 0 25px}.section-main>p{max-width:710px;color:#455651;font-size:18px}.section-main .large-p{font-size:22px;color:var(--navy)}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:60px;border-top:1px solid var(--line);padding-top:32px}.details-grid h3{font-size:22px;line-height:1.3;margin:8px 0}.details-grid p{font-size:14px;color:#56635c}.details-grid .small-caps{color:#846d4d}.quote-band{text-align:center;background:var(--navy);color:var(--ivory);padding:95px 20px}.quote-band>p{letter-spacing:.21em;color:var(--gold);font-size:12px;font-weight:700}.quote-band h2{font-size:clamp(32px,4vw,56px);line-height:1.25;font-weight:400}.monogram{font:700 27px Georgia,serif;margin-top:35px}.monogram span{color:var(--gold)}.travel-section{background:var(--ivory)}.travel-heading{max-width:850px;margin:22px 0 50px}.travel-heading p{max-width:720px;color:#52605d;font-size:17px}.hotels{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.hotel{border:1px solid #d7c9b0;background:#faf8f1;padding:clamp(24px,2.5vw,37px);display:flex;flex-direction:column;min-height:310px}.hotel .small-caps{font-size:10px;color:#8b704c}.hotel h3{font-size:25px;line-height:1.25;margin:15px 0}.hotel p:not(.small-caps){color:#53615d;font-size:14px}.hotel a{margin-top:auto;padding-top:18px;color:var(--forest);font-weight:700;font-size:13px}.travel-more{max-width:820px;margin:85px auto 0}.travel-more h3{font-size:32px;margin:40px 0 10px}.travel-more p{color:#52605d}.travel-links{display:flex;gap:30px;flex-wrap:wrap}.travel-links a{font-weight:700;color:var(--forest)}.small-note{font-size:12px!important}.faq-section{display:grid;grid-template-columns:1fr 2.5fr;gap:50px;background:#e9e7dc}.faq-body h2{margin-bottom:35px}.faq-body details{border-bottom:1px solid #c8baa4;padding:20px 0}.faq-body summary{font-weight:700;cursor:pointer;list-style:none;position:relative;padding-right:30px}.faq-body summary::-webkit-details-marker{display:none}.faq-body summary:after{content:'+';position:absolute;right:0;font-size:23px;line-height:1}.faq-body details[open] summary:after{content:'−'}.faq-body details p{color:#4c5e58;margin-bottom:0}.invitation-cta{text-align:center;padding:100px 20px;background:var(--navy);color:var(--ivory)}.invitation-cta .small-caps{color:var(--gold)}.invitation-cta h2{font-size:clamp(38px,5vw,65px);margin:15px 0}.invitation-cta p:not(.small-caps){max-width:600px;margin:0 auto 30px}.full-footer{background:#0a2032;color:var(--ivory);padding:35px 6%;display:flex;align-items:center;justify-content:space-between;gap:20px}.full-footer span{font:700 26px Georgia,serif}.full-footer p,.full-footer a{font-size:12px}
@media(max-width:950px){.hotels{grid-template-columns:repeat(2,1fr)}.hero-outline{padding:30px}.hero-outline h1{font-size:clamp(56px,8vw,90px)}.split-photo img{min-height:600px}.details-grid{grid-template-columns:1fr 1fr}.site-nav nav{gap:14px}}
@media(max-width:700px){.invitation-shell{padding:0 14px 30px}.invitation-top{padding:20px 2px}.brand{font-size:20px}.top-actions{gap:12px}.simple-link{font-size:13px}.logout{font-size:11px}.invitation-inner{padding:20px 15px}.lead{font-size:15px}.form-area .two{grid-template-columns:1fr;gap:0}.site-nav{padding:12px 17px}.site-nav nav a:not(.nav-rsvp){display:none}.split-hero{grid-template-columns:1fr}.split-copy{min-height:590px;padding:12px}.hero-outline{padding:35px 24px}.hero-outline h1{font-size:clamp(70px,14vw,110px)}.split-photo img{height:490px;min-height:0;object-position:center 40%}.content-section,.faq-section{grid-template-columns:1fr;gap:22px}.details-grid{grid-template-columns:1fr}.hotels{grid-template-columns:1fr}.hotel{min-height:260px}.center-intro{padding:70px 20px}.full-footer{flex-wrap:wrap}}

/* Quiet admin entry; existing admin.php enforces separate authentication. */
.login-wrap{flex-direction:column;gap:22px}.admin-access-footer{text-align:center;font-size:12px;color:#6b756f}.admin-access-footer a,.admin-footer-link{color:inherit;text-decoration:underline;text-underline-offset:3px}.admin-access-footer a:hover,.admin-footer-link:hover{color:#10283e}

/* Consolidated additions */
.pending-tag{font-size:.58em;font-weight:400;white-space:nowrap;color:#657268}.full-admin-link{font-size:.78rem;opacity:.72}.full-admin-link:hover{opacity:1}

/* Proposed guest schedule, primary lodging hubs, and shuttle plan */
.schedule-section{background:#f6f3ea;padding:clamp(70px,8vw,115px) clamp(22px,7vw,115px)}
.schedule-section h2,.shuttle-section h2{font-size:clamp(37px,4.5vw,61px);line-height:1.16;margin:17px 0 20px}
.section-intro{max-width:740px;color:#53615d;font-size:17px;margin-bottom:40px}
.schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 50px;max-width:1120px}
.schedule-item{display:grid;grid-template-columns:135px 1fr;gap:15px;border-top:1px solid #d7c8ac;padding:25px 0}
.schedule-item time{font-size:13px;color:#866e48;font-weight:700;white-space:nowrap}
.schedule-item h3{font-size:23px;margin:0 0 7px;line-height:1.3}
.schedule-item p{font-size:14px;color:#52605d;margin:0}
.hub-section{margin:0 0 65px;padding:36px 0 0;border-top:1px solid var(--line)}
.hub-section>.small-caps,.more-stays-label{color:#806b4b}
.hub-section h3{font-size:clamp(30px,3vw,43px);margin:10px 0 12px;line-height:1.2}
.hub-section>p:not(.small-caps){max-width:790px;color:#52605d}
.hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:30px 0 18px}
.hub-card{padding:clamp(25px,3vw,42px);background:#10283e;color:#f6f3ea;border:1px solid #b99c6d;outline:1px solid rgba(199,166,108,.35);outline-offset:-8px}
.hub-card .small-caps{color:#c7a66c;font-size:11px}
.hub-card h4{font:700 clamp(25px,2.8vw,35px)/1.2 Georgia,serif;margin:14px 0}
.hub-card p{color:#e0e1da;font-size:15px}
.hub-card .hub-status{font-weight:700;color:#f0d9ae;font-size:13px}
.hub-card a{color:#f6f3ea;font-size:14px;font-weight:700}
.hub-fineprint{font-size:13px!important}
.more-stays-label{margin-bottom:20px}
.shuttle-section{background:#e9e7dc;padding:clamp(70px,8vw,120px) clamp(22px,7vw,115px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,6vw,100px)}
.shuttle-section h2 em{font-weight:400}
.shuttle-section p{color:#4b5d58}
.shuttle-times{align-self:center;display:grid;gap:16px}
.shuttle-times>div{background:#faf8f1;border:1px solid #d7c8ac;padding:25px 30px}
.shuttle-times .small-caps{color:#866e48}
.shuttle-times h3{font-size:27px;margin:10px 0}
.shuttle-times p{font-size:14px;margin:0}
.shuttle-warning{font-size:13px!important}
@media(max-width:950px){.schedule-grid{grid-template-columns:1fr}.shuttle-section{grid-template-columns:1fr}}
@media(max-width:700px){.hub-grid{grid-template-columns:1fr}.schedule-item{grid-template-columns:105px 1fr;gap:10px}.schedule-item time{font-size:12px}.hub-card{padding:27px}.site-nav nav{gap:8px}}
