/* Homepage art direction: centred typography, sapphire accents, open layouts. */
.agency-home{--ink:#111415;--onyx:#111415;--muted:#656d77;background:#fff}
.agency-home .shell{width:min(1520px,calc(100% - 96px))}
.agency-home .site-header{padding-block:26px}
.agency-home .nav-contact{background:var(--blue)}
.agency-home .agency-hero{padding:58px 0 0}
.agency-home .agency-hero .hero-copy{display:block;text-align:center;border:0;padding:0}
.agency-home .agency-hero .eyebrow{font-size:.78rem;letter-spacing:.12em;margin-bottom:32px;color:#59636f}
.agency-home .agency-hero h1{font-size:clamp(4rem,8.2vw,7.6rem);font-weight:750;line-height:1.02;letter-spacing:-.065em;text-transform:none}
.agency-home .agency-hero h1 .hero-line{display:block;color:var(--ink)}
.agency-home .agency-hero h1 .hero-focus{color:var(--blue)}
.agency-home .agency-hero h1 .hero-line:first-child{display:flex;gap:.2em;justify-content:center;align-items:center}
.hero-signature{display:inline-flex;position:relative;align-items:center;justify-content:center;width:1.55em;height:.72em;background:var(--blue);border-radius:.3em;overflow:hidden;flex-shrink:0;transform:rotate(-7deg)}
.hero-signature img{width:.94em;height:auto;max-width:none;object-fit:contain;filter:invert(1)}
.agency-home .agency-hero__detail{padding:0;margin:32px auto 0;max-width:760px}
.agency-home .agency-hero .hero-description{font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.55;max-width:720px;margin:auto;color:#535d69;letter-spacing:-.025em}
.agency-home .agency-hero .hero-actions{justify-content:center;flex-direction:row;gap:28px;margin-top:30px}
.agency-home .agency-hero .hero-actions .button{min-height:62px;padding:20px 30px;gap:35px;width:auto}
.agency-home .agency-hero__services{font-size:1rem;border:0;gap:18px;padding-block:16px}
.agency-home .agency-hero__services:hover{color:var(--blue)}
.hero-actions .button>span{transition:transform .25s}
.hero-actions .button:hover>span{transform:translate(3px,-3px)}
.hero-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:64px;padding:24px 0;font-size:.7rem;font-weight:600;letter-spacing:.08em;border-top:1px solid var(--line);color:#5a626e}
.hero-bottom a{display:flex;gap:24px;color:var(--ink)}
.expertise-band{padding:35px 0 44px;overflow:hidden}
.expertise-track{display:flex;justify-content:center;align-items:center;gap:34px;width:max-content;min-width:calc(100% + 90px);padding-inline:45px;font-size:clamp(1.4rem,3.1vw,2.8rem);line-height:1;font-weight:750;letter-spacing:-.04em;color:#717984}
.expertise-track>span[aria-hidden]{color:var(--blue);font-weight:400}
.agency-home .section-heading{display:block;text-align:center;margin-bottom:65px}
.agency-home .section-heading h2{font-size:clamp(3.4rem,6.5vw,6rem);line-height:1;letter-spacing:-.06em;font-weight:750}
.agency-home .section-heading h2 span{color:var(--blue)}
.section-intro{font-size:1.1rem;line-height:1.6;color:var(--muted);margin:25px auto 0;max-width:680px}
.agency-home .services{width:calc(100% - 40px);max-width:none;background:var(--onyx);color:#fff;border-radius:46px;padding:90px clamp(28px,4vw,80px) 80px}
.agency-home .services .section-heading,.agency-home .services-layout{max-width:1440px;margin-inline:auto}
.agency-home .services .eyebrow{color:#91b9f5}
.agency-home .services .section-heading h2{font-size:clamp(3.4rem,6.5vw,6rem)}
.agency-home .services .section-heading h2 span{color:#8cb5f5}
.agency-home .services .section-intro{color:#aab1bb}
.agency-home .services-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:18px}
.agency-home .services-list details{border:1px solid #ffffff0e;border-radius:28px;padding:0;background:#23272b;overflow:hidden;transition:background .3s,border-color .3s}
.agency-home .services-list details:nth-child(2){background:#1b2026}
.agency-home .services-list details:nth-child(3){background:var(--blue);border-color:var(--blue)}
.agency-home .services-list details:hover,.agency-home .services-list details[open]{border-color:#92b9f594}
.agency-home .services-list summary{position:relative;display:flex;align-items:flex-start;flex-direction:column;gap:0;padding:30px;min-height:400px}
.agency-home .service-no{font-size:.72rem;letter-spacing:.05em;color:#a5b9d8;font-weight:600;padding-right:30px}
.agency-home .services-list h3{font-size:clamp(2rem,3vw,3rem);font-weight:650;line-height:1.06;letter-spacing:-.05em;margin:35px 0 22px;flex:0;color:#fff}
.agency-home .services-list details[open] h3{color:#fff}
.service-teaser{font-size:1rem;color:#c2c8d0;line-height:1.55;letter-spacing:-.018em}
.service-more{display:flex;justify-content:space-between;gap:12px;width:100%;font-size:.66rem;letter-spacing:.055em;font-weight:600;margin-top:auto;padding-top:28px;color:#a5b9d8}
.service-more>span{font-size:.95rem;transition:rotate .25s}
details[open] .service-more>span{rotate:180deg}
.agency-home .services-list details:nth-child(3) :is(.service-no,.service-teaser,.service-more){color:#e1ecff}
.agency-home .services-list .plus{position:absolute;right:27px;top:27px;border-color:#ffffff50}
.agency-home .services-list .plus:before,.agency-home .services-list .plus:after{background:#fff}
.agency-home .services-list details[open] .plus{background:#fff;border-color:#fff}
.agency-home .services-list details[open] .plus:before,.agency-home .services-list details[open] .plus:after{background:var(--blue)}
.agency-home .services-list summary:focus-visible{border-radius:27px}
.agency-home .services-list .service-body{padding:0 30px 32px;max-width:none}
.agency-home .services-list .service-body>p{border-top:1px solid #ffffff30;padding-top:24px;color:#c2c8d0;font-size:.95rem;line-height:1.55}
.agency-home .services-list .service-body ul{display:block;margin:22px 0}
.agency-home .services-list .service-body li{padding:10px 0;border-bottom:1px solid #ffffff20;color:#e2e7ee;background:none;border-radius:0;font-size:.85rem}
.agency-home .services-list .service-contact{color:#d7e5ff;border-color:#7691b9;font-size:.85rem}
.agency-home .services-list details:nth-child(3) .service-body>p{color:#e1ecff}
.agency-home .process{padding-block:110px}
.agency-home .process-path{display:block;max-width:1320px}
.agency-home .process-step{grid-template-columns:85px 1fr;gap:38px;padding:40px 0;align-items:start;border-top:1px solid #cbd4df;transition:border-color .4s}
.agency-home .step-number{font-size:2.6rem;line-height:1;font-weight:500;color:#9eaec2;transition:color .35s}
.agency-home .process-step.is-current{border-top-color:var(--blue)}
.agency-home .process-step.is-current .step-number{color:var(--blue)}
.agency-home .step-copy,.agency-home .process-step:nth-child(odd) .step-copy{display:grid;grid-template-columns:1fr 1.15fr;gap:45px}
.agency-home .step-copy h3{font-size:clamp(1.6rem,2.5vw,2.35rem);font-weight:650;line-height:1.13;margin:0;letter-spacing:-.04em}
.agency-home .step-copy p{font-size:1.05rem;line-height:1.65;max-width:none}
.agency-home .about{background:#111415;border-radius:46px;margin:0 20px 100px}
.agency-home .about-intro{padding:80px 50px 0}
.agency-home .about-stage-top{justify-content:center;margin-bottom:40px}
.agency-home .about-title{max-width:1150px;text-align:center}
.agency-home .about-title h2{font-size:clamp(3.4rem,6.5vw,6rem);font-weight:750;line-height:1;letter-spacing:-.06em}
.agency-home .about-title h2 em{color:#8cb5f5}
.agency-home .about-title>p{max-width:720px;margin:30px auto 0;color:#b4bbc5;font-size:1.1rem;line-height:1.65}
.agency-home .value-card{background:#f0f3f7}
.agency-home .value-card-blue{background:var(--blue)}
.agency-home .value-card h3{font-weight:650}
.agency-home .about-services-link{border-color:#5a626d;background:#111415}
.agency-home .contact-section{margin:0 20px;border-radius:46px;background:#082b63;padding-block:85px}
.agency-home .contact-section>.shell{width:min(1040px,calc(100% - 72px))}
.agency-home .contact-section__layout{display:flex;flex-direction:column;gap:45px}
.agency-home .contact-section__intro{max-width:none;display:block;text-align:center}
.agency-home .contact-section h2{font-size:clamp(3.4rem,6.5vw,6rem);line-height:1;max-width:none;font-weight:750}
.agency-home .contact-section h2 em{color:#a8c9ff}
.agency-home .contact-section__lead{font-size:1.1rem;max-width:650px;margin:25px auto 0}
.agency-home .contact-section__direct{margin-top:25px}
.agency-home .contact-section__direct>span{display:none}
.agency-home .contact-section__direct a{font-size:1rem}
.agency-home .contact-panel{width:100%;border-radius:30px;padding:40px}
.agency-home .site-footer{padding-block:50px}
@media(min-width:1450px){.agency-home .services-list summary{min-height:430px}}
@media(max-width:1100px){
 .agency-home .shell{width:calc(100% - 64px)}
 .agency-home .services{width:calc(100% - 32px);padding-inline:28px}
 .agency-home .services-list{gap:12px}
 .agency-home .services-list summary{padding:25px;min-height:405px}
 .agency-home .services-list h3{font-size:2rem}
 .agency-home .services-list .service-body{padding-inline:25px}
 .agency-home .service-no{font-size:.66rem;max-width:150px;line-height:1.5}
 .agency-home .step-copy,.agency-home .process-step:nth-child(odd) .step-copy{gap:30px}
}
@media(max-width:850px){
 .agency-home .services-list{grid-template-columns:1fr}
 .agency-home .services-list summary{min-height:0;padding:30px}
 .agency-home .services-list h3{font-size:2.4rem;margin-block:24px 16px}
 .agency-home .services-list h3 br{display:none}
 .agency-home .service-no{max-width:none;font-size:.75rem}
 .service-teaser{max-width:540px}
 .service-more{padding-top:24px}
 .agency-home .services-list .service-body{padding-inline:30px}
 .agency-home .process-step{grid-template-columns:60px 1fr;gap:25px}
 .agency-home .step-copy,.agency-home .process-step:nth-child(odd) .step-copy{display:block}
 .agency-home .step-copy h3{margin-bottom:18px}
}
@media(max-width:700px){
 .agency-home .shell{width:calc(100% - 40px)}
 .agency-home .site-header{padding-block:22px}
 .agency-home .agency-hero{padding-top:40px}
 .agency-home .agency-hero .eyebrow{font-size:.7rem;letter-spacing:.06em;max-width:240px;margin:0 auto 28px}
 .agency-home .agency-hero h1{font-size:clamp(2rem,9.7vw,4.8rem);line-height:1.08;letter-spacing:-.06em}
 .agency-home .agency-hero h1 .hero-focus{display:block}
 .agency-home .agency-hero h1 .hero-line:first-child{gap:.16em}
 .hero-signature{width:1.2em;border-radius:.24em;height:.7em}
 .hero-signature img{width:.9em}
 .agency-home .agency-hero__detail{margin-top:27px}
 .agency-home .agency-hero .hero-description{max-width:490px;font-size:1.1rem;line-height:1.55}
 .agency-home .agency-hero .hero-actions{gap:10px 24px;flex-direction:column;margin-top:24px}
 .agency-home .agency-hero .hero-actions .button{min-height:58px;padding:18px 30px;width:auto}
 .agency-home .agency-hero__services{padding:12px 0;font-size:.95rem}
 .hero-bottom{margin-top:40px;justify-content:center;padding-block:18px;font-size:.62rem}
 .hero-bottom a{display:none}
 .expertise-band{padding-block:28px}
 .expertise-track{display:grid;grid-template-columns:1fr 1fr;font-size:1.25rem;gap:18px 24px;padding-inline:20px;min-width:0;width:100%;text-align:center;translate:none!important}
 .expertise-track>span[aria-hidden]{display:none}
 .agency-home .services{width:calc(100% - 20px);border-radius:30px;padding:55px 20px 25px}
 .agency-home .section-heading,.agency-home .services .section-heading{margin-bottom:38px}
 .agency-home .section-heading h2,.agency-home .services .section-heading h2,.agency-home .process h2,.agency-home .about-title h2,.agency-home .contact-section h2{font-size:clamp(2.6rem,10.2vw,4rem);line-height:1.04}
 .section-intro{font-size:1.05rem;margin-top:22px}
 .agency-home .services-list{gap:14px}
 .agency-home .services-list details{border-radius:23px}
 .agency-home .services-list summary{padding:26px}
 .agency-home .services-list h3{font-size:2.2rem}
 .agency-home .services-list .service-body{padding:0 26px 28px}
 .agency-home .service-no{font-size:.7rem}
 .service-more{font-size:.68rem}
 .agency-home .process{padding-block:70px}
 .agency-home .process-step{grid-template-columns:40px 1fr;gap:19px;padding-block:30px}
 .agency-home .step-number{font-size:1.9rem}
 .agency-home .step-copy h3{font-size:1.55rem;margin-bottom:14px}
 .agency-home .step-copy p{font-size:1.03rem}
 .agency-home .about{margin:0 10px 60px;border-radius:30px}
 .agency-home .about-intro{padding:55px 20px 0}
 .agency-home .about-stage-top{margin-bottom:25px}
 .agency-home .about-title>p{font-size:1.05rem;margin-top:24px}
 .agency-home .contact-section{margin:0 10px;border-radius:30px;padding-block:55px 22px}
 .agency-home .contact-section>.shell{width:calc(100% - 30px)}
 .agency-home .contact-section__layout{gap:32px}
 .agency-home .contact-section__intro{padding-inline:8px}
 .agency-home .contact-section__lead{font-size:1.05rem}
 .agency-home .contact-section__direct a{font-size:.95rem}
 .agency-home .contact-panel{padding:26px 20px;border-radius:23px}
}
@media(max-height:799px) and (min-width:1001px){
 .agency-home .value-cards{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1350px;gap:20px}
 .agency-home .value-card{padding:30px}
 .agency-home .value-card h3{font-size:2.05rem}
}
@media(prefers-reduced-motion:reduce){
 .hero-signature,.expertise-track{will-change:auto}
}
@media(max-width:380px){
 .agency-home .section-heading h2,.agency-home .services .section-heading h2,.agency-home .process h2,.agency-home .about-title h2,.agency-home .contact-section h2{font-size:11vw}
 .agency-home .services-list h3{font-size:1.9rem}
}
