:root{--ink:#17343c;--deep:#102d35;--deep2:#183a42;--gold:#d5b78a;--cream:#f8f5ef;--paper:#fffefa;--muted:#67787a;--line:#e3e4dc;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}p{line-height:1.75}.container{max-width:1200px;width:calc(100% - 80px);margin:auto}.skip-link{position:absolute;top:-80px;left:20px;padding:12px;background:#fff;z-index:99}.skip-link:focus{top:10px}.top-note{height:37px;background:#0c242b;color:#d8e0db;display:flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:.09em}.dot{width:6px;height:6px;background:#d5b78a;border-radius:50%;margin-right:10px}.note-divider{opacity:.4;margin:0 15px}.site-header{background:var(--paper);position:sticky;top:0;z-index:20;box-shadow:0 2px 14px #102d3509}.nav-wrap{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}.brand-icon{border:1.5px solid currentColor;width:41px;height:41px;display:grid;place-items:center;font-family:var(--serif);font-size:23px;font-weight:600;position:relative}.brand-slash{font-family:var(--sans);font-size:12px;color:#ad936f;margin-left:-2px}.brand-words{font-size:15px;font-weight:500;letter-spacing:.10em;line-height:1.1}.brand-words strong{font-weight:700}.brand-words small{display:block;letter-spacing:.42em;font-size:9px;margin-top:5px}.main-nav{display:flex;align-items:center;gap:28px}.main-nav>a{font-size:12px;font-weight:600;transition:color .2s}.main-nav>a:hover{color:#a7895e}.main-nav .nav-cta{background:var(--deep);color:#fff;padding:15px 20px}.nav-cta span{margin-left:11px;color:var(--gold)}.mobile-toggle{display:none}.hero{background:var(--deep);color:#fff;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;min-height:610px}.hero-content{padding:91px 25px 90px 0;z-index:1}.eyebrow{font-size:11px;letter-spacing:.21em;font-weight:700;color:#997a4e;margin:0 0 28px;display:flex;align-items:center;gap:12px}.eyebrow.light{color:var(--gold)}.eyebrow.light span{display:inline-block;height:1px;width:23px;background:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}h1{font-size:clamp(48px,5.1vw,74px);line-height:1.17;margin-bottom:26px}h1 em,h2 em{color:var(--gold);font-weight:400}h2{font-size:clamp(38px,4.2vw,56px);line-height:1.24;margin-bottom:22px}h3{font-size:22px;letter-spacing:-.03em;font-weight:500}.hero-copy{max-width:520px;font-size:16px;color:#cedbda;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:33px;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:17px 22px;border:0;cursor:pointer;font-size:13px;font-weight:700;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:var(--deep)}.btn-dark{background:var(--deep);color:white}.text-link{display:inline-flex;gap:16px;align-items:center;font-size:13px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:8px}.light-link{color:white}.hero-trust{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:74px;color:#c1cecc;font-size:11px;letter-spacing:.025em}.trust-line{height:1px;width:27px;background:var(--gold)}.trust-separator{color:var(--gold)}.hero-art{position:relative;min-height:610px;overflow:hidden;background:linear-gradient(135deg,#d8ccb5,#d7ba90 60%,#c3a17b);isolation:isolate}.hero-art:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,#ffffff12 0px,#ffffff12 1px,transparent 1px,transparent 34px);opacity:.2}.art-sun{position:absolute;top:75px;right:85px;height:215px;width:215px;background:#f3d9a7;border-radius:50%;box-shadow:0 0 90px #fff5db78}.arch{position:absolute;bottom:-90px;border-radius:49% 49% 0 0;border:24px solid #f9e8d0;background:#516c65;box-shadow:10px 3px 30px #624b3e2d}.arch-one{left:4%;width:64%;height:78%;z-index:2}.arch-two{left:36%;bottom:-70px;width:54%;height:67%;border-color:#ead4b2;background:#7a9183;z-index:3}.arch-three{left:65%;bottom:-70px;width:45%;height:55%;border-color:#cfb28b;background:#264f58;z-index:4}.art-caption{position:absolute;z-index:5;top:50px;left:35px;background:#fffdf5ee;color:var(--ink);padding:17px 21px;display:flex;align-items:center;gap:15px;box-shadow:0 12px 30px #23322e20}.caption-star{color:#b28a50;font-size:30px}.art-caption small{display:block;font-size:9px;letter-spacing:.18em;margin-bottom:5px}.art-caption strong{font-family:var(--serif);font-size:16px;font-weight:500}.art-index{position:absolute;z-index:5;bottom:19px;right:23px;font-size:10px;letter-spacing:.18em;color:#fff}.section-pad{padding:110px 0}.section-heading{margin-bottom:47px}.split-heading{display:flex;justify-content:space-between;align-items:end;gap:60px}.split-heading>p{max-width:380px;color:var(--muted);font-size:14px}.section-heading h2 em,.details-left h2 em,.about-content h2 em,.faq-section h2 em{color:#b39465}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.service-card{border:1px solid var(--line);background:white;min-height:335px;padding:28px 25px;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}.service-card:hover{box-shadow:0 15px 35px #102d3510;transform:translateY(-4px)}.service-card.feature{background:#edf0eb}.service-symbol{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.1em;color:#8a948b}.service-symbol span{font-size:21px}.service-icon{font-size:38px;color:#b39465;margin:38px 0 18px}.service-card h3{font-family:var(--serif);font-size:22px;line-height:1.32;margin-bottom:12px}.service-card p{font-size:12px;color:#68777a;line-height:1.7;flex:1}.service-card a{font-size:11px;font-weight:700;border-top:1px solid #e0e2dd;padding-top:16px;display:flex;justify-content:space-between}.reassurance{background:var(--deep2);color:white;padding:78px 0}.reassurance-grid{display:grid;grid-template-columns:60px 1.3fr .7fr;align-items:center;gap:35px}.reassurance .quote-mark{font-family:var(--serif);font-size:125px;color:var(--gold);height:90px;line-height:1}.reassurance h2{font-size:43px;margin:0}.reassurance p:last-child{color:#d3dddb;font-size:14px}.details-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:110px;align-items:center}.details-left>p:not(.eyebrow){color:var(--muted);max-width:425px}.details-left .btn{margin-top:15px}.tag-panel{background:var(--cream);padding:34px}.tag-header{display:flex;justify-content:space-between;font-size:11px;font-weight:700;letter-spacing:.12em;border-bottom:1px solid #daddd4;padding-bottom:22px}.tag-header span{font-size:22px;color:#ad926d}.tag-list{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0}.tag-list span{background:#fff;border:1px solid #e4e6df;border-radius:30px;padding:10px 14px;font-size:12px}.tag-panel>p{margin-bottom:0;color:var(--muted);font-size:12px}.other-services{background:#f0f0e9;padding:91px 0}.mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.mini-grid>div{border-top:1px solid #b6bfba;padding-top:22px}.mini-grid span{color:#927b5b;font-size:11px;letter-spacing:.15em}.mini-grid h3{font-family:var(--serif);font-size:20px;margin:30px 0 12px}.mini-grid p{font-size:12px;color:#627477}.about-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:110px;align-items:center}.about-art{position:relative;padding:16px 40px 48px 0}.portrait-placeholder{background:linear-gradient(155deg,#cfb896,#8ba39d);height:505px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#f9f3e9}.portrait-monogram{font-family:var(--serif);font-size:120px;letter-spacing:-.08em;opacity:.85}.portrait-placeholder span{font-size:12px;letter-spacing:.21em}.portrait-placeholder small{font-size:10px;margin-top:9px;opacity:.75}.about-accent{position:absolute;right:0;bottom:0;background:var(--deep);color:#fff;padding:26px 32px;font-size:11px;line-height:1.8;letter-spacing:.1em}.about-content h3{margin-top:27px;margin-bottom:5px;font-family:var(--serif);font-size:27px}.about-role{font-size:12px;color:#9a835e;margin-bottom:20px;font-weight:700}.about-content>p:not(.eyebrow):not(.about-role){color:var(--muted);font-size:14px}.about-content .text-link{margin-top:14px}.about-content .legal-note{font-size:10px!important;margin-top:24px;color:#8a9290!important}.booking-section{padding:100px 0;background:var(--deep);color:#fff}.booking-grid{display:grid;grid-template-columns:1fr .8fr;gap:130px;align-items:center}.booking-grid>div:first-child>p:not(.eyebrow){max-width:490px;color:#d1dbd9}.booking-grid ul{list-style:none;padding:0;margin:27px 0}.booking-grid li{margin:13px 0;color:#e4eae5;font-size:13px}.booking-grid li:before{content:'✓';color:var(--gold);margin-right:13px}.booking-card{background:#fffdf7;color:var(--deep);padding:38px;box-shadow:0 20px 50px #00000025}.booking-label{font-size:11px;letter-spacing:.15em;font-weight:700;color:#897c68}.price-line{display:flex;align-items:baseline;justify-content:space-between}.price-line strong{font-family:var(--serif);font-size:60px;font-weight:400}.price-line span{font-size:12px;color:#758381}.booking-divider{height:1px;background:#d9ded7;margin:18px 0}.booking-detail{font-size:13px;padding:10px 0}.booking-detail span{color:#a2875c;margin-right:12px}.btn.full{width:100%;margin-top:22px;text-align:left}.booking-card small{display:block;color:#7b8986;line-height:1.6;font-size:10px;margin-top:16px}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.faq-grid>div:first-child>p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:330px}.faq-items details{border-bottom:1px solid var(--line);padding:20px 0}.faq-items details:first-child{border-top:1px solid var(--line)}.faq-items summary{cursor:pointer;list-style:none;font-size:14px;font-weight:600;display:flex;justify-content:space-between;gap:20px}.faq-items summary::-webkit-details-marker{display:none}.faq-items summary span{color:#a58b64;font-size:21px}.faq-items details[open] summary span{transform:rotate(45deg)}.faq-items details p{font-size:13px;color:var(--muted);max-width:650px;margin:14px 0 0}.contact-strip{background:#21464b;color:white;padding:72px 0 35px}.contact-grid{display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-grid h2{font-size:42px}.contact-grid p:not(.eyebrow){font-size:14px;color:#d0ddda;margin-bottom:0}.contact-caveat{font-size:10px;color:#b6cac8;margin-top:42px}footer{background:#0c242b;color:#d6e1dc;padding:68px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}.footer-brand{color:#fff}.footer-grid p{font-size:12px;color:#a7bab7;margin-top:25px}.footer-grid h4{color:#e3d0aa;font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 19px}.footer-grid a:not(.brand),.footer-grid span:not(.brand-icon):not(.brand-slash):not(.brand-words){display:block;font-size:12px;margin:12px 0;color:#b8cac5}.footer-bottom{border-top:1px solid #466066;margin-top:55px;padding-top:20px;display:flex;justify-content:space-between;font-size:11px;color:#afc1bc}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(110px);background:#fff;color:var(--deep);border:1px solid #c7d0c7;padding:15px 25px;z-index:99;max-width:calc(100% - 30px);box-shadow:0 12px 30px #0002;opacity:0;transition:all .25s;font-size:13px}.toast.show{transform:translateX(-50%) translateY(0);opacity:1}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ba935a;outline-offset:4px}@media(max-width:1050px){.container{width:calc(100% - 54px)}.main-nav{gap:15px}.main-nav>a{font-size:11px}.hero-grid{min-height:570px}.hero-art{min-height:570px}.hero-content{padding-top:78px}.services-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:295px}.details-grid,.about-grid{gap:60px}.booking-grid{gap:60px}}@media(max-width:780px){.container{width:calc(100% - 40px)}.nav-wrap{min-height:72px}.mobile-toggle{display:flex;width:42px;height:42px;flex-direction:column;justify-content:center;gap:5px;background:none;border:0;cursor:pointer;padding:9px}.mobile-toggle span{height:2px;background:var(--deep);width:24px}.main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:24px 20px 28px;box-shadow:0 15px 20px #0002;align-items:stretch;flex-direction:column;gap:22px}.main-nav.open{display:flex}.main-nav>a{font-size:14px}.main-nav .nav-cta{text-align:center}.hero-grid{grid-template-columns:1fr}.hero-content{padding:75px 0 55px}.hero-art{min-height:360px}.arch-one{height:105%}.arch-two{height:90%}.arch-three{height:75%}.hero-trust{margin-top:48px}.section-pad{padding:75px 0}.split-heading{display:block}.split-heading>p{max-width:590px}.reassurance-grid{grid-template-columns:1fr;gap:10px}.reassurance .quote-mark{height:50px;font-size:85px}.reassurance h2{font-size:39px}.details-grid,.about-grid,.booking-grid,.faq-grid{grid-template-columns:1fr;gap:42px}.mini-grid{grid-template-columns:repeat(2,1fr)}.about-art{max-width:500px}.booking-section{padding:75px 0}.booking-grid{gap:25px}.contact-grid{align-items:start;flex-direction:column}.footer-grid{grid-template-columns:1.3fr 1fr;gap:35px}.footer-grid>div:last-child{grid-column:1/-1}}@media(max-width:480px){.top-note{font-size:9px}.note-divider{margin:0 8px}.brand-words{font-size:12px}.brand-words small{font-size:8px}.brand-icon{height:36px;width:36px}h1{font-size:45px}h2{font-size:37px}.hero-actions{align-items:flex-start;flex-direction:column;gap:23px}.hero-copy{font-size:14px}.hero-trust{font-size:10px}.services-grid,.mini-grid{grid-template-columns:1fr}.service-card{min-height:270px}.service-icon{margin:15px 0}.art-caption{left:16px;top:18px}.portrait-placeholder{height:400px}.booking-card{padding:26px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:15px}}

/* Genuine portrait supplied by the client — replaces the initial monogram placeholder */
.portrait-frame{height:505px;position:relative;background:#d6d4cc;overflow:hidden}
.portrait-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 18%}
.portrait-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#102d35d9);color:white;padding:48px 20px 18px;font-size:11px;letter-spacing:.17em;font-weight:700}
@media(max-width:480px){.portrait-frame{height:400px}}

/* Multi-page design */
.inner-hero{background:var(--deep);color:white;padding:94px 0 100px;position:relative;overflow:hidden}.inner-hero:after{content:"";position:absolute;width:380px;height:380px;border:75px solid #d5b78a18;border-radius:50%;right:-90px;top:-100px;pointer-events:none}.inner-hero h1{max-width:850px}.inner-hero>.container>p:last-child{max-width:680px;color:#cbd8d5;font-size:17px}.inner-soft{background:var(--cream)}.inner-grid{display:grid;gap:18px;margin-top:32px}.inner-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.inner-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.inner-card{background:white;border:1px solid var(--line);padding:29px;min-height:160px}.inner-card h3{font-family:var(--serif);font-size:23px}.inner-card p{font-size:14px;color:var(--muted);margin-bottom:0}.inner-cta{background:#21464b;padding:75px 0;color:white}.inner-cta h2{font-size:44px}.inner-cta p:not(.eyebrow){max-width:590px;color:#d9e3df}.inner-cta .btn{margin-top:18px}.service-group{margin-top:52px}.service-group>h3{font-family:var(--serif);font-size:33px}.credential-box{padding:24px;background:#f3f0e8;border-left:4px solid var(--gold);margin-top:30px;color:var(--ink)}.credential-box p{font-size:13px;color:var(--muted);margin:8px 0 0}.profile-layout{display:grid;grid-template-columns:.78fr 1fr;gap:85px;align-items:center}.profile-photo{width:100%;max-height:600px;object-fit:cover;object-position:center 22%;display:block}.image-note{font-size:11px;color:var(--muted);margin:10px 0}.profile-layout .lead,.consult-layout .lead{font-size:19px;color:var(--ink)}.profile-layout p:not(.eyebrow){color:var(--muted)}.consult-layout{display:grid;grid-template-columns:1fr .82fr;gap:95px;align-items:start}.consult-panel{background:var(--cream);padding:38px;border:1px solid #e6e3d7}.consult-price{font:400 62px var(--serif);margin-bottom:22px}.consult-price small{font:500 13px var(--sans);color:var(--muted)}.consult-panel>p:not(.eyebrow),.consult-panel li{font-size:14px;color:var(--muted)}.consult-panel ul{padding-left:20px}.consult-panel li{margin:12px 0}.consult-panel>small{display:block;margin-top:16px;line-height:1.6;color:var(--muted)}.steps>div{display:flex;gap:23px;border-bottom:1px solid var(--line);padding:25px 0}.steps strong{color:#ad8e5e;font-size:13px}.steps h3{font-family:var(--serif);font-size:22px;margin-bottom:6px}.steps p{color:var(--muted);font-size:13px;margin:0}.preview-form{display:grid;gap:10px}.preview-form label{font-size:12px;font-weight:700;margin-top:10px}.preview-form input,.preview-form select,.preview-form textarea{border:1px solid #d1d7d2;background:white;padding:13px;font:inherit;width:100%;border-radius:0}.preview-form button:disabled{cursor:not-allowed;opacity:.65}.inline-action{display:block;color:#8e7044;text-decoration:underline;font-weight:600;margin-top:15px}.profile-layout .credential-box p{color:var(--muted)}
@media(max-width:800px){.inner-hero{padding:70px 0}.inner-grid.three{grid-template-columns:1fr}.profile-layout,.consult-layout{grid-template-columns:1fr;gap:35px}.profile-photo{max-height:480px;object-position:center 20%}}@media(max-width:550px){.inner-grid.two{grid-template-columns:1fr}.inner-hero h1{font-size:45px}.consult-panel{padding:25px}.inner-cta h2{font-size:35px}}
