:root {
  --bg: #0a0808;
  --surface: #14100f;
  --ink: #fffaf6;
  --muted: #c5b8b1;
  --powder: #e8cfca;
  --cream: #f8f0eb;
  --dark-ink: #211714;
  --rose: #c98267;
  --rose-light: #edb69f;
  --line: rgba(237,182,159,.22);
  --dark-line: rgba(58,33,25,.18);
  --max: 1180px;
  --header: 74px;
}

* { box-sizing: border-box; }
html, body { width: 100%; max-width: 100%; overflow-x: hidden; }
html { scroll-behavior: smooth; background: var(--bg); }
body { position: relative; margin: 0; color: var(--ink); background: var(--bg); font-family: "Heebo", Arial, sans-serif; font-size: 17px; font-weight: 400; line-height: 1.65; }
main { position: relative; width: 100%; max-width: 100%; overflow-x: hidden; }
@supports (overflow: clip) {
  html, body, main { overflow-x: clip; }
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; width: 100%; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
.mobile-sentence-break { display: none; }
::selection { color: var(--dark-ink); background: var(--rose-light); }

.grain { position: fixed; inset: 0; z-index: 100; opacity: .025; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E"); }

.site-header { position: fixed; inset: 0 0 auto; z-index: 50; height: var(--header); display: flex; align-items: center; justify-content: space-between; padding: 0 max(24px, calc((100vw - var(--max))/2)); border-bottom: 1px solid transparent; transition: .3s ease; }
.site-header.scrolled { height: 64px; border-color: var(--line); background: rgba(10,8,8,.9); backdrop-filter: blur(18px); }
.brand { display: inline-flex; align-items: center; direction: ltr; }
.brand-mark { width: 56px; height: 56px; object-fit: contain; border-radius: 50%; }
.footer-brand .brand-mark { width: 104px; height: 104px; }
.main-nav { display: flex; align-items: center; gap: 28px; font-size: 14px; font-weight: 500; }
.main-nav a { color: #e4d8d2; transition: color .2s ease; }
.main-nav a:hover { color: var(--rose-light); }
.nav-cta { padding: 9px 18px; border: 1px solid var(--line); border-radius: 999px; }
.nav-cta:hover { color: var(--dark-ink) !important; background: var(--rose-light); }
.menu-button { display: none; }

.hero { width: min(var(--max), calc(100% - 48px)); margin: 0 auto; padding: calc(var(--header) + 20px) 0 76px; }
.hero-stage { position: relative; min-height: min(76svh,760px); display: grid; place-items: center; isolation: isolate; }
.hero-stage::before { content: ""; position: absolute; z-index: -3; inset: 5% 8% 0; background: radial-gradient(circle at 50% 48%,rgba(201,130,103,.18),transparent 62%); filter: blur(18px); }
.hero-stage::after { content: ""; position: absolute; z-index: -2; left: 50%; bottom: 7%; width: min(760px,72vw); height: 1px; transform: translateX(-50%); background: linear-gradient(90deg,transparent,var(--rose),transparent); }
.hero-arch { position: absolute; z-index: -1; top: 36px; bottom: 36px; left: 50%; width: min(520px,46vw); overflow: hidden; transform: translateX(-50%); border: 1px solid rgba(237,182,159,.58); border-radius: 50% 50% 4px 4px / 40% 40% 4px 4px; box-shadow: 0 34px 90px rgba(0,0,0,.4),inset 0 0 0 8px rgba(10,8,8,.18); }
.hero-arch::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(10,8,8,.02) 42%,rgba(10,8,8,.83) 100%),linear-gradient(90deg,rgba(10,8,8,.23),transparent 32%,transparent 68%,rgba(10,8,8,.23)); }
.hero-arch img { height: 100%; object-fit: cover; object-position: 50% 18%; filter: saturate(.82) contrast(1.04); }
.hero-ring { position: absolute; z-index: -2; top: 19px; bottom: 18px; left: 50%; width: min(556px,50vw); transform: translateX(-50%); border: 1px solid rgba(201,130,103,.28); border-radius: 50% 50% 4px 4px / 40% 40% 4px 4px; }
.hero-copy { max-width: 820px; margin: 8px auto 0; text-align: center; }
.eyebrow, .kicker { margin: 0 0 16px; color: var(--rose); font: 600 11px/1.3 "Manrope",Arial,sans-serif; letter-spacing: .2em; direction: ltr; }
.hero-stage .eyebrow { position: absolute; z-index: 4; top: 0; left: 50%; margin: 0; transform: translateX(-50%); white-space: nowrap; }
h1,h2,h3,p { margin-top: 0; }
h1 { position: absolute; z-index: 3; right: 0; bottom: 72px; left: 0; max-width: 1100px; margin: 0 auto; text-align: center; font-size: clamp(54px,7.2vw,92px); font-weight: 600; line-height: .92; letter-spacing: -.055em; text-shadow: 0 8px 28px rgba(0,0,0,.66); }
h1 span { display: block; }
.hero-title-first { color: var(--ink); }
.hero-title-second { margin-top: 9px; color: var(--rose-light); font-weight: 400; }
h2 span { color: var(--rose-light); font-weight: 400; }
.hero-fact { position: absolute; z-index: 4; right: max(0px,calc(50% - 345px)); bottom: 24px; display: flex; align-items: center; gap: 10px; padding: 9px 14px; text-align: right; color: var(--ink); background: rgba(10,8,8,.72); border: 1px solid var(--line); backdrop-filter: blur(12px); }
.hero-fact b { color: var(--rose-light); font: 600 26px/1 "Manrope",Arial,sans-serif; }
.hero-fact span { font-size: 11px; line-height: 1.22; }
.hello { margin-bottom: 5px; color: var(--rose-light); font-size: 20px; font-weight: 600; }
.hero-lead { max-width: 620px; margin: 0 auto 15px; color: #eee3dd; font-size: clamp(18px,1.7vw,21px); line-height: 1.55; }
.hero-focus { max-width: 650px; margin: 0 auto 15px; color: #e4d7d0; font-size: 17px; line-height: 1.55; }
.hero-focus strong { display: inline-block; margin-top: 4px; color: var(--rose-light); font-size: clamp(20px,2vw,27px); font-weight: 600; }
.hero-support { max-width: 640px; margin: 0 auto; color: var(--muted); font-size: 16px; }
.hero-actions { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 24px; margin-top: 29px; }
.button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; padding: 12px 25px; border: 1px solid transparent; border-radius: 999px; font-size: 15px; font-weight: 600; transition: transform .22s ease,background .22s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: #1d110d; background: linear-gradient(120deg,var(--rose-light),#ca8165); box-shadow: 0 16px 38px rgba(164,82,51,.18); }
.button-primary:hover { background: #f3c5b2; }
.text-link { padding-bottom: 2px; color: #e7dad4; border-bottom: 1px solid var(--rose); font-weight: 500; }

.section { width: min(var(--max), calc(100% - 48px)); margin: 0 auto; padding: clamp(88px,9vw,128px) 0; }
.light-section { width: 100%; max-width: none; padding-inline: max(24px, calc((100vw - var(--max))/2)); color: var(--dark-ink); background: var(--powder); }
.center-head { max-width: 850px; margin: 0 auto 52px; text-align: center; }
.center-head h2 { margin-bottom: 22px; }
.center-head > p:last-child { max-width: 710px; margin: 0 auto; color: inherit; opacity: .72; font-size: 18px; }
h2 { margin-bottom: 0; font-size: clamp(42px,5.1vw,68px); font-weight: 500; line-height: 1.08; letter-spacing: -.042em; }
.light-section .kicker { color: #7c402e; }
.light-section h2 span { color: #7c402e; }

.case-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.case-card { min-height: 355px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: clamp(34px,4.5vw,58px); text-align: center; color: var(--ink); background: linear-gradient(145deg,#181110,#090707); }
.case-card-pizza { background: linear-gradient(145deg,#4a291f,#130d0b 70%); }
.case-label { margin-bottom: 18px; color: var(--rose-light); font: 600 11px/1.3 "Manrope",Arial,sans-serif; letter-spacing: .18em; direction: ltr; }
.case-card h3 { max-width: 480px; margin-bottom: 17px; font-size: clamp(31px,3.2vw,44px); font-weight: 500; line-height: 1.08; letter-spacing: -.035em; }
.case-card > p:not(.case-label) { max-width: 520px; margin-bottom: 0; color: var(--muted); }
.case-label.local { direction: rtl; letter-spacing: .04em; font-family: "Heebo",Arial,sans-serif; }
.case-points { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 24px; }
.case-points span { padding: 7px 12px; color: #eadfd9; border: 1px solid var(--line); border-radius: 999px; font-size: 13px; }

.impact-panel { position: relative; overflow: hidden; margin-top: 16px; display: grid; grid-template-columns: .78fr 1.22fr; align-items: stretch; color: var(--ink); border: 1px solid rgba(33,23,20,.14); background: linear-gradient(125deg,#15100f 0%,#2d1914 62%,#71412f 150%); box-shadow: 0 22px 55px rgba(65,34,26,.13); }
.impact-panel::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(115deg,transparent 50%,rgba(237,182,159,.1)); }
.impact-copy { position: relative; z-index: 1; padding: 34px clamp(26px,4vw,48px); display: flex; flex-direction: column; justify-content: center; text-align: right; border-left: 1px solid var(--line); }
.impact-copy .kicker { margin-bottom: 10px; color: var(--rose-light); }
.impact-copy h3 { margin: 0 0 12px; font-size: clamp(30px,3.3vw,43px); font-weight: 500; line-height: 1.05; letter-spacing: -.035em; }
.impact-copy h3 span { color: var(--rose-light); font-weight: 400; }
.impact-copy > p:last-child { max-width: 430px; margin: 0; color: var(--muted); font-size: 14px; }
.impact-metrics { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr 1fr 1fr; }
.impact-metric { min-height: 210px; padding: 30px 22px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; border-left: 1px solid var(--line); }
.impact-metric:last-child { border-left: 0; }
.impact-metric b { margin-bottom: 14px; color: var(--rose-light); font: 500 42px/1 "Manrope",Arial,sans-serif; }
.impact-metric > span { color: #fff6f1; font-size: 18px; font-weight: 600; line-height: 1.25; }
.impact-metric small { max-width: 180px; margin-top: 7px; color: var(--muted); font-size: 13px; line-height: 1.45; }
.impact-metric-primary strong { color: var(--rose-light); font: 600 clamp(48px,5.2vw,72px)/.9 "Manrope",Arial,sans-serif; }
.impact-metric-primary span { margin-top: 12px; }

.video-showcase { margin-top: 58px; color: var(--dark-ink); }
.video-showcase-head { max-width: 920px; margin: 0 auto 25px; display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.video-showcase-head .kicker { margin-bottom: 8px; color: #8f4e37; }
.video-showcase-head h3 { margin: 0 0 6px; font-size: clamp(32px,4vw,48px); font-weight: 500; line-height: 1.05; }
.video-showcase-head p:last-child { margin: 0; color: rgba(33,23,20,.64); }
.video-toggle { flex: 0 0 auto; padding: 9px 15px; color: #754331; border: 1px solid var(--dark-line); border-radius: 999px; background: rgba(255,255,255,.3); font: 600 13px/1.2 "Heebo",Arial,sans-serif; cursor: pointer; }
.video-runner { width: 100%; max-width: 100%; overflow: hidden; direction: ltr; contain: paint; }
.video-track { width: max-content; display: flex; animation: videoRunner 42s linear infinite; }
.video-group { display: flex; flex-shrink: 0; gap: 14px; padding-left: 14px; }
.video-group[aria-hidden="true"] { pointer-events: none; }
.video-card { position: relative; width: 208px; aspect-ratio: 9/16; flex: 0 0 auto; overflow: hidden; padding: 0; color: var(--ink); border: 1px solid rgba(73,45,35,.26); border-radius: 28px; background: #0b0807; box-shadow: 0 16px 38px rgba(73,45,35,.15); cursor: pointer; }
.video-card::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent,rgba(5,3,3,.9)); pointer-events: none; }
.video-card video,.video-card img { width: 100%; height: 100%; object-fit: cover; }
.video-card > span { position: absolute; z-index: 2; right: 18px; bottom: 18px; left: 18px; text-align: right; font-size: 18px; font-weight: 600; line-height: 1.15; }
.video-card small { color: #e8b29b; font-size: 12px; font-weight: 500; }
.video-runner:hover .video-track,.video-runner:focus-within .video-track,.video-runner.is-paused .video-track { animation-play-state: paused; }
@keyframes videoRunner { to { transform: translateX(-50%); } }

.video-dialog { width: min(92vw,470px); max-height: 94vh; padding: 0; color: var(--ink); border: 1px solid var(--line); border-radius: 26px; background: #0a0808; box-shadow: 0 40px 120px rgba(0,0,0,.7); }
.video-dialog::backdrop { background: rgba(4,3,3,.84); backdrop-filter: blur(10px); }
.video-dialog-inner { position: relative; padding: 14px; }
.video-dialog video { width: 100%; max-height: 78vh; display: block; aspect-ratio: 9/16; object-fit: contain; border-radius: 18px; background: #000; }
.video-dialog p { margin: 12px 44px 3px 8px; text-align: center; color: var(--rose-light); font-size: 16px; }
.video-close { position: absolute; z-index: 3; top: 22px; right: 22px; width: 38px; height: 38px; display: grid; place-items: center; padding: 0; color: #fff; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; background: rgba(0,0,0,.7); font-size: 26px; line-height: 1; cursor: pointer; }

.brand-showcase { margin-top: 50px; }
.brand-showcase > p { margin-bottom: 16px; text-align: center; color: rgba(33,23,20,.65); font-size: 14px; font-weight: 600; }
.brand-runner { width: 100%; max-width: 100%; overflow: hidden; border-block: 1px solid var(--dark-line); direction: ltr; background: rgba(255,250,246,.32); contain: paint; }
.runner-track { width: max-content; display: flex; animation: runner 32s linear infinite; }
.runner-group { display: flex; flex-shrink: 0; }
.runner-group span { min-width: 180px; height: 118px; display: grid; place-items: center; padding: 15px 24px; border-right: 1px solid var(--dark-line); }
.runner-group img { width: 130px; height: 82px; object-fit: contain; mix-blend-mode: multiply; }
.brand-runner:hover .runner-track { animation-play-state: paused; }
@keyframes runner { to { transform: translateX(-50%); } }

.method { border-bottom: 1px solid var(--line); }
.method-grid { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--line); }
.method-card { min-height: 235px; padding: 28px 26px; text-align: center; border-left: 1px solid var(--line); background: linear-gradient(160deg,rgba(237,182,159,.07),transparent 70%); }
.method-card:last-child { border-left: 0; }
.method-card > span { color: var(--rose); font: 500 16px/1 "Manrope",Arial,sans-serif; }
.method-card h3 { margin: 48px 0 12px; font-size: 27px; font-weight: 500; }
.method-card p { margin: 0; color: var(--muted); font-size: 15px; }
.method-principle { max-width: 800px; margin: 35px auto 0; text-align: center; color: var(--rose-light); font-size: clamp(21px,2.4vw,29px); font-weight: 500; line-height: 1.4; }

.services { width: 100%; max-width: none; padding-inline: max(24px,calc((100vw - var(--max))/2)); color: var(--dark-ink); background: radial-gradient(circle at 12% 16%,rgba(255,255,255,.72),transparent 30%),linear-gradient(145deg,#f8efeb 0%,var(--powder) 72%,#dcae9e 145%); scroll-margin-top: 64px; }
.services .kicker { color: #7c402e; }
.services h2 { text-wrap: balance; }
.services h2 span { color: #7c402e; }
.service-list { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--dark-line); background: rgba(255,255,255,.18); }
.service-item { min-height: 360px; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 24px; padding: 34px 28px; text-align: center; border-left: 1px solid var(--dark-line); transition: background .22s ease,transform .22s ease; }
.service-item:last-child { border-left: 0; }
.service-item:hover { transform: translateY(-4px); background: rgba(255,255,255,.34); }
.service-item > span { color: #8f4e37; font: 600 18px/1 "Manrope",Arial,sans-serif; }
.service-item h3 { margin: 0 0 12px; font-size: clamp(26px,2.5vw,34px); font-weight: 600; line-height: 1.15; }
.service-item p { max-width: 330px; margin: 0 auto; color: rgba(33,23,20,.72); font-size: 16px; }
.service-tags { margin: 24px 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; list-style: none; }
.service-tags li { padding: 6px 11px; color: #754331; border: 1px solid rgba(117,67,49,.22); border-radius: 999px; background: rgba(255,255,255,.28); font-size: 13px; font-weight: 500; }
.service-note { max-width: 820px; margin: 38px auto 0; padding: 28px 32px; display: flex; flex-direction: column; align-items: center; gap: 7px; text-align: center; color: var(--dark-ink); border: 1px solid var(--dark-line); background: rgba(255,255,255,.3); }
.service-note strong { color: #7c402e; font-size: 22px; }
.service-note span { max-width: 690px; color: rgba(33,23,20,.7); font-size: 16px; }
.service-note em { margin-top: 4px; color: rgba(33,23,20,.78); font-size: 14px; font-style: normal; font-weight: 500; }
.service-note .button { min-width: 230px; margin-top: 15px; }

.ai-master { display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: clamp(48px,7vw,90px); padding-block: clamp(72px,7vw,92px); border-top: 1px solid var(--line); }
.ai-master-image { position: relative; overflow: hidden; border-radius: 44% 44% 12px 12px / 24% 24% 12px 12px; }
.ai-master-image img { width: 100%; height: auto; object-fit: contain; filter: saturate(.88) contrast(1.04) sepia(.05); box-shadow: 0 32px 90px rgba(0,0,0,.36); }
.ai-master-image::before { content: ""; position: absolute; z-index: 1; inset: 34% 0 0; background: linear-gradient(180deg,transparent,rgba(6,4,5,.94)); pointer-events: none; }
.ai-master-image::after { content: ""; position: absolute; z-index: 3; inset: 0; box-shadow: inset 0 0 0 1px var(--line); pointer-events: none; }
.ai-master-heading { position: absolute; z-index: 2; right: clamp(24px,4vw,46px); bottom: clamp(28px,4vw,50px); left: clamp(24px,4vw,46px); text-align: right; text-shadow: 0 5px 24px rgba(0,0,0,.78); }
.ai-master-heading .kicker { margin-bottom: 11px; color: #f0baa4; }
.ai-master-heading h2 { margin: 0; color: var(--ink); font-size: clamp(37px,4.3vw,58px); }
.ai-master-heading h2 span { color: #f0b29a; }
.ai-master-lead { max-width: 640px; margin-bottom: 25px; color: #eadfd9; font-size: 19px; }
.ai-pillars { border-top: 1px solid var(--line); }
.ai-pillars div { display: grid; grid-template-columns: 110px 1fr; gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.ai-pillars strong { color: var(--rose-light); font-size: 18px; font-weight: 600; }
.ai-pillars span { color: var(--muted); font-size: 15px; }
.ai-master-close { margin: 25px 0 0; color: var(--rose-light); font-size: 20px; font-weight: 500; line-height: 1.45; }
blockquote { margin: 32px 0 0; padding-right: 20px; color: var(--rose-light); border-right: 2px solid var(--rose); font-size: clamp(28px,3vw,42px); font-weight: 500; line-height: 1.12; }

.testimonial-section { padding: 48px 24px; color: var(--dark-ink); background: var(--powder); }
.testimonial { position: relative; max-width: 780px; margin: 0 auto; padding: 28px 32px; text-align: center; border-right: 2px solid #a95f45; background: rgba(255,255,255,.26); }
.quote-mark { position: absolute; top: 8px; left: 24px; color: rgba(143,78,55,.12); font: 300 82px/1 Georgia,serif; }
.testimonial > p { max-width: 690px; margin: 0 auto; color: rgba(33,23,20,.74); font-size: 15px; line-height: 1.75; }
.testimonial footer { margin-top: 15px; display: flex; flex-direction: column; align-items: center; gap: 1px; text-align: center; }
.testimonial footer strong { color: #7c402e; font-size: 16px; }
.testimonial footer span { color: rgba(33,23,20,.52); font-size: 13px; }

.final-cta { min-height: 62vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 82px 24px; text-align: center; color: var(--dark-ink); background: radial-gradient(circle at 18% 18%,rgba(255,255,255,.72),transparent 34%),linear-gradient(145deg,#f6e9e5 0%,var(--powder) 62%,#d8a899 145%); }
.final-slogan { margin-bottom: 20px; color: #8a4b35; font-size: 15px; font-weight: 600; line-height: 1.4; }
.final-cta h2 { max-width: 950px; }
.final-cta h2 span { color: #8d4c35; }
.final-cta > p:not(.final-slogan) { max-width: 750px; margin: 28px 0 30px; color: rgba(33,23,20,.72); font-size: 18px; }
.final-cta .button { min-width: 260px; }
.final-button { min-width: 290px !important; font-size: 17px; box-shadow: 0 18px 45px rgba(164,82,51,.28); }
.final-cta > small { max-width: 560px; margin-top: 18px; color: rgba(33,23,20,.58); font-size: 13px; }
.mobile-cta { display: none; }
.site-footer { width: min(var(--max),calc(100% - 48px)); min-height: 145px; margin: 0 auto; display: grid; grid-template-columns: 1fr auto auto auto; align-items: center; gap: 42px; color: #91847e; font-size: 13px; }
.social-links { display: flex; gap: 19px; direction: ltr; }
.social-links a:hover { color: var(--rose-light); }

.reveal { opacity: 0; transform: translateY(20px); transition: opacity .68s ease,transform .68s cubic-bezier(.2,.7,.2,1); }
.reveal-delay { transition-delay: .12s; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important} .reveal{opacity:1;transform:none} .runner-track,.video-track{animation:none} }

@media (max-width:980px) {
  :root { --header:68px; }
  .site-header { padding-inline:20px; }
  .menu-button { display:flex; flex-direction:column; gap:7px; width:44px; height:44px; align-items:center; justify-content:center; border:0; border-radius:50%; background:rgba(255,255,255,.06); }
  .menu-button span { width:19px; height:1px; background:var(--ink); transition:.25s ease; }
  .menu-button[aria-expanded="true"] span:first-child { transform:translateY(4px) rotate(45deg); }
  .menu-button[aria-expanded="true"] span:last-child { transform:translateY(-4px) rotate(-45deg); }
  .main-nav { position:fixed; inset:64px 0 0; display:flex; flex-direction:column; justify-content:center; gap:25px; background:rgba(10,8,8,.985); font-size:22px; opacity:0; visibility:hidden; transform:translateY(-9px); transition:.25s ease; }
  .main-nav.open { opacity:1; visibility:visible; transform:none; }
  .hero { padding-top:96px; }
  .hero-stage { min-height:700px; }
  .hero-arch { width:min(500px,62vw); }
  .hero-ring { width:min(536px,67vw); }
  .case-grid { grid-template-columns:1fr; }
  .case-card { min-height:300px; }
  .impact-panel { grid-template-columns:1fr; }
  .impact-copy { text-align:center; border-left:0; border-bottom:1px solid var(--line); }
  .ai-master { grid-template-columns:1fr; }
  .ai-master-image { width:min(100%,620px); margin-inline:auto; }
  .site-footer { grid-template-columns:1fr 1fr; padding:42px 0 78px; }
}

@media (max-width:640px) {
  body { font-size:16px; padding-bottom:66px; }
  .mobile-sentence-break { display:block; }
  .hero,.section,.site-footer { width:calc(100% - 32px); }
  .light-section { width:100%; padding-inline:16px; }
  h1 { right:6px; left:6px; bottom:52px; width:auto; max-width:calc(100% - 12px); padding-inline:2px; font-size:clamp(33px,9.6vw,42px); line-height:1; letter-spacing:-.035em; }
  h1 span { max-width:100%; text-wrap:balance; }
  h2 { font-size:clamp(36px,10vw,48px); }
  .hero { padding-top:86px; padding-bottom:58px; }
  .hero-stage { min-height:550px; }
  .hero-stage::before { inset:4% -8% 0; }
  .hero-stage::after { bottom:4%; width:94%; }
  .hero-arch { top:31px; bottom:30px; width:min(360px,88vw); border-radius:50% 50% 4px 4px / 34% 34% 4px 4px; }
  .hero-ring { top:17px; bottom:16px; width:min(382px,94vw); border-radius:50% 50% 4px 4px / 34% 34% 4px 4px; }
  .hero-stage .eyebrow { font-size:10px; }
  .hero-title-second { margin-top:7px; }
  .hero-fact { right:4px; bottom:4px; padding:8px 10px; }
  .hero-fact b { font-size:22px; }
  .hero-copy { margin-top:20px; }
  .hero-support { font-size:15px; }
  .hero-focus { font-size:16px; }
  .hero-actions { flex-direction:column; gap:15px; }
  .hero-actions .button { width:100%; }
  .section { padding-block:64px; }
  .center-head { margin-bottom:37px; }
  .center-head > p:last-child { font-size:16px; }
  .case-grid { gap:12px; }
  .case-card { min-height:265px; padding:28px 20px; }
  .case-card h3 { font-size:30px; }
  .case-points { margin-top:20px; }
  .impact-panel { margin-top:12px; }
  .impact-copy { padding:28px 20px; }
  .impact-copy h3 { font-size:32px; }
  .impact-metrics { grid-template-columns:repeat(3,1fr); }
  .impact-metric { min-height:164px; padding:22px 10px; }
  .impact-metric b { margin-bottom:10px; font-size:34px; }
  .impact-metric > span { font-size:15px; }
  .impact-metric small { font-size:12px; }
  .impact-metric-primary strong { font-size:46px; }
  .impact-metric-primary span { margin-top:8px; }
  .video-showcase { margin-top:44px; }
  .video-showcase-head { flex-direction:column; align-items:center; gap:14px; margin-bottom:20px; text-align:center; }
  .video-showcase-head h3 { font-size:34px; }
  .video-card { width:172px; border-radius:22px; }
  .video-card > span { right:14px; bottom:15px; left:14px; font-size:16px; }
  .video-track { animation-duration:34s; }
  .runner-group span { min-width:155px; height:100px; padding:12px 18px; }
  .runner-group img { width:116px; height:72px; }
  .method-grid,.service-list { width:100%; max-width:100%; display:flex; overflow-x:auto; gap:12px; padding:0 0 9px; border:0; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; }
  .method-grid::-webkit-scrollbar,.service-list::-webkit-scrollbar { display:none; }
  .method-card,.service-item { flex:0 0 84%; scroll-snap-align:center; }
  .method-card { min-height:190px; border:1px solid var(--line); }
  .method-card:last-child { border-left:1px solid var(--line); }
  .method-card h3 { margin-top:34px; }
  .services { width:100%; padding-inline:16px; }
  .services .center-head h2 { font-size:clamp(34px,9vw,43px); }
  .service-item { min-height:190px; padding:24px 18px; border:1px solid var(--dark-line); }
  .service-item:last-child { border-left:1px solid var(--dark-line); }
  .service-item:hover { transform:none; }
  .service-note { padding:24px 20px; }
  .service-note em { font-size:13px; }
  .ai-master { gap:28px; padding-block:64px; }
  .ai-master-heading { right:16px; bottom:24px; left:16px; text-align:center; }
  .ai-master-heading h2 { max-width:100%; font-size:clamp(28px,8vw,36px); line-height:1.05; text-wrap:balance; }
  .ai-master-copy { text-align:center; }
  .ai-master-lead { font-size:17px; }
  .ai-pillars div { grid-template-columns:1fr; gap:3px; }
  .ai-pillars strong,.ai-pillars span { text-align:center; }
  .ai-master-close { font-size:18px; }
  .testimonial-section { padding:32px 16px; }
  .testimonial { padding:24px 22px; }
  .final-cta { min-height:66vh; padding:68px 18px; }
  .final-cta > p:not(.final-slogan) br { display:none; }
  .mobile-cta { position:fixed; z-index:60; right:12px; left:12px; bottom:10px; min-height:48px; display:flex; align-items:center; justify-content:center; color:var(--dark-ink); background:linear-gradient(120deg,var(--rose-light),#ca8165); border-radius:999px; font-weight:600; box-shadow:0 12px 30px rgba(0,0,0,.38); }
  .site-footer { grid-template-columns:1fr; justify-items:center; gap:20px; text-align:center; }
}

/* Approved portfolio additions */
.digital-projects { margin-top: 80px; }
.digital-projects-heading { text-align: center; padding: 24px 0 40px; }
.digital-projects-heading h2 { margin-bottom: 0; font-size: clamp(34px,5vw,64px); line-height: 1.18; font-weight: 500; letter-spacing: -.035em; }
.digital-project { overflow: hidden; }
.project-pizza { padding: 56px 40px 24px; background: #1c1310; color: #fffaf6; }
.project-main { display: grid; grid-template-columns: .78fr 1.5fr; gap: 36px; align-items: center; }
.project-copy { min-width: 0; }
.project-client { font-size: 17px; margin-bottom: 26px; }
.project-copy h3 { font-size: clamp(28px,3.4vw,45px); line-height: 1.2; font-weight: 600; letter-spacing: -.025em; margin-bottom: 24px; }
.project-copy > p:not(.project-client) { font-size: 18px; line-height: 1.7; }
.project-link { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 11px 26px; margin-top: 14px; border: 1px solid #c98267; border-radius: 99px; font-size: 16px; transition: background .2s,color .2s; }
.project-link:hover { background: #edb69f; color: #211714; }
.project-link:focus-visible,.project-screen:focus-visible { outline: 3px solid #c98267; outline-offset: 6px; }
.project-screen { display: block; overflow: hidden; border: 1px solid #8e7466; box-shadow: 0 20px 44px #0004; }
.pizza-screen { border-radius: 10px; }
.project-screen img { width: 100%; height: auto; }
.project-results { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 48px; text-align: center; }
.project-results > div { padding: 8px 12px; border-inline-end: 1px solid #91644f; }
.project-results > div:last-child { border: 0; }
.project-results strong { display: block; font-size: clamp(27px,4vw,48px); line-height: 1.25; color: #edb69f; font-weight: 600; }
.project-results span { display: block; margin-top: 8px; font-size: 17px; }
.results-source { text-align: center; margin: 24px 0 0; color: #d4bfb3; font-size: 14px; }
.project-skill { display: grid; grid-template-columns: 1fr 1.25fr; align-items: center; gap: 70px; padding: 64px; background: #f8eee7; color: #211714; }
.skill-screen { width: min(100%,300px); height: 520px; justify-self: center; border-radius: 16px; }
.skill-screen img { height: 100%; object-fit: cover; object-position: top; }
.project-skill .project-client { color: #82452f; }
.project-skill h3 span { font-weight: 400; }
.project-scope { color: #82452f; }
.client-voices-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.client-voice { margin: 0; padding: 32px; border-top: 1px solid #c98267; background: #17110f; display: flex; flex-direction: column; }
.client-voice blockquote { margin: 0 0 20px; font-size: 18px; line-height: 1.85; }
.client-voice blockquote p:last-child { margin-bottom: 0; }
.client-voice figcaption { margin-top: auto; color: #edb69f; font-weight: 600; font-size: 17px; }
@media(max-width: 850px) {
  .project-main { grid-template-columns: 1fr; gap: 28px; }
  .project-pizza { padding: 32px 24px 24px; }
  .project-copy h3 { font-size: 34px; }
  .project-skill { padding: 40px 28px; gap: 32px; grid-template-columns: .8fr 1fr; }
  .skill-screen { height: 440px; }
  .client-voices-grid { gap: 16px; }
  .client-voice { padding: 24px; }
}
@media(max-width: 580px) {
  .digital-projects { margin-top: 48px; }
  .digital-projects-heading { padding-bottom: 28px; }
  .project-pizza { padding: 28px 18px 22px; }
  .project-client { margin-bottom: 16px; }
  .project-copy h3 { font-size: 32px; }
  .project-copy > p:not(.project-client) { font-size: 16px; }
  .project-results { margin-top: 28px; }
  .project-results > div { padding: 4px 6px; }
  .project-results strong { font-size: 25px; }
  .project-results span { font-size: 14px; }
  .results-source { font-size: 13px; }
  .project-skill { display: flex; flex-direction: column-reverse; padding: 32px 22px; gap: 32px; }
  .skill-screen { width: 250px; height: 460px; }
  .client-voices-grid { grid-template-columns: 1fr; }
  .client-voice blockquote { font-size: 17px; }
}
