@font-face{font-family:Archivo Expanded;src:url('assets/archivo-expanded-300.ttf') format('truetype');font-style:normal;font-weight:300;font-display:swap}

@font-face{font-family:Archivo Expanded;src:url('assets/archivo-expanded-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}

@font-face{font-family:Archivo Expanded;src:url('assets/archivo-expanded-700.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}

:root{--bg:#120b26;--ink:#faf8ff;--muted:#bfb6cc;--accent:#d1a5f2;--purple:#5b299b;--line:#ffffff21;--font:'Archivo Expanded',Arial,sans-serif;color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-weight:300;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
::selection{background:#d1a5f2;color:#24113d}
.svg-library{width:0;height:0;position:absolute;overflow:hidden}
.icon{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.skip-link{position:fixed;top:10px;left:10px;z-index:40;background:white;color:#24113d;border-radius:25px;padding:15px 22px;transform:translateY(-180%)}
.skip-link:focus{transform:none}
.section-width{width:90%;max-width:1440px;margin-inline:auto}

.site-header{position:fixed;top:20px;left:0;right:0;z-index:20;display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px}
.brand{display:block;width:max-content;background:#fff;border-radius:100px;padding:9px 15px;box-shadow:0 2px 10px #00000016}
.brand img{display:block;width:250px;height:auto}
.pill{display:inline-flex;align-items:center;justify-content:center;gap:16px;border-radius:100px;padding:14px 25px;background:var(--accent);color:#160b27;font-weight:400;font-size:12px;transition:background .2s,transform .2s}
.pill:hover{background:#f9f4ff;transform:translateY(-2px)}
.header-cta{font-size:14px;white-space:nowrap;min-height:47px}
.header-cta .icon{width:21px;height:21px}

.hero{position:relative;isolation:isolate;padding:115px 0 24px;overflow:hidden;background:radial-gradient(ellipse at 85% 20%,#45216b55,transparent 58%),var(--bg)}
.hero-content{position:relative;display:grid;grid-template-columns:1fr 1.05fr;gap:32px;align-items:center}
.hero-heading{position:relative;min-width:0;padding-block:24px}
.eyebrow{font-size:14px;font-weight:400;letter-spacing:2px;line-height:1.6;text-transform:uppercase;margin:0;color:var(--accent)}
h1{font-size:clamp(32px,3.2vw,46px);line-height:1.17;font-weight:300;letter-spacing:-.8px;margin:0;text-transform:uppercase}
h1>span,h1>strong{display:block}
h1>strong{margin-top:8px;color:#e2c4ff}
h1 strong,h2 strong{font-weight:700}
.hero-copy{max-width:590px;margin:24px 0 0;font-size:16px;line-height:1.85;color:#d0c5dd}
.hero-visual{position:relative;min-width:0;margin:0;align-self:center}
.hero-visual>img{display:block;width:100%;height:auto;max-height:480px;object-fit:contain}
.hero-visual figcaption{text-align:center;margin-top:0;font-size:13px;letter-spacing:1.2px;font-weight:400;color:#c4b4d4;line-height:1.6}

.about{margin-block:20px 76px;padding:48px clamp(28px,4vw,64px);display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:center;border-radius:30px;background:#e5d5f3;color:#241039;position:relative;overflow:hidden}
.about-intro{min-width:0}
.about .eyebrow{margin-bottom:20px;font-size:13px;color:#643b84}
h2{font-size:35px;line-height:1.25;font-weight:300;text-transform:uppercase;margin:0}
.about h2{font-size:clamp(26px,2.5vw,36px);line-height:1.3}
.about-copy{font-size:16px;line-height:1.85;margin:0;color:#4c365b;max-width:640px}
.text-link{display:inline-flex;align-items:center;gap:28px;border-bottom:1px solid currentColor;padding-bottom:10px;margin-top:26px;font-size:13px;letter-spacing:1.3px;font-weight:400}
.text-link .icon{width:21px;height:21px}
.text-link:hover{color:#7337a4}
.work-stages{list-style:none;display:flex;justify-content:space-between;position:relative;margin:28px 0 0;padding:0;gap:20px}
.work-stages::before{content:'';position:absolute;left:26px;right:26px;top:25px;height:1px;background:#b59cc9}
.work-stages li{display:flex;flex-direction:column;align-items:center;gap:11px;font-size:14px;font-weight:400;position:relative;min-width:60px}
.stage-icon{background:#e5d5f3;display:grid;place-items:center;width:52px;height:52px;border:1px solid #ae8fc5;border-radius:16px;color:#602498;box-shadow:0 0 0 8px #e5d5f3}
.stage-icon .icon{width:27px;height:27px;stroke-width:1.4}

/* Service cards */
.services-cards{padding-bottom:100px}
.cards-heading{margin-bottom:30px}
.cards-heading .eyebrow{font-size:13px;margin-bottom:17px}
.cards-heading h2{font-size:35px}
.services-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
.service-card{grid-column:span 2;min-width:0;padding:32px;border:1px solid #b58ad330;border-radius:24px;background:#211432}
.service-card:nth-last-child(-n+2){grid-column:span 3}
.card-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}
.card-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:#cda0ed12;color:#d9b4f6;border:1px solid #d9b4f622}
.card-icon .icon{width:29px;height:29px;stroke-width:1.4}
.card-number{font-size:13px;font-weight:400;letter-spacing:1px;color:#b599cd}
.service-card h3{font-size:22px;font-weight:400;line-height:1.45;min-height:64px;margin:0 0 15px;color:#faf6ff}
.service-card p{font-size:16px;line-height:1.85;margin:0;color:#c9bcd7}
.service-card:nth-last-child(-n+2) h3{min-height:0}
@media(min-width:761px) and (max-width:1100px){
 .services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 .service-card,.service-card:nth-last-child(-n+2){grid-column:auto;padding:28px}
 .service-card:last-child{grid-column:1/-1}
 .service-card h3,.service-card:nth-last-child(-n+2) h3{min-height:64px;font-size:21px}
 .service-card:last-child h3{min-height:0}
}
@media(max-width:760px){
 .services-cards{padding-bottom:66px}
 .cards-heading{margin-bottom:26px}
 .cards-heading h2{font-size:29px;line-height:1.3}
 .services-grid{grid-template-columns:1fr;gap:16px}
 .service-card,.service-card:nth-last-child(-n+2){grid-column:auto;padding:25px;border-radius:22px}
 .card-top{margin-bottom:22px}
 .card-icon{width:52px;height:52px;border-radius:15px}
 .card-icon .icon{width:27px;height:27px}
 .service-card h3{font-size:21px;min-height:0;margin-bottom:15px}
 .service-card p{line-height:1.8}
}
@media(max-width:370px){.service-card,.service-card:nth-last-child(-n+2){padding:22px}.service-card h3{font-size:20px}.cards-heading h2{font-size:26px}}

.contact-section{position:relative;padding:78px 35px 65px;border-radius:30px;background:#53238c;text-align:center}
.contact-section>.eyebrow{margin-bottom:25px;color:#d6b5ed;font-size:13px}
.contact-section h2{font-size:40px}
.contact-buttons{margin-top:31px;display:flex;justify-content:center;align-items:center;gap:31px;flex-wrap:wrap}
.contact-email{background:#fff;color:#34144e;text-transform:none;font-size:16px;padding:16px 25px}
.contact-email .icon{width:19px;height:19px}
.phone{font-size:16px}
.phone:hover{color:#e0bdf8}
.site-footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-block:35px;color:#bfb6cc;font-size:13px;letter-spacing:.3px;line-height:1.7;flex-wrap:wrap}
.copyright{flex:1;text-align:right}
.site-footer img{width:230px;height:auto;display:block}

@media(min-width:1800px){.section-width{max-width:1560px}}

@media(max-width:1200px){.header-cta{padding-inline:18px;gap:9px}
.brand img{width:230px}
.eyebrow{font-size:14px;letter-spacing:2px}
}

@media(min-width:761px) and (max-width:980px){
.hero-content{grid-template-columns:1fr 1fr;gap:20px}
h1{font-size:28px}
.hero-copy{font-size:16px;line-height:1.8}
.hero-visual figcaption{font-size:13px;letter-spacing:0;gap:8px}
.about{gap:30px;padding:36px 32px}
.about h2{font-size:24px}
}

@media(max-width:760px){html{scroll-padding-top:90px}
.site-header{top:15px;display:flex;justify-content:space-between;gap:12px}
.brand{padding:10px 13px}
.brand img{width:215px}
.header-cta{padding:12px;min-width:47px;min-height:47px}
.header-cta span{display:none}
.hero{padding:112px 0 8px}
.hero-content{grid-template-columns:1fr;gap:6px}
.hero-heading{padding:0}
h1{font-size:clamp(25px,5.9vw,42px);line-height:1.2;letter-spacing:-.4px}
h1>strong{margin-top:5px}
.hero-copy{max-width:620px;margin-top:20px;font-size:16px;line-height:1.75}
.hero-visual{width:min(100%,510px);justify-self:center;margin-top:6px}
.hero-visual>img{max-height:330px}
.hero-visual figcaption{font-size:13px;letter-spacing:.3px;gap:10px;margin-top:0}
.about{margin-block:24px 54px;padding:30px 24px;border-radius:24px;grid-template-columns:1fr;gap:27px}
.about .eyebrow{margin-bottom:14px}
.about h2{font-size:24px;line-height:1.3}
.about-copy{font-size:16px;line-height:1.8}
.text-link{font-size:13px;letter-spacing:.8px;gap:20px;margin-top:22px}
.work-stages{margin-top:27px;gap:12px}
.work-stages li{font-size:13px}
.stage-icon{width:48px;height:48px;border-radius:14px}
.work-stages::before{top:23px}
.contact-section{padding:53px 23px 38px;border-radius:24px}
.contact-section>.eyebrow{font-size:13px;letter-spacing:2px;margin-bottom:22px}
.contact-section h2{font-size:25px;line-height:1.35}
.contact-buttons{flex-direction:column;gap:22px;margin-top:25px}
.contact-email{font-size:16px;padding:15px 20px;gap:15px}
.phone{font-size:16px}
.site-footer{font-size:13px;gap:23px;flex-direction:column;text-align:center;padding-block:29px}
.copyright{max-width:310px;text-align:center}
.site-footer img{width:210px}
}

@media(max-width:370px){.brand img{width:200px}
h1{font-size:23px}
.hero-visual figcaption{font-size:13px;letter-spacing:0;gap:7px}
.about{padding-inline:20px}
.about h2{font-size:21px}
.contact-section h2{font-size:22px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*::before,*::after{transition:none!important;animation:none!important}
}

