:root{--color-primary-50: #fef5f3;--color-primary-100: #fde8e3;--color-primary-200: #fbd4ca;--color-primary-300: #f7b5a3;--color-primary-400: #f08c6e;--color-primary-500: #b95a40;--color-primary-600: #a04e37;--color-primary-700: #86402d;--color-primary-800: #6d3526;--color-primary-900: #5a2d21;--color-neutral-50: #f8f9fa;--color-neutral-100: #e9ecef;--color-neutral-200: #d3d7dd;--color-neutral-300: #adb5bd;--color-neutral-400: #6c757d;--color-neutral-500: #495057;--color-neutral-600: #343a40;--color-neutral-700: #28303a;--color-neutral-800: #1a2332;--color-neutral-900: #0d1117;--ink-50: #f1f5ff;--ink-100: #e3edff;--ink-200: #c6dcff;--ink-300: #9abff5;--ink-400: #6d9fe5;--ink-500: #3d7ed0;--ink-600: #2f64ad;--ink-700: #244c85;--ink-800: #193861;--ink-900: #0f253f;--ink-deep: #0c1b2e;--ink-on-paper: #0b1530;--ink-surface: var(--color-hero-bg);--ink-surface-strong: color-mix(in srgb, var(--color-hero-bg) 88%, var(--bg-primary) 12%);--ink-border: color-mix(in srgb, var(--color-neutral-700) 12%, transparent);--color-success: #2d6e4f;--color-success-light: #d4edda;--color-warning: #f6aa1c;--color-warning-light: #fff3cd;--color-error: #c92a2a;--color-error-light: #f8d7da;--color-info: #1971c2;--color-info-light: #d0ebff;--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #e9ecef;--bg-dark: #1a2332;--bg-accent: #fef5f3;--color-hero-bg: #f5e6d3;--bg-page: #FFFFFF;--color-terre-cuite: #B8441E;--color-encre-nuit: #1A2332;--color-parchemin: #F5E6D3;--color-ambre-forge: #E8924F;--color-charbon: #2D2D2D;--accent-main: var(--color-primary-500);--bg-hero: var(--color-parchemin);--bg-section: #FFFFFF;--bg-projects: #FFFFFF;--bg-body: #F8F5F0;--filter-bg: #FFFFFF;--filter-border: rgba(26, 35, 50, .08);--filter-border-hover: rgba(26, 35, 50, .18);--filter-bg-active: var(--color-encre-nuit);--filter-text-default: var(--color-encre-nuit);--filter-text-active: #FFFFFF;--bg-page-parchment: #f5e6d3;--bg-section-soft: color-mix(in srgb, var(--bg-page) 94%, var(--bg-primary) 6%);--bg-section-alt: #F9EFE3;--bg-section-alt-warm: color-mix(in srgb, var(--bg-page) 85%, var(--color-primary-100) 15%);--bg-section-alt-cool: color-mix(in srgb, var(--bg-page) 90%, var(--bg-tertiary) 10%);--bg-section-elevated: color-mix(in srgb, var(--bg-primary) 94%, var(--color-primary-50) 6%);--bg-section-dark: var(--color-neutral-800);--bg-section-gradient: linear-gradient(180deg, var(--color-neutral-800) 0%, var(--color-neutral-900) 100%);--bg-surface: #F2E0CC;--bg-card: #FFFFFF;--bg-card-elevated: var(--bg-primary);--bg-footer: #050816;--bg-contact: var(--color-neutral-900);--bg-contact-card: #111827;--bg-header: #0F172A;--bg-offer-featured: var(--color-primary-500);--bg-white-pure: #FFFFFF;--bg-off-white: #F5F5F7;--bg-dark-deep: #0B0F19;--neutral-charcoal: #2D2D2D;--surface-elevated: #FFFFFF;--surface-elevated-subtle: rgba(255, 255, 255, .92);--bg-portfolio: var(--color-neutral-50);--bg-testimonials: var(--color-neutral-50);--bg-contact-gradient: linear-gradient( to bottom, var(--color-hero-bg) 0%, var(--neutral-charcoal) 100% );--hero-bg: var(--color-parchemin);--hero-signature-color: var(--color-encre-nuit);--hero-script-color: #FFFFFF;--hero-baseline-color: var(--color-ambre-forge);--hero-baseline-accent: var(--color-primary-400);--hero-cta-bg: linear-gradient(135deg, var(--accent-main) 0%, var(--color-primary-400) 100%);--hero-cta-bg-hover: linear-gradient(135deg, var(--color-primary-600) 0%, var(--accent-main) 100%);--hero-cta-text-color: #FFFFFF;--hero-cta-shadow: 0 18px 45px rgba(0, 0, 0, .42);--surface-filter: rgba(26, 35, 50, .04);--surface-filter-active: rgba(26, 35, 50, .14);--projects-filters-shell-bg: linear-gradient( 135deg, rgba(184, 68, 30, .04) 0%, rgba(248, 245, 240, .9) 40%, #ffffff 100% );--projects-filters-shell-border: rgba(184, 68, 30, .08);--projects-filter-pill-bg: #ffffff;--projects-filter-pill-border: rgba(26, 35, 50, .08);--projects-filter-pill-border-hover: rgba(26, 35, 50, .18);--projects-filter-pill-shadow: 0 12px 30px rgba(0, 0, 0, .08);--projects-filter-pill-active-gradient: var(--hero-cta-bg);--projects-filter-pill-active-text: #ffffff;--shadow-soft-md: 0 14px 30px rgba(0, 0, 0, .14);--shadow-soft-lg: 0 26px 60px rgba(0, 0, 0, .2);--shadow-card: 0 10px 30px -5px rgba(0, 0, 0, .06);--shadow-soft: 0 8px 24px rgba(15, 23, 42, .08);--shadow-floating: 0 20px 45px -10px rgba(15, 23, 42, .18);--surface-card: color-mix(in srgb, var(--bg-page) 96%, var(--bg-primary) 4%);--surface-elevated: color-mix(in srgb, var(--bg-page) 88%, var(--bg-secondary) 12%);--card-surface: var(--bg-white-pure);--card-subtle: color-mix(in srgb, var(--bg-page) 92%, var(--bg-primary) 8%);--section-bg-default: var(--color-neutral-50);--section-bg-soft: var(--color-neutral-100);--section-bg-strong: #ffffff;--section-bg-impact: var(--section-bg-soft);--section-bg-a2mo: var(--color-encre-nuit);--section-text-on-dark: #f9fafb;--text-primary: #1a2332;--text-secondary: #495057;--text-tertiary: #6c757d;--text-inverse: #ffffff;--text-accent: #b95a40;--focus-color: var(--color-ambre-forge);--border-color: rgba(26, 35, 50, .08);--border-color-strong: rgba(26, 35, 50, .12);--border-color-inverse: rgba(255, 255, 255, .12);--border-soft: rgba(26, 35, 50, .1);--border-subtle: rgba(26, 35, 50, .06);--border-input: rgba(26, 35, 50, .25);--text-on-accent: #ffffff;--text-on-dark: #ffffff;--text-muted: var(--color-neutral-500);--accent-primary: var(--color-primary-500);--accent-amber: #f6aa1c;--accent-primary-soft: color-mix(in srgb, var(--color-primary-500) 15%, transparent);--slider-track: var(--color-neutral-700);--slider-thumb: var(--color-primary-500);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--space-40: 10rem;--space-48: 12rem;--section-spacing: var(--space-16);--section-spacing-lg: var(--space-24);--container-padding: var(--space-6);--container-padding-lg: var(--space-8);--radius-none: 0;--radius-xs: .25rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-2xl: 2rem;--radius-full: 9999px;--btn-radius-sm: .25rem;--btn-radius-md: .5rem;--btn-radius-lg: .75rem;--btn-padding-sm: var(--space-3) var(--space-4);--btn-padding-md: var(--space-4) var(--space-6);--btn-padding-lg: var(--space-5) var(--space-8);--btn-primary-bg: var(--color-primary-500);--btn-primary-bg-hover: var(--color-primary-600);--btn-primary-bg-active: var(--color-primary-700);--btn-primary-gradient: linear-gradient(135deg, var(--color-terre-cuite) 0%, var(--color-ambre-forge) 100%);--btn-primary-gradient-hover: linear-gradient(135deg, #A03A18 0%, var(--color-terre-cuite) 100%);--btn-primary-shadow: 0 12px 28px -8px rgba(184, 68, 30, .35);--btn-primary-shadow-hover: 0 18px 40px -8px rgba(184, 68, 30, .5);--btn-secondary-border: var(--color-primary-500);--btn-ghost-hover: rgba(185, 90, 64, .08);--btn-hero-cta-bg: linear-gradient(135deg, var(--color-terre-cuite) 0%, var(--color-ambre-forge) 100%);--btn-hero-cta-bg-hover: linear-gradient(135deg, var(--color-primary-600), var(--color-primary-500));--btn-hero-cta-text: var(--text-inverse);--btn-hero-cta-border: color-mix(in srgb, var(--color-primary-600) 55%, rgba(255, 255, 255, .18));--btn-hero-cta-halo: color-mix(in srgb, var(--color-primary-300) 50%, transparent);--btn-hero-cta-shadow: 0 16px 40px -14px color-mix(in srgb, var(--color-primary-400) 80%, transparent), 0 0 0 2px color-mix(in srgb, var(--color-primary-200) 70%, transparent);--btn-hero-cta-shadow-hover: 0 22px 52px -12px color-mix(in srgb, var(--color-primary-500) 92%, transparent), 0 0 0 3px color-mix(in srgb, var(--color-primary-300) 75%, transparent);--offer-featured-border: var(--color-primary-500);--project-tag-bg: color-mix(in srgb, var(--color-primary-50) 65%, var(--bg-primary) 35%);--project-tag-border: color-mix(in srgb, var(--color-primary-200) 55%, transparent);--project-tag-text: color-mix(in srgb, var(--text-primary) 65%, var(--color-primary-700) 35%);--project-tag-gap: var(--space-2);--header-height: var(--space-20);--font-display: "Playfair Display", "Newsreader", "Inter", -apple-system, BlinkMacSystemFont, serif;--font-body: "Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--font-serif-display: "Newsreader", "Playfair Display", Georgia, serif;--font-serif-narrative: "Cormorant", "Newsreader", Georgia, serif;--text-xs: clamp(.75rem, .7rem + .2vw, .85rem);--text-sm: clamp(.85rem, .8rem + .3vw, .95rem);--text-base: clamp(1rem, .95rem + .2vw, 1.1rem);--text-lg: clamp(1.1rem, 1rem + .5vw, 1.4rem);--text-xl: clamp(1.4rem, 1.2rem + .8vw, 1.9rem);--text-2xl: clamp(1.8rem, 1.5rem + 1.2vw, 2.5rem);--text-3xl: clamp(2.2rem, 1.8rem + 1.6vw, 3.2rem);--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--text-7xl: 4.5rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--tracking-tighter: -.05em;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .05em;--tracking-widest: .1em;--shadow-xs: 0 1px 2px 0 rgba(26, 35, 50, .05);--shadow-sm: 0 1px 3px 0 rgba(26, 35, 50, .1), 0 1px 2px -1px rgba(26, 35, 50, .1);--shadow-md: 0 4px 6px -1px rgba(26, 35, 50, .1), 0 2px 4px -2px rgba(26, 35, 50, .1);--shadow-lg: 0 10px 15px -3px rgba(26, 35, 50, .1), 0 4px 6px -4px rgba(26, 35, 50, .1);--shadow-xl: 0 20px 25px -5px rgba(26, 35, 50, .1), 0 8px 10px -6px rgba(26, 35, 50, .1);--shadow-2xl: 0 25px 50px -12px rgba(26, 35, 50, .25);--shadow-inner: inset 0 2px 4px 0 rgba(26, 35, 50, .05);--shadow-soft: 0 8px 24px rgba(15, 23, 42, .12);--shadow-header-soft: 0 1px 0 rgba(15, 23, 42, .12);--shadow-elevated: 0 18px 45px rgba(15, 23, 42, .28);--shadow-primary: 0 10px 25px -5px rgba(185, 90, 64, .15);--shadow-primary-lg: 0 20px 40px -10px rgba(185, 90, 64, .2);--ease-smooth: cubic-bezier(.33, 1, .68, 1);--duration-fast: .15s;--duration-base: .25s;--duration-slow: .4s;--transition-fast: var(--duration-fast) var(--ease-smooth);--transition-base: var(--duration-base) var(--ease-smooth);--transition-slow: var(--duration-slow) var(--ease-smooth);--transition-bounce: .4s cubic-bezier(.68, -.55, .265, 1.55);--z-base: 0;--z-dropdown: 1000;--z-sticky: 1100;--z-fixed: 1200;--z-modal-backdrop: 1300;--z-modal: 1400;--z-popover: 1500;--z-tooltip: 1600}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-primary);background-color:var(--bg-page);overflow-x:hidden;position:relative}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9998;opacity:.035;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px}body.project-modal-open{overflow:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif-display);font-weight:var(--font-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin-bottom:var(--space-4)}.text-narrative,.narrative-accent{font-family:var(--font-serif-narrative);font-style:italic;font-weight:var(--font-semibold)}.display-number,.stat-number{font-family:var(--font-serif-display);font-weight:var(--font-normal);font-style:italic;letter-spacing:var(--tracking-tight)}p{margin-bottom:var(--space-4);font-size:var(--text-base);color:var(--text-secondary)}a{text-decoration:none;color:inherit;transition:color var(--transition-base)}a:hover{color:var(--text-accent)}img{max-width:100%;height:auto;display:block}button{font-family:inherit;cursor:pointer;border:none;background:none}a,button,.card,.project-card,.projects-filter__option{transition:all var(--transition-base)}.skip-link{position:absolute;top:-100px;left:0;background:var(--color-primary-500);color:var(--text-inverse);padding:var(--space-2) var(--space-4);text-decoration:none;z-index:10000;border-radius:var(--radius-sm)}.skip-link:focus{top:var(--space-4)}*:focus-visible{outline:2px solid var(--focus-color);outline-offset:4px;border-radius:var(--radius-xs)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.container{width:100%;max-width:1280px;margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}@media(min-width:1024px){.container{padding-left:var(--container-padding-lg);padding-right:var(--container-padding-lg)}}.section{padding-top:var(--section-spacing);padding-bottom:var(--section-spacing);background-color:var(--section-bg-default)}@media(min-width:1024px){.section{padding-top:var(--section-spacing-lg);padding-bottom:var(--section-spacing-lg)}}.section--alt,.section--white{background-color:var(--section-bg-strong)}.section--dark{background-color:var(--bg-dark-deep);color:var(--text-inverse)}.section-projects,.projects,.projects-all{background-color:var(--section-bg-default)}.promise,.process,.offers{background-color:var(--section-bg-soft)}.creation-highlight{background-color:var(--section-bg-strong);padding-top:var(--section-spacing);padding-bottom:var(--section-spacing)}.faq{background-color:var(--section-bg-default)}.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4,.section--dark h5,.section--dark h6{color:var(--text-inverse)}.section--dark p{color:#fffc}.mx-auto{margin-left:auto;margin-right:auto}.text-center{text-align:center}.flex{display:flex}.inline-flex{display:inline-flex}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}@media(min-width:640px){.sm\:flex-row{flex-direction:row}}.overflow-hidden{overflow:hidden}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.heading-1{font-size:var(--text-5xl);font-weight:var(--font-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text-primary)}@media(min-width:768px){.heading-1{font-size:var(--text-6xl)}}@media(min-width:1024px){.heading-1{font-size:var(--text-7xl)}}.heading-2{font-size:var(--text-3xl);font-weight:var(--font-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text-primary)}@media(min-width:768px){.heading-2{font-size:var(--text-4xl)}}@media(min-width:1024px){.heading-2{font-size:var(--text-5xl)}}.heading-3{font-size:var(--text-2xl);font-weight:var(--font-semibold);line-height:var(--leading-snug);color:var(--text-primary)}@media(min-width:768px){.heading-3{font-size:var(--text-3xl)}}.body-large{font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--text-secondary)}@media(min-width:768px){.body-large{font-size:var(--text-xl)}}.body{font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-secondary)}.body-small{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-tertiary)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-inverse{color:var(--text-inverse)}.text-accent{color:var(--text-accent)}.uppercase{text-transform:uppercase}.tracking-wider{letter-spacing:var(--tracking-wider)}.tracking-wide{letter-spacing:var(--tracking-wide)}.font-semibold{font-weight:var(--font-semibold)}.font-medium{font-weight:var(--font-medium)}.font-bold{font-weight:var(--font-bold)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mb-12{margin-bottom:var(--space-12)}.mb-24{margin-bottom:var(--space-24)}.mt-4{margin-top:var(--space-4)}.mt-24{margin-top:var(--space-24)}.space-y-4>*+*{margin-top:var(--space-4)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-8);transition:all var(--transition-base)}.card:hover{border-color:var(--border-color-strong);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn,.cta{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--btn-padding-md);font-size:var(--text-base);font-weight:var(--font-semibold);line-height:var(--leading-none);border-radius:var(--btn-radius-md);transition:transform var(--transition-base),box-shadow var(--transition-base),background var(--transition-base),color var(--transition-base),border-color var(--transition-base),filter var(--transition-base);cursor:pointer;border:1px solid transparent;text-decoration:none;background:transparent;color:var(--text-primary);transform:translateY(0) scale(1)}.btn:focus-visible,.cta:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:3px;box-shadow:var(--shadow-sm)}.btn:hover:not(:disabled),.cta:hover:not(:disabled){transform:translateY(-1px) scale(1.02);box-shadow:var(--shadow-sm)}.btn:active:not(:disabled),.cta:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:var(--shadow-xs)}.btn:disabled,.cta:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:none;transform:none}.btn--primary,.btn-primary,.cta--primary{background:var(--btn-primary-gradient);border:none;color:var(--text-inverse);box-shadow:var(--btn-primary-shadow);border-radius:var(--radius-lg);transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);position:relative;overflow:hidden;transform:translateY(0)}.btn--primary:before,.btn-primary:before,.cta--primary:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#fff0,#ffffff29);transform:translate(-100%);transition:transform var(--transition-base)}.btn--primary:hover:not(:disabled),.btn-primary:hover:not(:disabled),.cta--primary:hover:not(:disabled){background:var(--btn-primary-gradient-hover);transform:translateY(-2px);color:var(--text-inverse);box-shadow:var(--btn-primary-shadow-hover)}.btn--primary:hover:before,.btn-primary:hover:before,.cta--primary:hover:before{transform:translate(0)}.btn--primary:focus-visible,.btn-primary:focus-visible,.cta--primary:focus-visible{outline:2px solid var(--color-terre-cuite);outline-offset:3px}.btn--primary:active:not(:disabled),.btn-primary:active:not(:disabled),.cta--primary:active:not(:disabled){transform:translateY(0) scale(.98);color:var(--text-inverse);box-shadow:0 4px 12px #b8441e40}.btn__content{display:inline-flex;align-items:center;gap:var(--space-2)}.btn--secondary,.cta--secondary,.btn-secondary{background:transparent;color:var(--color-primary-600);border:1px solid var(--btn-secondary-border);box-shadow:none}.btn--secondary:hover:not(:disabled),.cta--secondary:hover:not(:disabled),.btn-secondary:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary-50) 70%,transparent);border-color:var(--color-primary-500);color:var(--color-primary-700)}.btn--secondary:active:not(:disabled),.cta--secondary:active:not(:disabled),.btn-secondary:active:not(:disabled){background:color-mix(in srgb,var(--color-primary-100) 80%,transparent);border-color:var(--color-primary-600);color:var(--color-primary-800)}.btn--ghost,.btn-ghost,.cta--ghost{background:transparent;color:var(--color-primary-700);border-color:transparent}.btn--ghost:hover:not(:disabled),.btn-ghost:hover:not(:disabled),.cta--ghost:hover:not(:disabled){background:var(--btn-ghost-hover);color:var(--color-primary-800);box-shadow:var(--shadow-xs)}.btn--sm,.btn-sm,.btn--primary-small{padding:var(--btn-padding-sm);font-size:var(--text-sm);border-radius:var(--btn-radius-sm)}.btn--lg,.btn-lg,.btn--large{padding:var(--btn-padding-lg);font-size:var(--text-lg);border-radius:var(--btn-radius-lg)}.btn--full,.cta--full{width:100%}.focus-ring{outline:2px solid transparent;outline-offset:2px;transition:outline-color var(--transition-fast)}.focus-ring:focus-visible{outline-color:var(--color-primary-500)}.gradient-radial{background:radial-gradient(circle at top right,var(--color-primary-50) 0%,transparent 60%)}.gradient-subtle{background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-accent) 100%)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn .6s cubic-bezier(.16,1,.3,1) backwards}.animate-slide-in{animation:slideInFromLeft .6s cubic-bezier(.16,1,.3,1) backwards}.animate-scale-in{animation:scaleIn .4s cubic-bezier(.16,1,.3,1) backwards}.stagger-children>*{animation:fadeIn .6s cubic-bezier(.16,1,.3,1) backwards}.stagger-children>*:nth-child(1){animation-delay:.05s}.stagger-children>*:nth-child(2){animation-delay:.1s}.stagger-children>*:nth-child(3){animation-delay:.15s}.stagger-children>*:nth-child(4){animation-delay:.2s}.stagger-children>*:nth-child(5){animation-delay:.25s}.stagger-children>*:nth-child(6){animation-delay:.3s}.section__header{text-align:center;margin-bottom:var(--space-16)}.section__title{font-size:var(--text-4xl);font-weight:var(--font-bold);margin-bottom:var(--space-6)}@media(min-width:768px){.section__title{font-size:var(--text-5xl)}}.section-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-bold);line-height:1.2;letter-spacing:-.01em;text-align:center;margin-bottom:var(--space-6);color:var(--text-primary)}.promise .section-title,.section-impact .section-title{margin-bottom:var(--space-8)}.process .section-title{margin-bottom:var(--space-6)}.section-title--light{color:var(--text-inverse)}.card-lift{transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base),background var(--transition-base);will-change:transform}.card-lift:hover{transform:translateY(-8px);box-shadow:var(--shadow-2xl)}.card-lift:active{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.card-lift:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:3px;transform:translateY(-8px);box-shadow:var(--shadow-2xl)}.hero{min-height:100vh;display:flex;align-items:center;position:relative}.book-hero{background:linear-gradient(180deg,#0a0a0a,#1a1a1a);overflow:hidden}.book-hero__canvas-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.book-hero__canvas-container canvas{display:block;width:100%;height:100%}.book-hero .hero__container{position:relative;z-index:2}.book-hero .hero__content{position:relative;z-index:2;padding-top:var(--space-32);padding-bottom:var(--space-24)}@media(max-width:767px){.book-hero{min-height:auto}.book-hero__canvas-container{height:50vh;position:relative}.book-hero .hero__content{padding-top:var(--space-16)}}.hero__container{width:100%}.hero__grid{display:flex;flex-direction:column;gap:var(--space-24)}.hero__content{flex:1}.hero__eyebrow{display:inline-block;padding:var(--space-2) var(--space-4);background:var(--bg-accent);border-radius:var(--radius-full);margin-bottom:var(--space-6)}.hero__headline{margin-bottom:var(--space-8)}.hero__headline-sub{display:block;color:var(--text-secondary);font-weight:var(--font-normal)}.hero__description{max-width:42rem;margin-left:auto;margin-right:auto;margin-bottom:var(--space-12)}.hero__cta-group{display:flex;flex-direction:column;gap:var(--space-4);align-items:center;transition:opacity var(--transition-base),transform var(--transition-base);will-change:opacity,transform}@media(min-width:640px){.hero__cta-group{flex-direction:row;justify-content:center}}.hero--cta-hidden .hero__cta-group{opacity:0;transform:translateY(-14px);pointer-events:none}.hero__support{position:relative;z-index:var(--z-base)}.social-proof__label{font-size:var(--text-sm);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--text-tertiary)}.client-badges{list-style:none;padding:0;margin:0}.client-badge{display:inline-block}.client-badge__label{display:inline-block;padding:var(--space-2) var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--text-secondary);transition:all var(--transition-base)}.client-badge:hover .client-badge__label{background:var(--bg-tertiary);border-color:var(--border-color-strong);transform:translateY(-2px)}.client-badge--more .client-badge__label{background:var(--bg-accent);color:var(--text-accent);font-weight:var(--font-medium)}.hero-immersive{position:relative;padding:var(--section-spacing-lg) 0;color:var(--text-inverse);background:radial-gradient(circle at 20% 20%,color-mix(in srgb,var(--color-primary-400) 70%,transparent) 0%,transparent 52%),radial-gradient(circle at 80% 10%,color-mix(in srgb,var(--color-primary-200) 55%,transparent) 0%,transparent 50%),linear-gradient(135deg,color-mix(in srgb,var(--color-neutral-800) 86%,transparent) 0%,var(--color-neutral-900) 100%);overflow:hidden;isolation:isolate}.hero-immersive__backdrop{position:absolute;inset:0;pointer-events:none;z-index:-2}.hero-immersive__glow{position:absolute;width:clamp(18rem,28vw,32rem);aspect-ratio:1 / 1;border-radius:var(--radius-full);filter:blur(90px);opacity:.55}.hero-immersive__glow--primary{top:-20%;left:-10%;background:color-mix(in srgb,var(--color-primary-500) 65%,transparent)}.hero-immersive__glow--secondary{bottom:-30%;right:-12%;background:color-mix(in srgb,var(--color-neutral-700) 65%,transparent)}.hero-immersive__grid{position:absolute;inset:0;background-image:linear-gradient(90deg,color-mix(in srgb,var(--text-inverse) 4%,transparent) 0%,transparent 1px),linear-gradient(180deg,color-mix(in srgb,var(--text-inverse) 4%,transparent) 0%,transparent 1px);background-size:80px 80px;opacity:.18}.hero-immersive__container{position:relative}.hero-immersive__layout{display:grid;gap:var(--space-16);grid-template-columns:repeat(12,minmax(0,1fr));align-items:center}.hero-immersive__content{grid-column:span 6;max-width:38rem;display:flex;flex-direction:column;gap:var(--space-6)}.hero-immersive__eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-widest);color:color-mix(in srgb,var(--text-inverse) 72%,transparent);background:color-mix(in srgb,var(--text-inverse) 12%,transparent);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);width:-moz-fit-content;width:fit-content}.hero-immersive__title{font-family:var(--font-display);font-size:clamp(var(--text-4xl),4vw,var(--text-6xl));line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.hero-immersive__title-highlight{display:block;background:linear-gradient(120deg,color-mix(in srgb,var(--color-primary-300) 65%,var(--text-inverse) 35%),color-mix(in srgb,var(--color-primary-100) 60%,var(--text-inverse) 40%));-webkit-background-clip:text;background-clip:text;color:transparent}.hero-immersive__description{font-size:var(--text-lg);color:color-mix(in srgb,var(--text-inverse) 78%,transparent);line-height:var(--leading-relaxed)}.hero-immersive__cta-group{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center}.hero-immersive__facts{display:grid;gap:var(--space-4)}.hero-immersive__fact{display:grid;gap:var(--space-1);padding-left:var(--space-4);border-left:1px solid color-mix(in srgb,var(--text-inverse) 16%,transparent)}.hero-immersive__fact dt{font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:color-mix(in srgb,var(--text-inverse) 65%,transparent)}.hero-immersive__fact dd{margin:0;font-size:var(--text-base);color:color-mix(in srgb,var(--text-inverse) 82%,transparent)}.hero-immersive__stage{grid-column:span 6;justify-self:end;perspective:1600px;position:relative}.hero-immersive__rig{position:relative;width:clamp(18rem,32vw,28rem);aspect-ratio:3 / 4;transform-style:preserve-3d;animation:heroRigFloat 14s ease-in-out infinite}.hero-immersive__card{position:absolute;inset:auto;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-8);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid color-mix(in srgb,var(--text-inverse) 12%,transparent);transform-style:preserve-3d}.hero-immersive__card--main{top:8%;left:6%;right:6%;background:linear-gradient(160deg,color-mix(in srgb,var(--color-neutral-800) 82%,transparent),color-mix(in srgb,var(--color-primary-500) 65%,transparent));transform:rotateY(-18deg) rotateX(12deg) translateZ(calc(var(--space-12) * 2.4))}.hero-immersive__card--secondary{bottom:12%;right:-4%;width:60%;background:color-mix(in srgb,var(--text-inverse) 6%,transparent);display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-6);transform:rotateY(-12deg) rotateX(6deg) translateZ(calc(var(--space-12) * 1.2))}.hero-immersive__card-label{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:color-mix(in srgb,var(--text-inverse) 68%,transparent)}.hero-immersive__card-title{font-size:var(--text-2xl);font-weight:var(--font-semibold);line-height:var(--leading-tight)}.hero-immersive__card-meta{font-size:var(--text-sm);color:color-mix(in srgb,var(--text-inverse) 70%,transparent)}.hero-immersive__chip{display:inline-flex;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:color-mix(in srgb,var(--text-inverse) 85%,transparent);background:color-mix(in srgb,var(--color-primary-400) 24%,transparent)}.hero-immersive__orb{position:absolute;border-radius:var(--radius-full);filter:blur(30px);opacity:.75}.hero-immersive__orb--accent{width:clamp(10rem,16vw,14rem);height:clamp(10rem,16vw,14rem);top:-8%;right:6%;background:radial-gradient(circle,color-mix(in srgb,var(--color-primary-400) 68%,transparent) 0%,transparent 70%);animation:heroOrbPulse 9s ease-in-out infinite}.hero-immersive__orb--light{width:clamp(8rem,14vw,12rem);height:clamp(8rem,14vw,12rem);bottom:18%;left:-6%;background:radial-gradient(circle,color-mix(in srgb,var(--text-inverse) 28%,transparent) 0%,transparent 70%);animation:heroOrbPulse 12s ease-in-out infinite reverse}.hero-immersive__shadow{position:absolute;inset:auto 6% -8%;height:clamp(4rem,8vw,6rem);background:radial-gradient(circle,color-mix(in srgb,var(--color-neutral-900) 70%,transparent) 0%,transparent 70%);transform:rotateX(90deg) translateZ(calc(var(--space-12) * -.5));opacity:.6;filter:blur(24px)}@keyframes heroRigFloat{0%,to{transform:rotateY(-14deg) rotateX(10deg) translateY(0)}50%{transform:rotateY(-20deg) rotateX(6deg) translateY(calc(var(--space-3) * -1))}}@keyframes heroOrbPulse{0%,to{transform:translateZ(0) scale(1);opacity:.75}50%{transform:translate3d(8px,-12px,0) scale(1.08);opacity:.95}}@media(max-width:1023px){.hero-immersive__layout{grid-template-columns:1fr}.hero-immersive__content,.hero-immersive__stage{grid-column:span 1}.hero-immersive__stage{justify-self:center;margin-top:var(--space-12)}}@media(max-width:639px){.hero-immersive{padding:var(--section-spacing) 0}.hero-immersive__card--main,.hero-immersive__card--secondary{transform:none;position:static;width:100%;margin-bottom:var(--space-6)}.hero-immersive__rig{width:100%;max-width:24rem;animation:none}.hero-immersive__stage{perspective:none}.hero-immersive__orb,.hero-immersive__shadow{display:none}}@media(prefers-reduced-motion:reduce){.hero-immersive__rig,.hero-immersive__orb{animation:none}}.promise{background-color:var(--bg-section);position:relative;z-index:10;margin-top:0!important}.section-what-changes{background-color:var(--section-bg-impact)}.promise__container{max-width:1100px;margin:0 auto;padding:var(--section-spacing) var(--container-padding)}.section-what-changes .promise__container{padding-block:calc(var(--section-spacing) * .9)}@media(min-width:1024px){.promise__container{padding:var(--section-spacing-lg) var(--container-padding-lg)}}.promise__grid{display:grid;grid-template-columns:1fr;gap:var(--space-8)}@media(min-width:768px){.promise__grid{grid-template-columns:repeat(3,1fr);gap:var(--space-8)}}.promise-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-5);padding:var(--space-6) var(--space-5);background:var(--card-subtle, var(--bg-white-pure));text-align:left;border:none;border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);transition:transform var(--transition-base),box-shadow var(--transition-base);position:relative;overflow:hidden}.promise-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-floating)}.section-what-changes .promise__grid{counter-reset:none}.section-what-changes .promise-card{align-items:center;text-align:center;gap:var(--space-4)}.section-what-changes .promise-card:before{content:none}.promise-card__icon{display:flex;align-items:center;justify-content:center;width:6rem;height:6rem;color:var(--color-terre-cuite);margin-bottom:1rem}.impact-card__icon{display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4);background:#ffffffb3;border-radius:var(--radius-full);box-shadow:var(--shadow-soft)}.section-what-changes .impact-card__icon:before,.section-what-changes .impact-card__icon:after{content:none}.promise-card__icon svg{width:3.5rem;height:3.5rem;stroke-width:2;min-width:3.5rem;min-height:3.5rem;max-width:3.5rem;max-height:3.5rem}.promise-card__title{font-family:var(--font-serif-display);font-size:var(--text-xl);font-weight:var(--font-semibold);margin-bottom:0;color:var(--text-primary);line-height:var(--leading-snug)}.impact-card__title{margin-top:0}.promise-card__description{font-size:var(--text-base);color:var(--text-secondary);line-height:var(--leading-relaxed);margin:0}.impact-card__text{max-width:48ch}@media(min-width:768px){.promise-card__title{font-size:var(--text-xl)}.promise-card{padding:var(--space-12) var(--space-8)}}.process{background:var(--bg-section);position:relative;margin-top:0!important}.process__container{max-width:1200px;margin:0 auto;padding:var(--section-spacing) var(--container-padding);position:relative}@media(min-width:1024px){.process__container{padding:var(--section-spacing-lg) var(--container-padding-lg)}}.process__container:before{display:none}.process__header{max-width:760px;margin:0 auto var(--space-16);text-align:center;display:flex;flex-direction:column;gap:var(--space-4)}.process__eyebrow{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-primary-600);background:var(--color-primary-50);border-radius:var(--radius-full);align-self:center}.process__title{margin-bottom:var(--space-6)}.process__subtitle{font-size:var(--text-lg);color:var(--text-secondary);line-height:var(--leading-relaxed)}.process__grid{display:grid;grid-template-columns:1fr;gap:var(--space-6);position:relative}@media(min-width:768px){.process__grid{grid-template-columns:repeat(2,1fr);gap:var(--space-8)}}@media(min-width:1024px){.process__grid{grid-template-columns:repeat(4,1fr);gap:var(--space-6)}}.process__step{position:relative;background-color:var(--card-surface, var(--bg-white-pure));border:none;border-radius:var(--radius-xl);padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-4);box-shadow:var(--shadow-soft);transition:transform var(--transition-base),box-shadow var(--transition-base);overflow:hidden;height:100%}.process__step:after{display:none}.process__step:hover{transform:translateY(-4px);box-shadow:var(--shadow-floating)}.process__step-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);position:relative;z-index:1;flex-wrap:wrap}.process__step-number{display:flex;align-items:center;justify-content:center;width:58px;height:58px;min-width:58px;border-radius:50%;background:linear-gradient(135deg,var(--accent-main) 0%,var(--color-primary-400) 100%);color:#fff;font-family:var(--font-display);font-size:1.5rem;font-weight:600;line-height:1;margin-bottom:var(--space-2)}.process__step-duration{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--accent-main);background:color-mix(in srgb,var(--accent-main) 12%,transparent);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);white-space:nowrap}.process__step-title{font-family:var(--font-serif-display);font-size:1.4rem;font-weight:600;color:var(--text-primary);letter-spacing:var(--tracking-tight);position:relative;z-index:1;margin-bottom:var(--space-3)}.process__step-description,.process__step-body{font-size:.98rem;line-height:1.6;color:var(--text-secondary);position:relative;z-index:1}.process__step-details{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);position:relative;z-index:1}.process__step-details li{font-size:var(--text-sm);color:var(--text-secondary);display:flex;gap:var(--space-2);align-items:flex-start}.process__step-details li:before{content:"·";color:var(--color-primary-500);font-weight:var(--font-bold);line-height:1}.process__step-badge{align-self:flex-start;margin-top:auto;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--accent-main);background:color-mix(in srgb,var(--accent-main) 15%,transparent);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full)}.process__footer{margin-top:var(--space-12);display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center}@media(min-width:768px){.process__footer{flex-direction:row;justify-content:center;text-align:left}}.process__note{font-size:var(--text-base);color:var(--text-secondary)}.offers{background:var(--bg-section);margin-top:0!important}.offers__container{max-width:1100px;margin:0 auto;padding:var(--section-spacing) var(--container-padding)}@media(min-width:1024px){.offers__container{padding:var(--section-spacing-lg) var(--container-padding-lg)}}.offers .section-title{margin-bottom:var(--space-16)}.offers__grid{display:grid;grid-template-columns:1fr;gap:var(--space-6);margin-bottom:var(--space-12)}@media(min-width:768px){.offers__grid{grid-template-columns:repeat(3,1fr);align-items:stretch}}.offer-card{background:var(--card-surface, var(--bg-white-pure));border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-8);display:flex;flex-direction:column;transition:transform var(--transition-base),box-shadow var(--transition-base);position:relative;box-shadow:var(--shadow-soft)}.offer-card:not(.offer-card--featured):hover{transform:translateY(-4px);box-shadow:var(--shadow-floating)}.offer-card--featured{background:var(--btn-primary-gradient);border:none;color:var(--text-inverse);box-shadow:var(--btn-primary-shadow-hover);transform:scale(1.02);position:relative}.offer-card--featured:before{content:"";position:absolute;inset:-4px;border-radius:calc(var(--radius-xl) + 4px);background:linear-gradient(135deg,#b8441e33,#e8924f26);z-index:-1;filter:blur(8px)}.offer-card--featured:hover{transform:scale(1.02) translateY(-4px);box-shadow:0 25px 55px -12px #b8441e73}.offer-card__badge{display:none;position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--color-neutral-800);color:var(--text-inverse);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;box-shadow:var(--shadow-md);white-space:nowrap}.offer-card__header{margin-bottom:var(--space-6)}.offer-card__name{font-family:var(--font-serif-display);font-size:var(--text-xl);font-weight:var(--font-semibold);margin-bottom:var(--space-4);color:var(--text-primary)}.offer-card--featured .offer-card__name{color:var(--text-on-accent)}.offer-card__price{font-size:var(--text-sm);color:var(--text-tertiary)}.offer-card--featured .offer-card__price{color:#ffffffb3}.offer-card__price:before{content:"";font-family:var(--font-serif-narrative);font-style:italic;font-size:var(--text-sm)}.offer-card__price strong{font-family:var(--font-serif-display);font-size:var(--text-4xl);font-weight:var(--font-normal);color:var(--text-primary);display:block;line-height:var(--leading-tight);margin-top:var(--space-1)}.offer-card--featured .offer-card__price strong{color:var(--text-on-accent)}.offer-card__features{list-style:none;margin-bottom:var(--space-8);flex-grow:1}.offer-card__features li{padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);font-size:var(--text-base)}.offer-card--featured .offer-card__features li{border-bottom-color:#fff3;color:#ffffffe6}.offer-card__features li:last-child{border-bottom:none}.offer-card--featured .btn--primary{background:var(--text-on-accent);color:var(--color-primary-600);border-color:var(--text-on-accent)}.offer-card--featured .btn--primary:hover{background:var(--bg-card);color:var(--color-primary-700)}.offers__note{text-align:center;font-size:var(--text-base);color:var(--text-secondary)}.offers__note strong{color:var(--text-accent);font-weight:var(--font-semibold)}.section.section--makingof{background-color:var(--section-bg-a2mo);color:var(--section-text-on-dark);padding-top:var(--space-16);padding-bottom:var(--space-16)}.section-a2mo{background-color:var(--section-bg-a2mo);color:var(--section-text-on-dark)}.creation-highlight__container{max-width:1200px;margin:0 auto;padding:var(--section-spacing) var(--container-padding);display:grid;gap:var(--space-10)}.section-a2mo .creation-highlight__container{align-items:center;padding-block:var(--section-spacing-lg)}.makingof-card{background-color:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-elevated);padding:var(--space-8)}@media(min-width:1024px){.creation-highlight__container{grid-template-columns:minmax(0,1.1fr) minmax(0,1.2fr);align-items:center;padding:var(--section-spacing-lg) var(--container-padding-lg);gap:var(--space-12)}}.creation-highlight__content{display:flex;flex-direction:column;gap:var(--space-6)}.creation-highlight__eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:color-mix(in srgb,var(--section-text-on-dark) 78%,transparent)}.creation-highlight__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-bold);letter-spacing:var(--tracking-tight);color:var(--text-primary);line-height:var(--leading-tight)}.section-a2mo .creation-highlight__title{color:var(--text-inverse)}.creation-highlight__description{font-size:var(--text-lg);color:var(--text-secondary);line-height:var(--leading-relaxed);max-width:36rem}.section-a2mo .creation-highlight__description,.section-a2mo .creation-highlight__caption{color:#ffffffb8}.creation-highlight__media{display:flex;flex-direction:column;gap:var(--space-4)}.section-a2mo .creation-highlight__media{align-items:center}.creation-highlight__screen{position:relative;border-radius:var(--radius-2xl);overflow:hidden;background:linear-gradient(145deg,#111827,#020617);border:1px solid rgba(255,255,255,.08);box-shadow:0 26px 52px #0000008c}.creation-highlight__screen:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(232,146,79,.16),transparent 60%);pointer-events:none}.creation-highlight__screen-inner{position:relative;z-index:1;padding:var(--space-7);display:flex;flex-direction:column;gap:var(--space-6);min-height:360px}.creation-highlight__screen-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.creation-highlight__screen-placeholder{background:linear-gradient(145deg,#0f172a,#0a0f1a);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-6);display:grid;place-items:center;gap:var(--space-4);text-align:center;color:var(--section-text-on-dark);box-shadow:inset 0 0 0 1px #ffffff0f}.creation-highlight__placeholder{font-size:var(--text-base);line-height:var(--leading-relaxed);max-width:28rem}.creation-highlight__video{position:relative;aspect-ratio:16 / 9;border-radius:var(--radius-2xl);overflow:hidden;background:linear-gradient(135deg,#b95a40d9,#1a2332f2);box-shadow:var(--shadow-2xl)}.creation-highlight__video:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.25) 0%,transparent 55%);pointer-events:none;transition:opacity var(--transition-base)}.creation-highlight__video:hover:after{opacity:.75}.creation-highlight__video-overlay{position:absolute;inset:var(--space-6);display:flex;flex-direction:column;justify-content:space-between;color:var(--text-inverse)}.creation-highlight__badge{align-self:flex-start;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);background:#ffffff1f;font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-weight:var(--font-semibold);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.creation-highlight__play{width:72px;height:72px;display:grid;place-items:center;border-radius:var(--radius-full);background:#ffffff1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform var(--transition-base),background var(--transition-base)}.creation-highlight__play svg{width:100%;height:100%;color:inherit}.creation-highlight__video:hover .creation-highlight__play{transform:scale(1.05);background:#fff3}.creation-highlight__caption{font-size:var(--text-sm);color:var(--text-secondary)}.projects,.section.section--projects,.section-projects{background-color:var(--bg-white-pure, #FFFFFF)!important;margin-top:0!important;padding-top:clamp(3rem,7vh,4rem)!important;border-top:none!important;border-bottom:none!important;position:relative}.projects:before,.projects:after,.section.section--projects:before,.section.section--projects:after,.section-projects:before,.section-projects:after{content:none!important;display:none!important}.projects__container,.projects-shell{max-width:1200px;margin:0 auto;padding:var(--section-spacing) var(--container-padding);background-color:transparent;border-radius:0;border:none;box-shadow:none}.projects__more{margin-top:var(--space-6);display:flex;justify-content:center}.projects__view-all{min-width:min(360px,100%);box-shadow:var(--shadow-soft-md);font-weight:var(--font-semibold)}.projects__view-all--done,.projects__view-all:disabled{cursor:default;opacity:.72;box-shadow:none;background:color-mix(in srgb,var(--bg-white-pure) 65%,transparent)}@media(min-width:1024px){.projects__container,.projects-shell{padding:var(--section-spacing-lg) var(--container-padding-lg)}}.project-card[data-sector=Agriculture]{--project-card-halo: color-mix(in srgb, var(--color-primary-500) 70%, var(--bg-secondary) 30%)}.project-card[data-sector=Artisanat]{--project-card-halo: color-mix(in srgb, var(--color-primary-500) 70%, var(--color-primary-300) 30%)}.project-card[data-sector=BTP]{--project-card-halo: color-mix(in srgb, var(--color-primary-600) 65%, var(--color-neutral-600) 35%)}.project-card[data-sector=Environnement]{--project-card-halo: color-mix(in srgb, var(--color-primary-400) 65%, var(--bg-secondary) 35%)}.project-card[data-sector=Mobilité]{--project-card-halo: color-mix(in srgb, var(--color-primary-600) 60%, var(--bg-tertiary) 40%)}.project-card[data-sector=Patrimoine]{--project-card-halo: color-mix(in srgb, var(--color-primary-700) 70%, var(--bg-tertiary) 30%)}.project-card[data-sector="Spectacle vivant"]{--project-card-halo: color-mix(in srgb, var(--color-primary-500) 70%, var(--color-primary-200) 30%)}.project-card[data-sector=Territoire]{--project-card-halo: color-mix(in srgb, var(--color-primary-500) 65%, var(--bg-secondary) 35%)}.project-card[data-sector="Économie sociale et solidaire"]{--project-card-halo: color-mix(in srgb, var(--color-primary-400) 60%, var(--bg-accent) 40%)}.testimonials,.section-testimonials{background:var(--bg-testimonials);color:var(--text-primary);padding-top:var(--space-24);padding-bottom:var(--space-24)}.testimonials .section__title,.section-testimonials .section-title,.section-testimonials h2{font-family:var(--font-display);color:var(--text-primary);text-align:center;margin-bottom:var(--space-12)}.testimonials__grid{display:grid;grid-template-columns:1fr;gap:var(--space-8)}@media(min-width:768px){.testimonials__grid{grid-template-columns:repeat(3,1fr)}}.testimonial-card{background:var(--color-neutral-800);color:var(--text-inverse);border:none;border-radius:var(--radius-xl, 1.75rem);padding:var(--space-6);box-shadow:var(--shadow-soft-lg);transition:all var(--transition-base);max-width:32rem}.testimonial-card:hover{background:var(--color-neutral-700);transform:translateY(-4px);box-shadow:0 30px 70px #00000047}.testimonial-card:before{content:"";display:block;width:3rem;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--accent-amber),var(--color-primary-500));margin-bottom:var(--space-4)}.testimonial-card__quote{font-family:var(--font-serif-narrative, var(--font-display));font-size:1.05rem;line-height:1.6;color:var(--text-inverse);margin-bottom:var(--space-6);font-style:italic}.testimonial-card__author{font-family:var(--font-body);font-size:.9rem;color:#ffffffb3;font-weight:var(--font-medium);margin-top:var(--space-4)}.faq{background:var(--bg-section);margin-top:0!important}.faq__container{max-width:960px;margin:0 auto;padding:var(--section-spacing) var(--container-padding)}@media(min-width:1024px){.faq__container{padding:var(--section-spacing-lg) var(--container-padding-lg)}}.faq__header{text-align:center;display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-12)}.faq__title{font-size:var(--text-4xl);letter-spacing:var(--tracking-tight)}.faq__subtitle{font-size:var(--text-lg);color:var(--text-secondary);line-height:var(--leading-relaxed)}.faq__list{display:flex;flex-direction:column;gap:var(--space-4)}.faq__item{position:relative;background:var(--card-surface, var(--bg-white-pure));border:none;border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);overflow:hidden;transition:transform var(--transition-base),box-shadow var(--transition-base)}.faq__item+.faq__item{margin-top:var(--space-2)}.faq__item:before{display:none}.faq__item:hover{transform:translateY(-2px);box-shadow:var(--shadow-floating)}.faq__item.is-open{box-shadow:var(--shadow-floating)}.faq__question{width:100%;background:none;border:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);padding:var(--space-4) var(--space-5);font-size:var(--text-lg);font-weight:var(--font-semibold);text-align:left;color:var(--text-primary);cursor:pointer;transition:color var(--transition-base)}.faq__question:focus-visible{outline:2px solid var(--color-terre-cuite);outline-offset:2px;border-radius:var(--radius-lg)}.faq__question[aria-expanded=true]{color:var(--color-terre-cuite)}.faq__icon{position:relative;width:40px;height:40px;border-radius:var(--radius-full);background:#b95a401f;border:1px solid rgba(185,90,64,.18);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--transition-base),border-color var(--transition-base),transform var(--transition-base)}.faq__icon:before{content:"";position:absolute;left:50%;top:50%;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--color-primary-500);transform:translate(-50%,-50%);transition:transform var(--transition-base),border-color var(--transition-base)}.faq__question:hover .faq__icon{background:#b95a402e;border-color:#b95a4047}.faq__question[aria-expanded=true] .faq__icon{background:#b95a4038;border-color:#b95a4073}.faq__question[aria-expanded=true] .faq__icon:before{transform:translate(-50%,-50%) rotate(180deg)}.faq__answer{max-height:0;overflow:hidden;padding:0 var(--space-5);opacity:0;pointer-events:none;border-top:1px solid rgba(26,35,50,.08);background:linear-gradient(180deg,#b95a400f,#fff0);transition:max-height var(--transition-slow),opacity var(--transition-base),padding var(--transition-base);line-height:1.6;color:var(--text-secondary)}.faq__question[aria-expanded=true]+.faq__answer{max-height:360px;padding:var(--space-4) var(--space-5) var(--space-5);opacity:1;pointer-events:auto}.faq__answer p{margin:0;font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-secondary)}@media(max-width:767px){.faq__question{padding:var(--space-4) var(--space-5);font-size:var(--text-base);gap:var(--space-6)}.faq__answer{padding:0 var(--space-5)}.faq__question[aria-expanded=true]+.faq__answer{padding:var(--space-4) var(--space-5) var(--space-5)}.faq__icon{width:36px;height:36px}}.contact,.section-contact{position:relative;background:var(--color-encre-nuit, #1A2332);color:var(--text-inverse);overflow:hidden;padding-top:clamp(2.5rem,5vh,3.5rem);padding-bottom:var(--section-spacing)}.contact:before,.contact:after{display:none}.contact__container{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:var(--section-spacing) var(--container-padding)}@media(min-width:1024px){.contact__container{padding:var(--section-spacing-lg) var(--container-padding-lg)}}.contact__layout{display:grid;gap:var(--space-8)}@media(max-width:1023px){.contact__layout{display:flex;flex-direction:column;gap:var(--space-6)}}@media(min-width:1024px){.contact__layout{grid-template-columns:minmax(0,430px) minmax(0,1fr);-moz-column-gap:var(--space-16);column-gap:var(--space-16);row-gap:var(--space-6);align-items:flex-start}}.contact__intro{display:flex;flex-direction:column;gap:var(--space-4)}.contact__title{font-size:var(--text-4xl);font-family:var(--font-display);letter-spacing:var(--tracking-tight);color:var(--text-inverse);margin-top:0}.contact__subtitle{font-size:var(--text-lg);color:#ffffffb8;line-height:var(--leading-relaxed);margin-top:0}.contact__response{font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:#fff9}.copy-email__icon svg{width:26px;height:26px;color:currentColor;transition:opacity var(--transition-base)}.copy-email__icon.is-hidden{opacity:0}.copy-email__text{font-weight:var(--font-semibold)}.copy-email__text.is-hidden{display:none}.copy-email__success,.copy-email__error{display:none;font-size:var(--text-sm);font-weight:var(--font-medium)}.copy-email__success.is-visible,.copy-email__error.is-visible{display:inline}.copy-email__success{color:#d4f4dd}.copy-email__error{color:#ffd6d1}.contact__card,.contact-form-card{--contact-card-bg: #232B3A;background-color:var(--contact-card-bg);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-xl);padding:var(--space-8);position:relative;box-shadow:var(--shadow-soft);overflow:hidden;max-width:720px;margin:0 auto}@media(min-width:768px){.contact__card,.contact-form-card{padding:var(--space-10)}}.contact__feedback{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-xl);background:#2d6e4f38;border:1px solid rgba(212,237,218,.45);color:#d4f4dd;margin-bottom:0;opacity:0;transform:translateY(-12px);pointer-events:none;max-height:0;transition:opacity var(--transition-base),transform var(--transition-base),max-height var(--transition-base),margin var(--transition-base),padding var(--transition-base),border-color var(--transition-base)}.contact__feedback.is-visible{opacity:1;transform:translateY(0);pointer-events:auto;max-height:160px;margin-bottom:var(--space-6)}.contact__feedback:not(.is-visible){padding-top:0;padding-bottom:0;border-color:transparent}.contact__feedback[hidden]{display:none!important}.contact__feedback-icon svg{width:28px;height:28px;color:#d4f4dd}.contact__feedback-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:#fff}.contact__feedback-name{font-weight:var(--font-semibold);color:#f7c7a3}.contact__feedback-text{font-size:var(--text-sm);color:#ffffffb3}.contact__form{display:flex;flex-direction:column;gap:var(--space-6)}.form__grid{display:grid;gap:var(--space-6)}@media(min-width:640px){.form__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.form__group{display:flex;flex-direction:column;gap:var(--space-2);position:relative}.form__group--full{grid-column:1 / -1}.form__group--range{gap:var(--space-3)}.form__label{font-size:var(--text-sm);font-weight:var(--font-medium);color:#ffffffd9;letter-spacing:.01em}.form__input,.form__select,.form__textarea{width:100%;box-sizing:border-box;padding:.75rem .9rem;font-size:.95rem;font-family:var(--font-body);color:var(--text-primary);background-color:var(--bg-off-white, #F5F5F7);border:1px solid var(--border-color-strong);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form__select{padding-right:var(--space-8);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='rgba(26,35,50,0.7)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px}.form__input:focus,.form__select:focus,.form__textarea:focus{outline:none;border-color:var(--color-terre-cuite);box-shadow:0 0 0 2px #b8441e40}.form__select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='rgba(185,90,64,1)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M4 6l4 4 4-4'/%3E%3C/svg%3E")}.form__input::-moz-placeholder,.form__textarea::-moz-placeholder{color:var(--text-tertiary)}.form__input::placeholder,.form__textarea::placeholder{color:var(--text-tertiary)}.form__textarea{resize:vertical;min-height:140px;line-height:var(--leading-relaxed)}.form__input[type=date]{color-scheme:light;-moz-appearance:none;appearance:none;-webkit-appearance:none;height:3.25rem;padding:.75rem .9rem;line-height:1.4}.form__input[type=date]::-webkit-calendar-picker-indicator{opacity:.7}.form__group--date .form__input[type=date]{width:100%;max-width:100%;box-sizing:border-box}.form__range-container{display:flex;align-items:center;gap:var(--space-4);width:100%;max-width:100%}@media(max-width:480px){.form__range-container{gap:var(--space-3)}}.form__range{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:3px;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--accent-primary) 0%,var(--accent-primary) var(--value, 50%),var(--slider-track) var(--value, 50%),var(--slider-track) 100%);outline:none}.form__range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:var(--radius-xs);background:var(--slider-thumb);border:none;cursor:pointer;box-shadow:0 2px 6px #0000004d;-webkit-transition:transform var(--transition-fast);transition:transform var(--transition-fast)}.form__range::-webkit-slider-thumb:hover{transform:scale(1.1)}.form__range::-moz-range-thumb{width:18px;height:18px;border-radius:var(--radius-xs);background:var(--slider-thumb);border:none;cursor:pointer;box-shadow:0 2px 6px #0000004d}.form__range:focus-visible{outline:2px solid var(--accent-primary);outline-offset:4px}.form__range-value{font-size:var(--text-sm);font-weight:var(--font-semibold);color:#fffc;min-width:80px;flex-shrink:0}@media(max-width:480px){.form__range-value{min-width:70px;font-size:var(--text-xs)}}.form__counter{align-self:flex-end;font-size:var(--text-xs);color:#ffffff8c}.form__checkbox{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--text-sm);color:#ffffffbf}.form__checkbox input{margin-top:.2rem;accent-color:var(--color-primary-500)}.form__error{font-size:var(--text-xs);color:var(--color-error-light);display:none}.form__group--error .form__input,.form__group--error .form__select,.form__group--error .form__textarea{border-color:#c92a2acc;box-shadow:0 0 0 3px #c92a2a40}.form__group--error .form__error{display:block}.form__group--success .form__input,.form__group--success .form__select,.form__group--success .form__textarea{border-color:#2d6e4fb3;box-shadow:0 0 0 3px #2d6e4f33}.form__group--success .form__checkmark,.contact__card .form__checkmark{display:none!important}.form__group--success:after,.form__group--success:before,.form__group--success .form__input:after,.form__group--success .form__select:after,.form__group--success .form__textarea:after{content:none!important;background:none!important;box-shadow:none!important}.form__group--success .form__input,.form__group--success .form__select,.form__group--success .form__textarea{background-image:none!important;padding-right:.9rem}.contact__form-footer{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}@media(min-width:640px){.contact__form-footer{flex-direction:row;align-items:center;justify-content:space-between}}.btn__loader{display:none;width:1.25rem;height:1.25rem;margin-left:var(--space-3);border-radius:var(--radius-full);border:2px solid rgba(255,255,255,.4);border-top-color:var(--text-inverse);animation:contact-btn-spin .8s linear infinite}@keyframes contact-btn-spin{to{transform:rotate(360deg)}}.footer{position:relative;background:var(--bg-dark-deep);color:var(--text-inverse);padding:var(--space-20) 0 var(--space-12);border-top:none;box-shadow:none}.footer__main{margin-bottom:var(--space-16)}.footer__grid{display:grid;grid-template-columns:1fr;gap:var(--space-8)}@media(min-width:768px){.footer__grid{grid-template-columns:2fr 1fr 1fr 1fr}}.footer__col{display:flex;flex-direction:column;gap:var(--space-4)}.footer__col--brand{max-width:380px;min-width:200px}.footer__brand-name{font-size:var(--text-2xl);font-weight:var(--font-bold);font-family:var(--font-display);color:var(--text-inverse);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);white-space:normal;overflow:visible;text-overflow:clip;background:linear-gradient(135deg,var(--text-inverse) 0%,var(--color-primary-300) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}@media(min-width:768px){.footer__brand-name{font-size:var(--text-3xl)}}@media(max-width:480px){.footer__brand-name{font-size:.9rem;white-space:normal}.footer__col--brand{max-width:100%}}.footer__brand-subtitle{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-primary-400);letter-spacing:var(--tracking-wide)}.footer__title{font-size:var(--text-base);font-weight:var(--font-semibold);color:color-mix(in srgb,var(--text-inverse) 90%,transparent);letter-spacing:var(--tracking-wide);text-transform:uppercase;margin-bottom:var(--space-2);line-height:var(--leading-snug)}.footer__links{list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}.footer__links a{font-size:var(--text-sm);font-weight:var(--font-normal);color:color-mix(in srgb,var(--text-inverse) 70%,transparent);line-height:var(--leading-snug);transition:color var(--transition-base),text-decoration-color var(--transition-base);text-decoration:none}.footer__links a:hover{color:var(--color-primary-300);text-decoration:underline}.footer__contact-link{display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;color:#ffffffd1;font-size:var(--text-sm);font-weight:var(--font-medium);text-decoration:none;transition:color var(--transition-base)}.footer__links--contact .footer__contact-link{font-size:var(--text-sm);font-weight:var(--font-medium);color:#ffffffd1}.footer__contact-link:hover{color:var(--color-primary-300)}.footer__social{display:flex;gap:var(--space-3)}.footer__social-link{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);border:1px solid var(--border-color-inverse);color:color-mix(in srgb,var(--text-inverse) 82%,transparent);background:#ffffff0a;transition:all var(--transition-base)}.footer__social-link:hover{color:var(--color-primary-300);border-color:color-mix(in srgb,var(--color-primary-400) 65%,transparent);background:#ffffff14}.footer__social-link:focus-visible{outline:2px solid var(--color-primary-400);outline-offset:3px}.footer__social-icon{width:22px;height:22px}.footer__contact-link:focus-visible{outline:2px solid var(--color-primary-400);outline-offset:4px;border-radius:var(--radius-sm)}.footer__contact-icon{width:18px;height:18px;color:var(--color-primary-400);flex-shrink:0}.footer__email-button{border:1px solid transparent;background:transparent;color:inherit;font:inherit;text-align:left;padding:var(--space-2) 0;cursor:pointer;transition:color var(--transition-base),border-color var(--transition-base)}.footer__email-button:hover{color:var(--color-primary-300)}.footer__email-button .copy-email__text{font-weight:var(--font-medium);color:inherit}.footer__bottom{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-8);border-top:1px solid var(--border-color-inverse);gap:var(--space-6)}.footer__content{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);width:100%}.footer__left{display:flex;flex-direction:column;gap:var(--space-2)}.footer__right{margin-left:auto}.footer__credits{font-size:var(--text-sm);color:var(--text-tertiary);text-align:right}.heart-icon{color:var(--color-primary-500);display:inline-block;animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.footer__bottom-left{display:flex;flex-direction:column;gap:var(--space-2)}@media(min-width:640px){.footer__bottom-left{flex-direction:row;align-items:center;gap:var(--space-6)}}.footer__copyright{font-size:var(--text-sm);color:#ffffff80}.footer__made{font-size:var(--text-sm);color:#ffffff80;display:inline-flex;align-items:center;gap:var(--space-2)}.footer__heart-icon{width:14px;height:14px;color:var(--color-primary-400);display:inline-block;vertical-align:middle}.footer__back-to-top{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid var(--border-color-inverse);border-radius:var(--radius-full);color:var(--text-inverse);cursor:pointer;transition:all var(--transition-base);flex-shrink:0}.footer__back-to-top:hover{background:#ffffff1a;border-color:var(--color-primary-500);transform:translateY(-2px)}.footer__back-to-top-icon{width:20px;height:20px}@media(max-width:640px){.footer__bottom,.footer__content{flex-direction:column;align-items:flex-start}.footer__right{margin-left:0}.footer__credits{text-align:left}}@media(max-width:767px){.hero{min-height:auto;padding-top:var(--space-24);padding-bottom:var(--space-24)}.section-title{font-size:var(--text-3xl)}.heading-1{font-size:var(--text-4xl)}.heading-2{font-size:var(--text-2xl)}}@media print{.nav,.footer,.cta,.btn{display:none}body{background:#fff;color:#000}a{text-decoration:underline}}.projects__header{display:grid;gap:var(--space-8);margin-bottom:var(--space-12)}@media(min-width:1024px){.projects__header{grid-template-columns:minmax(0,2.5fr) minmax(0,1.5fr);align-items:start;gap:var(--space-16)}}.projects__intro{display:flex;flex-direction:column;gap:var(--space-4);max-width:640px}.projects__title{font-family:var(--font-display);font-size:clamp(var(--text-4xl),3.4vw,var(--text-6xl));letter-spacing:var(--tracking-tight);color:var(--text-primary);text-align:left;margin-top:0}.projects__description{font-size:var(--text-lg);color:var(--text-secondary);line-height:var(--leading-relaxed)}.projects__stats{display:flex;flex-direction:column;gap:var(--space-5);align-self:start}@media(max-width:1023px){.projects__stats{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:var(--space-4)}}.projects__stat-card{position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5) var(--space-6);border-radius:var(--radius-xl);background-color:var(--card-subtle, #F5F5F7);box-shadow:var(--shadow-soft);border:1px solid var(--border-subtle);overflow:hidden;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.projects__stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft-md)}.projects__stat-value{font-family:var(--font-serif-display);font-size:clamp(2.25rem,2.8vw,3rem);font-weight:var(--font-bold);line-height:1;color:var(--text-primary);margin-bottom:var(--space-1)}.projects__stat-label{font-family:var(--font-body);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}@media(max-width:640px){.projects__stat-card{padding:var(--space-5) var(--space-6);flex:1 1 auto;min-width:140px}.projects__stat-value{font-size:var(--text-4xl)}}.projects-header{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1.3fr);gap:var(--space-12);align-items:center;margin-bottom:var(--space-6)}@media(max-width:900px){.projects-header{grid-template-columns:minmax(0,1fr);row-gap:var(--space-8)}}.projects-header-main,.projects-header-stats{display:flex;flex-direction:column;gap:var(--space-4)}@media(max-width:900px){.projects-header-stats{flex-direction:row;flex-wrap:wrap;gap:var(--space-4)}}.projects-stat-card{background:var(--surface-elevated-subtle);box-shadow:var(--shadow-soft-md)}.projects-filters-bar{background:transparent;box-shadow:none;border-radius:0;padding:var(--space-4) 0;margin-bottom:var(--space-12);display:flex;align-items:center;justify-content:center;gap:var(--space-4);flex-wrap:wrap}@media(max-width:768px){.projects-filters-bar{padding:var(--space-3) 0}}.projects-filters-shell{background:transparent;border-radius:var(--radius-2xl);border:1px solid var(--border-color);padding:var(--space-4) var(--space-6);box-shadow:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-3);overflow:visible;max-width:100%;position:relative}.projects-filters-shell:before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:linear-gradient(135deg,rgba(184,68,30,.08) 0%,transparent 50%,rgba(232,146,79,.06) 100%);z-index:-1;opacity:0;transition:opacity var(--transition-base)}.projects-filters-shell:hover:before{opacity:0}@media(max-width:768px){.projects-filters-shell{border-radius:var(--radius-xl);padding:var(--space-4);flex-direction:column;gap:var(--space-3);width:100%}}.projects-filters-label{font-family:var(--font-body);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-neutral-800);opacity:.72;white-space:nowrap;flex-shrink:0}.projects-filters,.projects__filters{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;justify-content:center}.projects-filter-button{display:inline-flex;align-items:center;justify-content:center;background:var(--bg-white-pure, #FFFFFF);border-radius:var(--radius-full);border:1px solid var(--border-color);padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;letter-spacing:.01em;color:var(--text-secondary);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;box-shadow:none;outline:none}.projects-filter-button:hover{background:var(--bg-secondary, #f8f9fa);border-color:var(--border-color-strong);color:var(--text-primary);box-shadow:0 2px 8px #0000000a}.projects-filter-button:focus-visible{outline:2px solid var(--color-terre-cuite);outline-offset:2px}.projects-filter-button:is(.is-active,[aria-pressed=true]){background:var(--bg-white-pure, #FFFFFF);color:var(--color-primary-600);border-color:var(--color-primary-500);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary-300) 40%,transparent)}.projects-filter-button:is(.is-active,[aria-pressed=true]):focus-visible{outline:2px solid var(--color-terre-cuite);outline-offset:2px}@media(min-width:768px){.projects__filters{flex-direction:row;align-items:center;justify-content:center}}.projects-filter{display:flex;flex-direction:column;gap:var(--space-4);width:100%;margin-bottom:var(--space-12)}.projects-filter__header{display:flex;align-items:center;gap:var(--space-2)}.projects-filter__label{font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-widest);color:var(--color-primary-600)}.projects-filter__options{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;justify-content:center;max-width:1200px;margin:0 auto;padding:0 var(--container-padding)}.projects-filter__option,.filter-chip{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-4);border-radius:999px;font-size:.875rem;font-weight:var(--font-medium);line-height:1.4;color:var(--text-primary);background-color:var(--surface-filter);border:1px solid transparent;box-shadow:none;cursor:pointer;transition:background-color .18s ease-out,border-color .18s ease-out,transform .18s ease-out;white-space:nowrap}.projects-filter__option:hover,.filter-chip:hover{transform:translateY(-1px);background-color:var(--surface-filter-active);border-color:transparent;color:var(--text-primary);box-shadow:none}.projects-filter__option.is-active,.projects-filter__option[aria-pressed=true],.filter-chip--active{background-color:var(--surface-filter-active);border-color:var(--text-primary);color:var(--text-primary);box-shadow:none}.projects__grid{display:grid;gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:stretch}.projects__grid>*{height:100%}.project-card{--project-card-halo: color-mix(in srgb, var(--color-primary-500) 55%, transparent);position:relative;display:flex;flex-direction:column;height:100%;min-height:480px;gap:var(--space-5);padding:var(--space-5);background:var(--card-surface, var(--bg-white-pure));border-radius:var(--radius-xl);border:none;box-shadow:var(--shadow-soft);transition:transform var(--transition-base),box-shadow var(--transition-base);overflow:hidden;scroll-margin-top:calc(var(--header-height) + var(--space-6))}.project-card:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 60%,rgba(0,0,0,.03) 100%);opacity:0;transition:opacity var(--transition-base);pointer-events:none}.project-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:var(--shadow-xl)}.project-card:hover:before{opacity:.8}.project-card:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:4px;transform:translateY(-4px)}.project-card:active{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.project-card.is-highlighted{transform:translateY(-8px) scale(1.02);box-shadow:0 0 0 3px var(--color-primary-500),var(--shadow-2xl);border-color:var(--color-primary-500);animation:highlight-pulse .6s ease-in-out}@keyframes highlight-pulse{0%,to{box-shadow:0 0 0 3px var(--color-primary-500),var(--shadow-2xl)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--color-primary-500) 60%,transparent),var(--shadow-2xl)}}.project-card__visual{position:relative;border-radius:var(--radius-2xl);padding:var(--space-3);background:color-mix(in srgb,var(--project-card-halo) 12%,transparent);border:1px solid color-mix(in srgb,var(--project-card-halo) 30%,transparent);overflow:hidden;transition:transform var(--transition-slow),border-color var(--transition-base)}.project-card__visual-frame{position:relative;display:grid;place-items:center;aspect-ratio:4 / 3;border-radius:calc(var(--radius-2xl) - var(--space-3));background:linear-gradient(140deg,color-mix(in srgb,var(--project-card-halo) 75%,transparent),color-mix(in srgb,var(--color-neutral-800) 85%,transparent));box-shadow:var(--shadow-xl);overflow:hidden}.project-card__image{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;filter:saturate(1.05)}.project-card__fallback{display:grid;place-items:center;width:100%;height:100%;padding:var(--space-6);text-align:center;color:var(--text-inverse);font-size:var(--text-xl);font-weight:var(--font-semibold);background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary-500) 75%,var(--color-neutral-800) 25%),color-mix(in srgb,var(--color-primary-300) 65%,var(--color-neutral-900) 35%))}.project-card__visual-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,color-mix(in srgb,var(--text-inverse) 18%,transparent) 0%,transparent 65%);opacity:.5}.project-card__category{position:absolute;top:var(--space-4);left:var(--space-4);right:var(--space-4);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:#ffffffe0;background:color-mix(in srgb,var(--color-neutral-900) 45%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - var(--space-8))}.project-card__initials{font-size:clamp(var(--text-4xl),6vw,var(--text-6xl));font-weight:var(--font-semibold);letter-spacing:var(--tracking-tight);color:#ffffffe6}.project-card__location{position:absolute;bottom:var(--space-4);left:var(--space-4);font-size:var(--text-sm);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:#ffffffe6;opacity:.9}.project-card:hover .project-card__visual{transform:translateY(-3px) scale(1.005);border-color:color-mix(in srgb,var(--project-card-halo) 45%,transparent)}.project-card:hover .project-card__image{filter:saturate(1.1) brightness(1.02)}.project-card__body{display:flex;flex-direction:column;gap:var(--space-4);flex:1 1 auto;min-height:0}.project-card__content{display:flex;flex-direction:column;gap:var(--space-3);flex:1 1 auto;min-height:10rem}.project-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.project-card__title{font-size:var(--text-xl);line-height:var(--leading-snug);color:var(--text-primary);flex:1}.project-card__year{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary);letter-spacing:var(--tracking-wide);text-transform:uppercase}.project-card__tagline{font-size:var(--text-lg);font-weight:var(--font-medium);color:color-mix(in srgb,var(--color-primary-600) 85%,var(--text-secondary) 15%)}.project-card__content .project-card__tagline{margin-top:auto}.project-card__description{font-size:var(--text-base);color:var(--text-secondary);line-height:var(--leading-relaxed);flex:0 0 auto;min-height:5.5rem}.project-card__tags{display:flex;flex-wrap:wrap;gap:var(--project-tag-gap);margin-top:0;margin-bottom:var(--space-3)}.project-card__tag{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:var(--tracking-wide);text-transform:capitalize;background:var(--project-tag-bg);color:var(--project-tag-text);border:1px solid var(--project-tag-border);line-height:1.1;transition:background var(--transition-base),border-color var(--transition-base),color var(--transition-base)}.project-card:hover .project-card__tag{background:color-mix(in srgb,var(--project-tag-bg) 70%,var(--color-primary-50) 30%);border-color:color-mix(in srgb,var(--project-tag-border) 65%,var(--color-primary-300) 35%)}.project-card__chips{display:flex;flex-wrap:wrap;gap:var(--space-3)}.project-card__chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);background:color-mix(in srgb,var(--bg-secondary) 80%,transparent);border:1px solid color-mix(in srgb,var(--project-card-halo) 20%,transparent)}.project-card__chip--sector{background:color-mix(in srgb,var(--project-card-halo) 28%,transparent);color:color-mix(in srgb,var(--color-primary-700) 80%,var(--text-secondary) 20%)}.project-card__chip--typology{background:color-mix(in srgb,var(--bg-secondary) 88%,transparent);color:var(--text-secondary)}.project-card__footer{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3);padding-top:var(--space-5);margin-top:auto}.project-card-body{flex:1 1 auto}.project-card-footer{margin-top:var(--space-4)}.project-card__footer-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.project-card__status{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.project-card__status:before{content:"";width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-success)}.project-card__status--in_production:before,.project-card__status--in-progress:before{background:var(--color-warning)}.project-card__link{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-full);border:1px solid color-mix(in srgb,var(--project-card-halo) 30%,transparent);background:color-mix(in srgb,var(--color-primary-50) 35%,transparent);color:var(--color-primary-600);font-weight:var(--font-semibold);transition:transform var(--transition-base),box-shadow var(--transition-base),background var(--transition-base),color var(--transition-base),border-color var(--transition-base)}.project-card__link:after{content:"→";font-size:var(--text-lg);transition:transform var(--transition-base)}.project-card__link:hover{background:color-mix(in srgb,var(--project-card-halo) 65%,transparent);color:var(--text-inverse);border-color:color-mix(in srgb,var(--project-card-halo) 65%,transparent);transform:translate(4px);box-shadow:var(--shadow-primary)}.project-card__link:hover:after{transform:translate(2px)}img,video,iframe,.project-card{backface-visibility:hidden;transform:translateZ(0)}main,main#main,#main{margin-top:-1px!important;padding-top:0!important;background-color:#fff!important;border-top:none!important}.hero,.hero.hero--signature,section.hero,section#hero{margin-bottom:0!important;padding-bottom:0!important;background-color:#fff!important;z-index:10;position:relative;border-bottom:none!important}.projects,.section-projects,.section.section--projects,section#projects{margin-top:0!important;padding-top:4rem!important;background-color:#fff!important;border-top:none!important}main>section{margin-bottom:0!important}main>.hero+.projects,main>.hero+.section-projects,main>section.hero+section.projects{margin-top:0!important;border-top:none!important}section.hero+main,#hero+main,.hero-section+main{margin-top:-1px!important;padding-top:0!important;border-top:none!important}.projects-filter-button,.filter-chip,.projects-filter__option{transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease!important}.projects-filter-button:is(.is-active,[aria-pressed=true]),.filter-chip.is-active,.projects-filter__option.is-active{background-color:#fff!important;color:#b8441e!important;border:1.5px solid #B8441E!important;box-shadow:0 0 0 1px #b8441e59,0 10px 30px #0000000f!important;transform:translateY(-1px)!important}.projects-filter-button:is(.is-active,[aria-pressed=true]):hover,.filter-chip.is-active:hover,.projects-filter__option.is-active:hover{box-shadow:0 0 0 2px #b8441e66,0 12px 35px #00000014!important;transform:translateY(-1px)!important}.project-card{display:flex!important;flex-direction:column!important;height:100%!important}.project-card__body,.project-card__content{display:flex!important;flex-direction:column!important;flex-grow:1!important}.project-card__description,.project-card__tagline{flex-grow:1!important;margin-bottom:1.25rem!important}.project-card__footer,.project-card a:last-child{margin-top:auto!important}section.contact,.section-contact,.contact{background-color:#1a2332!important}section.contact .contact__title,.section-contact .contact__title,.contact .contact__title{color:#fff!important}section.contact .contact__subtitle,.section-contact .contact__subtitle,.contact .contact__subtitle{color:#ffffffb8!important}section.contact .contact__card,.section-contact .contact__card,.contact .contact__card,.contact-form-card{background-color:#232b3a!important;border:1px solid rgba(255,255,255,.08)!important}section.contact .form__label,.section-contact .form__label,.contact .form__label{color:#ffffffd9!important}section.contact .form__checkbox,.section-contact .form__checkbox,.contact .form__checkbox,.contact__card .form__checkbox{color:#ffffffd9!important;font-size:.95rem!important}section.contact .form__checkbox span,.section-contact .form__checkbox span,.contact .form__checkbox span,.contact__card .form__checkbox span{color:#ffffffd9!important}section.contact .form__input,section.contact .form__textarea,section.contact .form__select,.section-contact .form__input,.section-contact .form__textarea,.section-contact .form__select,.contact .form__input,.contact .form__textarea,.contact .form__select,.contact__card .form__input,.contact__card .form__textarea,.contact__card .form__select{background-color:#f5f6fa!important;color:#1a2332!important;border:1px solid rgba(26,35,50,.15)!important}section.contact .form__input:focus,section.contact .form__textarea:focus,section.contact .form__select:focus,.contact__card .form__input:focus,.contact__card .form__textarea:focus,.contact__card .form__select:focus{background-color:#fff!important}section.contact .contact__response,.section-contact .contact__response,.contact .contact__response{color:#fff9!important}@media(max-width:768px){.contact__title{font-size:clamp(1.6rem,5vw,1.8rem)!important;line-height:1.25!important;margin-top:1rem!important}.contact__subtitle{font-size:.95rem!important;line-height:1.6!important;max-width:34ch!important;margin-bottom:1.25rem!important}.contact__card,.contact-form-card{margin-top:1.5rem!important;margin-inline:1rem!important;padding-inline:1.25rem!important;padding-block:1.5rem!important;border-radius:1.25rem!important;box-shadow:0 18px 40px #00000059!important}section.contact .form__label,.section-contact .form__label,.contact .form__label,.contact__card .form__label{font-weight:500!important;color:#ffffffeb!important;margin-bottom:.25rem!important}.contact .form__group,.contact__card .form__group{margin-bottom:.9rem!important}section.contact .form__input,section.contact .form__select,section.contact .form__textarea,.section-contact .form__input,.section-contact .form__select,.section-contact .form__textarea,.contact .form__input,.contact .form__select,.contact .form__textarea,.contact__card .form__input,.contact__card .form__select,.contact__card .form__textarea{font-size:.95rem!important}section.contact .form__checkbox span,.section-contact .form__checkbox span,.contact .form__checkbox span,.contact__card .form__checkbox span{color:#ffffffe0!important;font-size:.85rem!important;line-height:1.4!important}.contact__card .form__group,.contact-form-card .form__group{width:100%!important;max-width:100%!important;margin-inline:0!important}.contact__card .form__input,.contact__card .form__select,.contact__card .form__textarea,.contact-form-card .form__input,.contact-form-card .form__select,.contact-form-card .form__textarea{width:100%!important;box-sizing:border-box!important}.contact__form-footer{display:flex!important;justify-content:center!important;align-items:center!important}.contact__form-footer .btn,.contact__form-footer .contact-form__submit{margin-inline:auto!important}}.nav{position:fixed;top:0;left:0;right:0;z-index:11000;background-color:var(--bg-header);border-bottom:1px solid var(--ink-border);box-shadow:var(--shadow-header-soft);transition:transform var(--transition-base),background var(--transition-base),box-shadow var(--transition-base);will-change:transform}.nav.visible,.nav.is-sticky{background-color:#0f172aeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-lg)}.nav.nav-hidden{transform:translateY(-100%)}.nav__inner{max-width:1280px;margin:0 auto;padding:var(--space-4) var(--container-padding);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-4)}@media(min-width:1024px){.nav__inner{padding-left:var(--container-padding-lg);padding-right:var(--container-padding-lg);gap:var(--space-8)}}.nav__brand{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-inverse);text-decoration:none;transition:opacity var(--transition-base)}.nav__brand:hover,.nav__brand:focus-visible{color:var(--text-inverse);opacity:.9;text-decoration:none}.nav__brand-text{letter-spacing:var(--tracking-tight);white-space:nowrap}@media(max-width:640px){.nav__brand-text{font-size:var(--text-base)}}.nav__links{display:flex;align-items:center;justify-content:center;gap:var(--space-6);list-style:none;margin:0;padding:0}.nav__links--desktop{width:100%}.nav__link{font-size:var(--text-base);font-weight:var(--font-medium);color:color-mix(in srgb,#ffffff 88%,var(--ink-surface) 12%);text-decoration:none;padding:var(--space-2) 0;transition:color var(--transition-base),transform var(--transition-fast)}.nav__link:hover{color:var(--terracotta-200, var(--color-primary-300));transform:translateY(-1px)}.nav__link:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:4px;border-radius:var(--radius-xs)}.nav__actions{display:flex;align-items:center;gap:var(--space-4);justify-self:end}.nav__cta{display:none}@media(min-width:1024px){.nav__cta{display:inline-flex}}@media(max-width:1023px){.nav__links--desktop{flex-wrap:wrap;gap:var(--space-3);justify-content:center}.nav__link{font-size:var(--text-sm)}.nav__cta{display:none}}@media(max-width:640px){.nav__inner{grid-template-columns:auto 1fr}.nav__links--desktop{grid-column:1 / -1;order:3}}.scroll-progress-bar{position:fixed;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--color-primary-500) 0%,var(--color-primary-400) 50%,var(--color-primary-300) 100%);z-index:var(--z-tooltip);transition:transform .2s ease-out,opacity .3s ease;opacity:0;transform-origin:left;transform:scaleX(0);box-shadow:var(--shadow-primary);pointer-events:none}.scroll-progress-bar.visible{opacity:1}@media(prefers-reduced-motion:reduce){.nav,.nav__menu,.nav__toggle-line,.scroll-progress-bar{transition:none}}@media(max-width:1023px){.nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.scroll-progress-bar{height:3px}}.nav__toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:48px;height:48px;background:color-mix(in srgb,var(--ink-deep) 75%,transparent);border:none;cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);transition:all var(--transition-base);z-index:calc(var(--z-modal) + 2);position:relative;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.nav__toggle:hover{background:color-mix(in srgb,var(--color-primary-500) 20%,var(--ink-deep) 50%)}.nav__toggle:focus-visible{outline:2px solid var(--color-primary-400);outline-offset:2px}.nav__toggle-icon{display:block;width:24px;height:2px;background:var(--text-inverse);transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:2px;position:absolute;left:50%;transform-origin:center}.nav__toggle-icon:nth-child(1){transform:translate(-50%) translateY(-8px)}.nav__toggle-icon:nth-child(2){transform:translate(-50%) translateY(0)}.nav__toggle-icon:nth-child(3){transform:translate(-50%) translateY(8px)}.nav--menu-open .nav__toggle-icon:nth-child(1){transform:translate(-50%) translateY(0) rotate(45deg)}.nav--menu-open .nav__toggle-icon:nth-child(2){opacity:0;transform:translate(-50%) translateY(0) scale(0)}.nav--menu-open .nav__toggle-icon:nth-child(3){transform:translate(-50%) translateY(0) rotate(-45deg)}.nav__overlay{position:fixed;inset:0;background:#0f172abf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:11001;opacity:0;pointer-events:none;transition:opacity var(--transition-base)}.nav__overlay--visible{opacity:1;pointer-events:auto}.nav__menu{position:fixed;inset:0;width:100vw;height:100vh;background:radial-gradient(circle at top left,rgba(255,255,255,.06),transparent 55%),var(--color-header-bg, var(--bg-header));box-shadow:var(--shadow-2xl);z-index:12000;padding:calc(env(safe-area-inset-top) + 1.25rem) 1.75rem calc(env(safe-area-inset-bottom) + 2.25rem);overflow-y:auto;transition:opacity .22s cubic-bezier(.33,1,.68,1),transform .22s cubic-bezier(.33,1,.68,1);display:flex;flex-direction:column;opacity:0;transform:translate(8%);pointer-events:none;color:#fff}.nav__menu--open{opacity:1;transform:translate(0);pointer-events:auto}.nav__menu-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:2.5rem}.nav__menu-label{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;opacity:.7}.nav__menu-close{width:40px;height:40px;border-radius:999px;border:none;background:#ffffff14;display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .16s ease-out,transform .12s ease-out,box-shadow .16s ease-out}.nav__menu-close:hover{background:#ffffff24;box-shadow:0 12px 30px #00000059}.nav__menu-close:active{transform:scale(.95);box-shadow:none}.nav__menu-nav{flex:1;display:flex;flex-direction:column}.nav__links--mobile{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.75rem}.nav__links--mobile .nav__link{position:relative;display:inline-flex;align-items:center;font-size:1.125rem;text-decoration:none;color:#f9fafb;transition:color .18s ease-out,transform .18s ease-out}.nav__links--mobile .nav__link:after{content:"";position:absolute;left:0;bottom:-.4rem;width:0;height:2px;border-radius:999px;background:linear-gradient(90deg,#f97316,#fbbf24);transition:width .22s cubic-bezier(.33,1,.68,1)}.nav__links--mobile .nav__link:hover{transform:translate(4px)}.nav__links--mobile .nav__link:hover:after{width:28px}.nav__links--mobile .nav__link:focus-visible,.nav__menu-close:focus-visible{outline:2px solid #f97316;outline-offset:3px}.nav__link--active{color:#f97316}.nav__link--active:after{width:36px}body.has-mobile-nav-open #floating-cta,body.has-mobile-nav-open .floating-toolbar{opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .18s ease-out,transform .18s ease-out}body.nav--open{overflow:hidden;position:fixed;width:100%}@media(max-width:1023px){.nav__toggle{display:flex}.nav__links--desktop,.nav__actions .nav__cta{display:none}}@media(min-width:1024px){.nav__toggle,.nav__menu,.nav__overlay{display:none!important}.nav__links--desktop{display:flex}}.project-modal{position:fixed;inset:0;z-index:var(--z-modal);display:none;align-items:flex-start;justify-content:center;padding:var(--space-8) var(--space-4);width:100%;height:100vh;max-height:100vh;overflow:hidden;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:var(--overlay-backdrop, rgba(15, 23, 42, .6))}.project-modal.active{display:flex}.modal-overlay{position:fixed;inset:0;background:#1a2332d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;z-index:0}.modal-container{position:relative;width:min(960px,100%);margin-inline:auto;margin-block:0;background:var(--bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);overflow:hidden;display:flex;flex-direction:column;height:auto;max-height:100%}.modal-close{position:absolute;top:var(--space-6);right:var(--space-6);width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#fffffff2;border:none;border-radius:var(--radius-full);cursor:pointer;z-index:10;transition:all var(--transition-base);box-shadow:var(--shadow-md)}.modal-close:hover{background:#fff;transform:scale(1.1);box-shadow:var(--shadow-lg)}.modal-close:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.modal-close .icon{width:20px;height:20px;color:var(--text-primary)}.modal-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;max-height:calc(100vh - 2 * var(--space-8));padding:var(--space-8)}@media(min-width:768px){.modal-content{max-height:calc(100vh - 2 * var(--space-12));padding:var(--space-12)}}.modal-header{margin-bottom:var(--space-8)}.modal-tags{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.tag{display:inline-block;padding:var(--space-2) var(--space-4);background:var(--bg-accent);color:var(--text-accent);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.modal-title{font-size:var(--text-3xl);font-weight:var(--font-bold);margin-bottom:var(--space-3);color:var(--text-primary)}@media(min-width:768px){.modal-title{font-size:var(--text-4xl)}}.modal-subtitle{font-size:var(--text-base);color:var(--text-secondary);font-weight:var(--font-medium)}.modal-body{display:flex;flex-direction:column;gap:var(--space-8)}.modal-visual{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-xl);overflow:hidden;background-color:var(--bg-secondary);box-shadow:var(--shadow-lg)}.modal-visual img,.modal-visual video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.project-modal__visual-embed{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-xl);overflow:hidden;background:var(--bg-secondary);box-shadow:var(--shadow-lg)}.project-modal__visual-iframe{position:absolute;inset:0;width:100%;height:100%;display:block;border:none}.project-modal__visual-iframe:focus-visible{outline:2px solid var(--color-primary-400);outline-offset:4px}.project-modal__video-fallback-link{display:inline-flex;margin-top:var(--space-xs, .5rem);font-size:var(--text-sm);color:var(--link, var(--color-primary-500));text-decoration:underline}.project-modal__video-fallback-link:hover{color:var(--link-hover, var(--color-primary-600))}.project-modal__visual-video{width:100%;height:100%;display:block;-o-object-fit:cover;object-fit:cover;background:#000}.project-modal__visual-video:focus-visible{outline:2px solid var(--color-primary-400);outline-offset:4px}.modal-video,.modal-audio{display:none;width:100%}.modal-video{padding:0;overflow:visible;position:relative}.modal-audio{padding:0;background:transparent;box-shadow:none}.modal-video.is-loading{cursor:progress}.project-modal__video-player{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;background:#000}.project-modal__video-player:focus-visible,.project-modal__audio-player:focus-visible{outline:2px solid var(--color-primary-400);outline-offset:4px}.project-modal__audio-player{width:100%;border-radius:var(--radius-full);background:var(--bg-primary);padding:var(--space-2)}.project-audio{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-2)}.modal-audio .project-audio{margin:0;padding:0}.project-audio__header{display:flex;align-items:center;gap:var(--space-2)}.project-audio__eyebrow{display:inline-flex;align-items:center;gap:var(--space-2)}.project-audio__card{background:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-xl);border:1px solid var(--border-color, rgba(26, 35, 50, .08));display:flex;flex-direction:column;gap:var(--space-3)}.project-audio__content{display:flex;flex-direction:column;gap:var(--space-3)}.project-audio__player{width:100%;accent-color:var(--color-primary-500);background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--space-3);border:1px solid var(--border-color, rgba(26, 35, 50, .08));box-shadow:var(--shadow-md)}.project-audio__fallback{margin:0;font-size:var(--text-xs);color:var(--text-tertiary)}.modal-description{font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-secondary)}.modal-description p{margin-bottom:var(--space-4)}.modal-description p:last-child{margin-bottom:0}.modal-stats h3{font-size:var(--text-xl);font-weight:var(--font-semibold);margin-bottom:var(--space-4);color:var(--text-primary)}.stats-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media(min-width:640px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.stats-grid dt{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-tertiary);margin-bottom:var(--space-1)}.stats-grid dd{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-4) 0}@media(max-width:767px){.project-modal{padding:var(--space-4)}.modal-container{border-radius:var(--radius-xl)}.modal-close{top:var(--space-4);right:var(--space-4);width:36px;height:36px}.modal-close .icon{width:16px;height:16px}.modal-content{padding:var(--space-6)}.modal-title{font-size:var(--text-2xl)}}@media(prefers-reduced-motion:reduce){.project-modal,.modal-container{transition:opacity .2s ease}.modal-container{transform:scale(1)}}.project-audio{margin-top:var(--space-6)}@media(max-width:768px){.project-audio{margin-top:var(--space-4)}}.project-audio__label{display:inline-flex;align-items:center;gap:var(--space-2);padding-inline:var(--space-4);padding-block:var(--space-2);border-radius:var(--radius-full);background-color:var(--bg-accent);color:var(--color-primary-600);font-family:var(--font-body);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);font-weight:var(--font-semibold);margin-bottom:var(--space-4)}.project-audio__label:before{content:"";width:8px;height:8px;background:var(--color-primary-500);border-radius:var(--radius-full);animation:audioPulse 2s ease-in-out infinite}@keyframes audioPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}.project-audio__native{display:block;width:100%;max-width:100%;height:48px;border-radius:var(--radius-xl);background-color:var(--surface-elevated);box-shadow:var(--shadow-md);border:1px solid var(--border-color);outline:none;accent-color:var(--color-primary-500);transition:box-shadow var(--transition-base),border-color var(--transition-base)}.project-audio__native:hover{box-shadow:var(--shadow-lg);border-color:var(--border-color-strong)}.project-audio__native:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:4px}.audio-player{display:flex;flex-direction:column;gap:var(--space-4);background:var(--surface-elevated);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-lg);transition:box-shadow var(--transition-base),border-color var(--transition-base)}.audio-player:hover{box-shadow:var(--shadow-xl);border-color:var(--border-color-strong)}.audio-player__waveform{width:100%;height:64px;background:var(--bg-secondary);border-radius:var(--radius-lg);overflow:hidden;position:relative}.audio-player__waveform:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,var(--bg-secondary) 100%);opacity:.3;pointer-events:none}.audio-player__play{width:48px;height:48px;min-width:48px;display:flex;align-items:center;justify-content:center;background:var(--color-primary-500);color:var(--text-inverse);border:none;border-radius:var(--radius-full);cursor:pointer;transition:transform var(--transition-base),background var(--transition-base),box-shadow var(--transition-base);box-shadow:var(--shadow-primary)}.audio-player__play:hover{background:var(--color-primary-600);transform:scale(1.05);box-shadow:var(--shadow-primary-lg)}.audio-player__play:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:3px}.audio-player__play:active{transform:scale(.98)}.audio-player__play svg{width:20px;height:20px;fill:currentColor}.audio-player__time{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);letter-spacing:var(--tracking-wide);min-width:80px;text-align:center}.audio-player__volume{display:flex;align-items:center;gap:var(--space-2)}.audio-player__volume-slider{width:80px;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-tertiary);border-radius:var(--radius-full);outline:none;cursor:pointer}.audio-player__volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--color-primary-500);border-radius:var(--radius-full);cursor:pointer;box-shadow:var(--shadow-sm);-webkit-transition:transform var(--transition-fast);transition:transform var(--transition-fast)}.audio-player__volume-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.audio-player__volume-slider::-moz-range-thumb{width:16px;height:16px;background:var(--color-primary-500);border:none;border-radius:var(--radius-full);cursor:pointer;box-shadow:var(--shadow-sm)}.audio-player__fallback{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.audio-player.is-loading{cursor:wait}.audio-player.is-loading .audio-player__waveform:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,var(--color-primary-100) 50%,transparent 100%);animation:audioLoading 1.5s ease-in-out infinite}@keyframes audioLoading{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.audio-player,.project-audio__native,.audio-player__play{transition:none}.project-audio__label:before{animation:none}.audio-player.is-loading .audio-player__waveform:after{animation:none}}@media(max-width:640px){.audio-player{padding:var(--space-4)}.audio-player__waveform{height:48px}.audio-player__play{width:44px;height:44px;min-width:44px}.audio-player__volume{display:none}}:root{--video-player-bg: var(--bg-elevated, #ffffff);--video-player-radius: var(--radius-lg, 12px);--video-player-shadow: var(--shadow-lg, 0 8px 32px rgba(0, 0, 0, .08));--video-player-padding: var(--space-6, 1.5rem);--video-player-transition: var(--transition-smooth, .3s ease);--video-controls-height: 60px}.project-video{margin:var(--space-12, 3rem) 0;padding:0 var(--container-padding, 1.5rem)}.video-player{background:var(--video-player-bg);border:1px solid var(--border-subtle, rgba(0, 0, 0, .06));border-radius:var(--video-player-radius);padding:var(--video-player-padding);box-shadow:var(--video-player-shadow);transition:box-shadow var(--video-player-transition)}.video-player:hover{box-shadow:0 12px 48px #0000001f}.video-player__container{position:relative;width:100%;aspect-ratio:16 / 9;background:#000;border-radius:var(--radius-md, 8px);overflow:hidden;margin-bottom:var(--space-4, 1rem)}.video-player__video{width:100%;height:100%;display:block;-o-object-fit:contain;object-fit:contain}.video-player__overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0000004d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:1;transition:opacity var(--video-player-transition);cursor:pointer}.video-player__overlay:hover{background:#0006}.video-player__play-overlay{width:80px;height:80px;background:transparent;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .3s ease,opacity .2s ease}.video-player__play-overlay:hover{transform:scale(1.1)}.video-player__play-overlay:focus-visible{outline:2px solid white;outline-offset:4px;border-radius:50%}.video-player__loading{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:#00000080;z-index:10}.video-player__loading.is-visible,.modal-video.is-loading .video-player__loading{display:flex}.video-player__spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.video-player__controls{display:flex;align-items:center;gap:var(--space-3, .75rem);background:var(--bg-secondary, #f3f4f6);padding:var(--space-3, .75rem) var(--space-4, 1rem);border-radius:var(--radius-md, 8px)}.video-player__play-btn{width:40px;height:40px;border-radius:50%;background:var(--color-primary-500, #b8441e);color:#fff;border:none;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease}.video-player__play-btn:hover{transform:scale(1.05);box-shadow:0 4px 16px #b8441e4d}.video-player__play-btn:active{transform:scale(.98)}.video-player__play-btn:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:4px}.video-player__play-btn.playing{background:var(--color-primary-600, #9a3819)}.video-player__timeline{flex:1;height:6px;background:var(--bg-tertiary, #e5e7eb);border-radius:3px;position:relative;cursor:pointer;overflow:hidden}.video-player__timeline:hover{height:8px}.video-player__buffered{position:absolute;left:0;top:0;height:100%;background:#b8441e33;border-radius:3px;width:0%;transition:width .1s ease}.video-player__progress{position:absolute;left:0;top:0;height:100%;background:var(--color-primary-500, #b8441e);border-radius:3px;width:0%;z-index:1}.video-player__progress:after{content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%);width:12px;height:12px;background:var(--color-primary-500, #b8441e);border-radius:50%;opacity:0;transition:opacity .2s ease}.video-player__timeline:hover .video-player__progress:after{opacity:1}.video-player__time{display:flex;align-items:center;gap:var(--space-1, .25rem);font-size:var(--text-xs, .75rem);font-weight:500;color:var(--text-secondary, #6b7280);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.video-player__separator{color:var(--text-tertiary, #9ca3af)}.video-player__volume-btn{width:36px;height:36px;border-radius:50%;background:transparent;color:var(--text-secondary, #6b7280);border:none;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease}.video-player__volume-btn:hover{background:var(--bg-hover, rgba(0, 0, 0, .04));color:var(--text-primary, #1a2332)}.video-player__volume-btn:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.video-player__fullscreen-btn{width:36px;height:36px;border-radius:50%;background:transparent;color:var(--text-secondary, #6b7280);border:none;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease}.video-player__fullscreen-btn:hover{background:var(--bg-hover, rgba(0, 0, 0, .04));color:var(--text-primary, #1a2332)}.video-player__fullscreen-btn:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.video-player__error{display:flex;align-items:center;justify-content:center;gap:var(--space-3, .75rem);padding:var(--space-12, 3rem) var(--space-6, 1.5rem);background:var(--bg-secondary, #f3f4f6);border-radius:var(--radius-md, 8px);color:var(--text-secondary, #6b7280);min-height:200px}.video-player__error-icon{width:32px;height:32px;color:var(--color-warning, #f59e0b);flex-shrink:0}.video-player__error-text{font-size:var(--text-base, 1rem);font-weight:500}.video-player:fullscreen{padding:0;background:#000;border:none;border-radius:0;display:flex;flex-direction:column;justify-content:center}.video-player:fullscreen .video-player__container{margin:0;border-radius:0;max-height:calc(100vh - var(--video-controls-height))}.video-player:fullscreen .video-player__controls{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);border-radius:0;padding:var(--space-6, 1.5rem)}.video-player:fullscreen .video-player__description{display:none}@media(max-width:768px){.video-player{padding:var(--space-4, 1rem)}.video-player__container{margin-bottom:var(--space-3, .75rem)}.video-player__controls{gap:var(--space-2, .5rem);padding:var(--space-2, .5rem) var(--space-3, .75rem)}.video-player__play-btn{width:36px;height:36px}.video-player__play-btn svg{width:18px;height:18px}.video-player__volume-btn,.video-player__fullscreen-btn{width:32px;height:32px}.video-player__volume-btn svg,.video-player__fullscreen-btn svg{width:20px;height:20px}.video-player__time{font-size:.7rem}.video-player__play-overlay{width:64px;height:64px}.video-player__play-overlay svg{width:64px;height:64px}}@media(max-width:475px){.project-video{margin:var(--space-8, 2rem) 0}.video-player{padding:var(--space-3, .75rem)}.video-player__controls{flex-wrap:wrap;gap:var(--space-2, .5rem)}.video-player__timeline{order:-1;width:100%;flex-basis:100%}.video-player__play-btn{width:32px;height:32px}.video-player__play-btn svg{width:16px;height:16px}}@media(prefers-color-scheme:dark){.video-player{--video-player-bg: #1e293b;--video-player-shadow: 0 8px 32px rgba(0, 0, 0, .4);border-color:#ffffff1a}.video-player__controls,.video-player__error{background:#334155}.video-player__timeline{background:#475569}}.video-player__play-btn:disabled,.video-player__volume-btn:disabled,.video-player__fullscreen-btn:disabled{opacity:.5;cursor:not-allowed}.video-player__play-btn:disabled:hover,.video-player__volume-btn:disabled:hover,.video-player__fullscreen-btn:disabled:hover{transform:none;box-shadow:none}.video-player__play-btn:focus-visible,.video-player__volume-btn:focus-visible,.video-player__fullscreen-btn:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}@media(prefers-reduced-motion:reduce){.video-player,.video-player__play-btn,.video-player__volume-btn,.video-player__fullscreen-btn,.video-player__overlay,.video-player__progress,.video-player__buffered{transition:none}.video-player__play-btn:hover,.video-player__play-btn:active,.video-player__play-overlay:hover{transform:none}.video-player__spinner{animation:none;border-color:#fff}}.video-player__video::-webkit-media-controls{display:none!important}.video-player__video::-webkit-media-controls-enclosure{display:none!important}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-modal-backdrop);background:linear-gradient(to top,#1a2332fa,#1a2332f5);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border-color-inverse);padding:var(--space-6) var(--space-4);box-shadow:0 -8px 32px #0000004d;transform:translateY(100%);transition:transform .4s cubic-bezier(.16,1,.3,1),opacity var(--transition-slow);opacity:0}.cookie-banner[aria-hidden=false]{transform:translateY(0);opacity:1}.cookie-banner__content{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}.cookie-banner__text{flex:1;color:var(--text-inverse)}.cookie-banner__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-primary-200);margin:0 0 var(--space-2) 0;line-height:var(--leading-tight)}.cookie-banner__description{font-size:var(--text-sm);line-height:var(--leading-normal);margin:0;color:#ffffffd9;max-width:70ch}.cookie-banner__description a{color:var(--color-primary-300);text-decoration:underline;text-underline-offset:2px;transition:color var(--transition-base)}.cookie-banner__description a:hover{color:var(--color-primary-200)}.cookie-banner__actions{display:flex;align-items:center;gap:var(--space-4);flex-shrink:0}.cookie-banner__btn{white-space:nowrap;min-width:140px}.cookie-banner__link{background:none;border:none;color:#ffffffb3;font-size:var(--text-sm);font-family:var(--font-body);cursor:pointer;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:color var(--transition-base),background-color var(--transition-base);text-decoration:underline;text-underline-offset:3px}.cookie-banner__link:hover{color:var(--text-inverse);background-color:#ffffff0d}.cookie-banner__link:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px;color:var(--text-inverse)}@media(max-width:768px){.cookie-banner{padding:var(--space-5) var(--space-4)}.cookie-banner__content{flex-direction:column;align-items:flex-start;gap:var(--space-4)}.cookie-banner__actions{width:100%;flex-direction:column;gap:var(--space-3)}.cookie-banner__btn{width:100%}.cookie-banner__link{width:100%;text-align:center}.cookie-banner__title{font-size:var(--text-base)}.cookie-banner__description{font-size:var(--text-xs)}}@media(prefers-reduced-motion:reduce){.cookie-banner{transition:opacity var(--transition-base)}}:root{--color-hero-bg: #F5F3F0;--color-text-primary: #1A1A1A;--color-text-secondary: #6B6B6B;--color-text-tertiary: #9A9A9A;--shadow-hero-cta: 0 16px 32px rgba(224, 120, 85, .28);--shadow-hero-cta-strong: 0 24px 48px rgba(224, 120, 85, .42);--color-primary: #E07855;--color-primary-hover: #D06744;--color-primary-rgb: 224, 120, 85;--color-bg-dark: #2B3945}:root{--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--hero-padding-top: var(--space-6);--hero-padding-bottom: var(--space-12);--hero-padding-inline: var(--space-6);--hero-animation-to-baseline: clamp(var(--space-1), .45vh, var(--space-2));--hero-baseline-to-cta: clamp(var(--space-1), .6vh, var(--space-2));--hero-signature-stack-gap: clamp(var(--space-1), .8vh, var(--space-2));--hero-stack-overlap: clamp(1rem, 2.2vh, 2.25rem);--hero-text-gap: clamp(.35rem, .9vh, .85rem)}:root{--text-hero-baseline-size: clamp(1.0625rem, 2vw, 1.375rem);--text-hero-baseline-weight: 400;--text-hero-baseline-line-height: 1.5;--text-hero-baseline-letter-spacing: .01em;--text-cta-size: 1.0625rem;--text-cta-weight: 500;--text-cta-letter-spacing: .02em}.hero.hero--signature,.hero-section{height:100svh;min-height:100svh;max-height:none;margin:0;margin-bottom:0!important;padding:0;padding-bottom:0!important;border-bottom:none!important;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;background:#fff!important;background-color:#fff!important;overflow:hidden;isolation:isolate;z-index:10;scroll-margin-top:var(--header-height)}@media(max-width:767px){.hero.hero--signature{padding-bottom:calc(4rem + 56px)!important}}.hero.hero--signature:before{display:none}.hero__inner{width:min(100%,var(--layout-max-width, 72rem));margin:0 auto;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4vh;text-align:center}.hero__content{display:contents}.hero__animation{width:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding-bottom:0;margin-bottom:var(--space-4)}.hero-signature-block{text-align:center;width:100%;max-width:100%;display:flex;flex-direction:column;align-items:center}.hero-title,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero-signature-wrapper{position:relative;width:min(92vw,2400px);margin:0 auto;padding:0;height:auto!important;max-height:none!important;display:flex;justify-content:center;align-items:center}.hero-signature-svg{display:block;width:100%;height:auto;max-width:100%;min-height:150px;overflow:visible;will-change:transform,opacity;backface-visibility:hidden;transform:none;-o-object-fit:contain;object-fit:contain}.hero__baseline,.hero__cta{opacity:0;visibility:hidden;transform:translateY(20px);will-change:opacity,transform,visibility}.hero-signature-svg.is-initializing .hero-signature-path{opacity:0}.hero-signature-path{fill:none;stroke:var(--hero-signature-color, var(--color-encre-nuit, #1A2332));stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;will-change:stroke-dashoffset}.hero-signature,.hero-signature path{stroke:var(--hero-signature-color, var(--color-encre-nuit, #1A2332));fill:transparent}.hero__baseline,.hero-subtitle,.hero-signature-caption{font-family:var(--font-body, "Plus Jakarta Sans", sans-serif);font-size:var(--text-3xl);font-weight:400;font-style:normal;line-height:1.1!important;letter-spacing:-.01em;color:var(--color-encre-nuit, #1A2332);text-shadow:none;max-width:52ch;margin:0 auto!important;margin-bottom:2rem!important;text-align:center;padding:0!important;text-wrap:balance;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.hero:hover .hero__baseline{opacity:1}.hero__baseline em,.hero__baseline strong,.hero__baseline .accent{font-family:inherit;font-style:normal;font-weight:400;color:var(--color-terre-cuite, #B8441E)}.hero__text-stack{display:flex;flex-direction:column;align-items:center;gap:var(--space-6)!important;position:relative;width:min(100%,720px);margin-top:0!important;margin-bottom:0!important;padding:0!important;z-index:2}.hero__text-stack .hero__baseline{margin-top:0;margin-bottom:0}.hero__text-stack .hero__cta{margin-top:0!important;margin-bottom:0!important}.btn-hero,.btn-hero:link,.btn-hero:visited,.hero__cta,.hero__cta.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3, 12px);padding:var(--space-5, 20px) var(--space-12, 48px);margin-top:var(--space-4, 16px);min-height:56px;min-width:48px;background:var(--btn-primary-gradient, linear-gradient(135deg, #B8441E 0%, #E8924F 100%));color:var(--text-inverse, #FFFFFF);font-family:var(--font-body, "Plus Jakarta Sans", sans-serif);font-size:1.0625rem;font-weight:700;line-height:1.4;letter-spacing:.02em;text-decoration:none;border:none;border-radius:var(--radius-lg, 16px);cursor:pointer;box-shadow:var(--btn-primary-shadow, 0 12px 28px -8px rgba(184, 68, 30, .35))!important;transition:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;z-index:10;isolation:isolate;overflow:hidden}.btn-hero:after,.hero__cta:after{display:none!important}.btn-hero:before,.hero__cta:before{content:"";position:absolute;inset:-8px;background:radial-gradient(ellipse 100% 100% at 50% 50%,rgba(184,68,30,.12) 0%,rgba(232,146,79,.06) 40%,transparent 70%);opacity:1;transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s ease;pointer-events:none;z-index:-1;border-radius:50%;filter:blur(12px)}.btn-hero:hover:before,.hero__cta:hover:before{opacity:1;transform:scale(1.15)}.btn-hero:hover,.hero__cta:hover,.hero__cta.btn:hover{transform:translateY(-2px);background:var(--btn-primary-gradient-hover, linear-gradient(135deg, #A03A18 0%, #B8441E 100%));box-shadow:var(--btn-primary-shadow-hover, 0 18px 40px -8px rgba(184, 68, 30, .5))!important;filter:brightness(1.03);transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),background .2s cubic-bezier(.4,0,.2,1),filter .2s cubic-bezier(.4,0,.2,1)}.btn-hero:active,.hero__cta:active,.hero__cta.btn:active{transform:translateY(0) scale(.98);box-shadow:0 4px 12px #b8441e40!important;transition:transform .1s cubic-bezier(.4,0,.2,1),box-shadow .1s cubic-bezier(.4,0,.2,1)}.btn-hero:focus-visible,.hero__cta:focus-visible,.hero__cta.btn:focus-visible{outline:2px solid var(--color-terre-cuite, #B8441E);outline-offset:3px;box-shadow:var(--btn-primary-shadow, 0 12px 28px -8px rgba(184, 68, 30, .35))!important;transition:outline .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1)}.btn-hero--cta{box-shadow:0 4px 30px rgba(var(--color-primary-rgb, 224, 120, 85),.4);transition:box-shadow .3s ease}.btn-hero--cta:hover{box-shadow:0 6px 40px rgba(var(--color-primary-rgb, 224, 120, 85),.6)}.hero-cta__label{position:relative;z-index:2;display:block}@media(max-width:639px){.hero.hero--signature{height:100svh;min-height:100svh;padding:var(--space-6)}.hero__inner{height:auto;gap:3vh}.hero__content{gap:var(--space-6)!important;padding:0!important}.hero__animation{max-width:100%;padding-bottom:0}.hero-signature-wrapper{max-width:min(100%,32rem)!important;transform:none!important;margin-bottom:var(--space-3)!important}.hero-signature-svg{max-height:none;transform:none!important}.hero__text-stack{position:relative;transform:none;width:100%;margin-top:0!important;margin-bottom:0!important;gap:var(--space-8)!important;padding:0!important}.hero__baseline,.hero-subtitle,.hero-signature-caption{margin:0!important;font-size:1rem!important;line-height:1.4;max-width:100%}.btn-hero,.hero__cta,.hero__cta.btn{min-height:44px;padding:14px 24px;font-size:1rem;margin-top:0!important}}@media(min-width:640px)and (max-width:1023px){.hero__animation,.hero-signature-wrapper{max-width:min(100%,56rem)}.hero__text-stack{margin-top:0!important;gap:var(--space-6)!important}.hero__baseline,.hero-subtitle,.hero-signature-caption{font-size:clamp(.95rem,2vw,1.25rem)!important;margin:0!important}}@media(min-width:1024px){.hero__animation,.hero-signature-wrapper{max-width:72rem}.hero__baseline,.hero-subtitle,.hero-signature-caption{font-size:1.5rem!important;max-width:50ch}.btn-hero{font-size:1.125rem;padding:var(--btn-padding-lg)}}@media(max-width:475px){.hero.hero--signature{height:100svh;min-height:100svh;padding:var(--space-5)}.hero__inner{height:auto;gap:2.5vh}.hero-signature-wrapper{max-width:min(100%,28rem)!important;transform:none!important;margin-bottom:var(--space-3)!important}.hero-signature-svg{transform:none!important}.hero__text-stack{margin-top:0!important;gap:var(--space-3)!important}.hero__baseline,.hero-subtitle,.hero-signature-caption{font-size:.95rem!important;margin:0!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-signature-path{stroke-dasharray:none!important;stroke-dashoffset:0!important;opacity:1!important}.hero-subtitle,.hero-signature-caption{opacity:1!important}.btn-hero,.hero__cta,.hero-cta,.hero-cta--ink{opacity:1!important;transform:none!important}.hero-signature-wrapper,.hero-signature-svg{transform:none!important}}.hero--signature~section,.hero--signature+section{position:relative;z-index:10}.hero.force-fullscreen,.hero.hero--signature.force-fullscreen,section.hero.force-fullscreen,section#hero.force-fullscreen{height:100vh!important;min-height:100vh!important;max-height:100vh!important;overflow-y:hidden!important;overflow-x:hidden!important}.hero *{box-sizing:border-box}.hero__inner,.hero__content{max-height:100%;overflow:visible}
