:root{--black:#0b0909;--panel:#141011;--gold:#e9c783;--coral:#f09298;--cream:#f7ede0;--muted:#bfb0a5;--line:#45352e;--sans:'DM Sans',Arial,sans-serif;--serif:'Newsreader',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--black);color:var(--cream);font:16px/1.65 var(--sans)}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:5px}::selection{background:var(--coral);color:var(--black)}.skip{position:fixed;top:8px;left:-1000px;z-index:99;padding:12px 20px;background:var(--gold);color:var(--black)}.skip:focus{left:8px}.topline{display:flex;justify-content:space-between;padding:9px 5%;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.1em;color:var(--muted)}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:12px 5%;height:112px;background:#0b0909f5;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.brand{display:block;flex-shrink:0}.brand img{display:block;width:151px;height:92px;object-fit:contain}nav{display:flex;gap:32px}nav a{font-size:12px;text-decoration:none}nav a:hover,.text-link:hover{color:var(--coral)}.header-call{text-decoration:none;color:var(--gold);font-size:14px;white-space:nowrap}.header-call span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.header-call b{margin-left:10px;font-weight:400}.hero{position:relative;display:grid;grid-template-columns:1.05fr 1fr;min-height:660px;max-width:1800px;margin:auto;overflow:hidden}.hero-copy{padding:105px 8% 125px 9.5%;align-self:center;z-index:2}.eyebrow{text-transform:uppercase;color:var(--coral);font-size:10px;font-weight:600;letter-spacing:.19em;margin:0 0 25px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.045em;line-height:1.05}h1{font-size:clamp(48px,5.7vw,87px);margin:0 0 25px}h1 em,h2 em{color:var(--gold);font-weight:500}h2{font-size:clamp(38px,4.1vw,62px);margin-bottom:24px}.lede{max-width:415px;color:var(--muted);font-size:16px}.hero-actions{display:flex;align-items:center;gap:27px;margin:33px 0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--coral);border:1px solid var(--coral);color:#1c0c0f;padding:16px 22px;text-decoration:none;font-size:12px;font-weight:700;cursor:pointer;min-height:51px;transition:background .2s,transform .2s}.button:hover{background:#f8b3b3;transform:translateY(-2px)}.text-link{display:inline-flex;gap:20px;align-items:center;font-size:12px;text-decoration:none;border-bottom:1px solid var(--line);padding:12px 0}.trust-line{display:flex;gap:23px;font-size:10px;color:var(--muted);letter-spacing:.04em}.trust-line span:first-letter{color:var(--coral)}.hero-portrait{margin:0;position:relative;min-height:660px}.hero-portrait>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 32%}.hero-portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0b0909 0%,transparent 20%),linear-gradient(0deg,#0b0909d9,transparent 43%)}.hero-portrait figcaption{position:absolute;bottom:92px;left:15%;z-index:2;display:grid;gap:4px}.hero-portrait figcaption span{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#f1ded0}.hero-portrait figcaption strong{font:500 32px var(--serif);color:#fff2df}.hero-ribbon{position:absolute;bottom:-1px;right:0;width:70%;height:85px;z-index:3;pointer-events:none}.section{padding:100px 6%;max-width:1600px;margin:auto}.section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:end;margin-bottom:40px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:370px;color:var(--muted);font-size:14px;justify-self:end}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.service-card{padding:28px 24px;background:linear-gradient(140deg,#1b1213,var(--black));border-right:1px solid var(--line);display:flex;flex-direction:column}.service-card:last-child{border:0}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;color:var(--muted);font-size:10px}.service-icon{width:59px;height:59px;padding:11px;border:1px solid #bc6972;border-radius:50%;color:var(--coral)}.service-icon svg{display:block;width:100%;height:100%}.service-card h3{font:500 29px/1.08 var(--serif);letter-spacing:-.025em;color:var(--gold);margin-bottom:17px;min-height:63px}.service-card p{font-size:12px;color:var(--muted)}.service-card .service-intro{color:var(--cream);font-size:13px;min-height:44px}.service-card a{display:flex;justify-content:space-between;text-decoration:none;border-top:1px solid var(--line);padding-top:20px;margin-top:auto;font-size:11px;color:var(--coral)}.about{display:grid;grid-template-columns:1fr 1fr;gap:9%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 10% 40%,#2d1a18,transparent 55%)}.about-brand{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:35px 0}.about-brand img{width:100%;max-width:450px;height:auto}.about-brand>span{margin-top:26px;text-transform:uppercase;letter-spacing:.13em;font-size:9px;color:var(--muted)}.about-copy p:not(.eyebrow){font-size:14px;color:var(--muted)}.about-copy .text-link{color:var(--coral)}.booking{display:grid;grid-template-columns:1fr 1fr;gap:10%;scroll-margin-top:20px}.contact-copy>p:not(.eyebrow){color:var(--muted);font-size:14px;max-width:365px}.phone{display:inline-block;font:500 clamp(27px,3.2vw,44px) var(--serif);color:var(--gold);text-decoration:none;margin:14px 0 8px}.phone span{font-size:25px;margin-left:15px}.contact-label{font-size:11px!important}.contact-note{margin:35px 0 25px;padding-top:24px;border-top:1px solid var(--line);max-width:360px;font-size:12px}.contact-note strong{color:var(--coral);font-weight:500}.contact-note p{margin:6px 0;color:var(--muted)}.contact-site{overflow-wrap:anywhere;font-size:11px!important}.appointment{background:var(--panel);border:1px solid #795146;align-self:start;box-shadow:9px 9px 0 #d1976733}.form-heading{display:flex;align-items:center;justify-content:space-between;padding:19px 26px;border-bottom:1px solid var(--line);font-size:11px;color:var(--gold);letter-spacing:.05em}.appointment form{padding:24px 26px}.appointment label{display:grid;gap:8px;margin:0 0 20px;font-size:11px;color:var(--cream)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.appointment input,.appointment select,.appointment textarea{width:100%;min-width:0;padding:12px 11px;background:#0e0b0c;border:1px solid #604940;border-radius:0;color:var(--cream);font-size:13px;min-height:46px;color-scheme:dark}.appointment textarea{resize:vertical}.appointment input::placeholder,.appointment textarea::placeholder{color:#a99b93}.appointment .button{width:100%}.form-help{font-size:10px;color:var(--muted);line-height:1.6}.form-result:not(:empty){margin-top:20px;padding:16px;border:1px solid var(--gold);font-size:12px;color:var(--gold)}.form-result p{overflow-wrap:anywhere;color:var(--cream)}.form-result a{display:inline-block;font-weight:700;margin-top:6px}.prepare{display:grid;grid-template-columns:1fr 1fr;gap:10%;border-top:1px solid var(--line);background:#100d0d}.prepare ol{list-style:none;padding:0;margin:0}.prepare li{display:flex;gap:22px;padding:22px 0;border-bottom:1px solid var(--line)}.prepare li:first-child{padding-top:0}.prepare li b{color:var(--coral);font-size:11px;font-weight:400}.prepare h3{font:500 24px var(--serif);margin:0 0 9px;color:var(--gold)}.prepare li p{font-size:12px;color:var(--muted);margin:0}.area{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;align-items:center;border-top:1px solid var(--line)}.area p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:445px}.area-places{display:flex;flex-wrap:wrap;gap:12px}.area-places>span{padding:15px 20px;border:1px solid #795146;color:var(--gold);font:500 23px var(--serif)}.area-places>span:first-child{background:var(--gold);color:var(--black)}.area-places>a{display:flex;justify-content:space-between;width:100%;margin-top:18px;font-size:12px;color:var(--coral);text-decoration:none}.final{text-align:center;padding:85px 20px 95px;background:radial-gradient(ellipse at 50% 130%,#683237,transparent 65%),#171011;border-top:1px solid #795146;border-bottom:1px solid #795146}.final h2{font-size:clamp(45px,5.6vw,78px);margin-bottom:30px}footer{padding:50px 6% 20px}.footer-main{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:50px}.footer-main>img{width:215px;height:auto}.footer-main>div{font-size:11px;color:var(--muted)}.footer-main>div>a{display:block;font-size:17px;color:var(--gold);text-decoration:none;margin:0 0 5px}.footer-main>nav{flex-direction:column;gap:15px}.footer-bottom{display:flex;justify-content:space-between;gap:40px;padding-top:25px;margin-top:35px;border-top:1px solid var(--line);font-size:9px;color:var(--muted)}.footer-bottom p{max-width:425px;text-align:right;margin:0}
@media(min-width:1600px){.hero-copy{padding-left:12%}}
@media(max-width:1050px){nav{gap:19px}.hero{grid-template-columns:1fr 1fr;min-height:600px}.hero-copy{padding:70px 7% 100px 10%}.hero-portrait{min-height:600px}.hero-actions{gap:18px;flex-wrap:wrap}.trust-line{gap:12px}.service-grid{grid-template-columns:1fr 1fr}.service-card:nth-child(2){border-right:0}.service-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.service-card h3,.service-card .service-intro{min-height:0}.service-card a{margin-top:16px}.section{padding:75px 5%}.booking,.about,.prepare{gap:6%}.field-row{grid-template-columns:1fr;gap:0}.footer-main{gap:25px}}
@media(max-width:720px){html{scroll-padding-top:105px}.topline{justify-content:center;font-size:8px;padding:7px 4%}.topline>span:first-child{display:none}.site-header{height:99px;padding:7px 5%;gap:12px}.brand img{width:132px;height:82px}.site-header nav{display:none}.header-call{font-size:12px}.header-call b{margin-left:4px}.hero{display:flex;flex-direction:column}.hero-copy{padding:48px 6% 38px;order:0}.hero .eyebrow{font-size:8px;margin-bottom:21px}h1{font-size:clamp(44px,10.2vw,69px);margin-bottom:20px}.lede{font-size:14px;max-width:420px}.hero-actions{margin:26px 0;gap:23px}.hero-actions .button{padding:15px 18px;gap:22px}.trust-line{font-size:9px;gap:21px}.hero-portrait{min-height:0;height:470px;margin:0 6% 40px;border:1px solid #795146}.hero-portrait>img{object-position:center 30%}.hero-portrait:after{background:linear-gradient(0deg,#0b0909ee,transparent 48%)}.hero-portrait figcaption{bottom:30px;left:25px}.hero-ribbon{width:90%;height:55px}.section{padding:60px 6%}h2{font-size:41px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin:22px 0 0;font-size:13px;max-width:none}.service-grid{grid-template-columns:1fr 1fr}.service-card{padding:23px 15px}.service-top{margin-bottom:21px}.service-icon{width:50px;height:50px}.service-card h3{font-size:25px;min-height:54px}.service-card .service-intro{font-size:12px;min-height:58px}.service-card p{font-size:11px}.service-card a{font-size:10px;gap:8px}.about,.booking,.prepare,.area{grid-template-columns:1fr;gap:38px}.about-brand{padding:0 18px 12px}.about-brand img{max-width:345px}.about-brand>span{font-size:8px}.booking{gap:30px}.contact-copy>p:not(.eyebrow){max-width:none}.phone{font-size:37px}.contact-note{max-width:none}.appointment form{padding:22px}.field-row{grid-template-columns:1fr 1fr;gap:12px}.appointment input,.appointment select,.appointment textarea{font-size:16px}.prepare h2{margin-bottom:0}.area{gap:20px}.area-places>span{font-size:21px;padding:12px 16px}.final{padding:63px 6%}.final h2{font-size:47px}.footer-main{grid-template-columns:1fr 1fr;gap:22px}.footer-main>img{width:155px}.footer-main>nav{grid-column:1/-1;flex-direction:row;justify-content:space-between;border-top:1px solid var(--line);padding-top:24px}.footer-main>div{font-size:9px}.footer-main>div>a{font-size:15px}.footer-bottom{display:block;margin-top:25px}.footer-bottom p{text-align:left;margin-top:13px;max-width:none}}
@media(max-width:370px){.service-grid{grid-template-columns:1fr}.service-card{border-right:0;border-bottom:1px solid var(--line)}.service-card h3,.service-card .service-intro{min-height:0}.field-row{grid-template-columns:1fr}.hero-portrait{height:410px}.hero-actions{gap:12px}.text-link{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}
