*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--font-body);line-height:1.6;color:var(--color-body);background:var(--color-bg)}
img{max-width:100%;height:auto}
a:focus-visible,button:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}
.skip{position:absolute;left:-999px;background:#fff;padding:8px}
.skip:focus{left:8px;top:8px;z-index:3000}
header{background:linear-gradient(135deg,var(--color-bg),var(--color-surface));padding:16px 40px;border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:16px}
.header-logo img{max-width:140px}
.wordmark{font-size:28px;font-weight:300;color:var(--color-heading)}
.header-tagline{font-size:12px;color:var(--color-primary);font-weight:300;letter-spacing:.8px}
.header-nav{display:flex;gap:32px}
.header-nav a{font-size:14px;color:var(--color-heading);text-decoration:none;font-weight:500}
.header-nav a:hover{color:var(--color-primary)}
.nav-toggle{display:none;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius);padding:8px 12px;color:var(--color-heading)}
.container{max-width:1000px;margin:0 auto;padding:0 20px}
.hero{padding:80px 20px;text-align:center;background:linear-gradient(180deg,var(--color-surface),var(--color-bg))}
.hero h1{font-family:var(--font-heading);font-size:42px;color:var(--color-heading);margin-bottom:16px;font-weight:300}
.hero p{font-size:18px;color:var(--color-muted);max-width:640px;margin:0 auto 32px}
.cta-buttons,.modal-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.btn,button.btn{display:inline-block;padding:12px 32px;font-size:14px;border-radius:var(--radius);text-decoration:none;cursor:pointer;font-weight:500;min-height:44px}
.btn-primary{background:var(--color-button);color:var(--color-button-text);border:2px solid var(--color-button)}
.btn-secondary{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}
.about,.text-section{padding:60px 20px;background:var(--color-surface);border-top:1px solid var(--color-border)}
.section-title{font-family:var(--font-heading);font-size:28px;color:var(--color-heading);text-align:center;margin-bottom:32px;font-weight:300}
.intro,.prose{text-align:center;font-size:16px;color:var(--color-muted);max-width:800px;margin:0 auto 32px}
.text-section.is-center .prose{text-align:center}
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px}
.feature-item{text-align:center}
.feature-icon{font-size:42px;margin-bottom:12px}
.feature-item h3{color:var(--color-heading);margin-bottom:8px}
.feature-item p{color:var(--color-muted);font-size:14px}
.services{padding:80px 20px;background:var(--color-bg)}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.service-card{display:block;background:var(--color-surface);padding:28px;border-radius:calc(var(--radius) * 2);border:1px solid var(--color-border);text-decoration:none;color:inherit}
.service-card:hover{border-color:var(--color-primary);transform:translateY(-3px)}
.service-card-header{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}
.service-card h3{color:var(--color-heading);font-size:18px}
.service-price{color:var(--color-heading);font-weight:600;white-space:nowrap}
.service-card p{color:var(--color-muted);font-size:14px}
.why-choose{padding:80px 20px;background:var(--color-surface);border-top:1px solid var(--color-border)}
.why-choose-content{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}
.why-choose h3{color:var(--color-primary);letter-spacing:1px;text-transform:uppercase;font-size:16px;margin-bottom:12px}
.why-choose h2{font-family:var(--font-heading);font-size:32px;color:var(--color-heading);font-weight:300;margin-bottom:16px}
.why-choose p{color:var(--color-muted);margin-bottom:12px}
.benefits-list{list-style:none;margin-top:16px}
.benefits-list li{padding:8px 0;color:var(--color-muted)}
.benefits-list li:before{content:"✓ ";color:var(--color-primary);font-weight:700}
.why-card{background:linear-gradient(135deg,#f5f1e8,#fefdfb);border:1px solid var(--color-border);border-radius:calc(var(--radius) * 2);padding:48px 28px;text-align:center}
.why-emoji{font-size:42px}
.why-card-title{font-size:24px;color:#2c2c2c;font-weight:300}
.why-card-text{color:#666}
.reviews{padding:80px 20px;background:var(--color-bg);border-top:1px solid var(--color-border)}
.reviews-grid{display:flex;gap:20px;overflow-x:auto;padding-bottom:12px}
.review-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:calc(var(--radius) * 2);padding:24px;min-width:300px;flex:0 0 300px}
.stars{color:var(--color-primary);letter-spacing:2px;margin-bottom:8px}
.review-card p{color:var(--color-muted);font-size:14px}
.reviewer-name{color:var(--color-heading)!important;font-weight:600}
footer{background:var(--color-footer-bg);color:var(--color-footer-text);padding:56px 20px;text-align:center}
footer a{color:var(--color-primary)}
.contact-info{margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15)}
.copyright{margin-top:32px;font-size:12px;opacity:.8}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:2000;display:flex;align-items:flex-start;justify-content:center;padding:5vh 16px}
.modal[hidden]{display:none}
.modal-content{background:var(--color-surface);border-radius:12px;max-width:640px;width:100%;padding:32px;max-height:80vh;overflow:auto}
.modal-header{display:flex;justify-content:space-between;gap:12px;border-bottom:2px solid var(--color-border);padding-bottom:12px;margin-bottom:16px}
.modal-header h2{color:var(--color-heading);font-weight:300;font-size:26px}
.modal-price{color:var(--color-primary);font-size:22px;font-weight:600}
.close-btn{background:none;border:0;font-size:32px;cursor:pointer;color:#666}
.modal-body p{color:var(--color-muted);margin-bottom:12px}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.cta-band{padding:64px 20px;text-align:center;background:var(--color-bg)}
.faq-item{border-bottom:1px solid var(--color-border);padding:12px 0}
.flash{background:#e7f5ec;color:#1e4632;padding:12px 16px;text-align:center}
.book-card{max-width:640px;margin:40px auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:28px}
label{display:block;font-weight:600;margin:14px 0 6px;color:var(--color-heading)}
input,select,textarea{width:100%;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius);font:inherit}
.slots{display:flex;flex-wrap:wrap;gap:8px}
.slots label{font-weight:500;border:1px solid var(--color-border);border-radius:var(--radius);padding:8px 12px}
.note{font-size:14px;color:var(--color-muted);margin:8px 0 16px}
.section-hidden{opacity:.45}
@media(max-width:768px){
 header{flex-wrap:wrap;padding:12px 16px}
 .nav-toggle{display:inline-flex}
 .header-nav{display:none;width:100%;flex-direction:column;gap:12px}
 .header-nav.is-open{display:flex}
 .hero h1{font-size:32px}
 .why-choose-content{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
