/* Olivier Paradis — editorial refinement, November 2026.
   Content, lead workflows and native brand artwork remain unchanged. */
:root{--cream:#f8f7f3;--paper:#fffefa;--sand:#eeeae2;--ink:#142e47;--navy:#142e47;--navy-hover:#0c2237;--clay:#80654e;--wood:#80654e;--muted:#53616b;--line:#dcdad3}
body{font-size:16px;-webkit-font-smoothing:antialiased}
.wrap{width:min(1280px,calc(100% - 112px))}
body>header{height:104px;background:var(--cream);padding-inline:max(40px,calc((100vw - 1360px)/2));gap:28px;border-bottom:1px solid var(--line);box-shadow:none}
.desktop-nav{gap:23px;font-size:12px}.desktop-nav a{padding-block:15px}.header-contact{font-size:11px;gap:16px;min-height:44px}
.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:600;color:var(--clay)}
h1,h2,h3{font-weight:450;letter-spacing:-.045em;text-wrap:balance}
h1 em,h2 em{font-style:normal;font-weight:400}
.hero{grid-template-columns:minmax(0,1.16fr) minmax(0,1fr);gap:7%;padding-block:72px 70px;align-items:center}
.hero-copy{padding-block:10px;min-width:0}.hero h1{font-size:clamp(48px,5.5vw,78px);line-height:1.14;letter-spacing:-.06em}
.hero .eyebrow{margin-bottom:30px}.hero-description{font-size:16px;line-height:1.85;max-width:490px;color:var(--muted);margin-top:28px}
.hero .button-row{margin-top:32px;gap:12px}.hero .button{font-size:11px;padding:17px 19px;min-height:54px;gap:16px}
.hero-identity{margin-top:36px}.hero-identity strong{font-size:18px;font-weight:550}.hero-identity .agency{letter-spacing:.15em}
.hero-portrait{margin:0 14px 14px 0}.hero-portrait>img{height:570px;object-position:center 30%;border-radius:2px}
.portrait-border{inset:16px -15px -15px 16px;border-color:#bba994;border-radius:2px}
.hero-portrait figcaption{left:0;right:0;bottom:0;background:#142e47;color:#fffefa;padding:23px 26px;box-shadow:none}
.hero-portrait .signature{color:#e4d4bf;font-size:32px}.vertical-note{right:-37px;letter-spacing:.2em;color:var(--muted)}
.local-strip{padding-block:26px;border-bottom:1px solid var(--line);font-size:12px}.local-strip strong{font-weight:550}
.motion-ribbon{display:none}.editorial{padding-top:110px;padding-bottom:56px;gap:12%}.editorial h2{font-size:clamp(34px,3.8vw,52px);line-height:1.2}.editorial-copy{padding-top:25px;font-size:16px;line-height:1.85}
.wide-interior img{height:490px;object-position:50% 57%}.wide-interior figcaption{background:#142e47d9;text-shadow:none;left:0;right:0;bottom:0;padding:18px 24px;letter-spacing:.15em}
.two-paths{margin-top:52px;margin-bottom:105px}.two-paths>a{padding-top:30px}.two-paths h2{font-size:clamp(32px,3.6vw,49px);line-height:1.2}.two-paths p{line-height:1.85}
.section-heading h2,.guides-preview h2{font-size:clamp(32px,3.6vw,49px);line-height:1.2}.section-heading{gap:30px}.snapshot-note{font-size:12px;max-width:850px;margin-block:25px 30px}
.property-grid{gap:30px}.property-image img{aspect-ratio:1.38}.property-card h3{font-size:22px;font-weight:500;line-height:1.35}.property-meta{margin-top:21px}.property-facts{padding-block:14px}
.image-label{padding:8px 11px;letter-spacing:.13em;background:#fffefa}.property-arrow{background:#fffefa}
.guide-cover{box-shadow:none;border-radius:2px}.guide-cover:hover{box-shadow:0 10px 25px #142e4710;transform:translateY(-2px)}
:is(.button,.floating-contact-toggle,.mobile-actions a,.gallery-prev,.gallery-next,.gallery-expand,.review-carousel-controls button){background-image:none;box-shadow:none;border-radius:2px;transition:background-color .18s,color .18s,transform .18s}
.button:hover{transform:translateY(-1px)}.button-outline{background:transparent!important;border-color:#b9c0c4!important;color:var(--ink)!important}.button-outline:hover{background:var(--sand)!important}
.text-link{font-weight:550;font-size:12px;min-height:44px;line-height:1.6}.contact-band{padding-block:64px 80px}.contact-band h2{line-height:1.2;font-size:clamp(32px,4vw,52px)}
footer{background:#eeece5;padding-top:64px}.footer-top{padding-bottom:42px}.footer-top>p{font-size:23px;line-height:1.45}.footer-call{font-size:20px}.footer-grid{padding-block:40px}.footer-bottom{font-size:11px}
.page-intro{padding-block:70px 54px}.page-intro h1{font-size:clamp(40px,5.3vw,70px);line-height:1.16}.page-intro .lead{line-height:1.85}
.demo-panel,.lead-capture,.blog-card{border-radius:2px}.blog-card{padding:32px}.blog-card h2{font-weight:500}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #80654e;outline-offset:5px}
@media(min-width:701px) and (max-width:1100px){body>header{padding-inline:28px}.wrap{width:calc(100% - 64px)}.desktop-nav{gap:16px}.hero{gap:5%;padding-top:48px}.hero h1{font-size:51px}.hero-portrait>img{height:510px}.hero .button-row{align-items:stretch;flex-direction:column}.hero .button{max-width:340px}.header-contact{display:none}}
@media(max-width:700px){
 body>header{height:83px;padding:16px 23px;gap:15px}.wrap{width:calc(100% - 44px)}
 .hero{grid-template-columns:minmax(0,1fr);gap:34px;padding-block:36px 38px}.hero-copy{padding:0}.hero .eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:24px;gap:9px}.hero h1{font-size:clamp(37px,10.2vw,57px);line-height:1.15;letter-spacing:-.055em}.hero-description{font-size:14px;line-height:1.85;margin-top:22px}.hero .button-row{margin-top:26px}.hero .button{font-size:12px;min-height:52px;padding:15px 17px;max-width:none}.hero-identity{margin-top:26px}.hero-identity strong{font-size:17px}
 .hero-portrait{margin:0 11px 12px 0}.hero-portrait>img{height:420px;object-position:center 29%}.portrait-border{inset:12px -11px -12px 11px}.hero-portrait figcaption{padding:18px 20px}.hero-portrait .signature{font-size:28px}.vertical-note{display:none}
 .local-strip{padding-block:23px;gap:18px;align-items:start}.local-strip>a{gap:12px}.editorial{padding-top:65px;padding-bottom:32px;gap:22px}.editorial h2{font-size:33px;line-height:1.22}.editorial-copy{padding-top:0;font-size:15px}.wide-interior img{height:340px}.wide-interior figcaption{padding:15px 17px;font-size:9px;gap:8px;flex-direction:column;line-height:1.65}.wide-interior figcaption span{font-size:9px}
 .two-paths{margin-block:32px 64px}.two-paths>a,.two-paths>a+a{padding:28px 0}.two-paths h2{font-size:32px}.two-paths .eyebrow{margin-bottom:20px}.two-paths p:not(.eyebrow){margin-top:19px}.two-paths .text-link{margin-top:20px}
 .section-heading h2,.guides-preview h2{font-size:33px}.property-grid{gap:35px}.property-card h3{font-size:23px}.property-section{padding-bottom:64px}.snapshot-note{margin-block:21px 25px;font-size:11px}.guides-preview{padding-block:65px;gap:24px}.contact-band{padding-block:40px 55px}.contact-band h2{font-size:33px}.footer-top>p{font-size:21px}.footer-call{font-size:19px}footer{padding:42px 22px 25px}.footer-grid{gap:28px}.footer-bottom{gap:14px;font-size:10px;flex-wrap:wrap}.page-intro{padding-block:40px}.page-intro h1{font-size:39px}.page-intro .lead{font-size:16px}
 .mobile-actions{background:#f8f7f3;border-color:var(--line);box-shadow:0 -3px 16px #142e4708}.mobile-actions a{font-size:11px;min-height:46px}.blog-card{padding:25px}
}
@media(max-width:370px){.wrap{width:calc(100% - 36px)}.hero h1{font-size:35px}.hero .eyebrow{font-size:8px}.hero-portrait>img{height:370px}.mobile-actions a{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Requested contact capsule: direct device links, no submission or tracking. */
body{padding-bottom:124px}
.floating-contact,.mobile-actions{display:none!important}
.contact-capsule{position:fixed;z-index:80;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translateX(-50%);display:grid;grid-template-columns:1fr 1fr 1.55fr;gap:5px;width:min(480px,calc(100% - 32px));padding:8px;border-radius:100px;background:#20201f;border:1px solid #46443e;box-shadow:0 8px 28px #142e4726;color:#f4f0e7}
.contact-capsule a{min-width:0;min-height:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px 7px;border-radius:100px;font-size:14px;font-weight:550;line-height:1.35;text-align:center}
.contact-capsule svg{width:25px;height:25px;flex-shrink:0}.contact-capsule a:hover{background:#353532}.contact-capsule .contact-capsule-appointment{background:#f4f0e7;color:#20201f;font-weight:650}.contact-capsule .contact-capsule-appointment:hover{background:#e8dfd0}
.contact-capsule a:focus-visible{outline:3px solid #d6b98f;outline-offset:1px}
body:has(.mobile-menu[open]) .contact-capsule,body:has(.lead-capture input:focus) .contact-capsule,body:has(.lead-capture textarea:focus) .contact-capsule,body:has(.lead-capture select:focus) .contact-capsule,.form-in-view .contact-capsule,.photo-open .contact-capsule{visibility:hidden}
@media(max-width:700px){body{padding-bottom:calc(110px + env(safe-area-inset-bottom))}.contact-capsule{bottom:calc(12px + env(safe-area-inset-bottom));width:calc(100% - 24px);max-width:440px;padding:6px;gap:2px}.contact-capsule a{min-height:65px;font-size:12px;gap:4px;padding:7px 4px}.contact-capsule svg{width:23px;height:23px}}
@media(max-width:370px){.contact-capsule a{font-size:11px;min-height:61px}.contact-capsule svg{width:21px;height:21px}}
@media print{.contact-capsule{display:none!important}body{padding-bottom:0}}
.hero-line>span,.wide-interior.revealed img{animation:none!important;transform:none!important}
/* Site-native contact, without external embeds or CRM requests. */
.native-contact{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8%;align-items:start;padding-block:15px 80px}
.native-contact-intro{padding-top:25px}.native-contact h2{font-size:clamp(32px,3.7vw,50px);line-height:1.2}.native-contact-intro>p:not(.eyebrow){font-size:15px;line-height:1.85;margin-top:25px;color:var(--muted)}.native-contact-intro .native-contact-note{font-size:12px}.native-contact-intro .text-link{margin-top:25px}
.native-contact-frame{min-width:0;padding:32px;border:1px solid var(--line);background:#f4f2ec}.site-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px}.site-contact-field{min-width:0}.site-contact-wide{grid-column:1/-1}.site-contact-field label{display:block;font-size:12px;font-weight:600;line-height:1.6;margin-bottom:9px}.site-contact-field label span{font-size:10px;font-weight:400;color:var(--muted)}.site-contact-field input,.site-contact-field textarea{display:block;width:100%;box-sizing:border-box;min-height:48px;padding:13px 12px;border:1px solid #b8bdbd;border-radius:2px;background:#fffefa;color:#142e47;font:inherit;font-size:16px}.site-contact-field textarea{resize:vertical;line-height:1.6}.site-contact-field input:focus,.site-contact-field textarea:focus{border-color:#142e47}.site-contact-disclosure,.site-contact-alternative,.site-contact-status{font-size:11px;line-height:1.8;margin-top:20px;color:var(--muted)}.site-contact-disclosure a,.site-contact-alternative a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.site-contact-status:empty{display:none}.site-contact-status{color:var(--ink)}.native-contact .button{width:100%;margin-top:22px;justify-content:space-between;min-height:54px}.native-form-in-view .contact-capsule{visibility:hidden}
@media(max-width:800px){.native-contact{grid-template-columns:minmax(0,1fr);gap:28px;padding-bottom:50px}.native-contact-intro{padding-top:0}.native-contact h2{font-size:34px}.native-contact-intro>p:not(.eyebrow){margin-top:20px}.native-contact-frame{padding:24px}}
@media(max-width:480px){.site-contact-grid{grid-template-columns:1fr;gap:20px}.native-contact-frame{padding:22px 18px}.site-contact-wide{grid-column:auto}}
/* A livelier home, using Olivier's existing imagery and verified inventory. */
.dynamic-home .hero{width:100%;max-width:none;margin:0;padding:72px max(5%,calc((100% - 1180px)/2));background:#142e47;color:#fffefa;gap:7%;overflow:hidden;position:relative;isolation:isolate}
.dynamic-home .hero::before{content:"";position:absolute;inset:auto -12% -50% 50%;width:65%;aspect-ratio:1;border:1px solid #e4d4bf30;border-radius:50%;z-index:-1}
.dynamic-home .hero h1{font-size:clamp(48px,5.6vw,82px);line-height:1.07;letter-spacing:-.045em}.dynamic-home .hero h1 em{color:#dfc7a6}.dynamic-home .hero-description,.dynamic-home .hero-identity span,.dynamic-home .hero .eyebrow{color:#e4e5e3}.dynamic-home .hero .small-line,.dynamic-home .hero .identity-line{background:#c9b697}.dynamic-home .hero-identity strong{color:#fffefa}.dynamic-home .hero .button{background:#ead8bc;color:#142e47;border-color:#ead8bc}.dynamic-home .hero .button-outline{color:#fffefa!important;border-color:#a6b2ba!important;background:transparent!important}.dynamic-home .hero .button-outline:hover{background:#28445e!important}.dynamic-home .hero .button:hover{transform:translateY(-3px)}
.dynamic-home .hero-portrait{margin:0 12px 15px 0;transform:rotate(1.5deg)}.dynamic-home .hero-portrait>img{height:560px;border-radius:160px 3px 3px 3px;object-position:center 27%}.dynamic-home .portrait-border{border-color:#c9b697;inset:18px -12px -15px 18px;border-radius:160px 3px 3px 3px}.dynamic-home .hero-portrait figcaption{background:#f0e6d6;color:#142e47;padding:22px}.dynamic-home .hero-portrait .signature{color:#72583f}.dynamic-home .vertical-note{display:none}
.dynamic-home .property-section{padding-top:75px;padding-bottom:60px}.dynamic-home .property-card{transition:transform .22s ease,box-shadow .22s ease}.dynamic-home .property-card:hover{transform:translateY(-5px)}.dynamic-home .property-image{overflow:hidden}.dynamic-home .property-image img{transition:transform .45s ease}.dynamic-home .property-card:hover .property-image img{transform:scale(1.035)}
.dynamic-home .local-strip{border-top:1px solid var(--line)}.dynamic-home .editorial{padding-top:75px}.dynamic-home .two-paths{background:#142e47;color:#fffefa;width:100%;max-width:none;padding:64px max(5%,calc((100% - 1180px)/2));margin-block:0 75px}.dynamic-home .two-paths h2,.dynamic-home .two-paths a,.dynamic-home .two-paths .eyebrow{color:#fffefa}.dynamic-home .two-paths p:not(.eyebrow){color:#d8dedf}.dynamic-home .two-paths>a{border-color:#657788}.dynamic-home .two-paths .text-link{color:#ead8bc}.dynamic-home .wide-interior{margin-bottom:65px}.dynamic-home .contact-band{border-top:1px solid var(--line)}
@keyframes dynamic-enter{from{opacity:.45;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.dynamic-enter{animation:dynamic-enter .55s ease both}}
@media(max-width:1100px) and (min-width:701px){.dynamic-home .hero{padding:55px 32px;gap:5%}.dynamic-home .hero h1{font-size:54px}.dynamic-home .hero-portrait>img{height:500px}}
@media(max-width:700px){.dynamic-home .hero{padding:44px 24px 42px;gap:38px}.dynamic-home .hero h1{font-size:clamp(39px,10.3vw,63px)}.dynamic-home .hero-description{font-size:15px}.dynamic-home .hero .button-row{flex-direction:column;align-items:stretch}.dynamic-home .hero-portrait{margin:0 9px 12px 4px;transform:rotate(1deg)}.dynamic-home .hero-portrait>img{height:420px;border-top-left-radius:110px}.dynamic-home .portrait-border{border-top-left-radius:110px}.dynamic-home .property-section{padding-top:48px;padding-bottom:40px}.dynamic-home .editorial{padding-top:48px}.dynamic-home .two-paths{padding:26px 24px;margin-bottom:48px}.dynamic-home .wide-interior{margin-bottom:35px}}
@media(prefers-reduced-motion:reduce){.dynamic-home .property-card:hover,.dynamic-home .property-card:hover img,.dynamic-home .hero .button:hover{transform:none}.dynamic-enter{animation:none}}

/* Final QA: content never depends on an intersection animation to be readable. */
.motion-ready .reveal{opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:no-preference){.revealed:not(.hero-portrait){animation:dynamic-enter .45s ease both}}
body{overflow-wrap:break-word}.catalogue-disclosure,.listing-date{font-size:12px;line-height:1.7;color:var(--muted)}

/* Focused polish: less repeated introduction, clearer mobile form access. */
.contact-form-page .page-intro{padding-block:48px 32px}
.contact-form-page .page-intro h1{font-size:clamp(38px,4.5vw,58px)}
.contact-form-page .page-intro .lead{max-width:710px;margin-top:22px}
.contact-form-page .native-contact{padding-top:10px}
.contact-form-page .native-contact h2{font-size:clamp(30px,3.2vw,43px)}
.contact-form-page .native-contact h2 em{display:block}
.contact-form-page .native-contact-intro{padding-top:16px}
.contact-form-page .native-contact-frame{border-radius:8px}
.conversion-person img{object-position:50% 22%}
@media(max-width:800px){
 .contact-form-page .page-intro{padding-block:32px 22px}
 .contact-form-page .page-intro h1{font-size:clamp(32px,7.5vw,39px)}
 .contact-form-page .native-contact{gap:22px}
 .contact-form-page .native-contact-intro{padding-top:0}
 .contact-form-page .native-contact h2{font-size:27px}
 .contact-form-page .native-contact h2 em{display:inline}
 .contact-form-page .native-contact-intro>p:not(.eyebrow){margin-top:14px}
 .contact-form-page .native-contact-intro .text-link{margin-top:12px}
}
