html{scroll-behavior:smooth}body{overflow-wrap:break-word}.brand{font-size:27px;letter-spacing:-.045em;font-weight:700}.header-actions{display:flex;gap:14px;align-items:center}.concept-hero{position:relative;display:grid;grid-template-columns:1.05fr 1fr;min-height:650px}.hero-image{min-width:0;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover}.hero-copy{padding:65px max(30px,calc((100vw - 1200px)/2)) 60px 52px;display:flex;flex-direction:column;justify-content:center;min-width:0}.hero-copy h1{font-size:clamp(44px,5.2vw,76px);line-height:1.08;letter-spacing:-.045em;margin:0 0 25px}.hero-copy>p{max-width:480px;font-size:18px;color:var(--muted)}.hero-caption{font-size:11px;letter-spacing:.15em;margin-top:40px}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.choice-card{border:1px solid var(--line);background:var(--card);border-radius:var(--radius);overflow:hidden;min-width:0}.card-visual{display:flex;justify-content:space-between;align-items:end;min-height:170px;padding:26px;background:var(--soft);color:var(--ink);position:relative;gap:14px}.card-number{font-family:var(--heading-font);font-size:78px;line-height:1;letter-spacing:-.07em}.card-visual>span:last-child{text-transform:uppercase;font-size:11px;letter-spacing:.1em;max-width:150px;line-height:1.5;text-align:right}.choice-body{padding:28px}.choice-body h3{font-size:27px;line-height:1.15;margin-bottom:15px}.choice-body p{font-size:15px;color:var(--muted)}.choice-body strong{font-size:16px}.choice-body .actions{margin-top:20px}.brand-story{background:var(--soft);padding:70px 0}.brand-story>.wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.brand-story h2{font-size:clamp(36px,4vw,58px);letter-spacing:-.035em}.brand-story p{max-width:530px;color:var(--muted)}.brand-story ol{list-style:none;padding:0;margin:0}.brand-story li{display:flex;align-items:center;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}.brand-story li span{font-size:12px}.brand-story li h3{font-size:23px;margin:0}.final-invitation{text-align:center;max-width:780px}.final-invitation h2{font-size:clamp(32px,4vw,54px);letter-spacing:-.04em}.final-invitation .actions{justify-content:center}.detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-block:60px}.detail-photo{position:relative;min-height:480px;overflow:hidden;border-radius:var(--radius)}.detail-photo img{width:100%;height:100%;object-fit:cover}.detail-photo>span{position:absolute;bottom:24px;left:24px;background:var(--card);padding:10px 16px;font-size:13px}.detail-copy{align-self:center}.detail-copy h1{font-size:clamp(40px,4.5vw,65px);letter-spacing:-.045em}.detail-price{font-size:23px}.included{padding:0;list-style:none;margin:25px 0}.included li{padding:14px 0;border-bottom:1px solid var(--line)}.included li:before{content:'✓';margin-right:13px;color:var(--accent)}.availability{display:grid;grid-template-columns:1.6fr .6fr auto;gap:20px;align-items:end}.availability h2,.availability .small,.availability .notice,.availability .error{grid-column:1/-1;margin:0}.availability .btn{align-self:end}.check-option,.task-row{display:flex;align-items:center;gap:14px;padding:20px 0;line-height:1.5}.check-option input,.task-row input{width:22px;height:22px;flex-shrink:0;accent-color:var(--ink)}.task-row{border-bottom:1px solid var(--line)}.task-row span{flex:1}.task-row small{font-size:12px;color:var(--muted)}.care-report{margin-top:28px;padding:22px;background:var(--soft);border-radius:var(--radius)}.care-report h3{font-size:24px}.receipt-mark{display:inline-flex;padding:8px 16px;background:var(--soft);font-size:12px;font-weight:700;letter-spacing:.12em;margin-bottom:24px}.progress-meter{height:12px;background:var(--soft);border-radius:20px;margin:25px 0;overflow:hidden}.progress-meter span{height:100%;display:block;background:var(--accent)}.field{margin-bottom:18px}.field-grid .field{margin-bottom:0}.field-grid{margin-bottom:24px}.site-footer{padding-block:38px;background:var(--soft)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-inner nav{display:flex;flex-wrap:wrap;gap:24px;font-size:14px}.footer-inner nav a{min-height:44px;display:flex;align-items:center}.site-footer b{font-family:var(--heading-font);font-size:25px}.error{color:#9c2323}.notice{color:var(--ink);background:var(--soft);padding:16px}.summary h2{font-size:28px}.rows dd{max-width:65%;overflow-wrap:anywhere}.summary{position:sticky;top:110px}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--ink);outline-offset:4px}.btn{line-height:1.4}.btn.secondary{color:var(--ink)}
/* Biscuit & Bloom: rounded, playful, airy. */
body[data-concept="pet-care"] .hero-copy{order:-1;padding-left:max(32px,calc((100vw - 1200px)/2));padding-right:45px}body[data-concept="pet-care"] .hero-image{margin:36px 36px 36px 0;border-radius:46% 46% 20px 20px}body[data-concept="pet-care"] .hero-copy h1{font-weight:900;font-size:clamp(40px,4.5vw,65px)}body[data-concept="pet-care"] .hero-caption{background:#f8c4aa;align-self:start;padding:12px 20px;border-radius:30px;transform:rotate(-3deg);font-weight:800}body[data-concept="pet-care"] .card-visual{border-radius:0 0 45% 15%;background:#e2edcf}body[data-concept="pet-care"] .visual-1{background:#f8c4aa}body[data-concept="pet-care"] .visual-2{background:#f4dc81}body[data-concept="pet-care"] .card-number{font-weight:900}body[data-concept="pet-care"] .site-header .brand:before{content:'✿';font-size:38px;margin-right:10px;color:#175b43}
/* Stillwater: photographic, restrained, editorial. */
body[data-concept="boutique-stay"] .concept-hero{display:block;min-height:720px;color:#fffdf5;background:#343c30}body[data-concept="boutique-stay"] .hero-image{position:absolute;inset:0}body[data-concept="boutique-stay"] .hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#172415d9,#17241508)}body[data-concept="boutique-stay"] .hero-copy{position:relative;min-height:720px;padding-left:max(32px,calc((100vw - 1200px)/2));max-width:850px}body[data-concept="boutique-stay"] .hero-copy h1{font-size:clamp(58px,7vw,98px);font-weight:400;letter-spacing:-.02em;line-height:.98}body[data-concept="boutique-stay"] .hero-copy p{color:#f1f0e4}body[data-concept="boutique-stay"] .hero-copy .btn{background:#f4f0e7;color:#2c352a;border-color:#f4f0e7}body[data-concept="boutique-stay"] .hero-copy .btn.secondary{background:transparent;color:#fffdf7}body[data-concept="boutique-stay"] .brand{font-weight:500;font-size:32px}body[data-concept="boutique-stay"] .choice-card{background:transparent;border:0;border-top:1px solid var(--line)}body[data-concept="boutique-stay"] .card-visual{background:none;min-height:110px;padding:24px 0;border-bottom:1px solid var(--line)}body[data-concept="boutique-stay"] .choice-body{padding:25px 0}body[data-concept="boutique-stay"] .choice-body h3{font-size:36px}body[data-concept="boutique-stay"] .card-number{font-weight:400}body[data-concept="boutique-stay"] .eyebrow{font-size:10px;letter-spacing:.18em}
/* Glasshouse: romantic plum, monumental serif, full-bleed art. */
body[data-concept="event-venue"] .concept-hero{grid-template-columns:1fr 1.08fr;background:#332331;color:#fff6eb}body[data-concept="event-venue"] .hero-copy{order:-1;padding-left:max(32px,calc((100vw - 1200px)/2));padding-right:45px}body[data-concept="event-venue"] .hero-copy h1{font-size:clamp(42px,4.8vw,68px);font-weight:400;letter-spacing:-.04em}body[data-concept="event-venue"] .hero-copy p{color:#e3d1da}body[data-concept="event-venue"] .hero-copy .btn.secondary{color:#fff6eb;border-color:#937d91}body[data-concept="event-venue"] .hero-image{margin:28px 28px 28px 0;border-radius:48% 48% 0 0}body[data-concept="event-venue"] .choice-card{border-top:0}body[data-concept="event-venue"] .card-visual{background:#332331;color:#ead1a3;min-height:150px}body[data-concept="event-venue"] .brand-story{background:#332331;color:#fff6eb}body[data-concept="event-venue"] .brand-story p{color:#e3d1da}body[data-concept="event-venue"] .brand-story li{border-color:#715e6d}body[data-concept="event-venue"] .brand{font-weight:400;font-size:28px}
/* Common Ground: expressive orange, story-led community. */
body[data-concept="nonprofit"] .concept-hero{grid-template-columns:1.03fr 1fr;padding:38px max(24px,calc((100vw - 1280px)/2));gap:44px;background:#f2dbc8}body[data-concept="nonprofit"] .hero-copy{order:-1;padding:25px 0}body[data-concept="nonprofit"] .hero-image{border-radius:0 100px 0 0;margin:22px 0}body[data-concept="nonprofit"] .hero-copy h1{font-size:clamp(48px,5vw,76px);font-weight:400}body[data-concept="nonprofit"] .brand{font-family:'DM Sans';font-weight:800;font-size:24px;letter-spacing:-.06em}body[data-concept="nonprofit"] .brand:before{content:'●';margin-right:10px;color:#b94627}body[data-concept="nonprofit"] .card-visual{background:#c85533;color:#fffaf0;min-height:155px}body[data-concept="nonprofit"] .visual-1{background:#23604c}body[data-concept="nonprofit"] .visual-2{background:#e6b951;color:#203c31}body[data-concept="nonprofit"] .brand-story{background:#23604c;color:#fffaf0}body[data-concept="nonprofit"] .brand-story p{color:#e2e7d6}body[data-concept="nonprofit"] .brand-story li{border-color:#66846c}
/* Brightside: structured cobalt, high energy typography and graphic grids. */
body[data-concept="academy"] .concept-hero{padding:40px max(24px,calc((100vw - 1280px)/2));background:#e7ecff;gap:35px}body[data-concept="academy"] .hero-copy{order:-1;padding:30px 0}body[data-concept="academy"] .hero-image{margin:18px 0;box-shadow:14px 14px 0 #254bc9;border:2px solid #17284b}body[data-concept="academy"] .hero-copy h1{font-size:clamp(42px,5vw,72px);font-weight:700;line-height:1.02}body[data-concept="academy"] .hero-caption{font-weight:700;color:#254bc9}body[data-concept="academy"] .brand:before{content:'↗';background:#254bc9;color:white;padding:5px 10px;margin-right:10px;font-size:22px}body[data-concept="academy"] .card-visual{background:#254bc9;color:#fff;min-height:150px}body[data-concept="academy"] .visual-1{background:#efc346;color:#17284b}body[data-concept="academy"] .visual-2{background:#ed8f78;color:#17284b}body[data-concept="academy"] .card-number{font-size:90px;font-weight:700}body[data-concept="academy"] .choice-card{border:2px solid #17284b;box-shadow:4px 4px 0 #17284b}body[data-concept="academy"] .brand-story{background:#254bc9;color:#fff}body[data-concept="academy"] .brand-story p{color:#e7ecff}body[data-concept="academy"] .brand-story li{border-color:#7691ec}
@media(max-width:1050px){.hero-copy{padding:45px 30px}.header-inner{gap:16px}.site-header nav{gap:16px}.brand{font-size:24px}.choice-body{padding:22px}.choice-grid{gap:18px}.detail-layout{gap:35px}.availability{grid-template-columns:1fr 1fr}.availability .field-grid{grid-column:1/-1}}
@media(max-width:800px){.concept-hero,body[data-concept] .concept-hero{grid-template-columns:1fr;min-height:0}.hero-copy,body[data-concept] .hero-copy{padding:45px 24px;order:-1}.hero-image,body[data-concept="pet-care"] .hero-image,body[data-concept="event-venue"] .hero-image,body[data-concept="nonprofit"] .hero-image,body[data-concept="academy"] .hero-image{height:380px;margin:0 24px 30px}.hero-copy h1{font-size:54px}.hero-caption{margin-top:26px}.brand-story>.wrap{grid-template-columns:1fr;gap:20px}.choice-grid{grid-template-columns:1fr}.choice-card{display:grid;grid-template-columns:1fr 1.8fr}.card-visual{height:100%}.choice-body h3{font-size:30px}.detail-layout{grid-template-columns:1fr;padding-block:36px}.detail-photo{height:380px;min-height:0}.summary{position:static}.header-actions>.btn{display:none}.footer-inner{display:block}.footer-inner nav{margin-top:20px}body[data-concept="boutique-stay"] .concept-hero{min-height:650px}body[data-concept="boutique-stay"] .hero-image{height:auto;margin:0}body[data-concept="boutique-stay"] .hero-copy{min-height:650px;padding:60px 24px}body[data-concept="nonprofit"] .concept-hero,body[data-concept="academy"] .concept-hero{padding:0;gap:0}body[data-concept="boutique-stay"] .choice-card{display:block}body[data-concept="boutique-stay"] .card-visual{height:auto}}
@media(max-width:500px){.brand,body[data-concept="boutique-stay"] .brand,body[data-concept="event-venue"] .brand,body[data-concept="nonprofit"] .brand{font-size:23px}.brand:before{font-size:26px!important}.choice-card{display:block}.card-visual{min-height:130px}.hero-image,body[data-concept="pet-care"] .hero-image,body[data-concept="event-venue"] .hero-image,body[data-concept="nonprofit"] .hero-image,body[data-concept="academy"] .hero-image{height:290px;margin:0 18px 24px}.hero-copy,body[data-concept] .hero-copy{padding:38px 18px}.hero-copy h1,body[data-concept="academy"] .hero-copy h1{font-size:44px}body[data-concept="pet-care"] .hero-copy h1{font-size:40px}body[data-concept="event-venue"] .hero-copy h1{font-size:40px}body[data-concept="nonprofit"] .hero-copy h1{font-size:46px}body[data-concept="boutique-stay"] .hero-copy h1{font-size:64px}body[data-concept="boutique-stay"] .hero-image{margin:0;height:auto}.detail-photo{height:290px}.availability{display:block}.availability>.field{margin-top:22px}.availability .btn{width:100%;margin-top:12px}.availability .small{margin-top:16px}.task-row{gap:10px}.task-row small{max-width:60px;text-align:right}.rows dd{max-width:65%}body[data-concept="academy"] .hero-image{box-shadow:7px 7px 0 #254bc9}.header-inner{gap:9px}.mobile-menu nav{max-width:calc(100vw - 36px)}}
@media print{.agency-details,.brand-story,.concept-hero,.site-footer,.stage-controls{display:none!important}.task-row{break-inside:avoid}.summary{position:static}.care-report{background:white}.receipt-mark{border:1px solid black}}
/* The academy uses a headline-first composition with a wide classroom image. */
@media(min-width:801px){body[data-concept="academy"] .concept-hero{display:flex;flex-direction:column;align-items:center;padding-top:45px;padding-bottom:45px;gap:0}body[data-concept="academy"] .hero-copy{text-align:center;padding:0 25px 28px;max-width:1060px;align-items:center}body[data-concept="academy"] .hero-copy h1{font-size:clamp(56px,6.5vw,92px)}body[data-concept="academy"] .hero-copy>p{max-width:650px}body[data-concept="academy"] .hero-caption{margin-top:24px}body[data-concept="academy"] .hero-image{width:min(1080px,100%);height:390px;margin:0 14px 0 0}body[data-concept="academy"] .hero-image img{object-position:center 43%}}
body[data-concept="event-venue"] .concept-hero a:focus-visible,body[data-concept="boutique-stay"] .concept-hero a:focus-visible{outline-color:#fffdf7}.is-preview .concept-hero{min-height:0}@media(min-width:801px){.is-preview .hero-copy{padding-top:46px;padding-bottom:46px}.is-preview[data-concept="academy"] .hero-image{height:320px}.is-preview[data-concept="boutique-stay"] .hero-copy{min-height:700px}}@media(max-width:980px){.site-header .desktop-nav{display:none}.header-actions>.btn{display:none}.mobile-menu{display:block;position:relative}.mobile-menu>summary{min-height:44px;cursor:pointer;padding:12px 8px;font-size:14px}.site-header .mobile-menu nav{position:absolute;right:0;top:52px;width:240px;max-width:calc(100vw - 36px);display:flex;flex-direction:column;align-items:stretch;padding:15px;background:var(--bg);border:1px solid var(--line);box-shadow:0 10px 25px #0002;gap:3px}.mobile-menu nav a{padding:10px}.header-actions{flex-shrink:0}}
