:root{--bg: oklch(.965 .012 80);--bg-warm: oklch(.94 .018 80);--surface: oklch(.985 .008 80);--surface-2: oklch(.92 .012 70);--border: oklch(.84 .014 70);--border-soft: oklch(.88 .01 70 / .6);--fg: oklch(.2 .018 244);--fg-soft: oklch(.32 .018 244);--fg-muted: oklch(.55 .014 240);--accent: oklch(.5 .045 250);--accent-hover: oklch(from var(--accent) calc(l + .06) c h);--accent-active: oklch(from var(--accent) calc(l - .06) c h);--accent-soft: oklch(.5 .045 250 / .08);--warm-bright: oklch(.81 .04 80);--bg-deep: oklch(.16 .018 244);--fg-light: oklch(.95 .01 80);--focus-ring: oklch(from var(--accent) l c h / .55);--shell-max: 1280px;--shell-pad-x: clamp(1.5rem, 4vw, 4rem);--ease-out-quint: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-bezier: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7.5rem}@media(max-width:767px){html{scroll-behavior:auto}}html,body{background:var(--bg);color:var(--fg);margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;font-feature-settings:"cv11","ss01";font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;font-optical-sizing:auto}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--fg-light)}@view-transition{navigation:auto}.serif{font-family:Fraunces,Iowan Old Style,Georgia,serif;font-feature-settings:"lnum";font-variation-settings:"opsz" 144,"SOFT" 50,"WONK" 0;letter-spacing:-.025em}.mono{font-family:JetBrains Mono,ui-monospace,Menlo,monospace}.h1{font-size:clamp(2.75rem,7.5vw,5.75rem);line-height:.98;letter-spacing:-.035em;font-weight:400;text-wrap:balance}.h1 em{font-style:italic;color:var(--accent);font-variation-settings:"opsz" 60,"SOFT" 50}.eyebrow{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:500;margin:0 0 1.5rem}.skip-link{position:absolute;top:-40px;left:8px;background:var(--accent);color:var(--fg-light);padding:.5rem 1rem;border-radius:4px;z-index:100;font-size:.875rem}.skip-link:focus{top:8px}:where(a,button,input,textarea,select):focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px;border-radius:2px}.shell{max-width:var(--shell-max);margin:0 auto;padding:0 var(--shell-pad-x)}.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;background:var(--accent);transform-origin:left center;transform:scaleX(0);z-index:50;pointer-events:none}.site-header{position:sticky;top:0;z-index:40;background:color-mix(in oklab,var(--bg) 86%,transparent);backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--border-soft);transition:background .4s,border-color .4s}.site-header.is-scrolled{background:color-mix(in oklab,var(--bg) 96%,transparent);border-color:var(--border)}.site-header .row{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:.625rem 0}.logo-mark{display:inline-flex;align-items:center}.logo-mark img{height:88px;width:auto;transition:opacity .2s var(--ease-out-quint)}.logo-mark:hover img{opacity:.78}@media(max-width:767px){.logo-mark img{height:64px}}.site-footer .footer-logo{margin-bottom:1.5rem}.site-footer .footer-logo img{height:128px}.site-footer .footer-logo:hover img{opacity:1}.nav-cluster{display:flex;gap:1.75rem;align-items:center;font-size:.9375rem}.nav-cluster a:not(.cta-mini){color:var(--fg-soft);position:relative;padding:.25rem 0;transition:color .2s;font-family:Inter,system-ui,sans-serif;font-size:.9375rem;font-weight:500;letter-spacing:0}.nav-cluster a:not(.cta-mini):after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--accent);transition:right .3s var(--ease-bezier)}.nav-cluster a:not(.cta-mini):hover{color:var(--accent)}.nav-cluster a:not(.cta-mini):hover:after{right:0}@media(max-width:767px){.nav-cluster a:not(.cta-mini){display:none}}.cta-mini{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.125rem;border-radius:999px;background:var(--accent);color:var(--bg);font-size:.875rem;font-weight:500;min-height:44px;transition:background .2s,transform .25s var(--ease-spring)}.cta-mini:hover{background:var(--accent-hover);transform:translateY(-1px)}.cta-mini:active{transform:translateY(0) scale(.96);transition-duration:80ms}.cta-mini span[aria-hidden]{display:inline-block;transition:transform .25s var(--ease-bezier)}.cta-mini:hover span[aria-hidden]{transform:translate(4px)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-size:.9375rem;font-weight:500;border-radius:999px;min-height:48px;cursor:pointer;border:none;transition:background .2s var(--ease-out-quint),color .2s var(--ease-out-quint),transform .2s var(--ease-bezier)}.btn span[aria-hidden]{display:inline-block;transition:transform .25s var(--ease-bezier)}.btn:hover span[aria-hidden]{transform:translate(4px)}.btn-primary{background:var(--accent);color:var(--bg)}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-primary:active{background:var(--accent-active);transform:translateY(0) scale(.97);transition-duration:90ms}.link-arrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.9375rem;color:var(--fg-soft);transition:color .2s}.link-arrow .arrow{display:inline-block;transition:transform .3s var(--ease-bezier)}.link-arrow:hover{color:var(--accent)}.link-arrow:hover .arrow{transform:translate(6px)}.swiss{display:grid;grid-template-columns:clamp(3.5rem,6vw,5rem) 1fr;gap:clamp(1rem,2vw,2rem);align-items:start}@media(max-width:1023px){.swiss{grid-template-columns:1fr;gap:1.5rem}}.swiss-meta{position:sticky;top:6rem;align-self:start}.swiss-meta .roman{font-family:Fraunces,Georgia,serif;font-variation-settings:"opsz" 144;font-size:clamp(1.5rem,2.4vw,2.5rem);font-weight:400;color:var(--accent);display:block;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.swiss-meta .label{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-muted);margin-top:.5rem;display:block}@media(max-width:1023px){.swiss-meta{position:static;display:flex;align-items:baseline;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-soft);margin-bottom:1rem}.swiss-meta .roman{font-size:1.5rem}.swiss-meta .label{margin-top:0}}.hero{position:relative;padding:clamp(3rem,6.5vw,5.5rem) 0 clamp(2rem,4.5vw,4rem);border-bottom:1px solid var(--border);overflow:hidden}.hero-swiss{display:grid;grid-template-columns:clamp(3.5rem,6vw,5rem) 1.4fr 1fr;gap:clamp(1.25rem,2.5vw,3rem);align-items:end}@media(max-width:1023px){.hero-swiss{grid-template-columns:1fr;gap:2rem}}.hero-content h1.h1{color:var(--fg);margin:0;max-width:14ch}.hero-sub{font-family:Fraunces,Georgia,serif;font-style:italic;font-variation-settings:"opsz" 18;font-size:clamp(1.0625rem,1.6vw,1.3125rem);line-height:1.5;color:var(--fg-soft);margin:1.75rem 0 0;max-width:36ch}.hero-cta{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;margin-top:2.25rem}.hero-photo{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--surface-2);align-self:stretch;margin:0}@media(max-width:1023px){.hero-photo{aspect-ratio:16/9;max-height:50vh}}.hero-photo .slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;filter:contrast(1.04);animation:hero-slide-rotate 28s infinite cubic-bezier(.45,0,.55,1)}.hero-photo .slide:nth-child(2){animation-delay:7s}.hero-photo .slide:nth-child(3){animation-delay:14s}.hero-photo .slide:nth-child(4){animation-delay:21s}@keyframes hero-slide-rotate{0%{opacity:0;transform:scale(1) translate(0)}4%{opacity:1}21%{opacity:1;transform:scale(1.07) translate(-1.5%,-1%)}25%{opacity:0;transform:scale(1.07) translate(-1.5%,-1%)}to{opacity:0}}.hero-photo-caption{position:absolute;bottom:.875rem;left:.875rem;right:.875rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.6875rem;letter-spacing:.08em;color:var(--fg-light);padding:.4rem .6rem;background:color-mix(in oklab,var(--bg-deep) 80%,transparent);backdrop-filter:blur(8px)}.footnote-ref{font-size:.6em;vertical-align:super;color:var(--accent);text-decoration:none;font-variant-numeric:tabular-nums;padding:0 .1em}.footnote-ref:hover{text-decoration:underline;text-underline-offset:2px}.footnotes-section{background:var(--surface);border-bottom:1px solid var(--border)}.footnotes-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:clamp(1.75rem,4vw,3rem) 0;margin:0}@media(max-width:767px){.footnotes-bar{grid-template-columns:1fr;gap:1.25rem}}.footnote{display:flex;flex-direction:column;gap:.4rem;padding:.5rem clamp(.75rem,2vw,1.75rem);border-right:1px solid var(--border-soft)}.footnote:last-child{border-right:none}@media(max-width:767px){.footnote{border-right:none;border-bottom:1px solid var(--border-soft);padding:1.25rem .5rem}.footnote:last-child{border-bottom:none}}.footnote dt{font-family:Fraunces,Georgia,serif;font-variation-settings:"opsz" 144;font-size:clamp(2.5rem,5vw,4rem);font-weight:400;color:var(--fg);line-height:.92;letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:0;display:flex;align-items:baseline;gap:.15em}.footnote dt .accent{color:var(--accent);font-size:.5em;letter-spacing:.04em}.footnote dd{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-muted);margin:.5rem 0 0;line-height:1.45;display:flex;flex-direction:column;gap:.25rem}.footnote dd .ref{font-family:Fraunces,Georgia,serif;color:var(--accent);font-style:italic;text-transform:none;letter-spacing:0;font-variation-settings:"opsz" 14;font-size:.875rem}.section{padding:clamp(3rem,7vw,6.5rem) 0;border-bottom:1px solid var(--border);position:relative}.section-h2{font-family:Fraunces,Georgia,serif;font-variation-settings:"opsz" 60,"SOFT" 50,"WONK" 0;font-size:clamp(2rem,4.8vw,3.75rem);line-height:1.04;letter-spacing:-.025em;font-weight:400;margin:0 0 clamp(2rem,4vw,3.5rem);color:var(--fg);text-wrap:balance}.section-h2 em{font-variation-settings:"opsz" 24;font-style:italic;color:var(--accent)}.metiers-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}.metier{display:grid;grid-template-columns:4rem 2fr 3fr;gap:1rem 2rem;padding:1.75rem 0;border-bottom:1px solid var(--border);align-items:baseline;transition:background .3s,padding .3s var(--ease-bezier)}@media(hover:hover)and (pointer:fine){.metier:hover{background:var(--accent-soft);padding-left:.75rem}}@media(max-width:767px){.metier{grid-template-columns:3rem 1fr;grid-template-areas:"num title" ". desc";gap:.5rem 1rem;padding:1.25rem 0}.metier-num{grid-area:num}.metier-title{grid-area:title}.metier-desc{grid-area:desc}}.metier-num{font-family:Fraunces,Georgia,serif;font-variation-settings:"opsz" 144;font-size:1.125rem;color:var(--fg-muted);font-variant-numeric:tabular-nums}.metier-title{font-family:Fraunces,Georgia,serif;font-size:clamp(1.25rem,1.8vw,1.5rem);line-height:1.1;font-weight:400;letter-spacing:-.015em;margin:0;color:var(--fg)}.metier-desc{font-size:.9375rem;color:var(--fg-soft);line-height:1.5;max-width:50ch;margin:0}.realisations-grid{display:grid;grid-template-columns:1fr;gap:clamp(2rem,4vw,3rem)}@media(min-width:640px){.realisations-grid{grid-template-columns:1.55fr 1fr 1.1fr;gap:clamp(1.5rem,2.4vw,2.25rem);align-items:start}.real-card:nth-child(1){margin-top:clamp(2rem,5vw,4rem)}.real-card:nth-child(3){margin-top:clamp(1rem,2.5vw,2rem)}}.real-card{display:block}.real-card-img{aspect-ratio:4/5;overflow:hidden;background:var(--surface-2);margin-bottom:1rem;border:1px solid var(--border);position:relative}@media(min-width:640px){.real-card:nth-child(1) .real-card-img{aspect-ratio:16/10}.real-card:nth-child(2) .real-card-img{aspect-ratio:3/4}.real-card:nth-child(3) .real-card-img{aspect-ratio:5/4}}.real-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-out-quint),filter .5s;filter:contrast(1.04)}@media(hover:hover)and (pointer:fine){.real-card:hover .real-card-img img{transform:scale(1.05);filter:contrast(1.08) saturate(1.05)}}.real-card-meta{display:flex;gap:1rem;align-items:baseline;margin:0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-muted)}.real-card-meta .ref{color:var(--accent);font-variant-numeric:tabular-nums}.real-card-title{font-family:Fraunces,Georgia,serif;font-size:1.375rem;line-height:1.1;font-weight:400;letter-spacing:-.015em;margin:.5rem 0 0;color:var(--fg)}.real-card-place{font-size:.875rem;color:var(--fg-muted);margin:.25rem 0 0}.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(2rem,3vw,3rem) clamp(1.5rem,2.5vw,2.5rem)}@media(min-width:768px){.team-grid{grid-template-columns:repeat(4,1fr);align-items:end}.team-grid .member:nth-child(odd){transform:translateY(2.5rem)}}.member{display:flex;flex-direction:column;gap:.875rem;position:relative}.member-img{--hex-w: .866;aspect-ratio:var(--hex-w) / 1;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);overflow:hidden;background:var(--surface-2);margin:0;position:relative}.member-img img{width:100%;height:100%;object-fit:cover;filter:contrast(1.04);transition:filter .4s,transform .7s var(--ease-out-quint)}@media(hover:hover)and (pointer:fine){.member:hover .member-img img{filter:contrast(1.08) saturate(1.08);transform:scale(1.06)}}.member-num{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.6875rem;letter-spacing:.16em;color:var(--accent);margin:.5rem 0 -.25rem;text-transform:uppercase}.member-name{font-family:Fraunces,Georgia,serif;font-size:1.25rem;line-height:1.1;font-weight:400;letter-spacing:-.015em;margin:0;color:var(--fg);position:relative;display:inline-block}.member-name:after{content:"";position:absolute;left:0;bottom:-3px;width:0;height:1px;background:var(--accent);transition:width .45s var(--ease-out-quint)}.member:hover .member-name:after{width:100%}.member-role{font-size:.875rem;color:var(--accent);margin:0}.member-exp{font-size:.8125rem;color:var(--fg-muted);line-height:1.45;margin:0}.facon{background:var(--bg-deep);color:var(--fg-light);position:relative;overflow:hidden}.facon:before{content:"";position:absolute;inset:-10%;background:radial-gradient(circle at 18% 22%,color-mix(in oklab,var(--accent) 35%,transparent),transparent 55%),radial-gradient(circle at 78% 80%,color-mix(in oklab,var(--warm-bright) 18%,transparent),transparent 60%);opacity:.5;filter:blur(24px);animation:facon-shift 16s var(--ease-out-quint) infinite alternate;pointer-events:none;z-index:0}@media(max-width:767px){.facon:before{filter:blur(20px);animation:none}}@keyframes facon-shift{to{transform:translate(4%,-3%) scale(1.08)}}.facon-inner{position:relative;z-index:1}.facon .swiss-meta .roman{color:var(--warm-bright)}.facon .swiss-meta .label{color:#bbb7af}.facon .section-h2{color:var(--fg-light)}.facon .section-h2 em,.facon .eyebrow{color:var(--warm-bright)}.methode-intro{max-width:65ch;margin:0 0 3rem;font-size:1.125rem;line-height:1.65;color:color-mix(in oklab,var(--fg-light) 80%,transparent)}.principes-list{display:grid;grid-template-columns:1fr;gap:3rem 2.5rem}@media(min-width:768px){.principes-list{grid-template-columns:repeat(2,1fr);gap:4rem 3.5rem}}.principe{position:relative}.principe-num{font-family:Fraunces,Georgia,serif;font-variation-settings:"opsz" 144;font-size:2.5rem;font-weight:400;line-height:1;color:var(--warm-bright);margin:0;font-variant-numeric:tabular-nums;transition:transform .5s var(--ease-spring);display:inline-block;transform-origin:left bottom}.principe:hover .principe-num{transform:scale(1.18)}.principe-title{font-family:Fraunces,Georgia,serif;font-size:clamp(1.25rem,2vw,1.5rem);line-height:1.15;font-weight:400;letter-spacing:-.015em;margin:.875rem 0 0;color:var(--warm-bright)}.principe-desc{margin:.75rem 0 0;max-width:42ch;font-size:1rem;line-height:1.55;color:color-mix(in oklab,var(--fg-light) 80%,transparent)}.contact{background:var(--bg-deep);color:var(--fg-light);padding:clamp(3rem,7vw,6.5rem) 0}.contact .swiss-meta .roman{color:var(--warm-bright)}.contact .swiss-meta .label{color:#bbb7af}.contact .eyebrow{color:var(--warm-bright)}.contact h2{font-family:Fraunces,Georgia,serif;font-variation-settings:"opsz" 60,"SOFT" 50,"WONK" 0;font-size:clamp(2rem,4.8vw,3.75rem);line-height:1.04;letter-spacing:-.025em;margin:0;color:var(--fg-light);font-weight:400;text-wrap:balance}.contact h2 em{color:var(--warm-bright);font-style:italic;font-variation-settings:"opsz" 24}.contact-lede{margin:1.5rem 0 0;max-width:52ch;font-family:Fraunces,Georgia,serif;font-style:italic;font-variation-settings:"opsz" 18;font-size:clamp(1rem,1.3vw,1.125rem);line-height:1.5;color:#d1cdc7}.contact-form{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem 1.5rem;margin-top:clamp(2rem,4vw,3rem)}@media(min-width:640px){.contact-form{grid-template-columns:repeat(2,minmax(0,1fr))}}.field{min-width:0;display:flex;flex-direction:column;gap:.4rem}.field.full{grid-column:1 / -1}.field label{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.75rem;letter-spacing:.04em;color:#bbb7af}.field input,.field textarea,.field select{width:100%;min-width:0;max-width:100%;padding:.875rem 1rem;min-height:48px;background:#131c23;border:1px solid oklch(.5 .024 244);color:var(--fg-light);border-radius:4px;font-family:inherit;font-size:1rem;transition:border-color .25s,box-shadow .25s,background .25s}.field textarea{min-height:110px;resize:vertical}.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{border-color:var(--warm-bright);background:#162129;box-shadow:0 0 0 3px oklch(from var(--warm-bright) l c h / .55);outline:none}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#e06351;box-shadow:0 0 0 3px #e0635138}.field-help{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.6875rem;color:#a29e96;margin:.25rem 0 0;letter-spacing:.04em}.contact-status.is-error{color:oklch(.78 .14 30)}.contact-status.is-error:empty{display:none}.contact-submit{grid-column:1 / -1;display:flex;align-items:center;flex-wrap:wrap;gap:1.25rem;margin-top:.75rem}.btn-submit{background:var(--warm-bright);color:var(--bg-deep);font-weight:600}.btn-submit:hover{background:oklch(from var(--warm-bright) calc(l + .04) c h)}.btn-submit:active{background:oklch(from var(--warm-bright) calc(l - .04) c h)}.contact-status{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.75rem;color:#bbb7af;letter-spacing:.04em}.contact-note{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.6875rem;color:#a29e96;grid-column:1 / -1;margin:0;letter-spacing:.04em}.site-footer{background:var(--bg);color:var(--fg-soft);padding:clamp(3rem,6vw,4.5rem) 0 max(2.5rem,calc(2rem + env(safe-area-inset-bottom)));border-top:1px solid var(--border-soft)}.site-footer .row{display:grid;gap:2.5rem;font-size:.9375rem}@media(min-width:768px){.site-footer .row{grid-template-columns:1.4fr 1fr 1fr;gap:clamp(2.5rem,4vw,4rem);align-items:start}}.site-footer .brand{font-family:Fraunces,Georgia,serif;font-variation-settings:"opsz" 144;font-size:clamp(1.75rem,2.4vw,2.25rem);letter-spacing:-.02em;color:var(--fg);display:block;margin-bottom:1rem;line-height:1}.site-footer .brand em{color:var(--accent);font-style:italic}.site-footer>.shell:first-of-type p{max-width:32ch;text-wrap:pretty;margin:0;color:var(--fg-soft);line-height:1.55}.site-footer h4{font-family:Inter,system-ui,sans-serif;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:600;margin:0 0 1.125rem}.site-footer ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.625rem;font-size:.9375rem}.site-footer a{transition:color .2s var(--ease-out-quint)}.site-footer a:hover{color:var(--accent)}.site-footer .copy{border-top:1px solid var(--border-soft);margin-top:clamp(2.5rem,4vw,3.5rem);padding-top:1.5rem;font-size:.8125rem;color:var(--fg-soft);font-family:Inter,system-ui,sans-serif;letter-spacing:0}[data-reveal]{opacity:0;transform:translateY(36px);transition:opacity .85s var(--ease-out-quint),transform .85s var(--ease-out-quint)}[data-reveal].in{opacity:1;transform:translateY(0)}[data-reveal-stagger]>*{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease-out-quint),transform .7s var(--ease-out-quint)}[data-reveal-stagger].in>*{opacity:1;transform:translateY(0)}[data-reveal-stagger].in>*:nth-child(1){transition-delay:0ms}[data-reveal-stagger].in>*:nth-child(2){transition-delay:80ms}[data-reveal-stagger].in>*:nth-child(3){transition-delay:.16s}[data-reveal-stagger].in>*:nth-child(4){transition-delay:.24s}[data-reveal-stagger].in>*:nth-child(5){transition-delay:.32s}[data-reveal-stagger].in>*:nth-child(6){transition-delay:.4s}[data-reveal-stagger].in>*:nth-child(n+7){transition-delay:.48s}.hero-cinema{position:relative;height:clamp(640px,88svh,940px);min-height:560px;overflow:hidden;background:var(--bg-deep);color:var(--fg-light);border-bottom:1px solid var(--border);isolation:isolate}.hero-stage{position:absolute;inset:0;outline:none}.hero-slides{position:absolute;inset:0;margin:0;padding:0;list-style:none;z-index:1}.hero-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.1s var(--ease-out-quint);pointer-events:none;will-change:opacity}.hero-stage.is-user-nav .hero-slide{transition-duration:.32s}.hero-slide[data-active=true]{opacity:1}.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center;filter:contrast(1.05) saturate(1.02);transform:scale(1);animation:hero-kenburns 14s linear infinite alternate;animation-play-state:paused}.hero-slide[data-active=true] img{animation-play-state:running}@keyframes hero-kenburns{0%{transform:scale(1) translate(0)}to{transform:scale(1.08) translate(-1.5%,-1%)}}.hero-veil{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,#040a10b8,#070e145c 32%,#040a108c 65%,#000205f0),linear-gradient(90deg,#0104089e,#02060c00 60%)}.hero-overlay{position:relative;z-index:3;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding-top:clamp(5rem,7vw,5.75rem);padding-bottom:clamp(1rem,2.5vw,1.75rem);row-gap:1rem}.hero-meta-bar{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem}.hero-meta-id{display:flex;flex-direction:column;gap:.5rem}.hero-meta-id .roman{font-family:Fraunces,Georgia,serif;font-variation-settings:"opsz" 144;font-size:clamp(1.5rem,2.4vw,2.5rem);font-weight:400;color:var(--warm-bright);line-height:1;letter-spacing:-.02em}.hero-meta-id .label{font-family:Inter,system-ui,sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#e9e4dce6}.hero-counter{font-family:Inter,system-ui,sans-serif;font-size:.8125rem;letter-spacing:.14em;color:#e9e4dce6;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:.5rem;margin:0;text-transform:uppercase}.hero-counter:before{content:"Slide";font-size:.6875rem;letter-spacing:.18em;color:#e9e4dc8c}.hero-counter [data-counter-current]{color:var(--warm-bright);font-size:1rem;font-weight:500}.hero-counter-divider{color:#e9e4dc66}.hero-cinema .hero-content{align-self:end;max-width:clamp(28rem,60vw,48rem);padding-bottom:clamp(.25rem,1vw,.75rem)}.hero-cinema .hero-content .h1{color:var(--fg-light);margin:0;max-width:none;font-size:clamp(3rem,8.5vw,7rem);line-height:.95;letter-spacing:-.03em;text-wrap:balance}.hero-cinema .hero-content .h1 em{color:var(--warm-bright)}.hero-cinema .hero-content .eyebrow{color:var(--warm-bright);margin:0 0 1.25rem}.hero-cinema .hero-content .footnote-ref{color:var(--warm-bright)}.hero-cinema .hero-sub{font-family:Fraunces,Georgia,serif;font-style:italic;font-variation-settings:"opsz" 18;font-size:clamp(1.0625rem,1.6vw,1.3125rem);line-height:1.5;color:#efeae2f5;margin:1.5rem 0 0;max-width:38ch}.hero-cinema .hero-cta{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;margin-top:2.25rem}.hero-cinema .hero-cta .btn-primary{background:var(--warm-bright);color:var(--bg-deep)}.hero-cinema .hero-cta .btn-primary:hover{background:oklch(from var(--warm-bright) calc(l + .04) c h)}.hero-cinema .hero-cta .btn-primary:active{background:oklch(from var(--warm-bright) calc(l - .04) c h)}.hero-cinema .hero-cta .link-arrow{color:#efeae2e0}.hero-cinema .hero-cta .link-arrow:hover{color:var(--warm-bright)}.hero-footer{display:flex;justify-content:space-between;align-items:center;gap:1.25rem;flex-wrap:wrap}.hero-caption{font-family:Inter,system-ui,sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#efeae2f0;padding:.5rem .875rem;background:#0104088c;backdrop-filter:blur(10px);margin:0;transition:opacity .4s var(--ease-out-quint);max-width:38ch;font-variant-numeric:tabular-nums}.hero-caption.is-changing{opacity:0}.hero-controls{display:flex;align-items:center;gap:1.25rem}.hero-btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:#efeae2b3;font-family:Fraunces,Georgia,serif;font-variation-settings:"opsz" 144;font-size:1.5rem;font-weight:300;line-height:1;cursor:pointer;padding:0;transition:color .2s var(--ease-out-quint),transform .2s var(--ease-bezier)}.hero-btn:hover{color:var(--warm-bright)}.hero-btn:active{transform:scale(.94);transition-duration:80ms}.hero-pause{font-size:.6875rem;font-family:Inter,system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;font-weight:500;width:auto;padding:0 .5rem}.hero-pause:before{content:"Pause"}.hero-pause[data-state=paused]:before{content:"Play"}.hero-dots{list-style:none;margin:0;padding:0 .25rem;display:flex;gap:1rem;align-items:center}.hero-dot{width:28px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;cursor:pointer;padding:0;position:relative}.hero-dot:after{content:"";position:absolute;inset:-6px -2px}.hero-dot:before{content:"";width:18px;height:1.5px;background:#efeae266;transition:background .3s var(--ease-out-quint),width .4s var(--ease-spring)}@media(hover:hover)and (pointer:fine){.hero-dot:hover:before{background:#efeae2d9}}.hero-dot[aria-current=true]:before{background:var(--warm-bright);width:28px;height:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1023px){.hero-cinema{height:clamp(620px,92svh,880px)}.hero-overlay{padding-top:clamp(5rem,14vw,6rem);gap:1.75rem}}@media(max-width:767px){.hero-cinema{height:clamp(580px,92dvh,760px);min-height:520px}.hero-overlay{padding-top:5rem;padding-bottom:1.25rem;gap:1.25rem}.hero-meta-id .roman{font-size:1.25rem}.hero-cinema .hero-content{align-self:end;padding-bottom:.5rem}.hero-cinema .hero-sub{font-size:1rem;margin-top:1rem}.hero-cinema .hero-cta{margin-top:1.5rem;gap:1rem}.hero-footer{flex-direction:column;align-items:stretch;gap:.875rem}.hero-caption{text-align:left;max-width:none}.hero-controls{justify-content:space-between}}@media(orientation:landscape)and (max-height:540px){.hero-cinema{height:calc(100dvh - 56px);min-height:0}.hero-overlay{padding-top:3.5rem;padding-bottom:.5rem;row-gap:.5rem}.hero-cinema .hero-content{max-width:clamp(20rem,60vw,34rem);padding-bottom:0}.hero-cinema .hero-content .eyebrow{margin:0 0 .5rem;font-size:.625rem}.hero-cinema .h1{font-size:clamp(1.5rem,3.5vw,2.25rem);line-height:1.05}.hero-cinema .hero-sub{margin-top:.5rem;font-size:.875rem;line-height:1.4;max-width:50ch}.hero-cinema .hero-cta{margin-top:.75rem;gap:.75rem}.hero-cinema .btn{padding:.5rem 1.25rem;min-height:40px;font-size:.875rem}.hero-meta-bar{align-items:center}.hero-meta-id .roman{font-size:1.25rem}.hero-footer{flex-direction:row;align-items:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important;scroll-behavior:auto!important}[data-reveal],[data-reveal-stagger]>*{opacity:1!important;transform:none!important}.hero-photo img{animation:none!important;transform:none!important}.facon:before,.scroll-progress{animation:none!important}.real-card:hover .real-card-img img,.member:hover .member-img img,.principe:hover .principe-num{transform:none!important;filter:none!important}.team-grid .member:nth-child(odd){transform:none!important}.hero-photo .slide{animation:none!important;opacity:1!important;transform:none!important}.hero-photo .slide:not(:first-child){display:none}}@media(min-width:1024px){#metiers .swiss{grid-template-columns:10rem minmax(0,1fr)}}.facon .swiss{grid-template-columns:minmax(0,1fr)}.principe-note{max-width:48ch;margin:1rem 0 0;color:color-mix(in oklab,var(--fg-light) 80%,transparent);line-height:1.6}.principe-note small{font-size:.875rem}.contact .swiss,#equipe .swiss{grid-template-columns:minmax(0,1fr)}.team-intro{max-width:65ch;margin:0 0 2.5rem;line-height:1.65;color:var(--fg-soft)}@media(min-width:768px){.principes-list .principe:last-child:nth-child(odd){grid-column:1 / -1}}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/athome/fonts/ca157063339ac4ad.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/athome/fonts/71d5ee93cc1e9f1d.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/athome/fonts/6e9e020a25f9b56d.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/athome/fonts/1be3448e292fbf05.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/athome/fonts/5c66f9e07e90c6d4.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/athome/fonts/34b9c504cab7a73e.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/athome/fonts/3100e775e8616cd2.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/athome/fonts/ca157063339ac4ad.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/athome/fonts/71d5ee93cc1e9f1d.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/athome/fonts/6e9e020a25f9b56d.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/athome/fonts/1be3448e292fbf05.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/athome/fonts/5c66f9e07e90c6d4.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/athome/fonts/34b9c504cab7a73e.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/athome/fonts/3100e775e8616cd2.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/athome/fonts/ca157063339ac4ad.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/athome/fonts/71d5ee93cc1e9f1d.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/athome/fonts/6e9e020a25f9b56d.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/athome/fonts/1be3448e292fbf05.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/athome/fonts/5c66f9e07e90c6d4.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/athome/fonts/34b9c504cab7a73e.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/athome/fonts/3100e775e8616cd2.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/athome/fonts/62213be8a78b42f1.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/athome/fonts/e17cfd15fb96909d.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/athome/fonts/0a557721b1f8b36d.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/athome/fonts/c89b9cc0bc6262bd.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/athome/fonts/db5ff4db83e58042.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/athome/fonts/83c005d49d8a6a50.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/athome/fonts/62213be8a78b42f1.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/athome/fonts/e17cfd15fb96909d.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/athome/fonts/0a557721b1f8b36d.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/athome/fonts/c89b9cc0bc6262bd.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/athome/fonts/db5ff4db83e58042.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/athome/fonts/83c005d49d8a6a50.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}#metiers .section-h2{margin-bottom:1.25rem}.services-intro{max-width:65ch;margin:0 0 2.5rem;font-size:1.0625rem;line-height:1.65;color:var(--fg-soft)}.hero-footer{justify-content:flex-end}.hero-controls{gap:.75rem}.footnote-detail{display:block;margin-top:.6rem;font-size:.9375rem;font-weight:400;line-height:1.5;letter-spacing:normal;text-transform:none;color:var(--fg-soft)}.footnotes-bar .footnote dt{font-size:clamp(2rem,4vw,3.5rem)}.mobile-menu{display:none}.footer-title{font:600 .875rem Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;margin:0 0 1rem}.brand-full{display:inline-block;font-size:1.6rem}.brand-full span{display:block;font:500 .875rem Inter,sans-serif;letter-spacing:.23em;margin-top:.4rem}.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:2rem}.footer-bottom nav{display:flex;flex-wrap:wrap;gap:1.5rem;font-size:.875rem}.footer-bottom .copy{border:0;padding:0;margin:0}.page-intro{padding:clamp(3rem,8vw,7rem) 0 3rem}.page-intro h1{font-family:Fraunces,serif;font-size:clamp(2.4rem,6vw,5rem);font-weight:400;line-height:1.1;max-width:18ch;margin:1.8rem 0}.back-link{display:inline-block;font-size:.9375rem;padding:.5rem 0}.back-link:hover{text-decoration:underline}.project-meta{display:flex;flex-wrap:wrap;gap:.75rem 2rem;color:var(--fg-soft)}.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.project-gallery figure{margin:0}.project-gallery figure:first-child{grid-column:1 / -1}.project-gallery img{width:100%;height:auto;max-height:80vh;object-fit:contain;background:var(--bg-warm)}.project-gallery figcaption{padding-top:.75rem;color:var(--fg-soft);font-size:.9375rem}.project-end{padding:3rem 0 5rem;display:flex;gap:2rem;flex-wrap:wrap;align-items:center;justify-content:space-between}.prose{max-width:760px;padding-bottom:5rem}.prose h2{font:400 1.6rem Fraunces,serif;margin-top:2.5rem}.prose a{text-decoration:underline;text-underline-offset:.2em}.contact-form input,.contact-form select,.contact-form textarea{min-width:0;max-width:100%}.contact-form [aria-invalid=true]{outline:2px solid #e5a69a;outline-offset:3px}.contact-submit button:disabled{opacity:.55;cursor:not-allowed}.contact-form .field-help{font-size:.875rem}.contact-note a{text-decoration:underline}.hero-counter:before{content:"Photo"}.form-actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.form-actions a{color:inherit;text-decoration:underline}[data-reveal],[data-reveal-stagger]>*{opacity:1;transform:none}@media(prefers-reduced-motion:no-preference){.motion-ready [data-reveal]:not(.in){opacity:0;transform:translateY(36px)}.motion-ready [data-reveal-stagger]:not(.in)>*{opacity:0;transform:translateY(28px)}}@media(max-width:767px){.site-header .row{gap:1rem}.nav-cluster{margin-left:auto}.nav-cluster a:not(.cta-mini){display:none}.mobile-menu{display:block}.mobile-menu summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:.6rem;min-height:44px;padding:.5rem;font-size:.9375rem}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{font-size:1.7rem}.mobile-menu nav{position:absolute;left:0;right:0;top:100%;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:0 15px 25px #0001;padding:1rem var(--shell-pad-x) 1.5rem;max-height:75dvh;overflow:auto}.mobile-menu nav a{display:flex;justify-content:space-between;align-items:center;min-height:50px;padding:.75rem 0;border-bottom:1px solid var(--border-soft)}}@media(min-width:768px)and (max-width:1100px){.site-header .shell{padding-inline:1.5rem}.site-header .row{gap:1rem}.nav-cluster{gap:1rem;margin-left:auto}.nav-cluster a{white-space:nowrap}.site-header .cta-mini{padding-inline:.85rem}}@media(max-width:480px){.site-header .row{gap:.5rem}.cta-mini{padding:.55rem .85rem}.project-gallery{grid-template-columns:minmax(0,1fr)}.footer-bottom{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){.hero-slide img{animation:none!important;transform:none!important}}.site-footer .row>*{min-width:0}.site-footer .footer-description{max-width:none}.footer-description>span{display:block}.footer-description .footer-area{margin-top:1rem}.footer-hours{margin-bottom:1.5rem}.footer-hours h3{margin:0 0 .75rem;font-size:.9375rem;font-weight:600}.site-footer .footer-hours p{max-width:none;margin:0 0 .75rem}.footer-nowrap{white-space:nowrap}.footer-phone{display:inline-flex;align-items:center;gap:.6rem}.footer-phone svg{flex:none}.footer-contact-list a{overflow-wrap:anywhere}.footer-contact-list .footer-address,.footer-contact-list .footer-project{margin-top:.75rem}@media(min-width:768px){.site-footer .row{grid-template-columns:minmax(0,1.15fr) minmax(0,.8fr) minmax(0,1.3fr);gap:clamp(1.5rem,3vw,3rem)}}.site-footer .footer-bottom{margin-top:3rem;align-items:baseline;gap:1rem}.footer-bottom nav{align-items:baseline;line-height:1.5}@media(min-width:768px){.site-footer .footer-bottom{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.8fr) minmax(0,1.3fr);column-gap:clamp(1.5rem,3vw,3rem)}.footer-bottom .copy{grid-column:1 / 3}.footer-bottom nav{grid-column:3;gap:.5rem 1.25rem}}.hero-cinema{border-bottom:0;height:auto;min-height:clamp(480px,66svh,705px)}.hero-cinema .hero-stage{position:relative;min-height:inherit}.hero-cinema .hero-overlay{height:auto;min-height:inherit;grid-template-rows:auto 1fr auto;align-content:start;row-gap:1rem;padding-top:clamp(1.5rem,4svh,2.5rem);padding-bottom:1.5rem}.hero-cinema .hero-content{align-self:start;padding-bottom:0}.hero-cinema .hero-content .h1{font-size:clamp(3rem,7.5vw,6rem)}.hero-cinema .hero-actions{align-self:end;padding-top:1.5rem}.hero-cinema .hero-actions .hero-cta{margin-top:0}.hero-cinema .hero-intro{max-width:60ch;margin:1rem 0 0;color:var(--fg-light);font:400 1rem/1.65 Inter,sans-serif}@media(max-width:767px){.hero-cinema{height:auto;min-height:max(495px,69svh)}.hero-cinema .hero-overlay{padding-top:1.5rem;padding-bottom:1.5rem;row-gap:.875rem}.hero-cinema .hero-content .h1{font-size:clamp(2.5rem,8.5vw,3.5rem)}}@media(orientation:landscape)and (max-height:540px){.hero-cinema{height:auto;min-height:405px}.hero-cinema .hero-overlay{padding-top:1.5rem;padding-bottom:1.5rem}.hero-cinema .hero-content .h1{font-size:clamp(2.5rem,6vw,4rem)}}#realisations .swiss{grid-template-columns:minmax(0,1fr);gap:1.5rem}#realisations .swiss-meta{position:static;padding:0;margin:0;border:0}#realisations .swiss>:last-child{min-width:0}.projects-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.projects-toolbar p{margin:0;font-size:.9375rem;color:var(--fg-soft)}.projects-controls{display:flex;gap:.5rem}.projects-controls[hidden]{display:none}.projects-controls button{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--border);border-radius:50%;background:transparent;color:var(--fg);font-size:1.5rem;cursor:pointer}.projects-controls button:hover{background:var(--accent);border-color:var(--accent);color:var(--surface)}.projects-track{--project-gap: 1.5rem;display:flex;gap:var(--project-gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;list-style:none;padding:.25rem .25rem 1rem;margin:0 -.25rem;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.project-item{flex:0 0 calc((100% - var(--project-gap)) / 2);min-width:0;scroll-snap-align:start}.projects-track:focus:not(:focus-visible){outline:none}.projects-track:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.project-card{height:100%;display:flex;flex-direction:column;background:transparent;border:0}.project-cover{flex-shrink:0;aspect-ratio:3 / 2;overflow:hidden;background:var(--surface-2)}.project-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.project-card:hover .project-cover img{transform:scale(1.025)}.project-card-content{flex:1;display:flex;flex-direction:column;align-items:flex-start;padding:1.5rem 0}.project-card h3{font:400 clamp(1.25rem,2vw,1.75rem)/1.2 "Fraunces",serif;color:var(--fg);margin:0 0 .75rem}.project-location{margin:0 0 1.5rem;font-size:.9375rem;color:var(--fg-soft)}.project-discover{margin-top:auto;font-size:.9375rem;padding-bottom:.3rem;border-bottom:1px solid var(--border);color:var(--accent)}.project-discover span{margin-left:.75rem}.project-story{max-width:65ch;line-height:1.7;margin:1.5rem 0 0}.project-detail-gallery{display:flex;flex-direction:column;gap:3rem}.project-detail-gallery figure{margin:0}.project-detail-gallery img{width:100%;max-height:78svh;object-fit:contain;background:var(--bg-warm)}.project-detail-gallery figcaption{max-width:70ch;padding-top:1rem;font-size:1rem;line-height:1.6;color:var(--fg-soft)}@media(max-width:767px){.project-item{flex-basis:88%}.project-card-content{padding:1.25rem 0}.project-detail-gallery{gap:2rem}}@media(prefers-reduced-motion:reduce){.project-cover img{transition:none}}.project-detail-gallery.gallery-editorial{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 1.5rem}.gallery-editorial figure{grid-column:1 / -1;min-width:0}.gallery-editorial figure.portrait{grid-column:span 1}.gallery-editorial img{display:block;height:auto;max-height:none;background:none}.gallery-editorial .portrait img{aspect-ratio:9 / 16;object-fit:cover}.gallery-editorial .landscape-crop img{aspect-ratio:16 / 9;object-fit:cover;object-position:center}@media(max-width:600px){.project-detail-gallery.gallery-editorial{gap:2rem .75rem}.gallery-editorial .portrait figcaption{font-size:.875rem}}.project-partner-link{color:var(--accent);text-decoration:underline;text-underline-offset:.2em}.project-partner-link:hover{color:var(--fg)}.project-progress{display:block;color:#a34b17;font-size:.7em;font-weight:600;margin-bottom:.35em}
