.site-header{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:84px;gap:28px}
.desktop-nav{display:flex;gap:32px;align-items:center}
.desktop-nav a{display:flex;align-items:center;min-height:48px;font-size:15px;color:#d4d6db;transition:color .2s}
.desktop-nav a:hover{color:white}
.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center;padding-block:48px 42px}
.hero h1{font-size:clamp(48px,4.5vw,66px);font-weight:750;line-height:1.1;letter-spacing:-1.4px}
.hero-intro{max-width:600px;margin-top:24px;color:#e4e5e8;font-weight:500;font-size:18px;line-height:1.7}
.hero-intro+.hero-intro{margin-top:16px}
.hero-action{display:flex;justify-content:center;margin-top:26px;max-width:600px}
.hero-action .button{min-width:280px}
.hero-art{min-width:0;display:grid;place-items:center}
.hero-art>img{width:100%;max-height:480px;object-fit:contain}
.section{padding-block:84px}
h2{font-size:clamp(34px,3.4vw,48px);font-weight:550;letter-spacing:-1.2px;line-height:1.18}
.section-heading{margin-bottom:34px}
.services{position:relative;padding-top:38px}
.services>h2{margin-bottom:34px}
.featured-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;row-gap:8px}
.feature{min-width:0;display:grid;grid-template-columns:76px minmax(0,1fr);column-gap:18px;align-content:start;padding:28px 0}
.feature-top{grid-column:1;grid-row:1/3;display:flex;align-items:flex-start;justify-content:center}
.service-icon{width:76px;height:76px;object-fit:contain;flex:none;margin-top:-9px}
.feature h3{font-size:25px;letter-spacing:-.55px;font-weight:600;margin-bottom:12px;align-self:center}
.feature p{grid-column:2;font-size:17px;line-height:1.75;color:#dedfe3;font-weight:450}




.growth-section{background:var(--bg);padding-block:72px}
.growth-layout{display:grid;gap:34px}
.check-list{margin:0;padding:0;list-style:none;display:grid}
.check-list li{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:14px;padding:19px 0;font-size:17px;line-height:1.7;color:#e0e1e5;font-weight:450}
.check-list .check{margin-top:5px;width:20px;height:20px}
.growth-stages .check-list,.requirements-lists .check-list{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,auto);grid-auto-flow:column;column-gap:64px}
.requirements-layout{border-top:0}
.faq-section{padding-block:72px;background:var(--surface);border-block:1px solid var(--line)}
.faq-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px}
.faq-list,.faq-item{border:0}
.faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 8px;min-height:82px;cursor:pointer;font-weight:600;font-size:18px;line-height:1.6;transition:color .2s,background .2s}
.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::marker{content:''}.faq-item summary:hover{color:#acd1ff;background:#ffffff03}
.chevron{width:22px;height:22px;stroke:var(--muted);stroke-width:1.5;transition:transform .24s var(--ease)}
.faq-item[open] .chevron{transform:rotate(180deg)}
.faq-answer{padding:0 42px 28px 8px;color:#dedfe3;font-weight:450;font-size:17px;line-height:1.8}
.footer-main{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:36px calc(36px + env(safe-area-inset-bottom))}
.questions{font-size:18px;font-weight:600;line-height:1.6;color:var(--text);padding-block:12px}.questions span{font-weight:700}.questions:hover span{color:var(--blue)}
.social-links{display:flex;gap:12px}
.social-links a{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:10px;transition:background .2s}
.social-links a:hover{background:#17273f}.social-links svg{width:22px;height:22px;fill:currentColor}
.reveal-pending{opacity:0;transform:translateY(14px)}.reveal-enter{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease)}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.hero{gap:24px;padding-block:40px}.hero h1{font-size:50px}.hero-intro{font-size:17px}.desktop-nav{gap:22px}.featured-services{column-gap:24px}.feature{grid-template-columns:60px minmax(0,1fr);column-gap:14px}.service-icon{width:60px;height:60px}.feature h3{font-size:23px}.feature p{font-size:16px}.growth-stages .check-list,.requirements-lists .check-list{column-gap:32px}.faq-layout{grid-template-columns:160px minmax(0,1fr);gap:30px}}
@media(max-width:760px){
.desktop-nav{display:none}

.menu-lines{width:18px;height:11px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}


.header-inner{min-height:72px}.hero{grid-template-columns:1fr 34%;gap:0 8px;padding-block:28px 36px}.hero-copy{display:contents}.hero h1{grid-column:1;grid-row:1;align-self:center;font-size:clamp(30px,7.8vw,48px);letter-spacing:-.9px}.hero h1 .hero-title-line{white-space:nowrap}.hero-art{grid-column:2;grid-row:1}.hero-art>img{height:146px;width:100%;object-fit:contain}.hero-intro{grid-column:1/-1;max-width:none;font-size:16px;line-height:1.7;margin-top:20px}.hero-intro+.hero-intro{margin-top:14px}.hero-action{grid-column:1/-1;max-width:none;margin-top:22px}.hero-action .button{width:100%;min-width:0}
.faq-layout{grid-template-columns:1fr;gap:28px}
}
@media(max-width:700px){
.wrap{width:calc(100% - 40px)}.section{padding-block:52px}.services{padding-top:30px}h2{font-size:34px;letter-spacing:-.8px}.section-heading,.services>h2{margin-bottom:24px}
.featured-services{grid-template-columns:1fr;gap:0}.feature{grid-template-columns:56px minmax(0,1fr);gap:0 14px;padding:25px 0}.feature .service-icon{width:56px;height:56px;margin-top:-5px}.feature-top{grid-row:1;align-self:center}.feature h3{font-size:23px;line-height:1.3;margin-bottom:0}.feature p{grid-column:1/-1;margin-top:12px;font-size:16px;line-height:1.7}

.growth-section{padding-block:48px}.growth-layout{gap:24px}.growth-stages .check-list,.requirements-lists .check-list{grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row;gap:0}.check-list li{font-size:16px;line-height:1.65;padding-block:17px;gap:12px}
.faq-section{padding-block:48px}.faq-item summary{font-size:17px;gap:16px;padding:20px 0;min-height:76px}.faq-answer{padding:0 0 24px;font-size:16px;line-height:1.75}
.footer-main{flex-wrap:wrap;gap:12px;padding-block:26px}.questions{font-size:17px}.social-links{gap:10px}
}
@media(max-width:360px){.brand-name{font-size:20px}.hero h1{font-size:30px}.hero-art>img{height:126px}.hero{padding-top:20px}.feature h3{font-size:21px}h2{font-size:31px}.questions{font-size:17px}}
@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1;transform:none}}
@media(max-width:760px){.hero-intro:first-of-type{grid-row:2}.hero-action{grid-row:5}.hero-intro:last-of-type{grid-row:3;margin-top:20px}}
@media(prefers-reduced-motion:no-preference){.faq-item[open] .faq-answer{animation:answer-in .22s ease-out both}@keyframes answer-in{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}}

@media(max-width:760px){.header-inner{justify-content:center}.hero{grid-template-columns:1fr;gap:0;padding-top:28px}.hero h1{font-size:clamp(36px,10vw,48px);grid-row:1;grid-column:1}.hero-art{grid-column:1;grid-row:4;margin-top:16px}.hero-art>img{height:320px;max-width:360px;width:100%;object-fit:contain}.hero-intro,.hero-action{grid-column:1}.hero-intro:first-of-type{grid-row:2}.hero-action{grid-row:5}.hero-intro:last-of-type{grid-row:3}}
@media(max-width:360px){.hero-art>img{height:290px}}


/* Two groups retain the original reading order and share desktop row heights. */
.grouped-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,minmax(max-content,1fr));column-gap:64px}
.grouped-lists>.check-list{grid-row:1 / -1;grid-template-columns:1fr;grid-template-rows:subgrid;grid-auto-flow:row;gap:0}
@media(max-width:1050px){.grouped-lists{column-gap:32px}}
@media(max-width:700px){
 .grouped-lists{grid-template-columns:1fr;grid-template-rows:auto;gap:16px}
 .grouped-lists>.check-list{grid-row:auto;grid-template-rows:none;padding:5px 0;background:transparent;border:0;border-radius:0}
 .grouped-lists .check-list li{padding-block:10px}
 .grouped-lists .check-list li:last-child{border-bottom:0}
 .requirements-layout{border-top:0}
}



/* Align each icon and its heading along the same horizontal centre. */
.feature-top{grid-row:1;align-self:center;align-items:center}
.feature h3{margin-bottom:0;align-self:center}
.feature .service-icon{margin-top:0}
.feature p{margin-top:12px}
@media(max-width:700px){
 .grouped-lists .check-list li{min-height:var(--mobile-check-height,72px)}
}




/* Full-width, low-contrast section boundaries, matching the Linear reference. */
.section-divider{width:100%;height:1px;background:rgba(255,255,255,.08);pointer-events:none}
.growth-section{padding-top:0}
.growth-layout{padding-top:72px}
@media(min-width:701px){
 .grouped-lists>.check-list:first-child{grid-column:1}
 .grouped-lists>.check-list:last-child{grid-column:2}
 .grouped-lists .check-list li{align-content:start}
}
@media(max-width:700px){.growth-layout{padding-top:48px}}

/* Frame the supplied transparent artwork without changing its source pixels. */
@media(max-width:760px){
 .site-header .header-inner{justify-content:flex-start;width:calc(100% - 32px);min-height:64px}
 .site-header .brand{gap:8px}
 .site-header .brand-mark{width:28px;height:28px}
 .site-header .brand-mark img{width:42.5px;height:42.5px;left:-6.8px;top:-8.5px}
 .site-header .brand-name{font-size:20px;letter-spacing:-.75px}
}
.hero-art{position:relative;height:510px;overflow:hidden}
.hero-art>img{position:absolute;left:calc(50% + 48px);top:50%;width:640px;height:640px;max-width:none;max-height:none;object-fit:contain;transform:translate(-50%,-50%);filter:brightness(.79);}
@media(max-width:1050px) and (min-width:761px){.hero-art{height:440px}.hero-art>img{width:550px;height:550px}}
@media(max-width:760px){
 .hero .hero-intro:first-of-type{grid-row:2;margin-top:20px}
 .hero .hero-intro:last-of-type{grid-row:3;margin-top:20px}
 .hero .hero-action{grid-row:4;margin-top:22px}
 .hero .hero-art{grid-row:5;height:530px;margin-top:24px}
 .hero-art>img{left:50%;width:660px;height:660px;max-width:none}
}
@media(prefers-reduced-motion:no-preference){
 .hero-art{animation:hero-art-enter 1s var(--ease) both}
 @keyframes hero-art-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
}
