:root{--ink:#1d2521;--green:#233c34;--sage:#aab7a0;--cream:#f4f1e9;--paper:#fbfaf6;--line:#d8d6cd;--white:#fff;--muted:#6d746f;--radius:2px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}.shell{width:min(1220px,calc(100% - 48px));margin:auto}.narrow{width:min(860px,calc(100% - 48px))}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Manrope',sans-serif;font-weight:500;letter-spacing:-.04em}h1{font-size:clamp(48px,6.2vw,92px);line-height:.98}h2{font-size:clamp(34px,4vw,58px);line-height:1.06}h3{font-size:24px}.muted{color:#a6ada8}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:600}.site-header{position:sticky;top:0;z-index:20;background:rgba(251,250,246,.94);border-bottom:1px solid rgba(0,0,0,.08);backdrop-filter:blur(14px)}.nav-wrap{height:84px;display:flex;align-items:center;gap:34px}.brand{display:flex;align-items:center;gap:11px;min-width:190px}.brand-mark{width:37px;height:37px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-family:serif;font-size:22px}.brand-text{display:flex;flex-direction:column;line-height:1}.brand-text strong{font-size:18px;letter-spacing:.24em}.brand-text small{font-size:8px;letter-spacing:.16em;margin-top:6px}.main-nav{display:flex;align-items:center;gap:26px;margin:auto;font-size:14px}.main-nav>a,.nav-drop>a{padding:31px 0}.nav-drop{position:relative}.drop-menu{position:absolute;left:-20px;top:68px;min-width:220px;background:var(--paper);border:1px solid var(--line);padding:12px;display:none;box-shadow:0 16px 40px rgba(0,0,0,.07)}.nav-drop:hover .drop-menu{display:grid}.drop-menu a{padding:9px 10px}.nav-actions{display:flex;align-items:center;gap:18px}.text-link{font-size:13px}.btn{display:inline-flex;justify-content:center;align-items:center;padding:14px 20px;border:1px solid transparent;font-weight:600;font-size:14px;transition:.2s}.btn-dark{background:var(--green);color:#fff}.btn-dark:hover{background:#172a23}.btn-light{background:#f3efe6;color:var(--green)}.btn-outline{border-color:var(--ink)}.btn-block{width:100%}.nav-toggle{display:none;border:0;background:none;font-size:24px}.hero{background:var(--cream);padding:72px 0 58px}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:70px;align-items:center}.hero-copy{padding:40px 0}.hero-copy h1{max-width:720px;margin:22px 0 24px}.lead{font-size:19px;color:#555e59;max-width:610px}.hero-actions{display:flex;gap:24px;align-items:center;margin:34px 0 54px}.arrow-link{border-bottom:1px solid currentColor;padding-bottom:4px;font-size:14px}.stats{display:flex;gap:54px}.stats div{display:flex;flex-direction:column}.stats b{font-family:'Manrope';font-size:30px;font-weight:500}.stats span{font-size:12px;color:var(--muted)}.placeholder-photo{min-height:640px;background:linear-gradient(135deg,#9aa89d,#64786e);color:rgba(255,255,255,.84);display:flex;flex-direction:column;align-items:center;justify-content:center}.placeholder-photo span{font-family:'Manrope';font-size:54px;letter-spacing:.28em}.placeholder-photo small{letter-spacing:.18em;text-transform:uppercase}.section{padding:104px 0}.soft{background:#ebe9e1}.section-title-row{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end;margin:22px 0 46px}.section-title-row h2{margin:0;max-width:720px}.section-title-row p{margin:0;color:var(--muted);max-width:500px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.service-card{min-height:390px;padding:36px;background:var(--green);color:#f7f4ec;display:flex;justify-content:space-between;flex-direction:column}.service-card.light{background:#d9d9cd;color:var(--ink)}.service-card .num{font-family:'Manrope';font-size:15px}.service-card h3{font-size:42px;margin:8px 0 14px}.service-card p{max-width:420px}.card-link{display:inline-block;margin-top:32px;border-bottom:1px solid currentColor}.tiles{display:grid;gap:18px}.tiles.three{grid-template-columns:repeat(3,1fr)}.tile{background:#f8f7f2;padding-bottom:24px}.tile-art{height:320px;background:linear-gradient(135deg,#9eb0a5,#71847a)}.tile-art.alt{background:linear-gradient(135deg,#c4bcae,#8f877a)}.tile-art.third{background:linear-gradient(135deg,#b7c0b5,#879185)}.tile span,.tile h3{display:block;margin-left:22px;margin-right:22px}.tile span{font-size:12px;margin-top:18px;color:var(--muted)}.tile h3{margin-top:8px;margin-bottom:0}.split{display:grid;grid-template-columns:.92fr 1.08fr;gap:88px;align-items:center}.placeholder-photo.tall{min-height:700px}.process-copy>p{color:var(--muted);max-width:620px}.steps{margin:36px 0}.steps>div{display:flex;gap:25px;padding:18px 0;border-top:1px solid var(--line)}.steps b{width:38px;font-size:12px}.steps span{display:flex;flex-direction:column}.steps small{color:var(--muted);margin-top:4px}.team-preview{background:var(--green);color:#f5f0e7}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.person-photo{height:330px;background:#9eaa9f;display:grid;place-items:center;color:#fff;font-size:24px}.person h3{margin:18px 0 3px}.person p{color:#aab4ae;font-size:14px}.location-section{background:#f3f0e8}.location-card{display:grid;grid-template-columns:1.2fr .8fr;border:1px solid var(--line);background:#fff}.map-placeholder,.map-big{min-height:390px;background:repeating-linear-gradient(45deg,#dcded8,#dcded8 16px,#e8e9e4 16px,#e8e9e4 32px);display:grid;place-items:center;color:#69736d;letter-spacing:.15em;font-size:12px}.location-card>div:last-child{padding:50px}.location-card h3{font-size:32px}.contact-row{display:flex;gap:20px;margin-top:34px}.contact-row a{border-bottom:1px solid}.faq-section details{border-top:1px solid var(--line);padding:22px 0}.faq-section details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:18px;font-weight:500}.faq-section details p{padding:14px 28px 0 0;color:var(--muted)}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.blog-grid article{border-top:1px solid var(--ink);padding:22px 8px 30px 0}.blog-grid article span{font-size:11px;color:var(--muted)}.blog-grid article h3{margin-top:30px}.blog-grid article p{color:var(--muted)}.cta{padding:76px 0;background:#9cad9f}.cta-inner{display:flex;justify-content:space-between;align-items:end}.cta h2{margin:12px 0 12px;max-width:800px}.footer{background:#17221e;color:#d8ddd9;padding:72px 0 22px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:70px}.footer-grid h4{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#99a59e}.footer-grid>div{display:flex;flex-direction:column;gap:10px}.footer-brand{color:#fff;margin-bottom:20px}.footer-bottom{border-top:1px solid #35403b;margin-top:58px;padding-top:22px;display:flex;justify-content:space-between;font-size:12px;color:#8f9a94}.page-hero{padding:94px 0 84px;background:var(--cream)}.page-hero h1{margin:20px 0}.page-hero p{font-size:19px;color:var(--muted);max-width:660px}.content-stack{display:grid;gap:0}.content-stack article{padding:62px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:80px 1fr 1fr;gap:30px}.content-stack article h2{font-size:44px}.content-stack article p{color:var(--muted);align-self:center}.team-page .person p{color:var(--muted)}.blog-page article{min-height:250px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px}.contact-panel{padding:42px;background:var(--cream)}.contact-panel small{color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.contact-panel hr{border:0;border-top:1px solid var(--line);margin:28px 0}.contact-panel .btn{margin-top:24px}.reservation-head{padding-bottom:60px}.reservation-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}.reservation-info{padding:22px 0}.reservation-info p{color:var(--muted)}.mini-info{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:16px 0;font-size:14px}.booking-form{border:1px solid var(--line);padding:38px;background:#fff}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-form label{display:grid;gap:8px;font-size:13px;font-weight:600;margin-bottom:18px}.booking-form input,.booking-form select,.booking-form textarea{width:100%;font:inherit;font-weight:400;padding:13px 14px;border:1px solid #c9ccc7;background:#fff;border-radius:0}.booking-form textarea{resize:vertical}.check{grid-template-columns:auto 1fr!important;align-items:start}.check input{width:auto;margin-top:4px}.alert{padding:14px 16px;margin-bottom:20px;font-size:14px}.alert.success{background:#e5f2e9;color:#244b32}.alert.error{background:#f8e4df;color:#7c2d1f}
@media(max-width:980px){.nav-actions .text-link{display:none}.main-nav{display:none;position:absolute;top:84px;left:0;right:0;background:var(--paper);padding:24px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.main-nav.open{display:flex}.nav-drop>a,.main-nav>a{padding:4px 0}.drop-menu{display:none!important}.nav-toggle{display:block;margin-left:auto}.nav-actions{margin-left:0}.hero-grid,.split,.reservation-layout,.contact-grid{grid-template-columns:1fr}.hero-visual{min-height:520px}.section-title-row{grid-template-columns:1fr;gap:20px}.team-grid{grid-template-columns:repeat(2,1fr)}.tiles.three,.blog-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.content-stack article{grid-template-columns:50px 1fr}.content-stack article p{grid-column:2}.nav-wrap{gap:14px}.brand{min-width:auto}.brand-text{display:none}}@media(max-width:640px){.shell,.narrow{width:min(100% - 28px,1220px)}.nav-actions .btn{padding:10px 12px;font-size:12px}.hero{padding-top:34px}.hero-grid{gap:24px}.hero-copy{padding:16px 0}.hero-visual{min-height:400px}.placeholder-photo span{font-size:36px}.section{padding:72px 0}.service-grid,.tiles.three,.team-grid,.blog-grid,.footer-grid,.field-row{grid-template-columns:1fr}.service-card{min-height:320px}.tile-art{height:260px}.location-card{grid-template-columns:1fr}.map-placeholder{min-height:280px}.cta-inner{align-items:flex-start;gap:30px;flex-direction:column}.stats{gap:26px;flex-wrap:wrap}.booking-form{padding:22px}.reservation-layout{gap:30px}}
