@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700;750&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root {
  --bg: #100b18;
  --bg-elevated: #171021;
  --surface: #1d1529;
  --surface-soft: #241b31;
  --line: rgba(239,222,249,.13);
  --line-bright: rgba(239,222,249,.27);
  --white: #f9f6fb;
  --muted: #c5bacc;
  --quiet: #a79bb3;
  --pink: #f07ebd;
  --peach: #ffafa0;
  --lilac: #baa4ff;
  --gradient: linear-gradient(112deg, #ffae98 4%, #f07fba 44%, #b8a4fb 88%);
  --font: 'DM Sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --display: 'Manrope', 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  --max: 1170px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body {
  position: relative;
  isolation: isolate;
  margin: 0;
  min-width: 320px;
  background-color: var(--bg);
  background-image:
    radial-gradient(ellipse 65% 460px at 100% 130px, rgba(167,122,202,.161), transparent 75%),
    radial-gradient(ellipse 45% 400px at 0% 720px, rgba(185,97,139,.1035), transparent 75%),
    radial-gradient(ellipse 55% 500px at 85% 1100px, rgba(184,134,115,.0805), transparent 75%);
  background-repeat: no-repeat;
  color: var(--white);
  font: 450 16px/1.65 var(--font);
  -webkit-font-smoothing: antialiased;
}
body:before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(ellipse 48% 48% at 76% 30%, rgba(186,164,255,.115), transparent 75%),
    radial-gradient(ellipse 42% 42% at 22% 74%, rgba(240,126,189,.0805), transparent 75%);
  opacity: .65;
}
body.menu-open { overflow:hidden; }
::selection { background: #ee91bf; color: #180f21; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
a:focus-visible,button:focus-visible { outline: 3px solid #f7a2ce; outline-offset: 5px; border-radius:4px; }
p,h1,h2,h3,h4,figure { margin:0; }
img { max-width:100%; display:block; }
main { min-height: calc(100vh - 80px); }
h1,h2,h3 { font-family:var(--display); letter-spacing:-.057em; line-height:1.11; font-weight:650; }
.shell { width:min(var(--max), calc(100% - 112px)); margin-inline:auto; }
.eyebrow,.small-label { font-size:12px; font-weight:700; letter-spacing:.165em; text-transform:uppercase; color:var(--quiet); }
.gradient-text { background:var(--gradient); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; }
.accent-period, .brand__period { color:var(--pink); }
.skip-link { position:fixed; top:-100px; left:18px; z-index:5000; color:#1a0d20; background:#fff; padding:11px 16px; border-radius:6px; font-weight:700; }
.skip-link:focus { top:15px; }

/* Global navigation — same five top-level destinations across all pages. */
.site-header { position:relative; z-index:110; background:rgba(16,11,24,.85); border-bottom:1px solid var(--line); }
.site-header__inner { width:min(1370px,calc(100% - 88px)); height:92px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.brand { display:inline-flex; align-items:center; gap:9px; font:800 19px/1 var(--display); letter-spacing:-.058em; }
.brand img { width:39px;height:39px;object-fit:contain; }
.desktop-nav { display:flex; align-items:center; gap:37px; }
.desktop-nav a { position:relative; font:600 13px/1.3 var(--font); color:#bdb0c8; transition:color .2s; }
.desktop-nav a:hover, .desktop-nav a[aria-current="page"] { color:var(--white); }
.desktop-nav a[aria-current="page"]:after { content:''; width:5px;height:5px;background:var(--pink);border-radius:100%;position:absolute;bottom:-15px;left:calc(50% - 2.5px); }
.menu-toggle { display:none; border:1px solid var(--line-bright); border-radius:50%; background:var(--bg-elevated); color:var(--white); width:46px;height:46px; cursor:pointer; justify-content:center; align-items:center; flex-direction:column; gap:6px; }
.menu-toggle span {display:block;width:19px;height:1.5px;background:currentColor;transition:transform .2s;}
.menu-open .menu-toggle span:first-child { transform:translateY(3.75px) rotate(45deg); }
.menu-open .menu-toggle span:last-child { transform:translateY(-3.75px) rotate(-45deg); }
.mobile-navigation { display:none; }

/* Home: short single-screen statement followed only by standard footer. */
.home-hero { min-height: min(920px,calc(100svh - 92px)); position:relative; overflow:hidden; display:flex; flex-direction:column; isolation:isolate; }
.home-hero__halo {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    radial-gradient(ellipse 34% 42% at 91% 18%, rgba(236,168,141,.23), transparent 80%),
    radial-gradient(ellipse 45% 56% at 76% 48%, rgba(190,105,151,.2875), transparent 78%),
    radial-gradient(ellipse 56% 52% at 98% 88%, rgba(143,116,201,.345), transparent 80%),
    radial-gradient(ellipse 45% 65% at 48% 4%, rgba(104,91,158,.1495), transparent 80%),
    linear-gradient(115deg, rgba(16,11,24,.72) 10%, transparent 65%);
}
.home-hero__halo:before {
  content: '';
  position: absolute;
  inset: -18% -12% 8% 42%;
  border-radius: 50%;
  background: linear-gradient(145deg, transparent 20%, rgba(184,164,251,.1035) 38%, rgba(240,127,186,.161) 52%, rgba(255,174,152,.115) 62%, transparent 78%);
  transform: rotate(-24deg);
  filter: blur(45px);
}
.home-hero__halo:after {
  content: '';
  position: absolute;
  width: 70%;
  height: 62%;
  right: -28%;
  top: 16%;
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(255,193,169,.138), rgba(221,157,200,.069) 40%, transparent 72%);
  transform: rotate(-28deg);
}
@keyframes ambient-drift {
  from { transform: translate3d(-1%,0,0) scale(.96); opacity: .45; }
  to { transform: translate3d(1%,1%,0) scale(.98); opacity: .85; }
}
@keyframes halo-ribbon-drift {
  from { transform: translate3d(0,0,0) rotate(-24deg) scale(1); opacity: .7; }
  to { transform: translate3d(-4%,6%,0) rotate(-14deg) scale(1.08); opacity: 1; }
}
@keyframes halo-warm-drift {
  from { transform: translate3d(0,0,0) rotate(-28deg) scale(1); opacity: .65; }
  to { transform: translate3d(-14%,10%,0) rotate(-18deg) scale(1.15); opacity: 1; }
}
@media(prefers-reduced-motion:no-preference) {
  body:before { animation: ambient-drift calc(38s / 1.15) ease-in-out calc(-12s / 1.15) infinite alternate; }
  .home-hero__halo:before { animation: halo-ribbon-drift calc(24s / 1.15) ease-in-out calc(-8s / 1.15) infinite alternate; }
  .home-hero__halo:after { animation: halo-warm-drift calc(32s / 1.15) ease-in-out calc(-18s / 1.15) infinite alternate; }
}
.home-hero__inner { position:relative; padding-top:clamp(105px,16vh,180px);padding-bottom:90px;flex:1; }
.home-hero__eyebrow { display:flex;align-items:center;gap:11px;color:#d6cadc;font-weight:650;font-size:12px;text-transform:uppercase;letter-spacing:.18em;margin-bottom:36px; }
.status-dot { width:7px;height:7px;flex:none;border-radius:50%;background:#ffa0c3;box-shadow:0 0 0 5px rgba(245,129,175,.12); }
.home-hero h1 { max-width:1080px;font-size:clamp(56px,7.8vw,113px);font-weight:650;letter-spacing:-.083em;line-height:1.065; }
.home-hero__description { max-width:645px;margin-top:36px;color:#d1c6d7;line-height:1.62;font-size:clamp(17px,1.72vw,22px);letter-spacing:-.02em; }
.home-hero__signature { margin-top:36px; display:flex;gap:18px;align-items:center;flex-wrap:wrap;color:#aaa0b6;font-size:13px;font-weight:600; }
.signature-dash { width:26px;height:1px;background:#675671; }
.hero-work-link { margin-top:58px;display:inline-flex;align-items:center;gap:14px;font-size:15px;font-weight:700; }
.hero-work-link__icon { display:grid;place-items:center;background:var(--gradient);width:50px;height:50px;color:#221225;border-radius:50%;font-size:24px;transition:transform .2s ease, box-shadow .2s; }
.hero-work-link:hover .hero-work-link__icon { transform:translate(3px,-3px);box-shadow:0 0 30px rgba(240,126,189,.19); }
.home-hero__bottom { padding-bottom:30px; display:flex;justify-content:space-between;align-items:center;gap:18px;color:#988aa5;font-size:12px;font-weight:600;letter-spacing:.01em; }
.home-hero__bottom a { color:var(--muted);transition:color .2s; }
.home-hero__bottom a:hover { color:var(--white); }

/* Interior page titles */
.page-intro { padding-top:120px;padding-bottom:76px; }
.page-intro h1 {margin-top:17px;font-size:clamp(70px,9.5vw,140px);letter-spacing:-.075em;font-weight:650;}
.intro-subtitle {margin-top:31px;color:#d2c7d8;font-size:clamp(22px,2.5vw,31px);font-family:var(--display);font-weight:550;letter-spacing:-.04em;}

/* Work = sequential large image, project meta, heading, single-paragraph summary. */
.work-list {display:flex;flex-direction:column;gap:112px;padding-bottom:160px;}
.project-card {min-width:0;}
.project-media {min-height:490px; height:clamp(390px,42vw,600px); border:1px solid rgba(255,255,255,.13);border-radius:18px;display:block;position:relative;overflow:hidden;isolation:isolate;transition:border-color .3s, transform .4s; }
.project-media:hover {transform:translateY(-4px);border-color:rgba(255,212,244,.44);}
.project-media--kohra {background:radial-gradient(ellipse at 50% 65%,#526755 0%,#283b32 45%,#17251f 100%);}
.project-media.project-media--kohra {height:auto;min-height:0;padding:0;}
.project-media--kohra .project-media__top {text-shadow:0 1px 6px rgba(0,0,0,.8);}
.kohra-cover__image {display:block;width:100%;height:auto;object-fit:contain;}
.kohra-cover {margin-top:55px;}
.kohra-cover:hover {transform:none;border-color:rgba(255,255,255,.13);}
.project-media--rita {background:radial-gradient(ellipse at 48% 55%,#6f4c8e 5%,#442b60 54%,#291c3b 100%);}
.project-media.project-media--rita {height:auto;min-height:0;padding:0;background:#0c110e;}
.project-media--rita .project-media__top {text-shadow:0 1px 6px rgba(0,0,0,.8);}
.rita-cover {margin-top:55px;border:1px solid var(--line-bright);border-radius:16px;overflow:hidden;background:#0c110e;}
.rita-cover>a {display:block;}
.rita-cover__image {display:block;width:100%;height:auto;}
.project-media--sound {background:radial-gradient(ellipse at 50% 40%,#6e4a7f,#32223d 68%,#20182d);}
.media-glow {position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 60% 90%,rgba(245,130,173,.26),transparent 48%);}
.project-media__top {position:absolute;z-index:5;top:28px;left:34px;right:34px;display:flex;justify-content:space-between;gap:15px;color:#f4e9f4;font-size:11px;font-weight:750;letter-spacing:.15em;}
.media-arrow {position:absolute;display:grid;place-items:center;width:44px;height:44px;right:27px;bottom:27px;border:1px solid rgba(255,255,255,.4);background:rgba(20,11,28,.25);color:white;border-radius:50%;font-size:22px;transition:background .2s,transform .2s;}
.project-media:hover .media-arrow {background:rgba(255,255,255,.18);transform:translate(2px,-2px);}
.phone-wrap {height:100%;display:flex;gap:35px;justify-content:center;align-items:flex-end;padding-top:95px;transform:translateY(50px) rotate(-5deg);filter:drop-shadow(0 14px 26px rgba(0,0,0,.25));}
.phone {width:clamp(170px,24%,280px);height:105%;background:#f8f5ef;border-radius:30px 30px 0 0;padding:8px;overflow:hidden;border:6px solid #1f2221;box-shadow:0 0 0 2px rgba(255,255,255,.22);}
.phone img {width:100%;height:100%;object-fit:cover;object-position:top;}
.phone--right {width:clamp(165px,22%,257px);height:95%;transform:translateY(42px) rotate(10deg);}
.project-info {padding-top:26px;}
.project-info__meta {display:flex;gap:20px;justify-content:space-between;color:#b9adbf;font-size:13px;font-weight:600;margin-bottom:10px;}
.project-info__meta span:first-child {color:#f1e9f3;}
.project-title {display:flex;align-items:center;justify-content:space-between;gap:24px;}
.project-title h2 {max-width:980px;font-size:clamp(29px,4.3vw,60px);line-height:1.22;letter-spacing:-.055em;transition:color .2s;}
.project-title:hover h2 {color:#f8b5d7;}
.project-title>span {flex:none;border:1px solid var(--line-bright);width:43px;height:43px;border-radius:50%;display:grid;place-items:center;font-size:20px;}
.project-info>p {max-width:790px;margin-top:13px;font-size:17px;line-height:1.62;color:#bdb1c9;}
/* Work thumbnail compositions are illustrative and are NOT claimed to be product screenshots. */
.rita-window {position:absolute;left:50%;top:55%;transform:translate(-50%,-50%) rotate(-4deg);width:min(670px,72%);min-height:375px;border-radius:15px;background:#f9f5f7;color:#23172e;box-shadow:0 34px 80px rgba(14,7,24,.35);overflow:hidden;}
.rita-window__header {height:67px;padding:0 27px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e9e2ee;color:#675878;font-size:12px;font-weight:700;}
.rita-mark {font:800 31px/1 var(--display);color:#8d49a9;}
.rita-icon {font-size:15px;letter-spacing:3px;}
.rita-window__content {padding:43px 50px;}
.rita-window__eyebrow {font-size:10px;color:#9060ac;font-weight:800;letter-spacing:.22em;}
.rita-window__question {max-width:470px;font:750 clamp(24px,3.5vw,43px)/1.19 var(--display);letter-spacing:-.045em;margin:15px 0 26px;}
.rita-window__line {height:8px;max-width:370px;background:#e1d7e8;border-radius:99px;margin-bottom:11px;}
.rita-window__line.short {max-width:260px;}
.rita-window__chips {display:flex;gap:8px;margin-top:22px;flex-wrap:wrap;}
.rita-window__chips span {border:1px solid #e4d0ec;border-radius:99px;padding:8px 13px;color:#6d4c82;font-size:12px;font-weight:700;}
.agent-composition {position:absolute;left:50%;top:55%;width:min(700px,90%);height:330px;transform:translate(-50%,-50%);}
.agent-center {position:absolute;inset:80px 24% 84px 24%;display:grid;place-items:center;background:rgba(38,20,51,.65);border:1px solid rgba(255,211,244,.42);border-radius:25px;box-shadow:0 0 110px rgba(244,139,208,.14);}
.agent-center>span {font:750 clamp(33px,5vw,65px)/1 var(--display);letter-spacing:-.07em;color:#ffedfa;}
.agent-node {position:absolute;border:1px solid rgba(255,218,245,.35);background:rgba(70,45,83,.67);border-radius:99px;padding:14px 26px;color:#f9e7f7;font-weight:700;font-size:14px;z-index:2;backdrop-filter:blur(12px);}
.agent-node span {color:#f7a6ce;font-size:11px;margin-right:10px;}
.node1 {left:4%;top:20%;}.node2 {right:5%;top:8%;}.node3 {right:11%;bottom:12%;}

/* Tech stack: six generously spaced rows/cards, easy to scan. */
.stack-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-bottom:150px;}
.stack-card {min-height:315px;background:linear-gradient(145deg,rgba(255,255,255,.043),rgba(255,255,255,.015));border:1px solid var(--line);border-radius:15px;padding:31px;display:flex;flex-direction:column;justify-content:space-between;transition:border-color .2s,transform .2s;}
.stack-card:hover {transform:translateY(-3px);border-color:rgba(240,169,228,.4);}
.stack-card__icon {height:62px;width:62px;display:grid;place-items:center;border-radius:15px;color:#ffe5f8;font-size:35px;font-weight:700;background:linear-gradient(135deg,rgba(255,170,187,.25),rgba(157,121,244,.25));border:1px solid rgba(255,200,244,.15);}
.stack-card__icon--figma {color:#efabae;}.stack-card__icon--base44 {color:#bba4fa;}.stack-card__icon--notion {font-size:26px;}.stack-card__icon--confident {color:#f8a1ca;}
.stack-card__number {font-size:11px;color:var(--quiet);letter-spacing:.1em;font-weight:700;}
.stack-card h3 {font-size:27px;letter-spacing:-.045em;margin-top:8px;}
.stack-card p {margin-top:11px;color:var(--muted);font-size:14px;line-height:1.65;max-width:260px;}

/* About: visual + introduction, thesis, chronological work list. */
.about-hero {padding-top:125px;display:grid;grid-template-columns: .82fr 1.18fr;gap:7%;align-items:start;}
.about-hero__visual {min-height:580px;background:radial-gradient(ellipse at 35% 34%,rgba(217,135,198,.25),transparent 55%),linear-gradient(145deg,#2f233d,#1b1525);border:1px solid var(--line-bright);border-radius:18px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;}
.about-hero__art {position:absolute;inset:0;display:grid;place-items:center;}
.about-hero__art>img {width:60%;max-width:280px;height:auto;filter:drop-shadow(0 15px 28px rgba(0,0,0,.24));position:relative;z-index:2;}
.about-hero__orbit {position:absolute;width:78%;aspect-ratio:1;border:1px solid rgba(255,211,244,.14);border-radius:50%;box-shadow:0 0 0 38px rgba(255,221,240,.027),0 0 0 80px rgba(255,221,240,.019);}
.about-hero__caption {margin:0 27px 27px;color:#ead6e8;font-size:10px;font-weight:750;letter-spacing:.17em;z-index:3;}
.about-hero h1 {font-size:clamp(45px,5.1vw,78px);margin-top:26px;line-height:1.12;}
.about-copy {margin-top:33px;display:grid;gap:20px;}
.about-copy p {font-size:17px;line-height:1.8;color:#cec3d5;}
.about-story {margin-top:64px;}
.about-story__copy {max-width:860px;margin-inline:auto;display:grid;gap:24px;}
.about-story p {font-size:18px;line-height:1.85;color:#cec3d5;}
.about-principle {margin-top:160px;padding-top:86px;border-top:1px solid var(--line);}
.about-principle h2 {font-size:clamp(34px,4.9vw,67px);line-height:1.2;max-width:960px;margin-top:25px;}
.about-principle>p:not(.eyebrow) {max-width:695px;font-size:18px;color:#c4b9d0;line-height:1.75;margin-top:27px;}
.experience {padding-top:150px;padding-bottom:150px;}
.experience__heading {margin-bottom:44px;}
.experience__heading h2 {font-size:clamp(40px,5vw,70px);margin-top:13px;}
.experience-row {padding:29px 0;display:grid;grid-template-columns:1.4fr 1fr .7fr;gap:24px;border-top:1px solid var(--line);align-items:start;}
.experience-row:last-child {border-bottom:1px solid var(--line);}
.experience-row__role {font-weight:700;font-size:17px;line-height:1.4;}
.experience-row__company {font-size:15px;color:var(--muted);}
.experience-row__time {font-size:14px;text-align:right;color:var(--quiet);}
.text-arrow {margin-top:30px;display:inline-flex;gap:25px;align-items:center;border-bottom:1px solid rgba(243,168,209,.7);padding-bottom:7px;font-weight:700;font-size:15px;}
.text-arrow:hover {color:#f9b4d9;}

/* Contact: three simple rows matching reference IA. */
.contact-page {padding-top:130px;padding-bottom:175px;min-height:650px;}
.contact-page h1 {font-size:clamp(80px,10.3vw,150px);margin-top:18px;}
.contact-intro {font-size:20px;color:#c7bccc;margin-top:22px;max-width:640px;line-height:1.65;}
.contact-list {margin-top:70px;max-width:1040px;border-top:1px solid var(--line);}
.contact-row {padding:28px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);}
.contact-row h2 {font-size:19px;letter-spacing:-.02em;font-family:var(--font);font-weight:700;}
.contact-row a {color:#dccfdf;display:flex;align-items:center;justify-content:flex-end;gap:23px;font-size:18px;transition:color .2s;overflow-wrap:anywhere;}
.contact-row a:hover {color:#f9aed8;}
.contact-row a>span {font-size:20px;flex:none;}

/* Portfolio work detail pages */
.case {padding-top:90px;padding-bottom:140px;}
.back-link {display:inline-block;color:var(--muted);font-size:14px;font-weight:700;border-bottom:1px solid var(--line);padding-bottom:7px;}
.back-link:hover {color:var(--white);}
.case__intro {padding-top:75px;}
.case__intro h1 {font-size:clamp(70px,9vw,130px);margin-top:15px;letter-spacing:-.065em;}
.case__lead {font-size:clamp(21px,2.6vw,35px);font-family:var(--display);letter-spacing:-.04em;line-height:1.35;color:#d9cfdf;max-width:860px;margin-top:23px;}
.case-meta {display:grid;grid-template-columns:1fr 1fr 1fr;gap:26px;margin-top:60px;padding:29px 0 35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.case-meta>div {display:flex;flex-direction:column;gap:7px;}.case-meta span {font-size:12px;color:var(--quiet);letter-spacing:.09em;text-transform:uppercase;font-weight:700;}.case-meta strong {font-size:16px;line-height:1.45;font-weight:650;}
.case-photo,.case-art {border-radius:16px;margin-top:55px;min-height:510px;background:radial-gradient(ellipse at 50% 55%,#896c90,#372a48 64%,#21172e 100%);position:relative;overflow:hidden;display:grid;place-items:center;}
.case-photo img {height:480px;max-width:90%;width:auto;box-shadow:0 19px 50px rgba(0,0,0,.24);border-radius:19px 19px 0 0;object-fit:contain;object-position:bottom;align-self:end;}
.kohra-showcase {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start;margin-top:55px;}
.case--kohra .case-section>div {min-width:0;}
.kohra-screen {min-width:0;}
.kohra-screen--detail {max-width:560px;margin-top:32px;}
.kohra-screen__media {display:block;padding:24px;border:1px solid var(--line-bright);border-radius:16px;background:radial-gradient(ellipse at 85% 15%,rgba(186,164,255,.1),transparent 70%),var(--bg-elevated);transition:border-color .2s;}
.kohra-screen__media:hover {border-color:var(--pink);}
.kohra-screen img {width:100%;max-width:390px;height:auto;margin-inline:auto;border-radius:9px;}
.kohra-screen--detail img {max-width:100%;}
.kohra-screen figcaption {margin-top:18px;}
.kohra-screen figcaption strong {display:block;font:650 18px/1.4 var(--display);color:var(--white);}
.kohra-screen figcaption p {max-width:480px;margin-top:8px;font-size:14px;line-height:1.7;color:var(--muted);}
.kohra-screen__expand {display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:6px;font-size:13px;font-weight:650;color:#edb9d4;}
.kohra-screen__expand:hover {color:var(--white);}
.kohra-screen__sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}
.case-art {padding:55px;background:radial-gradient(ellipse at 50% 50%,#8063a0,#332542 75%);}
.case-art>span {color:#fce9f4;font-size:clamp(28px,5vw,65px);font-family:var(--display);font-weight:700;letter-spacing:-.07em;line-height:1.2;text-align:center;max-width:700px;}
.case-art__mark {position:absolute;bottom:25px;right:30px;font-size:42px;color:#f5d5e5;}
.case-section {display:grid;grid-template-columns:1fr 2fr;gap:45px;padding:58px 0;border-bottom:1px solid var(--line);}
.case-section__label {font-size:12px;letter-spacing:.09em;color:var(--quiet);font-weight:750;text-transform:uppercase;}
.case-section h2 {font-size:clamp(32px,3.5vw,49px);}
.case-section p {font-size:18px;line-height:1.8;color:var(--muted);margin-top:19px;max-width:760px;}
.deliverables {list-style:none;padding:0;margin:24px 0 0;}
.deliverables li {padding:14px 0 14px 22px;border-top:1px solid var(--line);position:relative;font-size:17px;color:#d9cbdf;}
.deliverables li:before {content:'↗';position:absolute;left:0;color:var(--pink);}
.case-end {display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:60px;}.case-end p {color:#d9cedf;font-size:20px;}
.pill-link {display:inline-flex;justify-content:center;align-items:center;padding:13px 24px;border-radius:99px;border:1px solid var(--line-bright);font-weight:700;white-space:nowrap;transition:border-color .2s,background .2s;}.pill-link:hover {border-color:#ef8cba;background:rgba(239,140,186,.07);}
.not-found {padding-top:170px;padding-bottom:200px;}.not-found h1 {margin-top:17px;font-size:clamp(53px,8vw,100px);}.not-found p:not(.eyebrow) {color:var(--muted);font-size:19px;margin:25px 0 32px;}

/* Consistent, compact footer on all five destinations. */
.footer {border-top:1px solid var(--line);padding-top:74px;background:rgba(18,12,27,.86);}
.footer__grid {display:grid;grid-template-columns:2.3fr .7fr .7fr;gap:70px;padding-bottom:90px;}
.footer__identity {display:flex;gap:12px;align-items:center;font:750 19px/1.2 var(--display);letter-spacing:-.04em;}.footer__identity img {width:46px;height:46px;object-fit:contain;}
.footer__brand p {max-width:300px;margin-top:22px;font-size:15px;line-height:1.7;color:#a69ab1;}
.footer__column {display:flex;flex-direction:column;align-items:flex-start;gap:14px;font-size:14px;font-weight:600;}
.footer__column a {color:#c8bed1;transition:color .2s;}.footer__column a:hover {color:var(--white);}
.footer__label {text-transform:uppercase;font-size:10px;letter-spacing:.18em;font-weight:800;color:#9a8ca6;margin-bottom:8px;}
.footer__bottom {display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;padding-bottom:22px;color:#988ba4;font-size:12px;}

@media(max-width:950px) {
  .shell {width:min(var(--max),calc(100% - 68px));}
  .site-header__inner {width:calc(100% - 68px);}
  .desktop-nav {gap:21px;}
  .home-hero h1 {font-size:clamp(58px,8.6vw,90px);}
  .project-media {height:460px;min-height:360px;}
  .stack-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .about-hero {grid-template-columns:.8fr 1.2fr;gap:5%;}.about-hero__visual {min-height:530px;}
  .about-hero h1 {font-size:clamp(40px,5vw,57px);}
}
@media(max-width:700px) {
  .rita-cover {margin-top:36px;}
  .kohra-cover {margin-top:36px;}
  .shell {width:calc(100% - 42px);}
  .site-header__inner {width:calc(100% - 42px);height:74px;}
  .site-header {z-index:300;}
  .brand {font-size:18px;}.brand img {width:35px;height:35px;}
  .desktop-nav {display:none;}
  .menu-toggle {display:flex;}
  .mobile-navigation {display:block;position:fixed;z-index:250;inset:74px 0 0;opacity:0;visibility:hidden;pointer-events:none;background:#150e1e;transform:translateY(-10px);transition:opacity .2s,transform .2s,visibility .2s;overflow-y:auto;}
  .menu-open .mobile-navigation {opacity:1;visibility:visible;pointer-events:auto;transform:none;}
  .mobile-navigation__inner {padding:48px 30px 65px;display:flex;flex-direction:column;gap:4px;}
  .mobile-navigation__inner>.small-label {margin-bottom:23px;}
  .mobile-navigation__inner>a {font:650 clamp(32px,9vw,48px)/1.3 var(--display);letter-spacing:-.05em;padding:9px 0;}
  .mobile-navigation__inner>a[aria-current="page"] {color:#f3a0d2;}
  .mobile-navigation__foot {margin-top:40px;border-top:1px solid var(--line);padding-top:24px;}
  .mobile-navigation__foot a {font-weight:700;color:#edb9d4;}
  .home-hero {min-height:calc(100svh - 74px);}
  .home-hero__inner {padding-top:100px;padding-bottom:70px;}
  .home-hero__eyebrow {margin-bottom:28px;font-size:10px;}
  .home-hero h1 {font-size:clamp(51px,10.7vw,76px);letter-spacing:-.075em;}
  .home-hero__description {font-size:17px;margin-top:26px;max-width:490px;}
  .home-hero__signature {gap:11px;font-size:12px;}.hero-work-link {margin-top:45px;}
  .home-hero__bottom {font-size:11px;align-items:flex-start;padding-bottom:20px;}
  .page-intro {padding-top:88px;padding-bottom:51px;}.page-intro h1 {font-size:clamp(63px,12vw,92px);}
  .work-list {gap:75px;padding-bottom:98px;}
  .project-media {height:350px;min-height:350px;border-radius:13px;}.project-media__top {top:20px;left:19px;right:19px;font-size:9px;}
  .media-arrow {width:37px;height:37px;right:18px;bottom:18px;}
  .phone-wrap {gap:20px;transform:translateY(40px) rotate(-5deg);}.phone {width:33%;border-width:4px;border-radius:20px 20px 0 0;}.phone--right {width:32%;}
  .project-info {padding-top:19px;}.project-title h2 {font-size:clamp(27px,5.3vw,44px);}.project-info>p {font-size:15px;}
  .rita-window {min-height:260px;width:83%;}.rita-window__header {height:47px;padding:0 17px;}.rita-window__content {padding:27px 25px;}.rita-window__question {font-size:clamp(21px,4vw,31px);margin:9px 0 18px;}.rita-window__chips span {font-size:10px;padding:6px 10px;}
  .agent-composition {height:260px;width:92%;}.agent-center {inset:73px 20% 65px 20%;}.agent-node {padding:10px 14px;font-size:11px;}.agent-node span {font-size:10px;}
  .stack-grid {gap:13px;padding-bottom:100px;}.stack-card {min-height:265px;padding:23px;}.stack-card h3 {font-size:23px;}
  .about-hero {padding-top:87px;display:flex;flex-direction:column;gap:45px;}.about-hero__visual {min-height:390px;min-width:100%;}.about-hero__art>img {max-width:225px;}.about-hero h1 {font-size:clamp(42px,7.4vw,60px);}.about-copy p {font-size:16px;}
  .about-story {margin-top:40px;}.about-story__copy {gap:20px;}.about-story p {font-size:16px;}
  .about-principle {margin-top:90px;padding-top:65px;}.about-principle h2 {font-size:clamp(34px,6vw,50px);}.about-principle>p:not(.eyebrow) {font-size:16px;}
  .experience {padding-top:95px;padding-bottom:100px;}.experience-row {grid-template-columns:1.2fr 1fr;gap:7px 16px;padding:24px 0;}.experience-row__time {grid-column:1/-1;text-align:left;font-size:12px;}.experience-row__role {font-size:15px;}.experience-row__company {font-size:14px;}
  .contact-page {padding-top:90px;padding-bottom:120px;min-height:530px;}.contact-page h1 {font-size:clamp(68px,13vw,100px);}.contact-intro {font-size:17px;}.contact-list {margin-top:46px;}.contact-row {padding:23px 0;}.contact-row h2 {font-size:16px;}.contact-row a {font-size:16px;}
  .case {padding-top:55px;padding-bottom:90px;}.case__intro {padding-top:50px;}.case__intro h1 {font-size:65px;}.case__lead {font-size:23px;}.case-meta {gap:17px;margin-top:41px;}.case-meta strong {font-size:13px;}.case-meta span {font-size:10px;}
  .case-photo,.case-art {min-height:380px;}.case-photo img {height:350px;}.case-section {grid-template-columns:1fr;gap:16px;padding:39px 0;}.case-section p {font-size:16px;}.case-end {align-items:flex-start;flex-direction:column;}.case-end p {font-size:18px;}
  .kohra-showcase {grid-template-columns:1fr;gap:32px;margin-top:36px;}
  .kohra-screen__media {padding:14px;border-radius:13px;}
  .kohra-screen figcaption {margin-top:14px;}
  .kohra-screen figcaption p {font-size:14px;}
  .kohra-screen--detail {width:100%;margin-top:26px;}
  .footer {padding-top:50px;}.footer__grid {grid-template-columns:1.2fr 1fr;gap:36px 28px;padding-bottom:55px;}.footer__brand {grid-column:1/-1;}.footer__bottom {gap:10px;flex-wrap:wrap;}
}
@media(max-width:420px) {
  .shell {width:calc(100% - 34px);}.site-header__inner {width:calc(100% - 34px);}
  .home-hero__inner {padding-top:76px;}.home-hero h1 {font-size:clamp(48px,11.6vw,58px);}.home-hero__description {font-size:16px;}.home-hero__bottom {flex-direction:column;gap:5px;}
  .project-media {height:285px;min-height:285px;}.project-info__meta {flex-direction:column;gap:3px;font-size:12px;}.project-title h2 {font-size:29px;}.project-info>p {font-size:14px;}.phone-wrap {gap:12px;}.phone {width:37%;}.phone--right {width:34%;}
  .rita-window {min-height:225px;top:56%;}.rita-window__content {padding:19px 18px;}.rita-window__question {font-size:20px;}.rita-window__chips {margin-top:13px;}.rita-window__chips span {font-size:9px;}.rita-window__line {height:6px;}
  .agent-center {inset:70px 13% 70px 13%;}.agent-center>span {font-size:35px;}.agent-node {font-size:10px;padding:7px 10px;}.node1 {left:2%;top:9%;}.node2 {right:2%;top:20%;}.node3 {right:3%;bottom:6%;}
  .stack-grid {grid-template-columns:1fr;}.stack-card {min-height:220px;}.stack-card h3 {font-size:25px;}.stack-card p {max-width:320px;}
  .about-hero__visual {min-height:310px;}.about-hero__art>img {max-width:175px;}.about-hero h1 {font-size:42px;}
  .contact-row {align-items:flex-start;flex-direction:column;gap:5px;}.contact-row a {justify-content:space-between;width:100%;font-size:16px;}
  .case__intro h1 {font-size:51px;}.case-meta {grid-template-columns:1fr;}.case-photo,.case-art {min-height:310px;}.case-photo img {height:290px;}.case-art>span {font-size:32px;}
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important;}
}
