@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap";:root{--ink:#14120f;--gold:#ad842e;--paper:#faf8f4;--line:#ded6c5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:DM Sans,Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit}button,a{touch-action:manipulation}:is(a:focus-visible,button:focus-visible){outline:3px solid var(--gold);outline-offset:4px}.wrap{width:min(1180px,100% - 48px);margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--gold);font-size:.79rem;font-weight:700}.serif{font-family:Playfair Display,Georgia,serif;font-weight:400}header{z-index:10;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#faf8f4f5;position:sticky;top:0}header .wrap{justify-content:space-between;align-items:center;gap:24px;min-height:78px;display:flex}.logo{white-space:nowrap;font-family:Playfair Display,Georgia,serif;font-size:1.55rem;text-decoration:none}.logo span{color:var(--gold)}nav{align-items:center;gap:30px;display:flex}nav a{font-size:.89rem;font-weight:700;text-decoration:none}nav a:hover{color:var(--gold)}.nav-cta{border:1px solid var(--ink);padding:10px 16px}.hero{background:var(--ink);color:#fff;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;border:1px solid #cfa84b73;border-radius:50%;width:280px;height:280px;position:absolute;top:-150px;right:-105px;box-shadow:0 0 0 38px #cfa84b0a,0 0 0 80px #cfa84b09}.hero-inner{grid-template-columns:1.07fr .93fr;align-items:center;gap:70px;min-height:635px;padding:75px 0;display:grid}.hero h1{letter-spacing:-.045em;max-width:730px;margin:22px 0 24px;font-size:clamp(3.2rem,6vw,6.25rem);line-height:1.08}.hero h1 em{color:#d7b66d;font-weight:400}.hero p{color:#dfdbd4;max-width:545px;margin:0 0 34px;font-size:1.1rem}.actions{flex-wrap:wrap;gap:14px;display:flex}.btn{border:1px solid #cda858;justify-content:center;align-items:center;min-height:51px;padding:14px 25px;font-size:.9rem;font-weight:700;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn.gold{color:#14120f;background:#c7a057}.btn.ghost{color:#fff}.portrait-frame{aspect-ratio:4/5;background:#d6c9b2;width:min(100%,430px);margin:auto;position:relative}.portrait-frame:before{content:"";z-index:0;border:1px solid #ba9240;position:absolute;inset:-16px 16px 16px -16px}.portrait-frame img{object-fit:cover;object-position:center 18%;filter:saturate(.85);width:100%;height:100%;display:block;position:relative}.tag{background:var(--paper);color:var(--ink);padding:15px 22px;font-family:Playfair Display,Georgia,serif;font-size:1.25rem;position:absolute;bottom:30px;right:-25px;transform:rotate(-4deg);box-shadow:0 12px 24px #0003}.intro{padding:100px 0}.intro-grid{grid-template-columns:.8fr 1.2fr;align-items:start;gap:90px;display:grid}.intro h2,.section-title{letter-spacing:-.035em;margin:12px 0 0;font-size:clamp(2.5rem,4.1vw,4.6rem);line-height:1.15}.intro-copy{max-width:660px;font-size:1.17rem}.intro-copy p:first-child{margin-top:0}.gold-rule{background:var(--gold);width:60px;height:3px;margin:28px 0}.services{background:#eee9e0;padding:95px 0 110px}.section-top{justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px;display:flex}.section-top p{color:#615b52;max-width:360px;margin:0}.service-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.service{background:var(--paper);border-top:4px solid var(--gold);min-height:340px;padding:35px 30px 32px}.service .num{color:var(--gold);letter-spacing:.13em;font-size:.84rem;font-weight:700}.service h3{margin:28px 0 18px;font:400 2rem/1.2 Playfair Display,Georgia,serif}.service ul{color:#4d4942;margin:0;padding-left:18px}.service li{margin:8px 0}.about{padding:105px 0}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:100px;display:grid}.about-art{border:1px solid var(--gold);padding:28px;position:relative}.about-art blockquote{background:var(--ink);color:#fff;margin:0;padding:70px 55px;font:400 clamp(2rem,3vw,3.5rem)/1.3 Playfair Display,Georgia,serif}.about-art blockquote span{color:#d0ab5c}.about-art:after{content:"✦";color:var(--gold);font-size:5rem;position:absolute;bottom:-52px;right:-20px}.about p{max-width:550px}.contact{color:#18150f;background:#b99448;padding:95px 0}.contact .wrap{justify-content:space-between;align-items:center;gap:50px;display:flex}.contact h2{letter-spacing:-.03em;margin:10px 0 20px;font-size:clamp(2.7rem,4.4vw,5rem);line-height:1.12}.contact p{max-width:580px;margin:0}.contact .btn{background:var(--ink);color:#fff;border-color:var(--ink);white-space:nowrap}footer{background:var(--ink);color:#ded8ca;padding:33px 0}footer .wrap{justify-content:space-between;align-items:center;gap:20px;font-size:.88rem;display:flex}footer a{color:#d7b66d;text-decoration:none}.dots{background-image:radial-gradient(circle,var(--gold) 2px,transparent 2.5px);opacity:.65;background-size:18px 18px;width:80px;height:80px;margin-top:25px;transform:rotate(-12deg)}@media (max-width:800px){.hero-inner{grid-template-columns:1fr;gap:50px;padding:70px 0}.portrait-frame{width:min(80%,390px)}.intro-grid,.about-grid{grid-template-columns:1fr;gap:30px}.service-grid{grid-template-columns:1fr}.service{min-height:0}.section-top,.contact .wrap{flex-direction:column;align-items:start}.intro,.services,.about,.contact{padding:72px 0}nav{gap:15px}}@media (max-width:550px){.wrap{width:min(100% - 36px,1180px)}header .wrap{min-height:69px}nav a:not(.nav-cta){display:none}.nav-cta{padding:8px 11px}.logo{font-size:1.3rem}.hero h1{font-size:3.2rem}.hero p{font-size:1rem}.portrait-frame{width:calc(100% - 30px)}.tag{font-size:1rem;right:-15px}.section-top{margin-bottom:25px}.about-art blockquote{padding:48px 34px}footer .wrap{flex-direction:column;align-items:start}}.inquiry{background:#fff;padding:105px 0}.inquiry-grid{grid-template-columns:.8fr 1.2fr;gap:75px;display:grid}.inquiry p{max-width:430px}.small-note,.form-note{color:#655e54;font-size:.85rem}.inquiry-form{gap:17px;display:grid}.field-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.inquiry-form label{gap:7px;font-size:.88rem;font-weight:700;display:grid}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{color:#14120f;background:#faf8f4;border:1px solid #c9bfaf;border-radius:0;width:100%;padding:13px 14px;font:400 1rem/1.5 DM Sans,Arial,sans-serif}.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{outline-offset:1px;outline:2px solid #ad842e}.inquiry-form .btn{cursor:pointer;justify-self:start}.trap{position:absolute!important;left:-9999px!important}.form-note{margin:0}.notice{min-height:55vh;padding:70px 0 100px}.notice h1{font-size:clamp(2.5rem,5vw,4.5rem)}@media (max-width:800px){.inquiry{padding:72px 0}.inquiry-grid{grid-template-columns:1fr;gap:25px}}@media (max-width:550px){.field-row{grid-template-columns:1fr}}.dash{background:#f4f0e9;min-height:100vh}.dash-wrap{width:min(1060px,100% - 40px);margin:auto;padding-bottom:80px}.dash-header{background:0 0;border-color:#d7cbb8;justify-content:space-between;align-items:center;padding:24px 0;display:flex;position:static}.dash-header div{align-items:center;gap:20px;font-size:.9rem;display:flex}.dash-header a:not(.logo){color:#785c22}.dash-title{justify-content:space-between;align-items:end;gap:20px;padding:50px 0 28px;display:flex}.dash-title h1{margin:5px 0 0;font-size:3.4rem}.dash-title p{margin:0}.dash-empty,.inquiry-card{background:#fff;border:1px solid #ddd3c5;padding:26px}.inquiry-list{gap:16px;display:grid}.card-top,.card-bottom{justify-content:space-between;align-items:start;gap:25px;display:flex}.card-top h2{margin:7px 0;font:400 1.7rem Playfair Display,Georgia,serif}.card-top p{color:#665f55;margin:0}.card-top time{color:#6b655c;white-space:nowrap;font-size:.8rem}.card-message{white-space:pre-wrap;margin:20px 0;line-height:1.7}.card-bottom{border-top:1px solid #e7dfd3;align-items:center;padding-top:17px}.card-bottom a{word-break:break-word}.card-bottom form{align-items:end;gap:10px;display:flex}.card-bottom label{gap:4px;font-size:.78rem;display:grid}.card-bottom select,.card-bottom button{font:inherit;background:#faf8f4;border:1px solid #c5b79e;padding:8px}.card-bottom button{cursor:pointer;color:#fff;background:#14120f;border-color:#14120f}@media (max-width:650px){.dash-title,.card-top,.card-bottom{display:block}.card-top time{margin-top:14px;display:block}.card-bottom form{margin-top:18px}.dash-title h1{font-size:2.6rem}}.btn-arrow{border-top:1.7px solid;border-right:1.7px solid;flex:none;width:10px;height:10px;margin-left:10px;display:inline-block;position:relative;transform:translateY(2px)}.btn-arrow:after{content:"";transform-origin:50%;background:currentColor;width:14px;height:1.7px;position:absolute;top:4px;right:-2px;transform:rotate(-45deg)}.dash-section{margin:8px 0 48px}.dash-section-heading{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:18px;display:flex}.dash-section-heading h2{margin:0;font-size:2rem;font-weight:400}.dash-section-heading p{color:#665f55;margin:0;font-size:.9rem}.metric-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.metric,.activity-chart{background:#fff;border:1px solid #ddd3c5;padding:22px}.metric span{color:#5b544a;font-size:.82rem;font-weight:700;display:block}.metric strong{margin-top:9px;font:400 2.4rem/1.3 Playfair Display,Georgia,serif;display:block}.activity-chart{margin-top:12px}.activity-chart h3{margin:0 0 18px;font-size:1rem}.activity-chart p{color:#665f55}.chart-bars{align-items:end;gap:14px;min-height:150px;display:flex}.chart-day{color:#5b544a;flex-direction:column;flex:1;align-items:center;gap:5px;font-size:.76rem;display:flex}.chart-track{background:#f4f0e9;align-items:end;width:100%;height:100px;display:flex}.chart-track div{background:#b99448;width:100%}.analytics-note{color:#665f55;margin:12px 0 0;font-size:.82rem}@media (max-width:800px){.metric-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:550px){.dash-section-heading{display:block}.metric-grid{gap:8px}.metric{padding:15px}.metric strong{font-size:2rem}}.booking-page{background:linear-gradient(115deg,#eee9e0 0%,#faf8f4 42%);padding:66px 0 96px}.booking-layout{grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);align-items:start;gap:clamp(32px,5vw,72px);display:grid}.booking-intro h1{letter-spacing:-.04em;margin:16px 0;font-size:clamp(2.7rem,4.5vw,4.9rem);line-height:1.11}.booking-intro p{max-width:420px;font-size:1.08rem}.booking-intro img{object-fit:cover;object-position:center 20%;border:8px solid #faf8f4;width:min(100%,310px);height:310px;margin-top:34px;display:block;box-shadow:18px 18px #c7a057}.booking-scheduler{border:1px solid var(--line);background:#fff;padding:22px;box-shadow:0 18px 45px #2a211615}.booking-scheduler h2{margin:0 0 14px;font-size:1.7rem}.booking-scheduler iframe{border:0;width:100%;height:730px;display:block}.booking-scheduler p{color:#5d564b;margin:15px 0 2px;font-size:.9rem}.booking-scheduler a{color:#78591c;text-underline-offset:3px;font-weight:700}@media (max-width:800px){.booking-layout{grid-template-columns:1fr}.booking-page{padding:48px 0 72px}.booking-intro img{display:none}.booking-scheduler iframe{height:680px}}@media (max-width:550px){.booking-scheduler{padding:10px}.booking-scheduler h2{padding:8px 8px 0}.booking-scheduler iframe{height:650px}.booking-scheduler p{padding:0 8px}}
