/* Local night composition. Jiro: human presence (Kane/Lumora), clear proof
   (Moxo), purposeful place context (Blaze). Native calculations/forms preserved. */
[data-direction] .aec-stage:before,[data-direction] .aec-stage:after{opacity:.04}
.direction{max-width:1240px;margin:auto;padding:0 32px;container:direction-page / inline-size;color:#0A0A0B;--chapter:42px;--section-space:88px}
.direction *{box-sizing:border-box}
.direction :is(section,[id]){scroll-margin-top:110px}
.direction>section{padding:var(--section-space) 0;margin:0}
.direction>section>.wrap{max-width:none;width:100%;padding:0;margin:0}
.direction>section h2{font-size:var(--chapter);font-weight:600;line-height:1.15;letter-spacing:-.035em;text-wrap:balance;margin:0 0 24px}
.direction>section h2 :is(em,.hl){font-style:normal;color:inherit;background:none}
.direction>section h2 .hl:before{display:none}
.direction-textlink{display:inline-flex;align-items:center;gap:14px;min-height:44px;font-size:15px;font-weight:600;line-height:1.4;color:#0A0A0B;text-decoration:none;text-underline-offset:5px}
.direction-textlink:hover{text-decoration:underline}
.direction .direction-outline-cta{border:1.5px solid #0A0A0B;border-radius:10px;background:#fff;padding:14px 20px;min-height:50px;text-decoration:none;justify-content:center;transition:background .15s}
.direction .direction-outline-cta:hover{background:#E9F7D2;text-decoration:none}
.direction-small{font-size:13px;line-height:1.6;color:#55565A;margin:8px 0 0}
.direction a:focus-visible,.direction button:focus-visible{outline:3px solid #0A0A0B;outline-offset:4px}
/* Opening: proposition, recognizable proof, actual people and the working tool. */
.direction-hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-template-areas:'intro calculator' 'proof calculator' 'people calculator';grid-template-rows:auto auto 1fr;gap:26px 52px;padding:20px 0 60px;align-items:start}
.direction-hero-copy{display:contents}
.direction-hero-intro{grid-area:intro;padding-top:20px}
.direction-hero h1{font-size:56px;line-height:1.06;letter-spacing:-.05em;font-weight:600;margin:0 0 24px;text-wrap:balance}
.direction-hero h1 .hl{background:none;color:#0A0A0B}
.direction-hero h1 .hl:before{opacity:.65;height:.2em;bottom:0}
.direction-hero .direction-lead{font-size:18px;line-height:1.6;color:#55565A;margin:0;max-width:47ch;text-wrap:pretty}
.direction-lead strong{font-weight:600;color:#0A0A0B}
.direction-proof{grid-area:proof;display:flex;gap:24px;align-items:center;width:fit-content;color:#0A0A0B;text-decoration:none;padding:4px 0}
.direction-proof-score{display:flex;flex-direction:column;gap:5px}
.direction-proof-score b{font-family:var(--mono);font-weight:500;font-variant-numeric:tabular-nums;font-size:32px;line-height:1;letter-spacing:-.045em}
.local-design [data-local-total]{font-family:var(--mono);font-weight:500;font-variant-numeric:tabular-nums}
.direction-proof .direction-stars{font-size:16px;letter-spacing:2px;line-height:1}
.direction-proof-info{font-size:14px;line-height:1.5;color:#55565A;border-left:1px solid #cececa;padding-left:22px}
.direction-proof-link{display:block;color:#0A0A0B;text-decoration:underline;text-underline-offset:4px;font-weight:600;margin-top:3px}
.direction-proof-link>span{display:inline-block;margin-left:8px;transition:transform .2s}
.direction-proof:hover .direction-proof-link>span{transform:translateY(3px)}
.direction-hero-people{grid-area:people;margin:6px 0 0;background:#fff;border:1px solid #e4e4df;border-radius:20px;overflow:hidden;max-width:470px}
.direction-hero-people img{display:block;width:100%;height:auto;aspect-ratio:1600/1065;object-fit:contain}
.direction-hero-people figcaption{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 20px;font-size:14px;line-height:1.4;color:#55565A}
.direction-hero-people strong{font-weight:600;color:#0A0A0B}
.direction-hero-people a{font-size:13px;font-weight:600;text-underline-offset:4px;white-space:nowrap;color:#0A0A0B;min-height:44px;display:flex;align-items:center;gap:8px}
.direction-calculator{grid-area:calculator;min-width:0}
.direction-calculator #sim{opacity:1!important;transform:none!important;animation:none!important;clip-path:none!important}
.direction-calculator-promise{text-align:center;font-size:14px;line-height:1.6;margin:16px 0 0;color:#0A0A0B}
.direction-calculator-promise .local-check{display:inline-block;width:10px;height:6px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);vertical-align:3px;margin-right:4px}
.direction-calculator-promise .direction-response{color:#55565A;font-size:13px}

.direction-calculator .aec-glass{width:100%;max-width:none;min-width:0;padding:22px;background:#fff;border:1px solid rgba(10,10,11,.12);box-shadow:0 18px 48px -32px rgba(10,10,11,.28);border-radius:16px}
.direction .simu-title{font-size:16px;line-height:1.2;letter-spacing:-.025em;margin:0}
.direction .simu-meta{font-size:12px;letter-spacing:0;text-transform:none;white-space:normal}
.direction-calculator .simu-head{padding-bottom:12px}
.direction-calculator .aec-glass .simu-row{padding:9px 0;margin:0 0 12px}
.direction-calculator .aec-glass .tabs{margin-bottom:20px}
.direction-calculator .aec-glass .tabs button,.direction-calculator .aec-glass .seg button,.direction-calculator .aec-glass .chips button{min-height:44px}
.direction-calculator .aec-glass .panel{gap:18px}
.direction-calculator .aec-glass #ae-pan-cap:not([hidden]){display:grid;grid-template-columns:1fr 1fr;gap:18px}
.direction-calculator .aec-glass #ae-pan-cap>.result{grid-column:1/-1}
.direction-calculator .aec-glass .flabel{flex-wrap:nowrap;gap:12px;line-height:1.4}
.direction-calculator .aec-glass .field{min-width:0}
.direction-calculator .aec-glass .field .flabel{font-size:12px}
.direction-calculator .aec-glass .field .flabel strong{font-size:13px}
.direction-calculator .aec-glass .chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.direction-calculator .aec-glass .chips button{padding:7px 4px;font-size:12px;min-width:0;white-space:nowrap}
.direction-calculator .aec-glass .result{padding:20px;border-radius:14px}
.direction-calculator .aec-glass .result-big{font-size:40px;line-height:1.1;margin:14px 0 16px}
.direction-calculator .aec-glass .result-lab{font-size:12px;letter-spacing:.02em;line-height:1.4}
.direction-calculator .aec-glass .result-grid{gap:10px;padding-top:12px}
.direction-calculator .aec-glass .result-grid b{font-size:13px}
.direction-calculator .aec-glass .simu-hyp{font-family:var(--sky);font-size:12px;line-height:1.5;margin-top:12px;padding-top:12px}
.direction-calculator .aec-glass .simu-cta{font-size:15px;padding:15px 18px;margin-top:16px}
.direction-calculator .aec-glass .lp-simu-legal{font-size:12px;line-height:1.5;margin-top:12px;color:#55565A}
.direction-sim-details{margin-top:12px;border-top:1px solid #464646}
.direction-sim-details summary{display:list-item;min-height:44px;padding:14px 0 0;font-size:12px;line-height:1.5;color:#d5d5d3;cursor:pointer}
.direction-sim-details summary:focus-visible{outline:2px solid #ADE83C;outline-offset:3px}
.direction-calculator .aec-glass .direction-sim-details .simu-hyp{border:0;margin:0;padding:4px 0 0}
.direction-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.direction-number{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}
.direction-number input{width:94px;min-height:44px;border:1px solid #767676;border-radius:8px;background:#fff;color:#0A0A0B;padding:8px;font:16px/1.2 var(--mono);text-align:right;appearance:textfield}
.direction-number input::-webkit-inner-spin-button,.direction-number input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.direction-number input:focus-visible{outline:3px solid #0A0A0B;outline-offset:3px}
.direction-number>span{font-size:12px;color:#55565A}
.direction-input-feedback{display:block;font-size:12px;line-height:1.5;color:#55565A;margin-top:6px}
.direction-input-feedback:empty{display:none}
/* The rate comparison is a proof of the service, with one shared explanation. */
.direction>section.direction-rates{padding:40px;background:#fff;border:1px solid #e3e3df;border-radius:24px;margin:0 0 0}
.direction-rate-head{display:flex;justify-content:space-between;align-items:start;gap:32px;margin-bottom:32px}
.direction .direction-rates h2{font-size:32px;line-height:1.15;letter-spacing:-.035em;margin:0 0 12px}
.direction-rate-head p{font-size:16px;line-height:1.5;color:#55565A;margin:0}
.direction .direction-rates .lp-rates-date{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:13px;font-weight:400;text-transform:none;letter-spacing:0;line-height:1.5;color:#55565A;margin:4px 0 0;max-width:170px;text-align:right}
.direction .direction-rates .lp-rates-date b{font-weight:500}
.direction .direction-rates .lp-rates-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0}
.direction .direction-rates .lp-rate{padding:20px 0 24px;border:0;border-top:1px solid #dbdbd6}
.direction .direction-rates .lp-rate dt{font-family:var(--mono);font-weight:400;font-variant-numeric:tabular-nums;font-size:14px;letter-spacing:0;text-transform:none;line-height:1.4;margin:0 0 14px;color:#55565A}
.direction .direction-rates .lp-rate .v{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:48px;font-weight:500;line-height:1.15;margin:0;letter-spacing:-.05em}
.direction .direction-rates .lp-rate .v sub{font-size:22px}
.direction-rate-note{font-size:13px;color:#55565A;line-height:1.5;margin:2px 0 12px;max-width:100ch}
.direction .direction-rates .lp-taeg{font-size:12px;line-height:1.6;color:#55565A;margin:0;max-width:110ch}

/* A named local selection complements the group photograph in the opening. */
.direction-team{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.direction .direction-team h2{font-size:var(--chapter);margin-bottom:20px}
.direction-team-intro>p{font-size:18px;line-height:1.6;color:#55565A;margin:0 0 20px;max-width:43ch}
.direction-team-discover{display:inline-flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:12px;color:inherit;text-decoration:none}
.direction-team-discover:hover .direction-textlink{text-decoration:underline}
.direction-team-faces{display:flex;gap:8px}
.direction-team-faces img{display:block;width:56px;height:70px;object-fit:cover;object-position:center 20%;border-radius:10px}
.direction .direction-team .direction-team-selection{font-size:14px;color:#55565A;line-height:1.5;margin:0 0 14px}
.direction .direction-team .lp-team.is-3{display:block;margin:0;padding:0;list-style:none}
.direction .direction-team .lp-member.is-compact{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center;border:0;border-bottom:1px solid #dcdcd7;border-radius:0;background:none;padding:19px 0;min-height:0;box-shadow:none;transform:none}
.direction-team .lp-member-head{display:block}
.direction-team .lp-member-ini{display:none}
.direction-team .lp-member-id{display:flex;flex-direction:column}
.direction-team .lp-member h3{font-size:22px;line-height:1.2;margin:0 0 6px;letter-spacing:-.035em}
.direction-team .lp-member .role{order:2;font-family:var(--mono);font-weight:400;font-variant-numeric:tabular-nums;font-size:13px;text-transform:none;letter-spacing:0;line-height:1.45;color:#55565A}
.direction-team .lp-member .spec{font-size:14px;line-height:1.45;margin:0;color:#55565A}
.direction .direction-team .lp-orias{display:block;font-size:12px;line-height:1.6;background:none;border:0;border-radius:0;padding:16px 0 0;margin:0;color:#55565A}
.direction-team .lp-orias b{display:none}

/* Each project is an illustrated situation; its explanation is always visible. */
.direction-projects-intro{display:flex;justify-content:space-between;gap:48px;align-items:end;margin-bottom:32px}
.direction-projects-intro h2{margin:0!important}
.direction-projects-intro p{font-size:17px;line-height:1.6;color:#55565A;margin:0;max-width:40ch}
.direction-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.direction-project-row{border:1px solid #e1e1dc;border-radius:20px;overflow:hidden;background:#fff;margin:0;display:flex;flex-direction:column;min-width:0}
.direction-project-row:nth-child(2)>img{object-position:50% 75%}
.direction-project-row>img{display:block;width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;transition:filter .3s}
.direction-project-row:nth-child(2)>img{object-position:center 40%}
.direction-project-row:nth-child(3)>img{object-position:center 30%}
.direction-project-row>div{padding:26px 24px 30px}
.direction-project-row h3{font-size:24px;font-weight:600;line-height:1.15;letter-spacing:-.035em;margin:0 0 14px;max-width:20ch}
.direction-project-row p{font-size:15px;line-height:1.65;color:#55565A;margin:0;text-wrap:pretty}
/* The dark sequence explains what happens after choosing an accompaniment. */
.direction-method{background:#0A0A0B;color:#fff;padding:44px;border-radius:24px;margin-top:48px}
.direction-method-intro{display:flex;justify-content:space-between;gap:48px;align-items:end;margin-bottom:44px}
.direction .direction-method h2{font-size:36px;color:#fff;margin:0;line-height:1.15}
.direction-method-intro>p{color:#c9cac6;font-size:16px;line-height:1.55;max-width:34ch;margin:0}
.direction-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:0;gap:26px}
.direction-step{padding-top:22px;border-top:1px solid #474844}
.direction-step>span{font:500 14px/1 var(--mono);font-variant-numeric:tabular-nums;color:#ADE83C;display:block;margin-bottom:24px}
.direction .direction-step h3{font-size:21px;font-weight:600;line-height:1.2;letter-spacing:-.025em;color:#fff;margin:0 0 14px}
.direction-step h3 .hl{color:inherit;background:none}
.direction-step .hl:before{display:none}
.direction-step p{font-size:14px;line-height:1.65;color:#d5d5d3;margin:0;text-wrap:pretty}
.direction-method a:focus-visible{outline-color:#ADE83C}
.direction-contact-shortcut{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:28px 0;margin-top:28px;border-top:1px solid #dcdcd7;border-bottom:1px solid #dcdcd7}
.direction .direction-contact-shortcut h2{font-size:24px;line-height:1.2;letter-spacing:-.025em;margin:0 0 8px;text-wrap:balance}
.direction-contact-shortcut p{font-size:15px;line-height:1.5;margin:0;color:#55565A}
.direction-shortcut-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;flex-shrink:0}
.direction .direction-shortcut-primary{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:14px 20px;min-height:50px;border-radius:10px;background:#0A0A0B;color:#fff;font-size:15px;font-weight:600;line-height:1.4;text-decoration:none}
.direction .direction-shortcut-primary:hover{background:#303031}
.direction-method-actions{margin-top:32px;padding-top:28px;border-top:1px solid #55565A}
.direction .direction-method-actions .direction-shortcut-primary{background:#ADE83C;color:#0A0A0B}
.direction .direction-method-actions .direction-shortcut-primary:hover{background:#c2ef72}
.direction .direction-method-actions .direction-outline-cta{background:transparent;color:#fff;border-color:#fff}
.direction .direction-method-actions .direction-outline-cta:hover{background:#303031}
@container direction-page (max-width:1000px){.direction-contact-shortcut{align-items:flex-start;flex-direction:column;gap:20px}}
@container direction-page (max-width:500px){.direction-shortcut-actions{width:100%;align-items:stretch;flex-direction:column}.direction-shortcut-actions>a{width:100%}.direction .direction-contact-shortcut h2{font-size:22px}.direction-method-actions{margin-top:28px;padding-top:24px}}

/* Market: the map and its full legend are one object, history is supporting detail. */
.direction-market{border-block:1px solid rgba(10,10,11,.14)}
.direction-market-overview{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:center;margin-bottom:40px}
.direction-market-heading h2{margin:0 0 18px}
.direction-market-heading>p{font-size:17px;line-height:1.55;color:#55565A;max-width:38ch;margin:0}
.direction-market-heading>p a{color:#0A0A0B;text-decoration:underline;text-underline-offset:3px}
.direction-market-reference{padding:24px 28px;background:#fff;border:1px solid #dcdcd7;border-radius:20px}
.direction-market-label{font-family:var(--mono);font-weight:400;font-variant-numeric:tabular-nums;font-size:13px;line-height:1.5;color:#55565A;margin:0 0 20px}
.direction-market-prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0}
.direction-market-prices>div+div{padding-left:24px;border-left:1px solid #dcdcd7}
.direction-market-prices dt{font-size:15px;line-height:1.4;margin-bottom:8px;font-weight:600}
.direction-market-prices dd{font:500 32px/1.3 var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.05em;white-space:nowrap;margin:0}
.direction-market-prices dd span{font:400 16px/1.4 var(--sky);letter-spacing:0;margin-left:2px}
.direction-market-qualifier{font-size:12px;line-height:1.5;color:#55565A;margin:18px 0 0}
.direction-map-heading{border-top:1px solid #dcdcd7;padding-top:28px;margin-bottom:24px}
.direction .direction-map-heading h3{font-size:24px;line-height:1.25;margin:0 0 10px;letter-spacing:-.025em}
.direction-map-heading>p{font-size:14px;line-height:1.6;color:#55565A;margin:0;max-width:72ch}
.direction-market .lp-map{max-width:none;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px 40px;margin:0;align-items:start}
.direction-map-visual{min-width:0;position:sticky;top:110px}
/* The map has no table margin to offset the shared hint's negative margin. */
.direction-map-visual>.table-scroll-hint{margin-bottom:12px}
.direction-market .lp-map-scroll{width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain}
.direction-market .lp-map-scroll svg{width:100%;min-width:600px;height:auto;max-height:none;display:block}
.direction-market .lp-map-scroll .direction-map-name{font-family:var(--sky)!important;font-weight:600}
.direction-market .lp-map-scroll .direction-map-price{font-family:var(--mono)!important;font-weight:400;font-variant-numeric:tabular-nums}
.direction-market .lp-map-scroll svg text{pointer-events:none}
.direction-market .lp-map-hint{display:block;font-size:13px;line-height:1.5;margin:16px 0 0;color:#55565A}
.direction-map-mobile-hint{display:none}
.direction-market .lp-map-status{display:block;min-height:24px;font-size:13px;line-height:1.5;margin-top:8px}
.direction-map-legends{min-width:0}
.direction-legend-group+ .direction-legend-group{margin-top:28px}
.direction-legend-group h3{font-size:18px;line-height:1.3;letter-spacing:-.02em;font-weight:600;margin:0 0 12px}
.direction-market .lp-legend{grid-template-columns:1fr;margin:0;gap:0;list-style:none;padding:0}
.direction-market .lp-legend li{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:10px;padding:10px 0;min-height:44px;background:none;border-radius:0;border:0;border-bottom:1px solid rgba(10,10,11,.12);font-size:13px;line-height:1.45;align-items:start}
.direction-market .lp-legend .sw{margin-top:5px;width:8px;height:8px}
.direction-market .lp-legend .nm{font-size:13px;line-height:1.45;min-width:0}
.direction-market .lp-legend .nm em{display:block;font-size:12px}
.direction-market .lp-legend .pr{font:500 13px/1.45 var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.direction-market .lp-legend .direction-map-surface{display:block;margin-top:4px;font:400 12px/1.4 var(--sky);white-space:normal;color:#55565A}
.direction-market .lp-legend .direction-map-surface[hidden],.direction-map-budget-note[hidden]{display:none}
.direction-map-status-surface{display:block;font-weight:600;color:#0A0A0B}
.direction-map-budget-note{grid-column:1/-1;margin:0;padding:14px 18px;border-left:3px solid #ADE83C;background:#fff;font-size:13px;line-height:1.55;color:#55565A}
.direction-market .lp-legend li.is-selected{background:#e9f7d2;box-shadow:0 0 0 5px #e9f7d2}
.direction-map-source{grid-column:1/-1;font-size:12px;line-height:1.6;color:#55565A;margin:8px 0 0;max-width:100ch}
.direction-market-budget-link{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:24px 0;border-block:1px solid #dcdcd7;margin-top:28px}
.direction-market-budget-link p{font-size:15px;line-height:1.6;color:#55565A;margin:0;max-width:65ch}
.direction-market-budget-link a{flex-shrink:0}
.direction-market-foot{margin-top:20px}
.direction-market .direction-history{min-width:0;max-width:none;background:none;border:0;margin:0}
.direction-history .faq-item{border:0;border-radius:0;background:none;overflow:visible}
.direction .direction-history h3{margin:0;font-size:14px}
.direction-history .faq-q{padding:12px 0;min-height:44px;font-size:14px;line-height:1.4;gap:16px}
.direction-history .faq-ico::before{content:'+';transform:none}
.direction-history .faq-item.open .faq-ico::before{content:'−';transform:none}
.direction-history .faq-a-in{padding:0}
.direction-history .dtable-wrap{margin:16px 0}
.direction-history .dtable{font-size:13px}
.direction-history .dtable{table-layout:fixed;width:100%;min-width:0}
.direction-history .dtable :is(th,td){padding:12px 18px}
.direction-history .dtable :is(th,td):first-child{width:24%}
.direction-history .dtable :is(th,td):not(:first-child){text-align:right}
.direction-history .direction-market-source{font-size:13px;line-height:1.6;color:#55565A;margin:16px 0 0;max-width:90ch}
/* Real testimonials have a distinct surface and a visible author/rating. */
.direction-reviews{margin-top:64px;padding:40px;background:#edeee8;border-radius:24px}
.direction-section-intro{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}
.direction .direction-reviews h2{font-size:36px;margin:0 0 12px;line-height:1.15}
.direction-section-intro p{font-size:16px;line-height:1.5;margin:0;color:#55565A}
.direction-section-intro .direction-textlink{flex-shrink:0}
.direction-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.direction-review-grid figure{padding:28px;margin:0;background:#fff;border:1px solid #e1e2dc;border-radius:16px;display:flex;flex-direction:column;align-items:start}
.direction-review-grid figure:first-child{border-top:3px solid #ADE83C}
.direction-review-grid blockquote{font-size:16px;line-height:1.6;margin:20px 0 28px;color:#30312e;text-wrap:pretty}
.direction-review-grid figure:first-child blockquote{font-size:18px;line-height:1.5;letter-spacing:-.015em;font-weight:400}
.direction-review-grid figcaption{font-size:14px;font-weight:600;display:flex;gap:12px;align-items:center;margin-top:0;color:#0A0A0B}
.direction-review-grid figcaption small{display:block;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12px;font-weight:400;color:#55565A;margin-top:3px}
.direction-review-initial{width:36px;height:36px;background:#f0f1eb;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:600;flex-shrink:0}
.direction-stars{font-size:16px;letter-spacing:2px;color:#0A0A0B}
.direction-review-source{font-family:var(--sky);font-weight:400;font-size:14px;line-height:1.6;letter-spacing:0;color:#55565A;margin:20px 0 0}

/* FAQ: useful questions on the right; no introductory paragraph repeating them. */
.direction>section.direction-faq{padding:40px;background:#edeee8;border-radius:24px}
.direction-faq>.wrap{display:grid;grid-template-columns:.8fr 1.6fr;gap:48px}
.direction-faq .fq{display:block;margin:0}
.direction .direction-faq .lp2-acc-h{font-size:18px;margin:0}
.direction-faq .faq-item{border-radius:0;background:none;border:0;border-bottom:1px solid rgba(10,10,11,.16)}
.direction-faq .faq-q{font-size:18px;line-height:1.4;padding:20px 0;gap:18px}
.direction-faq .faq-a-in{font-size:15px;line-height:1.6;padding:0 28px 0 0;max-width:65ch}
/* Open-state padding clears the focus outline without leaking into a collapsed answer. */
.direction-faq .faq-item.open .faq-a-in,html:not(.js) .direction-faq .faq-a-in{padding-top:12px;padding-bottom:22px}
.direction-faq .faq-a-in p{font-size:15px;line-height:1.6}
.direction-faq .direction-faq-preview{font-size:14px;line-height:1.5;color:#55565A;margin:12px 0 20px;padding-right:36px;max-width:65ch}
.direction-faq .faq-item.open .direction-faq-preview,html:not(.js) .direction-faq-preview{display:none}
.direction-office{grid-area:office;border-top:1px solid rgba(10,10,11,.14);padding-top:28px;margin-top:0}
.direction-office>.wrap{width:100%;max-width:none;padding:0;margin:0}
.direction .direction-office h3{font-size:24px;line-height:1.25;letter-spacing:-.025em;font-weight:600;margin:0 0 24px}
.direction .direction-office .card{padding:0!important;background:none;border:0;border-radius:0;box-shadow:none;grid-template-columns:1fr!important;gap:20px!important}
.direction .direction-office .card>div:first-child{display:grid;grid-template-columns:1fr;gap:12px;font-size:15px;line-height:1.5}
.direction .direction-office .card>div:first-child>p:last-child{grid-column:1/-1}
.direction-office-map{min-width:0}
.direction-office-map iframe{display:block;width:100%;height:320px;border:1px solid #dcdcd7;border-radius:16px;background:#edeee8}
.direction-office-map>a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:600;color:#0A0A0B;text-underline-offset:4px;margin-top:8px}
.direction>section#form-rappel:not(.local-contact-layout){display:grid;grid-template-columns:.85fr 1.15fr;grid-template-areas:"intro form" "office form";grid-template-rows:min-content 1fr;gap:24px 48px;padding:var(--section-space) 0}
.direction-contact-intro{grid-area:intro}
.direction-contact-form{grid-area:form}
.direction-contact-phone a{color:#0A0A0B;font-weight:600;white-space:nowrap;text-underline-offset:4px}
.direction .direction-contact-intro .simu-title{font-size:var(--chapter);line-height:1.13;max-width:420px;margin:0 0 18px}
.direction-contact-intro>h2 i{display:none}
.direction-contact-intro>p{font-size:16px;line-height:1.6;color:#55565A;margin:0 0 16px;max-width:43ch}
.direction-contact-intro>p:last-of-type{margin-bottom:0}
.direction-contact-intro .direction-contact-promise{font-size:14px}
.direction-contact-promise b{font-weight:600;color:#0A0A0B}
.direction-contact-form{background:#fff;padding:28px;border:1px solid rgba(10,10,11,.14);border-radius:18px;align-self:start;min-width:0}
.direction-contact-form .aec-form{max-width:none;margin:0}
.direction-contact-form .aec-form-chips{margin:0;padding:0;border:0;min-width:0}
.direction-contact-form .aec-form-chips legend{font-size:13.5px;font-weight:600;line-height:1.4;margin-bottom:8px;padding:0}
.direction-contact-form .aec-form-chiprow{display:grid;grid-template-columns:1fr;gap:8px}
.direction-contact-form .aec-form-chip{display:flex;flex-wrap:nowrap;min-height:46px;padding:10px 12px;border:1px solid #767676;border-radius:10px;cursor:pointer;font-weight:400;line-height:1.45;min-width:0;font-size:13px}
.direction-contact-form .aec-form-chip input{width:18px;height:18px;margin:0;flex-shrink:0;accent-color:#0A0A0B}
.direction-contact-form .aec-form-chip:has(input:checked){border-color:#0A0A0B;background:#F7F7F5;box-shadow:inset 0 0 0 1px #0A0A0B}
.direction-contact-form input[name="apport_dispo"]{font-size:16px}
.direction-recap{border-top:1px solid rgba(10,10,11,.16);padding-top:24px;margin-top:30px}
.direction-recap[hidden]{display:none}
.direction-recap summary{position:relative;list-style:none;cursor:pointer;min-height:44px;padding-right:28px}
.direction-recap summary::-webkit-details-marker{display:none}
.direction-recap summary:after{content:'+';position:absolute;right:0;top:24px;font:24px/1 var(--sky)}
.direction-recap[open] summary:after{content:'−'}
.direction-recap summary:focus-visible{outline:3px solid #0A0A0B;outline-offset:5px}
.direction-recap summary>span{display:block;font-family:var(--mono);font-weight:400;font-variant-numeric:tabular-nums;font-size:12px;line-height:1.5;color:#55565A;margin:0 0 12px}
.direction-recap summary>strong{display:block;font:500 32px/1.2 var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.04em;color:#0A0A0B}
.direction-recap dl{display:grid;grid-template-columns:1fr auto;gap:8px 16px;font-size:13px;line-height:1.5;margin:20px 0}
.direction-recap dt{font-family:var(--mono);font-weight:400;font-variant-numeric:tabular-nums;color:#55565A}.direction-recap dd{font-family:var(--mono);font-weight:500;margin:0;font-variant-numeric:tabular-nums}
.direction-recap .direction-recap-note{font-size:12px;line-height:1.6;color:#55565A;margin:0}
.direction-recap .direction-textlink{font-size:13px;margin-top:10px}
.direction #form-rappel .seyeb{display:none}
.direction>section.direction-cities{padding:24px 0 48px}
.direction .direction-cities h2{font-size:24px;margin-bottom:18px}
.direction-cities .seyeb{margin:0 0 16px}
.direction-cities .seyeb-meta,.direction-cities .seyeb-rule{display:none}
.direction-cities .eyebrow{font-family:var(--sky);text-transform:none;font-size:15px;letter-spacing:0}
.direction .direction-cities .nextgrid{display:flex;flex-wrap:wrap;gap:4px 28px;list-style:none;padding:0;margin:0}
.direction .direction-cities .nextcard{display:flex;align-items:center;min-height:44px;padding:0;margin:0;background:none;border:0;border-radius:0;box-shadow:none;transform:none}
.direction .direction-cities .nextcard-t{font-size:14px;font-weight:400;line-height:1.5;text-decoration:underline;text-underline-offset:4px}
.direction .direction-cities p{font-size:13px;line-height:1.6}
@container direction-page (max-width:1000px){
.direction-market-overview{grid-template-columns:1fr;gap:24px;align-items:start}
.direction-review-grid{grid-template-columns:1fr 1fr}.direction-review-grid figure:first-child{grid-column:1/-1}.direction-review-grid figure:first-child blockquote{font-size:20px}
.direction-hero{gap:24px 32px}.direction-hero h1{font-size:48px}.direction-hero .direction-lead{font-size:17px}
.direction-calculator .aec-glass #ae-pan-cap:not([hidden]){grid-template-columns:1fr}.direction-calculator .aec-glass #ae-pan-cap>.result{grid-column:auto}
.direction-team{gap:36px}.direction-team .lp-member.is-compact{grid-template-columns:1fr;gap:8px}
.direction-project-grid{gap:18px}.direction-project-row>div{padding:22px 20px}.direction-project-row h3{font-size:22px}
.direction-steps{grid-template-columns:1fr 1fr;gap:30px}
.direction-faq>.wrap{gap:36px}
.direction-market .lp-map{grid-template-columns:1fr}.direction-map-visual{position:static;width:100%;max-width:760px;margin:auto}
.direction-market .lp-map-scroll svg{min-width:600px}.direction-map-legends{display:grid;grid-template-columns:1fr 1fr;gap:32px}.direction-legend-group+.direction-legend-group{margin:0}
.direction-contact-form .aec-form-chiprow{grid-template-columns:1fr}
}
@media(max-width:760px){.direction{padding:0 22px;--chapter:32px;--section-space:60px}}
@container direction-page (min-width:801px){.direction .direction-contact-intro .simu-title{font-size:36px}.direction-office{padding-top:24px}.direction .direction-office h3{font-size:22px;margin-bottom:16px}.direction .direction-office .card{margin-top:0!important}}
@container direction-page (min-width:1001px){.direction .direction-office .card>div:first-child{grid-template-columns:1fr 1fr;gap:12px 20px}}
@container direction-page (max-width:800px){
.direction-hero{grid-template-columns:1fr;grid-template-areas:'intro' 'proof' 'calculator' 'people';gap:24px;padding:16px 0 40px}.direction-hero-intro{padding:0}.direction-hero h1{font-size:clamp(36px,10cqw,48px);line-height:1.06;margin-bottom:20px;max-width:550px}.direction-hero .direction-lead{font-size:17px;max-width:50ch}.direction-hero-people{max-width:none;margin:8px 0 0}.direction-hero-people figcaption{padding:14px 16px}.direction-proof{gap:20px}.direction-proof-score b{font-size:28px}.direction-proof-info{font-size:13px;padding-left:20px}
.direction-calculator .aec-glass{padding:18px}.direction-calculator .aec-glass .result{padding:16px}.direction-calculator .aec-glass .result-big{font-size:34px}.direction-calculator .aec-glass .result-grid{gap:6px}.direction-calculator .aec-glass .result-grid b{font-size:12px}.direction .simu-meta{font-size:12px}
.direction-calculator-promise{font-size:13px}
.direction>section.direction-rates{padding:28px 22px}.direction-rate-head{display:block;margin-bottom:24px}.direction .direction-rates h2{font-size:30px}.direction .direction-rates .lp-rates-date{max-width:none;text-align:left;margin-top:14px}.direction-rate-head p{font-size:15px}.direction .direction-rates .lp-rates-g{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}.direction .direction-rates .lp-rate{padding:16px 0}.direction .direction-rates .lp-rate dt{font-size:13px;margin-bottom:10px}.direction .direction-rates .lp-rate .v{font-size:34px}.direction .direction-rates .lp-rate .v sub{font-size:18px}
.direction-team{grid-template-columns:1fr;gap:28px}.direction-team-intro>p{font-size:17px}.direction-team .lp-member.is-compact{grid-template-columns:1fr 1fr;gap:16px}.direction-team .lp-member .spec{padding:0;font-size:13px}.direction-team .lp-member h3{font-size:20px}
.direction-projects-intro{display:block;margin-bottom:26px}.direction-projects-intro p{margin-top:18px;font-size:16px}.direction-project-grid{grid-template-columns:1fr;gap:22px}.direction-project-row h3{font-size:25px;max-width:none}.direction-project-row>div{padding:24px}.direction-project-row p{font-size:16px}
.direction-method{padding:30px 24px;margin-top:36px}.direction-method-intro{display:block;margin-bottom:30px}.direction .direction-method h2{font-size:30px}.direction-method-intro>p{margin-top:18px;font-size:16px}.direction-steps{grid-template-columns:1fr;gap:26px}.direction-step{display:grid;grid-template-columns:28px 1fr;column-gap:12px;row-gap:14px;padding-top:24px}.direction-step>span{grid-column:1;margin:4px 0 0}.direction .direction-step h3{grid-column:2;margin:0;font-size:22px}.direction-step p{grid-column:1/-1;font-size:16px;line-height:1.6}
.direction-market-overview{grid-template-columns:1fr;gap:24px;margin-bottom:28px}.direction-market-heading h2{margin-bottom:16px}.direction-market-reference{padding:22px}.direction-market-prices{gap:18px}.direction-market-prices>div+div{padding-left:18px}.direction-market-prices dd{font-size:28px}.direction-market-prices dd span{display:block;font-size:13px;margin:2px 0 0}.direction-market-label{margin-bottom:16px}.direction-map-heading{padding-top:24px}.direction .direction-map-heading h3{font-size:22px}.direction-market-budget-link{display:block;padding:20px 0}.direction-market-budget-link a{margin-top:12px}.direction-history .dtable :is(th,td){padding:12px 10px}.direction-history .dtable th{font-family:var(--sky);font-size:12px;text-transform:none;letter-spacing:0}
.direction-map-legends{display:block}.direction-legend-group+.direction-legend-group{margin-top:28px}.direction-map-mobile-hint{display:inline}.direction-market .lp-legend .pr{font-size:12px}.direction-market .lp-legend .nm{font-size:13px}.direction-market .lp-legend li{gap:8px}
.direction-reviews{margin-top:44px;padding:28px 20px}.direction-section-intro{display:block;margin-bottom:24px}.direction .direction-reviews h2{font-size:30px}.direction-section-intro .direction-textlink{font-size:14px;margin-top:16px}.direction-review-grid{grid-template-columns:1fr;gap:16px}.direction-review-grid figure{padding:24px}.direction-review-grid figure:first-child{grid-row:auto;grid-column:auto}.direction-review-grid blockquote{font-size:16px}.direction-review-grid figure:first-child blockquote{font-size:18px;line-height:1.5}
.direction>section.direction-faq{padding:28px 20px}.direction-faq>.wrap{grid-template-columns:1fr;gap:0}.direction-faq .faq-q{font-size:18px}
.direction .direction-office .card{grid-template-columns:1fr!important;gap:24px!important}.direction .direction-office .card>div:first-child{grid-template-columns:1fr}
.direction>section#form-rappel:not(.local-contact-layout){grid-template-columns:1fr;grid-template-areas:"intro" "form" "office";grid-template-rows:auto;gap:28px}.direction-contact-intro>p{font-size:16px;margin-bottom:16px}.direction-contact-form{padding:20px 16px}.direction-contact-form .aec-form-row{flex-direction:column}.direction-contact-form .aec-form-row>.aec-form-fld{flex:1 1 auto}.direction-recap{margin-top:20px;padding-top:20px}
}
@container direction-page (max-width:320px){.direction-contact-form .aec-form-chiprow{grid-template-columns:1fr}.direction-calculator .aec-glass .flabel{gap:8px}.direction-number input{width:82px}.direction-team .lp-member.is-compact{grid-template-columns:1fr;gap:8px}.direction-reviews{padding:24px 14px}.direction-review-grid figure{padding:20px}}
@container direction-page (max-width:320px){.direction-market-reference{padding:20px 16px}.direction-market-prices{gap:12px}.direction-market-prices>div+div{padding-left:12px}.direction-market-prices dd{font-size:24px}.direction-market-prices dt{font-size:14px}.direction-history .dtable :is(th,td){padding:12px 8px}.direction-history .dtable td{font-size:12px}}

html:not(.js) [data-direction] .aec-actionbar,[data-direction] .aec-actionbar.direction-bar-static{position:static;transform:none;margin:0 auto 20px}
@media(prefers-reduced-motion:reduce){.direction *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.direction-calculator .aec-glass .result-status{color:#fff;font:400 13px/1.4 "Instrument Sans",sans-serif;margin:0 0 12px}

/* Use the actual calculator width, including narrow tablet columns. */
.direction-calculator .aec-glass{container:ae-night-calculator / inline-size}
@container ae-night-calculator (max-width:340px){
 .direction-calculator .aec-glass .result-grid{grid-template-columns:1fr;gap:10px}
 .direction-calculator .aec-glass .result-grid>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
 .direction-calculator .aec-glass .result-grid b{flex-shrink:0;margin-top:0;white-space:nowrap}
 .direction .direction-number input{width:102px}
}
@container ae-night-calculator (max-width:260px){.direction-calculator .aec-glass .result-big{font-size:28px}}
.direction .direction-project-row p+p,.direction .direction-team-intro p+p{margin-top:16px}

/* Native rollout, 09/09: one composition across local data variants. */
.local-design .direction-lead p{font:inherit;color:inherit;line-height:1.6;margin:0}
.local-design .direction-lead p+p{margin-top:16px}
.local-design .direction-team .lp-team{display:block;list-style:none;padding:0;margin:0}
.local-design .direction-team .lp-member.is-compact{height:auto;align-self:start}
.local-design .direction-team .lp-member{border-bottom:1px solid #dcdcd7;padding:20px 0}
.local-design .direction-team .lp-member:not(.is-compact){display:grid;grid-template-columns:112px minmax(0,1fr);grid-template-rows:auto auto;gap:6px 22px;align-items:center;border:0;border-bottom:1px solid #dcdcd7;border-radius:0;background:none;box-shadow:none;transform:none}
.local-design .direction-team .local-portrait{grid-row:1/3;width:112px;height:140px;object-fit:cover;object-position:center 20%;border-radius:12px;margin:0;filter:none}
.local-design .direction-team .lp-member:not(.is-compact) .lp-member-id{align-self:end}
.local-design .direction-team .lp-member:not(.is-compact) .spec{align-self:start}
.local-design .direction-team .lp-member h3{margin-bottom:6px}
.local-design .direction-team .lp-orias span{min-width:0}
.local-design .direction-team .lp-member .spec{display:block}
.local-design .direction-steps{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.local-design .local-one-price{grid-template-columns:1fr}
.local-market-context{max-width:72ch;font-size:16px;line-height:1.65;color:#55565A;margin:0 0 24px}
.local-market-context p{margin:0 0 16px}
.local-design .local-area-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;list-style:none;margin:24px 0;padding:0}
.local-area-list li{padding:18px 0;border-bottom:1px solid #dcdcd7;display:flex;flex-direction:column;gap:6px;font-size:15px;line-height:1.5}
.local-area-list small{font-size:13px;color:#55565A}
.local-editorial-note{padding:28px;background:#fff;border:1px solid #dcdcd7;border-radius:16px;margin-top:28px}
.local-design .local-editorial-note h3{font-size:26px;letter-spacing:-.035em;margin:0 0 18px}
.local-editorial-note p,.local-editorial-details p{font-size:16px;line-height:1.65;color:#55565A;margin:0 0 16px;max-width:68ch}
.local-editorial-details{margin-top:28px;border-block:1px solid #dcdcd7}
.local-editorial-details summary{font-size:18px;line-height:1.5;font-weight:600;padding:20px 0;cursor:pointer}
.local-editorial-details>div{padding-bottom:12px}
.local-design .direction-history{max-width:none}
.local-design .direction-history .faq-a-in{padding:0;max-width:none}
.local-design .local-table-scroll{overflow:auto;margin-top:16px}
.local-design .direction-history table{width:100%;margin:0}
.local-design .direction-history th[scope="row"]{font:500 15px/1.5 var(--mono);font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:0}
.local-design .direction-history .dtable td{font-family:var(--mono);font-weight:400;font-variant-numeric:tabular-nums}
.local-design .lp-map svg .zc{cursor:pointer;outline:none;transition:opacity .25s,stroke .2s}
.local-design .lp-map svg .zc.is-active{stroke:#0A0A0B;stroke-width:2.6px}
.local-design .lp-map svg .zc.is-dimmed{opacity:.4}
.local-design .lp-map svg .zc:focus-visible{stroke:#0A0A0B;stroke-width:4px;outline:none}
.local-design .lp-legend [data-zone]{cursor:pointer}
.local-design .lp-legend [data-zone].is-active{background:#E9F7D2}
.local-design .lp-legend [data-zone]:focus-visible{outline:2px solid #0A0A0B;outline-offset:2px}
.local-design .lp-legend .sw{display:block;border-radius:50%;background:#dcdcd7}
.local-design .direction-review-grid.review-grid{max-width:none}
.local-design .direction-review-grid .review-card{margin:0;box-shadow:none;transform:none;opacity:1}
.local-design .direction-review-grid .review-card p{font-size:16px;line-height:1.6}
.local-design .direction-review-grid .review-author{margin-top:20px;font-size:14px;line-height:1.5}
.local-design .direction-review-grid .review-author img{width:36px;height:36px;border-radius:50%}
.local-design .direction-review-grid .review-author span{display:block;font-size:12px;color:#55565A}
.local-design .direction-review-grid .local-google-review{gap:0;align-items:stretch}
.local-design .local-google-review figcaption{gap:12px;margin:0;align-items:center}
.local-design .local-google-review figcaption strong{font-size:16px;font-weight:600;line-height:1.35}
.local-design .local-google-review .direction-review-initial{width:44px;height:44px;border-radius:50%;background:#E9F7D2;color:#0A0A0B;font-size:15px}
.local-review-rating{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;font-size:12px;color:#55565A}
.local-review-rating .direction-stars{color:#0A0A0B;font-size:18px;letter-spacing:2px}
.local-design .local-google-review blockquote{margin:18px 0 0;white-space:normal}
@container direction-page (max-width:380px){.local-design .direction-team .lp-member:not(.is-compact){grid-template-columns:88px minmax(0,1fr);gap:6px 16px}.local-design .direction-team .local-portrait{width:88px;height:120px}.direction .direction-outline-cta{width:100%;white-space:normal}}
.local-design .direction-cities h2{font-size:24px;margin-bottom:20px}
.local-design .direction-cities .nextgrid{display:flex;list-style:none}
.local-design .direction-cities li{margin:0}
/* Grid the existing form and its heading, without copying or modifying a field. */
.direction>section.local-contact-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-areas:'title form' 'info form' 'office form';grid-template-rows:min-content min-content 1fr;gap:24px 48px;align-items:start}
.local-contact-layout>.aec-form-sec,.local-contact-layout>.aec-form-sec>.aec-form-card{display:contents}
.local-contact-layout .simu-head{grid-area:title;border:0;padding:0;display:block}
.local-contact-layout .simu-head .simu-title{font-size:36px;line-height:1.15;letter-spacing:-.035em;margin:0 0 18px}
.local-contact-layout .simu-head .simu-meta{display:block;color:#55565A;font-size:14px;line-height:1.5;letter-spacing:0;text-transform:none}
.local-contact-layout .aec-form{grid-area:form;background:#fff;padding:28px;border:1px solid #dcdcd7;border-radius:18px;max-width:none;margin:0;min-width:0;align-self:start}
.local-contact-info{grid-area:info}
.local-contact-info>p{font-size:16px;line-height:1.6;color:#55565A;margin:0 0 16px;max-width:42ch}
.local-contact-info strong{color:#0A0A0B;font-weight:600}
.local-contact-layout .direction-office{grid-area:office}
.local-contact-layout .direction-office>p{font-size:15px;line-height:1.6;margin:0 0 16px;color:#55565A}
.local-contact-layout .direction-office h3{margin-bottom:18px}
.local-contact-layout .ae-map-gate{border:1px solid #dcdcd7;border-radius:16px;min-height:180px;background:#edeee8;overflow:hidden}
.local-contact-layout .ae-map-gate iframe{width:100%;height:300px;border:0}
.local-contact-layout .aec-form-chips{border:0;margin:0 0 16px;padding:0;min-width:0}
.local-contact-layout .aec-form-chiprow{display:flex;flex-direction:column;gap:8px}
.local-contact-layout .aec-form-chip{font-size:14px;line-height:1.5;min-height:46px;padding:12px}
.local-contact-layout .aec-form-legal{font-size:12px;line-height:1.6}
.local-design .direction-history .faq-q{padding:22px 0}
.local-design .direction-history .lp2-acc-h{font-size:18px;margin:0}
@container direction-page (max-width:800px){
 .local-design .direction-steps,.local-design .local-area-list{grid-template-columns:1fr}
 .direction>section.local-contact-layout{grid-template-columns:1fr;grid-template-areas:'title' 'info' 'form' 'office';gap:20px}
 .local-contact-layout .aec-form{padding:22px 16px}
 .local-contact-layout .aec-form-row{flex-direction:column}
 .local-contact-layout .aec-form-row>.aec-form-fld{flex:1 1 auto}
 .local-contact-layout .simu-head .simu-title{font-size:32px}
 .local-contact-layout .direction-office{margin-top:8px}
 .local-design .direction-history th[scope="row"]{font-size:13px}
}
/* The geographic hub makes physical offices and distance support explicit. */
.local-hub{color:#0A0A0B;max-width:1240px;padding:0 32px;margin:auto}
.local-hub :is(section,[id]){scroll-margin-top:110px}
.local-hub section{padding:64px 0}
.local-hub section>.wrap{max-width:none;width:100%;padding:0}
.local-hub h2{font-size:40px;line-height:1.15;letter-spacing:-.035em;margin:0 0 26px}
.local-hub h2 em{font-style:normal}
.local-hub .local-hub-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;padding:50px 0 64px;align-items:center}
.local-hub-hero h1{font-size:52px;line-height:1.08;letter-spacing:-.045em;margin:0 0 24px;text-wrap:balance}
.local-hub-hero p{font-size:18px;line-height:1.6;color:#55565A;margin:0 0 28px;max-width:48ch}
.local-hub-hero figure{margin:0;border:1px solid #dcdcd7;border-radius:20px;overflow:hidden;background:#fff}
.local-hub-hero img{display:block;width:100%;height:auto}
.local-hub-hero figcaption{padding:18px 22px;font-size:14px;line-height:1.5}
.local-hub .hub-region{font-size:22px;margin:32px 0 20px;letter-spacing:-.025em}
.local-hub .hub-ville-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;padding:0}
.local-hub .nextcard{position:relative;display:flex;flex-direction:column;align-items:start;padding:26px;gap:12px;height:100%;transition:background .18s,border-color .18s;transform:none;box-shadow:none}
.local-hub .nextcard:hover{background:#fff;border-color:#0A0A0B;transform:none;box-shadow:none}
.local-hub-city-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#ADE83C;margin-bottom:8px}
.local-hub-city-icon svg{width:24px;height:24px}
.local-hub .nextcard-t{font-size:25px;line-height:1.2;letter-spacing:-.03em;font-weight:600}
.local-hub-mode{font-size:14px;line-height:1.5;color:#55565A}
.local-hub .nextcard .link-arrow{font-size:14px;line-height:1.5;margin-top:8px}
.local-hub .hub-role{align-items:center;gap:64px}
.local-hub .prose p{font-size:17px;line-height:1.65;margin-bottom:18px}
.local-hub .content-photo{max-width:420px;margin:auto}
.local-hub .content-photo img{width:100%;border-radius:20px}
.local-hub .darkband{padding:48px}
@media(max-width:980px){.local-hub .local-hub-hero{gap:36px}.local-hub-hero h1{font-size:42px}.local-hub .hub-ville-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.local-hub .hub-role{gap:36px}}
@media(max-width:760px){.local-hub{padding:0 22px}.local-hub section{padding:44px 0}.local-hub .local-hub-hero{grid-template-columns:1fr;gap:30px;padding:30px 0}.local-hub-hero h1{font-size:38px}.local-hub-hero p{font-size:17px}.local-hub h2{font-size:32px}.local-hub .hub-ville-grid{grid-template-columns:1fr}.local-hub .nextcard{padding:24px}.local-hub .hub-role{grid-template-columns:1fr}.local-hub .content-photo{max-width:380px}.local-hub .darkband{padding:30px 24px}}
.local-design .direction-hero h1 .hl::before{transform:scaleX(1);opacity:.65}
.local-design .direction-proof{max-width:100%}
.local-design .lp-legend .nm em{font-style:normal}
.local-design .direction-history .faq-q{font-size:18px;line-height:1.5}
@media(max-width:760px){.local-design .direction-history .faq-q{font-size:16px}}
.local-design .direction-hero h1 .hl{background-image:linear-gradient(transparent 66%,var(--mark) 66%);background-repeat:no-repeat;background-size:100% 100%}
/* Les informations locales restent visibles, regroupées selon leur rôle. */
.local-design .direction-projects-intro{align-items:start}
.local-design .direction-projects-intro>div{max-width:52ch}
.local-design .direction-projects-intro p{max-width:none}
.local-design .direction-projects-intro p+p{margin-top:16px}
.local-design .direction-project-row>img[src$="investissement-illustration.jpg"]{object-position:center 78%}
.local-design .lp-map.has-sector-detail .direction-map-legends{display:contents}
.local-design .lp-map.has-sector-detail .direction-map-visual{position:static}
.local-design .lp-map.has-sector-detail .direction-legend-group:last-child{grid-column:1/-1;margin-top:0;padding-top:24px;border-top:1px solid #dcdcd7}
.local-design .lp-map.has-sector-detail .direction-legend-group:last-child .lp-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px}
.local-design .direction-market .lp-legend .nm{font-size:14px}
.local-design .direction-market .lp-legend .pr{font-size:14px}
.local-design .direction-market-budget-link{padding:24px 28px;border:1px solid #dcdcd7;border-left:4px solid #ADE83C;border-radius:16px;background:#fff}
.local-design .direction-market-budget-link p{font-size:16px}
.local-design .local-service-area{font-size:14px}
@container direction-page (max-width:980px){.local-design .lp-map.has-sector-detail .direction-legend-group:last-child .lp-legend{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container direction-page (max-width:600px){.local-design .lp-map.has-sector-detail .direction-legend-group:last-child .lp-legend{grid-template-columns:1fr}.local-design .direction-market-budget-link{padding:22px}.local-design .direction-projects-intro>div{margin-top:18px}.local-design .direction-projects-intro p{margin-top:0}}
@container direction-page (min-width:600px) and (max-width:800px){.direction-calculator .aec-glass #ae-pan-cap:not([hidden]){grid-template-columns:1fr 1fr}.direction-calculator .aec-glass #ae-pan-cap>.result{grid-column:1/-1}}

.direction>section.local-contact-layout[id]{scroll-margin-top:24px}

/* Integration staging : composants globaux inchangés, ajustements sur les LP seules. */
/* Book §04 : chiffres et métadonnées en mono ; titres, noms et prose en Sans. */
.ae-local-design a[href^="tel:"]{font-family:var(--mono);font-weight:500;font-variant-numeric:tabular-nums}
.local-design form.aec-form[data-ae-form] input:is([name="phone_number"],[name="apport_dispo"]){font-family:var(--mono);font-weight:400;font-variant-numeric:tabular-nums}
.local-design .aec-form :is(.aec-form-fld>label,.aec-form-chips>legend){font-weight:600}
.ae-local-design form[data-ae-form] .aec-form-consent>label{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-start;gap:11px;width:100%;min-height:44px;font-family:var(--body);font-size:14px;font-weight:400;line-height:1.5;color:var(--ob2)}
.ae-local-design form[data-ae-form] .aec-form-consent>label>span{flex:1;min-width:0}
.ae-local-design form[data-ae-form] .aec-form-consent input[type="checkbox"]{flex:0 0 20px;width:20px;height:20px;margin:1px 0 0}
@media(max-width:360px){
 .ae-local-design .nav,.ae-local-design .nav.is-scrolled{padding-left:8px;padding-right:8px}
 .ae-local-design .nav .nav-inner{padding:6px;gap:4px}
 .ae-local-design .nav .brand{font-size:18px;margin-right:0;gap:6px}
 .ae-local-design .nav .nav-spacer{display:none}
 .ae-local-design .nav .nav-tel{font-size:12px;padding:8px 6px;gap:4px;margin:0 0 0 auto;min-height:44px}
}

/* Portail des villes : deux choix par rangée sur mobile, sans modifier les cartes des LP. */
@media(max-width:760px){
  .local-hub .hub-ville-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .local-hub .nextcard{padding:18px 14px;gap:10px}
  .local-hub .nextcard-t{font-size:19px;line-height:1.3}
  .local-hub .local-hub-mode{font-size:13px}
  .local-hub .nextcard .link-arrow{display:block;max-width:100%;min-height:44px;margin-top:auto;font-size:13px;white-space:normal;overflow-wrap:anywhere}
  .local-hub .local-hub-city-icon{width:32px;height:32px;margin-bottom:2px}
}
@media(max-width:360px){.local-hub .hub-ville-grid{grid-template-columns:1fr}}
