:root{--color-sand:#c8b7a0;--color-sand-soft:#dfd5c7;--color-sand-light:#ddd0bb;--color-graphite:#303434;--color-graphite-deep:#252828;--color-night:#1c1e1e;--color-ink:#242626;--color-paper:#f5f3ee;--color-white:#fff;--color-orange:#ce7737;--color-orange-light:#e08a4a;--color-orange-deep:#a9561f;--color-yellow:#ffc62f;--color-lemon:#f6ce00;--color-red:#c8302f;--color-peach:#d9967d;--color-step-1:#303434;--color-step-2:#c4928c;--color-step-3:#c8763b;--color-step-4:#e39b7b;--color-line:#24262647;--color-error:#9a2525;--container-main:1600px;--container-copy:68ch;--gutter:clamp(1rem, 2.6vw, 3rem);--header-h:88px;--section-pad:clamp(3.5rem, 6vw, 6rem);--text-copy:clamp(1rem, 1.45vw, 1.35rem);--font-display:"League Spartan Variable", sans-serif;--font-body:"Inter Tight Variable", "Helvetica Neue", Arial, sans-serif;--ease-premium:cubic-bezier(.22, 1, .36, 1);--duration-fast:.18s;--duration-medium:.42s;--duration-slow:.8s}@font-face{font-family:League Spartan Variable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/league-spartan-latin.woff2)format("woff2")}@font-face{font-family:Inter Tight Variable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-tight-latin.woff2)format("woff2")}@font-face{font-family:Inter Tight Variable;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/inter-tight-latin-italic.woff2)format("woff2")}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{background:var(--color-sand);color:var(--color-ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.6}::selection{background:var(--color-orange);color:var(--color-ink)}img{width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait}:focus-visible{outline-offset:4px;outline:3px solid}.button--dark:focus-visible{outline-color:var(--color-graphite)}.button--yellow:focus-visible{outline-color:var(--color-yellow)}[hidden]{display:none!important}p,h1,h2,h3,h4,figure{margin:0}p+p{margin-top:1.25rem}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;font-weight:700;line-height:1.1}h2{font-size:clamp(2rem,4vw,3.5rem)}h3{font-size:clamp(1.4rem,2.2vw,2rem)}address{font-style:normal}ul,ol{margin:0;padding:0;list-style:none}main:focus{outline:none}main>:first-child{border-top:var(--header-h) solid transparent}.container{width:min(calc(100% - var(--gutter) * 2), var(--container-main));margin-inline:auto}.section{padding-block:var(--section-pad)}.dark{background:var(--color-graphite);color:var(--color-paper);--color-line:#f5f3ee59}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.eyebrow{letter-spacing:.15em;text-transform:uppercase;font-size:.75rem;font-weight:600;line-height:1.5}.signature{letter-spacing:.08em;font-size:clamp(1rem,1.45vw,1.35rem)}.lead-copy{font-size:clamp(1.1rem,1.6vw,1.45rem);line-height:1.45}.skip-link{z-index:100;background:var(--color-paper);color:var(--color-ink);padding:1rem 2rem;position:fixed;top:-100px;left:1rem}.skip-link:focus{top:1rem}.site-header{z-index:20;position:absolute;top:0;left:0;right:0}.header-inner{min-height:var(--header-h);background:var(--color-white);border-bottom:1px solid #2426262e;justify-content:space-between;align-items:center;gap:2rem;padding-inline:clamp(1rem,8.3vw,9rem) clamp(1rem,5.5vw,6rem);display:flex}.brand{flex-shrink:0;width:clamp(140px,12.3vw,190px)}.site-header nav ul{align-items:center;gap:clamp(1.25rem,10vw - 3rem,6rem);display:flex}.site-header nav a{min-height:44px;transition:opacity var(--duration-fast);align-items:center;font-size:clamp(.95rem,1.35vw,1.2rem);display:flex}.site-header nav a:hover{opacity:.65}.site-header nav a[aria-current]{text-underline-offset:.3em;font-weight:600;text-decoration:underline 2px}.mobile-navigation{display:none}.menu-toggle{cursor:pointer;place-items:center;width:44px;height:44px;margin-left:-13px;list-style:none;display:grid}.menu-toggle::-webkit-details-marker{display:none}.menu-icon{gap:4px;width:18px;display:grid}.menu-icon i{height:2px;transition:translate var(--duration-fast), rotate var(--duration-fast), opacity var(--duration-fast);background:currentColor;display:block}.mobile-navigation[open] .menu-icon i:first-child{translate:0 6px;rotate:45deg}.mobile-navigation[open] .menu-icon i:nth-child(2){opacity:0}.mobile-navigation[open] .menu-icon i:nth-child(3){translate:0 -6px;rotate:-45deg}.button{min-height:44px;font-family:var(--font-display);transition:background var(--duration-fast), color var(--duration-fast);border:0;border-radius:999px;justify-content:center;align-items:center;gap:.6rem;padding:.6rem 1.5rem .5rem;font-size:clamp(1rem,1.2vw,1.15rem);font-weight:700;line-height:1;display:inline-flex}.button--yellow{background:var(--color-yellow);color:var(--color-ink)}.button--dark{background:var(--color-graphite);color:var(--color-paper)}.button--outline{color:inherit;background:0 0;border:1.5px solid}.button--outline:hover{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-paper)}.dark .button--outline:hover{background:var(--color-paper);border-color:var(--color-paper);color:var(--color-ink)}.button-arrow{width:1.15em;height:1.15em;transition:translate var(--duration-fast);flex:none;margin-top:-.1em}.button:hover .button-arrow{translate:.25rem}.feature-cta{text-align:center;text-wrap:balance;margin-top:clamp(1.25rem,2vw,1.75rem)}.button--yellow:hover{background:var(--color-paper)}.button--dark:hover{background:var(--color-ink)}.text-link{text-underline-offset:.2em;align-items:center;gap:1rem;min-height:44px;text-decoration:underline;display:inline-flex}.framed{justify-content:center;margin-bottom:clamp(2rem,5vw,4.5rem);display:flex}.framed--end{justify-content:flex-end}.framed-heading{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.005em;padding:.42em 0 .32em .8em;font-size:clamp(1.75rem,3.95vw,3.6rem);font-weight:700;line-height:1;position:relative}.framed-heading:before{content:"";opacity:.7;border:1.5px solid;border-right:0;width:min(3.6em,70%);position:absolute;inset:0 auto 0 0}.framed--end .framed-heading{padding:.42em .8em .32em 0}.framed--end .framed-heading:before{border-left:0;border-right:1.5px solid;inset:0 0 0 auto}.page-hero{text-align:center;flex-direction:column;align-items:center;display:flex;overflow-x:clip}.hero-rule{background:var(--color-paper);width:2px;height:clamp(4rem,13.8vw,12rem);display:block}.page-hero .hero-rule:last-child{height:clamp(3.5rem,11vw,10rem)}.page-hero .signature{letter-spacing:.12em;margin-top:clamp(1.5rem,3.2vw,3rem)}.page-hero h1{color:#ecebe4;margin:.05em 0 clamp(2rem,5.5vw,5rem);font-size:clamp(3rem,10.5vw,9.5rem);line-height:1}.page-hero-subtitle{color:var(--color-sand);font-family:var(--font-body);letter-spacing:-.01em;margin-top:.35em;font-size:clamp(1.4rem,3.2vw,3rem);font-style:italic;font-weight:300;display:block}.home-hero{height:100svh;min-height:34rem;color:var(--color-white);text-align:center;flex-direction:column;padding-bottom:clamp(2rem,4vw,4rem);display:flex}.hero-mosaic{flex:1;min-height:0;display:flex}.mosaic-tile{flex:1 1 0;min-width:0;overflow:hidden}.mosaic-tile:first-child{flex-grow:.94}.mosaic-tile img{object-fit:cover;height:100%}.home-hero h1{margin-top:clamp(1.5rem,3.5vw,3.5rem);font-size:clamp(1.6rem,2.9vw,2.8rem);line-height:1.2}.hero-baseline{justify-content:center;align-items:center;gap:.7rem;margin-top:.75rem;font-size:clamp(1.05rem,1.75vw,1.6rem);font-style:italic;font-weight:300;display:flex}.hero-baseline img{flex:none;width:1.1em}.photo-row{display:flex}.photo-row>figure{flex:var(--ratio) 1 0;min-width:0;aspect-ratio:var(--ratio);overflow:hidden}.photo-row img{object-fit:cover;height:100%;transition:transform var(--duration-slow) var(--ease-premium)}.photo-row>figure:hover img{transform:scale(1.03)}.ratio-60{--ratio:.6}.ratio-67{--ratio:.67}.ratio-75{--ratio:.75}.ratio-80{--ratio:.8}.ratio-90{--ratio:.9}.ratio-100{--ratio:1}.ratio-110{--ratio:1.1}.ratio-120{--ratio:1.2}.ratio-133{--ratio:1.33}.ratio-150{--ratio:1.5}.ratio-160{--ratio:1.6}.history-duo{grid-template-columns:1fr 1fr;display:grid}.history-duo img{aspect-ratio:1.93;object-fit:cover}.narrow{text-align:center;max-width:62rem}.claim{font-family:var(--font-body);font-size:var(--text-copy);text-transform:uppercase;margin-top:clamp(2.5rem,5vw,4rem);font-style:italic}.story{font-size:var(--text-copy);text-align:left;margin-top:1.25rem;font-style:italic;line-height:1.4}.agency-rule{background:var(--color-paper);border:0;border-radius:3px;width:min(545px,60%);height:4px;margin:clamp(2.5rem,5vw,4rem) auto}.fundamentals-title{color:var(--color-orange);text-transform:uppercase;font-size:clamp(1.6rem,2.8vw,2.6rem)}.fundamentals{grid-template-columns:repeat(4,1fr);gap:clamp(1.25rem,1.7vw,2rem);margin-top:clamp(2rem,4vw,3.5rem);padding-inline:clamp(0rem,1vw,1rem);display:grid}.fundamentals li{--name:var(--color-orange);--accent:var(--color-paper)}.fundamentals li:nth-child(2n){--name:var(--color-paper);--accent:var(--color-orange)}.fundamental-name{border-bottom:2px solid var(--accent);color:var(--name);font-family:var(--font-display);align-items:center;gap:.5em;padding-bottom:.3em;font-size:clamp(1.5rem,2.3vw,2.2rem);font-weight:700;line-height:1.1;display:flex}.fundamentals li:nth-child(2n) .fundamental-name{font-family:var(--font-body);font-weight:400}.fundamental-icon{background:var(--accent);flex:none;width:1.15em;height:1.15em;mask:url(/icons/expertise.png) 50%/contain no-repeat}.fundamental-icon--experience{mask-image:url(/icons/experience.svg)}.fundamental-icon--sur-mesure{mask-image:url(/icons/sur-mesure.png)}.fundamental-icon--cle-en-main{mask-image:url(/icons/cle-en-main.svg)}.fundamental-number{margin-top:.6rem;font-size:clamp(1.3rem,2vw,1.9rem);font-weight:300;display:block}.carousel{background:var(--color-paper);padding-inline:3.2vw 11.2vw;position:relative}.carousel-track{--carousel-gap:2.86vw;gap:var(--carousel-gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:relative}.carousel-track>:nth-child(n+4){width:calc((100% - 2 * var(--carousel-gap)) / 3);visibility:hidden;position:absolute;top:0;left:0}.carousel-track img{aspect-ratio:.845;object-fit:cover}.carousel-next{border:2px solid var(--color-ink);width:clamp(32px,3.2vw,48px);height:clamp(32px,3.2vw,48px);color:var(--color-ink);background:0 0;border-radius:50%;position:absolute;top:50%;right:5.2vw;translate:0 -50%}.carousel-next:before{content:"→";font-size:clamp(1.1rem,1.6vw,1.5rem);line-height:1}.carousel-next:hover{background:var(--color-ink);color:var(--color-paper)}.showroom-caption{font-size:var(--text-copy);text-align:center;margin-top:clamp(2rem,5.5vw,5rem);font-style:italic}.team{padding-bottom:clamp(4.5rem,9.5vw,9rem);position:relative}.team-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:4vw;padding-left:3vw;display:grid}.team-grid img{aspect-ratio:1.276;object-fit:cover}.team-copy{font-size:clamp(1rem,1.6vw,1.5rem);font-style:italic;line-height:1.4}.team-illustration{width:clamp(72px,18.3vw,280px);position:absolute;bottom:0;right:0}.territory-grid{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:center;gap:6.4vw;padding-left:2.3vw;display:grid}.territory-copy{font-size:var(--text-copy);grid-area:1/1;line-height:1.55}.territory-map{grid-area:1/2;justify-self:center;width:100%;max-width:560px;position:relative;container-type:inline-size}.territory-map:before,.territory-map:after{content:"";background:var(--color-paper);position:absolute}.territory-map:before{aspect-ratio:1;border-radius:50%;width:4.2%;top:39.5%;left:57.9%;translate:-50% -50%}.territory-map:after{aspect-ratio:.73;width:7.2%;top:59%;left:25.2%;translate:-50%;mask:url(/icons/repere.svg) 50%/contain no-repeat}.map-loire{width:70.6%;position:absolute;top:45%;left:25.2%}.map-city,.map-agency{color:var(--color-orange-light);letter-spacing:.03em;white-space:nowrap;font-size:4.9cqi;font-style:italic;font-weight:300;position:absolute;translate:0 -50%}.map-city{text-transform:uppercase;top:39%;left:62.6%}.map-agency{top:76.5%;left:15.2%}.meet-band{background:var(--color-orange);color:var(--color-white);padding-block:2.5rem 2rem;display:none}.meet-band .container{grid-template-columns:1fr auto;align-items:end;gap:.5rem 1rem;display:grid}.meet-band p{color:var(--color-ink);grid-column:1/-1;margin-bottom:1.25rem;font-size:.85rem}.meet-band h2{font-size:1.85rem;line-height:1.05}.meet-band h2 span{font-family:var(--font-body);font-size:1.6rem;font-weight:400;display:block}.meet-band .button{grid-column:1/-1;justify-self:start;min-height:52px;margin-top:1.25rem;padding:.85rem 2rem .75rem;font-size:1.15rem;box-shadow:0 10px 24px #1c1e1e47}.fireplaces{position:relative}.ribbon{z-index:1;aspect-ratio:1.1;pointer-events:none;width:25.6849%;position:absolute;top:-6.5vw;right:0;overflow:hidden}.ribbon span{background:var(--color-orange);color:var(--color-white);font-family:var(--font-display);text-align:center;text-transform:uppercase;padding:.3em 0 .2em;font-size:max(1.17rem,2.4vw);font-weight:700;position:absolute;top:30%;left:-25%;right:-25%;rotate:-30deg}.lead-copy{text-align:center;max-width:76rem;margin:clamp(2rem,4.5vw,4rem) auto}.lead-block{justify-items:center;margin-block:clamp(2rem,4.5vw,4rem);display:grid}.lead-block .lead-copy{margin-block:0 clamp(1.5rem,2.5vw,2rem)}.features{gap:clamp(3rem,8vw,7.5rem);display:grid}.feature{grid-template-columns:minmax(0,36fr) minmax(0,64fr);align-items:center;gap:1.6vw;display:grid}.feature-copy{max-width:27rem;padding-left:var(--gutter);text-align:right;justify-self:end}.feature--images-first{grid-template-columns:minmax(0,64fr) minmax(0,36fr)}.feature--images-first .feature-copy{padding:0 var(--gutter) 0 0;text-align:left;grid-area:1/2;justify-self:start}.feature-title{font-family:var(--font-body);text-transform:uppercase;margin-bottom:1.3em;font-size:clamp(1.1rem,1.75vw,1.6rem);font-weight:400;line-height:1.3}.feature p{font-size:var(--text-copy);line-height:1.55}.pro-overview{overflow-x:clip}.pro-intro{padding-inline:calc(16vw - var(--gutter)) calc(7vw - var(--gutter));margin-top:clamp(2.5rem,5vw,4.5rem)}.pro-intro h3{width:fit-content;font-family:var(--font-body);font-size:var(--text-copy);text-transform:uppercase;margin:0 0 1.75rem 14vw;padding-bottom:.9rem;font-style:italic;font-weight:800;position:relative}.pro-intro h3:after{content:"";background:currentColor;width:200vw;height:3px;position:absolute;bottom:0;right:-2rem}.pro-intro p{font-size:var(--text-copy);font-style:italic;line-height:1.5}.night{background:var(--color-graphite-deep)}.gallery-banner{padding:clamp(.85rem, 1.3vw, 1.4rem) var(--gutter);background:var(--color-lemon);color:var(--color-ink);text-align:center;text-wrap:balance;font-size:clamp(.95rem,1.55vw,1.5rem);font-weight:500;line-height:1.4}.service-spotlight{padding-bottom:calc(var(--section-pad) * 1.5)}.spotlight-rows{display:flex}.spotlight-rows>.photo-row{flex:1 1 0;min-width:0}.gallery-banner--peach{background:var(--color-peach)}.project-grid{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.project-grid img{aspect-ratio:4/3;object-fit:cover}.project-grid h3{margin-top:1rem}.project-grid p{margin-top:.75rem}.project-detail-cover img{object-fit:cover;max-height:650px}.compare-grid{grid-template-columns:1fr 1fr;gap:clamp(2.5rem,3.5vw,4rem) clamp(1.5rem,3vw,3rem);display:grid}#avant-apres .compare-grid{--compare-width:max(100%, min(100vw - var(--gutter) * 2, 2000px));width:var(--compare-width);margin-inline:calc((100% - var(--compare-width)) / 2)}.comparison-stage{aspect-ratio:4/3;background:var(--color-graphite-deep);touch-action:pan-y;position:relative;overflow:hidden}#avant-apres .comparison-stage{aspect-ratio:1.6}.comparison-stage img{object-fit:cover;height:100%;position:absolute;inset:0}.comparison-before{clip-path:inset(0 50% 0 0)}.compare-label{z-index:1;background:var(--color-white);color:var(--color-ink);text-transform:uppercase;padding:.55em 1.5em;font-size:clamp(.7rem,1.25vw,1.1rem);line-height:1;position:absolute;top:clamp(.5rem,1.1vw,1rem)}.compare-label--before{left:clamp(.5rem,1vw,1rem)}.compare-label--after{right:clamp(.5rem,1vw,1rem)}.comparison-line{background:var(--color-white);pointer-events:none;width:3px;position:absolute;top:0;bottom:0;left:50%;translate:-50%}.comparison-line:after{content:"";background:var(--color-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23242626' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M8 8l-4 4 4 4M16 8l4 4-4 4'/%3E%3C/svg%3E") center / 62% no-repeat;border-radius:50%;width:clamp(40px,3.2vw,48px);height:clamp(40px,3.2vw,48px);position:absolute;top:50%;left:50%;translate:-50% -50%;box-shadow:0 2px 8px #00000040}.comparison-caption{margin-top:1.1rem;font-size:clamp(.85rem,1.25vw,1.1rem)}.comparison-input{--value:50%;cursor:ew-resize;appearance:none;background:0 0;width:min(410px,70%);height:24px;margin:.6rem 0 0;display:block}.comparison-input::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--color-sand) var(--value), #63676a var(--value));border-radius:3px;height:6px}.comparison-input::-moz-range-track{background:#63676a;border-radius:3px;height:6px}.comparison-input::-moz-range-progress{background:var(--color-sand);border-radius:3px;height:6px}.comparison-input::-webkit-slider-thumb{background:var(--color-sand);appearance:none;border:0;border-radius:50%;width:14px;height:14px;margin-top:-4px}.comparison-input::-moz-range-thumb{background:var(--color-sand);border:0;border-radius:50%;width:14px;height:14px}.comparison-help{color:var(--color-orange-light);margin-top:.75rem;font-size:clamp(.8rem,1.25vw,1.1rem)}.comparison-static{margin-top:.75rem;font-size:.85rem}.contact-hero{isolation:isolate;background:var(--color-graphite-deep);min-height:min(100svh,60rem);color:var(--color-paper);align-items:center;padding-block:clamp(2rem,4vw,3rem);display:grid;position:relative}.contact-background,.contact-hero:before{top:calc(-1 * var(--header-h));z-index:-2;position:absolute;bottom:0;left:0;right:0}.contact-background{width:100%;height:calc(100% + var(--header-h));object-fit:cover}.contact-hero:before{content:"";z-index:-1;background:#141616b8}.contact-photos{display:none}.contact-stage{grid-template-columns:minmax(0,50.4fr) minmax(0,22.8fr) minmax(0,26.8fr);align-items:center;display:grid}.contact-stage>.contact-band{margin-left:calc(-1 * var(--gutter));padding-left:calc(var(--gutter) - .25rem)}.contact-band{background:var(--color-graphite);color:var(--color-paper);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 1.5rem;padding:.9rem 1.25rem .9rem 1.75rem;display:flex}.contact-band>:first-child{font-family:var(--font-body);letter-spacing:-.01em;font-size:clamp(1.1rem,1.6vw,1.45rem);font-weight:400}.contact-phone{aspect-ratio:.49;outline:3px solid var(--color-paper);background:#111;border:clamp(6px,.7vw,10px) solid #111;border-radius:clamp(1.6rem,3vw,2.6rem);position:relative;overflow:hidden}.contact-phone:before{content:"";z-index:1;background:#111;border-radius:0 0 1rem 1rem;width:45%;height:5%;position:absolute;top:0;left:50%;translate:-50%}.contact-phone img{object-fit:cover;height:100%}.contact-panel{z-index:1;background:var(--color-graphite);border-radius:1.25rem;margin-left:-3.7vw;padding:clamp(1.5rem,2.5vw,2.5rem);position:relative}.contact-panel h2{font-family:var(--font-body);letter-spacing:-.02em;margin-bottom:.75rem;font-size:clamp(1.6rem,2.65vw,2.4rem);font-weight:300}.chat-bubbles{width:clamp(3.5rem,6.4vw,6rem);position:absolute;bottom:-1.5rem;right:.2rem}.contact-details li{overflow-wrap:anywhere;border-bottom:1px dashed #f5f3ee8c;align-items:center;gap:.9rem;padding-block:.85rem;display:flex;position:relative}.contact-details a{font-size:.95rem;line-height:1.35}.contact-details a:after{content:"";position:absolute;inset:0}.contact-details a:hover,.contact-details li:last-child a{text-underline-offset:.2em;text-decoration:underline}.contact-icon{width:1.6rem;height:1.6rem;color:var(--color-yellow);flex:none}.contact-icon--pin{background:var(--color-yellow);mask:url(/icons/repere.svg) 50%/contain no-repeat}.contact-form-layout{max-width:60rem}.site-footer{text-align:left}.contact-band--prominent{padding:clamp(2rem, 4vw, 3.5rem) max(var(--gutter), calc((100% - var(--container-main)) / 2));background:var(--color-orange);color:var(--color-white);gap:1.5rem 2.5rem}.contact-band--prominent>:first-child{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.5rem);font-weight:700;line-height:1.1}.contact-band--prominent .button:focus-visible{outline-color:var(--color-white)}.contact-band--prominent .button{min-height:56px;padding:1rem 2rem .9rem;font-size:clamp(1.05rem,1.4vw,1.25rem)}.footer-grid{grid-template-columns:1.2fr 1fr .8fr;gap:clamp(2rem,5vw,5rem);padding-block:clamp(2.5rem,5vw,4rem);display:grid}.footer-monogram{width:48px;margin-bottom:1.25rem;display:inline-block}.footer-baseline{max-width:30ch;margin-top:.75rem;font-style:italic}.footer-title{text-transform:uppercase;margin-bottom:.75rem;font-size:clamp(1.1rem,1.5vw,1.35rem)}.site-footer nav li a{transition:color var(--duration-fast);padding-block:.35rem;display:inline-block}.site-footer nav li a:hover{color:var(--color-yellow)}.footer-bottom{background:var(--color-night);padding-block:1rem;font-size:.8rem}.footer-bottom .container{flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;display:flex}.footer-bottom nav{flex-wrap:wrap;gap:0 1.5rem;display:flex}.footer-bottom a{padding-block:.4rem;display:inline-block}.footer-bottom a:hover{text-decoration:underline}.site-footer nav li a,.footer-bottom a,.breadcrumbs a{position:relative}.site-footer nav li a:after,.footer-bottom a:after,.breadcrumbs a:after{content:"";height:max(100%,44px);position:absolute;top:50%;left:-.25rem;right:-.25rem;translate:0 -50%}.back-to-top{display:none}.service-links{grid-template-columns:1fr 1fr;gap:0 3rem;display:grid}.service-links a{border-bottom:1px solid var(--color-line);font-family:var(--font-display);justify-content:space-between;align-items:center;gap:1rem;padding-block:1.5rem;font-size:clamp(1.1rem,2vw,1.7rem);display:flex}.service-links a:hover{padding-left:.5rem}.breadcrumbs{flex-wrap:wrap;gap:.5rem;padding-block:1.5rem;font-size:.8rem;display:flex}.breadcrumbs a{text-underline-offset:4px;text-decoration:underline}.service-overview{padding-top:0}.service-overview .breadcrumbs{margin-bottom:clamp(1.5rem,4vw,3.5rem)}.cta-row{flex-wrap:wrap;justify-content:center;gap:.75rem 1rem;display:flex}.service-gallery{gap:clamp(.5rem,1vw,1rem)}.service-gallery:not(:has(>:nth-child(3))){width:min(calc(100% - var(--gutter) * 2), 56rem)}.service-lead{justify-items:center;padding-bottom:1rem;display:grid}.service-lead .lead-copy{max-width:56rem;margin-bottom:2rem}.service-others{margin-bottom:1.25rem;font-size:clamp(1.5rem,2.6vw,2.25rem)}.service-features .feature{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(2rem,6vw,6rem)}.service-features .feature--images-first{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.service-features .feature--text{grid-template-columns:minmax(0,1fr)}.service-features .feature--text .feature-copy{justify-self:center;max-width:44rem}.service-features .feature-copy,.service-features .feature--images-first .feature-copy{text-align:left;justify-self:start;max-width:34rem;padding:0}.project-steps-section{background:var(--color-paper)}.project-steps-layout{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start;gap:2.5rem clamp(2rem,5vw,5rem);display:grid}.project-steps{border-bottom:1px solid var(--color-line);grid-row:span 2}.project-steps-closing{align-self:end}.project-steps-closing .framed{margin-bottom:0}.project-steps-closing .framed-heading{white-space:nowrap}@media (width>=1024px) and (width<=1679px){.project-steps-section--closing .framed-heading{white-space:normal;width:min-content}}@media (width>=1680px){.project-steps-section--closing .framed-heading{white-space:nowrap}}.project-steps-intro .framed{justify-content:flex-start;margin-bottom:2.5rem}.project-steps-intro .framed-heading{text-wrap:balance}.project-steps-legend{letter-spacing:.06em;text-transform:uppercase;grid-template-columns:repeat(4,minmax(0,7rem));gap:.25rem;font-size:.72rem;font-weight:600;display:grid}.project-steps-legend li{border-top:5px solid var(--c);padding-top:.75rem}.project-steps li,.project-steps-legend li{--c:var(--color-step-1)}.project-steps li:nth-child(2),.project-steps-legend li:nth-child(2){--c:var(--color-step-2)}.project-steps li:nth-child(3),.project-steps-legend li:nth-child(3){--c:var(--color-step-3)}.project-steps li:nth-child(4),.project-steps-legend li:nth-child(4){--c:var(--color-step-4)}.project-steps li{border-top:4px solid var(--c);grid-template-columns:clamp(4.5rem,12vw,10.75rem) minmax(0,1fr);padding-block:clamp(1.75rem,3vw,2.5rem) clamp(2rem,4vw,3.25rem);display:grid}.project-step-number{color:var(--c);font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(3rem,7vw,6.5rem);font-weight:700;line-height:.8}.project-steps h3{margin-bottom:.75rem;font-size:clamp(1.4rem,2.4vw,2.25rem)}.project-steps p{max-width:36rem;font-size:clamp(.95rem,1.2vw,1.15rem);line-height:1.6}.service-faq+.section{padding-top:0}.faq-list{border-top:1px solid var(--color-line);max-width:56rem;margin-inline:auto}.faq-list details{border-bottom:1px solid var(--color-line)}.faq-list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1.5rem;min-height:44px;padding-block:1.25rem;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"";width:.7rem;height:.7rem;transition:rotate var(--duration-fast) var(--ease-premium);border-bottom:2px solid;border-right:2px solid;flex:none;margin-right:.3rem;translate:0 -.2rem;rotate:45deg}.faq-list details[open] summary:after{translate:0 .15rem;rotate:-135deg}.faq-list summary h3{font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.3}.faq-list details p{max-width:48rem;padding-bottom:1.5rem;font-size:clamp(.95rem,1.15vw,1.05rem);line-height:1.6}.commitment{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);grid-template-areas:"copy card""cta card";align-items:end;gap:0 clamp(2rem,6vw,6rem);display:grid}.commitment-copy{grid-area:copy}.commitment-card{grid-area:card;align-self:center}.commitment .eyebrow{color:var(--color-orange-light)}.commitment h2{margin:.75rem 0 1.25rem;font-size:clamp(1.9rem,3.6vw,3.2rem);line-height:1.1}.commitment-copy>p:not(.eyebrow){max-width:36rem;font-size:var(--text-copy);line-height:1.55}.commitment .cta-row{grid-area:cta;justify-content:flex-start;align-self:start;margin-top:2rem}.commitment-card{background:var(--color-graphite-deep);border:1px solid #f5f3ee1f;border-radius:1.25rem;padding:clamp(1.5rem,3vw,2.5rem)}.commitment-card h3{color:#f5f3eebf;font-family:var(--font-body);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.75rem;font-size:.8rem;font-weight:600}.checklist li{border-bottom:1px solid #f5f3ee1f;align-items:center;gap:.85rem;padding-block:.85rem;font-size:1.05rem;display:flex}.checklist svg{background:var(--color-yellow);width:1.75rem;height:1.75rem;color:var(--color-ink);border-radius:50%;flex:none;padding:.3rem}.checklist+h3{margin-top:2rem}.trades{flex-wrap:wrap;gap:.5rem;display:flex}.trades li{background:#f5f3ee14;border-radius:.5rem;padding:.45rem .85rem;font-size:.9rem}.prose{max-width:var(--container-copy);margin-inline:auto}.prose h2{margin-block:3rem 1.5rem;font-size:clamp(1.75rem,3vw,2.5rem)}.prose h3{margin-block:2rem 1rem;font-size:1.4rem}.prose p{margin-block:1.2rem}.prose a{text-underline-offset:4px;text-decoration:underline}.prose ul{padding-left:1.5rem;list-style:outside}.prose li{margin-bottom:.5rem}.form-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.form-field{flex-direction:column;gap:.5rem;display:flex}.form-field--full{grid-column:1/-1}.form-field label,.form-label{font-size:.85rem;font-weight:500}.form-field input,.form-field textarea,.form-field select{border:1px solid var(--color-line);background:var(--color-paper);width:100%;min-height:48px;color:var(--color-ink);border-radius:0;padding:.85rem}.form-field textarea{resize:vertical;min-height:150px}.form-field [aria-invalid=true]{border-color:var(--color-error)}.field-error{color:var(--color-error);font-size:.85rem}.checkbox-field{align-items:start;gap:.8rem;margin-block:1.5rem;font-size:.85rem;display:flex}.checkbox-field input{width:20px;height:20px;accent-color:var(--color-ink);flex-shrink:0;margin-top:.25rem}.checkbox-field a{text-underline-offset:3px;text-decoration:underline}.form-status{border-left:3px solid var(--color-ink);background:var(--color-paper);margin-block:1rem;padding:1rem}.form-status:empty{display:none}.form-help{margin-bottom:1.5rem;font-size:.8rem}.honeypot{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{opacity:.8}.error-page{text-align:center;padding-block:clamp(5rem,10vw,10rem)}.error-page h1{font-size:clamp(5rem,18vw,16rem)}.error-page h2{margin-block:1rem 2rem}.error-page h2>span{font-weight:400}.error-links{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2rem;display:flex}.reveal-running{animation:image-reveal var(--duration-slow) var(--ease-premium) both}@keyframes image-reveal{0%{clip-path:inset(0 0 100%);opacity:.6}to{clip-path:inset(0);opacity:1}}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.18s}.mosaic-tile img{animation:hero-settle 1s var(--ease-premium) both}.mosaic-tile:nth-child(2n) img{animation-delay:.1s}@keyframes hero-settle{0%{transform:scale(1.035)}to{transform:scale(1)}}}@media (width>=1024px){.agency-intro .framed,.showroom .framed,.team .framed,.territory .framed{justify-content:flex-start}.agency-intro .framed{padding-left:16.8%}.showroom .framed{padding-left:23.5%}.team .framed{padding-left:21.6%}.territory .framed{padding-left:8.6%}}@media (width<=1023px){:root{--header-h:84px}.project-steps-layout{grid-template-rows:none;grid-template-columns:minmax(0,1fr)}.project-steps{grid-row:auto}.header-inner{grid-template-columns:1fr auto 1fr;padding-inline:clamp(1rem,9.7vw,3rem);display:grid}.brand{grid-column:2;width:clamp(96px,24.6vw,150px)}.desktop-navigation{display:none}.mobile-navigation{grid-area:1/1;justify-self:start;display:block}.mobile-navigation nav{background:var(--color-white);border-bottom:1px solid #2426262e;padding:.75rem clamp(1rem,8.2vw,3rem) 2.25rem;position:absolute;top:100%;left:0;right:0}.mobile-navigation nav ul{gap:0;max-width:16rem;display:grid}.mobile-navigation nav a{border-bottom:1px solid var(--color-ink);font-size:.95rem;text-decoration:none}.mobile-navigation nav a:hover,.mobile-navigation nav a[aria-current]{border-color:var(--color-red);color:var(--color-red);font-weight:700}.back-to-top{z-index:30;right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));background:var(--color-graphite);width:48px;height:48px;color:var(--color-paper);opacity:0;visibility:hidden;transition:opacity var(--duration-fast), translate var(--duration-fast), visibility var(--duration-fast);border:1px solid #f5f3ee59;border-radius:50%;place-items:center;display:grid;position:fixed;translate:0 .75rem;box-shadow:0 6px 18px #0000004d}.back-to-top.is-visible{opacity:1;visibility:visible;translate:0}.back-to-top svg{width:22px;height:22px}.footer-bottom{padding-bottom:calc(max(1rem, env(safe-area-inset-bottom)) + 48px + .75rem)}.contact-stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem}.contact-stage>.contact-band{grid-column:1/-1}.contact-phone{justify-self:end;width:min(100%,240px)}.contact-panel{margin-left:-3rem}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}@media (width<=639px){.page-hero .hero-rule,.page-hero .hero-rule:last-child{height:33vw}.page-hero .signature{margin-top:2.5rem;font-size:.7rem}.page-hero h1{margin-bottom:2.5rem;font-size:13vw}.framed{margin-bottom:2rem}.framed-heading{padding-left:1em;font-size:clamp(1.1rem,5.2vw,1.5rem)}.project-steps-section .framed-heading{font-size:clamp(1.5rem,7.5vw,2rem)}.project-steps-legend{letter-spacing:.02em;font-size:min(.72rem,2.6vw)}.mosaic-tile:not(:nth-child(2)){display:none}.mosaic-tile img{transform-origin:13% 66%;scale:1.24}.home-hero h1{margin-top:1.75rem;font-size:1.25rem}.hero-title-start{display:block}.hero-title-extra{display:none}.hero-baseline{gap:.4rem;font-size:.83rem}.hero-baseline img{width:1.35em}.photo-row--wrap{grid-template-columns:1fr 1fr;display:grid}.photo-row--wrap>figure{aspect-ratio:1.35}.photo-row--wrap>figure:last-child:nth-child(odd){aspect-ratio:2.7;grid-column:span 2}.photo-row--wrap>figure:last-child:nth-child(odd):is(.ratio-60,.ratio-67,.ratio-75,.ratio-80,.ratio-90){aspect-ratio:1}.photo-row--wrap>figure:last-child:nth-child(odd) img{object-position:50% 60%}.ribbon{aspect-ratio:.85;top:-12vw}.ribbon span{background:var(--color-orange-deep);font-size:.72rem;top:42%}.photo-row>.hide-on-mobile{display:none}.spotlight-rows{flex-direction:column}.story,.team-copy,.territory-copy,.showroom-caption,.lead-copy,.pro-intro p{font-size:.85rem}.fundamentals{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2rem;padding-inline:0}.fundamental-name{flex-wrap:wrap;font-size:clamp(1.15rem,5.4vw,1.5rem)}.carousel{padding-inline:3.3vw 15vw}.carousel-track{--carousel-gap:2vw}.carousel-next{right:3.5vw}.team{padding-bottom:4.5rem}.team-grid{grid-template-columns:minmax(0,1fr);gap:1.25rem;padding-left:0}.team-grid>:first-child{margin-inline:calc(-1 * var(--gutter))}.team-grid img{aspect-ratio:1.37}.team-copy{font-size:.9rem}.territory-grid{padding-left:0;display:flow-root}.territory-map{float:right;width:46%;margin:0 0 .75rem .75rem}.meet-band{display:block}.feature{grid-template-columns:minmax(0,46fr) minmax(0,54fr);gap:.75rem}.feature--images-first{grid-template-columns:minmax(0,54fr) minmax(0,46fr)}.feature-cta{max-width:100%;margin-top:1rem;padding:.55rem .9rem .5rem;font-size:.78rem;line-height:1.2}.feature-cta .button-arrow{display:none}.feature-title{margin-bottom:1em;font-size:.8rem}.feature p{font-size:.78rem}.feature .photo-row{flex-direction:column}.feature .photo-row>figure{aspect-ratio:1.2;flex:none;width:100%}.service-features .feature,.service-features .feature--images-first{grid-template-columns:minmax(0,1fr);gap:1.25rem}.service-features .feature-copy,.service-features .feature--images-first .feature-copy{grid-area:2/1;justify-self:stretch;max-width:none}.commitment{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy""card""cta"}.commitment-card{margin-top:2rem}.cta-row .button{flex:100%}.service-features .feature-title{font-size:.95rem}.service-features .feature p{font-size:1rem}.service-features .feature-cta{padding:.6rem 1.5rem .5rem;font-size:1rem}.service-features .feature-cta .button-arrow{display:block}.service-lead .lead-copy{text-align:left;font-size:1.05rem}.pro-intro{padding-inline:0}.pro-intro h3{text-align:center;width:auto;margin:0 0 1rem;font-size:.8rem}.pro-intro h3:after{left:calc(92vw - var(--gutter) - 200vw)}#avant-apres .comparison-stage{aspect-ratio:2.15}.contact-hero{flex-direction:column;align-items:stretch;min-height:100svh;padding-block:0 2rem;display:flex}.contact-hero>.contact-stage{flex:1;align-content:center}.contact-photos{grid-template-columns:1fr 1fr;margin-bottom:2.75rem;display:grid}.contact-photos img{aspect-ratio:1.39;object-fit:cover}.contact-stage{grid-template-columns:minmax(0,38fr) minmax(0,62fr);gap:1.75rem 0}.contact-stage>.contact-band{margin-inline:calc(-1 * var(--gutter));padding:.55rem var(--gutter);flex-wrap:nowrap;gap:.75rem}.contact-stage>.contact-band>:first-child{font-size:.8rem}.contact-stage .button{flex:none;min-height:32px;padding:.45rem 1rem;font-size:.8rem}.contact-phone{border-width:5px;border-radius:1.1rem;outline-width:2px;justify-self:stretch;width:auto;margin-left:8%}.contact-panel{border-radius:.9rem;margin-left:-1.5rem;padding:.9rem .8rem}.contact-panel h2{margin-bottom:.25rem;font-size:1.1rem}.contact-panel .contact-details li{gap:.5rem;padding-block:.45rem}.contact-panel .contact-details a{font-size:.72rem}.contact-panel .contact-icon{width:1rem;height:1rem}.chat-bubbles{width:2.6rem;bottom:-1.25rem;right:-.75rem}.contact-band--prominent{text-align:center;flex-direction:column;gap:1.1rem}.contact-band--prominent>:first-child{white-space:nowrap;font-size:min(4.8vw,1.6rem)}.contact-band--prominent .button{min-height:48px;padding:.8rem 1.6rem .7rem;font-size:1rem}.footer-grid{gap:0;padding-block:1.5rem .5rem}.footer-grid>*{padding-block:1.75rem}.footer-grid>*+*{border-top:1px solid #f5f3ee24}.footer-grid,.compare-grid,.project-grid,.service-links,.form-grid{grid-template-columns:minmax(0,1fr)}.footer-brand{grid-column:auto;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:1.1rem;display:grid}.footer-monogram{grid-row:span 2;width:44px;margin:0}.footer-brand .signature{font-size:1rem}.footer-baseline{margin-top:.2rem;font-size:.9rem}.site-footer nav ul{grid-template-columns:1fr 1fr;column-gap:1rem;display:grid}.footer-bottom .container{text-align:center;flex-direction:column;align-items:center}.footer-bottom nav{justify-content:center}.form-field--full{grid-column:auto}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal-running{clip-path:none;opacity:1}.photo-row>figure:hover img{transform:none}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
