:root{--ink:#17211e;--muted:#66726d;--paper:#fbfaf6;--sage:#667d68;--sage-dark:#31483e;--clay:#ba6b4b;--mist:#e9eee7;--line:#17211e24;--white:#fff;--shadow:0 24px 70px #17211e29}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-header{z-index:20;width:100%;color:var(--white);grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding:18px clamp(18px,4vw,54px);transition:background .18s,box-shadow .18s,color .18s;display:grid;position:fixed;top:0;left:0}.site-header.is-scrolled,.site-header.is-open{color:var(--ink);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fbfaf6f0;box-shadow:0 10px 30px #17211e14}.brand{align-items:center;width:clamp(178px,18vw,238px);min-width:178px;display:inline-flex}.brand-logo{aspect-ratio:4939/737;object-fit:contain;width:100%;height:auto}.site-header .brand-logo--dark,.site-header.is-scrolled .brand-logo--light,.site-header.is-open .brand-logo--light{display:none}.site-header.is-scrolled .brand-logo--dark,.site-header.is-open .brand-logo--dark{display:block}.nav{justify-content:center;gap:28px;font-size:14px;font-weight:700;display:flex}.nav a{opacity:.9}.header-action,.button{white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:46px;padding:0 22px;font-weight:800;display:inline-flex}.header-action{color:var(--ink);background:var(--white)}.site-header.is-scrolled .header-action,.site-header.is-open .header-action{color:var(--white);background:var(--sage-dark)}.menu-button{background:#ffffff29;border:0;border-radius:50%;width:44px;height:44px;display:none}.menu-button span{background:currentColor;width:18px;height:2px;margin:4px auto;display:block}.hero{min-height:92vh;color:var(--white);align-items:end;padding:132px clamp(20px,5vw,72px) 70px;display:grid;position:relative;overflow:hidden}.hero-image,.hero-overlay{width:100%;height:100%;position:absolute;inset:0}.hero-image{object-fit:cover;object-position:center}.hero-overlay{background:linear-gradient(90deg,#0c1210bd 0%,#0c121070 42%,#0c12101a 100%),linear-gradient(#0c121000,#0c121047)}.hero-content{z-index:2;max-width:710px;position:relative}.eyebrow{color:var(--clay);letter-spacing:0;text-transform:uppercase;margin:0 0 14px;font-size:13px;font-weight:800}.hero .eyebrow{color:#ffc8ac}h1,h2,h3,p{margin-top:0}h1{margin-bottom:18px;font-family:Playfair Display,Georgia,serif;font-size:clamp(64px,12vw,148px);line-height:.92}h2{margin-bottom:18px;font-size:clamp(32px,5vw,58px);line-height:1.02}h3{margin-bottom:12px;font-size:22px}.hero-copy{color:#ffffffe6;max-width:620px;font-size:clamp(18px,2.1vw,24px);line-height:1.5}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:34px;display:flex}.button.primary{color:var(--white);background:var(--sage-dark)}.hero .button.primary{background:var(--clay)}.button.secondary{color:var(--white);background:#ffffff1a;border-color:#ffffff70}.hero-card{z-index:3;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff24;border:1px solid #ffffff3d;border-radius:8px;width:min(330px,100vw - 40px);padding:22px;position:absolute;bottom:42px;right:clamp(20px,5vw,72px)}.hero-card span,.hero-card small{color:#ffffffc7;font-size:13px;display:block}.hero-card strong{margin:8px 0;font-size:20px;display:block}section{padding:clamp(70px,9vw,118px) clamp(20px,5vw,72px)}.band{background:var(--mist)}.section-grid,.approach-layout,.booking-panel,.footer{width:min(1180px,100%);margin:0 auto}.section-grid,.approach-layout,.booking-panel{grid-template-columns:minmax(0,1fr) minmax(300px,.82fr);align-items:start;gap:clamp(32px,6vw,84px);display:grid}.intro p,.approach p,.booking p,.service-card p,.footer p{color:var(--muted);font-size:17px;line-height:1.7}.section-heading{width:min(1180px,100%);margin:0 auto 34px}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:min(1180px,100%);margin:0 auto;display:grid}.service-card{border:1px solid var(--line);background:var(--white);border-radius:8px;min-height:270px;padding:28px;box-shadow:0 12px 34px #17211e0f}.service-number{color:var(--sage);margin-bottom:48px;font-weight:800;display:inline-block}.steps{gap:14px;margin:0;padding:0;list-style:none;display:grid}.steps li{border-left:4px solid var(--clay);background:#ffffff94;padding:22px}.steps strong,.steps span{display:block}.steps span{color:var(--muted);margin-top:8px;line-height:1.6}.booking-panel{color:var(--white);background:var(--sage-dark);box-shadow:var(--shadow);border-radius:8px;align-items:center;padding:clamp(28px,5vw,54px)}.booking-panel .eyebrow{color:#f2b99b}.booking-panel p{color:#ffffffc7}.booking-form{color:var(--ink);background:var(--paper);border-radius:8px;gap:14px;padding:22px;display:grid}.booking-form label{color:var(--sage-dark);gap:7px;font-size:13px;font-weight:800;display:grid}input,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--white);font:inherit;border-radius:8px;padding:14px 15px}textarea{resize:vertical}.form-status,.booking-panel .form-status{min-height:20px;color:var(--sage-dark);margin:0;font-size:14px;font-weight:700}.footer{justify-content:space-between;gap:24px;padding:38px clamp(20px,5vw,72px);display:flex}.footer .brand{width:190px;height:auto;box-shadow:none;background:0 0;margin-bottom:16px;padding:0}.footer-logo{aspect-ratio:4130/2721;height:auto}.footer address{gap:8px;font-style:normal;font-weight:700;display:grid}@media (max-width:860px){.site-header{grid-template-columns:1fr auto}.nav,.header-action{display:none}.menu-button{display:block}.site-header.is-open .nav{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:8px;justify-content:stretch;gap:0;display:grid;position:absolute;top:74px;left:16px;right:16px;overflow:hidden}.site-header.is-open .nav a{border-bottom:1px solid var(--line);padding:16px}.hero{min-height:88vh;padding-top:112px}.hero-card{margin-top:36px;position:relative;bottom:auto;right:auto}.section-grid,.approach-layout,.booking-panel,.service-grid{grid-template-columns:1fr}.service-card{min-height:auto}.service-number{margin-bottom:28px}.footer{flex-direction:column}}@media (max-width:520px){.hero{min-height:94vh;padding-bottom:42px}.hero-actions,.button{width:100%}.button{padding-inline:16px}}.form-trap{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.form-status .status-link{font-weight:700;text-decoration:underline}
