@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Nunito:wght@600;700;800;900&display=swap');

:root{--hv-night:#11233f;--hv-night-2:#1b3555;--hv-teal:#1c8c87;--hv-mint:#52d6c9;--hv-coral:#ff8066;--hv-sun:#f5c85b;--hv-cream:#fff5e8;--hv-paper:#fffdf8;--hv-ink:#1e3150;--hv-muted:#66748a;--hv-radius:28px;--hv-shadow:0 24px 80px rgba(17,35,63,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--hv-paper);color:var(--hv-ink);font-family:"DM Sans",system-ui,sans-serif;line-height:1.6}img{max-width:100%;height:auto}a{color:inherit}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;z-index:100;background:#fff;padding:.8rem;border-radius:10px}.site-header{height:84px;padding:0 clamp(1.25rem,5vw,5.5rem);display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:10;inset:0 0 auto;color:white}.brand img{display:block;filter:brightness(0) invert(1);width:176px}.site-header nav{display:flex;align-items:center;gap:1.6rem;font-size:.88rem;font-weight:600}.site-header nav a{text-decoration:none}.nav-pill{border:1px solid rgba(255,255,255,.46);padding:.65rem 1rem;border-radius:999px;backdrop-filter:blur(10px)}
.hv-hero{min-height:760px;height:92vh;position:relative;display:grid;align-items:center;color:white;isolation:isolate;background:#10243f url('../images/havoria-horizon.png') center/cover no-repeat;overflow:hidden}.hv-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,19,39,.84) 0%,rgba(10,30,54,.58) 33%,rgba(10,30,54,.08) 67%),linear-gradient(0deg,rgba(7,21,38,.54),transparent 42%)}.hv-hero:after{content:"";position:absolute;inset:auto 0 0;height:150px;background:linear-gradient(transparent,var(--hv-paper));z-index:-1}.hv-hero__content{width:min(1180px,calc(100% - 2.5rem));margin:0 auto;padding-top:5rem}.eyebrow{display:flex;align-items:center;gap:.7rem;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700}.eyebrow:before{content:"";width:34px;height:2px;background:var(--hv-sun)}.hv-hero h1{font:900 clamp(3.5rem,7.5vw,7.8rem)/.88 "Nunito",sans-serif;letter-spacing:-.065em;max-width:760px;margin:1.1rem 0 1.5rem}.hv-hero h1 em{font-style:normal;color:var(--hv-sun)}.hv-hero__lead{font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.55;max-width:585px;color:rgba(255,255,255,.88)}.hv-actions{display:flex;gap:.8rem;margin-top:2rem;flex-wrap:wrap}.hv-button{display:inline-flex;align-items:center;gap:.7rem;border-radius:999px;padding:.9rem 1.25rem;text-decoration:none;font-weight:700;background:var(--hv-coral);color:white;box-shadow:0 12px 30px rgba(255,128,102,.28)}.hv-button--ghost{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.4);box-shadow:none;backdrop-filter:blur(8px)}.hv-scroll{position:absolute;left:50%;bottom:3.2rem;transform:translateX(-50%);font-size:.74rem;text-transform:uppercase;letter-spacing:.16em;display:flex;flex-direction:column;align-items:center;gap:.7rem}.hv-scroll:after{content:"";height:42px;width:1px;background:rgba(255,255,255,.7)}
.hv-section{width:min(1180px,calc(100% - 2.5rem));margin:0 auto;padding:clamp(5rem,10vw,9rem) 0}.hv-section__head{max-width:740px}.kicker{font:800 .75rem "Nunito",sans-serif;color:var(--hv-teal);letter-spacing:.18em;text-transform:uppercase}.hv-section h2{font:900 clamp(2.5rem,5vw,5rem)/1 "Nunito",sans-serif;letter-spacing:-.045em;color:var(--hv-night);margin:.75rem 0 1.2rem}.hv-intro{font-size:clamp(1.1rem,2vw,1.45rem);color:var(--hv-muted);line-height:1.55}.hv-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3.5rem}.hv-card{padding:2rem;border-radius:var(--hv-radius);background:white;box-shadow:0 14px 60px rgba(17,35,63,.08);border:1px solid rgba(17,35,63,.06)}.hv-card__number{font:900 3.2rem "Nunito",sans-serif;color:rgba(28,140,135,.2)}.hv-card h3{font:800 1.35rem "Nunito",sans-serif;margin:.5rem 0;color:var(--hv-night)}.hv-card p{margin:0;color:var(--hv-muted)}
.hv-amix-wrap{background:var(--hv-night);color:white;position:relative;overflow:hidden}.hv-amix-wrap:before{content:"";position:absolute;width:620px;height:620px;border-radius:50%;right:-180px;top:-240px;background:radial-gradient(circle,var(--hv-teal),transparent 68%);opacity:.38}.hv-amix{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,7vw,7rem);align-items:center}.amix-portrait{min-height:460px;display:grid;place-items:center;position:relative}.amix-orbit{width:320px;height:320px;border-radius:50%;border:1px solid rgba(82,214,201,.32);display:grid;place-items:center;box-shadow:0 0 0 36px rgba(82,214,201,.05),0 0 0 76px rgba(82,214,201,.025)}.amix{width:210px;height:246px;position:relative}.amix__antenna{width:5px;height:34px;background:var(--hv-mint);margin:auto;border-radius:5px;position:relative}.amix__antenna:after{content:"";position:absolute;width:15px;height:15px;border-radius:50%;background:var(--hv-sun);left:-5px;top:-7px;box-shadow:0 0 22px var(--hv-sun)}.amix__head{height:112px;border-radius:46% 46% 40% 40%;background:linear-gradient(145deg,#fff,#dceff0);border:7px solid #d3eaec;box-shadow:inset 0 -15px 20px rgba(17,35,63,.11);position:relative}.amix__screen{position:absolute;inset:23px 22px 27px;border-radius:27px;background:var(--hv-night)}.amix__eyes{position:absolute;left:52px;top:49px;width:12px;height:16px;background:var(--hv-mint);border-radius:10px;box-shadow:55px 0 var(--hv-mint),0 0 11px var(--hv-mint),55px 0 11px var(--hv-mint)}.amix__body{width:156px;height:120px;margin:-2px auto 0;border-radius:35px 35px 50px 50px;background:linear-gradient(145deg,#f7ffff,#cce8e9);border:7px solid #d3eaec;position:relative}.amix__heart{position:absolute;left:50%;top:31px;transform:translateX(-50%) rotate(45deg);width:25px;height:25px;background:var(--hv-coral);border-radius:5px 12px 5px 12px}.amix__heart:before,.amix__heart:after{content:"";position:absolute;width:25px;height:25px;background:var(--hv-coral);border-radius:50%}.amix__heart:before{left:-13px}.amix__heart:after{top:-13px}.amix__arm{position:absolute;top:132px;width:34px;height:88px;background:#d9eeee;border:6px solid #c4e1e3;border-radius:20px}.amix__arm--l{left:-5px;transform:rotate(18deg)}.amix__arm--r{right:-5px;transform:rotate(-18deg)}.hv-amix h2{color:white}.hv-amix p{color:rgba(255,255,255,.72);font-size:1.12rem}.amix-tag{display:inline-flex;gap:.7rem;align-items:center;color:var(--hv-sun);font-weight:700}.amix-tag span{width:8px;height:8px;background:var(--hv-sun);border-radius:50%;box-shadow:0 0 12px var(--hv-sun)}
.hv-manifesto{text-align:center;max-width:980px}.hv-manifesto .symbol{width:58px;margin:0 auto 2rem}.hv-manifesto blockquote{font:800 clamp(2.3rem,5vw,5rem)/1.12 "Nunito",sans-serif;letter-spacing:-.045em;color:var(--hv-night);margin:0}.hv-manifesto blockquote strong{color:var(--hv-coral)}.hv-manifesto p{color:var(--hv-muted);margin-top:2rem}.hv-horizon{margin:0 auto 7rem;width:min(1180px,calc(100% - 2.5rem));border-radius:38px;background:linear-gradient(135deg,#dff6f1,#fff0dc);padding:clamp(2rem,6vw,5rem);display:grid;grid-template-columns:1.25fr .75fr;gap:2rem;align-items:center;overflow:hidden;position:relative}.hv-horizon h2{font:900 clamp(2.3rem,4vw,4.4rem)/1 "Nunito";letter-spacing:-.04em;margin:0 0 1rem;color:var(--hv-night)}.world-seeds{display:flex;gap:.65rem;flex-wrap:wrap}.world-seeds span{padding:.65rem .9rem;border-radius:999px;background:rgba(255,255,255,.74);font-weight:700;font-size:.85rem}.horizon-rings{height:270px;position:relative}.horizon-rings i{position:absolute;border-radius:50%;border:2px solid rgba(28,140,135,.2);inset:50%;transform:translate(-50%,-50%)}.horizon-rings i:nth-child(1){width:90px;height:90px;background:var(--hv-teal);box-shadow:0 20px 50px rgba(28,140,135,.3)}.horizon-rings i:nth-child(2){width:170px;height:170px}.horizon-rings i:nth-child(3){width:255px;height:255px}.horizon-rings:after{content:"✦";position:absolute;inset:50%;transform:translate(-50%,-53%);z-index:2;color:white;font-size:3rem}.site-footer{background:#0d1d34;color:white;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:2.4rem clamp(1.25rem,5vw,5.5rem)}.site-footer p{margin:0}.footer-note{color:rgba(255,255,255,.5);font-size:.8rem}.hv-prose{padding-top:9rem}
@media(max-width:780px){.site-header nav a:not(.nav-pill){display:none}.site-header{height:72px}.brand img{width:144px}.hv-hero{min-height:720px;height:100svh;background-position:62% center}.hv-hero:before{background:linear-gradient(90deg,rgba(6,19,39,.82),rgba(10,30,54,.25)),linear-gradient(0deg,rgba(7,21,38,.62),transparent 55%)}.hv-hero__content{padding-top:7rem}.hv-hero h1{font-size:clamp(3.4rem,17vw,5.5rem);max-width:560px}.hv-scroll{display:none}.hv-cards{grid-template-columns:1fr}.hv-amix{grid-template-columns:1fr}.amix-portrait{min-height:380px}.amix-orbit{transform:scale(.82)}.hv-horizon{grid-template-columns:1fr}.horizon-rings{height:220px}.site-footer{grid-template-columns:auto 1fr}.footer-note{grid-column:1/-1}}
@media(prefers-reduced-motion:no-preference){.amix__antenna:after{animation:glow 2.6s ease-in-out infinite}.horizon-rings{animation:float 5s ease-in-out infinite}@keyframes glow{50%{transform:scale(1.2);box-shadow:0 0 32px var(--hv-sun)}}@keyframes float{50%{transform:translateY(-8px)}}}

/* Direction V2 — langage visuel Amix : gros, coloré, lisible sans texte. */
body{background:#fffdf4;background-image:radial-gradient(circle at 12% 18%,rgba(255,208,0,.09) 0 3px,transparent 4px),radial-gradient(circle at 86% 32%,rgba(255,47,134,.07) 0 4px,transparent 5px);background-size:54px 54px,72px 72px}
.site-header{height:104px;padding-top:14px}.brand{background:#fff;border:5px solid #fff;border-radius:28px;padding:3px 14px;box-shadow:0 7px 0 rgba(21,59,150,.22),0 12px 30px rgba(21,59,150,.2)}.brand img{filter:none;width:225px;height:auto}.site-header nav{background:#fff;border:4px solid #fff;padding:6px;border-radius:28px;box-shadow:0 7px 0 rgba(21,59,150,.22);gap:4px;color:#153b96;font:900 .94rem "Nunito",sans-serif}.site-header nav a{padding:.7rem .9rem;border-radius:18px}.site-header nav a:hover,.site-header nav a:focus{background:#e8f9ff}.site-header nav span{font-size:1.25rem}.nav-pill{border:0;background:#ffe231;color:#153b96;backdrop-filter:none}
.hv-hero{height:min(940px,100svh);min-height:760px;background:#26a9f4 url('../images/havoria-gateway-v2.png') center/cover no-repeat;color:#153b96}.hv-hero:before{background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.83) 25%,rgba(255,255,255,0) 48%)}.hv-hero:after{height:65px;background:linear-gradient(transparent,#fffdf4)}.hv-hero__content{padding-top:9rem}.hv-hero__content>*{position:relative}.hv-hero__content:before{content:"";position:absolute;width:min(610px,48vw);height:480px;left:max(1rem,calc((100% - 1180px)/2 - 34px));top:50%;transform:translateY(-42%);background:rgba(255,255,255,.9);border:8px solid #fff;border-radius:58px;box-shadow:0 14px 0 rgba(21,59,150,.18),0 30px 70px rgba(21,59,150,.18);z-index:-0}.eyebrow{font:900 .9rem "Nunito",sans-serif;color:#ff2f86;letter-spacing:.08em}.eyebrow:before{height:8px;width:34px;border-radius:9px;background:#ffd000;box-shadow:0 0 0 3px #fff}.hv-hero h1{font-size:clamp(4rem,7vw,7.4rem);line-height:.88;letter-spacing:-.055em;color:#176ce6;text-shadow:0 5px 0 #fff,0 10px 0 rgba(21,59,150,.16);max-width:640px}.hv-hero h1 em{color:#ff2f86}.hv-hero__lead{color:#153b96;font:800 clamp(1.15rem,1.7vw,1.45rem)/1.38 "Nunito",sans-serif;max-width:480px}.hv-button{font:900 1.25rem "Nunito",sans-serif;padding:1rem 1.45rem;border:5px solid #fff;background:#ff365f;box-shadow:0 8px 0 #b91342,0 15px 30px rgba(185,19,66,.25);transition:transform .15s,box-shadow .15s}.hv-button:hover,.hv-button:focus{transform:translateY(-3px);box-shadow:0 11px 0 #b91342,0 18px 34px rgba(185,19,66,.25)}.hv-button--ghost{background:#ffd721;color:#153b96;box-shadow:0 8px 0 #e68a00;border-color:#fff}.hv-button--ghost:hover,.hv-button--ghost:focus{box-shadow:0 11px 0 #e68a00}.hv-scroll{display:none}
.hv-section{padding:clamp(4.5rem,8vw,7rem) 0}.kicker{font-size:.9rem;color:#ff2f86}.hv-section h2{color:#153b96}.hv-intro{color:#415578;font:700 clamp(1.15rem,2vw,1.4rem)/1.55 "Nunito",sans-serif}.hv-cards{gap:1.5rem}.hv-card{text-align:center;border:7px solid #fff;border-radius:42px;padding:2.2rem 1.6rem;box-shadow:0 11px 0 rgba(21,59,150,.14),0 22px 45px rgba(21,59,150,.12);transform:rotate(-1deg)}.hv-card:nth-child(2){transform:rotate(1deg)}.hv-card--look{background:#dff8ff}.hv-card--choose{background:#fff2a8}.hv-card--go{background:#ffe1ed}.hv-card__number{display:grid;place-items:center;width:112px;height:112px;margin:auto;border-radius:36px;background:#fff;font-size:4rem;line-height:1;box-shadow:0 8px 0 rgba(21,59,150,.1)}.hv-card h3{font-size:1.75rem;color:#153b96}.hv-card p{font:700 1rem/1.5 "Nunito",sans-serif;color:#526585}
.hv-amix-wrap{background:linear-gradient(145deg,#1ebcf3 0%,#1781ea 100%);border-block:10px solid #fff;box-shadow:0 -9px 0 #ffd721,0 9px 0 #ff3c7c}.hv-amix-wrap:before{width:720px;height:720px;background:radial-gradient(circle,#8ef5ff,transparent 65%);opacity:.55}.amix-orbit{background:#fff;border:9px solid #fff;box-shadow:0 12px 0 rgba(21,59,150,.26),0 0 0 36px rgba(255,215,33,.22),0 0 0 70px rgba(255,255,255,.12)}.amix__head,.amix__body{border-width:10px}.hv-amix h2{font-size:clamp(2.8rem,5vw,5.3rem);text-shadow:0 5px 0 rgba(21,59,150,.25)}.hv-amix p{color:#fff;font:700 1.18rem/1.55 "Nunito",sans-serif}.amix-tag{color:#ffe231;background:#153b96;padding:.65rem 1rem;border-radius:999px;width:max-content;box-shadow:0 6px 0 rgba(5,38,114,.5)}
.hv-manifesto .symbol{width:92px;filter:drop-shadow(0 8px 0 rgba(21,59,150,.12))}.hv-manifesto blockquote{color:#153b96}.hv-manifesto blockquote strong{display:inline-block;color:#ff2f86;margin-top:1rem;background:#fff0a8;border-radius:24px;padding:.14em .32em;box-decoration-break:clone;-webkit-box-decoration-break:clone}.hv-horizon{background:linear-gradient(135deg,#dff8ff,#fff0a8 50%,#ffe1ed);border:8px solid #fff;border-radius:48px;box-shadow:0 12px 0 rgba(21,59,150,.14)}.world-seeds span{font:800 .95rem "Nunito",sans-serif;border:3px solid #fff;box-shadow:0 5px 0 rgba(21,59,150,.1)}.horizon-rings i:nth-child(1){background:#ff2f86}.site-footer{background:#153b96;border-top:9px solid #ffd721}.site-footer img{width:52px;height:52px}
@media(max-width:780px){.site-header{height:86px;padding-top:10px}.brand{padding:2px 8px;border-width:3px}.brand img{width:165px}.site-header nav{padding:3px;border-width:3px}.site-header nav a:not(.nav-pill){display:none}.nav-pill{font-size:0;padding:.55rem}.nav-pill span{font-size:1.5rem}.hv-hero{background-position:62% center;min-height:780px}.hv-hero:before{background:linear-gradient(0deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 43%,rgba(255,255,255,0) 70%)}.hv-hero__content{align-self:end;padding:0 0 3.5rem}.hv-hero__content:before{display:none}.hv-hero h1{font-size:clamp(3.7rem,16vw,5.3rem);margin:.5rem 0 1rem}.hv-hero__lead{max-width:92%;font-size:1.15rem}.eyebrow{margin:0}.hv-actions{margin-top:1.2rem}.hv-button{font-size:1.08rem;padding:.82rem 1rem;border-width:4px}.hv-card{transform:none!important}.hv-amix{gap:0}.amix-portrait{min-height:410px}.hv-manifesto blockquote{font-size:clamp(2.1rem,10vw,3.7rem)}}
.hv-hero__content{position:relative;z-index:1}.hv-hero__content:before{left:-34px;width:min(610px,52vw);z-index:0}
/* V3 — le site parle aux parents ; Noé et Amix prennent ensemble la route. */
.hv-hero{background-image:url('../images/havoria-noe-amix-road-v3.png');background-position:center center}
.hv-hero__content:before{height:650px;transform:translateY(-38%)}
.hv-hero h1{font-size:clamp(3.5rem,6vw,6.6rem);max-width:560px;margin-bottom:.65rem}
.hv-hero__tagline{position:relative;margin:0 0 1.2rem;max-width:510px;color:#153b96;font:900 clamp(1.35rem,2.1vw,1.85rem)/1.2 "Nunito",sans-serif}
.hv-hero__lead{font:700 clamp(1rem,1.35vw,1.18rem)/1.48 "Nunito",sans-serif;max-width:510px}
.hv-actions{margin-top:1.45rem}.hv-button{font-size:1.08rem;padding:.85rem 1.1rem}
@media(max-width:780px){.hv-hero{background-position:68% center}.hv-hero__tagline{font-size:1.32rem;margin-bottom:.65rem}.hv-hero__lead{font-size:.98rem;line-height:1.35;max-width:98%}.hv-hero__content{padding-bottom:2.4rem}.hv-actions{margin-top:.9rem}.hv-button{font-size:.96rem;padding:.7rem .85rem}.hv-hero h1{font-size:clamp(3.1rem,14vw,4.6rem)}}
