:root{--color-primary:#ff0000;--color-secondary:#000000;--color-background:#fff;--color-surface:#f6f8f7;--color-text:#17201d;--font-display:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--font-body:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--size-h1:clamp(2.4rem,6vw,5.6rem);--size-h2:clamp(1.8rem,3.8vw,3.3rem);--size-body:1rem;--space-xs:.5rem;--space-sm:.875rem;--space-md:1.5rem;--space-lg:3rem;--space-xl:6rem;--radius-sm:8px;--radius-md:16px;--radius-lg:28px;--line:rgba(23,32,29,.16);--shadow:0 18px 40px rgba(23,32,29,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--color-background);color:var(--color-text);font:400 var(--size-body)/1.55 var(--font-body)}a{color:inherit}p{max-width:67ch}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.055em;line-height:.96;margin:0}h1{font-size:var(--size-h1);max-width:11ch}h2{font-size:var(--size-h2);max-width:18ch}h3{font-size:1.35rem}.skip-link{position:fixed;left:var(--space-sm);top:-4rem;background:var(--color-secondary);color:white;padding:var(--space-sm);z-index:4}.skip-link:focus{top:var(--space-sm)}.site-header{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) clamp(1.25rem,5vw,5.5rem);border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-weight:800;letter-spacing:-.06em;font-size:1.2rem;display:inline-flex;align-items:center;gap:.38rem}.brand-mark{color:var(--color-primary);font-size:1.35em;line-height:1}.site-header nav{display:flex;align-items:center;gap:clamp(.7rem,2vw,1.8rem);font-size:.9rem;font-weight:650}.site-header nav a{text-decoration:none}.nav-cta{padding:.6rem .8rem;background:var(--color-secondary);color:#fff;border-radius:var(--radius-sm)}.hero{min-height:calc(100svh - 79px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);padding:clamp(2rem,7vw,7rem) clamp(1.25rem,7vw,8rem);gap:var(--space-lg);overflow:hidden}.hero-copy{display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;margin:0 0 var(--space-sm);color:var(--color-primary)}.hero h1 em{font-style:normal;color:var(--color-primary)}.hero-lead{font-size:clamp(1.05rem,1.7vw,1.35rem);margin:var(--space-md) 0 var(--space-lg)}.actions{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.1rem;text-decoration:none;border:0;font:800 1rem var(--font-body);cursor:pointer;padding:.92rem 1rem;border-radius:var(--radius-sm);transition:transform .2s,box-shadow .2s}.button-primary{background:var(--color-primary);color:var(--color-secondary);box-shadow:4px 4px 0 var(--color-secondary)}.button-primary:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--color-secondary)}.text-link{font-weight:750;text-underline-offset:.27em}.microcopy{margin-top:var(--space-lg);font-size:.85rem;color:#51605a}.hero-art{position:relative;background:var(--color-secondary);border-radius:var(--radius-lg);min-height:430px;color:#fff;overflow:hidden;padding:var(--space-md)}.heart-shape{color:var(--color-primary);font-size:clamp(14rem,32vw,28rem);line-height:.75;position:absolute;right:-.13em;bottom:-.08em;transform:rotate(-13deg)}.hero-art p{position:absolute;bottom:1.5rem;left:1.5rem;font:800 clamp(1.4rem,3vw,2.4rem)/.95 var(--font-display);letter-spacing:-.06em;margin:0}.hero-stamp{position:absolute;right:1.2rem;top:1.2rem;border:1px solid #fff;border-radius:50%;width:91px;height:91px;display:grid;place-items:center;text-align:center;font:800 .72rem/.95 var(--font-body);letter-spacing:.08em;transform:rotate(12deg)}.intro-band{background:var(--color-primary);padding:var(--space-md) clamp(1.25rem,12vw,14rem);font:800 clamp(1.25rem,2.2vw,2rem)/1.1 var(--font-display);letter-spacing:-.045em}.intro-band p{margin:0}.section{padding:var(--space-xl) clamp(1.25rem,7vw,8rem)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:var(--space-md);margin-bottom:var(--space-lg)}.step-grid,.safety-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.step-grid li{border-top:2px solid var(--color-secondary);padding-top:var(--space-sm)}.step-grid span{font-weight:800;color:var(--color-primary);display:block;margin-bottom:2.2rem}.step-grid p,.safety-grid p{margin-bottom:0}.statement{background:var(--color-surface);display:grid;grid-template-columns:1fr .75fr;gap:var(--space-xl);align-items:end}.statement>p{font-size:1.2rem;margin:0}.safety{border-bottom:1px solid var(--line)}.safety-grid article{background:var(--color-surface);padding:var(--space-md);border-radius:var(--radius-md);min-height:180px}.safety-grid h3{color:var(--color-primary)}.contact-section{background:var(--color-secondary);color:#fff;padding:var(--space-xl) clamp(1.25rem,7vw,8rem);display:grid;grid-template-columns:.75fr 1fr;gap:clamp(2rem,8vw,9rem)}.contact-section h2{max-width:10ch}.contact-note{font-size:.9rem;color:#c1c6c3;margin-top:var(--space-lg)}.request-form{background:var(--color-background);color:var(--color-text);padding:var(--space-md);border-radius:var(--radius-md);box-shadow:var(--shadow)}.request-form label{display:grid;gap:.35rem;font-size:.86rem;font-weight:750;margin-bottom:var(--space-sm)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}input,select,textarea{font:inherit;color:var(--color-text);width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;padding:.75rem}.request-form .check{display:flex;align-items:flex-start;gap:.6rem;font-weight:500}.check input{width:1.1rem;margin-top:.2rem}.honeypot{position:absolute;left:-9999px}.form-message{padding:var(--space-sm);border-radius:var(--radius-sm);margin-bottom:var(--space-md)}.form-message ul{margin:.5rem 0 0;padding-left:1.1rem}.success{background:#e5f6e8;border-left:4px solid #238636}.error{background:#fff0f0;border-left:4px solid var(--color-primary)}.site-footer{padding:var(--space-lg) clamp(1.25rem,7vw,8rem);display:grid;grid-template-columns:1fr auto auto;gap:var(--space-lg);background:var(--color-surface);font-size:.9rem}.site-footer p{margin:.4rem 0}.footer-links{display:grid;gap:.5rem}.footer-note{font-weight:750}.legal{max-width:960px;margin:auto}.breadcrumb{display:flex;gap:.5rem;font-size:.9rem;margin-bottom:var(--space-lg)}.legal h1{margin-bottom:var(--space-lg)}.legal h2{font-size:1.6rem;margin-top:var(--space-lg)}.legal-intro{background:var(--color-surface);padding:var(--space-md);border-radius:var(--radius-md)}.not-found{min-height:50vh}
@media (max-width:760px){.site-header nav a:not(.nav-cta){display:none}.hero,.statement,.contact-section{grid-template-columns:1fr}.hero{min-height:auto;padding-top:var(--space-lg)}.hero-art{min-height:330px}.section-heading{display:block}.section-heading h2{margin-top:var(--space-sm)}.step-grid,.safety-grid{grid-template-columns:1fr}.step-grid li{display:grid;grid-template-columns:70px 1fr;column-gap:var(--space-sm)}.step-grid span{grid-row:span 2;margin:0}.step-grid h3{align-self:end}.step-grid p{grid-column:2}.site-footer{grid-template-columns:1fr;gap:var(--space-md)}.form-row{grid-template-columns:1fr}}
@media (prefers-reduced-motion:no-preference){.hero-copy,.hero-art{animation:rise .7s both}.hero-art{animation-delay:.1s}@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}}.button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}
.hero-art{isolation:isolate}.model-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab;z-index:1}.hero-art.is-dragging .model-canvas{cursor:grabbing}.model-status,.model-fallback{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:var(--space-lg);z-index:2;font-weight:750}.model-status{color:var(--color-background)}.model-fallback{background:var(--color-surface);color:var(--color-text)}.model-fallback p{position:static;margin:0 0 var(--space-xs);font:800 1.25rem/1 var(--font-display);letter-spacing:-.04em}.model-caption{position:absolute!important;bottom:var(--space-md)!important;left:var(--space-md)!important;z-index:2;font:750 .82rem/1.3 var(--font-body)!important;letter-spacing:0!important;margin:0;opacity:0;transition:opacity .2s;pointer-events:none}.hero-art.is-ready .model-caption{opacity:.82}.hero-stamp{z-index:3;pointer-events:none}@media (prefers-reduced-motion:reduce){.model-caption{opacity:.82}}

/* Freudix Studio : éléments 3D réellement masqués avant erreur */
[hidden], .model-status[hidden], .model-fallback[hidden] { display: none !important; }
