/* Vitrine Éco — the blue horizon and light typography of the supplied reference. */
:root{--display:'Helvetica Neue',Manrope,Arial,sans-serif}
h1,h2{font-family:var(--display);font-weight:300;letter-spacing:-.045em}
h2 em{font-family:inherit;font-style:normal;font-size:1em!important;font-weight:300}
h3{font-weight:400}
.brand-text{font-size:15px;font-weight:400;letter-spacing:.1em;text-transform:uppercase}
.brand-text>span{font-weight:500;margin-left:4px}
.brand-symbol{width:33px;height:33px}
.header-contact{border-radius:30px;background:transparent;border:1px solid #708eaf;color:var(--ink);font-weight:400}
.header-contact:hover{background:#19314c}
.desktop-nav a{font-weight:400;font-size:11px;letter-spacing:.01em}
.button{border-radius:30px;font-weight:400}
.button-primary{color:#f1f5fc;background:#213b5966;border-color:#8ab9e2;box-shadow:0 0 22px #4d9dde12}
.button-primary:hover{background:#244c73}
.button-outline{border-color:#4d6586}
.section-top h2,.section-intro h2{font-size:clamp(43px,4.7vw,64px);line-height:1.15}
.section-top h2 em,.section-intro h2 em{color:#cadcf1}
.section-label,.section-top .eyebrow{font-weight:400;letter-spacing:.15em}
.section-space{padding-block:108px}

.hero-cinematic{position:relative;isolation:isolate;overflow:hidden;overflow:clip;min-height:695px;display:grid;place-items:start center;padding:94px 0 180px;text-align:center;background:#080f1c}
.horizon-scene{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.horizon-wash{position:absolute;inset:0;background:radial-gradient(ellipse at 90% -15%,#d7c4a34d,transparent 55%),radial-gradient(ellipse at 3% -12%,#1799cf70,transparent 52%),linear-gradient(180deg,#10233a 0%,#080f1c 69%)}
.horizon-light{position:absolute;left:50%;bottom:-80px;width:140%;height:380px;transform:translateX(-50%);background:radial-gradient(ellipse at center,#4ab6ff99 0%,#2074d15c 25%,#1264c92b 43%,transparent 65%);filter:blur(18px);animation:horizon-breathe 11s ease-in-out infinite alternate}
.horizon-orb{position:absolute;left:50%;bottom:0;width:130%;max-width:1450px;aspect-ratio:1.8;border-radius:50%;transform:translate(-50%,80%);background:radial-gradient(ellipse at 50% -10%,#1d3447 0%,#060d17 34%,#040912 65%);box-shadow:0 -1px 3px #edfbffbf,0 -4px 12px #9ad9ff88,0 -16px 75px #4ba3e766,inset 0 6px 25px #9ad9ff22}
.horizon-star{position:absolute;width:2px;height:2px;border-radius:50%;background:#c9e8ff;box-shadow:0 0 9px #d5efff80;opacity:.6}
.star-one{top:44%;left:13%}.star-two{top:63%;right:17%;width:1px;height:1px}.star-three{top:77%;left:32%;width:1px;height:1px}
.cinematic-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}
.cinematic-kicker{font-size:9px;letter-spacing:.18em;color:#c1d4e8;font-weight:400;margin-bottom:30px;justify-content:center}
.hero-cinematic h1{font-family:var(--display);font-size:clamp(54px,6.4vw,87px);font-weight:300;line-height:1.05;letter-spacing:-.045em;max-width:1040px;color:#f8f7ef;text-wrap:balance}
.hero-cinematic h1 em{font:inherit;color:#e9f0fc}
.cinematic-content>p{font-size:14px;line-height:1.9;max-width:660px;margin-top:25px;color:#c1cde0;font-weight:400;text-wrap:pretty}
.cinematic-actions{display:flex;align-items:center;justify-content:center;gap:29px;margin-top:29px}
.cinematic-actions .button{font-size:12px;min-height:47px;padding:13px 22px;gap:18px}
.cinematic-price-link{display:flex;flex-direction:column;align-items:flex-start;font-size:11px;line-height:1.9;padding:5px 0}
.cinematic-price-link>span{font-size:9px;color:#9cb6d5}
.cinematic-price-link:hover{color:#b4dfff}
.cinematic-scroll{position:absolute;bottom:23px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:15px;font-size:7px;letter-spacing:.17em;color:#adcae9;white-space:nowrap}
.cinematic-scroll>.icon{width:32px;height:39px;padding:8px 6px;border:1px solid #a6c8e266;border-radius:20px;color:#dceeff;animation:scroll-drift 3s ease-in-out infinite}
@keyframes horizon-breathe{from{transform:translateX(-50%) scale(1);opacity:.7}to{transform:translateX(-50%) scale(1.09);opacity:1}}
@keyframes scroll-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}

.audiences{background:#080f1c}
.audience-list>span{font-weight:400;font-size:17px;letter-spacing:-.02em}
.examples .project-card .project-preview{background:linear-gradient(145deg,#14243c,#0c1423);border-color:#2c415e}
.examples .project-card .project-preview:hover{background:linear-gradient(145deg,#1d3857,#122035);border-color:#90b9de}
.preview-open{background:#c9e7ff;box-shadow:0 0 22px #9bcaff1c}
.project-window{border-color:#53677e}
.project-meta h3{font-weight:400;letter-spacing:-.025em}
.services{background:#0b1526;color:var(--ink);color-scheme:dark;--line:#2b3d56;--muted:#aab8cc;--lime:#badbff;border-block:1px solid #26344b}
.service-list h3{font-family:var(--display);font-weight:300;font-size:27px;letter-spacing:-.025em}
.service-list .service-tag{color:#9ab4d3}
.mini-copy>strong{font-family:var(--display);font-weight:300;font-size:36px;letter-spacing:-.045em;line-height:1.08}
.project-window .mini-copy>strong{font-size:29px}
.mini-large .mini-copy>strong{font-size:59px}
.steps h3{font-family:var(--display);font-weight:300;font-size:25px}
.step-top>span{font-family:var(--display);font-size:47px;font-weight:300;color:#b7d9fa}
.approach-bottom{border-color:#26344b}

/* Progressive enhancement: all three offers remain readable without JavaScript. */
.pricing{background:#080f1c;border-top:1px solid #26344b}
.pricing .section-top{align-items:center}
.plan-overview,.plan-features{min-width:0}
.plan-features{display:flex;flex-direction:column;flex:1}
.plan-features>.button{width:100%;margin-top:auto;font-size:12px;min-height:49px;padding:14px 15px;border:1px solid #6d95bd;background:#18304d;color:#eef7ff;gap:12px}
.plan-features>.button:hover{background:#244a72}
.price-card,.price-card-featured{background:#0e1b2e;color:var(--ink);--muted:#adbed3;border-color:#344f70}
.price-card-featured .price-amount{border-color:#344f70}
.price-card-featured li .icon,.price-card li .icon{color:#a5cfff}
.price-card h3{font-family:var(--display);font-weight:300}
.price-amount strong{font-family:var(--display);font-weight:300;letter-spacing:-.05em}
.price-amount{border-color:#344f70}
.pricing-carousel{--plan-accent:#91cfff;--carousel-height:550px;position:relative}
.carousel-top-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.plan-tabs{display:flex;gap:8px;min-width:0}
.plan-tabs button{min-width:140px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:11px 20px;min-height:58px;border-radius:8px;border:1px solid #324b69;color:#a9bed7;transition:color .3s,background .3s,border-color .3s}
.plan-tabs button>span{font-size:12px;font-weight:400}
.plan-tabs button>small{font-size:9px}
.plan-tabs button[aria-pressed=true]{background:#17314d;color:#e6f5ff;border-color:#92c5ee;box-shadow:0 0 18px #7abef516}
.plan-tabs button:hover{border-color:#a3ccee;color:#eff8ff}
.carousel-play{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 12px;font-size:10px;color:#bdd4ed;white-space:nowrap;border-radius:5px}
.carousel-play .play-symbol{font-size:15px;width:14px;text-align:center;line-height:1}
.carousel-play:disabled{opacity:.65;cursor:default;white-space:normal;text-align:left}
.carousel-scene{position:relative;isolation:isolate}
.carousel-aura{display:none}
.pricing-carousel.is-enhanced .carousel-scene{overflow:hidden;overflow:clip;touch-action:pan-y}
.pricing-carousel.is-enhanced .carousel-aura{display:block;position:absolute;inset:5% 0 0;z-index:-1;color:var(--plan-accent);opacity:.14;background:radial-gradient(ellipse at 50% 55%,currentColor,transparent 64%);transition:color .85s}
.pricing-carousel.is-enhanced .pricing-grid{display:block;position:relative;min-height:var(--carousel-height);perspective:1500px}
.pricing-carousel.is-enhanced .price-card{position:absolute;left:50%;top:25px;width:min(730px,74%);padding:37px;display:grid;grid-template-columns:.95fr 1.05fr;gap:31px;border-radius:18px;border:1px solid #47688a;box-shadow:0 30px 70px #0005,0 0 36px #2f77b11a;background:linear-gradient(145deg,#172c45,#0b1424 80%);transform:translateX(-50%) scale(.8);opacity:0;backface-visibility:hidden;transition:transform .85s cubic-bezier(.22,.7,.19,1),opacity .65s,border-color .65s;transform-origin:center;min-height:400px}
.pricing-carousel.is-enhanced .price-card.is-active{transform:translateX(-50%) rotateY(0) scale(1);opacity:1;z-index:3;border-color:var(--plan-accent)}
.pricing-carousel.is-enhanced .price-card.is-prev{transform:translateX(-126%) rotateY(20deg) scale(.82);opacity:.32;z-index:1}
.pricing-carousel.is-enhanced .price-card.is-next{transform:translateX(26%) rotateY(-20deg) scale(.82);opacity:.32;z-index:1}
.pricing-carousel.is-enhanced .price-card[aria-hidden=true]{pointer-events:none}
.pricing-carousel.is-enhanced:not([data-ready=true]) .price-card{transition:none}
.pricing-carousel.is-enhanced .price-kicker{font-size:8px;letter-spacing:.14em;min-height:0;color:#b9cbe0}
.pricing-carousel.is-enhanced .price-card h3{font-size:37px;margin-top:20px;letter-spacing:-.04em}
.pricing-carousel.is-enhanced .price-description{font-size:12px;line-height:1.9;min-height:0;margin-top:18px}
.pricing-carousel.is-enhanced .price-amount{margin-top:30px;padding-bottom:0;border:0}
.pricing-carousel.is-enhanced .price-amount strong{font-size:65px;font-weight:300;line-height:1.2}
.pricing-carousel.is-enhanced .price-amount>p{gap:9px;margin-top:6px}
.pricing-carousel.is-enhanced .price-amount>p>span{font-size:12px}
.pricing-carousel.is-enhanced .price-amount>small{font-size:9px;line-height:1.7;margin-top:10px}
.pricing-carousel.is-enhanced .plan-features{border-left:1px solid #345171;padding-left:30px;justify-content:center}
.pricing-carousel.is-enhanced .price-card ul{margin:0 0 27px;gap:15px}
.pricing-carousel.is-enhanced .price-card li{font-size:11px;line-height:1.8;gap:9px}
.pricing-carousel.is-enhanced .price-card li .icon{width:16px;height:16px}
.pricing-carousel.is-enhanced .plan-features>.button{font-size:11px;gap:9px;min-height:49px;padding:13px 12px;white-space:normal}
.pricing-carousel.is-enhanced .plan-features>.button>.icon{width:15px;height:15px}
.carousel-bottom-controls{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:12px}
.carousel-prev,.carousel-next{width:46px;height:46px;display:grid;place-items:center;border:1px solid #50779f;border-radius:50%;transition:background .2s;color:#dcefff}
.carousel-prev:hover,.carousel-next:hover{background:#1d3b5e}
.carousel-prev .icon{transform:rotate(90deg);width:18px;height:18px}
.carousel-next .icon{transform:rotate(-90deg);width:18px;height:18px}
.carousel-position{min-width:155px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}
.carousel-count{font-size:12px;letter-spacing:.18em;color:#e2f2ff}
.carousel-motion-state{font-size:8px;letter-spacing:.04em;color:#94adc9}
.pricing-details{margin-top:35px}

.contact-inner{color:var(--ink);color-scheme:dark;--muted:#b3c6dd;background:radial-gradient(ellipse at 90% 0,#274f7d55,transparent 70%),#0c182a;border:1px solid #36577a;box-shadow:0 0 70px #1a568618;border-radius:18px;grid-template-columns:1.2fr 1fr}
.contact-copy h2{font-family:var(--display);font-weight:300;font-size:clamp(40px,4vw,58px)}
.contact-copy h2 em{font:inherit;color:#cbe7ff}
.contact-copy .eyebrow{font-weight:400;color:#a9c3e0}
.contact-actions .contact-big{background:#c9e7ff;color:#0b1b30;border-color:#c9e7ff}
.contact-actions .contact-big:hover{background:#e8f6ff}
.contact-call{border-color:#52779f;color:#e5f1ff}
.contact-call:hover{background:#1a3555}
.contact-inner :focus-visible{outline-color:#c9e7ff}
.availability{padding-bottom:24px;margin-bottom:23px;border-bottom:1px solid #385472}
.availability-heading{display:flex;align-items:center;gap:9px}
.availability-dot{width:5px;height:5px;flex-shrink:0;border-radius:50%;background:#a9d4fa}
.availability-heading h3{font-size:11px;letter-spacing:0;font-weight:400}
.availability-heading>span:last-child{margin-left:auto;font-size:8px;color:#9bb4d0}
.availability-days{font-size:11px;line-height:1.9;color:#bcd1e8;margin-top:14px}
.availability-time{display:flex;align-items:baseline;gap:13px;font-family:var(--display);font-size:28px;letter-spacing:-.035em;font-weight:300;line-height:1.5;margin-top:5px;white-space:nowrap}
.availability-time>span{font-size:16px;color:#8ba9c9}
.footer-hours{margin-top:12px!important;color:#bacde3!important}
.mobile-contact-bar{background:#070d19f7}
.dock-instagram{background:#c9e7ff;color:#0b1b30}

@media(max-width:1150px){
 .hero-cinematic{min-height:660px;padding-top:85px}
 .pricing-carousel.is-enhanced .price-card{width:77%;padding:31px;gap:26px}
 .pricing-carousel.is-enhanced .price-card h3{font-size:31px}
 .pricing-carousel.is-enhanced .plan-features{padding-left:25px}
 .pricing-carousel.is-enhanced .price-card li{font-size:10px}
 .pricing-carousel.is-enhanced .plan-features>.button{font-size:10px}
 .pricing-carousel.is-enhanced .price-amount strong{font-size:58px}
}
@media(max-width:900px){
 .brand-text{font-size:14px}.brand-symbol{width:31px;height:31px}
 .hero-cinematic{min-height:630px;padding-top:80px;padding-bottom:180px}
 .hero-cinematic h1{font-size:clamp(51px,7.5vw,68px)}
 .cinematic-content>p{font-size:13px;max-width:580px}.cinematic-kicker{font-size:8px}
 .section-space{padding-block:85px}.section-top h2,.section-intro h2{font-size:46px}
 .plan-tabs button{min-width:125px;padding:10px 15px}.plan-tabs button>span{font-size:11px}
 .pricing-carousel.is-enhanced .price-card{width:82%;padding:27px;gap:22px}
 .pricing-carousel.is-enhanced .plan-features{padding-left:22px}.pricing-carousel.is-enhanced .price-card h3{font-size:29px}.pricing-carousel.is-enhanced .price-description{font-size:11px}.pricing-carousel.is-enhanced .price-amount strong{font-size:53px}.pricing-carousel.is-enhanced .price-card li{font-size:10px}.pricing-carousel.is-enhanced .plan-features>.button{font-size:9px;padding-inline:8px}
 .service-list h3{font-size:24px}.steps h3{font-size:22px}.contact-copy h2{font-size:43px}
}
@media(max-width:680px){
 .header-contact{font-size:0;border:1px solid #7298bf;background:#17314a;padding:10px}.header-contact .icon{width:17px;height:17px}
 .brand-text{font-size:13px;letter-spacing:.08em}.brand-symbol{width:29px;height:29px}.brand{gap:8px}
 .hero-cinematic{min-height:650px;padding-top:75px;padding-bottom:200px}
 .hero-cinematic h1{font-size:clamp(41px,9.7vw,61px);line-height:1.1;letter-spacing:-.045em;max-width:100%}
 .cinematic-kicker{font-size:6.5px;letter-spacing:.13em;margin-bottom:25px}
 .cinematic-content>p{font-size:13px;line-height:1.85;margin-top:23px;max-width:440px}.desktop-break{display:none}
 .cinematic-actions{flex-direction:column;gap:15px;margin-top:25px}.cinematic-actions .button{min-height:46px;font-size:11px;padding:13px 22px}.cinematic-price-link{align-items:center;font-size:10px;line-height:1.8}.cinematic-price-link>span{font-size:9px}
 .horizon-orb{width:210%;aspect-ratio:1.3;transform:translate(-50%,80%)}.horizon-light{width:200%;height:300px;bottom:-35px}.horizon-wash{background:radial-gradient(ellipse at 90% -15%,#d7c4a333,transparent 55%),radial-gradient(ellipse at 3% -12%,#1799cf55,transparent 52%),linear-gradient(180deg,#10233a 0%,#080f1c 69%)}
 .cinematic-scroll{font-size:6px;bottom:22px;gap:12px}.cinematic-scroll>.icon{width:28px;height:36px;padding:8px 5px}
 .section-space{padding-block:70px}.section-top h2,.section-intro h2,.faq .section-intro h2{font-size:43px;line-height:1.15}.section-top .eyebrow{font-size:7px}.service-list h3{font-size:24px}.steps h3{font-size:24px}.audience-list>span{font-size:17px}
 .project-window .mini-copy>strong{font-size:34px}.mini-large .mini-copy>strong{font-size:41px}.project-meta h3{font-size:25px}
 .pricing .section-top{margin-bottom:29px}.pricing-carousel{--carousel-height:760px}
 .carousel-top-controls{flex-direction:column;gap:12px;margin-bottom:0;align-items:stretch}.plan-tabs{gap:6px;justify-content:stretch}.plan-tabs button{flex:1;min-width:0;padding:10px 8px;min-height:57px;align-items:center}.plan-tabs button>span{font-size:10px}.plan-tabs button>small{font-size:8px}.carousel-play{align-self:center;padding:5px 13px;min-height:37px;font-size:9px;gap:8px}.carousel-play .play-symbol{font-size:12px}
 .pricing-carousel.is-enhanced .price-card{top:21px;width:calc(100% - 32px);display:flex;flex-direction:column;padding:28px;gap:24px;min-height:0;border-radius:15px}
 .pricing-carousel.is-enhanced .price-card.is-prev{transform:translateX(-134%) rotateY(18deg) scale(.86);opacity:.25}
 .pricing-carousel.is-enhanced .price-card.is-next{transform:translateX(34%) rotateY(-18deg) scale(.86);opacity:.25}
 .pricing-carousel.is-enhanced .price-kicker{font-size:8px}.pricing-carousel.is-enhanced .price-card h3{font-size:34px;margin-top:15px}.pricing-carousel.is-enhanced .price-description{font-size:12px;line-height:1.85;margin-top:13px}.pricing-carousel.is-enhanced .price-amount{margin-top:21px}.pricing-carousel.is-enhanced .price-amount>span{font-size:10px}.pricing-carousel.is-enhanced .price-amount strong{font-size:61px}.pricing-carousel.is-enhanced .price-amount>p>span{font-size:13px}.pricing-carousel.is-enhanced .price-amount>small{font-size:9px;margin-top:6px}
 .pricing-carousel.is-enhanced .plan-features{border-left:0;border-top:1px solid #344f70;padding-left:0;padding-top:23px;justify-content:space-between;flex:1}
 .pricing-carousel.is-enhanced .price-card ul{gap:12px;margin:0 0 23px}.pricing-carousel.is-enhanced .price-card li{font-size:12px;gap:10px;line-height:1.8}.pricing-carousel.is-enhanced .price-card li .icon{width:15px;height:15px}.pricing-carousel.is-enhanced .plan-features>.button{font-size:11px;min-height:49px;padding:13px 10px}
 .carousel-bottom-controls{gap:23px;margin-top:2px}.carousel-prev,.carousel-next{width:44px;height:44px}.carousel-count{font-size:11px}.carousel-motion-state{font-size:8px}.carousel-position{min-width:147px}.pricing-details{margin-top:30px}
 .contact-inner{grid-template-columns:1fr;padding:35px 27px 25px;gap:28px}.contact-copy h2{font-size:39px;line-height:1.15}.contact-copy p{font-size:13px}.availability{padding-bottom:22px;margin-bottom:21px}.availability-heading h3{font-size:11px}.availability-heading>span:last-child{font-size:8px}.availability-days{font-size:11px;line-height:1.9}.availability-time{font-size:29px;gap:15px}
}
@media(max-width:390px){
 .hero-cinematic{padding-top:64px;min-height:635px}.hero-cinematic h1{font-size:clamp(35px,10.5vw,41px)}.cinematic-kicker{font-size:6px;letter-spacing:.1em}.cinematic-content>p{font-size:12px}.cinematic-actions .button{font-size:11px}
 .section-top h2,.section-intro h2,.faq .section-intro h2{font-size:38px}.plan-tabs button>span{font-size:9px}.plan-tabs button>small{font-size:8px}
 .pricing-carousel.is-enhanced .price-card{width:calc(100% - 20px);padding:25px 22px}.pricing-carousel.is-enhanced .price-card h3{font-size:31px}.pricing-carousel.is-enhanced .price-card li{font-size:11px}.pricing-carousel.is-enhanced .price-amount strong{font-size:57px}.pricing-carousel.is-enhanced .price-description{font-size:11px}
 .contact-inner{padding:30px 22px 22px}.contact-copy h2{font-size:35px}.availability-time{font-size:26px;gap:12px}.availability-days{font-size:10px}.project-window .mini-copy>strong{font-size:29px}.mini-large .mini-copy>strong{font-size:36px}
}
@media(prefers-reduced-motion:reduce){.horizon-light,.cinematic-scroll>.icon{animation:none}.pricing-carousel.is-enhanced .price-card{transition:none}}
@media print{
 .horizon-scene,.cinematic-scroll,.carousel-top-controls,.carousel-bottom-controls,.carousel-aura{display:none!important}.hero-cinematic{display:block;min-height:0;padding:20px 0;background:white;color:#182333}.hero-cinematic h1,.hero-cinematic h1 em{font-size:35pt;color:#182333}.cinematic-content>p,.cinematic-kicker{color:#30465f}.cinematic-actions{display:none}.services,.pricing,.contact-inner{background:white;color:#182333;box-shadow:none}.pricing-carousel.is-enhanced .pricing-grid{display:block;min-height:0}.pricing-carousel.is-enhanced .price-card{position:static;display:block;transform:none!important;opacity:1!important;width:100%;height:auto!important;min-height:0;margin-block:20px;background:white;color:#182333;box-shadow:none;padding:20px}.pricing-carousel.is-enhanced .plan-features{border-left:0;padding-left:0}.price-card,.price-card-featured{--muted:#30465f;color:#182333}.availability-days,.availability-time,.availability-heading h3,.availability-heading>span:last-child,.contact-copy .eyebrow,.contact-copy h2 em,.contact-copy p,.footer-hours{color:#30465f!important}
}
