@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');
:root{--navy:#102d46;--blue:#204d70;--gold:#edc55c;--ink:#183247;--muted:#657078;--line:#dde3e6;--paper:#f5f7f8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--ink);font-family:'Libre Baskerville',Georgia,serif;font-size:16px;line-height:1.8}a{color:inherit;text-decoration:none;cursor:pointer}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,select,textarea,summary{touch-action:manipulation}button{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b18a25;outline-offset:5px}p{color:var(--muted);margin:0 0 22px}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;line-height:1.08;font-weight:500;margin:0}h2{font-size:clamp(38px,4.3vw,60px);letter-spacing:-1.3px}h3{font-size:29px}h1 em,h2 em{font-weight:400;color:var(--blue)}.wrap{max-width:1280px;width:calc(100% - 112px);margin:auto}.section{padding-top:104px;padding-bottom:104px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;margin-bottom:24px;display:flex;align-items:center;gap:12px}.eyebrow>span{height:1px;width:30px;background:#b78a25}.topbar{padding:9px 56px;background:var(--navy);color:#fff;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.25px}.topbar a{color:var(--gold)}header{background:#fffffffa;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:21px 40px;border-bottom:1px solid #edf0f2;gap:28px}.brand{display:flex;align-items:center;gap:13px;line-height:1.3;white-space:nowrap;font-size:12px;font-weight:700;letter-spacing:1px}.brand small{display:block;font-size:10px;font-weight:400;letter-spacing:3px;margin-top:5px}.monogram{position:relative;color:var(--navy);border:1px solid #b79240;width:43px;height:48px;display:grid;place-items:center;font-size:36px;font-weight:400}.monogram span{position:absolute;bottom:-7px;right:-5px;color:#b79240;font-size:26px}nav{display:flex;align-items:center;gap:24px;font-size:12px}nav a:hover{color:#92701a}.nav-status{background:none;border:1px solid var(--navy);padding:10px 17px;font-size:12px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.05fr 1fr;padding-top:52px;padding-bottom:64px;gap:55px;align-items:center}.hero h1{font-size:clamp(54px,5.6vw,82px);letter-spacing:-2.7px;margin-bottom:28px}.hero h1 em{position:relative}.hero h1 em:after{content:'';position:absolute;bottom:5px;left:0;right:0;height:6px;background:var(--gold);z-index:-1}.hero-copy>p{font-size:14px;max-width:460px;line-height:1.95}.actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin:32px 0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:16px 23px;font-size:13px;font-weight:700;border:1px solid transparent;line-height:1.5;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.gold{background:var(--gold);color:var(--navy)}.gold:hover{background:#f4d580}.navy{background:var(--navy);color:white}.outline{border-color:#b9c4cb;background:transparent}.text-link{border:0;background:none;padding:0;font-size:13px;font-weight:700}.text-link span{margin-left:12px}.hero-note{border-top:1px solid var(--line);padding-top:24px;display:flex;align-items:center;gap:15px;font-size:13px;max-width:460px}.hero-note small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.seal{border:1px solid #c4b47e;border-radius:50%;width:37px;height:37px;display:grid;place-items:center;color:#9a7520}.hero-visual{position:relative;height:580px;background:var(--navy);margin-right:18px}.hero-visual>img{width:100%;height:100%;object-fit:cover}.image-shade{position:absolute;inset:0;background:linear-gradient(0deg,#081e37de,transparent 70%)}.vertical-caption{position:absolute;top:30px;right:20px;color:#fff;font-size:9px;letter-spacing:2px;writing-mode:vertical-rl}.image-caption{position:absolute;left:33px;bottom:130px;color:white}.image-caption>span{font-size:10px;letter-spacing:2px}.image-caption h2{font-size:34px;margin-top:14px;line-height:1.15;letter-spacing:0}.hero-tag{background:var(--gold);position:absolute;bottom:25px;right:-25px;left:36%;padding:19px 23px;display:grid;grid-template-columns:1fr auto;align-items:center}.hero-tag>span{grid-column:1/-1;font-size:10px;letter-spacing:2px}.hero-tag p{color:var(--navy);font-size:22px;line-height:1.3;margin:8px 0 0}.hero-tag a{font-size:30px}.service-strip{background:var(--paper);border-block:1px solid var(--line);padding:22px 0}.service-strip .wrap{display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:13px}.service-strip b{color:#b38d37;font-size:18px}.about{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}.about .lead{font-size:20px;color:var(--ink);line-height:1.7}.about p{font-size:14px}.principles{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:30px;border-top:1px solid var(--line);padding-top:24px}.principles span{font-size:12px;color:#9a7520}.principles h3{font-size:25px;margin:10px 0}.principles p{font-size:12px;margin:0}.services{background:var(--paper)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:48px}.section-heading>p{max-width:370px;font-size:14px;margin:0}.section-heading>span{font-size:12px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service-card{background:white;padding:28px;display:flex;flex-direction:column;transition:background .2s}.service-card:hover{background:#fdfaf0}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;color:#929ba3;font-size:11px}.service-icon{color:var(--blue);font-size:30px;line-height:1}.service-card h3{font-size:28px;margin-bottom:16px}.service-card p{font-size:12px;line-height:1.9;flex:1}.service-card a{border-top:1px solid var(--line);padding-top:17px;display:flex;justify-content:space-between;font-size:11px}.service-footer{display:flex;justify-content:space-between;gap:20px;margin-top:28px;font-size:13px}.service-footer a{font-weight:700}.packages{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.package{padding:35px 30px;border:1px solid var(--line)}.package>span{font-size:10px;letter-spacing:1.5px}.package h3{font-size:36px;margin:22px 0 14px}.package>p{font-size:12px}.price{font-family:'Cormorant Garamond',Georgia,serif;font-size:32px;padding:24px 0;border-block:1px solid var(--line)}.price small{display:block;font-size:11px;font-family:'Libre Baskerville',Georgia,serif;color:var(--muted);margin-top:10px}.package ul{list-style:none;padding:0;margin:26px 0;font-size:12px;line-height:2.8}.package li:before{content:'✓';color:#9e7c25;margin-right:12px}.package .button{width:100%;font-size:12px}.featured{background:var(--navy);color:white;border-top:4px solid var(--gold);padding-top:32px}.featured p,.featured small{color:#c4d1dc}.featured .price{border-color:#446075}.featured li:before{color:var(--gold)}.fineprint{font-size:11px;line-height:1.8;margin-top:22px}.process{background:var(--navy);color:white}.process .eyebrow{color:var(--gold)}.process h2 em{color:#c8d8e6}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:38px;margin-top:50px}.steps article{border-top:1px solid #567084;padding-top:24px}.steps span{font-family:'Cormorant Garamond',Georgia,serif;font-size:39px;color:var(--gold)}.steps h3{font-size:28px;margin:20px 0 13px}.steps p{font-size:12px;color:#c4d1dc;margin-bottom:0}.portfolio{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.portfolio article{position:relative;padding:35px;border:1px solid var(--line);overflow:hidden}.case-number{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:80px;line-height:1;color:#b5c5d2;margin-bottom:20px}.pill{font-size:9px;letter-spacing:1px;padding:5px 8px;background:var(--paper)}.portfolio h3{margin:20px 0 16px;font-size:31px}.portfolio p{font-size:12px}.portfolio a{font-size:12px;font-weight:700}.insights{background:var(--paper)}.articles{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.article-art{padding:24px 30px;background:#dce6ed;display:flex;align-items:center;justify-content:space-between;height:150px;border-bottom:3px solid var(--gold)}.article-art span{font-size:10px;letter-spacing:2px;max-width:90px}.article-art strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:95px;font-weight:400;line-height:1}.art-1{background:var(--navy);color:#fff}.art-2{background:#f0e4bf}.article-body{padding-top:22px}.article-body small{font-size:9px;letter-spacing:.5px}.article-body h3{margin:14px 0;font-size:30px;line-height:1.15}.article-body p{font-size:12px}.faq-section{display:grid;grid-template-columns:1fr 1.6fr;gap:90px}.faq-section>div>p{font-size:13px;margin-top:25px}details{border-bottom:1px solid var(--line);padding:23px 0}details:first-child{border-top:1px solid var(--line)}summary{font-size:14px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:25px}summary::-webkit-details-marker{display:none}summary span{font-size:20px;color:#977621}details[open] summary span{transform:rotate(45deg)}details p{font-size:13px;margin:20px 0 0}.status-band{background:#eaf0f4;border-left:4px solid var(--gold);padding:45px 50px;display:flex;justify-content:space-between;align-items:center;gap:30px}.status-band h2{font-size:40px}.status-band p{font-size:12px;margin:20px 0 0}.status-band .eyebrow{font-size:10px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact>div>p{font-size:14px;margin:25px 0}.contact-item{margin-top:30px}.contact-item small{display:block;font-size:10px;letter-spacing:1.5px;color:var(--muted);margin-bottom:8px}.contact-item>a{font-size:17px}.contact-item p{font-size:13px;margin:0 0 8px}.contact-item #maps-link{font-size:12px;text-decoration:underline;text-underline-offset:4px}form{background:var(--paper);padding:35px}form h3{font-size:31px;margin-bottom:28px}label{display:block;font-size:12px;margin:18px 0 8px}input,select,textarea{background:white;border:1px solid #c6cfd5;border-radius:0;width:100%;padding:13px 14px;color:var(--ink);font-size:13px;line-height:1.6}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid var(--blue);outline-offset:1px}form .button{width:100%;margin-top:22px}form .fineprint{margin-bottom:0}footer{background:var(--navy);color:white;padding:50px 0 20px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-bottom:38px}.footer-top .monogram{color:var(--gold)}.footer-top p{font-size:13px;color:#c3d1dc;margin:0}.footer-top>div{display:flex;gap:22px;font-size:12px}.footer-top button{border:0;background:none;padding:0;color:white;font-size:12px}.footer-bottom{border-top:1px solid #3a5268;display:flex;justify-content:space-between;gap:20px;padding-top:22px;font-size:10px;color:#b7c7d4}.floating-wa{position:fixed;bottom:23px;right:25px;background:var(--navy);color:white;padding:11px 20px;border:1px solid #6c8090;border-radius:3px;font-size:12px;box-shadow:0 5px 24px #102d4622;z-index:25}.floating-wa span{color:var(--gold);margin-right:6px}.skip{position:fixed;left:15px;top:-100px;background:var(--gold);padding:12px;z-index:99}.skip:focus{top:15px}dialog{border:1px solid var(--line);padding:52px 38px 35px;color:var(--ink);width:620px;max-width:calc(100% - 32px);max-height:85vh}dialog::backdrop{background:#061c31b0;backdrop-filter:blur(3px)}dialog h2{font-size:43px;margin-bottom:24px}dialog p{font-size:14px}dialog form{padding:0;background:transparent}.close-modal{position:absolute;top:10px;right:18px;background:none;border:0;font-size:30px}dialog .eyebrow{font-size:10px}
@media(min-width:1600px){header{padding-inline:max(40px,calc((100vw - 1360px)/2))}.hero-visual{height:650px}}
@media(max-width:1150px){header{padding:18px 28px}nav{gap:15px;font-size:11px}.brand{font-size:10px}.brand small{font-size:8px}.wrap{width:calc(100% - 64px)}.hero{gap:30px}.hero h1{font-size:66px}.hero-visual{height:550px}.actions{gap:18px}.hero .button{font-size:11px;padding:15px}.service-card{padding:23px}.about,.faq-section,.contact{gap:50px}.package{padding:26px 22px}.package h3{font-size:31px}}
@media(max-width:900px){nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:25px 32px;border-bottom:1px solid var(--line);font-size:15px;flex-direction:column;align-items:stretch}nav.open{display:flex}.menu-toggle{display:block;border:0;background:none;font-size:26px}.hero{grid-template-columns:1fr 1fr;gap:24px}.hero h1{font-size:53px}.hero .eyebrow{font-size:9px}.hero-copy>p{font-size:12px}.hero-visual{height:515px;margin-right:10px}.hero-tag{left:17%;right:-10px}.image-caption{left:25px}.image-caption h2{font-size:28px}.hero-note small{font-size:10px}.service-strip .wrap{font-size:10px;gap:15px}.service-grid{grid-template-columns:repeat(2,1fr)}.section{padding-block:75px}.section-heading{gap:30px}.section-heading>p{max-width:290px;font-size:12px}.packages{gap:12px}.package{padding:24px 17px}.package>span{font-size:8px}.package h3{font-size:27px}.price{font-size:26px}.package ul{font-size:10px}.package .button{font-size:10px;padding:13px}.steps{gap:22px}.steps h3{font-size:24px}.portfolio{gap:14px}.portfolio article{padding:23px}.portfolio h3{font-size:27px}.articles{gap:20px}.article-body h3{font-size:27px}.contact{gap:36px}.footer-top{flex-wrap:wrap}.footer-top>div{gap:25px}.status-band{padding:35px}.status-band .button{font-size:11px}}
@media(max-width:640px){.topbar{padding:8px 20px;justify-content:center;font-size:10px}.topbar>span{display:none}header{padding:16px 22px}.brand{font-size:10px}.wrap{width:calc(100% - 40px)}.hero{grid-template-columns:1fr;padding-top:38px;padding-bottom:42px;gap:35px}.hero h1{font-size:61px;letter-spacing:-2px}.hero-copy>p{font-size:13px}.hero .eyebrow{font-size:10px}.hero .button{font-size:12px;padding:16px 20px}.actions{gap:22px;margin:26px 0}.hero-note{padding-top:20px}.hero-visual{height:430px;margin-right:13px}.image-caption{bottom:135px}.image-caption h2{font-size:32px}.hero-tag{left:35%;right:-13px}.service-strip .wrap{display:grid;grid-template-columns:1fr 1fr;gap:13px;font-size:11px}.service-strip b{display:none}.section{padding-block:64px}.about,.contact,.faq-section{grid-template-columns:1fr;gap:30px}.about .lead{font-size:18px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:24px;max-width:100%;font-size:13px}.section-heading>span{display:block;margin-top:20px}h2{font-size:42px}.eyebrow{font-size:10px;margin-bottom:18px}.service-card{padding:20px 16px}.service-card h3{font-size:25px}.service-card p{font-size:11px}.service-card a{font-size:10px;gap:6px}.card-top{margin-bottom:23px}.service-footer{display:block;font-size:12px}.service-footer a{display:block;margin-top:8px}.packages,.portfolio,.articles{grid-template-columns:1fr;gap:20px}.package{padding:30px}.package>span{font-size:10px}.package h3{font-size:37px}.package ul{font-size:13px}.price{font-size:34px}.package .button{font-size:12px}.steps{grid-template-columns:1fr 1fr;gap:30px 22px}.steps p{font-size:11px}.steps h3{font-size:26px}.portfolio article{padding:28px}.portfolio h3{font-size:33px}.case-number{float:right;font-size:90px;margin-left:20px}.article-art{height:130px}.article-body{padding-bottom:15px}.article-body h3{font-size:31px}.article-body p{font-size:13px}.status-band{padding:28px;display:block}.status-band h2{font-size:34px}.status-band .button{margin-top:25px;font-size:11px}.contact form{padding:26px}.footer-top{gap:28px}.footer-top>div{flex-wrap:wrap;font-size:12px}.footer-bottom{display:block;padding-bottom:60px}.footer-bottom>span{display:block;margin-bottom:10px}.floating-wa{right:16px;bottom:16px}.faq-section{gap:35px}dialog{padding:50px 25px 28px}dialog h2{font-size:36px}}
/* Minimum readable sizes across desktop and mobile. */
.hero-copy>p,.about p,.section-heading>p,.contact>div>p{font-size:16px}.service-card p,.steps p,.portfolio p,.article-body p,.package>p,details p,.contact-item p{font-size:14px}.service-card a,.portfolio a,.text-link,label,input,select,textarea,.package ul,.package .button,.button,.status-band .button{font-size:14px}.fineprint,.price small,.hero-note small{font-size:12px}.hero .button{font-size:14px}nav,.nav-status{font-size:14px}.hero .eyebrow{font-size:12px}.service-card h3{overflow-wrap:normal}.service-card a{gap:10px}.hero h1{font-size:clamp(52px,5.4vw,78px)}
@media(max-width:1150px) and (min-width:901px){nav{gap:13px;font-size:12px}.nav-status{font-size:12px}.hero h1{font-size:58px}}
@media(max-width:640px){.hero h1{font-size:clamp(47px,13vw,61px)}.service-grid{grid-template-columns:1fr}.service-card{padding:26px}.service-card h3{font-size:31px}.service-card a{font-size:14px}.steps{grid-template-columns:1fr}.hero .eyebrow{font-size:10px}.principles{gap:22px}.hero-visual{height:430px}.hero h1 br:first-child{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
