@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&family=Playball&display=swap');
:root{--cream:#fcf8f1;--teal:#285f60;--ink:#243e3d;--muted:#6d7975;--pink:#e8b9ad;--line:#dfE4db}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a85843;outline-offset:4px}.announcement{text-align:center;background:var(--teal);color:#fff5e9;padding:11px 12px;font-size:11px;letter-spacing:2.4px}.announcement span{color:var(--pink);margin:0 22px}header{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:24px 40px;border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;text-align:center;width:120px;color:var(--teal)}.brand>span{font:56px/.95 'Playball',cursive;position:relative}.brand i{font:22px Georgia;color:#c58679;position:absolute;right:-5px;top:5px}.brand small{font-size:10px;letter-spacing:3px;margin-top:8px;font-weight:700}nav{display:flex;gap:35px;align-items:center;font-size:14px}nav .nav-cta{border:1px solid #809c95;border-radius:6px;padding:13px 20px}.nav-cta span{margin-left:20px}main{max-width:1160px;margin:auto}.intro{padding:48px 0 38px;display:flex;justify-content:space-between;align-items:center}.eyebrow,.section-kicker{font-size:11px;letter-spacing:2px;font-weight:600;color:var(--teal)}h1{font:64px/1.05 'DM Serif Display',Georgia;margin:15px 0 20px;letter-spacing:-1.6px}h1 em{font-weight:400;color:#5c8380}.intro p{color:var(--muted);line-height:1.65;margin:0}.intro-note{display:flex;align-items:center;gap:18px;padding-right:42px;transform:rotate(-5deg)}.intro-note>span{font-size:70px;color:#c78e82}.intro-note p{font:21px/1.4 'DM Serif Display',Georgia;color:var(--teal)}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 345px;gap:28px;align-items:start}.booking{border:1px solid var(--line);background:#fffefa;border-radius:13px;overflow:hidden}.steps{display:flex;background:#f0f2eb;padding:22px 28px;justify-content:space-between;border-bottom:1px solid var(--line);font-size:13px;color:#7a8680;gap:10px}.steps>span{display:flex;align-items:center;gap:9px}.steps b{border:1px solid #c6d0c7;border-radius:50%;width:24px;height:24px;display:grid;place-items:center;font-size:12px}.steps .active{color:var(--teal);font-weight:700}.steps .active b{background:var(--teal);color:white;border-color:var(--teal)}form{padding:33px}h2{font:32px/1.2 'DM Serif Display',Georgia;margin:10px 0 12px;font-weight:400}.muted{color:var(--muted);line-height:1.6}.booking p.muted{font-size:14px;margin-bottom:27px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:27px 22px}label{display:block;font-size:14px;font-weight:500}input:not([type=radio]):not([type=checkbox]),select{display:block;width:100%;height:49px;background:white;border:1px solid #cbd4cd;border-radius:5px;padding:0 13px;color:var(--ink);margin-top:10px}label small{font-size:11px;color:var(--muted);display:block;margin-top:8px;font-weight:400}.soft-note{display:flex;gap:15px;padding:19px;background:#f1f3ed;border-radius:6px;margin:29px 0 24px}.soft-note>span{font-size:28px;color:var(--teal)}.soft-note strong{font-size:13px}.soft-note p{font-size:12px;line-height:1.6;color:var(--muted);margin:5px 0 0}.primary{border:0;border-radius:6px;background:var(--teal);color:white;padding:16px 23px;font-size:14px;font-weight:500;transition:background .2s}.primary:hover{background:#1b494a}.next{width:100%;display:flex;justify-content:space-between}.summary{background:#eaf0e9;border:1px solid #d4ded2;padding:26px;border-radius:12px}.summary-title{font-size:10px;letter-spacing:1.7px;display:flex;align-items:center;justify-content:space-between}.summary-title span{font-size:27px;color:#779c94}.summary>p{font-size:14px;margin:20px 0 10px}.price{display:flex;align-items:baseline;gap:8px}.price>span{font:54px 'DM Serif Display',Georgia;letter-spacing:-1px}.price small{font-size:13px;color:#64796f}.small{font-size:12px;line-height:1.6}#breakdown{border-top:1px solid #cad8c9;padding-top:16px;margin-top:20px}.line{display:flex;justify-content:space-between;gap:15px;font-size:13px;margin:11px 0}.line span:last-child{white-space:nowrap}.discount{color:#396d56}.summary .estimate-note{font-size:11px;line-height:1.65;color:#6b7b70;margin:19px 0 0}.brand-picture{height:225px;margin:24px 0 0;background-image:url('branding.jpg');background-size:900px auto;background-position:0 0;border-radius:10px 10px 0 0;background-color:#f6eadf}.picture-caption{background:#e9c0b3;border-radius:0 0 10px 10px;padding:14px 20px;font:18px 'DM Serif Display',Georgia;display:flex;justify-content:space-between}.picture-caption span{font:25px Georgia}.included{display:grid;grid-template-columns:1fr 2fr;gap:55px;padding:75px 0 60px;margin-top:65px;border-top:1px solid var(--line)}.included>div>p,.inclusions p{font-size:14px;line-height:1.8;color:var(--muted)}.inclusions{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.inclusions article>span{color:#ae7162;font:italic 24px 'DM Serif Display',Georgia}h3{font-size:17px;font-weight:500;margin:15px 0 10px}.faq{max-width:780px;margin:0 auto 75px}.faq h2{text-align:center;margin-bottom:30px}details{border-bottom:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-size:15px}details p{font-size:14px;line-height:1.8;color:var(--muted)}footer{display:flex;justify-content:space-between;align-items:center;padding:30px max(calc((100vw - 1160px)/2),30px);border-top:1px solid var(--line);gap:25px}footer p{font:19px 'DM Serif Display',Georgia}footer>small{color:var(--muted);font-size:11px}.service-options{border:0;padding:0;margin:25px 0}.service-options label{display:flex;align-items:center;gap:15px;border:1px solid var(--line);border-radius:6px;padding:16px;margin-bottom:10px}.service-options label:has(:checked){border-color:var(--teal);background:#edf2ea}input[type=radio],input[type=checkbox]{accent-color:var(--teal);width:17px;height:17px;flex-shrink:0}.service-options small{font-size:12px;line-height:1.5}.extras{display:grid;grid-template-columns:1fr 1fr;gap:12px}.extras label{display:flex;align-items:center;font-size:12px;gap:7px;padding:8px 0}.extras b{margin-left:auto;font-weight:400;color:var(--muted)}.condition-label{margin-top:22px}.actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:25px}.back{background:none;border:0;color:var(--teal);font-size:13px;padding:10px 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}#error{color:#9c392c;font-size:14px;line-height:1.5;margin:12px 0 0}#review{border-top:1px solid var(--line);padding:14px 0}#review .line{font-size:15px;padding:6px 0}
@media(min-width:1500px){main{max-width:1200px}.intro{padding-top:60px}.booking-layout{grid-template-columns:minmax(0,1fr) 365px}}@media(max-width:1200px){main{margin:0 35px}header{padding:24px 35px}}@media(max-width:800px){.intro-note{display:none}.booking-layout{grid-template-columns:1fr 280px;gap:18px}form{padding:25px}.steps{padding:20px 15px;font-size:11px}.steps>span{gap:5px}.field-grid{gap:20px 12px}.summary{padding:20px}.brand-picture{background-size:740px auto;height:205px}h1{font-size:54px}.included{grid-template-columns:1fr;gap:20px}.extras{grid-template-columns:1fr}footer{flex-wrap:wrap}}@media(max-width:620px){main{margin:0 20px}header{padding:20px}nav>a:not(.nav-cta){display:none}nav .nav-cta{font-size:12px;padding:12px}.brand{width:100px}.brand>span{font-size:46px}.announcement{font-size:9px;letter-spacing:1.4px}.announcement span{margin:0 10px}.intro{padding:35px 0 28px}h1{font-size:48px}.intro p{font-size:14px}.booking-layout{grid-template-columns:1fr}.summary{margin-top:0}.brand-picture,.picture-caption{display:none}.steps{padding:18px 13px;font-size:11px}form{padding:24px 20px}h2{font-size:29px}.field-grid{grid-template-columns:1fr 1fr}label{font-size:13px}select{font-size:13px}.included{padding:40px 0;margin-top:40px}.inclusions{grid-template-columns:1fr;gap:10px}.inclusions article{position:relative;padding-left:42px}.inclusions article>span{position:absolute;left:0;top:15px}.faq h2{text-align:left}.faq{margin-bottom:40px}footer{padding:25px 20px}footer p{font-size:16px}footer>small{width:100%}.primary{padding:15px;font-size:13px}.eyebrow,.section-kicker{font-size:10px}}
@media print{header,.announcement,.intro,.steps,.booking,#included,#questions,footer,.brand-picture,.picture-caption{display:none}.booking-layout{display:block}.summary{max-width:600px;margin:auto}}
/* Readable supporting copy at every viewport. */
label small,.summary .estimate-note,.small,.soft-note p,.service-options small,.picture-caption~p{font-size:12px}.extras label,.steps,.primary,.back{font-size:14px}.included>div>p,.inclusions p,details p{font-size:16px}.announcement{font-size:12px}.eyebrow,.section-kicker,.summary-title{font-size:12px}.brand small,footer>small{font-size:12px}.steps{flex-wrap:wrap}.extras{column-gap:20px}.extras label{flex-wrap:wrap}.brand-picture{background-size:900px auto;background-position:-25px 0}
@media(max-width:620px){.announcement{font-size:10px}.steps{font-size:12px}.field-grid{grid-template-columns:1fr}label,select{font-size:14px}}
textarea{font:inherit;display:block;width:100%;min-height:96px;background:white;border:1px solid #cbd4cd;border-radius:5px;padding:12px 13px;color:var(--ink);margin-top:10px;resize:vertical;line-height:1.5}textarea:focus-visible{outline:3px solid #a85843;outline-offset:4px}.request-card{border:1px solid var(--line);background:#fbfaf5;border-radius:8px;padding:20px;margin-top:20px}.request-card h3{margin-top:0}.notes-label{margin-top:20px}.secondary{border-radius:6px;background:#f0f2eb;color:var(--teal);border:1px solid #cbd6cd;padding:16px 23px;font-size:14px;font-weight:500;transition:background .2s}.secondary:hover{background:#e6ebe3}.actions{gap:14px;flex-wrap:wrap}.back{margin-right:auto}.request-card input:not([type=radio]):not([type=checkbox]),.request-card select{font-size:14px}
@media(max-width:620px){.request-card{padding:16px}.actions .primary,.actions .secondary{flex:1 1 100%}.back{flex-basis:100%;text-align:left}.request-card .field-grid{grid-template-columns:1fr}}

/* Crisp typography and an unboxed mascot share the page palette. */
.brand{width:156px;flex-shrink:0}
.brand>span{font:64px/.95 'Playball',cursive;letter-spacing:-1px;color:var(--teal)}
.brand small{font-size:11px;letter-spacing:2.4px;white-space:nowrap;margin-top:9px}
.brand-picture{background:transparent;border-radius:0;max-width:230px;margin:28px auto 0}
@media(max-width:620px){.brand{width:125px}.brand>span{font-size:53px}.brand small{font-size:10px;letter-spacing:1.8px}}

.brand-picture{height:auto;aspect-ratio:auto;background-image:none}.brand-picture img{display:block;width:100%;height:auto}
