:root{--red:#e00019;--red-deep:#b90014;--black:#101013;--ink:#171719;--muted:#77777d;--line:#eae9e8;--paper:#f8f8f8;--white:#fff;--radius:21px;--font:'DM Sans',Arial,sans-serif;--display:'Manrope','DM Sans',Arial,sans-serif;--container:1190px;--wide:1340px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;color:var(--ink);background:var(--white);font-family:var(--font);font-size:15px;-webkit-font-smoothing:antialiased}body.modal-open,body.menu-open{overflow:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);letter-spacing:-.055em}h2{line-height:1.14}p{line-height:1.78}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.container{width:min(calc(100% - 72px),var(--container));margin-inline:auto}.container-wide{width:min(calc(100% - 80px),var(--wide));margin-inline:auto}.section-pad{padding-block:120px}.skip-link{position:fixed;z-index:999;top:12px;left:12px;padding:12px 16px;color:#fff;background:var(--black);transform:translateY(-150%)}.skip-link:focus{transform:none}.scroll-progress{position:fixed;z-index:101;top:0;left:0;height:3px;width:0;background:var(--red);pointer-events:none}.site-header{position:fixed;z-index:100;inset:0 0 auto;background:rgba(255,255,255,.9);border-bottom:1px solid rgba(18,18,18,.055);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);transition:box-shadow .3s}.site-header.scrolled{box-shadow:0 8px 30px #00000008}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{width:180px;flex-shrink:0}.brand img{width:172px;height:auto}.desktop-nav{display:flex;align-items:center;gap:35px;margin-left:auto}.nav-link{position:relative;display:inline-flex;align-items:center;gap:7px;padding:34px 0;font-size:12px;font-weight:700;color:#333;white-space:nowrap;letter-spacing:-.01em;background:none;border:0}.nav-link:after{content:'';position:absolute;bottom:26px;left:0;width:0;height:2px;background:var(--red);transition:width .3s}.nav-link:hover,.nav-link.active{color:var(--red)}.nav-link:hover:after,.nav-link.active:after{width:100%}.chevron{border-right:1.6px solid;border-bottom:1.6px solid;transform:rotate(45deg) translateY(-2px);width:6px;height:6px;transition:transform .2s}.nav-dropdown{position:relative}.nav-dropdown.open .chevron{transform:rotate(225deg) translate(-2px,-1px)}.dropdown-panel{position:absolute;top:76px;left:-32px;width:273px;padding:8px;background:#fff;box-shadow:0 18px 55px #00000016;border:1px solid #eee;border-radius:13px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .2s}.nav-dropdown.open .dropdown-panel,.nav-dropdown:focus-within .dropdown-panel{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-panel a{display:block;padding:14px 15px;border-radius:9px}.dropdown-panel a:hover{background:#f8f8f8}.dropdown-panel span{display:block;font-weight:750;font-size:13px}.dropdown-panel small{display:block;color:#888;font-size:11px;padding-top:3px}.header-actions{display:flex;align-items:center;gap:16px;margin-left:18px}.btn{min-height:50px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:21px;border-radius:100px;font-size:12px;font-weight:800;white-space:nowrap;border:1px solid transparent;transition:background .2s,transform .25s,box-shadow .25s,color .2s}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn svg{width:17px;height:17px}.btn-red{background:var(--red);color:white;box-shadow:0 10px 26px #d700201b}.btn-red:hover{background:#bc0015;box-shadow:0 12px 28px #d7002035}.btn-outline{border-color:#d5d2d2;background:transparent;color:var(--ink)}.btn-outline:hover{border-color:var(--black);background:#fff}.btn-small{min-height:42px;padding:0 18px;font-size:11px;gap:8px}.btn-small svg{width:14px;height:14px}.menu-toggle{display:none;border:0;background:none;padding:10px}.menu-toggle span{display:block;width:23px;height:2px;background:var(--black);margin:5px;transition:transform .3s}.mobile-nav{display:none}
/* hero */
.hero{padding-top:88px;min-height:720px;background:linear-gradient(112deg,#fff 0%,#fff 40%,#f7f5f5 100%);overflow:hidden;position:relative}.hero-content{display:grid;grid-template-columns:52% 48%;min-height:597px;align-items:center}.hero-copy{padding:65px 0 45px;position:relative;z-index:2}.eyebrow{display:inline-flex;align-items:center;gap:11px;color:var(--red);font-size:10px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.eyebrow-line{display:inline-block;width:22px;height:1px;background:currentColor}.hero h1{font-weight:800;font-size:clamp(47px,5.2vw,79px);line-height:1.14;margin:27px -34px 25px 0;letter-spacing:-.073em}.hero h1 em,.modal h2 em{color:var(--red);font-style:normal}.hero-copy>p{max-width:460px;color:#737378;font-size:15px;line-height:1.9}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 65px}.hero-proof{display:flex;align-items:center;gap:12px}.proof-icon{height:34px;width:34px;display:grid;place-items:center}.proof-icon svg{width:24px;height:24px}.hero-proof strong{display:block;font-size:11px;font-weight:800}.hero-proof small{display:block;font-size:10px;color:#898989;margin-top:3px}.proof-divider{height:35px;width:1px;background:#ddd;margin:0 13px}.hero-visual{position:relative;align-self:stretch;min-height:560px;isolation:isolate;display:flex;align-items:center;justify-content:center}.hero-orb{position:absolute;top:10%;right:-22%;width:760px;height:700px;background:radial-gradient(circle at 53% 54%,#ead6d6 0%,#f5eded 38%,transparent 69%);border-radius:50%;z-index:-2}.hero-photo{position:absolute;right:-9%;top:14%;width:108%;height:74%;object-fit:cover;object-position:54% 50%;border-radius:26px;box-shadow:0 30px 65px #00000012;filter:contrast(1.02)}.hero-sticker{position:absolute;left:-3%;bottom:13%;width:135px;height:135px;background:#18181b;color:white;border-radius:50%;box-shadow:0 16px 40px #0002;display:flex;flex-direction:column;justify-content:center;padding:25px;transform:rotate(-13deg)}.sticker-top{font-size:9px;color:#e1e1e1}.hero-sticker strong{font-family:var(--display);font-size:23px;line-height:1.02;letter-spacing:-.05em;margin:5px 0}.sticker-arrow{position:absolute;right:23px;bottom:24px;font-size:16px;color:#ff3141}.hero-vertical-label{position:absolute;right:-33px;top:43%;font-size:9px;font-weight:700;letter-spacing:.2em;transform:rotate(90deg) translateX(50%);transform-origin:right;color:#585052}.hero-vertical-label span{color:var(--red)}.hero-bottom{height:57px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e7e6e6;font-size:9px;font-weight:800;letter-spacing:.15em;color:#929297}.hero-bottom a{display:flex;align-items:center;gap:13px}.scroll-mouse{height:27px;width:18px;border:1px solid #a9a9ac;border-radius:11px;display:flex;justify-content:center;padding-top:6px}.scroll-mouse>span{width:2px;height:6px;background:var(--red);border-radius:5px;animation:scrollDown 1.6s infinite}@keyframes scrollDown{to{transform:translateY(7px);opacity:0}}
/* editorial intro */
.intro{border-bottom:1px solid #eee}.intro-grid{display:grid;grid-template-columns:1fr .72fr;gap:110px;align-items:center}.section-title{font-size:clamp(37px,4.2vw,58px);font-weight:800;margin:20px 0 0}.muted{color:#9e9ea4}.serif-italic{font-family:Georgia,serif;font-weight:400;font-style:italic;letter-spacing:-.075em;color:var(--red)}.intro-right{max-width:465px}.intro-right p{font-size:17px;color:#77777e;line-height:1.95}.intro-right p strong{color:#161619;font-weight:700}.text-link{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:4px 0 10px;border:0;border-bottom:1.5px solid var(--red);background:transparent;font-size:12px;font-weight:800;transition:gap .2s,color .2s}.text-link:hover{gap:21px;color:var(--red)}.text-link svg{width:16px;height:16px}
/* feature products */
.products{padding-bottom:50px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.section-head p{width:305px;margin-bottom:4px;color:#808088;font-size:13px}.product-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.feature-card{height:450px;border-radius:18px;position:relative;overflow:hidden;isolation:isolate;background:#e6ded7;color:#151515}.feature-card>img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;transition:transform .85s cubic-bezier(.2,.7,.2,1)}.feature-card:hover>img{transform:scale(1.06)}.feature-generic{background:#e5dbd0}.feature-custom{background:#141417;color:#fff}.feature-shade{position:absolute;inset:0;background:linear-gradient(0deg,#fff 0%,#ffffffd9 17%,transparent 65%);opacity:.97}.feature-custom .feature-shade{background:linear-gradient(0deg,#080808 0%,#101010d6 18%,transparent 70%)}.feature-top{position:absolute;z-index:1;top:30px;left:30px;right:30px;display:flex;justify-content:space-between;font-size:10px;font-weight:800;letter-spacing:.12em}.feature-counter{opacity:.6}.feature-info{position:absolute;z-index:1;inset:auto 30px 29px}.feature-info>span{font-size:11px;font-weight:600;opacity:.65}.feature-info h3{font-size:33px;line-height:1.13;margin:9px 0 0;font-weight:800}.feature-dot{color:var(--red)}.round-arrow{position:absolute;right:0;bottom:0;display:grid;place-items:center;width:49px;height:49px;background:#17171a;border:0;color:#fff;border-radius:50%;transition:transform .2s,background .2s}.feature-custom .round-arrow{background:#fff;color:#141414}.round-arrow:hover{transform:rotate(45deg);background:var(--red);color:#fff}
/* catalogue */
.catalogue{background:#fafafa}.catalogue-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}.tabs{display:flex;align-items:center;gap:5px;padding:5px;border:1px solid #e6e6e6;background:#fff;border-radius:30px}.tab{border:0;background:none;padding:12px 19px;border-radius:30px;font-size:12px;font-weight:800;color:#777;transition:all .2s}.tab.active{color:#fff;background:var(--black)}.catalogue-description{color:#85858b;max-width:560px;font-size:13px;margin:27px 0 30px}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.category-card{display:flex;align-items:flex-start;flex-direction:column;min-height:205px;text-align:left;position:relative;background:#fff;border:1px solid #ececec;border-radius:15px;padding:27px;transition:transform .3s,border-color .3s,box-shadow .3s}.category-card:hover{transform:translateY(-5px);border-color:#f0c6ca;box-shadow:0 20px 45px #00000008}.cat-icon{color:#18181a;display:grid;place-items:center;width:48px;height:48px;background:#f7f7f7;border-radius:13px;margin-bottom:28px;transition:color .2s,background .2s}.category-card:hover .cat-icon{color:var(--red);background:#fff1f2}.cat-icon svg{width:25px;height:25px}.cat-title{display:block;font-size:15px;font-weight:800;letter-spacing:-.025em}.cat-note{display:block;margin-top:5px;font-size:11px;color:#909097}.cat-arrow{position:absolute;right:26px;bottom:25px;font-size:20px;transition:transform .2s}.category-card:hover .cat-arrow{color:var(--red);transform:translate(2px,-2px)}.catalogue-foot{display:flex;justify-content:space-between;align-items:center;margin-top:26px;color:#888;font-size:12px}
/* services */
.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:105px;align-items:center}.services-visual{position:relative;border-radius:18px;overflow:visible}.services-visual img{width:100%;height:585px;object-fit:cover;border-radius:18px}.visual-chip{position:absolute;bottom:25px;right:-32px;background:var(--red);color:white;padding:20px 26px;display:flex;align-items:center;gap:20px;border-radius:13px;box-shadow:0 15px 35px #b0002530;transform:rotate(-3deg)}.chip-star{font-size:28px;line-height:1}.visual-chip span:last-child{font-size:12px;line-height:1.5}.services-copy>p{color:#838389;font-size:13px;max-width:480px;margin:24px 0 33px}.service-list{border-top:1px solid #eee}.service-item{display:flex;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid #eee}.service-icon{height:46px;width:46px;flex:0 0 46px;display:grid;place-items:center;background:#f8f8f8;border-radius:50%}.service-icon svg{width:21px;height:21px}.service-item h3{letter-spacing:-.025em;font-size:14px;margin:0 0 3px}.service-item p{margin:0;color:#92929a;font-size:11px;line-height:1.5}.service-index{margin-left:auto;font-size:10px;font-weight:800;color:#c5c5ca}
/* process */
.process{background:#fafafa}.process-top{display:flex;align-items:end;justify-content:space-between;gap:40px}.process-top p{max-width:290px;color:#85858a;font-size:13px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:65px}.step-number{font-family:var(--display);font-size:50px;font-weight:700;letter-spacing:-.08em;color:var(--red)}.step-line{display:block;margin:18px 0 30px;height:1px;background:linear-gradient(to right,var(--red) 0 25%,#dedede 25% 100%)}.step h3{font-size:21px;letter-spacing:-.04em}.step p{max-width:290px;font-size:12px;color:#8c8c92}
/* manifesto */
.manifesto{background:#141416;color:#fff;position:relative;overflow:hidden;padding:110px 0 120px;isolation:isolate}.manifesto-inner{position:relative;z-index:2}.eyebrow-light{color:#ff4a56}.manifesto-head h2{font-size:clamp(32px,4vw,55px);line-height:1.18;letter-spacing:-.06em;max-width:930px;margin:22px 0 75px}.manifesto-head h2 em{color:#f22c40;font-style:normal}.manifesto-values{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.manifesto-values>div{padding-right:20px;border-right:1px solid #444449}.manifesto-values>div:last-child{border:0}.manifesto-values svg{color:#ff334b;width:33px;height:33px;margin-bottom:23px}.manifesto-values h3{font-size:15px;letter-spacing:-.03em;margin-bottom:10px}.manifesto-values p{font-size:11px;color:#aaaab0;max-width:180px;line-height:1.7}.manifesto-outline{position:absolute;right:-70px;bottom:-150px;color:transparent;-webkit-text-stroke:1px #ffffff09;font:800 460px var(--display);letter-spacing:-.12em;pointer-events:none;z-index:-1}
/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.contact-photo{height:465px;position:relative;border-radius:18px;overflow:hidden;background:#dfdfdf}.contact-photo img{width:100%;height:100%;object-fit:cover}.contact-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,#0008,transparent 35%)}.contact-photo-text{position:absolute;z-index:1;bottom:30px;left:30px;color:#fff;letter-spacing:.18em;font-size:10px;font-weight:800}.contact-copy>p{max-width:470px;color:#85858c;font-size:13px;margin:25px 0 25px}.contact-details{display:flex;flex-direction:column;gap:20px;border-top:1px solid #eee;margin-top:33px;padding-top:25px}.contact-details>div{display:flex;align-items:center;gap:16px}.contact-detail-icon{width:41px;height:41px;background:#fff1f3;display:grid;place-items:center;border-radius:50%;color:var(--red)}.contact-detail-icon svg{width:18px;height:18px}.contact-details small{display:block;color:#a3a3a8;font-size:10px;letter-spacing:.07em;font-weight:750}.contact-details strong{display:block;margin-top:4px;font-size:13px;font-weight:750}
/* footer */
.footer{background:#111113;color:#fff;padding:65px 0 22px}.footer-top{display:grid;grid-template-columns:1.7fr .7fr 1.2fr 1.4fr;gap:55px;padding-bottom:70px}.footer-brand img{width:190px;height:auto;filter:brightness(1.16)}.footer-brand p{max-width:260px;color:#a7a7aa;font-size:12px;margin-top:22px}.footer-col{display:flex;flex-direction:column;gap:13px}.footer-col strong,.footer-cta>strong{font-size:10px;letter-spacing:.14em;color:#77777c;margin-bottom:7px}.footer-col a{font-size:12px;color:#d0d0d4;transition:color .2s}.footer-col a:hover{color:#ff364b}.footer-cta button{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:none;border-bottom:1px solid #777;padding:20px 0;color:#fff;font-family:var(--display);font-size:19px;font-weight:750;text-align:left;letter-spacing:-.035em}.footer-cta button:hover{color:#ff3a4d}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:22px;border-top:1px solid #343436;font-size:10px;color:#7e7e83}.footer-bottom a:hover{color:#fff}
/* modal */
.modal{position:fixed;z-index:150;inset:0;visibility:hidden;opacity:0;transition:visibility .3s,opacity .3s;display:flex;justify-content:center;align-items:center;padding:18px}.modal.visible{visibility:visible;opacity:1}.modal-backdrop{position:absolute;inset:0;background:#080808b8;backdrop-filter:blur(7px)}.modal-dialog{position:relative;width:min(100%,750px);max-height:min(92vh,900px);overflow:auto;overscroll-behavior:contain;background:white;border-radius:21px;padding:45px 50px;box-shadow:0 35px 100px #0005;transform:translateY(25px) scale(.98);transition:transform .3s}.modal.visible .modal-dialog{transform:translateY(0) scale(1)}.modal-close{position:absolute;right:23px;top:19px;height:39px;width:39px;border-radius:50%;background:#f6f6f6;border:0;font-size:26px;font-weight:300}.modal-dialog h2{font-size:40px;margin:13px 0}.modal-lede{font-size:13px;color:#777;max-width:590px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:28px 0 17px}label{font-size:12px;font-weight:800;display:block}label>span{color:var(--red)}input,select,textarea{display:block;width:100%;margin-top:8px;background:#fafafa;border:1px solid #e4e4e4;border-radius:9px;padding:13px 14px;outline:none;color:#222;min-height:47px;transition:border-color .2s,box-shadow .2s}textarea{resize:vertical;min-height:96px}input:focus,select:focus,textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px #e0001914}input.invalid,select.invalid,textarea.invalid{border-color:#d0001b;background:#fff7f8}input::placeholder,textarea::placeholder{color:#aaa;font-size:12px}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:23px}.form-actions>span{font-size:10px;color:#999}.quote-result[hidden]{display:none}.quote-result{text-align:center;padding-top:25px}.success-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 15px;background:#f1fff5;color:#168847;border-radius:50%}.quote-result h3{font-size:26px}.quote-result>p{font-size:12px;color:#777;max-width:480px;margin:0 auto 20px}.quote-result pre{text-align:left;background:#f6f6f6;color:#333;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.8 var(--font);padding:17px;border-radius:10px;max-height:210px;overflow:auto}.quote-result-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.btn-plain{background:none;color:#777;border:0}.copy-feedback{display:block;font-size:12px;color:#168847;margin-top:15px}.toast{position:fixed;z-index:250;bottom:24px;right:24px;padding:14px 20px;box-shadow:0 15px 40px #0002;background:#161616;color:#fff;border-radius:11px;font-size:12px;opacity:0;transform:translateY(15px);pointer-events:none;transition:all .3s}.toast.show{opacity:1;transform:translateY(0)}
/* motion and accessibility */
html.has-motion [data-reveal]{opacity:0;transform:translateY(29px);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1)}html.has-motion [data-reveal].revealed{opacity:1;transform:translateY(0)}[data-delay="80"]{transition-delay:80ms}[data-delay="100"]{transition-delay:100ms}[data-delay="120"]{transition-delay:120ms}[data-delay="150"]{transition-delay:150ms}[data-delay="160"]{transition-delay:160ms}[data-delay="200"]{transition-delay:200ms}[data-delay="240"]{transition-delay:240ms}:focus-visible{outline:3px solid #f04;outline-offset:4px}
/* legal page */
.legal-main{padding:175px 0 100px;min-height:80vh}.legal-main h1{font-size:clamp(36px,5vw,65px)}.legal-main h2{font-size:22px;margin-top:40px;letter-spacing:-.04em}.legal-main p,.legal-main li{font-size:14px;color:#555;line-height:1.9}.legal-note{border-left:3px solid var(--red);padding:15px 20px;background:#fff6f7;margin:20px 0}.legal-back{display:inline-flex;gap:8px;align-items:center;color:var(--red);font-weight:800;font-size:13px}
@media(max-width:1200px){.desktop-nav{gap:19px}.brand{width:145px}.brand img{width:145px}.header-actions{margin-left:0}.hero h1{font-size:clamp(47px,5vw,66px)}.services-grid,.contact-grid{gap:65px}}
@media(max-width:1000px){.desktop-nav{display:none}.menu-toggle{display:block}.header-inner{min-height:76px}.site-header{background:#fffc}.mobile-nav{display:flex;flex-direction:column;position:fixed;top:76px;left:0;right:0;height:calc(100dvh - 76px);background:#fff;padding:25px 35px 55px;gap:0;transform:translateX(100%);visibility:hidden;overflow:auto;transition:transform .35s,visibility .35s;border-top:1px solid #eee}.site-header.mobile-open .mobile-nav{transform:translateX(0);visibility:visible}.mobile-nav a,.mobile-nav button{width:100%;text-align:left;border:none;border-bottom:1px solid #eee;background:none;padding:18px 0;font-size:20px;font-weight:800;font-family:var(--display)}.mobile-nav button{color:var(--red);display:flex;justify-content:space-between}.site-header.mobile-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}.site-header.mobile-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero{padding-top:76px}.hero-content{grid-template-columns:54% 46%}.hero-visual{min-height:530px}.hero-copy{padding-top:55px}.hero-photo{top:18%;right:-15%;height:65%}.hero h1{font-size:clamp(45px,5.5vw,62px)}.hero-sticker{left:-6%;bottom:15%}.hero-proof{gap:8px}.proof-divider{margin:0 6px}.services-grid,.contact-grid{gap:42px}.services-visual img{height:530px}.feature-card{height:400px}.footer-top{gap:25px}html{scroll-padding-top:80px}}
@media(max-width:760px){.container,.container-wide{width:min(calc(100% - 38px),var(--container))}.section-pad{padding-block:75px}.header-inner{min-height:71px}.site-header .mobile-nav{top:71px;height:calc(100dvh - 71px)}.brand{width:140px}.brand img{width:140px}.header-actions>.btn{min-height:38px;padding:0 12px;font-size:10px}.header-actions>.btn svg{display:none}.header-actions{gap:7px}.hero{padding-top:71px;min-height:0}.hero-content{grid-template-columns:1fr;min-height:0}.hero-copy{padding:63px 0 0}.hero h1{font-size:clamp(45px,9vw,70px);margin:19px 0 17px}.hero-copy>p{font-size:13px}.hero-buttons{margin:26px 0 36px}.hero-proof{display:none}.hero-visual{min-height:360px;margin:5px -19px 0}.hero-photo{inset:20px 4% 23px;width:92%;height:calc(100% - 43px);object-position:center;border-radius:16px}.hero-orb{width:100%;height:100%;right:-15%;top:0}.hero-sticker{width:100px;height:100px;bottom:0;left:6%;padding:18px}.hero-sticker strong{font-size:18px}.sticker-top{font-size:8px}.sticker-arrow{right:17px;bottom:15px}.hero-vertical-label{display:none}.hero-bottom{margin-top:10px;height:60px}.hero-bottom>span{font-size:8px}.intro-grid{grid-template-columns:1fr;gap:20px}.section-title{font-size:clamp(35px,7vw,48px)}.intro-right p{font-size:15px}.section-head,.catalogue-heading,.process-top{display:block}.section-head p{margin:20px 0 0;max-width:460px;width:auto}.product-feature-grid{grid-template-columns:1fr;gap:16px}.feature-card{height:425px}.feature-info h3{font-size:30px}.tabs{display:inline-flex;margin-top:28px}.category-grid{grid-template-columns:repeat(2,1fr)}.services-grid,.contact-grid{grid-template-columns:1fr;gap:45px}.services-visual img{height:385px}.services-copy{padding-top:5px}.visual-chip{right:12px;bottom:20px}.steps{gap:20px}.manifesto{padding:80px 0}.manifesto-head h2{margin-bottom:50px}.manifesto-values{grid-template-columns:repeat(2,1fr);gap:34px}.manifesto-values>div:nth-child(2){border-right:0}.contact-photo{height:360px}.footer-top{grid-template-columns:1fr 1fr;row-gap:40px}.footer-brand{grid-column:1/-1}.footer-cta{grid-column:1/-1}.footer-bottom{justify-content:flex-start;gap:13px 25px}.modal-dialog{padding:36px 24px}.modal-dialog h2{font-size:33px}.form-grid{gap:12px}.catalogue-foot{gap:15px;flex-wrap:wrap}}
@media(max-width:500px){.header-actions>.btn{display:none}.hero-copy{padding-top:50px}.hero h1{font-size:clamp(44px,11vw,57px)}.hero-buttons{gap:10px}.hero-buttons .btn{padding:0 17px;min-height:47px;gap:10px;font-size:10px}.hero-visual{min-height:290px}.hero-photo{object-fit:cover}.hero-sticker{width:83px;height:83px;padding:14px}.hero-sticker strong{font-size:15px}.hero-sticker .sticker-top{font-size:7px}.sticker-arrow{font-size:13px;right:15px;bottom:11px}.section-head{margin-bottom:32px}.feature-card{height:360px}.feature-info{inset:auto 22px 22px}.feature-top{top:22px;left:22px;right:22px}.category-grid{grid-template-columns:1fr;gap:10px}.category-card{min-height:144px;padding:20px 22px}.cat-icon{width:40px;height:40px;margin-bottom:14px}.cat-icon svg{width:20px;height:20px}.cat-arrow{right:22px;bottom:20px}.steps{grid-template-columns:1fr;gap:28px;margin-top:42px}.step-number{font-size:44px}.step-line{margin:8px 0 17px}.step p{max-width:100%}.process-top p{margin-top:20px}.manifesto-head h2{font-size:32px}.manifesto-values{gap:24px 18px}.manifesto-values svg{width:27px;height:27px;margin-bottom:14px}.manifesto-values h3{font-size:13px}.manifesto-values p{font-size:10px}.contact-photo{height:305px}.form-grid{grid-template-columns:1fr}.modal{padding:9px}.modal-dialog{max-height:96dvh;border-radius:16px;padding:34px 22px}.form-actions{display:block}.form-actions>span{display:block;margin-top:12px}.footer{padding-top:54px}.footer-top{gap:35px 20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}html.has-motion [data-reveal]{opacity:1;transform:none}}

/* V2 — Portfolio clients & application */
.portfolio{background:#f7f7f7}.portfolio-heading{margin-bottom:42px}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.portfolio-card{min-width:0;background:#fff;border:1px solid #ececec;border-radius:18px;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease}.portfolio-card:hover{transform:translateY(-5px);box-shadow:0 20px 50px #0000000d}.portfolio-img{aspect-ratio:1.42;background:#fff;overflow:hidden}.portfolio-img img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.portfolio-card:hover .portfolio-img img{transform:scale(1.035)}.portfolio-card-caption{display:flex;justify-content:space-between;gap:12px;align-items:end;padding:20px 23px 23px}.portfolio-card-caption span{font-size:10px;font-weight:700;letter-spacing:.11em;color:#a2a2a2}.portfolio-card-caption h3{font-family:Manrope,sans-serif;margin:6px 0 0;font-size:clamp(19px,2vw,25px);letter-spacing:-.04em}.portfolio-card-caption .portfolio-count{white-space:nowrap}.portfolio-card-wide{grid-column:1/-1}.portfolio-card-wide .portfolio-img{aspect-ratio:2.6}.portfolio-card-wide .portfolio-img img{object-fit:contain}.portfolio-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:38px}.portfolio-foot p{font-size:18px;font-weight:600}.app-section{background:#fff}.app-shell{background:#f4f4f5;border-radius:24px;overflow:hidden;display:grid;grid-template-columns:1.2fr 1fr;min-height:490px}.app-copy{padding:clamp(35px,6vw,88px);align-self:center;position:relative;z-index:2}.app-copy .section-title{font-size:clamp(32px,3.3vw,52px)}.app-copy>p{max-width:520px;line-height:1.8;color:#5d5d63;margin-top:24px}.app-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.app-store-link{display:flex;align-items:center;gap:12px;background:#161616;color:#fff;text-decoration:none;padding:12px 18px;border-radius:12px;transition:transform .2s,background .2s}.app-store-link:hover{background:#d9081e;transform:translateY(-3px)}.app-store-link .store-glyph{font-size:27px;line-height:1}.app-store-link small,.app-store-link strong{display:block}.app-store-link small{font-size:10px;opacity:.8}.app-store-link strong{font-size:15px;line-height:1.5}.app-visual{background:linear-gradient(145deg,#eeedf0,#e5e5e7);position:relative;display:grid;place-items:end center;overflow:hidden;min-height:430px}.app-halo{width:500px;height:500px;position:absolute;border-radius:50%;background:radial-gradient(circle,#efb5bc 0%,#eee3e5 40%,transparent 70%);top:4%;left:0}.app-phone{position:relative;z-index:1;width:235px;height:425px;border:8px solid #161616;border-bottom:0;border-radius:34px 34px 0 0;background:#fff;box-shadow:0 0 0 2px #777,0 20px 65px #0003;overflow:hidden;margin-top:45px}.app-notch{position:absolute;z-index:3;top:5px;left:50%;transform:translateX(-50%);width:82px;height:18px;background:#161616;border-radius:10px}.app-phone-content{padding:45px 14px 12px;text-align:center}.app-phone-content>img{width:130px;height:50px;object-fit:contain}.app-phone-content>span{display:block;letter-spacing:.12em;font-size:8px;margin:8px 0 20px;color:#999}.app-phone-photo{height:145px;border-radius:9px;overflow:hidden;background:#fff}.app-phone-photo img{width:100%;height:100%;object-fit:cover}.app-phone-lines{padding:15px 0;display:flex;gap:6px}.app-phone-lines span{height:5px;flex:1;border-radius:6px;background:#e7e7e7}.app-phone-button{background:#d90920;color:#fff;font-size:9px;font-weight:700;padding:14px 5px;border-radius:6px}.app-decoration{position:absolute;top:45px;right:25px;letter-spacing:.24em;font-size:12px;font-weight:800;color:#d70820;text-align:right}.contact-details a{color:inherit;text-decoration:none}.contact-details a:hover{color:#d70922;text-decoration:underline}.modal .quote-result-actions{flex-wrap:wrap}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.app-visual{min-height:350px}.portfolio-grid{gap:15px}}@media(max-width:600px){.portfolio-grid{grid-template-columns:1fr}.portfolio-card-wide{grid-column:auto}.portfolio-card-wide .portfolio-img{aspect-ratio:1.42}.portfolio-card-caption{padding:16px}.portfolio-foot{flex-direction:column;align-items:start}.app-shell{border-radius:18px}.app-copy{padding:36px 25px}.app-visual{min-height:320px}.app-decoration{top:20px;font-size:10px}.app-phone{height:310px;margin-top:30px}.app-phone-photo{height:108px}.app-store-link{flex:1;min-width:185px}}

/* V3 — authentic customer imagery, quiet motion and typographic refinements */
.hero h1{font-size:clamp(43px,4.55vw,71px);line-height:1.13;max-width:720px}
.hero-copy>p{max-width:505px}
.hero-photo{object-fit:contain;object-position:center;background:#fff;box-shadow:0 26px 70px #0000000b;padding:9px}
.hero-visual{perspective:1100px}
.hero-photo{animation:asma-float 9s ease-in-out infinite}
@keyframes asma-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)}}
.feature-custom>img{object-position:50% 36%;background:#fff}
.services-visual img{object-fit:contain!important;background:#fff}
.contact-photo img{object-fit:cover;object-position:center 50%}
.contact-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.45),transparent 45%);pointer-events:none}
.contact-photo-text{z-index:2}
.intro-right p{line-height:1.8}
.services-copy>p strong,.contact-copy>p strong{font-weight:800;color:var(--ink)}
@media(max-width:1000px){.hero h1{font-size:clamp(39px,4.7vw,61px)}}
@media(max-width:760px){.hero h1{font-size:clamp(39px,8.5vw,62px)}.hero-visual{min-height:340px}.hero-photo{object-fit:contain;inset:10px 3% 16px;width:94%;height:calc(100% - 26px)}}
@media(max-width:500px){.hero h1{font-size:clamp(38px,10vw,52px)}.hero-visual{min-height:275px}.hero-sticker{left:3%;bottom:-2%}.hero-copy>p{font-size:13px;line-height:1.75}}
@media(prefers-reduced-motion:reduce){.hero-photo{animation:none}}

/* V5 — Gammes personnalisées par métier */
[hidden]{display:none!important}
.custom-industries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}
.industry-card{background:white;border:1px solid #e9e9e9;border-radius:20px;overflow:hidden;min-width:0;transition:transform .4s ease,box-shadow .4s ease}
.industry-card:hover{transform:translateY(-6px);box-shadow:0 22px 65px #10101010}
.industry-photo{height:270px;background:#f6f5f4;overflow:hidden}
.industry-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.industry-card:hover .industry-photo img{transform:scale(1.055)}
.industry-card:nth-child(2) .industry-photo img{object-position:center 43%}
.industry-content{padding:26px 25px 30px}
.industry-kicker{color:#c90820;font-size:10px;font-weight:800;letter-spacing:.13em}
.industry-content h3{font-family:Manrope,sans-serif;font-size:clamp(26px,2.4vw,34px);letter-spacing:-.055em;margin:10px 0 12px;line-height:1.1}
.industry-content h3 span{color:var(--red)}
.industry-content>p{color:#666873;font-size:13px;line-height:1.75;min-height:70px}
.industry-products{list-style:none;padding:17px 0 22px;margin:12px 0 0;border-top:1px solid #ededed;display:grid;grid-template-columns:1fr;gap:9px}
.industry-products li{font-size:12px;font-weight:600;color:#3f4045;padding-left:17px;position:relative}
.industry-products li:before{content:'';width:5px;height:5px;border-radius:50%;background:var(--red);position:absolute;top:7px;left:0}
.industry-cta{border:0;border-radius:30px;background:#171717;color:#fff;font-size:11px;font-weight:800;padding:14px 18px;cursor:pointer;display:flex;width:100%;align-items:center;justify-content:space-between;transition:background .25s,transform .25s}
.industry-cta:hover{background:var(--red);transform:translateY(-2px)}
.industry-note{grid-column:1/-1;color:#888;font-size:11px;line-height:1.6;margin-top:5px}
.store-mark{width:29px;height:29px;flex-shrink:0;display:block}
@media(max-width:980px){.custom-industries{grid-template-columns:repeat(2,minmax(0,1fr))}.industry-card:last-of-type{grid-column:1/-1;display:grid;grid-template-columns:45% 55%}.industry-card:last-of-type .industry-photo{height:100%;min-height:340px}.industry-card:last-of-type .industry-content>p{min-height:0}}
@media(max-width:680px){.custom-industries{grid-template-columns:1fr;gap:18px}.industry-card:last-of-type{grid-column:auto;display:block}.industry-card:last-of-type .industry-photo{height:260px;min-height:0}.industry-photo{height:260px}.industry-content{padding:24px}.industry-content>p{min-height:0}.industry-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 12px}.industry-products li{font-size:11px}.industry-content h3{font-size:30px}}
@media(prefers-reduced-motion:reduce){.industry-card,.industry-photo img,.industry-cta{transition:none!important}}

/* V6 hero and app refinements */
.hero-content{align-items:center;gap:28px}
.hero-copy{padding:72px 0 56px}
.hero h1{margin:0 0 24px;max-width:720px}
.hero-copy>p{max-width:540px}
.hero-buttons{margin:30px 0 52px}
.hero-visual{position:relative;align-self:stretch;min-height:580px;display:flex;align-items:stretch;justify-content:stretch;padding:26px 0 26px 12px;perspective:1100px}
.hero .hero-photo{position:relative;inset:auto;right:auto;top:auto;width:100%;height:100%;min-height:100%;display:block;object-fit:cover;object-position:center center;border-radius:30px;background:#fff;box-shadow:0 26px 70px #00000012;padding:0;z-index:1}
.hero-orb{top:6%;right:-16%;width:720px;height:660px}
.hero-sticker{left:-2%;bottom:8%;z-index:2}
.hero-bottom,.hero-vertical-label{display:none!important}

.app-phone{display:flex;align-items:stretch;justify-content:stretch;background:#111}
.app-phone-screen{position:relative;flex:1;border-radius:26px 26px 0 0;overflow:hidden;background:#fff}
.app-phone-bg{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.app-phone-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,.05) 35%,rgba(0,0,0,.16) 100%)}
.app-phone-logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:142px;max-width:68%;height:auto;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.18))}

@media(max-width:1000px){
  .hero-visual{min-height:520px;padding:18px 0 18px 10px}
}
@media(max-width:760px){
  .hero-copy{padding:56px 0 0}
  .hero-buttons{margin:26px 0 34px}
  .hero-visual{min-height:355px;margin:8px -19px 0;padding:0 19px 0}
  .hero .hero-photo{height:100%;min-height:0;border-radius:18px}
  .hero-sticker{left:5%;bottom:-3%}
  .app-phone-logo{width:118px;max-width:64%}
}
@media(max-width:500px){
  .hero-visual{min-height:305px}
  .hero .hero-photo{border-radius:16px}
  .hero-sticker{left:4%;bottom:-4%}
  .app-phone-logo{width:104px;max-width:62%}
}
@media(prefers-reduced-motion:reduce){
  .hero .hero-photo{animation:none}
}


/* V7 — compact editorial rhythm and restrained premium motion */
.section-pad{padding-block:clamp(64px,6.2vw,88px)}
.intro-grid{gap:clamp(32px,5vw,78px)}
.section-title{margin-top:13px}
.section-head{margin-bottom:29px}
.products{padding-bottom:32px}
.feature-card{height:390px}
.category-grid{gap:13px}
.catalogue-foot{padding-top:22px}
.services-grid{gap:clamp(35px,6vw,76px)}
.services-visual img{height:445px}
.services-copy>p{margin:17px 0 23px}
.service-item{padding:13px 0}
.steps{margin-top:36px;gap:30px}
.step-line{margin:10px 0 19px}
.manifesto{padding:70px 0 76px}
.manifesto-head h2{margin:13px 0 39px}
.contact-grid{gap:clamp(34px,6vw,74px)}
.contact-photo{height:390px}
.portfolio-heading{margin-bottom:26px}
.portfolio-grid{gap:16px}
.portfolio-foot{padding-top:24px}
.app-shell{min-height:430px}
.app-copy{padding:clamp(32px,4vw,56px)}
.app-copy>p{margin-top:17px}
.app-actions{margin-top:22px}
.app-visual{min-height:395px}
.footer{padding-top:52px}
.footer-top{padding-bottom:45px}
.hero{min-height:0}
.hero-content{min-height:530px}
.hero-copy{padding:57px 0 45px}
.hero-visual{min-height:515px}
.hero-buttons{margin:26px 0 35px}
.hero .hero-photo{animation:none;transition:transform .9s cubic-bezier(.2,.75,.25,1),box-shadow .6s ease}
.hero-visual:hover .hero-photo{transform:scale(1.015);box-shadow:0 34px 85px #0000001b}
.hero-sticker{transition:transform .65s cubic-bezier(.2,.75,.25,1)}
.hero-visual:hover .hero-sticker{transform:rotate(-8deg) translateY(-7px)}
.app-phone-logo{display:none!important}
.app-phone-bg{object-position:55% center;transition:transform 1.1s cubic-bezier(.2,.75,.25,1)}
.app-shell:hover .app-phone-bg{transform:scale(1.055)}
.app-phone{transition:transform .8s cubic-bezier(.2,.75,.25,1),box-shadow .8s ease}
.app-shell:hover .app-phone{transform:translateY(-7px);box-shadow:0 0 0 2px #777,0 30px 75px #0003}
/* Use the same clean motion language for all interactive tiles. */
.portfolio-card,.industry-card,.feature-card,.category-card,.app-store-link,.btn{transition-timing-function:cubic-bezier(.2,.75,.25,1)}
.portfolio-card:hover,.industry-card:hover{transform:translateY(-5px)}
@media(hover:hover) and (pointer:fine){
 .portfolio-img img,.industry-photo img{transition-duration:.9s}
 .btn:hover,.app-store-link:hover{transform:translateY(-2px)}
}
/* Gentle staggering, applied on scroll only, and only where reveal JS is active. */
html.has-motion [data-reveal]{transform:translateY(20px);filter:blur(3px);transition:opacity .85s cubic-bezier(.18,.75,.2,1),transform .85s cubic-bezier(.18,.75,.2,1),filter .85s ease}
html.has-motion [data-reveal].revealed{transform:translateY(0);filter:blur(0)}
@media(max-width:1000px){
 .hero-content{min-height:0}
 .hero-visual{min-height:465px}
 .services-visual img{height:405px}
}
@media(max-width:760px){
 .section-pad{padding-block:54px}
 .intro-grid{gap:17px}
 .section-head{margin-bottom:22px}
 .hero-copy{padding:46px 0 0}
 .hero-visual{min-height:315px}
 .hero-buttons{margin:24px 0 25px}
 .feature-card{height:355px}
 .services-grid,.contact-grid{gap:30px}
 .services-visual img{height:325px}
 .steps{margin-top:27px;gap:20px}
 .manifesto{padding:57px 0 60px}
 .manifesto-head h2{margin-bottom:30px}
 .portfolio-grid{gap:13px}
 .portfolio-heading{margin-bottom:21px}
 .contact-photo{height:320px}
 .app-shell{min-height:0}
 .app-visual{min-height:305px}
 .app-copy{padding:32px 26px}
 .footer-top{padding-bottom:32px}
}
@media(max-width:500px){
 .section-pad{padding-block:47px}
 .hero-visual{min-height:275px}
 .feature-card{height:330px}
 .services-visual img{height:290px}
 .contact-photo{height:275px}
 .app-visual{min-height:295px}
 .manifesto-values{gap:20px 17px}
}
@media(prefers-reduced-motion:reduce){
 .hero .hero-photo,.hero-sticker,.app-phone,.app-phone-bg{animation:none!important;transition:none!important;transform:none!important}
 html.has-motion [data-reveal],html.has-motion [data-reveal].revealed{opacity:1;transform:none;filter:none;transition:none}
}


/* V8 official store badges */
.app-actions{align-items:center;gap:14px 16px}
.store-badge-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:transform .24s ease,filter .24s ease;transform-origin:left center}
.store-badge-link:hover{transform:translateY(-2px);filter:drop-shadow(0 14px 24px rgba(0,0,0,.14))}
.store-badge-img{display:block;height:auto;max-width:100%}
.store-badge-appstore{width:300px}
.store-badge-google{width:312px}
@media(max-width:760px){.app-actions{gap:10px}.store-badge-appstore,.store-badge-google{width:min(100%,260px)}}
@media(max-width:500px){.app-actions{display:grid;grid-template-columns:1fr}.store-badge-link{justify-content:flex-start}.store-badge-appstore,.store-badge-google{width:min(100%,245px)}}

/* V9 — badges compacts et côte à côte sur tous les écrans */
.app-actions{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:12px}
.store-badge-link{flex:0 1 156px;min-width:0}
.store-badge-appstore,.store-badge-google{width:100%;max-width:156px;height:auto}
@media(max-width:760px){.app-actions{display:flex;flex-direction:row;flex-wrap:nowrap;gap:10px}.store-badge-link{flex:0 1 145px;min-width:0}.store-badge-appstore,.store-badge-google{width:100%;max-width:145px}}
@media(max-width:500px){.app-actions{display:flex;flex-direction:row;flex-wrap:nowrap;gap:9px}.store-badge-link{flex:0 1 136px;min-width:0;justify-content:flex-start}.store-badge-appstore,.store-badge-google{width:100%;max-width:136px}}

/* V12 secure quote form */
.spam-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.form-privacy{font-size:12px;line-height:1.7;color:#626268;margin:14px 0}.form-privacy a{color:#bf0a22;text-decoration:underline;text-underline-offset:3px}.form-error{color:#ab0622;background:#fff0f2;border:1px solid #f4c6cc;border-radius:9px;padding:12px 14px;font-size:13px;margin:12px 0}.form-actions button:disabled{opacity:.65;cursor:progress}

/* Correctif V12 animations : transition visible et prise en compte accessibilite. */
@media (prefers-reduced-motion: no-preference) {
  html.has-motion [data-reveal]:not(.revealed) {
    opacity: 0;
    transform: translate3d(0, 38px, 0);
    filter: blur(4px);
  }
  html.has-motion [data-reveal].revealed {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
  }
  html.has-motion [data-reveal] {
    transition-property: opacity, transform, filter;
    transition-duration: .95s, .95s, .95s;
    transition-timing-function: cubic-bezier(.18,.72,.2,1);
  }
}
@media (prefers-reduced-motion: reduce) {
  html.has-motion [data-reveal], html.has-motion [data-reveal].revealed {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}
