/* Southbeam's agency direction. Scoped to avoid altering booking and intake. */
.agency{--canvas:#FAFAF7;--surface:#fff;--ink:#26222F;--muted:#625B70;--line:#DED9E8;--action:#5B45D6;--hover:#4A35B8;--light-violet:#7160F5;background:var(--canvas);color:var(--ink)}
.agency .wrap{width:min(1280px,calc(100% - 96px))}
.agency h1,.agency h2,.agency h3{font-weight:650;letter-spacing:-.045em}
.agency h2{font-size:clamp(38px,4.4vw,64px);line-height:1.04}
.agency p{color:var(--muted)}
.agency a:focus-visible,.agency button:focus-visible,.agency summary:focus-visible{outline:3px solid #c2b9ff;outline-offset:6px}
.agency .skip{color:#17161c}
.agency .header{width:100%;padding:0 max(48px,calc((100% - 1280px)/2));min-height:90px;background:rgba(250,250,247,.96);border-bottom:1px solid rgba(85,65,132,.13);position:sticky;top:0;z-index:10;backdrop-filter:blur(18px);gap:32px}
.agency .brand img{width:192px}
.agency .header nav{gap:32px}
.agency .header nav a{font-size:14px;color:#453B55}
.agency .header nav a:hover,.agency .header nav a[aria-current=page]{color:#5B45D6;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:10px}
.agency .button{border-radius:7px;min-height:54px;font-weight:600;font-size:14px;gap:28px;padding:15px 22px;transition:background .2s,transform .2s,border-color .2s}
.agency .button:hover{transform:translateY(-2px)}
.agency .button:active{transform:translateY(1px)}
.agency .button.primary{background:#7160f5;color:white}
.agency .button.primary:hover{background:#8271ff}
.agency .button.outline{border:1px solid #ADA0C2;background:transparent;color:#37284F}
.agency .button.outline:hover{background:#EEEAFE;border-color:#5B45D6}
.agency .header-cta{min-height:44px;padding:10px 18px;font-size:13px}
.agency .menu-toggle{color:#35234E;border-color:#ADA0C2;border-radius:6px}
.agency .mobile-menu{background:#F4F0FC;position:fixed;top:90px;left:0;width:100%;padding:20px 24px;z-index:11;border-bottom:1px solid var(--line)}
.agency .mobile-menu a{color:#35234E}
.agency .eyebrow,.agency .kicker{font:500 12px/1.5 Inter,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#5B45D6;margin:0 0 25px;display:flex;align-items:center;gap:12px}

.agency .inline-link{font-size:14px;text-decoration:none;display:inline-flex;align-items:center;gap:30px;min-height:44px;border-bottom:1px solid #81759b;padding-bottom:2px;color:#36284F}
.agency .inline-link:hover{color:#5B45D6;border-color:#5B45D6}
.agency .section{padding-block:112px}
.agency .section-head{display:flex;justify-content:space-between;align-items:end;gap:64px;margin-bottom:52px}
.agency .section-head h2{max-width:800px}
.agency .section-head>p{max-width:340px;font-size:16px}
.agency .section-head .inline-link{flex-shrink:0}
.agency .subtle{color:#7160F5}
.agency-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 80% 30%,#E4DAFF 0,rgba(238,234,254,.5) 32%,transparent 65%)}
.agency-home-hero{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;min-height:730px;padding:74px 0 65px;position:relative;gap:10px}
.agency-home-hero h1{font-size:clamp(64px,7.6vw,110px);font-weight:650;line-height:.97;letter-spacing:-.055em;text-transform:uppercase;max-width:800px}
.agency-home-hero h1 em{font-style:normal;color:#7160F5}
.agency-home-hero .hero-description{font-size:17px;max-width:480px;margin-top:28px;line-height:1.7}
.agency-home-hero .actions{gap:25px;margin-top:30px}
.agency-hero-art{position:relative;min-width:0}
.agency-hero-art>img{width:100%;aspect-ratio:1;object-fit:cover;mix-blend-mode:multiply;animation:form-float 8s ease-in-out infinite}
.agency-art-tag{position:absolute;bottom:4%;right:4%;font-size:11px;letter-spacing:.11em;text-transform:uppercase;border-left:1px solid #81759b;padding:7px 0 7px 15px;color:#625078;line-height:1.7}
.agency-location{display:flex;justify-content:space-between;gap:24px;padding-block:23px;border-top:1px solid #D4C8E7;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#766781}
.signal-strip{border-block:1px solid var(--line);padding:21px 0;background:#EEEAFE;overflow:hidden}
.signal-strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.signal-strip span{font:500 19px/1.3 Outfit,sans-serif;white-space:nowrap;color:#483760}
.signal-strip b{color:#7160F5;font-size:22px;font-weight:400}
.manifesto{display:grid;grid-template-columns:1fr 2.4fr;gap:72px}
.manifesto .eyebrow{margin-top:10px}
.manifesto h2{max-width:930px;font-size:clamp(36px,4vw,58px);line-height:1.12}
.manifesto h2 span{color:#81728E}
.manifesto .manifesto-detail{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;margin-top:35px}
.manifesto .manifesto-detail p{font-size:15px;line-height:1.8}
.service-shell{border:1px solid var(--line);border-radius:36px 36px 0 0;background:radial-gradient(ellipse at 5% 0%,#F3EEFF 0%,transparent 55%),#FFFFFF}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.service-card{display:flex;flex-direction:column;min-width:0;padding:36px 32px 34px;border-top:1px solid #DED5EB;border-right:1px solid #DED5EB;transition:background .25s;position:relative}
.service-card:nth-child(3n){border-right:0}
.service-card:nth-child(3n+1){padding-left:0}
.service-card:hover{background:rgba(113,96,245,.065)}
.service-card .service-number{font:500 11px/1.3 Inter,sans-serif;letter-spacing:.12em;color:#7F7191;display:flex;align-items:center;justify-content:space-between;margin-bottom:48px}
.service-card .service-icon{font-size:28px;font-weight:400;color:#7160F5}
.service-card h3{font-size:29px;letter-spacing:-.035em;line-height:1.1;margin-bottom:18px}
.service-card h3 a{text-decoration:none}
.service-card p{font-size:14px;line-height:1.75;max-width:320px;margin-bottom:24px}
.service-card>.inline-link{align-self:flex-start;margin-top:auto;font-size:12px;min-height:36px;gap:30px}
.service-tail{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #DED5EB;padding-top:32px;gap:20px;margin-top:0}
.service-tail p{max-width:650px;font-size:15px}
.creative-tease{overflow:hidden}
.tease-grid{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:20px;align-items:start}
.tease-grid>a{position:relative;display:block;text-decoration:none;overflow:hidden;border-radius:14px;background:#332b43}
.tease-grid>a:nth-child(2){margin-top:72px}
.tease-grid img{width:100%;height:450px;object-fit:cover;transition:transform .5s}
.tease-grid a:hover img{transform:scale(1.035)}
.tease-grid .tile-caption{position:absolute;bottom:0;left:0;right:0;padding:60px 23px 22px;background:linear-gradient(transparent,rgba(15,12,22,.92));display:flex;justify-content:space-between;gap:12px;align-items:end;color:white}
.tile-caption strong{display:block;font:500 25px/1.1 Outfit,sans-serif}
.tile-caption small{display:block;font-size:11px;margin-top:10px;color:#ddd5ed}
.agency .concept-note{font-size:11px;color:#796987;line-height:1.6;margin-top:20px}
.proof-band{border-block:1px solid var(--line);background:#F1ECFA}
.proof-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:72px;align-items:center}
.proof-image{padding:32px;background:#eee8df;border-radius:14px;display:block;overflow:hidden}
.proof-image img{width:100%;border-radius:5px;box-shadow:0 20px 45px #71655d22}
.proof-layout h2{font-size:52px;margin-bottom:24px}
.proof-layout p{max-width:450px;margin-bottom:24px}
.proof-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}
.proof-tags span{border:1px solid #C7B9DB;border-radius:3px;padding:6px 10px;font-size:11px;color:#645376}
.agency-method{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}
.agency-method h2{position:sticky;top:145px}
.method-steps{counter-reset:steps}
.method-step{padding:28px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:45px 1fr;gap:14px}
.method-step:before{counter-increment:steps;content:'0' counter(steps);font-size:12px;color:#7160F5;padding-top:6px}
.method-step h3{font-size:29px;margin-bottom:12px}
.method-step p{font-size:14px;line-height:1.8;max-width:450px}
.agency-close{background:#7160f5;padding:78px 0 75px;position:relative;overflow:hidden;color:white}
.agency-close .wrap{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:center}
.agency-close h2{font-size:clamp(54px,6.5vw,94px);line-height:.96;letter-spacing:-.05em;max-width:850px}
.agency-close p{color:#fff;max-width:360px;margin-bottom:26px;font-size:16px}
.agency-close .button{background:white;color:#322453;border-color:white;min-width:240px;justify-content:space-between}
.agency-close .button:hover{background:#e9e4ff}
.agency-footer{padding-block:65px 24px}
.agency-footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:70px;padding-bottom:65px}
.agency-footer .brand{display:block;margin-bottom:22px}
.agency-footer p{font-size:13px;line-height:1.8}
.agency-footer nav{display:flex;flex-direction:column;gap:12px}
.agency-footer nav a{font-size:14px;text-decoration:none}
.agency-footer nav a:hover{color:#5B45D6}
.agency-footer nav>span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#7B6F89;margin-bottom:10px}
.agency-footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;font-size:11px;color:#756680;gap:20px;flex-wrap:wrap}
.agency-footer-bottom a{color:inherit}
.center-hero{padding:88px 0 64px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 50% -25%,#C4B3FF 0%,#EAE2FF 35%,#FAFAF7 75%)}
.center-hero>.wrap{position:relative;z-index:1}
.center-hero .kicker{justify-content:center}
.center-hero h1{font-size:clamp(56px,6.1vw,88px);max-width:1110px;margin:auto;text-align:center;line-height:1.01;letter-spacing:-.05em}
.center-hero h1 span{color:#7160F5}
.center-hero .hero-deck{max-width:600px;text-align:center;margin:28px auto 0;font-size:17px;line-height:1.75}
.services-intro{display:grid;grid-template-columns:1fr 1fr 1fr;gap:45px;align-items:center;margin-top:35px}
.services-intro h2{font-size:32px;line-height:1.14;letter-spacing:-.035em}
.services-intro img{width:100%;aspect-ratio:1;object-fit:contain;mix-blend-mode:multiply;animation:form-float 9s ease-in-out infinite}
.services-intro p{font-size:15px;line-height:1.8}
.scroll-cue{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #C6B4E4;border-radius:50%;text-decoration:none;margin:22px auto 0;font-size:22px;color:#5B45D6;background:#EEEAFE}
.agency .faq-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:90px}
.agency .faq-grid h2{font-size:48px}
.agency .faq-grid details{border-top:1px solid var(--line)}
.agency .faq-grid details:last-child{border-bottom:1px solid var(--line)}
.agency .faq-grid summary{cursor:pointer;padding:23px 30px 23px 0;font-size:17px;list-style:none;position:relative}
.agency .faq-grid summary:after{content:'+';position:absolute;right:0;color:#5B45D6}
.agency .faq-grid details[open] summary:after{content:'−'}
.agency .faq-grid details p{font-size:14px;line-height:1.8;padding-bottom:25px}
.studio-hero{padding-bottom:100px}
.studio-grid-lines{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#ad95ff16 1px,transparent 1px),linear-gradient(90deg,#ad95ff16 1px,transparent 1px);background-size:90px 90px;mask-image:linear-gradient(transparent,#000 30%,transparent 95%);transform:perspective(700px) rotateX(30deg) scale(1.3);transform-origin:bottom}
.studio-collage{display:grid;grid-template-columns:1fr 1.1fr 1fr 1.1fr 1fr;gap:17px;align-items:center;margin:62px -25px 0}
.studio-collage a{display:block;overflow:hidden;border-radius:10px;transition:transform .3s;position:relative}
.studio-collage a:nth-child(1){transform:rotate(-6deg);margin-top:65px}
.studio-collage a:nth-child(2){transform:rotate(-3deg);margin-top:-20px}
.studio-collage a:nth-child(3){margin-top:65px}
.studio-collage a:nth-child(4){transform:rotate(3deg);margin-top:-20px}
.studio-collage a:nth-child(5){transform:rotate(6deg);margin-top:65px}
.studio-collage a:hover{transform:translateY(-10px) rotate(0)}
.studio-collage img{width:100%;height:295px;object-fit:cover}
.studio-collage a:nth-child(even) img{height:350px}
.studio-collage .play-mark{position:absolute;bottom:16px;right:16px;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#faf9ff;color:#322453;font-size:13px}
.studio-intro-band{padding:35px 0;border-block:1px solid var(--line);background:#EEEAFE}
.studio-intro-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:35px}
.studio-intro-band p{font-size:14px;color:#6F5B87;max-width:600px}
.studio-intro-band span{font:500 21px/1.3 Outfit,sans-serif;white-space:nowrap}
.studio-row{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center;padding-block:78px;border-bottom:1px solid var(--line)}
.studio-row.reverse .studio-visual{order:2}
.studio-row h2{font-size:clamp(38px,3.8vw,56px);margin-bottom:24px}
.studio-row p{font-size:15px;line-height:1.85;max-width:470px;margin-bottom:26px}
.studio-row .eyebrow{font-size:11px;margin-bottom:25px;color:#5B45D6}
.studio-visual{border-radius:14px;overflow:hidden;position:relative;background:#EEEAFE;min-width:0}
.studio-visual>img{width:100%;height:520px;object-fit:cover}
.studio-visual.duo{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#E5DCFA;padding:35px}
.studio-visual.duo img{border-radius:8px;height:385px;object-fit:cover;width:100%}
.studio-visual.duo img:last-child{margin-top:55px}
.studio-visual figcaption{position:absolute;bottom:18px;left:18px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:white;background:#17161ce6;padding:7px 10px;border-radius:3px}
.studio-visual{margin:0}
.studio-capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding-top:32px}
.studio-capabilities h3{font-size:28px;margin-bottom:24px}
.studio-capabilities ul{list-style:none;margin:0;padding:0}
.studio-capabilities li{padding:11px 0;border-bottom:1px solid var(--line);font-size:14px;color:#6F5B87}
.gallery-filters{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0}
.gallery-filters button{background:transparent;border:1px solid #C7B9DB;border-radius:4px;color:#604F77;font-size:12px;padding:10px 17px;min-height:44px;transition:background .2s}
.gallery-filters button[aria-pressed=true]{background:#c2b9ff;border-color:#5B45D6;color:#261c38}
.gallery-filters button:hover{border-color:#5B45D6}
.studio-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px;align-items:start}
.studio-gallery article[hidden]{display:none}
.gallery-media{border-radius:10px;overflow:hidden;background:#2b2438;position:relative}
.gallery-media img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .4s}
.gallery-media:hover img{transform:scale(1.025)}
.gallery-media video{display:block;width:100%;aspect-ratio:9/16;object-fit:contain;background:#100e16}
.studio-gallery h3{font-size:24px;margin-top:18px}
.studio-gallery p{font-size:12px;margin-top:6px;line-height:1.7}
.studio-gallery .video-error{padding:12px;background:#332746;color:white}
.gallery-status{font-size:12px;color:#776586}
@keyframes form-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-12px) rotate(2deg)}}
@media(min-width:1600px){.agency-home-hero{min-height:790px}.agency-home-hero h1{font-size:112px}}
@media(max-width:1100px){.agency .header nav{gap:20px}.agency .header{gap:20px}.agency .brand img{width:175px}.agency-home-hero h1{font-size:80px}.agency-home-hero{min-height:660px}.studio-row{gap:45px}.studio-collage img{height:235px}.studio-collage a:nth-child(even) img{height:290px}}
@media(max-width:1023px){.agency .wrap{width:calc(100% - 64px)}.agency .header{padding-inline:32px;min-height:80px}.agency .mobile-menu{top:80px}.agency-home-hero h1{font-size:72px}.agency-home-hero{min-height:620px}.agency .section{padding-block:80px}.manifesto{grid-template-columns:1fr;gap:22px}.agency .section-head{gap:30px}.agency-method,.agency .faq-grid{gap:45px}.service-card{padding:28px 22px}.service-card h3{font-size:26px}.services-intro{gap:25px}.services-intro h2{font-size:26px}.tease-grid img{height:360px}.proof-layout{gap:40px}.proof-layout h2{font-size:42px}.studio-visual>img{height:440px}.studio-visual.duo{padding:24px;gap:10px}.studio-visual.duo img{height:285px}.studio-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-collage{gap:12px}.signal-strip .wrap{justify-content:center;flex-wrap:wrap}.signal-strip span{font-size:16px}}
@media(max-width:767px){.agency .wrap{width:calc(100% - 40px)}.agency .header{padding:0 20px;min-height:76px;gap:16px}.agency .brand img{width:164px}.agency .mobile-menu{top:76px}.agency .section{padding-block:65px}.agency .section-head{display:block;margin-bottom:30px}.agency .section-head p,.agency .section-head .inline-link{margin-top:22px}.agency h2{font-size:39px}.agency-home-hero{grid-template-columns:1fr;padding:48px 0 15px;gap:0;min-height:0}.agency-home-hero h1{font-size:clamp(57px,12.7vw,92px);line-height:.97}.agency-home-hero .hero-description{font-size:15px;margin-top:24px;max-width:480px}.agency .kicker{font-size:10px;letter-spacing:.1em;margin-bottom:23px}.agency-home-hero .actions{flex-direction:row;gap:20px;align-items:center;margin-top:25px}.agency-home-hero .button{padding-inline:17px;gap:24px;font-size:12px}.agency-home-hero .inline-link{font-size:12px;gap:15px}.agency-hero-art{width:min(370px,95%);justify-self:center;margin-top:10px}.agency-hero-art>img{aspect-ratio:1.2;object-fit:cover}.agency-art-tag{font-size:9px;bottom:10%;right:0}.agency-location{font-size:9px;padding-block:18px;gap:15px}.agency-location span:last-child{display:none}.signal-strip{padding:17px 0}.signal-strip .wrap{gap:10px 16px}.signal-strip span{font-size:14px}.signal-strip b:nth-of-type(2){display:none}.manifesto{gap:10px}.manifesto .manifesto-detail{grid-template-columns:1fr;gap:20px;margin-top:25px}.manifesto h2{font-size:35px}.agency .eyebrow{font-size:10px;margin-bottom:20px}.service-shell{border-radius:24px 24px 0 0}.service-grid{grid-template-columns:1fr}.service-card,.service-card:nth-child(3n+1){padding:26px 0;border-right:0}.service-card .service-number{margin-bottom:25px}.service-card h3{font-size:30px}.service-card p{max-width:100%;font-size:14px;margin-bottom:15px}.service-tail{flex-direction:column;align-items:flex-start;padding-top:26px;gap:22px}.tease-grid{grid-template-columns:1fr 1fr;gap:12px}.tease-grid>a:nth-child(2){margin-top:35px}.tease-grid>a:last-child{grid-column:1/-1;width:75%;margin-top:-5px}.tease-grid img{height:290px}.tease-grid>a:last-child img{height:330px}.tease-grid .tile-caption{padding:50px 14px 16px}.tile-caption strong{font-size:21px}.tile-caption small{font-size:9px}.proof-layout{grid-template-columns:1fr;gap:35px}.proof-image{padding:22px}.proof-layout h2{font-size:41px}.agency-method,.agency .faq-grid{grid-template-columns:1fr;gap:32px}.agency-method h2{position:static}.method-step{padding:23px 0;grid-template-columns:33px 1fr;gap:10px}.method-step h3{font-size:26px}.agency-close{padding-block:55px}.agency-close .wrap{grid-template-columns:1fr;gap:30px}.agency-close h2{font-size:59px}.agency-close p{font-size:15px;max-width:100%;margin-bottom:22px}.agency-footer{padding-block:48px 24px}.agency-footer-top{grid-template-columns:1fr 1fr;gap:38px 25px;padding-bottom:40px}.agency-footer-top>div:first-child{grid-column:1/-1}.agency-footer nav a{font-size:13px}.agency-footer-bottom{font-size:10px;gap:14px}.center-hero{padding:52px 0 38px}.center-hero h1{font-size:clamp(43px,10.2vw,68px);line-height:1.04}.center-hero .hero-deck{font-size:15px;margin-top:24px}.services-intro{grid-template-columns:1fr;gap:0;margin-top:35px;text-align:center}.services-intro h2{font-size:29px;max-width:330px;margin:auto}.services-intro img{max-width:230px;margin:-5px auto;aspect-ratio:1}.services-intro p{font-size:14px;max-width:440px;margin:auto}.scroll-cue{margin-top:30px}.agency .faq-grid h2{font-size:38px}.agency .faq-grid summary{font-size:16px}.studio-hero{padding-bottom:45px}.studio-collage{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:40px -8px 0}.studio-collage a:nth-child(1),.studio-collage a:nth-child(5){display:none}.studio-collage a:nth-child(2){transform:rotate(-5deg);margin-top:0}.studio-collage a:nth-child(3){margin-top:35px}.studio-collage a:nth-child(4){transform:rotate(5deg);margin-top:0}.studio-collage img,.studio-collage a:nth-child(even) img{height:210px}.studio-collage .play-mark{width:28px;height:28px;font-size:10px;bottom:10px;right:10px}.studio-intro-band{padding:25px 0}.studio-intro-band .wrap{display:block}.studio-intro-band p{font-size:13px;margin-top:15px}.studio-row{grid-template-columns:1fr;gap:30px;padding-block:50px}.studio-row.reverse .studio-visual{order:0}.studio-row h2{font-size:39px;margin-bottom:20px}.studio-row p{font-size:14px}.studio-visual>img{height:420px}.studio-visual.duo{padding:24px}.studio-visual.duo img{height:290px}.studio-capabilities{grid-template-columns:1fr;gap:35px;padding-top:10px}.studio-capabilities h3{font-size:28px;margin-bottom:14px}.studio-gallery{grid-template-columns:1fr 1fr;gap:25px 12px}.studio-gallery h3{font-size:20px;margin-top:14px}.studio-gallery p{font-size:10px}.gallery-filters{gap:8px;margin-block:24px}.gallery-filters button{font-size:11px;padding:9px 12px}.agency .concept-note{font-size:10px}}
@media(max-width:374px){.agency-home-hero h1{font-size:53px}.agency-home-hero .actions{gap:12px}.agency-home-hero .button{padding-inline:13px;gap:15px}.studio-gallery{grid-template-columns:1fr}.studio-collage img,.studio-collage a:nth-child(even) img{height:180px}}
@media(prefers-reduced-motion:reduce){.agency *{animation:none!important;transition:none!important}.agency .studio-collage a{transform:none}.agency .skip:not(:focus){top:-100px}}

/* Platform leads; creative remains a capability within the connected offer. */
.agency-home-hero{grid-template-columns:1.12fr 1fr;gap:42px;min-height:690px}
.agency-home-hero h1{font-size:clamp(64px,6.9vw,99px);text-transform:none;line-height:1.01;letter-spacing:-.055em}
.agency-home-hero h1 em{color:#7160F5}
.agency .header nav{gap:25px}
.agency .header nav a{font-size:13px}
.agency-hero-art>img{mask-image:radial-gradient(ellipse,#000 48%,transparent 72%)}
.platform-peek{background:#fff;border:1px solid #DCD3ED;border-radius:18px;box-shadow:0 30px 80px #65488D14;transform:rotate(-2deg);overflow:hidden;min-width:0}
.platform-peek-top{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #E7DFEF;font-size:10px;letter-spacing:.1em;color:#77668A;text-transform:uppercase}
.platform-peek-top img{width:123px}
.platform-peek-body{padding:27px}
.platform-peek-label{font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:#79688C;margin-bottom:12px}
.platform-peek h2{font-size:29px;letter-spacing:-.035em;margin-bottom:24px;color:#30223F}
.platform-peek-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:25px}
.platform-peek-flow span{background:#F3EFF9;color:#705E86;padding:8px 4px;font-size:10px;text-align:center;border-radius:4px}
.platform-peek-flow span:nth-child(3){background:#7160F5;color:white}
.platform-peek-item{display:flex;gap:14px;padding:17px 0;border-top:1px solid #EEE7F3;align-items:start}
.platform-peek-icon{width:33px;height:33px;border-radius:9px;background:#EEEAFE;color:#6752DC;display:grid;place-items:center;flex-shrink:0;font-size:16px}
.platform-peek-item strong{font-size:13px;font-weight:600;color:#3F3050;display:block;margin-bottom:4px}
.agency .platform-peek-item p{font-size:11px;line-height:1.7;color:#857391}
.platform-peek-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding:13px 15px;background:#F3EFFA;border-radius:6px;font-size:11px;color:#63507D}
.platform-peek-bottom span:last-child{color:#5942C8}
.agency .platform-peek-caption{text-align:center;font-size:10px;letter-spacing:.035em;color:#857392;margin-top:25px}
.agency-platform-band{background:#EEEAFE;padding:26px 0}
.agency-platform-band .wrap{display:flex;gap:18px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.agency-platform-band span{font-size:13px;color:#6B5980}
.agency-platform-band span:first-child{font:600 22px/1.2 Outfit,sans-serif;color:#342147}
.agency .gallery-status{margin-bottom:20px}
@media(max-width:1100px){.agency .header nav{gap:16px}.agency-home-hero{gap:30px}.agency-home-hero h1{font-size:76px}.platform-peek-body{padding:22px}}
@media(max-width:1023px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card:nth-child(3n){border-right:1px solid #DED5EB}.service-card:nth-child(3n+1){padding-left:22px}.service-card:nth-child(2n){border-right:0}.service-card:nth-child(2n+1){padding-left:0}.agency-home-hero{min-height:600px}.agency-home-hero h1{font-size:66px}.platform-peek-top{padding:17px}.platform-peek-body{padding:18px}.platform-peek h2{font-size:25px}}
@media(max-width:767px){.agency-home-hero{grid-template-columns:1fr;gap:42px;min-height:0;padding:50px 0 30px}.agency-home-hero h1{font-size:clamp(57px,12.7vw,82px)}.platform-peek{transform:rotate(-1deg);margin:0 3px}.platform-peek-body{padding:22px}.platform-peek h2{font-size:28px}.platform-peek-caption{margin-bottom:12px}.service-grid{grid-template-columns:1fr}.service-card:nth-child(n){padding:26px 0;border-right:0}.agency-platform-band{padding:24px 0}.agency-platform-band .wrap{gap:14px 20px}.agency-platform-band span{font-size:12px}.agency-platform-band span:first-child{width:100%;font-size:22px}.agency .section-head>p{max-width:100%}}

/* Services: type-led, light, and connected to the platform. */
.services-opening{padding:82px 0 0;background:linear-gradient(130deg,#FAFAF7 35%,#F0EBFF 100%)}
.services-opening h1{font-size:clamp(58px,7.6vw,110px);line-height:1;letter-spacing:-.055em;max-width:1200px;margin:0}
.services-opening h1 span{color:#7160F5}
.services-opening-bottom{display:flex;justify-content:space-between;align-items:end;gap:45px;margin:34px 0 60px}
.services-opening-bottom p{max-width:650px;font-size:18px;line-height:1.7}
.services-opening-bottom .inline-link{white-space:nowrap}
.services-chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #D6CCE7}
.services-chapters a{display:block;text-decoration:none;padding:27px 30px 28px 0;border-right:1px solid #D6CCE7}
.services-chapters a+a{padding-left:30px}.services-chapters a:last-child{border:0}
.services-chapters a>span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#766486}
.services-chapters strong{display:flex;justify-content:space-between;gap:10px;font:500 21px/1.4 Outfit,sans-serif;margin-top:8px;color:#322740}
.services-chapters strong span{color:#7160F5}
.services-chapters a:hover strong{color:#5B45D6}
.agency-services .service-shell{border-radius:0;border-inline:0;background:#fff;padding-top:80px}
.agency-services .service-grid{gap:18px}
.agency-services .service-card,.agency-services .service-card:nth-child(3n+1){padding:30px;border:1px solid #E0D9EB;border-radius:12px;background:#FAF9FD;scroll-margin-top:115px}
.agency-services .service-card:nth-child(3n+2){background:#F2EEFC}
.agency-services .service-card:hover{border-color:#BAA9E4;background:#ECE6FC}
.agency-services .service-card .service-number{margin-bottom:34px}
.agency-services .service-tail{margin-top:32px}
@media(max-width:1023px){.services-opening{padding-top:64px}.services-opening h1{font-size:76px}.services-opening-bottom{align-items:start;flex-direction:column;gap:20px;margin-bottom:40px}.services-chapters strong{font-size:18px}.services-chapters a{padding-right:20px}.services-chapters a+a{padding-left:20px}}
@media(max-width:767px){.services-opening{padding-top:48px}.services-opening h1{font-size:clamp(44px,10.8vw,70px);line-height:1.04}.services-opening-bottom{margin:25px 0 32px}.services-opening-bottom p{font-size:15px}.services-opening-bottom .inline-link{font-size:13px}.services-chapters{grid-template-columns:1fr}.services-chapters a,.services-chapters a+a{padding:17px 0;border-right:0;border-bottom:1px solid #D6CCE7}.services-chapters strong{font-size:20px;margin-top:4px}.agency-services .service-shell{padding-top:48px}.agency-services .service-grid{gap:14px}.agency-services .service-card,.agency-services .service-card:nth-child(3n+1){padding:25px}.agency-services .service-card h3{font-size:29px}.agency-services .service-card p{font-size:14px}}

@media(max-width:767px){.studio-gallery article:has(video[controls]){grid-column:1/-1}}
.studio-gallery article{scroll-margin-top:110px}

/* Centered homepage with Southbeam's own dimensional wordmark. */
.centered-growth-hero{isolation:isolate;background:radial-gradient(ellipse at 50% 20%,#E8E0FA 0%,#F6F3FB 40%,#FAFAF7 78%)}
.centered-growth-hero:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(#9586B826 1px,transparent 1px),linear-gradient(90deg,#9586B826 1px,transparent 1px);background-size:86px 86px;mask-image:radial-gradient(ellipse at center,#000 15%,transparent 74%)}
.centered-growth-hero .agency-home-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;text-align:center;min-height:740px;padding:46px 0 65px}
.hero-wordmark-stage{width:min(460px,78vw);height:150px;display:grid;place-items:center;perspective:1000px;margin-bottom:25px}
.hero-wordmark-spin{position:relative;width:100%;aspect-ratio:600/138;transform-style:preserve-3d;animation:southbeam-wordmark-turn 12s ease-in-out infinite;will-change:transform}
.hero-wordmark-spin img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;backface-visibility:visible}
.hero-wordmark-depth{transform:translateZ(var(--depth));filter:brightness(.45);opacity:.85}
.hero-wordmark-face{transform:translateZ(10px);filter:drop-shadow(0 14px 18px #69508D1C)}
.centered-growth-hero h1.growth-headline{font-size:clamp(48px,4.8vw,72px);line-height:1.06;letter-spacing:-.045em;text-transform:none;max-width:1110px;text-wrap:balance;margin:0 auto}
.centered-growth-hero .hero-description{font-size:18px;line-height:1.7;max-width:610px;margin:32px auto 0;text-wrap:balance}
.centered-growth-hero .actions{justify-content:center;margin-top:27px;gap:28px}
.centered-growth-hero .agency-location{position:relative}
@keyframes southbeam-wordmark-turn{0%,100%{transform:rotateX(10deg) rotateY(-24deg) rotateZ(-4deg)}50%{transform:rotateX(-8deg) rotateY(24deg) rotateZ(4deg)}}
@media(max-width:1023px){.centered-growth-hero .agency-home-hero{min-height:680px;padding:40px 0 55px}.hero-wordmark-stage{width:380px;max-width:75vw;height:125px;margin-bottom:25px}.centered-growth-hero h1.growth-headline{font-size:clamp(44px,6.2vw,62px)}}
@media(max-width:767px){.centered-growth-hero .agency-home-hero{min-height:0;padding:36px 0 45px}.hero-wordmark-stage{height:102px;width:290px;max-width:78vw;margin-bottom:24px}.centered-growth-hero h1.growth-headline{font-size:clamp(35px,8.6vw,56px);line-height:1.09}.centered-growth-hero .hero-description{font-size:15px;margin-top:25px;max-width:370px}.centered-growth-hero .actions{margin-top:24px;gap:23px}.centered-growth-hero .agency-location{justify-content:center;text-align:center}.centered-growth-hero:before{background-size:58px 58px}}
@media(prefers-reduced-motion:reduce){.hero-wordmark-spin{animation:none!important;transform:rotateX(5deg) rotateY(-12deg) rotateZ(-2deg);will-change:auto}}

/* Calm, fully clickable cards with one destination and clear interaction states. */
.agency .service-grid{gap:20px}
.agency .service-card:nth-child(n){padding:32px;border:1px solid #E2DCEB;border-radius:16px;background:#fff;isolation:isolate;transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s}
.agency .service-card .service-number{color:#76688A;font-size:10px;letter-spacing:.09em;text-transform:uppercase;margin-bottom:32px;line-height:1.5}
.agency .service-card h3{max-width:17ch;margin-bottom:16px;transition:color .2s}
.agency .service-card p{max-width:36ch;color:#665D74;margin-bottom:26px;text-wrap:pretty}
.agency .service-card>.inline-link{font-size:12px;font-weight:500;color:#51418C;min-height:44px;border-bottom:1px solid #B4A6D4;position:static}
.agency .service-card>.inline-link:after{content:'';position:absolute;inset:0;border-radius:inherit;z-index:1}
.agency .service-card:focus-within{border-color:#7160F5;box-shadow:0 0 0 3px #7160F52B;background:#F5F2FD}
.agency .service-card>.inline-link:focus-visible{outline:none}
.agency .service-card:active{transform:translateY(1px)}
.agency .button{justify-content:center}
.agency .inline-link{transition:color .2s,border-color .2s}
.agency .tease-grid>a:focus-visible{outline:3px solid #7160F5;outline-offset:5px}
.services-chapters a{transition:background-color .2s,color .2s}
.services-chapters a:focus-visible{outline-offset:-4px}
@media(hover:hover){.agency .service-card:hover{background:#F5F2FD;border-color:#BBACDF;box-shadow:0 12px 30px #4833610D;transform:translateY(-3px)}.agency .service-card:hover h3{color:#5B45D6}.agency .service-card:hover>.inline-link{border-color:#7160F5;color:#5B45D6}.services-chapters a:hover{background:#EEE9F955}}
@media(max-width:767px){.agency .service-grid{gap:14px}.agency .service-card:nth-child(n){padding:26px}.agency .service-card .service-number{margin-bottom:25px}.agency .service-card p{max-width:none}.agency .service-card h3{font-size:29px}}

/* Moving campaign imagery keeps its still fallback and its existing crop. */
.agency .studio-motion{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;aspect-ratio:auto;pointer-events:none;opacity:0;transition:opacity .55s ease;background:transparent}
.agency .studio-motion.is-playing{opacity:1}
.studio-visual figcaption{z-index:1}
.studio-motion-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:30px;padding:9px 18px;border:1px solid #d9d1e8;border-radius:100px;background:#fff;color:#514166;font:500 12px/1.2 Outfit,sans-serif;cursor:pointer}
.studio-motion-toggle[hidden]{display:none}
.studio-motion-toggle:hover{background:#eee8fb;border-color:#b5a3d7}
.studio-motion-toggle:focus-visible{outline:2px solid #5b45d6;outline-offset:4px}

/* Logo rail: the tools Southbeam connects. Continuous scroll, pauses on hover, static row when reduced motion is on. */
.logo-rail{background:#EEEAFE;padding:28px 0;overflow:hidden}
.logo-rail-inner{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:28px;align-items:center}
.logo-rail-title{margin:0;font:600 22px/1.2 Outfit,sans-serif;color:#342147}
.logo-rail-title span{display:block;margin-top:4px;font:400 13px/1.4 Inter,sans-serif;color:#6B5980}
.logo-rail-viewport{display:flex;overflow:hidden;min-width:0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.logo-rail-track{display:flex;align-items:center;gap:56px;margin:0;padding:0 28px 0 0;list-style:none;flex:none;animation:logo-rail-scroll 38s linear infinite}
.logo-rail-viewport:hover .logo-rail-track,.logo-rail-viewport:focus-within .logo-rail-track{animation-play-state:paused}
.logo-rail-item{display:flex;align-items:center;gap:10px;white-space:nowrap;color:#342147;font:600 15px/1 Inter,sans-serif}
.logo-rail-item img{display:block;height:28px;width:auto;max-width:150px;object-fit:contain}
.logo-rail-icon img{height:28px;width:28px}
@keyframes logo-rail-scroll{from{transform:translateX(0)}to{transform:translateX(calc(-100% - 28px))}}
@media(max-width:767px){.logo-rail{padding:22px 0}.logo-rail-inner{grid-template-columns:1fr;gap:16px}.logo-rail-title{font-size:20px}.logo-rail-track{gap:36px;animation-duration:26s}.logo-rail-item img{height:24px}.logo-rail-icon img{height:24px;width:24px}}
@media(prefers-reduced-motion:reduce){.logo-rail-track{animation:none;flex-wrap:wrap;gap:20px 36px;padding:0}.logo-rail-track[aria-hidden]{display:none}.logo-rail-viewport{-webkit-mask-image:none;mask-image:none}}
.logo-rail-meta img{height:46px;max-width:none;margin:-9px 0}
@media(max-width:767px){.logo-rail-meta img{height:40px}}

/* Phone footer: every link is a full-height row you can tap, and the small print is readable. */
@media(max-width:767px){.agency-footer nav{gap:0}.agency-footer nav>span{margin-bottom:6px}.agency-footer nav a{display:block;padding-block:11px;font-size:14px}.agency-footer-bottom{font-size:12px;gap:10px 18px;align-items:center}.agency-footer-bottom a{display:inline-block;padding:12px 6px;margin:-12px -6px}}
