@font-face{font-family:Cormorant;src:url('assets/fonts/cormorant-garamond-normal-400.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Cormorant;src:url('assets/fonts/cormorant-garamond-normal-500.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Cormorant;src:url('assets/fonts/cormorant-garamond-normal-600.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Cormorant;src:url('assets/fonts/cormorant-garamond-italic-500.ttf') format('truetype');font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-normal-400.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-normal-600.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
:root{--paper:#f5f2eb;--forest:#172d29;--brass:#a68956;--ink:#18312b;--muted:#5a665f;--rule:#c9c3b7;--serif:Cormorant,Georgia,serif;--sans:Manrope,Arial,sans-serif;--gutter:clamp(24px,5.25vw,88px);--transition:220ms ease}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}::selection{background:#d7c39c;color:var(--forest)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--brass);outline-offset:6px}input:focus,textarea:focus,select:focus{outline:2px solid var(--brass);outline-offset:2px}img{display:block;max-width:100%}figure,h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}em{font-weight:500}svg{fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:var(--forest);color:var(--paper);padding:10px 20px}.skip-link:focus{top:12px}.section-shell{padding-left:var(--gutter);padding-right:var(--gutter);max-width:1600px;margin:0 auto}
.site-header{height:100px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule);position:relative;z-index:5;background:var(--paper)}.brand{display:inline-flex;align-items:center;gap:20px;flex:none}.brand-mark{width:58px;height:58px;object-fit:contain}.brand-wordmark{display:flex;flex-direction:column;border-left:1px solid var(--brass);padding-left:22px;line-height:1.1;white-space:nowrap}.brand-wordmark>span{font-family:var(--serif);font-weight:600;font-size:25px;letter-spacing:2.6px}.brand-wordmark small{font-size:9px;font-weight:600;letter-spacing:3.25px;margin-top:9px}.navigation{display:flex;align-items:center;gap:40px;font-size:14px}.navigation a{position:relative;padding:14px 0}.navigation a:after{content:'';position:absolute;left:0;right:0;bottom:8px;height:1px;background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform var(--transition)}.navigation a:hover:after,.navigation a:focus-visible:after{transform:scaleX(1)}.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;padding:10px}.menu-toggle span{display:block;height:1px;width:24px;background:var(--ink);margin:7px 0;transition:transform var(--transition)}
.hero{display:grid;grid-template-columns:44% 56%;min-height:620px;max-height:780px}.hero-copy{padding:50px 20px 42px var(--gutter);align-self:center;position:relative;z-index:1}.hero h1{font-size:clamp(64px,6.25vw,98px);line-height:.93;letter-spacing:-2.3px}.hero h1 span{display:block}.hero h1 em{display:block;white-space:nowrap;color:var(--brass);font-size:.92em;letter-spacing:-2px;margin-top:10px}.hero-copy>p{font-size:16px;line-height:1.65;margin-top:34px;max-width:430px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:27px;min-height:54px;padding:14px 26px;font-family:var(--sans);font-size:13px;font-weight:600;line-height:1.3;border:1px solid transparent;transition:background var(--transition),color var(--transition),border-color var(--transition);text-align:center}.button svg{width:28px;height:17px;flex-shrink:0;transition:transform var(--transition)}.button:hover svg{transform:translateX(3px)}.button-primary{background:var(--forest);color:var(--paper);border-color:var(--forest)}.button-primary:hover{background:#2c453d;border-color:#2c453d}.button-outline{background:transparent;color:var(--forest);border-color:var(--rule)}.button-outline:hover{border-color:var(--forest)}.hero .button{margin-top:27px;min-width:245px}.hero-signature{display:flex;align-items:center;gap:22px;margin-top:26px;font-family:var(--serif);font-size:23px}.hero-signature span{display:block;background:var(--brass);height:2px;width:52px}.hero-image{height:100%;min-height:620px;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 48%;max-height:780px}.credentials{display:grid;grid-template-columns:repeat(3,1fr);padding:15px 0;border:1px solid var(--brass);margin:24px 3.4vw 0;line-height:1.2}.credentials span{font-family:var(--serif);font-size:20px;text-align:center;padding:0 12px}.credentials span+span{border-left:1px solid var(--brass)}
.services{display:grid;grid-template-columns:28% 1fr;gap:6%;padding-top:70px;padding-bottom:76px}.section-intro h2{font-size:clamp(42px,3.6vw,58px);line-height:.99;letter-spacing:-1px;max-width:315px}.section-intro h2 em{font-style:normal}.gold-rule{display:block;width:58px;height:2px;background:var(--brass);margin:28px 0}.text-link{display:inline-flex;align-items:center;gap:14px;background:none;border:0;padding:9px 0;color:inherit;font-size:12px;font-weight:600;text-decoration:none}.text-link svg{width:25px;height:15px}.text-link:hover{color:var(--brass)}.service{border-bottom:1px solid var(--rule)}.service:first-child{border-top:1px solid var(--rule)}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.service summary{display:grid;grid-template-columns:42px minmax(190px,1.05fr) minmax(180px,1.3fr) 20px;align-items:center;gap:20px;padding:24px 0;min-height:105px}.number{color:var(--brass);font-family:var(--serif);font-size:30px;line-height:1}.service h3{font-size:29px;line-height:1.1;letter-spacing:-.45px}.service summary p{font-size:12px;line-height:1.6;color:#3f4d45}.service summary>svg{width:20px;height:20px;color:var(--brass);transition:transform var(--transition)}.service[open] summary>svg{transform:rotate(45deg)}.service summary:hover h3{color:var(--brass)}.service-body{padding:0 30px 26px 62px;color:var(--muted);font-size:13px;line-height:1.85}.service-body p+p{margin-top:12px}.service-body .text-link{color:var(--forest);margin-top:8px}
.about{background:var(--forest);color:var(--paper);padding-top:58px;padding-bottom:45px}.about-main{display:grid;grid-template-columns:35% 1fr;gap:6%}.about-image{overflow:hidden;align-self:stretch;min-height:375px;max-height:480px;border:1px solid #8b805f}.about-image img{width:100%;height:100%;object-fit:cover;object-position:72% 55%}.about h2{font-size:clamp(39px,3.5vw,54px);line-height:1.06;letter-spacing:-.8px;max-width:750px}.about-name{font-family:var(--serif);font-style:italic;font-size:26px;margin-top:8px;color:#dfccb0}.about-copy>p:not(.about-name){font-size:13px;line-height:1.8;max-width:720px;margin-top:17px;color:#e4e4d9}.about-points{list-style:none;padding:0;margin:22px 0 0;max-width:720px}.about-points li{border-bottom:1px solid #59644f;display:flex;align-items:center;gap:20px;padding:9px 0;font-size:12px}.about-points li span{font-family:var(--serif);font-size:19px;color:#cfaf78}.evidence{font-size:11px;margin-top:18px;color:#d7d8cc}.evidence summary{display:inline-flex;align-items:center;gap:14px;padding:5px 0}.evidence summary svg{width:12px;height:8px}.evidence[open] summary svg{transform:rotate(180deg)}.evidence p{margin-top:8px;max-width:670px}.source-links{display:flex;gap:22px;margin-top:9px}.source-links a{text-decoration:underline;text-underline-offset:4px;color:#d9c196}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:48px;scroll-margin-top:120px}.step{display:flex;gap:23px;padding-right:22px;line-height:1.4}.step:not(:last-child){border-right:1px solid #8c927c}.step>span{font-family:var(--serif);font-size:35px;line-height:1;color:#d0b080}.step h3{font-size:26px;line-height:1.2}.step p{font-size:11px;color:#dddfd2;line-height:1.6;margin-top:7px;max-width:190px}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:75px;padding-bottom:80px}.contact h2{font-size:clamp(48px,4.25vw,67px);line-height:.97;letter-spacing:-1.5px}.contact h2 em{color:var(--brass)}.contact-lead{font-size:13px;color:var(--muted);line-height:1.8}.email-link{display:flex;align-items:center;gap:12px;font-size:12px;margin-top:18px;font-weight:600;overflow-wrap:anywhere}.email-link svg{width:23px;height:15px;flex-shrink:0;color:var(--brass)}.email-link:hover{color:var(--brass)}.faq{margin-top:34px}.faq details{border-bottom:1px solid var(--rule)}.faq details:first-child{border-top:1px solid var(--rule)}.faq summary{font-family:var(--serif);font-size:22px;line-height:1.25;padding:14px 0;display:flex;justify-content:space-between;align-items:center;gap:20px}.faq summary svg{color:var(--brass);width:16px;height:10px;flex-shrink:0}.faq details[open] summary svg{transform:rotate(180deg)}.faq details p{font-size:12px;line-height:1.8;padding:2px 22px 18px 0;color:var(--muted)}.inquiry-form{border-left:1px solid var(--rule);padding-left:12%;display:flex;flex-direction:column;justify-content:center}.field{margin-bottom:18px}.field label{font-size:12px;font-weight:600;display:block;margin-bottom:7px;color:var(--forest)}.field label>span{font-size:10px;color:var(--muted)}.field label .optional{margin-left:9px;font-weight:400}input,select,textarea{width:100%;background:transparent;border:1px solid #bdb9ad;border-radius:0;color:var(--ink);padding:13px 14px;font-size:14px;line-height:1.5}select{appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' fill='none' stroke='%23a68956' stroke-width='1.3'%3E%3Cpath d='m2 2 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}select:invalid{color:#70766d}textarea{resize:vertical;min-height:120px}textarea::placeholder,input::placeholder{color:#73796f;opacity:1}.submit-button{width:100%;margin-top:4px}.form-note{color:var(--muted);font-size:10px;line-height:1.8;margin-top:15px}
.site-footer{background:var(--forest);color:var(--paper)}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-top:34px;padding-bottom:34px;gap:40px}.footer-brand .brand-wordmark>span{font-size:23px;letter-spacing:2px}.footer-brand .brand-wordmark small{font-size:8px;letter-spacing:2.7px}.footer-contact{display:flex;flex-direction:column;gap:9px;border-left:1px solid #79806a;padding-left:40px;font-size:12px}.footer-contact a{overflow-wrap:anywhere}.footer-contact a:hover{color:#cfb486}.back-top{display:flex;align-items:center;justify-content:center;border:1px solid #81846b;width:46px;height:46px;flex-shrink:0}.back-top svg{width:24px;height:14px;transform:rotate(-90deg);color:#d1b785}.footer-bottom{display:flex;align-items:center;gap:26px;border-top:1px solid #425145;padding-top:16px;padding-bottom:16px;font-size:10px;color:#bfc6b9}.plain-button{background:none;border:0;padding:5px;color:inherit;font-size:10px}.plain-button:hover{color:#fff}.draft-note{margin-left:auto}
dialog{border:1px solid var(--brass);padding:44px;background:var(--paper);color:var(--ink);width:min(680px,calc(100vw - 34px));max-height:90vh;overflow-y:auto}dialog::backdrop{background:rgba(10,27,22,.7);backdrop-filter:blur(4px)}dialog h2{font-size:50px;line-height:.98;margin-bottom:22px;letter-spacing:-1px}dialog h2 em{color:var(--brass)}dialog>p{font-size:13px;line-height:1.8;margin-top:12px;margin-bottom:18px}dialog>small{display:block;font-size:10px;overflow-wrap:anywhere}dialog .small{font-size:11px;color:var(--muted)}.dialog-close{position:absolute;top:12px;right:13px;font-family:var(--sans);font-weight:400;background:transparent;border:0;width:44px;height:44px;font-size:30px;line-height:1;color:var(--forest)}.dialog-kicker{font-size:10px;font-weight:600;letter-spacing:3px;display:block;color:var(--muted);margin-bottom:20px}.dialog-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px;align-items:center}.dialog-actions .button{font-size:11px;padding:14px 17px;min-height:48px}.dialog-actions .text-link{font-size:11px}.live-status{min-height:20px;font-size:12px!important;margin:12px 0!important}.dialog-close:hover{color:var(--brass)}#message-output{font-size:12px;min-height:230px;line-height:1.7}
@media(min-width:1700px){.site-header{padding-left:max(var(--gutter),calc((100vw - 1440px)/2));padding-right:max(var(--gutter),calc((100vw - 1440px)/2))}.hero-copy{padding-left:max(var(--gutter),calc((100vw - 1440px)/2))}.hero{grid-template-columns:46% 54%}.hero h1{font-size:100px}}
@media(max-width:1150px){.brand{gap:13px}.brand-wordmark{padding-left:15px}.brand-wordmark>span{font-size:21px;letter-spacing:2px}.brand-wordmark small{font-size:7px;letter-spacing:2.4px}.navigation{gap:28px;font-size:13px}.hero{grid-template-columns:47% 53%;min-height:550px}.hero-image{min-height:550px}.hero-copy{padding-top:40px;padding-bottom:35px}.hero h1{font-size:7vw}.hero h1 em{font-size:.86em}.hero-copy>p{font-size:14px;margin-top:26px}.hero-signature{font-size:21px}.hero .button{min-width:215px;font-size:12px}.services{grid-template-columns:28% 1fr;gap:5%}.service summary{grid-template-columns:33px 1fr 20px;gap:15px;padding:23px 0;min-height:95px}.service h3{font-size:28px}.service summary p{grid-column:2/3;grid-row:2;font-size:11px;margin-top:-8px}.service summary>svg{grid-column:3;grid-row:1/3}.number{grid-row:1/3}.service-body{padding-left:48px}.about-main{grid-template-columns:33% 1fr;gap:5%}.about-copy>p:not(.about-name){font-size:12px}.about-image{max-height:520px}.about h2{font-size:43px}.process{gap:20px}.step{gap:14px;padding-right:10px}.step h3{font-size:24px}.step>span{font-size:31px}.contact{gap:6%}.inquiry-form{padding-left:12%}.contact h2{font-size:55px}.footer-contact{padding-left:25px;font-size:10px}.footer-brand .brand-wordmark>span{font-size:20px}.footer-brand .brand-wordmark small{font-size:7px}}
@media(max-width:760px){:root{--gutter:26px}html{scroll-padding-top:85px}.site-header{height:85px}.brand{gap:11px}.brand-mark{width:44px;height:44px}.brand-wordmark{padding-left:12px}.brand-wordmark>span{font-size:19px;letter-spacing:1.3px}.brand-wordmark small{font-size:6.7px;letter-spacing:1.85px;margin-top:6px}.menu-toggle{display:block}.navigation{display:none;position:absolute;left:0;right:0;top:84px;background:var(--paper);padding:16px var(--gutter) 24px;border-bottom:1px solid var(--rule);gap:0;box-shadow:0 14px 15px #172d2908}.navigation.is-open{display:flex;flex-direction:column;align-items:stretch}.navigation a{padding:12px 0;font-size:14px}.menu-toggle[aria-expanded='true'] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded='true'] span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero{display:flex;flex-direction:column;min-height:0;max-height:none}.hero-copy{padding:43px var(--gutter) 33px;align-self:stretch}.hero h1{font-size:clamp(58px,11.5vw,82px);letter-spacing:-1.7px;line-height:.93}.hero h1 em{font-size:.94em;margin-top:9px;letter-spacing:-1.8px}.hero-copy>p{font-size:14px;line-height:1.65;margin-top:24px;max-width:440px}.desktop-br{display:none}.hero .button{margin-top:22px;min-width:235px;min-height:54px}.hero-signature{font-size:22px;margin-top:23px}.hero-signature span{width:40px}.hero-image{min-height:0;height:330px;max-height:380px}.hero-image img{object-position:50% 47%;height:100%;max-height:none}.credentials{margin:19px 18px 0;padding:15px 0}.credentials span{font-size:16px;line-height:1.15;padding:0 9px}.services{display:block;padding-top:48px;padding-bottom:48px}.section-intro h2{font-size:46px;line-height:1;max-width:420px;letter-spacing:-.8px}.gold-rule{margin:22px 0}.section-intro .text-link{margin-bottom:22px;font-size:12px}.service summary{padding:23px 0;gap:12px;grid-template-columns:30px 1fr 20px}.service h3{font-size:29px;line-height:1.1;letter-spacing:-.6px}.service summary p{font-size:11px;line-height:1.65;margin-top:-5px}.service-body{padding:0 0 24px 42px;font-size:12px}.about{padding-top:30px;padding-bottom:30px}.about-main{display:flex;flex-direction:column;gap:30px}.about-image{height:270px;max-height:270px;min-height:0}.about-image img{object-position:45% 54%}.about h2{font-size:43px;line-height:1.04;letter-spacing:-.7px}.about-name{font-size:24px;margin-top:10px}.about-copy>p:not(.about-name){font-size:12px;line-height:1.9;margin-top:16px}.about-points li{font-size:11px;gap:15px;line-height:1.6;min-height:45px}.process{grid-template-columns:1fr 1fr;gap:28px 20px;margin-top:35px}.step{gap:14px;padding-right:10px}.step:nth-child(2){border-right:0}.step h3{font-size:25px}.step>span{font-size:31px}.step p{font-size:10px;line-height:1.7;margin-top:6px}.contact{display:flex;flex-direction:column;gap:38px;padding-top:46px;padding-bottom:48px}.contact h2{font-size:53px;line-height:.98;letter-spacing:-1.25px}.contact h2 br:nth-child(2){display:none}.contact-lead{font-size:12px;line-height:1.85}.email-link{font-size:11px;gap:8px}.faq{margin-top:27px}.faq summary{font-size:23px;padding:15px 0}.inquiry-form{padding:0;border:0}.field{margin-bottom:18px}.field label{font-size:12px}input,select,textarea{font-size:16px;padding:13px;line-height:1.5}select{padding-right:35px}.form-note{font-size:10px}.footer-top{flex-wrap:wrap;padding-top:28px;padding-bottom:24px;gap:26px 15px}.footer-brand{width:100%}.footer-brand .brand-wordmark>span{font-size:20px}.footer-brand .brand-wordmark small{font-size:7px;letter-spacing:2px}.footer-contact{border:0;padding:0;font-size:11px;flex:1;min-width:0}.back-top{width:44px;height:44px}.footer-bottom{gap:10px 20px;flex-wrap:wrap;font-size:9px;padding-top:15px;padding-bottom:18px}.draft-note{margin-left:0;flex-basis:100%;font-size:9px}.plain-button{font-size:9px;padding:0;min-height:32px}dialog{padding:32px 23px;max-height:92vh;width:calc(100vw - 28px)}dialog h2{font-size:43px}dialog>p{font-size:12px}.dialog-actions{gap:10px}.dialog-actions .button{flex:1;font-size:10px;padding:13px;min-height:50px;gap:12px}.dialog-actions .text-link{flex-basis:100%}.dialog-kicker{margin-top:15px}#message-output{font-size:13px}}
@media(max-width:380px){:root{--gutter:22px}.brand-wordmark>span{font-size:16px;letter-spacing:1.2px}.brand-wordmark small{font-size:6px;letter-spacing:1.5px}.brand-mark{width:39px;height:39px}.hero h1{font-size:clamp(48px,12.5vw,56px);letter-spacing:-1.3px}.hero h1 em{font-size:.92em;letter-spacing:-1.5px}.credentials span{font-size:14px}.hero-image{height:280px}.section-intro h2{font-size:43px}.service h3{font-size:26px}.contact h2{font-size:47px}.email-link{font-size:10px}.about h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.site-header,.navigation,.menu-toggle,.hero-image,.hero .button,.service summary>svg,.contact,.site-footer,dialog{display:none!important}body{background:#fff;color:#000;font-size:11pt}.hero{display:block;min-height:0}.hero-copy{padding:20px}.hero h1{font-size:44pt}.services,.about-main{display:block;padding:20px}.about{background:#fff;color:#000}.about-copy>p:not(.about-name),.about-points,.about-name{color:#000}.about-image{display:none}.process{padding:20px}.step p{color:#000}.credentials{margin:20px}.service{break-inside:avoid}.service summary{grid-template-columns:40px 1fr 2fr}.evidence{display:none}}
/* Keep the opening composition compact enough to show its credential rail. */
@media(min-width:761px){.hero{height:clamp(580px,46vw,690px);min-height:0;max-height:none}.hero-image{height:100%;min-height:0}.hero-image img{max-height:none}}
@media(max-width:760px){.process{grid-template-columns:repeat(2,minmax(0,1fr))}.step,.step>div{min-width:0}}
@media(max-width:380px){.step{gap:10px;padding-right:4px}.step h3{font-size:22px}.step>span{font-size:27px}}
