@font-face{font-family:'Exo 2';src:url('fonts/Exo2-VariableFont_wght.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
:root{--ink:#19392f;--green:#28584a;--green-dark:#183b31;--soft:#eef6f1;--peach:#f7e4dd;--sand:#faf8f3;--line:#d9e3db;--text:#243c33;--muted:#667a70;--radius:20px;font-family:'Exo 2',Arial,Helvetica,sans-serif;color:var(--text);background:#fff;font-size:16px;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink)}h1,h2,h3,.service-row strong,.about-mark{font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}fieldset{border:0;padding:0;margin:0}legend{font-weight:700}.shell{max-width:1230px;width:calc(100% - 64px);margin-inline:auto}.site-header{height:94px;background:#fff}.nav{height:100%;display:flex;align-items:center;gap:48px}.brand{display:block;margin-right:auto}.brand img{width:72px;height:72px;object-fit:contain}.nav nav{display:flex;align-items:center;gap:38px;font-size:.93rem;font-weight:600}.nav nav a:hover,.section-head a:hover{color:#bd7267}.nav-action{border:1px solid var(--green);border-radius:100px;padding:14px 22px;font-size:.9rem;font-weight:700;white-space:nowrap}.nav-action span{margin-left:15px}.nav-action:hover{background:var(--green);color:#fff}
.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#6c8a75;display:flex;align-items:center;gap:12px}.eyebrow-line{display:inline-block;width:27px;height:1px;background:currentColor}.hero{display:grid;grid-template-columns:.95fr 1.05fr;gap:60px;align-items:center;min-height:640px;padding-block:56px 70px}.hero-copy{padding:0 0 0 22px}.hero h1{font-size:clamp(4rem,7.1vw,7.5rem);line-height:.96;letter-spacing:-.075em;font-weight:500;max-width:550px;margin:30px 0 28px}.hero-copy>p{font-size:1.16rem;line-height:1.7;max-width:465px;color:#61736a}.button{background:var(--green);color:white;border:1px solid var(--green);border-radius:100px;padding:17px 27px;font-size:.96rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:40px;transition:background .2s,transform .2s}.button:hover{background:var(--green-dark);transform:translateY(-2px)}.hero-button{margin-top:20px}.hero-location{display:flex;align-items:flex-start;gap:12px;margin-top:44px;max-width:420px;color:#778980;font-size:.84rem;line-height:1.5}.pin{font-size:1.4rem;color:var(--green)}.hero-visual{position:relative;height:570px;border-radius:260px 260px 24px 24px;background:#d9c6b4;overflow:visible}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:inherit}.hero-stamp{position:absolute;bottom:35px;left:-38px;width:128px;height:128px;background:#f6e5db;border:6px solid #fff;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.16;letter-spacing:.14em;font-size:.8rem;font-weight:800;transform:rotate(-16deg)}
.booking-section{background:var(--soft);padding:110px 0 120px}.booking-layout{display:grid;grid-template-columns:.74fr 1.26fr;gap:70px;align-items:start}.booking-intro{padding:60px 0 0 25px}.booking-intro h2,.section-head h2{font-size:clamp(3.2rem,5vw,5.8rem);font-weight:500;line-height:1;letter-spacing:-.07em;margin:26px 0}.booking-intro h2 em{font-family:Georgia,serif;font-weight:400;color:#b7786c}.booking-intro p{color:#5d7568;line-height:1.8;font-size:1.08rem;max-width:380px}.booking-photo{margin-top:70px;width:85%;max-width:370px;height:305px;border-radius:170px 170px 16px 16px;overflow:hidden}.booking-photo img{height:100%;width:100%;object-fit:cover}.booking-card{background:#fff;border-radius:24px;padding:39px 44px 43px;box-shadow:0 24px 70px #1f524318}.card-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:28px}.step-label{color:#8ba497;letter-spacing:.18em;font-size:.68rem;font-weight:800}.card-heading h3{font-size:1.75rem;font-weight:600;letter-spacing:-.04em;margin:8px 0 0}.duration-badge{border:1px solid var(--line);border-radius:100px;color:#668475;padding:9px 12px;font-size:.7rem;font-weight:800;white-space:nowrap}.booking-card fieldset{margin-top:28px}.booking-card legend{font-size:1.02rem;margin-bottom:18px}.step-number{display:inline-flex;justify-content:center;align-items:center;width:31px;height:31px;border-radius:50%;background:#e7f0e9;color:var(--green);font-size:.78rem;margin-right:10px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.service-choice{display:block;cursor:pointer}.service-choice input{position:absolute;opacity:0;width:1px;height:1px}.choice-inner{display:flex;flex-direction:column;gap:7px;border:1.5px solid var(--line);border-radius:14px;padding:20px;min-height:132px;transition:border .2s,background .2s}.choice-icon{font-size:1.9rem;line-height:1;color:#85aa96}.choice-inner strong{font-size:1rem}.choice-inner small{color:var(--muted);font-size:.84rem}.service-choice input:checked+.choice-inner{border-color:var(--green);background:#f2f9f3}.service-choice input:focus-visible+.choice-inner{outline:3px solid #b6d5be;outline-offset:2px}.date-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;text-transform:capitalize;font-size:.88rem;font-weight:700}.date-head button{border:1px solid var(--line);background:#fff;border-radius:50%;width:31px;height:31px;font-size:1.4rem;line-height:1}.date-head button:disabled{opacity:.35;cursor:not-allowed}.date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.date-button{border:1px solid var(--line);border-radius:12px;background:#fff;min-height:67px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.date-button span{color:var(--muted);font-size:.71rem;text-transform:capitalize}.date-button strong{font-size:1rem}.date-button.is-selected,.time-button.is-selected{background:var(--green);color:#fff;border-color:var(--green)}.date-button.is-selected span{color:#e6f5e9}.muted{color:var(--muted);font-size:.85rem;min-height:18px}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:12px}.time-button{padding:12px 5px;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:700}.details{border-top:1px solid var(--line);padding-top:27px!important}.details label,.admin-form label,.install label{display:flex;flex-direction:column;gap:8px;font-size:.82rem;font-weight:700;color:var(--ink);margin-bottom:16px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.details input:not([type=checkbox]),.install input,.admin-form input:not([type=checkbox]),.admin-form textarea,.admin-form select{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:13px 14px;color:var(--ink);min-height:48px;outline:none}.details input:focus,.admin-form input:focus,.admin-form textarea:focus{border-color:var(--green)}.check{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:12px!important;margin-top:12px;font-size:.78rem!important;line-height:1.45;color:var(--muted)!important;font-weight:400!important}.check input{accent-color:var(--green);width:17px;height:17px;flex-shrink:0}.submit-button{width:100%;justify-content:space-between;margin-top:9px}.submit-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.small-note{font-size:.73rem;line-height:1.5;color:#8a9a90;text-align:center;margin:14px 0 0}.success{background:#e8f6eb;border:1px solid #acd1b4;color:#204f36;border-radius:12px;padding:15px 18px;margin-bottom:24px;line-height:1.5}.alert{background:#fff0ef;border:1px solid #e5a8a1;color:#7d2822;border-radius:10px;padding:14px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.about-section{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center;padding-block:120px}.about-mark{font-size:clamp(4rem,7vw,8rem);line-height:.88;letter-spacing:-.08em;color:#d9e8df;font-weight:800}.about-mark span{color:#bc8276}.about-copy h2{font-size:clamp(2.7rem,4vw,4.5rem);letter-spacing:-.06em;font-weight:500;margin:25px 0}.about-copy p{font-size:1.08rem;line-height:1.85;color:#607268}.about-copy blockquote{font-family:Georgia,serif;font-size:1.65rem;font-style:italic;line-height:1.3;color:#b57b70;margin:35px 0 0}.services-section{background:#faeae2;padding:100px 0 120px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px}.section-head a{font-weight:700;padding-bottom:35px}.service-list{border-top:1px solid #d8c8c1;margin-top:30px}.service-row{display:grid;grid-template-columns:70px 1fr 150px 35px;gap:20px;align-items:center;border-bottom:1px solid #d8c8c1;padding:31px 5px}.service-row:hover{color:#ab635c}.service-n{color:#a28b80;font-size:.8rem}.service-row strong{font-size:clamp(1.6rem,3vw,2.9rem);font-weight:500;letter-spacing:-.04em}.service-row>span:nth-child(3){color:#796e69}.row-arrow{font-size:1.5rem}footer{background:#204a3c;color:#fff}.footer-main{display:grid;grid-template-columns:1.15fr 1fr auto;gap:80px;align-items:start;padding:78px 0}.footer-main img{border-radius:50%;background:#fff}.footer-main p{max-width:310px;line-height:1.6;color:#d7e5dc;margin:26px 0 0}.footer-main>div:nth-child(2) a{display:block;font-size:1.1rem;margin-top:18px}.footer-main .eyebrow{color:#afcbbb}.footer-book{border-bottom:1px solid #94bca7;padding-bottom:8px}.footer-bottom{border-top:1px solid #527464;display:flex;justify-content:space-between;padding:22px 0;color:#bcd1c4;font-size:.76rem}
.install{max-width:520px;margin:8vh auto!important}.card,.admin-panel{background:#fff;border-radius:20px;padding:36px;box-shadow:0 15px 50px #21413212}.install h1{font-size:2rem;margin:20px 0}.install .button{width:100%}.install>a{display:block;text-align:center;margin-top:23px}.admin-body{background:#f4f7f4}.admin-top{background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:30px;padding:12px max(32px,calc((100vw - 1230px)/2))}.admin-top>a{margin-right:auto}.admin-top nav{display:flex;gap:24px}.admin-top form{margin:0}.text-button{border:0;background:none;color:var(--green);font-weight:700}.admin-main{max-width:1230px;width:calc(100% - 64px);margin:40px auto 100px}.admin-title h1{font-size:clamp(2.3rem,4vw,4rem);letter-spacing:-.06em;margin:15px 0 6px}.admin-title p,.admin-panel>p{color:var(--muted)}.admin-panel{box-shadow:none;border:1px solid var(--line);margin:28px 0;scroll-margin-top:20px}.admin-panel h2{font-size:1.7rem;margin:0 0 16px}.inline-form{display:grid;grid-template-columns:1.3fr 1fr 1.5fr .8fr .9fr auto;gap:12px;align-items:end;margin:32px 0}.admin-form label{margin:0}.admin-form .button{border-radius:10px;white-space:nowrap;min-height:48px}.filter-form{display:flex;gap:12px;align-items:end;margin:30px 0 12px}.filter-form label{display:flex;flex-direction:column;gap:5px;font-size:.85rem}.filter-form input{min-height:38px}.filter-form button,.row-form button,.password-form button{border:1px solid var(--green);background:#fff;color:var(--green);border-radius:8px;padding:9px 13px;font-weight:700}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:700px;text-align:left}th,td{padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:middle}th{color:#687e70;font-size:.77rem;text-transform:uppercase;letter-spacing:.08em}td{font-size:.91rem;line-height:1.5}td small{color:var(--muted)}.row-form{display:flex;align-items:center;gap:10px}.row-form input[type=number]{width:64px;padding:8px;border:1px solid var(--line);border-radius:7px}.row-form select{padding:8px;border:1px solid var(--line);border-radius:7px}.tiny-check{white-space:nowrap;font-size:.78rem}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel-head a{color:var(--green);text-decoration:underline}.content-form{display:grid;gap:18px;max-width:840px}.content-form textarea{min-height:110px;resize:vertical}.content-form input[type=file]{padding:11px;font-size:.78rem}.content-form small{color:var(--muted);font-weight:400}.admin-panel hr{border:0;border-top:1px solid var(--line);margin:40px 0}.password-form{display:flex;align-items:end;gap:15px}.password-form label{width:240px}
@media(max-width:1050px){.hero{gap:35px}.hero-visual{height:510px}.booking-layout{grid-template-columns:.8fr 1.2fr;gap:32px}.booking-card{padding:30px}.inline-form{grid-template-columns:repeat(3,1fr)}.inline-form .button{align-self:end}.footer-main{gap:35px}}
@media(max-width:760px){.shell,.admin-main{width:calc(100% - 36px)}.site-header{height:76px}.nav{gap:16px}.brand img{width:58px;height:58px}.nav nav{display:none}.nav-action{margin-left:auto;padding:11px 17px;font-size:.82rem}.hero{display:flex;flex-direction:column;align-items:stretch;gap:35px;padding:38px 0 70px;min-height:0}.hero-copy{padding:0}.hero h1{font-size:clamp(3.9rem,14vw,6rem);margin:24px 0}.hero-copy>p{font-size:1rem}.hero-location{margin-top:25px}.hero-visual{height:430px;margin-left:20px}.hero-stamp{width:95px;height:95px;font-size:.62rem;left:-21px}.booking-section{padding:65px 0}.booking-layout{display:flex;flex-direction:column;gap:26px}.booking-intro{padding:0}.booking-intro h2{font-size:3.7rem}.booking-intro p{max-width:600px}.booking-photo{display:none}.booking-card{width:100%;padding:27px 20px}.card-heading h3{font-size:1.5rem}.about-section{grid-template-columns:1fr;gap:25px;padding-block:75px}.about-mark{font-size:4.4rem}.services-section{padding:70px 0}.section-head{display:block}.section-head a{display:inline-block;padding:0}.section-head h2{font-size:3.3rem}.service-row{grid-template-columns:35px 1fr 24px;gap:12px;padding:24px 0}.service-row>span:nth-child(3){display:none}.service-row strong{font-size:1.8rem}.footer-main{grid-template-columns:1fr 1fr;gap:35px;padding:60px 0}.footer-book{width:max-content}.admin-top{padding:10px 18px;flex-wrap:wrap;gap:10px}.admin-top nav{order:3;width:100%;justify-content:space-around;gap:4px;font-size:.85rem}.admin-main{margin-top:32px}.admin-panel{padding:23px 18px}.inline-form{grid-template-columns:repeat(2,1fr)}.password-form{display:block}.password-form label{width:100%;margin-bottom:14px}}
@media(max-width:430px){.date-grid{gap:4px}.date-button{min-height:62px;border-radius:8px}.date-button strong{font-size:.87rem}.date-button span{font-size:.62rem}.service-grid{gap:8px}.choice-inner{padding:15px;min-height:125px}.field-grid{grid-template-columns:1fr;gap:0}.time-grid{grid-template-columns:repeat(3,1fr)}.duration-badge{font-size:.6rem}.footer-main{grid-template-columns:1fr}.footer-bottom{gap:10px;flex-wrap:wrap}.inline-form{grid-template-columns:1fr}.hero-visual{height:360px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.button{transition:none}}
.choice-icon{display:flex;align-items:center;height:42px;color:var(--green)}.choice-icon svg{width:40px;height:40px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.service-choice input:checked+.choice-inner .choice-icon{color:#1c6347}
.import-box{display:grid;grid-template-columns:1fr 1.2fr;gap:30px;align-items:end;background:#eff6f0;border:1px solid var(--line);border-radius:16px;padding:24px;margin:35px 0}.import-box h3,.import-review h3{font-size:1.25rem;margin:0 0 8px}.import-box p{color:var(--muted);line-height:1.55;margin:0}.import-box p a{color:var(--green);text-decoration:underline;font-weight:700}.import-form{display:flex;align-items:end;gap:12px}.import-form label{display:flex;flex-direction:column;gap:7px;font-weight:700;font-size:.86rem;flex:1}.import-form input[type=file]{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px;max-width:100%;min-height:48px}.import-form .button{border-radius:9px;white-space:nowrap;min-height:48px}.import-review{border:1px solid #a6c8ae;background:#fbfefb;border-radius:16px;padding:22px;margin:25px 0}.import-review p{color:#526c5a;line-height:1.5}.import-review form{margin-top:20px}.import-review table{min-width:500px}.import-review .button{border-radius:9px}.admin-panel .alert ul{padding-left:20px;margin-bottom:0}.admin-panel .alert li{margin:5px 0}
@media(max-width:900px){.import-box{grid-template-columns:1fr}.import-form{flex-wrap:wrap}}@media(max-width:540px){.import-form{display:block}.import-form .button{margin-top:14px;width:100%}}
.demo-note{padding:14px 17px;margin:0 0 20px;border-radius:10px;border:1px solid #e3cfaa;background:#fff8e8;color:#745a31;line-height:1.5;font-size:.9rem}.demo-actions{display:flex;align-items:center;gap:18px;margin:22px 0}.demo-actions button,.email-test-form button{border:1px solid var(--green);background:#fff;color:var(--green);border-radius:9px;padding:12px 18px;font:inherit;font-weight:700;cursor:pointer}.demo-actions p{font-size:.85rem;color:var(--muted);margin:0;max-width:620px;line-height:1.5}.email-test-form{margin-top:14px}.content-form select{width:100%;border:1px solid var(--line);border-radius:10px;padding:13px;min-height:48px;background:#fff}.content-form>.tiny-check{display:flex;align-items:center;gap:10px;margin-bottom:20px}.content-form>.tiny-check input{width:auto}@media(max-width:650px){.demo-actions{display:block}.demo-actions p{margin-top:12px}}
