@font-face{font-family:DM Sans;src:url('assets/dm-sans.woff2') format('woff2');font-weight:100 1000;font-display:swap}
@font-face{font-family:DM Serif;src:url('assets/dm-serif.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:DM Serif;src:url('assets/dm-serif-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
:root{--navy:#172e40;--ink:#172e40;--cream:#f7f5f0;--sand:#eae6dc;--muted:#64717b;--line:#d7dbd8;--blue:#e5eced;--gold:#b79359;--white:#fff;--serif:'DM Serif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}button{color:inherit}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3{font-weight:400}em{font-weight:400}h1,h2,h3{font-family:var(--serif);letter-spacing:-.035em}h2{font-size:clamp(40px,4.2vw,60px);line-height:1.08}h3{font-size:40px;line-height:1.15}.wrap{width:calc(100% - 112px);max-width:1328px;margin-inline:auto}.section{padding-top:110px;padding-bottom:110px}.eyebrow{font-size:11px;font-weight:650;letter-spacing:.16em;line-height:1.5}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:59px;padding:10px 12px 10px 24px;font-size:13px;font-weight:550;border:1px solid transparent;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--navy);color:white}.primary:hover{background:#26485f}.button-arrow{width:35px;height:35px;border:1px solid #ffffff45;border-radius:50%;display:grid;place-items:center;font-size:20px;font-weight:400}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;border-bottom:1px solid var(--navy);padding:5px 0 9px;font-size:13px;font-weight:600;transition:gap .2s}.text-link:hover{gap:35px}.text-link span{font-size:21px;font-weight:400}.skip-link{position:fixed;left:16px;top:-100px;background:var(--navy);color:white;padding:12px;z-index:100}.skip-link:focus{top:10px}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #a17639;outline-offset:5px}input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}::selection{background:var(--gold);color:var(--navy)}[hidden]{display:none!important}
.site-header{position:sticky;top:0;z-index:30;background:var(--cream);border-bottom:1px solid var(--line)}.header-inner{width:calc(100% - 112px);max-width:1328px;margin:auto;height:104px;display:flex;align-items:center;gap:32px}.wordmark{display:flex;flex-shrink:0;gap:16px;align-items:center;margin-right:auto}.monogram{font-family:var(--serif);font-size:42px;line-height:1;letter-spacing:-7px;width:61px;height:56px;border-right:1px solid var(--gold);display:flex;align-items:center;position:relative;padding-right:15px;flex-shrink:0;background:url(assets/td-monogramme-bleu.svg) left center/calc(100% - 15px) auto no-repeat}.monogram span{display:none}.wordmark-name{font-size:15px;font-weight:650;letter-spacing:.16em;line-height:1.1}.wordmark-role{display:block;font-size:9.5px;font-weight:500;letter-spacing:.015em;line-height:1.4;padding-top:6px}.wordmark-role>span{display:block}.desktop-nav{display:flex;flex-shrink:0;gap:30px;font-size:12px;font-weight:500}.desktop-nav a{white-space:nowrap;padding:12px 0;position:relative}.desktop-nav a:after{content:'';position:absolute;bottom:7px;left:0;height:1px;width:0;background:var(--gold);transition:width .2s}.desktop-nav a:hover:after{width:100%}.header-cta{display:flex;flex-shrink:0;white-space:nowrap;align-items:center;gap:35px;padding:10px 0 10px 25px;border-left:1px solid var(--line);font-size:12px;font-weight:650}.header-cta span{font-size:23px}.menu-toggle,.mobile-nav{display:none}
.hero{display:grid;grid-template-columns:1.07fr 1fr;gap:6%;min-height:720px;padding-top:42px;padding-bottom:42px}.hero-copy{padding-top:34px;display:flex;flex-direction:column;align-items:flex-start}.hero .eyebrow{display:flex;align-items:center;gap:13px;font-size:10px}.tiny-line{display:inline-block;width:26px;height:1px;background:var(--gold)}h1{font-size:clamp(64px,6.9vw,104px);line-height:1.04;margin-top:36px;letter-spacing:-.048em}h1 em{color:#697d89}.hero-description{font-size:18px;line-height:1.65;margin-top:24px;color:#546572}.hero-copy>.button{margin-top:29px}.hero-secondary{font-size:11px;margin-top:18px;display:flex;gap:18px;align-items:center;border-bottom:1px solid transparent}.hero-secondary:hover{border-color:var(--muted)}.hero-secondary span{font-size:16px}.hero-signature{display:flex;align-items:center;gap:13px;margin-top:auto;padding-top:35px}.hero-signature img{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:center 13%;border:1px solid #d6dbda}.hero-signature strong{display:block;font-size:12px;font-weight:600;margin-bottom:2px}.hero-signature div>span{display:block;font-size:9px;color:var(--muted)}.hero-signature a{display:block;font-size:8px;letter-spacing:.01em;color:var(--muted)}.hero-signature a:hover{text-decoration:underline}.hero-visual{position:relative;min-width:0;overflow:hidden;min-height:635px;background:#d3dce2}.hero-visual>img{height:100%;width:100%;position:absolute;object-fit:cover;object-position:center 66%}.hero-image-top{position:absolute;top:25px;left:25px;right:25px;display:flex;align-items:center;justify-content:flex-end;text-align:right;gap:12px;font-size:9px;line-height:1.5;letter-spacing:.05em;color:var(--navy)}.image-mark{height:40px;width:40px;border:1px solid #172e4050;display:grid;place-items:center;border-radius:50%;font-size:23px;flex-shrink:0;background:url(assets/td-monogramme-bleu.svg) center/68% auto no-repeat}.scope-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:12px}.scope-inner{min-height:77px;display:flex;align-items:center;justify-content:space-between;gap:25px}.scope-inner>span:first-child{font-size:12px;color:var(--muted)}.scope-inner strong{color:var(--ink);font-weight:500}.scope-inner>span:last-child{font-size:9px;letter-spacing:.13em;display:flex;align-items:center;gap:26px}.scope-inner i{font-size:14px;color:var(--gold);font-style:normal}
.section-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:42px}.section-intro h2{margin-top:20px}.section-intro>p{max-width:350px;font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:3px}.project-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.project-tab{text-align:left;display:block;border:1px solid #ced4d4;background:transparent;padding:25px 28px 26px;min-width:0;transition:background .2s,color .2s}.tab-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:29px}.tab-top>span{font-size:10px;letter-spacing:.06em;opacity:.65}.tab-top svg{height:29px;width:29px;stroke:currentColor;stroke-width:1.15}.tab-title{display:flex;justify-content:space-between;align-items:center;gap:8px;font-family:var(--serif);font-size:clamp(26px,2.25vw,32px);line-height:1.2;letter-spacing:-.025em}.tab-title>span{font-family:var(--sans);font-size:22px;flex-shrink:0}.tab-description{display:block;font-size:11px;margin-top:9px;opacity:.75}.project-tab[aria-selected=true]{background:var(--navy);color:#fff;border-color:var(--navy)}.project-tab[aria-selected=true] .tab-top svg{color:var(--gold)}.project-tab:hover:not([aria-selected=true]){background:var(--blue)}.project-panel{display:grid;grid-template-columns:1fr 1fr;gap:13%;padding:46px 28px 0}.pill{display:inline-block;background:#e7eceb;color:#49606f;font-size:8px;letter-spacing:.1em;line-height:1.5;padding:7px 11px}.panel-copy h3{margin-top:20px;font-size:37px}.panel-copy>p{font-size:13px;line-height:1.85;color:var(--muted);max-width:390px;margin-top:18px}.panel-copy .text-link{margin-top:19px}.panel-steps{list-style:none;margin:0;padding:0}.panel-steps li{display:flex;align-items:flex-start;gap:22px;padding:20px 0;border-bottom:1px solid var(--line)}.panel-steps li:first-child{padding-top:4px}.panel-steps li>span{font-size:10px;color:var(--gold);padding-top:3px}.panel-steps h4{font-size:13px;font-weight:550}.panel-steps p{font-size:12px;color:var(--muted);line-height:1.8;max-width:340px;margin-top:5px}
.about{background:var(--blue);overflow:hidden}.about-grid{display:grid;grid-template-columns:.9fr 1fr;gap:13%;align-items:center}.portrait-composition{position:relative;padding:24px 36px 0 0}.portrait-frame{position:relative;background:#fff;z-index:2}.portrait-frame:before{content:'';position:absolute;left:-21px;top:-21px;width:50%;height:50%;border-left:1px solid var(--gold);border-top:1px solid var(--gold)}.portrait-frame img{width:100%;height:auto;object-fit:cover}.portrait-decoration{position:absolute;bottom:10px;right:-29px;font-family:var(--serif);font-size:150px;width:1.24em;height:1em;opacity:.18;background:url(assets/td-monogramme-bleu.svg) center/contain no-repeat;line-height:1;z-index:1}.portrait-caption{position:relative;z-index:3;margin:0 0 0 25px;padding:20px 24px;background:var(--navy);color:var(--cream);display:flex;flex-direction:column;gap:4px}.portrait-caption>span:first-child{font-size:11px;letter-spacing:.11em}.portrait-caption>span:last-child{font-size:10px;color:#c9d4da}.about-copy .eyebrow{margin-bottom:22px}.about h2 em{color:#65808a}.about-transparency{font-family:var(--serif);font-size:clamp(25px,2.5vw,35px);line-height:1.3;margin-top:12px;color:var(--navy)}.about-lead{font-size:17px;line-height:1.7;margin:25px 0 17px;max-width:440px}.about-copy>p:not(.eyebrow):not(.about-lead):not(.about-transparency){font-size:13px;color:#546773;line-height:1.9;max-width:440px}.about-values{margin:25px 0 23px}.about-values>div{display:flex;align-items:flex-start;gap:16px;margin-top:18px}.about-values>div>span{width:27px;height:27px;border:1px solid #aec0c7;display:grid;place-items:center;border-radius:50%;flex-shrink:0;margin-top:3px;font-size:17px}.about-values p{font-size:11px;color:#586d77;line-height:1.8}.about-values strong{font-size:12px;color:var(--ink);font-weight:550}
.listings{display:grid;grid-template-columns:1.06fr 1fr;gap:9%;align-items:center}.listing-photo{height:450px;position:relative;overflow:hidden;background:var(--sand)}.listing-photo img{width:100%;height:100%;object-fit:cover;object-position:center 80%}.photo-location-label{position:absolute;left:20px;bottom:20px;max-width:calc(100% - 40px);background:var(--cream);color:var(--navy);padding:8px 13px;font-size:8px;font-weight:400;line-height:1.6;letter-spacing:.12em;text-transform:uppercase}.listing-copy h2{margin-top:22px}.listing-copy>p{font-size:13px;line-height:1.85;color:var(--muted);margin:22px 0 25px;max-width:390px}.listing-copy .button{font-size:12px}.area-label{font-size:9px;letter-spacing:.14em;margin-top:34px}.area-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:13px}.area-tags span{border:1px solid #ccd3d3;font-size:9px;line-height:1.4;padding:6px 9px}.listing-copy>.area-note{font-size:10px;margin-top:12px;margin-bottom:0}
.faq{padding-top:25px;display:grid;grid-template-columns:.9fr 1fr;gap:13%;border-top:1px solid var(--line);padding-top:65px}.faq-intro h2{margin-top:20px;font-size:48px}.faq-intro h2 em{color:#697d89}.faq-intro .text-link{margin-top:27px;font-size:11px}.faq-list details{padding:19px 0;border-bottom:1px solid var(--line)}.faq-list details:first-child{padding-top:0}.faq-list summary{list-style:none;cursor:pointer;font-size:12px;font-weight:550;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:30px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font-size:24px;font-weight:300;transition:transform .2s}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details p{font-size:12px;line-height:1.9;color:var(--muted);padding:15px 35px 0 0}.faq-list .text-link{font-size:10px;margin:13px 0 0}
.contact{background:var(--navy);color:var(--cream)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:11%}.contact .eyebrow{color:#b8c8d0}.contact h2{margin-top:22px}.contact h2 em{color:#adc3cd}.contact-copy>p:not(.eyebrow){font-size:13px;line-height:1.8;color:#b7c7d0;max-width:325px;margin-top:24px}.contact-phone{display:flex;align-items:center;gap:35px;font-size:30px;letter-spacing:-.03em;margin-top:30px;font-weight:400}.contact-phone span{font-size:27px;color:#a4bac7}.contact-email{display:inline-flex;align-items:center;gap:25px;font-size:13px;color:#c3d1d8;border-bottom:1px solid #ffffff40;padding-bottom:6px;margin-top:3px}.contact-brand{margin-top:37px;display:flex;flex-direction:column;line-height:1.8}.contact-brand strong{font-size:14px;font-weight:500;margin-bottom:2px}.contact-brand span{font-size:10px;color:#adbfcb}.social-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}.social-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 13px;border:1px solid #ffffff40;color:var(--cream);font-size:11px;line-height:1.5;transition:background .2s,border-color .2s}.social-link svg{width:17px;height:17px;flex-shrink:0;color:var(--gold)}.social-arrow{font-size:14px;margin-left:5px;color:#b8c8d0}.social-link:hover{background:#ffffff0d;border-color:var(--gold)}.social-links--footer{margin-top:16px;gap:8px}.social-links--footer .social-link{color:var(--navy);border-color:#b7935966;font-size:10px;padding-inline:10px}.social-links--footer .social-arrow{color:var(--muted)}.social-links--footer .social-link:hover{background:#b7935912;border-color:var(--gold)}.contact-form{background:#ffffff08;border:1px solid #ffffff26;padding:32px;align-self:start}.contact-form h3{font-size:28px;margin-bottom:28px;letter-spacing:-.025em}.contact-form fieldset{border:0;padding:0;margin:0 0 25px;min-width:0}.contact-form legend,.contact-form>label,.form-row>label{font-size:10px;font-weight:500;display:block;letter-spacing:.01em}.contact-form legend{margin-bottom:12px}.interest-options{display:flex;flex-wrap:wrap;gap:7px}.interest-options label{position:relative;font-size:10px}.interest-options input{position:absolute;opacity:0;left:8px;top:8px}.interest-options span{display:block;padding:8px 12px;border:1px solid #6d8290;cursor:pointer;transition:background .2s}.interest-options input:checked+span{background:#e3e9e9;color:var(--navy);border-color:#e3e9e9}.interest-options input:focus-visible+span{outline:2px solid #d9bd7f;outline-offset:3px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px}.contact-form label>span{font-size:9px;font-weight:400;color:#9fb4c1}.contact-form input:not([type=radio]):not([type=checkbox]),.contact-form textarea{background:none;border:0;border-bottom:1px solid #6d8290;color:#fff;display:block;width:100%;border-radius:0;margin-top:10px;padding:8px 0;font-size:12px;font-weight:400;letter-spacing:0;min-width:0}.contact-form textarea{resize:vertical;min-height:82px;max-height:300px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#a2b3bd;opacity:1}.contact-form .form-consent{display:flex;align-items:flex-start;gap:11px;margin:22px 0;cursor:pointer;letter-spacing:0}.contact-form .form-consent input{flex:0 0 18px;width:18px;height:18px;margin:2px 0 0;accent-color:var(--gold);cursor:pointer}.contact-form .form-consent>span{font-size:11px;line-height:1.7;font-weight:400;color:#d7e0e5;overflow-wrap:anywhere}.contact-form .form-consent input:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.contact-form .form-consent:has(input:disabled){cursor:wait}.form-note{font-size:9px;color:#afc1cd;line-height:1.8;margin:20px 0}.light{background:#f2f2ed;color:var(--navy);width:100%;font-size:12px}.light .button-arrow{border-color:#172e4040}.light:hover{background:#dce7ec}#contact-form{min-width:0}.form-status{border-top:1px solid #ffffff36;margin-top:24px;padding-top:18px;font-size:12px;color:var(--cream);line-height:1.8;overflow-wrap:anywhere}.form-status a{color:var(--cream);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}.form-status--error{color:#ffb4a9}.contact-form .button:disabled{cursor:default;opacity:.65;transform:none}.contact-form input:not([type=radio]):not([type=checkbox]):focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.site-footer{padding-top:55px}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding-bottom:40px}.footer-name{font-family:var(--serif);font-size:27px;letter-spacing:-.03em;align-self:start}.footer-name>span{display:block;font-family:var(--sans);letter-spacing:0;font-size:11px;color:var(--muted);margin-top:5px}.footer-agency{display:flex;flex-direction:column;gap:3px;font-size:9px;color:var(--muted)}.footer-agency strong{font-weight:600;color:var(--ink);font-size:11px;letter-spacing:.09em}.footer-agency>span:nth-child(3){margin-top:7px}.footer-agency a{margin-top:5px}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:10px;padding-top:1px}.footer-links a:hover,.footer-links button:hover{text-decoration:underline}.footer-links button{border:0;background:transparent;padding:0;font:inherit}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:65px;border-top:1px solid var(--line);font-size:8px;color:var(--muted)}.footer-bottom>span:nth-child(2){font-size:7px;letter-spacing:.13em}.footer-bottom a{font-size:9px}dialog{max-width:620px;width:calc(100% - 40px);border:0;background:var(--cream);color:var(--ink);padding:48px;box-shadow:0 20px 100px #0003}dialog::backdrop{background:#172e40b3;backdrop-filter:blur(3px)}dialog h2{font-size:37px;margin:16px 0 22px}dialog p:not(.eyebrow){font-size:13px;line-height:1.8;margin-top:15px}dialog a{text-decoration:underline;overflow-wrap:anywhere}.dialog-close{position:absolute;right:15px;top:10px;padding:0 8px;border:0;background:none;font-size:30px;font-weight:300}
@media(min-width:1600px){.hero{min-height:790px}.hero-visual{min-height:700px}.hero-copy{padding-top:50px}}
@media(max-width:1100px){.project-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.wrap,.header-inner{width:calc(100% - 72px)}.header-inner{gap:22px}.desktop-nav{gap:20px}.hero{gap:5%;min-height:650px}.hero-visual{min-height:570px}h1{font-size:clamp(62px,7.2vw,85px)}.hero-copy{padding-top:20px}.hero-description{font-size:16px}.hero-signature div>span{max-width:220px}.hero-signature a{font-size:8px}.hero-signature img{width:47px;height:47px}.scope-inner>span:last-child{gap:15px;font-size:8px}.project-panel{gap:8%;padding-inline:10px}.about-grid{gap:9%}.portrait-composition{padding-right:20px}.contact-grid{gap:7%}.contact-form{padding:25px}.contact-form h3{font-size:25px}.form-row{gap:13px}.interest-options{gap:5px}.interest-options span{padding:7px 9px}.section{padding-top:85px;padding-bottom:85px}.listings{gap:7%}.faq{padding-top:55px;gap:9%}}
@media(max-width:960px){.desktop-nav{display:none}.header-cta{margin-left:auto;border-left:0;padding-left:0;gap:15px;font-size:11px}.header-cta span{font-size:22px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:32px;height:40px;background:none;border:0;padding:4px}.menu-toggle span{display:block;height:1px;background:var(--navy);width:23px;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav:not([hidden]){display:flex;flex-direction:column;padding:10px 22px 22px;border-top:1px solid var(--line)}.mobile-nav a{padding:12px 0;font-size:14px;border-bottom:1px solid var(--line)}}
@media(max-width:800px){html{scroll-padding-top:88px}.wrap,.header-inner{width:calc(100% - 44px)}.header-inner{height:83px;gap:20px}.monogram{font-size:34px;width:49px;height:45px;letter-spacing:-5px;padding-right:10px}.monogram{background-size:calc(100% - 10px) auto}.wordmark{gap:12px}.wordmark-name{font-size:12px}.wordmark-role{font-size:9px;padding-top:5px}.hero{padding-top:28px;padding-bottom:32px;gap:4%;min-height:580px;grid-template-columns:1.07fr 1fr}.hero-copy{padding-top:12px}.hero .eyebrow{font-size:8px;letter-spacing:.1em;gap:8px}.tiny-line{width:16px}h1{font-size:clamp(48px,7.8vw,64px);margin-top:27px}.hero-description{font-size:14px}.hero-copy>.button{font-size:11px;padding-left:16px;gap:12px;min-height:52px;margin-top:23px}.button-arrow{width:31px;height:31px}.hero-secondary{font-size:9px;gap:8px}.hero-signature{gap:9px;padding-top:30px}.hero-signature img{width:40px;height:40px}.hero-signature strong{font-size:10px}.hero-signature div>span{font-size:8px;max-width:180px}.hero-signature a{font-size:7px}.hero-visual{min-height:520px}.hero-image-top{top:16px;left:16px;right:16px;gap:9px;font-size:7px}.image-mark{height:31px;width:31px;font-size:20px}.scope-inner{min-height:67px}.scope-inner>span:first-child{font-size:10px}.scope-inner>span:last-child{font-size:7px;gap:10px}.scope-inner i{font-size:11px}.section{padding-top:70px;padding-bottom:70px}.section-intro{gap:25px}.section-intro>p{max-width:265px;font-size:12px}h2{font-size:42px}.project-tabs{gap:10px}.project-tab{padding:20px 18px;min-height:178px}.tab-title{font-size:29px}.tab-top{margin-bottom:20px}.tab-description{font-size:10px}.project-panel{padding-top:35px;gap:7%}.panel-copy h3{font-size:31px}.panel-copy>p{font-size:12px}.panel-copy .text-link{font-size:11px}.panel-steps li{gap:15px}.panel-steps h4{font-size:12px}.panel-steps p{font-size:11px}.about-grid{gap:8%;grid-template-columns:.95fr 1fr}.portrait-composition{padding:20px 10px 0 0}.portrait-frame:before{top:-14px;left:-14px}.portrait-caption{margin-left:12px;padding:16px}.portrait-caption>span:first-child{font-size:9px}.portrait-caption>span:last-child{font-size:8px}.portrait-decoration{font-size:100px;right:-12px}.about-lead{font-size:15px;margin-top:20px}.about-copy>p:not(.eyebrow):not(.about-lead):not(.about-transparency){font-size:12px}.about-values{margin-top:20px}.about-values>div{gap:11px}.about-values strong{font-size:11px}.about-values p{font-size:10px}.about-copy .text-link{font-size:11px}.listings{gap:7%}.listing-photo{height:420px}.listing-copy .button{font-size:10px;gap:10px;padding-left:15px}.listing-copy>p{font-size:12px}.area-tags{gap:5px}.area-tags span{font-size:8px}.faq{padding-top:45px;gap:7%}.faq-intro h2{font-size:37px}.faq-list summary{font-size:11px}.faq-list details p{font-size:11px}.contact-grid{gap:5%}.contact-copy>p:not(.eyebrow){font-size:12px}.contact-phone{font-size:26px;gap:20px}.contact-email{font-size:11px;gap:15px}.contact-form{padding:22px}.contact-form h3{font-size:25px}.form-row{grid-template-columns:1fr;gap:22px}.contact .form-note{font-size:8px}.footer-top{gap:25px;grid-template-columns:1.2fr 1fr 1fr}.footer-name{font-size:24px}.footer-agency strong{font-size:9px}.footer-links{font-size:9px}.footer-bottom>span:nth-child(2){display:none}}
@media(max-width:600px){.wrap,.header-inner{width:calc(100% - 40px)}.header-inner{height:78px;gap:16px}.header-cta{font-size:10px;gap:10px}.wordmark-name{font-size:11px}.wordmark-role{font-size:8.5px;padding-top:4px}.wordmark{gap:10px}.hero{display:flex;flex-direction:column;gap:30px;padding-top:28px;padding-bottom:25px;min-height:0}.hero-copy{padding-top:0}.hero .eyebrow{font-size:9px;letter-spacing:.12em}.tiny-line{width:21px}h1{font-size:clamp(56px,14vw,83px);line-height:1.02;margin-top:27px;letter-spacing:-.04em}.hero-description{font-size:15px;line-height:1.7;margin-top:22px}.desktop-break{display:none}.hero-copy>.button{margin-top:24px;min-height:56px;padding-left:20px;gap:25px;font-size:12px}.hero-secondary{font-size:10px;margin-top:16px;gap:18px}.hero-signature{margin-top:27px;padding-top:21px;border-top:1px solid var(--line);width:100%;gap:12px}.hero-signature img{width:46px;height:46px}.hero-signature strong{font-size:11px}.hero-signature div>span{font-size:9px;max-width:none}.hero-signature a{font-size:8px}.hero-visual{height:380px;min-height:0;width:100%}.hero-visual>img{object-position:center 60%}.hero-image-top{font-size:8px;top:18px;left:18px;right:18px}.image-mark{width:35px;height:35px}.scope-band{margin-top:0}.scope-inner{flex-direction:column;gap:9px;padding-block:18px;align-items:flex-start;min-height:0}.scope-inner>span:first-child{font-size:11px}.scope-inner>span:last-child{font-size:7px;gap:19px}.scope-inner i{font-size:12px}.section{padding-block:58px}.eyebrow{font-size:9px}h2{font-size:40px}.section-intro{display:block;margin-bottom:28px}.section-intro h2{margin-top:16px}.section-intro>p{margin-top:20px;max-width:100%;font-size:12px}.project-tabs{gap:7px}.project-tab{padding:15px 10px;min-height:145px}.tab-top{margin-bottom:22px}.tab-top>span{font-size:8px}.tab-top svg{width:23px;height:23px}.tab-title{font-size:22px;letter-spacing:-.03em}.tab-title>span{font-size:15px}.tab-description{font-size:8px;margin-top:8px;line-height:1.5;min-height:24px}.project-panel{grid-template-columns:1fr;padding:30px 0 0;gap:28px}.panel-copy h3{font-size:34px;margin-top:15px}.panel-copy>p{max-width:100%;font-size:12px}.panel-copy .text-link{font-size:11px;margin-top:15px}.pill{font-size:7px}.panel-steps{border-top:1px solid var(--line)}.panel-steps li,.panel-steps li:first-child{padding:18px 0;gap:20px}.panel-steps h4{font-size:12px}.panel-steps p{max-width:100%;font-size:11px}.about-grid{display:flex;flex-direction:column;gap:38px}.portrait-composition{width:100%;max-width:360px;padding:15px 28px 0 8px;align-self:center}.portrait-frame img{max-height:395px;object-fit:cover;object-position:top}.portrait-frame:before{left:-13px;top:-13px}.portrait-caption{margin-left:22px;padding:18px 20px}.portrait-caption>span:first-child{font-size:10px}.portrait-caption>span:last-child{font-size:9px}.portrait-decoration{font-size:110px;right:-4px;bottom:0}.about-copy{width:100%}.about-copy .eyebrow{margin-bottom:18px}.about h2{font-size:45px}.about-lead{max-width:100%;font-size:16px}.about-copy>p:not(.eyebrow):not(.about-lead):not(.about-transparency){max-width:100%;font-size:12px}.about-values{margin-block:23px}.about-values strong{font-size:12px}.about-values p{font-size:11px}.about-values>div{gap:15px}.listings{display:flex;flex-direction:column;gap:30px;align-items:stretch}.listing-photo{height:300px}.listing-photo img{object-position:center 62%}.listing-copy h2{margin-top:18px}.listing-copy>p{max-width:100%;font-size:12px;margin-block:18px 23px}.listing-copy .button{font-size:11px;padding-left:18px;gap:18px}.area-label{margin-top:27px}.area-tags span{font-size:9px}.listing-copy>.area-note{font-size:10px}.faq{display:flex;flex-direction:column;gap:33px;padding-top:40px}.faq-intro h2{font-size:38px}.faq-intro .text-link{margin-top:20px}.faq-list summary{font-size:12px;gap:15px}.faq-list details p{font-size:12px;padding-right:20px}.faq-list details{padding-block:17px}.contact-grid{grid-template-columns:1fr;gap:34px}.contact h2{font-size:44px;margin-top:18px}.contact-copy>p:not(.eyebrow){max-width:100%;font-size:12px;margin-top:20px}.contact-phone{font-size:30px;margin-top:25px}.contact-email{font-size:13px}.contact-brand{margin-top:25px}.contact-form{padding:25px 21px}.contact-form h3{font-size:28px}.contact-form legend,.contact-form>label,.form-row>label{font-size:11px}.interest-options{gap:7px}.interest-options span{padding:8px 10px;font-size:10px}.contact-form input:not([type=radio]):not([type=checkbox]),.contact-form textarea{font-size:16px}.contact .form-note{font-size:10px}.contact-form .light{min-height:57px;font-size:12px}.site-footer{padding-top:38px}.footer-top{grid-template-columns:1fr 1fr;gap:28px 20px;padding-bottom:28px}.footer-name{grid-column:1/-1;font-size:27px}.footer-name>span{font-size:11px}.footer-agency{font-size:9px}.footer-agency strong{font-size:10px}.footer-links{font-size:9px;gap:12px}.footer-bottom{font-size:7px;gap:20px;min-height:65px}.footer-bottom a{font-size:8px;white-space:nowrap}dialog{padding:36px 25px}dialog h2{font-size:30px}dialog p:not(.eyebrow){font-size:12px}}
.footer-name{display:block}.footer-name>.footer-role{color:var(--navy);font-size:11px;line-height:1.65;max-width:290px;margin-top:8px}.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-style:normal;font-size:11px;margin-top:16px;overflow-wrap:anywhere}.footer-contact a:hover{text-decoration:underline;text-underline-offset:3px}.footer-links button{text-align:left}.form-privacy-note{font-size:10px;line-height:1.75;color:#c6d5dd;margin:20px 0 0}.form-privacy-note button{padding:0;border:0;background:none;color:var(--cream);font-size:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--gold)}dialog{max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain}.privacy-dialog{max-width:720px}.privacy-dialog h3{font-size:23px;line-height:1.25;margin-top:30px;letter-spacing:-.02em}.privacy-dialog .privacy-date{font-size:10px;color:var(--muted);margin-top:-7px}.privacy-contact{display:flex;flex-direction:column;align-items:flex-start;gap:7px;font-style:normal;font-size:13px;line-height:1.7;border-left:2px solid var(--gold);padding:3px 0 3px 18px;margin-top:18px;overflow-wrap:anywhere}.privacy-contact strong{font-weight:600}.dialog-done{margin-top:30px;padding:10px 22px;background:var(--navy);border:1px solid var(--navy);color:var(--cream);font-size:12px}.dialog-done:hover{background:#26485f}@media(max-width:600px){.footer-identity{grid-column:1/-1}.footer-name>.footer-role{max-width:100%;font-size:11px}.footer-contact{font-size:12px;margin-top:14px}.privacy-dialog h3{font-size:22px}.privacy-contact{font-size:12px}.form-privacy-note{font-size:11px}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.reviews{background:var(--sand);border-block:1px solid var(--line)}.reviews-intro{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:end;margin-bottom:40px}.reviews h2{margin-top:20px}.reviews h2 em{color:var(--muted)}.reviews-context>p{max-width:390px;font-size:14px;line-height:1.85;color:var(--muted)}.reviews-context .text-link{margin-top:18px;font-size:12px}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.review-card{display:flex;flex-direction:column;min-width:0;background:var(--cream);border:1px solid #c8c9c2;border-top:2px solid var(--gold);padding:30px}.review-stars{font-size:16px;letter-spacing:.14em;color:#89682f;line-height:1}.review-card blockquote{margin:25px 0 30px;flex:1}.review-card blockquote p{font-family:var(--serif);font-size:25px;line-height:1.4;letter-spacing:-.015em}.review-card figcaption{padding-top:20px;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;gap:6px}.review-card figcaption strong{font-size:12px;font-weight:600}.review-card figcaption a{font-size:11px;color:var(--muted);display:inline-flex;align-items:center;gap:14px}.review-card figcaption a:hover{text-decoration:underline;text-underline-offset:3px}.reviews-note{margin-top:18px;font-size:10px;color:var(--muted);line-height:1.7}
@media(max-width:800px){.reviews-intro{gap:7%}.review-grid{gap:12px}.review-card{padding:22px}.review-card blockquote p{font-size:22px}.reviews-context>p{font-size:12px}.reviews-context .text-link{font-size:11px;gap:16px}}
@media(max-width:600px){.reviews-intro{grid-template-columns:1fr;gap:24px;margin-bottom:28px}.reviews h2{font-size:42px;margin-top:16px}.reviews-context>p{max-width:100%}.review-grid{grid-template-columns:1fr;gap:14px}.review-card{padding:25px}.review-card blockquote{margin:20px 0 24px}.review-card blockquote p{font-size:26px}.review-card figcaption{padding-top:16px}.reviews-note{font-size:10px}}

@media(max-width:360px){.tab-title{font-size:19px}.header-inner{gap:10px}.wordmark{gap:8px}.monogram{width:40px;height:42px;padding-right:8px;background-size:calc(100% - 8px) auto}.header-cta{font-size:9px;gap:7px}.menu-toggle{width:28px;flex-shrink:0}}

/* Privacy controls share the site's navy, ivory and brass palette. */
.privacy-banner{position:fixed;right:20px;bottom:20px;z-index:45;width:min(465px,calc(100% - 40px));max-height:calc(100dvh - 40px);overflow:auto;padding:26px;background:var(--cream);color:var(--navy);border:1px solid var(--line);border-top:2px solid var(--gold);box-shadow:0 8px 35px #172e4026}.privacy-banner h2{font-size:27px;line-height:1.15;letter-spacing:-.025em}.privacy-banner p{font-size:12px;line-height:1.75;color:#546572;margin-top:12px}.consent-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.consent-actions button{flex:1 1 140px;min-height:44px;padding:10px 12px;border:1px solid var(--navy);background:var(--navy);color:var(--cream);font-size:12px;font-weight:500}.consent-actions button:hover{background:#26485f}.consent-details,.privacy-settings-link{padding:0;border:0;background:none;font-size:11px;line-height:1.7;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}.consent-details{display:block;margin-top:16px}.privacy-settings-link{font-size:inherit}.consent-dialog{max-width:650px}.consent-dialog h3{font-size:24px;line-height:1.3;margin-top:25px}.consent-dialog .consent-current{padding:12px 15px;border-left:2px solid var(--gold);background:var(--blue);color:var(--navy)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){.privacy-banner{right:12px;bottom:12px;width:calc(100% - 24px);padding:22px;max-height:calc(100dvh - 100px)}.privacy-banner h2{font-size:25px}.consent-actions{gap:8px}.consent-actions button{flex-basis:130px;font-size:11px}.consent-dialog h3{font-size:22px}}

.form-status--success{padding:22px;border:1px solid var(--gold);border-left-width:3px;background:var(--cream);color:var(--navy);font-size:15px;line-height:1.65}.form-status--success strong{display:block;font-family:var(--serif);font-size:clamp(24px,2.2vw,30px);font-weight:400;line-height:1.2;letter-spacing:-.02em}.form-status--success>span{display:block;margin-top:10px}

/* Draw arrows consistently, without platform-specific emoji fonts. */
.ui-arrow{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:-.125em;pointer-events:none}.social-link .ui-arrow{width:1em;height:1em;color:inherit}

.scope-star{display:block;width:1em;height:1em}

/* Ergonomics trial; the saved version 32 remains the rollback point. */
.panel-copy>p,.panel-steps p,.about-copy>p:not(.eyebrow):not(.about-lead):not(.about-transparency),.listing-copy>p:not(.area-note),.faq-list details p,.reviews-context>p,.contact-copy>p:not(.eyebrow){font-size:15px;line-height:1.8}
.panel-steps h4{font-size:15px}
.tab-description{font-size:12px;line-height:1.6}
.project-panel{scroll-margin-top:18px}
.text-link{font-size:14px}
.faq-list summary{min-height:44px;font-size:14px}
.faq-list .text-link,.reviews-context .text-link{font-size:13px}
.contact-form legend,.contact-form>label,.form-row>label{font-size:13px}
.contact-form label>span{font-size:12px}
.interest-options span{min-height:44px;display:flex;align-items:center;justify-content:center;padding:10px 14px;font-size:12px}
.contact-form input:not([type=radio]):not([type=checkbox]),.contact-form textarea{font-size:15px}
.contact-form .form-consent{min-height:44px}
.contact-form .form-consent input{flex-basis:22px;width:22px;height:22px}
.contact-form .form-consent>span{font-size:13px;line-height:1.7}
.form-privacy-note{font-size:12px}
.contact-email{min-height:44px}
.footer-contact a{min-height:32px;display:flex;align-items:center}
.field-error,.contact-form label>.field-error{display:block;font-size:12px;line-height:1.6;color:#ffd1c9;letter-spacing:0;font-weight:400;margin:7px 0 0}
.field-error[hidden]{display:none}
.contact-form [aria-invalid=true]{border-bottom-color:#ffd1c9!important}
.contact-form #consentement-error:not([hidden]){margin:-10px 0 22px}
:where(a,button,input,textarea,summary):focus-visible{outline:2px solid var(--navy);outline-offset:4px}
.contact :where(a,button,input,textarea):focus-visible{outline-color:#e3cfaa}
.text-link:hover,.contact-email:hover{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px}
.desktop-nav a{min-height:44px;display:inline-flex;align-items:center}
.desktop-nav a[aria-current=location]{color:var(--navy)}
.desktop-nav a[aria-current=location]:after{width:100%}
.mobile-nav a[aria-current=location]{font-weight:650;border-bottom-color:var(--gold)}
.header-cta[aria-current=location]{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px}
@media(max-width:960px){
  .menu-toggle{width:44px;height:44px;flex-shrink:0;padding:10px}
  .header-cta{min-height:44px}
  .mobile-nav a{min-height:44px;display:flex;align-items:center}
}
@media(max-width:800px){
  .panel-copy .text-link,.about-copy .text-link,.reviews-context .text-link{font-size:13px}
  .tab-description{font-size:12px}
}
@media(max-width:600px){
  .project-tab{min-height:169px;padding:18px 12px}
  .tab-top{margin-bottom:18px}
  .tab-description{min-height:38px}
  .scope-inner>span:last-child{font-size:9px;gap:clamp(8px,2.4vw,19px)}
  .hero-copy>.button,.listing-copy .button,.contact-form .light{font-size:13px}
  .hero-secondary{font-size:12px;min-height:44px}
  .contact-form legend,.contact-form>label,.form-row>label{font-size:13px}
  .interest-options span{font-size:12px;padding:10px 13px}
  .contact-form input:not([type=radio]):not([type=checkbox]),.contact-form textarea{font-size:16px}
  .faq-list summary{font-size:14px}
  .footer-contact a,.footer-links a,.footer-links button,.footer-bottom a{min-height:44px;display:flex;align-items:center}
  .footer-links{font-size:11px;gap:6px}
  .social-links--footer .social-link{font-size:12px}
  .footer-contact{font-size:13px}
  .footer-bottom{padding-block:10px}
}
@media(max-width:360px){
  .header-inner{width:calc(100% - 24px);gap:6px}
  .header-cta{gap:4px}
  .header-cta span{font-size:18px}
  .project-tab{padding-inline:10px}
  .tab-description{font-size:11px}
}

/* Static values use a brass diamond; arrows are reserved for actions. */
.about-values>div>span{border:0;border-radius:0;color:var(--gold)}.value-symbol{display:block;width:15px;height:15px}
