:root{--forest:#173a58;--forest2:#235a7f;--ink:#293845;--cream:#f6f8fb;--paper:#ffffff;--muted:#6b7c8a;--line:#d9e2eb;--terracotta:#1f74ab;--soft:#edf4fa;--sage:#dceaf6;--serif:Georgia,'Times New Roman',serif;--sans:Inter,'Avenir Next',Avenir,'Segoe UI',Arial,sans-serif;--radius:4px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.55 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input,textarea,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent }button{cursor:pointer}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #2e91c8;outline-offset:3px}img{display:block;max-width:100%}h1,h2,h3,h4,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.058em;line-height:1.065}h2{font-size:clamp(2.8rem,5vw,5.4rem)}h2 em,h1 em{color:var(--terracotta);font-weight:400}h3{line-height:1.22}strong{font-weight:700}.container{width:min(100% - 80px,1250px);margin-inline:auto}.skip-link{position:absolute;z-index:1000;left:20px;top:-120px;padding:10px;background:white}.skip-link:focus{top:20px}.announcement{background:var(--forest);color:#eef6fc;font-size:11px;letter-spacing:.085em;text-transform:uppercase}.announcement-inner{height:37px;display:flex;align-items:center;justify-content:space-between;gap:20px}.announcement a{font-size:12px;letter-spacing:.05em;font-weight:700}.announcement a span{margin-left:11px;color:#c2dfef}.tiny-circle,.label-dot{display:inline-block;width:8px;height:8px;border-radius:100%;background:var(--terracotta);margin-right:9px}.site-header{position:sticky;top:0;z-index:100;background:rgba(248,246,240,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(24,51,45,.11)}.nav-wrap{height:91px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:11px;min-width:208px}.brand-sign{display:inline-flex;align-items:center;justify-content:center;background:var(--forest);color:#f4f7fa;width:42px;height:42px;font-family:var(--serif);font-size:30px;line-height:1;letter-spacing:-.14em;padding-right:5px}.brand-name{display:inline-flex;flex-direction:column;font-size:23px;line-height:.88;letter-spacing:-.05em;font-weight:830;color:var(--forest)}.brand-dot{display:inline;color:var(--terracotta)}.brand-name small{font:600 8px/1.1 var(--sans);letter-spacing:.3em;margin-top:8px}.main-nav{display:flex;align-items:center;gap:clamp(15px,2.5vw,36px)}.main-nav a{font-size:12px;font-weight:650;transition:color .2s}.main-nav a:hover,.inline-link:hover,.text-action:hover{color:var(--terracotta)}.nav-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:29px;background:var(--forest);color:#fff;padding:14px 18px;font-size:12px;font-weight:650;white-space:nowrap;transition:background .2s,transform .2s}.nav-cta:hover,.btn.primary:hover,.btn.dark:hover{background:#285e88;transform:translateY(-2px)}.nav-cta span{font-size:21px;font-weight:400;line-height:1}.nav-toggle,.mobile-only{display:none}.eyebrow,.mini-label{font-size:11px;font-weight:700;letter-spacing:.23em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--forest2)}.eyebrow .line{height:1px;width:27px;background:var(--terracotta);display:inline-block;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:18px 22px;min-height:56px;line-height:1.18;font-size:12px;letter-spacing:.01em;font-weight:750;transition:background .2s,transform .2s;border:1px solid transparent;text-align:left}.btn span{font-size:20px;font-weight:400;line-height:1}.btn.primary{background:var(--terracotta);color:white}.btn.dark{background:var(--forest);color:white}.btn.outline{border-color:var(--forest);color:var(--forest);background:transparent}.btn.outline:hover{background:#e6f1fa}.btn.full{width:100%}.hero{background:var(--paper);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.07fr .93fr;gap:clamp(45px,5vw,80px);padding-top:45px;padding-bottom:40px;min-height:730px;align-items:center}.hero-copy{padding:18px 0 0}.hero-copy .eyebrow{margin-bottom:31px}.hero-copy h1{font-size:clamp(3.7rem,6.25vw,6.7rem);line-height:1.04;white-space:nowrap;color:var(--forest)}.hero-copy h1 em{font-style:italic}.hero-copy>p{max-width:540px;margin-top:30px;color:#627787;font-size:15px;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:34px;flex-wrap:wrap;margin-top:35px}.text-action,.inline-link{font-size:13px;font-weight:730;text-decoration:underline;text-decoration-color:#aaa79b;text-underline-offset:8px;white-space:nowrap}.text-action span,.inline-link span{margin-left:10px;font-size:18px;font-weight:400;text-decoration:none}.hero-trust{margin-top:76px;display:flex;align-items:center;gap:17px}.hero-trust-mark{font-family:var(--serif);font-size:49px;letter-spacing:-.065em;color:var(--forest);line-height:.9}.hero-trust-mark span{color:var(--terracotta);font-size:24px}.hero-trust p{font-size:10px;color:#8899a7;line-height:1.5;white-space:nowrap}.hero-trust p strong{font-size:12px;color:var(--forest)}.hero-trust-rule{height:32px;width:1px;background:#d7e1e9;margin:0 10px}.hero-art{position:relative;isolation:isolate;align-self:stretch;min-height:610px;max-height:710px;background:#7c9cb8;margin-top:2px}.hero-art>img{width:100%;height:100%;object-fit:cover}.hero-art:after{content:'';inset:18px;position:absolute;border:1px solid rgba(255,255,255,.29);pointer-events:none}.hero-art-label{position:absolute;top:36px;left:40px;color:#ffffff;letter-spacing:.2em;font-size:10px;font-weight:750;z-index:1}.hero-art-label .label-dot{background:#dceefb}.hero-float{position:absolute;right:-25px;bottom:48px;padding:25px 35px;background:var(--paper);box-shadow:0 16px 50px rgba(34,49,39,.12);display:flex;flex-direction:column;gap:0;z-index:2}.hero-float span{font-size:10px;letter-spacing:.08em;color:#697f90}.hero-float strong{font:400 65px/1.07 var(--serif);letter-spacing:-.075em;color:var(--forest)}.marquee-line{background:#eaf2f9;border-block:1px solid rgba(15,52,42,.07)}.marquee-inner{min-height:77px;display:flex;align-items:center;justify-content:space-between;gap:18px}.marquee-inner>span{font-size:10px;font-weight:750;letter-spacing:.13em;white-space:nowrap;color:#4e728b}.marquee-inner i{width:4px;height:4px;border-radius:50%;background:#247cab;flex-shrink:0}.section{padding:130px 0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,9vw,145px)}.intro-grid h2{margin-top:27px;color:var(--forest)}.intro-right{padding-top:24px;max-width:480px}.intro-right p{color:var(--muted);font-size:15px;line-height:1.9;margin-bottom:20px}.intro-right .lead{font-family:var(--serif);color:var(--forest);font-size:26px;line-height:1.4;letter-spacing:-.025em;margin-bottom:24px}.intro-right .inline-link{display:inline-flex;margin-top:22px;color:var(--forest)}.listing-section{background:#eef3f7}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:47px}.section-heading h2{margin-top:20px;color:var(--forest)}.section-intro{max-width:324px;color:#7a8c99;line-height:1.8;font-size:14px}.property-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #d7e2eb;margin-bottom:26px}.filter-tabs{display:flex;gap:26px}.filter-tabs a{padding:0 0 18px;font-size:13px;font-weight:680;color:#678395;border-bottom:2px solid transparent;white-space:nowrap}.filter-tabs a:hover,.filter-tabs a.is-selected{border-bottom-color:var(--forest);color:var(--forest)}.result-count{font-size:12px;color:#7e91a0;align-self:center;padding-bottom:15px}.filters-form{display:grid;grid-template-columns:minmax(200px,1.3fr) minmax(170px,1fr) auto;gap:12px;align-items:end;margin-bottom:35px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:11px;font-weight:650;letter-spacing:.025em;color:#627587}.field input,.field select,.field textarea{background:var(--paper);color:var(--ink);border:1px solid #d6e0e8;width:100%;padding:14px 15px;border-radius:0;min-height:48px;font-size:14px;outline-offset:2px}.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23596b60' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:calc(100% - 14px) center;padding-right:34px}.filters-form .btn{height:48px;min-height:48px}.property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.property-card{background:var(--paper);min-width:0;transition:box-shadow .2s,transform .2s}.property-card:hover{box-shadow:0 15px 40px rgba(15,52,42,.1);transform:translateY(-3px)}.property-image{display:block;position:relative;aspect-ratio:1.42;background:#d7e5f0;overflow:hidden}.property-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.property-card:hover .property-image img{transform:scale(1.035)}.property-pill{position:absolute;top:20px;left:20px;background:#ffffff;color:var(--forest);font-size:10px;font-weight:750;letter-spacing:.09em;text-transform:uppercase;padding:8px 13px}.property-arrow{position:absolute;right:20px;bottom:20px;color:var(--forest);background:#ffffff;width:35px;height:35px;display:flex;align-items:center;justify-content:center;font-size:23px}.property-info{padding:24px}.property-location{color:#3479a6;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:750}.property-info h3{font:400 24px/1.26 var(--serif);letter-spacing:-.025em;color:var(--forest);margin-top:10px;margin-bottom:17px;min-height:60px}.property-info h3 a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.property-facts{display:flex;flex-wrap:wrap;gap:8px 13px;font-size:11px;color:#8397a8;padding-bottom:22px;border-bottom:1px solid #edf2f6}.property-facts span:not(:last-child){border-right:1px solid #d5e1eb;padding-right:13px}.property-footer{padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:8px}.property-footer strong{color:var(--forest);font-size:19px;letter-spacing:-.025em}.property-footer>span{font-size:11px;color:#327fb1;white-space:nowrap}.pagination{display:flex;justify-content:center;gap:12px;margin-top:45px}.pagination a{display:grid;place-items:center;width:40px;height:40px;border:1px solid #ccddea;font-size:14px}.pagination .active,.pagination a:hover{background:var(--forest);color:white}.catalog-empty{display:flex;align-items:center;gap:28px;background:var(--paper);border:1px solid #e5edf4;padding:40px 50px;min-height:200px}.empty-icon{display:grid;place-items:center;font:400 70px var(--serif);background:#e4eef7;color:#7698b4;min-width:110px;height:110px}.catalog-empty h3{font:400 29px var(--serif);color:var(--forest);margin-bottom:8px}.catalog-empty p{color:#8193a0;max-width:620px;font-size:14px;margin-bottom:19px}.services-section{background:var(--paper)}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #e0e8f0;border-left:1px solid #e0e8f0}.service-card{padding:30px 28px 34px;border-right:1px solid #e0e8f0;border-bottom:1px solid #e0e8f0;display:flex;flex-direction:column;min-height:340px;transition:background .2s}.service-card:hover{background:#f2f6fa}.service-num{font-size:10px;letter-spacing:.14em;color:#9eabb4;font-weight:650}.service-mark{width:50px;height:50px;border:1px solid #d1e1ee;margin-top:24px;margin-bottom:23px;position:relative;display:grid;place-items:center}.service-mark span:first-child{width:18px;height:18px;border:1px solid #aac4d8;transform:rotate(45deg);position:absolute}.service-mark span:last-child{width:7px;height:7px;background:var(--terracotta);border-radius:50%;position:absolute}.service-card h3{font:400 38px/1.1 var(--serif);color:var(--forest);letter-spacing:-.04em}.service-card p{font-size:13px;line-height:1.77;color:#697e91;margin:15px 0 22px}.service-action{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:20px;border-top:1px solid #e1ebf3;font-size:11px;font-weight:700}.service-action span{font-size:19px;font-weight:400;color:#347bad}.history-band{background:var(--forest);color:#eaf1f7;padding:100px 0 105px;overflow:hidden}.history-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,8vw,145px);align-items:center}.history-giant{font:400 clamp(11rem,19vw,24rem)/.75 var(--serif);letter-spacing:-.12em;position:relative;color:#e8f1f8}.history-giant>span{color:#9fb8cf}.history-giant small{position:absolute;font:600 10px/1.7 var(--sans);letter-spacing:.17em;left:20px;bottom:-57px;color:#aabed0}.history-story{padding:30px 0}.eyebrow.light{color:#b9ccdc}.history-story h2{font-size:clamp(2.75rem,4.3vw,5rem);margin-top:22px;color:#fcf7e9}.history-story>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#b4c7b9;margin-top:24px;max-width:475px}.group-lockup{display:flex;align-items:center;gap:15px;margin-top:38px;padding-top:31px;border-top:1px solid #537065}.group-logo{font:700 45px/.8 var(--serif);letter-spacing:-.08em;color:white}.group-logo span{color:var(--terracotta)}.group-lockup>span:last-child{font-size:9px;letter-spacing:.12em;color:#b3c6b8;line-height:1.65}.group-lockup strong{font-size:12px;letter-spacing:.12em;color:white}.team-section{background:var(--cream)}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.team-card{display:grid;grid-template-columns:220px 1fr;background:var(--paper);min-height:310px}.team-image{position:relative;background:#dfe9df;overflow:hidden}.team-image img{width:100%;height:100%;object-fit:cover;object-position:top}.team-image span{position:absolute;left:17px;bottom:18px;padding:7px 10px;background:var(--forest);color:white;font-size:9px;letter-spacing:.14em;font-weight:700}.team-info{padding:32px 26px;display:flex;flex-direction:column}.team-info>p:first-child{text-transform:uppercase;font-size:10px;letter-spacing:.13em;color:#a16d54;font-weight:750}.team-info h3{font:400 30px/1.16 var(--serif);letter-spacing:-.035em;margin:12px 0;color:var(--forest)}.team-info .team-desc{font-size:12px;line-height:1.7;color:#7c8a81;margin-bottom:18px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.team-info a{margin-top:auto;font-size:12px;font-weight:700;color:var(--forest);border-top:1px solid #e5e7dc;padding-top:16px}.team-info a span{float:right;color:#ab7659}.review-section{background:#e4e9df;padding:95px 0}.review-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:70px;align-items:center}.review-grid h2{font-size:clamp(2.8rem,4.5vw,4.9rem);margin:19px 0 19px;color:var(--forest)}.review-grid p{font-size:14px;color:#698073;max-width:490px;line-height:1.8}.review-grid .inline-link{display:inline-flex;margin-top:27px}.review-score{background:#f2f6fa;padding:36px 39px;border-left:3px solid var(--terracotta)}.review-score .stars{color:#b97651;letter-spacing:6px;font-size:19px}.review-score strong{display:block;font:400 90px/1.15 var(--serif);letter-spacing:-.07em;color:var(--forest);margin:5px 0 0}.review-score strong span{font-size:31px;letter-spacing:-.04em;color:#82978a}.review-score p{color:var(--forest);font-weight:700;font-size:12px}.review-score small{display:block;color:#849286;font-size:10px;line-height:1.6;margin-top:16px;max-width:265px}.contact-section{background:var(--forest);color:white;padding:125px 0}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(50px,8vw,130px)}.contact-copy{padding-top:12px}.contact-copy h2{font-size:clamp(3.1rem,5vw,5.8rem);margin:26px 0 27px;color:#f6f4e9}.contact-copy h2 em{color:#cf9677}.contact-copy>p:not(.eyebrow):not(.contact-address){font-size:15px;line-height:1.82;color:#b8c7bc;max-width:455px}.contact-phone{display:inline-flex;align-items:center;gap:20px;font:400 34px/1.15 var(--serif);letter-spacing:-.03em;margin-top:36px;margin-bottom:27px;border-bottom:1px solid #71877c;padding-bottom:13px}.contact-phone span{font-family:var(--sans);font-size:22px;color:#d9ac92}.contact-address{font-size:13px;color:#c4d1c7;line-height:1.9}.map-link{display:inline-block;font-size:12px;color:#e3b494;text-decoration:underline;text-underline-offset:6px;margin-top:15px}.contact-panel{background:var(--paper);color:var(--forest);padding:41px 42px}.contact-panel .mini-label{color:#ae7758;font-size:10px}.contact-panel h3{font:400 36px/1.2 var(--serif);letter-spacing:-.04em;margin-top:10px}.contact-panel-header>p:last-child{font-size:13px;color:#748177;margin-top:10px}.contact-form{margin-top:30px}.contact-form .field{margin-bottom:17px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact-form textarea{resize:vertical;min-height:106px}.consent{display:flex;align-items:flex-start;gap:10px;margin:9px 0 22px;color:#697a6d;font-size:11px;line-height:1.6}.consent input{margin:3px 0 0;accent-color:var(--forest)}.consent a{text-decoration:underline}.contact-form .btn{width:100%;justify-content:space-between}.honey{position:absolute;left:-10000px;opacity:0;pointer-events:none}.form-alert{padding:12px 15px;font-size:13px;margin:20px 0}.form-alert.success{background:#dfebdd;color:#1a5432}.form-alert.error{background:#f8e1dc;color:#9e382b}.site-footer{background:#f6f8fb;padding:77px 0 27px}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.25fr;gap:35px}.footer-main>p{max-width:280px;color:#869287;font-size:12px;margin-top:24px;line-height:1.8}.footer-group{display:block;font-size:11px;color:#7c8c80;margin-top:25px}.footer-group strong{color:var(--forest);letter-spacing:.1em}.footer-grid h4{color:var(--forest);font-size:12px;letter-spacing:.05em;margin:0 0 22px}.footer-grid>div:not(:first-child)>a{display:block;font-size:12px;color:#728391;margin:0 0 12px}.footer-grid>div:not(:first-child)>a:hover{color:var(--terracotta)}.footer-grid>div:not(:first-child)>p{font-size:12px;color:#728391;line-height:1.8;margin-bottom:14px}.footer-grid small{font-size:11px;color:#879587;line-height:1.8;display:block;margin-top:15px}.footer-bottom{margin-top:70px;padding-top:24px;border-top:1px solid #e5e6dc;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:10px;color:#97a197}.footer-bottom>div{display:flex;gap:17px;flex-wrap:wrap}.footer-bottom a:hover{color:var(--forest)}.mobile-cta{display:none}
/* Property detail and legal pages */
.simple-page{padding:100px 0 135px;min-height:52vh;max-width:920px}.simple-page .eyebrow{margin-bottom:18px}.simple-page h1{font-size:clamp(3.5rem,6vw,6.7rem);color:var(--forest);margin-bottom:30px}.simple-page p{font-size:15px;line-height:1.85;margin-bottom:20px;color:#66766b}.simple-page .btn{margin-top:15px}.legal-content{max-width:780px}.legal-content .back-link{margin-bottom:35px}.legal-content a:not(.back-link):not(.btn){text-decoration:underline}.legal-warning{background:#e8eee4;border-left:3px solid #ab795e;padding:17px 20px}.back-link{display:inline-block;color:#769080;font-size:12px;font-weight:750;margin-bottom:29px}.back-link:hover{color:var(--forest)}.detail-page{padding:45px 0 120px}.detail-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:30px}.detail-heading h1{color:var(--forest);font-size:clamp(2.9rem,4.7vw,5rem);max-width:820px;margin-top:13px}.detail-location{margin-top:20px;color:#789083;font-size:13px}.detail-price{font:400 32px var(--serif);color:var(--forest);white-space:nowrap}.detail-gallery{display:grid;grid-template-columns:1fr 190px;gap:12px}.detail-gallery-main{height:520px;background:#d5e2d6}.detail-gallery-main img{width:100%;height:100%;object-fit:cover}.detail-thumbs{display:grid;grid-template-rows:repeat(4,1fr);gap:12px;min-height:0}.image-thumb{border:0;padding:0;overflow:hidden;background:#dce6dc;min-height:0;outline-offset:-4px}.image-thumb.is-active{outline:4px solid var(--terracotta);outline-offset:-4px}.image-thumb img{width:100%;height:100%;object-fit:cover}.detail-content{display:grid;grid-template-columns:1fr 345px;gap:80px;margin-top:60px}.detail-description h2{font-size:clamp(2.4rem,4vw,4rem);margin:15px 0 24px;color:var(--forest)}.feature-row{display:flex;flex-wrap:wrap;gap:20px;border-bottom:1px solid #dfe3da;padding:18px 0 24px;color:#426253;font-size:13px;font-weight:700}.body-copy{font-size:15px;line-height:1.9;color:#52685a;margin-top:28px;white-space:normal}.small-muted{margin-top:25px;font-size:12px;color:#7e9183;line-height:1.7}.detail-contact{background:#e4eae1;padding:27px 25px;height:max-content;position:sticky;top:130px}.detail-contact .mini-label{color:#8d684f}.detail-agent{display:flex;align-items:center;gap:13px;margin-top:23px}.detail-agent img{width:71px;height:82px;object-fit:cover}.detail-agent strong,.detail-agent span{display:block}.detail-agent strong{font:400 22px var(--serif);color:var(--forest)}.detail-agent span{font-size:10px;color:#8a9a8e;margin-top:5px}.detail-contact>p{font-size:13px;color:#667f6e;line-height:1.8;margin:23px 0}.detail-contact .btn{margin-bottom:11px}.subtle-link{display:block;font-size:12px;color:#8e624a;margin-top:12px;text-decoration:underline;text-underline-offset:4px}
@media(min-width:1450px){.hero-grid{min-height:790px}.hero-copy h1{font-size:6.75rem}.hero-art{max-height:730px}}
@media(max-width:1180px){.container{width:min(100% - 56px,1100px)}.main-nav{gap:15px}.main-nav a{font-size:11px}.brand{min-width:185px}.nav-cta{padding:13px;gap:13px}.hero-grid{gap:35px;min-height:680px}.hero-copy h1{font-size:clamp(3.5rem,6vw,5.5rem)}.hero-trust{gap:11px}.hero-art{min-height:565px}.hero-float{right:-10px}.services-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:305px}.team-card{grid-template-columns:180px 1fr}.team-info{padding:27px 20px}.history-giant{font-size:17vw}.detail-content{gap:35px}}
@media(max-width:900px){.container{width:min(100% - 42px,800px)}.nav-wrap{height:74px}.announcement{font-size:9px}.main-nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);box-shadow:0 15px 30px rgba(10,35,27,.12);padding:16px 25px 22px}.main-nav.is-open{display:flex}.main-nav a{font-size:15px;padding:13px 6px;border-bottom:1px solid #e8e9e0}.main-nav .mobile-only{display:block}.nav-toggle{display:flex;flex-direction:column;gap:5px;border:0;background:none;padding:8px;margin-left:auto}.nav-toggle span{display:block;width:24px;height:2px;background:var(--forest)}.nav-cta{margin-left:auto}.hero-grid{grid-template-columns:1fr 0.9fr;gap:25px;min-height:590px}.hero-copy h1{font-size:clamp(3.1rem,6.1vw,4.8rem)}.hero-copy>p{font-size:14px;margin-top:25px}.hero-actions{gap:20px}.hero-actions .btn{padding:17px}.hero-trust{margin-top:40px}.hero-trust p:last-child,.hero-trust-rule{display:none}.hero-art{min-height:520px}.marquee-inner>span:nth-of-type(n+5),.marquee-inner i:nth-of-type(n+4){display:none}.section{padding:95px 0}.intro-grid{gap:40px}.intro-right{padding:0}.intro-right .lead{font-size:22px}.section-heading h2{font-size:clamp(2.8rem,5vw,4.5rem)}.property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-grid{gap:20px}.team-card{grid-template-columns:1fr}.team-image{height:290px}.team-info{min-height:205px}.history-band{padding:85px 0}.history-grid{gap:40px}.review-grid{gap:40px}.review-score{padding:27px}.contact-grid{gap:40px}.contact-panel{padding:30px}.footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:26px}.footer-grid>div:last-child{grid-column:1 / -1}.footer-bottom{margin-top:45px}.detail-gallery{grid-template-columns:1fr 120px}.detail-gallery-main{height:460px}.detail-content{grid-template-columns:1fr 300px}}
@media(max-width:680px){html{scroll-padding-top:69px}.container{width:calc(100% - 34px)}.announcement-inner{height:33px}.announcement-inner>span{font-size:8px;letter-spacing:0}.announcement-inner a{font-size:10px}.nav-wrap{height:70px}.brand-sign{width:37px;height:37px;font-size:27px}.brand-name{font-size:21px}.brand-name small{font-size:7px}.brand{min-width:0}.nav-cta{display:none}.hero-grid{display:flex;flex-direction:column;padding-top:47px;padding-bottom:20px;gap:34px;min-height:0}.hero-copy{width:100%;padding:0}.hero-copy .eyebrow{font-size:10px;margin-bottom:22px}.hero-copy h1{font-size:clamp(3.3rem,11vw,5.6rem);white-space:normal;letter-spacing:-.065em}.hero-copy>p{margin-top:26px;line-height:1.75;font-size:14px}.hero-actions{margin-top:26px;gap:20px}.hero-actions .btn{font-size:11px}.hero-trust{margin-top:31px}.hero-trust-mark{font-size:45px}.hero-art{height:380px;width:100%;max-height:none;min-height:0;margin-bottom:12px}.hero-art>img{object-position:center 56%}.hero-float{right:12px;bottom:-17px;padding:15px 20px}.hero-float strong{font-size:42px}.hero-float span{font-size:8px}.hero-art-label{top:22px;left:22px;font-size:8px}.marquee-inner{min-height:57px;gap:10px;overflow:hidden}.marquee-inner>span{font-size:8px;letter-spacing:.07em}.marquee-inner>span:nth-of-type(n+4),.marquee-inner i:nth-of-type(n+3){display:none}.section{padding:80px 0}.intro-grid{grid-template-columns:1fr;gap:27px}.intro-grid h2{font-size:clamp(3.1rem,10vw,4.3rem);margin-top:20px}.intro-right p{font-size:14px}.intro-right .lead{font-size:23px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:clamp(2.9rem,10vw,4.6rem)}.section-intro{margin-top:24px;font-size:13px}.property-toolbar{display:block;overflow:hidden}.filter-tabs{gap:16px}.filter-tabs a{font-size:12px;padding-bottom:12px}.result-count{display:block;margin:0 0 10px}.filters-form{grid-template-columns:1fr 1fr;gap:11px}.filters-form .field:first-child{grid-column:1 / -1}.filters-form .btn{grid-column:1 / -1;width:100%}.property-grid{grid-template-columns:1fr;gap:20px}.property-image{aspect-ratio:1.45}.property-info h3{min-height:auto}.catalog-empty{padding:26px;gap:18px}.empty-icon{min-width:68px;height:68px;font-size:45px}.catalog-empty h3{font-size:25px}.services-grid{grid-template-columns:1fr 1fr}.service-card{min-height:310px;padding:22px 17px}.service-mark{margin-top:18px;margin-bottom:18px}.service-card h3{font-size:29px}.service-card p{font-size:11px}.service-action{font-size:10px}.history-band{padding:70px 0 80px}.history-grid{grid-template-columns:1fr;gap:65px}.history-giant{font-size:39vw}.history-giant small{bottom:-32px;font-size:8px;left:8px}.history-story h2{font-size:3.2rem}.team-grid{grid-template-columns:1fr;gap:20px}.team-card{grid-template-columns:125px 1fr;min-height:220px}.team-image{height:auto;min-height:220px}.team-info{padding:22px 19px;min-height:220px}.team-info h3{font-size:27px;margin:8px 0}.team-info .team-desc{font-size:11px;line-height:1.6}.team-info a{font-size:11px;padding-top:11px}.review-section{padding:72px 0}.review-grid{grid-template-columns:1fr;gap:32px}.review-grid h2{font-size:3.2rem}.review-score{max-width:none}.review-score strong{font-size:76px}.contact-section{padding:78px 0 90px}.contact-grid{grid-template-columns:1fr;gap:37px}.contact-copy h2{font-size:clamp(3.3rem,10vw,5rem)}.contact-phone{font-size:30px}.contact-panel{padding:27px 21px}.contact-panel h3{font-size:31px}.field-row{grid-template-columns:1fr;gap:0}.site-footer{padding:60px 0 105px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 20px}.footer-main{grid-column:1 / -1}.footer-grid>div:last-child{grid-column:1 / -1}.footer-bottom{display:block;margin-top:38px}.footer-bottom>div{margin-top:15px;gap:13px}.mobile-cta{display:flex;position:fixed;z-index:110;bottom:0;left:0;right:0;background:var(--paper);padding:9px 13px calc(9px + env(safe-area-inset-bottom,0px));box-shadow:0 -7px 24px rgba(15,37,28,.12);gap:8px}.mobile-cta a{display:flex;align-items:center;justify-content:center;flex:1;padding:13px 9px;font-size:12px;font-weight:750;background:#e3ebe4;color:var(--forest)}.mobile-cta a:last-child{background:var(--terracotta);color:white}.detail-page{padding:33px 0 85px}.detail-heading{display:block}.detail-heading h1{font-size:3rem}.detail-price{margin-top:18px;font-size:29px}.detail-gallery{grid-template-columns:1fr;gap:9px}.detail-gallery-main{height:330px}.detail-thumbs{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:none;height:75px;gap:8px}.detail-content{grid-template-columns:1fr;margin-top:43px;gap:30px}.detail-contact{position:static}.simple-page{padding:65px 0 100px}.simple-page h1{font-size:3.4rem}}
@media(max-width:400px){.hero-copy h1{font-size:3.15rem}.hero-actions{gap:15px}.hero-actions .btn{padding:16px 13px}.services-grid{grid-template-columns:1fr}.service-card{min-height:250px}.team-card{grid-template-columns:112px 1fr}.team-info h3{font-size:24px}.team-info{padding:20px 13px}.property-footer strong{font-size:17px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Version 1.1 — identité officielle Immobilier MOTTIN (logo fourni par l'agence). */
.site-header{background:rgba(255,255,255,.975);border-bottom-color:rgba(23,58,88,.11)}
.nav-wrap{height:118px;gap:20px}
.logo-brand{display:inline-flex;align-items:center;flex:0 0 auto;min-width:230px;max-width:240px;line-height:1}
.logo-brand img{width:228px;height:auto;display:block;object-fit:contain;object-position:left center}
.footer-brand.logo-brand{min-width:0;max-width:270px}
.footer-brand.logo-brand img{width:257px;max-width:100%;height:auto}
.nav-cta{box-shadow:0 6px 18px rgba(24,80,126,.12)}
.site-footer{border-top:1px solid #e2eaf0}
@media(max-width:1180px){.nav-wrap{height:106px;gap:14px}.logo-brand{min-width:193px;max-width:200px}.logo-brand img{width:196px}.main-nav{gap:13px}.nav-cta{padding:13px 12px;gap:10px}}
@media(max-width:900px){.nav-wrap{height:96px}.logo-brand{min-width:183px;max-width:194px}.logo-brand img{width:190px}}
@media(max-width:680px){html{scroll-padding-top:92px}.nav-wrap{height:91px}.logo-brand{min-width:0;max-width:177px}.logo-brand img{width:174px}.footer-brand.logo-brand{max-width:230px}.footer-brand.logo-brand img{width:230px}}
@media(max-width:350px){.logo-brand{max-width:161px}.logo-brand img{width:159px}}

/* v1.2 : alternate catalogue navigation when neither data source is configured. */
.empty-actions {display:flex;flex-wrap:wrap;gap:15px;margin-top:12px}
.empty-actions a {font-size:14px}
/* =====================================================================
   Immobilier MOTTIN 1.4 - typographie editoriale et pages autonomes
   Les styles 1.3 restent en place ; surcharges limitees, sans toucher
   aux images AccessiA, a la base ni a l'administration.
   ===================================================================== */
:root {
  --forest: #173a58;
  --ink: #243747;
  --muted: #677b8b;
  --cream: #f7f9fb;
  --soft: #eef3f8;
}
body {font-size: 15px; line-height: 1.65; overflow-wrap: break-word;}
.container {width: min(calc(100% - 64px), 1180px);}
h1, h2 {letter-spacing: -.038em; line-height: 1.15;}
h2 {font-size: clamp(2rem, 3.4vw, 3.8rem);}
h1 em, h2 em {font-weight: 400;}
.section {padding: 88px 0;}
.section-heading {gap: 48px; margin-bottom: 36px; align-items: end;}
.section-heading h2 {font-size: clamp(2.05rem, 3.25vw, 3.65rem); margin-top: 16px;}
.section-intro {font-size: 13px; line-height: 1.8;}
.eyebrow, .mini-label {letter-spacing: .15em; font-size: 10px;}

/* Navigation: plus delicate et jamais comprimee. */
.nav-wrap {height: 96px; gap: 22px;}
.logo-brand {min-width: 186px; max-width: 200px;}
.logo-brand img {width: 194px;}
.main-nav {gap: clamp(14px, 1.9vw, 24px);}
.main-nav a {font-size: 12px; font-weight: 600;}
.main-nav a[aria-current="page"] {color: #1f74ab;}
.nav-cta {font-size: 12px; padding: 12px 16px; gap: 12px; min-height: 46px; box-shadow: none;}
.btn {min-height: 47px; padding: 14px 19px; gap: 17px; font-size: 12px; font-weight: 650;}
.btn span {font-size: 18px;}
.text-action, .inline-link {font-size: 12px; font-weight: 650; white-space: normal;}

/* Hero: suppression du nowrap qui provoquait la troncature PC. */
.hero-grid {
  grid-template-columns: minmax(0, 1.03fr) minmax(0, .97fr);
  gap: clamp(28px, 4vw, 58px);
  min-height: 600px;
  padding-top: 40px;
  padding-bottom: 40px;
}
.hero-copy {min-width: 0; padding-top: 0;}
.hero-copy .eyebrow {margin-bottom: 22px;}
.hero-copy h1 {
  font-size: clamp(2.85rem, 4.35vw, 4.85rem);
  letter-spacing: -.044em;
  line-height: 1.12;
  white-space: normal;
  text-wrap: balance;
  max-width: 12.8ch;
  overflow-wrap: normal;
}
.hero-copy>p {font-size: 14px; line-height: 1.75; margin-top: 23px; max-width: 490px;}
.hero-actions {gap: 22px; margin-top: 26px;}
.hero-trust {margin-top: 45px; gap: 17px;}
.hero-trust-mark {font-size: 35px; letter-spacing: -.04em;}
.hero-trust p {font-size: 10px;}
.hero-art {min-width: 0; min-height: 500px; max-height: 630px; margin: 0;}
.hero-float {right: -8px; bottom: 32px; padding: 19px 25px;}
.hero-float strong {font-size: 52px;}
.hero-art-label {font-size: 9px;}
.marquee-inner {min-height: 58px;}
.marquee-inner>span {letter-spacing: .1em; font-size: 9px;}

/* Espaces, cartes et blocs de confiance moins monumentaux. */
.intro-grid {grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr); gap: clamp(35px, 6vw, 90px);}
.intro-grid h2 {font-size: clamp(2.05rem, 3.5vw, 3.65rem); line-height: 1.2;}
.intro-right {padding-top: 8px;}
.intro-right p {font-size: 14px; line-height: 1.8;}
.intro-right .lead {font-size: 21px;}
.property-grid {gap: 21px;}
.property-info {padding: 20px;}
.property-info h3 {font-size: 21px; letter-spacing: -.02em; min-height: 0; margin: 9px 0 14px; overflow-wrap: anywhere;}
.property-info h3 a {-webkit-line-clamp: unset; display: block; overflow: visible;}
.property-footer {flex-wrap: wrap; gap: 12px;}
.property-footer strong {font-size: 18px;}
.property-footer>a {font-size: 11px; font-weight: 650; color: #327fb1; white-space: nowrap;}
.property-facts {gap: 7px 11px;}
.property-facts span:not(:last-child) {padding-right: 10px;}
.service-card {min-height: 286px; padding: 26px 23px 29px;}
.service-card h3 {font-size: 29px;}
.service-card p {font-size: 12px; margin: 13px 0 18px;}
.service-mark {margin-top: 18px; margin-bottom: 17px; width: 43px; height: 43px;}
.history-band {padding: 75px 0 90px;}
.history-grid {grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 5vw, 75px);}
.history-giant {font-size: clamp(8rem, 14.2vw, 13rem); line-height: .9; letter-spacing: -.1em;}
.history-giant small {bottom: -42px;}
.history-story h2 {font-size: clamp(2rem, 3.3vw, 3.75rem);}
.history-story>p:not(.eyebrow) {font-size: 13px; color: #c1d0dc;}
.group-lockup {border-top-color: rgba(255,255,255,.18);}
.group-lockup>span:last-child {color: #c3d4e2;}
.team-card {grid-template-columns: minmax(0, 188px) minmax(0, 1fr); min-height: 275px;}
.team-info {min-width: 0; padding: 25px 21px;}
.team-info h3 {font-size: 25px; overflow-wrap: anywhere;}
.team-image {min-width: 0;}
.review-section {padding: 73px 0; background: #e9f0f6;}
.review-grid h2 {font-size: clamp(2.15rem, 3.5vw, 3.75rem);}
.review-score strong {font-size: 74px;}
.review-score strong span {font-size: 24px;}
.contact-section {padding: 90px 0;}
.contact-grid {grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(36px, 5vw, 70px);}
.contact-copy {min-width: 0;}
.contact-copy h2 {font-size: clamp(2.2rem, 3.7vw, 4.15rem);}
.contact-phone {font-size: 28px; margin-top: 22px;}
.contact-estimation-link {display:block; margin-top: 26px; font-size: 12px; text-decoration: underline; text-underline-offset: 5px; color:#b7dff7;}
.contact-panel {min-width: 0; padding: 31px 32px;}
.contact-panel h3 {font-size: 28px;}
.site-footer {padding-top: 58px;}
.footer-grid {grid-template-columns: minmax(0, 1.55fr) repeat(2, minmax(0, .85fr)) minmax(0, 1.05fr);}
.footer-bottom {margin-top: 55px;}

/* Fiche d'annonce autonome : tarifs et titres longs restent visibles. */
.detail-page {padding: 42px 0 88px;}
.detail-heading {align-items: center;}
.detail-heading > div:first-child {min-width: 0;}
.detail-heading h1 {font-size: clamp(2.05rem, 3.35vw, 3.7rem); line-height: 1.2; letter-spacing: -.035em; max-width: 760px; overflow-wrap: anywhere;}
.detail-price {font-size: 25px; flex: 0 0 auto;}
.detail-location {margin-top: 12px;}
.detail-gallery {grid-template-columns: minmax(0, 1fr) 154px;}
.detail-gallery-main {height: 470px;}
.detail-content {grid-template-columns: minmax(0, 1fr) 325px; gap: clamp(28px, 4vw, 55px); margin-top: 44px;}
.detail-description {min-width: 0; overflow-wrap: anywhere;}
.detail-description h2 {font-size: clamp(1.85rem, 3vw, 3rem);}
.detail-agent strong {font-size: 18px;}
.simple-page h1 {font-size: clamp(2.2rem, 4vw, 4rem); overflow-wrap: anywhere;}

/* Accueil = trois annonces seulement + lien vers le catalogue. */
.section-link-block {display:flex; flex-direction:column; align-items:flex-start; gap:17px;}
.section-link-block .inline-link {color: var(--forest);}
.home-catalogue-footer {display:flex; justify-content:center; align-items:center; gap:26px; flex-wrap:wrap; margin-top:35px;}
.catalogue-full {padding-top: 40px; padding-bottom: 86px; background:#f2f6fa;}

/* Catalogue /annonces.php */
.catalogue-intro {padding: 52px 0 44px; background:#fff; border-bottom:1px solid #e1e8ed;}
.catalogue-intro-grid {display:grid; grid-template-columns:minmax(0, 1.45fr) minmax(0, .55fr); gap: clamp(28px, 5vw, 75px); align-items:end;}
.catalogue-intro .back-link, .estimate-section .back-link {margin-bottom: 30px;}
.catalogue-intro h1 {font-size: clamp(2.3rem, 4vw, 4.4rem); max-width: 770px; color: var(--forest); margin: 13px 0 15px;}
.catalogue-intro-grid>div:first-child>p:last-child {color:var(--muted); font-size:14px; max-width:680px; line-height:1.8;}
.catalogue-intro-aside {display:flex; flex-direction:column; align-items:flex-start; padding:25px 0 0 24px; border-left: 1px solid #d7e2eb; gap:6px; min-width:0;}
.catalogue-intro-aside .mini-label {color:#457394; margin-bottom:7px;}
.catalogue-intro-aside strong {font:400 22px/1.3 var(--serif); color:var(--forest);}
.catalogue-intro-aside>span:nth-of-type(2) {font-size:12px; color:var(--muted);}
.catalogue-intro-aside a {font-size:12px; margin-top:17px; text-decoration:underline; text-underline-offset:5px; color:#245d82;}
.catalogue-full .filters-form {margin-top:25px;}
.catalogue-full .result-count {white-space: nowrap;}
.catalogue-full .property-toolbar {margin-bottom: 0;}
.catalogue-full .filters-form .btn {height:48px;}
.compact-cta {background:var(--forest); color:#fff; padding:60px 0;}
.compact-cta-grid {display:flex; align-items:center; justify-content:space-between; gap:40px;}
.compact-cta h2 {font-size: clamp(1.7rem, 2.8vw, 2.85rem); margin:12px 0 10px; color:#fff;}
.compact-cta p {font-size:13px; color:#c0cfdd;}
.compact-cta-grid>div:last-child {display:flex; flex-direction:column; align-items:flex-start; gap:17px; flex:0 0 auto;}
.compact-cta .inline-link {color:#e5f2fa;}

/* Page estimation /estimation.php */
.estimate-section {background:linear-gradient(118deg, #f7fafc 0%, #edf4f9 100%); padding:52px 0 100px;}
.estimate-layout {display:grid; grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(35px, 5vw, 90px); align-items:start;}
.estimate-copy {min-width:0; padding-top: 12px;}
.estimate-copy h1 {color:var(--forest); font-size:clamp(2.35rem, 4.05vw, 4.2rem); line-height:1.16; margin:18px 0 22px; max-width: 12.8ch; text-wrap:balance;}
.estimate-lead {color:#61788b; font-size:14px; line-height:1.85; max-width:460px;}
.estimate-points {border-top:1px solid #d8e3ed; margin-top:34px; max-width:460px;}
.estimate-points>div {display:flex; gap:18px; padding:18px 0; border-bottom:1px solid #d8e3ed;}
.estimate-points>div>span {color:#2c729e; font:400 20px/1.2 var(--serif); min-width:29px;}
.estimate-points p {display:flex; flex-direction:column; gap:5px;}
.estimate-points strong {font-size:13px; color:var(--forest); font-weight:650;}
.estimate-points small {font-size:12px; color:var(--muted); line-height:1.55;}
.estimate-contact {display:flex; gap:15px; align-items:center; margin-top:30px;}
.estimate-contact-avatar {width:64px; height:64px; overflow:hidden; background:#d8e7f0; border-radius:50%; flex:0 0 auto;}
.estimate-contact-avatar img {width:100%; height:100%; object-fit:cover;}
.estimate-contact>div:last-child {display:flex; flex-direction:column; gap:1px;}
.estimate-contact span {font-size:11px; color:#7793a8;}
.estimate-contact strong {font:400 19px var(--serif); color:var(--forest);}
.estimate-contact a {font-size:12px; color:#255e83;}
.estimate-panel {background:#fff; min-width:0; padding:38px 41px; box-shadow:0 15px 45px rgba(38,74,103,.065); border:1px solid #e3eaf0; scroll-margin-top:110px;}
.estimate-panel>.mini-label {color:#38779e;}
.estimate-panel h2 {font-size:clamp(1.75rem, 2.2vw, 2.5rem); color:var(--forest); margin:8px 0 8px;}
.estimate-panel-intro {font-size:13px; color:var(--muted); line-height:1.7;}
.estimate-panel .contact-form {margin-top:23px;}
.form-subtitle {font-size:11px; text-transform:uppercase; letter-spacing:.11em; color:#245477; font-weight:750; padding:18px 0 13px; border-top:1px solid #e4ebf1; margin-top:17px;}
.form-subtitle:first-of-type {border-top:0; margin-top:0; padding-top:0;}
.estimate-panel .field label {font-size:11px;}
.estimate-panel .field {margin-bottom:12px;}
.estimate-panel .field-row {gap:13px;}
.estimate-panel .field input,.estimate-panel .field select,.estimate-panel .field textarea {font-size:13px; padding:11px 12px; min-height:44px;}
.estimate-panel .field textarea {resize:vertical; min-height:84px;}
.estimate-panel .consent {font-size:11px; color:#6c8393; margin-top:12px;}
.estimate-panel .btn {justify-content:space-between;}
.form-reassurance {text-align:center; font-size:11px; color:#8596a3; margin-top:13px;}

@media (max-width:1180px) {
  .container {width:min(calc(100% - 50px), 1080px);}
  .hero-grid {min-height: 550px; gap:28px;}
  .hero-copy h1 {font-size:clamp(2.7rem, 4.35vw, 4.05rem);}
  .hero-art {min-height:470px;}
  .history-giant {font-size:15vw;}
  .team-card {grid-template-columns:145px minmax(0,1fr);}
  .team-info {padding:19px;}
  .team-info h3 {font-size:23px;}
  .footer-grid {gap:24px;}
}

@media (max-width:1040px) {
  /* Affiche un vrai menu plutot que de couper les liens du bandeau. */
  .nav-wrap {height:83px;}
  .logo-brand {min-width:178px; max-width:185px;}
  .logo-brand img {width:182px;}
  .main-nav {position:absolute; top:100%; left:0; right:0; display:none; flex-direction:column; align-items:stretch; gap:0; background:#fff; padding:14px 24px 22px; box-shadow:0 14px 30px rgba(15,40,65,.13);}
  .main-nav.is-open {display:flex;}
  .main-nav a {font-size:14px; padding:12px 8px; border-bottom:1px solid #e8edf1;}
  .main-nav .mobile-only {display:block;}
  .nav-toggle {display:flex; flex-direction:column; gap:5px; border:0; background:none; padding:8px; margin-left:auto;}
  .nav-toggle span {display:block; width:24px; height:2px; background:var(--forest);}
  .nav-cta {margin-left:auto;}
  .hero-copy h1 {font-size:clamp(2.5rem, 4.7vw, 3.8rem);}
  .hero-grid {min-height:520px;}
  .hero-trust {margin-top:29px;}
  .hero-art {min-height:430px;}
  .history-grid {gap:40px;}
  .history-story h2 {font-size:clamp(2rem, 3.3vw, 3.1rem);}
  .detail-gallery-main {height:410px;}
}

@media (max-width:850px) {
  .hero-grid {grid-template-columns:minmax(0,1fr) minmax(0,.85fr); gap:25px;}
  .hero-copy h1 {font-size:clamp(2.45rem, 5.2vw, 3.25rem); max-width:none;}
  .hero-art {min-height:410px;}
  .hero-trust p:last-child,.hero-trust-rule {display:none;}
  .intro-grid {grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px;}
  .services-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .service-card {min-height:260px;}
  .team-card {grid-template-columns:1fr;}
  .team-image {height:255px;}
  .team-info {min-height:195px;}
  .footer-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
  .footer-main {grid-column:1 / -1;}
  .contact-grid {grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:26px;}
  .contact-panel {padding:26px;}
  .detail-content {grid-template-columns:minmax(0,1fr) 265px; gap:25px;}
  .detail-gallery {grid-template-columns:minmax(0,1fr) 115px;}
  .catalogue-intro-grid {grid-template-columns:1fr; gap:25px;}
  .catalogue-intro-aside {padding:15px 0 0; border-left:0; border-top:1px solid #d7e2eb;}
  .estimate-layout {grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr); gap:24px;}
  .estimate-copy h1 {font-size:clamp(2rem, 4.3vw, 3.1rem);}
  .estimate-panel {padding:27px 25px;}
}

@media (max-width:680px) {
  .container {width:calc(100% - 34px);}
  .nav-wrap {height:82px;}
  .logo-brand {max-width:165px; min-width:0;}
  .logo-brand img {width:162px;}
  .section {padding:66px 0;}
  .section-heading h2, .intro-grid h2 {font-size:clamp(2rem, 7.6vw, 3.1rem);}
  .hero-grid {display:flex; flex-direction:column; min-height:0; gap:28px; padding-top:38px; padding-bottom:30px;}
  .hero-copy h1 {font-size:clamp(2.35rem, 8.4vw, 3.35rem); line-height:1.14; max-width:13ch; white-space:normal; letter-spacing:-.04em;}
  .hero-copy>p {font-size:13px; line-height:1.75; margin-top:20px;}
  .hero-actions {gap:17px; margin-top:23px;}
  .hero-actions .btn {padding:13px 15px;}
  .hero-trust {margin-top:28px;}
  .hero-trust-mark {font-size:29px;}
  .hero-art {height:310px; min-height:0; max-height:none; width:100%; margin:0 0 8px;}
  .hero-float {right:11px; bottom:-12px; padding:12px 17px;}
  .hero-float strong {font-size:39px;}
  .marquee-inner {min-height:50px;}
  .intro-grid {grid-template-columns:1fr; gap:22px;}
  .intro-right .lead {font-size:20px;}
  .section-heading {display:block;}
  .section-link-block {margin-top:18px;}
  .section-link-block .section-intro {margin-top:0;}
  .property-grid {grid-template-columns:1fr;}
  .property-info h3 {font-size:20px;}
  .home-catalogue-footer {align-items:stretch; flex-direction:column;}
  .home-catalogue-footer .btn {justify-content:center;}
  .service-card {min-height:250px; padding:20px;}
  .service-card h3 {font-size:28px;}
  .history-band {padding:60px 0 70px;}
  .history-grid {grid-template-columns:1fr; gap:42px;}
  .history-giant {font-size:min(32vw, 9rem);}
  .history-giant small {bottom:-24px;}
  .history-story h2 {font-size:clamp(2rem, 7.5vw, 3rem);}
  .team-card {grid-template-columns:126px minmax(0,1fr); min-height:218px;}
  .team-image {height:auto; min-height:218px;}
  .team-info {min-height:218px; padding:21px 15px;}
  .team-info h3 {font-size:22px;}
  .review-section {padding:60px 0;}
  .review-grid h2 {font-size:clamp(2.05rem, 7vw, 3.1rem);}
  .review-score strong {font-size:68px;}
  .contact-section {padding:68px 0 80px;}
  .contact-grid {grid-template-columns:1fr; gap:32px;}
  .contact-copy h2 {font-size:clamp(2.15rem, 7.9vw, 3.3rem);}
  .contact-phone {font-size:26px;}
  .contact-panel {padding:26px 22px;}
  .footer-grid {grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 15px;}
  .footer-main {grid-column:1 / -1;}
  .catalogue-intro {padding:35px 0 29px;}
  .catalogue-intro h1 {font-size:clamp(2.15rem, 7.5vw, 3.5rem);}
  .catalogue-full {padding:32px 0 65px;}
  .catalogue-intro-grid>div:first-child>p:last-child {font-size:13px;}
  .compact-cta {padding:47px 0;}
  .compact-cta-grid {flex-direction:column; align-items:flex-start; gap:25px;}
  .estimate-section {padding:35px 0 70px;}
  .estimate-layout {grid-template-columns:1fr; gap:32px;}
  .estimate-copy h1 {font-size:clamp(2.25rem, 8vw, 3.4rem); max-width:15ch;}
  .estimate-points {margin-top:22px;}
  .estimate-contact {margin-top:23px;}
  .estimate-panel {padding:28px 21px;}
  .estimate-panel h2 {font-size:clamp(1.8rem, 6vw, 2.35rem);}
  .estimate-panel .field-row {grid-template-columns:1fr; gap:0;}
  .detail-heading {display:block;}
  .detail-heading h1 {font-size:clamp(1.95rem, 7.2vw, 3rem);}
  .detail-price {margin-top:16px; font-size:27px;}
  .detail-gallery {grid-template-columns:1fr;}
  .detail-gallery-main {height:min(65vw, 380px);}
  .detail-thumbs {display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-rows:none; height:75px;}
  .detail-content {grid-template-columns:1fr; gap:28px;}
  .detail-contact {position:static;}
  .simple-page h1 {font-size:clamp(2.1rem, 8vw, 3rem);}
}
@media (max-width:400px) {
  .hero-copy h1 {font-size:clamp(2.15rem, 8.4vw, 2.7rem);}
  .service-card {min-height:230px;}
  .team-card {grid-template-columns:112px minmax(0,1fr);}
  .team-info h3 {font-size:20px;}
  .property-toolbar {overflow:visible;}
  .filter-tabs {gap:10px;}
  .filter-tabs a {font-size:11px;}
  .estimate-panel {padding:22px 16px;}
}

/* ==============================================================
   MOTTIN 1.5 – pages éditoriales + honoraires (SEO et accessibilité)
   ============================================================== */
html {scroll-behavior:smooth;}
.editorial-hero{background:linear-gradient(120deg,#f4f8fc 0%,#e9f2f9 100%);padding:48px 0 82px;}
.editorial-hero-grid{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(0,.68fr);gap:clamp(30px,5.4vw,94px);align-items:center;}
.editorial-hero-grid>div{min-width:0;}
.editorial-hero .back-link{margin-bottom:40px;}
.editorial-hero h1{font-size:clamp(2.35rem,4.05vw,4.5rem);line-height:1.15;letter-spacing:-.038em;max-width:14ch;color:var(--forest);overflow-wrap:anywhere;text-wrap:balance;margin:20px 0 25px;}
.editorial-lead{font-size:clamp(13px,1.05vw,16px);line-height:1.86;color:#526a80;max-width:640px;}
.editorial-actions{display:flex;align-items:center;flex-wrap:wrap;gap:23px;margin-top:35px;}
.editorial-actions .text-action{font-size:13px;color:#236d9d;}
.editorial-aside{align-self:stretch;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,4vw,52px);background:#173a58;color:#fff;position:relative;overflow:hidden;min-height:365px;}
.editorial-aside:before{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(255,255,255,.16);border-radius:100%;top:-130px;right:-100px;}
.editorial-aside-badge{font:400 clamp(3.2rem,6.8vw,7rem)/1 var(--serif);letter-spacing:-.05em;color:#b8d8ec;margin-bottom:35px;}
.editorial-aside-badge span{display:block;font:700 10px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#e7f0f7;margin-top:5px;}
.editorial-aside h2{font:400 clamp(1.5rem,2vw,2.2rem)/1.25 var(--serif);color:#fff;margin:10px 0 12px;}
.editorial-aside p:not(.mini-label){font-size:13px;line-height:1.8;color:#cbd9e4;}
.editorial-aside .mini-label{color:#bdd7e9;}
.editorial-aside-foot{font-size:10px;letter-spacing:.05em;color:#a8c4d6;margin-top:33px;border-top:1px solid #45657c;padding-top:17px;}
.editorial-aside-foot span{margin:0 6px;}
.editorial-section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px;}
.editorial-section-head>div{min-width:0;}
.editorial-section-head h2{font-size:clamp(2rem,3.1vw,3.25rem);color:var(--forest);margin-top:12px;letter-spacing:-.025em;}
.editorial-section-head>p{font-size:13px;line-height:1.7;color:var(--muted);max-width:290px;}
.editorial-process{background:#fff;padding:85px 0 98px;}
.editorial-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;}
.editorial-step{min-width:0;background:#f3f7fa;border:1px solid #e0e9f0;padding:31px 29px 36px;}
.editorial-step>span{font-size:10px;font-weight:750;color:#2c7ea9;letter-spacing:.08em;}
.editorial-step h3{color:var(--forest);font:400 clamp(1.4rem,2.2vw,2rem)/1.22 var(--serif);margin:35px 0 18px;}
.editorial-step p{color:#5f7486;font-size:13px;line-height:1.83;}
.editorial-local{background:#173a58;color:white;padding:86px 0;}
.editorial-local-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,120px);}
.editorial-local h2{font-size:clamp(2rem,3.2vw,3.4rem);line-height:1.2;letter-spacing:-.03em;color:white;max-width:15ch;margin-top:15px;}
.editorial-local-grid>div:last-child{padding-top:11px;}
.editorial-local-grid p:not(.eyebrow){font-size:14px;line-height:1.85;color:#c8d9e5;margin-bottom:18px;}
.editorial-local .inline-link{color:#e5f1fa;font-size:12px;display:inline-block;margin-top:12px;}
.editorial-faq{background:#f7f9fb;padding:78px 0 87px;}
.editorial-faq-list{max-width:900px;border-top:1px solid #d7e1ea;}
.editorial-faq-list details{border-bottom:1px solid #d7e1ea;}
.editorial-faq-list summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 0;font-weight:650;font-size:14px;color:#214762;}
.editorial-faq-list summary span{font-size:23px;font-weight:400;color:#4782a9;}
.editorial-faq-list details[open] summary span{transform:rotate(45deg);}
.editorial-faq-list p{color:#607688;font-size:13px;line-height:1.8;max-width:780px;padding:0 0 23px;}
.small-tariff-link{color:#276a96;font-size:12px;display:inline-block;margin-top:25px;text-decoration:underline;text-underline-offset:4px;}
.editorial-form-section{background:#e5eff7;padding:84px 0 105px;scroll-margin-top:95px;}
.editorial-form-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(34px,6vw,105px);align-items:start;}
.editorial-form-grid>div:first-child{padding-top:19px;}
.editorial-form-grid h2{font-size:clamp(2.05rem,3.6vw,3.8rem);line-height:1.18;letter-spacing:-.03em;color:var(--forest);max-width:14ch;margin:17px 0 20px;}
.editorial-form-grid>div:first-child>p:not(.eyebrow){font-size:14px;line-height:1.85;color:#637c90;max-width:440px;}
.editorial-form-grid .contact-phone{display:inline-block;color:#214d6c;}
.editorial-form-grid .small-tariff{font-size:11px!important;color:#587188;margin-top:17px;}
.editorial-form-grid .small-tariff a{color:#20587f;text-decoration:underline;text-underline-offset:3px;}
.editorial-form-card{background:#fff;border:1px solid #d7e4ee;padding:35px clamp(20px,3vw,40px);box-shadow:0 14px 45px rgba(28,75,108,.05);scroll-margin-top:110px;min-width:0;}
.editorial-form-card h3{font:400 clamp(1.6rem,2.25vw,2.2rem)/1.3 var(--serif);color:#173a58;margin:9px 0 25px;}
.editorial-form-card .contact-form .field label{font-size:12px;}
.editorial-form-card .contact-form input,.editorial-form-card .contact-form textarea{font-size:13px;}
.editorial-form-card .consent{font-size:11px;line-height:1.6;}
.detail-honoraires{margin-top:23px;}
.detail-honoraires a,.card-tariff-link{font-size:11px;color:#226b99;text-decoration:underline;text-underline-offset:4px;}
.card-tariff-link{display:inline-block;margin-top:13px;}
.fee-hero{background:linear-gradient(105deg,#f4f8fc,#eaf2f8);padding:55px 0 64px;}
.fee-hero .back-link{margin-bottom:30px;}
.fee-hero h1{font-size:clamp(2.3rem,4.25vw,4.55rem);color:var(--forest);letter-spacing:-.036em;line-height:1.16;max-width:900px;margin:20px 0 17px;}
.fee-hero>div>p:last-of-type{font-size:14px;line-height:1.84;color:#62788a;max-width:740px;}
.fee-nav{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;}
.fee-nav a{border:1px solid #b9ccdc;border-radius:3px;color:#1b5279;background:#fff;font-size:12px;font-weight:700;padding:11px 20px;}
.fee-nav a:hover{background:#dfeef8;}
.fee-content{background:white;padding:47px 0 86px;}
.fee-main{max-width:1030px;}
.fee-section{padding:45px 0 57px;border-bottom:1px solid #dae3eb;scroll-margin-top:95px;}
.fee-section h2{color:var(--forest);font-size:clamp(1.9rem,2.8vw,3rem);margin:9px 0 16px;}
.fee-section h3{color:#224e70;font:400 1.65rem var(--serif);margin:31px 0 18px;}
.fee-section>p:not(.mini-label){font-size:13px;line-height:1.85;color:#5c7284;max-width:850px;margin:10px 0 22px;}
.fee-table-scroll{max-width:100%;overflow-x:auto;}
.fee-table{border-collapse:collapse;width:100%;min-width:500px;text-align:left;font-size:13px;}
.fee-table th{background:#174261;color:#fff;font-size:12px;letter-spacing:.01em;padding:15px 19px;}
.fee-table td{border-bottom:1px solid #e4eaf0;padding:14px 19px;line-height:1.55;color:#3e576a;}
.fee-table tr:nth-child(even) td{background:#f5f8fa;}
.fee-table td strong{color:#173e5d;white-space:nowrap;}
.fee-table td small{display:block;color:#8092a2;}
.fee-note{background:#eef5fa;padding:15px 19px;border-left:3px solid #397ba7;font-size:12px!important;line-height:1.8!important;color:#48647b!important;max-width:none!important;}
.fee-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:28px 0;}
.fee-mini-grid>div{background:#f2f7fa;border:1px solid #e2eaf0;padding:22px 24px;display:flex;flex-direction:column;gap:8px;min-width:0;}
.fee-mini-grid span{font-size:11px;letter-spacing:.03em;color:#628198;}
.fee-mini-grid strong{font-size:24px;color:#194360;}
.fee-mini-grid small{color:#6e8395;font-size:11px;line-height:1.65;}
.fee-final{display:flex;justify-content:space-between;gap:40px;align-items:center;background:#174261;color:white;margin-top:54px;padding:36px 40px;}
.fee-final h2{color:white;font-size:2rem;line-height:1.2;margin-bottom:12px;}
.fee-final p{font-size:13px;line-height:1.65;color:#c9dce8;}
.fee-final>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:13px;flex-shrink:0;}
.fee-final .inline-link{color:white;font-size:12px;}
@media(max-width:1080px){.editorial-hero-grid{gap:38px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);}.editorial-aside{padding:33px;}.editorial-aside-badge{font-size:4.5rem;}.editorial-step{padding:25px 23px;}}
@media(max-width:850px){.editorial-hero-grid{grid-template-columns:1fr;}.editorial-aside{min-height:240px;}.editorial-aside-badge{margin-bottom:12px;}.editorial-local-grid,.editorial-form-grid{grid-template-columns:1fr;gap:33px;}.editorial-form-grid h2{max-width:21ch;}.editorial-step-grid{grid-template-columns:1fr;}.editorial-step{padding:23px 25px;}.editorial-step h3{margin:18px 0 9px;}.editorial-section-head{display:block;}.editorial-section-head>p{margin-top:15px;}.fee-final{flex-direction:column;align-items:flex-start;}}
@media(max-width:680px){.editorial-hero{padding:30px 0 58px;}.editorial-hero .back-link{margin-bottom:27px;}.editorial-hero h1{font-size:clamp(2.3rem,8vw,3.3rem);max-width:none;}.editorial-aside{padding:28px;min-height:225px;}.editorial-process,.editorial-faq{padding:60px 0;}.editorial-local{padding:65px 0;}.editorial-local h2{max-width:none;}.editorial-form-section{padding:60px 0 95px;}.editorial-form-card{padding:24px 21px;}.editorial-form-grid .contact-phone{font-size:24px;}.fee-hero{padding:35px 0 54px;}.fee-hero h1{font-size:clamp(2rem,8.3vw,3rem);}.fee-content{padding-top:16px;}.fee-section{padding:33px 0;}.fee-mini-grid{grid-template-columns:1fr;}.fee-table{min-width:480px;}.fee-final{padding:28px;}}
@media print{.site-header,.announcement,.mobile-cta,.fee-nav,.fee-final,.site-footer{display:none!important;}.fee-table-scroll{overflow:visible;}.fee-table{min-width:0;}.fee-section{page-break-inside:avoid;}.fee-hero,.fee-content{padding:15px 0;}.fee-hero h1{font-size:26pt;}}


/* ===============================================================
   MOTTIN v1.6 | Filtres ergonomiques annonces (desktop + mobile)
   =============================================================== */
.catalogue-full .filters-form.filter-v16{
  display:block;grid-template-columns:none;background:#fff;border:1px solid #dae5ee;
  border-radius:16px;padding:22px 24px 19px;margin:19px 0 0;
  box-shadow:0 10px 30px rgba(23,58,88,.045);max-width:none;
}
.filter-v16-main{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) minmax(0,1fr) minmax(0,.85fr);gap:14px;align-items:end;}
.catalogue-full .filter-v16 .field{min-width:0;margin:0;}
.catalogue-full .filter-v16 .field label{display:block;font-size:11px;line-height:1.35;font-weight:750;letter-spacing:.02em;color:#35526a;margin:0 0 8px;}
.catalogue-full .filter-v16 .field-unit{font-weight:500;color:#627b90;}
.catalogue-full .filter-v16 .field input,.catalogue-full .filter-v16 .field select,
.catalogue-full .filter-v16-sort select{
  display:block;width:100%;max-width:100%;min-width:0;height:47px;min-height:47px;
  border:1px solid #d6e1eb;border-radius:8px;background:#fff;color:#243e53;
  padding:10px 13px;font-size:13px;line-height:1.4;box-shadow:none;
}
.catalogue-full .filter-v16 .field input::placeholder{color:#8c9da9;opacity:1;}
.catalogue-full .filter-v16 .field input:focus,.catalogue-full .filter-v16 .field select:focus,
.catalogue-full .filter-v16-sort select:focus{border-color:#2e82b4;}
.filter-v16-more{border-bottom:1px solid #e7edf2;padding:0;margin-top:10px;}
.filter-v16-more>summary{list-style:none;cursor:pointer;display:inline-flex;gap:10px;align-items:center;
  font-size:12px;font-weight:700;color:#225e88;padding:12px 3px;user-select:none;}
.filter-v16-more>summary::-webkit-details-marker{display:none;}
.filter-v16-more>summary::before{content:'+';display:inline-flex;align-items:center;justify-content:center;
  width:19px;height:19px;border-radius:50%;background:#e6f0f7;color:#235a7f;font-size:16px;line-height:1;}
.filter-v16-more[open]>summary::before{content:'−';}
.filter-v16-more-hint{color:#8295a4;font-size:11px;font-weight:450;}
.filter-v16-extra{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:510px;padding:4px 0 17px;}
.filter-v16-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding-top:15px;flex-wrap:wrap;}
.filter-v16-sort{display:flex;align-items:center;gap:10px;min-width:0;}
.filter-v16-sort label{flex:0 0 auto;color:#586f80;font-size:12px;font-weight:650;}
.catalogue-full .filter-v16-sort select{width:auto;min-width:195px;height:43px;min-height:43px;}
.filter-v16-actions{display:flex;align-items:center;gap:18px;margin-left:auto;}
.filter-v16-reset{font-size:12px;font-weight:650;color:#4d708a;text-decoration:underline;text-underline-offset:3px;}
.filter-v16-reset:hover{color:#193e5b;}
.catalogue-full .filters-form.filter-v16 .filter-v16-submit{display:inline-flex;align-items:center;justify-content:center;
  gap:21px;min-height:45px;height:45px;padding:0 22px;white-space:nowrap;font-size:12px;border-radius:8px;}
.filter-v16-chips{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:16px 0 22px;}
.filter-v16-chips>span{font-size:11px;font-weight:650;color:#607b91;margin-right:5px;}
.filter-v16-chip{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:650;color:#225578;
  background:#e5eff7;border:1px solid #d0e2f0;border-radius:25px;min-height:31px;padding:4px 10px 4px 13px;max-width:100%;overflow-wrap:anywhere;}
.filter-v16-chip>span{font-size:16px;line-height:1;color:#326f98;}
.filter-v16-chip:hover{background:#d9e9f4;}
.catalogue-full .property-toolbar{gap:15px;}
@media(max-width:980px){
  .filter-v16-main{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:620px){
  .catalogue-full .filters-form.filter-v16{padding:17px 15px 14px;border-radius:13px;}
  .filter-v16-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .filter-v16-main>.field:nth-child(1),.filter-v16-main>.field:nth-child(2){grid-column:1 / -1;}
  .filter-v16-more-hint{display:none;}
  .filter-v16-footer{display:flex;align-items:stretch;flex-direction:column;gap:14px;}
  .filter-v16-sort{justify-content:space-between;width:100%;}
  .catalogue-full .filter-v16-sort select{width:min(70%,260px);min-width:0;}
  .filter-v16-actions{width:100%;margin:0;justify-content:space-between;gap:10px;}
  .catalogue-full .filters-form.filter-v16 .filter-v16-submit{flex:1 1 auto;max-width:220px;}
  .catalogue-full .property-toolbar{display:flex;flex-direction:column;align-items:flex-start;gap:4px;}
  .catalogue-full .result-count{margin-top:7px;}
  .filter-v16-chips{margin-top:12px;}
}
@media(max-width:360px){
  .catalogue-full .filter-v16 .field label{font-size:10px;}
  .catalogue-full .filter-v16 .field input,.catalogue-full .filter-v16 .field select{padding:9px 8px;font-size:12px;}
  .filter-v16-reset{font-size:11px;}
  .catalogue-full .filters-form.filter-v16 .filter-v16-submit{padding:0 12px;gap:8px;}
}

/* On narrow phones, the primary action remains full-width and readable. */
@media(max-width:620px){
  .filter-v16-actions{flex-direction:column-reverse;align-items:stretch;}
  .filter-v16-reset{text-align:center;padding:5px 0;}
  .catalogue-full .filters-form.filter-v16 .filter-v16-submit{width:100%;max-width:none;}
}
