/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.italic{font-style:italic}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--color-paper:oklch(97% .008 78);--color-paper-2:oklch(93% .014 74);--color-paper-3:oklch(87% .02 70);--color-paper-glass:oklch(97% .008 78/.94);--color-ink:oklch(18% .014 52);--color-ink-2:oklch(26% .018 49);--color-muted:oklch(44% .014 54);--color-rule:oklch(76% .016 68);--color-accent:oklch(47% .095 52);--color-accent-ink:var(--color-paper);--color-focus:oklch(45% .22 250);--color-photo-shade:oklch(12% .012 55/.78);--color-photo-ink:oklch(97% .008 78);--color-transparent:transparent;--color-tap:oklch(18% .014 52/.1);--font-display:var(--font-cormorant), "Times New Roman", serif;--font-body:var(--font-plex), Arial, sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.4rem;--text-xl:1.8rem;--text-2xl:2.4rem;--text-3xl:clamp(2.8rem, 6vw, 5.6rem);--text-display:clamp(3.6rem, 11vw, 9rem);--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--space-4xl:9rem;--page-gutter:clamp(1rem, 4.5vw, 4.75rem);--content-max:92rem;--copy-max:42rem;--rule-hair:1px;--ease-out:cubic-bezier(.16, 1, .3, 1);--duration-micro:.12s;--duration-short:.22s;--duration-entry:.76s;--control-min:2.75rem;--z-base:1;--z-raised:10;--z-floating:30}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--space-2xl);overflow-x:clip}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);text-rendering:optimizelegibility;margin:0;line-height:1.6;overflow-x:clip}main{min-width:0}a{color:inherit;text-decoration-thickness:var(--rule-hair);text-underline-offset:var(--space-2xs)}img{background:var(--color-paper-2);max-width:100%;height:auto;display:block}figure,h1,h2,h3,p{margin:0}h1,h2,h3{min-width:0;font-family:var(--font-display);text-wrap:balance;overflow-wrap:anywhere;font-weight:400;line-height:.96}ul,ol{margin:0;padding:0}::selection{background:var(--color-accent);color:var(--color-accent-ink)}:focus-visible{outline:var(--rule-hair) solid var(--color-focus);outline-offset:var(--space-2xs)}.eyebrow,figcaption,.project__heading>p,.masthead__line{color:var(--color-muted);font-size:var(--text-xs);letter-spacing:.11em;text-transform:uppercase;font-weight:700;line-height:1.3}.masthead{z-index:var(--z-raised);gap:var(--space-sm);padding:var(--space-md) var(--page-gutter) var(--space-lg);border-bottom:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-glass);-webkit-backdrop-filter:blur(var(--space-sm));backdrop-filter:blur(var(--space-sm));animation:masthead-entry var(--duration-entry) var(--ease-out) both;align-items:end;display:grid;position:sticky;top:0}.masthead__brand{font-family:var(--font-display);font-size:var(--text-2xl);justify-self:start;line-height:.8;text-decoration:none}.masthead__nav{gap:var(--space-xs) var(--space-lg);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.masthead__nav a{min-height:var(--control-min);white-space:nowrap;border-bottom:var(--rule-hair) solid var(--color-transparent);transition:border-color var(--duration-short) var(--ease-out);align-items:center;text-decoration:none;display:inline-flex}.masthead__nav a:hover,.masthead__nav a[aria-current=page]{border-color:var(--color-ink)}.hero-project{background:var(--color-paper-2);animation:hero-entry var(--duration-entry) var(--ease-out) both}.hero-project>img{aspect-ratio:3/2;object-fit:cover;object-position:center;width:100%}.hero-project__caption{gap:var(--space-lg);padding:var(--space-lg) var(--page-gutter) var(--space-xl);flex-direction:column;display:flex}.hero-project__caption p{color:var(--color-muted);font-size:var(--text-xs);letter-spacing:.11em;text-transform:uppercase;font-weight:700}.hero-project__caption h1{margin-top:var(--space-sm);font-size:var(--text-display)}.hero-project__location{margin-top:var(--space-sm);color:var(--color-muted);font-size:var(--text-sm);display:block}.hero-project__cta{min-height:var(--control-min);padding-inline:var(--space-lg);border:var(--rule-hair) solid currentColor;font-size:var(--text-sm);white-space:nowrap;border-radius:999px;align-self:flex-start;align-items:center;text-decoration:none;display:inline-flex}.opening,.projects,.worksite,.about,.contact,.pro-situations,.pro-process,.pro-proof{max-width:var(--content-max);padding-inline:var(--page-gutter);margin-inline:auto}.opening{padding-block:var(--space-3xl);border-bottom:var(--rule-hair) solid var(--color-rule)}.opening__body{gap:var(--space-xl);margin-top:var(--space-xl);display:grid}.opening h2,.section-heading h2,.approach h2,.worksite h2,.about h2,.contact h2,.pro-situations h2,.pro-process h2,.pro-proof h2{font-size:var(--text-3xl)}.opening__copy{max-width:var(--copy-max);gap:var(--space-lg);font-size:var(--text-md);display:grid}.text-link{font-size:var(--text-sm);white-space:nowrap;justify-self:start}.projects{padding-block:var(--space-3xl) var(--space-4xl)}.section-heading{gap:var(--space-lg);margin-bottom:var(--space-3xl);display:grid}.project+.project{margin-top:var(--space-4xl)}.project__heading{gap:var(--space-xs) var(--space-md);padding-bottom:var(--space-lg);border-bottom:var(--rule-hair) solid var(--color-rule);grid-template-columns:1fr auto;align-items:end;display:grid}.project__heading h3{font-size:var(--text-3xl);grid-column:1/-1}.project__heading>p:last-child{grid-area:1/2}.project__gallery{gap:var(--space-xl);margin-top:var(--space-xl);grid-template-columns:minmax(0,1fr);display:grid}.project__gallery figure,.transformation figure{gap:var(--space-sm);display:grid}.project__gallery img,.transformation img,.pro-proof img{object-fit:cover;width:100%}.project__gallery img{aspect-ratio:4/5}.project__gallery--study img{aspect-ratio:auto}.transformation{gap:var(--space-xl);margin-top:var(--space-3xl);padding-top:var(--space-xl);border-top:var(--rule-hair) solid var(--color-rule);grid-template-columns:minmax(0,1fr);display:grid}.transformation__intro{align-content:start;gap:var(--space-lg);max-width:var(--copy-max);display:grid}.transformation img{aspect-ratio:4/5}.approach{background:var(--color-ink);color:var(--color-paper);padding:var(--space-3xl) var(--page-gutter)}.approach__intro,.approach__steps{max-width:var(--content-max);margin-inline:auto}.approach .eyebrow,.approach__steps span,.approach__steps p{color:var(--color-paper-3)}.approach__intro{gap:var(--space-lg);display:grid}.approach__intro>p:last-child{max-width:var(--copy-max)}.approach__steps{margin-top:var(--space-3xl);list-style:none}.approach__steps li{gap:var(--space-lg);padding-block:var(--space-lg);border-top:var(--rule-hair) solid var(--color-muted);grid-template-columns:3rem minmax(0,1fr);display:grid}.approach__steps span{font-size:var(--text-xs);font-weight:700}.approach__steps h3{font-size:var(--text-xl)}.approach__steps p{max-width:var(--copy-max);margin-top:var(--space-xs)}.worksite{padding-block:var(--space-4xl)}.worksite__heading{gap:var(--space-lg);max-width:var(--copy-max);margin-bottom:var(--space-2xl);display:grid}.worksite__gallery{gap:var(--space-md);grid-template-columns:minmax(0,1fr);display:grid}.worksite__gallery img{aspect-ratio:4/5;object-fit:cover;width:100%}.about{gap:var(--space-2xl);padding-block:var(--space-3xl);border-block:var(--rule-hair) solid var(--color-rule);display:grid}.about__mark{font-family:var(--font-display);font-size:var(--text-display);color:var(--color-accent);line-height:.75}.about__body{gap:var(--space-lg);max-width:var(--copy-max);display:grid}.contact{gap:var(--space-lg);padding-block:var(--space-4xl);display:grid}.contact>p:not(.eyebrow){max-width:var(--copy-max);font-size:var(--text-md)}.contact__actions{gap:var(--space-sm);margin-top:var(--space-sm);flex-wrap:wrap;display:flex}.button{min-height:var(--control-min);justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);border:var(--rule-hair) solid var(--color-ink);font-size:var(--text-sm);white-space:nowrap;transition:background-color var(--duration-short) var(--ease-out), color var(--duration-short) var(--ease-out), transform var(--duration-micro) var(--ease-out);font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.button--primary{background:var(--color-ink);color:var(--color-paper)}.button--secondary{background:var(--color-transparent);color:var(--color-ink)}.button:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}.button:active{transform:translateY(var(--space-3xs))}.button[aria-disabled=true]{cursor:not-allowed;opacity:.55;pointer-events:none}.foot-letter{gap:var(--space-3xl);padding:var(--space-3xl) var(--page-gutter) var(--space-xl);background:var(--color-paper-2);border-top:var(--rule-hair) solid var(--color-rule);display:grid}.foot-letter__close{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.1}.foot-letter__close span{font-size:var(--text-3xl);font-style:italic}.foot-letter__meta{gap:var(--space-lg);font-size:var(--text-sm);display:grid}.foot-letter a{white-space:nowrap}.whatsapp-fab{z-index:var(--z-floating);right:var(--space-md);bottom:var(--space-md);min-height:var(--control-min);padding-inline:var(--space-md);border:var(--rule-hair) solid var(--color-paper);background:var(--color-ink);color:var(--color-paper);box-shadow:0 var(--space-xs) var(--space-lg) var(--color-tap);font-size:var(--text-xs);transition:background-color var(--duration-short) var(--ease-out), transform var(--duration-micro) var(--ease-out);border-radius:999px;align-items:center;font-weight:700;text-decoration:none;display:inline-flex;position:fixed}.whatsapp-fab:hover{background:var(--color-accent)}.whatsapp-fab:active{transform:scale(.96)}.pro-hero{background:var(--color-paper-2);grid-template-columns:minmax(0,1fr);display:grid}.pro-hero__copy{align-content:center;gap:var(--space-lg);padding:var(--space-3xl) var(--page-gutter);display:grid}.pro-hero h1{font-size:var(--text-display)}.pro-hero__copy>p:not(.eyebrow){max-width:var(--copy-max);font-size:var(--text-md)}.pro-hero__copy .button{margin-top:var(--space-sm);justify-self:start}.pro-hero__image{gap:var(--space-sm);padding-bottom:var(--space-lg);display:grid}.pro-hero__image img{aspect-ratio:4/5;object-fit:cover;width:100%}.pro-hero__image figcaption{padding-inline:var(--page-gutter)}.pro-situations{gap:var(--space-2xl);padding-block:var(--space-3xl);display:grid}.pro-situations>div{gap:var(--space-lg);display:grid}.pro-situations ul{border-top:var(--rule-hair) solid var(--color-rule);list-style:none}.pro-situations li{padding-block:var(--space-lg);border-bottom:var(--rule-hair) solid var(--color-rule);font-family:var(--font-display);font-size:var(--text-lg);line-height:1.1}.pro-process{padding-block:var(--space-3xl);border-block:var(--rule-hair) solid var(--color-rule)}.pro-process>header{gap:var(--space-lg);display:grid}.pro-process ol{margin-top:var(--space-3xl);list-style:none}.pro-process li{gap:var(--space-lg);padding-block:var(--space-lg);border-top:var(--rule-hair) solid var(--color-rule);grid-template-columns:3rem minmax(0,1fr);display:grid}.pro-process li>span{color:var(--color-accent);font-size:var(--text-xs);font-weight:700}.pro-process h3{font-size:var(--text-xl)}.pro-process li p{max-width:var(--copy-max);margin-top:var(--space-xs)}.pro-process__note{max-width:var(--copy-max);margin-top:var(--space-xl);color:var(--color-muted);font-size:var(--text-sm)}.pro-proof{gap:var(--space-2xl);padding-block:var(--space-4xl);grid-template-columns:minmax(0,1fr);display:grid}.pro-proof__copy{align-content:center;gap:var(--space-lg);display:grid}.pro-proof img{aspect-ratio:4/5}.contact--pro{border-top:var(--rule-hair) solid var(--color-rule)}@keyframes masthead-entry{0%{opacity:0;transform:translateY(calc(var(--space-sm) * -1))}to{opacity:1;transform:translateY(0)}}@keyframes hero-entry{0%{opacity:0}to{opacity:1}}@media (width>=40rem){.masthead{grid-template-columns:auto minmax(0,1fr)}.masthead__line{grid-column:1/-1}.masthead__nav{justify-self:end}.hero-project{isolation:isolate;min-height:78dvh;position:relative}.hero-project:after{content:"";z-index:var(--z-base);background:linear-gradient(to top, var(--color-photo-shade), var(--color-transparent) 58%);pointer-events:none;position:absolute;inset:0}.hero-project>img{aspect-ratio:auto;object-position:center 58%;width:100%;height:100%;position:absolute;inset:0}.hero-project__caption{z-index:var(--z-raised);color:var(--color-photo-ink);flex-direction:row;justify-content:space-between;align-items:end;position:absolute;inset:auto 0 0}.hero-project__caption p,.hero-project__location{color:var(--color-photo-ink)}.opening__body,.about,.pro-situations{grid-template-columns:minmax(0,1.35fr) minmax(16rem,.65fr)}.project__gallery--auteuil{grid-template-columns:repeat(12,minmax(0,1fr))}.project__image--wide{grid-column:1/8}.project__image--tall{margin-top:var(--space-3xl);grid-column:9/13}.project__image--detail{margin-top:var(--space-xl);grid-column:4/10}.project__gallery--pair,.project__gallery--jasmin{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}.project__gallery--pair figure:first-child{grid-column:1/8}.project__gallery--pair figure:last-child{margin-top:var(--space-3xl);grid-column:9/13}.project__gallery--jasmin figure:first-child{margin-top:var(--space-3xl);grid-column:1/6}.project__gallery--jasmin figure:last-child{grid-column:6/13}.project__gallery--bandol,.project__gallery--toledano{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}.project__gallery--bandol figure:first-child{grid-column:1/-1}.project__gallery--bandol figure:last-child{grid-column:3/10}.project__gallery--toledano figure:first-child{grid-column:1/7}.project__gallery--toledano figure:last-child{margin-top:var(--space-3xl);grid-column:7/13}.transformation{grid-template-columns:minmax(0,.8fr) repeat(2,minmax(0,1fr))}.approach{padding-block:var(--space-4xl)}.worksite__gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.worksite__gallery img:nth-child(2){margin-top:var(--space-xl)}.foot-letter{grid-template-columns:minmax(0,1fr) auto;align-items:end}.foot-letter__meta{text-align:right}.pro-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:72dvh}.pro-hero h1{font-size:clamp(3.75rem,6vw,6.75rem)}.pro-hero__image{padding:0;position:relative}.pro-hero__image img{aspect-ratio:auto;height:100%}.pro-hero__image figcaption{right:var(--space-md);bottom:var(--space-md);padding:var(--space-xs);background:var(--color-paper);color:var(--color-ink);position:absolute}.pro-proof{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center}.pro-proof img{max-height:48rem}}@media (width>=60rem){.masthead{padding-block:var(--space-lg);grid-template-columns:minmax(12rem,.5fr) minmax(0,1fr) minmax(12rem,.5fr);align-items:center}.masthead__line{grid-column:1}.masthead__brand{grid-column:2;justify-self:center}.masthead__nav{grid-column:3}.opening,.projects,.worksite,.about,.contact,.pro-situations,.pro-process,.pro-proof{padding-inline:var(--page-gutter)}.approach__steps li,.pro-process li{padding-block:var(--space-xl);grid-template-columns:5rem minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
