:root{--ink:#1f3935;--forest:#284b42;--deep:#183d35;--green:#789585;--soft:#e8eee6;--pale:#f6f7f2;--white:#fff;--beige:#f1e9dd;--sand:#ece0d0;--border:#e0e6dc;--muted:#69796e;--radius:20px;--serif:'DM Serif Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fafbf7;color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b18a5e;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.04em;font-weight:400}h1 em,h2 em,h3 em{font-family:var(--serif);font-weight:400}svg.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.container{max-width:1240px;margin:0 auto;padding-left:32px;padding-right:32px}.view[hidden],.booking-step-panel[hidden],.summary-preference[hidden],[hidden]{display:none!important}.demo-ribbon{background:var(--deep);color:#f7faf0;padding:5px 15px;text-align:center;font-size:10px;letter-spacing:.14em;font-weight:700}.demo-ribbon span{font-weight:400;letter-spacing:.04em;opacity:.86}.site-header{position:sticky;top:0;background:rgba(250,251,247,.96);backdrop-filter:blur(16px);border-bottom:1px solid #ebeee7;z-index:30}.header-inner{display:flex;align-items:center;gap:28px;min-height:84px}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand-mark{background:var(--forest);color:white;border-radius:13px;width:43px;height:43px;display:flex;align-items:center;justify-content:center}.brand-mark .icon{width:25px;height:25px}.brand-copy{font-size:18px;font-weight:700;letter-spacing:-.055em;line-height:1}.brand-copy small{font-family:var(--serif);font-size:19px;display:block;letter-spacing:0;font-weight:400;font-style:italic;margin-top:4px}.nav-links{display:flex;align-items:center;justify-content:center;gap:34px;margin-left:auto}.nav-links a{font-size:12px;font-weight:700;white-space:nowrap;color:#53685d}.nav-links a:hover{color:var(--deep)}.btn{border:0;min-height:46px;border-radius:100px;padding:11px 22px;font-size:13px;line-height:1.3;font-weight:700;display:inline-flex;justify-content:center;align-items:center;gap:17px;transition:transform .2s,background .2s,box-shadow .2s;white-space:nowrap}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 7px 18px #1b3c2e17}.btn:disabled{opacity:.45;cursor:not-allowed}.btn .icon{width:16px;height:16px}.btn-dark{color:white;background:var(--forest)}.btn-dark:hover:not(:disabled){background:#183b32}.btn-light{background:#f5f4eb;color:var(--forest)}.btn-outline{border:1px solid #9fae9d;background:transparent;color:var(--forest)}.btn-large{min-height:57px;padding:16px 26px}.menu-toggle{display:none;border:0;background:transparent;padding:9px;margin-left:auto;color:var(--forest)}
.hero{display:grid;grid-template-columns:1fr .93fr;gap:56px;align-items:center;min-height:650px;padding-top:66px;padding-bottom:76px}.eyebrow,.section-topline{font-weight:700;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#628272}.eyebrow{display:inline-flex;align-items:center;gap:10px;background:#edf2e9;padding:9px 15px;border-radius:100px;letter-spacing:.04em;text-transform:none;font-size:12px}.eyebrow-dot{background:#709b7a;width:8px;height:8px;border-radius:50%}.hero h1{font-size:clamp(60px,5.7vw,88px);line-height:1.05;margin:30px 0 26px}.hero h1 em{color:#668c72;white-space:nowrap}.hero-description{font-size:16px;line-height:1.9;max-width:500px;color:#5b7064;margin-bottom:30px}.hero-actions{display:flex;align-items:center;gap:30px}.text-link{font-weight:700;font-size:13px}.text-link span{font-size:18px;margin-left:7px}.hero-reassurance{display:flex;flex-wrap:wrap;gap:15px;margin-top:48px;color:#577264;font-size:11px;font-weight:600}.hero-reassurance span{display:flex;gap:4px;align-items:center}.hero-reassurance .icon{width:15px;height:15px}.hero-art{height:530px;position:relative;background:#e8ede5;border-radius:230px 230px 30px 30px;overflow:hidden}.hero-art:before{content:'';inset:16px;border:1px solid rgba(69,104,86,.15);border-radius:230px 230px 22px 22px;position:absolute;pointer-events:none}.home-art{width:100%;height:100%;max-width:570px;position:absolute;left:50%;top:52%;transform:translate(-50%,-50%)}.art-label{position:absolute;z-index:2;background:#f7f9f2;color:#365f4d;border-radius:40px;box-shadow:0 9px 40px #37554018;padding:11px 17px;font-size:11px;font-weight:700;display:flex;align-items:center;gap:7px}.art-label-top{top:62px;left:-4px;transform:rotate(-5deg)}.art-label .icon{width:16px;height:16px;color:#b78e55}.art-signature{position:absolute;z-index:2;right:22px;bottom:23px;display:flex;align-items:center;gap:11px;background:white;border-radius:16px;padding:13px 18px;box-shadow:0 10px 30px #234a391c}.signature-spark{font-size:25px;color:#c59764}.art-signature strong,.art-signature small{display:block}.art-signature strong{font-family:var(--serif);font-weight:400;font-size:17px}.art-signature small{font-size:10px;color:var(--muted)}.benefits-strip{border-top:1px solid #e5e9df;border-bottom:1px solid #e5e9df;background:#f3f6f0}.strip-inner{display:flex;justify-content:center;gap:34px;align-items:center;min-height:89px}.strip-inner div{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;color:#47695b}.strip-inner .icon{width:19px;height:19px}.strip-separator{height:22px;border-right:1px solid #d1ddcf}.section{padding-top:118px;padding-bottom:118px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-top:14px;margin-bottom:43px}.section-heading h2,.personal-copy h2,.pricing-section h2,.faq-section h2{font-size:clamp(42px,4vw,62px);line-height:1.12;margin-bottom:0}.section-heading h2 em,.personal-copy h2 em,.faq-section h2 em{color:#779680}.section-heading p{max-width:340px;font-size:14px;color:var(--muted);line-height:1.9;margin:0 0 6px}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.how-card{position:relative;border:1px solid #e5e9e0;background:#fff;border-radius:18px;min-height:276px;padding:27px 27px 32px}.how-number{position:absolute;top:23px;right:27px;color:#b2c0b1;font-family:var(--serif);font-size:21px}.how-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:17px;background:#edf2e9;color:#628272;margin-bottom:27px}.how-icon .icon{width:27px;height:27px}.how-card h3{font-size:17px;letter-spacing:-.025em;margin-bottom:9px}.how-card p{font-size:13px;color:#748178;line-height:1.8;margin:0}.personal-section{background:#f1f3ed}.personal-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.personal-visual{background:#dbe7d8;height:490px;border-radius:18px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.personal-arch{width:64%;height:77%;border-radius:200px 200px 0 0;background:#f8f7ee;border:9px solid #b7cdb8;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative}.personal-w{font-family:var(--serif);font-size:172px;line-height:1;color:#4d7761;position:relative}.personal-w span{position:absolute;color:#ceaa76;font-size:42px;right:-35px;top:25px}.personal-visual-caption{position:absolute;bottom:35px;text-align:center;font-family:var(--serif);font-style:italic;font-size:17px;color:#6d8879}.personal-note{position:absolute;bottom:18px;left:15px;padding:18px 22px;border-radius:14px;background:#fff;font-weight:700;font-size:14px;line-height:1.6;transform:rotate(-7deg);box-shadow:0 8px 22px #2947291c}.personal-note em{font-family:var(--serif);font-weight:400;color:#668a70;font-size:20px}.personal-copy h2{margin:20px 0 28px}.personal-copy p{max-width:470px;color:#64786c;font-size:14px;line-height:2;margin-bottom:20px}.personal-copy .btn{margin-top:20px}.pricing-section{padding-bottom:30px}.price-band{background:var(--forest);color:white;border-radius:23px;padding:62px 68px;display:flex;align-items:center;justify-content:space-between;gap:40px;overflow:hidden;position:relative}.price-band:after{content:'✳';position:absolute;font-size:420px;line-height:1;opacity:.035;left:24%;top:-95px;pointer-events:none}.price-band>div{z-index:1}.price-band .section-topline{color:#bcd7c3}.price-band h2{margin:18px 0}.price-band p{max-width:370px;color:#d1e0d4;font-size:14px;line-height:1.9}.price-rate{text-align:center;min-width:235px}.price-rate>div{display:flex;align-items:baseline;justify-content:center;gap:5px}.price-rate>div span{font-size:13px;color:#cae0cf}.price-rate strong{font-family:var(--serif);font-size:89px;line-height:1.1;font-weight:400}.price-rate small{display:block;color:#cde0d4;margin-bottom:20px}.pricing-footnote{text-align:center;color:#79897b;font-size:12px;line-height:1.7;padding:20px 12px}.faq-section{max-width:1000px;padding-top:80px}.faq-section h2{margin:16px 0 42px}.faq-list{border-top:1px solid #dfe7da}.faq-list details{border-bottom:1px solid #dfe7da;padding:24px 0}.faq-list summary{list-style:none;display:flex;justify-content:space-between;gap:30px;font-size:16px;font-weight:700;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:24px;font-weight:400;color:#789780;line-height:1}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{max-width:730px;margin:15px 35px 0 0;color:#697d6f;font-size:13px;line-height:1.9}.closing-section{background:#dce9d8;padding:75px 0}.closing-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.closing-inner span{font-size:11px;font-weight:700;letter-spacing:.13em;color:#6b8b71}.closing-inner h2{font-size:clamp(36px,4vw,60px);line-height:1.12;margin:12px 0 0}.closing-inner h2 em{color:#6d9476}.closing-section .btn-light{background:var(--forest);color:white}.footer{background:#fafbf7;padding:40px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand{font-weight:700;font-size:18px;letter-spacing:-.05em}.footer-brand em{font-family:var(--serif);font-size:20px;font-weight:400;letter-spacing:0}.footer p,.footer-right{color:#7d8e7f;font-size:11px}.footer p{margin:7px 0 0}.footer-right{text-align:right}.footer-right span,.footer-right small{display:block}.footer-right small{margin-top:8px}
/* Booking flow */
.booking-section{padding:34px 0 110px;background:#fafbf7;min-height:75vh}.booking-top{display:flex;align-items:center;justify-content:space-between}.back-home{background:transparent;border:0;padding:0;font-size:12px;color:var(--muted);font-weight:700}.booking-kicker{font-family:var(--serif);font-style:italic;color:#829987;font-size:17px}.stepper{display:flex;align-items:center;justify-content:center;max-width:590px;margin:45px auto 58px}.step{position:relative;display:flex;gap:8px;align-items:center;opacity:.45}.step span{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;border:1px solid #97ae9c;font-size:11px;font-weight:700}.step label{font-size:11px;white-space:nowrap;font-weight:700}.step.active,.step.completed{opacity:1}.step.active span{background:var(--forest);color:white;border-color:var(--forest)}.step.completed span{background:#dce8da;border-color:#dce8da;color:var(--forest)}.step-line{height:1px;width:34px;background:#ccdacb;margin:0 13px}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 326px;gap:38px;align-items:start;max-width:1050px;margin:0 auto}.booking-main{min-width:0}.panel-head{margin-bottom:30px}.panel-head h2,.booking-step-panel>h2{font-size:clamp(36px,4vw,52px);line-height:1.2;margin:9px 0 14px}.panel-head h2 em,.booking-step-panel>h2 em{color:#75957c}.panel-head p{color:var(--muted);font-size:13px;line-height:1.8;margin-bottom:0}.room-list{background:white;border:1px solid var(--border);border-radius:18px;overflow:hidden}.room-row{min-height:87px;display:flex;gap:15px;align-items:center;padding:17px 21px;border-bottom:1px solid #edf0e9}.room-row:last-child{border-bottom:0}.room-icon{background:#eef2ec;color:#648574;border-radius:12px;width:47px;height:47px;display:grid;place-items:center}.room-icon .icon{height:23px;width:23px}.room-info{flex:1}.room-info strong,.room-info small{display:block}.room-info strong{font-size:14px}.room-info small{font-size:12px;color:#829083}.counter{display:flex;align-items:center;gap:12px}.counter button{border:1px solid #dce6db;background:white;width:32px;height:32px;border-radius:50%;font-size:20px;color:var(--forest);display:grid;place-items:center;line-height:1}.counter button:hover{background:#eaf0e8}.counter button:disabled{opacity:.28;cursor:default}.counter output{width:18px;text-align:center;font-size:14px;font-weight:700}.frequency-section{margin-top:34px}.frequency-section h3,.times-container h3{font-size:15px;margin-bottom:15px}.frequency-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.frequency-option{text-align:left;padding:17px 13px;background:white;border:1px solid var(--border);border-radius:13px;font-weight:700;font-size:13px;color:var(--ink);transition:border-color .2s,background .2s}.frequency-option small{display:block;font-size:10px;font-weight:400;margin-top:3px;color:#829083}.frequency-option.selected{background:#eaf1e8;border:1.5px solid #74947f}.panel-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:32px}.fine-note{font-size:11px;color:#809285}.btn-back{background:transparent;color:#6d7e70;padding:12px 6px}.quote-summary{border:1px solid #dce5d9;background:#f0f4ed;border-radius:20px;padding:28px 27px;position:sticky;top:115px}.summary-badge{font-size:10px;letter-spacing:.1em;font-weight:700;color:#668570;display:flex;gap:7px;align-items:center}.summary-badge .icon{width:16px;height:16px}.quote-summary h3{font-size:25px;font-family:var(--serif);font-weight:400;line-height:1.3;margin:22px 0}.quote-summary h3 em{color:#779984}.quote-amount{display:flex;align-items:baseline;gap:10px;margin-bottom:20px;flex-wrap:wrap}.quote-amount strong{font-weight:400;font-size:42px;font-family:var(--serif);letter-spacing:-.04em}.quote-amount>span{font-size:11px;color:var(--muted)}.quote-divider{height:1px;background:#d8e2d5;margin:19px 0}.summary-line{display:flex;justify-content:space-between;gap:9px;margin:12px 0;font-size:12px;color:#6e7d71}.summary-line strong{font-size:12px;text-align:right;color:var(--ink)}.summary-footnote{font-size:11px;color:#718476;line-height:1.7;display:flex;gap:9px;margin:0}.summary-footnote .icon{margin-top:2px;width:18px;height:18px}.sample-banner{background:#f2ede1;color:#6f634c;padding:15px 17px;border-radius:12px;display:flex;gap:12px;align-items:flex-start;font-size:12px;line-height:1.65;margin-bottom:22px}.sample-banner .icon{color:#a1865d;flex-shrink:0;margin-top:2px}.calendar-box{border:1px solid var(--border);background:#fff;border-radius:17px;padding:20px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.calendar-heading h3{font-size:17px;margin:0}.calendar-navigation{display:flex;gap:6px}.calendar-navigation button{display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:#f2f6ef;border:0;color:var(--forest);font-size:23px}.calendar-navigation button:disabled{opacity:.3;cursor:default}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.weekdays{font-size:10px;color:#8a9a8a;text-align:center;margin-bottom:11px;font-weight:700}.calendar-days button,.calendar-days .blank{height:48px;display:grid;place-items:center;border-radius:10px;font-size:12px}.calendar-days button{position:relative;background:transparent;border:1px solid transparent;color:var(--ink)}.calendar-days button:disabled{color:#c4cec4;cursor:default}.calendar-days button.available:not(.selected){background:#f1f5ef}.calendar-days button.available:hover{border-color:#72927b}.calendar-days button.selected{color:white;background:var(--forest)}.calendar-days button.today:not(.selected){border-color:#b2c4b6}.calendar-legend{display:flex;gap:20px;align-items:center;margin-top:17px;font-size:10px;color:#819384}.legend-dot{width:9px;height:9px;border-radius:3px;display:inline-block;margin-right:4px}.legend-dot.available{background:#d9e7d7}.legend-dot.selected{background:var(--forest)}.times-container{margin-top:27px}.times-container p{color:#7a8e80;font-size:12px}.time-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.time-buttons button{border:1px solid var(--border);background:white;border-radius:12px;padding:15px 7px;font-weight:700;color:var(--ink);font-size:12px}.time-buttons button.selected{border-color:#74967e;background:#e8f0e5}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field span{font-size:12px;font-weight:700}.field b{color:#b77a67}.field span small{color:#9aa79a;font-weight:400}.field input,.field textarea{min-width:0;width:100%;border-radius:10px;border:1px solid #dfe5dc;background:white;color:var(--ink);padding:13px 15px;outline:none;font-size:13px}.field input:focus,.field textarea:focus{border-color:#7e9b82;box-shadow:0 0 0 3px #e1ece0}.field input::placeholder,.field textarea::placeholder{color:#a0ada0}.field textarea{resize:vertical;min-height:106px}.field input.invalid{border-color:#bc695e;background:#fff9f7}.upload-area{display:flex;gap:17px;padding:23px;border:1px dashed #b7c7b5;border-radius:13px;background:#f6f8f2;margin-top:26px}.upload-icon{width:43px;height:43px;display:grid;place-items:center;flex-shrink:0;background:#e9efe5;color:#668373;border-radius:12px}.upload-area strong{font-size:13px}.upload-area strong span{color:#7e917f;font-weight:400}.upload-area p{color:#7c8b7b;font-size:11px;margin:7px 0 12px;line-height:1.7}.upload-label{border:1px solid #94aa9a;background:white;border-radius:50px;padding:8px 15px;font-weight:700;font-size:11px;cursor:pointer;display:inline-block}.upload-area input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.uploaded-files{font-size:11px;color:#647e68;margin-top:8px}.agree-row{display:flex;gap:12px;align-items:start;margin-top:23px;color:#71816f;font-size:12px;line-height:1.7;cursor:pointer}.agree-row input{accent-color:var(--forest);margin-top:4px;flex-shrink:0}.agree-row strong{color:var(--ink)}.form-error{margin-top:17px;padding:11px 13px;background:#fcece7;border:1px solid #efc5bc;border-radius:10px;color:#8a3d30;font-size:12px}.success-symbol{height:60px;width:60px;display:grid;place-items:center;background:#e1efdb;color:var(--forest);border-radius:50%;margin-bottom:25px}.success-symbol .icon{width:35px;height:35px}.review-lead{font-size:14px;color:var(--muted);line-height:1.85;max-width:590px}.review-detail{background:white;border:1px solid var(--border);border-radius:15px;padding:14px 23px;margin:25px 0}.review-row{display:grid;grid-template-columns:150px 1fr;gap:15px;border-bottom:1px solid #edf0e9;padding:14px 0;font-size:12px;overflow-wrap:anywhere}.review-row:last-child{border-bottom:0}.review-row span{color:#7b907d}.review-row strong{font-weight:600;color:var(--ink)}.review-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.copy-status{font-size:12px;color:#67856b;margin-top:15px}
@media(max-width:1060px){.container{padding-left:26px;padding-right:26px}.nav-links{gap:19px}.hero{gap:30px}.hero h1{font-size:clamp(52px,6.5vw,73px)}.hero-art{height:480px}.hero-reassurance{margin-top:32px}.personal-grid{gap:55px}.booking-layout{grid-template-columns:minmax(0,1fr) 292px;gap:21px}}
@media(max-width:780px){.header-inner{min-height:69px}.menu-toggle{display:grid;place-items:center}.header-cta{display:none}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#fafbf7;box-shadow:0 13px 18px #18372918;padding:12px 27px 20px}.nav-links.open{display:flex}.nav-links a{font-size:14px;padding:12px 4px}.hero{grid-template-columns:1fr;min-height:0;padding-top:55px;padding-bottom:64px;gap:48px}.hero-copy{max-width:640px}.hero h1{font-size:clamp(52px,9vw,80px)}.hero-art{width:min(100%,560px);height:510px;justify-self:center}.strip-inner{gap:18px;flex-wrap:wrap;padding-top:20px;padding-bottom:20px}.strip-inner div{font-size:11px}.strip-separator{display:none}.section{padding-top:80px;padding-bottom:80px}.section-heading{display:block}.section-heading h2{margin:12px 0 16px}.how-grid{gap:11px}.how-card{padding:20px;min-height:280px}.personal-grid{gap:35px}.personal-visual{height:370px}.personal-w{font-size:130px}.personal-visual-caption{font-size:13px;bottom:28px}.personal-note{padding:12px 15px}.price-band{padding:42px 38px}.price-rate strong{font-size:70px}.booking-layout{grid-template-columns:minmax(0,1fr)}.quote-summary{position:static;grid-row:1;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.quote-summary h3{margin:7px 0 10px}.quote-amount{margin:0;justify-content:end}.quote-divider{grid-column:1/-1;margin:12px 0}.summary-line{margin:6px 0}.quote-summary .summary-preference{display:contents}.quote-summary .summary-preference[hidden]{display:none!important}.quote-summary .summary-preference .quote-divider{display:none}.quote-summary .summary-footnote{grid-column:1/-1}.booking-step-panel{margin-top:14px}.stepper{margin:30px auto 35px}}
@media(max-width:560px){.container{padding-left:20px;padding-right:20px}.demo-ribbon{font-size:9px;letter-spacing:.05em}.demo-ribbon span{display:inline}.brand-copy{font-size:16px}.brand-copy small{font-size:18px}.brand-mark{width:39px;height:39px}.hero{padding-top:44px;gap:36px}.hero h1{font-size:clamp(43px,12vw,63px);margin:25px 0 19px}.hero h1 em{white-space:normal}.hero-description{font-size:14px;line-height:1.8}.hero-actions{gap:20px;flex-wrap:wrap}.hero-actions .btn{min-height:51px}.hero-reassurance{margin-top:25px;gap:10px 14px}.hero-art{height:390px;border-radius:180px 180px 23px 23px}.art-label-top{top:35px;left:4px}.home-art{width:115%;max-width:none}.art-signature{right:10px;bottom:11px;padding:9px 12px}.art-signature strong{font-size:14px}.strip-inner{justify-content:start;gap:13px}.strip-inner div{width:100%}.section{padding-top:75px;padding-bottom:75px}.section-heading h2,.personal-copy h2,.pricing-section h2,.faq-section h2{font-size:43px}.how-grid{grid-template-columns:1fr}.how-card{min-height:auto;padding:23px}.how-icon{margin-bottom:15px}.personal-grid{grid-template-columns:1fr}.personal-visual{height:370px;max-width:430px;width:100%}.personal-copy h2{margin-bottom:18px}.price-band{display:block;padding:38px 29px}.price-band h2{font-size:43px}.price-rate{margin-top:24px;text-align:left}.price-rate>div{justify-content:start}.price-rate small{margin-bottom:15px}.faq-list summary{font-size:14px}.closing-inner{display:block}.closing-inner h2{font-size:39px;margin-bottom:28px}.footer-inner{align-items:start;flex-direction:column}.footer-right{text-align:left}.booking-section{padding-top:23px}.booking-kicker{display:none}.stepper{justify-content:start}.step{gap:5px}.step span{width:27px;height:27px}.step label{font-size:9px}.step-line{width:14px;margin:0 5px}.booking-layout{gap:15px}.quote-summary{padding:19px 18px}.quote-summary h3{font-size:22px}.quote-amount strong{font-size:35px}.summary-badge{font-size:9px}.summary-line{font-size:11px}.summary-line strong{font-size:11px}.panel-head h2,.booking-step-panel>h2{font-size:39px}.room-row{padding:13px 14px;gap:10px;min-height:76px}.room-icon{height:40px;width:40px}.room-info strong{font-size:13px}.room-info small{font-size:11px}.counter{gap:8px}.counter button{width:30px;height:30px}.frequency-choices{grid-template-columns:1fr;gap:8px}.frequency-option{display:flex;align-items:baseline;justify-content:space-between;padding:13px 15px}.frequency-option small{margin:0}.panel-actions{flex-wrap:wrap}.panel-actions .fine-note{width:100%}.panel-actions .btn-dark{margin-left:auto}.calendar-box{padding:13px}.calendar-grid{gap:4px}.calendar-days button,.calendar-days .blank{height:39px}.calendar-legend{gap:13px;flex-wrap:wrap}.time-buttons{gap:7px}.form-grid{grid-template-columns:1fr;gap:15px}.field.full{grid-column:auto}.review-row{grid-template-columns:105px 1fr;gap:10px}.review-detail{padding:13px 17px}.review-actions .btn{white-space:normal;text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* v2: per-room deep cleaning and conditional pet questions */
.room-row{display:grid;grid-template-columns:47px minmax(0,1fr) auto;align-items:center;column-gap:15px;row-gap:8px}
.room-icon{grid-column:1;grid-row:1}
.room-info{grid-column:2;grid-row:1;min-width:0}
.counter{grid-column:3;grid-row:1}
.deep-clean-wrap{grid-column:2 / 4;grid-row:2;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.deep-toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid #ccdbcc;background:#f6f8f4;border-radius:100px;padding:6px 13px;font-size:12px;line-height:1.4;color:#456b55;transition:background .15s,border-color .15s}
.deep-toggle strong{font-size:12px}
.deep-toggle[aria-pressed="true"]{background:#dfeee0;border-color:#76a084;color:#265b40}
.deep-toggle:disabled{opacity:.4;cursor:not-allowed}
.deep-hint{font-size:11px;color:#7b9180}
.pet-choice{border:0;padding:0;margin:0;min-width:0}
.pet-choice legend{font-weight:700;font-size:12px;padding:0;margin-bottom:9px}
.pet-choice legend b{color:#b77a67}
.pet-options{display:flex;gap:12px;flex-wrap:wrap}
.pet-option{display:flex;align-items:center;gap:9px;min-width:95px;border:1px solid #dfe5dc;background:#fff;border-radius:11px;padding:10px 16px;font-size:13px;font-weight:600;cursor:pointer}
.pet-option:has(input:checked){background:#e7f1e6;border-color:#81a389;color:#315d47}
.pet-option input{width:17px;height:17px;accent-color:#3c6d53}
#pet-count-field{margin-top:0}
@media(max-width:560px){.room-row{grid-template-columns:40px minmax(0,1fr) auto;gap:7px 10px}.deep-clean-wrap{gap:8px}.deep-toggle{font-size:11px;padding:6px 10px}.deep-toggle strong{font-size:11px}.deep-hint{font-size:10px}}
.pet-choice.full{grid-column:1/-1}
