@font-face{font-family:Archivo;src:url(/fonts/archivo.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono.woff2)format("woff2");font-weight:100 800;font-display:swap}:root{--bp:#0a2240;--bp-2:#0f2f55;--navy:#0f2a44;--cyan:#7cc8ff;--cyan-soft:#7cc8ff24;--orange:#f07a3c;--teal:#4fe0c6;--orange-dark:#d8642a;--ink:#18242f;--muted:#5a6876;--line:#d9e1e9;--bg:#fff;--paper:#f5f8fb;--radius:10px;--shadow:0 14px 40px #0a22401a;--head:"Archivo", system-ui, sans-serif;--body:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:84px}body{font-family:var(--body);color:var(--ink);background:var(--bg);margin:0;font-size:17px;line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:var(--orange-dark)}h1,h2,h3{font-family:var(--head);color:var(--navy);letter-spacing:-.015em;margin:0 0 .6em;line-height:1.12}h1{font-size:clamp(2rem,4.2vw,3.1rem);font-weight:800}h2{font-size:clamp(1.65rem,3.2vw,2.5rem);font-weight:800}h3{font-size:1.15rem;font-weight:700}p{margin:0 0 1em}.container{width:min(1180px,100% - 32px);margin-inline:auto}.narrow{width:min(840px,100% - 32px)}.skip{background:var(--navy);color:#fff;z-index:100;border-radius:8px;padding:8px 14px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}.blueprint{background-color:var(--bp);color:#c9d8e8;background-image:linear-gradient(#7cc8ff1a 1px,#0000 1px),linear-gradient(90deg,#7cc8ff1a 1px,#0000 1px),linear-gradient(#7cc8ff0d 1px,#0000 1px),linear-gradient(90deg,#7cc8ff0d 1px,#0000 1px);background-size:100px 100px,100px 100px,20px 20px,20px 20px}.blueprint h1,.blueprint h2,.blueprint h3{color:#fff}.grid-paper{background-color:var(--paper);background-image:linear-gradient(#0f2f550f 1px,#0000 1px),linear-gradient(90deg,#0f2f550f 1px,#0000 1px);background-size:24px 24px}.mono-label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cyan);margin-bottom:1.1em;font-size:.78rem;font-weight:500}.eyebrow{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--orange-dark);align-items:center;gap:12px;margin-bottom:.9em;font-size:.8rem;font-weight:600;display:flex}.eyebrow span{color:var(--muted);font-weight:500}.eyebrow:after{content:"";opacity:.5;background:currentColor;flex:0 0 56px;height:1px}.blueprint .eyebrow{color:var(--orange)}.blueprint .eyebrow span{color:var(--cyan)}.btn{font-family:var(--head);cursor:pointer;border:1.5px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:.55em;padding:.95em 1.5em;font-size:1rem;font-weight:700;text-decoration:none;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn svg{fill:currentColor;width:1.1em;height:1.1em}.btn-primary{background:var(--orange);color:#fff;box-shadow:0 10px 24px #f07a3c47}.btn-primary:hover{background:var(--orange-dark)}.btn-outline-light{color:#fff;background:#7cc8ff0f;border-color:#7cc8ff8c}.btn-outline-light:hover{border-color:var(--cyan)}.btn-small{background:var(--orange);padding:.6em 1.1em;font-size:.92rem;color:#fff!important}.btn-block{width:100%}.site-header{z-index:50;backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#fffffff2;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;height:72px;display:flex}.brand{align-items:center;gap:12px;text-decoration:none;display:flex}.brand img{width:46px;height:auto}.brand-text{flex-direction:column;line-height:1.15;display:flex}.brand-text strong{font-family:var(--head);color:var(--navy);letter-spacing:.02em;font-size:1.15rem;font-weight:800}.brand-text em{font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-style:normal}.nav{align-items:center;gap:26px;display:flex}.nav a{color:var(--ink);font-size:.95rem;font-weight:500;text-decoration:none}.nav a:not(.btn):hover{color:var(--orange-dark)}.nav-toggle{cursor:pointer;background:0 0;border:0;padding:10px;display:none}.nav-toggle span{background:var(--navy);width:24px;height:2px;margin:5px 0;transition:transform .2s,opacity .2s;display:block}.hero{padding:72px 0 80px;overflow:hidden}.hero-inner{grid-template-columns:1fr 1.05fr;align-items:center;gap:56px;display:grid}.hero h1 span{color:var(--cyan);display:block}.lead{max-width:34em;font-size:1.12rem}.hero-cta{flex-wrap:wrap;gap:14px;margin:30px 0 26px;display:flex}.hero-points{font-family:var(--mono);color:#e3edf7;flex-wrap:wrap;gap:10px 24px;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.hero-points li:before{content:"+ ";color:var(--orange);font-weight:700}.hero-visual{position:relative}.plan-note{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#c9d8e899;text-align:right;margin:10px 0 0;font-size:.72rem}.plan{background:#0a22408c;border:1px solid #7cc8ff59;border-radius:6px;margin:0}.plan svg{width:100%;height:auto;padding:8px;display:block}.plan .wall{fill:#7cc8ff0d;stroke:#e4effa;stroke-width:7px}.plan .window rect{fill:var(--bp)}.plan .window line{stroke:var(--cyan);stroke-width:1.5px}.plan .new path{fill:none;stroke:var(--orange);stroke-width:6px;stroke-dasharray:400;stroke-dashoffset:400px;animation:1.4s ease-out forwards draw}.plan .new path:nth-child(2){animation-delay:.25s}.plan .new path:nth-child(3){animation-delay:.5s}.plan .new path:nth-child(4){animation-delay:.65s}.plan .new path:nth-child(5){animation-delay:.8s}.plan .door path,.plan .door line{fill:none;stroke:var(--cyan);stroke-width:1.2px;stroke-dasharray:3 3}.dim line{stroke:var(--cyan);stroke-width:1px}.dim .ext{opacity:.45}.dim .tick{stroke-width:1.6px}.dim text{font-family:var(--mono);fill:var(--cyan);font-size:13px}.plan .dim{opacity:0;animation:.8s ease-out 1.2s forwards fade}.plan .room text{font-family:var(--mono);letter-spacing:.12em;fill:#eaf3ff;font-size:12px}.plan .room .area{fill:var(--orange);letter-spacing:.04em;font-weight:600}.plan .room .note{fill:#eaf3ff99;font-size:11px}@keyframes draw{to{stroke-dashoffset:0}}@keyframes fade{to{opacity:1}}.plan-head{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #7cc8ff40;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:.72rem;display:flex}.plan-id{color:#fff;align-items:center;gap:10px;font-weight:600;display:inline-flex}.plan-id img{object-fit:contain;background:#fff;border-radius:6px;width:26px;height:26px;padding:3px}.plan-id:after{content:"";background:#3ddc97;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #3ddc972e}.plan-meta{color:var(--cyan)}.plan-legend{border-top:1px solid #7cc8ff40;flex-wrap:wrap;gap:8px;padding:12px 14px;display:flex}.chip{cursor:pointer;font:500 .74rem var(--mono);color:#dbe7f3;letter-spacing:.02em;background:#ffffff08;border:1px solid #7cc8ff47;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;transition:border-color .15s,background .15s;display:inline-flex}.chip b{color:#fff;font-weight:700}.chip i{border-radius:2px;width:16px;height:4px}.chip:hover,.chip[aria-pressed=true]{border-color:var(--cyan);background:#7cc8ff1a}.chip-cloison i{background:var(--orange)}.chip-doublage i{background:var(--teal)}.chip-plafond i{background:repeating-linear-gradient(45deg, var(--orange) 0 1.5px, transparent 1.5px 4px);height:10px}.plan .layer{transition:opacity .25s}.plan .l-doublage path{fill:none;stroke:var(--teal);stroke-width:4px;stroke-dasharray:400;stroke-dashoffset:400px;animation:1.2s ease-out .9s forwards draw}.plan .l-plafond>*{opacity:0;animation:.8s ease-out 1.1s forwards fade}.plan .spots circle{fill:none;stroke:var(--orange);stroke-width:1.5px}.plan[data-focus] .layer{opacity:.12}.plan[data-focus] .room,.plan[data-focus] .door{opacity:.45}.plan[data-focus=cloison] .l-cloison,.plan[data-focus=doublage] .l-doublage,.plan[data-focus=plafond] .l-plafond{opacity:1}.specs{background:var(--navy);color:#b8cadb;border-top:1px solid #7cc8ff40}.specs-inner{grid-template-columns:repeat(4,1fr);display:grid}.specs-inner div{border-left:1px solid #7cc8ff2e;padding:26px 22px}.specs-inner div:last-child{border-right:1px solid #7cc8ff2e}.specs strong{font-family:var(--mono);color:#fff;margin-bottom:4px;font-size:1.35rem;font-weight:700;display:block}.specs span{font-size:.88rem;line-height:1.45;display:block}.section{padding:96px 0}.section-alt{background:var(--paper)}.section-head{max-width:740px;margin-bottom:48px}.section-head p:last-child{color:var(--muted)}.blueprint .section-head p:last-child{color:#c9d8e8}.design-grid{grid-template-columns:1fr 1fr;align-items:start;gap:48px;display:grid}.design-steps{border-left:1px dashed #0f2f554d;gap:0;margin:0;padding:0;list-style:none;display:grid}.design-steps li{grid-template-columns:56px 1fr;gap:14px;padding:0 0 30px;display:grid;position:relative}.design-steps li:last-child{padding-bottom:0}.step-n{width:44px;height:30px;font-family:var(--mono);color:#fff;background:var(--navy);clip-path:polygon(0 0,100% 0,100% 70%,80% 100%,0 100%);place-items:center;margin-left:-1px;font-size:.85rem;font-weight:700;display:grid}.design-steps h3{margin-bottom:.3em}.design-steps p{color:var(--muted);margin:0}.section-drawing{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;margin:0;padding:24px;position:relative}.section-drawing svg{width:100%;height:auto;color:var(--navy)}.section-drawing .layer{stroke:var(--navy);stroke-width:1.5px}.section-drawing .wool{stroke:none;color:var(--orange)}.section-drawing .stud{fill:none;stroke:var(--navy);stroke-width:3px}.section-drawing .dim line{stroke:var(--navy)}.section-drawing .dim text{fill:var(--navy);font-size:13px}.section-drawing .dim .unit{fill:var(--muted);font-size:11px}.section-drawing .callout circle{fill:var(--orange)}.section-drawing .callout text{fill:#fff;font-family:var(--mono);font-size:12px;font-weight:700}.section-drawing .mono-label{color:var(--navy);border-top:1px solid var(--line);margin:16px 0 10px;padding-top:14px}.spec-list{counter-reset:spec;gap:6px;margin:0;padding:0;font-size:.92rem;list-style:none;display:grid}.spec-list li{counter-increment:spec;border-bottom:1px dotted var(--line);justify-content:space-between;gap:12px;padding-bottom:6px;display:flex}.spec-list li span:first-child:before{content:counter(spec);background:var(--orange);color:#fff;width:20px;height:20px;font-family:var(--mono);border-radius:50%;place-items:center;margin-right:10px;font-size:.7rem;font-weight:700;display:inline-grid}.spec-list li span:last-child{font-family:var(--mono);color:var(--muted);white-space:nowrap}.cards{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.card{border:1px solid var(--line);background:#fff;border-radius:4px;flex-direction:column;padding:28px;transition:box-shadow .2s,border-color .2s;display:flex;position:relative}.card:before,.card:after{content:"";border-color:var(--orange);border-style:solid;width:14px;height:14px;transition:width .2s,height .2s;position:absolute}.card:before{border-width:2px 0 0 2px;top:-1px;left:-1px}.card:after{border-width:0 2px 2px 0;bottom:-1px;right:-1px}.card:hover{box-shadow:var(--shadow);border-color:#c5d2de}.card:hover:before,.card:hover:after{width:28px;height:28px}.card p{color:var(--muted)}.card-ref{font-family:var(--mono);letter-spacing:.1em;margin-bottom:.8em;font-size:.78rem;font-weight:700;color:var(--orange-dark)!important}.card-spec{border-top:1px dashed var(--line);font-family:var(--mono);margin:auto 0 0;padding-top:14px;font-size:.76rem;color:var(--navy)!important}.plaques{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:32px;display:grid}.plaque-sheet{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:6px;margin:0;overflow:hidden}.plaque-sheet .plan-head{background:var(--navy)}.plaque-sheet svg{width:100%;height:auto;color:var(--navy);font-family:var(--mono);display:block}.p-face rect{stroke:var(--navy);stroke-width:1.5px;transition:fill .35s,y .35s,height .35s}.p-face line{stroke:#0f2a4459;stroke-dasharray:3 4}.p-face text{font:700 22px var(--head);fill:var(--navy);opacity:.55}.p-dim line,.p-dimline{stroke:var(--navy);stroke-width:1px}.p-dim text{fill:var(--navy);font-size:13px;font-weight:700}.p-callout{fill:var(--orange)}.p-callout-t{fill:#fff;font-size:13px;font-weight:700}.p-leader{fill:none;stroke:var(--orange);stroke-width:1.2px;stroke-dasharray:4 3}.p-detail-t{letter-spacing:.1em;fill:var(--orange-dark);font-size:11px;font-weight:700}.p-detail path{stroke:var(--navy);stroke-width:1.5px;transition:fill .35s}.p-paper{stroke:var(--orange);stroke-width:2px}.p-thick{fill:var(--navy);font-size:15px;font-weight:700}.p-note{fill:var(--muted);font-size:11px}.plaque-lengths{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:14px 20px 18px;display:flex}.plaque-lengths>span{font:600 .7rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-right:4px}.plaque-lengths button{font:600 .82rem var(--mono);border:1px solid var(--line);color:var(--navy);cursor:pointer;background:#fff;border-radius:3px;padding:6px 11px}.plaque-lengths button[aria-checked=true]{background:var(--navy);border-color:var(--navy);color:#fff}.plaque-specs h3{margin:0 0 12px;font-size:1rem}.plaque-specs h3:not(:first-child){margin-top:28px}.plaque-thick,.plaque-types{gap:6px;margin:0;padding:0;list-style:none;display:grid}.plaque-thick button,.plaque-types button{text-align:left;border:1px solid var(--line);cursor:pointer;width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:4px;transition:border-color .2s,box-shadow .2s}.plaque-thick button:hover,.plaque-types button:hover{border-color:#c5d2de}.plaque-thick button[aria-checked=true],.plaque-types button[aria-checked=true]{border-color:var(--orange);box-shadow:inset 3px 0 0 var(--orange)}.plaque-thick button{grid-template-columns:56px 1fr 72px;align-items:center;gap:4px 14px;padding:10px 14px;display:grid}.plaque-thick b{font:700 .95rem var(--mono);color:var(--navy)}.pt-bar{border:1px solid var(--line);background:repeating-linear-gradient(90deg,#0f2a441f 0 1px,#0000 1px 10%);height:8px}.pt-bar i{background:var(--navy);height:100%;display:block}.plaque-thick button[aria-checked=true] .pt-bar i{background:var(--orange)}.pt-mm{font:700 .85rem var(--mono);text-align:right;color:var(--navy)}.plaque-thick small{color:var(--muted);grid-column:1/-1;font-size:.85rem;line-height:1.45;display:none}.plaque-thick button[aria-checked=true] small{display:block}.plaque-types{grid-template-columns:1fr 1fr}.plaque-types button{align-items:flex-start;gap:12px;height:100%;padding:12px 14px;display:flex}.pt-swatch{border:1px solid #0f2a4459;border-radius:2px;flex:none;width:22px;height:30px}.plaque-types b{color:var(--navy);font-size:.92rem}.plaque-types em{font:normal .7rem var(--mono);color:var(--muted);margin-left:4px}.plaque-types small{color:var(--muted);margin-top:2px;font-size:.8rem;line-height:1.4;display:block}.plaque-formats{border:1px solid var(--line);background:#fff;border-radius:4px;grid-template-columns:repeat(3,1fr);margin:24px 0 0;display:grid}.plaque-formats div{border-right:1px solid var(--line);padding:12px 14px}.plaque-formats div:last-child{border-right:0}.plaque-formats dt{font:600 .66rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.plaque-formats dd{font:700 .95rem var(--head);color:var(--navy);margin:2px 0 0}.plaque-foot{color:var(--muted);margin:10px 0 0;font-size:.78rem}.gallery-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px 48px;margin-bottom:36px;display:flex}.gallery-head .section-head{margin-bottom:0}.gallery-stats{border:1px solid #7cc8ff40;border-radius:4px;margin:0;display:flex}.gallery-stats div{border-right:1px solid #7cc8ff40;padding:14px 24px}.gallery-stats div:last-child{border-right:0}.gallery-stats dt{font:500 .66rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cyan)}.gallery-stats dd{font:800 2.1rem/1 var(--head);color:#fff;letter-spacing:-.02em;margin:2px 0 0}.projects{grid-template-columns:repeat(6,1fr);grid-auto-rows:210px;grid-auto-flow:dense;gap:16px;display:grid}.project{isolation:isolate;color:#fff;background:#06162b;border:1px solid #7cc8ff2e;border-radius:6px;position:relative;overflow:hidden}.tile-xl{grid-area:span 2/span 4}.tile-sm{grid-column:span 2}.tile-md{grid-area:span 2/span 2}.tile-half{grid-area:span 2/span 3}.tile-full{grid-area:span 2/span 6}.projects:has(.tile-quarter){grid-template-columns:repeat(4,1fr);grid-auto-rows:240px}.tile-quarter{grid-row:span 2}.project-cover{position:absolute;inset:0}.project-cover img{object-fit:cover;filter:saturate(.9);width:100%;height:100%;transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .5s}.project:hover .project-cover img{filter:saturate(1.05);transform:scale(1.06)}.project-shade{z-index:1;background:linear-gradient(#050f1d00 55%,#050f1dbf 100%);position:absolute;inset:0}.project:before{content:"";z-index:1;opacity:0;pointer-events:none;background-image:linear-gradient(#7cc8ff29 1px,#0000 1px),linear-gradient(90deg,#7cc8ff29 1px,#0000 1px);background-size:32px 32px;transition:opacity .5s;position:absolute;inset:0}.project:hover:before{opacity:1}.project-cat{z-index:2;font:600 .68rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#fff;align-items:center;gap:10px;margin:0;transition:transform .45s cubic-bezier(.2,.7,.2,1);display:flex;position:absolute;bottom:20px;left:24px}.project-cat:before{content:"";background:var(--orange);width:18px;height:2px}.project:hover .project-cat{transform:translate(6px)}.crop{z-index:2;pointer-events:none;border:0 solid #7cc8ff8c;width:16px;height:16px;transition:inset .35s cubic-bezier(.2,.7,.2,1),width .35s,height .35s,border-color .35s;position:absolute}.crop.tl{border-top-width:2px;border-left-width:2px;top:12px;left:12px}.crop.tr{border-top-width:2px;border-right-width:2px;top:12px;right:12px}.crop.bl{border-bottom-width:2px;border-left-width:2px;bottom:12px;left:12px}.crop.br{border-bottom-width:2px;border-right-width:2px;bottom:12px;right:12px}.project:hover .crop{border-color:var(--orange);width:26px;height:26px}.project:hover .crop.tl{top:8px;left:8px}.project:hover .crop.tr{top:8px;right:8px}.project:hover .crop.bl{bottom:8px;left:8px}.project:hover .crop.br{bottom:8px;right:8px}.project-go{z-index:2;width:46px;height:46px;color:var(--navy);opacity:0;background:#fff;border-radius:50%;place-items:center;transition:opacity .3s,transform .4s cubic-bezier(.2,.7,.2,1);display:grid;position:absolute;top:20px;right:20px;transform:scale(.6)rotate(-45deg)}.project-go svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.project:hover .project-go,.project:focus-within .project-go{opacity:1;transform:none}.project-open{all:unset;z-index:3;cursor:zoom-in;border-radius:inherit;position:absolute;inset:0}.project-open:focus-visible{outline:3px solid var(--orange);outline-offset:-3px}.pwall-head{align-items:center;gap:18px;margin:56px 0 18px;display:flex}.pwall-head h3{color:#fff;margin:0;font-size:1.25rem}.pwall-rule{background:repeating-linear-gradient(90deg,#7cc8ff80 0 6px,#0000 6px 12px);flex:1;height:1px}.pwall-head p{font:600 .72rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);margin:0}.pwall{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.pwall li[hidden]{display:none}.pwall li.reveal{animation:.5s cubic-bezier(.2,.7,.2,1) both rise}.pwall button{all:unset;box-sizing:border-box;aspect-ratio:1;cursor:zoom-in;background:#0b2445;border-radius:3px;width:100%;display:block;position:relative;overflow:hidden}.pwall img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.7,.2,1),opacity .3s}.pwall button:after{content:"";border:2px solid var(--orange);border-radius:inherit;opacity:0;transition:opacity .2s;position:absolute;inset:0}.pwall button:hover img{transform:scale(1.08)}.pwall button:hover:after,.pwall button:focus-visible:after{opacity:1}.pwall:hover button:not(:hover) img{opacity:.7}.pwall-video{color:#fff;background:linear-gradient(135deg,#0f2f55,#1b5f8c);place-content:center;justify-items:center;gap:4px;font-size:1.4rem;display:grid;position:absolute;inset:0}.pwall-video small{font:600 .62rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cyan)}.pwall-more{justify-content:center;align-items:center;gap:18px;padding-top:28px;display:flex;position:relative}.pwall-more.done{display:none}.pwall-progress{font:.78rem var(--mono);color:#c9d8e8b3}.pwall-progress b{color:#fff}.pcards{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:28px 20px;display:grid}.pcard{min-width:0;position:relative}.pcard[hidden]{display:none}.pcard.reveal{animation:.5s cubic-bezier(.2,.7,.2,1) both rise}.pcard button{all:unset;box-sizing:border-box;cursor:zoom-in;background:#0b2445;display:block;position:relative;overflow:hidden}.pcard button:after{content:"";border:2px solid var(--orange);border-radius:inherit;opacity:0;pointer-events:none;transition:opacity .2s;position:absolute;inset:0}.pcard button:hover:after,.pcard button:focus-visible:after{opacity:1}.pcard img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.pcard button:hover img{transform:scale(1.06)}.pcard .pcard-cover{aspect-ratio:4/3;border:1px solid #7cc8ff2e;border-radius:4px;width:100%}.pcard-n{font:700 .7rem var(--mono);letter-spacing:.08em;color:#fff;background:#06162bb3;border:1px solid #7cc8ff4d;border-radius:3px;padding:3px 7px;position:absolute;top:10px;left:10px}.pcard-subs{grid-template-columns:repeat(4,1fr);gap:6px;margin:6px 0 0;padding:0;list-style:none;display:grid}.pcard .pcard-subs button{aspect-ratio:1;border-radius:3px;width:100%}.pcard-subs .pwall-video{font-size:1rem}.pcard-more{color:#fff;font:800 1.15rem var(--head);letter-spacing:-.02em;background:#06162bad;place-items:center;display:grid;position:absolute;inset:0}.pcard-subs button.more:hover .pcard-more{color:var(--orange)}.pcard-title{font:700 1rem/1.3 var(--head);color:#fff;text-wrap:balance;margin:12px 0 2px}.pcard-count{font:500 .7rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#c9d8e8bf;margin:0}html:has(.viewer[open]){overflow:hidden}.viewer{color:#c9d8e8;background-color:#071a33;background-image:linear-gradient(#7cc8ff0d 1px,#0000 1px),linear-gradient(90deg,#7cc8ff0d 1px,#0000 1px);background-size:40px 40px;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;overflow:hidden}.viewer::backdrop{background:#040e1ceb}.viewer[open]{animation:.35s both viewer-in}.viewer-main{flex-direction:column;min-width:0;height:100%;display:flex}.viewer-bar{align-items:center;gap:24px;padding:18px 24px 10px 32px;display:flex}.viewer-count{font:500 .8rem var(--mono);color:#c9d8e88c;white-space:nowrap;margin:0}.viewer-count b{font:800 1.9rem/1 var(--head);color:#fff;letter-spacing:-.02em;margin-right:2px}.viewer-group{text-overflow:ellipsis;max-width:34ch;font:500 .78rem var(--body);color:#c9d8e8;margin-top:4px;display:block;overflow:hidden}.viewer-track{background:#7cc8ff2e;border-radius:2px;flex:1;height:3px;overflow:hidden}.viewer-track span{background:var(--orange);width:0;height:100%;transition:width .35s cubic-bezier(.2,.7,.2,1);display:block}.viewer-cta{flex:none}.viewer-stage{flex:1;place-items:center;min-height:0;padding:22px 104px;display:grid;position:relative}.viewer-frame{max-width:100%;margin:0;position:relative}.viewer-frame .crop{border-color:var(--cyan);width:22px;height:22px}.viewer-frame .crop.tl{top:-14px;left:-14px}.viewer-frame .crop.tr{top:-14px;right:-14px}.viewer-frame .crop.bl{bottom:-14px;left:-14px}.viewer-frame .crop.br{bottom:-14px;right:-14px}.viewer-slot img,.viewer-slot video{background:#000;border-radius:3px;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 230px);display:block;box-shadow:0 30px 90px #0000008c}.viewer-slot video{width:min(100%,1100px)}.viewer-slot .enter{animation:.5s cubic-bezier(.2,.7,.2,1) both media-in}.viewer-nav{cursor:pointer;color:#fff;background:#0a224099;border:1px solid #7cc8ff59;border-radius:50%;place-items:center;width:56px;height:56px;transition:background .2s,border-color .2s,transform .2s;display:grid;position:absolute;top:50%;translate:0 -50%}.viewer-nav svg,.viewer-close svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.viewer-nav:hover{background:var(--orange);border-color:var(--orange)}.viewer-nav.prev{left:28px}.viewer-nav.next{right:28px}.viewer-nav.prev:hover{transform:translate(-3px)}.viewer-nav.next:hover{transform:translate(3px)}.viewer-close{cursor:pointer;color:#fff;background:#0a2240b3;border:1px solid #7cc8ff59;border-radius:50%;flex:none;place-items:center;width:46px;height:46px;transition:background .2s,transform .3s;display:grid}.viewer-close:hover{background:var(--orange);border-color:var(--orange);transform:rotate(90deg)}.viewer-thumbs{scrollbar-width:none;gap:8px;padding:12px 32px 22px;display:flex;overflow-x:auto}.viewer-thumbs button{cursor:pointer;opacity:.45;background:#13345c;border:2px solid #0000;border-radius:4px;flex:none;width:76px;height:56px;padding:0;transition:opacity .2s,border-color .2s,transform .2s;position:relative;overflow:hidden}.viewer-thumbs img{object-fit:cover;width:100%;height:100%;display:block}.viewer-thumbs button.video{background-image:linear-gradient(135deg,#0f2f55,#1b5f8c)}.viewer-thumbs button.video:after{content:"▶";color:#fff;place-items:center;font-size:.9rem;display:grid;position:absolute;inset:0}.viewer-thumbs button:hover{opacity:.85}.viewer-thumbs button[aria-current=true]{opacity:1;border-color:var(--orange);transform:translateY(-3px)}.viewer.single .viewer-nav,.viewer.single .viewer-thumbs,.viewer.single .viewer-track{visibility:hidden}@keyframes viewer-in{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}@keyframes media-in{0%{opacity:0;transform:translateX(calc(var(--dir,0) * 48px)) scale(.98)}}::view-transition-group(viewer-media){animation-duration:.5s;animation-timing-function:cubic-bezier(.2,.7,.2,1)}::view-transition-old(viewer-media),::view-transition-new(viewer-media){object-fit:cover;height:100%}::view-transition-old(root),::view-transition-new(root){animation-duration:.3s}@media (prefers-reduced-motion:reduce){.viewer[open],.viewer-slot .enter,.pwall li.reveal{animation:none}}.reviews-layout{grid-template-columns:minmax(0,.85fr) minmax(0,2fr);align-items:start;gap:40px;display:grid}.reviews-summary{background:var(--bp);color:#fff;border:1px solid #7cc8ff33;border-radius:6px;padding:32px;position:sticky;top:96px}.reviews-summary h2{color:#fff}.reviews-summary .eyebrow{color:var(--cyan)}.score{border-top:1px dashed #7cc8ff4d;border-bottom:1px dashed #7cc8ff4d;align-items:center;gap:18px;margin:8px 0 18px;padding:22px 0;display:flex}.score-value{font-family:var(--head);margin:0;line-height:1}.score-value b{letter-spacing:-.03em;font-size:3.6rem;font-weight:800}.score-value span{color:var(--cyan);margin-left:2px;font-size:1.2rem}.score-meta{font:.78rem var(--mono);color:#c9d8e8;margin:6px 0 0}.stars{gap:2px;display:inline-flex}.stars svg{width:16px;height:16px;fill:var(--orange)}.stars svg.off{fill:none;stroke:#c5d2de;stroke-width:1.5px}.stars.lg svg{width:22px;height:22px}.reviews-summary .stars svg.off{stroke:#7cc8ff73}.score-bars{font:.74rem var(--mono);color:#c9d8e8;gap:8px;margin:0;padding:0;list-style:none;display:grid}.score-bars li{grid-template-columns:28px 1fr 22px;align-items:center;gap:10px;display:grid}.score-bars li span:last-child{text-align:right}.score-bars .bar{background:repeating-linear-gradient(90deg,#7cc8ff38 0 1px,#0000 1px 10%);border:1px solid #7cc8ff40;height:6px}.score-bars .bar i{background:var(--orange);height:100%;display:block}.reviews-list{columns:2;column-gap:20px;margin:0;padding:0;list-style:none}.review{break-inside:avoid;border:1px solid var(--line);background:#fff;border-radius:4px;margin:0 0 20px;padding:22px 24px 20px;transition:box-shadow .2s,border-color .2s;position:relative}.review:before{content:"";border:solid var(--orange);border-width:2px 0 0 2px;width:14px;height:14px;transition:width .2s,height .2s;position:absolute;top:-1px;left:-1px}.review:hover{box-shadow:var(--shadow);border-color:#c5d2de}.review:hover:before{width:28px;height:28px}.review-top{font:.7rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px dashed var(--line);justify-content:space-between;gap:12px;margin-bottom:12px;padding-bottom:12px;display:flex}.review-top span{color:var(--orange-dark);font-weight:700}.review blockquote{-webkit-line-clamp:7;-webkit-box-orient:vertical;margin:12px 0 0;display:-webkit-box;overflow:hidden}.review.open blockquote{-webkit-line-clamp:unset;display:block}.review blockquote p{color:var(--ink);margin:0;line-height:1.6}.review blockquote p:before{content:"« ";color:var(--orange);font-weight:700}.review blockquote p:after{content:" »";color:var(--orange);font-weight:700}.review-more{font:600 .82rem var(--body);color:var(--orange-dark);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;margin-top:6px;padding:0;text-decoration:underline}.review-author{align-items:center;gap:12px;margin-top:18px;display:flex}.review-initial{background:var(--navy);color:#fff;width:36px;height:36px;font:700 .95rem var(--head);clip-path:polygon(0 0,100% 0,100% 72%,72% 100%,0 100%);flex:none;place-items:center;display:grid}.review-author strong{color:var(--navy);font-size:.92rem;display:block}.review-author small{color:var(--muted);font-size:.8rem;display:block}.reasons{border:1px solid var(--line);border-radius:4px;grid-template-columns:repeat(4,1fr);gap:0;display:grid}.reason{border-right:1px solid var(--line);counter-increment:reason;padding:28px 24px}.reason:last-child{border-right:0}.reason:before{content:"0" counter(reason);font-family:var(--mono);color:var(--orange-dark);margin-bottom:14px;font-weight:700;display:block}.reasons{counter-reset:reason}.reason p{color:var(--muted);margin:0}.split{grid-template-columns:1fr 1fr;gap:24px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:4px;padding:40px}.panel-dark{background:var(--bp);border-color:var(--bp);color:#c9d8e8}.panel-dark h2{color:#fff}.panel-dark .eyebrow{color:var(--orange)}.panel-dark .eyebrow span{color:var(--cyan)}.checks{gap:10px;margin:20px 0 0;padding:0;list-style:none;display:grid}.checks li{padding-left:28px;font-weight:500;position:relative}.checks li:before{content:"";background:var(--orange);width:16px;height:2px;position:absolute;top:.72em;left:0}.zone{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:48px;display:grid}.zone-map{background:var(--bp);box-shadow:var(--shadow);border-radius:8px;margin:0;overflow:hidden}.zone-canvas{position:relative}.zone-map svg{width:100%;height:auto;font-family:var(--mono);display:block}.zone-sea{fill:#7cc8ff12;stroke:#7cc8ff73;stroke-width:1.2px}.zone-sea,.zone-pond{fill:url(#zone-waves)}.zone-pond{stroke:#7cc8ff59;stroke-width:1px;stroke-linejoin:round}.zone-river{fill:none;stroke:var(--teal);stroke-width:1.6px;opacity:.55;stroke-linecap:round;stroke-linejoin:round}.zone-water{fill:#7cc8ff80;letter-spacing:.14em;text-transform:uppercase;text-anchor:middle;font-size:12px;font-style:italic}.zone-water.small{font-size:10px}.zone-area{fill:#f07a3c0f}.zone-road{fill:none;stroke:#eaf3ff47;stroke-width:2px;stroke-dasharray:1 4;stroke-linecap:round}.zone-road-label{fill:#eaf3ff8c;font-size:10px;font-weight:700}.zone-ring circle{fill:none;stroke:#7cc8ff4d;stroke-width:1px;stroke-dasharray:4 5}.zone-ring.main circle{stroke:var(--orange);stroke-opacity:.7;stroke-width:1.5px;stroke-dasharray:8 5}.zone-ring.main text{fill:var(--orange);font-weight:700}.zone-ring text{fill:var(--cyan);text-anchor:middle;paint-order:stroke;stroke:var(--bp);stroke-width:4px;font-size:11px}.zone-measure{stroke:var(--orange);stroke-width:1.6px;stroke-dasharray:6 4;opacity:0;transition:opacity .15s}.zone-map.measuring .zone-measure{opacity:1}.zone-town{cursor:pointer;outline:none}.zone-town .hit{fill:#0000}.zone-town .dot{fill:var(--bp);stroke:var(--cyan);stroke-width:2px;transition:r .15s,fill .15s}.zone-town text{fill:#dbe7f3;paint-order:stroke;stroke:var(--bp);stroke-width:4px;stroke-linejoin:round;font-size:11.5px;transition:fill .15s}.zone-town.metro .dot{stroke-width:1.5px}.zone-town.metro:not(.active) text{display:none}.zone-town.home .dot{fill:var(--orange);stroke:#fff}.zone-town.home text{fill:#fff;font-size:13px;font-weight:700}.zone-town .pulse{fill:none;stroke:var(--orange);stroke-width:2px;transform-box:fill-box;transform-origin:50%;animation:2.4s ease-out infinite zone-pulse}.zone-town:hover .dot,.zone-town.active .dot,.zone-town:focus-visible .dot{fill:var(--cyan);r:5.5}.zone-town.home:hover .dot,.zone-town.home.active .dot{fill:var(--orange);r:7}.zone-town:hover text,.zone-town.active text{fill:#fff}.zone-town:focus-visible .hit{stroke:var(--orange);stroke-width:2px}@keyframes zone-pulse{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(2.6)}}.zone-scale path{fill:none;stroke:#dbe7f3;stroke-width:1.5px}.zone-scale text,.zone-north text{fill:#dbe7f3;font-size:11px}.zone-north path{fill:var(--cyan)}.zone-tip{z-index:2;pointer-events:none;min-width:150px;color:var(--navy);border-left:3px solid var(--orange);background:#fff;border-radius:6px;padding:10px 14px;position:absolute;transform:translate(-50%,calc(-100% - 16px));box-shadow:0 10px 30px #00000059}.zone-tip[data-align=start]{transform:translate(-14px,calc(-100% - 16px))}.zone-tip[data-align=end]{transform:translate(calc(14px - 100%),calc(-100% - 16px))}.zone-tip[data-below=true][data-align=center]{transform:translate(-50%,16px)}.zone-tip[data-below=true][data-align=start]{transform:translate(-14px,16px)}.zone-tip[data-below=true][data-align=end]{transform:translate(calc(14px - 100%),16px)}.zone-tip strong{font-family:var(--head);font-size:1rem;line-height:1.2;display:block}.zone-tip span{font:500 .72rem var(--mono);color:var(--muted);letter-spacing:.04em;white-space:nowrap;margin-top:2px;display:block}.zone-caption{font:.7rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#c9d8e899;border-top:1px solid #7cc8ff40;padding:10px 14px}@media (prefers-reduced-motion:reduce){.zone-town .pulse{opacity:0;animation:none}}@media (width<=560px){.zone-town:not(.home):not(.active) text,.zone-water.small{display:none}}.cta-band{padding:72px 0}.cta-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;display:flex}.cta-band h2{margin-bottom:.3em}.cta-band p{margin:0}.cta-actions{flex-wrap:wrap;gap:12px;display:flex}.faq details{border-bottom:1px solid var(--line);padding:4px 0}.faq summary{cursor:pointer;font-family:var(--head);color:var(--navy);padding:18px 40px 18px 0;font-size:1.08rem;font-weight:700;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font:400 1.6rem var(--mono);color:var(--orange);transition:transform .2s;position:absolute;top:12px;right:6px}.faq details[open] summary:after{transform:rotate(45deg)}.faq details p{color:var(--muted);padding-right:40px}.contact{grid-template-columns:.9fr 1.1fr;align-items:start;gap:48px;display:grid}.contact-list{gap:18px;margin:28px 0 0;padding:0;list-style:none;display:grid}.contact-list li{align-items:center;gap:14px;display:flex}.contact-list small{font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;display:block}.contact-list a,.contact-list span{color:var(--navy);font-size:1.08rem;font-weight:600;text-decoration:none}.ci{background:var(--navy);border-radius:8px;flex:none;place-items:center;width:46px;height:46px;display:grid}.ci svg{fill:#fff;width:22px;height:22px}.ci-wa{background:#25d366}.wa-float{z-index:60;color:#fff;font-family:var(--head);background:#1fa855;border-radius:999px;align-items:center;gap:10px;padding:12px 18px 12px 14px;font-weight:700;text-decoration:none;transition:transform .15s,background .15s;display:inline-flex;position:fixed;bottom:22px;right:22px;box-shadow:0 10px 28px #0a224047}.wa-float svg{fill:currentColor;width:24px;height:24px}.wa-float:hover{background:#178f47;transform:translateY(-2px)}.form{border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line);background:#fff;gap:16px;padding:32px;display:grid}.form .row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form label{color:var(--navy);gap:6px;font-size:.9rem;font-weight:600;display:grid}.form input,.form select,.form textarea{font:inherit;color:var(--ink);border:1.5px solid var(--line);background:#fff;border-radius:6px;width:100%;padding:12px 14px;font-weight:400}.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--orange);outline:none;box-shadow:0 0 0 3px #f07a3c26}.form textarea{font-family:var(--body)}.form .invalid{border-color:#c0392b}.form .consent{color:var(--muted);align-items:flex-start;gap:10px;font-size:.86rem;font-weight:400;display:flex}.form .consent input{width:18px;height:18px;accent-color:var(--orange);flex:none;margin-top:3px}.hp{position:absolute;left:-9999px}.form-status{min-height:1.4em;margin:0;font-weight:600}.form-status.ok{color:#1e7d4f}.form-status.err{color:#c0392b}.site-footer{padding:72px 0 28px;overflow:hidden}.footer-cta{border-radius:var(--radius);background:#0a224099;border:1px solid #7cc8ff4d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px;margin-bottom:64px;padding:32px;display:flex}.footer-cta .mono-label{margin-bottom:.5em}.footer-cta-title{font-family:var(--head);color:#fff;max-width:26em;margin:0;font-size:clamp(1.3rem,2.4vw,1.75rem);font-weight:800;line-height:1.2}.footer-cta-actions{flex-wrap:wrap;gap:12px;display:flex}.footer-grid{grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:40px;padding-bottom:48px;display:grid}.footer-logo{align-items:center;gap:12px;margin-bottom:16px;text-decoration:none;display:inline-flex}.footer-logo img{background:#fff;border-radius:8px;width:52px;height:auto;padding:5px}.footer-logo span{flex-direction:column;line-height:1.2;display:flex}.footer-logo strong{color:#fff;font-family:var(--head);letter-spacing:.03em;font-size:1.15rem}.footer-logo em{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--cyan);font-size:.68rem;font-style:normal}.footer-brand p{max-width:26em;margin:0;font-size:.92rem}.footer-col{align-content:start;gap:10px;font-size:.94rem;display:grid}.footer-col .mono-label{margin-bottom:4px}.footer-col a{color:#dbe7f3;width:fit-content;text-decoration:none;transition:color .15s}.footer-col a:hover{color:var(--orange)}.footer-mark{user-select:none;border-top:1px solid #7cc8ff2e;padding-top:28px;position:relative}.footer-mark svg{width:100%;height:auto;display:block;overflow:visible}.footer-mark text{font-family:var(--head);fill:none;stroke:#7cc8ff66;stroke-width:1.2px;font-size:140px;font-weight:900}.footer-dim{border-inline:1px solid #7cc8ff80;height:22px;margin-bottom:14px;position:relative}.footer-dim:before{content:"";border-top:1px solid #7cc8ff80;position:absolute;top:50%;left:0;right:0}.footer-dim span{background:var(--bp);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin:0 auto;padding:0 12px;font-size:.7rem;line-height:22px;display:table;position:relative}.footer-bottom{font-family:var(--mono);color:#c9d8e8b3;border-top:1px solid #7cc8ff26;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:28px;padding-top:18px;font-size:.72rem;display:flex}.page{padding:64px 0 88px}.page h2{margin-top:1.8em;font-size:1.35rem}.mobile-bar{display:none}@media (width<=1020px){.plaques{grid-template-columns:1fr}.reviews-layout{grid-template-columns:1fr;gap:28px}.reviews-summary{position:static}.hero-inner,.zone,.contact,.split,.design-grid{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}.projects{grid-template-columns:repeat(2,1fr);grid-auto-rows:260px}.tile-xl,.tile-full{grid-area:span 2/span 2}.tile-sm,.tile-md,.tile-half{grid-area:span 1/span 1}.projects:has(.tile-quarter){grid-template-columns:repeat(2,1fr);grid-auto-rows:220px}.tile-quarter{grid-row:span 2}.reasons{grid-template-columns:repeat(2,1fr)}.reason:nth-child(2){border-right:0}.reason:nth-child(-n+2){border-bottom:1px solid var(--line)}.specs-inner{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.specs-inner div{border-bottom:1px solid #7cc8ff2e}}@media (width<=760px){.plaque-types{grid-template-columns:1fr}.plaque-formats{grid-template-columns:1fr 1fr}.plaque-formats div:nth-child(2){border-right:0}.plaque-formats div:last-child{border-top:1px solid var(--line);grid-column:1/-1}.reviews-list{columns:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:14px;margin:0 -16px;padding:0 16px 8px;scroll-padding-inline:16px;display:flex;overflow-x:auto}.reviews-list::-webkit-scrollbar{display:none}.review{scroll-snap-align:center;flex:0 0 86%;margin:0}.reviews-summary{padding:26px 22px}body{padding-bottom:64px;font-size:16px}.nav-toggle{display:block}.nav{border-bottom:1px solid var(--line);background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 16px;display:none;position:absolute;top:72px;left:0;right:0}.nav.open{display:flex}.nav a{border-bottom:1px solid var(--line);padding:12px 4px}.nav a.btn{border:0;margin-top:12px}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.brand-text em{display:none}.hero{padding:40px 0 56px}.hero-cta .btn{flex:100%}.section{padding:64px 0}.cards,.form .row,.reasons{grid-template-columns:1fr}.reason{border-right:0;border-bottom:1px solid var(--line)}.reason:last-child{border-bottom:0}.specs-inner div{padding:18px 14px}.specs strong{font-size:1.1rem}.panel,.form,.section-drawing{padding:22px}.plan-meta{width:100%}.footer-grid{grid-template-columns:1fr;gap:28px}.projects{grid-template-columns:1fr;grid-auto-rows:auto;gap:12px}.project[class*=tile-]{aspect-ratio:4/3;grid-area:auto}.project.tile-xl{aspect-ratio:4/5}.projects:has(.tile-quarter){grid-template-columns:repeat(2,1fr);gap:10px}.project.tile-quarter{aspect-ratio:3/4}.project-go{display:none}.gallery-stats{width:100%}.gallery-stats div{flex:1;padding:12px 14px}.gallery-stats dd{font-size:1.6rem}.pwall{grid-template-columns:repeat(3,1fr);gap:4px}.pcards{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 10px}.pcard-subs{gap:4px;margin-top:4px}.pcard-more{font-size:.9rem}.pcard-title{margin-top:8px;font-size:.88rem}.pcard-count{font-size:.62rem}.pwall-head{margin-top:40px}.pwall-more{flex-direction:column;gap:10px}.viewer-bar{gap:14px;padding:14px 14px 8px 18px}.viewer-count b{font-size:1.5rem}.viewer-cta{display:none}.viewer-stage{padding:14px 16px 70px}.viewer-slot img,.viewer-slot video{max-height:calc(100dvh - 240px)}.viewer-nav{width:48px;height:48px;top:auto;bottom:10px;translate:none}.viewer-nav.prev{left:calc(50% - 60px)}.viewer-nav.next{right:calc(50% - 60px)}.viewer-thumbs{padding:8px 16px 16px}.viewer-thumbs button{width:56px;height:42px}.footer-cta{margin-bottom:44px;padding:22px}.footer-cta-actions .btn{flex:100%}.wa-float{display:none}.mobile-bar{z-index:60;grid-template-columns:1fr 1fr 1.2fr;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 20px #0000001f}.mobile-bar a{text-align:center;font-family:var(--head);color:#fff;padding:18px 8px;font-weight:700;text-decoration:none}.mb-call{background:var(--navy)}.mb-wa{background:#1fa855}.mb-quote{background:var(--orange)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.plan .new path,.plan .l-doublage path{stroke-dashoffset:0}.plan .l-plafond>*,.plan .dim{opacity:1}}
