@font-face{font-family:Manrope;src:url('assets/manrope-semibold.woff2') format('woff2');font-weight:600 800;font-display:swap}@font-face{font-family:Manrope;src:url('assets/manrope.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Editorial;src:url('assets/editorial.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Editorial;src:url('assets/editorial-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
:root{--navy:#102d44;--blue:#08679d;--gold:#a77b32;--cream:#f8f7f3;--ink:#172f40;--muted:#63717a;--line:#dce0dd;--serif:Editorial,Georgia,serif;--sans:Manrope,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.75}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ba8e42;outline-offset:6px}::selection{background:#e5d4a8;color:var(--navy)}.wrap{max-width:1320px;width:calc(100% - 112px);margin:auto}.skip{position:fixed;top:-100px;left:20px;background:white;padding:12px;z-index:20}.skip:focus{top:10px}.topbar{background:var(--navy);color:#dde6eb;font-size:11px;letter-spacing:.04em}.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:34px}.topbar a span{margin-left:18px;color:#d7ba7b}header{background:rgba(248,247,243,.97);position:sticky;top:0;z-index:10;border-bottom:1px solid #e7e8e3;backdrop-filter:blur(14px)}.nav{height:102px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;width:186px}.brand img{width:100%;height:auto}nav{display:flex;align-items:center;gap:38px;font-size:13px;font-weight:600}nav>a:not(.nav-contact){padding:10px 0}nav>a:hover{color:var(--gold)}.nav-contact{border:1px solid #b8bfbf;padding:12px 19px;margin-left:5px}.nav-contact span{margin-left:24px}.menu-toggle{display:none}.hero{padding:65px 0 67px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.14fr 1fr;gap:75px;align-items:center}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;line-height:1.5;margin:0 0 25px}.hero .eyebrow{display:flex;gap:11px;align-items:center;color:#5d727d}.hero .eyebrow span{width:20px;height:1px;background:var(--gold)}h1,h2,h3,p{margin-top:0}h1{font-family:var(--serif);font-weight:400;font-size:clamp(54px,5.1vw,78px);line-height:1.05;letter-spacing:-.035em;margin-bottom:27px}em{font-family:var(--serif);font-weight:400;color:var(--gold)}.intro{max-width:440px;color:#62717a;font-size:14px;line-height:1.9;margin-bottom:29px}.hero-actions{display:flex;gap:27px;align-items:center;flex-wrap:wrap}.button{padding:15px 21px;display:inline-flex;align-items:center;justify-content:center;gap:27px;font-size:12px;font-weight:600}.primary{background:var(--navy);color:white;transition:background .2s,transform .2s}.primary:hover{background:#1d526f;transform:translateY(-2px)}.text-link{font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:22px}.text-link:hover{color:var(--gold)}.hero-foot{display:flex;gap:17px;align-items:center;margin-top:39px}.hero-foot p{font-size:10px;line-height:1.7;color:#6b7b84;margin:0}.tiny-line{width:31px;height:1px;background:#b2bebf}.credentials{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f0f1ec}.credentials .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1.5fr) minmax(0,1fr);gap:30px;align-items:center;padding:25px 0;font-size:10px;line-height:1.8;color:#6d797e}.credentials strong{font-weight:600;color:#304958}.credentials .wrap>span{position:relative;min-width:0}.credentials .wrap>span:has(i){padding-left:38px}.credentials i{position:absolute;left:0;top:3px;width:25px;height:25px;display:grid;place-items:center;border:1px solid #b3a27a;border-radius:50%;font-size:12px;color:var(--gold);font-style:normal}.credential-local{border-left:1px solid #d4d9d4;padding-left:30px}.section{padding:95px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:65px;margin-bottom:42px}.section-heading .eyebrow{color:#7c827c;margin-bottom:17px}h2{font-family:var(--serif);font-size:clamp(36px,3.4vw,51px);font-weight:400;line-height:1.12;letter-spacing:-.025em;margin-bottom:0}.section-heading>p{max-width:345px;font-size:12px;color:var(--muted);margin-bottom:3px;line-height:1.9}.detail-toggle{width:27px;height:27px;border:1px solid #c4ccce;border-radius:50%;position:relative}.detail-toggle:before,.detail-toggle:after{content:'';position:absolute;background:#627887;top:12px;left:8px;width:9px;height:1px}.detail-toggle:after{transform:rotate(90deg);transition:transform .2s}details[open] .detail-toggle{background:var(--navy);border-color:var(--navy)}details[open] .detail-toggle:before,details[open] .detail-toggle:after{background:white}details[open] .detail-toggle:after{transform:rotate(0)}.approach{padding:74px 0;background:var(--navy);color:#edf2f3;position:relative;overflow:hidden}.approach:after{content:'';position:absolute;left:-100px;bottom:-250px;width:400px;height:400px;border:1px solid #a8bcc22b;border-radius:50%;pointer-events:none}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.approach .eyebrow{color:#afc3cc;margin-bottom:20px}.approach em,.contact em{color:#d4b575}.approach h2{font-size:54px}.approach-grid>div>p:not(.eyebrow){font-size:12px;line-height:1.95;max-width:500px;color:#b6c8d1}.approach-grid .large-copy{font-family:var(--serif);font-size:29px!important;line-height:1.3!important;color:#eef0eb!important;margin-bottom:19px}.light-link{display:inline-block;border-bottom:1px solid #668191;font-size:11px;padding:9px 0;margin-top:6px}.light-link span{margin-left:40px;color:#dfc38c}.people-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.portrait{aspect-ratio:1.42;overflow:hidden;background:#dfe4de}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block;filter:saturate(.65);transition:transform .6s,filter .6s}.person:hover img{transform:scale(1.025);filter:saturate(1)}.person-info{display:flex;justify-content:space-between;gap:15px;padding-top:22px;border-bottom:1px solid var(--line);padding-bottom:22px;min-height:138px}.person-info h3{font-family:var(--serif);font-size:30px;font-weight:400;line-height:1.2;margin-bottom:8px}.person-info p{font-size:11px;color:var(--muted);line-height:1.7;margin:0}.person-info>a{font-size:23px;width:38px;height:38px;border:1px solid #c8d0d2;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.person-info>a:hover{background:var(--navy);color:white}.knowledge{background:#edeee8}.knowledge .section-heading{margin-bottom:35px}.articles{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.article-visual{height:185px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:24px;transition:filter .2s}.article:hover .article-visual{filter:brightness(1.08)}.visual-1{background:#203f54;color:#e1c287;gap:14px;font-family:var(--serif);font-size:47px}.visual-1 .small-or{font-size:18px;font-style:italic;color:#afc2c9}.visual-2{background:#dfd6c0;gap:0;align-items:end;padding:35px;position:relative}.step{width:60px;background:#234d66;transform:skewY(-15deg)}.s1{height:32px;background:#648494}.s2{height:62px;background:#476f84}.s3{height:92px}.up-arrow{position:absolute;right:42px;top:20px;font-size:46px;color:#9e7d3b;font-weight:200}.visual-3{background:#d9e2df;position:relative}.ledger{width:104px;height:120px;border:1px solid #5c7f85;transform:rotate(-12deg);padding:15px 17px;display:flex;flex-direction:column;gap:17px;background:#eef0e8}.ledger i{display:block;border-bottom:1px solid #789397;width:65px}.ledger-check{display:grid;place-items:center;font-size:25px;width:50px;height:50px;background:#b49453;color:white;border:5px solid #d9e2df;border-radius:50%;margin-left:-10px;margin-top:53px;z-index:1}.article .eyebrow{font-size:8px;color:#707d7f;letter-spacing:.1em;margin-bottom:12px}.article h3{font-family:var(--serif);font-size:26px;font-weight:400;line-height:1.2;max-width:300px;min-height:64px;margin-bottom:20px}.article-link{font-size:10px;border-top:1px solid #cbd1c9;display:flex;justify-content:space-between;padding-top:14px;align-items:center}.article-link b{font-size:20px;font-weight:400}.article-note{color:#6b787d;font-size:10px;margin:25px 0 0}.contact{background:#102d44;color:#edf2f3}.contact .eyebrow{color:#a8c0ca}.contact-heading{display:flex;justify-content:space-between;align-items:end;gap:35px}.contact h2{font-size:58px}.contact-heading>p{color:#b2c5ce;font-size:12px;line-height:1.9;margin-bottom:5px}.contact-links{display:flex;gap:35px;align-items:center;padding:36px 0 48px;flex-wrap:wrap}.contact-links>a{font-size:19px;font-weight:400;border-bottom:1px solid #59717d;padding:6px 0}.contact-links>a span{color:#d4b575;margin-left:24px}.contact-links .whatsapp{font-size:11px;margin-left:auto}.locations{border-top:1px solid #3b5667;display:grid;grid-template-columns:1fr 1fr 1fr;gap:55px;padding-top:30px}.location-number{color:#94aebc;font-size:9px;letter-spacing:.12em}.locations h3{font-family:var(--serif);font-size:32px;font-weight:400;margin:12px 0}.locations address{font-size:12px;font-style:normal;color:#bbced6;line-height:1.8;margin-bottom:18px}.locations a{font-size:10px;border-bottom:1px solid #587180;padding-bottom:5px}.locations a span{margin-left:30px;color:#dfc38c}.location-statement{border-left:1px solid #3b5667;padding-left:50px;display:flex;flex-direction:column;justify-content:end}.location-statement>span{font-size:55px;line-height:1;color:#d3b778;font-weight:200}.location-statement p{font-family:var(--serif);font-size:35px;line-height:1.15;margin:25px 0 0}footer{background:var(--cream)}.footer-top{padding:38px 0;display:flex;align-items:center;gap:55px}.footer-brand{width:155px;flex-shrink:0}.footer-brand img{width:100%;height:auto;display:block}.footer-top p{font-size:10px;color:#71808a;line-height:1.8;margin:0}.back-top{font-size:10px;margin-left:auto}.footer-bottom{border-top:1px solid var(--line);padding:19px 0 24px;display:flex;justify-content:space-between;color:#7a878a;font-size:9px}.footer-bottom button{border:0;background:none;padding:0;margin-left:25px;font-size:9px}.footer-bottom button:hover,.back-top:hover{color:var(--gold)}dialog{width:min(620px,calc(100% - 32px));max-height:85vh;border:none;padding:45px;background:var(--cream);color:var(--navy);box-shadow:0 20px 100px #061c3966;font-size:13px}dialog::backdrop{background:#061b32a6;backdrop-filter:blur(5px)}dialog h2{margin-bottom:25px}dialog a{text-decoration:underline}dialog .eyebrow{margin-bottom:15px}.dialog-close{position:absolute;right:18px;top:12px;background:none;border:none;font-size:30px;line-height:1.2}
@media(min-width:1550px){.hero{padding-top:78px;padding-bottom:78px}.hero-grid{gap:100px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero-grid{gap:35px}h1{font-size:60px}.hero-actions{gap:15px}.hero-actions .text-link{font-size:11px}.button{padding:14px 16px;gap:18px}.credentials .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.4fr);gap:20px}.credential-local{display:none}.section-heading{gap:35px}.contact-links{gap:25px}.contact-links>a{font-size:17px}.contact-links .whatsapp{margin-left:0}.contact h2{font-size:50px}.approach-grid{gap:60px}.article-visual{height:155px}.visual-1{font-size:38px;gap:10px}.location-statement{padding-left:30px}.location-statement p{font-size:30px}nav{gap:25px}.brand{width:160px}}
@media(max-width:800px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 40px)}.topbar .wrap{height:29px}.topbar{font-size:9px}.nav{height:80px}.brand{width:150px}.menu-toggle{display:flex;align-items:center;gap:15px;background:none;border:0;font-size:12px}.menu-toggle span{font-size:19px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--cream);padding:22px 20px 28px;border-bottom:1px solid #d5dbda;box-shadow:0 15px 20px #102d4412}nav.is-open{display:flex;align-items:stretch;flex-direction:column;gap:12px}nav .nav-contact{margin:6px 0 0;display:flex;justify-content:space-between}.hero{padding:42px 0}.hero-grid{grid-template-columns:1fr 1fr;gap:25px}.hero-copy .eyebrow{font-size:8px}h1{font-size:48px}.intro{font-size:12px}.hero-actions .text-link{padding:5px 0}.hero-foot{margin-top:22px}.credentials .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px;padding:20px 0;font-size:9px}.credential-title{display:none}.credentials .wrap>span:has(i){padding-left:33px}.section{padding:65px 0}.section-heading{align-items:start;flex-direction:column;gap:22px;margin-bottom:30px}.section-heading>p{max-width:480px}h2{font-size:42px}.approach-grid{gap:40px}.approach{padding:60px 0}.approach h2{font-size:44px}.approach-grid .large-copy{font-size:25px!important}.people-grid{gap:25px}.person-info h3{font-size:27px}.portrait{aspect-ratio:1.12}.person-info p{font-size:10px}.articles{gap:20px}.article-visual{height:135px}.visual-1{font-size:30px;gap:6px}.visual-1 .small-or{font-size:13px}.article h3{font-size:23px;min-height:85px}.article-link{font-size:8px}.article .eyebrow{font-size:7px}.contact-heading{align-items:start;flex-direction:column;gap:22px}.contact h2{font-size:49px}.contact-links{gap:17px 30px;padding:25px 0 35px}.contact-links>a{font-size:16px}.locations{gap:30px;grid-template-columns:1fr 1fr}.location-statement{display:none}.footer-top{gap:25px}.footer-brand{width:135px}}
@media(max-width:560px){.hero-grid{grid-template-columns:1fr;gap:35px}.hero-copy .eyebrow{font-size:9px;margin-bottom:22px}h1{font-size:57px;line-height:1.02;letter-spacing:-.04em}.intro{font-size:13px;margin-bottom:23px;max-width:390px}.hero-actions{gap:24px}.hero-foot{display:none}.credentials .wrap{gap:15px;font-size:8px}.credentials .wrap>span:has(i){padding-left:28px}.credentials i{width:20px;height:20px;font-size:9px}.section{padding:53px 0}.eyebrow{font-size:9px}h2{font-size:37px}.section-heading>p{font-size:12px}.detail-toggle{width:24px;height:24px}.detail-toggle:before,.detail-toggle:after{left:7px;top:11px;width:8px}.approach-grid{grid-template-columns:1fr;gap:25px}.approach h2{font-size:45px}.approach-grid .large-copy{font-size:27px!important}.people-grid{grid-template-columns:1fr;gap:35px}.portrait{aspect-ratio:1.35}.person-info{padding-top:18px;min-height:auto;padding-bottom:22px}.person-info h3{font-size:29px}.person-info p{font-size:11px}.articles{grid-template-columns:1fr;gap:34px}.article-visual{height:190px;margin-bottom:18px}.visual-1{font-size:53px;gap:20px}.visual-1 .small-or{font-size:18px}.article .eyebrow{font-size:9px;margin-bottom:9px}.article h3{min-height:0;font-size:28px;max-width:330px;margin-bottom:15px}.article-link{font-size:10px}.visual-2{padding-bottom:35px}.step{width:75px}.s1{height:40px}.s2{height:75px}.s3{height:110px}.contact h2{font-size:43px}.contact-links{align-items:start;flex-direction:column;gap:13px}.contact-links>a{font-size:20px}.contact-links .whatsapp{font-size:12px;margin-top:8px}.locations{gap:22px}.locations h3{font-size:28px}.locations address{font-size:10px}.locations a{font-size:9px}.footer-top{padding:30px 0;flex-wrap:wrap;gap:20px}.footer-brand{width:140px}.footer-top p{font-size:9px}.back-top{width:100%;margin:0}.footer-bottom{font-size:8px;gap:10px}.footer-bottom button{font-size:8px;margin-left:15px}dialog{padding:35px 25px}.topbar a span{margin-left:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.review-strip{background:#fdfcf8;border-top:1px solid var(--line)}.review-inner{padding:32px 0}.review-link{display:inline-flex;gap:20px;align-items:center;font-size:11px;font-weight:600;border-bottom:1px solid #c9d1cf;padding:8px 0;margin-top:15px}.review-link>span{font-size:20px;font-weight:400;color:var(--gold)}.review-link:hover{color:var(--gold)}@media(max-width:560px){.review-inner{padding:24px 0}.review-link{font-size:10px;gap:14px}}

.credential-membership{display:block;padding:6px 0}.credential-membership img{display:block;width:100%;max-width:260px;height:auto}







.hero-structure{min-width:0;margin:0;background:var(--navy);padding:27px 22px 19px;color:var(--cream);align-self:center}.hero-structure .eyebrow{color:#b4c9d3;font-size:9px;letter-spacing:.15em;margin:0 0 12px}.hero-structure h2{font-family:var(--serif);font-size:34px;line-height:1.1;margin:0 0 10px}.hero-structure h2 em{color:#d4b575}.structure-image{display:block;width:100%;height:auto}.structure-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #446173;padding-top:14px;margin-top:8px}.structure-foot p{margin:0;color:#b4c9d3;font-size:9px;line-height:1.6}.structure-foot button{border:0;border-bottom:1px solid #718694;background:none;padding:4px 0;color:#f5f4ee;font-size:10px;white-space:nowrap}.structure-foot button span{margin-left:12px;color:#d4b575;font-size:17px}.structure-foot button:hover{color:#d4b575}.structure-dialog{width:min(900px,calc(100% - 32px));background:var(--navy);color:var(--cream);padding:32px}.structure-dialog h2{font-size:31px;margin:0 0 20px}.structure-dialog .eyebrow{margin-bottom:12px;color:#b4c9d3}.structure-scroll{overflow:auto;max-height:65vh;outline-offset:3px}.structure-scroll:focus-visible{outline:2px solid #d4b575}.structure-scroll img{display:block;width:min(100%,680px);height:auto;margin:auto}.structure-dialog-note{color:#b4c9d3;font-size:11px;line-height:1.7;margin:20px 0 0}
@media(max-width:1100px){.hero-grid{grid-template-columns:1fr 1.08fr;gap:30px}.hero-structure{padding:24px 14px 17px}.hero-structure h2{font-size:30px}}
@media(max-width:800px){.hero-grid{grid-template-columns:1fr}.hero-copy{max-width:620px}.hero-structure{width:min(100%,600px);justify-self:center;padding:26px 24px 20px}.hero-structure h2{font-size:34px}.hero-structure .eyebrow{font-size:9px}}
@media(max-width:560px){.hero-structure{padding:24px 12px 16px}.hero-structure figcaption{padding:0 7px}.hero-structure h2{font-size:31px}.structure-foot{gap:10px;margin:8px 7px 0}.structure-foot p{font-size:8px}.structure-foot button{font-size:9px}.structure-foot button span{margin-left:7px}.structure-dialog{padding:30px 18px 22px}.structure-dialog h2{font-size:27px}.structure-scroll img{min-width:560px}}

.structure-dialog .dialog-close{color:var(--cream)}

/* Keep the three longer opening lines proportional to their column. */
.hero-copy{container-type:inline-size}.hero-copy h1{font-size:clamp(28px,3.8vw,58px);font-size:clamp(24px,8.6cqi,54px);line-height:1.12;letter-spacing:-.035em}

/* Services: open two-column layout with a visible benefit per service. */
.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:64px;row-gap:18px}
.service-list details{min-width:0;align-self:start;border-top:1px solid var(--line)}
.service-list summary{list-style:none;position:relative;cursor:pointer;padding:29px 0 27px}
.service-list summary::-webkit-details-marker{display:none}
.service-list summary::before{content:"";position:absolute;left:0;top:-1px;width:42px;height:2px;background:var(--gold);transition:width .25s}
.service-list summary:hover::before,.service-list details[open] summary::before{width:72px}
.service-list h3{font-family:var(--serif);font-size:32px;font-weight:400;line-height:1.15;letter-spacing:-.015em;margin:0 42px 13px 0;overflow-wrap:break-word}
.service-benefit{display:block;padding-right:12px;font-size:13px;line-height:1.7;color:var(--muted)}
.service-list .detail-toggle{position:absolute;right:0;top:32px}
.service-content{padding:0 38px 28px 0}
.service-content p{font-size:13px;line-height:1.85;color:var(--muted);margin:0;max-width:590px}
.service-content a{display:inline-flex;align-items:center;gap:18px;margin-top:20px;font-size:11px;font-weight:600;line-height:1.6}
.service-content a:hover{color:var(--gold)}
@media(max-width:1100px){.service-list{column-gap:42px}.service-list h3{font-size:29px}}
@media(max-width:800px){.service-list{grid-template-columns:1fr;row-gap:0}.service-list summary{padding:27px 0}.service-list h3{font-size:32px}.service-content{padding-right:32px}.service-benefit{font-size:13px}}
@media(max-width:560px){.service-list summary{padding:25px 0}.service-list h3{font-size:29px;margin-right:38px}.service-list .detail-toggle{top:28px}.service-benefit{font-size:12px;padding-right:0}.service-content{padding-right:0}.service-content p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.service-list summary::before{transition:none}}

/* Keep mobile content inside the viewport, including third-party reviews. */
html{overflow-x:hidden;overflow-x:clip}
body{min-width:0;max-width:100%}
.wrap{min-width:0}
h1,h2,h3{overflow-wrap:anywhere;hyphens:auto}
.hero-grid>*,.approach-grid>*,.people-grid>*,.articles>*,.locations>*{min-width:0}
.person-info>div{min-width:0;overflow-wrap:anywhere}
.review-inner{min-width:0}
.review-inner>[class*="elfsight-app-"]{width:100%;max-width:100%;min-width:0;overflow-x:clip}
@media(max-width:560px){
 .contact-links>a{max-width:100%;overflow-wrap:anywhere}
 .contact-links>a span{display:inline-block}
 .footer-bottom{flex-wrap:wrap}
 .credentials .wrap>span{overflow-wrap:anywhere}
}

.hero-context{font-size:12px;font-weight:600;color:var(--navy);line-height:1.7;max-width:440px;margin:0 0 16px}
.service-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 64px}.service-directory article{border-top:1px solid var(--line);padding-top:25px}.service-directory h2{font-size:34px}.service-directory p{color:var(--muted);font-size:13px;margin:14px 0}.service-directory h2 a:hover{color:var(--gold)}
.service-layout{display:grid;grid-template-columns:minmax(0,740px) minmax(0,300px);gap:70px;padding-top:50px;padding-bottom:70px;align-items:start}.service-promise{font-family:var(--serif);font-size:29px;color:var(--gold);line-height:1.2}.service-contact{position:sticky;top:130px;background:#eaece5;padding:26px;border-top:2px solid var(--gold);font-size:12px;overflow-wrap:anywhere}.service-contact h2{font-size:32px;margin-bottom:20px}.service-contact h3{font-size:17px;margin-top:28px}.service-contact>a{display:block;margin-top:15px}.service-contact ul{padding-left:16px}.service-contact li{margin:10px 0}.service-contact .eyebrow{font-size:9px;margin-bottom:18px}.service-contact .text-link{font-size:11px}
@media(max-width:800px){.service-layout{grid-template-columns:minmax(0,1fr);gap:32px}.service-contact{position:static}.service-directory{gap:30px}.service-directory h2{font-size:30px}}
@media(max-width:560px){.service-directory{grid-template-columns:minmax(0,1fr)}.service-layout{padding-top:30px;padding-bottom:45px}.service-promise{font-size:26px}.hero-context{font-size:11px}}

/* Direct contact in the top bar; wrap naturally on narrow screens. */
.topbar .wrap{height:auto;min-height:34px;gap:12px;padding:3px 0}
.topbar-locations{flex-shrink:0}
.topbar-contacts{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:0 26px;min-width:0;max-width:100%}
.topbar-contacts a{display:inline-flex;align-items:center;min-height:28px;white-space:nowrap}
.topbar-contacts a:hover{color:#d4b575}
@media(max-width:800px){.topbar .wrap{min-height:30px}.topbar-contacts{column-gap:18px}.topbar-contacts a{min-height:24px}.topbar-contacts a span{margin-left:8px}}
@media(max-width:560px){.topbar .wrap{flex-direction:column;align-items:flex-start;gap:2px;padding:7px 0}.topbar-locations{font-size:8px}.topbar-contacts{justify-content:flex-start;column-gap:18px;font-size:10px}.topbar-contacts a{min-height:26px}}

.qualification-link{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}.qualification-link:hover{color:var(--navy)}

.hero-portrait{margin:0;min-width:0;width:100%;max-width:600px;justify-self:center;align-self:center}.hero-portrait>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center;background:#d6d0c7}.hero-portrait figcaption{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:16px 0;color:var(--navy)}.hero-portrait figcaption>span{font-family:var(--serif);font-size:25px}.hero-portrait figcaption>a{font-size:11px;border-bottom:1px solid var(--gold);padding:3px 0}.hero-portrait figcaption>a:hover{color:var(--gold)}.hero-portrait figcaption>a span{margin-left:8px;color:var(--gold)}#nicolas-masson{scroll-margin-top:150px}@media(max-width:560px){.hero-portrait figcaption{gap:10px}.hero-portrait figcaption>span{font-size:23px}.hero-portrait figcaption>a{font-size:10px}}

.hero-benefit{color:var(--ink);font-style:italic;font-size:16px;line-height:1.75;margin-bottom:18px}@media(max-width:560px){.hero-benefit{font-size:14px}}

/* Clear hierarchy for the experience section. */
.approach-refined{padding:88px 0}
.approach-refined .approach-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(48px,7vw,100px);align-items:center}
.approach-refined h2{font-size:clamp(36px,3.7vw,50px);line-height:1.16;letter-spacing:-.025em;hyphens:none;overflow-wrap:normal;margin-bottom:0;max-width:510px}
.approach-refined .approach-grid>div>.approach-copy{font-family:var(--sans);font-size:20px;line-height:1.75;color:#e1e9ec;max-width:530px;margin-bottom:25px}
.approach-refined .light-link{font-size:13px;padding:10px 0;margin-top:0;border-color:#78909e}
.approach-refined .light-link:hover{color:#d4b575;border-color:#d4b575}
@media(max-width:900px){.approach-refined .approach-grid{gap:40px}.approach-refined .approach-grid>div>.approach-copy{font-size:18px}}
@media(max-width:700px){.approach-refined{padding:58px 0}.approach-refined .approach-grid{grid-template-columns:minmax(0,1fr);gap:28px}.approach-refined h2{font-size:clamp(32px,7.4vw,42px)}.approach-refined .approach-grid>div>.approach-copy{font-size:17px;line-height:1.8;margin-bottom:20px}.approach-refined .light-link{font-size:12px}.approach-refined .light-link span{margin-left:20px}}

.experience-statement{padding:76px 0}.experience-statement .wrap{max-width:1120px}.experience-statement p{position:relative;font-family:var(--serif);font-size:clamp(28px,3.2vw,42px);line-height:1.42;letter-spacing:-.015em;color:#edf2f3;margin:0;hyphens:none;overflow-wrap:normal}@media(max-width:700px){.experience-statement{padding:48px 0}.experience-statement p{font-size:clamp(25px,6.3vw,34px);line-height:1.45}}

.credentials .wrap{grid-template-columns:minmax(0,1.1fr) minmax(0,1.5fr) minmax(0,1fr)}@media(max-width:1100px){.credentials .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}}

/* Reviews and professional credentials share one responsive row. */
.credentials-unified .wrap{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1.1fr);gap:36px;padding:28px 0;align-items:center;font-size:11px}
.credentials-unified .credential-local{display:none}
.credential-reviews{min-width:0;width:100%;max-width:100%}
.credential-reviews>[class*="elfsight-app-"]{width:100%;max-width:100%;min-width:0;overflow-x:clip}
.credentials-unified .credential-membership{justify-self:center;width:100%;max-width:260px}
@media(max-width:800px){.credentials-unified .wrap{grid-template-columns:minmax(0,1fr);gap:24px;padding:28px 0}.credential-reviews{max-width:480px;justify-self:center}.credentials-unified .credential-membership{max-width:240px}.credentials-unified .wrap>span:has(i){justify-self:center;font-size:11px;padding-left:38px}.credentials-unified i{width:25px;height:25px;font-size:12px}}

/* Equal centres for Google, TREUHAND SUISSE and RAB. */
.credentials-unified .wrap{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding:26px 0;min-height:144px}
.credentials-unified .credential-reviews{justify-self:center;align-self:center;max-width:330px}
.credentials-unified .credential-membership{justify-self:center;align-self:center;max-width:260px}
.credentials-unified .wrap>.credential-rab{justify-self:center;align-self:center;width:max-content;max-width:100%;font-size:12px;line-height:1.7;padding-left:38px}
.credentials-unified .credential-rab i{top:5px;width:25px;height:25px;font-size:12px}
@media(min-width:801px) and (max-width:1000px){.credentials-unified .wrap{gap:24px}.credentials-unified .wrap>.credential-rab{font-size:11px;padding-left:32px}}
@media(max-width:800px){.credentials-unified .wrap{grid-template-columns:minmax(0,1fr);gap:28px;padding:30px 0}.credentials-unified .credential-reviews{max-width:330px}.credentials-unified .credential-membership{max-width:260px}.credentials-unified .wrap>.credential-rab{font-size:12px}}

/* Let profile text areas share the full height of their grid row. */
.people-grid>.person{display:flex;flex-direction:column;min-width:0}.people-grid>.person>.portrait{flex:0 0 auto;width:100%}.people-grid>.person>.person-info{flex:1 0 auto;align-items:flex-start}

.topbar-locations:hover{text-decoration:underline;text-underline-offset:3px}

/* Readability: comfortable body text and legible secondary information. */
:root{--muted:#526571}
body{font-size:16px;line-height:1.8}
.topbar,.topbar-locations,.topbar-contacts{font-size:13px;line-height:1.6}
.topbar .wrap{height:auto;min-height:42px;padding-top:6px;padding-bottom:6px;gap:8px 24px;flex-wrap:wrap}
.topbar-contacts a{min-height:30px}
nav{font-size:15px}
.menu-toggle{font-size:15px;min-height:44px}
.eyebrow,.hero-copy .eyebrow,.article .eyebrow{font-size:12px;line-height:1.7;letter-spacing:.1em}
.intro,.section-heading>p{font-size:16px;line-height:1.8;color:var(--muted)}
.hero-benefit{font-size:18px;line-height:1.75;color:var(--ink)}
.hero-context{font-size:15px;line-height:1.8;max-width:480px}
.button,.text-link,.light-link{font-size:15px;line-height:1.7}
.service-benefit{font-size:15px;line-height:1.75}
.service-content p{font-size:16px;line-height:1.85;color:var(--muted)}
.service-content a{font-size:14px;line-height:1.75;padding:4px 0}
.person-info p{font-size:14px;line-height:1.8;color:var(--muted)}
.person-info{padding-bottom:26px}
.article .eyebrow{color:var(--muted)}
.article-link{font-size:14px;line-height:1.7;padding-top:17px}
.article-note{font-size:14px;line-height:1.8;color:var(--muted)}
.credentials-unified .wrap>.credential-rab{font-size:14px;line-height:1.75;color:var(--muted)}
.credentials-unified .wrap{gap:28px;padding-top:30px;padding-bottom:30px}
.contact-links>a{font-size:21px;line-height:1.6}
.contact-links{gap:18px 36px}
.location-number{font-size:13px;color:#c4d3da;line-height:1.7}
.locations address{font-size:16px;line-height:1.85;color:#dce5e9}
.locations a{font-size:14px;line-height:1.8;display:inline-block;padding:5px 0}
.footer-top p,.back-top,.footer-bottom,.footer-bottom button{font-size:13px;line-height:1.8;color:var(--muted)}
.footer-top{gap:24px;flex-wrap:wrap}
.footer-bottom{flex-wrap:wrap;gap:14px 24px}
.footer-bottom button{min-height:40px;padding:6px 0}
dialog{font-size:16px;line-height:1.8}
dialog h3{line-height:1.4}
.service-directory p{font-size:16px;line-height:1.8}
.service-contact{font-size:15px;line-height:1.8}
.service-contact .eyebrow{font-size:12px}
.service-contact .text-link{font-size:14px}
@media(max-width:800px){.topbar,.topbar-locations,.topbar-contacts{font-size:12px}.topbar .wrap{gap:4px 18px}.person-info p{font-size:14px}.credentials-unified .wrap>.credential-rab{font-size:14px}}
@media(max-width:560px){.topbar .wrap{padding-top:8px;padding-bottom:8px}.topbar-contacts{gap:3px 18px}.topbar-contacts a span{margin-left:6px}.hero-benefit{font-size:17px}.hero-context{font-size:15px}.contact-links>a{font-size:19px}.locations{row-gap:35px}.locations address{font-size:16px}.footer-top p{font-size:13px}.footer-bottom button{margin-left:0}.footer-bottom>div{display:flex;gap:20px;flex-wrap:wrap}}

.hero-person-link{display:block;cursor:pointer}.hero-person-link>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center;background:#d6d0c7}.hero-portrait figcaption>.hero-person-name{font-family:var(--serif);font-size:25px;line-height:1.3;border:0;padding:0}.hero-person-link:hover{outline:1px solid var(--gold);outline-offset:4px}.hero-portrait figcaption>.hero-person-name:hover{color:var(--gold)}@media(max-width:560px){.hero-portrait figcaption>.hero-person-name{font-size:23px}}

.locations{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:480px){.locations{grid-template-columns:minmax(0,1fr)}}

/* Compact, balanced location blocks with consistent internal alignment. */
.locations{max-width:960px;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;border-top:0;padding-top:18px}
.locations>article{display:flex;flex-direction:column;align-items:flex-start;border:1px solid #587180;background:#ffffff04;padding:30px 32px;min-width:0}
.locations h3{font-size:34px;line-height:1.2;margin:0 0 20px}
.locations address{font-size:16px;line-height:1.8;margin:0 0 24px}
.locations a{font-size:15px;line-height:1.7;margin-top:auto;padding:5px 0;border-color:#9aafb9}
.locations a:hover{color:#d4b575;border-color:#d4b575}
.locations a span{margin-left:26px;color:#d4b575}
@media(max-width:700px){.locations{gap:20px}.locations>article{padding:25px 22px}.locations h3{font-size:30px}}
@media(max-width:560px){.locations{grid-template-columns:minmax(0,1fr);max-width:480px;gap:20px}.locations>article{padding:26px}.locations h3{font-size:32px}}

/* Clear primary action in the opening section. */
.hero-consultation{margin-top:26px;max-width:100%}
.hero-consultation .consultation-button{min-height:54px;max-width:100%;padding:16px 24px;gap:24px;font-size:16px;line-height:1.5;border:1px solid var(--navy);text-align:center}
.consultation-button>span{color:#d4b575;font-size:21px;line-height:1;flex-shrink:0}
@media(max-width:560px){.hero-consultation{margin-top:24px}.hero-consultation .consultation-button{width:100%;justify-content:space-between;padding:15px 20px;font-size:16px}}

/* Personal direct contact beneath Nicolas' homepage portrait. */
.hero-portrait figcaption{flex-wrap:wrap;gap:12px 20px}
.hero-portrait figcaption>.hero-direct-call{display:block;min-height:48px;border:0;padding:4px 0;text-align:right;font-family:var(--sans);font-size:16px;line-height:1.6;white-space:nowrap}
.hero-portrait figcaption>.hero-direct-call .hero-call-label{display:block;margin:0;color:var(--muted);font-size:14px;font-weight:400;line-height:1.5}
.hero-direct-call strong{font-weight:600}
@media(max-width:560px){.hero-portrait figcaption{flex-direction:column;align-items:flex-start;gap:8px}.hero-portrait figcaption>.hero-direct-call{text-align:left;font-size:16px}}

.hero-portrait .hero-person-name .hero-person-role{display:block;font-family:var(--serif);font-size:21px;line-height:1.45;font-weight:400;font-style:normal;color:inherit;margin:4px 0 0;white-space:normal}

.bvg-teaser{border:1px solid #cbd1d0;background:#f8f7f3;padding:28px;margin:0 0 35px;display:flex;justify-content:space-between;align-items:center;gap:30px}.bvg-teaser .eyebrow{color:#63717a;margin-bottom:10px}.bvg-teaser h3{font:400 30px/1.2 Editorial,Georgia,serif;margin:0 0 12px}.bvg-teaser p:not(.eyebrow){font-size:13px;max-width:640px;margin:0;color:#63717a}.bvg-teaser .button{flex-shrink:0}.article-body .bvg-teaser{display:block}.article-body .bvg-teaser .button{margin-top:20px}@media(max-width:700px){.bvg-teaser{display:block;padding:22px}.bvg-teaser .button{margin-top:20px}}

.qst-teaser{display:flex;gap:30px;justify-content:space-between;align-items:center;padding:28px;margin-bottom:32px;border:1px solid #cbd1d0;background:#edf0ec}.qst-teaser h3{font:400 30px/1.2 var(--serif);margin:0 0 12px}.qst-teaser p{font-size:15px;margin-bottom:12px}.qst-teaser .eyebrow{font-size:12px}.qst-teaser .button{font-size:15px;flex-shrink:0}.article-body .qst-teaser{display:block}.article-body .qst-teaser .button{margin-top:16px}@media(max-width:800px){.qst-teaser{display:block}.qst-teaser .button{margin-top:12px}}

.planning-tools{margin:0 0 35px}.planning-tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.planning-tools-grid .bvg-teaser{margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:24px}.planning-tools-grid .bvg-teaser p{font-size:16px;line-height:1.65}.planning-tools-grid .button{margin-top:auto;max-width:100%;white-space:normal;text-align:left}.planning-tools-grid h3{font-size:30px}@media(max-width:800px){.planning-tools-grid{grid-template-columns:1fr}}

.service-direct-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}.service-content .service-direct-links a{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:20px;border:1px solid #b7c3c7;text-decoration:none;line-height:1.4}.service-direct-links a:hover{background:#eef0e9}.service-direct-links a:focus-visible{outline:2px solid #a38650;outline-offset:3px}@media(max-width:640px){.service-direct-links{grid-template-columns:1fr}}
/* Tools navigation and overview */
.nav-tools{position:relative}.nav-tools summary{cursor:pointer;padding:10px 0;white-space:nowrap}.nav-tools summary:hover{color:var(--gold)}.tools-menu{position:absolute;top:100%;left:0;min-width:260px;max-width:calc(100vw - 32px);padding:12px;background:var(--cream);border:1px solid var(--line);box-shadow:0 12px 28px #102d441a}.tools-menu a{display:block;padding:10px 12px;line-height:1.5}.tools-menu a:hover,.tools-menu a:focus-visible{background:#e9ece7;color:var(--navy)}.tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.tool-card{display:flex;flex-direction:column;padding:32px;background:white;border:1px solid var(--line);border-top:3px solid var(--gold);min-width:0}.tool-card h2{font-size:30px;line-height:1.2;overflow-wrap:anywhere}.tool-card p{font-size:17px;line-height:1.8}.tool-card .button{margin-top:auto;gap:12px}.tools-note{padding-top:35px;font-size:16px}.tools-note p{max-width:850px}
@media(max-width:1000px){.tools-grid{grid-template-columns:1fr}.tool-card{padding:28px}#navigation{gap:22px}}
@media(max-width:800px){.nav-tools{width:100%}.tools-menu{position:static;max-width:100%;min-width:0;box-shadow:none;margin-bottom:12px}.nav-tools summary{padding:12px 0}}
