@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap');
:root{--ink:#24241f;--cream:#f3efe6;--paper:#fcfbf8;--gold:#896a2d;--line:#dcd8ce}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:85px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}
a{color:inherit;text-decoration:none}
button{font:inherit}
.skip{position:absolute;left:-9999px;top:8px;background:white;padding:10px;z-index:10}.skip:focus{left:8px}
.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--paper);position:relative;z-index:2}
.brand{display:flex;align-items:center;gap:15px}.brand-mark{font-family:Georgia,serif;font-size:38px;letter-spacing:-.08em;color:var(--gold)}.brand-mark span{color:var(--ink)}.brand-name{font-size:14px;line-height:1.1;letter-spacing:.12em;font-weight:700}.brand-name small{font-size:11px;letter-spacing:.27em}
.site-header nav{display:flex;gap:28px;font-size:13px}.site-header nav a:hover,.header-link:hover,.under-link:hover{color:var(--gold)}
.header-link{font-size:13px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:8px}.header-link span{margin-left:16px}
.menu-toggle{display:none;background:none;border:0;font-size:25px;cursor:pointer}.mobile-nav[hidden]{display:none}.mobile-nav{display:none}
.hero{min-height:675px;background:var(--ink);color:#f9f7ef;display:grid;grid-template-columns:58% 42%;position:relative}
.hero-content{padding:100px 8% 110px 9%}.eyebrow,.section-label{font-size:11px;font-weight:700;letter-spacing:.19em}.eyebrow{color:#e2c98f;display:flex;align-items:center;gap:12px}.eyebrow span{width:23px;height:1px;background:#e2c98f}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400}h1,h2{letter-spacing:-.038em}
.hero h1{font-size:clamp(48px,5.45vw,84px);line-height:1.13;margin:36px 0 25px}.hero h1 em,h2 em{font-weight:400;color:#ddc184}.hero-text{max-width:540px;color:#d7d0c2;line-height:1.85;font-size:15px}
.hero-actions{display:flex;align-items:center;gap:35px;margin-top:35px}.button{background:#c9a15a;color:#24241f;padding:16px 22px;font-size:13px;font-weight:700;display:flex;justify-content:space-between;gap:45px}.button:hover{background:#e6c780}.text-link{font-size:13px;border-bottom:1px solid #aaa298;padding-bottom:9px}.text-link span{margin-left:14px}
.hero-visual{position:relative;overflow:hidden;background:#d8d2d2}.hero-visual img{display:block;position:absolute;top:-130px;left:50%;width:auto;height:calc(100% + 150px);max-width:none;transform:translateX(-50%)}
.hero-bottom{position:absolute;bottom:22px;left:5%;right:5%;display:flex;justify-content:space-between;color:#c5bba9;font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.section-wrap{max-width:1380px;margin:auto;padding-left:5%;padding-right:5%}.section-label{color:var(--gold);margin:14px 0}
.intro{display:grid;grid-template-columns:30% 70%;padding-top:115px;padding-bottom:120px}.intro h2,.section-top h2,.feature h2,.faq h2,.contact h2{font-size:clamp(42px,4.6vw,68px);line-height:1.18;margin:0 0 25px}.intro-body p,.feature-copy p:not(.section-label){max-width:720px;line-height:1.9;color:#55534e;font-size:15px}.under-link{display:inline-block;border-bottom:1px solid var(--gold);padding:15px 0 8px;font-weight:700;font-size:13px;margin-top:15px}
.practice{background:var(--cream);padding:105px 0 115px}.section-top{display:grid;grid-template-columns:30% 45% 25%;align-items:end;margin-bottom:45px}.section-top p:last-child{font-size:14px;color:#68645f;line-height:1.8;padding-bottom:5px}
.practice-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #d3cfc3}.practice-grid article{padding:30px 22px 34px 0;min-height:235px;border-bottom:1px solid #d3cfc3}.practice-grid article:not(:nth-child(4n+1)){border-left:1px solid #d3cfc3;padding-left:22px}.practice-grid span{color:var(--gold);font-size:13px}.practice-grid h3{font-size:25px;margin:30px 0 12px}.practice-grid p{font-size:13px;line-height:1.8;color:#68645f}
.feature{display:grid;grid-template-columns:45% 55%;gap:8%;padding-top:115px;padding-bottom:95px;align-items:center}.feature-image{height:520px;overflow:hidden}.feature-image img{width:100%;height:100%;object-fit:cover}.feature-copy{padding-right:10%}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-bottom:110px}.photo-pair img{width:100%;height:340px;object-fit:cover}
.faq{background:#ede8dc;padding:105px 0 115px}.faq-layout{display:grid;grid-template-columns:37% 63%;gap:5%}.faq-note{font-size:14px;line-height:1.8;color:#68645f;max-width:330px}.faq-list{padding-right:8%}.faq details{border-bottom:1px solid #d1cec3}.faq details:first-child{border-top:1px solid #d1cec3}.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:23px 0;font-weight:600;font-size:16px}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:24px;color:var(--gold);line-height:1}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{margin:0 0 23px;color:#5d5a54;font-size:14px;line-height:1.85}
.contact{background:#24241f;color:#fff;padding:100px 0 105px}.contact h2{margin:18px 0}.contact>div>p:not(.section-label){color:#d6ccba;line-height:1.8;max-width:620px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #65605a;margin-top:65px;gap:25px}.contact-grid div{padding-top:25px}.contact-grid small{display:block;color:#dfc58c;letter-spacing:.2em;font-size:10px;margin-bottom:15px}.contact-grid strong{font-size:17px;font-weight:500;line-height:1.6;overflow-wrap:anywhere}.contact-grid a:hover{color:#ead7a8}.contact .hours{font-size:12px;color:#d6ccba;margin-top:42px}
footer{background:#1a1a17;color:#d6ccba;font-size:11px}footer .section-wrap{display:flex;justify-content:space-between;gap:20px;padding-top:25px;padding-bottom:25px}
@media(max-width:1050px){.site-header nav{display:none}.menu-toggle{display:block}.mobile-nav{display:flex;position:absolute;z-index:5;top:88px;left:0;right:0;background:var(--paper);flex-direction:column;padding:15px 5% 30px;box-shadow:0 20px 30px #0002}.mobile-nav a{padding:12px 0;border-bottom:1px solid var(--line)}.hero{grid-template-columns:58% 42%}.hero h1{font-size:clamp(44px,5.5vw,70px)}.hero-content{padding-left:7%}.hero-actions{align-items:flex-start;flex-direction:column;gap:24px}.practice-grid{grid-template-columns:repeat(2,1fr)}.practice-grid article:not(:nth-child(4n+1)){border-left:0;padding-left:0}.practice-grid article:nth-child(even){border-left:1px solid #d3cfc3;padding-left:22px}}
@media(max-width:700px){.site-header{height:72px}.mobile-nav{top:72px}.header-link{display:none}.hero{grid-template-columns:1fr}.hero-content{padding:72px 6% 80px}.hero h1{font-size:clamp(44px,11vw,65px)}.hero-visual{height:430px}.hero-bottom{display:none}.intro{grid-template-columns:1fr;gap:25px;padding-top:75px;padding-bottom:80px}.section-top{grid-template-columns:1fr;gap:12px}.section-top p:last-child{max-width:540px}.practice{padding:75px 0}.feature{grid-template-columns:1fr;padding-top:80px;padding-bottom:50px;gap:45px}.feature-image{height:360px}.feature-copy{padding-right:0}.photo-pair{padding-bottom:80px}.photo-pair img{height:220px}.faq{padding:75px 0 85px}.faq-layout{grid-template-columns:1fr;gap:30px}.faq-list{padding-right:0}.contact-grid{grid-template-columns:1fr;gap:22px}footer .section-wrap{flex-direction:column}}
@media(max-width:500px){.practice-grid{grid-template-columns:1fr}.practice-grid article,.practice-grid article:nth-child(even){border-left:0;padding-left:0;min-height:auto}.photo-pair{grid-template-columns:1fr}.photo-pair img{height:230px}.hero-visual{height:520px}.brand-name{font-size:12px}}
.about-photo{max-height:none;height:auto;aspect-ratio:auto;object-fit:contain}
@media(max-width:500px){.hero-visual img{top:-120px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.inner-hero{background:var(--ink);color:#fff;padding:80px 0 90px}.inner-hero .eyebrow{margin:0 0 52px}.inner-hero .section-label{margin-bottom:15px}.inner-hero h1{font-size:clamp(48px,6vw,90px);line-height:1.08;max-width:1050px;margin:0}.inner-content{padding-top:90px;padding-bottom:115px}.inner-content h2{font-size:clamp(28px,3vw,46px);line-height:1.2}.inner-content p{font-size:15px;line-height:1.9;color:#55534e;max-width:780px}.inner-content .lead{font-size:19px;line-height:1.75;color:var(--ink);max-width:850px;margin-top:0;margin-bottom:35px}.two-col{display:grid;grid-template-columns:40% 60%;gap:8%;align-items:start}.about-photo,.service-photo{width:100%;max-height:670px;object-fit:cover}.about-photo{max-height:none;height:auto;object-fit:contain}.inline-button{display:inline-flex;margin-top:20px}.service-cards{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);margin:50px 0}.service-card{padding:35px 35px 38px 0;border-bottom:1px solid var(--line)}.service-card:nth-child(even){padding-left:35px;border-left:1px solid var(--line)}.service-card span,.contact-info-grid small{font-size:10px;color:var(--gold);letter-spacing:.18em;font-weight:700}.service-card h2{font-size:31px;margin:20px 0 12px}.service-card a:hover,.back-link a:hover{color:var(--gold)}.service-card p{font-size:14px;margin:0}.full-faq{max-width:940px;margin:45px 0}.back-link{margin-top:40px}.contact-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;border-bottom:1px solid var(--line);padding-bottom:60px;margin-bottom:60px}.contact-info-grid div:last-child{grid-column:1/-1}.contact-info-grid h2{font-size:clamp(24px,2.5vw,36px);margin:15px 0 0;overflow-wrap:anywhere}.contact-info-grid a:hover{color:var(--gold)}
@media(max-width:700px){.inner-hero{padding:70px 0}.inner-hero .eyebrow{margin-bottom:36px}.inner-content{padding-top:70px;padding-bottom:85px}.two-col,.service-cards,.contact-info-grid{grid-template-columns:1fr;gap:25px}.two-col{gap:40px}.about-photo,.service-photo{max-height:450px}.service-card,.service-card:nth-child(even){padding:26px 0;border-left:0}.contact-info-grid div:last-child{grid-column:auto}}
.brand img{display:block;width:76px;height:76px;max-width:none;flex:none;object-fit:contain;background:#24241f;border-radius:6px}
.location{display:grid;grid-template-columns:38% 62%;gap:4%;padding-top:105px;padding-bottom:115px;align-items:center}.location h2{font-size:clamp(42px,4.6vw,68px);line-height:1.18;margin:12px 0 25px}.location-copy p:not(.section-label){font-size:15px;line-height:1.8;color:#55534e}.location-copy .under-link{display:block;width:max-content;max-width:100%;margin-top:14px}.location-map{height:410px;background:#ede8dc;border:1px solid var(--line)}.location-map iframe{width:100%;height:100%;border:0}
@media(max-width:700px){.brand img{width:60px;height:60px}.location{grid-template-columns:1fr;gap:35px;padding-top:75px;padding-bottom:80px}.location-map{height:340px}}
.home-practice-grid{grid-template-columns:repeat(3,1fr)}.home-practice-grid article{min-height:205px}.home-practice-grid article:nth-child(3){border-left:1px solid #d3cfc3;padding-left:22px}
.home-notes{display:grid;grid-template-columns:30% 70%;padding-top:105px;padding-bottom:110px}.home-notes h2{font-size:clamp(42px,4.6vw,68px);line-height:1.18;margin:0 0 25px}.home-notes p:not(.section-label){font-size:15px;line-height:1.9;color:#55534e;max-width:650px}.home-contact .button{margin-top:30px}
.note-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:55px}.note-card{border-top:1px solid var(--line);padding:32px 28px 38px 0}.note-topic{font-size:11px;font-weight:700;letter-spacing:.15em;color:var(--gold);text-transform:uppercase}.note-card h2{margin:24px 0 12px;font-size:clamp(28px,3vw,42px);line-height:1.2}.note-card h2 a:hover{color:var(--gold)}.note-card p{margin:0;line-height:1.8;color:#55534e}.note-article{max-width:900px}.note-article h2{font-size:31px;margin:42px 0 8px}.note-article .lead{margin-top:24px}.note-disclaimer{border-top:1px solid var(--line);padding-top:24px;margin-top:50px}
@media(max-width:1050px){.home-practice-grid{grid-template-columns:repeat(2,1fr)}.home-practice-grid article:nth-child(3){border-left:0;padding-left:0}}
@media(max-width:700px){.home-practice-grid,.home-notes,.note-grid{grid-template-columns:1fr}.home-notes{gap:20px;padding-top:75px;padding-bottom:85px}.home-practice-grid article:nth-child(3){border-left:0;padding-left:0}.note-grid{gap:12px}.note-card{padding-right:0}}
.whatsapp-widget{position:fixed;right:22px;bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:1000;display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:10px 17px 10px 13px;border-radius:999px;background:#176b50;color:#fff;font-size:13px;font-weight:700;letter-spacing:.01em;box-shadow:0 8px 24px rgba(12,35,31,.25)}
.whatsapp-widget svg{display:block;width:25px;height:25px;flex:none}.whatsapp-widget:hover{background:#10543e;color:#fff}.whatsapp-widget:focus-visible{outline:3px solid #c8a66e;outline-offset:3px}
@media(max-width:700px){.whatsapp-widget{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));min-height:48px;padding:9px 14px 9px 11px}}

.brand{gap:6px;white-space:nowrap}.brand-wordmark{display:flex;flex-direction:column;gap:4px;color:var(--ink);font-family:Georgia,serif;font-size:16px;font-weight:700;letter-spacing:.01em;line-height:1.1}.brand-wordmark small{font-family:'DM Sans',Arial,sans-serif;font-size:9px;font-weight:700;letter-spacing:.22em;color:var(--gold)}.site-header nav{gap:18px;font-size:12px}.inner-hero .section-label,.contact .section-label{color:#dfbd7b}@media(max-width:700px){.brand-wordmark{font-size:13px}.brand-wordmark small{font-size:8px;letter-spacing:.16em}}
