:root {
  color-scheme: light;
  --nova-purple: #816fed;
  --nova-light: #dfe4fa;
  --nova-lilac: #d5d1fc;
  --nova-lavender: #aca1f5;
  --nova-royal: #513ede;
  --nova-indigo: #2c1db7;
  --ink: #17152a;
  --muted: #6b687d;
  --line: #e8e7f1;
  --paper: #fff;
  --soft: #f7f7fc;
  --gradient: linear-gradient(125deg, #2c1db7 0%, #513ede 48%, #816fed 100%);
  font-family: "IBM Plex Sans Arabic", "Archivo", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); line-height: 1.8; -webkit-font-smoothing: antialiased; }
body, button, input, textarea { font-family: "IBM Plex Sans Arabic", "Archivo", sans-serif; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
::selection { color: white; background: var(--nova-royal); }
.container { width: min(1160px, calc(100% - 64px)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 100; top: 8px; right: 8px; padding: 10px 16px; color: #fff; background: var(--nova-indigo); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.site-header { position: relative; z-index: 10; height: 84px; border-bottom: 1px solid rgba(44,29,183,.08); background: rgba(255,255,255,.92); }
.header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand img { width: 144px; height: 55px; object-fit: contain; }
.primary-nav { display: flex; align-items: center; gap: clamp(16px,2vw,29px); }
.primary-nav a { color: #5e5a71; font-size: 13px; font-weight: 500; transition: color .2s ease; }
.primary-nav a:hover, .primary-nav a[aria-current="page"] { color: var(--nova-indigo); }
.primary-nav a[aria-current="page"] { font-weight: 700; }
.button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 22px; padding: 0 23px; border: 1px solid var(--nova-indigo); border-radius: 6px; color: #fff; background: var(--nova-indigo); font-size: 14px; font-weight: 600; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); background: #21158f; box-shadow: 0 12px 24px rgba(44,29,183,.2); }
.button span { font-family: "Archivo", sans-serif; font-size: 20px; line-height: 1; }
.button-small { min-height: 42px; padding-inline: 16px; gap: 12px; font-size: 12px; }
.button-white { color: var(--nova-indigo); border-color: #fff; background: #fff; }
.button-white:hover { color: #fff; border-color: var(--nova-indigo); }
.menu-toggle { display: none; }
.hero { position: relative; isolation: isolate; overflow: hidden; min-height: 624px; padding: 70px 0 0; background: linear-gradient(113deg,#fff 35%,#faf9ff 72%,#f2efff 100%); }
.hero-glow { position: absolute; z-index: -1; top: -235px; right: -200px; width: 670px; height: 670px; border: 1px solid rgba(129,111,237,.11); border-radius: 50%; box-shadow: 0 0 0 52px rgba(129,111,237,.025),0 0 0 106px rgba(129,111,237,.02); }
.hero-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 48px; min-height: 486px; }
.hero-copy { position: relative; z-index: 2; padding-bottom: 36px; }
.eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 15px; color: var(--nova-indigo); font-size: 18px; font-weight: 700; letter-spacing: .015em; }
.eyebrow-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--nova-purple); box-shadow: 0 0 0 5px rgba(129,111,237,.12); }
.eyebrow a { color: inherit; }
.hero h1, .page-hero h1 { margin: 0; color: var(--ink); font-size: clamp(44px,6.1vw,76px); font-weight: 700; line-height: 1.28; letter-spacing: -.055em; }
.text-gradient { color: var(--nova-royal); background: var(--gradient); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.hero-lead { max-width: 475px; margin: 18px 0 25px; color: var(--muted); font-size: 17px; line-height: 2; }
.hero-actions { display: flex; align-items: center; gap: 27px; }
.text-link { display: inline-flex; align-items: center; gap: 11px; color: var(--nova-indigo); font-size: 13px; font-weight: 700; }
.text-link span, .text-link b { display: inline-block; font-size: 18px; transition: transform .2s ease; }
.text-link:hover span, .text-link:hover b { transform: translateX(-4px); }
.hero-note { display: flex; align-items: center; gap: 12px; margin-top: 37px; color: #726f81; font-size: 12px; }
.note-mark { display: grid; place-items: center; width: 31px; height: 31px; border: 1px solid #d5d1fc; border-radius: 50%; color: var(--nova-indigo); font: 700 14px "Archivo", sans-serif; }
.hero-art { position: relative; display: grid; min-height: 440px; place-items: center; }
.orbit { position: absolute; border: 1px solid rgba(81,62,222,.14); border-radius: 50%; }
.orbit-one { width: 370px; height: 370px; }
.orbit-two { width: 490px; height: 490px; border-style: dashed; opacity: .7; }
.art-card { position: relative; z-index: 1; width: min(370px,85%); height: 306px; padding: 26px; border: 1px solid rgba(44,29,183,.08); border-radius: 16px; background: rgba(255,255,255,.96); box-shadow: 0 30px 70px rgba(51,39,133,.14); transform: rotate(-3deg); }
.art-top { display: flex; align-items: center; justify-content: space-between; }
.art-logo { color: var(--nova-indigo); font: 700 18px "Archivo",sans-serif; letter-spacing: .03em; }
.art-logo span { font-weight: 400; }
.live-dot { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 10px; }
.live-dot:before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #72c6aa; }
.art-wave { display: flex; align-items: center; justify-content: center; gap: 12px; height: 124px; margin-top: 17px; overflow: hidden; border-radius: 12px; background: linear-gradient(135deg,#efedff,#f8f6ff); }
.art-wave span { display: block; width: 16px; border-radius: 20px; background: linear-gradient(180deg,var(--nova-lavender),var(--nova-indigo)); opacity: .8; }
.art-wave span:nth-child(1),.art-wave span:nth-child(7) { height: 34px; }.art-wave span:nth-child(2),.art-wave span:nth-child(6) { height: 56px; }.art-wave span:nth-child(3),.art-wave span:nth-child(5) { height: 81px; }.art-wave span:nth-child(4) { height: 101px; }
.art-text { display: flex; flex-direction: column; gap: 7px; margin-top: 15px; }
.art-text i { height: 5px; border-radius: 8px; background: #e9e7f5; }.art-text i:first-child { width: 79%; }.art-text i:nth-child(2) { width: 57%; }.art-text i:nth-child(3) { width: 68%; }
.art-footer { display: flex; justify-content: center; gap: 13px; margin-top: 17px; color: #77738b; font-size: 11px; }.art-footer b { color: var(--nova-purple); }
.art-spark { position: absolute; z-index: 2; color: var(--nova-royal); }.spark-one { top: 49px; right: 66px; font-size: 37px; }.spark-two { bottom: 57px; left: 58px; color: var(--nova-purple); font-size: 24px; }
.floating-note { position: absolute; z-index: 3; display: flex; align-items: center; gap: 10px; padding: 11px 15px; border: 1px solid #efedf7; border-radius: 8px; background: #fff; box-shadow: 0 10px 28px rgba(30,20,90,.08); color: #77738b; font-size: 10px; line-height: 1.6; }
.floating-note b { color: var(--ink); font-size: 11px; }.note-top { top: 91px; left: 4px; }.note-bottom { right: 0; bottom: 75px; }
.note-icon,.pulse-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; color: var(--nova-indigo); background: var(--nova-light); font-size: 17px; }.pulse-icon { color: white; background: var(--nova-royal); }
.art-caption { position: absolute; bottom: 7px; color: #8c879f; font-size: 11px; }
.hero-bottom { display: flex; justify-content: space-between; align-items: center; height: 56px; border-top: 1px solid rgba(44,29,183,.1); color: #8a8799; font-size: 11px; }
.hero-location { display: flex; align-items: center; gap: 8px; }.hero-location i { width: 6px; height: 6px; border-radius: 50%; background: var(--nova-purple); }
.section { padding-block: 100px; }
h2,h3,p { overflow-wrap: anywhere; }
.intro-section { padding-block: 96px 106px; }
.intro-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; align-items: start; }
.intro-grid h2,.section-heading h2,.approach-copy h2,.sectors-inner h2,.cta-inner h2,.story-copy h2,.values-grid h2,.mission-card h2,.detail-content h2,.detail-intro h2,.sector-main h2,.faq-aside h2 { margin: 0; font-size: clamp(30px,4vw,47px); line-height: 1.45; letter-spacing: -.04em; }
.intro-copy p { margin: 4px 0 20px; color: var(--muted); font-size: 15px; line-height: 2.1; }.intro-copy .text-link { margin-top: 7px; }
.services-section { background: var(--soft); }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 38px; margin-bottom: 43px; }
.section-heading > p { max-width: 420px; margin: 0 0 8px; color: var(--muted); font-size: 14px; line-height: 2; }
.service-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 17px; }
.service-card { position: relative; min-height: 310px; padding: 25px 24px; overflow: hidden; border: 1px solid #ebe9f5; border-radius: 9px; background: white; transition: transform .25s ease,box-shadow .25s ease; }
.service-card:hover { transform: translateY(-5px); box-shadow: 0 18px 38px rgba(44,29,183,.09); }
.service-card-dark { color: #fff; border-color: var(--nova-indigo); background: var(--nova-indigo); }.service-card-light { background: #f0efff; border-color: #f0efff; }
.service-index { color: #8d89a1; font: 10px "Archivo",sans-serif; }.service-card-dark .service-index { color: #cac4ff; }
.service-symbol { display: grid; place-items: center; width: 52px; height: 52px; margin-top: 25px; border-radius: 12px; color: var(--nova-indigo); background: var(--nova-light); font-size: 24px; }.symbol-digital { color: #fff; background: rgba(255,255,255,.15); }.symbol-production { color: var(--nova-royal); background: #dedaff; }
.service-card h3 { margin: 15px 0 7px; font-size: 19px; }.service-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 2; }.service-card-dark p { color: #dedbfa; }
.card-link { display: flex; justify-content: space-between; align-items: center; margin-top: 17px; color: var(--nova-indigo); font-size: 11px; font-weight: 700; }.service-card-dark .card-link { color: #fff; }
.fine-print { color: #89869b; font-size: 11px; }.service-note { margin-top: 17px; }
.approach-grid { display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: 93px; }
.approach-visual { position: relative; display: grid; place-items: center; min-height: 430px; overflow: hidden; border-radius: 12px; background: linear-gradient(145deg,#f3f1ff,#fbfaff); }
.visual-ring { position: absolute; border: 1px solid rgba(81,62,222,.18); border-radius: 50%; }.ring-a { width: 270px; height: 270px; }.ring-b { width: 385px; height: 385px; border-style: dashed; }
.visual-center { z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 138px; height: 138px; border-radius: 50%; color: white; background: var(--gradient); box-shadow: 0 20px 50px rgba(44,29,183,.22); }.visual-center span { font: 700 48px "Archivo",sans-serif; line-height: 1; }.visual-center small { margin-top: 7px; font: 9px "Archivo",sans-serif; letter-spacing: .16em; }
.visual-label { position: absolute; z-index: 2; display: grid; place-items: center; width: 73px; height: 73px; border: 1px solid #eae8f6; border-radius: 50%; background: #fff; color: #5d568d; font-size: 11px; box-shadow: 0 10px 30px rgba(44,29,183,.08); }.label-a { top: 53px; right: 50%; transform: translateX(50%); }.label-b { bottom: 83px; right: 17%; }.label-c { bottom: 83px; left: 17%; }
.approach-copy > p:not(.eyebrow) { margin: 17px 0; color: var(--muted); font-size: 14px; line-height: 2.1; }
.check-list { display: grid; gap: 9px; padding: 0; margin: 19px 0 24px; list-style: none; color: #5f5b73; font-size: 12px; }.check-list li { display: flex; align-items: center; gap: 10px; }.check-list li:before { content: "✓"; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; color: var(--nova-indigo); background: var(--nova-light); font: 700 11px "Archivo",sans-serif; }
.work-preview { background: #faf9ff; }
.work-empty { display: grid; grid-template-columns: 145px 1fr auto; align-items: center; gap: 27px; padding: 25px 31px; border: 1px solid #eeecf8; border-radius: 9px; background: white; }
.empty-art { position: relative; display: grid; place-items: center; width: 115px; height: 108px; border-radius: 8px; background: linear-gradient(145deg,#eeebff,#f7f5ff); }.empty-art span { color: var(--nova-royal); font-size: 42px; }.empty-art i { position: absolute; width: 17px; height: 17px; border: 1px solid var(--nova-lavender); border-radius: 50%; }.empty-art i:nth-child(2) { top: 13px; right: 16px; }.empty-art i:nth-child(3) { bottom: 14px; left: 17px; width: 10px; height: 10px; }
.tag { display: inline-block; padding: 3px 10px; border-radius: 20px; color: var(--nova-indigo); background: #f0efff; font-size: 10px; font-weight: 600; }.work-empty h3 { margin: 8px 0 4px; font-size: 19px; }.work-empty p { max-width: 560px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.9; }
.sectors-band { position: relative; overflow: hidden; color: #fff; background: var(--gradient); }.sectors-band:after { content: ""; position: absolute; top: -205px; left: -70px; width: 480px; height: 480px; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; box-shadow: 0 0 0 48px rgba(255,255,255,.04),0 0 0 100px rgba(255,255,255,.025); }
.sectors-inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 35px; }.eyebrow-on-dark { color: #d7d1ff; }.sectors-inner h2 { font-size: clamp(29px,3.8vw,42px); }.sectors-inner > p { max-width: 380px; margin: 0; color: #e2defe; font-size: 13px; line-height: 2; }
.contact-cta { position: relative; overflow: hidden; background: #faf9ff; }.cta-inner { position: relative; display: flex; justify-content: space-between; align-items: center; min-height: 173px; gap: 25px; }.cta-inner h2 { font-size: clamp(29px,3.7vw,41px); }.cta-inner .button { position: relative; z-index: 1; }.cta-orb { position: absolute; top: -122px; left: 22%; display: grid; place-items: center; width: 295px; height: 295px; border: 1px solid rgba(81,62,222,.1); border-radius: 50%; color: rgba(81,62,222,.08); font: 700 100px "Archivo",sans-serif; box-shadow: 0 0 0 35px rgba(81,62,222,.025),0 0 0 75px rgba(81,62,222,.02); }
.site-footer { color: #dbd8ee; background: #17142d; }.footer-main { display: grid; grid-template-columns: 1.35fr .8fr 1fr 1fr; gap: 40px; padding-block: 58px 42px; }.footer-brand img { width: 126px; height: 50px; padding: 5px; border-radius: 4px; background: white; }.footer-brand p,.footer-address p { margin: 16px 0 0; color: #aaa6bd; font-size: 11px; line-height: 2; }.footer-column,.footer-address { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }.footer-column h2,.footer-address h2 { margin: 0 0 7px; color: #fff; font-size: 13px; }.footer-column a,.footer-address a { color: #aaa6bd; font-size: 11px; transition: color .2s ease; }.footer-column a:hover,.footer-address a:hover { color: #fff; }.footer-address p { margin: 0 0 8px; }.footer-address .text-link { color: #cac4ff; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-block: 17px 22px; border-top: 1px solid rgba(255,255,255,.1); color: #87839a; font-size: 10px; }.footer-bottom div { display: flex; gap: 20px; }.footer-bottom a:hover { color: #fff; }
.page-hero { position: relative; isolation: isolate; overflow: hidden; min-height: 324px; padding-block: 64px 67px; background: linear-gradient(110deg,#fff 35%,#f7f5ff 100%); }.page-hero .container { position: relative; z-index: 1; }.page-hero .eyebrow { margin-bottom: 22px; color: #88849a; font-size: 11px; }.page-hero .eyebrow span { color: #bebbd0; }.page-hero h1 { font-size: clamp(41px,5.2vw,62px); }.page-hero > .container > p:last-of-type { max-width: 610px; margin: 17px 0 0; color: var(--muted); font-size: 14px; line-height: 2; }.page-orb { position: absolute; top: 38px; left: max(4%,calc((100vw - 1200px)/2)); display: grid; place-items: center; width: 225px; height: 225px; border: 1px solid rgba(81,62,222,.12); border-radius: 50%; color: rgba(81,62,222,.16); font: 700 76px "Archivo",sans-serif; box-shadow: 0 0 0 27px rgba(81,62,222,.025),0 0 0 59px rgba(81,62,222,.02); }.detail-hero { min-height: 385px; padding-block: 54px 58px; }.detail-hero .button { margin-top: 23px; }.detail-hero .page-orb { top: 68px; width: 260px; height: 260px; font-size: 88px; }.compact-hero { min-height: 280px; }.compact-hero h1 { font-size: clamp(37px,4.7vw,55px); }
.story-section { padding-block: 93px; }.story-grid { display: grid; grid-template-columns: .55fr 1.45fr; gap: 80px; }.story-marker { position: relative; display: flex; flex-direction: column; align-items: flex-start; padding-top: 14px; color: var(--nova-indigo); }.story-marker span { font: 600 42px "Archivo",sans-serif; }.story-marker i { width: 44px; height: 3px; margin: 12px 0; border-radius: 4px; background: var(--nova-purple); }.story-marker small { color: var(--muted); font-size: 11px; }.story-copy { max-width: 730px; }.story-copy p:not(.eyebrow) { color: var(--muted); font-size: 14px; line-height: 2.2; }.story-copy h2 { margin-bottom: 15px; }
.mission-section { background: var(--soft); }.mission-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }.mission-card { position: relative; min-height: 310px; padding: 27px; border: 1px solid #ebe9f5; border-radius: 8px; background: white; }.mission-card-purple { color: white; border-color: var(--nova-royal); background: var(--gradient); }.mission-mark { position: absolute; top: 23px; left: 25px; color: #c6c3d6; font: 12px "Archivo",sans-serif; }.mission-card-purple .mission-mark { color: #c7c0ff; }.mission-card .eyebrow { margin-top: 4px; }.mission-card-purple .eyebrow { color: #e0dcff; }.mission-card h2 { font-size: 29px; }.mission-card p:last-child { margin-top: 14px; color: var(--muted); font-size: 12px; line-height: 2; }.mission-card-purple p:last-child { color: #e2dfff; }
.values-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 85px; }.values-list article { display: flex; gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--line); }.values-list article:first-child { padding-top: 0; }.values-list article > span { padding-top: 3px; color: var(--nova-purple); font: 12px "Archivo",sans-serif; }.values-list h3 { margin: 0; font-size: 15px; }.values-list p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.service-list-section { padding-top: 56px; }.service-detail-row { display: grid; grid-template-columns: 50px 74px 1fr 145px; align-items: start; gap: 24px; padding-block: 35px; border-bottom: 1px solid var(--line); }.service-detail-row:first-child { padding-top: 0; }.detail-number { padding-top: 6px; color: #aaa6bc; font: 13px "Archivo",sans-serif; }.detail-icon { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 12px; color: var(--nova-indigo); background: #efedff; font-size: 24px; }.icon-b { color: white; background: var(--nova-indigo); }.icon-c { background: var(--nova-light); }.detail-content .eyebrow { margin-bottom: 8px; }.detail-content h2 { font-size: 25px; }.detail-content > p:not(.eyebrow) { max-width: 665px; margin: 9px 0 14px; color: var(--muted); font-size: 12px; line-height: 2; }.inline-list { display: flex; flex-wrap: wrap; gap: 8px 17px; padding: 0; margin: 0 0 13px; list-style: none; color: #77738b; font-size: 10px; }.inline-list li:before { content: "·"; padding-left: 5px; color: var(--nova-purple); }.detail-side { display: flex; flex-direction: column; justify-content: center; min-height: 132px; padding-right: 20px; border-right: 1px solid var(--line); color: #aaa6bc; font-size: 13px; line-height: 1.5; }.detail-side span { margin-top: 11px; font: 9px "Archivo",sans-serif; }.service-list-section > .service-note { margin-top: 23px; }
.process-section { background: var(--soft); }.process-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 15px; }.process-grid article,.benefit-grid article,.audience-grid article { padding: 22px; border: 1px solid #ebe9f5; border-radius: 7px; background: white; }.process-grid article > span,.benefit-grid article > span,.audience-grid article > span { color: var(--nova-purple); font: 12px "Archivo",sans-serif; }.process-grid h3,.benefit-grid h3,.audience-grid h3 { margin: 14px 0 5px; font-size: 16px; }.process-grid p,.benefit-grid p,.audience-grid p { margin: 0; color: var(--muted); font-size: 11px; line-height: 2; }
.detail-intro-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 80px; }.detail-intro-grid > .eyebrow { align-self: start; }.detail-intro h2 { font-size: 37px; }.detail-intro-grid > div > p { max-width: 700px; margin: 17px 0 0; color: var(--muted); font-size: 14px; line-height: 2.1; }
.benefit-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }.benefit-grid article { min-height: 180px; }
.faq-preview { background: var(--soft); }.faq-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: 75px; }.faq-layout > div:first-child > h2 { margin: 0; font-size: 38px; line-height: 1.4; }.accordion details { border-bottom: 1px solid #e4e2ed; }.accordion details:first-child { border-top: 1px solid #e4e2ed; }.accordion summary { position: relative; padding: 19px 0; padding-left: 32px; cursor: pointer; list-style: none; font-size: 13px; font-weight: 600; }.accordion summary::-webkit-details-marker { display: none; }.accordion summary:after { content: "+"; position: absolute; left: 2px; top: 50%; color: var(--nova-indigo); font: 20px "Archivo",sans-serif; transform: translateY(-50%); }.accordion details[open] summary:after { content: "−"; }.accordion details p { margin: -4px 0 18px; color: var(--muted); font-size: 12px; line-height: 2; }
.portfolio-section { padding-block: 70px 100px; }.portfolio-note { display: grid; grid-template-columns: 160px 1fr; align-items: center; gap: 35px; max-width: 850px; margin: auto; padding: 40px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }.portfolio-note .empty-art { width: 150px; height: 145px; }.portfolio-note h2 { margin: 10px 0; font-size: 27px; }.portfolio-note p { max-width: 600px; margin: 0 0 20px; color: var(--muted); font-size: 13px; line-height: 2; }
.sector-main { display: grid; grid-template-columns: 105px 1fr; gap: 25px; align-items: start; }.sector-icon { display: grid; place-items: center; width: 82px; height: 82px; border-radius: 18px; color: white; background: var(--gradient); font-size: 35px; }.sector-main h2 { font-size: 36px; }.sector-main > div:last-child > p:not(.eyebrow) { max-width: 680px; color: var(--muted); font-size: 13px; line-height: 2; }.audience-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; margin-top: 58px; }.audience-grid article { min-height: 180px; }
.faq-page-section { padding-top: 65px; }.faq-aside h2 { margin: 0 0 24px; font-size: 37px; }.faq-aside .button { min-height: 46px; }
.contact-section { padding-block: 66px 100px; background: var(--soft); }.contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 60px; }.contact-info h2 { margin: 0 0 30px; font-size: 36px; line-height: 1.5; }.contact-method { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; padding: 15px 0; border-bottom: 1px solid #e5e3ef; }.contact-method > span { color: #9a96ab; font-size: 10px; }.contact-method > a,.contact-method p { margin: 0; color: var(--ink); font-size: 14px; font-weight: 500; }.contact-method > a:hover,.social-links a:hover { color: var(--nova-indigo); }.social-links { display: flex; gap: 20px; }.social-links a { color: var(--ink); font-size: 12px; }.contact-form-wrap { padding: 28px; border: 1px solid #ebe9f4; border-radius: 9px; background: white; }.contact-form-wrap h2 { margin: 0; font-size: 21px; }.contact-form-wrap > p { margin: 6px 0 20px; color: var(--muted); font-size: 11px; }.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }.form-grid label { display: flex; flex-direction: column; gap: 6px; color: #5d596f; font-size: 11px; font-weight: 600; }.form-grid input,.form-grid textarea { width: 100%; padding: 11px 12px; border: 1px solid #e8e6f0; border-radius: 5px; outline: 0; color: var(--ink); background: #fff; font-size: 12px; font-weight: 400; transition: border-color .2s ease,box-shadow .2s ease; }.form-grid input:focus,.form-grid textarea:focus { border-color: var(--nova-purple); box-shadow: 0 0 0 3px rgba(129,111,237,.12); }.form-grid input::placeholder,.form-grid textarea::placeholder { color: #aaa7b7; }.form-grid textarea { resize: vertical; }.form-full { grid-column: 1/-1; }.optional { color: #aaa7b7; font-weight: 400; }.form-disclaimer { margin: 14px 0 !important; color: #8b879b; font-size: 10px !important; line-height: 1.9; }.form-status { min-height: 24px; margin: 10px 0 0 !important; color: var(--nova-indigo) !important; }
.legal-section { padding-top: 55px; }.legal-copy { max-width: 790px; }.legal-date { color: #9692a5; font-size: 11px; }.legal-copy h2 { margin: 32px 0 8px; font-size: 19px; }.legal-copy p { color: #686478; font-size: 13px; line-height: 2.2; }.legal-copy a { color: var(--nova-indigo); text-decoration: underline; text-underline-offset: 3px; }

@media (min-width: 1450px) { .container { width: min(1240px, calc(100% - 96px)); } }
@media (max-width: 980px) {
  .container { width: min(100% - 44px, 800px); }.header-inner { gap: 13px; }.primary-nav { gap: 13px; }.primary-nav a { font-size: 11px; }.brand img { width: 125px; }.header-cta { padding-inline: 11px; }
  .hero { min-height: 575px; }.hero-grid { gap: 12px; }.hero-art { transform: scale(.88); }.hero h1 { font-size: 57px; }.hero-lead { font-size: 15px; }
  .intro-grid,.approach-grid { gap: 50px; }.service-card { padding: 20px; }.footer-main { grid-template-columns: 1.2fr .8fr 1fr; }.footer-address { grid-column: 2/4; }.sectors-inner { grid-template-columns: .9fr 1.1fr; }.sectors-inner .button { grid-column: 1/-1; justify-self: start; }
  .service-detail-row { grid-template-columns: 35px 60px 1fr; }.detail-side { display: none; }.detail-intro-grid,.faq-layout { gap: 45px; }.contact-grid { gap: 35px; }
}
@media (max-width: 700px) {
  .container { width: calc(100% - 40px); }.site-header { height: 72px; }.brand img { width: 118px; height: 48px; }.header-cta { display: none; }.menu-toggle { display: flex; flex-direction: column; justify-content: center; gap: 5px; width: 42px; height: 42px; padding: 9px; border: 1px solid #e8e5f4; border-radius: 6px; background: white; cursor: pointer; }.menu-toggle > span:not(.sr-only) { width: 100%; height: 2px; border-radius: 5px; background: var(--nova-indigo); }.primary-nav { position: absolute; top: 72px; right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 8px 20px 15px; border-bottom: 1px solid #eceaf4; background: #fff; box-shadow: 0 15px 25px rgba(25,18,70,.08); }.primary-nav.is-open { display: flex; }.primary-nav a { padding: 11px 0; border-bottom: 1px solid #f0eff5; font-size: 13px; }.primary-nav a:last-child { border: 0; }
  .hero { min-height: auto; padding-top: 52px; }.hero-grid { grid-template-columns: 1fr; gap: 6px; min-height: initial; }.hero-copy { padding-bottom: 0; }.hero h1 { font-size: clamp(43px,12vw,59px); }.hero-lead { max-width: 450px; font-size: 14px; }.hero-note { margin-top: 24px; }.hero-art { min-height: 360px; transform: scale(.83); transform-origin: center; margin: -10px -22px; }.orbit-one { width: 330px; height: 330px; }.orbit-two { width: 430px; height: 430px; }.art-card { width: 350px; }.hero-bottom { height: auto; min-height: 52px; gap: 12px; font-size: 9px; }.hero-bottom span:first-child { max-width: 60%; }
  .section { padding-block: 68px; }.intro-section { padding-block: 68px; }.intro-grid,.approach-grid,.story-grid,.values-grid,.detail-intro-grid,.faq-layout,.contact-grid { grid-template-columns: 1fr; gap: 25px; }.intro-grid { gap: 17px; }.intro-grid h2,.section-heading h2,.approach-copy h2,.story-copy h2 { font-size: 32px; }.section-heading { display: block; margin-bottom: 28px; }.section-heading > p { margin-top: 12px; }.service-grid { grid-template-columns: 1fr; gap: 12px; }.service-card { min-height: 270px; }.approach-visual { min-height: 330px; order: 2; }.ring-a { width: 230px; height: 230px; }.ring-b { width: 335px; height: 335px; }.visual-label { width: 62px; height: 62px; }.label-a { top: 28px; }.label-b,.label-c { bottom: 52px; }.label-b { right: 14%; }.label-c { left: 14%; }.work-empty { grid-template-columns: 72px 1fr; gap: 16px; padding: 18px; }.work-empty .empty-art { width: 70px; height: 78px; }.work-empty .empty-art span { font-size: 32px; }.work-empty h3 { font-size: 16px; }.work-empty p { font-size: 11px; }.work-empty > .text-link { grid-column: 2; }
  .sectors-inner { grid-template-columns: 1fr; gap: 18px; }.sectors-inner h2 { font-size: 32px; }.sectors-inner > p { font-size: 12px; }.sectors-inner .button { grid-column: auto; }.cta-inner { display: block; min-height: 210px; padding-block: 10px; }.cta-inner h2 { font-size: 31px; }.cta-inner .button { margin-top: 17px; }.cta-orb { top: -70px; left: -70px; width: 200px; height: 200px; font-size: 70px; }.footer-main { grid-template-columns: 1fr 1fr; gap: 30px 18px; padding-block: 42px 30px; }.footer-brand { grid-column: 1/-1; }.footer-address { grid-column: auto; }.footer-bottom { flex-direction: column; font-size: 9px; }.footer-bottom div { flex-wrap: wrap; gap: 8px 17px; }
  .page-hero { min-height: auto; padding-block: 44px 48px; }.page-hero .eyebrow { margin-bottom: 16px; }.page-hero h1 { font-size: clamp(39px,10vw,54px); }.page-hero > .container > p:last-of-type { max-width: 85%; font-size: 12px; }.page-orb { top: 37px; left: -55px; width: 145px; height: 145px; font-size: 47px; }.detail-hero { padding-block: 39px 45px; }.detail-hero .page-orb { top: 72px; width: 165px; height: 165px; font-size: 53px; }.compact-hero h1 { font-size: 36px; }
  .story-grid { gap: 22px; }.story-marker { flex-direction: row; align-items: center; gap: 10px; }.story-marker span { font-size: 28px; }.story-marker i { width: 22px; margin: 0; }.mission-grid { grid-template-columns: 1fr; }.mission-card { min-height: 255px; }.values-grid { gap: 24px; }.service-detail-row { grid-template-columns: 28px 48px 1fr; gap: 11px; padding-block: 26px; }.detail-icon { width: 44px; height: 44px; font-size: 19px; }.detail-content h2 { font-size: 21px; }.detail-content > p:not(.eyebrow) { font-size: 11px; }.inline-list { flex-direction: column; gap: 3px; }.process-grid,.benefit-grid { grid-template-columns: 1fr 1fr; gap: 9px; }.process-grid article,.benefit-grid article { padding: 15px; }.detail-intro h2,.sector-main h2 { font-size: 31px; }.detail-intro-grid { gap: 7px; }.faq-layout { gap: 24px; }.faq-layout > div:first-child > h2,.faq-aside h2 { font-size: 31px; }.portfolio-note { grid-template-columns: 1fr; gap: 22px; padding: 22px; }.portfolio-note .empty-art { width: 100%; height: 120px; }.portfolio-note h2 { font-size: 23px; }.sector-main { grid-template-columns: 62px 1fr; gap: 17px; }.sector-icon { width: 58px; height: 58px; border-radius: 13px; font-size: 27px; }.audience-grid { grid-template-columns: 1fr; gap: 10px; margin-top: 35px; }.audience-grid article { min-height: auto; }.faq-page-section { padding-top: 48px; }.contact-section { padding-block: 48px 70px; }.contact-grid { gap: 33px; }.contact-form-wrap { padding: 19px; }.form-grid { grid-template-columns: 1fr; }.form-full { grid-column: auto; }.legal-section { padding-top: 35px; }
}
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }
