:root{--green:#174c3c;--ink:#203a32;--muted:#65746d;--paper:#faf9f5;--line:#dce2d9;--lime:#dcf09e}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}button,input,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #7d9a44;outline-offset:4px}[hidden]{display:none!important}header{height:104px;max-width:1280px;padding:0 48px;margin:auto;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{font-size:28px;font-weight:700;letter-spacing:-1.4px;display:flex;align-items:center;gap:9px}.brand-dot{color:#719656;margin-left:-9px}.mark{width:34px;height:36px;color:var(--green);font-size:40px;line-height:30px;position:relative}.mark span{position:absolute;font-size:20px;right:-2px;top:-5px}nav{display:flex;align-items:center;gap:30px;font-size:14px}.button{background:var(--green);color:white;border:1px solid var(--green);border-radius:8px;padding:15px 23px;font-weight:600;display:inline-flex;justify-content:center;align-items:center;gap:36px;transition:background .2s,transform .2s}.button:hover{background:#27654e;transform:translateY(-1px)}.small{padding:10px 23px}.text-button{border:0;background:transparent;color:var(--green);padding:10px 0;font-weight:600}.hero{max-width:1280px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;gap:45px;padding:76px 48px 56px;align-items:center}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.8px;display:flex;align-items:center;gap:8px}.live-dot{width:7px;height:7px;background:#6e9258;border-radius:50%}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:72px;line-height:1.08;letter-spacing:-3.2px;margin:27px 0 24px}h1 em{color:#6c8c4d;font-weight:400}h2{font-family:Georgia,serif;font-size:36px;font-weight:400;line-height:1.2;letter-spacing:-1px;margin:15px 0 20px}h3{font-size:18px;letter-spacing:-.3px}.intro{max-width:450px;color:var(--muted);font-size:17px;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:28px;margin:31px 0}.hero-note{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:12px}.tiny-icon{font-size:23px;color:var(--green)}.promise-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:center;gap:100px;padding:22px 30px;font-size:13px;color:#4d6357}.how{max-width:1280px;margin:auto;padding:65px 48px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:35px}.steps article{border-top:1px solid var(--line);padding-top:22px}.steps article>span{font-size:12px;color:#789259}.steps p{font-size:14px;color:var(--muted);max-width:300px}.join-banner{max-width:1184px;margin:10px auto 65px;background:var(--green);color:#fff;border-radius:13px;padding:38px 45px;display:flex;align-items:center;justify-content:space-between;gap:30px}.join-banner .eyebrow{color:#c9dcae}.join-banner p{font-size:14px;max-width:530px;color:#d2dfd4}.light{background:var(--lime);color:var(--green);border-color:var(--lime);white-space:nowrap}.light:hover{background:#c9e587}footer{border-top:1px solid var(--line);padding:30px 48px;max-width:1280px;margin:auto;display:flex;align-items:center;gap:25px;color:var(--muted)}footer .brand{color:var(--green);font-size:22px}footer p{font-size:12px}footer>span{margin-left:auto;font-size:10px;max-width:310px}dialog{border:1px solid var(--line);border-radius:18px;padding:38px;width:540px;max-width:calc(100% - 28px);max-height:90vh;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#17372b88;backdrop-filter:blur(4px)}dialog h2{font-size:32px}dialog>p{color:var(--muted);font-size:14px}.close{position:absolute;top:12px;right:18px;font-size:28px;border:0;background:none;color:var(--green)}label{display:block;font-size:13px;font-weight:600;margin:14px 0}input,select{display:block;width:100%;padding:12px;background:#fff;border:1px solid #bdcbbb;border-radius:7px;color:var(--ink);margin-top:5px;min-width:0}input:focus,select:focus{outline:2px solid #8da66f;outline-offset:1px}small{font-size:11px;font-weight:400;color:var(--muted);display:block;margin-top:5px}.full{width:100%;margin-top:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-error{color:#a12e28;font-size:13px}.form-error:empty{display:none}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--green);color:#fff;padding:14px 25px;border-radius:8px;z-index:10;max-width:90%;box-shadow:0 8px 40px #0003}#dashboard{max-width:1280px;padding:50px 48px 80px;margin:auto;min-height:72vh}.dashboard-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.dashboard-heading h1{font-size:44px;letter-spacing:-1.5px;margin:16px 0}.dashboard-heading p{color:var(--muted)}.notice{background:#f4eacb;padding:18px;border-radius:8px;font-size:14px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0}.stat{background:#eaf0e3;padding:22px;border-radius:10px;font-size:13px}.stat strong{display:block;font-size:32px;font-family:Georgia,serif;font-weight:400}.list-heading{display:flex;justify-content:space-between;align-items:center}.list-heading span{font-size:11px;color:var(--muted)}.visit-card{border:1px solid var(--line);background:white;border-radius:12px;padding:25px;margin:18px 0}.visit-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.visit-top h3{margin:0;font-size:20px}.badge{background:#eaf0e3;border-radius:20px;padding:5px 12px;font-size:11px;font-weight:bold;white-space:nowrap}.visit-details{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:22px 0;font-size:13px}.visit-details span{color:var(--muted);display:block;font-size:11px;margin-bottom:4px}.timeline{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;border-top:1px solid var(--line);padding-top:15px;color:var(--muted)}.visit-actions{display:flex;gap:20px;margin-top:18px}.empty{text-align:center;padding:60px 20px;border:1px dashed #b3c2ac;border-radius:12px;color:var(--muted)}.empty h3{color:var(--green)}button:disabled{opacity:.6;cursor:wait}@media(min-width:1400px){.hero{padding-top:90px;padding-bottom:80px}}@media(max-width:900px){header{padding:0 24px;height:85px}nav{gap:18px}nav>a{display:none}.hero{padding:45px 24px;gap:25px}h1{font-size:52px}.promise-strip{gap:25px;font-size:11px}.how{padding:45px 24px}.join-banner{margin:0 24px 40px;padding:30px}.hero-actions{gap:18px}.hero-actions .button{padding:13px}.hero-note{font-size:10px}footer{padding:25px}#dashboard{padding:35px 24px}}@media(max-width:620px){nav{gap:15px}#join{display:none}.brand{font-size:25px}.hero{grid-template-columns:1fr;padding-top:35px;gap:35px}h1{font-size:56px}.intro{font-size:16px}.promise-strip{flex-direction:column;gap:12px;padding:22px 24px}.how h2{font-size:32px}.steps{grid-template-columns:1fr;gap:20px}.steps p{max-width:none}.join-banner{flex-direction:column;align-items:flex-start}.join-banner h2{font-size:31px}footer{flex-wrap:wrap;gap:10px 25px}footer>span{margin:0;max-width:none;width:100%}dialog{padding:30px 22px}.form-grid{grid-template-columns:1fr;gap:0}.dashboard-heading{align-items:flex-start;flex-direction:column}.stats{gap:8px}.stat{padding:15px 10px;font-size:10px}.stat strong{font-size:27px}.list-heading{align-items:flex-start;flex-direction:column}.visit-details{grid-template-columns:1fr 1fr}.visit-top{align-items:flex-start}.dashboard-heading h1{font-size:37px}}

#preferences-panel{margin:24px 0;padding:24px;background:#eaf0e3;border-radius:12px}#preferences-panel h2{font-size:27px}#preferences-panel p{font-size:13px}#preferences-panel fieldset{border:0;padding:0}#preferences-panel legend{font-size:13px;font-weight:bold}#age-options{display:flex;flex-wrap:wrap;gap:10px}.age-option{display:flex;align-items:center;gap:8px;background:white;padding:8px 12px;border:1px solid #bdcbbb;border-radius:8px}.age-option input{width:18px;height:18px;margin:0;accent-color:var(--green)}

/* Warm editorial care image; the established V+ brand mark is unchanged. */
.hero-photo{height:500px;position:relative;isolation:isolate;border-radius:125px 125px 24px 24px;background:#eee2cb;box-shadow:0 24px 65px #30492a17;overflow:hidden}
.hero-photo:after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,#153c2a20 0%,transparent 35%,transparent 50%,#103828bd 100%)}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 43%;display:block}
.photo-kicker{position:absolute;top:30px;left:50%;transform:translateX(-50%);z-index:1;background:#fffdf2ed;color:var(--green);border:1px solid #ffffff8c;border-radius:30px;display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:9px;font-weight:700;letter-spacing:1.1px;padding:10px 15px;box-shadow:0 4px 20px #123b2810}
.photo-caption{position:absolute;bottom:39px;left:30px;right:24px;z-index:1;color:#fff8ea;display:flex;align-items:center;gap:15px;font-family:Georgia,serif;font-size:23px;line-height:1.35;letter-spacing:-.3px;text-shadow:0 2px 8px #12352744}
.photo-caption strong{font-weight:400;font-style:italic;color:#f0e5b4;font-size:31px}.photo-heart{display:grid;place-items:center;width:48px;height:48px;border:1px solid #f6f3dc80;border-radius:50%;font-family:Arial,sans-serif;font-size:32px;flex-shrink:0}.photo-credit{position:absolute;bottom:10px;right:18px;z-index:1;color:#fff8e9;font-size:9px;letter-spacing:.4px}
@media(min-width:1400px){.hero-photo{height:530px}}@media(max-width:900px){.hero-photo{height:435px;border-radius:95px 95px 20px 20px}.photo-kicker{font-size:8px;letter-spacing:.5px;padding:8px 10px}.photo-caption{left:20px;font-size:20px}.photo-caption strong{font-size:27px}}@media(max-width:620px){.hero-photo{height:460px;max-width:440px;width:100%;margin:auto;border-radius:100px 100px 20px 20px}.hero-photo img{object-position:50% 40%}.photo-kicker{top:26px;font-size:8px}.photo-caption{bottom:35px;left:25px}}@media(max-width:360px){.hero-photo{height:400px}}

/* Readable booking flows and comfortable touch controls. */
body{font-size:18px;line-height:1.65}
nav{font-size:17px;gap:24px}
nav a,.text-button{min-height:48px;display:inline-flex;align-items:center}
button,input,select{font-size:18px}
.button{min-height:52px;padding:14px 24px}
.small{min-height:48px;padding:10px 22px}
.eyebrow{font-size:13px;letter-spacing:1.3px;line-height:1.6}
.intro{font-size:20px;line-height:1.75}
.hero-note{font-size:16px;line-height:1.5}
.promise-strip{gap:50px;font-size:17px}
h3{font-size:22px}
.steps article>span{font-size:16px}
.steps p,.join-banner p{font-size:18px}
footer p{font-size:16px}
footer>span{font-size:14px;max-width:340px;line-height:1.6}
dialog{width:620px;padding:40px;max-height:92dvh}
dialog>p{font-size:18px;line-height:1.65}
dialog h2{font-size:36px}
label{font-size:18px;line-height:1.5;margin:18px 0}
input,select{font-size:18px;min-height:54px;padding:13px 12px;line-height:1.5;border-color:#8b9d89}
select{white-space:normal}
small{font-size:15px;line-height:1.55;color:#506358}
.form-error{font-size:17px}
.close{top:8px;right:8px;width:48px;height:48px;display:grid;place-items:center;font-size:32px}
.form-grid{gap:18px}
.notice{font-size:18px}
.stat{font-size:17px}.stat strong{font-size:36px}
.list-heading span{font-size:15px}
.visit-top h3{font-size:24px}
.badge{font-size:15px;padding:7px 13px;white-space:normal}
.visit-details{font-size:18px;gap:20px;overflow-wrap:anywhere}
.visit-details span{font-size:14px;color:#506358;letter-spacing:.4px}
.timeline{font-size:15px;gap:12px}
#preferences-panel p,#preferences-panel legend{font-size:18px}
.age-option{min-height:52px;font-size:18px;padding:10px 14px;margin:6px 0}
.age-option input{width:24px;height:24px;min-height:24px}
.photo-kicker{font-size:12px;letter-spacing:.4px}
.photo-credit{font-size:12px}
@media(max-width:1000px){
 nav{gap:18px}#join{max-width:180px;text-align:left;line-height:1.3}
 .hero{gap:28px}.hero-actions{flex-wrap:wrap;gap:12px 24px}
 .promise-strip{gap:24px;font-size:16px}.hero-note{font-size:16px}
}
@media(max-width:700px){
 header{height:auto;min-height:86px;padding:18px 20px;gap:16px;flex-wrap:wrap}
 nav{margin-left:auto;font-size:18px;gap:16px}nav>a,#join{display:none}
 .hero{grid-template-columns:1fr;padding:38px 20px 34px;gap:32px}
 h1{font-size:clamp(44px,10vw,62px);letter-spacing:-1.8px;line-height:1.12}
 .intro{font-size:20px;max-width:none}.hero-actions{align-items:stretch;gap:12px;margin:24px 0}
 .hero-actions .button,.hero-actions .text-button{min-height:54px;font-size:18px;padding:14px 20px;justify-content:center}
 .hero-actions .button{flex:1 1 220px}.hero-actions .text-button{flex:1 1 150px}
 .hero-note{font-size:16px;align-items:flex-start}
 .hero-photo{height:480px;max-width:480px;width:100%;margin:auto}
 .photo-kicker{font-size:11px;padding:10px 12px}.photo-caption{font-size:24px}.photo-caption strong{font-size:32px}
 .promise-strip{flex-direction:column;padding:24px 20px;gap:16px;font-size:18px}
 .how{padding:40px 20px}.how h2,h2{font-size:34px}.steps{grid-template-columns:1fr;gap:24px}.steps p{max-width:none;font-size:18px}
 .join-banner{margin:0 20px 40px;padding:28px 24px;flex-direction:column;align-items:flex-start}.join-banner h2{font-size:34px}.join-banner .button{white-space:normal;width:100%}
 footer{padding:24px 20px;flex-wrap:wrap;gap:12px 24px}footer>span{width:100%;max-width:none;margin:0;font-size:15px}
 dialog{padding:52px 22px 28px;max-width:calc(100% - 20px);max-height:94dvh}dialog h2{font-size:32px}dialog>p{font-size:18px}
 .form-grid{grid-template-columns:1fr;gap:0}input,select{font-size:18px}
 #dashboard{padding:32px 20px 60px}.dashboard-heading{flex-direction:column;align-items:stretch}.dashboard-heading h1{font-size:40px}.dashboard-heading>.button{width:100%}
 .stats{gap:10px;grid-template-columns:1fr}.stat{display:flex;align-items:center;gap:18px;font-size:18px;padding:14px 18px}.stat strong{font-size:32px;min-width:40px}
 .list-heading{align-items:flex-start;flex-direction:column;gap:8px}.list-heading h2{margin-bottom:0}
 .visit-card{padding:22px 18px}.visit-top{flex-wrap:wrap;align-items:flex-start}.visit-details{grid-template-columns:1fr;font-size:18px;gap:18px}.visit-actions{flex-wrap:wrap}.visit-actions button{width:100%;justify-content:center}
 #preferences-panel{padding:22px 18px}#preferences-panel h2{font-size:30px}#age-options{gap:10px}.age-option{flex:1 1 120px}
}
@media(max-width:360px){.hero-photo{height:410px}.photo-kicker{font-size:10px}.photo-caption{left:18px;font-size:21px}.photo-caption strong{font-size:28px}.eyebrow{font-size:12px}header .brand{font-size:24px}}

#admin-panel{max-width:1280px;margin:auto;padding:48px;min-height:72vh}#admin-panel h1{font-size:46px;letter-spacing:-1.5px}.review-check{display:flex;gap:12px;align-items:flex-start}.review-check input{width:26px;height:26px;min-height:26px;flex-shrink:0;accent-color:var(--green)}header:has(#admin-nav:not([hidden])){height:auto;min-height:104px;gap:20px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px}header:has(#admin-nav:not([hidden])) nav{flex-wrap:wrap;gap:16px}@media(max-width:700px){#admin-panel{padding:32px 20px}#admin-panel h1{font-size:36px}#admin-panel .button{width:100%}#admin-nav{white-space:normal;text-align:left}}

/* The guide remains reachable in signed-in views and on narrow screens. */
#how-link{display:inline-flex;align-items:center;min-height:48px;white-space:nowrap}#how{scroll-margin-top:24px}#how:focus-visible{outline:3px solid #7d9a44;outline-offset:-3px}@media(max-width:900px){header{height:auto;min-height:86px;padding-top:16px;padding-bottom:16px;flex-wrap:wrap;gap:12px}nav{flex-wrap:wrap;gap:12px 18px}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

/* Put the care image immediately after the headline on handheld screens. */
@media(max-width:700px){
 .hero{grid-template-areas:"eyebrow" "headline" "photo" "intro" "actions" "note";gap:18px;padding-top:24px;align-items:start}
 .hero-copy{display:contents}
 .hero-copy>.eyebrow{grid-area:eyebrow}
 .hero-copy>h1{grid-area:headline;margin:0;font-size:clamp(42px,10vw,60px)}
 .hero-photo{grid-area:photo;height:clamp(260px,42svh,360px);border-radius:60px 60px 20px 20px;max-width:480px}
 .hero-photo img{object-position:50% 32%}
 .hero-copy>.intro{grid-area:intro;margin:2px 0 0}
 .hero-copy>.hero-actions{grid-area:actions;margin:0}
 .hero-copy>.hero-note{grid-area:note}
 .photo-kicker{top:16px;font-size:10px;padding:8px 12px}
 .photo-caption{bottom:26px;left:22px;font-size:20px;gap:12px}
 .photo-caption strong{font-size:27px}
 .photo-heart{width:42px;height:42px;font-size:28px}
}

/* Make the three-step guide easier to read on every screen. */
#how-heading{font-size:clamp(38px,4vw,48px);line-height:1.2}
#how .steps h3{font-size:26px;line-height:1.35}
#how .steps p{font-size:20px;line-height:1.75}
#how .steps article>span{font-size:18px}
@media(max-width:700px){
 #how-heading{font-size:38px}
 #how .steps h3{font-size:25px}
 #how .steps p{font-size:20px}
}
