@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;1,500&display=swap";:root{--ink:#20332c;--sage:#788f7f;--pale:#dfe7dc;--cream:#f5f1e8;--paper:#fbfaf6;--clay:#c67c5a;--line:#d9ddd4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Manrope,sans-serif}a{color:inherit;text-decoration:none}.nav{border-bottom:1px solid var(--line);z-index:5;justify-content:space-between;align-items:center;width:100%;height:88px;padding:0 5vw;display:flex;position:absolute}.brand{letter-spacing:.24em;align-items:center;gap:10px;font:600 19px DM Sans;display:flex}.brand span{border:1px solid;border-radius:50%;place-items:center;width:34px;height:34px;font:italic 18px Playfair Display;display:grid}.nav nav{gap:38px;font-size:13px;display:flex}.nav-cta,.text-link{border-bottom:1px solid;padding-bottom:5px;font-size:13px}.hero{background:var(--cream);grid-template-columns:55% 45%;min-height:760px;display:grid}.hero-copy{padding:170px 7vw 60px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--sage);font-size:11px;font-weight:600}h1,h2,h3{margin:0;font-family:Playfair Display,serif;font-weight:500}.hero h1{letter-spacing:-.055em;margin:28px 0 34px;font-size:clamp(65px,8vw,118px);line-height:.87}.lead{color:#52635c;max-width:530px;font-size:16px;line-height:1.8}.hero-actions{align-items:center;gap:34px;margin-top:38px;display:flex}.button{background:var(--ink);color:#fff;letter-spacing:.07em;cursor:pointer;border:0;justify-content:center;gap:22px;padding:17px 25px;font:600 12px Manrope;display:inline-flex}.trust{gap:45px;margin-top:75px;display:flex}.trust div{flex-direction:column;display:flex}.trust strong{font:500 23px Playfair Display}.trust span{text-transform:uppercase;letter-spacing:.1em;color:#6d7772;margin-top:5px;font-size:10px}.hero-visual{background:linear-gradient(145deg,#829889,#566f62);position:relative;overflow:hidden}.hero-visual:before,.hero-visual:after{content:"";border:1px solid #ffffff40;border-radius:50%;position:absolute}.hero-visual:before{width:580px;height:580px;top:90px;left:-30px}.hero-visual:after{width:400px;height:400px;top:180px;left:60px}.visual-orb{text-align:center;color:#fff;z-index:2;background:radial-gradient(circle at 38% 35%,#f1e5d5,#c59376 55%,#9a6754);border-radius:50%;place-items:center;width:330px;height:330px;font:italic 31px/1.1 Playfair Display;display:grid;position:absolute;top:210px;left:50%;transform:translate(-50%);box-shadow:0 45px 70px #304d4077}.floating-note{background:var(--cream);z-index:3;padding:17px 22px;font-size:11px;line-height:1.6;position:absolute;bottom:11%;right:6%}.marquee{background:var(--ink);color:#d9e1d9;letter-spacing:.2em;white-space:nowrap;justify-content:space-around;align-items:center;height:73px;font-size:11px;display:flex;overflow:hidden}.marquee i{color:var(--clay)}.section{padding:110px 7vw}.section-head{justify-content:space-between;align-items:end;margin-bottom:55px;display:flex}.section-head h2,.about h2,.booking h2{letter-spacing:-.035em;max-width:720px;font-size:clamp(39px,4.5vw,65px);line-height:1.05}.section-head>p{color:#67736d;max-width:350px;font-size:14px;line-height:1.7}.service-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.service-card{border:1px solid var(--line);background:#fff;flex-direction:column;min-height:385px;padding:30px;transition:all .3s;display:flex}.service-card:hover{transform:translateY(-5px);box-shadow:0 22px 50px #52635c18}.number{color:#8b9690;font-size:10px}.service-icon{color:var(--sage);margin:25px 0;font:50px Playfair Display}.service-card h3{font-size:28px}.service-card p{color:#68736e;font-size:13px;line-height:1.7}.service-meta{border-top:1px solid var(--line);justify-content:space-between;margin-top:auto;padding-top:18px;font-size:12px;display:flex}.service-card>a{justify-content:space-between;margin-top:24px;font-size:12px;display:flex}.about{background:var(--pale);grid-template-columns:46% 54%;gap:7vw;display:grid}.about-art{background:linear-gradient(145deg,#395447,#829587);min-height:550px;position:relative;overflow:hidden}.about-art:after{content:"";border:1px solid #fff5;border-radius:50%;width:340px;height:340px;position:absolute;top:90px;left:17%}.line-art{color:#ffffff18;font:italic 83px Playfair Display;position:absolute;bottom:220px;left:-70px;transform:rotate(-90deg)}.about-copy{padding:45px 0}.about-copy>p:not(.eyebrow){color:#64716a;max-width:600px;line-height:1.8}.about-copy ul{margin-top:45px;padding:0;list-style:none}.about-copy li{border-top:1px solid #bdc9bc;padding:18px 0;font-size:14px}.about-copy li span{color:var(--sage);margin-right:30px;font-size:10px}.booking{background:#f6f0e6;grid-template-columns:40% 60%;gap:8vw;display:grid}.booking-intro>p:not(.eyebrow){color:#66716c;max-width:420px;line-height:1.8}.legend{gap:25px;margin-top:35px;font-size:11px;display:flex}.legend i{border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.free{background:var(--sage)}.busy{background:var(--clay)}.booking-form,.new-booking form{grid-template-columns:1fr 1fr;gap:23px 18px;display:grid}.field{flex-direction:column;gap:8px;display:flex}.field.full,.booking-form .full,.booking-form small{grid-column:1/-1}.field label{text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:600}.field input,.field select,.field textarea{width:100%;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #b8bcb4;outline:none;padding:13px 4px;font:13px Manrope}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink)}.field textarea{resize:vertical;height:65px}.booking-form small{color:#818983;font-size:9px}.alert{color:#914f37;background:#f2ded7;grid-column:1/-1;padding:13px 16px;font-size:12px}.alert.success{color:#3e6549;background:#dfeade}.booking-form .button{width:100%}footer{background:var(--ink);color:#eef0eb;justify-content:space-between;align-items:center;height:110px;padding:0 7vw;font-size:11px;display:flex}footer>a:last-child{color:#aebcb4}.login-page{background:var(--cream);place-items:center;min-height:100vh;padding:30px;display:grid}.login-card{background:#fff;width:min(440px,100%);padding:55px;box-shadow:0 25px 70px #32483d17}.login-card .brand{margin-bottom:50px}.login-card h1{font-size:43px}.login-card>p{color:#6c7872;font-size:13px}.login-card .field{margin:22px 0}.login-card .button{width:100%;margin-top:15px}.back{text-align:center;color:#748078;margin-top:22px;font-size:11px;display:block}.admin-shell{background:#f5f5f0;grid-template-columns:240px 1fr;min-height:100vh;display:grid}.admin-shell aside{background:var(--ink);color:#fff;flex-direction:column;height:100vh;padding:32px;display:flex;position:sticky;top:0}.admin-shell aside>p{color:#9fb0a7;margin:15px 0 55px;font-size:10px}.admin-shell aside nav{flex-direction:column;gap:8px;display:flex}.admin-shell aside nav a{color:#aebcb4;padding:13px;font-size:12px}.admin-shell aside nav a.active{color:#fff;background:#ffffff12}.admin-shell aside form{margin-top:auto}.admin-shell aside button{color:#aebcb4;cursor:pointer;background:0 0;border:0}.admin-main{padding:45px 5vw}.admin-main>header{justify-content:space-between;align-items:center;display:flex}.admin-main h1{font-size:51px}.stat-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin:35px 0;display:grid}.stat-grid div{border:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;padding:25px;display:flex}.stat-grid span{color:#718078;font-size:11px}.stat-grid strong{font:31px Playfair Display}.admin-card{border:1px solid var(--line);background:#fff;margin-top:18px}.card-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:23px 27px;display:flex}.card-head h2{font-size:25px}.card-head>span{color:#829087;font-size:10px}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #ebede8;padding:17px 25px;font-size:12px}th{text-transform:uppercase;letter-spacing:.1em;color:#89958e;font-size:9px}td strong,td small{display:block}td small{color:#859189;margin-top:4px}.status{border-radius:20px;padding:6px 9px;font-size:10px}.status.pending{color:#8c682b;background:#f3e7cf}.status.approved{color:#42704b;background:#dceadd}.status.cancelled{color:#777;background:#eee}.actions{gap:7px;display:flex}.actions form button{cursor:pointer;border:0;width:30px;height:30px}.approve{color:#42704b;background:#dceadd}.reject{color:#914f37;background:#f2dddd}.empty{text-align:center;color:#869087;padding:45px}.new-booking{padding-bottom:27px}.new-booking form{padding:27px}.new-booking .button{align-self:end}.table-wrap{overflow-x:auto}@media (width<=900px){.nav nav{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding-top:145px}.hero-visual{min-height:480px}.service-grid,.about,.booking{grid-template-columns:1fr}.about-art{min-height:380px}.admin-shell{grid-template-columns:1fr}.admin-shell aside{flex-direction:row;align-items:center;gap:20px;height:auto;position:static}.admin-shell aside>p,.admin-shell aside nav{display:none}.admin-shell aside form{margin:0 0 0 auto}.stat-grid{grid-template-columns:1fr}}@media (width<=600px){.nav{height:72px}.nav-cta{display:none}.hero h1{font-size:62px}.hero-copy{padding-left:6vw;padding-right:6vw}.trust{gap:18px}.section{padding:75px 6vw}.section-head{display:block}.service-card{min-height:340px}.booking-form,.new-booking form{grid-template-columns:1fr}.field.full,.booking-form .full,.booking-form small{grid-column:auto}footer{flex-direction:column;align-items:flex-start;gap:20px;height:auto;padding:35px 6vw}.admin-main{padding:30px 4vw}.admin-main>header{align-items:flex-start}.admin-main>header .button{padding:16px;font-size:0}.admin-main>header .button:after{content:"+";font-size:17px}th,td{padding:14px 10px}.login-card{padding:35px}}.parallax-frame{isolation:isolate;background:#c9cec6;overflow:hidden}.parallax-frame>img{object-fit:cover;will-change:transform;width:116%;height:116%;transform:translate3d(0,var(--parallax-y,0),0) scale(1.02);position:absolute;inset:-8%}.hero-visual:before,.hero-visual:after,.about-art:after{display:none}.hero-visual .image-shade{z-index:1;background:linear-gradient(#0000 50%,#17271f55);position:absolute;inset:0}.floating-note{border-left:3px solid var(--clay)}.about-art{background:#c9cec6}.image-caption{z-index:2;text-transform:uppercase;letter-spacing:.12em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f7f3eacc;padding:13px 17px;font-size:10px;position:absolute;bottom:22px;left:22px}.image-caption span{color:var(--clay);margin-right:15px}@media (prefers-reduced-motion:reduce){.parallax-frame>img{will-change:auto;transform:scale(1.02)!important}}
