:root{--bg-primary:#f9f8f6;--bg-secondary:#efece6;--sage:#7a8b7b;--sage-dark:#526553;--sage-light:#e7ebe4;--text-dark:#2c3531;--text-muted:#5f6762;--white:#fff;--radius:16px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:115px}body{font-family:'Plus Jakarta Sans',sans-serif;background:var(--bg-primary);color:var(--text-dark);line-height:1.7}h1,h2,h3,.brand-logo,.footer-brand{font-family:'Marcellus',serif;font-weight:400}a{color:inherit}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-library{position:absolute;width:0;height:0;overflow:hidden}a:focus-visible,summary:focus-visible{outline:3px solid #b16d53;outline-offset:5px}.skip-link{position:fixed;left:15px;top:-100px;z-index:20;padding:12px;background:white}.skip-link:focus{top:15px}header{position:fixed;inset:0 0 auto;z-index:10;background:rgba(249,248,246,.95);backdrop-filter:blur(10px);border-bottom:1px solid #2c35310d}.nav-container{max-width:1200px;margin:auto;padding:21px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo-area{display:flex;gap:12px;align-items:center;text-decoration:none}.logo-icon{height:43px;width:43px;border-radius:50%;background:var(--sage-light);color:var(--sage-dark);display:grid;place-items:center}.brand-logo{display:block;font-size:25px;letter-spacing:2px;line-height:1.2}.brand-caption{display:block;font-size:9px;letter-spacing:1.6px;text-transform:uppercase;margin-top:4px}.desktop-nav{display:flex;gap:28px}.desktop-nav a{text-decoration:none;font-size:12px;font-weight:500;transition:color .2s}.desktop-nav a:hover{color:var(--sage-dark);text-decoration:underline;text-underline-offset:6px}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:17px;background:var(--sage-dark);color:white;padding:14px 25px;border-radius:30px;text-decoration:none;font-size:13px;font-weight:600;transition:background .2s,transform .2s}.btn-primary svg{width:18px;height:18px}.btn-primary:hover{background:#405341;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.header-cta{padding:12px 21px;font-size:12px}.mobile-nav{display:none}.hero{max-width:1200px;margin:auto;padding:163px 24px 88px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px}.eyebrow{display:block;color:var(--sage-dark);font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:19px}.hero .eyebrow{display:flex;align-items:center;gap:9px}.eyebrow>span{width:6px;height:6px;background:var(--sage);border-radius:50%}h1{font-size:clamp(36px,4.2vw,53px);line-height:1.22;letter-spacing:-1.4px;margin-bottom:23px}h1 em{font-style:normal;color:var(--sage-dark)}.hero-description{font-size:15px;color:var(--text-muted);line-height:1.9;margin-bottom:29px;max-width:460px}.hero-note{display:flex;gap:8px;align-items:center;margin-top:23px;color:var(--text-muted);font-size:10px}.hero-note svg{width:13px;height:13px}.hero-image-card{height:465px;position:relative;border-radius:110px 20px 20px 20px;overflow:hidden;background:var(--bg-secondary)}.room-art{width:100%;height:100%;stroke:none;object-fit:cover}.image-caption{position:absolute;bottom:34px;left:26px;right:26px;display:flex;align-items:center;gap:13px;padding:16px 20px;background:#f9f8f6ed;border:1px solid #ffffff70;border-radius:12px;font-family:'Marcellus',serif;font-size:18px}.image-caption small{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:10px;color:var(--text-muted);margin-top:2px}.caption-icon{display:grid;place-items:center;width:39px;height:39px;background:var(--sage-light);border-radius:50%;color:var(--sage-dark)}.illustration-label{position:absolute;right:13px;bottom:7px;font-size:8px;color:#465043}.services{background:var(--white);padding:77px 24px 83px}.section-header{text-align:center;max-width:590px;margin:0 auto 42px}.section-header .eyebrow{margin-bottom:10px}.section-header h2{font-size:35px;line-height:1.3;margin-bottom:15px}.section-header p{font-size:13px;color:var(--text-muted)}.services-grid{max-width:1152px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.service-card{position:relative;background:var(--bg-primary);padding:29px 24px 34px;border-radius:var(--radius);border:1px solid #2c353108;transition:transform .25s}.service-card:hover{transform:translateY(-5px)}.service-icon{display:inline-flex;color:var(--sage-dark);margin-bottom:25px}.service-icon svg{width:31px;height:31px;stroke-width:1.2}.service-number{position:absolute;right:23px;top:29px;font-size:10px;color:#899084}.service-card h3{font-size:22px;margin-bottom:12px}.service-card p{font-size:12px;line-height:1.9;color:var(--text-muted)}.about-section{max-width:1200px;padding:83px 24px 90px;margin:auto}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.feature-box{padding:29px;background:var(--sage-light);border-radius:var(--radius);color:var(--sage-dark)}.feature-box>svg{margin-bottom:15px}.feature-box h3{font-size:21px;line-height:1.4;margin-bottom:10px}.feature-box p{font-size:12px;line-height:1.9}.contact-section{padding:73px 24px;background:var(--bg-secondary)}.contact-container{max-width:1152px;margin:auto;padding:48px;display:grid;grid-template-columns:1.2fr .8fr;gap:60px;background:var(--white);border-radius:24px}.contact-info .eyebrow{margin-bottom:10px}.contact-info h2{font-size:33px;line-height:1.3;margin-bottom:18px}.contact-info>p{color:var(--text-muted);font-size:13px;margin-bottom:26px;max-width:440px}.contact-detail-item{display:flex;gap:15px;margin-top:23px}.contact-detail-item>svg{color:var(--sage-dark);width:20px;height:20px;margin-top:4px}.contact-detail-item span{display:block;color:var(--text-muted);font-size:10px;margin-bottom:3px}.contact-detail-item a{font-size:18px;text-decoration:none}.contact-detail-item a:hover{text-decoration:underline}.contact-detail-item p{font-size:12px;max-width:320px}.appointment-card{background:var(--bg-primary);padding:32px 25px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border:1px solid #e5e6de;border-radius:16px}.appointment-leaf{width:41px;height:41px;color:var(--sage);margin-bottom:18px}.appointment-card h3{font-size:25px;margin-bottom:11px}.appointment-card p{font-size:12px;color:var(--text-muted);margin-bottom:23px}.appointment-note{font-size:11px;color:var(--text-muted);margin-top:12px}footer{background:var(--text-dark);color:#d6dcd7;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px max(24px,calc((100% - 1152px)/2));font-size:10px}.footer-brand{font-size:21px;letter-spacing:2px;text-decoration:none}footer>a:last-child{text-decoration:none;white-space:nowrap}@media(min-width:901px){.hero-copy{animation:appear .7s ease both}.hero-image-card{animation:appear .9s ease both}@keyframes appear{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}}@media(max-width:1000px){.desktop-nav{gap:17px}.hero{gap:35px}.brand-caption{font-size:8px}.services-grid{gap:14px}.service-card{padding:25px 18px}.service-card h3{font-size:20px}.contact-container{gap:30px;padding:35px}}@media(max-width:900px){.desktop-nav{display:none}.mobile-nav{display:block}.mobile-nav summary{cursor:pointer;list-style:none;font-size:12px;display:flex;gap:9px;align-items:center}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav nav{position:absolute;top:100%;left:0;right:0;padding:18px 24px;background:var(--bg-primary);box-shadow:0 12px 15px #2c353110;display:grid;gap:16px}.mobile-nav nav a{text-decoration:none;font-size:14px}.header-cta{margin-left:auto}.hero{padding-top:145px;grid-template-columns:1fr 1fr;gap:28px}.hero-image-card{height:420px}.hero .eyebrow{font-size:8px;letter-spacing:1px}.image-caption{left:15px;right:15px;padding:13px;font-size:16px}.caption-icon{display:none}.services-grid{grid-template-columns:repeat(2,1fr);gap:20px}.features-grid{gap:15px}.feature-box{padding:22px}.contact-container{grid-template-columns:1fr 1fr}.contact-info h2{font-size:29px}}@media(max-width:640px){html{scroll-padding-top:95px}.nav-container{padding:17px 20px;gap:15px}.logo-icon{width:33px;height:33px}.brand-logo{font-size:20px}.brand-caption{font-size:7px;letter-spacing:1px}.logo-area{gap:8px}.header-cta{display:none}.hero{grid-template-columns:1fr;padding:123px 24px 53px;gap:34px}h1{font-size:42px;max-width:440px}.hero-description{font-size:14px}.hero-image-card{height:355px;max-width:450px;width:100%;margin:auto;border-top-left-radius:90px}.image-caption{left:23px;right:23px;bottom:26px;font-size:19px}.caption-icon{display:grid}.services,.about-section{padding:55px 24px}.section-header{margin-bottom:30px}.section-header h2{font-size:30px}.section-header p{font-size:12px}.services-grid{gap:14px}.service-card{padding:23px 18px}.service-card h3{font-size:19px}.service-card p{font-size:11px}.service-number{right:18px;top:26px}.features-grid{grid-template-columns:1fr}.feature-box{padding:25px}.feature-box>svg{float:left;margin:3px 16px 35px 0}.feature-box h3{font-size:21px}.contact-section{padding:42px 18px}.contact-container{grid-template-columns:1fr;padding:29px 23px;gap:30px}.contact-info h2{font-size:29px}.appointment-card{padding:28px 23px}footer{flex-direction:column;text-align:center;gap:13px;padding:29px 24px}footer p{max-width:300px}}@media(max-width:360px){h1{font-size:36px}.services-grid{grid-template-columns:1fr}.brand-caption{font-size:6px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
