@charset "UTF-8";:root{--color-cream: #faf7f1;--color-surface: #ffffff;--color-ink: #242827;--color-muted: #59605e;--color-teal: #00695f;--color-teal-dark: #004d46;--color-teal-soft: #e4f0ed;--color-terracotta: #a95742;--color-gold: #ad8548;--color-border: #d9ddd9;--color-error: #a12525;--shadow-sm: 0 .6rem 2rem rgb(36 40 39 / 8%);--shadow-lg: 0 1.4rem 4rem rgb(36 40 39 / 15%);--radius-sm: .6rem;--radius-md: 1.1rem;--radius-lg: 2rem;--content-width: 74rem;--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:20rem;background:var(--color-cream);color:var(--color-ink);font-family:var(--font-sans),serif;font-size:1rem;line-height:1.65}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--color-teal-dark);text-underline-offset:.2em}a:hover{color:var(--color-terracotta)}img{display:block;max-width:100%}h1,h2,h3{margin:0 0 .7em;line-height:1.12;letter-spacing:-.025em;text-wrap:balance}h1{font-size:clamp(2.5rem,7vw,5.6rem)}h2{font-size:clamp(2rem,4vw,3.4rem)}h3{font-size:clamp(1.25rem,2vw,1.55rem)}p{margin:0 0 1rem}:focus-visible{outline:3px solid var(--color-terracotta);outline-offset:4px}.container{width:min(100% - 2rem,var(--content-width));margin-inline:auto}.narrow{max-width:50rem}.page-section{padding-block:clamp(4rem,8vw,7.5rem)}.page-section-alt{background:var(--color-surface)}.page-hero{padding-block:clamp(4rem,9vw,8rem);background:linear-gradient(135deg,var(--color-teal-soft),var(--color-cream) 70%)}.page-hero p{max-width:46rem;color:var(--color-muted);font-size:clamp(1.05rem,2vw,1.3rem)}.eyebrow{margin-bottom:.75rem;color:var(--color-teal-dark);font-size:.8rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.section-header{max-width:48rem;margin-bottom:2.5rem}.section-header-centered{margin-inline:auto;text-align:center}.section-intro,.muted{color:var(--color-muted);font-size:1.1rem}.grid{display:grid;gap:1.5rem}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{padding:clamp(1.4rem,3vw,2rem);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.card p:last-child{margin-bottom:0}.number{display:grid;place-items:center;width:2.5rem;height:2.5rem;margin-bottom:1rem;border-radius:50%;background:var(--color-teal);color:#fff;font-weight:800}.button-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.button{display:inline-flex;min-height:3rem;align-items:center;justify-content:center;padding:.65rem 1.15rem;border:2px solid var(--color-teal);border-radius:999px;background:var(--color-teal);color:#fff;font-weight:750;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer}.button:hover{background:var(--color-teal-dark);border-color:var(--color-teal-dark);color:#fff}.button-secondary{background:transparent;color:var(--color-teal-dark)}.button-small{min-height:2.65rem;padding-inline:1rem}.button:disabled{cursor:not-allowed;opacity:.55}.text-link{font-weight:700}.placeholder-label{display:inline-flex;padding:.3rem .7rem;border-radius:999px;background:#fff3d8;color:#614713;font-size:.85rem;font-weight:750}.notice{padding:1.25rem 1.5rem;border-left:.35rem solid var(--color-gold);border-radius:var(--radius-sm);background:#fff8e8}.check-list{padding:0;list-style:none}.check-list li{position:relative;padding-left:1.7rem;margin-block:.5rem}.check-list li:before{position:absolute;left:0;color:var(--color-teal);content:"\2713";font-weight:900}.skip-link{position:fixed;z-index:1000;top:.5rem;left:.5rem;padding:.7rem 1rem;transform:translateY(-160%);border-radius:var(--radius-sm);background:var(--color-ink);color:#fff}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;z-index:50;top:0;border-bottom:1px solid rgba(36,40,39,.1);background:#faf7f1f0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-inner{display:flex;min-height:4.5rem;align-items:center;justify-content:space-between;gap:1rem}.brand{display:inline-flex;align-items:baseline;color:var(--color-ink);text-decoration:none}.brand-kicker{margin-right:.35rem;color:var(--color-teal);font-size:1.15rem;font-style:italic;font-weight:750}.brand-name{font-size:1.35rem;font-weight:850;letter-spacing:-.04em}.desktop-nav{display:flex;align-items:center;gap:clamp(.75rem,2vw,1.4rem)}.desktop-nav>a:not(.button),.mobile-nav>a:not(.button){color:var(--color-ink);font-weight:650;text-decoration:none}.desktop-nav>a.is-active:not(.button),.mobile-nav>a.is-active:not(.button){color:var(--color-teal-dark);text-decoration:underline;text-decoration-thickness:.15rem}.menu-button{display:none;min-height:2.8rem;align-items:center;gap:.5rem;border:1px solid var(--color-border);border-radius:999px;background:#fff;cursor:pointer}.mobile-dialog{width:min(26rem,100% - 1rem);max-height:calc(100dvh - 1rem);margin:.5rem .5rem auto auto;padding:1.2rem;border:0;border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.mobile-dialog::backdrop{background:#14191899}.mobile-dialog-header{display:flex;align-items:center;justify-content:space-between}.icon-button{display:grid;width:2.8rem;height:2.8rem;place-items:center;border:1px solid var(--color-border);border-radius:50%;background:#fff;font-size:1.8rem;cursor:pointer}.mobile-nav{display:grid;gap:.4rem;margin-top:1.5rem}.mobile-nav>a:not(.button){padding:.8rem;border-radius:var(--radius-sm)}.site-footer{padding-top:4rem;background:var(--color-ink);color:#f4f4f2}.site-footer a{color:#fff}.site-footer h2{font-size:1.1rem}.site-footer address{font-style:normal}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:3rem}.footer-links{padding:0;list-style:none}.footer-links li{margin-block:.45rem}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;padding-block:1.4rem;border-top:1px solid rgba(255,255,255,.2)}.footer-bottom nav{display:flex;flex-wrap:wrap;gap:1rem}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(2rem,6vw,5rem)}.hero-copy p{max-width:42rem;color:var(--color-muted);font-size:clamp(1.1rem,2vw,1.35rem)}.hero-media{overflow:hidden;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.support-strip{padding-block:1rem;background:var(--color-teal-dark);color:#fff;text-align:center}.support-strip p{margin:0}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:clamp(2rem,7vw,6rem)}.split-media{overflow:hidden;border-radius:var(--radius-lg);background:var(--color-teal-soft)}.photobox-feature-image{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center}.pricing-card{display:flex;height:100%;flex-direction:column;padding:clamp(1.5rem,4vw,2.5rem);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-sm)}.pricing-card .price{margin-block:.2rem 1.2rem;color:var(--color-teal-dark);font-size:2.6rem;font-weight:850}.pricing-card .button{margin-top:auto}.price-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.price-option{display:grid;grid-template-columns:1fr auto;gap:.4rem 1rem;padding:1.4rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff}.price-option p{grid-column:1/-1;margin:0;color:var(--color-muted)}.price-option strong{color:var(--color-teal-dark)}.faq-list{border-top:1px solid var(--color-border)}.faq-item{border-bottom:1px solid var(--color-border)}.faq-item summary{padding:1.2rem 2.2rem 1.2rem 0;cursor:pointer;font-size:1.1rem;font-weight:750}.faq-item p{max-width:50rem;padding-bottom:1.2rem;color:var(--color-muted)}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 19rem;align-items:start;gap:3rem}.booking-form{display:grid;gap:1.4rem}.form-section{padding:clamp(1.25rem,4vw,2rem);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff}.form-section legend{padding-inline:.3rem;font-size:1.3rem;font-weight:800}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.2rem}.form-field{display:grid;align-content:start;gap:.35rem;scroll-margin-top:6rem}.form-field-full{grid-column:1/-1}.form-field label,.field-label{font-weight:700}.required{color:var(--color-error)}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:3rem;padding:.7rem .8rem;border:1px solid #7c8381;border-radius:var(--radius-sm);background:#fff;color:var(--color-ink)}.form-field textarea{min-height:8rem;resize:vertical}.form-field input[aria-invalid=true],.form-field select[aria-invalid=true],.form-field textarea[aria-invalid=true]{border:2px solid var(--color-error)}.form-field input[aria-invalid=true]:focus-visible,.form-field select[aria-invalid=true]:focus-visible,.form-field textarea[aria-invalid=true]:focus-visible{outline:3px solid var(--color-terracotta);outline-offset:3px}.choice-group{display:grid;gap:.6rem}.choice{display:flex;align-items:flex-start;gap:.7rem}.choice input{width:1.25rem;height:1.25rem;margin-top:.15rem;flex:0 0 auto;scroll-margin-top:6rem}.choice input[aria-invalid=true]{outline:2px solid var(--color-error);outline-offset:2px}.choice input[aria-invalid=true]:focus-visible{outline:3px solid var(--color-terracotta);outline-offset:4px}.help-text{color:var(--color-muted);font-size:.9rem}.field-error{display:flex;max-width:100%;align-items:flex-start;gap:.4rem;margin:0;color:var(--color-error);font-size:.9rem;font-weight:700;overflow-wrap:anywhere}.field-error-icon{display:inline-grid;width:1.1rem;height:1.1rem;flex:0 0 auto;place-items:center;margin-top:.18rem;border:1px solid currentcolor;border-radius:50%;font-size:.75rem;line-height:1}.submit-validation-message{margin:0;color:var(--color-error);font-weight:700}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.booking-aside{position:sticky;top:6rem}.status-message{padding:1.2rem;border-left:.35rem solid var(--color-teal);border-radius:var(--radius-sm);background:var(--color-teal-soft)}.status-message p{margin:.3rem 0 0}.status-error{border-color:var(--color-error);background:#fff0f0}.legal-content h2{margin-top:2.5rem;font-size:1.55rem}.legal-content h3{margin-top:2rem;font-size:1.2rem}@media(max-width:58rem){.desktop-nav{display:none}.menu-button{display:inline-flex}.hero-grid,.split,.booking-layout{grid-template-columns:1fr}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-aside{position:static}}@media(max-width:40rem){.grid-2,.grid-3,.price-options,.form-grid,.footer-grid{grid-template-columns:1fr}.form-field-full{grid-column:auto}.footer-bottom{flex-direction:column}.button-row .button{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
