/* Public-site composition: shared hierarchy, measured text and responsive rhythm. */
.ux-page main{--section-space:clamp(48px,6vw,80px)}
.ux-page main>.section{padding-block:var(--section-space)}
.ux-page .page-hero{padding:clamp(42px,6vw,76px) 0;background:var(--light)}
.ux-page .page-hero h1{max-width:900px;font-size:clamp(2.5rem,4.7vw,4.4rem);line-height:1.08;text-wrap:balance}
.ux-page .page-hero .lead{max-width:780px;font-size:clamp(1.1rem,1.8vw,1.35rem)}
.ux-page main h2{font-size:clamp(1.8rem,3vw,2.75rem);line-height:1.14;text-wrap:balance}
.ux-page main p{max-width:72ch}
.ux-page main a:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
.ux-page main [id]{scroll-margin-top:110px}
.ux-heading-row{display:flex;align-items:center;justify-content:space-between;gap:36px;margin-bottom:32px}
.ux-heading-row>div{max-width:780px}
.ux-heading-row>a{flex-shrink:0;max-width:100%;text-align:center}
.ux-heading-row p:last-child{margin-bottom:0}
.ux-columns,.ux-service-core{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.ux-capabilities article{border-top:2px solid var(--blue);padding:26px 0 4px}
.ux-capabilities h3{font-size:1.65rem;margin-top:12px}
.ux-kicker{font-size:.72rem;font-weight:750;letter-spacing:.12em;color:var(--muted)}
.ux-support-line{border-top:1px solid var(--line);padding-top:24px;margin:24px 0 0;color:var(--muted)}
.ux-story{display:grid;grid-template-columns:1fr 1.12fr;gap:clamp(32px,6vw,80px);align-items:start}
.ux-story p{color:var(--muted)}
.ux-story .ux-large-copy{font-size:1.2rem;color:var(--ink)}
.ux-leadership{margin-top:44px;padding-top:36px;border-top:1px solid var(--line)}
.ux-page .section-dark p{color:#D4E4EB}
.ux-page .section-dark .text-link{color:#B5DFEE}
.ux-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:44px}
.ux-principles article{border-top:1px solid var(--line);padding-top:24px}
.ux-principles p{margin-bottom:0;color:var(--muted)}
.ux-regions{margin:28px 0}
.ux-regions>div+div{margin-top:20px}
.ux-regions dt{font-weight:750;margin-bottom:4px}
.ux-regions dd{margin:0;color:var(--muted)}
.ux-page .market-grid{grid-template-columns:1fr 1.3fr;gap:40px;align-items:start}
.ux-page .market-figure{margin:0}
.ux-page .market-copy h2{font-size:clamp(1.8rem,3vw,2.5rem)}
.ux-service-core>article{border-top:2px solid var(--blue);padding-top:28px;display:grid;grid-template-columns:46px 1fr;gap:18px}
.ux-service-core .service-letter{font-size:2.3rem;line-height:1}
.ux-service-core h2{font-size:1.65rem}
.ux-service-core p,.ux-service-grid p{color:var(--muted)}
.ux-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 44px}
.ux-service-grid article{padding:26px 0;border-top:1px solid var(--line)}
.ux-service-grid article p{margin-bottom:0}
.ux-jump-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:30px}
.ux-jump-links a{font-weight:650;text-underline-offset:5px}
.ux-contact-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:start}
.ux-contact-intro .button-row{margin-top:26px}
.ux-contact-intro>div>p:not(.eyebrow){color:var(--muted)}
.ux-next{border-left:2px solid var(--line);padding-left:32px}
.ux-page .ux-next h2{font-size:1.5rem}
.ux-next ol{padding-left:20px;margin:0 0 24px}
.ux-next li{padding-left:5px;margin-bottom:12px}
.ux-next p:last-child{font-size:.9rem;margin-bottom:0;color:var(--muted)}
.ux-next a{font-weight:650;text-underline-offset:3px}
.ux-page .inquiry-shell,.ux-page .resource-shell{padding-top:36px;background:white}
.ux-form-heading{max-width:1012px;margin:0 auto 28px}
.ux-page .ux-form-heading h2{font-size:2rem}
.ux-form-heading p:last-child{color:var(--muted)}
.ux-page .ux-intro-title{font-size:1.55rem;margin-bottom:20px}
.ux-page .ux-note{border-top:1px solid var(--line);padding-top:20px;font-size:.92rem}
.ux-route{max-width:1012px;padding-bottom:48px;color:var(--muted)}
.ux-route p{margin:0}
.ux-route a{color:var(--blue);font-weight:750;text-underline-offset:3px}
.ux-closing .ux-heading-row{margin-bottom:0}
/* Final public-site rhythm: compact content without weakening the hierarchy. */
.ux-page .page-hero{padding-block:clamp(38px,5vw,64px)}
.ux-page .page-hero .lead{max-width:64ch}
.ux-page .section+.section{border-top:1px solid rgba(14,53,72,.07)}
.ux-page .audience-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(28px,5vw,70px)}
.ux-page .audience-detail article{grid-template-columns:42px 1fr;gap:14px;padding:30px 0;align-items:start}
.ux-page .audience-detail h2{font-size:clamp(1.45rem,2vw,1.85rem)}
.ux-page .audience-detail p{font-size:1rem;line-height:1.6;margin-bottom:0}
.ux-page .project-grid article{min-height:0;padding:28px 30px 32px}
.ux-page .ux-grid-intro{max-width:65ch;margin:0 0 28px;color:var(--muted)}
.ux-page .project-grid h2{margin-top:24px;font-size:clamp(1.3rem,1.8vw,1.65rem)}
.ux-page .project-grid p{margin-bottom:0}
.ux-page .ux-principles{margin-top:30px}
.ux-page .ux-principles article{padding-top:20px}
.ux-page .ux-service-core>article{padding-top:22px}
.ux-page .ux-service-grid article{padding-block:22px}
.ux-page .ux-contact-intro{gap:clamp(28px,5vw,60px)}
.ux-page .ux-next ol{margin-bottom:16px}
.ux-page .ux-next li{margin-bottom:8px}
.ux-visual-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(28px,4.5vw,64px);align-items:center}
.ux-visual-hero-copy{min-width:0}
.ux-page .ux-visual-hero h1{font-size:clamp(2.5rem,4.1vw,4rem)}
.ux-illustration-slot{min-width:0;margin:0}
.ux-illustration-slot__art{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;aspect-ratio:1.4;padding:clamp(22px,3vw,40px);border:1px solid #547588;background:radial-gradient(circle at 66% 45%,rgba(108,174,197,.22),transparent 42%),linear-gradient(135deg,#0a293a,#123f54 62%,#0b2e43);color:#fff}
.ux-illustration-slot__art::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(193,224,235,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(193,224,235,.12) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(90deg,transparent,#000 35%)}
.ux-illustration-slot__art::after{content:"";position:absolute;z-index:-1;width:52%;aspect-ratio:1;right:8%;top:16%;border:1px solid rgba(200,232,241,.48);border-radius:50%;box-shadow:0 0 0 25px rgba(188,222,232,.045),0 0 0 55px rgba(188,222,232,.035)}
.ux-illustration-slot__label,.ux-illustration-slot__detail{font-size:.67rem;font-weight:750;letter-spacing:.17em}
.ux-illustration-slot__label{color:#abd8e8}
.ux-illustration-slot__detail{color:#c2dbe4}
.ux-illustration-slot__art strong{max-width:16ch;font-size:clamp(1.65rem,2.3vw,2.6rem);font-weight:650;line-height:1.12;letter-spacing:-.03em}
.ux-illustration-slot--services .ux-illustration-slot__image{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center}
.ux-experience-hero__inner{display:grid;gap:clamp(28px,4vw,48px)}
.ux-experience-hero .ux-visual-hero-copy{max-width:900px}
.ux-experience-hero .ux-visual-hero-copy h1{max-width:18ch}
.ux-experience-banner{width:100%}
.ux-experience-banner__art{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:2.4;border:1px solid #547588;background:radial-gradient(ellipse at 50% 53%,rgba(132,183,200,.25),transparent 45%),linear-gradient(115deg,#0b2c3e,#17485d 49%,#0b3044);}
.ux-experience-banner__art::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(193,224,235,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(193,224,235,.13) 1px,transparent 1px),linear-gradient(135deg,transparent 43%,rgba(182,217,230,.18) 43.2%,rgba(182,217,230,.18) 44.5%,transparent 44.7%),linear-gradient(0deg,transparent 40%,rgba(182,217,230,.18) 40.2%,rgba(182,217,230,.18) 43%,transparent 43.2%);background-size:42px 42px,42px 42px,100% 100%,100% 100%;mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent)}
.ux-experience-banner__art::after{content:"";position:absolute;width:30%;height:35%;left:35%;top:33%;border:2px solid rgba(227,143,79,.8);box-shadow:0 0 0 12px rgba(227,143,79,.1),0 0 45px rgba(227,143,79,.2);transform:skew(-14deg)}
.ux-experience-banner__image{display:block;width:100%;height:auto;aspect-ratio:2.4;object-fit:cover;object-position:center}
.ux-illustration-slot figcaption{padding-top:9px;font-size:.75rem;color:var(--muted)}
.ux-references{border-top:1px solid var(--line);margin-top:42px;padding-top:20px}
.ux-references .ux-references__title{margin:0 0 9px;font-size:.87rem;font-weight:750;color:var(--ink)}
.ux-references ul{display:flex;flex-wrap:wrap;gap:5px 20px;list-style:none;margin:0 0 10px;padding:0}
.ux-references li{font-size:.8rem}
.ux-references a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.ux-references .ux-references__note{max-width:none;margin:0;font-size:.76rem;color:var(--muted)}
.ux-page .ux-service-core{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media(max-width:980px){
 .ux-story,.ux-contact-intro,.ux-page .market-grid{grid-template-columns:1fr;gap:28px}
 .ux-page .split{gap:24px}
 .ux-page .ux-service-core{grid-template-columns:1fr;gap:18px}
 .ux-visual-hero{grid-template-columns:1fr;gap:22px}
 .ux-illustration-slot__art{aspect-ratio:2.2;padding:24px}
 .ux-heading-row{align-items:flex-start;flex-direction:column;gap:20px}
 .ux-next{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}
 .ux-page .network-hero .ux-story{gap:36px}
}
@media(max-width:680px){
 .ux-page main{--section-space:clamp(36px,9vw,48px)}
 .ux-page .page-hero{padding-block:36px 40px}
 .ux-page .page-hero h1{font-size:clamp(2.25rem,9vw,3rem)}
 .ux-page .page-hero .lead{font-size:1.04rem;line-height:1.5}
 .ux-page .audience-detail{grid-template-columns:1fr}
 .ux-page .audience-detail article{grid-template-columns:32px 1fr;gap:10px;padding:22px 0}
 .ux-page .project-grid{border-left:0}
 .ux-page .project-grid article{padding:22px 0 24px;border-right:0}
 .ux-page .project-grid h2{margin-top:8px;margin-bottom:8px}
 .ux-page .ux-principles{gap:0;margin-top:22px}
 .ux-page .ux-principles article{padding-block:14px}
 .ux-page .ux-principles article h3{margin-bottom:4px}
 .ux-page .ux-contact-intro{gap:22px}
 .ux-page .ux-next{padding-top:18px}
 .ux-page .ux-next ol{margin-bottom:12px}
 .ux-page .ux-jump-links{margin-top:20px;gap:8px 20px}
 .ux-page .ux-heading-row{gap:16px}
 .ux-page .ux-form-heading{margin-bottom:20px}
 .ux-page .form-card{padding:20px 16px;margin-bottom:14px}
 .ux-page .form-card.optional-card{padding:0}
 .ux-page .form-card-heading{margin-bottom:18px;gap:10px}
 .ux-page .form-card-heading h2{font-size:1.5rem}
 .ux-page .airtable-inspired label{margin-bottom:15px}
 .ux-page .inquiry-option>span{padding:15px;gap:5px}
 .ux-page .inquiry-option strong{font-size:1.1rem}
 .ux-page .resource-progress{gap:5px}
 .ux-page .resource-progress span{padding:5px 7px;font-size:.72rem}
 .ux-illustration-slot__art{aspect-ratio:1.65;padding:20px}
 .ux-illustration-slot__art strong{font-size:1.6rem}
 .ux-experience-banner__art{aspect-ratio:1.45}
 .ux-experience-banner__image{aspect-ratio:1.45}
 .ux-references{margin-top:30px}
}
@media(max-width:760px){
 .ux-columns,.ux-service-core,.ux-service-grid,.ux-principles{grid-template-columns:1fr;gap:24px}
 .ux-principles{margin-top:28px}
 .ux-service-grid{gap:0}
 .ux-service-core>article{grid-template-columns:32px 1fr;gap:12px}
 .ux-service-core .service-letter{font-size:1.8rem}
 .ux-page .ux-service-core h2{font-size:1.45rem}
 .ux-page .integration-hero{padding:42px 0}
 .ux-page .hero-grid{gap:24px}
 .ux-page .trust-row{gap:10px 18px;margin-top:24px}
 .ux-page .integration-visual{max-width:540px;margin:0 auto}
 .ux-heading-row{margin-bottom:24px}
 .ux-page .inquiry-shell,.ux-page .resource-shell{padding-top:28px;padding-bottom:32px}
 .ux-page .ux-route{padding-bottom:36px}
 .ux-page .ux-form-heading h2{font-size:1.65rem}
 .ux-next ol{font-size:.95rem}
}

/* Desktop headings support the page content without dominating the opening. */
@media(min-width:981px){
 .ux-page .page-hero h1{font-size:clamp(2.75rem,3.2vw,3.375rem);line-height:1.12}
 .ux-page .editorial-copy h1{font-size:clamp(3rem,3.4vw,3.75rem);line-height:1.1}
 .ux-page .page-hero{padding-block:48px}
 .ux-experience-hero .ux-visual-hero-copy h1{max-width:26ch}
 .ux-page main h2{font-size:clamp(1.8rem,2.3vw,2.25rem)}
}
