:root{--forest:#173e2e;--deep:#103122;--green:#31533a;--sage:#e8eddf;--paper:#faf8f0;--cream:#f2eddd;--gold:#d6a846;--rust:#b96a44;--ink:#263b2e;--muted:#697265;--line:#dce0d3;--radius:14px;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}[hidden]{display:none!important}.wrap{width:min(1220px,calc(100% - 80px));margin-inline:auto}.section{padding-block:96px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.1px;color:var(--green);display:block;margin-bottom:17px}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-1.4px}h1{font-size:clamp(45px,5vw,74px);margin-bottom:25px}h2{font-size:clamp(34px,3.4vw,49px);margin-bottom:23px}h3{font-size:28px;margin-bottom:15px;letter-spacing:-.7px}h4{font-size:17px;margin-bottom:12px}h1 em,h2 em{font-weight:400;color:#5b704a}p{color:var(--muted);line-height:1.75}small,.subtle{font-size:12px;color:var(--muted)}.topline{height:33px;background:var(--forest);color:#f6f2d8;display:flex;align-items:center;justify-content:space-between;padding-inline:40px;font-size:9px;letter-spacing:1.6px}.topline span{font-size:10px;letter-spacing:.3px;opacity:.85}.header{height:91px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;text-decoration:none!important;white-space:nowrap}.brand-mark{font-size:41px;line-height:1;color:var(--green)}.brand b{font-family:var(--serif);font-size:24px;letter-spacing:-.5px;font-weight:600;display:block;line-height:1.2}.brand small{display:block;font-size:8px;letter-spacing:2.4px;color:var(--green);margin-top:4px}.header nav{display:flex;align-items:center;gap:26px;font-size:12px;font-weight:600}.nav-toggle{display:none;border:0;background:none;color:var(--forest)}.button{display:inline-flex;justify-content:center;align-items:center;gap:27px;padding:15px 22px;background:var(--forest);border:1px solid var(--forest);color:white;border-radius:6px;font-weight:600;font-size:12px;text-decoration:none!important;line-height:1.4;transition:background .2s,transform .2s}.button:hover{background:#2c553c;transform:translateY(-1px)}.button.small{padding:12px 18px;font-size:11px;gap:10px}.button.light{background:var(--paper);color:var(--forest)}.button.outline{background:transparent;color:var(--forest);border-color:#bfcab6}.button-row{display:flex;gap:27px;align-items:center;flex-wrap:wrap}.text-link{font-size:12px;font-weight:600;border-bottom:1px solid #aab19e;padding-bottom:4px}.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:55px;align-items:center;padding-block:56px 67px}.hero-copy{padding:35px 0}.hero-copy>p{font-size:16px;max-width:420px;margin-bottom:30px}.leaf-dot{display:inline-block;width:8px;height:12px;border-radius:10px 0 10px 0;background:#798a4d;margin-right:9px}.hero-image{position:relative;height:520px}.hero-image>img{width:100%;height:100%;object-fit:cover;object-position:center 45%;border-radius:190px 14px 14px 14px;filter:saturate(.85)}.image-label{position:absolute;bottom:24px;left:-28px;background:var(--paper);box-shadow:0 8px 30px #173e2e12;display:flex;gap:15px;align-items:center;padding:19px 27px;border-radius:8px;font-size:12px;line-height:1.5}.image-label b{font-family:var(--serif);font-size:18px;font-weight:400}.mini-icon{font-size:40px;color:var(--green)}.round-label{position:absolute;top:18px;right:-16px;width:104px;height:104px;border-radius:100%;background:var(--gold);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:9px;letter-spacing:1px;line-height:1.6;transform:rotate(12deg)}.round-label b{font-size:10px}.hero-foot{display:flex;align-items:center;gap:13px;border-top:1px solid var(--line);padding-top:26px;margin-top:40px;color:var(--muted);font-size:11px}.hero-foot span{font-size:25px;color:#a18a4e}.ribbon{background:var(--cream);display:flex;justify-content:center;align-items:center;gap:43px;min-height:65px;font-size:10px;letter-spacing:1.8px}.ribbon i{font-style:normal;font-size:18px;color:#a18a4e}.section-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:end;margin-bottom:42px}.section-intro h2{margin-bottom:0}.section-intro p{max-width:475px;font-size:14px;margin-bottom:0}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.experience-card{display:flex;flex-direction:column;background:var(--sage);padding:30px 28px 27px;border-radius:var(--radius);text-decoration:none!important;transition:transform .2s}.experience-card:hover{transform:translateY(-4px)}.experience-card.cream{background:var(--cream)}.experience-card.peach{background:#f1e4d8}.line-icon{font-size:42px;line-height:1;margin-bottom:30px;color:var(--green)}.experience-card .eyebrow{font-size:9px;margin-bottom:12px}.experience-card h3{font-size:26px}.experience-card p{font-size:13px;flex:1}.experience-card b{font-size:12px}.schools{background:#edf0e5}.package-grid{display:grid;gap:18px}.package-grid.four{grid-template-columns:repeat(4,1fr)}.package-grid.three{grid-template-columns:repeat(3,1fr)}.package-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:27px 22px;display:flex;flex-direction:column;position:relative}.package-card .package-kicker{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:17px}.package-card h3{font-size:25px;min-height:54px;margin-bottom:15px}.package-price{font-size:25px;letter-spacing:-1px;color:var(--forest);font-family:var(--serif)}.package-price small{font-family:var(--sans);font-size:10px;letter-spacing:0;display:block;margin-top:3px}.package-card p{font-size:12px;margin:16px 0}.package-card ul{list-style:none;padding:0;font-size:12px;line-height:1.5;margin:4px 0 23px;flex:1}.package-card li{padding:9px 0 9px 18px;border-bottom:1px solid #dde2d775;position:relative}.package-card li:before{content:'✓';position:absolute;left:0;color:#778657}.package-card .package-note{font-size:10px;line-height:1.6;min-height:70px;margin:0 0 18px}.package-card .button{padding:12px 10px;font-size:11px;gap:8px}.package-card.featured{background:var(--forest);color:var(--paper);border-color:var(--forest)}.package-card.featured p,.package-card.featured small,.package-card.featured .package-kicker,.package-card.featured .package-price{color:#edf0e3}.package-card.featured li{border-color:#ffffff1a}.package-card.featured .button{background:var(--gold);border-color:var(--gold);color:var(--forest)}.pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.pills span{padding:6px 10px;border:1px solid #cbd3be;border-radius:30px;font-size:9px;color:var(--green)}.school-notes{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:26px}.school-notes p{font-size:11px}.note-strip{margin-top:25px;padding:18px 24px;border-radius:8px;background:var(--cream);display:flex;align-items:center;gap:20px}.note-strip>span{font-size:30px}.note-strip p{margin:0;font-size:12px}.food{background:#f0eddf}.tabs{display:flex;border-bottom:1px solid #cfd5c6;gap:8px;margin-bottom:30px}.tabs button{border:0;border-bottom:3px solid transparent;background:none;padding:12px 25px;font-size:13px;color:var(--muted)}.tabs [aria-selected=true]{color:var(--forest);border-color:var(--forest);font-weight:bold}.menu-highlights{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:28px}.menu-highlights h3{font-size:30px;margin-top:10px}.menu-highlights p{font-size:13px}.menu-highlights small{letter-spacing:1.5px;font-size:9px}.menu-image{display:block;border:1px solid #d4dacb;padding:8px;background:var(--paper);border-radius:12px}.menu-image img{display:block;width:100%;height:auto;border-radius:7px}.food>.wrap>.subtle{margin-top:18px}.booking-heading{text-align:center;margin-bottom:32px}.booking-heading p{font-size:14px}.booking-types{display:flex;gap:10px;justify-content:center;margin-bottom:32px}.booking-types button{display:flex;gap:12px;align-items:center;padding:15px 24px;background:transparent;border:1px solid #ccd3c3;border-radius:6px;color:var(--green);font-size:12px}.booking-types button span{font-size:20px}.booking-types .selected{background:var(--forest);color:white;border-color:var(--forest)}.booking-layout{display:grid;grid-template-columns:minmax(0,1.7fr) 1fr;gap:32px;align-items:start}.booking-main{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:33px}.booking-aside{background:var(--cream);padding:33px;border-radius:var(--radius);position:sticky;top:115px}.booking-aside h3{font-size:29px}.booking-aside p,.booking-aside ul{font-size:12px}.booking-aside ul{padding-left:16px;color:var(--muted);line-height:1.8}.aside-row{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #d4dacb;padding:12px 0;font-size:12px}.aside-row b{font-weight:600;text-align:right}.aside-help{border-top:1px solid #d3d8cb;margin-top:24px;padding-top:22px;font-size:12px}.aside-help p{margin:4px 0 12px}.aside-help a{font-size:11px;text-decoration:underline}.form-progress{display:flex;align-items:center;gap:13px;margin-bottom:30px;font-size:11px}.form-progress>span{display:flex;align-items:center;gap:8px;white-space:nowrap;color:#91998b}.form-progress .active{color:var(--forest)}.form-progress i{height:1px;flex:1;background:var(--line)}.form-title{margin-bottom:23px}.form-title h3{font-size:26px}.form-title p{font-size:12px;margin-bottom:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.field{display:block;font-size:11px;font-weight:600;color:var(--green);position:relative}.field.full{grid-column:1/-1}.field label{display:block;margin-bottom:7px}.field .hint{font-size:10px;line-height:1.5;margin-top:6px;font-weight:400;color:var(--muted)}input:not([type=checkbox]),select,textarea{display:block;width:100%;border:1px solid #d4dacf;border-radius:5px;background:#fff;padding:11px 12px;color:var(--ink);min-height:45px;font-size:13px}input[type=checkbox]{accent-color:var(--forest);width:16px;height:16px;flex:0 0 16px;margin-top:3px}textarea{resize:vertical;min-height:100px}.check{display:flex;align-items:flex-start;gap:10px;font-size:11px;font-weight:400;line-height:1.65}.consent{margin:26px 0 21px;color:var(--muted)}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.alert{padding:13px 16px;border-radius:6px;font-size:12px;margin:15px 0}.alert.error{background:#fff0e9;border:1px solid #e7c2b4;color:#8a3f27}.alert.info{background:#edf1e7;color:var(--green);border:1px solid #d7dfca}.form-divider{grid-column:1/-1;border-top:1px solid var(--line);margin-top:8px;padding-top:20px;font-family:var(--serif);font-size:21px}.date-button{width:100%;min-height:45px;text-align:left;border:1px solid #d4dacf;border-radius:5px;padding:11px 12px;background:white;color:var(--muted);font-size:13px;display:flex;justify-content:space-between;gap:10px}.date-button.picked{color:var(--ink)}.calendar{position:absolute;top:76px;left:0;width:290px;z-index:15;background:white;border:1px solid #d4dacf;box-shadow:0 10px 30px #173e2e20;border-radius:10px;padding:13px;font-weight:400}.cal-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:12px}.cal-heading button{border:0;background:var(--sage);width:27px;height:27px;border-radius:4px;color:var(--green)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center;font-size:10px}.cal-grid button{border:0;border-radius:5px;background:white;color:var(--green);height:31px;font-size:11px}.cal-grid button:hover:not(:disabled){background:var(--sage)}.cal-grid button:disabled{color:#b8bdb2;opacity:.65}.cal-grid .selected{background:var(--forest);color:white}.cal-help{margin:10px 0 0;font-size:9px;font-weight:400;color:var(--muted)}.summary-list{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-block:25px}.summary-list div{font-size:12px;overflow-wrap:anywhere}.summary-list small{display:block;font-size:9px;letter-spacing:.8px;text-transform:uppercase;margin-bottom:4px}.invoice-table{width:100%;border-collapse:collapse;font-size:11px;margin-block:25px}.invoice-table th{text-align:left;background:var(--sage);padding:10px 8px}.invoice-table td{padding:12px 8px;border-bottom:1px solid var(--line)}.invoice-table td:last-child,.invoice-table th:last-child{text-align:right}.invoice-totals{margin-left:auto;max-width:300px;font-size:12px}.invoice-totals>div{display:flex;justify-content:space-between;padding:8px 0}.invoice-totals .total{font-weight:bold;font-size:16px;border-top:1px solid var(--line)}.review-notes{font-size:11px;padding-left:16px;color:var(--muted);line-height:1.8}.status-tag{display:inline-block;padding:5px 10px;border-radius:30px;background:var(--sage);font-size:10px;color:var(--green);font-weight:600}.success-icon{width:55px;height:55px;border-radius:100%;background:var(--sage);display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--forest);margin-bottom:20px}.special-section{background:var(--forest);color:var(--paper);padding-block:60px}.special-inner{display:flex;align-items:center;justify-content:space-between;gap:60px}.special-inner h2{font-size:39px}.special-inner h2 em{color:#cfdbad}.special-inner p{max-width:610px;color:#c9d1be;font-size:13px;margin-bottom:0}.special-inner .eyebrow{color:#c9d1be}.special-inner .button{flex-shrink:0}.location-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:25px}.location-video{background:var(--sage);border-radius:var(--radius);min-height:340px;overflow:hidden;display:flex;align-items:center;justify-content:center;border:1px solid #d8dfcb}.location-video iframe,.location-video video{width:100%;height:100%;min-height:340px;border:0}.video-placeholder{text-align:center;max-width:350px;padding:30px}.video-placeholder>span{font-size:44px}.video-placeholder h3{font-size:28px;margin-top:15px}.video-placeholder p{font-size:12px}.contact-card{border:1px solid var(--line);border-radius:var(--radius);padding:30px}.contact-card h3{margin-bottom:25px}.contact-card>a{display:block;font-size:12px;margin-block:10px;overflow-wrap:anywhere}.contact-card .subtle{margin-top:22px}.footer{padding-block:35px;border-top:1px solid var(--line);display:flex;align-items:center;gap:25px;flex-wrap:wrap;font-size:10px}.footer p{margin:0 auto}.footer .brand b{font-size:19px}.footer .brand small{font-size:7px}.footer .brand-mark{font-size:31px}.footer>small{font-size:9px}dialog{border:1px solid var(--line);border-radius:15px;background:var(--paper);padding:35px;max-width:560px;width:calc(100% - 35px);color:var(--ink)}dialog::backdrop{background:#102d24aa}dialog h2{font-size:33px}.dialog-close{position:absolute;right:15px;top:10px;background:none;border:0;font-size:30px;color:var(--green)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:60;background:var(--forest);color:white;max-width:90%;padding:14px 22px;border-radius:8px;font-size:12px;box-shadow:0 10px 25px #0002}.preview-notice{margin:0;padding:10px 30px;text-align:center;font-size:11px;background:#f8edc9;color:#655526;line-height:1.6}.skip{position:absolute;left:10px;top:-80px;z-index:100;background:white;padding:10px}.skip:focus{top:10px}.invoice-page{max-width:850px;padding:40px 24px;margin:auto}.invoice-sheet{background:white;padding:35px;border:1px solid var(--line);border-radius:var(--radius);margin-block:25px}.invoice-actions{display:flex;flex-wrap:wrap;gap:10px}.admin-shell{width:min(1400px,calc(100% - 60px));margin:auto;padding:38px 0}.admin-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.admin-title h1{font-size:40px}.login-card{max-width:460px;padding:35px;background:white;border:1px solid var(--line);border-radius:var(--radius);margin:70px auto}.admin-tabs{display:flex;gap:10px;margin-bottom:25px}.admin-tabs button{background:transparent;border:1px solid var(--line);border-radius:6px;padding:10px 20px}.admin-tabs button.selected{background:var(--forest);color:white}.admin-toolbar{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin:15px 0}.admin-toolbar select{max-width:220px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.admin-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:27px;margin-bottom:22px}.admin-card h3{font-size:25px}.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;min-width:690px;font-size:12px}.admin-table th,.admin-table td{padding:12px;border-bottom:1px solid var(--line);text-align:left}.admin-table th{font-size:10px;letter-spacing:.6px;color:var(--muted);text-transform:uppercase}.admin-table button{border:0;background:var(--sage);color:var(--forest);padding:7px 12px;border-radius:5px}.admin-booking-dialog{max-width:850px;width:calc(100% - 35px);max-height:92vh;overflow:auto}.settings-section{margin-top:22px}.settings-section h4{padding-top:20px;border-top:1px solid var(--line)}.wide{grid-column:1/-1}.pill-warning{background:#fff0d5;color:#805f18}.status-confirmed{background:#dcebd3;color:#2a562d}.status-declined,.status-cancelled{background:#f7e4df;color:#8b4a37}.admin-meta{white-space:pre-wrap;font-size:12px;line-height:1.9;background:var(--paper);padding:16px;border-radius:8px;overflow-wrap:anywhere}.empty{padding:35px;text-align:center;color:var(--muted)}
@media(min-width:1450px){.hero{gap:80px}.hero-image{height:550px}.header{padding-inline:max(40px,calc((100vw - 1300px)/2))}}
@media(max-width:1080px){.wrap{width:calc(100% - 48px)}.header{padding-inline:24px}.header nav{gap:15px}.brand b{font-size:21px}.hero{gap:30px}.hero-image{height:470px}.round-label{right:-9px;width:88px;height:88px}.package-grid.four{grid-template-columns:repeat(2,1fr)}.section-intro{gap:45px}.ribbon{gap:22px;font-size:8px}.booking-types button{padding:12px 19px}.booking-main,.booking-aside{padding:24px}.package-card h3{font-size:25px}.image-label{left:-12px}}
@media(max-width:760px){.topline{padding-inline:18px;font-size:8px}.topline span{display:none}.header{height:74px;padding-inline:20px}.brand b{font-size:20px}.brand-mark{font-size:34px}.nav-toggle{display:block;font-size:12px}.header nav{display:none;position:absolute;left:0;right:0;top:74px;padding:20px;background:var(--paper);box-shadow:0 10px 20px #163d2d10;border-bottom:1px solid var(--line);flex-wrap:wrap}.header nav.open{display:flex}.wrap{width:calc(100% - 36px)}.section{padding-block:60px}.hero{grid-template-columns:1fr;padding-block:30px 45px;gap:28px}.hero-copy{padding:15px 0 0}.hero-copy .eyebrow{font-size:8px;letter-spacing:1.6px}h1{font-size:49px;letter-spacing:-1.7px}.hero-copy>p{font-size:14px;max-width:100%}.hero-foot{margin-top:25px;padding-top:18px}.hero-image{height:410px;max-width:480px;width:100%;margin:auto}.hero-image>img{border-top-left-radius:130px}.image-label{left:10px;bottom:18px;padding:14px 19px}.round-label{right:7px;top:15px;width:88px;height:88px}.ribbon{justify-content:flex-start;overflow:hidden;white-space:nowrap;padding:17px 20px;gap:22px;min-height:53px}.ribbon i{font-size:13px}.ribbon span{flex-shrink:0;font-size:8px}.section-intro{grid-template-columns:1fr;gap:23px;margin-bottom:28px}h2{font-size:37px}.section-intro p{font-size:13px}.experience-grid{grid-template-columns:1fr}.experience-card{padding:27px}.line-icon{margin-bottom:20px}.experience-card p{font-size:13px}.package-grid.four,.package-grid.three{grid-template-columns:1fr}.package-card{padding:27px}.package-card h3{min-height:0;font-size:30px}.package-card p{font-size:13px}.package-card ul{font-size:12px}.package-card .package-note{min-height:0}.school-notes{grid-template-columns:1fr;gap:0}.menu-highlights{grid-template-columns:1fr;gap:16px}.menu-image{padding:4px}.booking-types{display:grid;grid-template-columns:1fr 1fr;gap:9px}.booking-types button{justify-content:center;gap:9px;padding:12px 8px}.booking-layout{grid-template-columns:1fr}.booking-aside{position:static;grid-row:1}.booking-aside .aside-help{display:none}.booking-aside ul{margin-bottom:0}.booking-aside h3{font-size:25px;margin-bottom:10px}.booking-aside .eyebrow{margin-bottom:10px}.booking-main{padding:24px 18px}.form-grid{gap:17px 13px}.field{font-size:10px}.field.full-mobile{grid-column:1/-1}.form-divider{font-size:20px}.summary-list{grid-template-columns:1fr 1fr}.invoice-table{font-size:10px}.invoice-table td,.invoice-table th{padding-inline:4px}.special-inner{flex-direction:column;align-items:flex-start;gap:27px}.special-inner h2{font-size:36px}.location-layout{grid-template-columns:1fr}.contact-card{padding:25px}.location-video{min-height:300px}.footer{gap:18px}.footer p{width:100%;order:3;margin:0}.footer>small{font-size:8px}.footer>a:not(.brand){margin-left:auto}.calendar{width:270px}.field:nth-child(even) .calendar{left:auto;right:0}.admin-shell{width:calc(100% - 30px);padding:25px 0}.admin-title{align-items:flex-start}.admin-title h1{font-size:31px}.admin-grid{grid-template-columns:1fr}.admin-card{padding:20px}.admin-tabs{flex-wrap:wrap}.invoice-sheet{padding:22px 15px}.button-row{gap:14px}.button{font-size:11px;padding:14px 17px}.invoice-totals{max-width:100%}.note-strip{align-items:flex-start;padding:16px}}
@media(max-width:380px){h1{font-size:43px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.field .calendar{left:0!important;right:auto!important}.brand b{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.header,.topline,.footer,.invoice-actions,.button,.preview-notice,#toast{display:none!important}body{background:white}.invoice-sheet{border:0;padding:0}.invoice-page{padding:0;max-width:100%}}
