:root{--ink:#191e1b;--gold:#b89a59;--cream:#f4f1eb;--muted:#a7aaa5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}header{height:110px;background:#171c19;color:#eee;display:flex;align-items:center;padding:12px 6%;gap:45px;border-bottom:1px solid #ffffff16;position:relative;z-index:10}.brand{margin-right:auto}.brand img{width:155px;max-height:86px;object-fit:contain}nav{display:flex;gap:32px;font-size:12px;color:#d0d0c8}.header-contact{font-size:12px;border:1px solid #ffffff36;padding:14px 19px}.arrow{display:inline-block;font-family:Arial,sans-serif;font-variant-emoji:text;margin-left:15px;font-size:20px;line-height:1}.menu{display:none}.hero{background:var(--ink);color:var(--cream);display:grid;grid-template-columns:55% 45%;position:relative;overflow:hidden;min-height:690px}.hero-copy{padding:82px 5% 75px 11%;position:relative;z-index:2}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.1px;color:var(--gold);display:flex;align-items:center;gap:12px;margin-bottom:25px}.eyebrow span{height:5px;width:5px;border-radius:50%;background:var(--gold)}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-1.8px;margin:0;line-height:1.14}h1{font-size:clamp(45px,4.65vw,72px)}em{font-weight:400;color:var(--gold)}.hero-copy>p{font-size:14px;line-height:1.9;color:#bfc1b9;max-width:390px;margin:26px 0 30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:20px 25px;font-size:12px;font-weight:600;transition:background .2s,transform .2s}.gold{background:var(--gold);color:#151a17}.button:hover{background:#cfb574;transform:translateY(-2px)}.hero-note{display:flex;align-items:center;gap:13px;font-size:11px;margin-top:36px;color:#ddd}.small-line{width:25px;height:1px;background:var(--gold)}.hero-note i{font-style:normal;font-size:9px;color:#969d93;border-left:1px solid #ffffff30;padding-left:13px}.portrait{position:relative;min-height:690px}.portrait>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 25%}.portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#191e1b 0%,transparent 25%),linear-gradient(0deg,#191e1bde,transparent 35%)}.portrait-tag{position:absolute;bottom:42px;left:16%;z-index:1;border-left:1px solid var(--gold);padding-left:20px}.portrait-tag span{font-size:8px;letter-spacing:2px;color:#d7bc7b}.portrait-tag strong{font-family:'Playfair Display',serif;font-size:22px;line-height:1.5;font-weight:400;display:block;margin-top:10px}.hero-side{position:absolute;right:17px;top:48%;writing-mode:vertical-rl;letter-spacing:3px;font-size:8px;color:#fff8}.trust{display:flex;justify-content:space-between;padding:29px 8%;border-bottom:1px solid #d8d3c8;font-size:12px}.trust span{color:#927a49;font-size:10px;margin-right:17px}.section{padding:100px 8%;scroll-margin-top:0}h2{font-size:clamp(37px,3.4vw,52px)}.about{display:grid;grid-template-columns:1fr 1fr;gap:11%;padding-top:115px;padding-bottom:115px}.signature{font-family:'Playfair Display',serif;font-style:italic;font-size:28px;margin-top:38px;color:#9d8147}.credential{font-size:8px;letter-spacing:1.8px;display:block;margin-top:12px}.about-copy{padding-top:35px;font-size:13px;line-height:1.95;color:#6c7069}.about-copy .lead{font-family:'Playfair Display',serif;font-size:23px;line-height:1.5;color:var(--ink);margin-top:0}.text-link{display:inline-flex;align-items:center;border-bottom:1px solid #b89a5970;font-size:12px;padding-bottom:10px;margin-top:25px;color:inherit}.services{background:#eae6dd}.section-top{display:flex;justify-content:space-between;gap:70px;align-items:end;margin-bottom:50px}.section-top>p{font-size:13px;line-height:1.85;max-width:270px;color:#6d7068;margin-bottom:0}.service-list article{border-top:1px solid #cfc9bc;display:grid;grid-template-columns:60px 1fr 65px;gap:20px;padding:32px 0;align-items:start}.service-list article:last-child{border-bottom:1px solid #cfc9bc}.num{font-size:11px;color:#927a49;margin-top:8px}h3{font-family:'Playfair Display',serif;font-size:26px;font-weight:400;margin:0 0 14px}.service-list p{font-size:13px;line-height:1.85;color:#6c7068;max-width:620px;margin:0}.service-symbol{color:#9b8149;font-size:36px;justify-self:end}.process{background:var(--ink);color:var(--cream);position:relative;overflow:hidden}.process:after{content:'EO';font-family:Georgia,serif;position:absolute;font-size:450px;right:-35px;top:0;opacity:.025;pointer-events:none}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:65px}.steps article{border-top:1px solid #ffffff24;padding-top:25px}.steps span{font-size:11px;color:var(--gold)}.steps h3{font-size:23px;margin-top:25px}.steps p{font-size:13px;line-height:1.9;color:#adb3a9}.faq{display:grid;grid-template-columns:1fr 1fr;gap:8%}.questions details{border-bottom:1px solid #d3cdbf;padding:24px 0}.questions summary{font-size:14px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}.questions summary:after{content:'+';color:#957a42;font-size:20px}.questions details[open] summary:after{content:'−'}.questions p{font-size:13px;line-height:1.85;color:#71756b}.contact{text-align:center;background:#eae6dd;border-top:1px solid #ded8cb}.contact .eyebrow{justify-content:center}.contact p{font-size:13px;color:#71756b;margin:25px 0 30px}.contact-links{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:35px;font-size:12px}.contact-links>span{width:3px;height:3px;background:#a48a52;border-radius:50%}footer{background:#141916;color:#aaaFA7;padding:42px 8% 25px;font-size:10px}.footer-top{display:flex;align-items:center;gap:60px;padding-bottom:35px}.footer-top img{width:145px}.footer-top p{line-height:1.9}.footer-top>a{margin-left:auto}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff15;padding-top:24px;font-size:9px}.footer-bottom a{color:#d0c1a1}.footer-bottom .arrow{font-size:12px;margin-left:4px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}@media(min-width:1600px){header,.hero,.trust,.section,footer{padding-left:max(8%,calc((100vw - 1320px)/2));padding-right:max(8%,calc((100vw - 1320px)/2))}.hero{padding:0 max(0px,calc((100vw - 1600px)/2))}.hero-copy{padding-left:12%}}@media(max-width:900px){header{padding:12px 5%;height:95px;gap:20px}nav{gap:18px;font-size:10px}.hero-copy{padding:65px 6% 60px 10%}h1{font-size:49px}.hero,.portrait{min-height:650px}.hero-note{flex-wrap:wrap}.section{padding:75px 6%}.about{gap:7%}.trust{padding:25px 6%;font-size:10px}.steps{gap:30px}.service-symbol{font-size:30px}}@media(max-width:640px){header{height:86px}.brand img{width:125px;max-height:69px}.header-contact{font-size:10px;padding:11px}.header-contact .arrow{font-size:14px;margin-left:7px}.menu{display:block;border:0;background:transparent;color:#c7ad70;font-size:23px;padding:8px}nav{display:none;position:absolute;top:86px;left:0;right:0;background:#202720;padding:25px;box-shadow:0 15px 25px #0003}nav.open{display:flex;flex-direction:column;gap:24px;font-size:13px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:48px 6% 35px;text-align:center}.eyebrow{font-size:8px;letter-spacing:1.7px;justify-content:center;margin-bottom:22px}h1{font-size:clamp(40px,10.5vw,55px);letter-spacing:-1.3px}.hero-copy>p{font-size:12px;line-height:1.9;margin:23px auto 26px;max-width:330px}.button{font-size:11px;padding:18px 21px;gap:12px}.hero-note{justify-content:center;margin-top:26px;font-size:10px}.hero-note i{font-size:8px}.portrait{min-height:440px;margin:0 6%;height:440px}.portrait>img{object-position:center 23%}.portrait:after{background:linear-gradient(0deg,#191e1b 0%,transparent 40%),linear-gradient(180deg,#191e1b 0%,transparent 20%)}.portrait-tag{left:20px;bottom:27px}.portrait-tag strong{font-size:20px}.hero-side{display:none}.trust{padding:23px 5%;gap:16px;align-items:start;text-align:center;font-size:9px;line-height:1.6}.trust div{flex:1}.trust span{display:block;margin:0 0 8px;font-size:9px}.section{padding:65px 6%}h2{font-size:37px;letter-spacing:-1px}.about{display:block}.about-title{text-align:center}.signature{margin-top:25px}.about-copy{padding-top:35px}.about-copy .lead{font-size:22px}.about-copy p{font-size:12px}.section-top{display:block;text-align:center;margin-bottom:35px}.section-top>p{margin:22px auto 0;font-size:12px}.service-list article{grid-template-columns:25px 1fr 23px;gap:10px;padding:27px 0}h3{font-size:23px}.service-list p{font-size:12px}.service-symbol{font-size:25px}.num{font-size:9px}.services>.text-link{font-size:11px}.process>h2{text-align:center}.steps{display:block;margin-top:38px}.steps article{padding:23px 0 8px;display:grid;grid-template-columns:28px 1fr;gap:8px}.steps span{grid-row:span 2;margin-top:7px}.steps h3{margin:0;font-size:23px}.steps p{grid-column:2;margin:2px 0 20px;font-size:12px}.faq{display:block}.faq>div:first-child{text-align:center}.questions{margin-top:30px}.questions summary{font-size:12px}.questions p{font-size:12px}.contact h2{font-size:34px}.contact p{line-height:1.8;font-size:12px}.contact-links{gap:13px;flex-wrap:wrap;font-size:11px}.contact-links .arrow{font-size:14px;margin-left:4px}.footer-top{flex-direction:column;text-align:center;gap:15px;padding-bottom:25px}.footer-top>a{margin:0}.footer-bottom{flex-direction:column;gap:16px;text-align:center;line-height:1.8}footer{padding:35px 6% 25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Contact and direct-question form */
.portrait:after{display:none}.portrait-tag{background:#191e1bf2;padding:18px 22px;left:8%;right:8%;bottom:28px}.hero-side{display:none}.contact-icon{flex-shrink:0;vertical-align:middle}.button .contact-icon{width:20px;height:20px}.contact-links a,.text-link{display:inline-flex;align-items:center;gap:8px}.office-address{font-style:normal;font-size:13px;margin-top:25px;color:#676d63}.question-form{display:flex;flex-direction:column;gap:10px}.question-form label{font-size:12px;font-weight:600;margin-top:5px}.question-form input,.question-form textarea{width:100%;font:inherit;font-size:13px;padding:15px 16px;border:1px solid #cfc7b8;background:#faf8f4;color:var(--ink);border-radius:0;resize:vertical;line-height:1.6}.question-form input:focus,.question-form textarea:focus{outline:2px solid var(--gold);outline-offset:2px}.question-form button{border:0;cursor:pointer;margin-top:7px;align-self:flex-start}.form-note{font-size:11px;color:#777c72;line-height:1.7;margin:3px 0 0}.faq-intro{max-width:340px;font-size:13px;line-height:1.9;color:#71756b;margin-top:25px}@media(max-width:640px){.question-form{margin-top:30px}.question-form button{width:100%;padding:18px 12px;gap:8px;font-size:10px}.faq-intro{margin:22px auto 0;font-size:12px}.portrait-tag{left:10px;right:10px;bottom:15px;padding:15px 16px}.portrait-tag span{font-size:7px}.portrait-tag strong{font-size:18px}.contact-links{gap:15px}.contact-links>span{display:none}.office-address{font-size:12px;line-height:1.8}.form-note{text-align:center}}

.portrait-tag{background:transparent;padding:0 0 0 20px;left:16%;right:auto;bottom:42px}.portrait>img{object-fit:contain;object-position:center bottom}.about{grid-template-columns:1fr 1.1fr;align-items:start}.about-photo{display:block;width:100%;height:430px;object-fit:cover;object-position:center 25%;margin-bottom:32px}.about-copy{padding-top:0}.faq .questions{margin-top:28px}.faq-form-column{padding-top:45px}.portrait-tag strong{text-shadow:0 2px 14px #000b}@media(max-width:640px){.portrait-tag{left:18px;bottom:25px;right:auto;padding-left:16px}.portrait-tag strong{font-size:20px}.about-photo{height:390px;margin-top:34px;margin-bottom:28px}.faq-form-column{padding-top:15px}.faq .questions{text-align:left}.portrait>img{object-position:center bottom}}

/* Balanced portrait and biography */
.about{grid-template-columns:.9fr 1.1fr;gap:8%;align-items:center}.about-photo{height:610px;margin:0;object-position:center 20%}.about-copy{padding-top:30px}.about-title .signature{margin-top:23px}.about-content .lead{font-size:21px}.portrait>img{transform:translateX(-38px)}.portrait-tag{left:-35px;top:var(--tag-top,560px);bottom:auto}.portrait-tag strong{font-size:20px}.portrait-tag>span{font-size:7px;letter-spacing:1.6px}.hero-copy{padding-left:9%}@media(max-width:900px) and (min-width:641px){.portrait-tag{left:-20px}.portrait-tag strong{font-size:17px}.about-photo{height:600px}}@media(max-width:640px){.about{display:flex;flex-direction:column;gap:32px}.about-visual,.about-content{width:100%}.about-photo{height:450px;margin:0;object-position:center 20%}.about-copy{padding-top:28px}.hero-copy{padding-left:6%}.portrait>img{transform:translateX(-18px)}.portrait-tag{left:0;top:auto;bottom:25px}.portrait-tag strong{font-size:19px}.about-title{text-align:center}}

.whatsapp-icon{stroke:none}.contact{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center;text-align:left}.contact .eyebrow{justify-content:flex-start}.contact h2{font-size:clamp(34px,3vw,46px)}.contact-links{justify-content:flex-start;gap:16px;flex-wrap:wrap}.office-map iframe{display:block;width:100%;height:390px;border:0}.map-directions{display:flex;justify-content:space-between;gap:12px;font-size:11px;line-height:1.7;padding:16px 0;border-bottom:1px solid #cfc7b8}.footer-top .footer-office{margin-left:auto;text-align:right}.contact .office-address{font-size:12px}@media(max-width:640px){.contact{display:block;text-align:center}.contact .eyebrow,.contact-links{justify-content:center}.office-map{margin-top:35px}.office-map iframe{height:310px}.map-directions{text-align:left}.footer-top .footer-office{margin:0;text-align:center}}

/* Mobile refinements */
@media(max-width:640px){
 .hero-copy{padding-bottom:12px}
 .portrait-tag{bottom:90px;left:12px;right:8px;z-index:2;isolation:isolate}
 .portrait-tag::before{content:'';position:absolute;z-index:-1;pointer-events:none;inset:-38px -30px -38px -30px;background:linear-gradient(180deg,rgba(25,30,27,0) 0%,rgba(25,30,27,.78) 30%,rgba(25,30,27,.9) 65%,rgba(25,30,27,0) 100%)}
 .portrait-tag>span{font-size:7px;letter-spacing:1.3px}
 .portrait-tag strong{font-size:20px;line-height:1.5;text-shadow:0 2px 8px #0008}
 .about-copy>.text-link,.services>.text-link{display:flex;width:fit-content;max-width:100%;margin-left:auto;margin-right:auto;justify-content:center;text-align:center}
}

/* Mobile header and portrait composition */
@media(max-width:640px){
 header{justify-content:space-between;gap:18px;padding:10px 6%}
 header .menu,header nav,header nav.open{display:none}
 .brand{margin-right:auto}.brand img{width:117px}
 .header-contact{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:13px 16px;background:var(--gold);border:1px solid var(--gold);color:var(--ink);font-size:11px;font-weight:600;white-space:nowrap;transition:background .2s}
 .header-contact .arrow{width:16px;height:16px;margin:0}.header-contact:hover{background:#cfb574}
 .portrait{height:440px;min-height:440px;overflow:visible}
 .portrait>img{height:100%;width:auto;max-width:none;right:-34px;left:auto;object-fit:contain;object-position:right bottom;transform:none}
 .portrait-tag{top:auto;bottom:43px;left:-6px;right:auto;padding-left:13px;max-width:calc(100% + 12px)}
 .portrait-tag>span{font-size:6px;letter-spacing:1.25px;white-space:nowrap}
 .portrait-tag strong{font-size:clamp(16px,4.8vw,20px);line-height:1.5;margin-top:11px;white-space:nowrap}
 .portrait-tag::before{inset:-24px -18px -26px -15px;background:linear-gradient(180deg,rgba(25,30,27,0),rgba(25,30,27,.38) 35%,rgba(25,30,27,.58) 70%,rgba(25,30,27,0))}
}

/* Final header finish and centered mobile portrait */
.header-contact{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;background:transparent;border:1px solid var(--cream);color:var(--cream);font-weight:600;white-space:nowrap}
.header-contact .arrow{width:16px;height:16px;margin:0;flex-shrink:0}
.header-contact:hover{background:#ffffff0d;color:var(--cream);border-color:var(--cream)}
@media(max-width:640px){
 .portrait>img{left:50%;right:auto;transform:translateX(-50%);object-position:center bottom}
 .header-contact{background:transparent;border-color:var(--cream);color:var(--cream)}
 .header-contact:hover{background:#ffffff0d;color:var(--cream)}
}

.contact-links .email-contact{flex-basis:100%;max-width:100%;gap:8px;line-height:1.7}.email-contact>span{min-width:0;overflow-wrap:anywhere}@media(max-width:640px){.contact-links .email-contact{justify-content:center;font-size:11px}}
