/* La suppression de la classe halloween restaure les couleurs originales. */
[hidden]{display:none!important}
:root.halloween{--signal-500:#ff963f;--signal-600:#ffad67;--signal-700:#ffc28f;--signal-100:#372119;--signal-050:#251812;--shadow-signal:0 10px 35px -8px #ff781f80;--line-on-light:#ffffff24;--line-on-light-strong:#ffffff40;color-scheme:dark}
.halloween body{background:#100d15;color:#f6f0eb}
.halloween .nav{background:#110e17eb;border-bottom-color:#ffffff16;color:#f6f0eb}
.halloween .nav-links a,.halloween .breadcrumb,.halloween .breadcrumb a{color:#c7bdcb}
.halloween .nav-links a:hover,.halloween .nav-links a[aria-current]{color:#ffa65f}
.halloween .nav-burger span{background:#fff}
.halloween .surface-alt,.halloween .card:not(.surface-dark){background:#19141f!important;color:#f6f0eb}
.halloween .surface-dark,.halloween .footer,.halloween .mobile-menu{background:#0c0a11}
.halloween .text-muted,.halloween .section-head p,.halloween .card p,.halloween .field-hint{color:#bcb2c4}
.halloween main p[style*="--ink-600"]{color:#c7bdcb!important}
.halloween .btn-secondary,.halloween .btn-ghost{color:#f6f0eb;border-color:#ffffff40}
.halloween .btn-primary{background:#ff963f;color:#1b1009;border-color:#ff963f}
.halloween .btn-primary:hover{background:#ffb87e;box-shadow:0 0 35px #ff78293d}
.halloween .tag-outline{color:#cfc4d5;border-color:#ffffff30}
.halloween .tag-status{background:#243229;color:#a7e3b7}
.halloween .field input:not([type=radio]):not([type=checkbox]),.halloween .field textarea,.halloween .field select{background:#211a29;color:#fff;border-color:#76687d}
.halloween .radio-option{color:#eee;background:#211a29}
.halloween .radio-option:has(input:checked){background:#39251a;border-color:#ff963f}
.halloween .accordion-trigger{color:#f6f0eb}
.halloween .accordion-panel{color:#c7bdcb}
.halloween .browser-mock-bar{background:#241c2e}
.halloween .browser-mock-url{color:#d7cbdc}
.halloween a:focus-visible,.halloween button:focus-visible,.halloween input:focus-visible,.halloween textarea:focus-visible{outline:3px solid #ffc28f;outline-offset:4px}
.hw-banner{padding:12px max(20px,calc((100vw - 1184px)/2));display:flex;gap:14px;justify-content:space-between;align-items:center;background:#ff963f;color:#211109;font:600 12px var(--font-mono);letter-spacing:.035em}
.hw-banner b{margin:0 12px;font-size:17px}.hw-banner a{white-space:nowrap;text-decoration:underline;text-underline-offset:4px;padding:5px 0}
.hw-hero{isolation:isolate;background:radial-gradient(ellipse at 78% 35%,#392041 0,transparent 46%),#0c0a11!important}
.hw-hero>.container{position:relative;z-index:1}
.hw-hero h1{font-size:clamp(3.8rem,7.4vw,7.6rem);letter-spacing:-.065em;line-height:.98}
.hw-hero .eyebrow{font-size:11px;letter-spacing:.19em}
.hw-fog{pointer-events:none;position:absolute;inset:0;z-index:0;overflow:hidden}
.hw-fog:after{content:"";position:absolute;inset:35% -15% -35%;background:radial-gradient(ellipse at 40% 70%,#a084bf20,transparent 58%),radial-gradient(ellipse at 80% 100%,#f28c4029,transparent 60%);transform:translateX(-5%)}
.hw-orbit{position:relative;aspect-ratio:1;max-width:510px;margin:auto;transform:translate(var(--mx,0),var(--my,0));transition:transform .5s ease}
.hw-moon{position:absolute;inset:18%;border-radius:50%;background:radial-gradient(circle at 42% 38%,#221322 0,#120d16 57%,#7b3e25 67%,#ffb66a 70%,#ff852f 72%,transparent 74%);box-shadow:18px 16px 90px #ff6b1733,inset -8px -8px 25px #ff9d4c55}
.hw-orbit-ring{position:absolute;inset:7%;border:1px solid #bd94d42e;border-radius:50%;transform:rotate(-25deg) scaleY(.68)}
.hw-orbit-ring.second{inset:0;transform:rotate(35deg) scaleY(.7);border-style:dashed}
.hw-orbit-caption{position:absolute;top:0;left:20%;font:10px var(--font-mono);letter-spacing:.2em;color:#b9a5c4}
.hw-orbit-label{position:absolute;bottom:3%;right:7%;font:10px var(--font-mono);letter-spacing:.2em;color:#cdb9d6}.hw-orbit-label strong{display:block;font-size:22px;color:#ffad67;margin-top:8px}
.hw-bat{position:absolute;width:70px;color:#06040a;filter:drop-shadow(0 2px 1px #ff983b50)}.hw-bat.b1{top:32%;left:8%;transform:rotate(-15deg)}.hw-bat.b2{top:26%;left:64%;width:44px;transform:rotate(18deg)}.hw-bat.b3{top:65%;left:57%;width:85px;transform:rotate(-12deg)}
.hw-motion .hw-moon{animation:moon-breathe 7s ease-in-out infinite alternate}.hw-motion .hw-fog:after{animation:fog-drift 18s ease-in-out infinite alternate}.hw-motion .hw-bat{animation:bat-flight 9s ease-in-out infinite alternate}.hw-motion .hw-bat.b2{animation-delay:-5s;animation-duration:12s}.hw-motion .hw-bat.b3{animation-delay:-3s;animation-duration:11s}.hw-motion .nav-logo img{animation:logo-arrive 1.2s ease-out both}.hw-motion .hw-hero h1{animation:title-arrive 1s ease-out both}
.hw-campaign{padding:clamp(52px,7vw,100px) 0;background:radial-gradient(ellipse at 90% 40%,#38204480,transparent 60%),#151019;color:#f7f0ed;border-block:1px solid #dba67930}
.hw-campaign-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:7%;align-items:center}.hw-kicker{font:500 10px var(--font-mono);letter-spacing:.16em;color:#efab75}.hw-campaign h2{font:600 clamp(1.9rem,3.2vw,3rem)/1.12 var(--font-display);letter-spacing:-.045em;margin:20px 0}.hw-campaign h2 em{color:#ffad67;font-style:normal}.hw-campaign p{color:#c7bcca;margin-bottom:24px;max-width:48ch}.hw-campaign .btn-primary{background:#ff963f;color:#211109}.hw-campaign .hw-fine{font-size:11px;line-height:1.7;margin:20px 0 0;color:#b9abbf}
.hw-offer-ticket{padding:34px;border:1px solid #fba25e50;background:linear-gradient(135deg,#362131aa,#18101f);border-radius:4px;position:relative;box-shadow:0 25px 65px #0004}
.hw-price{position:relative;padding:28px 0;border-bottom:1px dashed #ba8b6b60}.hw-price>span{display:block;font-size:12px;color:#c7bcca}.hw-price strong{font:600 clamp(3rem,5vw,5rem)/1.2 var(--font-display);letter-spacing:-.065em;color:#ffb475}.hw-price del{margin-left:12px;color:#b8a8be}.hw-price>b{position:absolute;right:-49px;top:30px;background:#ff963f;color:#201009;transform:rotate(9deg);padding:14px;font:600 22px var(--font-display)}
.hw-countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:26px 0}.hw-countdown strong{display:block;font:500 clamp(22px,3vw,34px) var(--font-mono);font-variant-numeric:tabular-nums}.hw-countdown span{display:block;color:#b9abbf;font-size:10px;margin-top:4px}.hw-ticket-foot{display:flex;justify-content:space-between;border-top:1px solid #ffffff18;padding-top:18px;font:9px var(--font-mono);letter-spacing:.05em;color:#c9b9d0}
.hw-form-offer{padding:20px;border:1px solid #c97b3d;background:#302018;color:#ffdab7;border-radius:12px;margin-bottom:24px}
.eco-project{grid-column:1/-1;padding:clamp(1.5rem,3vw,3rem)}.eco-home{padding-top:0}.eco-project .browser-mock-viewport{aspect-ratio:1.44}.eco-project img{object-position:top}
html:not(.halloween) .eco-home{padding-top:0}
@keyframes moon-breathe{to{filter:brightness(1.3);transform:scale(1.035)}}@keyframes fog-drift{to{transform:translate(8%,-8%)}}@keyframes bat-flight{to{translate:24px -18px;rotate:8deg}}@keyframes logo-arrive{from{filter:drop-shadow(0 0 16px #ff963f);opacity:.5}to{filter:none;opacity:1}}@keyframes title-arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(max-width:767px){.hw-campaign-grid{grid-template-columns:1fr;gap:35px}.hw-offer-ticket{margin-right:10px;padding:24px}.hw-price>b{right:-35px;font-size:18px}.hw-banner{font-size:10px;padding:10px 18px}.hw-banner b{margin:0 5px;font-size:14px}.hw-banner-detail{display:none}.hw-hero{padding-top:55px!important}.hw-orbit{max-width:310px}.hw-visual{margin-top:20px}.hw-hero h1{font-size:clamp(3.6rem,16vw,5.5rem)}.hw-ticket-foot{font-size:8px}.hw-bat.b3{width:65px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}.hw-hero *,.hw-fog:after{animation:none!important;transition:none!important;transform:none}.hw-orbit-ring{display:none}}
.halloween .field label,.halloween fieldset legend{color:#e9deee}.halloween .field .hint{color:#b9aabe}.halloween .error-msg{color:#ff9999}.halloween .sticky-cta{background:#16101ded}.halloween .section-tight[data-hero]{color:#f6f0eb}.halloween .section-tight[data-hero] .eyebrow{color:#ffad67}
/* Progressive enhancement: keep content readable if scripting is unavailable. */
html:not(.reveal-ready) [data-reveal]{opacity:1;transform:none}
.hw-campaign-grid>*{min-width:0}.hw-campaign h2{overflow-wrap:break-word}.hw-price>b{right:-25px}.halloween .accordion-panel p{color:#bcb2c4}.halloween .accordion-trigger:hover{color:#ffad67}
@media(max-width:767px){.hw-price>b{right:-15px}.hw-price strong{font-size:3.5rem}.hw-campaign h2{font-size:clamp(1.7rem,7vw,2.2rem)}}
/* Long privacy URLs and portfolio labels must wrap on narrow screens. */
main{overflow-wrap:anywhere}main .container>*{min-width:0}
.consent-banner:not(.is-visible),.sticky-cta:not(.is-visible){visibility:hidden;pointer-events:none}
.accordion-panel:not(.is-open){visibility:hidden}.accordion-panel:not(.is-open) .accordion-panel-inner{padding-block:0}
.halloween .accordion-panel-inner{color:#c7bdcb}.halloween .breadcrumb li[aria-current="page"]{color:#f0e5f5}
@media(max-width:767px){.hw-banner-detail{display:block;margin-top:3px;font-size:9px;letter-spacing:0}}
