/* home.css : conserver les règles responsive et prefers-reduced-motion. */
/* Home-only enhancement. Header, footer and other pages retain their V7 styling. */
.home-page main .home-v7{isolation:isolate;background:#172238;color:#fff;padding:78px 0 82px;position:relative;overflow:hidden}
.home-page main .home-v7:before{content:'';position:absolute;inset:-40%;z-index:-2;background:radial-gradient(ellipse at 77% 45%,#477f9e70 0,transparent 26%),radial-gradient(ellipse at 12% 85%,#44688255 0,transparent 30%),radial-gradient(ellipse at 82% 87%,#f28b4528 0,transparent 22%);animation:home-glow 16s ease-in-out infinite alternate;pointer-events:none}
.home-page main .home-v7:after{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#b9d8ee07 1px,transparent 1px),linear-gradient(90deg,#b9d8ee07 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,transparent,#000);pointer-events:none}
.home-page main .home-v7 .hero-grid{gap:55px;grid-template-columns:1.08fr 1fr}
.home-page main .home-v7 .eyebrow{color:#c4deef;letter-spacing:.13em;font-size:10px;display:inline-flex;border:1px solid #b9d7eb40;background:#ffffff08;border-radius:30px;padding:9px 14px;margin-bottom:29px}
.home-page main .home-v7 h1{font-size:clamp(44px,4.9vw,70px);line-height:1.05;letter-spacing:-.058em;font-weight:500;max-width:690px}
.home-page main .home-v7 h1 em{color:#c4e4fa;position:relative;text-shadow:0 0 45px #a7d8fc1a}
.home-page main .home-v7 p{color:#c6d4e3;font-size:15px;max-width:550px}
.home-page main .home-v7 .actions{gap:12px;margin-top:30px}
.home-page main .home-v7 .actions>.btn:first-child{background:#f28b45;border-color:#f28b45;color:#172238;box-shadow:0 8px 30px #f28b451c}
.home-page main .home-v7 .actions>.btn:first-child:hover{background:#ffac72;box-shadow:0 13px 30px #f28b4535}
.home-page main .home-v7 .actions>.btn.outline{background:#ffffff06;border-color:#b0c7db7a;color:white}
.home-page main .home-v7 .actions>.btn.outline:hover{background:#d7e8f718;border-color:#c9dfef}
.home-page main .home-v7 .hero-art{background:radial-gradient(ellipse,#d7e8f717,transparent 66%);min-height:420px;color:#172238;transform:translateY(5px)}
.home-page main .home-v7 .orbit{width:465px;height:465px;border-color:#c5e1f122;animation:home-orbit 36s linear infinite}
.home-page main .home-v7 .orbit:after{border-color:#c5e1f122;inset:45px}
.home-page main .home-v7 .laptop{width:89%;transform:perspective(1000px) rotateY(-14deg) rotateX(5deg) rotateZ(-2deg);filter:drop-shadow(15px 30px 32px #02091880);transition:transform .8s cubic-bezier(.2,.75,.2,1)}
.home-page main .home-v7 .hero-art:hover .laptop{transform:perspective(1000px) rotateY(-7deg) rotateX(2deg) rotateZ(0deg)}
.home-page main .home-v7 .laptop-screen{border-color:#4b6580;border-width:7px;box-shadow:0 0 0 1px #d7e8f750,inset 0 0 20px #d7e8f720}
.home-page main .home-v7 .laptop-body{background:linear-gradient(140deg,#fff,#e2eef8);color:#172238}
.home-page main .home-v7 .laptop-body h3{font-size:30px;margin-top:22px;max-width:230px;color:#172238}
.home-page main .home-v7 .laptop-body small{color:#285c78}
.home-page main .home-v7 .code-block{background:#172238;color:#d7e8f7;border-color:#2f6075;box-shadow:0 8px 22px #17223820;right:22px;bottom:62px;padding:20px}
.home-page main .home-v7 .mini-button{box-shadow:0 5px 12px #f28b4528}
.home-page main .home-v7 .floatcard{border:1px solid #d7e8f7a6;box-shadow:0 14px 38px #060e1d40;padding:14px 18px;border-radius:14px;background:#f5faff;color:#172238}
.home-page main .home-v7 .floatcard.one{left:-4px;top:4px;animation:home-float 7s ease-in-out infinite}
.home-page main .home-v7 .floatcard.two{left:-10px;bottom:16px;animation:home-float 8s ease-in-out infinite reverse}
.home-page main .home-v7 .floatcard.three{right:-5px;top:147px;background:#d7e8f7;animation:home-float 9s ease-in-out infinite}
.home-page main .home-v7 .floatcard small{color:#52627b}
.home-page main .section{padding-top:85px;padding-bottom:85px}
.home-page main .category-grid{border:none;border-radius:22px;gap:18px;overflow:visible}
.home-page main .category{border:1px solid #d7e1eb!important;border-radius:20px;padding:34px;position:relative;overflow:hidden;box-shadow:0 8px 25px #17223805;transition:transform .28s ease,box-shadow .28s ease}
.home-page main .category:before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#f28b45,#b5d9f1);transform:scaleX(.3);transform-origin:left;transition:transform .35s}
.home-page main .category:hover:before,.home-page main .category:focus-within:before{transform:scaleX(1)}
.home-page main .category:hover{transform:translateY(-7px);box-shadow:0 20px 45px #17223812}
.home-page main .category:nth-child(2){background:linear-gradient(140deg,#eaf3fb,#d7e8f7)}
.home-page main .category:nth-child(3){background:linear-gradient(135deg,#172238,#27415a);border-color:#27415a!important}
.home-page main .category-number{display:inline-grid;place-items:center;width:33px;height:33px;background:#f5ece5;border-radius:50%;font-size:10px;color:#83431a}
.home-page main .category:nth-child(3) .category-number{background:#ffffff12;color:#f9c39d}
.home-page main .category a{transition:padding-left .2s ease;color:inherit}
.home-page main .category a:hover{padding-left:6px;text-decoration:none}
.home-page main .family-grid{gap:22px}
.home-page main .family-card{min-height:235px;padding:30px;border:1px solid #d7e1eb;background:linear-gradient(145deg,#fff,#f4f7fb);isolation:isolate;overflow:hidden}
.home-page main .family-card:after{content:'';position:absolute;right:-28px;bottom:-28px;width:150px;height:150px;border-radius:100%;background:#d7e8f75c;z-index:-1;transition:transform .5s ease}
.home-page main .family-card:hover{transform:translateY(-6px);box-shadow:0 16px 35px #17223812;border-color:#96b8d2}
.home-page main .family-card:hover:after{transform:scale(1.45)}
.home-page main .family-card:nth-child(3),.home-page main .family-card:nth-child(5){background:#e5eff8}
.home-page main .family-card .ico{width:49px;height:49px;border:1px solid #bdd3e5;background:#fff;box-shadow:0 7px 17px #17223805;transition:transform .25s}
.home-page main .family-card:hover .ico{transform:rotate(-6deg) scale(1.06)}
.home-page main .family-card h3{font-size:21px;max-width:280px}
.home-page main .family-card p{max-width:290px}
.home-page main .support-art{background:radial-gradient(circle at 70% 25%,#fff9,transparent 55%),linear-gradient(135deg,#d7e8f7,#a9c9e2);border:1px solid #b9d0e3;box-shadow:inset 0 0 60px #ffffff20}
.home-page main .support-art .circle{width:220px;height:220px;border-color:#8cacc6;position:relative}
.home-page main .support-art .circle:before{content:'';position:absolute;inset:-25px;border:1px dashed #7c9ebc88;border-radius:50%;animation:home-orbit 45s linear infinite}
.home-page main .support-art .ico{box-shadow:0 15px 30px #17223826;transform:rotate(-5deg);transition:transform .4s}
.home-page main .support-art:hover .ico{transform:rotate(0deg) translateY(-5px)}
.home-page main .support-label{border:1px solid #d7e1eb;padding:13px 20px}
.home-page main .support-label.a{animation:home-float 9s ease-in-out infinite}
.home-page main .support-label.b{animation:home-float 11s ease-in-out infinite reverse}
.home-page main .price-card{border:1px solid #c9d7e4;box-shadow:0 8px 20px #17223805;position:relative;overflow:hidden;padding:30px 26px}
.home-page main .price-card h3{font-size:17px}
.home-page main .price-card .price{font-size:45px;margin:22px 0}
.home-page main .price-card.feature{border:2px solid #789ab4;background:#f0f6fc;padding:29px 25px}
.home-page main .price-card.feature:before{content:'';height:4px;position:absolute;top:0;left:0;right:0;background:#f28b45}
.home-page main .price-card .btn{background:#172238;color:white;border-color:#172238}
.home-page main .price-card .btn:hover{background:#2f6075;box-shadow:none}
.home-page main .price-card .price small{font-size:12px;color:#56647a}
/* Reveal is progressive: all content is visible if scripting or IntersectionObserver is unavailable. */
.home-page main .home-entrance{animation:home-enter .65s cubic-bezier(.2,.6,.2,1) both}
@keyframes home-enter{from{opacity:.45;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes home-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes home-orbit{to{transform:rotate(360deg)}}
@keyframes home-glow{from{transform:translate3d(-2%,0,0)}to{transform:translate3d(2%,2%,0)}}
@media(max-width:1200px){.home-page main .home-v7 .hero-grid{gap:35px}.home-page main .home-v7 h1{font-size:58px}.home-page main .home-v7 .orbit{width:370px;height:370px}.home-page main .home-v7 .floatcard.three{right:0}.home-page main .category{padding:27px}.home-page main .family-card{padding:27px}.home-page main .price-card .price{font-size:39px}}
@media(max-width:1000px){.home-page main .home-v7 h1{font-size:49px}.home-page main .home-v7 .hero-art{min-height:360px}.home-page main .home-v7 .laptop-body h3{font-size:24px}.home-page main .home-v7 .floatcard.three{display:none}.home-page main .home-v7 .floatcard{padding:11px}.home-page main .home-v7 .code-block{padding:14px;bottom:50px;right:15px}.home-page main .home-v7 .eyebrow{font-size:8px}.home-page main .section{padding-top:65px;padding-bottom:65px}}
@media(max-width:700px){.home-page main .home-v7{padding:45px 0 47px}.home-page main .home-v7 .hero-grid{grid-template-columns:1fr;gap:20px}.home-page main .home-v7 h1{font-size:46px;max-width:560px}.home-page main .home-v7 p{font-size:14px}.home-page main .home-v7 .eyebrow{font-size:8px;margin-bottom:25px;padding:8px 11px}.home-page main .home-v7 .hero-art{min-height:340px;width:100%;max-width:460px;margin-top:25px}.home-page main .home-v7 .laptop{width:84%}.home-page main .home-v7 .floatcard.one{left:0;top:0}.home-page main .home-v7 .floatcard.two{left:5px;bottom:5px}.home-page main .home-v7 .floatcard.three{display:flex;right:0;top:135px;font-size:10px}.home-page main .home-v7 .orbit{width:325px;height:325px}.home-page main .home-v7 .laptop-body h3{font-size:26px}.home-page main .section{padding-top:53px;padding-bottom:53px}.home-page main .category-grid{gap:15px}.home-page main .category{padding:28px}.home-page main .family-grid{gap:14px}.home-page main .family-card{padding:23px;min-height:240px}.home-page main .family-card h3{font-size:19px}.home-page main .price-card .price{font-size:39px}.home-page main .price-card{padding:25px}.home-page main .price-card.feature{padding:24px}}
@media(max-width:380px){.home-page main .home-v7 h1{font-size:39px}.home-page main .home-v7 .hero-art{min-height:275px;transform:none}.home-page main .home-v7 .orbit{width:250px;height:250px}.home-page main .home-v7 .floatcard.three{display:none}.home-page main .home-v7 .laptop-body h3{font-size:21px;margin-top:15px}.home-page main .home-v7 .code-block{bottom:34px;width:65px;padding:10px}.home-page main .home-v7 .floatcard{font-size:9px}.home-page main .home-v7 .floatcard small{font-size:8px}.home-page main .home-v7 .floatcard.one{top:0}.home-page main .home-v7 .floatcard.two{bottom:0}.home-page main .family-card{min-height:0}.home-page main .price-card .price{font-size:44px}}
@media(prefers-reduced-motion:reduce){.home-page main *,.home-page main *:before,.home-page main *:after{animation:none!important;transition:none!important}.home-page main .home-entrance{opacity:1;transform:none}}

/* Pricing cards: continuous staggered lift and warm emphasis. */
@keyframes pricing-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-9px) rotate(.25deg)}}
@keyframes pricing-glow{0%,100%{box-shadow:0 14px 32px #243c6414,0 0 0 1px #e8ad7b33}50%{box-shadow:0 24px 45px #243c6426,0 0 28px #e8ad7b55}}
.home-page main .price-card{position:relative;isolation:isolate;overflow:visible;animation:pricing-float 4.8s ease-in-out infinite;border-color:#b7cde3;box-shadow:0 14px 32px #243c641a;transition:box-shadow .25s,border-color .25s;background:linear-gradient(145deg,#fff 65%,#edf5fc)}
.home-page main .price-card:nth-child(2){animation-delay:-1.2s}
.home-page main .price-card:nth-child(3){animation-delay:-2.4s}
.home-page main .price-card:nth-child(4){animation-delay:-3.6s}
.home-page main .price-card:before{content:"";position:absolute;inset:-5px;border-radius:inherit;background:linear-gradient(135deg,#a5d8f233,#edb58544,transparent 75%);z-index:-1;pointer-events:none}
.home-page main .price-card.feature{background:linear-gradient(145deg,#eef6ff,#fff1e5);border-color:#cb986b;animation:pricing-float 4.8s ease-in-out -3.6s infinite,pricing-glow 3.6s ease-in-out infinite}
.home-page main .price-card:hover,.home-page main .price-card:focus-within{animation-play-state:paused;border-color:#bb804c;box-shadow:0 25px 48px #243c6433,0 0 0 3px #e8ad7b44;z-index:2}
.home-page main .price-card .btn{transition:background .25s,box-shadow .25s}
.home-page main .price-card .btn:hover{background:#29496d;box-shadow:0 7px 18px #17223833}
@media(prefers-reduced-motion:reduce){.home-page main .price-card,.home-page main .price-card.feature{animation:none!important;transform:none!important}}
