@font-face {
  font-family: "Dana";
  src: url("/assets/fonts/Dana-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face{font-family:Dana;src:url('/assets/fonts/Dana-Light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Dana;src:url('/assets/fonts/Dana-ExtraBold.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:Dana;src:url('/assets/fonts/Dana-Black.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}

@font-face {
  font-family: "Dana";
  src: url("/assets/fonts/Dana-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Dana";
  src: url("/assets/fonts/Dana-DemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Dana";
  src: url("/assets/fonts/Dana-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --navy-950: #020c14;
  --navy-900: #061827;
  --navy-800: #0b263a;
  --navy-700: #133b54;
  --ink: #0a1924;
  --paper: #f2f5f4;
  --paper-2: #e8eeed;
  --muted: #9fb0ba;
  --line: rgba(255, 255, 255, 0.16);
  --dark-line: rgba(6, 24, 39, 0.16);
  --signal: #ff6738;
  --signal-soft: #ff8d68;
  --shell: min(1180px, calc(100vw - 48px));
  --header-h: 94px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--navy-900);
  color: var(--paper);
  font-family: "Dana", sans-serif;
  font-size: 1rem;
  line-height: 1.8;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

body.menu-open { overflow: hidden; }

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, textarea { font: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.25; letter-spacing: -0.035em; }

.shell { width: var(--shell); margin-inline: auto; }

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 12px;
  right: 12px;
  padding: 10px 16px;
  background: var(--paper);
  color: var(--ink);
  transform: translateY(-160%);
  transition: transform .2s ease;
}

.skip-link:focus { transform: translateY(0); }

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 100;
  height: var(--header-h);
  border-bottom: 1px solid transparent;
  transition: background-color .3s ease, border-color .3s ease, height .3s ease;
}

.site-header.is-scrolled {
  height: 78px;
  background: rgba(2, 12, 20, 0.9);
  border-bottom-color: var(--line);
  backdrop-filter: blur(16px);
}

.header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 32px; }

.brand { display: block; flex: 0 0 auto; }
.brand-crop { display: block; width: 164px; height: 62px; overflow: hidden; }
.brand-crop img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: invert(1);
  mix-blend-mode: screen;
}
.brand-custom .brand-crop img { filter: none; mix-blend-mode: normal; object-fit: contain; }

.site-nav { display: flex; align-items: center; gap: clamp(13px, 1.55vw, 26px); font-size: .86rem; font-weight: 500; }
.site-nav > a { position: relative; color: rgba(242, 245, 244, .74); transition: color .2s ease; }
.site-nav > a:not(.nav-cta)::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -9px;
  width: 100%;
  height: 1px;
  background: var(--signal);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .25s ease;
}
.site-nav > a:hover, .site-nav > a:focus-visible, .site-nav > a.is-active { color: #fff; }
.site-nav > a:hover::after, .site-nav > a:focus-visible::after, .site-nav > a.is-active::after { transform: scaleX(1); }
.site-nav .nav-cta {
  padding: 10px 17px;
  border: 1px solid rgba(255,255,255,.42);
  color: #fff;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.site-nav .nav-cta:hover { background: var(--paper); color: var(--ink); border-color: var(--paper); }

.menu-toggle { display: none; width: 48px; height: 48px; border: 1px solid var(--line); background: transparent; color: #fff; cursor: pointer; }
.menu-toggle span { display: block; width: 21px; height: 1px; margin: 6px auto; background: currentColor; transition: transform .25s ease; }

.hero {
  position: relative;
  min-height: 100svh;
  display: flex;
  align-items: stretch;
  background:
    radial-gradient(circle at 19% 24%, rgba(19, 59, 84, .72), transparent 33%),
    radial-gradient(circle at 82% 78%, rgba(255, 103, 56, .09), transparent 25%),
    var(--navy-900);
  overflow: hidden;
}
.home-hero[style]::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--navy-900), transparent 60%), var(--hero-photo) center/cover; opacity: .23; pointer-events: none; }

.hero-grid-lines {
  position: absolute;
  inset: 0;
  opacity: .18;
  background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: linear-gradient(to bottom, transparent 3%, #000 34%, #000 76%, transparent 100%);
}

.hero-layout { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr); align-items: center; gap: 7vw; padding-top: calc(var(--header-h) + 56px); padding-bottom: 104px; }

.eyebrow { display: flex; align-items: center; gap: 11px; margin-bottom: 25px; color: rgba(242,245,244,.67); font-size: .86rem; font-weight: 500; letter-spacing: .02em; }
.eyebrow > span:not(.cms-field) { width: 31px; height: 1px; background: var(--signal); box-shadow: 18px 0 0 rgba(255,103,56,.35); }

.hero h1 { max-width: 740px; margin-bottom: 30px; font-size: clamp(3.35rem, 7vw, 7rem); font-weight: 600; line-height: 1.08; letter-spacing: -.065em; }
.hero h1 em, .inner-hero h1 em, .contact-hero h1 em { color: var(--signal); font-style: normal; }
.hero-lead { max-width: 630px; margin-bottom: 38px; color: rgba(242,245,244,.72); font-size: clamp(1rem, 1.4vw, 1.16rem); line-height: 2; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 28px; }

.button { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 54px; padding: 12px 23px; border: 1px solid transparent; font-size: .93rem; font-weight: 600; transition: transform .22s ease, background-color .22s ease, color .22s ease, border-color .22s ease; }
.button:hover, .button:focus-visible { transform: translateY(-3px); }
.button span { font-size: 1.35rem; line-height: 1; transition: transform .22s ease; }
.button:hover span { transform: translateX(-4px); }
.button-signal { background: var(--signal); color: #fff; }
.button-signal:hover { background: var(--signal-soft); }
.button-dark { background: var(--navy-900); color: #fff; }
.button-dark:hover { background: var(--navy-700); }
.button-ghost { border-color: rgba(255,255,255,.4); color: #fff; }
.button-ghost:hover { background: #fff; color: var(--ink); border-color: #fff; }
.text-link { padding-block: 8px; border-bottom: 1px solid rgba(255,255,255,.35); color: rgba(255,255,255,.82); font-size: .92rem; transition: border-color .2s ease, color .2s ease; }
.text-link:hover { color: #fff; border-color: var(--signal); }

.resonance-stage { position: relative; width: min(100%, 480px); aspect-ratio: 1; margin-inline: auto; border: 1px solid var(--line); border-radius: 50%; }
.resonance-stage::before, .resonance-stage::after { content: ""; position: absolute; background: var(--line); }
.resonance-stage::before { inset: 50% -9%; height: 1px; }
.resonance-stage::after { inset: -9% 50%; width: 1px; }
.orbit { position: absolute; border: 1px solid var(--line); border-radius: 50%; }
.orbit-one { inset: 9%; }
.orbit-two { inset: 22%; border-color: rgba(255,103,56,.42); }
.stage-axis { position: absolute; inset: 16% 49.8%; width: 2px; background: linear-gradient(transparent, var(--signal), transparent); transform: rotate(33deg); transform-origin: center; }
.stage-letter { position: absolute; inset: 50% auto auto 50%; width: clamp(10rem, 18vw, 16rem); transform: translate(-50%,-51%); color: rgba(255,255,255,.58); filter: drop-shadow(0 0 20px rgba(255,255,255,.035)); }
.stage-letter svg { display: block; width: 100%; height: auto; overflow: visible; transform-origin: 50% 50%; }
.stage-letter path { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.resonance-stage.is-releasing .stage-letter svg { animation: tarangRelease 1.45s cubic-bezier(.2,.72,.2,1) both; }
.resonance-stage.is-releasing .stage-letter path { animation: tarangStroke 1.45s ease-out both; }
.sound-lines { position: absolute; inset: 16% 4% auto auto; display: flex; align-items: center; gap: 7px; transform: rotate(-9deg); }
.sound-lines i { display: block; width: 1px; height: 32px; background: var(--signal); opacity: .28; transform: scaleY(.55); }
.sound-lines i:nth-child(2) { height: 58px; }
.sound-lines i:nth-child(3) { height: 86px; }
.sound-lines i:nth-child(4) { height: 50px; }
.sound-lines i:nth-child(5) { height: 24px; }
.resonance-stage.is-releasing .sound-lines i { animation: releaseResonance 1.3s cubic-bezier(.22,.68,.24,1) both; }
.resonance-stage.is-releasing .sound-lines i:nth-child(2) { animation-delay: .035s; }
.resonance-stage.is-releasing .sound-lines i:nth-child(3) { animation-delay: .07s; }
.resonance-stage.is-releasing .sound-lines i:nth-child(4) { animation-delay: .105s; }
.resonance-stage.is-releasing .sound-lines i:nth-child(5) { animation-delay: .14s; }
.stage-caption { position: absolute; inset: auto 10% 10%; display: flex; justify-content: space-between; direction: ltr; font-size: .75rem; letter-spacing: .12em; color: rgba(255,255,255,.45); }

@keyframes tarangRelease {
  0%, 15% { transform: translateX(0) scaleX(1); }
  31% { transform: translateX(-9px) scaleX(.965); }
  44% { transform: translateX(11px) scaleX(1.035); }
  54% { transform: translateX(-3px) scaleX(.994); }
  63% { transform: translateX(2px) scaleX(1.004); }
  73%, 100% { transform: translateX(0) scaleX(1); }
}
@keyframes tarangStroke {
  0%, 18%, 100% { stroke: currentColor; opacity: 1; }
  31% { stroke: var(--signal); opacity: .82; }
  45% { stroke: rgba(255,255,255,.92); opacity: 1; }
}
@keyframes releaseResonance {
  0%, 28% { transform: scaleY(.35); opacity: .14; }
  47% { transform: scaleY(1.12); opacity: 1; }
  60% { transform: scaleY(.68); opacity: .55; }
  70% { transform: scaleY(.92); opacity: .72; }
  84%, 100% { transform: scaleY(.55); opacity: .28; }
}

.hero-foot { position: absolute; z-index: 3; inset: auto 0 24px; display: flex; align-items: center; justify-content: space-between; color: rgba(255,255,255,.4); font-size: .78rem; }
.scroll-cue { display: flex; align-items: center; gap: 12px; }
.scroll-cue b { color: var(--signal); font-size: 1rem; animation: drop 1.8s ease-in-out infinite; }
@keyframes drop { 50% { transform: translateY(5px); } }

.section-light { background: var(--paper); color: var(--ink); }
.meaning { padding: 145px 0 130px; }
.section-intro { display: grid; grid-template-columns: .65fr 1.25fr 1fr; gap: 5vw; align-items: start; margin-bottom: 85px; }
.section-index { margin: 0; color: #697985; font-size: .8rem; font-weight: 600; letter-spacing: .03em; }
.section-index-light { color: rgba(255,255,255,.45); }
.section-intro h2 { margin: 0; font-size: clamp(2rem, 4vw, 4.1rem); font-weight: 500; }
.section-intro > p:last-child { margin: 8px 0 0; color: #50616b; line-height: 2.05; }

.principle-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.principle { min-height: 340px; padding: 32px; border: 1px solid var(--dark-line); background: #fff; display: flex; flex-direction: column; }
.principle + .principle { border-right: 0; }
.principle-number { color: #73838d; font-size: .8rem; }
.principle h3 { margin: auto 0 16px; font-size: clamp(2rem, 3.2vw, 3.25rem); font-weight: 500; }
.principle p { min-height: 88px; margin-bottom: 24px; color: #52636c; line-height: 1.9; }
.principle small { padding-top: 17px; border-top: 1px solid var(--dark-line); color: #6e7f89; font-size: .78rem; }

/* The four steps stay quiet at rest. Motion explains why release is the decisive moment. */
.method-sequence { position: relative; isolation: isolate; }
.method-flight {
  position: absolute;
  z-index: 5;
  top: -1px;
  right: 0;
  width: 100%;
  height: 2px;
  overflow: hidden;
  pointer-events: none;
}
.method-flight::before {
  content: "";
  position: absolute;
  inset: 0 0 0 auto;
  width: 22%;
  background: linear-gradient(90deg, transparent, rgba(255,103,56,.38) 22%, var(--signal) 68%, transparent);
  transform: translateX(15%);
  opacity: 0;
}
.principle-release,
.principle-release p,
.principle-release small,
.principle-release .principle-number { transition: color .28s ease, background-color .28s ease, border-color .28s ease; }
.principle-ripple {
  position: absolute !important;
  z-index: 0 !important;
  top: 42%;
  right: 50%;
  width: 18px;
  height: 18px;
  pointer-events: none;
}
.principle-ripple i {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255,103,56,.72);
  border-radius: 50%;
  opacity: 0;
  transform: scale(.3);
}
.method-sequence.is-playing .method-flight::before { animation: methodFlight 2.8s cubic-bezier(.3,.02,.18,1) both; }
.method-sequence.is-playing .principle-release { animation: methodReleaseCard 1.05s 1.18s cubic-bezier(.22,.72,.24,1) both; }
.method-sequence.is-playing .principle-release h3 { animation: methodReleaseTitle 1.05s 1.18s cubic-bezier(.22,.72,.24,1) both; }
.method-sequence.is-playing .principle-release p,
.method-sequence.is-playing .principle-release small,
.method-sequence.is-playing .principle-release .principle-number { animation: methodReleaseCopy 1.05s 1.18s cubic-bezier(.22,.72,.24,1) both; }
.method-sequence.is-playing .principle-release small { animation-name: methodReleaseRule; }
.method-sequence.is-playing .principle-ripple i { animation: methodEcho 1.25s 2.18s cubic-bezier(.17,.67,.24,1) both; }
.method-sequence.is-playing .principle-ripple i:nth-child(2) { animation-delay: 2.34s; }

@keyframes methodFlight {
  0% { transform: translateX(15%); opacity: 0; }
  8% { opacity: 1; }
  86% { opacity: 1; }
  100% { transform: translateX(-365%); opacity: 0; }
}
@keyframes methodReleaseCard {
  0%, 100% { background-color: #fff; border-color: var(--dark-line); }
  24%, 72% { background-color: var(--navy-900); border-color: var(--navy-900); }
}
@keyframes methodReleaseTitle {
  0%, 100% { color: var(--ink); }
  24%, 72% { color: var(--paper); }
}
@keyframes methodReleaseCopy {
  0%, 100% { color: #52636c; }
  24%, 72% { color: rgba(255,255,255,.68); }
}
@keyframes methodReleaseRule {
  0%, 100% { color: #6e7f89; border-color: var(--dark-line); }
  24%, 72% { color: rgba(255,255,255,.68); border-color: var(--line); }
}
@keyframes methodEcho {
  0% { opacity: 0; transform: scale(.25); }
  18% { opacity: .72; }
  100% { opacity: 0; transform: scale(9); }
}

.b2b-section { padding: 145px 0; background: var(--navy-950); }
.split-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 10vw; align-items: start; }
.sticky-title { position: sticky; top: 130px; }
.sticky-title h2 { margin: 26px 0 30px; font-size: clamp(2.4rem, 4.5vw, 4.8rem); font-weight: 500; }
.sticky-title > p:last-child { max-width: 500px; color: rgba(255,255,255,.58); line-height: 2; }
.b2b-list article { display: grid; grid-template-columns: 58px 1fr; gap: 26px; padding: 42px 0; border-top: 1px solid var(--line); }
.b2b-list article:last-child { border-bottom: 1px solid var(--line); }
.b2b-list article > span { color: var(--signal); font-size: .8rem; }
.b2b-list h3 { margin-bottom: 15px; font-size: clamp(1.4rem, 2.4vw, 2.1rem); font-weight: 500; }
.b2b-list p { margin: 0; color: rgba(255,255,255,.56); line-height: 1.95; }

.services { padding: 140px 0; }
.services-head { display: grid; grid-template-columns: .66fr 2fr; gap: 5vw; margin-bottom: 70px; }
.services-head h2 { max-width: 790px; margin: 0; font-size: clamp(2.3rem, 4.5vw, 4.6rem); font-weight: 500; }
.service-rows { border-top: 1px solid var(--dark-line); }
.service-rows article { position: relative; display: grid; grid-template-columns: 90px 1fr 1fr; gap: 30px; align-items: center; min-height: 118px; border-bottom: 1px solid var(--dark-line); transition: padding .3s ease, background-color .3s ease, color .3s ease; }
.service-rows article:hover { padding-inline: 22px; background: var(--navy-900); color: #fff; }
.service-rows article:hover p, .service-rows article:hover > span { color: rgba(255,255,255,.62); }
.service-rows article > span { color: #6b7d87; font-size: .8rem; }
.service-rows h3 { margin: 0; font-size: clamp(1.25rem, 2vw, 1.8rem); font-weight: 600; }
.service-rows p { margin: 0; color: #63747e; font-size: .93rem; }

.projects-preview { padding: 140px 0; background: linear-gradient(135deg, var(--navy-800), var(--navy-900)); }
.projects-preview-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: end; }
.projects-preview h2 { margin: 28px 0 0; font-size: clamp(3rem, 6.5vw, 7rem); font-weight: 500; }
.honest-card { padding: 42px; border: 1px solid rgba(255,255,255,.22); }
.honest-card-number { display: block; margin-bottom: 65px; color: var(--signal); font-size: .8rem; }
.honest-card p { margin-bottom: 35px; color: rgba(255,255,255,.68); font-size: 1.05rem; line-height: 2; }

.final-cta { padding: 130px 0; }
.final-cta-inner { display: grid; grid-template-columns: .45fr 1.55fr .7fr; gap: 4vw; align-items: start; }
.final-cta h2 { margin: 0; font-size: clamp(2rem, 4.2vw, 4.3rem); font-weight: 500; }
.final-cta-inner > div:last-child { display: flex; flex-direction: column; gap: 20px; align-items: flex-start; }
.contact-number { direction: ltr; border-bottom: 1px solid var(--dark-line); font-size: 1rem; }

.site-footer { padding: 80px 0 28px; background: var(--navy-950); }
.footer-top { display: flex; align-items: end; justify-content: space-between; gap: 30px; padding-bottom: 70px; border-bottom: 1px solid var(--line); }
.footer-kicker { display: block; margin-bottom: 6px; color: rgba(255,255,255,.4); font-size: .8rem; }
.footer-top strong { display: block; direction: ltr; text-align: right; font-size: clamp(2.7rem, 5.8vw, 5.5rem); font-weight: 600; line-height: 1; letter-spacing: -.055em; }
.footer-email { direction: ltr; font-size: clamp(1rem, 2vw, 1.35rem); border-bottom: 1px solid rgba(255,255,255,.25); transition: color .2s ease, border-color .2s ease; }
.footer-email:hover { color: var(--signal); border-color: var(--signal); }
.footer-bottom { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; padding-top: 26px; color: rgba(255,255,255,.4); font-size: .77rem; }
.footer-bottom > span:last-child { direction: ltr; text-align: left; }
.socials { display: flex; align-items: center; gap: 12px; }
.socials > a, .social-disabled { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--line); color: rgba(255,255,255,.68); transition: color .2s ease, border-color .2s ease, background-color .2s ease; }
.socials > a:hover { color: #fff; border-color: var(--signal); background: rgba(255,103,56,.1); }
.socials svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.socials .fill-icon { fill: currentColor; stroke: none; }
.social-disabled { position: relative; opacity: .45; cursor: default; }
.social-disabled b { position: absolute; bottom: -22px; white-space: nowrap; font-size: .64rem; font-weight: 400; }

.inner-page { background: var(--navy-900); }
.inner-hero { padding: calc(var(--header-h) + 130px) 0 115px; min-height: 72vh; display: flex; align-items: end; background: radial-gradient(circle at 15% 70%, rgba(19,59,84,.7), transparent 36%), var(--navy-900); }
.inner-hero-grid { display: grid; grid-template-columns: 1.55fr .7fr; gap: 8vw; align-items: end; }
.inner-hero h1 { max-width: 900px; margin: 0; font-size: clamp(3rem, 6vw, 6.5rem); font-weight: 500; }
.inner-hero-grid > p { margin: 0 0 9px; color: rgba(255,255,255,.62); line-height: 2; }

.empty-project { padding: 140px 0; }
.empty-project-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 8vw; align-items: center; }
.project-slot { position: relative; min-height: 540px; padding: 38px; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; background: var(--navy-900); color: #fff; }
.project-slot > span { color: rgba(255,255,255,.45); font-size: .78rem; }
.project-slot > strong { position: relative; z-index: 2; max-width: 450px; font-size: clamp(2.3rem, 4.4vw, 4.7rem); font-weight: 500; line-height: 1.25; }
.slot-pulse { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 28px; opacity: .4; transform: rotate(-22deg); }
.slot-pulse i { width: 1px; height: 180%; background: linear-gradient(transparent, var(--signal), transparent); }
.slot-pulse i:nth-child(2) { transform: translateY(70px); }
.slot-pulse i:nth-child(3) { transform: translateY(-90px); }
.empty-project-copy h2 { margin: 25px 0 28px; font-size: clamp(2.2rem, 4vw, 4.1rem); font-weight: 500; }
.empty-project-copy > p:not(.section-index) { margin-bottom: 35px; color: #566872; line-height: 2.05; }

.project-fit { padding: 140px 0; background: var(--navy-950); }
.project-fit-head { display: grid; grid-template-columns: .6fr 1.4fr; gap: 5vw; margin-bottom: 70px; }
.project-fit-head h2 { margin: 0; font-size: clamp(2.4rem, 4.5vw, 4.8rem); font-weight: 500; }
.fit-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.fit-grid article { min-height: 320px; padding: 30px; border: 1px solid var(--line); display: flex; flex-direction: column; }
.fit-grid article + article { border-right: 0; }
.fit-grid article > span { color: var(--signal); font-size: .8rem; }
.fit-grid h3 { margin: auto 0 0; font-size: clamp(1.35rem, 2.2vw, 2rem); font-weight: 500; line-height: 1.6; }

.career-values { padding: 140px 0; }
.career-values-head { display: grid; grid-template-columns: .55fr 1.45fr; gap: 5vw; margin-bottom: 70px; }
.career-values-head h2 { margin: 0; font-size: clamp(2.3rem, 4.4vw, 4.6rem); font-weight: 500; }
.value-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--dark-line); border-right: 1px solid var(--dark-line); }
.value-grid article { min-height: 270px; padding: 30px; border-left: 1px solid var(--dark-line); border-bottom: 1px solid var(--dark-line); display: flex; flex-direction: column; }
.value-grid article > span { color: #72838d; font-size: .8rem; }
.value-grid h3 { max-width: 500px; margin: auto 0 0; font-size: clamp(1.6rem, 2.7vw, 2.7rem); font-weight: 500; line-height: 1.5; }

.career-mail { padding: 140px 0; background: linear-gradient(145deg, var(--navy-800), var(--navy-950)); }
.career-mail-grid { display: grid; grid-template-columns: 1fr .8fr; gap: 10vw; align-items: end; }
.career-mail h2 { margin: 28px 0 0; font-size: clamp(2.4rem, 5vw, 5rem); font-weight: 500; }
.career-mail-grid > div:last-child > p { margin-bottom: 35px; color: rgba(255,255,255,.62); line-height: 2; }

.contact-hero { padding: calc(var(--header-h) + 115px) 0 105px; min-height: 78vh; display: flex; align-items: end; background: radial-gradient(circle at 82% 38%, rgba(19,59,84,.75), transparent 38%), var(--navy-900); }
.contact-hero-grid { display: grid; grid-template-columns: 1.55fr .7fr; gap: 8vw; align-items: end; }
.contact-hero h1 { max-width: 950px; margin: 0; font-size: clamp(3.1rem, 6.4vw, 7rem); font-weight: 500; }
.contact-lead { padding-bottom: 10px; color: rgba(255,255,255,.62); line-height: 2; }
.contact-details { padding: 100px 0 130px; }
.contact-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--dark-line); border-right: 1px solid var(--dark-line); }
.contact-card { position: relative; min-height: 230px; padding: 32px; border-left: 1px solid var(--dark-line); border-bottom: 1px solid var(--dark-line); display: flex; flex-direction: column; transition: background .25s ease, color .25s ease; }
a.contact-card:hover { background: var(--navy-900); color: #fff; }
.contact-card > span { color: #6a7a84; font-size: .8rem; }
.contact-card strong { margin: auto 0 0; font-size: clamp(1.7rem, 3.5vw, 3.4rem); font-weight: 500; }
.contact-card i { position: absolute; top: 28px; left: 30px; font-size: 1.25rem; font-style: normal; color: var(--signal); }
.contact-card-icon { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid currentColor; }
.contact-card-icon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.contact-location i { font-size: .65rem; }

.quick-contact { padding: 130px 0; }
.quick-contact-head { display: grid; grid-template-columns: .58fr 1.42fr; gap: 5vw; margin-bottom: 62px; }
.quick-contact-head h2 { max-width: 790px; margin: 0; font-size: clamp(2.2rem, 4.2vw, 4.3rem); font-weight: 500; }
.quick-contact-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--dark-line); border-right: 1px solid var(--dark-line); }
.contact-action { min-height: 220px; padding: 28px; border-left: 1px solid var(--dark-line); border-bottom: 1px solid var(--dark-line); display: grid; grid-template-columns: 54px 1fr auto; align-items: end; gap: 18px; transition: background-color .3s ease, color .3s ease, transform .3s ease; }
.contact-action:hover { background: var(--navy-900); color: #fff; transform: translateY(-7px); }
.contact-action-icon { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid currentColor; color: var(--signal); }
.contact-action-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; }
.contact-action > span:nth-child(2) { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.contact-action small { color: #72828c; font-size: .77rem; }
.contact-action strong { font-size: clamp(1rem, 1.45vw, 1.25rem); font-weight: 500; overflow-wrap: anywhere; }
.contact-action > i { align-self: start; color: var(--signal); font-size: 1.15rem; font-style: normal; transition: transform .25s ease; }
.contact-action:hover > i { transform: translate(-5px, -5px); }

.dictionary { padding: 145px 0; }
.dictionary-grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: 9vw; align-items: center; }
.dictionary-card { min-height: 560px; padding: 40px; display: flex; flex-direction: column; justify-content: space-between; background: var(--navy-900); color: #fff; }
.dictionary-label { color: rgba(255,255,255,.47); font-size: .8rem; }
.dictionary-card > strong { position: relative; z-index: 2; margin: auto 0 0; font-size: clamp(4rem, 9vw, 8.5rem); font-weight: 500; letter-spacing: -.07em; }
.dictionary-card > small { color: rgba(255,255,255,.48); font-size: .82rem; }
.dictionary-rings { position: absolute !important; z-index: 0 !important; inset: 50% auto auto 50%; width: 360px; aspect-ratio: 1; transform: translate(-50%,-50%); }
.dictionary-rings i { position: absolute; inset: 50%; border: 1px solid rgba(255,103,56,.35); border-radius: 50%; animation: dictionaryRing 4.8s ease-in-out infinite; }
.dictionary-rings i:nth-child(2) { animation-delay: -1.6s; }
.dictionary-rings i:nth-child(3) { animation-delay: -3.2s; }
@keyframes dictionaryRing { 0% { inset: 50%; opacity: .8; } 80%,100% { inset: 4%; opacity: 0; } }
.dictionary-copy h2 { margin: 26px 0 30px; font-size: clamp(2.4rem, 4.6vw, 4.7rem); font-weight: 500; }
.dictionary-copy > p:not(.section-index) { color: #53656f; line-height: 2.1; }
.dictionary-source { display: inline-flex; gap: 10px; align-items: center; margin-top: 18px; padding-bottom: 5px; border-bottom: 1px solid var(--dark-line); color: #5d6e78; font-size: .8rem; }
.dictionary-source span { color: var(--signal); }
.arash-reference { max-width: 690px; margin: 42px 0 0; padding: 4px 24px 4px 0; border-right: 2px solid var(--signal); color: #203845; font-size: clamp(1rem,1.35vw,1.12rem); font-weight: 500; line-height: 2.15; }

.brand-manifesto { padding: 70px 0; background: var(--navy-800); }
.brand-manifesto-inner { min-height: 570px; padding: 50px; border: 1px solid var(--line); display: flex; flex-direction: column; justify-content: space-between; }
.brand-manifesto-inner > p { color: rgba(255,255,255,.4); font-size: .76rem; letter-spacing: .14em; }
.brand-manifesto h2 { position: relative; z-index: 2; margin: auto 0 0; font-size: clamp(4rem, 9.2vw, 9.6rem); font-weight: 500; line-height: .98; }
.brand-manifesto h2 em { color: var(--signal); font-style: normal; }
.brand-manifesto-inner > .manifesto-thesis { position: relative; z-index: 2; align-self: flex-start; margin: 32px 0 0; color: rgba(255,255,255,.68); font-size: clamp(.94rem,1.25vw,1.08rem); font-weight: 400; line-height: 1.9; letter-spacing: 0; }
.manifesto-wave { position: absolute !important; z-index: 1 !important; inset: 12% auto 12% 8%; display: flex; align-items: center; gap: 10px; direction: ltr; opacity: .55; }
.manifesto-wave i { width: 1px; height: 28%; background: linear-gradient(transparent, var(--signal), transparent); animation: manifestoPulse 1.8s ease-in-out infinite; }
.manifesto-wave i:nth-child(2), .manifesto-wave i:nth-child(6) { height: 48%; animation-delay: -.25s; }
.manifesto-wave i:nth-child(3), .manifesto-wave i:nth-child(5) { height: 73%; animation-delay: -.5s; }
.manifesto-wave i:nth-child(4) { height: 100%; animation-delay: -.75s; }
@keyframes manifestoPulse { 50% { transform: scaleY(.45); opacity: .35; } }

.about-cta { padding: 130px 0; background: linear-gradient(135deg, var(--navy-800), var(--navy-950)); }
.about-cta-inner { display: grid; grid-template-columns: .5fr 1.5fr auto; gap: 5vw; align-items: center; }
.about-cta h2 { margin: 0; font-size: clamp(2.1rem, 4vw, 4.1rem); font-weight: 500; }

[data-resonance] {
  --mx: 50%;
  --my: 50%;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

[data-resonance]::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: -1px;
  pointer-events: none;
  background: radial-gradient(circle 180px at var(--mx) var(--my), rgba(255,103,56,.19), transparent 72%);
  opacity: 0;
  transition: opacity .35s ease;
}

[data-resonance]:hover::after { opacity: 1; }
[data-resonance] > *:not(.slot-pulse):not(.dictionary-rings):not(.manifesto-wave) { position: relative; z-index: 1; }

.service-rows article::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 50%;
  right: 0;
  width: 0;
  height: 1px;
  background: var(--signal);
  box-shadow: 14px -5px 0 rgba(255,103,56,.35), 25px 5px 0 rgba(255,103,56,.2);
  transition: width .45s cubic-bezier(.2,.8,.2,1);
}

.service-rows article:hover::before { width: 72px; }
.principle, .fit-grid article, .value-grid article, .b2b-list article { transition: transform .32s ease, background-color .32s ease, border-color .32s ease; }
.principle:hover, .fit-grid article:hover, .value-grid article:hover { transform: translateY(-8px); border-color: rgba(255,103,56,.55); }
.principle:hover { background-color: #f8faf9; }
.b2b-list article:hover { transform: translateX(-8px); background: rgba(255,255,255,.025); padding-inline: 22px; }

[data-tilt] { transform-style: preserve-3d; transition: transform .18s ease-out, border-color .3s ease; }

.cursor-resonance {
  position: fixed;
  z-index: 4;
  top: 0;
  left: 0;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  pointer-events: none;
  background: radial-gradient(circle, rgba(255,103,56,.10), rgba(255,103,56,.035) 36%, transparent 70%);
  transform: translate3d(-50%,-50%,0);
  opacity: 0;
  transition: opacity .35s ease;
  mix-blend-mode: screen;
}

body.has-pointer .cursor-resonance { opacity: 1; }

.page-home .hero-copy h1 > span { color: var(--paper); }
.about-page .inner-hero { min-height: 78vh; }
.contact-brief { padding: 140px 0; background: var(--navy-950); }
.contact-brief-grid { display: grid; grid-template-columns: 1fr .9fr; gap: 10vw; align-items: start; }
.contact-brief h2 { margin: 28px 0 0; font-size: clamp(2.4rem, 4.6vw, 4.8rem); font-weight: 500; }
.contact-brief ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.contact-brief li { display: grid; grid-template-columns: 55px 1fr; gap: 20px; padding: 30px 0; border-bottom: 1px solid var(--line); }
.contact-brief li > span { color: var(--signal); font-size: .8rem; }
.contact-brief li p { margin: 0; font-size: 1.05rem; }

.js [data-reveal] { opacity: 0; translate: 0 26px; transition: opacity .75s ease, translate .75s cubic-bezier(.2,.8,.2,1); }
.js [data-reveal].is-visible { opacity: 1; translate: 0 0; }

@media (max-width: 980px) {
  :root { --header-h: 80px; --shell: min(100% - 34px, 760px); }
  .site-header.is-scrolled { height: 72px; }
  .brand-crop { width: 142px; height: 54px; }
  .menu-toggle { display: block; position: relative; z-index: 102; }
  .menu-open .menu-toggle span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-open .menu-toggle span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .site-nav { position: fixed; z-index: 101; inset: 0; padding: 120px 28px 40px; background: var(--navy-950); flex-direction: column; align-items: stretch; justify-content: center; gap: 0; transform: translateX(-105%); visibility: hidden; transition: transform .35s cubic-bezier(.2,.8,.2,1), visibility .35s; }
  .menu-open .site-nav { transform: translateX(0); visibility: visible; }
  .site-nav > a { padding: 15px 5px; border-bottom: 1px solid var(--line); font-size: 1.45rem; }
  .site-nav > a:not(.nav-cta)::after { display: none; }
  .site-nav .nav-cta { margin-top: 24px; padding: 13px 17px; text-align: center; font-size: 1rem; }
  .hero-layout { grid-template-columns: 1fr; gap: 70px; padding-top: calc(var(--header-h) + 80px); }
  .hero-copy { position: relative; z-index: 2; }
  .resonance-stage { width: min(86vw, 460px); }
  .section-intro { grid-template-columns: 1fr; gap: 25px; }
  .section-intro > p:last-child { max-width: 640px; }
  .split-layout { grid-template-columns: 1fr; gap: 75px; }
  .sticky-title { position: static; }
  .services-head { grid-template-columns: 1fr; gap: 25px; }
  .quick-contact-head { grid-template-columns: 1fr; gap: 25px; }
  .quick-contact-grid { grid-template-columns: 1fr; }
  .contact-action { min-height: 170px; }
  .projects-preview-grid { grid-template-columns: 1fr; gap: 65px; }
  .final-cta-inner { grid-template-columns: 1fr; gap: 35px; }
  .footer-bottom { grid-template-columns: 1fr auto; }
  .footer-bottom > span:last-child { grid-column: 1 / -1; text-align: right; }
  .inner-hero-grid, .contact-hero-grid { grid-template-columns: 1fr; gap: 50px; }
  .inner-hero, .contact-hero { min-height: auto; padding-top: calc(var(--header-h) + 100px); }
  .empty-project-grid { grid-template-columns: 1fr; }
  .project-slot { min-height: 480px; }
  .project-fit-head, .career-values-head { grid-template-columns: 1fr; gap: 24px; }
  .career-mail-grid, .contact-brief-grid { grid-template-columns: 1fr; gap: 60px; }
  .dictionary-grid { grid-template-columns: 1fr; gap: 65px; }
  .dictionary-card { min-height: 500px; }
  .about-cta-inner { grid-template-columns: 1fr; gap: 32px; }
  .principle-grid { grid-template-columns: repeat(2, 1fr); }
  .method-flight { display: none; }
  .principle:nth-of-type(3) { border-right: 1px solid var(--dark-line); border-top: 0; }
  .principle:nth-of-type(4) { border-top: 0; }
}

@media (max-width: 680px) {
  :root { --shell: calc(100% - 28px); }
  body { font-size: 1rem; }
  .hero h1 { font-size: clamp(3.1rem, 15vw, 5rem); }
  .hero-lead { line-height: 1.9; }
  .hero-foot { display: none; }
  .hero-layout { padding-bottom: 70px; }
  .resonance-stage { width: min(88vw, 390px); }
  .stage-caption { font-size: .67rem; }
  .meaning, .b2b-section, .services, .projects-preview, .final-cta, .empty-project, .project-fit, .career-values, .career-mail, .contact-brief, .quick-contact, .dictionary, .about-cta { padding: 95px 0; }
  .section-intro { margin-bottom: 55px; }
  .principle-grid, .fit-grid { grid-template-columns: 1fr; }
  .principle { min-height: 300px; }
  .principle + .principle, .fit-grid article + article { border-right: 1px solid var(--dark-line); border-top: 0; }
  .principle-release + .principle { border-color: var(--dark-line); }
  .fit-grid article + article { border-right-color: var(--line); }
  .fit-grid article { min-height: 250px; }
  .service-rows article { grid-template-columns: 50px 1fr; gap: 18px; padding: 25px 0; }
  .service-rows article:hover { padding-inline: 12px; }
  .service-rows p { grid-column: 2; }
  .honest-card { padding: 28px; }
  .honest-card-number { margin-bottom: 45px; }
  .footer-top { flex-direction: column; align-items: flex-start; }
  .footer-bottom { grid-template-columns: 1fr; gap: 20px; }
  .footer-bottom > span:last-child { grid-column: auto; }
  .socials { margin-bottom: 8px; }
  .inner-hero h1, .contact-hero h1 { font-size: clamp(3rem, 13vw, 5rem); }
  .inner-hero { padding-bottom: 90px; }
  .project-slot { min-height: 390px; padding: 26px; }
  .value-grid, .contact-grid { grid-template-columns: 1fr; }
  .value-grid article { min-height: 230px; }
  .contact-details { padding: 65px 0 90px; }
  .contact-card { min-height: 185px; padding: 25px; }
  .contact-card i { top: 22px; left: 23px; }
  .contact-action { min-height: 150px; padding: 23px; grid-template-columns: 45px 1fr auto; }
  .contact-action-icon { width: 42px; height: 42px; }
  .dictionary-card { min-height: 420px; padding: 28px; }
  .dictionary-rings { width: 290px; }
  .brand-manifesto { padding: 28px 0; }
  .brand-manifesto-inner { min-height: 470px; padding: 28px; }
  .manifesto-wave { left: 4%; opacity: .35; }
  .footer-top strong { font-size: clamp(2.3rem, 11vw, 3.7rem); overflow-wrap: anywhere; }
}

@media (pointer: coarse) {
  .cursor-resonance { display: none; }
  [data-tilt] { transform: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .cursor-resonance { display: none; }
}

/* News, project entries, and the shared article template. */
.story-list { padding: 110px 0 135px; min-height: 420px; }
.story-list .section-index { margin-bottom: 34px; }
.story-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.story-card { min-width: 0; background: #fff; border: 1px solid var(--dark-line); transition: transform .3s ease, box-shadow .3s ease; }
.story-card:hover { transform: translateY(-6px); box-shadow: 0 22px 50px rgba(2,12,20,.12); }
.story-card a { display: block; height: 100%; }
.story-image { height: 250px; background: var(--navy-900); display: grid; place-items: center; overflow: hidden; }
.story-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.story-card:hover img { transform: scale(1.045); }
.story-glyph { color: var(--signal); font-size: 3rem; font-weight: 600; letter-spacing: -.06em; }
.story-info { padding: 26px; display: flex; flex-direction: column; min-height: 260px; }
.story-meta { font-size: .78rem; color: #667c85; }
.story-info h2 { margin: 17px 0 13px; font-size: 1.43rem; font-weight: 600; line-height: 1.45; }
.story-info p { color: #52636c; font-size: .94rem; line-height: 1.9; }
.story-read { margin-top: auto; color: var(--navy-800); font-size: .85rem; font-weight: 600; }
.story-read span { color: var(--signal); margin-inline-start: 7px; }
.news-empty { border: 1px solid var(--dark-line); padding: 75px 35px; text-align: center; }
.news-empty > span { display: block; color: var(--signal); font-size: 4rem; line-height: 1; }
.news-empty h2 { font-size: clamp(1.6rem, 3vw, 2.7rem); font-weight: 500; margin: 20px 0 11px; }
.news-empty p { color: #596c76; margin: 0; }
.article-hero { padding: calc(var(--header-h) + 105px) 0 115px; background: var(--navy-900); }
.article-hero .shell { max-width: 930px; }
.article-hero h1 { font-size: clamp(2.8rem, 6vw, 5.8rem); font-weight: 500; max-width: 900px; }
.article-summary { max-width: 720px; font-size: 1.16rem; color: rgba(255,255,255,.68); line-height: 2; }
.article-back { display: inline-block; margin-bottom: 55px; color: var(--signal-soft); font-size: .9rem; }
.article-back:hover { text-decoration: underline; }
.article-body { padding: 0 0 120px; min-height: 400px; }
.article-inner { max-width: 930px; }
.article-cover { width: 100%; max-height: 560px; object-fit: cover; transform: translateY(-60px); margin-bottom: -5px; }
.article-text { max-width: 760px; padding-top: 75px; font-size: 1.1rem; line-height: 2.25; }
.article-text p { margin: 0 0 30px; }
.article-end { color: var(--navy-700); margin: 60px 0 0; }
.honest-card h3 { font-size: clamp(1.7rem, 3vw, 2.5rem); font-weight: 500; margin-bottom: 18px; }
@media (max-width: 980px) { .story-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) {
  .story-list { padding: 80px 0; }
  .story-grid { grid-template-columns: 1fr; gap: 18px; }
  .story-info { min-height: 220px; }
  .article-hero { padding: calc(var(--header-h) + 85px) 0 90px; }
  .article-cover { transform: translateY(-35px); margin-bottom: 0; }
  .article-text { padding-top: 40px; font-size: 1rem; }
}
@font-face{font-family:Dana;src:url('/assets/fonts/Dana-Light.woff2') format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:Dana;src:url('/assets/fonts/Dana-ExtraBold.woff2') format('woff2');font-weight:800;font-display:swap}
@font-face{font-family:Dana;src:url('/assets/fonts/Dana-Black.woff2') format('woff2');font-weight:900;font-display:swap}
body,button,input,textarea,select{font-family:Dana,sans-serif}
.cms-field[style*="text-align:"]{display:inline-block;width:100%}
.cms-managed.cms-override-bg,.article-hero.cms-override-bg{background:var(--cms-bg)!important}
.cms-managed.cms-override-fg,.cms-managed.cms-override-fg h1,.cms-managed.cms-override-fg h2,.cms-managed.cms-override-fg h3,.cms-managed.cms-override-fg p,.cms-managed.cms-override-fg small,.cms-managed.cms-override-fg strong,.article-hero.cms-override-fg,.article-hero.cms-override-fg h1,.article-hero.cms-override-fg p{color:var(--cms-fg)!important}
.cms-block{padding:clamp(65px,8vw,125px) 0;background:var(--cms-bg,var(--navy-900));color:var(--cms-fg,var(--paper));}
.cms-block:nth-of-type(even){background:var(--cms-bg,var(--paper));color:var(--cms-fg,var(--navy-900))}
.cms-block-inner{display:grid;align-items:center;gap:clamp(30px,6vw,80px)}
.cms-block-split .cms-block-inner{grid-template-columns:1fr 1fr}
.cms-block-image{padding:0}
.cms-block-image .cms-block-inner{max-width:none;width:100%;padding:0}
.cms-block-image img{width:100%;max-height:650px;object-fit:cover}
.cms-block figure{margin:0;overflow:hidden}
.cms-block figure img{width:100%;max-height:590px;object-fit:cover;transition:transform .65s ease}
.cms-block figure:hover img{transform:scale(1.035)}
.cms-block h2{font-size:clamp(2rem,5vw,4.3rem);line-height:1.35;font-weight:500;max-width:850px}
.cms-block p{max-width:850px;line-height:2.1;opacity:.82}
.cms-block-quote h2{font-size:clamp(2.2rem,5vw,5.5rem);border-right:3px solid var(--signal);padding-right:25px}
.cms-block .button{margin-top:24px}
.article-inner>.cms-block{margin-inline:calc(-1 * max(0px, (100vw - 930px) / 2));padding-inline:clamp(20px,4vw,65px)}
.article-inner>.cms-block .shell{width:100%;max-width:760px}
.article-inner>.cms-block-image{margin-top:30px}
.article-hero .article-cover{transform:none;margin:38px 0 0;max-height:420px}
.article-inner>.article-cover:last-of-type{margin:35px 0 0;transform:none}
@media(max-width:680px){.cms-block-split .cms-block-inner{grid-template-columns:1fr}.article-inner>.cms-block{margin-inline:-14px;padding-inline:20px}}
.custom-page-title{padding-top:calc(var(--header-h) + 120px);padding-bottom:70px}

/* Managed header and footer stay on the Persian reading side. */
.site-header{background:var(--header-bg,var(--navy-900));color:var(--header-fg,#f2f5f4)}
.site-header.is-scrolled{background:var(--header-bg,var(--navy-900))}
.header-inner{direction:rtl;justify-content:flex-start;text-align:right}
.brand-crop{width:var(--header-logo-width,164px);height:min(62px,calc(var(--header-h) - 10px))}
.site-nav{flex:1;justify-content:flex-start;text-align:right}
.site-nav>a{color:var(--header-fg,#f2f5f4)}
.site-nav>a:not(.nav-cta)::after{background:var(--header-accent,var(--signal))}
.site-nav>a:hover,.site-nav>a.is-active{color:var(--header-accent,var(--signal))}
.site-nav .nav-cta{margin-inline-start:auto;color:var(--header-fg,#f2f5f4);border-color:currentColor}
.site-nav .nav-cta:hover{color:var(--header-bg,#061827);background:var(--header-fg,#f2f5f4)}
.header-announcement{min-height:28px;padding:2px 20px;text-align:center;font-size:13px;background:var(--header-accent,var(--signal));color:var(--header-bg,#061827)}
.site-header:has(.header-announcement) .header-inner{height:calc(100% - 28px)}
.site-footer{background:var(--footer-bg,var(--navy-950));color:var(--footer-fg,#f2f5f4);font-size:var(--footer-size,16px)}
.site-footer .footer-kicker{font-size:calc(var(--footer-size,16px) * .8)}
.site-footer .footer-bottom{font-size:calc(var(--footer-size,16px) * .77)}
.site-footer .footer-email{font-size:clamp(var(--footer-size,16px),2vw,calc(var(--footer-size,16px) * 1.35))}
.site-footer .footer-top strong{font-size:clamp(calc(var(--footer-size,16px) * 2.7),5.8vw,calc(var(--footer-size,16px) * 5.5))}
.footer-kicker,.footer-bottom{color:var(--footer-fg,#f2f5f4)}
.footer-email:hover,.footer-links a:hover{color:var(--footer-accent,var(--signal))}
.footer-brand-logo{width:145px;height:64px;object-fit:contain;object-position:right center;margin-bottom:16px}
.footer-contact{display:grid;gap:10px;justify-items:end}
.footer-links{display:flex;gap:18px;flex-wrap:wrap;padding-top:24px}
.story-image-placeholder{background:#f4f6f6;padding:24px}
.story-image-placeholder img.story-logo{width:min(75%,240px);height:min(80%,180px);object-fit:contain;filter:none}
.article-logo-placeholder{object-fit:contain!important;max-height:280px;background:#f2f5f4;padding:25px}
.cms-rich-table{display:table;max-width:100%;width:100%;border-collapse:collapse;margin:14px 0;font-weight:400;font-size:16px}
.cms-rich-row{display:table-row}
.cms-rich-cell,.cms-rich-cell-head{display:table-cell;border:1px solid currentColor;padding:8px 12px;vertical-align:top}
.cms-rich-cell-head{font-weight:700}
.cms-rich-paragraph,.cms-rich-list,.cms-rich-list-item{display:block}
.cms-rich-list-item{padding-inline-start:12px}
.article-text table,.cms-block-copy table{width:100%;border-collapse:collapse;margin:18px 0;display:table;max-width:100%}
.article-text td,.article-text th,.cms-block-copy td,.cms-block-copy th{border:1px solid currentColor;padding:10px}
@media(max-width:760px){.site-nav{flex-direction:column;align-items:stretch;justify-content:center;text-align:right;transform:translateX(105%);background:var(--header-bg,var(--navy-950))}.menu-open .site-nav{transform:translateX(0)}.site-nav .nav-cta{margin-inline-start:0}.menu-toggle{margin-inline-start:auto;color:var(--header-fg,#fff)}.footer-contact{justify-items:start}}
.custom-page-title h1{font-size:clamp(3rem,7vw,6rem);font-weight:500}
.cms-block-hero{min-height:60vh;padding-top:clamp(120px,14vw,190px);display:grid;align-items:center}
.cms-block-hero.has-image .cms-block-inner{grid-template-columns:1fr 1fr}
.cms-block-hero h2{font-size:clamp(3rem,7vw,6.5rem)}
@media(max-width:680px){.cms-block-hero.has-image .cms-block-inner{grid-template-columns:1fr}}
:is(.cms-managed,.cms-block,.article-hero)[style*="--cms-weight:"]{font-weight:var(--cms-weight)}
:is(.cms-managed,.cms-block,.article-hero)[style*="--cms-weight:"] :is(h1,h2,h3,p,strong,small,em){font-weight:var(--cms-weight)!important}
:is(.cms-managed,.cms-block,.article-hero)[style*="--cms-size:"]{font-size:var(--cms-size)}
:is(.cms-managed,.cms-block,.article-hero)[style*="--cms-size:"] :is(h1,h2,h3,p){font-size:var(--cms-size)!important}

/* Contact: one clear action, then compact alternatives. */
.contact-page .contact-hero{min-height:0;padding:calc(var(--header-h) + 48px) 0 58px;background:radial-gradient(circle at 16% 18%,rgba(35,85,112,.23),transparent 36%),var(--navy-900)}
.contact-page .contact-hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(240px,.65fr);gap:clamp(30px,5vw,90px);align-items:end}
.contact-page .contact-hero h1{max-width:730px;font-size:clamp(2.35rem,4.6vw,4.65rem);line-height:1.26;font-weight:500}
.contact-page .contact-lead{margin:0;padding:0;color:rgba(255,255,255,.72);font-size:1rem;line-height:1.95}
.contact-inquiry{background:var(--paper);color:var(--ink);padding:74px 0 82px;scroll-margin-top:calc(var(--header-h) + 8px)}
.inquiry-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(34px,7vw,110px);align-items:start}
.inquiry-copy{padding-top:14px}
.inquiry-copy .section-index{color:#596c78}
.inquiry-copy h2{max-width:530px;margin:21px 0 16px;font-size:clamp(2rem,3.35vw,3.5rem);line-height:1.36;font-weight:500}
.inquiry-copy>p:last-child{max-width:440px;color:#667982;margin:0;line-height:1.95}
.inquiry-pane{min-width:0}
.project-inquiry-form{position:relative;background:#fff;border:1px solid rgba(6,24,39,.13);padding:clamp(22px,3vw,38px);box-shadow:0 16px 44px rgba(6,24,39,.04)}
.project-inquiry-form::before{content:"";position:absolute;inset:0 auto auto 0;width:70px;height:2px;background:var(--signal);transition:width .4s ease}
.project-inquiry-form:focus-within::before{width:100%}
.inquiry-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 18px}
.inquiry-field{display:flex;flex-direction:column;gap:8px;min-width:0;color:#2b404e;font-size:.875rem;font-weight:500}
.inquiry-field.field-full{grid-column:1/-1}
.inquiry-field input,.inquiry-field textarea{display:block;width:100%;min-width:0;border:1px solid #cbd5d8;border-radius:0;background:#fff;color:var(--ink);padding:11px 13px;font-size:1rem;font-weight:400;line-height:1.7;transition:border-color .2s,box-shadow .2s}
.inquiry-field input{height:48px}
.inquiry-field textarea{resize:vertical;min-height:128px}
.inquiry-field input:hover,.inquiry-field textarea:hover{border-color:#8aa0a9}
.inquiry-field input:focus,.inquiry-field textarea:focus{outline:0;border-color:var(--signal);box-shadow:0 0 0 3px rgba(255,103,56,.12)}
.inquiry-field input[dir=ltr]{text-align:left}
.inquiry-field textarea::placeholder{color:#768993;opacity:1}
.phone-status{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:20px;color:#6c7e87;font-size:.76rem;font-weight:400;line-height:1.55}
.phone-status small{font:inherit}
.phone-status [data-phone-count]{white-space:nowrap;font-variant-numeric:tabular-nums}
.phone-field.is-complete .phone-status{color:#277054}
.phone-field.is-complete [data-phone-hint]::before{content:"✓ ";font-weight:700}
.phone-field.has-error .phone-status{color:#9b3d32}
.phone-field.has-error input{border-color:#c7685c;box-shadow:0 0 0 3px rgba(199,104,92,.1)}
.inquiry-submit{border:0;margin-top:24px;min-width:180px;cursor:pointer;display:inline-flex;justify-content:space-between;gap:24px}
.inquiry-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.inquiry-feedback{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:14px 17px;border:1px solid #adc7bd;background:#edf6f1;color:#185038;font-size:.93rem;line-height:1.9}
.inquiry-feedback.is-error{border-color:#dfbdb6;background:#fff3f0;color:#84362b}
.inquiry-feedback>span{font-size:1.2rem}
.contact-page .contact-details{padding:47px 0 60px}
.contact-details-title{font-size:1.05rem;font-weight:500;margin:0 0 23px;color:#425763}
.contact-page .contact-grid{grid-template-columns:repeat(4,minmax(0,1fr));border:0;gap:12px}
.contact-page .contact-card{min-height:120px;padding:19px 18px;display:grid;grid-template-columns:22px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:11px;row-gap:7px;border:1px solid rgba(6,24,39,.12);background:#fff;transition:background .25s,color .25s,border-color .25s,transform .25s}
.contact-page a.contact-card:hover{transform:translateY(-3px);border-color:var(--navy-900)}
.contact-page .contact-card i{position:static;grid-column:1;grid-row:1/3;border:0;width:21px;height:21px;color:var(--signal);align-self:start}
.contact-page .contact-card-icon svg{width:19px;height:19px}
.contact-page .contact-card>span{grid-column:2;grid-row:1;font-size:.875rem;color:#667982}
.contact-page .contact-card strong{grid-column:2;grid-row:2;max-width:100%;font-size:clamp(.92rem,1vw,1rem);line-height:1.6;font-weight:500;min-width:0;overflow-wrap:anywhere;margin:0}
.contact-page a.contact-card:hover>span{color:rgba(255,255,255,.7)}
@media(max-width:1050px){.contact-page .contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.contact-page .contact-hero{padding:calc(var(--header-h) + 35px) 0 42px}.contact-page .contact-hero-grid,.inquiry-grid{grid-template-columns:1fr;gap:22px}.contact-inquiry{padding:48px 0 60px}.inquiry-copy{padding:0}.inquiry-copy h2{margin:10px 0;font-size:clamp(1.85rem,7vw,2.8rem)}.contact-page .contact-details{padding:39px 0 50px}}
@media(max-width:560px){.contact-page .contact-grid{grid-template-columns:1fr}.contact-page .contact-card{min-height:78px}.inquiry-fields{grid-template-columns:1fr}.inquiry-field.field-full{grid-column:auto}.project-inquiry-form{padding:21px}.inquiry-submit{width:100%}}
