:root{
  --navy:#273749;--blue:#4b6b96;--blue-deep:#35557f;--gold:#bc944a;--gold-dark:#8b682d;
  --paper:#f2f5f8;--white:#fff;--ink:#273749;--muted:#617084;--line:#d9e0e8;
  --green:#13795b;--red:#c92737;--shadow:0 22px 70px rgba(39,55,73,.11);
  --radius-xl:28px;--radius-lg:22px;--radius:16px;--max:1280px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,summary,label{touch-action:manipulation}button{color:inherit}.skip-link{position:fixed;z-index:1000;left:16px;top:12px;padding:12px 18px;background:var(--white);color:var(--navy);border-radius:10px;transform:translateY(-150%)}.skip-link:focus{transform:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.utility-bar{height:34px;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;background:var(--navy);color:#e8eef5;font-size:.78rem;letter-spacing:.02em}.utility-bar>div{display:flex;gap:28px}.utility-bar a{display:inline-flex;align-items:center;min-height:34px}.utility-anniversary{gap:9px}.utility-anniversary b{color:#f2c96d;text-transform:uppercase;letter-spacing:.12em}.site-header{height:84px;position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(217,224,232,.78);transition:box-shadow .25s ease,height .25s ease}.site-header.scrolled{height:72px;box-shadow:0 10px 30px rgba(39,55,73,.08)}.nav-shell{height:100%;max-width:var(--max);margin:auto;padding:0 24px;display:flex;align-items:center;gap:28px}.brand{display:inline-flex;align-items:center;gap:12px;flex:none}.brand-mark{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:850;letter-spacing:-.04em;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}.brand>span:last-child{display:flex;flex-direction:column;line-height:1.05}.brand b{font-size:.98rem;letter-spacing:.015em}.brand small{margin-top:6px;font-size:.58rem;letter-spacing:.19em;color:var(--muted)}#main-nav{margin-left:auto;display:flex;align-items:center;gap:25px;font-weight:650;font-size:.91rem}#main-nav a{position:relative;padding:11px 0}#main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:2px;background:var(--gold);transition:right .2s ease}#main-nav a:hover::after{right:0}.language-switch{display:flex;align-items:center;padding:4px;border:1px solid var(--line);border-radius:999px;background:#fff;box-shadow:0 6px 18px rgba(39,55,73,.05)}.language-switch a{display:flex;align-items:center;gap:5px;padding:6px 8px;border-radius:999px;font-size:.72rem;font-weight:800;color:var(--muted)}.language-switch a.active{background:var(--blue);color:#fff}.header-cta,.button{min-height:50px;padding:0 22px;border:0;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-weight:780;line-height:1.1;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.header-cta{background:var(--navy);color:#fff;font-size:.86rem}.header-cta:hover,.button:hover{transform:translateY(-2px)}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:22px;height:2px;margin:4px;background:var(--navy);transition:.2s}.menu-toggle b{font-size:.72rem}
.hero{max-width:1440px;min-height:680px;margin:0 auto;display:grid;grid-template-columns:minmax(0,52%) minmax(0,48%);background:linear-gradient(120deg,#fff 0%,var(--paper) 68%);overflow:hidden}.hero-copy{padding:86px 42px 58px max(44px,calc((1440px - var(--max))/2 + 24px));display:flex;flex-direction:column;align-items:flex-start;position:relative}.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 18px;color:var(--gold-dark);font-size:.75rem;line-height:1.4;font-weight:850;letter-spacing:.16em}.eyebrow>span{width:28px;height:2px;background:currentColor}.eyebrow.light{color:#efc873}.hero h1,.section h2,.route-section h2,.contact-section h2{margin:0;font-size:clamp(3.2rem,5.7vw,5.4rem);line-height:.99;letter-spacing:-.055em;font-weight:790}.hero h1 em{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:var(--blue);letter-spacing:-.05em}.hero-lead{max-width:610px;margin:28px 0 0;font-size:1.12rem;line-height:1.65;color:#526276}.hero-actions{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}.button-primary{background:var(--gold);color:#162338;box-shadow:0 12px 28px rgba(188,148,74,.24)}.button-primary:hover,.button-gold:hover{background:#cda451}.button-secondary{background:#fff;border:1px solid #cbd5e0;color:var(--navy)}.button-gold{background:var(--gold);color:#142237}.hero-proof{width:100%;margin:38px 0 0;padding:22px 0 0;border-top:1px solid var(--line);list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.hero-proof li{display:flex;flex-direction:column}.hero-proof b{font-size:.86rem}.hero-proof span{margin-top:3px;color:var(--muted);font-size:.73rem}.anniversary-seal{position:relative;margin-top:30px;width:154px;height:72px;display:grid;grid-template-columns:34px 46px 34px;grid-template-rows:43px 18px;align-items:center;justify-content:center;border-radius:18px;background:#fff;border:1px solid #e1d4ba;box-shadow:0 12px 32px rgba(39,55,73,.08)}.anniversary-seal strong{grid-column:2;align-self:end;text-align:center;font-size:2.55rem;line-height:1;color:var(--navy);letter-spacing:-.08em}.anniversary-seal small{grid-column:1/4;align-self:start;text-align:center;color:var(--gold-dark);font-size:.55rem;font-weight:850;letter-spacing:.12em}.laurel{width:24px;height:36px;border:2px solid var(--gold);opacity:.65}.laurel.left{border-width:0 0 2px 2px;border-radius:0 0 0 100%;transform:rotate(-12deg)}.laurel.right{border-width:0 2px 2px 0;border-radius:0 0 100% 0;transform:rotate(12deg)}.confetti-piece{position:absolute;width:5px;height:10px;border-radius:3px;background:var(--gold);opacity:0}.c1{left:6px;top:8px}.c2{left:17px;bottom:8px;background:var(--blue)}.c3{left:45px;top:-8px}.c4{right:48px;top:-6px;background:var(--blue)}.c5{right:16px;top:9px}.c6{right:6px;bottom:10px;background:var(--blue)}.c7{left:67px;bottom:-9px}.c8{right:67px;bottom:-8px;background:var(--blue)}.anniversary-seal.celebrate .confetti-piece{animation:confetti-pop 1.1s cubic-bezier(.2,.8,.2,1) both}.c2,.c4,.c6,.c8{animation-delay:.06s!important}@keyframes confetti-pop{0%{opacity:0;transform:translate(0,10px) rotate(0)}35%{opacity:1}100%{opacity:0;transform:translate(var(--tx,10px),-25px) rotate(170deg)}}.hero-visual{position:relative;min-width:0;overflow:hidden;background:var(--paper)}.hero-visual::before{content:"";position:absolute;z-index:1;inset:0;box-shadow:inset 24px 0 44px rgba(242,245,248,.42);pointer-events:none}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-route-card{position:absolute;z-index:2;left:24px;bottom:24px;display:flex;gap:12px;align-items:center;padding:14px 17px;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.78);border-radius:16px;box-shadow:var(--shadow);backdrop-filter:blur(12px)}.hero-route-card div{display:flex;flex-direction:column}.hero-route-card b{font-size:.82rem}.hero-route-card small{color:var(--muted);font-size:.69rem}.route-pulse{width:11px;height:11px;border-radius:50%;background:var(--green);box-shadow:0 0 0 7px rgba(19,121,91,.12)}
.section{max-width:var(--max);margin:0 auto;padding:108px 24px}.section-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.55fr);gap:70px;align-items:end;margin-bottom:48px}.section-heading.compact{grid-template-columns:1fr;margin-bottom:38px}.section-heading h2,.trust-copy h2{font-size:clamp(2.5rem,4.2vw,4rem);line-height:1.08}.section-heading>p{margin:0 0 5px;color:var(--muted);font-size:1.03rem}.service-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:20px}.service-card{position:relative;min-height:490px;border:1px solid var(--line);border-radius:var(--radius-xl);background:#fff;overflow:hidden;box-shadow:0 12px 45px rgba(39,55,73,.06);transition:transform .25s ease,box-shadow .25s ease,border-color .25s}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:#c6d1dd}.service-featured{display:grid;grid-template-columns:48% 52%;background:var(--navy);color:#fff}.service-visual{min-height:490px;overflow:hidden}.service-visual img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.service-card:hover .service-visual img{transform:scale(1.025)}.service-content{padding:34px;display:flex;flex-direction:column;align-items:flex-start}.service-featured .service-content{justify-content:flex-end}.service-number{position:absolute;top:24px;right:28px;color:rgba(75,107,150,.46);font-size:3.5rem;line-height:1;font-weight:800;letter-spacing:-.08em}.service-featured .service-number{color:rgba(255,255,255,.2)}.service-price{margin:0 0 14px;color:var(--gold-dark);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.service-featured .service-price{color:#e8c77b}.service-content h3{margin:0;font-size:clamp(1.75rem,2.7vw,2.6rem);line-height:1.08;letter-spacing:-.04em}.service-content>p:not(.service-price){margin:17px 0 0;color:var(--muted)}.service-featured .service-content>p:not(.service-price){color:#c5d0dc}.service-content a{margin-top:auto;padding-top:26px;font-weight:780;border-bottom:1px solid currentColor}.service-content a span{margin-left:8px;color:var(--gold)}.service-compact{display:flex;flex-direction:column;min-height:490px}.service-icon{height:190px;display:grid;place-items:center;background:linear-gradient(145deg,#edf2f8,#dce5ee)}.moving .service-icon{background:linear-gradient(145deg,#f8f2e8,#eee2cf)}.service-icon svg{width:88px;height:88px;fill:none;stroke:var(--blue);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.moving .service-icon svg{stroke:var(--gold-dark)}
.estimator-section{max-width:none;background:var(--paper);padding-left:max(24px,calc((100vw - var(--max))/2 + 24px));padding-right:max(24px,calc((100vw - var(--max))/2 + 24px))}.estimator-shell{max-width:var(--max);margin:auto;display:grid;grid-template-columns:.86fr 1.08fr .78fr;gap:24px;align-items:stretch}.estimator-copy,.quick-estimator,.estimate-ticket{border-radius:var(--radius-xl)}.estimator-copy{padding:42px 34px;background:var(--navy);color:#fff}.estimator-copy h2{font-size:clamp(2.2rem,3.6vw,3.3rem);line-height:1.08}.estimator-copy>p:not(.eyebrow){color:#c7d2dd}.familiar-sizes{margin-top:30px;display:flex;flex-direction:column;gap:9px}.familiar-sizes span{padding:10px 12px;border:1px solid rgba(255,255,255,.13);border-radius:12px;font-size:.79rem;color:#e8eef5}.quick-estimator{padding:34px;background:#fff;border:1px solid var(--line)}.quick-estimator fieldset{border:0;margin:0;padding:0}.mode-picker legend,.field-label{display:block;width:100%;margin:0 0 12px;font-weight:760;font-size:.86rem}.mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mode-picker legend{grid-column:1/-1}.mode-picker label{cursor:pointer}.mode-picker input{position:absolute;opacity:0;pointer-events:none}.mode-picker span{min-height:48px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;font-weight:750}.mode-picker input:checked+span{background:var(--blue);border-color:var(--blue);color:#fff}.mode-picker input:focus-visible+span{outline:3px solid var(--blue);outline-offset:3px}.measure-panel{margin-top:26px}.measure-panel>label:first-child{display:flex;justify-content:space-between;font-weight:750}.measure-panel output{color:var(--blue);font-weight:850}.measure-panel input[type=range]{width:100%;accent-color:var(--blue);margin-top:16px}.range-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:.72rem}.dimensions{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:8px;align-items:end}.dimensions>span{padding-bottom:12px;color:var(--muted)}.dimensions label,.select-field{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:.75rem;font-weight:700}.dimensions input,.select-field select,.contact-form input,.contact-form textarea{width:100%;min-height:48px;border:1px solid #cad4df;border-radius:12px;background:#fff;color:var(--ink);padding:10px 12px}.select-field{margin-top:18px}.estimate-ticket{position:relative;padding:32px 26px 28px;background:#fff;border:1px solid #d9c9a8;box-shadow:0 18px 45px rgba(39,55,73,.08);overflow:hidden}.estimate-ticket::before{content:"";position:absolute;top:-7px;left:0;right:0;height:14px;background:radial-gradient(circle at 7px 7px,transparent 6px,#fff 6.5px) 0 0/14px 14px}.ticket-top{display:flex;align-items:flex-start;justify-content:space-between}.ticket-top span{color:var(--gold-dark);font-size:.72rem;font-weight:850;letter-spacing:.16em}.ticket-top small{color:var(--muted);font-size:.62rem}.ticket-route{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;margin:24px 0;font-size:.75rem;font-weight:800}.ticket-route i{height:2px;background:linear-gradient(90deg,var(--blue),var(--gold));position:relative}.ticket-route i::before,.ticket-route i::after{content:"";position:absolute;top:50%;width:7px;height:7px;border-radius:50%;background:var(--blue);transform:translateY(-50%)}.ticket-route i::before{left:0}.ticket-route i::after{right:0;background:var(--gold)}.estimate-ticket dl{margin:0}.estimate-ticket dl div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px dashed var(--line)}.estimate-ticket dt,.estimate-ticket dd{margin:0;font-size:.8rem}.estimate-ticket dd{font-weight:750}.ticket-total{display:flex;align-items:end;justify-content:space-between;padding:22px 0 18px}.ticket-total span{font-weight:800}.ticket-total strong{font-size:1.8rem;line-height:1;color:var(--navy);letter-spacing:-.04em}.estimate-ticket>p{min-height:42px;margin:0 0 20px;color:var(--muted);font-size:.72rem}.estimate-ticket .button{width:100%}
.journey-section{overflow:hidden}.journey-line{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);position:relative}.journey-line::before{content:"";position:absolute;top:29px;left:9%;right:9%;height:2px;background:linear-gradient(90deg,var(--blue),var(--gold))}.journey-line li{position:relative;padding:0 30px 0 0}.journey-line li>span{position:relative;z-index:1;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#fff;border:2px solid var(--blue);box-shadow:0 0 0 10px #fff;color:var(--blue);font-weight:850}.journey-line li:nth-child(2)>span{border-color:#7b7e83;color:#5d6570}.journey-line li:nth-child(3)>span{border-color:var(--gold);color:var(--gold-dark)}.journey-line div{margin-top:26px;max-width:260px}.journey-line h3{margin:0;font-size:1.4rem}.journey-line p{margin:8px 0 0;color:var(--muted)}
.route-section{padding:100px max(24px,calc((100vw - var(--max))/2 + 24px));display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;background:var(--navy);color:#fff}.route-copy h2{font-size:clamp(2.7rem,4.8vw,4.5rem);line-height:1.02}.route-copy>p:not(.eyebrow){max-width:520px;color:#c4cfdb}.route-copy .button{margin-top:24px}.route-map{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:12px 0}.route-map article{position:relative;z-index:2;display:flex;gap:18px;align-items:center;padding:15px 18px;background:#31445a;border:1px solid rgba(255,255,255,.1);border-radius:16px}.route-map article+article{margin-top:13px}.route-map article>span{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--navy);font-size:.72rem;font-weight:850}.route-map .middle>span{background:var(--gold)}.route-map article div{display:flex;flex-direction:column}.route-map article b{font-size:.96rem}.route-map article small{color:#c7d2dd}.route-track{position:absolute;z-index:1;top:50px;bottom:50px;left:41px;width:2px;background:rgba(255,255,255,.15)}.route-track i{display:block;width:100%;height:0;background:linear-gradient(var(--blue),var(--gold));transition:height 1.1s cubic-bezier(.2,.8,.2,1)}.route-map.visible .route-track i{height:100%}
.trust-section{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.trust-image{position:relative;border-radius:var(--radius-xl);overflow:hidden;min-height:520px;background:var(--paper)}.trust-image::after{content:"10 ANS";position:absolute;left:24px;bottom:24px;padding:10px 16px;border-radius:999px;background:rgba(39,55,73,.9);color:#fff;font-size:.75rem;font-weight:850;letter-spacing:.12em}.trust-image img{width:100%;height:100%;min-height:520px;object-fit:cover}.trust-copy h2{margin:0}.trust-copy ul{list-style:none;margin:32px 0;padding:0}.trust-copy li{display:grid;grid-template-columns:40px 1fr;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}.trust-copy li>span{color:var(--gold-dark);font-size:.72rem;font-weight:850}.trust-copy li div{display:flex;flex-direction:column}.trust-copy li small{margin-top:3px;color:var(--muted)}.text-link{display:inline-flex;gap:8px;align-items:center;font-weight:800;border-bottom:1px solid var(--navy)}.text-link span{color:var(--gold)}
.faq-section{padding-top:80px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;padding:21px 48px 21px 0;position:relative;font-weight:780;font-size:1.02rem}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";position:absolute;right:10px;top:17px;font-size:1.4rem;color:var(--blue);transition:transform .2s}.faq-list details[open] summary::after{transform:rotate(45deg)}.faq-list p{max-width:850px;margin:-2px 0 22px;color:var(--muted)}
.contact-section{padding:90px max(24px,calc((100vw - var(--max))/2 + 24px));display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;background:var(--blue);color:#fff}.contact-copy h2{font-size:clamp(2.6rem,4.5vw,4rem);line-height:1.05}.contact-copy>p:not(.eyebrow){color:#dde6ef}.contact-direct{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.contact-direct a{padding:9px 13px;border:1px solid rgba(255,255,255,.28);border-radius:999px;font-size:.78rem;font-weight:750}.contact-form{padding:30px;background:#fff;color:var(--ink);border-radius:var(--radius-xl);display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{display:flex;flex-direction:column;gap:7px;font-size:.8rem;font-weight:750}.contact-form label span{font-weight:500;color:var(--muted)}.contact-form .full{grid-column:1/-1}.contact-form textarea{resize:vertical;min-height:106px}.contact-form button{justify-self:start}.contact-form>p{align-self:center;margin:0;color:var(--muted);font-size:.75rem}.honeypot{position:absolute!important;left:-9999px!important}
.site-footer{padding:64px max(24px,calc((100vw - var(--max))/2 + 24px)) 24px;display:grid;grid-template-columns:1.25fr .7fr .9fr;gap:70px;background:#1f2d3c;color:#c8d3df}.brand.inverse b{color:#fff}.brand.inverse small{color:#aebbc9}.footer-brand p{max-width:450px;margin:24px 0 0;font-size:.82rem}.site-footer h2{margin:5px 0 15px;color:#eac575;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em}.site-footer>div:not(.footer-brand):not(.footer-bottom){display:flex;flex-direction:column;gap:9px;font-size:.84rem}.site-footer a:hover{color:#fff}.footer-bottom{grid-column:1/-1;padding-top:24px;border-top:1px solid rgba(255,255,255,.11);display:flex;gap:24px;flex-wrap:wrap;font-size:.72rem}.footer-bottom span{margin-right:auto}.whatsapp-fab{position:fixed;z-index:90;right:20px;bottom:20px;width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:#13795b;color:#fff;box-shadow:0 14px 32px rgba(19,121,91,.3)}.whatsapp-fab svg{width:28px;height:28px}
.js [data-reveal]{opacity:1;transform:translateY(22px);transition:transform .58s cubic-bezier(.2,.8,.2,1) var(--reveal-delay,0ms)}.js [data-reveal].visible{transform:none}.js .hero-copy[data-reveal]{transition-delay:.04s}.js .hero-visual[data-reveal]{transform:translateX(26px);transition-duration:.72s}.js .hero-visual[data-reveal].visible{transform:none}
@media(max-width:1120px){#main-nav{gap:16px}.header-cta{display:none}.hero{min-height:620px}.hero h1{font-size:clamp(3.1rem,6vw,4.2rem)}.service-grid{grid-template-columns:1.2fr 1fr}.service-featured{grid-row:span 2}.service-compact{min-height:350px}.service-icon{height:120px}.estimator-shell{grid-template-columns:1fr 1fr}.estimator-copy{grid-column:1/-1}.estimator-copy{display:grid;grid-template-columns:1fr 1fr;gap:20px}.estimator-copy .eyebrow{grid-column:1/-1}.estimator-copy h2{font-size:2.6rem}.familiar-sizes{margin:0}.route-section{gap:50px}}
@media(max-width:860px){.utility-bar{padding:0 18px}.utility-anniversary span{display:none}.site-header{height:72px}.nav-shell{padding:0 16px;gap:10px}.brand-mark{width:42px;height:42px;border-radius:13px}.brand b{font-size:.84rem}.brand small{font-size:.51rem}.menu-toggle{display:flex;flex-direction:column;align-items:center;margin-left:auto}.menu-toggle b{position:absolute;clip:rect(0 0 0 0)}#main-nav{position:fixed;inset:106px 12px auto;display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-12px);transition:.2s}#main-nav a{padding:13px 8px;border-bottom:1px solid var(--line)}body.menu-open #main-nav{opacity:1;visibility:visible;transform:none}.language-switch{order:2}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:64px 24px 42px}.hero-visual{min-height:460px}.hero-visual img{object-position:64% center}.hero-proof{grid-template-columns:1fr 1fr}.section{padding:78px 20px}.section-heading{grid-template-columns:1fr;gap:20px}.section-heading>p{max-width:620px}.service-grid{grid-template-columns:1fr}.service-featured{grid-row:auto;min-height:480px}.service-compact{min-height:340px}.estimator-section{padding-left:20px;padding-right:20px}.estimator-shell{grid-template-columns:1fr}.estimator-copy{grid-column:auto;display:block}.familiar-sizes{margin-top:24px}.journey-line{grid-template-columns:1fr;gap:24px}.journey-line::before{top:28px;bottom:28px;left:28px;right:auto;width:2px;height:auto}.journey-line li{display:grid;grid-template-columns:58px 1fr;gap:20px;padding:0}.journey-line div{margin:4px 0 0;max-width:none}.route-section{grid-template-columns:1fr;padding:78px 20px}.trust-section{grid-template-columns:1fr;gap:42px}.contact-section{grid-template-columns:1fr;padding:78px 20px}.site-footer{grid-template-columns:1fr 1fr;padding-left:20px;padding-right:20px}.footer-brand{grid-column:1/-1}}
@media(max-width:560px){body{font-size:16px}.utility-bar{font-size:.69rem}.utility-bar>div{gap:14px}.utility-bar>div a:first-child{display:none}.nav-shell{padding:0 12px}.brand>span:last-child{display:none}.language-switch a{padding:5px 7px}.hero-copy{padding:48px 20px 34px}.eyebrow{font-size:.67rem;letter-spacing:.12em}.hero h1{font-size:2.9rem;line-height:1.02}.hero-lead{font-size:1rem;margin-top:22px}.hero-actions{display:grid;width:100%}.button{width:100%}.hero-proof{grid-template-columns:1fr;gap:12px}.hero-proof li{display:grid;grid-template-columns:1fr 1fr}.hero-proof span{text-align:right}.anniversary-seal{margin-top:24px}.hero-visual{min-height:380px}.hero-visual img{object-position:69% center}.hero-route-card{left:14px;right:14px;bottom:14px}.section{padding:64px 18px}.section-heading h2,.trust-copy h2{font-size:2.55rem}.service-featured{grid-template-columns:1fr;min-height:0}.service-visual{min-height:290px;max-height:330px}.service-content{padding:26px}.service-featured .service-content{min-height:320px}.service-number{top:19px;right:22px;font-size:2.8rem}.service-compact{min-height:330px}.service-icon{height:130px}.estimator-section{padding-left:14px;padding-right:14px}.estimator-copy,.quick-estimator,.estimate-ticket{padding:26px 20px;border-radius:22px}.estimator-copy h2{font-size:2.4rem}.dimensions{grid-template-columns:1fr 1fr 1fr}.dimensions>span{display:none}.dimensions input{padding:8px}.ticket-total strong{font-size:1.55rem}.route-section{padding:64px 18px}.route-copy h2{font-size:2.7rem}.route-map article{padding:13px}.route-map article>span{width:42px;height:42px}.route-track{left:34px}.trust-image,.trust-image img{min-height:360px}.trust-copy li{grid-template-columns:34px 1fr}.contact-section{padding:64px 16px}.contact-copy h2{font-size:2.7rem}.contact-form{grid-template-columns:1fr;padding:24px 18px}.contact-form .full{grid-column:auto}.site-footer{grid-template-columns:1fr;gap:36px}.footer-brand{grid-column:auto}.footer-bottom{grid-column:auto}.whatsapp-fab{width:50px;height:50px;right:14px;bottom:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}}
@media print{.utility-bar,.site-header,.whatsapp-fab{display:none}[data-reveal]{opacity:1;transform:none}.hero{min-height:auto}.button{border:1px solid #000}}

/* Keep the model visible beside the anniversary seal at every breakpoint. */
.hero-visual img{object-position:80% center}
@media(max-width:860px){.hero-visual img{object-position:78% center}}
@media(max-width:560px){.hero-visual img{object-position:76% center}}
/* Rojom-Bavaka v21 — « Le bordereau vivant de la RN2 » */
:root{
  --v21-navy:#273749;
  --v21-navy-2:#1d2a38;
  --v21-blue:#4b6b96;
  --v21-gold:#bc944a;
  --v21-gold-light:#e5c47b;
  --v21-paper:#f2f5f8;
  --v21-cream:#fbf7ee;
  --v21-line:#dbe3ec;
  --v21-ease:cubic-bezier(.22,.8,.24,1);
}

body{background:#fff;color:var(--v21-navy);overflow-x:hidden}
.utility-bar{height:38px;background:var(--v21-navy-2);border-bottom:1px solid rgba(229,196,123,.25);font-size:.76rem}
.utility-anniversary b{color:var(--v21-gold-light)}
.site-header{height:82px;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(39,55,73,.09)}
.site-header.scrolled{height:72px;box-shadow:0 12px 40px rgba(20,34,50,.08)}
.nav-shell{max-width:1360px}
.brand-mark{border-radius:18px 8px 18px 8px;background:linear-gradient(145deg,var(--v21-blue),#36567d);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2),0 9px 22px rgba(75,107,150,.18)}
#main-nav{font-size:.88rem}
#main-nav a::after{height:3px;border-radius:999px;background:var(--v21-gold)}
.header-cta{min-height:48px;border-radius:999px;background:var(--v21-navy);padding-inline:24px;box-shadow:0 10px 24px rgba(39,55,73,.14)}
.header-cta::after{content:"↗";margin-left:9px;color:var(--v21-gold-light);font-size:1rem}

/* Hero — a route control desk, not a generic split banner. */
.hero{
  position:relative;
  isolation:isolate;
  max-width:none;
  min-height:730px;
  grid-template-columns:minmax(0,57%) minmax(430px,43%);
  background:
    radial-gradient(circle at 32% 18%,rgba(75,107,150,.42),transparent 34%),
    linear-gradient(135deg,var(--v21-navy-2),var(--v21-navy) 64%,#314962);
  overflow:hidden;
}
.hero::before{
  content:"RN2";
  position:absolute;
  z-index:-1;
  left:-.04em;
  bottom:-.17em;
  color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.075);
  font-size:clamp(13rem,27vw,28rem);
  line-height:.8;
  font-weight:900;
  letter-spacing:-.1em;
  pointer-events:none;
}
.hero::after{
  content:"";
  position:absolute;
  z-index:3;
  left:0;
  right:0;
  bottom:0;
  height:4px;
  background:linear-gradient(90deg,var(--v21-gold) 0 18%,rgba(229,196,123,.22) 18% 100%);
  background-size:180% 100%;
  animation:v21-route-line 7s linear infinite;
}
@keyframes v21-route-line{to{background-position:-180% 0}}
.hero-copy{
  z-index:2;
  padding:84px clamp(36px,5.2vw,86px) 52px max(30px,calc((100vw - 1360px)/2 + 28px));
  color:#fff;
}
.hero .eyebrow{color:var(--v21-gold-light);margin-bottom:22px}
.hero .eyebrow>span{width:40px}
.hero h1{max-width:790px;color:#fff;font-size:clamp(4rem,6.3vw,6.6rem);line-height:.91;letter-spacing:-.068em;font-weight:820}
.hero h1 em{display:block;margin-top:.08em;color:var(--v21-gold-light);font-family:Georgia,"Times New Roman",serif;font-size:.77em;line-height:1.02;font-weight:400;letter-spacing:-.055em}
.hero-lead{max-width:640px;margin-top:28px;color:#d9e2eb;font-size:1.08rem;line-height:1.68}
.hero-actions{margin-top:30px}
.hero .button{min-height:54px;border-radius:999px;padding-inline:25px}
.hero .button-primary{background:var(--v21-gold);color:#152235;box-shadow:0 16px 34px rgba(188,148,74,.24)}
.hero .button-secondary{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.06);color:#fff;backdrop-filter:blur(8px)}
.hero .button-secondary:hover{background:rgba(255,255,255,.12)}
.hero-proof{
  max-width:690px;
  margin-top:34px;
  padding:17px 18px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;
  background:rgba(255,255,255,.055);
  backdrop-filter:blur(8px);
}
.hero-proof li{position:relative;padding-left:18px}
.hero-proof li::before{content:"";position:absolute;left:0;top:.42em;width:7px;height:7px;border-radius:50%;background:var(--v21-gold);box-shadow:0 0 0 5px rgba(188,148,74,.12)}
.hero-proof b{color:#fff;font-size:.82rem}
.hero-proof span{color:#bfcbd8;font-size:.72rem}
.anniversary-seal{
  width:174px;
  height:76px;
  margin-top:22px;
  grid-template-columns:36px 54px 36px;
  border-color:rgba(229,196,123,.48);
  border-radius:24px 8px 24px 8px;
  background:rgba(255,255,255,.075);
  box-shadow:none;
  backdrop-filter:blur(12px);
}
.anniversary-seal strong{color:#fff;font-size:2.7rem}
.anniversary-seal small{color:var(--v21-gold-light)}
.anniversary-seal .laurel{border-color:var(--v21-gold-light)}
.hero-visual{
  min-height:682px;
  margin:24px 24px 24px 0;
  border-radius:88px 22px 22px 88px;
  background:#e7edf4;
  box-shadow:-24px 24px 80px rgba(10,22,35,.2);
  overflow:hidden;
}
.hero-visual::before{
  z-index:2;
  background:linear-gradient(90deg,rgba(39,55,73,.2),transparent 22%),linear-gradient(0deg,rgba(29,42,56,.12),transparent 38%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
}
.hero-visual::after{
  content:"TNR  ·  RN2  ·  BRV  ·  TMM";
  position:absolute;
  z-index:3;
  top:24px;
  right:24px;
  padding:9px 13px;
  border:1px solid rgba(39,55,73,.12);
  border-radius:999px;
  background:rgba(255,255,255,.82);
  color:var(--v21-navy);
  font:800 .64rem/1 "Arial Narrow","Segoe UI",sans-serif;
  letter-spacing:.14em;
  backdrop-filter:blur(10px);
}
.hero-visual img{
  object-position:78% center;
  transform:translate3d(calc(var(--hero-x,0)*1px),calc(var(--hero-y,0)*1px),0) scale(1.018);
  transition:transform .6s var(--v21-ease);
}
.hero-route-card{
  z-index:4;
  left:28px;
  right:28px;
  bottom:28px;
  padding:17px 20px;
  border:0;
  border-radius:22px 8px 22px 8px;
  background:rgba(255,255,255,.94);
  box-shadow:0 20px 54px rgba(29,42,56,.19);
}
.hero-route-card::after{content:"EN MOUVEMENT";margin-left:auto;color:var(--v21-blue);font-size:.61rem;font-weight:900;letter-spacing:.12em}
.hero-route-card b{font-size:.86rem}.hero-route-card small{font-size:.72rem}
.route-pulse{background:#16815f;animation:v21-pulse 2s ease-out infinite}
@keyframes v21-pulse{0%,100%{box-shadow:0 0 0 6px rgba(22,129,95,.11)}50%{box-shadow:0 0 0 12px rgba(22,129,95,0)}}

/* Stronger editorial rhythm and storefront services. */
.section{max-width:1360px;padding:96px 28px}
.section-heading{gap:90px;margin-bottom:40px}
.section-heading h2,.trust-copy h2{letter-spacing:-.055em}
.section-heading>p{max-width:520px;font-size:1rem}
.service-section{max-width:none;padding-inline:max(28px,calc((100vw - 1360px)/2 + 28px));background:#fff}
.service-section .section-heading,.service-grid{max-width:1304px;margin-left:auto;margin-right:auto}
.service-grid{grid-template-columns:1.42fr .79fr .79fr;gap:16px}
.service-card{min-height:430px;border-color:#e1e7ee;border-radius:34px 14px 34px 14px;box-shadow:none}
.service-card:hover{transform:translateY(-5px);border-color:#c9d5e1;box-shadow:0 26px 70px rgba(39,55,73,.12)}
.service-featured{grid-template-columns:47% 53%;background:linear-gradient(150deg,var(--v21-navy-2),#324a63)}
.service-visual{min-height:430px;clip-path:polygon(0 0,92% 0,100% 100%,0 100%)}
.service-content{padding:30px}
.service-number{top:20px;right:24px;font:900 3.2rem/.9 "Arial Narrow","Segoe UI",sans-serif}
.service-price{padding:7px 10px;border-radius:999px;background:var(--v21-cream);letter-spacing:.05em}
.service-featured .service-price{background:rgba(229,196,123,.12)}
.service-content h3{font-size:clamp(1.65rem,2.35vw,2.35rem)}
.service-content a{width:100%;display:flex;justify-content:space-between;padding-top:22px}
.service-compact{min-height:430px}
.service-icon{height:155px;background:linear-gradient(145deg,#eef3f8,#dce6f0);position:relative;overflow:hidden}
.service-icon::after{content:"";position:absolute;width:160px;height:160px;border:1px solid rgba(75,107,150,.16);border-radius:50%;transform:translate(42%,-40%)}
.service-icon svg{width:76px;height:76px}

/* Estimator = live dispatch ticket. */
.estimator-section{
  max-width:none;
  padding:100px max(28px,calc((100vw - 1360px)/2 + 28px));
  background:
    radial-gradient(circle at 8% 8%,rgba(75,107,150,.44),transparent 28%),
    radial-gradient(circle at 92% 90%,rgba(188,148,74,.2),transparent 26%),
    var(--v21-navy-2);
  color:#fff;
}
.estimator-shell{max-width:1304px;grid-template-columns:.8fr 1.06fr .78fr;gap:18px}
.estimator-copy{padding:38px 30px;border:1px solid rgba(255,255,255,.1);border-radius:36px 14px 36px 14px;background:rgba(255,255,255,.045);backdrop-filter:blur(8px)}
.estimator-copy h2{font-size:clamp(2.2rem,3.5vw,3.45rem);letter-spacing:-.055em}
.estimator-copy>p:not(.eyebrow){color:#c7d2de}
.familiar-sizes span{border-radius:999px;background:rgba(255,255,255,.045)}
.quick-estimator{padding:31px;border:0;border-radius:36px 14px 36px 14px;color:var(--v21-navy);box-shadow:0 26px 70px rgba(10,22,35,.25)}
.mode-picker span{border-radius:999px}
.mode-picker input:checked+span{background:var(--v21-blue);box-shadow:0 8px 22px rgba(75,107,150,.22)}
.dimensions input,.select-field select{border-color:#cbd6e2;border-radius:11px;background:#f9fbfd}
.estimate-ticket{padding:32px 25px 28px;border:1px solid #dac79f;border-radius:16px;background:var(--v21-cream);color:var(--v21-navy);box-shadow:0 28px 72px rgba(10,22,35,.26);transform:rotate(.7deg)}
.estimate-ticket::after{content:"RB · TNR/RN2";position:absolute;right:-21px;top:94px;transform:rotate(90deg);color:#9a7c43;font-size:.55rem;font-weight:900;letter-spacing:.15em}
.estimate-ticket.price-bump .ticket-total strong{animation:v21-price .32s var(--v21-ease)}
@keyframes v21-price{0%{opacity:.35;transform:translateY(8px)}100%{opacity:1;transform:none}}

/* A customer-facing proof of tracking. */
.tracking-showcase{
  max-width:1360px;
  margin:0 auto;
  padding:96px 28px;
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:72px;
  align-items:center;
}
.tracking-copy h2{max-width:590px;margin:0;font-size:clamp(2.7rem,4.7vw,4.8rem);line-height:.98;letter-spacing:-.06em}
.tracking-copy>p:not(.eyebrow){max-width:560px;margin:24px 0;color:#617084;font-size:1.02rem}
.home-tracking-form{max-width:540px;margin-top:28px;display:flex;gap:9px;padding:7px;border:1px solid var(--v21-line);border-radius:18px;background:#fff;box-shadow:0 18px 50px rgba(39,55,73,.09)}
.home-tracking-form label{flex:1}
.home-tracking-form input{width:100%;height:50px;padding:0 14px;border:0;outline:0;background:transparent;color:var(--v21-navy);font-weight:700}
.home-tracking-form button{flex:none;min-height:50px;padding:0 18px;border:0;border-radius:12px;background:var(--v21-navy);color:#fff;font-weight:800;cursor:pointer}
.tracking-channels{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.tracking-channels span{padding:7px 11px;border-radius:999px;background:var(--v21-paper);color:#536478;font-size:.74rem;font-weight:750}
.tracking-board{position:relative;padding:25px;border:1px solid #dfe6ed;border-radius:44px 16px 44px 16px;background:linear-gradient(145deg,#fff,#f4f7fa);box-shadow:0 30px 90px rgba(39,55,73,.13);overflow:hidden}
.tracking-board::before{content:"";position:absolute;right:-80px;top:-90px;width:260px;height:260px;border:38px solid rgba(75,107,150,.055);border-radius:50%}
.tracking-board-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 2px 20px;border-bottom:1px solid var(--v21-line)}
.tracking-reference{display:flex;flex-direction:column;gap:3px}
.tracking-reference span{color:#77869a;font-size:.64rem;font-weight:850;letter-spacing:.15em}
.tracking-reference strong{font-size:1.02rem;letter-spacing:.02em}
.tracking-live{display:flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:#e9f6f1;color:#0e7657;font-size:.72rem;font-weight:850}
.tracking-live::before{content:"";width:7px;height:7px;border-radius:50%;background:#119169;box-shadow:0 0 0 5px rgba(17,145,105,.1)}
.tracking-steps{position:relative;list-style:none;margin:8px 0 0;padding:0}
.tracking-steps::before{content:"";position:absolute;top:23px;bottom:23px;left:18px;width:2px;background:linear-gradient(#15805e 0 52%,#d9e1e9 52%)}
.tracking-steps li{position:relative;display:grid;grid-template-columns:38px 1fr auto;gap:14px;align-items:center;min-height:67px}
.tracking-steps .status-dot{z-index:1;width:18px;height:18px;margin-left:10px;border:4px solid #fff;border-radius:50%;background:#d3dce5;box-shadow:0 0 0 1px #c7d1dc}
.tracking-steps li.done .status-dot{background:#15805e;box-shadow:0 0 0 1px #15805e}
.tracking-steps li.current .status-dot{background:var(--v21-gold);box-shadow:0 0 0 1px var(--v21-gold),0 0 0 7px rgba(188,148,74,.12);animation:v21-current 1.8s ease-out infinite}
@keyframes v21-current{50%{box-shadow:0 0 0 1px var(--v21-gold),0 0 0 12px rgba(188,148,74,0)}}
.tracking-steps b{font-size:.91rem}.tracking-steps small{color:#8592a2;font-size:.68rem}.tracking-steps li:not(.done):not(.current){color:#8b98a7}

/* The RN2 story becomes one continuous visual system. */
.journey-section{padding-top:70px;padding-bottom:76px}
.journey-line{padding:32px;border:1px solid var(--v21-line);border-radius:34px 12px 34px 12px;background:#fff;box-shadow:0 18px 55px rgba(39,55,73,.07)}
.journey-line::before{left:10%;right:10%;top:60px}
.journey-line::after{content:"▣";position:absolute;z-index:2;top:48px;left:9%;color:var(--v21-gold);font-size:1.15rem;text-shadow:0 3px 8px rgba(39,55,73,.2);animation:v21-parcel 8s var(--v21-ease) infinite}
@keyframes v21-parcel{0%,8%{left:9%}45%,55%{left:49%}92%,100%{left:88%}}
.journey-line li>span{box-shadow:0 0 0 8px #fff}
.route-section{max-width:1360px;margin:0 auto 92px;padding:76px clamp(28px,5.5vw,76px);border-radius:54px 18px 54px 18px;background:
  radial-gradient(circle at 90% 12%,rgba(75,107,150,.42),transparent 33%),
  repeating-radial-gradient(circle at 8% 90%,transparent 0 22px,rgba(255,255,255,.035) 23px 24px),
  var(--v21-navy-2);
  overflow:hidden;
}
.route-map article{border-radius:20px 7px 20px 7px;background:rgba(255,255,255,.075);backdrop-filter:blur(8px)}
.route-map article>span{border-radius:16px 6px 16px 6px}
.trust-section{padding-top:44px}
.trust-image{min-height:470px;border-radius:72px 18px 72px 18px;box-shadow:0 30px 80px rgba(39,55,73,.13)}
.trust-image img{min-height:470px}
.trust-image::after{display:none}
.trust-copy li{padding:17px 0}

.faq-section{padding-top:72px;padding-bottom:88px}
.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:0}
.faq-list details{border:1px solid var(--v21-line);border-radius:18px 7px 18px 7px;padding:0 20px;background:#fff}
.faq-list summary{font-size:.95rem}
.contact-section{padding:84px max(28px,calc((100vw - 1360px)/2 + 28px));background:linear-gradient(135deg,var(--v21-blue),#38597f);position:relative;overflow:hidden}
.contact-section::before{content:"RN2";position:absolute;right:-.05em;bottom:-.24em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.1);font-size:18rem;font-weight:900;line-height:1;pointer-events:none}
.contact-copy,.contact-form{position:relative;z-index:1}
.contact-form{border-radius:34px 12px 34px 12px;box-shadow:0 26px 75px rgba(20,34,50,.2)}
.site-footer{background:var(--v21-navy-2)}
.whatsapp-fab{border:2px solid rgba(255,255,255,.85);box-shadow:0 16px 38px rgba(19,121,91,.28)}

@media(max-width:1180px){
  .hero{grid-template-columns:minmax(0,55%) minmax(390px,45%)}
  .hero h1{font-size:clamp(3.7rem,6vw,5rem)}
  .hero-copy{padding-right:38px}
  .service-grid{grid-template-columns:1.2fr 1fr}
  .service-featured{grid-row:span 2}
  .service-compact{min-height:330px}
  .service-icon{height:120px}
  .estimator-shell{grid-template-columns:1fr 1fr}
  .estimator-copy{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:22px}
  .estimator-copy .eyebrow{grid-column:1/-1}.familiar-sizes{margin-top:0}
}

@media(max-width:960px){
  .site-header{height:72px}
  .nav-shell{position:relative;padding:0 16px;gap:9px}
  .brand{order:1}.language-switch{order:2;margin-left:auto}.menu-toggle{order:3;display:flex;flex-direction:column;align-items:center;margin-left:2px}
  .menu-toggle b{position:absolute;clip:rect(0 0 0 0)}
  #main-nav{position:absolute;top:calc(100% + 8px);left:12px;right:12px;margin:0;display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:18px;background:#fff;border:1px solid var(--v21-line);border-radius:22px 8px 22px 8px;box-shadow:0 24px 70px rgba(39,55,73,.18);opacity:0;visibility:hidden;transform:translateY(-10px);transition:.22s var(--v21-ease)}
  #main-nav a{padding:13px 8px;border-bottom:1px solid var(--v21-line)}
  body.menu-open #main-nav{opacity:1;visibility:visible;transform:none}
  .header-cta{display:none}
  .hero{grid-template-columns:1fr;min-height:auto;padding-bottom:22px}
  .hero-copy{padding:64px 28px 42px}
  .hero h1{max-width:730px;font-size:clamp(3.5rem,9.7vw,5.4rem)}
  .hero-visual{order:2;min-height:480px;margin:0 22px 0;border-radius:64px 18px 64px 18px}
  .hero-proof{grid-template-columns:repeat(3,1fr)}
  .tracking-showcase{grid-template-columns:1fr;gap:42px}
  .tracking-copy h2{max-width:760px}
  .route-section{margin-left:18px;margin-right:18px;border-radius:42px 14px 42px 14px}
  .faq-list{grid-template-columns:1fr}
}

@media(max-width:620px){
  .utility-bar{height:36px;padding:0 14px}.utility-bar>div{gap:10px}.utility-bar>div a:first-child{display:none}
  .site-header{height:68px}.nav-shell{padding:0 11px;gap:7px}
  .brand-mark{width:42px;height:42px}.brand>span:last-child{display:none}
  .language-switch{padding:3px}.language-switch a{padding:5px 7px;font-size:.68rem}.language-switch a span{font-size:.8rem}
  .menu-toggle{padding:6px}.menu-toggle span{width:21px;margin:3px}
  #main-nav{top:calc(100% + 6px)}
  .hero-copy{padding:48px 20px 32px}
  .hero .eyebrow{font-size:.64rem;letter-spacing:.105em;gap:8px}.hero .eyebrow>span{width:22px}
  .hero h1{font-size:3.25rem;line-height:.94}.hero h1 em{font-size:.75em}
  .hero-lead{margin-top:21px;font-size:.98rem}
  .hero-actions{display:grid;width:100%;gap:9px}.hero .button{width:100%}
  .hero-proof{grid-template-columns:1fr;margin-top:25px;padding:14px 15px;gap:12px}.hero-proof li{display:grid;grid-template-columns:1fr 1fr}.hero-proof span{text-align:right}
  .anniversary-seal{margin-top:18px;width:158px;height:71px}
  .hero-visual{min-height:350px;margin:0 12px;border-radius:44px 12px 44px 12px}
  .hero-visual img{object-position:72% 30%;transform:scale(1.02)}
  .hero-visual::after{top:13px;right:13px;font-size:.54rem}
  .hero-route-card{left:13px;right:13px;bottom:13px;padding:13px 14px}.hero-route-card::after{display:none}
  .section{padding:68px 18px}.section-heading{gap:18px;margin-bottom:30px}.section-heading h2,.trust-copy h2{font-size:2.45rem}
  .service-section{padding-inline:14px}.service-grid{grid-template-columns:1fr;gap:12px}
  .service-featured{grid-row:auto;grid-template-columns:1fr;min-height:0}.service-visual{min-height:250px;max-height:280px;clip-path:none}.service-featured .service-content{min-height:300px}
  .service-card,.service-compact{min-height:310px;border-radius:28px 10px 28px 10px}.service-content{padding:25px}.service-icon{height:120px}
  .estimator-section{padding:70px 12px}.estimator-shell{grid-template-columns:1fr;gap:12px}.estimator-copy{grid-column:auto;display:block;padding:28px 21px}.estimator-copy h2{font-size:2.35rem}.familiar-sizes{margin-top:23px}
  .quick-estimator{padding:26px 19px}.estimate-ticket{padding:30px 21px 25px;transform:none}.estimate-ticket::after{display:none}
  .tracking-showcase{padding:72px 18px;gap:34px}.tracking-copy h2{font-size:2.7rem}.home-tracking-form{display:grid;padding:7px}.home-tracking-form button{width:100%}
  .tracking-board{padding:20px 17px;border-radius:32px 10px 32px 10px}.tracking-board-head{align-items:flex-start}.tracking-steps li{grid-template-columns:35px 1fr;gap:10px}.tracking-steps li>small{display:none}.tracking-steps::before{left:17px}
  .journey-section{display:none}
  .route-section{margin:0 10px 66px;padding:62px 18px;border-radius:34px 10px 34px 10px}.route-copy h2{font-size:2.55rem}
  .trust-section{padding-top:18px}.trust-image{display:none}.trust-copy ul{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;margin-top:22px}.trust-copy li{grid-template-columns:28px 1fr;padding:13px 0}.trust-copy li small{font-size:.7rem;line-height:1.45}
  .faq-section{padding-top:54px}.faq-list details{padding:0 15px}
  .contact-section{padding:68px 15px}.contact-copy h2{font-size:2.55rem}.contact-form{padding:23px 17px;border-radius:28px 10px 28px 10px}
  .whatsapp-fab{right:12px;bottom:calc(14px + env(safe-area-inset-bottom));width:49px;height:49px}
}

@media(prefers-reduced-motion:reduce){
  .hero::after,.route-pulse,.tracking-steps li.current .status-dot,.journey-line::after{animation:none!important}
  .hero-visual img{transform:none!important}
}
/* V22 — "Le bordereau vivant de la RN2" */
.v22-home{
  --v22-navy:#273749;
  --v22-navy-deep:#172535;
  --v22-blue:#4b6b96;
  --v22-blue-light:#dfe8f2;
  --v22-gold:#bc944a;
  --v22-gold-light:#e5c982;
  --v22-paper:#f2f5f8;
  --v22-cream:#f6f0e3;
  --v22-ink:#273749;
  --v22-muted:#617084;
  --v22-line:#d8e0e8;
  --v22-ease:cubic-bezier(.2,.8,.2,1);
  overflow-x:clip;
  background:#fff;
  color:var(--v22-ink);
}
.v22-home::selection{background:var(--v22-gold);color:#142234}
.v22-home main{overflow:clip}
.v22-home .utility-bar{height:30px;padding-inline:max(24px,calc((100vw - 1420px)/2));background:var(--v22-navy-deep);font-size:.7rem;letter-spacing:.045em}
.v22-home .utility-anniversary b{color:var(--v22-gold-light)}
.v22-home .site-header{height:76px;background:rgba(255,255,255,.9);border-color:rgba(39,55,73,.1);backdrop-filter:blur(20px) saturate(1.2)}
.v22-home .site-header.scrolled{height:68px}
.v22-home .nav-shell{max-width:1420px;padding-inline:28px;gap:24px}
.v22-home .brand-mark{border-radius:4px 15px 4px 15px;background:var(--v22-navy);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.v22-home #main-nav{gap:22px;font-size:.84rem}
.v22-home #main-nav a::after{bottom:2px}
.v22-home .header-cta{min-height:44px;padding-inline:19px;border-radius:999px;background:var(--v22-gold);color:var(--v22-navy-deep);box-shadow:none}
.v22-home .header-cta:hover{background:#caa052}
.v22-home .language-switch{box-shadow:none}
.v22-home .language-switch a{gap:6px;font-weight:700}
.language-flag{width:18px;aspect-ratio:3/2;display:inline-block;flex:none;border:1px solid rgba(39,55,73,.2);border-radius:2px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.18)}
.flag-fr{background:linear-gradient(90deg,#0055a4 0 33.333%,#fff 33.333% 66.666%,#ef4135 66.666%)}
.flag-mg{background:linear-gradient(90deg,#fff 0 33.333%,transparent 33.333%),linear-gradient(#fc3d32 0 50%,#007e3a 50%)}
.v22-home .button,.v22-home .header-cta{font-weight:700}

/* A short opening sequence: visual identity, never a loading blocker. */
.v22-intro{position:fixed;z-index:2000;inset:0;display:none;place-items:center;background:var(--v22-navy-deep);color:#fff}
.v22-home.intro-running{overflow:hidden}
.v22-home.intro-running .v22-intro{display:grid;animation:v22-intro-away .75s var(--v22-ease) 1.25s forwards}
.v22-intro-card{width:min(560px,82vw);text-align:center}
.v22-intro-brand{display:flex;justify-content:center;align-items:center;gap:14px;opacity:0;transform:translateY(12px);animation:v22-intro-in .45s var(--v22-ease) .08s forwards}
.v22-intro-brand span{width:50px;height:50px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.34);border-radius:4px 15px 4px 15px;background:var(--v22-blue);font-weight:900}
.v22-intro-brand b{font-size:1.05rem;letter-spacing:.08em}
.v22-intro-card>p{margin:18px 0 25px;color:#c9d4df;font-size:.86rem;letter-spacing:.06em;opacity:0;animation:v22-intro-in .4s var(--v22-ease) .25s forwards}
.v22-intro-route{position:relative;height:28px;display:flex;justify-content:space-between;align-items:end;color:#aebdcb;font-size:.58rem;font-weight:850;letter-spacing:.16em}
.v22-intro-route::before{content:"";position:absolute;top:2px;left:0;right:0;height:2px;background:rgba(255,255,255,.14)}
.v22-intro-route i{position:absolute;top:2px;left:0;width:0;height:2px;background:var(--v22-gold);animation:v22-intro-line .9s var(--v22-ease) .25s forwards}
.v22-intro-route i::after{content:"";position:absolute;right:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--v22-gold);box-shadow:0 0 0 7px rgba(188,148,74,.16)}
@keyframes v22-intro-in{to{opacity:1;transform:none}}
@keyframes v22-intro-line{to{width:100%}}
@keyframes v22-intro-away{to{opacity:0;visibility:hidden;transform:scale(1.025)}}

/* The right rail turns the whole page into a shipment progress interface. */
.v22-page-rail{position:fixed;z-index:89;top:128px;right:10px;bottom:92px;width:22px;display:flex;flex-direction:column;align-items:center;gap:10px;color:#6d7d8e;pointer-events:none}
.v22-page-rail-code{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.52rem;font-weight:850;letter-spacing:.13em}
.v22-page-rail>i{position:relative;flex:1;width:2px;background:rgba(39,55,73,.13);overflow:hidden}
.v22-page-rail>i b{position:absolute;left:0;bottom:0;width:100%;height:calc(var(--page-progress,0)*100%);background:linear-gradient(var(--v22-gold),var(--v22-blue));transition:height .08s linear}
.v22-page-rail-percent{font-variant-numeric:tabular-nums;font-size:.55rem;font-weight:850}

/* Hero — one uninterrupted editorial stage. */
.v22-hero{position:relative;isolation:isolate;min-height:min(850px,calc(100svh - 106px));max-width:1680px;margin:0 auto;background:#e8eef4;overflow:hidden}
.v22-hero-photo{position:absolute;z-index:-4;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:translate3d(0,calc(var(--hero-scroll,0)*18px),0) scale(1.025);will-change:transform}
.v22-hero-wash{position:absolute;z-index:-3;inset:0;background:linear-gradient(90deg,#f4f7fa 0%,rgba(244,247,250,.98) 32%,rgba(244,247,250,.82) 49%,rgba(244,247,250,.04) 72%),linear-gradient(0deg,rgba(23,37,53,.09),transparent 30%)}
.v22-hero-code{position:absolute;z-index:-2;left:-.035em;bottom:-.19em;color:transparent;-webkit-text-stroke:1px rgba(75,107,150,.17);font:900 clamp(13rem,28vw,28rem)/.8 Arial,sans-serif;letter-spacing:-.11em;pointer-events:none}
.v22-hero-copy{position:relative;z-index:2;width:min(1420px,100%);min-height:inherit;margin:auto;padding:clamp(70px,8vh,104px) max(28px,calc((100% - 1360px)/2 + 28px)) 90px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.v22-kicker{display:flex;align-items:center;gap:10px;margin:0 0 23px;color:var(--v22-blue);font-size:.7rem;font-weight:730;letter-spacing:.12em;text-transform:uppercase}
.v22-kicker b{color:var(--v22-gold);font-size:1rem}
.v22-hero h1{max-width:840px;margin:0;color:var(--v22-navy-deep);font-size:clamp(4.5rem,7.25vw,7.8rem);font-weight:720;line-height:.87;letter-spacing:-.069em}
.v22-hero h1 em{display:inline-block;margin-top:.14em;color:var(--v22-blue);font-family:Georgia,"Times New Roman",serif;font-size:.75em;font-weight:400;letter-spacing:-.06em}
.v22-hero h1 .v22-word{display:inline-block;opacity:0;transform:translateY(.42em) rotate(2deg);animation:v22-word-in .76s var(--v22-ease) calc(.08s + var(--i)*.075s) forwards}
@keyframes v22-word-in{to{opacity:1;transform:none}}
.v22-hero-lead{max-width:620px;margin:27px 0 0;color:#516174;font-size:1.05rem;line-height:1.66}
.v22-hero-actions{display:flex;align-items:center;gap:24px;margin-top:30px}
.v22-hero .button-primary{min-height:56px;padding:0 24px;border-radius:999px;background:var(--v22-navy-deep);color:#fff;box-shadow:0 15px 36px rgba(23,37,53,.18)}
.v22-hero .button-primary span{margin-left:18px;color:var(--v22-gold-light)}
.v22-text-action{display:inline-flex;align-items:center;gap:10px;border-bottom:1px solid rgba(39,55,73,.28);padding:10px 1px 8px;font-size:.86rem;font-weight:700}
.v22-text-action i{width:8px;height:8px;border-radius:50%;background:#16815f;box-shadow:0 0 0 6px rgba(22,129,95,.1)}
.v22-hero-facts{display:flex;align-items:stretch;gap:0;margin-top:34px;border-top:1px solid rgba(39,55,73,.16)}
.v22-hero-facts div{min-width:165px;padding:17px 22px 0 0;display:flex;flex-direction:column}
.v22-hero-facts div+div{padding-left:22px;border-left:1px solid rgba(39,55,73,.13)}
.v22-hero-facts strong{font-size:.77rem;line-height:1.3}.v22-hero-facts span{margin-top:3px;color:#748395;font-size:.65rem}
.v22-anniversary{width:auto;min-width:200px;height:70px;margin-top:24px;padding:9px 15px;display:flex;grid-template:none;align-items:center;justify-content:flex-start;gap:13px;border:1px solid rgba(188,148,74,.46);border-radius:5px 20px 5px 20px;background:rgba(255,255,255,.86);box-shadow:0 14px 36px rgba(39,55,73,.08);backdrop-filter:blur(12px)}
.v22-anniversary-value{display:flex;align-items:baseline;gap:5px;color:var(--v22-navy-deep)}
.v22-anniversary-value strong{grid-column:auto;align-self:auto;color:var(--v22-navy-deep);font-size:2.45rem;font-weight:720;line-height:1;letter-spacing:-.07em}
.v22-anniversary-value b{font-size:.59rem;font-weight:760;letter-spacing:.08em}
.v22-anniversary-copy{display:flex;flex-direction:column;color:#7d622f;font-size:.59rem;font-weight:720;letter-spacing:.09em;line-height:1.25}
.v22-anniversary-copy small{margin-top:4px;color:#6e7b89;font-size:.54rem;font-weight:650;letter-spacing:.08em}
.v22-live-slip{position:absolute;z-index:4;right:clamp(28px,4.5vw,72px);bottom:42px;width:min(560px,42vw);min-height:76px;padding:14px 18px;display:grid;grid-template-columns:auto 1fr 1fr auto;align-items:center;gap:15px;border:1px solid rgba(255,255,255,.7);border-radius:5px 22px 5px 22px;background:rgba(255,255,255,.88);box-shadow:0 24px 70px rgba(29,43,59,.18);backdrop-filter:blur(18px)}
.v22-live-dot{width:11px;height:11px;border-radius:50%;background:#16815f;box-shadow:0 0 0 8px rgba(22,129,95,.1);animation:v22-live 2s ease-out infinite}
@keyframes v22-live{50%{box-shadow:0 0 0 14px rgba(22,129,95,0)}}
.v22-live-slip div{display:flex;flex-direction:column}.v22-live-slip small{color:#7c8997;font-size:.53rem;font-weight:720;letter-spacing:.13em}.v22-live-slip b{margin-top:3px;font-size:.75rem;font-weight:700}.v22-slip-code{color:var(--v22-blue);font-size:.62rem;font-weight:720;letter-spacing:.11em}
.v22-scroll-cue{position:absolute;z-index:5;left:22px;bottom:22px;display:flex;flex-direction:column;align-items:center;gap:8px;color:#637286;font-size:.57rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.v22-scroll-cue i{width:1px;height:36px;background:linear-gradient(var(--v22-gold),transparent);animation:v22-scroll-cue 1.8s ease-in-out infinite}
@keyframes v22-scroll-cue{50%{transform:scaleY(.45);transform-origin:top}}
.v22-route-strip{position:relative;z-index:3;min-height:58px;padding:0 max(28px,calc((100vw - 1420px)/2 + 28px));display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:18px;background:var(--v22-gold);color:var(--v22-navy-deep);border-block:1px solid rgba(39,55,73,.2)}
.v22-route-strip span{display:flex;align-items:center;gap:9px;white-space:nowrap;font-size:.6rem;font-weight:730;letter-spacing:.105em}
.v22-route-strip span b{font-size:.52rem;letter-spacing:.08em;opacity:.72}
.v22-route-strip i{position:relative;height:2px;background:rgba(39,55,73,.2);overflow:hidden}
.v22-route-strip i::after{content:"";position:absolute;top:0;left:-35%;width:35%;height:100%;background:var(--v22-navy);animation:v22-route-signal 3.8s ease-in-out infinite}
.v22-route-strip i:nth-of-type(2)::after{animation-delay:.55s}.v22-route-strip i:nth-of-type(3)::after{animation-delay:1.1s}
@keyframes v22-route-signal{0%{left:-35%}55%,100%{left:110%}}

/* Typography shared by the authored sections. */
.v22-section-head{max-width:1420px;margin:0 auto 52px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(250px,.4fr);gap:22px 80px;align-items:end}
.v22-section-head .v22-index{grid-column:1/-1}
.v22-index{margin:0;color:var(--v22-gold);font-size:.66rem;font-weight:750;letter-spacing:.18em;text-transform:uppercase}
.v22-section-head h2,.v22-journey h2,.v22-decade h2,.v22-contact h2{margin:0;color:var(--v22-navy-deep);font-size:clamp(3rem,5.6vw,6rem);font-weight:720;line-height:.94;letter-spacing:-.055em}
.v22-section-head h2 em,.v22-journey h2 em,.v22-decade h2 em,.v22-contact h2 em{color:var(--v22-blue);font-family:Georgia,"Times New Roman",serif;font-weight:400}
.v22-section-head>p:not(.v22-index){max-width:410px;margin:0 0 5px;color:var(--v22-muted);font-size:.96rem}

/* Service selector: a store window, not a card grid. */
.v22-services{padding:125px max(28px,calc((100vw - 1420px)/2 + 28px));background:#fff}
.v22-service-explorer{max-width:1420px;min-height:650px;margin:auto;display:grid;grid-template-columns:minmax(360px,.75fr) minmax(0,1.25fr);background:var(--v22-paper);border:1px solid var(--v22-line);overflow:hidden}
.v22-service-tabs{display:flex;flex-direction:column;background:#fff}
.v22-service-tabs button{position:relative;flex:1;min-height:170px;padding:28px 30px;display:grid;grid-template-columns:42px 1fr auto;gap:16px;align-items:center;border:0;border-bottom:1px solid var(--v22-line);background:#fff;color:var(--v22-navy);text-align:left;cursor:pointer;transition:background .35s var(--v22-ease),color .35s var(--v22-ease)}
.v22-service-tabs button:last-child{border-bottom:0}
.v22-service-tabs button::before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:var(--v22-gold);transition:width .35s var(--v22-ease)}
.v22-service-tabs button>span{color:#617084;font:800 .72rem/1 Arial,sans-serif;letter-spacing:.08em}
.v22-service-tabs button div{display:flex;flex-direction:column;gap:7px}.v22-service-tabs button b{font-size:clamp(1.2rem,2vw,1.75rem);font-weight:680;line-height:1.12;letter-spacing:-.025em}.v22-service-tabs button small{color:#7d8a99;font-size:.72rem}
.v22-service-tabs button>i{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--v22-line);border-radius:50%;font-style:normal;transition:transform .3s var(--v22-ease),background .3s}
.v22-service-tabs button:is(:hover,.is-active){background:var(--v22-navy-deep);color:#fff}
.v22-service-tabs button:is(:hover,.is-active)::before{width:5px}
.v22-service-tabs button:is(:hover,.is-active)>span{color:var(--v22-gold-light)}
.v22-service-tabs button:is(:hover,.is-active) small{color:#b9c7d4}
.v22-service-tabs button:is(:hover,.is-active)>i{transform:rotate(45deg);background:var(--v22-gold);border-color:var(--v22-gold);color:var(--v22-navy)}
.v22-service-stage{position:relative;min-height:650px;overflow:hidden;background:var(--v22-navy)}
.v22-service-panel{position:absolute;inset:0;overflow:hidden}
.v22-service-panel[hidden]{display:none}
.v22-service-panel.is-entering{animation:v22-panel-in .7s var(--v22-ease) both}
@keyframes v22-panel-in{from{opacity:.5;clip-path:inset(0 0 0 100%)}to{opacity:1;clip-path:inset(0)}}
.v22-service-panel img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 1.2s var(--v22-ease)}
.v22-service-panel.is-active img{transform:scale(1.035)}
.v22-panel-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,28,42,.9),rgba(14,28,42,.05) 68%),linear-gradient(90deg,rgba(14,28,42,.28),transparent 50%)}
.v22-panel-content{position:absolute;left:0;right:0;bottom:0;padding:48px;color:#fff}
.v22-panel-content>span{color:var(--v22-gold-light);font-size:.61rem;font-weight:750;letter-spacing:.18em}.v22-panel-content h3{max-width:660px;margin:11px 0 0;font-size:clamp(2.5rem,4.4vw,4.9rem);font-weight:680;line-height:.97;letter-spacing:-.048em}.v22-panel-content p{max-width:590px;margin:18px 0 0;color:#d0dae4;font-size:.92rem}.v22-panel-content a{width:min(340px,100%);margin-top:25px;padding:14px 0;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.4);font-size:.82rem;font-weight:700}.v22-panel-content a b{color:var(--v22-gold-light);font-size:1.1rem}

/* Estimator: a dispatch desk with a living ticket. */
.v22-estimator{padding:118px max(28px,calc((100vw - 1420px)/2 + 28px));background:var(--v22-navy-deep);color:#fff;position:relative;overflow:hidden}
.v22-estimator::before{content:"TNR  —  RN2  —  TMM";position:absolute;right:-.02em;top:.2em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.055);font:900 clamp(6rem,12vw,13rem)/1 Arial,sans-serif;letter-spacing:-.06em;white-space:nowrap}
.v22-estimator .v22-section-head{position:relative;z-index:1}.v22-section-head-light h2{color:#fff}.v22-section-head-light h2 em{color:var(--v22-gold-light)}.v22-section-head-light>p:not(.v22-index){color:#b9c6d3}
.v22-estimator .estimator-shell{position:relative;z-index:1;max-width:1420px;grid-template-columns:.72fr 1.05fr .78fr;gap:1px;align-items:stretch;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.13)}
.v22-estimator .estimator-copy,.v22-estimator .quick-estimator,.v22-estimator .estimate-ticket{border-radius:0}
.v22-estimator .estimator-copy{padding:38px;background:#213246}
.v22-estimator .estimator-copy h3{margin:0;font-size:2rem;line-height:1.05;letter-spacing:-.045em}
.v22-estimator .estimator-copy>p:not(.eyebrow){color:#b8c5d1}
.v22-estimator .familiar-sizes span{display:grid;grid-template-columns:26px 1fr;align-items:center;border:0;border-bottom:1px solid rgba(255,255,255,.12);border-radius:0;padding:12px 0;background:none}.v22-estimator .familiar-sizes span b{font-size:1.15rem}
.v22-estimator .quick-estimator{padding:38px;background:#f7f9fb;color:var(--v22-navy);border:0}
.v22-estimator .mode-picker span{border-radius:3px 12px 3px 12px}.v22-estimator .mode-picker input:checked+span{background:var(--v22-blue)}
.v22-estimator .dimensions input,.v22-estimator .select-field select{border-radius:3px 10px 3px 10px;background:#fff}
.v22-estimator .quick-estimator input[type=range]{accent-color:var(--v22-gold)}
.v22-estimator .estimate-ticket{padding:40px 28px 32px;border:0;background:var(--v22-cream);transform:none;box-shadow:none;overflow:hidden}
.v22-estimator .estimate-ticket::after{content:"RB / ESTIMATION";right:-28px;top:112px;color:#9a7840}
.v22-estimator .estimate-ticket .button{border-radius:999px;background:var(--v22-navy-deep);color:#fff}
.v22-estimator .ticket-total strong{font-size:2rem}

/* Scroll-controlled journey. */
.v22-journey{position:relative;display:grid;grid-template-columns:minmax(0,58%) minmax(390px,42%);background:var(--v22-paper)}
.v22-journey-sticky{position:sticky;top:68px;height:calc(100svh - 68px);min-height:690px;padding:64px max(32px,calc((100vw - 1420px)/2 + 28px)) 42px max(32px,calc((100vw - 1420px)/2 + 28px));display:flex;flex-direction:column;background:var(--v22-navy-deep);color:#fff;overflow:hidden}
.v22-journey-heading{position:relative;z-index:3}.v22-journey h2{max-width:790px;margin-top:15px;color:#fff;font-size:clamp(3rem,5.1vw,5.8rem)}.v22-journey h2 em{color:var(--v22-gold-light)}.v22-journey-heading>p:last-child{max-width:480px;margin:18px 0 0;color:#b5c3d0;font-size:.86rem}
.v22-route-canvas{position:relative;flex:1;min-height:350px;margin-top:-22px}
.v22-route-canvas svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.v22-route-shadow,.v22-route-path{fill:none;stroke-linecap:round;stroke-linejoin:round}.v22-route-shadow{stroke:rgba(255,255,255,.1);stroke-width:9}.v22-route-path{stroke:url(#none);stroke:var(--v22-gold);stroke-width:4;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--journey-progress,0));filter:drop-shadow(0 4px 12px rgba(188,148,74,.22))}
.v22-parcel-marker{fill:var(--v22-blue);stroke:#fff;stroke-width:2;filter:drop-shadow(0 10px 16px rgba(0,0,0,.3))}.v22-parcel-marker path{fill:none;stroke:var(--v22-gold-light);stroke-width:2}
.v22-route-label{position:absolute;display:flex;flex-direction:column;gap:1px;padding:8px 10px;border-left:2px solid var(--v22-gold);background:rgba(23,37,53,.77);backdrop-filter:blur(6px)}.v22-route-label b{font-size:.62rem;letter-spacing:.09em}.v22-route-label span{color:#aebcca;font-size:.55rem}.v22-route-label.start{left:5%;top:17%}.v22-route-label.middle{left:55%;top:43%}.v22-route-label.finish{right:2%;bottom:7%}
.v22-route-readout{position:absolute;right:5%;top:7%;display:flex;flex-direction:column;align-items:flex-end}.v22-route-readout span{color:#8294a6;font-size:.51rem;font-weight:700;letter-spacing:.16em}.v22-route-readout b{color:#fff;font-size:2.5rem;font-weight:700;letter-spacing:-.06em;font-variant-numeric:tabular-nums}
.v22-journey-steps{padding:12vh clamp(34px,5vw,78px);background:#fff}
.v22-journey-steps article{min-height:72vh;padding:12vh 0;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid var(--v22-line);opacity:.27;transform:translateX(24px);transition:opacity .45s var(--v22-ease),transform .45s var(--v22-ease)}
.v22-journey-steps article.is-active{opacity:1;transform:none}
.v22-journey-steps article>span{color:var(--v22-gold);font:700 4.4rem/.9 Arial,sans-serif;letter-spacing:-.07em}.v22-step-state{margin:19px 0 7px;color:var(--v22-blue);font-size:.62rem;font-weight:750;letter-spacing:.17em}.v22-journey-steps h3{max-width:480px;margin:0;font-size:clamp(2.1rem,3.5vw,3.8rem);font-weight:680;line-height:1.02;letter-spacing:-.045em}.v22-journey-steps article>p:not(.v22-step-state){max-width:470px;margin:20px 0 0;color:var(--v22-muted)}.v22-journey-steps article>small{max-width:430px;margin-top:18px;padding-top:17px;border-top:1px solid var(--v22-line);color:#778697}.v22-journey .home-tracking-form{max-width:480px;margin-top:28px;border-radius:3px 14px 3px 14px;box-shadow:none}.v22-journey .home-tracking-form button{border-radius:3px 10px 3px 10px;background:var(--v22-navy)}

/* Ten years becomes an editorial monument, not another card. */
.v22-decade{position:relative;isolation:isolate;min-height:760px;padding:110px max(28px,calc((100vw - 1420px)/2 + 28px));display:grid;grid-template-columns:minmax(360px,.85fr) minmax(420px,1fr);gap:clamp(45px,7vw,110px);align-items:center;background:var(--v22-cream);overflow:hidden}
.v22-decade-photo{position:relative;height:570px;overflow:hidden;clip-path:polygon(0 0,88% 0,100% 17%,100% 100%,12% 100%,0 83%);box-shadow:0 35px 90px rgba(39,55,73,.16)}
.v22-decade-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.v22-decade-photo>span{position:absolute;left:24px;bottom:24px;padding:9px 13px;background:var(--v22-navy);color:#fff;font-size:.65rem;font-weight:720;letter-spacing:.14em}
.v22-decade-copy{position:relative}.v22-decade-badge{width:max-content;margin-bottom:25px;padding:8px 14px 8px 10px;display:flex;align-items:center;gap:11px;border-radius:4px 16px 4px 16px;background:var(--v22-navy-deep);color:#fff;box-shadow:0 14px 32px rgba(39,55,73,.12)}.v22-decade-badge strong{color:var(--v22-gold-light);font-size:3rem;font-weight:690;line-height:.9;letter-spacing:-.07em}.v22-decade-badge>span{display:flex;flex-direction:column;max-width:105px;font-size:.59rem;font-weight:720;letter-spacing:.1em;line-height:1.25}.v22-decade-badge small{margin-top:4px;color:#acbac7;font-size:.53rem;font-weight:600;letter-spacing:.08em}.v22-decade h2{margin-top:15px;font-size:clamp(3.3rem,5.7vw,6rem)}.v22-decade-copy>p:not(.v22-index){max-width:590px;margin:23px 0 0;color:var(--v22-muted)}.v22-decade-copy ul{margin:34px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(39,55,73,.18)}.v22-decade-copy li{padding:19px 20px 19px 0;display:flex;flex-direction:column;border-bottom:1px solid rgba(39,55,73,.18)}.v22-decade-copy li:nth-child(even){padding-left:20px;border-left:1px solid rgba(39,55,73,.18)}.v22-decade-copy li b{font-size:.87rem;font-weight:680}.v22-decade-copy li span{margin-top:3px;color:#6d7d8e;font-size:.7rem}.v22-decade-copy>a{margin-top:28px;display:inline-flex;gap:25px;padding:11px 0;border-bottom:1px solid var(--v22-navy);font-size:.82rem;font-weight:700}.v22-decade-copy>a span{color:var(--v22-gold)}

.v22-faq{padding:118px max(28px,calc((100vw - 1420px)/2 + 28px));display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(45px,8vw,120px);background:#fff}
.v22-faq .v22-section-head{display:block;margin:0}.v22-faq .v22-section-head h2{margin-top:16px;font-size:clamp(3rem,5vw,5.4rem)}
.v22-faq .faq-list{border-top:1px solid var(--v22-navy)}.v22-faq .faq-list details{border-color:var(--v22-line)}.v22-faq .faq-list summary{padding-block:24px;font-size:1rem}.v22-faq .faq-list p{max-width:720px}

.v22-contact{position:relative;isolation:isolate;padding:100px max(28px,calc((100vw - 1420px)/2 + 28px));grid-template-columns:.82fr 1.18fr;gap:clamp(50px,8vw,120px);background:var(--v22-blue)}
.v22-contact::before{content:"→";position:absolute;z-index:-1;left:-.08em;bottom:-.43em;color:rgba(255,255,255,.055);font:900 30rem/1 Arial,sans-serif}
.v22-contact .v22-index{color:var(--v22-gold-light)}.v22-contact h2{margin-top:16px;color:#fff;font-size:clamp(3.2rem,5.1vw,5.6rem)}.v22-contact h2 em{color:#f0d695}.v22-contact .contact-copy>p:not(.v22-index){max-width:540px;color:#dce5ee}.v22-contact .contact-direct a{border-radius:3px 12px 3px 12px}.v22-contact .contact-form{padding:35px;border-radius:5px 24px 5px 24px;box-shadow:0 28px 75px rgba(23,37,53,.2)}.v22-contact .contact-form label{font-weight:650}.v22-contact .contact-form input,.v22-contact .contact-form select,.v22-contact .contact-form textarea{border-radius:3px 10px 3px 10px;background:#fff}.v22-contact .contact-form select{width:100%;min-height:48px;padding:10px 12px;border:1px solid #cad4df;color:var(--v22-ink)}.v22-contact .button-gold{border-radius:999px}
.form-heading{padding-bottom:18px;border-bottom:1px solid var(--v22-line);display:flex;flex-direction:column;gap:4px}.form-heading span{color:var(--v22-gold);font-size:.66rem;font-weight:750;letter-spacing:.16em}.form-heading b{font-size:1.12rem;font-weight:680;line-height:1.35}.form-triplet{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.form-triplet label{margin:0}.form-submit-row{display:flex;align-items:center;gap:18px}.form-submit-row small{max-width:270px;color:var(--v22-muted);font-size:.68rem;line-height:1.45}.form-status{display:none!important;padding:13px 15px;border-radius:3px 12px 3px 12px;font-size:.79rem!important;line-height:1.45}.form-status:not(:empty){display:block!important}.form-status.is-success{background:#e7f5ee;color:#0d6d50}.form-status.is-warning{background:#fff4d8;color:#76560f}.form-status.is-error{background:#fdeced;color:#9c2634}.contact-form[aria-busy="true"] button{opacity:.65;cursor:wait}
.v22-home .site-footer{background:var(--v22-navy-deep)}
.v22-home .whatsapp-fab{right:25px;bottom:22px;border:2px solid rgba(255,255,255,.86);box-shadow:0 17px 45px rgba(19,121,91,.3)}
.v22-home .whatsapp-fab{transition:opacity .25s var(--v22-ease),transform .25s var(--v22-ease),box-shadow .2s ease}
.v22-home.fab-hidden .whatsapp-fab{opacity:0;transform:translateY(18px) scale(.88);pointer-events:none}

@media(max-width:1180px){
  .v22-page-rail{display:none}
  .v22-hero h1{font-size:clamp(4rem,7.1vw,6rem)}
  .v22-live-slip{width:min(520px,47vw)}
  .v22-service-explorer{grid-template-columns:340px 1fr}
  .v22-estimator .estimator-shell{grid-template-columns:1fr 1fr}.v22-estimator .estimator-copy{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:24px}.v22-estimator .estimator-copy .eyebrow{grid-column:1/-1}.v22-estimator .familiar-sizes{margin-top:0}
  .v22-journey{grid-template-columns:56% 44%}.v22-journey-sticky{padding-left:32px;padding-right:32px}.v22-route-label.middle{left:48%}
}

@media(max-width:960px){
  .v22-home .site-header{height:72px}.v22-home .nav-shell{padding-inline:16px}.v22-home .brand{order:1}.v22-home .language-switch{order:2;margin-left:auto}.v22-home .menu-toggle{order:3;margin-left:0}.v22-home #main-nav{top:calc(100% + 8px)}
  .v22-hero{min-height:760px}.v22-hero-copy{padding-left:28px;padding-right:28px;justify-content:flex-start;padding-top:84px}.v22-hero h1{max-width:650px;font-size:clamp(4.1rem,9vw,5.4rem)}.v22-hero-wash{background:linear-gradient(90deg,#f4f7fa 0%,rgba(244,247,250,.97) 43%,rgba(244,247,250,.55) 67%,rgba(244,247,250,.05) 100%)}.v22-hero-photo{object-position:64% center}.v22-live-slip{right:28px;bottom:30px;width:56vw}
  .v22-service-explorer{grid-template-columns:1fr;min-height:0}.v22-service-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.v22-service-tabs button{min-height:145px;padding:20px 18px;grid-template-columns:1fr}.v22-service-tabs button>i{display:none}.v22-service-tabs button::before{left:0;right:0;top:auto;bottom:0;width:auto;height:0}.v22-service-tabs button:is(:hover,.is-active)::before{width:auto;height:4px}.v22-service-stage{min-height:590px}
  .v22-journey{grid-template-columns:1fr}.v22-journey-sticky{position:relative;top:auto;height:auto;min-height:760px;padding:72px 28px 22px}.v22-route-canvas{min-height:440px;margin-top:-10px}.v22-journey-steps{padding:35px 28px 80px;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--v22-line)}.v22-journey-steps article{min-height:430px;padding:38px;background:#fff;opacity:1;transform:none;border:0}.v22-journey-steps article>span{font-size:3.4rem}
  .v22-decade{grid-template-columns:.8fr 1.2fr;gap:45px}.v22-decade-photo{height:480px}
  .v22-faq{grid-template-columns:1fr;gap:45px}
  .v22-contact{grid-template-columns:1fr}
}

@media(max-width:640px){
  .v22-home .utility-bar{height:34px;padding:0 13px}.v22-home .utility-anniversary{gap:6px}.v22-home .utility-anniversary span{display:inline;font-size:.58rem;color:#aebdcb}.v22-home .utility-bar>div a:first-child{display:none}
  .v22-home .site-header{height:68px}.v22-home .nav-shell{padding-inline:11px;gap:7px}.v22-home .brand-mark{width:41px;height:41px}.v22-home .brand>span:last-child{display:none}.v22-home .language-switch{padding:3px}.v22-home .language-switch a{padding:5px 6px;font-size:.66rem}.v22-home .language-flag{width:17px}.v22-home .menu-toggle{padding:5px}.v22-home #main-nav{top:calc(100% + 5px);left:8px;right:8px;border-radius:4px 18px 4px 18px}
  .v22-intro-card{width:84vw}.v22-intro-brand b{font-size:.92rem}.v22-intro-card>p{font-size:.75rem}
  .v22-hero{min-height:0;display:flex;flex-direction:column;background:#f4f7fa}.v22-hero-photo{position:relative;z-index:0;order:1;width:100%;height:min(37svh,310px);min-height:280px;object-position:72% 22%;transform:none}.v22-hero-wash{display:none}.v22-hero-code{z-index:1;top:172px;bottom:auto;left:-.03em;font-size:8.1rem;-webkit-text-stroke-color:rgba(255,255,255,.38)}.v22-hero-copy{order:2;min-height:0;padding:29px 18px 36px;display:flex;justify-content:flex-start;background:#f4f7fa}.v22-kicker{margin-bottom:15px;gap:7px;font-size:.56rem;letter-spacing:.075em}.v22-kicker span:last-child{white-space:nowrap}.v22-hero h1{font-size:3.12rem;line-height:.92;letter-spacing:-.058em}.v22-hero h1 em{font-size:.76em}.v22-hero-lead{margin-top:18px;font-size:.9rem;line-height:1.52}.v22-hero-actions{width:100%;display:grid;gap:8px;margin-top:20px}.v22-hero .button-primary{width:100%;min-height:52px}.v22-text-action{justify-self:start}.v22-hero-facts{width:100%;display:grid;grid-template-columns:1fr;margin-top:22px}.v22-hero-facts div{min-width:0;padding:10px 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.v22-hero-facts div+div{padding-left:0;border-left:0;border-top:1px solid rgba(39,55,73,.11)}.v22-hero-facts span{text-align:right}.v22-anniversary{margin-top:15px;width:auto;min-width:200px}.v22-live-slip{z-index:3;top:218px;bottom:auto;left:12px;right:12px;width:auto;min-height:58px;padding:10px 13px;grid-template-columns:auto 1fr auto;gap:11px;border-radius:4px 15px 4px 15px}.v22-live-slip div:nth-of-type(2){display:none}.v22-slip-code{font-size:.55rem}.v22-scroll-cue{display:none}
  .v22-route-strip{min-height:62px;padding:0 8px;grid-template-columns:repeat(3,1fr);gap:4px;overflow:hidden}.v22-route-strip i{display:none}.v22-route-strip span{min-width:0;justify-content:center;flex-direction:column;gap:2px;white-space:normal;text-align:center;font-size:.48rem;line-height:1.25;letter-spacing:.045em}.v22-route-strip span b{display:block;font-size:.45rem}.v22-route-strip span:first-of-type{display:none}
  .v22-section-head{display:block;margin-bottom:31px}.v22-section-head h2,.v22-journey h2,.v22-decade h2,.v22-contact h2{margin-top:13px;font-size:3.05rem}.v22-section-head>p:not(.v22-index){margin-top:18px;font-size:.9rem}
  .v22-services{padding:64px 12px}.v22-services .v22-section-head{padding-inline:6px}.v22-service-tabs{grid-template-columns:1fr}.v22-service-tabs button{min-height:82px;padding:14px 17px;grid-template-columns:28px 1fr auto}.v22-service-tabs button>i{display:grid;width:30px;height:30px}.v22-service-tabs button b{font-size:1.03rem}.v22-service-tabs button small{font-size:.67rem}.v22-service-stage{min-height:420px}.v22-panel-content{padding:24px 20px}.v22-panel-content h3{font-size:2.38rem}.v22-panel-content p{font-size:.81rem}.v22-service-panel img{object-position:center}.v22-service-panel:first-child img{object-position:53% center}
  .v22-estimator{padding:73px 12px}.v22-estimator .v22-section-head{padding-inline:6px}.v22-estimator .estimator-shell{grid-template-columns:1fr;gap:1px}.v22-estimator .estimator-copy{grid-column:auto;display:block;padding:27px 21px}.v22-estimator .estimator-copy h3{font-size:1.7rem}.v22-estimator .familiar-sizes{margin-top:20px}.v22-estimator .quick-estimator{padding:27px 19px}.v22-estimator .estimate-ticket{padding:34px 21px 26px}.v22-estimator .estimate-ticket::after{display:none}
  .v22-journey-sticky{min-height:590px;padding:61px 18px 14px}.v22-journey-heading>p:last-child{font-size:.78rem}.v22-route-canvas{min-height:320px;margin-top:0}.v22-route-label{padding:6px 7px}.v22-route-label.start{left:2%;top:17%}.v22-route-label.middle{left:45%;top:45%}.v22-route-label.finish{right:0;bottom:6%}.v22-route-readout{right:1%;top:3%}.v22-route-readout b{font-size:1.8rem}.v22-journey-steps{padding:1px 12px 60px;grid-template-columns:1fr;gap:1px}.v22-journey-steps article{min-height:0;padding:31px 22px}.v22-journey-steps article>span{font-size:2.75rem}.v22-journey-steps h3{font-size:2.16rem}.v22-journey-steps article>p:not(.v22-step-state){margin-top:14px}.v22-journey-steps article>small{margin-top:13px;padding-top:13px}.v22-journey .home-tracking-form{display:grid;margin-top:21px}.v22-journey .home-tracking-form button{width:100%}
  .v22-decade{padding:62px 15px;grid-template-columns:1fr;gap:31px}.v22-decade-photo{height:340px;clip-path:polygon(0 0,90% 0,100% 12%,100% 100%,10% 100%,0 88%)}.v22-decade-copy{padding-inline:3px}.v22-decade-badge{margin-bottom:22px}.v22-decade-copy ul{grid-template-columns:1fr}.v22-decade-copy li:nth-child(even){padding-left:0;border-left:0}.v22-decade-copy li{padding-block:12px}
  .v22-faq{padding:74px 18px;gap:32px}.v22-faq .v22-section-head h2{font-size:3.05rem}.v22-faq .faq-list summary{padding-block:20px}
  .v22-contact{padding:72px 15px;gap:38px}.v22-contact .contact-form{padding:24px 17px;border-radius:4px 18px 4px 18px}.v22-contact .contact-copy h2{font-size:3rem}.form-triplet{grid-template-columns:1fr}.form-submit-row{align-items:stretch;flex-direction:column}.form-submit-row small{max-width:none}.v22-contact .button-gold{width:100%}
  .v22-home .whatsapp-fab{right:12px;bottom:calc(13px + env(safe-area-inset-bottom));width:49px;height:49px}
}

@media(prefers-reduced-motion:reduce){
  .v22-home.intro-running .v22-intro{display:none}.v22-hero h1 .v22-word{opacity:1;transform:none;animation:none}.v22-route-strip i::after,.v22-live-dot,.v22-scroll-cue i{animation:none}.v22-hero-photo{transform:none}.v22-route-path{stroke-dashoffset:0}.v22-parcel-marker{display:none}
}
.v22-home.language-arrival .v22-hero h1 .v22-word{opacity:1;transform:none;animation:none}
@view-transition{navigation:auto}
::view-transition-old(root){animation:v22-page-out .16s ease both}::view-transition-new(root){animation:v22-page-in .18s ease both}
@keyframes v22-page-out{to{opacity:.2}}@keyframes v22-page-in{from{opacity:.2}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}}

/* V24 — conversion, unités de prix et célébration discrète. */
.v22-home .v22-hero h1{max-width:800px;font-size:clamp(3.6rem,5.25vw,5.75rem);line-height:.94}
.v22-home .v22-hero h1 em{font-size:.75em;line-height:1.05}
.v22-service-tabs button div{align-items:flex-start}
.v22-service-tabs .v24-price{width:fit-content;padding:5px 9px;border:1px solid #d8e0e8;border-radius:999px;background:#f5f7f9;color:#566779;font-weight:720;line-height:1.2}
.v22-service-tabs .v24-price-low{border-color:#cda75d;background:#f7edd8;color:#6f5119;box-shadow:0 6px 18px rgba(188,148,74,.12)}
.v22-service-tabs button:is(:hover,.is-active) .v24-price{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#c3ced9}
.v22-service-tabs button:is(:hover,.is-active) .v24-price-low{border-color:var(--v22-gold-light);background:var(--v22-gold);color:var(--v22-navy-deep);box-shadow:0 8px 22px rgba(188,148,74,.2)}
.v22-anniversary{isolation:isolate}
.v22-anniversary-value,.v22-anniversary-copy{position:relative;z-index:2}
.v24-confetti{position:absolute;z-index:3;inset:50% auto auto 50%;width:1px;height:1px;pointer-events:none}
.v24-confetti i{position:absolute;left:0;top:0;width:7px;height:7px;border-radius:50%;background:var(--v22-gold);opacity:0;animation:v24-confetti-pop 1.3s cubic-bezier(.18,.75,.28,1) var(--delay) both}
.v24-confetti i:nth-child(3n+2){background:var(--v22-blue);border-radius:1px}
.v24-confetti i:nth-child(3n){width:5px;height:5px;background:#fff;box-shadow:0 0 0 1px rgba(75,107,150,.25)}
.v22-anniversary.v24-celebrating{animation:v24-badge-pulse .72s var(--v22-ease) .55s both}
@keyframes v24-confetti-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.25) rotate(0)}16%{opacity:1}100%{opacity:0;transform:translate(var(--tx),var(--ty)) scale(.88) rotate(var(--rot))}}
@keyframes v24-badge-pulse{45%{transform:scale(1.025)}100%{transform:none}}

@media(max-width:640px){
  .v22-home .v22-hero h1{font-size:2.65rem;line-height:.98;letter-spacing:-.052em}
  .v22-home .v22-hero h1 em{font-size:.76em;line-height:1.08}
  .v22-service-tabs .v24-price{padding:4px 8px;font-size:.65rem}
}
@media(prefers-reduced-motion:reduce){.v24-confetti{display:none!important}.v22-anniversary.v24-celebrating{animation:none!important}}
/* Rojom-Bavaka — shared brand and accessible navigation. */
:root{--rb-ink:#273749;--rb-blue:#4b6b96;--rb-gold:#bc944a;--rb-paper:#f2f5f8;--rb-line:#d5dfe9;--rb-ease:cubic-bezier(.22,.8,.26,1)}
html{scroll-padding-top:100px}
body{font-family:"Segoe UI Variable","Segoe UI",Arial,sans-serif;line-height:1.65}
button,input,select,textarea{font:inherit}
:focus-visible{outline:3px solid #bc944a;outline-offset:4px}
.site-header .brand b{font-weight:750;letter-spacing:.015em}
.site-header .brand small{font-size:.64rem;letter-spacing:.14em}
.site-header nav a{font-size:.875rem;font-weight:600}
.site-header .header-cta{font-size:.875rem;font-weight:650;box-shadow:none}
.site-header .header-cta::after{content:none}
.language-flag{display:inline-block;flex:none;width:19px;height:13px;border:1px solid #cbd5df;border-radius:2px;overflow:hidden}
.flag-fr{background:linear-gradient(90deg,#0055a4 0 33.333%,#fff 33.333% 66.666%,#ef4135 66.666%)}
.flag-mg{background:linear-gradient(90deg,#fff 0 33.333%,transparent 33.333%),linear-gradient(#fc3d32 0 50%,#007e3a 50%)}
.site-footer{color:#fff}.site-footer p,.site-footer a,.site-footer>div>span{color:#d3dfe9}.site-footer h2,.site-footer .brand{color:#fff}.site-footer a:hover{color:#efd79f}.site-footer .footer-bottom{color:#bbcbd9}
.site-footer .footer-bottom a{min-height:40px;display:inline-flex;align-items:center}
.site-header .language-switch a{min-height:34px;gap:6px}
.site-header .menu-toggle{min-width:44px;min-height:44px}
.rb-inner header{background:#fff}.rb-inner header .brand{font-size:.9rem;font-weight:700;letter-spacing:.01em}.rb-inner header .brand small{font-size:.6rem;letter-spacing:.12em;font-weight:500}.rb-inner #navigation a{font-size:.875rem;font-weight:600;letter-spacing:0}.rb-inner .inner-hero h1{font-weight:600;letter-spacing:-.035em;line-height:1.13}.rb-inner .inner-hero p{font-size:1.0625rem;line-height:1.7}.rb-inner .card,.rb-inner .agency-info{border-radius:14px;box-shadow:none}.rb-inner .card h3{font-weight:600;letter-spacing:-.025em}.rb-inner .card p{line-height:1.7}.rb-inner .section-head h2{font-weight:600;letter-spacing:-.03em;line-height:1.2}.rb-inner footer a,.rb-inner footer p{font-size:.9375rem;line-height:1.7}.rb-inner .language-switch{gap:6px}.rb-inner .language-switch a{display:inline-flex;align-items:center;gap:6px;min-height:34px}.rb-inner .menu{min-height:44px}.quote-success{padding:14px;background:#e7f5ee;color:#0d6d50;border-radius:8px;font-size:1rem;line-height:1.6}
.tracking-page .tracking-intro h1{font-weight:600;line-height:1.15;letter-spacing:-.04em}.tracking-page .tracking-card{border-radius:18px;box-shadow:0 16px 32px #27374908}.tracking-page .tracking-choice label span{font-size:.875rem}.tracking-page .tracking-field{font-weight:600}.tracking-page .tracking-field input{font-size:1rem;min-height:48px;border-radius:8px}.tracking-page .tracking-result-title h2{font-weight:600;line-height:1.3}
/* Keep text on the brand's dark panels above generic .content heading rules. */
.rb-inner .contact-card h2,.rb-inner .contact-card h3,.rb-inner .band h2,.rb-inner .band h3{color:#fff}
.rb-inner .contact-card p,.rb-inner .contact-card small,.rb-inner .band p,.rb-inner .band small{color:#dce5ef}
.rb-inner .contact-card .eyebrow,.rb-inner .band .eyebrow{color:#e8c982}
.rb-inner .contact-card>a:not(.btn),.rb-inner .band a:not(.btn){color:#fff;text-decoration-color:#e8c982;overflow-wrap:anywhere}
.rb-inner .contact-card>a:not(.btn):hover,.rb-inner .band a:not(.btn):hover{color:#efd79f}
.rb-inner .contact-card .btn,.rb-inner .band .btn{color:#172438}
@media(max-width:960px){.site-header .nav-shell{gap:14px}.site-header nav a{font-size:1rem;min-height:44px}.site-header .language-switch{margin-left:auto}.site-header .menu-toggle{margin-left:0}}
@media(max-width:640px){
 .rb-inner header .brand{font-size:.72rem}.rb-inner header .brand small{font-size:.5rem}.rb-inner .inner-hero{padding-block:44px}.rb-inner .inner-hero h1{font-size:2.25rem;line-height:1.2}.rb-inner .inner-hero p{font-size:1rem}.rb-inner #navigation a{font-size:.9375rem;min-height:44px}.tracking-page .tracking-intro h1{font-size:2.4rem}.tracking-page .tracking-intro p{font-size:1rem}.tracking-page .tracking-card{padding:24px 18px}
 .site-header .brand>span:last-child{display:flex!important;flex-direction:column}.site-header .brand b{font-size:.71rem}.site-header .brand small{font-size:.5rem;letter-spacing:.08em}.site-header .brand{gap:7px}.site-header .brand-mark{width:35px;height:35px;font-size:.9rem}.site-header .nav-shell{padding-inline:14px;gap:10px}.site-header .language-switch a{padding:4px 5px;font-size:.75rem}.site-header .language-switch{padding:2px}.site-header .language-flag{width:16px;height:11px}.site-header .menu-toggle b{display:none}
 .site-footer{padding-bottom:36px}.site-footer a,.site-footer p{font-size:.9375rem}.utility-bar a{font-size:.75rem}
}
@media(max-width:359px){.site-header .brand small{display:none}.site-header .brand b{font-size:.63rem}.site-header .nav-shell{gap:6px;padding-inline:10px}.site-header .language-switch a{gap:3px;padding-inline:4px}.site-header .brand-mark{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* Le carnet de route: editorial spacing, the team in view, direct actions. */
.v25-home{--v22-navy-deep:#203247;--v22-muted:#566779;--v22-cream:#fff;background:#fff}
.v25-home .utility-bar{height:34px;font-size:.75rem;letter-spacing:.02em}
.v25-home .site-header{height:82px;background:rgba(255,255,255,.97);backdrop-filter:blur(10px)}
.v25-home .nav-shell{max-width:1440px;gap:22px;padding-inline:32px}.v25-home #main-nav{gap:20px}.v25-home .header-cta{min-height:44px;background:var(--v22-blue);color:#fff}
.v25-home .brand-mark{border-radius:12px 3px 12px 3px;background:#4b6b96}
.v25-home .v22-page-rail,.v25-home .v22-scroll-cue,.v25-home .v22-hero-code,.v25-home .v22-hero-wash{display:none}
.v25-home .v22-hero{display:grid;grid-template-columns:1.08fr 1fr;gap:30px;max-width:1440px;min-height:0;padding:38px 32px 42px;background:#fff;overflow:visible;isolation:auto}
.v25-home .v22-hero-copy{width:auto;min-height:0;padding:40px 18px 30px 8px;justify-content:center;order:0}
.v25-home .v22-kicker{flex-wrap:wrap;font-size:.8rem;letter-spacing:.09em;font-weight:650;margin-bottom:24px;gap:12px;color:#4b6b96}
.v25-home .v22-kicker span:last-child{font-size:.75rem;letter-spacing:.04em;color:#566779}
.v25-home .v22-hero h1{font-size:clamp(3.2rem,4.8vw,4.75rem);font-weight:650;letter-spacing:-.045em;line-height:1.04;max-width:700px}
.v25-home .v22-hero h1 em{font-size:.9em;letter-spacing:-.04em;line-height:1.1;margin-top:.06em}
.v25-home .v22-hero-lead{font-size:1.0625rem;line-height:1.7;max-width:540px;margin-top:26px;color:#566779}
.v25-home .v22-hero-actions{gap:24px;margin-top:28px;flex-wrap:wrap}.v25-home .v22-hero .button-primary{background:#4b6b96;box-shadow:none;min-height:54px;font-weight:650;border-radius:12px 3px 12px 3px;transition:background .2s,transform .2s}.v25-home .v22-hero .button-primary:hover{background:#344f72;transform:translateY(-2px)}
.v25-home .v22-text-action{font-size:.9375rem;font-weight:600;border-bottom:1px solid #b6c3d1;padding:10px 0}.v25-home .v22-text-action i{display:none}
.v25-home .v22-hero-facts{margin-top:30px;gap:18px;max-width:580px;width:100%;border:0}.v25-home .v22-hero-facts div{min-width:0;padding:0;flex:1}.v25-home .v22-hero-facts div+div{border:0;padding:0}.v25-home .v22-hero-facts strong{font-size:.875rem;font-weight:650;line-height:1.4}.v25-home .v22-hero-facts span{font-size:.8125rem;color:#627488;line-height:1.45;margin-top:6px}
.v25-home .v22-anniversary{margin-top:30px;min-width:0;padding:10px 14px;height:68px;gap:13px;background:#fff;border-radius:12px 3px 12px 3px;border:1px solid #cfb47c;box-shadow:none;backdrop-filter:none}.v25-home .v22-anniversary-value strong{font-size:2.6rem;letter-spacing:-.035em}.v25-home .v22-anniversary-value b{font-size:.75rem}.v25-home .v22-anniversary-copy{font-size:.6875rem;letter-spacing:.075em}.v25-home .v22-anniversary-copy small{font-size:.6875rem;letter-spacing:.05em;color:#566779}
.v25-hero-media{position:relative;min-width:0;min-height:590px;margin:0;background:#e7edf4;border-radius:100px 8px 80px 8px;isolation:isolate;overflow:hidden}
.v25-home .v22-hero-photo{position:absolute;z-index:-1;inset:0;order:0;width:100%;height:100%;min-height:0;object-fit:cover;object-position:88% center;transform:translate3d(var(--portrait-x,0px),var(--portrait-y,0px),0) scale(1.03);will-change:auto;transition:transform .7s var(--rb-ease)}
.v25-hero-media::before{content:"";position:absolute;z-index:0;inset:16px;border:1px solid rgba(255,255,255,.7);border-radius:86px 4px 66px 4px;pointer-events:none}
.v25-hero-media figcaption{position:absolute;left:24px;right:24px;bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-radius:12px;background:#fff;color:#273749;box-shadow:0 12px 32px #2737490a;font-size:.875rem;line-height:1.35}.v25-hero-media figcaption small{font-size:.75rem;color:#65768a}.v25-hero-media figcaption b{font-weight:650;display:block;margin-top:4px}.v25-hero-media figcaption>span:last-child{color:#4b6b96;font-size:.875rem;font-weight:600}
.v25-home .v22-route-strip{padding:22px max(32px,calc((100vw - 1376px)/2));grid-template-columns:auto 1fr auto 1fr auto;min-height:90px;gap:28px;background:#273749;color:#fff;border:0}.v25-home .v22-route-strip span{display:flex;flex-direction:column;gap:3px;align-items:flex-start;letter-spacing:0;font-size:.9375rem;font-weight:550}.v25-home .v22-route-strip span b{font-size:.6875rem;font-weight:550;letter-spacing:.13em;color:#e7cb8d;opacity:1}.v25-home .v22-route-strip i{background:#617387;height:1px;overflow:visible}.v25-home .v22-route-strip i::after{width:20px;left:0;top:-2px;height:5px;border-radius:4px;background:#bc944a;animation:v25-signal 5s ease-in-out infinite;transform:translateX(0)}
@keyframes v25-signal{0%,10%{transform:translateX(0);opacity:0}20%{opacity:1}80%{transform:translateX(100px);opacity:1}100%{transform:translateX(100px);opacity:0}}
.v25-home .v22-section-head{max-width:1376px;margin-bottom:34px;column-gap:64px;row-gap:14px;grid-template-columns:1.3fr .7fr}.v25-home .v22-index{font-size:.75rem;color:#8a692d;font-weight:650;letter-spacing:.12em}
.v25-home .v22-section-head h2,.v25-home .v22-journey h2,.v25-home .v22-decade h2,.v25-home .v22-contact h2{font-size:clamp(2.3rem,3.6vw,3.75rem);font-weight:650;letter-spacing:-.035em;line-height:1.13}.v25-home .v22-section-head h2 em,.v25-home .v22-journey h2 em,.v25-home .v22-decade h2 em,.v25-home .v22-contact h2 em{letter-spacing:-.025em}.v25-home .v22-section-head>p:not(.v22-index){font-size:1rem;line-height:1.7}
.v25-home .v22-services{padding:84px max(32px,calc((100vw - 1376px)/2))}.v25-home .v22-service-explorer{min-height:490px;max-width:1376px;grid-template-columns:.85fr 1.15fr;border-radius:20px;border:1px solid #d5dfe9;background:#f2f5f8}.v25-home .v22-service-tabs button{min-height:155px;grid-template-columns:40px 1fr;gap:14px;padding:26px 28px}.v25-home .v22-service-tabs button>span{font-size:.875rem;font-weight:550}.v25-home .v22-service-tabs button>i{display:none}.v25-home .v22-service-tabs button b{font-size:1.4rem;line-height:1.3;font-weight:600;letter-spacing:-.02em}.v25-home .v24-price{font-size:.875rem;font-weight:600;padding:5px 10px}.v25-home .v22-service-stage{min-height:490px}.v25-home .v22-panel-content{padding:32px;bottom:0}.v25-home .v22-panel-content>span{font-size:.75rem;font-weight:600;letter-spacing:.09em}.v25-home .v22-panel-content h3{font-size:clamp(2rem,3vw,3.25rem);font-weight:600;letter-spacing:-.025em;line-height:1.12}.v25-home .v22-panel-content p{font-size:1rem;line-height:1.6;color:#edf2f7}.v25-home .v22-panel-content a{font-size:.9375rem;min-height:48px;font-weight:650}.v25-home .v22-panel-content a b{display:none}
.v25-home .v22-estimator{padding:76px max(32px,calc((100vw - 1376px)/2));background:#f2f5f8;color:#273749}.v25-home .v22-estimator::before{display:none}.v25-home .v22-section-head-light h2{color:#273749}.v25-home .v22-section-head-light h2 em{color:#4b6b96}.v25-home .v22-section-head-light>p:not(.v22-index){color:#566779}.v25-home .v22-estimator .estimator-shell{max-width:1376px;grid-template-columns:.62fr 1fr .8fr;border:0;gap:24px;align-items:start;background:none}.v25-home .v22-estimator .estimator-copy{background:transparent;padding:22px 10px 0 0;color:#273749}.v25-home .v22-estimator .estimator-copy .eyebrow{font-size:.75rem;color:#4b6b96}.v25-home .v22-estimator .estimator-copy h3{font-size:1.6rem;letter-spacing:-.025em;font-weight:600;line-height:1.25}.v25-home .v22-estimator .estimator-copy>p:not(.eyebrow){color:#566779;font-size:.9375rem}.v25-home .v22-estimator .familiar-sizes{gap:0}.v25-home .v22-estimator .familiar-sizes span{font-size:.875rem;border-bottom:1px solid #d5dfe9;padding:12px 0;grid-template-columns:30px 1fr}.v25-home .v22-estimator .quick-estimator{padding:26px;border-radius:16px;background:#fff;border:1px solid #d5dfe9}.v25-home .mode-picker legend,.v25-home .select-field,.v25-home .field-label{font-size:.875rem;font-weight:600}.v25-home .v22-estimator .mode-picker span{font-size:.875rem;border-radius:8px}.v25-home .v22-estimator .dimensions input,.v25-home .v22-estimator .select-field select{border-radius:8px;font-size:1rem;min-height:48px}.v25-home .measure-panel>label{font-size:.875rem}.v25-home .range-labels{font-size:.8125rem}.v25-home .v22-estimator .estimate-ticket{position:relative;overflow:visible;padding:28px;border-radius:0 0 16px 16px;background:#fff;border:1px solid #d5dfe9;border-top:4px solid #bc944a;box-shadow:0 16px 32px #27374908}.v25-home .v22-estimator .estimate-ticket::after{display:none}.v25-home .ticket-top,.v25-home .ticket-route{font-size:.8125rem}.v25-home .ticket-top small{font-size:.75rem}.v25-home .estimate-ticket dl{font-size:.9375rem}.v25-home .ticket-total>span{font-size:1rem}.v25-home .ticket-total strong{font-size:2.4rem;font-weight:650;letter-spacing:-.04em}.v25-home #ticket-note{font-size:.875rem;line-height:1.6}.v25-home .estimate-ticket .button{font-size:.9375rem;background:#4b6b96;border-radius:10px;min-height:50px}.v25-estimate-guidance{font-size:.8125rem;line-height:1.6;color:#566779;margin:16px 0 0}.v25-estimate-guidance a{color:#344f72;text-decoration:underline;text-underline-offset:3px}
.v25-home .v22-journey{grid-template-columns:1fr 1fr;margin:0;background:#fff}.v25-home .v22-journey-sticky{position:sticky;top:68px;height:auto;min-height:710px;max-height:850px;padding:64px 40px 30px max(32px,calc((100vw - 1376px)/2));background:#273749;align-self:start}.v25-home .v22-journey .v22-index{color:#e7cb8d}.v25-home .v22-journey-heading>p:last-of-type{font-size:1rem;line-height:1.7;color:#d2dfeb}.v25-home .v22-route-canvas{min-height:310px;margin:12px 0 0}.v25-home .v22-route-label b{font-size:.75rem}.v25-home .v22-route-label span{font-size:.75rem;color:#d2dfeb}.v25-home .v22-route-readout{display:none}.v25-home .v22-journey-steps{padding:44px max(32px,calc((100vw - 1376px)/2)) 44px 42px}.v25-home .v22-journey-steps article{min-height:0;padding:25px 0 26px;opacity:1;transform:none;border-bottom:1px solid #d5dfe9;position:relative}.v25-home .v22-journey-steps article>span{position:absolute;right:0;top:27px;font-size:2rem;font-weight:500;color:#6b7988}.v25-home .v22-journey-steps article.is-active>span{color:#a6833e}.v25-home .v22-step-state{font-size:.75rem;letter-spacing:.1em;color:#4b6b96;margin:0 48px 6px 0}.v25-home .v22-journey-steps h3{font-size:1.5rem;font-weight:600;letter-spacing:-.025em;line-height:1.3;margin:0 45px 0 0}.v25-home .v22-journey-steps article>p:not(.v22-step-state){font-size:.9375rem;color:#566779;line-height:1.65;margin-top:10px}.v25-home .v22-journey-steps article>small{font-size:.8125rem;color:#566779;padding:0;margin:8px 0 0;border:0}.v25-home .v22-journey .home-tracking-form{display:flex;max-width:480px;background:#fff;border:1px solid #8294a7;border-radius:10px;padding:5px;margin-top:24px}.v25-home .home-tracking-form input{color:#273749;min-height:44px;font-size:1rem;border:0;background:#fff;min-width:0}.v25-home .home-tracking-form label{min-width:0;flex:1}.v25-home .home-tracking-form button{border-radius:7px;font-size:.9375rem;min-height:44px;background:#4b6b96;padding:8px 20px}.v25-tracking-help{display:block;max-width:480px;margin-top:12px;font-size:.875rem!important;color:#d2dfeb!important;text-decoration:underline;text-underline-offset:4px}
.v25-home .v22-decade{padding:84px max(32px,calc((100vw - 1376px)/2));max-width:none;gap:64px;grid-template-columns:1fr 1fr;background:#fff}.v25-home .v22-decade-photo{height:480px;border-radius:24px 80px 24px 24px;clip-path:none}.v25-home .v22-decade-photo>span{font-size:.875rem}.v25-home .v22-decade-badge strong{font-size:4rem;font-weight:600;letter-spacing:-.04em}.v25-home .v22-decade-badge span,.v25-home .v22-decade-badge small{font-size:.75rem}.v25-home .v22-decade-copy>p:not(.v22-index){font-size:1rem;color:#566779;line-height:1.7}.v25-home .v22-decade-copy li b{font-size:.9375rem;font-weight:650}.v25-home .v22-decade-copy li span{font-size:.875rem;color:#566779}.v25-home .v22-decade-copy>a{font-size:.9375rem;font-weight:600}.v25-home .v22-decade-copy>a span{display:none}
.v25-home .v22-faq{padding:72px max(32px,calc((100vw - 1376px)/2));gap:60px;background:#f2f5f8}.v25-home .v22-faq .faq-list summary{font-size:1rem;font-weight:600;line-height:1.6;padding-block:20px}.v25-home .v22-faq .faq-list p{font-size:.9375rem;line-height:1.7}
.v25-home .v22-contact{padding:76px max(32px,calc((100vw - 1376px)/2));gap:58px;background:#273749;grid-template-columns:.8fr 1.2fr}.v25-home .v22-contact::before{display:none}.v25-home .v22-contact .v22-index{color:#e7cb8d}.v25-home .v22-contact .contact-copy>p:not(.v22-index){font-size:1rem;line-height:1.7}.v25-home .v22-contact .contact-form{padding:30px;border-radius:18px;box-shadow:none}.v25-home .v22-contact .contact-form label{font-size:.875rem;line-height:1.6;font-weight:600}.v25-home .contact-form input,.v25-home .contact-form select,.v25-home .contact-form textarea{font-size:1rem!important;border-radius:8px!important;min-height:48px}.v25-home .form-heading span{font-size:.75rem;color:#8b682d}.v25-home .form-heading b{font-size:1rem;font-weight:550;color:#566779}.v25-home .form-submit-row small{font-size:.8125rem}.v25-home .form-status{font-size:.9375rem!important}.v25-home .contact-direct a{font-size:.9375rem;min-height:44px}.v25-home .v22-contact .button-gold{border-radius:8px;color:#172438;font-size:.9375rem;font-weight:650}
.v25-home .site-footer{padding-top:52px}.v25-home .site-footer h2{font-size:1rem;font-weight:650}.v25-home .site-footer a,.v25-home .site-footer p{font-size:.9375rem}
@media(min-width:1600px){.v25-home .v22-hero{padding-inline:32px}.v25-home .v22-hero h1{font-size:5rem}}
@media(max-width:1180px){.v25-home .nav-shell{gap:14px;padding-inline:22px}.v25-home #main-nav{gap:14px}.v25-home .brand small{letter-spacing:.08em}.v25-home .v22-hero{gap:24px;padding-inline:24px}.v25-home .v22-hero-copy{padding-left:0}.v25-home .v22-hero h1{font-size:3.6rem}.v25-hero-media{min-height:580px}.v25-home .v22-estimator .estimator-shell{grid-template-columns:1fr 1fr}.v25-home .v22-estimator .estimator-copy{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px 40px;padding:0}.v25-home .v22-estimator .estimator-copy .eyebrow{grid-column:1}.v25-home .v22-estimator .estimator-copy h3{grid-column:1}.v25-home .v22-estimator .familiar-sizes{grid-column:2;grid-row:1/4;margin:0}.v25-home .v22-estimator .estimator-copy>p:not(.eyebrow){margin:0}.v25-home .v22-journey-sticky{padding-left:28px;padding-right:28px}.v25-home .v22-journey-steps{padding-inline:28px}.v25-home .v22-decade{gap:40px}.v25-home .v22-contact{gap:35px}}
@media(max-width:960px){.v25-home .site-header{height:72px}.v25-home .nav-shell{gap:16px}.v25-home .v22-hero h1{font-size:3.25rem}.v25-home .v22-hero-copy{padding-top:22px;padding-right:0}.v25-hero-media{min-height:580px}.v25-home .v22-hero-lead{font-size:1rem}.v25-home .v22-hero-actions{gap:12px}.v25-home .v22-hero-facts{display:none}.v25-home .v22-route-strip{gap:18px}.v25-home .v22-service-explorer{grid-template-columns:.85fr 1.15fr}.v25-home .v22-service-tabs{display:flex}.v25-home .v22-service-tabs button{padding:20px;grid-template-columns:1fr;gap:7px}.v25-home .v22-service-tabs button b{font-size:1.2rem}.v25-home .v22-service-tabs button::before{top:0;bottom:0;left:0;right:auto;height:auto;width:0}.v25-home .v22-service-tabs button.is-active::before{width:4px;height:auto}.v25-home .v22-panel-content{padding:25px}.v25-home .v22-journey{grid-template-columns:1fr}.v25-home .v22-journey-sticky{position:relative;top:auto;min-height:0;display:grid;grid-template-columns:1.15fr .85fr;gap:30px;padding:50px 28px}.v25-home .v22-route-canvas{min-height:300px;margin:0}.v25-home .v22-route-label.middle{left:40%}.v25-home .v22-journey-steps{display:grid;grid-template-columns:1fr 1fr;background:#fff;gap:16px 30px;padding:20px 28px 40px}.v25-home .v22-journey-steps article{background:none;min-height:0}.v25-home .v22-decade{gap:32px}.v25-home .v22-decade-photo{height:440px}.v25-home .v22-decade-copy ul{grid-template-columns:1fr}.v25-home .v22-contact{grid-template-columns:1fr}.v25-home .v22-faq{gap:25px}}
@media(max-width:640px){
 .v25-home .site-header{height:68px}.v25-home .nav-shell{padding-inline:14px;gap:10px}.v25-home .brand>span:last-child{display:flex}.v25-home .brand-mark{width:35px;height:35px}.v25-home .utility-bar{padding-inline:14px}.v25-home .utility-anniversary span{font-size:.6875rem}.v25-home .language-switch a{font-size:.75rem;padding:4px 5px}.v25-home .v22-hero{display:flex;flex-direction:column;padding:25px 18px 28px;gap:24px}.v25-home .v22-hero-copy{order:0;background:#fff;padding:0}.v25-home .v22-kicker{font-size:.7rem;letter-spacing:.065em;margin-bottom:20px;gap:8px}.v25-home .v22-kicker span:last-child{font-size:.6875rem}.v25-home .v22-hero h1{font-size:clamp(2.4rem,8.8vw,3.4rem);line-height:1.1;letter-spacing:-.04em}.v25-home .v22-hero h1 em{font-size:.91em;line-height:1.12}.v25-home .v22-hero-lead{font-size:1rem;line-height:1.65;margin-top:20px}.v25-home .v22-hero-actions{width:100%;display:grid;grid-template-columns:1fr;gap:10px;margin-top:22px}.v25-home .v22-hero .button-primary{min-height:52px;font-size:1rem;border-radius:10px}.v25-home .v22-text-action{font-size:.9375rem;justify-self:center;padding:4px 0}.v25-home .v22-anniversary{margin-top:20px;height:60px;padding:8px 12px;align-self:flex-start}.v25-home .v22-anniversary-value strong{font-size:2.25rem}.v25-home .v22-anniversary-copy{font-size:.65rem}.v25-hero-media{min-height:0;height:330px;order:1;width:100%;border-radius:64px 8px 48px 8px}.v25-home .v22-hero-photo{position:absolute;height:100%;object-position:81% 25%;transform:scale(1.01)}.v25-hero-media::before{inset:10px;border-radius:54px 4px 38px 4px}.v25-hero-media figcaption{left:14px;right:14px;bottom:14px;padding:12px 14px;font-size:.875rem}.v25-hero-media figcaption>span:last-child{font-size:.75rem;max-width:90px;text-align:right}.v25-home .v22-route-strip{min-height:92px;padding:18px;gap:10px;grid-template-columns:1fr 20px 1fr 20px 1fr}.v25-home .v22-route-strip span:first-of-type{display:flex}.v25-home .v22-route-strip span{font-size:.75rem;gap:4px;text-align:left;align-items:flex-start;line-height:1.35}.v25-home .v22-route-strip span b{font-size:.625rem;letter-spacing:.08em}.v25-home .v22-route-strip i{display:block}.v25-home .v22-route-strip i::after{width:5px;animation:none;left:45%}
 .v25-home .v22-section-head{margin-bottom:26px;display:block}.v25-home .v22-section-head h2,.v25-home .v22-journey h2,.v25-home .v22-decade h2,.v25-home .v22-contact h2{font-size:2.5rem;line-height:1.13;margin-top:12px}.v25-home .v22-section-head>p:not(.v22-index){font-size:.9375rem;margin-top:16px}.v25-home .v22-index{font-size:.75rem}.v25-home .v22-services{padding:52px 18px}.v25-home .v22-services .v22-section-head{padding:0}.v25-home .v22-service-explorer{display:flex;flex-direction:column;border-radius:14px}.v25-home .v22-service-tabs button{grid-template-columns:28px 1fr;padding:16px;min-height:94px;gap:10px}.v25-home .v22-service-tabs button>span{font-size:.8125rem}.v25-home .v22-service-tabs button b{font-size:1.125rem}.v25-home .v24-price{font-size:.8125rem;padding:4px 8px}.v25-home .v22-service-stage{min-height:360px}.v25-home .v22-panel-content{padding:22px}.v25-home .v22-panel-content h3{font-size:2rem}.v25-home .v22-panel-content p{font-size:.9375rem;line-height:1.6}.v25-home .v22-panel-content>span{font-size:.6875rem}.v25-home .v22-panel-content a{margin-top:15px;font-size:.9375rem}
 .v25-home .v22-estimator{padding:52px 18px}.v25-home .v22-estimator .v22-section-head{padding:0}.v25-home .v22-estimator .estimator-shell{grid-template-columns:1fr;gap:18px}.v25-home .v22-estimator .estimator-copy{display:block;grid-column:auto;padding:0}.v25-home .v22-estimator .estimator-copy>.eyebrow,.v25-home .v22-estimator .estimator-copy>p:not(.eyebrow),.v25-home .v22-estimator .estimator-copy h3{display:none}.v25-home .v22-estimator .familiar-sizes{display:flex;flex-wrap:wrap;gap:8px;margin:0}.v25-home .v22-estimator .familiar-sizes span{display:flex;gap:6px;border:1px solid #d5dfe9;border-radius:7px;padding:7px 9px;background:#fff;font-size:.8125rem;flex:none}.v25-home .v22-estimator .familiar-sizes span b{font-size:1rem}.v25-home .v22-estimator .quick-estimator{padding:22px 18px}.v25-home .v22-estimator .estimate-ticket{padding:24px}.v25-home .ticket-total strong{font-size:2.3rem}.v25-home .ticket-top small{max-width:115px;text-align:right}.v25-home .mode-picker label{min-width:0}
 .v25-home .v22-journey-sticky{display:block;padding:48px 18px 30px}.v25-home .v22-journey-heading>p:last-of-type{font-size:.9375rem}.v25-home .v22-route-canvas{min-height:220px;height:220px;margin-top:16px}.v25-home .v22-route-label{padding:5px 7px}.v25-home .v22-route-label b,.v25-home .v22-route-label span{font-size:.6875rem}.v25-home .v22-route-label.start{top:8%}.v25-home .v22-route-label.finish{bottom:3%;right:0}.v25-home .v22-route-label.middle{top:39%;left:44%}.v25-home .v22-journey-steps{padding:12px 18px 32px;display:block}.v25-home .v22-journey-steps article{padding:23px 0}.v25-home .v22-journey-steps article>span{font-size:1.65rem}.v25-home .v22-journey-steps h3{font-size:1.3rem}.v25-home .v22-journey-steps article>p:not(.v22-step-state){font-size:.9375rem}.v25-home .v22-journey-steps article>small{font-size:.8125rem}.v25-home .v22-journey .home-tracking-form{display:flex;margin-top:22px}.v25-home .v22-journey .home-tracking-form button{width:auto;padding-inline:14px}.v25-home .v22-journey .home-tracking-form input{padding-left:8px}
 .v25-home .v22-decade{padding:52px 18px;display:flex;flex-direction:column;gap:28px}.v25-home .v22-decade-photo{width:100%;height:280px;border-radius:14px 56px 14px 14px}.v25-home .v22-decade-copy{padding:0}.v25-home .v22-decade-copy ul{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.v25-home .v22-decade-copy li:nth-child(even){padding-left:0;border-left:0}.v25-home .v22-decade-badge{margin-bottom:20px}.v25-home .v22-decade-badge strong{font-size:3.3rem}.v25-home .v22-faq{padding:48px 18px;gap:20px}.v25-home .v22-faq .v22-section-head h2{font-size:2.5rem}.v25-home .v22-faq .faq-list summary{font-size:.9375rem}.v25-home .v22-contact{padding:48px 18px;gap:28px}.v25-home .v22-contact .contact-copy h2{font-size:2.5rem}.v25-home .v22-contact .contact-form{padding:24px 18px;gap:16px}.v25-home .form-triplet{gap:16px}.v25-home .v22-contact .button-gold{font-size:1rem;min-height:52px}.v25-home .whatsapp-fab{width:48px;height:48px;right:14px;bottom:18px}
}
.v25-home .v22-estimator .familiar-sizes span{color:#526276}.v25-home .v22-estimator .quick-estimator{box-shadow:none}.v25-home .v22-estimator .mode-picker input:checked+span{box-shadow:none}.v25-home .v22-estimator .estimate-ticket .button{box-shadow:none}.v25-home .v25-estimate-guidance{margin-top:14px;line-height:1.65;color:#566779}
@media(prefers-reduced-motion:reduce){.v25-home .v22-route-strip i::after{animation:none}.v25-home .v22-hero-photo{transform:none!important}}

/* La photo de studio retrouve toute la largeur de l’accueil, sans carte. */
.v25-home .v22-hero{display:block;position:relative;max-width:none;isolation:isolate;overflow:hidden;padding:0 max(32px,calc((100vw - 1376px)/2));background:#e5ebf2}
.v25-home .v22-hero-copy{position:relative;z-index:1;width:52%;max-width:700px;margin:0;padding:64px 16px 60px 0;background:transparent}
.v25-home .v25-hero-media{position:absolute;z-index:0;inset:0;width:100%;height:100%;min-height:0;margin:0;border:0;border-radius:0;box-shadow:none;background:transparent;overflow:hidden}
.v25-home .v25-hero-media::before{content:none}
.v25-home .v25-hero-media figcaption{display:none}
.v25-home .v22-hero-photo{z-index:0;object-position:70% top;transform:none;transition:none}
@media(max-width:960px){
 .v25-home .v22-hero{display:flex;flex-direction:column;gap:0;padding:0;background:#fff}
 .v25-home .v22-hero-copy{width:100%;max-width:none;padding:36px 28px 32px}
 .v25-home .v25-hero-media{position:relative;inset:auto;height:clamp(320px,48vw,440px);width:100%;order:1;border-radius:0}
 .v25-home .v22-hero-photo{object-position:80% 15%;transform:none}
}
@media(max-width:640px){
 .v25-home .v22-hero-copy{padding:25px 18px 28px}
 .v25-home .v25-hero-media{height:330px}
 .v25-home .v22-hero-photo{object-position:80% 15%}
}
.v25-home .v25-hero-media picture{position:absolute;inset:0;display:block;width:100%;height:100%}
.v25-home #service-panel-parcel>img{object-position:center 20%}
.v25-home .v22-decade-photo>img{object-position:center 23%}
@media(max-width:960px){.v25-home .v22-hero-photo{object-position:center 20%}}

/* A constant header height prevents scroll anchoring from crossing the shadow threshold. */
.v25-home .site-header,.v25-home .site-header.scrolled{height:82px;transition:box-shadow .2s ease}
.v25-home #service-panel-moving>img{object-position:center 35%}
@media(max-width:960px){.v25-home .site-header,.v25-home .site-header.scrolled{height:72px}}
@media(max-width:640px){.v25-home .site-header,.v25-home .site-header.scrolled{height:68px}}

/* Keep the route signal alive only while it can be seen. Its visual design and
   position do not change when the animation is paused off screen. */
.v22-route-strip.rb-motion-paused i::after{animation-play-state:paused}

/* The supplied Rojom-Bavaka artwork is displayed without a frame or recolouring. */
.brand.rb-brand{display:inline-flex;align-items:center;gap:0;flex-shrink:0;text-decoration:none;line-height:1}
.brand.rb-brand .rb-logo{display:block;width:240px;max-width:none;height:auto;flex:none;object-fit:contain;border:0;border-radius:0;background:none;box-shadow:none}
.rb-inner header .brand.rb-brand .rb-logo{width:220px}
.topbar .brand.rb-brand{gap:18px}
.topbar .brand.rb-brand .rb-logo{width:225px}
.brand.rb-brand .rb-brand-context{font-size:.75rem;line-height:1.4;font-weight:500;color:#526276;letter-spacing:0;white-space:nowrap}
.header .brand.rb-brand .rb-logo{width:235px}
footer .brand.rb-brand .rb-logo{width:270px;max-width:100%}
.ticket-heading{align-items:center;flex-wrap:wrap}
.ticket-heading .ticket-company-logo{display:block;width:180px;height:auto;max-width:100%;object-fit:contain}
@media(max-width:1200px){.site-header .brand.rb-brand .rb-logo{width:205px}.rb-inner header .brand.rb-brand .rb-logo{width:195px}}
@media(max-width:960px){.site-header .brand.rb-brand .rb-logo{width:210px}.rb-inner header .brand.rb-brand .rb-logo{width:195px}}
@media(max-width:640px){
 .site-header .brand.rb-brand .rb-logo{width:170px}
 .rb-inner header .brand.rb-brand .rb-logo{width:165px}
 .header .brand.rb-brand .rb-logo{width:190px}
 .topbar .brand.rb-brand .rb-logo{width:175px}
 .topbar .brand.rb-brand .rb-brand-context{display:none!important}
 footer .brand.rb-brand .rb-logo{width:250px}
 .ticket-heading .ticket-company-logo{width:160px}
 .ticket-heading>span{font-size:.625rem}
}
@media(max-width:359px){
 .site-header .brand.rb-brand .rb-logo{width:140px}
 .rb-inner header .brand.rb-brand .rb-logo{width:145px}
 .header .brand.rb-brand .rb-logo{width:170px}
 .topbar .brand.rb-brand .rb-logo{width:150px}
}

.rb-consent{position:fixed;z-index:9999;bottom:24px;left:24px;right:24px;max-width:620px;margin:0;padding:22px;display:grid;gap:16px;background:#fff;color:#273749;border:1px solid #d6dfe9;border-top:3px solid #bc944a;border-radius:18px;box-shadow:0 12px 44px #27374924;font-family:inherit;box-sizing:border-box}
.rb-consent[hidden]{display:none}
.rb-consent h2{font-size:17px;line-height:1.35;letter-spacing:0;margin:0 0 7px;font-weight:600;color:#273749}
.rb-consent p{font-size:14px;line-height:1.55;margin:0 0 8px;color:#46576b}
.rb-consent a{font-size:13px;line-height:1.4;color:#35547c;text-decoration:underline;text-underline-offset:3px}
.rb-consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rb-consent-actions button{min-width:0;min-height:44px;font-family:inherit;font-weight:600;font-size:14px;line-height:1.4;background:#f2f5f8;border:1px solid #9cadc2;border-radius:10px;color:#35547c;padding:10px 16px;cursor:pointer;white-space:normal;transition:background .16s ease,border-color .16s ease}
.rb-consent-actions button:hover{background:#e7edf4;border-color:#4b6b96}
.rb-consent-actions button:disabled{opacity:.55;cursor:default}
.rb-consent-actions [data-close]{grid-column:1/-1;background:#fff;border-color:#d6dfe9;font-weight:500;color:#46576b}
.rb-consent :is(button,a):focus-visible,.rb-privacy-choice:focus-visible{outline:3px solid #bc944a;outline-offset:3px}
.rb-consent-actions button[hidden]{display:none}
.rb-privacy-choice{position:fixed;bottom:8px;left:12px;z-index:90;border:1px solid #d2dce7;background:#fff;color:#46576b;border-radius:30px;font-family:inherit;font-weight:500;font-size:11px;line-height:1.4;padding:7px 11px;cursor:pointer;box-shadow:0 2px 8px #27374910}
.rb-consent:not([hidden])~.rb-privacy-choice{visibility:hidden}
@media(max-width:700px){.rb-consent{left:12px;right:12px;bottom:12px;max-height:80dvh;overflow:auto;padding:18px;gap:14px;border-radius:16px}.rb-consent h2{font-size:16px}.rb-consent p{font-size:13px;line-height:1.5}.rb-consent-actions{gap:8px}.rb-consent-actions button{font-size:13px;padding:10px}.rb-privacy-choice{max-width:190px;text-align:left;font-size:10px;bottom:7px;left:8px}}
@media(prefers-reduced-motion:reduce){.rb-consent-actions button{transition:none}}

.rb-attachments{grid-column:1/-1;width:100%;box-sizing:border-box;margin:18px 0;padding:18px;border:1px dashed #b8c8da;border-radius:16px;background:#f7f9fc;color:#273749;min-width:0;text-align:left}
.rb-attachment-heading{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.rb-attachment-heading b{font-size:15px;font-weight:650;letter-spacing:0}.rb-attachment-heading span{font-size:12px;color:#536880}
.rb-file-input{position:absolute;width:1px!important;height:1px!important;padding:0!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0!important}
.rb-attachments .rb-file-choose{display:inline-flex;width:auto;padding:10px 14px;margin:0;border:1px solid #bdcbdc;border-radius:9px;background:#fff;color:#344f73;font-size:14px;line-height:1.4;font-weight:600;cursor:pointer}
.rb-file-input:focus-visible+.rb-file-choose{outline:3px solid #4b6b96;outline-offset:3px}
.rb-attachments .rb-file-help,.rb-attachments .rb-file-policy{font-size:12px;line-height:1.65;margin:10px 0 0;color:#536880;max-width:none}.rb-file-policy a{color:#344f73;text-decoration:underline;text-underline-offset:3px}
.rb-attachments .rb-file-list{list-style:none;padding:0;margin:12px 0;display:grid;gap:6px}.rb-file-list li{display:flex;align-items:center;gap:8px;min-width:0;font-size:13px;line-height:1.5}.rb-file-kind{flex-shrink:0;display:inline-grid;place-items:center;min-width:30px;padding:4px;border-radius:6px;color:#344f73;background:#e6edf5;font-size:9px;font-weight:700}.rb-file-name{overflow-wrap:anywhere;flex:1;min-width:0}.rb-file-list small{white-space:nowrap;color:#536880;font-size:11px}.rb-file-empty{color:#617184}
.rb-attachments .rb-file-clear{padding:4px 0;border:0;background:none;color:#344f73;font-size:12px;text-decoration:underline;cursor:pointer;box-shadow:none;min-height:30px}.rb-attachments .rb-file-error{margin:8px 0 0;color:#983b2e;font-size:13px;line-height:1.5}.rb-file-error:empty{display:none}
.order-attachments{margin:18px 0;padding:14px;background:#f2f5f8;border-radius:10px}.order-attachments ul{padding:0;list-style:none;display:grid;gap:10px}.order-attachments li a{display:inline-block;color:#344f73;font-weight:600;font-size:13px;overflow-wrap:anywhere}.order-attachments small,.order-attachments p{display:block;color:#536880;font-size:12px;line-height:1.6}
@media(max-width:480px){.rb-attachments{padding:14px}.rb-attachment-heading{flex-wrap:wrap;gap:6px}.rb-attachments .rb-file-choose{min-height:44px;box-sizing:border-box}.rb-attachments .rb-file-clear{min-height:44px}}

