/* Page composition, coordinated entrance and pricing emphasis. */
.nav-cta-small{display:none}
.hero-grid{padding-block:22px 70px}.hero-text-frame{height:390px}
.floating-grid{gap:21px;perspective:1400px}.window-orbit{min-width:0;position:relative;transform-style:preserve-3d;--entry-x:45%;--entry-y:45%;--delay:0s;--float-delay:0s;--cycle-delay:0s}
.window-orbit:nth-child(2){--entry-x:-45%;--entry-y:45%;--delay:.16s;--float-delay:-2s;--cycle-delay:3s}.window-orbit:nth-child(3){--entry-x:45%;--entry-y:-45%;--delay:.32s;--float-delay:-4s;--cycle-delay:6s}.window-orbit:nth-child(4){--entry-x:-45%;--entry-y:-45%;--delay:.48s;--float-delay:-6s;--cycle-delay:9s}
.window-orbit>.depth-card{display:block;width:100%;height:100%;translate:none;--ry:-8deg;--rx:3deg;--rz:-3deg;--z:0px}
.window-orbit:nth-child(2)>.depth-card{--ry:8deg;--rx:3deg;--rz:3deg;--z:0px}.window-orbit:nth-child(3)>.depth-card{--ry:-6deg;--rx:-3deg;--rz:-2deg;--z:10px}.window-orbit:nth-child(4)>.depth-card{--ry:6deg;--rx:-3deg;--rz:2deg;--z:14px}
.motion-on .window-orbit.has-arrived{animation:assemble-site 1.45s var(--delay) both cubic-bezier(.16,1,.3,1)}
.motion-on .window-orbit.has-arrived>.depth-card{animation:site-float 8s calc(1.65s + var(--float-delay)) ease-in-out infinite}
.window-orbit>.depth-card::after{content:"";position:absolute;inset:0;border:2px solid transparent;pointer-events:none;border-radius:inherit}
.motion-on .window-orbit.has-arrived>.depth-card::after{animation:site-handoff 12s calc(1.7s + var(--cycle-delay)) ease-in-out infinite}
.motion-on .window-orbit:hover>.depth-card,.motion-on .window-orbit:focus-within>.depth-card{animation-play-state:paused}
.dialog-open .canvas-surface,.dialog-open .window-orbit,.dialog-open .depth-card,.dialog-open .depth-card::after{animation-play-state:paused!important}
@keyframes assemble-site{from{opacity:0;transform:perspective(1200px) translate3d(var(--entry-x),var(--entry-y),-380px) rotateY(24deg) rotateX(-14deg) scale(.62);filter:blur(7px)}65%{opacity:1;filter:blur(0)}to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}}
@keyframes site-float{0%,100%{translate:0 0}50%{translate:0 -9px}}
@keyframes site-handoff{0%,21%,100%{border-color:transparent;box-shadow:inset 0 0 0 transparent}6%,13%{border-color:#ffffffaa;box-shadow:inset 0 0 18px #ffffff30}}
.portfolio-note{margin-top:27px;font-size:13px}.hero-tags{font-size:13px;gap:16px}.hero-tags>span:first-child{color:#20382f;font-weight:500}
.offer-grid{grid-template-columns:1.06fr .94fr}.offer{display:flex;flex-direction:column}
.offer.essentiel{background:linear-gradient(140deg,#f8f7f1,#e9eee2);color:#111410;border-color:#e4e8d8;box-shadow:14px 16px 0 -10px #bcc7ae,18px 22px 0 -12px #6c7d59,0 30px 70px -25px #000}
.offer.signature{background:linear-gradient(140deg,#2b3529,#18221b);color:#f2f0ec;border-color:#465642;box-shadow:14px 16px 0 -10px #0b120b,18px 22px 0 -12px #40533a,0 30px 70px -25px #000}
.essentiel .offer-top>span{color:#37522b;font-size:13px;padding:7px 11px;background:#d1dfbc;border-radius:20px}.signature .offer-top>span{color:#c6d4ba;font-size:13px}
.offer-purpose{font-size:16px;line-height:1.5;margin-top:15px;color:#69755e}.signature .offer-purpose{color:#b8c9ae}
.offer .price{margin-top:26px}.offer .price-caption{font-size:14px;margin-top:12px;color:#53634a}.signature .price-caption{color:#b2c3a7}
.offer ul{flex:1;margin-block:29px}.essentiel li{color:#36472d;border-color:#1f341921}.signature li{color:#d4dfce;border-color:#ffffff1c}
.offer.essentiel .pill{color:#fff;-webkit-text-fill-color:#fff;background:#20382f;border-color:#20382f}.offer.signature .pill{background:transparent;color:#f2f0ec;-webkit-text-fill-color:#f2f0ec;border-color:#a3b59580}
.support-option{border-top:1px solid #20382f30;margin-top:27px;padding-top:22px}.option-label{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:#516347;display:block}.support-option>p{margin:8px 0 9px}.support-option strong{font-size:22px;line-height:1.2;font-weight:500;letter-spacing:-.025em}.support-option>span:last-child{display:block;font-size:14px;line-height:1.6;color:#69755e;max-width:36ch}.signature .support-option{border-color:#a3b59545}.signature .option-label,.signature .support-option>span:last-child{color:#b8c9ae}
.hosting-note{font-size:14px;line-height:1.7;color:#b0bca6;max-width:72ch;margin:37px auto 0;text-align:center}
.footer-brand{position:relative;width:105px;height:84px;flex-shrink:0;overflow:hidden;background:transparent}.footer-brand .footer-logo{position:absolute;max-width:none;width:174px;height:174px;left:-34px;top:-50px;filter:invert(1);mix-blend-mode:normal}
@media(max-width:1200px) and (min-width:901px){.hero-slide h1,.hero-slide h2{font-size:clamp(58px,5.9vw,72px)}.hero-text-frame{height:350px}.main-nav{gap:24px}.nav-row{gap:20px}.brand{width:157px;height:124px}.brand img{width:258px;height:258px;left:-51px;top:-74px}.nav-row>.pill{padding-inline:18px;margin-left:0}.depth-card .mini-copy>strong{font-size:21px}.depth-card .mini-hero{min-height:148px}.depth-card .card-caption>span{display:none}}
@media(max-width:900px){
 :root{--header:106px}.brand{width:136px;height:108px;margin-left:0}.brand img{width:224px;height:224px;left:-44px;top:-64px}.nav-row{gap:14px}.hero-grid{padding-block:30px 80px;gap:45px}.hero-text-frame{height:auto}.floating-grid{gap:24px}.depth-card .mini-hero{min-height:185px}.depth-card .mini-copy>strong{font-size:25px}.depth-card .mini-copy{padding:17px 12px 17px 15px}.depth-card .mini-header{min-height:46px;font-size:20px}.portfolio-note{margin-top:29px}.canvas-surface{top:41%;right:-105px;width:650px;opacity:.28}.canvas-plane{top:30%;right:-120px}.scene-wash{background:linear-gradient(0deg,var(--paper),transparent 40%,var(--paper) 82%)}
 .offer-grid{grid-template-columns:1fr 1fr}.offer-top{gap:14px}.offer-purpose{font-size:15px}.offer .price-caption{font-size:13px}.offer li{font-size:14px}.support-option>span:last-child{font-size:14px}
}
@media(max-width:560px){
 :root{--header:102px}.brand{width:123px;height:100px}.brand img{width:202px;height:202px;left:-40px;top:-58px}.nav-row{gap:10px}.nav-cta-wide{display:none}.nav-cta-small{display:inline}.nav-row>.pill{font-size:13px;padding:11px 15px}.nav-row>.menu-toggle{width:40px;height:40px}.hero-grid{padding-top:23px;gap:39px}.hero-tags{font-size:12px;justify-content:flex-start;gap:12px}.hero-tags span+span::before{display:none}.portfolio-note{font-size:12px;line-height:1.5}.canvas-surface{top:42%;right:-170px}.window-orbit{--entry-x:0%;--entry-y:20%;--delay:0s!important}.window-orbit:nth-child(n)>.depth-card{--rx:1deg;--ry:-3deg;--rz:-1deg;--z:0px}.window-orbit:nth-child(2n)>.depth-card{--ry:3deg;--rz:1deg}
 .offer-grid{grid-template-columns:1fr}.offer .offer-top{flex-direction:row;align-items:center}.offer li{font-size:15px}.offer .price-caption{font-size:14px}.offer-purpose{font-size:16px}.support-option{padding-top:20px;margin-top:24px}.hosting-note{text-align:left;margin-top:32px;font-size:14px}.footer-brand{width:94px;height:77px}.footer-brand .footer-logo{width:155px;height:155px;left:-30px;top:-44px}
}
@media(min-width:901px) and (max-height:800px){.hero-grid{padding-top:12px;padding-bottom:60px}.hero-text-frame{height:325px}.hero-slide h1,.hero-slide h2{font-size:clamp(58px,5.2vw,73px)}.hero-slide p{font-size:16px;margin-top:20px}.hero-slide h1,.hero-slide h2{margin-top:16px}.hero-tags{margin-top:18px}.depth-card .mini-header{min-height:33px;padding:9px 12px;font-size:15px}.depth-card .mini-hero{min-height:135px}.depth-card .mini-copy{padding:10px 11px;gap:5px}.depth-card .mini-copy>strong{font-size:20px}.depth-card .mini-brand{font-size:10px}.depth-card .mini-subtitle{font-size:10px}.depth-card .mini-cta{font-size:10px;padding:6px 8px}.depth-card .card-caption{padding:8px 12px}.depth-card .card-caption>span{display:none}.floating-grid{gap:17px}.portfolio-note{margin-top:25px}}
@media(min-width:901px) and (max-height:550px){.intro{height:auto;min-height:0}.intro-shell{position:relative;top:0;height:auto;min-height:0}.hero-grid{height:auto;min-height:565px;padding:30px 0 60px}.hero-text-frame{height:auto}.hero-slide:first-child{position:relative;opacity:1!important;transform:none!important}.hero-slide:not(:first-child){display:none}.chapters,.scroll-hint{display:none}.intro-bottom{justify-content:flex-end}}
body:not(.motion-on) .canvas-surface,body:not(.motion-on) .window-orbit,body:not(.motion-on) .depth-card,body:not(.motion-on) .depth-card::after{animation:none!important;filter:none!important}
body:not(.motion-on) .portfolio-scene:not(.orbit-ready) .floating-grid,body:not(.motion-on) .portfolio-scene:not(.orbit-ready) .window-orbit{transform:none!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important}.portfolio-scene:not(.orbit-ready) .window-orbit{transform:none!important;filter:none!important;opacity:1!important}.canvas-surface{animation:none!important}}

/* Overlapping grid slides reserve their full text height, including wrapped copy. */
.hero-text-frame{display:grid;height:auto}
.hero-slide{position:relative;inset:auto;grid-area:1/1;align-self:start}
.hero-actions{margin-top:32px}
.contact{min-height:calc(100svh - var(--header))}

/* Section anchors start at their content, just below the fixed navigation. */
.section>.container{scroll-margin-top:20px}
.services-heading{top:calc(var(--header) + 20px)}

/* A broader website canvas gives the showcase room to breathe. */
.canvas-surface{width:1120px;height:690px;right:-55px;top:2%;padding:28px;z-index:0;pointer-events:none;background:linear-gradient(140deg,#fff,#f8faf7);border-color:#8c9b9380;box-shadow:0 24px 64px #20382f24,0 2px 8px #20382f0a;opacity:.40;transform:perspective(1500px) rotateY(-10deg) rotateX(5deg) rotateZ(5deg)}
.hero-grid{position:relative;z-index:2}.intro-bottom{z-index:3}
@keyframes canvas-drift{to{transform:perspective(1500px) rotateY(-6deg) rotateX(2deg) rotateZ(3deg) translateY(-12px)}}
.canvas-layout{height:510px;gap:30px}.canvas-block:nth-child(2){height:355px}.canvas-block:nth-child(3){height:390px}
.canvas-plane{width:1450px;height:1200px;right:-150px;top:-25%}
@media(min-width:1201px){
 .container.hero-grid{width:min(1660px,calc(100% - 64px));gap:56px;grid-template-columns:minmax(340px,.72fr) minmax(0,1.28fr)}
}
@media(max-width:1200px) and (min-width:901px){
 .container.hero-grid{gap:32px;grid-template-columns:minmax(300px,.76fr) minmax(0,1.24fr)}
}
@media(max-width:900px){.canvas-surface{width:1000px;right:-190px;top:38%;opacity:.38}}
@media(max-width:560px){.canvas-surface{width:920px;right:-390px;top:43%;opacity:.36}}
