@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--gold:#d4af37;--gold-light:#ead78f;--ink:#252423;--surface:#2f2e2a;--text:#f2f0ea;--muted:#b7b4ab;--paper:#252423;--white:#fff;--line:#3d3b37;--radius:28px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--text);font:16px/1.7 'DM Sans',Arial,sans-serif}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;font-weight:600;line-height:1.15;letter-spacing:-.04em}h2{font-size:clamp(2.2rem,4vw,3.8rem);margin-bottom:26px}h3{font-size:1.5rem}button{color:inherit}a,button{touch-action:manipulation}:focus-visible{outline:3px solid #b48c19;outline-offset:5px}.skip{position:absolute;top:-90px;left:20px;z-index:100;background:var(--surface);color:var(--text);padding:15px}.skip:focus{top:10px}.topbar{padding:10px 4%;background:var(--ink);color:#e9e6db;display:flex;align-items:center;gap:30px;font-size:.8rem}.topbar>span{margin-right:auto}.topbar>a{color:#d8d6ce}.header{padding:12px 4%;display:flex;align-items:center;gap:24px;min-height:126px}.brand{margin-right:20px}.brand img{width:112px;height:98px;object-fit:contain;border-radius:7px}.header nav{display:flex;align-items:center;gap:25px;margin-right:auto}.header nav a{font-size:.75rem;font-weight:800;letter-spacing:.03em;white-space:nowrap}.header nav a span{color:var(--gold);margin-left:8px}.header nav a:hover,.header nav a.active{color:#9b7614}.header-phone{line-height:1.6;font-size:.9rem;font-weight:700;white-space:nowrap}.header-phone small{display:block;font-size:.75rem;font-weight:400;color:var(--muted)}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;border:none;border-radius:50px;padding:18px 28px;font-size:.88rem;font-weight:600;line-height:1.4;transition:transform .2s,background .2s}.button span{font-size:1.45rem;line-height:1}.button:hover{transform:translateY(-3px)}.dark{background:var(--ink);color:white}.dark:hover{background:#48453b}.gold{background:var(--gold);color:#222}.gold:hover{background:var(--gold-light)}.menu-toggle{display:none}.hero{margin:0 3.2%;height:650px;min-height:560px;border-radius:var(--radius);overflow:hidden;position:relative;color:white;isolation:isolate}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero-image{object-position:center 48%;transition:opacity .3s}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(13,22,20,.6),rgba(19,23,18,.34),rgba(16,21,18,.53))}.hero-content{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 85px 80px}.eyebrow{display:inline-block;background:#e8dfbf;border-radius:30px;padding:7px 18px;color:#675016;font-size:.72rem;font-weight:700;letter-spacing:.09em;line-height:1.5;margin-bottom:25px}.eyebrow.light{background:white;color:#3d3c36}.hero h1{font-size:clamp(3.6rem,6.6vw,6rem);line-height:1.08;margin-bottom:22px;letter-spacing:-.045em}.hero p{font-size:1rem;color:#e7e9e6;margin-bottom:28px}.hero-social{position:absolute;left:32px;top:50%;transform:translateY(-50%);display:grid;gap:9px}.hero-social a{display:grid;place-items:center;width:37px;height:37px;background:#fff;color:var(--ink);font-weight:700}.hero-bottom{position:absolute;left:40px;right:40px;bottom:29px;display:flex;justify-content:space-between;align-items:center;font-size:.75rem;letter-spacing:.12em}.hero-bottom a{letter-spacing:0}.hero-bottom a span{margin-left:12px}.slider-controls{position:absolute;right:35px;top:50%;display:grid;gap:14px}.slider-controls button{width:11px;height:11px;border:0;border-radius:50%;background:#fff8;padding:0}.slider-controls button.selected{background:white;outline:1px solid white;outline-offset:5px}.appointment{position:relative;margin:-1px 1.7% 0;border-radius:var(--radius);background:var(--gold);padding:38px 3.5% 28px}.appointment-heading{display:flex;justify-content:space-between;align-items:center}.kicker{font-size:.7rem;letter-spacing:.15em;font-weight:700}.appointment h2{font-size:1.9rem;margin:7px 0 24px;letter-spacing:-.03em}.appointment-heading p{font-size:.88rem}.form-grid{display:grid;grid-template-columns:1.05fr 1fr 1fr 1fr 1.2fr;gap:15px;align-items:end}.form-grid label{font-size:.75rem;font-weight:600}.form-grid input,.form-grid select{width:100%;min-width:0;display:block;background:var(--surface);border:1px solid var(--surface);border-radius:9px;padding:15px 16px;margin-top:6px;font-size:.85rem;height:54px;color:var(--text)}.form-grid .button{min-height:54px;padding:13px 18px;gap:10px;font-size:.78rem}.form-note{margin:14px 0 0;font-size:.75rem;color:#483d20}.section{max-width:1360px;padding:0 5%;margin:100px auto}.about{display:grid;grid-template-columns:1fr 1.03fr;gap:0}.about-photo{position:relative;min-height:560px}.about-photo>img{width:100%;height:100%;position:absolute;border-radius:var(--radius) 0 0 var(--radius);object-position:center 43%}.since{position:absolute;bottom:26px;left:26px;display:flex;align-items:center;gap:18px;background:var(--surface);border-radius:16px;padding:20px 25px}.since strong{font:600 2.5rem Manrope,Arial;letter-spacing:-.06em}.since span{max-width:110px;font-size:.75rem;line-height:1.4;color:var(--muted)}.about-copy{padding:45px 9%;background:var(--surface);border-radius:0 var(--radius) var(--radius) 0}.about-copy h2{font-size:3rem}.about-copy h2 span{color:var(--gold)}.about-copy p{font-size:.92rem;color:var(--muted)}.about-points{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:26px 0;font-size:.8rem}.about-points span:before{content:'✓';margin-right:8px;color:#a2801e}.marquee{display:flex;align-items:center;justify-content:center;gap:40px;border-block:1px solid var(--line);padding:30px 20px;overflow:hidden;white-space:nowrap;font:500 clamp(1.3rem,3.4vw,3.4rem) Manrope,Arial;letter-spacing:-.045em}.marquee i{font-style:normal;font-size:2rem;color:#aa8726}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.section-heading h2{margin-bottom:0}.section-heading p{font-size:.93rem;color:var(--muted);margin-bottom:6px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{border:0;padding:0;text-align:left;background:var(--surface);border-radius:20px;overflow:hidden;transition:transform .2s}.service-card:hover{transform:translateY(-7px)}.service-photo{height:290px;position:relative;overflow:hidden}.service-photo img{height:100%;width:100%;transition:transform .4s}.service-card:hover img{transform:scale(1.04)}.service-photo>span{position:absolute;top:17px;left:17px;background:var(--gold);color:#222;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:.75rem}.service-copy{padding:28px 22px 30px;position:relative}.service-copy small{font-size:.62rem;letter-spacing:.12em;color:var(--gold-light)}.service-copy h3{font-size:1.45rem;margin:10px 38px 0 0}.circle-arrow{position:absolute;right:20px;bottom:26px;border:1px solid var(--line);border-radius:50%;width:35px;height:35px;display:grid;place-items:center}.contact-banner{margin:0 3.2%;padding:50px 4%;display:flex;align-items:center;justify-content:space-between;gap:25px;border-radius:var(--radius);background:var(--ink);color:white}.contact-banner .kicker{color:var(--gold-light)}.contact-banner h2{font-size:2.3rem;margin:10px 0 0}.banner-phone{font-size:1.65rem;letter-spacing:-.04em;white-space:nowrap}.gallery-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:18px}.gallery-grid button{border:0;padding:0;height:365px;border-radius:20px;overflow:hidden;position:relative;background:var(--surface)}.gallery-grid img{height:100%;width:100%;transition:transform .4s}.gallery-grid button:hover img{transform:scale(1.05)}.gallery-grid span{position:absolute;bottom:0;left:0;right:0;text-align:left;padding:40px 20px 20px;color:white;font-size:.82rem;background:linear-gradient(transparent,#000a)}.faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.text-link{font-size:.9rem;border-bottom:1px solid #baa664;padding-bottom:6px}.faq-list details{border-bottom:1px solid var(--line);padding:22px 0}.faq-list details:first-child{border-top:1px solid var(--line)}summary{list-style:none;cursor:pointer;font-size:1.06rem;font-weight:500;padding-right:32px;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:3px;font-size:1.4rem;color:#9e7b1c}details[open] summary:after{content:'−'}details p{font-size:.91rem;color:var(--muted);margin:18px 30px 0 0}.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-row{padding:19px 0;border-top:1px solid var(--line)}.contact-row>span{display:block;font-size:.68rem;letter-spacing:.1em;color:var(--muted);margin-bottom:7px}.contact-row>a{display:block;font-size:1.3rem;line-height:1.5}.address-card{overflow:hidden;border-radius:24px;background:var(--surface)}.address-card>img{width:100%;height:270px;object-position:center 45%}.address-card>div{padding:30px 35px 36px}.address-card h3{margin:12px 0 17px;font-size:1.75rem}.address-card p{color:var(--muted);font-size:.93rem}footer{background:var(--ink);color:#ecebe6;padding:35px 5% 20px}.footer-top{display:flex;gap:45px;align-items:center;padding-bottom:30px}.footer-top img{width:150px;height:132px;object-fit:contain}.footer-top p{font-size:.87rem;margin:0}.footer-top p span{display:block;color:#aaa79e;margin-top:8px}.footer-top nav{margin-left:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px 35px;font-size:.8rem}.footer-bottom{border-top:1px solid #ffffff22;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#bdbbb3;font-size:.72rem}.floating-contact{position:fixed;bottom:22px;right:22px;padding:11px 19px;background:var(--ink);color:white;border:1px solid #d5b74e;border-radius:40px;box-shadow:0 5px 20px #0002;z-index:8;font-size:.8rem;display:flex;align-items:center;gap:9px}.floating-contact>span{color:var(--gold);font-size:1.2rem}dialog{border:0;border-radius:24px;padding:45px;max-width:570px;width:calc(100% - 36px);background:var(--surface);color:var(--text);box-shadow:0 20px 80px #0006}dialog::backdrop{background:#151717b8;backdrop-filter:blur(5px)}dialog h2{font-size:2.4rem}dialog p{color:var(--muted)}.dialog-close{position:absolute;right:15px;top:10px;background:transparent;color:var(--text);border:0;font-size:2rem;width:40px;height:40px;line-height:1}#photo-dialog{padding:10px;max-width:1000px;background:var(--surface)}#photo-dialog img{width:100%;max-height:80vh;object-fit:contain;border-radius:14px}#photo-dialog .dialog-close{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:50%;z-index:1}body:has(dialog[open]){overflow:hidden}
@media(min-width:1500px){.hero{height:720px}.header{min-height:140px}.header nav a{font-size:.85rem}.header nav{gap:36px}.brand img{width:132px;height:115px}.hero h1{font-size:6.3rem}}
@media(max-width:1150px){.header{gap:18px;padding-inline:3%}.header nav{gap:17px}.header-phone{display:none}.brand{margin-right:5px}.header-cta{padding:16px 22px}.hero{height:610px}.form-grid{grid-template-columns:1fr 1fr}.form-grid .button{grid-column:1/-1;justify-self:end;margin-top:4px}.about-copy{padding:35px 7%}.about-copy h2{font-size:2.7rem}.about-points{grid-template-columns:1fr}.contact-banner h2{font-size:1.8rem}.banner-phone{font-size:1.4rem}.contact-banner .button{padding:17px 21px}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid button{height:360px}.faq,.contact{gap:40px}}
@media(max-width:800px){html{scroll-padding-top:20px}.topbar{justify-content:center;padding:8px;font-size:.68rem}.topbar>span{margin:0}.topbar>a{display:none}.header{min-height:100px;padding:10px 5%;position:relative;flex-wrap:wrap;gap:15px}.brand{margin-right:auto}.brand img{width:84px;height:74px}.menu-toggle{display:block;order:3;font-size:1.4rem;border:0;background:transparent;padding:8px}.header-cta{font-size:.77rem;padding:14px 20px}.header nav{display:none;order:4;width:100%;flex-direction:column;align-items:stretch;margin:0;padding:18px 0;border-top:1px solid var(--line);gap:0}.header nav.open{display:flex}.header nav a{padding:12px;font-size:.83rem}.hero{margin:0 4%;height:570px;min-height:0;border-radius:22px}.hero-content{padding:40px 30px 90px}.hero h1{font-size:3.35rem}.hero p{font-size:.9rem;max-width:270px}.hero-social{display:none}.hero-bottom{left:24px;right:24px;bottom:25px;font-size:.6rem}.hero-bottom a{display:none}.slider-controls{right:20px}.appointment{margin:0 2%;padding:28px 6%;border-radius:22px}.appointment-heading{display:block}.appointment-heading h2{margin-bottom:12px}.appointment-heading p{font-size:.82rem}.form-grid{gap:13px}.form-grid input,.form-grid select{padding:13px 10px;font-size:.82rem}.form-grid .button{justify-self:stretch}.section{margin:65px auto;padding:0 6%}.about{grid-template-columns:1fr}.about-photo{min-height:370px}.about-photo>img{border-radius:22px 22px 0 0;object-position:center 39%}.about-copy{padding:32px 25px;border-radius:0 0 22px 22px}.about-copy h2{font-size:2.55rem}.about-points{grid-template-columns:1fr 1fr}.marquee{gap:22px;padding:23px 15px;justify-content:flex-start}.marquee i{font-size:1.4rem}.section-heading{display:block}.section-heading p{margin:20px 0 0}.service-grid{grid-template-columns:1fr;gap:22px}.service-photo{height:300px}.service-copy{padding:23px}.service-copy h3{font-size:1.55rem}.contact-banner{margin:0 4%;padding:35px 28px;flex-direction:column;align-items:flex-start;gap:22px}.contact-banner h2{font-size:2.1rem}.banner-phone{font-size:1.65rem}.gallery-grid{gap:13px}.gallery-grid button{height:250px;border-radius:15px}.gallery-grid span{padding:25px 13px 15px;font-size:.72rem}.faq,.contact{grid-template-columns:1fr;gap:30px}.faq h2 br{display:none}.faq-list summary{font-size:1rem}.contact-row>a{font-size:1.15rem}.address-card>div{padding:28px}.footer-top{flex-wrap:wrap;gap:20px}.footer-top p{max-width:210px;font-size:.77rem}.footer-top img{width:115px;height:100px}.footer-top nav{margin:0;width:100%;display:flex;flex-wrap:wrap;gap:20px}.footer-bottom{flex-wrap:wrap;padding-bottom:50px;gap:10px;font-size:.68rem}.footer-bottom>a{margin-left:auto}.floating-contact{right:14px;bottom:14px;padding:9px 15px}dialog{padding:35px 25px}}
@media(max-width:400px){.hero h1{font-size:2.9rem}.hero-content{padding-inline:25px}.form-grid{grid-template-columns:1fr}.about-points{font-size:.73rem}.gallery-grid{grid-template-columns:1fr}.gallery-grid button{height:350px}.header-cta{padding:12px 15px;gap:10px}.header{gap:6px}}
.form-grid label,.form-grid input,.form-grid select,.form-grid .button,.header nav a,.footer-top nav,.text-link,.gallery-grid span{font-size:.875rem}.about-copy p,.section-heading p,.address-card p,details p{font-size:1rem}.form-note,.kicker,.eyebrow,.service-copy small,.contact-row>span,.footer-bottom{font-size:.75rem}.slider-controls button{position:relative}.slider-controls button:after{content:'';position:absolute;inset:-10px}.faq h2 br:after{content:' '}
@media(max-width:1250px) and (min-width:801px){.header nav{gap:14px}.header nav a{font-size:.75rem}.header-phone{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
