/* AI2Life v3 — sky-inspired editorial design; responsive, no frameworks, no tracking. */
:root{--navy:#172747;--blue:#396aa7;--coral:#ff694f;--ink:#1e2d47;--muted:#65738a;--white:#fff;--max:1360px;--radius:26px;--font-body:"Inter",Arial,Helvetica,sans-serif;--font-display:"Inter Display","Inter",Arial,Helvetica,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:95px}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}
body.mobile-nav-open{overflow:hidden}
a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img,svg{max-width:100%}img{display:block}::selection{background:#ffb29c;color:#172747}
.container{width:min(calc(100% - 104px),var(--max));margin-inline:auto}
.skip-link{position:absolute;top:-150px;left:20px;background:#fff;color:#111;padding:12px;z-index:999}.skip-link:focus{top:10px}
/* BLUE SKY HERO */
.hero-shell{position:relative;isolation:isolate;overflow:hidden;padding-top:112px;color:#fff;background:linear-gradient(124deg,#6497d1 0%,#77a9dd 42%,#8bb9e3 77%,#a5d0eb 100%)}
.hero-shell::before{content:"";position:absolute;z-index:-2;width:850px;height:850px;left:-420px;top:50px;background:radial-gradient(circle,rgba(174,211,243,.46),transparent 68%);pointer-events:none}
.hero-shell::after{content:"";position:absolute;z-index:-2;width:880px;height:670px;right:-300px;top:40px;background:radial-gradient(ellipse,rgba(207,231,247,.34),transparent 72%);pointer-events:none}
.cloud-layer{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url('assets/soft-clouds.webp');background-size:100% 100%;background-position:center bottom;opacity:.78;filter:brightness(1.14)}
.site-header{position:relative;z-index:20}
/* Keep the banner outside main while preserving its position over the V4 sky. */
.home-header{position:absolute;top:0;left:0;right:0;color:#fff}
.header-inner{height:112px;display:flex;align-items:center;justify-content:space-between;gap:38px}
.brand{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;flex-shrink:0}
.brand img{width:42px;height:42px;object-fit:contain}
.brand span{font-size:26px;font-weight:780;letter-spacing:-1.75px;line-height:1}
.brand-light{color:white}.brand-dark{color:var(--navy)}
.desktop-nav{display:flex;gap:39px;align-items:center;margin-left:45px}
.desktop-nav a{font-size:14px;font-weight:610;transition:opacity .2s}.desktop-nav a:hover{opacity:.64}
.header-cta{background:rgba(255,255,255,.94);color:var(--navy);border:1px solid rgba(255,255,255,.55);padding:14px 16px 14px 25px;border-radius:60px;display:inline-flex;align-items:center;gap:27px;white-space:nowrap;font-size:14px;font-weight:740;box-shadow:0 9px 24px rgba(42,87,137,.12);transition:transform .18s,box-shadow .18s}
.header-cta span{font-size:20px;line-height:1}.header-cta:hover{transform:translateY(-2px);box-shadow:0 12px 35px rgba(42,87,137,.21)}
.menu-toggle{display:none;position:relative;background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.52);height:44px;width:48px;border-radius:13px;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.menu-toggle span{display:block;width:19px;height:2px;background:currentColor;border-radius:5px;transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mobile-menu[hidden]{display:none!important}
.mobile-menu{position:absolute;top:90px;left:20px;right:20px;background:rgba(253,254,255,.98);backdrop-filter:blur(20px);border-radius:22px;padding:17px;box-shadow:0 28px 80px rgba(23,50,92,.27);display:flex;flex-direction:column;gap:3px;color:var(--navy)}
.mobile-menu a{display:block;padding:15px 14px;border-radius:11px;font-weight:670;font-size:16px}.mobile-menu a:hover{background:#eef4fe}
.hero{position:relative;padding-bottom:32px}
.hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);column-gap:10px;min-height:633px;align-items:center;padding-top:64px;padding-bottom:66px}
.hero-copy{position:relative;z-index:4;padding:4px 0 10px}
.hero-eyebrow{font-size:11px;letter-spacing:2.2px;line-height:1.6;text-transform:uppercase;display:flex;align-items:center;gap:11px;color:#f2f8ff;font-weight:760;margin:0 0 30px}
.eyebrow-circle{width:28px;height:28px;border:1px solid rgba(255,255,255,.64);border-radius:50%;display:inline-grid;place-items:center;font-size:18px;letter-spacing:0}
.hero h1{font-size:clamp(70px,6.55vw,112px);line-height:.985;letter-spacing:-.083em;font-weight:830;white-space:nowrap;margin:0 0 29px}
.hero h1 span{color:#fff2eb}
.hero-lede{font-size:clamp(17px,1.34vw,20px);font-weight:730;letter-spacing:-.025em;margin:0 0 13px;color:#fff}
.hero-desc{font-size:16px;max-width:515px;line-height:1.8;font-weight:450;color:rgba(255,255,255,.92);margin:0 0 31px}
.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;white-space:nowrap;min-height:60px;padding:10px 11px 10px 25px;border-radius:60px;font-weight:750;font-size:14px;letter-spacing:-.15px;transition:transform .2s,box-shadow .2s,background-color .2s}
.button:hover{transform:translateY(-3px)}.button-coral{background:var(--coral);color:var(--navy);box-shadow:0 12px 26px rgba(192,76,72,.21)}.button-coral:hover{background:#ff715e;box-shadow:0 17px 34px rgba(180,66,60,.24)}
.arrow-disc{width:39px;height:39px;border-radius:50%;background:#fff;color:#f55a43;display:inline-grid;place-items:center;font-weight:700;font-size:19px}
.button-ghost{border:1px solid rgba(255,255,255,.72);color:white;padding:15px 21px;background:rgba(255,255,255,.10);min-height:59px;gap:17px}.button-ghost:hover{background:rgba(255,255,255,.23)}
.hero-footnote{font-size:11px;color:rgba(255,255,255,.84);font-weight:620;letter-spacing:.25px;margin:30px 0 0;display:flex;align-items:center;gap:11px;flex-wrap:wrap}.online-dot{display:inline-block;width:8px;height:8px;background:#d9ffbc;border-radius:50%;box-shadow:0 0 0 4px rgba(217,255,188,.16)}
/* EDITORIAL LIFESTYLE COLLAGE — NO FALSE APP DEMO */
.hero-showcase{height:570px;position:relative;min-width:0;isolation:isolate;margin-right:-38px}
.showcase-backdrop{position:absolute;z-index:-3;inset:11% 4% 4% 7%;background:radial-gradient(ellipse at 54% 50%,rgba(224,237,255,.37),rgba(189,223,248,.14) 55%,transparent 75%);border-radius:46px}
.showcase-frame{position:absolute;z-index:-2;top:48px;right:40px;width:77%;height:445px;border:1px solid rgba(255,255,255,.49);border-radius:50px;background:linear-gradient(125deg,rgba(244,253,255,.09),rgba(255,255,255,.05));box-shadow:inset 0 1px 1px rgba(255,255,255,.12)}
.showcase-photo{position:absolute;z-index:-1;bottom:26px;right:-12px;width:calc(100% + 17px);height:405px;object-fit:cover;object-position:59% center;border-radius:37px;box-shadow:0 26px 62px rgba(39,84,126,.20);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 12%,#000 100%);mask-image:linear-gradient(to right,transparent 0%,#000 12%,#000 100%)}
.showcase-note{position:absolute;z-index:3;right:22px;top:14px;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:20px;line-height:1.1;color:#fff;transform:rotate(-8deg);text-shadow:0 2px 4px rgba(23,52,100,.10);display:flex;align-items:flex-end;flex-direction:column}
.showcase-note span{padding-right:14px}.showcase-note em{font-size:25px}.showcase-note svg{transform:rotate(15deg);margin-top:0;margin-right:20px;opacity:.82}
.floating-card{position:absolute;z-index:3;display:flex;align-items:center;gap:11px;padding:12px 14px;background:rgba(255,255,255,.90);border:1px solid rgba(255,255,255,.91);backdrop-filter:blur(20px);border-radius:16px;color:var(--navy);box-shadow:0 16px 42px rgba(36,82,128,.18);white-space:nowrap}
.float-top{top:148px;left:2%;transform:rotate(-7deg)}.float-bottom{bottom:28px;right:0;transform:rotate(5deg)}
.float-card-icon{width:36px;height:36px;flex-shrink:0;display:grid;place-items:center;color:#4574c8;background:#e9efff;border-radius:11px;font-size:18px}.float-card-icon.icon-orange{background:#ffede2;color:#fa7555}
.float-card-text{display:flex;flex-direction:column;gap:3px}.float-card-text small{font-size:9px;letter-spacing:1.1px;font-weight:840;color:#7c8ca5}.float-card-text strong{font-size:14px;letter-spacing:-.3px}
.card-success{margin-left:7px;color:#439b80;background:#e4f8ed;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;font-size:12px;font-weight:800}
.showcase-spark{position:absolute;right:6%;bottom:12px;color:#fff6c3;font-size:35px;transform:rotate(15deg)}
.hero-ribbon{margin-top:4px;padding-top:24px;padding-bottom:18px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.42)}
.ribbon-item{display:flex;align-items:center;gap:18px;padding-left:24px;min-height:72px;border-right:1px solid rgba(255,255,255,.33)}.ribbon-item:first-child{padding-left:0}.ribbon-item:last-child{border:0}
.ribbon-icon{font-size:32px;display:grid;place-items:center;width:50px;height:50px;border-radius:15px;color:#fff;border:1px solid rgba(255,255,255,.37);background:rgba(255,255,255,.15)}
.ribbon-item strong{font-size:15px;letter-spacing:-.2px}.ribbon-item p{font-size:12px;margin:4px 0 0;color:rgba(255,255,255,.82)}
/* INTRO */
.intro{background:#fff;padding:128px 0 141px}.intro-layout{display:grid;grid-template-columns:1fr 1.82fr;gap:80px;align-items:start}
.intro-kicker{font-size:12px;letter-spacing:1.1px;font-weight:800;color:#517cb1;text-transform:uppercase;padding-top:18px;display:flex;gap:17px;align-items:center}.micro-star{font-size:24px;color:var(--coral)}
.intro-main h2,.section-heading h2,.faq-title h2{font-size:clamp(52px,5.5vw,82px);line-height:1.04;letter-spacing:-.065em;font-weight:810;margin:0}
.intro-main h2 em,.section-heading h2 em,.faq-title h2 em,.contact h2 em{font-family:Georgia,serif;font-style:italic;font-weight:500;letter-spacing:-.064em;color:#6193cc}
.intro-main p{max-width:690px;font-size:19px;line-height:1.8;color:#627185;margin:31px 0 24px}
.text-link{display:inline-flex;gap:25px;align-items:center;font-size:14px;font-weight:780;color:#396aa7;border-bottom:1px solid #a4bfdc;padding-bottom:12px;transition:gap .18s}.text-link:hover{gap:34px}
/* SERVICES */
.section-block{padding:125px 0 140px}.services{background:#f5f8fd}
.section-kicker{font-size:11px;font-weight:840;letter-spacing:1.9px;text-transform:uppercase;color:#5c84ae;display:flex;align-items:center;gap:14px}.section-line{display:inline-block;width:27px;height:1px;background:#7e9dbc}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:70px;margin:31px 0 48px}.section-heading h2{max-width:650px}.section-heading p{max-width:360px;font-size:15px;line-height:1.8;margin:0 0 12px;color:#6b788d}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.service-card{border-radius:29px;overflow:hidden;min-height:558px;position:relative;padding:31px 37px 34px;display:flex;flex-direction:column;transition:transform .22s,box-shadow .22s;isolation:isolate}.service-card:hover{transform:translateY(-5px);box-shadow:0 22px 55px rgba(37,59,91,.09)}
.service-one{background:#e6ebfb}.service-two{background:#ffebde}.service-three{background:#e4f3ef}.service-four{background:#e1f0fd}
.card-overline{display:flex;justify-content:space-between;align-items:center;font-weight:840;letter-spacing:1.4px;font-size:10px;color:#5a688c;z-index:3}.service-arrow{font-size:20px;letter-spacing:0;font-weight:500;color:#384d72}
.service-art{height:255px;flex:0 0 255px;position:relative;display:flex;align-items:center;justify-content:center}
.automation-window{width:260px;min-height:181px;background:#fff;border:1px solid #fff;border-radius:18px;box-shadow:0 19px 42px rgba(68,75,126,.13);transform:rotate(-6deg);padding:20px 22px;position:relative;z-index:1}
.window-top{display:flex;gap:5px;margin-bottom:18px}.window-top span{width:6px;height:6px;border-radius:50%;background:#cfd9f4}.window-top span:first-child{background:#a3b2e4}
.window-row{display:flex;justify-content:space-between;font-size:14px;color:#50617f}.window-row i{font-style:normal;color:#b7c3d9}.flow-line{text-align:center;font-size:23px;color:#b2bedd;height:37px}.window-done{background:#e9f7ef;border-radius:10px;padding:12px;display:flex;align-items:center;gap:10px;font-size:13px;color:#408b69;font-weight:780}
.check-round{width:23px;height:23px;background:#55b98a;color:#fff;border-radius:50%;display:grid;place-items:center}.art-spark{position:absolute;right:21%;top:16%;font-size:33px;color:#7a90db}
.creative-sheet{width:207px;height:203px;border-radius:14px;position:absolute;box-shadow:0 16px 32px rgba(139,87,76,.12)}.sheet-back{transform:rotate(13deg) translate(28px,-4px);background:#ffc0ab;display:flex;align-items:flex-end;padding:20px;color:#ac665c;letter-spacing:1px;font-size:10px;font-weight:900}.sheet-front{transform:rotate(-7deg) translate(-10px,3px);background:#fffaf1;display:flex;flex-direction:column;justify-content:flex-end;padding:18px;color:#693e4d}.sheet-front strong{font-family:Georgia,serif;font-size:21px;line-height:1.04;font-weight:650}.art-circle{position:absolute;top:22px;right:23px;width:104px;height:104px;background:#fbb38b;border-radius:50%;display:grid;place-items:center}.art-circle div{height:68px;width:68px;border:13px solid #ffe1b9;border-radius:50%;box-shadow:0 0 0 8px rgba(255,133,112,.28)}.creative-sticker{position:absolute;right:11%;bottom:23px;background:white;padding:8px 12px;transform:rotate(8deg);font-size:10px;letter-spacing:.9px;color:#c5754e;border-radius:20px;font-weight:870;box-shadow:0 8px 17px rgba(165,102,77,.1)}
.assistant-card{background:rgba(255,255,255,.97);width:268px;transform:rotate(5deg);padding:22px;border-radius:18px;box-shadow:0 20px 42px rgba(72,138,118,.14);z-index:2}.assistant-heading{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:800;letter-spacing:1px;color:#91a5a5}.mini-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#d0ebe0;color:#549c8a;font-size:18px}.assistant-card>strong{display:block;font-size:20px;color:#39695c;margin:22px 0 14px;letter-spacing:-1px}.assistant-pills{display:flex;gap:5px}.assistant-pills i{font-size:10px;color:#699184;font-style:normal;padding:8px 9px;background:#e7f5ee;border-radius:20px}.assistant-glow{font-size:73px;position:absolute;left:22%;top:13%;color:#8aceb8}
.art-consulting{overflow:hidden}.consulting-orbit{position:absolute;border:2px solid rgba(98,150,208,.28);border-radius:50%;transform:rotate(-28deg)}.orbit-a{width:345px;height:142px}.orbit-b{width:220px;height:235px;transform:rotate(45deg);border-color:rgba(98,150,208,.18)}.consulting-sun{font-size:87px;color:#fff;filter:drop-shadow(0 9px 12px rgba(119,165,213,.25))}.consulting-label{position:absolute;bottom:10px;right:11%;font-family:Georgia,serif;font-style:italic;font-size:18px;line-height:1.2;color:#5588ba;transform:rotate(-8deg)}.consulting-label span{margin-left:28px}
.service-copy{margin-top:auto;z-index:2}.service-copy h3{font-size:clamp(27px,2.6vw,39px);letter-spacing:-1.5px;line-height:1.06;margin:0 0 16px;font-weight:795}.service-copy p{font-size:14px;line-height:1.75;max-width:465px;color:#66748c;margin:0 0 22px}.service-tags{font-size:10px;letter-spacing:1px;text-transform:uppercase;font-weight:850;color:#697e9c}
.service-fineprint{display:flex;gap:12px;align-items:center;margin-top:27px;font-size:12px;color:#748198;font-weight:610}.small-asterisk{color:#ff9074;font-size:19px}
/* PHILOSOPHY BANNER */
.quote-band{background:#192b4c;color:#fff;overflow:hidden;position:relative}.quote-band::after{content:"";position:absolute;width:540px;height:540px;border:1px solid rgba(255,255,255,.1);border-radius:50%;right:-100px;top:-220px}
.quote-band-inner{padding:85px 0 91px;position:relative}.quote-band-icon{color:#ff977d;font-family:Georgia,serif;font-size:90px;line-height:.7;position:absolute;left:0;top:84px}.quote-band p{font-size:clamp(33px,4.5vw,63px);font-weight:760;line-height:1.2;letter-spacing:-2.7px;max-width:950px;margin:0 0 28px 85px}.quote-band em{font-weight:500;color:#ffb49a;font-family:Georgia,serif}.quote-band-small{margin-left:85px;font-size:10px;color:#9fb4d6;letter-spacing:1.8px;font-weight:800}
/* PROCESS */
.process{background:#fff}.process-heading{margin-bottom:56px}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}
.step{border-top:1px solid #ccd7e4;padding-top:22px}.step-num{font-size:51px;font-weight:750;color:#8bbae3;letter-spacing:-2px;display:flex;justify-content:space-between;align-items:center}.step-num span{font-size:23px;color:#ff7f67}.step h3{margin:35px 0 15px;font-size:24px;letter-spacing:-.75px}.step p{font-size:14px;line-height:1.85;color:#6f7d93;margin:0;max-width:330px}
/* FAQ */
.faq{background:#f6f9fc}.faq-layout{display:grid;grid-template-columns:1fr 1fr;gap:96px}.faq-title h2{font-size:clamp(47px,4.7vw,70px);margin:28px 0}.faq-title p{font-size:15px;line-height:1.7;color:#6d7b8f;max-width:330px;margin:0 0 27px}
.faq-items{padding-top:6px}.faq-items details{border-bottom:1px solid #d5dfea;padding:0 0 3px}.faq-items details:first-child{border-top:1px solid #d5dfea}.faq-items summary{display:flex;justify-content:space-between;align-items:center;gap:24px;list-style:none;cursor:pointer;font-size:15px;font-weight:720;color:var(--navy);padding:22px 0;line-height:1.4}.faq-items summary::-webkit-details-marker{display:none}.faq-items summary>span{flex:0 0 27px;width:27px;height:27px;border:1px solid #c9d6e5;border-radius:50%;display:grid;place-items:center;font-weight:550;transition:transform .2s}.faq-items details[open] summary>span{transform:rotate(45deg);background:#e9f1fb}.faq-items details p{font-size:13px;line-height:1.87;color:#68768c;margin:0 43px 20px 0}.faq-items details p a{color:#376da9;text-decoration:underline;text-underline-offset:2px}
/* CONTACT */
.contact{position:relative;isolation:isolate;background:linear-gradient(135deg,#6396d0,#8cbee5 85%);color:#fff;overflow:hidden;text-align:center}.contact-cloud{position:absolute;z-index:-1;inset:0;background:url('assets/soft-clouds.webp') center/cover no-repeat;opacity:.7}
.contact-inner{padding:106px 0 112px}.contact-kicker{font-size:11px;font-weight:840;letter-spacing:2px}.contact-kicker span{color:#ffedc9;font-size:18px;margin-left:14px}.contact h2{font-size:clamp(60px,7vw,100px);line-height:1.03;letter-spacing:-.07em;margin:27px 0}.contact h2 em{color:#ffdbcb}.contact-inner>p:not(.contact-kicker){max-width:580px;font-size:17px;line-height:1.65;margin:0 auto 30px;color:rgba(255,255,255,.95)}.contact-action{min-width:222px}.contact-email{display:block;font-weight:690;font-size:14px;margin-top:24px;text-underline-offset:4px;text-decoration:underline;text-decoration-color:rgba(255,255,255,.58)}
/* FOOTER */
.footer{background:#fff}.footer-upper{padding:76px 0 64px;display:grid;grid-template-columns:1.9fr 1fr 1.25fr;gap:55px}.footer-about p{color:#647288;font-size:14px;line-height:1.8;margin:18px 0 18px}.merchant-note{color:#91a0b3;font-size:11px;line-height:1.8;max-width:340px}.footer-links{display:flex;flex-direction:column;gap:13px}.footer-links h3{font-size:11px;letter-spacing:1.6px;margin:5px 0 10px;text-transform:uppercase;color:#7b95b5}.footer-links a{color:#56647a;font-size:13px;font-weight:560;line-height:1.3}.footer-links a:hover{color:#ff694f}
.footer-bottom{border-top:1px solid #e2e9f0;min-height:75px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#78859a;font-size:11px;font-weight:630}.footer-bottom a:hover{text-decoration:underline;text-underline-offset:3px}
/* LEGAL PAGES */
.legal-header{background:#fff;box-shadow:0 1px 0 #e8eef4}.legal-header .desktop-nav a{color:#263c5c}.legal-header .header-cta{border:1px solid #dce6ef;background:#f5f9fd;box-shadow:none}.legal-header .menu-toggle{color:#2d4b78;background:#f1f6fc;border-color:#d9e7f6}.legal-header .mobile-menu{top:92px}
.legal-header .header-inner{height:92px}.legal-main{background:#f7fafc;padding-bottom:106px}.legal-hero{background:linear-gradient(120deg,#e4f1fc,#f6fafc);border-bottom:1px solid #ddeaf4;padding:83px 0 70px}.legal-hero h1{font-size:clamp(49px,5.35vw,79px);letter-spacing:-.068em;line-height:1.05;font-weight:820;margin:20px 0}.legal-subtitle{font-size:17px;max-width:760px;line-height:1.8;color:#62748c;margin:0}.legal-meta{font-size:12px;color:#72829a;display:flex;gap:25px;flex-wrap:wrap;margin-top:21px}.legal-grid{display:grid;grid-template-columns:245px minmax(0,810px);gap:82px;padding-top:65px;align-items:start}.legal-sidebar{position:sticky;top:24px;display:flex;flex-direction:column;gap:12px}.legal-sidebar h2{font-size:11px;color:#4f7aaa;letter-spacing:1.5px;margin:0 0 17px}.legal-sidebar a{color:#65758a;font-size:12px;line-height:1.5;padding-bottom:5px}.legal-sidebar a:hover{color:#ee7158}.legal-article{font-size:14px;color:#627087;line-height:1.86}.legal-article section{padding:0 0 21px;margin-bottom:15px;border-bottom:1px solid #dce6ed;scroll-margin-top:25px}.legal-article h2{font-size:22px;letter-spacing:-.6px;color:var(--navy);margin:0 0 12px}.legal-article p{margin:0 0 18px}.legal-article a{color:#376fa8;text-decoration:underline;text-underline-offset:3px}.legal-note{background:#ebf4fc;border-radius:18px;padding:22px 25px;margin:22px 0}.legal-note p{margin:0}.legal-back{display:inline-block;font-weight:750;margin-top:17px;color:var(--navy)!important;text-decoration:none!important}
/* DESKTOP AND TABLET */
@media(min-width:1500px){.hero-inner{min-height:705px}.hero-showcase{transform:scale(1.04);transform-origin:center right}}
@media(max-width:1220px){.container{width:min(calc(100% - 76px),var(--max))}.desktop-nav{gap:25px;margin-left:0}.hero h1{font-size:clamp(67px,6.7vw,98px)}.hero-showcase{margin-right:-16px}.float-top{left:-3%}.showcase-photo{height:377px}.intro-layout{gap:52px}.faq-layout{gap:68px}}
@media(max-width:1020px){.header-inner{height:92px}.desktop-nav{gap:20px}.desktop-nav a{font-size:12px}.hero-inner{min-height:575px;padding-top:35px}.hero h1{font-size:clamp(60px,7vw,82px)}.hero-copy{padding-right:5px}.hero-desc{font-size:14px;line-height:1.7}.hero-showcase{height:498px;margin-right:-20px}.showcase-photo{height:340px;bottom:30px}.showcase-frame{height:370px;top:48px}.showcase-note{font-size:15px}.showcase-note em{font-size:20px}.float-card-text strong{font-size:12px}.float-top{top:130px;left:-5%}.ribbon-item{gap:10px}.ribbon-icon{font-size:23px;width:41px;height:41px}.intro{padding:95px 0}.section-block{padding:96px 0}.service-card{padding:25px;min-height:525px}.service-art{height:220px;flex-basis:220px}.footer-upper{gap:30px}}
/* PHONE */
@media(max-width:800px){.container{width:min(calc(100% - 48px),620px)}.header-inner{height:82px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:flex}.brand span{font-size:24px}.brand img{width:39px;height:39px}.hero-inner{display:block;padding:53px 0 0;min-height:unset}.hero-copy{padding:0}.hero-eyebrow{font-size:10px;letter-spacing:1.5px;margin:0 0 24px}.hero h1{font-size:clamp(60px,11.2vw,88px);letter-spacing:-.075em;margin-bottom:23px}.hero-lede{font-size:18px;margin-bottom:9px}.hero-desc{font-size:14px;max-width:540px;line-height:1.72;margin-bottom:25px}.hero-footnote{margin-top:22px}.hero-showcase{height:420px;margin:20px -16px 0}.showcase-photo{height:312px;width:98%;right:-4px;bottom:31px;object-position:50% center;border-radius:28px}.showcase-frame{height:343px;top:26px;right:12px;width:79%;border-radius:30px}.showcase-note{right:24px;top:4px}.showcase-note svg{height:27px;width:95px}.floating-card{padding:8px 11px;border-radius:13px;gap:8px}.float-card-icon{width:30px;height:30px;font-size:15px}.float-card-text small{font-size:8px}.float-card-text strong{font-size:12px}.float-top{top:99px;left:0}.float-bottom{right:7px;bottom:24px}.showcase-spark{display:none}.hero-ribbon{grid-template-columns:repeat(3,1fr);gap:5px;margin-top:0;padding-top:21px;padding-bottom:22px}.ribbon-item{display:block;padding:4px 8px;text-align:center}.ribbon-item:first-child{padding-left:0}.ribbon-icon{margin:0 auto 10px}.ribbon-item strong{font-size:12px}.ribbon-item p{font-size:10px;line-height:1.4}.intro-layout{grid-template-columns:1fr;gap:24px}.intro{padding:88px 0 94px}.intro-main h2,.section-heading h2,.faq-title h2{font-size:clamp(45px,9vw,64px)}.intro-main p{font-size:16px;margin:24px 0}.section-block{padding:87px 0 93px}.section-heading{display:block;margin:24px 0 32px}.section-heading p{margin:20px 0 0;max-width:490px}.service-grid{grid-template-columns:1fr;gap:17px}.service-card{min-height:505px;padding:28px}.service-art{height:235px;flex-basis:235px}.service-copy h3{font-size:35px}.quote-band-inner{padding:70px 0}.quote-band-icon{position:relative;display:block;top:auto;font-size:60px;margin-bottom:10px}.quote-band p{font-size:clamp(32px,6vw,47px);letter-spacing:-1.4px;margin:0 0 27px}.quote-band-small{margin-left:0}.steps-grid{grid-template-columns:1fr;gap:28px}.step{padding-top:17px}.step h3{margin:13px 0 12px}.step p{max-width:520px}.faq-layout{grid-template-columns:1fr;gap:30px}.faq-title h2{margin:22px 0}.contact-inner{padding:89px 0 98px}.contact h2{font-size:clamp(61px,10vw,80px)}.footer-upper{grid-template-columns:repeat(2,1fr);gap:36px 18px;padding:58px 0 46px}.footer-about{grid-column:1 / -1}.footer-bottom{padding:23px 0;flex-wrap:wrap;gap:13px;min-height:unset}.legal-header .header-inner{height:82px}.legal-hero{padding:65px 0 55px}.legal-grid{grid-template-columns:1fr;gap:26px;padding-top:42px}.legal-sidebar{position:static;display:none}.legal-article h2{font-size:20px}}
@media(max-width:460px){.container{width:calc(100% - 38px)}.hero-inner{padding-top:38px}.hero h1{font-size:clamp(52px,13vw,64px);letter-spacing:-.08em}.hero-eyebrow{font-size:9px;letter-spacing:1.1px}.hero-lede{font-size:16px}.hero-desc{font-size:13px}.button{min-height:52px;font-size:12px;padding:8px 9px 8px 15px;gap:9px}.arrow-disc{width:34px;height:34px}.button-ghost{min-height:52px;padding:12px 15px}.hero-showcase{height:326px;margin:26px -14px 0}.showcase-photo{height:254px;bottom:20px;border-radius:23px}.showcase-frame{height:276px;top:12px;right:7px;border-radius:25px}.showcase-note{top:-19px;right:19px;font-size:11px}.showcase-note em{font-size:15px}.showcase-note svg{width:75px}.float-top{top:55px;left:0}.float-bottom{bottom:15px;right:0}.floating-card{padding:6px 7px;border-radius:10px;gap:6px}.float-card-icon{height:26px;width:26px;font-size:12px}.float-card-text small{font-size:7px;letter-spacing:.4px}.float-card-text strong{font-size:10px}.card-success{display:none}.ribbon-item strong{font-size:11px}.ribbon-item p{font-size:9px}.ribbon-icon{font-size:18px;width:36px;height:36px}.hero-ribbon{padding-top:18px}.service-card{min-height:495px;padding:23px}.service-copy h3{font-size:31px}.service-copy p{font-size:13px}.service-tags{font-size:9px}.intro-main h2,.section-heading h2,.faq-title h2{font-size:clamp(42px,10.2vw,52px)}.footer-upper{column-gap:10px}.footer-links a{font-size:12px}.footer-bottom{font-size:10px}.contact-inner>p:not(.contact-kicker){font-size:14px}.legal-hero h1{font-size:43px}.legal-subtitle{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* ============================================================
   AI2Life v4 — Editorial type refinement
   Approach: sentence case for prose, modestly tracked labels,
   relaxed display kerning, lighter weights, accessible line-height.
   System-first font stack: no remote font downloads or extra trackers.
   ============================================================ */

body {
  /* Avenir Next maps V4's 710–750 weights to Heavy on macOS.
     Arial keeps the archived V4 proportions without a font download. */
  font-family: var(--font-body);
  font-kerning: normal;
  text-rendering: optimizeLegibility;
}

/* Navigation stays calm; only small overlines use all-caps. */
.brand span {
  font-weight: 750;
  letter-spacing: -0.048em;
}
.desktop-nav a {
  font-weight: 560;
  letter-spacing: 0;
}
.header-cta, .mobile-menu a {
  font-weight: 650;
  letter-spacing: -0.005em;
}

/* Display: restore breathing room without sacrificing scale. */
.hero h1 {
  font-family: var(--font-display);
  font-size: clamp(70px, 6.35vw, 106px);
  font-weight: 735;
  letter-spacing: -0.039em;
  line-height: 1.09;
  margin-bottom: 31px;
}
.hero-eyebrow {
  font-size: 11px;
  font-weight: 660;
  letter-spacing: 0.15em;
  line-height: 1.55;
}
.hero-lede {
  font-size: clamp(17px, 1.28vw, 20px);
  font-weight: 600;
  letter-spacing: -0.012em;
  line-height: 1.48;
  max-width: 520px;
  margin-bottom: 13px;
  text-wrap: pretty;
}
.hero-desc {
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.006em;
  line-height: 1.8;
  max-width: 520px;
  text-wrap: pretty;
}
.hero-footnote {
  font-weight: 500;
  letter-spacing: 0.008em;
}
.button {
  font-weight: 660;
  letter-spacing: 0;
}
.ribbon-item strong {font-weight: 670; letter-spacing: -0.015em;}
.ribbon-item p {font-weight: 420; letter-spacing: 0.005em; line-height: 1.5;}
.float-card-text strong {font-weight: 675; letter-spacing: -0.014em;}

/* Section headings: broader tracking, lighter weight, better rhythm. */
.intro-main h2, .section-heading h2, .faq-title h2 {
  font-family: var(--font-display);
  font-weight: 710;
  letter-spacing: -0.03em;
  line-height: 1.13;
}
.intro-main h2 em, .section-heading h2 em, .faq-title h2 em, .contact h2 em {
  letter-spacing: -0.015em;
  line-height: 1.16;
}
.intro-main p {font-size: 18px; line-height: 1.9; letter-spacing: 0.004em;}
.section-heading p {font-size: 15.5px; line-height: 1.82; letter-spacing: 0.004em;}
.section-kicker, .intro-kicker, .card-overline {font-weight: 700;}
.service-copy h3 {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: -0.026em;
  line-height: 1.17;
}
.service-copy p {line-height: 1.82; letter-spacing: 0.004em;}
.service-tags {font-weight: 670; letter-spacing: 0.09em;}
.service-fineprint {font-weight: 470;line-height: 1.65;}
.quote-band p {font-weight: 690; letter-spacing: -0.034em; line-height: 1.24;}
.step h3 {font-weight: 675; letter-spacing: -0.026em; line-height: 1.28;}
.step p {line-height: 1.88; letter-spacing: 0.003em;}
.faq-items summary {font-weight: 650;line-height: 1.55; letter-spacing: -0.012em;}
.faq-items details p {font-size: 13.5px;line-height: 1.9;}
.contact h2 {font-weight: 730;letter-spacing: -0.04em;line-height: 1.12;}
.contact-inner>p:not(.contact-kicker) {line-height: 1.82;letter-spacing: 0.004em;}
.footer-about p {line-height: 1.85;letter-spacing: 0.003em;}
.footer-links a {line-height: 1.55;letter-spacing: 0.004em;}

/* Legal documents should read like documents, not all-caps marketing. */
.legal-hero h1 {
  font-family: var(--font-display);
  font-weight: 730;
  letter-spacing: -0.037em;
  line-height: 1.13;
}
.legal-article h2 {font-weight: 695;letter-spacing: -0.028em;line-height: 1.35;}
.legal-article {line-height: 1.94;letter-spacing: 0.003em;}

@media(max-width:1220px) {
  .hero h1 {font-size: clamp(67px, 6.4vw, 98px);}
}
@media(max-width:1020px) {
  .hero-shell {padding-top: 92px;}
  .hero h1 {font-size: clamp(59px, 6.8vw, 81px);}
  .hero-lede {font-size: 17px;}
}
@media(max-width:800px) {
  .hero-shell {padding-top: 82px;}
  .hero h1 {
    font-size: clamp(58px, 11vw, 83px);
    line-height: 1.09;
    letter-spacing: -0.04em;
    margin-bottom: 24px;
  }
  .hero-lede {font-size: 17px;line-height: 1.52;}
  .hero-desc {font-size: 14px;line-height: 1.8;}
  .intro-main h2, .section-heading h2, .faq-title h2 {line-height: 1.13;}
  .service-copy h3 {line-height: 1.14;}
  .contact h2 {line-height: 1.12;}
}
@media(max-width:460px) {
  .hero h1 {
    font-size: clamp(49px, 12.25vw, 61px);
    letter-spacing: -0.038em;
    line-height: 1.09;
    margin-bottom: 24px;
  }
  .hero-lede {font-size: 15px;line-height: 1.5;}
  .hero-desc {font-size: 13px;line-height: 1.77;}
  .service-copy h3 {letter-spacing: -0.022em;}
  .intro-main h2, .section-heading h2, .faq-title h2 {letter-spacing: -0.028em;}
  .button {font-size: 12px;}
}

/* Visible on the blue hero, coral buttons and white policy pages. */
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 3px solid var(--navy);
  outline-offset: 4px;
  box-shadow: 0 0 0 6px #fff;
}
