@font-face {
  font-family: "Geist Variable";
  src: url("assets/fonts/geist-latin-variable.woff2") format("woff2-variations");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "Tinos";
  src: url("assets/fonts/tinos-latin-400.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Tinos";
  src: url("assets/fonts/tinos-latin-400-italic.woff2") format("woff2");
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}

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

:root {
  --ink: #0c0e0d;
  --paper: #f4f3ee;
  --muted: #5a5d58;
  --line: rgba(12, 14, 13, 0.15);
  --acid: #c9ff38;
  --violet: #6754e8;
  --orange: #d64f35;
  --max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: "Geist Variable", "Geist", Arial, sans-serif;
  font-variation-settings: "wght" 450;
  -webkit-font-smoothing: antialiased;
  overflow-wrap: break-word;
}

a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
::selection { color: var(--ink); background: var(--acid); }
.sr-only { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }

.skip-link { position: fixed; top: 10px; left: 10px; z-index: 100; padding: 10px 14px; background: white; transform: translateY(-150%); transition: transform .2s; }
.skip-link:focus { transform: none; }
.noise { position: fixed; inset: 0; z-index: 50; pointer-events: none; opacity: .025; 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='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }
.cursor-glow { position: fixed; width: 280px; height: 280px; border-radius: 50%; background: rgba(201,255,56,.12); filter: blur(45px); transform: translate(-50%,-50%); pointer-events: none; z-index: 1; opacity: 0; transition: opacity .3s; }
.scroll-progress { position: fixed; z-index: 60; inset: 0 0 auto; height: 2px; }
.scroll-progress span { display: block; height: 100%; width: 100%; transform: scaleX(0); transform-origin: left; background: var(--acid); }

.site-header { position: fixed; top: 0; left: 50%; z-index: 70; width: min(calc(100% - 48px), var(--max)); height: 96px; display: flex; align-items: center; justify-content: space-between; transform: translateX(-50%); color: white; transition:height .35s cubic-bezier(.2,.7,.2,1),top .35s cubic-bezier(.2,.7,.2,1),width .35s cubic-bezier(.2,.7,.2,1),padding .35s cubic-bezier(.2,.7,.2,1),background .25s,color .25s,box-shadow .25s; }
.site-header.is-scrolled { top:0; width:100%; height:70px; padding:0 max(24px,calc((100vw - var(--max))/2)); color:var(--ink); background:rgba(244,243,238,.94); border:0; border-bottom:1px solid rgba(12,14,13,.1); border-radius:0; box-shadow:0 8px 30px rgba(12,14,13,.07); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.site-header.is-scrolled nav a { color:rgba(12,14,13,.68); }
.site-header.is-scrolled nav a:hover,.site-header.is-scrolled nav a:focus-visible { color:var(--ink); }
.site-header.is-scrolled .header-cta { border-color:rgba(12,14,13,.2); }
.wordmark { position:relative; width:205px; height:28px; display:flex; align-items:center; flex:0 0 205px; color:currentColor; overflow:hidden; }
.brand-v-static { position:relative; z-index:2; width:23px; height:26px; flex:0 0 23px; transform:translateY(.25px); }
.brand-tail-long { width:178px; height:26px; transform-origin:left center; will-change:opacity,transform,clip-path; animation:brandLong 9s cubic-bezier(.22,.8,.22,1) infinite; }
.brand-r-short { position:absolute; z-index:1; left:23px; width:27px; height:26px; opacity:0; transform:translateX(30px) scale(.94); transform-origin:left center; will-change:opacity,transform; animation:brandShort 9s cubic-bezier(.22,.8,.22,1) infinite; }
.brand-accent { fill:var(--acid); animation:dotPulse 1.8s steps(2,end) infinite; }
.site-header.is-scrolled .brand-accent,.inner-header .brand-accent { fill:var(--violet); }
@keyframes brandLong { 0%,42%,100%{opacity:1;transform:translateX(0);clip-path:inset(0 0 0 0)}52%{opacity:1;transform:translateX(-4px);clip-path:inset(0 84% 0 0)}58%,84%{opacity:0;transform:translateX(-9px);clip-path:inset(0 100% 0 0)}92%{opacity:1;transform:translateX(0);clip-path:inset(0 0 0 0)} }
@keyframes brandShort { 0%,48%,92%,100%{opacity:0;transform:translateX(30px) scale(.94)}58%,83%{opacity:1;transform:translateX(0) scale(1)} }
@keyframes dotPulse { 0%,44%{opacity:1}45%,70%{opacity:.22}71%,100%{opacity:1} }
.site-header nav { display: flex; gap: clamp(20px, 3vw, 50px); font-size: .83rem; }
.site-header nav a { color: rgba(255,255,255,.72); transition: color .2s; }
.site-header nav a:hover, .site-header nav a:focus-visible { color: white; }
.header-cta { display: inline-flex; align-items: center; gap: 16px; border: 1px solid rgba(255,255,255,.25); border-radius: 99px; padding: 11px 16px; font-size: .82rem; }
.header-cta span { display:grid; place-items:center; width: 23px; height: 23px; border-radius:50%; background: var(--acid); color: var(--ink); }
.header-call-icon { width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.menu-toggle { display:none; min-width:44px; min-height:44px; padding:10px; border:0; background:transparent; color:inherit; cursor:pointer; }
.menu-toggle > span:not(.sr-only) { display:block; width:22px; height:1px; margin:5px 0; background:currentColor; transition:transform .25s,opacity .25s; }

.hero { position: relative; min-height: min(920px, 100svh); display: flex; align-items: center; color: white; background: #070908; overflow: hidden; }
#hero-canvas { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .85; }
.hero::after { content:""; position:absolute; inset: 0; background: radial-gradient(circle at 65% 52%, transparent 0 12%, rgba(7,9,8,.18) 40%, rgba(7,9,8,.86) 86%); pointer-events:none; }
.hero-orbit { position:absolute; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; z-index:1; }
.orbit-one { width: 52vw; height: 52vw; min-width: 520px; min-height: 520px; right:-11vw; top: 8%; animation: orbit 18s linear infinite; }
.orbit-one::before { content:""; position:absolute; width:12px; height:12px; border-radius:50%; background:var(--acid); top:24%; left:5%; box-shadow: 0 0 25px var(--acid); }
.orbit-two { width: 27vw; height:27vw; min-width:280px; min-height:280px; right:8vw; top:26%; animation: orbit 13s linear infinite reverse; }
.orbit-two::before { content:""; position:absolute; width:7px; height:7px; border-radius:50%; background:var(--violet); bottom:10%; right:15%; box-shadow: 0 0 22px var(--violet); }
@keyframes orbit { to { transform: rotate(360deg); } }
.hero-copy { position:relative; z-index:3; width:min(calc(100% - 48px),var(--max)); margin: 94px auto 0; }
.eyebrow { margin:0 0 clamp(28px,5vh,56px); display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.62); text-transform:uppercase; letter-spacing:.12em; font-size:.69rem; font-weight:600; }
.status-dot { width:7px; height:7px; border-radius:50%; background:var(--acid); box-shadow:0 0 0 4px rgba(201,255,56,.12); }
.hero h1 { max-width: 1040px; margin:0; font-size:clamp(4rem,9.4vw,9rem); line-height:.85; letter-spacing:-.072em; font-weight:500; }
.hero h1 em { color:var(--acid); font-family:Georgia,serif; font-weight:400; }
.hero-bottom { display:flex; align-items:flex-end; justify-content:space-between; max-width:970px; margin-top:clamp(42px,7vh,72px); }
.hero-bottom > p { max-width:500px; margin:0; color:rgba(255,255,255,.65); font-size:clamp(1rem,1.45vw,1.25rem); line-height:1.55; }
.circle-link { width:112px; height:112px; border:1px solid rgba(255,255,255,.25); border-radius:50%; display:flex; justify-content:center; align-items:center; gap:11px; font-size:.74rem; line-height:1.1; transition: background .3s,color .3s,border .3s; }
.circle-link b { font-size:1.3rem; font-weight:400; }
.circle-link:hover { background:var(--acid); color:var(--ink); border-color:var(--acid); }
.hero-index { position:absolute; z-index:3; right:clamp(24px,5vw,70px); bottom:32px; margin:0; font-size:.65rem; color:rgba(255,255,255,.62); letter-spacing:.13em; }

.signal-band { overflow:hidden; padding:18px 0; background:var(--acid); border-bottom:1px solid var(--ink); }
.ticker { display:flex; width:max-content; align-items:center; gap:28px; white-space:nowrap; text-transform:uppercase; letter-spacing:.08em; font-weight:660; font-size:.78rem; animation:ticker 28s linear infinite; }
.ticker i { font-style:normal; font-size:.75rem; }
@keyframes ticker { to { transform:translateX(-50%); } }

.pathways { padding-bottom:50px; }
.pathway-title { margin:0 0 65px; font-size:clamp(3rem,6vw,6.2rem); line-height:.92; letter-spacing:-.065em; font-weight:530; }
.pathway-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.pathway-card { position:relative; min-height:420px; padding:38px; display:flex; flex-direction:column; overflow:hidden; transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s; }
.pathway-card::after { content:""; position:absolute; right:-75px; bottom:-75px; width:240px; height:240px; border-radius:50%; border:1px solid currentColor; opacity:.16; box-shadow:0 0 0 45px transparent,0 0 0 46px currentColor; }
.pathway-card:hover { transform:translateY(-8px); box-shadow:0 24px 70px rgba(12,14,13,.12); }
.pathway-card > span { font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; opacity:.65; }
.pathway-card h3 { max-width:480px; margin:auto 0 22px; font-size:clamp(2.3rem,4.3vw,4.5rem); line-height:.93; letter-spacing:-.055em; font-weight:540; }
.pathway-card p { max-width:470px; margin:0; line-height:1.55; opacity:.68; }
.pathway-card b { margin-top:35px; font-size:.76rem; font-weight:600; }
.pathway-card b i { margin-left:8px; font-style:normal; }
.pathway-work { background:#0c0e0d; color:white; }
.pathway-teach { background:var(--acid); color:var(--ink); }
.pathway-freelance { background:var(--violet); color:white; }

.section-shell { width:min(calc(100% - 48px),var(--max)); margin:0 auto; padding:clamp(90px,12vw,170px) 0; }
.section-heading { display:grid; grid-template-columns:minmax(170px, .42fr) 1.58fr; align-items:start; margin-bottom:70px; }
.section-heading > div { display:flex; gap:28px; align-items:center; padding-top:13px; }
.section-heading span { font-size:.64rem; padding:5px 7px; border:1px solid var(--line); border-radius:99px; }
.section-heading p { margin:0; font-size:.78rem; color:var(--muted); text-transform:uppercase; letter-spacing:.1em; }
.section-heading h2 { margin:0; font-size:clamp(2.8rem,5.5vw,5.8rem); line-height:.94; letter-spacing:-.062em; font-weight:530; }
.project { transform-style:preserve-3d; will-change:transform; }
.project-visual { position:relative; min-height:520px; overflow:hidden; border-radius:4px; }
.project-featured { display:grid; grid-template-columns:1.4fr .6fr; gap:44px; padding-bottom:95px; border-bottom:1px solid var(--line); }
.project-copy { display:flex; flex-direction:column; justify-content:flex-end; }
.project-meta { margin:0 0 23px; color:var(--muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; }
.project h3 { margin:0 0 24px; font-size:clamp(2.2rem,4vw,4.3rem); line-height:1; letter-spacing:-.055em; font-weight:540; }
.project-small h3 { font-size:clamp(2rem,3vw,3.2rem); }
.project-copy > p:not(.project-meta) { max-width:520px; margin:0; color:var(--muted); font-size:1rem; line-height:1.6; }
.tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:35px; }
.tags span { border:1px solid var(--line); border-radius:99px; padding:7px 10px; font-size:.66rem; }
.visual-call { background:linear-gradient(145deg,#7665ff,#a696ff 58%,#d2caff); display:grid; place-items:center; }
.call-panel { width:min(75%,600px); aspect-ratio:1.32; padding:24px; border-radius:28px; background:rgba(20,15,62,.88); color:white; box-shadow:0 45px 100px rgba(20,15,62,.35); transform:rotate(-3deg); }
.call-top { display:flex; align-items:center; justify-content:space-between; color:rgba(255,255,255,.7); font-size:.66rem; }
.call-top span { width:27px;height:27px;border-radius:50%;background:linear-gradient(135deg,var(--acid),#fff); }
.call-top b { letter-spacing:.1em; }
.voice-wave { height:57%; display:flex; align-items:center; justify-content:center; gap:8px; }
.voice-wave i { width:4px; height:20%; background:var(--acid); border-radius:5px; animation:wave 1.1s ease-in-out infinite alternate; }
.voice-wave i:nth-child(2n) { animation-delay:-.4s;height:42%; }.voice-wave i:nth-child(3n) { animation-delay:-.8s;height:65%; }.voice-wave i:nth-child(5n) { height:28%; }
@keyframes wave { to { transform:scaleY(1.8); opacity:.65; } }
.call-actions { display:flex; justify-content:center; gap:15px; }
.call-actions span { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.1); }
.call-actions .hang { background:var(--orange);font-size:1.6rem; }
.metric { position:absolute; padding:12px 15px; border-radius:8px; background:rgba(255,255,255,.88); backdrop-filter:blur(12px); font-size:.68rem; box-shadow:0 12px 30px rgba(0,0,0,.12); }
.metric b { display:block;font-size:1.2rem;letter-spacing:-.04em; }.metric-a { left:6%;bottom:11%; }.metric-b { right:6%;top:13%; }
.project-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:95px; }
.project-small .project-visual { min-height:500px; margin-bottom:35px; }
.visual-ai { background:#111615; color:white; display:grid; place-items:center; }
.ai-core { z-index:2; width:115px;height:115px;display:grid;place-items:center;border-radius:50%;background:var(--acid);color:var(--ink);font-size:2rem;font-weight:700;box-shadow:0 0 70px rgba(201,255,56,.22); }
.visual-ai svg { position:absolute;inset:0;width:100%;height:100%; }.visual-ai path { fill:none;stroke:rgba(201,255,56,.45);stroke-width:1;stroke-dasharray:6 7;animation:dash 10s linear infinite; }
@keyframes dash { to { stroke-dashoffset:-100; } }
.node { position:absolute;border:1px solid rgba(255,255,255,.18);border-radius:99px;padding:9px 13px;font-size:.69rem;color:rgba(255,255,255,.72);background:#111615;z-index:2; }.n1{top:15%;left:10%}.n2{top:15%;right:12%}.n3{bottom:14%;left:11%}.n4{bottom:13%;right:12%}
.visual-cx { background:#f2c8b5; }
.cx-card { position:absolute;left:9%;top:16%;width:64%;padding:28px;border-radius:15px;background:white;box-shadow:0 25px 60px rgba(75,38,22,.13);transform:rotate(-3deg); }
.cx-card small { color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em; }.cx-card b { display:block;margin:50px 0 35px;font-size:clamp(1.4rem,2.6vw,2.2rem);line-height:1.1;letter-spacing:-.04em; }.cx-card span { display:block;padding-top:14px;border-top:1px solid var(--line);font-size:.7rem; }.cx-card i { display:inline-block;width:7px;height:7px;border-radius:50%;background:#53bd78;margin-right:5px; }
.cx-ring { position:absolute;right:8%;bottom:10%;width:145px;height:145px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0c0e0d;color:white;box-shadow:0 18px 40px rgba(0,0,0,.18); }.cx-ring b{font-size:2.5rem;letter-spacing:-.06em}.cx-ring small{font-size:.63rem;color:rgba(255,255,255,.6)}
.case-note { margin:70px 0 0; color:var(--muted); font-size:.76rem; }

.freelance-hero { position:relative;min-height:min(920px,100svh);display:flex;align-items:center;overflow:hidden;background:#070908;color:white; }
.freelance-hero::after { content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 35%,rgba(130,109,255,.2),transparent 38%),linear-gradient(125deg,transparent 0 60%,rgba(201,255,56,.04));pointer-events:none; }
.freelance-hero-orb { position:absolute;z-index:1;right:-8vw;top:8%;width:min(56vw,780px);aspect-ratio:1;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 7vw rgba(255,255,255,.018),0 0 0 14vw rgba(255,255,255,.018);animation:orbit 22s linear infinite; }
.freelance-hero-orb::before { content:"";position:absolute;left:5%;top:27%;width:12px;height:12px;border-radius:50%;background:var(--acid);box-shadow:0 0 28px var(--acid); }
.freelance-hero-copy { position:relative;z-index:3;width:min(calc(100% - 48px),var(--max));margin:105px auto 0; }
.freelance-hero h1 { max-width:1060px;margin:0;font-size:clamp(4.2rem,9.2vw,8.8rem);line-height:.84;letter-spacing:-.074em;font-weight:500; }
.freelance-hero h1 em { color:var(--acid);font-family:Georgia,serif;font-weight:400; }
.freelance-hero-bottom { max-width:950px;margin-top:clamp(35px,5vh,60px);display:flex;align-items:flex-end;justify-content:space-between;gap:45px; }
.freelance-hero-bottom > p { max-width:580px;margin:0;color:rgba(255,255,255,.66);font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.6; }
.freelance-stack { margin:48px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;list-style:none; }
.freelance-stack li { padding:8px 11px;border:1px solid rgba(255,255,255,.2);border-radius:99px;color:rgba(255,255,255,.7);font-size:.68rem; }
.freelance { width:100%;max-width:none;margin:0;padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:max(24px,calc((100vw - var(--max))/2));background:#e8e6df; }
.freelance-page-work { padding-top:clamp(110px,12vw,170px); }
.freelance-intro { display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(50px,8vw,120px);align-items:start;margin-bottom:85px;padding-bottom:65px;border-bottom:1px solid var(--line); }
.freelance-lead { margin:0;font-size:clamp(1.9rem,3.3vw,3.35rem);line-height:1.08;letter-spacing:-.05em; }
.freelance-intro > div > p { max-width:620px;margin:0;color:var(--muted);font-size:1.02rem;line-height:1.7; }
.freelance-intro ul,.freelance-copy ul { margin:30px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;list-style:none; }
.freelance-intro li,.freelance-copy li { padding:7px 10px;border:1px solid var(--line);border-radius:99px;font-size:.67rem;line-height:1.1; }
.freelance-grid { display:grid;grid-template-columns:1fr 1fr;gap:30px; }
.freelance-card { min-width:0;display:flex;flex-direction:column;background:var(--paper);border:1px solid rgba(12,14,13,.09);overflow:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s; }
.freelance-card:hover,.freelance-card:focus-visible { transform:translateY(-7px);box-shadow:0 25px 65px rgba(12,14,13,.12); }
.freelance-card:focus-visible { outline:2px solid var(--violet);outline-offset:4px; }
.freelance-featured { grid-column:1/-1;display:grid;grid-template-columns:1.25fr .75fr; }
.freelance-preview { position:relative;aspect-ratio:16/9;overflow:hidden;background:#d5d2ca; }
.freelance-preview::before { content:"";position:absolute;z-index:2;left:14px;top:13px;width:7px;height:7px;border-radius:50%;background:#ff785a;box-shadow:13px 0 0 #f2c94c,26px 0 0 #65c681; }
.freelance-preview::after { content:"";position:absolute;z-index:1;inset:0 0 auto;height:33px;background:rgba(12,14,13,.88); }
.freelance-preview img { width:100%;height:100%;display:block;object-fit:cover;object-position:top;transition:transform .65s cubic-bezier(.2,.7,.2,1); }
.freelance-card:hover .freelance-preview img { transform:scale(1.025); }
.freelance-copy { flex:1;padding:30px;display:flex;flex-direction:column;align-items:flex-start; }
.freelance-copy > p { margin:0 0 35px;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.095em; }
.freelance-copy h3 { margin:0 0 18px;font-size:clamp(2rem,3.4vw,3.8rem);line-height:.96;letter-spacing:-.055em;font-weight:550; }
.freelance-copy > span { max-width:540px;color:var(--muted);font-size:.9rem;line-height:1.6; }
.freelance-copy ul { margin-top:27px; }
.freelance-copy > b { margin-top:auto;padding-top:42px;font-size:.76rem;font-weight:640; }
.freelance-copy > b i { margin-left:8px;color:var(--violet);font-style:normal; }
.freelance-cta { min-height:145px;margin-top:70px;padding:30px 0;display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
.freelance-cta p { max-width:650px;margin:0;font-size:clamp(1.35rem,2.4vw,2.3rem);line-height:1.2;letter-spacing:-.035em; }
.freelance-cta a { flex:0 0 auto;padding:15px 18px;border-radius:99px;background:var(--ink);color:white;font-size:.78rem; }
.freelance-cta a span { margin-left:18px;color:var(--acid); }
.freelance-services { padding-top:130px;padding-bottom:130px; }
.freelance-services-grid { display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line); }
.freelance-services-grid article { min-height:330px;padding:25px;display:flex;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line); }
.freelance-services-grid article > span { color:var(--violet);font-size:.66rem; }
.freelance-services-grid h3 { margin:auto 0 24px;font-size:clamp(1.45rem,2vw,2.1rem);line-height:1;letter-spacing:-.045em;font-weight:560; }
.freelance-services-grid p { margin:0;color:var(--muted);font-size:.84rem;line-height:1.55; }
.freelance-process { width:100%;max-width:none;margin:0;padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:max(24px,calc((100vw - var(--max))/2));background:#0b0e0d;color:white; }
.freelance-process-grid { border-top:1px solid rgba(255,255,255,.17); }
.freelance-process-grid article { min-height:170px;display:grid;grid-template-columns:100px 1fr;gap:35px;align-items:center;border-bottom:1px solid rgba(255,255,255,.17); }
.freelance-process-grid article > span { color:var(--acid);font-size:.67rem; }
.freelance-process-grid h3 { margin:0 0 10px;font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.05em;font-weight:530; }
.freelance-process-grid p { max-width:700px;margin:0;color:rgba(255,255,255,.56);line-height:1.55; }
.freelance-contact { background:var(--violet); }

.ai-lab { width:100%; max-width:none; margin:0; padding-left:max(24px,calc((100vw - var(--max))/2)); padding-right:max(24px,calc((100vw - var(--max))/2)); background:#0b0e0d; color:white; }
.section-heading.inverse span{border-color:rgba(255,255,255,.2)}.section-heading.inverse p{color:rgba(255,255,255,.48)}
.ai-stage { display:grid;grid-template-columns:.65fr 1.35fr;gap:80px;align-items:start; }
.ai-intro p { margin:0;color:rgba(255,255,255,.62);font-size:1.25rem;line-height:1.55;max-width:410px; }.ai-intro span { display:block;margin-top:65px;font-size:.72rem;color:var(--acid);text-transform:uppercase;letter-spacing:.1em; }
.tool-stack { border-top:1px solid rgba(255,255,255,.16); }
.tool-card { min-height:110px;display:grid;grid-template-columns:60px 1fr auto;align-items:center;border-bottom:1px solid rgba(255,255,255,.16);transition:padding .3s,background .3s; }
.tool-card:hover { padding:0 18px;background:rgba(255,255,255,.04); }.tool-card > span{font-size:.62rem;color:rgba(255,255,255,.62)}.tool-card div b{font-size:1.25rem}.tool-card div p{margin:5px 0 0;color:rgba(255,255,255,.66);font-size:.75rem}.tool-card > i{display:grid;place-items:center;width:45px;height:45px;border-radius:10px;background:var(--acid);color:var(--ink);font-style:normal;font-weight:720;font-size:1.1rem;transform:rotate(4deg);transition:transform .3s}.tool-card:nth-child(2) > i{background:var(--violet);color:white}.tool-card:nth-child(3) > i{background:white}.tool-card:nth-child(4) > i{background:var(--orange)}.tool-card:hover > i{transform:rotate(0) scale(1.08)}

.teaching-preview { padding-bottom:60px; }
.teaching-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; align-items:start; }
.teaching-lead { margin:0 0 28px; font-size:clamp(1.7rem,3vw,2.8rem)!important; line-height:1.15!important; letter-spacing:-.04em; color:var(--ink)!important; }
.teaching-copy > p:not(.teaching-lead) { max-width:540px; margin:0; color:var(--muted); line-height:1.65; }
.text-link { display:inline-block; margin-top:38px; padding-bottom:8px; border-bottom:1px solid var(--ink); font-size:.82rem; font-weight:650; }
.text-link span { margin-left:10px; }
.impact-stats { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.impact-stats article { min-height:190px; padding:25px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; justify-content:space-between; }
.impact-stats strong { font-size:clamp(3.2rem,6vw,5.8rem); line-height:1; letter-spacing:-.07em; font-weight:520; }
.impact-stats span { max-width:160px; color:var(--muted); font-size:.76rem; line-height:1.4; }
.placement-note { margin-top:65px; padding:30px; display:grid; grid-template-columns:40px 1fr; gap:20px; background:#e7e3ff; }
.placement-note span { color:var(--violet); }
.placement-note p { max-width:800px; margin:0; line-height:1.6; }

.about-grid { display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:start; }
.about-statement { letter-spacing:-.025em; }
.about-statement .about-lead { margin:0 0 30px;font-size:clamp(1.5rem,2.6vw,2.25rem);line-height:1.3; }
.about-statement > p:not(.about-lead) { max-width:520px;margin:0;color:var(--muted);font-size:.96rem;line-height:1.7;letter-spacing:0; }
.about-proof { display:grid;grid-template-columns:repeat(3,1fr);margin-top:48px;border-top:1px solid var(--line);border-left:1px solid var(--line); }
.about-proof span { min-height:120px;padding:15px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-size:.7rem;line-height:1.4;letter-spacing:0; }
.about-proof b { color:var(--ink);font-size:2rem;line-height:1;font-weight:560;letter-spacing:-.06em; }
.experience-list { border-top:1px solid var(--line); }
.experience-list article { display:grid;grid-template-columns:105px 1fr;gap:24px;align-items:start;padding:25px 0;border-bottom:1px solid var(--line); }
.experience-list time { padding-top:5px;font-size:.7rem;color:var(--muted); }
.experience-role { min-width:0; }
.company-wordmark { min-height:25px;display:flex!important;align-items:center;margin:0 0 16px!important;color:var(--ink)!important;font-size:1.17rem!important;line-height:1!important;letter-spacing:-.045em;font-weight:720; }
.company-wordmark > span { display:inline!important;margin:0 0 0 3px!important;color:#a92e12!important;font-size:.5rem!important; }
.o9-mark { font-size:1.5rem!important;font-weight:780; }
.o9-mark > span { margin-left:1px!important;color:var(--violet)!important;font-size:1.5rem!important; }
.freshworks-mark { letter-spacing:-.06em; }
.leadsquared-mark { letter-spacing:-.055em; }
.edgeverve-mark { font-weight:580;letter-spacing:-.04em; }
.cgi-mark { font-size:1.35rem!important;font-weight:820;letter-spacing:-.08em; }
.experience-role > b { display:block;font-size:1.02rem;font-weight:580; }
.experience-role > span:last-child:not(.company-wordmark) { display:block;margin-top:5px;color:var(--muted);font-size:.76rem;line-height:1.45; }
.skills-section { margin-top:120px;padding-top:35px;display:grid;grid-template-columns:.62fr 1.38fr;gap:80px;border-top:1px solid var(--line); }
.skills-heading .mini-label { margin-bottom:35px; }
.skills-heading h3 { margin:0;font-size:clamp(2.8rem,5vw,5.4rem);line-height:.9;letter-spacing:-.065em;font-weight:530; }
.skills-grid { display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line); }
.skills-grid article { min-height:270px;padding:24px;display:flex;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line); }
.skills-grid article > span { color:var(--violet);font-size:.67rem; }
.skills-grid h4 { margin:auto 0 25px;font-size:clamp(1.35rem,2vw,1.8rem);letter-spacing:-.04em;font-weight:560; }
.skills-grid ul { margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;list-style:none; }
.skills-grid li { padding:7px 10px;border:1px solid var(--line);border-radius:99px;color:var(--muted);font-size:.7rem;line-height:1.2; }
.skills-tools { grid-column:2;margin-top:-45px;padding:24px 0;display:grid;grid-template-columns:160px 1fr;gap:30px;border-bottom:1px solid var(--line); }
.skills-tools > span { color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.09em; }
.skills-tools p { margin:0;font-size:.82rem;line-height:1.55; }
.human-strip{position:relative;margin-top:120px;padding:60px;min-height:320px;background:var(--acid);overflow:hidden}.human-strip p{margin:0 0 50px;text-transform:uppercase;font-size:.68rem;letter-spacing:.1em}.human-strip h3{position:relative;z-index:2;margin:0;font-size:clamp(2.4rem,5vw,5rem);line-height:.95;letter-spacing:-.06em;font-weight:520}.shuttle{position:absolute;right:9%;top:50%;width:130px;height:180px;transform:translateY(-50%) rotate(25deg);}.shuttle span{position:absolute;left:40px;bottom:0;width:55px;height:72px;border-radius:0 0 50% 50%;background:#fff}.shuttle i{position:absolute;top:0;width:12px;height:120px;border:2px solid var(--ink);border-radius:50%;transform-origin:bottom}.shuttle i:nth-child(2){left:45px;transform:rotate(-22deg)}.shuttle i:nth-child(3){left:60px}.shuttle i:nth-child(4){left:75px;transform:rotate(22deg)}

.recommendations { padding-top:45px; }
.recommendation-intro { margin:-20px 0 60px;padding:30px 0;display:flex;align-items:flex-end;justify-content:space-between;gap:50px;border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
.recommendation-intro p { max-width:760px;margin:0;color:var(--muted);font-size:1rem;line-height:1.65; }
.recommendation-intro a { flex:0 0 auto;padding-bottom:7px;border-bottom:1px solid var(--ink);font-size:.78rem;font-weight:620; }
.recommendation-intro a span { margin-left:9px;color:var(--violet); }
.recommendation-grid { display:grid;grid-template-columns:1fr 1fr .72fr;gap:20px; }
.recommendation-card,.recommendation-proof { min-height:340px;margin:0;padding:30px;display:flex;flex-direction:column; }
.recommendation-card { background:#0b0e0d;color:white; }
.recommendation-card::before { content:"“";color:var(--acid);font-family:Georgia,serif;font-size:3.5rem;line-height:.7; }
.recommendation-card > p { margin:auto 0 40px;color:rgba(255,255,255,.82);font-size:clamp(1.25rem,2.2vw,1.8rem);line-height:1.25;letter-spacing:-.03em; }
.recommendation-card cite { padding-top:18px;border-top:1px solid rgba(255,255,255,.17);font-style:normal; }
.recommendation-card cite b,.recommendation-card cite span { display:block; }
.recommendation-card cite b { font-size:.84rem;font-weight:620; }
.recommendation-card cite span { margin-top:5px;color:rgba(255,255,255,.62);font-size:.68rem; }
.recommendation-proof { background:var(--acid); }
.recommendation-proof > span { font-size:.66rem;text-transform:uppercase;letter-spacing:.09em; }
.recommendation-proof strong { margin:auto 0 20px;font-size:clamp(5rem,8vw,7.5rem);line-height:.75;letter-spacing:-.085em;font-weight:540; }
.recommendation-proof p { margin:0;font-size:.8rem;line-height:1.5; }

.recognition { padding-top:20px; }.mini-label{margin:0 0 25px;font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.recognition h2{margin:0 0 70px;font-size:clamp(2.8rem,5vw,5.5rem);line-height:.95;letter-spacing:-.06em;font-weight:530}.recognition-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.recognition-grid article{min-height:180px;padding:22px 20px 20px 0;border-bottom:1px solid var(--line)}.recognition-grid article+article{padding-left:22px;border-left:1px solid var(--line)}.recognition-grid span{font-size:.65rem;color:var(--muted)}.recognition-grid b{display:block;margin-top:45px;font-size:.94rem}.recognition-grid p{margin:7px 0 0;font-size:.75rem;color:var(--muted)}

.contact { position:relative;min-height:780px;padding:max(100px,12vw) max(24px,calc((100vw - var(--max))/2)) 30px;background:#7462ff;color:white;overflow:hidden;display:flex;flex-direction:column;justify-content:center; }.contact-orb{position:absolute;right:-12vw;top:-18vw;width:60vw;height:60vw;border:1px solid rgba(255,255,255,.15);border-radius:50%;box-shadow:inset 0 0 120px rgba(255,255,255,.05);animation:orbit 24s linear infinite}.contact-orb::before,.contact-orb::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%;inset:14%}.contact-orb::after{inset:30%}.contact .eyebrow{position:relative;z-index:2;margin-bottom:40px}.contact h2{position:relative;z-index:2;margin:0;font-size:clamp(4rem,9vw,9rem);line-height:.86;letter-spacing:-.075em;font-weight:510}.contact h2 em{font-family:Georgia,serif;color:var(--acid);font-weight:400}.contact-email{position:relative;z-index:2;align-self:flex-start;margin-top:65px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.5);font-size:clamp(1rem,2vw,1.5rem)}.contact-email span{color:var(--acid);margin-left:14px}.contact-footer{position:absolute;left:max(24px,calc((100vw - var(--max))/2));right:max(24px,calc((100vw - var(--max))/2));bottom:28px;display:grid;grid-template-columns:1fr 1fr 1fr;font-size:.68rem;color:rgba(255,255,255,.62)}.contact-footer p{margin:0}.contact-footer div{display:flex;justify-content:center;gap:25px}.contact-footer>a{text-align:right}

/* Teaching page */
.inner-page { background:#f4f3ee; }
.inner-header { color:var(--ink); }
.inner-header nav a { color:rgba(12,14,13,.62); }
.inner-header nav a:hover,.inner-header nav a:focus-visible,.inner-header nav a[aria-current="page"] { color:var(--ink); }
.inner-header .header-cta { border-color:rgba(12,14,13,.22); }
.dark-cta span { background:var(--ink); color:var(--acid); }
.education-hero { position:relative; min-height:940px; padding:180px max(24px,calc((100vw - var(--max))/2)) 0; background:var(--acid); color:var(--ink); overflow:hidden; }
.education-hero .eyebrow { color:rgba(12,14,13,.58); margin-bottom:55px; }
.education-hero-copy { position:relative; z-index:3; }
.education-hero h1 { max-width:1060px; margin:0; font-size:clamp(4rem,9.2vw,8.8rem); line-height:.84; letter-spacing:-.075em; font-weight:520; }
.education-hero h1 em { font-family:Georgia,serif; font-weight:400; color:#6553e8; }
.education-hero-bottom { display:flex; align-items:center; gap:50px; margin-top:65px; }
.education-hero-bottom p { max-width:560px; margin:0; line-height:1.55; font-size:1.08rem; }
.primary-pill { display:inline-flex; align-items:center; gap:18px; min-height:50px; padding:0 12px 0 20px; border-radius:99px; background:var(--ink); color:white; font-size:.76rem; font-weight:620; white-space:nowrap; }
.primary-pill span { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--acid); color:var(--ink); }
.learning-loop { position:absolute; z-index:1; right:-6vw; top:110px; width:470px; height:470px; border-radius:50%; border:1px solid rgba(12,14,13,.18); animation:orbit 28s linear infinite; }
.learning-loop::before { content:""; position:absolute; inset:65px; border-radius:50%; border:1px solid rgba(12,14,13,.16); }
.learning-loop span { position:absolute; padding:8px 12px; background:var(--paper); border:1px solid rgba(12,14,13,.12); border-radius:99px; font-size:.68rem; }
.learning-loop span:nth-child(1){left:5%;top:22%}.learning-loop span:nth-child(2){right:-2%;top:30%}.learning-loop span:nth-child(3){right:10%;bottom:18%}.learning-loop span:nth-child(4){left:2%;bottom:22%}.learning-loop i{position:absolute;inset:155px;display:grid;place-items:center;border-radius:50%;background:var(--violet);color:white;font-size:2.4rem;font-style:normal;font-weight:720;letter-spacing:-.08em}
.hero-proof { position:absolute; z-index:3; left:max(24px,calc((100vw - var(--max))/2)); right:max(24px,calc((100vw - var(--max))/2)); bottom:0; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(12,14,13,.22); }
.hero-proof article { min-height:135px; display:flex; align-items:flex-end; gap:20px; padding:25px 0; }
.hero-proof article+article{padding-left:30px;border-left:1px solid rgba(12,14,13,.22)}
.hero-proof strong { font-size:clamp(2.4rem,4vw,4.3rem); line-height:1; letter-spacing:-.065em; font-weight:540; }
.hero-proof span { max-width:100px; font-size:.72rem; line-height:1.3; opacity:.6; }
.large-heading { margin:0 0 70px; font-size:clamp(3rem,6vw,6rem); line-height:.92; letter-spacing:-.065em; font-weight:530; }
.line-icon { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; }
.audience-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.audience-card { min-height:390px; padding:26px; display:flex; flex-direction:column; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:background .3s ease,color .3s ease; }
.audience-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.audience-card-top > span { font-size:.64rem; color:var(--muted); }
.audience-card-top .line-icon { width:42px; height:42px; padding:9px; color:var(--violet); border:1px solid rgba(101,83,232,.28); border-radius:50%; transition:transform .3s ease,background .3s ease,color .3s ease; }
.audience-card:hover .audience-card-top .line-icon { transform:translateY(-3px) rotate(-4deg); background:var(--violet); color:white; }
.audience-card h3 { margin:auto 0 22px; font-size:clamp(1.6rem,2.4vw,2.4rem); line-height:1; letter-spacing:-.045em; }
.audience-card p { margin:0; color:var(--muted); line-height:1.55; font-size:.86rem; }
.audience-card b { margin-top:30px; font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; }
.programme-section { background:#0b0e0d; color:white; }
.programme-section .section-shell { padding-bottom:120px; }
.programme-list { border-top:1px solid rgba(255,255,255,.17); }
.programme-list article { display:grid; grid-template-columns:70px 1fr 210px; gap:35px; align-items:start; padding:35px 0; border-bottom:1px solid rgba(255,255,255,.17); }
.programme-list article > span { font-size:.65rem; color:rgba(255,255,255,.65); }
.programme-list h3 { margin:0 0 12px; font-size:clamp(1.6rem,2.7vw,2.7rem); letter-spacing:-.045em; font-weight:530; }
.programme-list p { max-width:650px; margin:0; color:rgba(255,255,255,.56); line-height:1.55; }
.programme-list b { justify-self:end; font-size:.67rem; color:var(--acid); text-transform:uppercase; letter-spacing:.08em; font-weight:540; }
.outcomes { display:grid; grid-template-columns:1.1fr .9fr; gap:100px; align-items:end; }
.outcome-story h2 { margin:0 0 30px; font-size:clamp(4rem,8vw,8rem); line-height:.8; letter-spacing:-.075em; font-weight:530; }
.outcome-story > p:last-child { max-width:550px; margin:0; color:var(--muted); font-size:1rem; line-height:1.65; }
.outcome-proof { padding:38px; background:#e7e3ff; }
.outcome-proof strong { display:block; margin-bottom:65px; text-transform:uppercase; font-size:.68rem; letter-spacing:.1em; color:#5942c6; }
.outcome-proof p { margin:0 0 25px; font-size:1.1rem; line-height:1.55; }
.outcome-proof p:last-child { margin:0; color:var(--muted); font-size:.82rem; }
.credibility { padding-top:30px; }
.credibility-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }
.credibility-grid article { min-height:220px; padding:25px 24px 20px 0; border-bottom:1px solid var(--line); }
.credibility-grid article+article { padding-left:24px; border-left:1px solid var(--line); }
.credibility-label { display:flex; align-items:center; gap:10px; color:var(--violet); }
.credibility-label .line-icon { width:18px; height:18px; }
.credibility-grid span { font-size:.65rem; text-transform:uppercase; letter-spacing:.08em; }
.credibility-grid p { margin:80px 0 0; color:var(--muted); font-size:.84rem; line-height:1.55; }
.faq { padding-top:35px; }
.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { min-height:84px; display:flex; align-items:center; justify-content:space-between; gap:30px; cursor:pointer; list-style:none; font-size:clamp(1.05rem,2vw,1.45rem); }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { font-size:1.4rem; font-weight:300; transition:transform .25s; }
.faq-list details[open] summary span { transform:rotate(45deg); }
.faq-list details p { max-width:780px; margin:0; padding:0 0 30px; color:var(--muted); line-height:1.6; }
.education-contact { position:relative; min-height:760px; padding:max(100px,12vw) max(24px,calc((100vw - var(--max))/2)) 100px; background:var(--violet); color:white; display:flex; flex-direction:column; justify-content:center; overflow:hidden; }
.education-contact::after { content:""; position:absolute; right:-15vw; top:-19vw; width:60vw; height:60vw; border-radius:50%; border:1px solid rgba(255,255,255,.17); box-shadow:0 0 0 8vw rgba(255,255,255,.025),0 0 0 16vw rgba(255,255,255,.025); }
.education-contact > * { position:relative; z-index:2; }
.education-contact h2 { margin:0; font-size:clamp(4rem,8vw,8rem); line-height:.87; letter-spacing:-.07em; font-weight:520; }
.education-contact h2 em { color:var(--acid); font-family:Georgia,serif; font-weight:400; }
.education-contact > p:not(.eyebrow) { max-width:600px; margin:45px 0 0; color:rgba(255,255,255,.68); line-height:1.55; }
.not-found { min-height:100svh; display:grid; place-items:center; background:#0b0e0d; color:white; }
.not-found main { width:min(calc(100% - 40px),900px); }
.not-found p { margin:80px 0 30px; color:rgba(255,255,255,.5); font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; }
.not-found h1 { margin:0 0 55px; font-size:clamp(4rem,10vw,9rem); line-height:.83; letter-spacing:-.07em; font-weight:520; }
.work,.freelance,.freelance-services,.freelance-process,.ai-lab,.teaching-preview,.about,.recommendations,.recognition,.audience-section,.programme-section,.outcomes,.credibility,.faq { content-visibility:auto; contain-intrinsic-size:auto 800px; }

/* Shared business footer */
.business-footer { position:relative; z-index:2; padding:100px max(24px,calc((100vw - var(--max))/2)) 28px; background:#080a09; color:white; }
.footer-top { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(60px,10vw,150px); padding-bottom:100px; }
.footer-mark { display:inline-block; margin-bottom:55px; font-size:1.5rem; font-weight:750; letter-spacing:-.07em; }
.footer-mark span { color:var(--acid); }
.footer-identity h2 { margin:0; font-size:clamp(3rem,5.8vw,6rem); line-height:.9; letter-spacing:-.065em; font-weight:520; }
.footer-identity h2 em { color:var(--acid); font-family:Georgia,serif; font-weight:400; }
.footer-identity > p { max-width:550px; margin:40px 0 0; color:rgba(255,255,255,.55); line-height:1.6; }
.footer-label { margin:0 0 35px!important; color:rgba(255,255,255,.58)!important; font-size:.67rem!important; text-transform:uppercase; letter-spacing:.11em; }
.footer-contacts { align-self:end; border-top:1px solid rgba(255,255,255,.17); padding-top:26px; }
.footer-contacts > a { min-height:59px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid rgba(255,255,255,.17); font-size:clamp(1rem,1.7vw,1.35rem); transition:color .2s,padding .2s; }
.footer-contacts > a:hover,.footer-contacts > a:focus-visible { padding-left:8px; color:var(--acid); }
.footer-contacts > a span { color:var(--acid); }
.footer-socials { display:flex; flex-wrap:wrap; gap:10px; margin-top:35px; }
.footer-socials a { min-height:42px; display:inline-flex; align-items:center; padding:0 15px; border:1px solid rgba(255,255,255,.2); border-radius:99px; font-size:.72rem; color:rgba(255,255,255,.7); transition:background .2s,color .2s; }
.footer-socials a:hover,.footer-socials a:focus-visible { background:var(--acid); border-color:var(--acid); color:var(--ink); }
.footer-map-grid { display:grid; grid-template-columns:.65fr 1.35fr; min-height:440px; border-top:1px solid rgba(255,255,255,.17); border-bottom:1px solid rgba(255,255,255,.17); }
.map-copy { padding:35px 45px 35px 0; display:flex; flex-direction:column; justify-content:flex-end; }
.map-copy h3 { margin:auto 0 45px; font-size:clamp(2.2rem,4vw,4.2rem); line-height:.92; letter-spacing:-.055em; font-weight:520; }
.map-copy > a { align-self:flex-start; padding-bottom:7px; border-bottom:1px solid rgba(255,255,255,.35); font-size:.75rem; }
.map-frame { min-height:440px; background:#1b1e1c; }
.map-frame iframe { display:block; width:100%; height:100%; min-height:440px; border:0; filter:grayscale(1) contrast(.92); }
.footer-bottom { min-height:100px; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:end; gap:25px; padding-top:28px; color:rgba(255,255,255,.58); font-size:.67rem; }
.footer-bottom p { margin:0; }
.footer-bottom p:nth-child(2) { justify-self:center; }
.footer-bottom p:last-child { justify-self:end; }
.visitor-count { display:flex; align-items:center; gap:8px; }
.visitor-dot { width:6px; height:6px; border-radius:50%; background:var(--acid); box-shadow:0 0 0 4px rgba(201,255,56,.1); }

.reveal { opacity:0; transform:translateY(34px); transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1); }.reveal.is-visible{opacity:1;transform:none}
/* Above-the-fold content must remain visible before JavaScript and observers initialise. */
.hero .reveal,.freelance-hero .reveal,.education-hero .reveal{opacity:1;transform:none}
:focus-visible{outline:2px solid var(--acid);outline-offset:4px}

@media (max-width: 850px) {
  .wordmark{width:52px;height:28px;flex-basis:52px;gap:0}.brand-tail-long{display:none}.brand-r-short{position:static;width:27px;height:26px;opacity:1;transform:none;animation:none}.brand-v-static{width:23px;height:26px;flex-basis:23px;transform:translateY(.25px)}.wordmark-name{display:none}
  .site-header{left:24px;right:24px;width:auto;transform:none}
  .site-header.is-scrolled{left:0;right:0;width:100%;height:60px;padding:0 24px;background:rgba(244,243,238,.98);backdrop-filter:none;-webkit-backdrop-filter:none}.site-header.is-open{top:0;height:76px;padding:0;background:transparent;border-color:transparent;border-radius:0;box-shadow:none}.site-header.is-open .wordmark{color:white}
  .site-header{height:76px}.menu-toggle{display:block;position:relative;z-index:72}.site-header>.header-cta{display:none}.site-header nav{display:flex;position:fixed;z-index:70;inset:0;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;padding:90px 24px 35px;background:#0b0e0d;transform:translateY(-102%);transition:transform .4s cubic-bezier(.2,.7,.2,1)}.site-header nav a{width:100%;padding:13px 0;color:white!important;font-size:clamp(2rem,9vw,3.5rem);font-weight:520;letter-spacing:-.05em;border-bottom:1px solid rgba(255,255,255,.12)}.site-header.is-open nav{transform:none}.site-header.is-open{position:fixed}.site-header.is-open .wordmark{position:relative;z-index:72}.site-header.is-open .menu-toggle{color:white}.site-header.is-open .menu-toggle>span:first-child{transform:translateY(3px) rotate(45deg)}.site-header.is-open .menu-toggle>span:nth-child(2){transform:translateY(-3px) rotate(-45deg)}body.nav-open{overflow:hidden}.hero{min-height:800px}.hero-copy{margin-top:60px}.hero h1{font-size:clamp(3.5rem,15.5vw,7rem);line-height:.88}.hero-bottom{align-items:center}.hero-bottom>p{max-width:70%}.circle-link{width:92px;height:92px}.section-heading{grid-template-columns:1fr;gap:28px}.section-heading>div{padding:0}.section-heading h2{font-size:clamp(2.7rem,11vw,5rem)}.pathway-grid{grid-template-columns:1fr}.project-featured{grid-template-columns:1fr;gap:35px}.project-featured .project-copy{padding:0}.project-visual{min-height:430px}.project-grid{grid-template-columns:1fr}.ai-stage,.about-grid,.teaching-layout{grid-template-columns:1fr;gap:60px}.recognition-grid{grid-template-columns:1fr 1fr}.human-strip{padding:40px}.shuttle{opacity:.25;right:2%}.contact{min-height:700px}.contact-footer{grid-template-columns:1fr auto}.contact-footer div{display:none}.education-hero{min-height:930px;padding-top:145px}.education-hero h1{font-size:clamp(3.7rem,14vw,7rem)}.learning-loop{opacity:.18;right:-45%;top:22%}.hero-proof article{flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:8px}.audience-grid{grid-template-columns:1fr 1fr}.programme-list article{grid-template-columns:45px 1fr}.programme-list b{grid-column:2;justify-self:start}.outcomes{grid-template-columns:1fr;gap:60px}.credibility-grid{grid-template-columns:1fr 1fr}.education-contact{min-height:700px}.education-contact .contact-footer{grid-template-columns:1fr auto}.education-contact .contact-footer div{display:none}.footer-top{grid-template-columns:1fr;gap:75px}.footer-map-grid{grid-template-columns:1fr}.map-copy{min-height:330px;padding-right:0}.footer-bottom{grid-template-columns:1fr;align-items:start;gap:12px}.footer-bottom p:nth-child(2),.footer-bottom p:last-child{justify-self:start}
}
@media (max-width: 540px) {
  .site-header{left:16px;right:16px;width:auto}
  .site-header.is-scrolled{left:0;right:0;width:100%;padding:0 16px}
  .site-header,.hero-copy,.section-shell{width:calc(100% - 32px)}.header-cta span{display:none}.hero{min-height:760px}.hero-copy{margin-top:20px}.hero h1{font-size:16.3vw}.hero-bottom{align-items:flex-start;gap:20px}.hero-bottom>p{max-width:calc(100% - 88px);font-size:.91rem}.circle-link{width:78px;height:78px;flex-shrink:0}.circle-link span{display:none}.section-shell{padding:90px 0}.pathway-title{font-size:12vw}.pathway-card{min-height:360px;padding:28px}.project-featured{padding-bottom:70px}.project-grid{margin-top:70px}.project-visual,.project-small .project-visual{min-height:350px}.call-panel{width:84%;padding:17px}.metric{padding:9px 11px}.metric b{font-size:1rem}.cx-card{width:76%;padding:22px}.cx-ring{width:112px;height:112px}.ai-lab{width:100%;padding-left:16px;padding-right:16px}.tool-card{grid-template-columns:38px 1fr auto}.impact-stats{grid-template-columns:1fr}.impact-stats article{min-height:140px}.placement-note{grid-template-columns:24px 1fr}.about-grid{gap:50px}.experience-list article{grid-template-columns:83px 1fr}.human-strip{margin-top:80px;min-height:280px;padding:30px}.human-strip h3{font-size:2.35rem}.recognition-grid{grid-template-columns:1fr}.recognition-grid article+article{padding-left:0;border-left:0}.contact{padding-left:16px;padding-right:16px}.contact h2{font-size:15vw}.contact-footer{left:16px;right:16px}.contact-email{font-size:.93rem}.education-hero{min-height:900px;padding:120px 16px 0}.education-hero .eyebrow{margin-bottom:35px}.education-hero h1{font-size:16vw}.education-hero-bottom{flex-direction:column;align-items:flex-start;gap:28px;margin-top:45px}.education-hero-bottom p{font-size:.92rem}.hero-proof{left:16px;right:16px}.hero-proof article{padding:20px 7px}.hero-proof article+article{padding-left:12px}.hero-proof strong{font-size:2.3rem}.hero-proof span{font-size:.63rem}.audience-grid{grid-template-columns:1fr}.audience-card{min-height:310px}.programme-section .section-shell{width:calc(100% - 32px)}.programme-list article{grid-template-columns:30px 1fr;gap:16px}.programme-list p{font-size:.85rem}.credibility-grid{grid-template-columns:1fr}.credibility-grid article+article{padding-left:0;border-left:0}.credibility-grid p{margin-top:45px}.education-contact{padding-left:16px;padding-right:16px}.education-contact h2{font-size:15vw}.education-contact .contact-footer{left:16px;right:16px}.large-heading{font-size:12vw}.business-footer{padding-left:16px;padding-right:16px;padding-top:75px}.footer-top{padding-bottom:75px}.footer-mark{margin-bottom:38px}.footer-contacts>a{font-size:.96rem;overflow-wrap:anywhere}.footer-socials a{min-height:44px}.map-copy{min-height:280px}.map-frame,.map-frame iframe{min-height:330px}.footer-bottom{min-height:150px;padding-bottom:10px}
}
@media (max-width: 850px) {
  .about-proof{max-width:560px}
  .freelance-hero{min-height:860px}
  .freelance-hero-copy{margin-top:75px}
  .freelance-hero h1{font-size:clamp(4rem,14vw,7rem)}
  .freelance-hero-bottom{max-width:100%;align-items:center}
  .freelance-intro{grid-template-columns:1fr;gap:35px;margin-bottom:60px;padding-bottom:50px}
  .freelance-grid{grid-template-columns:1fr}
  .freelance-featured{grid-column:auto;display:flex}
  .freelance-services-grid{grid-template-columns:1fr 1fr}
  .skills-section{grid-template-columns:1fr;gap:55px;margin-top:90px}
  .skills-tools{grid-column:1;margin-top:0}
}
@media (max-width: 540px) {
  .freelance-hero{min-height:820px}
  .freelance-hero-copy{width:calc(100% - 32px);margin-top:35px}
  .freelance-hero h1{font-size:15.8vw}
  .freelance-hero-bottom{margin-top:40px;align-items:flex-start;gap:18px}
  .freelance-hero-bottom>p{max-width:calc(100% - 82px);font-size:.9rem}
  .freelance-hero-bottom .circle-link{width:72px;height:72px;flex:0 0 72px}
  .freelance-hero-bottom .circle-link span{display:none}
  .freelance-stack{margin-top:38px}
  .freelance{width:100%;padding-left:16px;padding-right:16px}
  .freelance-intro{margin-bottom:42px;padding-bottom:38px}
  .freelance-lead{font-size:2rem}
  .freelance-copy{padding:24px}
  .freelance-copy>p{margin-bottom:26px}
  .freelance-copy>span{font-size:.84rem}
  .freelance-copy>b{padding-top:35px}
  .freelance-cta{min-height:190px;align-items:flex-start;flex-direction:column;justify-content:center}
  .freelance-services-grid{grid-template-columns:1fr}
  .freelance-services-grid article{min-height:240px}
  .freelance-process{width:100%;padding-left:16px;padding-right:16px}
  .freelance-process-grid article{min-height:190px;grid-template-columns:36px 1fr;gap:14px}
  .about-proof{grid-template-columns:1fr}
  .about-proof span{min-height:88px}
  .experience-list article{grid-template-columns:82px 1fr;gap:16px}
  .company-wordmark{font-size:1.05rem!important}
  .skills-section{margin-top:75px;padding-top:28px}
  .skills-grid{grid-template-columns:1fr}
  .skills-grid article{min-height:235px}
  .skills-tools{grid-template-columns:1fr;gap:12px}
}
@media (max-width: 540px) {
  .hero-evidence-head{align-items:flex-start;flex-direction:column;gap:9px}
  .hero-fit-intro{padding:0;font-size:.74rem}
  .hero-dual-role article{min-height:168px;padding:12px 10px}
  .hero-dual-role h3{font-size:.86rem}
  .hero-dual-role li{font-size:.57rem}
  .hero-role-proof>span{min-height:58px;padding:9px 7px;font-size:.51rem}
  .hero-role-proof b{font-size:1rem}
}
@media (pointer: coarse) { .cursor-glow{display:none} }
@media (prefers-reduced-motion: reduce) { html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none} }

/* Preserve the original composition while keeping its mobile navigation usable. */
@media (max-width: 850px) {
  .site-header > .header-actions { display:none; }
  .menu-toggle { margin-left:auto; }
}

/* Portfolio case studies — extends the restored visual system. */
.portfolio-case-entry{display:grid;grid-template-columns:5fr 7fr;margin-top:70px;border:1px solid var(--ink);background:white;overflow:hidden}.portfolio-case-entry-copy{padding:clamp(28px,4vw,58px);display:flex;flex-direction:column;justify-content:center}.portfolio-case-entry h3{margin:55px 0 18px;font-size:clamp(2.4rem,4.5vw,5.4rem);line-height:.9}.portfolio-case-entry-copy>p:not(.project-meta){margin:0;color:var(--muted)}.portfolio-case-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}.portfolio-case-entry-visual{position:relative;min-height:520px;overflow:hidden;background:var(--orange)}.portfolio-case-entry-visual img{position:absolute;border:1px solid var(--ink);object-fit:cover;box-shadow:10px 12px 0 rgba(17,17,15,.24)}.portfolio-case-entry-visual img:nth-child(1){left:6%;top:10%;width:61%;height:45%;transform:rotate(-3deg)}.portfolio-case-entry-visual img:nth-child(2){z-index:2;right:8%;top:12%;width:27%;height:68%;object-fit:cover;transform:rotate(4deg)}.portfolio-case-entry-visual img:nth-child(3){left:10%;bottom:6%;width:58%;height:34%;transform:rotate(2deg)}

.portfolio-cases-page .brand-accent{fill:var(--orange)}.portfolio-cases-page .site-header:not(.is-scrolled){color:var(--ink)}.portfolio-cases-hero{padding:clamp(150px,14vw,220px) max(24px,calc((100vw - var(--max))/2)) var(--section,120px)}.portfolio-cases-hero-copy,.portfolio-cases-strip{width:min(100%,var(--max));margin-inline:auto}.portfolio-cases-hero h1{max-width:1200px;margin:45px 0 60px;font-size:clamp(4rem,8.5vw,9.5rem);line-height:.82;font-weight:500;letter-spacing:-.065em}.portfolio-cases-hero h1 em{color:var(--orange);font-family:Georgia,serif;font-weight:400}.portfolio-cases-intro{display:grid;grid-template-columns:5fr 3fr;gap:50px;align-items:end;max-width:930px}.portfolio-cases-intro>p{margin:0;font-size:clamp(1rem,1.45vw,1.3rem);color:var(--muted)}.portfolio-cases-intro .hero-primary{justify-self:start}.portfolio-cases-strip{display:grid;grid-template-columns:5fr 3fr 4fr;gap:12px;margin-top:90px}.portfolio-cases-strip a{position:relative;min-height:360px;border:1px solid var(--ink);overflow:hidden;background:white}.portfolio-cases-strip img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.portfolio-cases-strip a:nth-child(2) img{object-position:center 28%}.portfolio-cases-strip a:hover img{transform:scale(1.035)}.portfolio-cases-strip span{position:absolute;left:14px;bottom:14px;padding:8px 10px;background:var(--acid);border:1px solid var(--ink);font-size:.6rem;font-weight:650;text-transform:uppercase;letter-spacing:.08em}
.portfolio-story{border-top:1px solid var(--line);scroll-margin-top:68px}.portfolio-story-heading{display:grid;grid-template-columns:3fr 8fr;gap:50px;margin-bottom:75px}.portfolio-story-heading>p{display:flex;align-items:flex-start;gap:10px;margin:8px 0 0;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}.portfolio-story-heading>p span{width:30px;height:30px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;flex:0 0 30px}.portfolio-story-heading h2{margin:0;font-size:clamp(3rem,6.3vw,7rem);line-height:.88;letter-spacing:-.06em}.portfolio-story-summary{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:70px;border-block:1px solid var(--ink)}.portfolio-story-summary>div{min-height:240px;padding:24px;border-left:1px solid var(--ink);display:flex;flex-direction:column}.portfolio-story-summary>div:first-child{border-left:0}.portfolio-story-summary small{font-size:.61rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.portfolio-story-summary p{margin:auto 0 0;font-size:.78rem}.portfolio-story-hero,.portfolio-story-gallery figure,.portfolio-phone-gallery figure{margin:0;border:1px solid var(--ink);background:white;overflow:hidden}.portfolio-story-hero img{display:block;width:100%;max-height:780px;object-fit:cover}.portfolio-story-hero figcaption{min-height:92px;padding:18px 22px;display:flex;justify-content:space-between;gap:30px;align-items:center;border-top:1px solid var(--ink)}.portfolio-story-hero figcaption span{color:var(--muted);font-size:.72rem}.portfolio-story-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.portfolio-story-gallery img{display:block;width:100%;height:430px;object-fit:cover}.portfolio-story-gallery figcaption{padding:15px 18px;border-top:1px solid var(--ink);font-size:.7rem}.portfolio-story-dark{padding-block:120px;background:var(--ink);color:var(--paper);scroll-margin-top:68px}.portfolio-story-dark>.section-shell{padding-block:0}.portfolio-story-dark .portfolio-story-summary{border-color:rgba(255,255,255,.3)}.portfolio-story-dark .portfolio-story-summary>div{border-color:rgba(255,255,255,.3)}.portfolio-story-dark .portfolio-story-summary small,.portfolio-story-dark .portfolio-story-summary p{color:rgba(255,255,255,.62)}.portfolio-phone-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.portfolio-phone-gallery figure{padding-top:28px;background:var(--orange)}.portfolio-phone-gallery img{display:block;width:78%;margin:auto}.portfolio-phone-gallery figcaption{padding:14px 16px;border-top:1px solid var(--ink);background:white;color:var(--ink);font-size:.68rem}.portfolio-source{display:grid;grid-template-columns:7fr 3fr;gap:50px;align-items:end;border-top:1px solid var(--line)}.portfolio-source h2{max-width:900px;margin:0;font-size:clamp(3rem,6vw,6.5rem);line-height:.9}.portfolio-source .hero-primary{justify-self:end}.case-study-footer{padding:24px max(24px,calc((100vw - var(--max))/2));display:flex;justify-content:space-between;gap:30px;background:var(--ink);color:rgba(255,255,255,.55);font-size:.68rem}.case-study-footer p{margin:0}

@media(max-width:900px){.portfolio-case-entry{grid-template-columns:1fr}.portfolio-case-entry-visual{min-height:500px}.portfolio-cases-intro{grid-template-columns:1fr}.portfolio-cases-strip{grid-template-columns:1fr 1fr}.portfolio-cases-strip a:first-child{grid-column:1/3}.portfolio-story-heading{grid-template-columns:1fr}.portfolio-story-summary{grid-template-columns:1fr}.portfolio-story-summary>div{min-height:180px;border-left:0;border-top:1px solid var(--ink)}.portfolio-story-summary>div:first-child{border-top:0}.portfolio-story-dark .portfolio-story-summary>div{border-color:rgba(255,255,255,.3)}.portfolio-phone-gallery{grid-template-columns:1fr 1fr}.portfolio-source{grid-template-columns:1fr}.portfolio-source .hero-primary{justify-self:start}}
@media(max-width:600px){.portfolio-case-entry{margin-top:45px}.portfolio-case-entry h3{font-size:2.45rem}.portfolio-case-actions{display:grid}.portfolio-case-entry-visual{min-height:360px}.portfolio-cases-hero{padding:120px 16px 82px}.portfolio-cases-hero h1{margin:38px 0;font-size:14vw}.portfolio-cases-strip{grid-template-columns:1fr;margin-top:55px}.portfolio-cases-strip a,.portfolio-cases-strip a:first-child{grid-column:auto;min-height:260px}.portfolio-cases-strip a:nth-child(2){min-height:380px}.portfolio-story-heading{gap:32px;margin-bottom:48px}.portfolio-story-heading h2{font-size:12vw}.portfolio-story-summary{margin-bottom:45px}.portfolio-story-summary>div{min-height:160px;padding:20px}.portfolio-story-hero figcaption{display:block}.portfolio-story-hero figcaption b,.portfolio-story-hero figcaption span{display:block}.portfolio-story-gallery{grid-template-columns:1fr}.portfolio-story-gallery img{height:auto}.portfolio-phone-gallery{gap:8px}.portfolio-phone-gallery figure{padding-top:16px}.portfolio-phone-gallery img{width:88%}.portfolio-source h2{font-size:12vw}.case-study-footer{padding-bottom:85px;flex-direction:column;gap:8px}}

.portfolio-cases-page .site-header:not(.is-scrolled) nav a{color:rgba(12,14,13,.68)}
.portfolio-cases-page .site-header:not(.is-scrolled) nav a:hover,
.portfolio-cases-page .site-header:not(.is-scrolled) nav a:focus-visible{color:var(--ink)}
.portfolio-cases-page .site-header:not(.is-scrolled) .header-cta{border-color:rgba(12,14,13,.24)}
.portfolio-cases-page .eyebrow{color:var(--muted)}

/* Storytelling content bridge — keeps the restored visual design while styling
   every component used by the richer narrative content. */
.story-rail{position:fixed;z-index:65;right:18px;top:50%;display:flex;flex-direction:column;gap:6px;padding:9px 7px;border:1px solid var(--line);border-radius:99px;background:rgba(244,243,238,.88);box-shadow:0 10px 30px rgba(12,14,13,.08);backdrop-filter:blur(12px);transform:translateY(-50%)}
.story-rail a{position:relative;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:rgba(12,14,13,.42);font-size:.5rem;font-weight:700}
.story-rail a::before{content:"";position:absolute;inset:8px;border:1px solid currentColor;border-radius:50%}
.story-rail a span{position:relative;z-index:1;opacity:0}.story-rail a em{position:absolute;right:38px;top:50%;padding:7px 10px;background:var(--ink);color:var(--paper);font-size:.64rem;font-style:normal;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(8px,-50%);transition:.25s cubic-bezier(.2,.7,.2,1)}
.story-rail a:hover em,.story-rail a:focus-visible em{opacity:1;transform:translate(0,-50%)}.story-rail a.is-active{background:var(--ink);color:var(--acid)}.story-rail a.is-active::before{display:none}.story-rail a.is-active span{opacity:1}

.home-page .hero{min-height:960px;padding:120px 0 64px;align-items:center}.home-page .hero-copy{margin-top:72px}.hero-availability{display:flex;align-items:center;gap:9px;color:var(--acid)}.hello-icon{font-size:1.15rem;filter:saturate(.7)}.home-page .hero h1{max-width:930px;font-size:clamp(3.7rem,7.4vw,7.2rem);line-height:.84}.typewriter-word{display:inline-block}.typewriter-word::after{content:"";display:inline-block;width:.055em;height:.72em;margin-left:.055em;background:var(--orange);animation:caret .8s steps(2,end) infinite}@keyframes caret{50%{opacity:0}}
.home-page .hero-bottom{display:grid;grid-template-columns:minmax(300px,4fr) minmax(430px,6fr);gap:clamp(34px,6vw,78px);align-items:end;max-width:none;margin-top:clamp(32px,5vh,54px)}.hero-intro{display:flex;flex-direction:column;justify-content:flex-end}.hero-intro>p{max-width:540px;margin:0;color:rgba(255,255,255,.68);font-size:clamp(.96rem,1.2vw,1.15rem);line-height:1.6}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.hero-actions a,.portfolio-case-actions a{min-height:50px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid rgba(255,255,255,.3);border-radius:99px;font-size:.76rem;font-weight:650;transition:transform .25s,background .25s,color .25s}.hero-primary{background:var(--acid);border-color:var(--acid)!important;color:var(--ink)}.hero-secondary{color:inherit}.hero-actions a:hover,.portfolio-case-actions a:hover{transform:translateY(-3px);background:white;color:var(--ink)}
.hero-evidence{position:relative;padding:24px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.055);backdrop-filter:blur(12px)}.hero-evidence::before{content:"";position:absolute;left:-1px;top:-1px;width:54px;height:4px;background:var(--acid)}.hero-evidence-head{display:flex;justify-content:space-between;gap:15px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.16)}.hero-evidence-head p,.hero-evidence-head span{margin:0;font-size:.63rem;letter-spacing:.12em;text-transform:uppercase}.hero-evidence-head span{color:var(--acid)}.hero-fit-intro{margin:16px 0 13px;font-size:.7rem;color:rgba(255,255,255,.62)}.hero-fit-intro strong{color:white}.hero-dual-role{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.14)}.hero-dual-role article{min-height:142px;padding:14px}.hero-dual-role article+article{border-left:1px solid rgba(255,255,255,.14)}.hero-dual-role article>div{display:flex;align-items:baseline;gap:9px}.hero-dual-role h2{margin:0;font-size:1rem;letter-spacing:-.03em}.hero-dual-role article>div span{font-size:.56rem;color:var(--acid)}.hero-dual-role ul{padding:0;margin:16px 0 0;list-style:none}.hero-dual-role li{margin-top:4px;font-size:.65rem;color:rgba(255,255,255,.64)}.hero-role-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:10px;background:rgba(255,255,255,.15)}.hero-role-proof>span{min-height:54px;padding:9px;display:flex;flex-direction:column;justify-content:center;background:#070908;font-size:.54rem;color:rgba(255,255,255,.58)}.hero-role-proof b{font-size:1.18rem;color:white;line-height:1}.hero-company-line{margin:13px 0 0;display:flex;flex-direction:column;gap:3px;font-size:.56rem;color:rgba(255,255,255,.46)}.hero-company-line span{text-transform:uppercase;letter-spacing:.12em}.hero-company-line b{color:rgba(255,255,255,.78);font-weight:500}

.card-kicker,.skill-card-top,.service-card-top{display:flex;align-items:center;justify-content:space-between;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase}.capability-graphic{position:relative;height:145px;margin:22px 0;display:grid;place-items:center}.capability-graphic i,.capability-graphic span{position:absolute;display:block;border:1px solid currentColor}.graphic-direction i{width:118px;height:118px;border-radius:50%}.graphic-direction span:nth-child(2){width:10px;height:10px;border-radius:50%;background:var(--violet);animation:radar 4s ease-in-out infinite}.graphic-direction span:nth-child(3){width:1px;height:125px;transform:rotate(45deg)}@keyframes radar{0%,100%{transform:translate(-36px,28px)}50%{transform:translate(38px,-31px)}}.graphic-systems i{width:82px;height:82px;transform:rotate(45deg)}.graphic-systems span{width:31px;height:31px;background:var(--ink)}.graphic-systems span:nth-child(2){transform:translate(-52px,-38px)}.graphic-systems span:nth-child(3){transform:translate(52px,-38px)}.graphic-systems span:nth-child(4){transform:translate(0,54px)}.graphic-leadership i{width:108px;height:108px;border-radius:50%}.graphic-leadership span{width:35px;height:35px;border-radius:50%;background:var(--paper)}.graphic-leadership span:nth-child(2){transform:translate(-47px,5px)}.graphic-leadership span:nth-child(3){transform:translate(47px,5px)}.graphic-leadership span:nth-child(4){background:var(--acid);transform:translateY(-41px)}

.company-logo-link{min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.company-logo-link img{display:block;width:auto;max-width:145px;max-height:28px;object-fit:contain;object-position:left}.company-logo-link span{font-size:.8rem;color:var(--violet)}.o9-logo strong{font-size:.9rem}.o9-logo img{width:28px}.cgi-logo img{max-width:60px}.experience-role{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 20px}.experience-role>a{grid-column:1/3}.experience-role>span{text-align:right}

.skills-positioning{margin-top:24px;color:var(--muted);font-size:.88rem;line-height:1.6}.skill-card-top{color:var(--violet)}.skills-grid article{min-height:360px}.skills-grid h4{margin:42px 0 12px}.skills-grid article>p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.55}.skills-grid ul{margin:20px 0 0}.skills-grid li{padding:0;border:0;border-radius:0;color:var(--ink)}.skills-grid li::before{content:"↳";margin-right:7px;color:var(--violet)}.skills-tools{margin-top:26px}.service-card-top{color:var(--violet)}.freelance-services-grid article:nth-child(2) .service-card-top,.freelance-services-grid article:nth-child(4) .service-card-top{color:var(--ink)}

.learning-path-graphic{display:grid;grid-template-columns:repeat(4,1fr);margin:30px 0}.learning-path-graphic span{position:relative;padding-top:25px;border-top:2px solid var(--ink);font-size:.58rem;text-transform:uppercase}.learning-path-graphic span::before{content:"";position:absolute;left:0;top:-7px;width:11px;height:11px;border-radius:50%;background:var(--violet)}.learning-path-graphic i{display:block;font-style:normal;color:#5942c6}

.contact>.eyebrow,.contact>h2,.contact>.contact-cta,.education-contact>.eyebrow,.education-contact>h2,.education-contact>.contact-cta{position:relative;z-index:2;width:min(100%,var(--max));margin-left:auto;margin-right:auto}.contact-cta{display:grid;grid-template-columns:4fr 8fr;gap:clamp(40px,8vw,120px);align-items:end;margin-top:clamp(55px,7vw,90px)}.contact-intro{margin:0;color:rgba(255,255,255,.7)}.contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.contact-action{min-height:90px;padding:17px 19px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(255,255,255,.3);transition:transform .25s,background .25s}.contact-action-primary{background:var(--acid);border-color:var(--acid);color:var(--ink)}.contact-action:hover{transform:translateY(-5px)}.contact-action>span{display:flex;flex-direction:column}.contact-action small{font-size:.58rem;text-transform:uppercase;letter-spacing:.1em}.contact-action strong{font-size:.96rem}.contact-action>b{font-size:1.1rem}.education-contact .contact-action-secondary{border-color:var(--ink)}.education-contact .contact-intro{color:rgba(12,14,13,.68)}

.footer-mark .brand-symbol{width:78px;color:white}.footer-contact-icon{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.5}.footer-contact-copy{display:flex;flex-direction:column}.footer-contact-copy small{font-size:.58rem;color:rgba(255,255,255,.48);text-transform:uppercase}.social-icon{width:15px;height:15px;fill:currentColor}.social-icon-instagram{fill:none;stroke:currentColor;stroke-width:1.8}.whatsapp-fab{position:fixed;z-index:68;right:22px;bottom:22px;min-height:52px;padding:0 18px;display:flex;align-items:center;gap:10px;border:1px solid var(--ink);border-radius:99px;background:var(--acid);color:var(--ink);box-shadow:0 12px 35px rgba(0,0,0,.18);font-size:.72rem;font-weight:650;transition:transform .25s}.whatsapp-fab:hover{transform:translateY(-4px)}.whatsapp-fab svg{display:block;width:21px;height:21px;fill:currentColor}

@media(max-width:1180px){.story-rail{display:none}.home-page .hero{min-height:auto;padding-top:130px}.home-page .hero-bottom{grid-template-columns:1fr;gap:38px}.hero-evidence{max-width:720px}.company-logo-link img{max-width:135px}.contact-cta{grid-template-columns:1fr}.skills-section{grid-template-columns:1fr}.skills-tools{grid-column:1}.recommendation-grid{grid-template-columns:1fr 1fr}.recommendation-proof{grid-column:1/3}}
@media(max-width:850px){.home-page .hero{min-height:auto;padding:115px 0 70px}.home-page .hero-copy{margin-top:0}.home-page .hero h1{font-size:clamp(3.5rem,14vw,6.8rem)}.home-page .hero-bottom{display:grid;align-items:start}.hero-actions{display:flex}.skills-grid{grid-template-columns:1fr}.skills-grid article,.skills-grid article:nth-child(even){min-height:auto;padding:28px 0;border-left:0}.skills-tools{grid-template-columns:1fr;gap:12px}.contact-actions{grid-template-columns:1fr}.experience-role{grid-template-columns:1fr}.experience-role>a{grid-column:1}.experience-role>span{text-align:left}.recommendation-grid{grid-template-columns:1fr}.recommendation-proof{grid-column:auto}}
@media(max-width:540px){.home-page .hero{padding:108px 0 55px}.home-page .hero h1{font-size:15vw}.hero-actions{display:grid}.hero-actions a{min-height:50px}.hero-evidence{padding:18px}.hero-evidence-head{align-items:flex-start;flex-direction:column;gap:8px}.hero-fit-intro{font-size:.68rem}.hero-dual-role article{min-height:150px;padding:11px}.hero-dual-role h2{font-size:.88rem}.hero-dual-role li{font-size:.58rem}.hero-role-proof>span{font-size:.51rem}.hero-role-proof b{font-size:1rem}.hero-company-line{font-size:.53rem}.capability-graphic{height:120px}.contact-action{min-height:82px}.footer-mark .brand-symbol{width:62px}.whatsapp-fab{right:16px;bottom:16px;width:52px;padding:0;justify-content:center}.whatsapp-fab span{display:none}}

/* Traditional contact and footer — stable hierarchy, readable sizing and one
   consistent business-contact pattern across every page. */
.contact,.education-contact{
  min-height:auto;
  padding:clamp(88px,9vw,124px) max(24px,calc((100vw - var(--max))/2));
  display:block;
  background:#eceae3;
  color:var(--ink);
  overflow:hidden;
}
.contact-orb,.education-contact::after{display:none}
.contact>.eyebrow,.contact>h2,.contact>.contact-cta,
.education-contact>.eyebrow,.education-contact>h2,.education-contact>.contact-cta{width:min(100%,var(--max));margin-left:auto;margin-right:auto}
.contact>.eyebrow,.education-contact>.eyebrow{margin-bottom:28px;color:var(--muted);font-size:.72rem;font-weight:650;letter-spacing:.11em}
.contact h2,.education-contact h2{
  max-width:900px;
  margin-top:0;
  margin-bottom:0;
  font-size:clamp(3.2rem,6.2vw,6.2rem);
  line-height:.94;
  letter-spacing:-.06em;
  font-weight:520;
}
.contact h2 em,.education-contact h2 em{color:var(--violet);font-family:"Geist Variable","Geist",Arial,sans-serif;font-style:normal;font-weight:520}
.contact-cta{
  grid-template-columns:minmax(250px,.75fr) minmax(520px,1.25fr);
  gap:clamp(45px,7vw,95px);
  align-items:start;
  margin-top:64px;
  padding-top:42px;
  border-top:1px solid var(--line);
}
.contact-intro,.education-contact .contact-intro{max-width:460px;margin:0;color:var(--muted);font-size:1.05rem;line-height:1.65;font-weight:430}
.contact-actions{gap:12px}
.contact-action{
  min-height:104px;
  padding:20px 22px;
  border:1px solid rgba(12,14,13,.22);
  border-radius:0;
  color:var(--ink);
  background:#f7f6f1;
}
.contact-action-primary{border-color:var(--ink);background:var(--ink);color:white}
.contact-action-secondary,.education-contact .contact-action-secondary{border-color:rgba(12,14,13,.22);color:var(--ink)}
.contact-action small{margin-bottom:7px;color:inherit;font-size:.65rem;font-weight:650;letter-spacing:.1em}
.contact-action strong{font-size:clamp(.9rem,1.25vw,1.08rem);font-weight:570;line-height:1.3}
.contact-action>b{font-size:1.2rem;font-weight:430}
.contact-action:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(12,14,13,.08)}

.business-footer{
  padding:76px max(24px,calc((100vw - var(--max))/2)) 24px;
  background:#101211;
  color:white;
}
.footer-top{grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);gap:clamp(55px,8vw,110px);padding-bottom:74px}
.footer-mark{margin:0 0 32px}
.footer-mark .brand-symbol{width:68px;height:auto}
.footer-identity h2{font-size:clamp(2.5rem,4.2vw,4.35rem);line-height:.98;letter-spacing:-.055em;font-weight:520}
.footer-identity h2 em{font-family:"Geist Variable","Geist",Arial,sans-serif;font-style:normal;color:var(--acid);font-weight:520}
.footer-identity>p{max-width:510px;margin-top:28px;color:rgba(255,255,255,.66);font-size:.96rem;line-height:1.65;font-weight:420}
.footer-label{margin-bottom:22px!important;color:rgba(255,255,255,.58)!important;font-size:.68rem!important;font-weight:650;text-transform:uppercase;letter-spacing:.11em}
.footer-contacts{align-self:start;padding-top:0;border-top:0}
.footer-contacts>a{
  min-height:68px;
  padding:12px 0;
  display:flex;
  align-items:center;
  gap:14px;
  border-top:1px solid rgba(255,255,255,.15);
  border-bottom:0;
  font-size:1rem;
}
.footer-contacts>a:last-of-type{border-bottom:1px solid rgba(255,255,255,.15)}
.footer-contacts>a:hover,.footer-contacts>a:focus-visible{padding-left:6px}
.footer-contact-icon{width:20px;height:20px;color:rgba(255,255,255,.68)}
.footer-contact-copy{min-width:0;flex:1;gap:3px}
.footer-contact-copy small{font-size:.62rem;font-weight:560;letter-spacing:.07em}
.footer-contact-copy b{overflow-wrap:anywhere;font-size:clamp(.92rem,1.2vw,1.08rem);font-weight:540;line-height:1.35}
.footer-contacts>a>span:last-child{flex:0 0 auto}
.footer-socials{gap:9px;margin-top:26px}
.footer-socials a{min-height:42px;padding:0 14px;font-size:.75rem;font-weight:520}

.footer-map-grid{
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
  min-height:360px;
  border-top:1px solid rgba(255,255,255,.16);
  border-bottom:1px solid rgba(255,255,255,.16);
}
.map-copy{min-height:360px;padding:32px 42px 32px 0;justify-content:flex-start}
.map-copy .footer-label{margin-bottom:auto!important}
.map-copy h3{margin:42px 0 24px;font-size:clamp(2rem,3.25vw,3.35rem);line-height:1.02;letter-spacing:-.045em;font-weight:520}
.map-copy>a{
  align-self:flex-start;
  min-height:44px;
  padding:0 15px;
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(255,255,255,.28);
  border-radius:99px;
  font-size:.76rem;
  font-weight:580;
  transition:background .2s,color .2s,border-color .2s;
}
.map-copy>a:hover,.map-copy>a:focus-visible{border-color:var(--acid);background:var(--acid);color:var(--ink)}
.map-frame,.map-frame iframe{min-height:360px}
.map-frame{border-left:1px solid rgba(255,255,255,.16);background:#1a1d1b}
.map-frame iframe{filter:grayscale(.9) contrast(.95)}
.footer-bottom{min-height:84px;padding-top:24px;color:rgba(255,255,255,.62);font-size:.75rem;line-height:1.45}
.visitor-count{gap:9px}

@media(max-width:900px){
  .contact-cta{grid-template-columns:1fr;gap:32px}
  .contact-intro,.education-contact .contact-intro{max-width:650px}
  .footer-top{grid-template-columns:1fr;gap:58px}
  .footer-map-grid{grid-template-columns:1fr}
  .map-copy{min-height:285px;padding-right:0}
  .map-frame{border-top:1px solid rgba(255,255,255,.16);border-left:0}
}
@media(max-width:600px){
  .contact,.education-contact{padding:76px 16px}
  .contact h2,.education-contact h2{font-size:13vw;line-height:.98}
  .contact-cta{margin-top:46px;padding-top:30px}
  .contact-intro,.education-contact .contact-intro{font-size:.96rem}
  .contact-actions{grid-template-columns:1fr}
  .contact-action{min-height:88px;padding:17px}
  .business-footer{padding:62px 16px 20px}
  .footer-top{gap:50px;padding-bottom:58px}
  .footer-mark{margin-bottom:26px}
  .footer-identity h2{font-size:11.5vw}
  .footer-identity>p{font-size:.9rem}
  .footer-contacts>a{min-height:64px}
  .footer-socials{display:grid;grid-template-columns:1fr 1fr}
  .footer-socials a{justify-content:center}
  .map-copy{min-height:255px;padding:28px 0}
  .map-copy h3{font-size:2.25rem}
  .map-copy>a{font-size:.7rem}
  .map-frame,.map-frame iframe{min-height:300px}
  .footer-bottom{min-height:auto;padding:26px 0 72px;gap:13px;font-size:.72rem}
}

/* Contact panel V2 — a compact, self-contained enquiry block that stays
   visually separate from the business footer. */
.contact,.education-contact{
  position:relative;
  width:min(calc(100% - 48px),var(--max));
  min-height:0;
  margin:clamp(72px,8vw,112px) auto;
  padding:clamp(42px,5vw,64px);
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);
  grid-template-rows:auto 1fr;
  column-gap:clamp(48px,7vw,96px);
  row-gap:28px;
  align-items:start;
  border:1px solid rgba(12,14,13,.16);
  border-top:4px solid var(--violet);
  background:#fff;
  color:var(--ink);
  overflow:hidden;
  box-shadow:0 24px 70px rgba(12,14,13,.07);
}
.contact::after,.education-contact::before{
  content:"";
  position:absolute;
  right:-90px;
  bottom:-90px;
  width:250px;
  height:250px;
  border:1px solid rgba(12,14,13,.07);
  border-radius:50%;
  box-shadow:0 0 0 48px rgba(12,14,13,.018),0 0 0 96px rgba(12,14,13,.014);
  pointer-events:none;
}
.contact>.eyebrow,.education-contact>.eyebrow{
  grid-column:1;
  width:auto;
  margin:0;
  padding:0;
  color:var(--violet);
  font-size:.69rem;
  font-weight:680;
  letter-spacing:.12em;
}
.contact>h2,.education-contact>h2{
  grid-column:1;
  width:auto;
  max-width:650px;
  margin:0;
  align-self:start;
  font-size:clamp(3rem,5.1vw,5.15rem);
  line-height:.96;
  letter-spacing:-.058em;
  font-weight:520;
}
.contact>h2 em,.education-contact>h2 em{color:var(--ink);font-style:normal}
.contact-cta{
  grid-column:2;
  grid-row:1/3;
  width:auto;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:28px;
  align-self:stretch;
  border:0;
}
.contact-intro,.education-contact .contact-intro{
  max-width:520px;
  margin:0;
  color:var(--muted);
  font-size:1rem;
  line-height:1.7;
  font-weight:440;
}
.contact-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:auto}
.contact-action{
  min-height:88px;
  padding:17px 19px;
  border:1px solid var(--line);
  background:#f6f5f0;
  color:var(--ink);
}
.contact-action-primary{border-color:var(--acid);background:var(--acid);color:var(--ink)}
.contact-action-secondary,.education-contact .contact-action-secondary{border-color:var(--line);background:#f6f5f0;color:var(--ink)}
.contact-action small{font-size:.62rem;font-weight:680;letter-spacing:.11em}
.contact-action strong{font-size:clamp(.96rem,1.3vw,1.12rem);font-weight:570}
.contact-action:hover{border-color:var(--ink);background:var(--ink);color:white;box-shadow:none}

@media(max-width:900px){
  .contact,.education-contact{grid-template-columns:1fr;grid-template-rows:auto;gap:26px}
  .contact>.eyebrow,.education-contact>.eyebrow,
  .contact>h2,.education-contact>h2,
  .contact-cta{grid-column:1;grid-row:auto}
  .contact>h2,.education-contact>h2{max-width:760px}
  .contact-cta{margin-top:16px;padding-top:30px;border-top:1px solid var(--line)}
  .contact-actions{grid-template-columns:1fr 1fr;margin-top:0}
}
@media(max-width:600px){
  .contact,.education-contact{
    width:calc(100% - 32px);
    margin:64px auto;
    padding:32px 22px;
    row-gap:22px;
  }
  .contact>h2,.education-contact>h2{font-size:12vw;line-height:1}
  .contact-cta{gap:24px;margin-top:8px;padding-top:24px}
  .contact-intro,.education-contact .contact-intro{font-size:.94rem;line-height:1.65}
  .contact-actions{grid-template-columns:1fr}
  .contact-action{min-height:82px}
}

/* Persistent chapter labels and simplified full-width location footer. */
.story-rail{
  right:16px;
  gap:2px;
  padding:8px;
  border-radius:12px;
}
.story-rail a{
  width:136px;
  height:34px;
  padding:0 9px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  border-radius:7px;
}
.story-rail a::before{
  position:static;
  inset:auto;
  width:6px;
  height:6px;
  flex:0 0 6px;
}
.story-rail a em{
  position:static;
  right:auto;
  top:auto;
  order:-1;
  margin-right:auto;
  padding:0;
  background:transparent;
  color:var(--muted);
  font-size:.65rem;
  font-weight:560;
  opacity:1;
  transform:none;
}
.story-rail a:hover em,.story-rail a:focus-visible em{opacity:1;transform:none;color:var(--ink)}
.story-rail a span{display:none;opacity:1}
.story-rail a.is-active{background:var(--ink);color:var(--acid)}
.story-rail a.is-active span{display:inline;font-size:.56rem}
.story-rail a.is-active em{color:var(--paper)}

.footer-map-grid{
  min-height:0;
  display:block;
  border-top:1px solid rgba(255,255,255,.16);
  border-bottom:0;
}
.map-copy{
  min-height:76px;
  padding:15px 0;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.map-copy .footer-label{margin:0!important}
.map-copy>a{flex:0 0 auto}
.map-frame{
  width:100%;
  min-height:430px;
  border-top:1px solid rgba(255,255,255,.16);
  border-left:0;
  background:#dfe8e4;
}
.map-frame iframe{width:100%;min-height:430px;filter:none}
.footer-bottom{
  min-height:96px;
  padding-top:26px;
  border-top:1px solid rgba(255,255,255,.16);
  color:rgba(255,255,255,.72);
  font-size:.86rem;
  font-weight:470;
}
.footer-socials a[aria-label*="LinkedIn"]:hover,
.footer-socials a[aria-label*="LinkedIn"]:focus-visible{border-color:#0a66c2;background:#0a66c2;color:white}
.footer-socials a[aria-label*="Instagram"]:hover,
.footer-socials a[aria-label*="Instagram"]:focus-visible{
  border-color:#c13584;
  background:linear-gradient(135deg,#feda75 0%,#fa7e1e 25%,#d62976 55%,#962fbf 78%,#4f5bd5 100%);
  color:white;
}

@media(max-width:900px){
  .map-copy{min-height:90px}
  .map-frame,.map-frame iframe{min-height:380px}
}
@media(max-width:600px){
  .map-copy{min-height:124px;padding:23px 0;align-items:flex-start;flex-direction:column;justify-content:center;gap:18px}
  .map-frame,.map-frame iframe{min-height:330px}
  .footer-bottom{padding-top:24px;font-size:.82rem}
}

/* Crisp logo choreography — the V remains anchored while the tracked full
   name retracts into a compact VR mark behind a quick neon scan. */
.wordmark{width:207px;flex-basis:207px;isolation:isolate}
.brand-tail-long{
  position:absolute;
  z-index:1;
  left:23px;
  top:50%;
  display:block;
  width:178px;
  height:26px;
  color:currentColor;
  transform:translate3d(0,-50%,0);
  transform-origin:left center;
  will-change:clip-path,opacity;
  animation:brandTypeCrisp 10s cubic-bezier(.65,0,.2,1) infinite;
}
.brand-tail-type{display:none}
.brand-r-short{
  top:50%;
  left:23px;
  width:27px;
  height:26px;
  opacity:0;
  transform:translate3d(20px,-50%,0);
  animation:brandMarkCrisp 10s cubic-bezier(.2,.75,.2,1) infinite;
}
.wordmark::after{
  content:"";
  position:absolute;
  z-index:4;
  left:23px;
  top:2px;
  width:2px;
  height:24px;
  border-radius:2px;
  background:var(--acid);
  box-shadow:0 0 8px var(--acid),0 0 18px rgba(201,255,56,.55);
  opacity:0;
  transform:translate3d(0,0,0);
  will-change:transform,opacity;
  animation:brandScan 10s cubic-bezier(.65,0,.2,1) infinite;
}
@keyframes brandTypeCrisp{
  0%,38%,91%,100%{opacity:1;clip-path:inset(-10% -3% -10% 0)}
  47%,82%{opacity:1;clip-path:inset(-10% 100% -10% 0)}
}
@keyframes brandMarkCrisp{
  0%,50%,82%,100%{opacity:0;transform:translate3d(20px,-50%,0)}
  54%,78%{opacity:1;transform:translate3d(0,-50%,0)}
}
@keyframes brandScan{
  0%,38%,48%,82%,92%,100%{opacity:0}
  39%,83%{opacity:1}
  47%{opacity:0;transform:translate3d(176px,0,0)}
  84%{opacity:1;transform:translate3d(176px,0,0)}
  91%{opacity:0;transform:translate3d(0,0,0)}
}

@media(max-width:850px){
  .wordmark{width:52px;flex-basis:52px}
  .brand-tail-long,.brand-tail-type,.wordmark::after{display:none}
  .brand-r-short{position:static;top:auto;left:auto;width:27px;height:26px;opacity:1;transform:none;animation:none}
}

/* Compact contact details and footer utility row. */
.contact-actions{
  gap:0;
  overflow:hidden;
  border:1px solid var(--line);
  background:#f6f5f0;
}
.contact-action,
.contact-action-secondary,
.education-contact .contact-action-secondary{
  min-height:76px;
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent;
}
.contact-action:last-child{border-bottom:0}
.contact-action-primary{background:var(--acid);color:var(--ink)}
.contact-action-linkedin small{color:#0a66c2}
.contact-action-linkedin:hover,.contact-action-linkedin:focus-visible{background:#0a66c2;color:white}
.contact-action-linkedin:hover small,.contact-action-linkedin:focus-visible small{color:white}

.footer-identity h2{font-size:clamp(2.15rem,3.4vw,3.6rem);line-height:1.02;letter-spacing:-.05em}
.footer-bottom{
  grid-template-columns:auto minmax(220px,1fr) auto auto;
  align-items:end;
  gap:clamp(18px,3vw,42px);
}
.footer-bottom p:nth-child(2){justify-self:center}
.footer-bottom p:nth-child(3){justify-self:end}
.footer-to-top{
  justify-self:end;
  min-height:36px;
  padding:0 12px;
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(255,255,255,.24);
  border-radius:99px;
  color:white;
  font-size:.75rem;
  font-weight:580;
  white-space:nowrap;
  transition:background .2s,color .2s,border-color .2s;
}
.footer-to-top:hover,.footer-to-top:focus-visible{border-color:var(--acid);background:var(--acid);color:var(--ink)}
.map-actions{display:flex;align-items:center;gap:9px}
.map-actions>a{
  min-height:40px;
  padding:0 13px;
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(255,255,255,.24);
  border-radius:99px;
  color:white;
  font-size:.73rem;
  font-weight:580;
  white-space:nowrap;
  transition:background .2s,color .2s,border-color .2s;
}
.map-actions>a:hover,.map-actions>a:focus-visible{border-color:var(--acid);background:var(--acid);color:var(--ink)}
.footer-bottom{grid-template-columns:1fr 1fr 1fr}
.footer-bottom p:nth-child(2){justify-self:center}
.footer-bottom p:nth-child(3){justify-self:end}

@media(max-width:900px){
  .footer-bottom{grid-template-columns:1fr 1fr;align-items:center}
  .footer-bottom p:nth-child(2),.footer-bottom p:nth-child(3),.footer-to-top{justify-self:start}
}
@media(max-width:600px){
  .footer-identity h2{font-size:9.8vw}
  .footer-bottom{grid-template-columns:1fr;gap:14px}
  .footer-to-top{margin-top:5px}
  .map-actions{width:100%;flex-wrap:wrap}
}

/* Lightweight footer contact card and always-branded social actions. */
.footer-top{grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);align-items:start}
.footer-contacts{
  width:100%;
  max-width:520px;
  justify-self:end;
  padding:24px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  background:rgba(255,255,255,.035);
}
.footer-contacts .footer-label{margin-bottom:16px!important}
.footer-contacts>a{
  min-height:60px;
  margin-top:8px;
  padding:10px 13px;
  gap:13px;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:11px;
  background:rgba(255,255,255,.025);
}
.footer-contacts>a:hover,.footer-contacts>a:focus-visible{
  padding-left:13px;
  border-color:rgba(201,255,56,.6)!important;
  background:rgba(255,255,255,.06);
}
.footer-contacts>a .footer-contact-copy{color:white}
.footer-contacts>a .footer-contact-copy small{color:rgba(255,255,255,.46);font-size:.59rem;font-weight:540}
.footer-contacts>a .footer-contact-copy b{color:rgba(255,255,255,.9);font-size:clamp(.9rem,1.15vw,1.02rem);font-weight:500}
.footer-contacts>a>span:last-child{color:var(--acid)}
.footer-location{
  min-height:58px;
  margin-top:8px;
  padding:10px 13px;
  display:flex;
  align-items:center;
  gap:13px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:11px;
  background:rgba(255,255,255,.025);
}
.footer-location .footer-contact-copy b{color:rgba(255,255,255,.9);font-size:clamp(.9rem,1.15vw,1.02rem);font-weight:500}
.footer-location .footer-contact-copy small{color:rgba(255,255,255,.46);font-size:.59rem;font-weight:540}
.footer-contact-icon{width:18px;height:18px;color:rgba(255,255,255,.56)}
.footer-socials{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:18px}
.footer-socials a{
  min-height:46px;
  justify-content:center;
  gap:7px;
  padding:0 10px;
  border-radius:10px;
  color:white;
  font-size:.95rem;
  font-weight:650;
  letter-spacing:-.01em;
}
.footer-socials a[aria-label*="LinkedIn"]{border-color:#0a66c2;background:#0a66c2;color:white}
.footer-socials a[aria-label*="Instagram"]{
  border-color:#c13584;
  background:linear-gradient(135deg,#feda75 0%,#fa7e1e 24%,#d62976 55%,#962fbf 78%,#4f5bd5 100%);
  color:white;
}
.footer-socials a:not([aria-label]){border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:white}
.footer-socials a:hover,.footer-socials a:focus-visible{filter:brightness(1.1);transform:translateY(-2px)}
.footer-socials .social-icon{width:17px;height:17px;flex:0 0 17px}

@media(max-width:900px){
  .footer-top{grid-template-columns:1fr}
  .footer-contacts{max-width:none;justify-self:stretch}
}
@media(max-width:600px){
  .footer-contacts{padding:17px;border-radius:14px}
  .footer-contacts>a{min-height:58px}
  .footer-socials{grid-template-columns:1fr 1fr}
  .footer-socials a:last-child{grid-column:1/3}
}
@media(min-width:1181px){
  .business-footer .footer-top{padding-right:174px}
}

/* WCAG 2.2 interaction, focus, motion and high-contrast support. */
[id]{scroll-margin-top:92px}
main[tabindex="-1"]:focus{outline:none}
:focus-visible{
  outline:3px solid #6754e8;
  outline-offset:4px;
  border-radius:4px;
}
.hero :focus-visible,.freelance-hero :focus-visible,.business-footer :focus-visible,
.portfolio-story-dark :focus-visible,.contact :focus-visible{
  outline-color:var(--acid);
}
.site-header nav a,.header-cta,.footer-socials a,.map-actions a,.footer-to-top,
.primary-pill,.hero-primary,.hero-actions a,.portfolio-case-actions a,.whatsapp-fab,.faq-list summary{
  min-height:44px;
}
.site-header nav a,.hero-primary,.faq-list summary{display:flex;align-items:center}
.faq-list summary{cursor:pointer}
.story-rail a{min-height:40px}
.skip-link{
  min-height:44px;
  display:flex;
  align-items:center;
  border:2px solid var(--ink);
  border-radius:8px;
  color:var(--ink);
  font-weight:650;
}
.motion-toggle{
  position:fixed;
  z-index:69;
  left:18px;
  bottom:18px;
  min-height:40px;
  padding:0 13px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:99px;
  background:#171a18;
  color:white;
  box-shadow:0 8px 24px rgba(0,0,0,.2);
  font:650 .75rem/1 "Geist Variable","Geist",Arial,sans-serif;
  cursor:pointer;
}
.motion-toggle[aria-pressed="true"]{background:var(--paper);color:var(--ink);border-color:var(--ink)}
.motion-paused *, .motion-paused *::before, .motion-paused *::after{
  animation-play-state:paused!important;
  transition-duration:0s!important;
}
.footer-contacts .footer-contact-copy small,.footer-location .footer-contact-copy small{font-size:.68rem}

@media(max-width:850px){
  .site-header nav{
    visibility:hidden;
    pointer-events:none;
    transition:transform .4s cubic-bezier(.2,.7,.2,1),visibility 0s linear .4s;
  }
  .site-header.is-open nav{
    visibility:visible;
    pointer-events:auto;
    transition-delay:0s;
  }
  .motion-toggle{left:12px;bottom:12px;min-height:38px;padding:0 11px;font-size:.7rem}
}
@media(prefers-reduced-motion:reduce){
  .motion-toggle{display:none}
}
@media(prefers-contrast:more){
  :root{--muted:#4c4f4b;--line:rgba(12,14,13,.36)}
  .site-header.is-scrolled,.footer-contacts,.footer-location{backdrop-filter:none;-webkit-backdrop-filter:none}
  .footer-bottom,.footer-contacts .footer-contact-copy small,.footer-location .footer-contact-copy small{color:white}
}
@media(forced-colors:active){
  *{forced-color-adjust:auto}
  .visitor-dot,.brand-accent{forced-color-adjust:none;background:Highlight;fill:Highlight}
  .motion-toggle,.whatsapp-fab{border:2px solid ButtonText}
}
@media print{
  .motion-toggle,.whatsapp-fab,.story-rail,.scroll-progress,.cursor-glow{display:none!important}
}
.not-found .brand-accent{animation:none}

/* Homepage contact title exploration: Tinos paired with Geist UI text. */
body:is(.home-page,.teaching-page,.freelance-page) .business-footer .footer-section-label{
  margin:0 0 18px;
  color:var(--acid);
  font-family:"Geist Variable","Geist",Arial,sans-serif;
  font-size:.72rem;
  font-weight:680;
  line-height:1.2;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.home-page .business-footer .footer-identity h2{
  max-width:540px;
  font-family:"Tinos",Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,2.9vw,3.05rem);
  font-weight:500;
  line-height:1.01;
  letter-spacing:-.025em;
}
body:is(.home-page,.teaching-page,.freelance-page) .business-footer .footer-title-accent{
  font-family:inherit;
  font-style:normal;
  font-weight:500;
  color:var(--acid);
  letter-spacing:-.015em;
}
.home-page .business-footer .footer-identity>p:not(.footer-section-label){margin-top:24px}
@media(max-width:600px){
  .home-page .business-footer .footer-identity h2{font-size:clamp(1.85rem,8.8vw,2.35rem)}
}

/* Lightweight contact context for distributed teams. */
.global-contact{
  padding:40px 0 46px;
  border-top:1px solid rgba(255,255,255,.16);
}
.global-contact-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:36px;
  margin-bottom:28px;
}
.global-contact-heading .footer-label{margin-bottom:10px!important}
.contact-availability{
  display:flex;
  align-items:center;
  gap:6px;
  margin:18px 0 0;
  color:rgba(255,255,255,.76);
  font-size:.84rem;
  font-weight:540;
  line-height:1.45;
}
.contact-availability .availability-dot{
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:var(--acid);
  box-shadow:0 0 0 4px rgba(201,255,56,.1);
}
.contact-availability strong{
  display:inline;
  margin:0 2px 0 4px;
  color:white;
  font-size:inherit;
  font-weight:680;
  letter-spacing:0;
}
.availability-copy{min-width:0}
.global-contact-heading h3{
  margin:0;
  font-family:"Tinos",Georgia,"Times New Roman",serif;
  font-size:clamp(1.55rem,2.3vw,2.35rem);
  font-weight:500;
  line-height:1.05;
  letter-spacing:-.025em;
}
.global-contact-heading>p{
  max-width:none;
  margin:0;
  color:rgba(255,255,255,.58);
  font-size:.94rem;
  line-height:1.5;
  text-align:right;
  white-space:nowrap;
}
.world-clock-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  border:1px solid rgba(255,255,255,.17);
  border-radius:14px;
  overflow:hidden;
}
.world-clock{
  min-width:0;
  padding:20px;
  background:rgba(255,255,255,.025);
}
.world-clock+article{border-left:1px solid rgba(255,255,255,.17)}
.world-clock-region{
  display:block;
  min-height:2.2em;
  color:rgba(255,255,255,.52);
  font-size:.71rem;
  font-weight:650;
  line-height:1.2;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.world-clock h4{margin:3px 0 20px;font-size:.96rem;font-weight:570}
.world-clock time{
  display:block;
  color:var(--acid);
  font-size:clamp(1.5rem,2.25vw,2.25rem);
  font-weight:560;
  line-height:1;
  letter-spacing:-.045em;
  font-variant-numeric:tabular-nums;
}
.world-weather{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:20px;
  margin:14px 0 0;
  color:rgba(255,255,255,.67);
  font-size:.79rem;
  line-height:1.3;
}
.weather-mark{
  width:7px;
  height:7px;
  flex:0 0 7px;
  border:1px solid var(--acid);
  border-radius:50%;
  box-shadow:0 0 0 3px rgba(201,255,56,.08);
}
@media(max-width:950px){
  .world-clock-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .world-clock+article{border-left:0}
  .world-clock:nth-child(even){border-left:1px solid rgba(255,255,255,.17)}
  .world-clock:nth-child(n+3){border-top:1px solid rgba(255,255,255,.17)}
}
@media(max-width:600px){
  .global-contact{padding:34px 0 40px}
  .global-contact-heading{display:block;margin-bottom:22px}
  .global-contact-heading>p{margin-top:13px;text-align:left;white-space:normal}
  .world-clock{padding:17px}
  .world-clock-region{min-height:2.4em}
  .world-clock h4{margin-bottom:16px}
}

/* Directional button fill: fast enough to feel responsive, soft enough to
   preserve the restrained motion language. */
.header-cta,
.hero-actions a,
.portfolio-case-actions a,
.contact-action,
.map-actions>a,
.footer-to-top,
.footer-socials a,
.whatsapp-fab{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  --button-fill:var(--acid);
}
.header-cta::before,
.hero-actions a::before,
.portfolio-case-actions a::before,
.contact-action::before,
.map-actions>a::before,
.footer-to-top::before,
.footer-socials a::before,
.whatsapp-fab::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-1px;
  border-radius:inherit;
  background:var(--button-fill);
  transform:scaleX(0);
  transform-origin:right center;
  transition:transform .42s cubic-bezier(.22,.8,.22,1);
}
.header-cta:hover::before,.header-cta:focus-visible::before,
.hero-actions a:hover::before,.hero-actions a:focus-visible::before,
.portfolio-case-actions a:hover::before,.portfolio-case-actions a:focus-visible::before,
.contact-action:hover::before,.contact-action:focus-visible::before,
.map-actions>a:hover::before,.map-actions>a:focus-visible::before,
.footer-to-top:hover::before,.footer-to-top:focus-visible::before,
.footer-socials a:hover::before,.footer-socials a:focus-visible::before,
.whatsapp-fab:hover::before,.whatsapp-fab:focus-visible::before{
  transform:scaleX(1);
  transform-origin:left center;
}
.hero-primary,.contact-action-primary,.whatsapp-fab{--button-fill:#fff}
.whatsapp-fab{
  position:fixed;
  z-index:68;
  right:22px;
  bottom:22px;
  left:auto;
  width:auto;
  min-height:52px;
}
.footer-socials a[aria-label*="LinkedIn"]{--button-fill:#0a66c2}
.footer-socials a[aria-label*="Instagram"]{--button-fill:#c13584}
@media(prefers-reduced-motion:reduce){
  .header-cta::before,.hero-actions a::before,.portfolio-case-actions a::before,
  .contact-action::before,.map-actions>a::before,.footer-to-top::before,
  .footer-socials a::before,.whatsapp-fab::before{transition-duration:.01ms}
}
@media(max-width:540px){
  .whatsapp-fab{right:16px;bottom:16px;width:52px;height:52px;min-height:52px}
}

.world-date{
  margin:8px 0 0;
  color:rgba(255,255,255,.48);
  font-size:.72rem;
  font-weight:520;
  line-height:1.35;
  letter-spacing:.015em;
  font-variant-numeric:tabular-nums;
}
.world-clock h4{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
}
.world-clock-zone{
  display:inline-flex;
  min-height:20px;
  padding:0 7px;
  align-items:center;
  border:1px solid rgba(201,255,56,.38);
  border-radius:99px;
  color:var(--acid);
  font-size:.54rem;
  font-weight:700;
  line-height:1;
  letter-spacing:.06em;
}
.weather-icon{
  width:29px;
  height:29px;
  flex:0 0 29px;
  display:grid;
  place-items:center;
  color:var(--acid);
}
.weather-icon:empty{
  width:8px;
  height:8px;
  flex-basis:8px;
  border:1px solid var(--acid);
  border-radius:50%;
  animation:weatherLoading 1.2s ease-in-out infinite;
}
.weather-icon svg{
  display:block;
  width:29px;
  height:29px;
  overflow:visible;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.weather-sunny svg{animation:weatherSun 10s linear infinite}
.weather-sunny circle{fill:rgba(201,255,56,.16)}
.weather-cloudy svg{animation:weatherFloat 3.2s ease-in-out infinite}
.weather-foggy .weather-mist{animation:weatherMist 2.4s ease-in-out infinite}
.weather-rainy .weather-cloud,.weather-stormy .weather-cloud{animation:weatherFloat 2.4s ease-in-out infinite}
.weather-drops{animation:weatherRain .95s ease-in infinite}
.weather-snow{fill:currentColor;stroke:none;animation:weatherSnow 1.8s ease-in-out infinite}
.weather-bolt{fill:currentColor;stroke:none;animation:weatherFlash 1.8s steps(2,end) infinite}
@keyframes weatherLoading{50%{opacity:.3;transform:scale(.7)}}
@keyframes weatherSun{to{transform:rotate(360deg)}}
@keyframes weatherFloat{50%{transform:translateY(-1.5px)}}
@keyframes weatherMist{50%{transform:translateX(2px);opacity:.55}}
@keyframes weatherRain{0%{transform:translateY(-2px);opacity:.25}70%{opacity:1}100%{transform:translateY(2px);opacity:.2}}
@keyframes weatherSnow{50%{transform:translateY(2px);opacity:.55}}
@keyframes weatherFlash{50%{opacity:.25}}
@media(prefers-reduced-motion:reduce){
  .weather-icon,.weather-icon svg,.weather-icon svg *{animation:none!important}
}

/* Hero space layer */
.hero-space-scene{
  position:absolute;
  z-index:2;
  inset:0;
  overflow:hidden;
  pointer-events:none;
}
.hero-stars{position:absolute;inset:0}
.hero-stars i{
  position:absolute;
  left:var(--x);
  top:var(--y);
  width:var(--s);
  height:var(--s);
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 8px rgba(255,255,255,.9),0 0 15px rgba(201,255,56,.3);
  opacity:.16;
  animation:heroTwinkle 4.8s ease-in-out var(--d) infinite;
}
.hero-stars i:nth-child(3n){background:var(--acid)}
.hero-stars i:nth-child(4n)::before,
.hero-stars i:nth-child(4n)::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  background:currentColor;
  transform:translate(-50%,-50%);
}
.hero-stars i:nth-child(4n)::before{width:9px;height:1px}
.hero-stars i:nth-child(4n)::after{width:1px;height:9px}
.ux-wireframe{
  position:absolute;
  border:1px solid rgba(255,255,255,.2);
  border-radius:10px;
  background:rgba(255,255,255,.025);
  box-shadow:0 18px 55px rgba(0,0,0,.16);
  backdrop-filter:blur(2px);
}
.ux-wireframe-primary{right:7%;top:17%;width:210px;height:142px;animation:uxPanelFloat 8s ease-in-out infinite}
.ux-wireframe-secondary{right:27%;bottom:11%;width:105px;height:168px;animation:uxPanelFloat 10s ease-in-out -3s infinite reverse}
.ux-window-bar{height:22px;display:flex;align-items:center;gap:5px;padding:0 8px;border-bottom:1px solid rgba(255,255,255,.14)}
.ux-window-bar i{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.4)}
.ux-window-bar i:first-child{background:var(--acid)}
.ux-wireframe-body{height:calc(100% - 22px);display:grid;grid-template-columns:42px 1fr}
.ux-sidebar{padding:10px 7px;border-right:1px solid rgba(255,255,255,.12)}
.ux-sidebar i{display:block;height:4px;margin-bottom:10px;border-radius:4px;background:rgba(255,255,255,.14)}
.ux-canvas{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}
.ux-canvas i{border:1px solid rgba(255,255,255,.14);border-radius:5px;background:rgba(255,255,255,.025)}
.ux-canvas i:first-child{grid-column:1/3;background:rgba(201,255,56,.07);border-color:rgba(201,255,56,.2)}
.ux-mobile-body{display:flex;height:calc(100% - 22px);padding:12px 10px;flex-direction:column;gap:9px}
.ux-mobile-body i{display:block;height:8px;border-radius:5px;background:rgba(255,255,255,.12)}
.ux-mobile-body i:nth-child(2){width:68%}
.ux-mobile-body span{display:block;flex:1;border:1px solid rgba(201,255,56,.22);border-radius:7px;background:rgba(201,255,56,.04)}
.ux-flow-map{
  position:absolute;
  right:2%;
  top:31%;
  width:min(38vw,500px);
  fill:rgba(7,9,8,.75);
  stroke:rgba(255,255,255,.19);
  stroke-width:1.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.72;
  animation:uxFlowDrift 12s ease-in-out infinite;
}
.ux-flow-map path{fill:none;stroke-dasharray:4 7;animation:uxFlowDash 12s linear infinite}
.ux-flow-map circle:nth-of-type(3),.ux-flow-map rect:nth-of-type(2){stroke:var(--acid)}
.ux-design-cursor{
  position:absolute;
  right:18%;
  top:24%;
  width:24px;
  fill:rgba(201,255,56,.16);
  stroke:var(--acid);
  stroke-width:1.4;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 8px rgba(201,255,56,.24));
  animation:uxCursorMove 9s cubic-bezier(.45,0,.2,1) infinite;
}
@keyframes heroTwinkle{
  0%,100%{opacity:.12;transform:scale(.7)}
  45%{opacity:.82;transform:scale(1.45)}
  60%{opacity:.32;transform:scale(.9)}
}
@keyframes uxPanelFloat{0%,100%{transform:translate3d(0,0,0) rotate(-1deg)}50%{transform:translate3d(0,-10px,0) rotate(1deg)}}
@keyframes uxFlowDrift{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-12px,8px,0)}}
@keyframes uxFlowDash{to{stroke-dashoffset:-88}}
@keyframes uxCursorMove{0%,100%{transform:translate3d(0,0,0) rotate(-8deg)}35%{transform:translate3d(-86px,72px,0) rotate(-2deg)}68%{transform:translate3d(28px,154px,0) rotate(5deg)}}
@media(max-width:600px){
  .hero-stars i:nth-child(even){display:none}
  .ux-wireframe-primary{display:none}
  .ux-wireframe-secondary,.ux-flow-map{display:none}
  .ux-design-cursor{right:16%;top:17%;width:19px;opacity:.65}
}
@media(prefers-reduced-motion:reduce){
  .ux-wireframe,.ux-flow-map,.ux-design-cursor{animation:none!important}
  .hero-stars i{animation:none;opacity:.3}
}

.download-icon{
  width:16px;
  height:16px;
  flex:0 0 16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.footer-socials .download-icon{width:14px;height:14px;margin-left:5px;vertical-align:-2px}

/* Expressive but restrained contact-icon interactions. */
.footer-contacts>a .footer-contact-icon,
.footer-location .footer-contact-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  padding:7px;
  border:1px solid rgba(201,255,56,.24);
  border-radius:50%;
  background:rgba(201,255,56,.055);
  color:var(--acid);
  transform-origin:center;
  transition:background .25s,border-color .25s,color .25s,transform .25s;
}
.footer-contacts>a[href^="mailto"]:hover .footer-contact-icon,
.footer-contacts>a[href^="mailto"]:focus-visible .footer-contact-icon{
  border-color:var(--acid);
  background:var(--acid);
  color:var(--ink);
  animation:contactMailSend .65s cubic-bezier(.2,.8,.2,1);
}
.footer-contacts>a[href^="tel"]:hover .footer-contact-icon,
.footer-contacts>a[href^="tel"]:focus-visible .footer-contact-icon{
  border-color:var(--acid);
  background:var(--acid);
  color:var(--ink);
  animation:contactPhoneRing .68s ease-in-out;
}
.footer-location .footer-contact-icon{animation:contactLocationPulse 3.2s ease-in-out infinite}
@keyframes contactMailSend{
  0%{transform:translate3d(0,0,0) rotate(0)}
  38%{transform:translate3d(4px,-4px,0) rotate(-8deg)}
  70%{transform:translate3d(-1px,1px,0) rotate(2deg)}
  100%{transform:translate3d(0,0,0) rotate(0)}
}
@keyframes contactPhoneRing{
  0%,100%{transform:rotate(0)}
  18%{transform:rotate(12deg)}
  36%{transform:rotate(-10deg)}
  54%{transform:rotate(8deg)}
  72%{transform:rotate(-5deg)}
}
@keyframes contactLocationPulse{
  0%,72%,100%{box-shadow:0 0 0 0 rgba(201,255,56,0)}
  82%{box-shadow:0 0 0 6px rgba(201,255,56,.08)}
}
@media(prefers-reduced-motion:reduce){
  .footer-contacts .footer-contact-icon,.footer-location .footer-contact-icon{animation:none!important}
}

@media(min-width:851px){
  .business-footer .footer-top{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(32px,5vw,72px);
    padding-right:0;
  }
  .business-footer .footer-contacts{max-width:none;justify-self:stretch}
}
.story-rail{transition:opacity .25s,transform .25s,visibility .25s}
.story-rail.is-footer-hidden{
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transform:translate(22px,-50%);
}

/* Filled-button contrast: light and neon fills always use dark ink. */
.header-cta:hover,.header-cta:focus-visible,
.hero-actions a:hover,.hero-actions a:focus-visible,
.portfolio-case-actions a:hover,.portfolio-case-actions a:focus-visible,
.contact-action:hover,.contact-action:focus-visible,
.map-actions>a:hover,.map-actions>a:focus-visible,
.footer-to-top:hover,.footer-to-top:focus-visible,
.footer-socials a:not([aria-label]):hover,.footer-socials a:not([aria-label]):focus-visible,
.whatsapp-fab:hover,.whatsapp-fab:focus-visible{
  color:var(--ink);
}
.contact-action-linkedin:hover,.contact-action-linkedin:focus-visible,
.footer-socials a[aria-label*="LinkedIn"]:hover,.footer-socials a[aria-label*="LinkedIn"]:focus-visible,
.footer-socials a[aria-label*="Instagram"]:hover,.footer-socials a[aria-label*="Instagram"]:focus-visible{
  color:#fff;
}

/* Minimal story progress with a compact contrast rail and persistent active label. */
@media(min-width:1181px){
  .story-rail{
    right:24px;
    width:32px;
    gap:3px;
    padding:9px 3px;
    align-items:center;
    border:1px solid rgba(255,255,255,.18);
    border-radius:99px;
    background:rgba(12,14,13,.72);
    box-shadow:0 8px 24px rgba(12,14,13,.15);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }
  .story-rail::before{
    display:none;
  }
  .story-rail a{
    width:24px;
    height:24px;
    min-height:24px;
    padding:0;
    display:grid;
    place-items:center;
    place-content:center;
    justify-content:center;
    border-radius:0;
    background:transparent;
    color:#fff;
  }
  .story-rail a::before{
    position:static;
    width:5px;
    height:5px;
    border:0;
    border-radius:99px;
    background:#fff;
    opacity:.62;
    box-shadow:none;
    transition:width .22s ease,height .22s ease,opacity .22s ease,background-color .22s ease;
  }
  .story-rail a span,.story-rail a.is-active span{display:none}
  .story-rail a em{
    position:absolute;
    right:36px;
    top:50%;
    display:block;
    order:initial;
    min-width:max-content;
    margin:0;
    padding:6px 9px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:6px;
    background:rgba(12,14,13,.92);
    color:#fff;
    box-shadow:0 6px 18px rgba(12,14,13,.16);
    font-size:.62rem;
    font-weight:570;
    line-height:1;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate(4px,-50%);
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
  }
  .story-rail a em::after{
    content:"";
    position:absolute;
    top:50%;
    right:-4px;
    width:7px;
    height:7px;
    border-top:1px solid rgba(255,255,255,.14);
    border-right:1px solid rgba(255,255,255,.14);
    background:rgba(12,14,13,.92);
    transform:translateY(-50%) rotate(45deg);
  }
  .story-rail a:hover em,.story-rail a:focus-visible em,.story-rail a.is-active em{
    color:#fff;
    opacity:1;
    visibility:visible;
    transform:translate(0,-50%);
  }
  .story-rail a:hover::before,.story-rail a:focus-visible::before{
    width:8px;
    height:8px;
    opacity:.72;
  }
  .story-rail a.is-active{
    background:transparent;
    color:var(--acid);
  }
  .story-rail a.is-active::before{
    display:block;
    width:7px;
    height:16px;
    background:currentColor;
    opacity:1;
    box-shadow:0 0 0 3px rgba(185,255,35,.12);
  }
  .story-rail a:focus-visible{
    outline-width:2px;
    outline-offset:3px;
    border-radius:99px;
  }
}

/* Unified editorial title system: Tinos for hierarchy, Geist for interface copy. */
body:is(.home-page,.teaching-page,.freelance-page,.portfolio-cases-page,.not-found) :is(h1,h2,h3,h4){
  font-family:"Tinos",Georgia,"Times New Roman",serif;
  font-weight:500;
  letter-spacing:-.032em;
}
body:is(.home-page,.teaching-page,.freelance-page,.portfolio-cases-page,.not-found) :is(h1,h2,h3,h4) em{
  font-family:inherit;
  font-weight:inherit;
}
.home-page .hero h1{
  max-width:900px;
  font-size:clamp(3.2rem,6.65vw,6.4rem);
  line-height:.9;
  letter-spacing:-.04em;
}
.freelance-hero h1,.education-hero h1{
  font-size:clamp(3.45rem,7.8vw,7.4rem);
  line-height:.89;
  letter-spacing:-.042em;
}
.portfolio-cases-hero h1,.not-found h1{
  font-size:clamp(3.35rem,7.35vw,8rem);
  line-height:.88;
  letter-spacing:-.04em;
}
.pathway-title{
  font-size:clamp(2.7rem,5.3vw,5.5rem);
  line-height:.97;
  letter-spacing:-.036em;
}
.section-heading h2{
  font-size:clamp(2.5rem,4.85vw,5.1rem);
  line-height:.98;
  letter-spacing:-.036em;
}
.large-heading,.recognition h2{
  font-size:clamp(2.65rem,5.2vw,5.2rem);
  line-height:.98;
  letter-spacing:-.036em;
}
.outcome-story h2{
  font-size:clamp(3.35rem,6.9vw,7rem);
  line-height:.87;
  letter-spacing:-.04em;
}
.skills-heading h3{
  font-size:clamp(2.5rem,4.45vw,4.8rem);
  line-height:.96;
  letter-spacing:-.036em;
}
.human-strip h3{
  max-width:1010px;
  font-size:clamp(2rem,3.85vw,3.85rem);
  line-height:1.03;
  letter-spacing:-.035em;
}
.human-coffee-cta{position:relative;z-index:3;min-height:52px;width:max-content;margin-top:34px;padding:0 17px;display:inline-flex;align-items:center;gap:10px;border:1px solid var(--ink);border-radius:99px;background:var(--ink);color:#fff;font-size:.78rem;font-weight:690;transition:transform .25s,background .25s,color .25s}.human-coffee-cta svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.human-coffee-cta b{margin-left:10px;color:var(--acid)}.human-coffee-cta:hover,.human-coffee-cta:focus-visible{transform:translateY(-3px);background:#fff;color:var(--ink)}.human-coffee-cta:hover b,.human-coffee-cta:focus-visible b{color:var(--violet)}
@media(max-width:540px){.human-strip h3{font-size:2.05rem;line-height:1.04}.human-coffee-cta{width:100%;margin-top:28px;justify-content:center}.human-coffee-cta b{margin-left:auto}}
.project h3,.freelance-copy h3,.portfolio-case-entry h3{
  font-size:clamp(2rem,3.55vw,3.85rem);
  line-height:1;
  letter-spacing:-.034em;
}
.project-small h3{font-size:clamp(1.85rem,2.65vw,2.85rem)}
.freelance-services-grid h3{font-size:clamp(1.35rem,1.8vw,1.9rem);line-height:1.05}
.freelance-process-grid h3{font-size:clamp(1.65rem,2.65vw,2.65rem)}
.portfolio-story-heading h2,.portfolio-source h2{
  font-size:clamp(2.7rem,5.45vw,5.85rem);
  line-height:.94;
  letter-spacing:-.036em;
}
body:is(.home-page,.teaching-page,.freelance-page) .business-footer .footer-identity h2{
  max-width:540px;
  font-family:"Tinos",Georgia,"Times New Roman",serif;
  font-size:clamp(1.95rem,3.05vw,3.25rem);
  font-weight:500;
  line-height:1.03;
  letter-spacing:-.026em;
}
body:is(.home-page,.teaching-page,.freelance-page) .business-footer .footer-title-accent{
  font-family:inherit;
  font-style:normal;
  font-weight:500;
}
.global-contact-heading h3{
  font-size:clamp(1.45rem,2.05vw,2.15rem);
  font-weight:500;
}
@media(max-width:600px){
  .home-page .hero h1{font-size:13.6vw;line-height:.92}
  .freelance-hero h1,.education-hero h1{font-size:13.8vw;line-height:.91}
  .portfolio-cases-hero h1,.not-found h1{font-size:12.5vw}
  .pathway-title,.large-heading,.recognition h2,.portfolio-story-heading h2,.portfolio-source h2{font-size:10.7vw}
  .section-heading h2,.skills-heading h3{font-size:10.3vw}
  .outcome-story h2{font-size:12vw}
  body:is(.home-page,.teaching-page,.freelance-page) .business-footer .footer-identity h2{font-size:clamp(1.8rem,8.1vw,2.2rem)}
}

/* Quiet, personal hero introduction. */
.home-page .hero-availability{
  width:max-content;
  margin-bottom:clamp(26px,3.5vh,38px);
  padding-bottom:0;
  gap:8px;
  border-bottom:0;
  color:rgba(255,255,255,.76);
  font-size:1.1rem;
  font-weight:500;
  line-height:1.2;
  letter-spacing:.025em;
  text-transform:none;
}
.home-page .hero-availability strong{color:var(--acid);font-weight:600}
.home-page .hello-icon{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  flex:0 0 20px;
  color:var(--acid);
  line-height:1;
  filter:none;
  transform-origin:center;
  animation:helloIconOrbit 3.2s cubic-bezier(.45,0,.25,1) infinite;
}
.home-page .hello-icon svg{width:18px;height:18px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.home-page .hello-spark-small{animation:helloSparkPulse 1.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes helloIconOrbit{
  0%,100%{transform:rotate(0deg) scale(1)}
  35%{transform:rotate(8deg) scale(1.06)}
  65%{transform:rotate(-4deg) scale(.98)}
}
@keyframes helloSparkPulse{
  0%,100%{opacity:.4;transform:scale(.72)}
  50%{opacity:1;transform:scale(1.12)}
}
@media(max-width:600px){
  .home-page .hero-availability{margin-bottom:28px;font-size:1rem}
}
@media(prefers-reduced-motion:reduce){
  .home-page .hello-icon,.home-page .hello-spark-small{animation:none}
}

/* Recruiter-facing impact story with motion tied to experience, team and value. */
.hero-evidence{padding:22px}
.hero-fit-intro{max-width:620px;margin:15px 0 18px;font-size:.86rem;line-height:1.55;color:rgba(255,255,255,.72)}
.hero-evidence-head p,.hero-evidence-head span{font-size:.72rem}
.hero-impact-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border:1px solid rgba(255,255,255,.16);
  overflow:hidden;
}
.hero-impact-grid article{
  position:relative;
  min-width:0;
  min-height:232px;
  padding:16px;
  display:flex;
  flex-direction:column;
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012));
  overflow:hidden;
}
.hero-impact-grid article+article{border-left:1px solid rgba(255,255,255,.16)}
.hero-impact-grid article::after{
  content:"";
  position:absolute;
  inset:0 auto 0 -55%;
  width:32%;
  background:linear-gradient(90deg,transparent,rgba(201,255,56,.075),transparent);
  transform:skewX(-16deg);
  animation:impactSweep 7s ease-in-out infinite;
  pointer-events:none;
}
.hero-impact-grid article:nth-child(2)::after{animation-delay:1.15s}
.hero-impact-grid article:nth-child(3)::after{animation-delay:2.3s}
.impact-card-top{min-height:31px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;color:var(--acid)}
.impact-card-top>span{font-size:.64rem;font-weight:650;line-height:1.35;letter-spacing:.075em;text-transform:uppercase}
.hero-impact-grid article>strong{
  margin:auto 0 10px;
  color:white;
  font-family:"Tinos",Georgia,"Times New Roman",serif;
  font-size:clamp(1.65rem,2.2vw,2.2rem);
  font-weight:500;
  line-height:1;
  letter-spacing:-.025em;
}
.hero-impact-grid article>p{min-height:4.2em;margin:0;color:rgba(255,255,255,.68);font-size:.78rem;line-height:1.48}
.impact-glyph{position:relative;width:30px;height:30px;flex:0 0 30px}
.impact-glyph i{position:absolute;display:block}
.impact-glyph-orbit{border:1px solid rgba(255,255,255,.38);border-radius:50%;animation:impactOrbit 6s linear infinite}
.impact-glyph-orbit i:first-child{inset:7px;border:1px solid rgba(201,255,56,.55);border-radius:50%}
.impact-glyph-orbit i:last-child{top:-2px;left:12px;width:5px;height:5px;border-radius:50%;background:var(--acid);box-shadow:0 0 8px rgba(201,255,56,.7)}
.impact-glyph-team::before,.impact-glyph-team::after{content:"";position:absolute;left:6px;right:6px;height:1px;background:rgba(255,255,255,.35);transform-origin:center}
.impact-glyph-team::before{top:15px;transform:rotate(32deg)}
.impact-glyph-team::after{top:15px;transform:rotate(-32deg)}
.impact-glyph-team i{width:8px;height:8px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:#101211}
.impact-glyph-team i:nth-child(1){left:11px;top:1px;border-color:var(--acid);animation:impactLeadPulse 2.4s ease-in-out infinite}
.impact-glyph-team i:nth-child(2){left:1px;bottom:1px}.impact-glyph-team i:nth-child(3){right:1px;bottom:1px}
.impact-glyph-value{display:flex;align-items:flex-end;justify-content:center;gap:3px;padding:5px 4px;border-bottom:1px solid rgba(255,255,255,.35)}
.impact-glyph-value i{position:static;width:5px;background:var(--acid);transform-origin:bottom;animation:impactBars 2.4s ease-in-out infinite}
.impact-glyph-value i:nth-child(1){height:7px}.impact-glyph-value i:nth-child(2){height:13px;animation-delay:.18s}.impact-glyph-value i:nth-child(3){height:20px;animation-delay:.36s}
.hero-company-line{margin-top:16px;padding-top:13px;border-top:1px solid rgba(255,255,255,.12);font-size:.68rem;line-height:1.45}
@keyframes impactSweep{0%,20%{left:-55%}60%,100%{left:125%}}
@keyframes impactOrbit{to{transform:rotate(360deg)}}
@keyframes impactLeadPulse{0%,100%{box-shadow:0 0 0 0 rgba(201,255,56,0)}50%{box-shadow:0 0 0 5px rgba(201,255,56,.14)}}
@keyframes impactBars{0%,100%{transform:scaleY(.55);opacity:.55}50%{transform:scaleY(1);opacity:1}}
@media(max-width:540px){
  .hero-evidence{padding:16px}
  .hero-impact-grid{grid-template-columns:1fr}
  .hero-impact-grid article{
    min-height:150px;
    padding:13px;
    display:grid;
    grid-template-columns:minmax(96px,.8fr) minmax(0,1.2fr);
    grid-template-rows:auto 1fr;
    gap:10px 12px;
    align-items:end;
  }
  .hero-impact-grid article+article{border-top:1px solid rgba(255,255,255,.16);border-left:0}
  .impact-card-top{grid-column:1/3;min-height:26px}
  .hero-fit-intro{font-size:.8rem}
  .hero-evidence-head p,.hero-evidence-head span{font-size:.67rem}
  .impact-card-top>span{font-size:.62rem}
  .impact-glyph{width:24px;height:24px;flex-basis:24px}
  .hero-impact-grid article>strong{margin:0;font-size:1.4rem;align-self:end}
  .hero-impact-grid article>p{min-height:0;font-size:.74rem;line-height:1.45;align-self:end}
  .hero-company-line{font-size:.64rem}
}
@media(prefers-reduced-motion:reduce){
  .hero-impact-grid article::after,.impact-glyph-orbit,.impact-glyph-team i,.impact-glyph-value i{animation:none}
}

/* Clearer, more readable primary action labels. */
.hero-actions a,.portfolio-case-actions a{
  font-size:.86rem;
  font-weight:650;
}
.home-page .hero-summary{
  position:relative;
  z-index:3;
  max-width:600px;
  margin:clamp(24px,3.5vh,36px) 0 0;
  color:rgba(255,255,255,.7);
  font-size:clamp(1rem,1.25vw,1.16rem);
  font-weight:430;
  line-height:1.58;
}
.home-page .hero-bottom{margin-top:clamp(24px,4vh,40px)}
.home-page .hero-copy>.hero-actions{max-width:600px;margin-top:clamp(20px,2.8vh,28px)}
.home-page .hero-bottom>.hero-evidence{grid-column:2}
@media(max-width:1180px){
  .home-page .hero-bottom>.hero-evidence{grid-column:1}
}
@media(max-width:540px){
  .hero-actions a{font-size:.84rem}
  .home-page .hero-summary{margin-top:24px;font-size:.94rem;line-height:1.55}
}

/* Recruiter value cards: concise outcomes with lightweight product motion. */
.pathways .pathway-grid{gap:16px}
.pathways .pathway-card{
  --value-accent:var(--violet);
  min-height:448px;
  padding:24px;
  border:1px solid rgba(12,14,13,.11);
  border-radius:22px;
  background:#fbfaf7;
  color:var(--ink);
  box-shadow:0 12px 35px rgba(12,14,13,.045);
  isolation:isolate;
}
.pathways .pathway-card::before{
  content:"";
  position:absolute;
  z-index:2;
  left:24px;
  right:24px;
  top:0;
  height:3px;
  border-radius:0 0 4px 4px;
  background:var(--value-accent);
  transform:scaleX(.22);
  transform-origin:left;
  transition:transform .5s cubic-bezier(.2,.8,.2,1);
}
.pathways .pathway-card::after{display:none}
.pathways .pathway-card:hover{transform:translateY(-6px);box-shadow:0 22px 55px rgba(12,14,13,.1)}
.pathways .pathway-card:hover::before{transform:scaleX(1)}
.pathways .pathway-teach{--value-accent:#89b800}
.pathways .pathway-freelance{--value-accent:var(--orange)}
.pathways .card-kicker{position:relative;z-index:2;color:rgba(12,14,13,.62);font-size:.76rem;font-weight:650}
.pathways .card-kicker .line-icon{width:22px;height:22px;color:var(--value-accent)}
.pathways .value-motion{
  position:relative;
  height:174px;
  margin:22px 0 24px;
  overflow:hidden;
  border:1px solid rgba(12,14,13,.08);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(12,14,13,.025));
}
.pathways .value-card-copy{position:relative;z-index:2}
.pathways .pathway-card h3{margin:0;font-size:clamp(2rem,2.55vw,2.75rem);line-height:1.02;letter-spacing:-.035em;font-weight:500}
.pathways .pathway-card p{margin:12px 0 0;color:rgba(12,14,13,.66);font-size:1.04rem;line-height:1.48;opacity:1}
.pathways .pathway-card>b{position:relative;z-index:2;margin-top:auto;padding-top:22px;color:rgba(12,14,13,.58);font-size:.76rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase}

.value-direction .direction-ring{
  position:absolute;left:50%;top:50%;width:112px;height:112px;border:1px solid rgba(12,14,13,.15);border-radius:50%;transform:translate(-50%,-50%);
  box-shadow:0 0 0 25px rgba(12,14,13,.025),0 0 0 50px rgba(12,14,13,.018);
}
.value-direction .direction-line{position:absolute;left:20%;right:20%;top:50%;height:1px;background:rgba(12,14,13,.13);transform:rotate(-28deg)}
.value-direction .direction-target{position:absolute;left:50%;top:50%;width:24px;height:24px;border:6px solid var(--value-accent);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 8px rgba(116,98,255,.1)}
.value-direction .direction-pulse{position:absolute;left:21%;top:71%;width:10px;height:10px;border-radius:50%;background:var(--value-accent);animation:valueRoute 3.2s cubic-bezier(.45,0,.25,1) infinite}
@keyframes valueRoute{0%,100%{transform:translate(0,0) scale(.75);opacity:.35}50%{transform:translate(170px,-92px) scale(1);opacity:1}}

.value-workflow{display:flex;flex-direction:column;justify-content:center;gap:13px;padding:0 30px}
.value-workflow>span{position:relative;height:17px;overflow:hidden;border-radius:9px;background:rgba(12,14,13,.07)}
.value-workflow>span:nth-child(1){width:88%}.value-workflow>span:nth-child(2){width:68%}.value-workflow>span:nth-child(3){width:78%}
.value-workflow>span i{display:block;width:48%;height:100%;border-radius:inherit;background:var(--value-accent);opacity:.72;animation:valueFlow 3.4s ease-in-out infinite}
.value-workflow>span:nth-child(2) i{animation-delay:.25s}.value-workflow>span:nth-child(3) i{animation-delay:.5s}
.value-workflow>b{position:absolute;top:28px;bottom:28px;width:1px;margin:0;padding:0;background:var(--value-accent);box-shadow:0 0 14px var(--value-accent);animation:valueScan 3.4s ease-in-out infinite}
@keyframes valueFlow{0%,100%{transform:translateX(-22%);opacity:.4}50%{transform:translateX(112%);opacity:.9}}
@keyframes valueScan{0%,100%{left:23%;opacity:.3}50%{left:76%;opacity:1}}

.value-team{display:grid;place-items:center}
.value-team span{position:absolute;display:block;border-radius:50%}
.value-team .team-orbit{width:126px;height:126px;border:1px solid rgba(12,14,13,.14);animation:valueOrbit 12s linear infinite}
.value-team .team-orbit::before,.value-team .team-orbit::after{content:"";position:absolute;left:50%;top:50%;background:rgba(12,14,13,.1)}
.value-team .team-orbit::before{width:1px;height:100%;transform:translate(-50%,-50%)}.value-team .team-orbit::after{width:100%;height:1px;transform:translate(-50%,-50%)}
.value-team .team-core{width:45px;height:45px;background:var(--value-accent);box-shadow:0 0 0 10px rgba(255,91,55,.11);animation:valueLead 2.6s ease-in-out infinite}
.value-team .team-node{width:22px;height:22px;border:5px solid #fbfaf7;background:var(--ink);box-shadow:0 4px 12px rgba(12,14,13,.15)}
.value-team .team-node-a{transform:translate(-64px,-34px)}.value-team .team-node-b{transform:translate(64px,-34px)}.value-team .team-node-c{transform:translate(0,66px)}
@keyframes valueOrbit{to{transform:rotate(360deg)}}
@keyframes valueLead{0%,100%{transform:scale(.9)}50%{transform:scale(1.08)}}

@media(max-width:540px){
  .pathways .pathway-card{min-height:430px;padding:20px;border-radius:18px}
  .pathways .value-motion{height:150px;margin:19px 0 22px}
  .pathways .card-kicker{font-size:.71rem}
  .pathways .pathway-card h3{font-size:2.08rem}
  .pathways .pathway-card p{font-size:.98rem}
  .pathways .pathway-card>b{font-size:.71rem}
  @keyframes valueRoute{0%,100%{transform:translate(0,0) scale(.75);opacity:.35}50%{transform:translate(145px,-78px) scale(1);opacity:1}}
}
@media(prefers-reduced-motion:reduce){
  .value-direction .direction-pulse,.value-workflow>span i,.value-workflow>b,.value-team .team-orbit,.value-team .team-core{animation:none}
}

/* Portfolio: four consistent, outcome-led project stories. */
.pathways.section-shell{padding-bottom:70px}
.portfolio-section.section-shell{padding-top:75px;scroll-margin-top:70px}
.portfolio-intro{max-width:760px;margin:-34px 0 58px auto;color:var(--muted);font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.6}
.portfolio-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.portfolio-project-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 12px 40px rgba(12,14,13,.045);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
.portfolio-project-card:hover{transform:translateY(-7px);box-shadow:0 24px 60px rgba(12,14,13,.11)}
.portfolio-project-visual{position:relative;height:370px;display:block;overflow:hidden;background:#e9e6ff;border-bottom:1px solid var(--line)}
.portfolio-project-visual img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.portfolio-project-card:hover .portfolio-project-visual img{transform:scale(1.035)}
.portfolio-phone-cover{background:var(--orange)}
.portfolio-phone-cover img{width:52%;margin:auto;object-fit:cover;object-position:top;border-inline:1px solid rgba(12,14,13,.25);box-shadow:0 20px 50px rgba(12,14,13,.2)}
.portfolio-index{position:absolute;right:18px;top:18px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--acid);border:1px solid var(--ink);color:var(--ink);font-size:.72rem;font-weight:700}
.portfolio-voice{background:#101211;color:white}
.portfolio-voice-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr)}
.portfolio-voice-grid span{border-right:1px solid rgba(255,255,255,.08)}
.portfolio-call-ui{position:absolute;left:50%;top:50%;width:min(72%,420px);padding:30px;border:1px solid rgba(255,255,255,.22);border-radius:18px;background:rgba(255,255,255,.075);backdrop-filter:blur(14px);transform:translate(-50%,-50%);box-shadow:0 24px 70px rgba(0,0,0,.28)}
.portfolio-call-ui small{color:var(--acid);font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}
.portfolio-call-ui strong{display:block;margin-top:34px;font-family:"Tinos",Georgia,serif;font-size:clamp(2rem,3.2vw,3.4rem);font-weight:500;line-height:.9}
.portfolio-call-ui>div{height:34px;margin-top:30px;display:flex;align-items:center;gap:7px}
.portfolio-call-ui i{width:5px;border-radius:4px;background:var(--acid);animation:portfolioWave 1.7s ease-in-out infinite}.portfolio-call-ui i:nth-child(1){height:10px}.portfolio-call-ui i:nth-child(2){height:28px;animation-delay:.12s}.portfolio-call-ui i:nth-child(3){height:18px;animation-delay:.24s}.portfolio-call-ui i:nth-child(4){height:32px;animation-delay:.36s}.portfolio-call-ui i:nth-child(5){height:13px;animation-delay:.48s}
@keyframes portfolioWave{0%,100%{transform:scaleY(.55);opacity:.5}50%{transform:scaleY(1);opacity:1}}
.portfolio-project-copy{padding:26px 26px 24px}
.portfolio-project-copy .project-meta{margin:0;color:var(--violet);font-size:.68rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}
.portfolio-project-copy h3{max-width:560px;margin:28px 0 12px;font-size:clamp(2rem,3vw,3.25rem);font-weight:500;line-height:.96;letter-spacing:-.04em}
.portfolio-project-copy>p:not(.project-meta){max-width:580px;margin:0;color:var(--muted);font-size:.92rem;line-height:1.55}
.portfolio-case-facts{display:grid;grid-template-columns:repeat(3,1fr);margin:25px 0 0;border-block:1px solid var(--line)}
.portfolio-case-facts>div{min-width:0;padding:15px 12px}.portfolio-case-facts>div:first-child{padding-left:0}.portfolio-case-facts>div+div{border-left:1px solid var(--line)}
.portfolio-case-facts dt{font-size:.58rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.portfolio-case-facts dd{margin:7px 0 0;font-size:.76rem;font-weight:650}
.portfolio-card-link{min-height:52px;margin-top:18px;padding:0 4px;display:flex;align-items:center;justify-content:space-between;font-size:.82rem;font-weight:700}
.portfolio-card-link b{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:white;transition:transform .3s,background .3s,color .3s}
.portfolio-card-link:hover b,.portfolio-card-link:focus-visible b{transform:rotate(45deg);background:var(--acid);color:var(--ink)}
.portfolio-project-card.is-locked:hover{transform:none;box-shadow:0 12px 40px rgba(12,14,13,.045)}
.portfolio-project-card.is-locked:hover .portfolio-project-visual img{transform:none}
.portfolio-card-locked{min-height:56px;margin-top:20px;padding:13px 0 0;border-top:1px solid var(--line);color:var(--muted);cursor:default}
.portfolio-card-locked>span,.portfolio-all-locked{display:inline-flex;align-items:center;gap:9px;font-size:.78rem;font-weight:700}
.portfolio-card-locked b{width:auto;height:auto;padding:7px 10px;border:1px solid var(--line);border-radius:99px;background:#f4f3ee;color:var(--muted);font-size:.62rem;font-weight:680;letter-spacing:.04em;text-transform:uppercase}
.portfolio-lock-icon{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.portfolio-all-locked{flex:0 0 auto;padding:10px 13px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--ink)}
.portfolio-disclosure{margin-top:28px;padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:35px;border-block:1px solid var(--line)}
.portfolio-disclosure p{max-width:730px;margin:0;color:var(--muted);font-size:.82rem}.portfolio-disclosure a{flex:0 0 auto;font-size:.8rem;font-weight:700}

/* Four-case-study index and shared case template. */
.portfolio-cases-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.portfolio-cases-strip a,.portfolio-cases-strip a:first-child{grid-column:auto;height:300px;min-height:0}
.portfolio-cases-strip a:nth-child(3) img{object-position:center 25%}
.portfolio-strip-voice{background:#101211!important}
.strip-voice-art{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:6px}
.strip-voice-art::before{content:"";position:absolute;width:150px;height:150px;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 32px rgba(255,255,255,.025)}
.strip-voice-art i{position:relative;z-index:1;width:5px;border-radius:4px;background:var(--acid);animation:portfolioWave 1.8s ease-in-out infinite}.strip-voice-art i:nth-child(1){height:16px}.strip-voice-art i:nth-child(2){height:46px;animation-delay:.12s}.strip-voice-art i:nth-child(3){height:29px;animation-delay:.24s}.strip-voice-art i:nth-child(4){height:58px;animation-delay:.36s}.strip-voice-art i:nth-child(5){height:22px;animation-delay:.48s}
.strip-voice-art b{position:absolute;left:18px;top:18px;color:rgba(255,255,255,.58);font-size:.62rem;text-transform:uppercase;letter-spacing:.1em}
.portfolio-story-summary{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:58px}
.portfolio-story-summary>div{min-height:218px;padding:20px}
.portfolio-story-summary p{font-size:.75rem;line-height:1.5}
.case-concept-hero{min-height:590px;display:grid;grid-template-columns:.82fr 1.18fr;overflow:hidden;border:1px solid rgba(255,255,255,.28);background:#ebe8ff;color:var(--ink)}
.case-concept-copy{padding:clamp(30px,5vw,70px);display:flex;flex-direction:column;justify-content:center}
.case-concept-copy>span{font-size:.62rem;color:#5945d6;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.case-concept-copy h3{margin:40px 0 20px;font-size:clamp(2.6rem,4.5vw,5rem);font-weight:500;line-height:.9;letter-spacing:-.045em}
.case-concept-copy p{max-width:470px;margin:0;color:rgba(12,14,13,.64);font-size:.86rem;line-height:1.6}
.case-call-stage{position:relative;display:grid;place-items:center;overflow:hidden;background:#101211}
.case-call-stage::before,.case-call-stage::after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.12);border-radius:50%}.case-call-stage::after{width:610px;height:610px}
.case-call-card{position:relative;z-index:2;width:min(72%,460px);padding:32px;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:rgba(255,255,255,.07);color:white;box-shadow:0 30px 80px rgba(0,0,0,.35);backdrop-filter:blur(12px)}
.case-call-card small{color:var(--acid);font-size:.64rem;text-transform:uppercase;letter-spacing:.08em}.case-call-card>b{display:block;margin-top:42px;font-family:"Tinos",Georgia,serif;font-size:clamp(2.3rem,4vw,4.2rem);font-weight:500;line-height:.9}
.case-call-wave{height:45px;margin-top:36px;display:flex;align-items:center;gap:7px}.case-call-wave i{width:5px;border-radius:4px;background:var(--acid);animation:portfolioWave 1.7s ease-in-out infinite}.case-call-wave i:nth-child(odd){height:17px}.case-call-wave i:nth-child(even){height:38px}.case-call-wave i:nth-child(3){height:28px}.case-call-wave i:nth-child(4){animation-delay:.2s}.case-call-wave i:nth-child(5){animation-delay:.35s}
.case-call-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:26px}.case-call-actions span{padding:10px 5px;border:1px solid rgba(255,255,255,.16);border-radius:99px;text-align:center;font-size:.6rem;color:rgba(255,255,255,.68)}
.case-signal{position:absolute;z-index:3;padding:8px 11px;border-radius:99px;background:var(--acid);border:1px solid var(--ink);color:var(--ink);font-size:.62rem;font-weight:700}.signal-one{left:8%;top:16%;animation:caseFloat 4s ease-in-out infinite}.signal-two{right:7%;top:24%;animation:caseFloat 4.6s ease-in-out infinite reverse}.signal-three{right:10%;bottom:12%;animation:caseFloat 5s ease-in-out infinite}
@keyframes caseFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

@media(max-width:1000px){
  .portfolio-project-grid{grid-template-columns:1fr}
  .portfolio-project-visual{height:420px}
  .portfolio-cases-strip{grid-template-columns:1fr 1fr}
  .portfolio-story-summary{grid-template-columns:1fr 1fr}
  .portfolio-story-summary>div{border-top:1px solid var(--ink)}
  .portfolio-story-summary>div:nth-child(-n+2){border-top:0}
  .portfolio-story-summary>div:nth-child(odd){border-left:0}
  .portfolio-story-dark .portfolio-story-summary>div{border-color:rgba(255,255,255,.3)}
  .case-concept-hero{grid-template-columns:1fr}.case-call-stage{min-height:560px}
}
@media(max-width:600px){
  .pathways.section-shell{padding-bottom:52px}
  .portfolio-section.section-shell{padding-top:58px}
  .portfolio-intro{margin:-20px 0 38px}
  .portfolio-project-visual{height:300px}
  .portfolio-call-ui{width:78%;padding:22px}.portfolio-call-ui strong{font-size:2.15rem}
  .portfolio-project-copy{padding:22px 19px 18px}.portfolio-project-copy h3{font-size:2.25rem}
  .portfolio-case-facts{grid-template-columns:1fr}.portfolio-case-facts>div,.portfolio-case-facts>div:first-child{padding:12px 0}.portfolio-case-facts>div+div{border-left:0;border-top:1px solid var(--line)}
  .portfolio-disclosure{align-items:flex-start;flex-direction:column;gap:18px}
  .portfolio-cases-strip{grid-template-columns:1fr}.portfolio-cases-strip a,.portfolio-cases-strip a:first-child,.portfolio-cases-strip a:nth-child(2){height:260px;min-height:0}
  .portfolio-story-summary{grid-template-columns:1fr}.portfolio-story-summary>div,.portfolio-story-summary>div:nth-child(-n+2){min-height:150px;border-left:0;border-top:1px solid var(--ink)}.portfolio-story-summary>div:first-child{border-top:0}
  .case-concept-copy{padding:34px 22px}.case-concept-copy h3{font-size:2.8rem}.case-call-stage{min-height:480px}.case-call-card{width:82%;padding:24px}.case-call-card>b{font-size:2.45rem}
}
@media(prefers-reduced-motion:reduce){.portfolio-call-ui i,.strip-voice-art i,.case-call-wave i,.case-signal{animation:none}}

/* Structured About + Experience timeline. */
.experience-block{padding:clamp(18px,3vw,42px) 0 0}
.experience-block-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(300px,4fr);gap:50px;align-items:end;margin-bottom:48px}
.experience-block-head .mini-label{margin-bottom:24px}.experience-block-head h3{max-width:800px;margin:0;font-size:clamp(2.5rem,4.4vw,4.9rem);font-weight:500;line-height:.94;letter-spacing:-.04em}
.experience-block-head>p{max-width:450px;margin:0 0 4px auto;color:var(--muted);font-size:.9rem;line-height:1.6}
.experience-columns{padding:0 16px 12px;display:grid;grid-template-columns:42px 170px 190px 220px minmax(250px,1fr);gap:18px;color:var(--muted);font-size:.59rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.experience-timeline{border-top:1px solid var(--ink)}
.experience-timeline article{position:relative;min-height:146px;padding:26px 16px;display:grid;grid-template-columns:42px 170px 190px 220px minmax(250px,1fr);gap:18px;align-items:center;border-bottom:1px solid var(--line);transition:background .25s,padding .25s}
.experience-timeline article:hover{padding-inline:18px;background:rgba(116,98,255,.045)}
.experience-count{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:.59rem;color:var(--muted)}
.experience-period{margin:0;display:flex;flex-direction:column;gap:3px;color:var(--muted);font-size:.78rem;line-height:1.4}.experience-period>span{display:none}.experience-period time:first-child{color:var(--ink);font-weight:650}
.experience-company{min-width:0;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);transition:color .2s}.experience-company:hover,.experience-company:focus-visible{color:var(--violet)}
.experience-company-mark{width:160px;height:44px;display:flex;align-items:center;justify-content:flex-start;gap:10px}
.experience-company-mark img{display:block;width:auto;height:auto;max-width:154px;max-height:35px;object-fit:contain;object-position:left center}
.experience-company-mark.o9-mark img{width:32px;height:32px}.experience-company-mark.o9-mark b{font-size:.94rem;white-space:nowrap}.experience-company-mark.cgi-mark img{max-width:72px;max-height:36px}
.experience-title h4{margin:0;font-family:"Geist",Arial,sans-serif;font-size:1.06rem;font-weight:650;line-height:1.25}.experience-title p{margin:7px 0 0;color:var(--muted);font-size:.74rem;line-height:1.4}
.experience-impact{max-width:520px;margin:0;color:rgba(12,14,13,.78);font-size:.88rem;line-height:1.55}
@media(max-width:1180px){
  .experience-columns,.experience-timeline article{grid-template-columns:38px 145px 165px 190px minmax(220px,1fr);gap:14px}
  .experience-company-mark{width:132px}.experience-company-mark img{max-width:128px}
}
@media(max-width:900px){
  .experience-block-head{grid-template-columns:1fr;gap:24px}.experience-block-head>p{margin:0}
  .experience-columns{display:none}.experience-timeline{display:grid;gap:10px;border-top:0}
  .experience-timeline article{min-height:0;padding:24px 20px;grid-template-columns:36px minmax(0,1fr);gap:10px 16px;align-items:start;border:1px solid var(--line);border-radius:16px;background:#fff}
  .experience-timeline article:hover{padding-inline:20px;background:#fff}
  .experience-count{grid-row:1/5}
  .experience-period,.experience-company,.experience-title,.experience-impact{grid-column:2}
  .experience-period{flex-direction:row;gap:6px}.experience-period>span{display:inline}
  .experience-company{width:min(100%,260px);margin-top:5px}.experience-company-mark{width:170px}
  .experience-title{margin-top:7px}.experience-impact{margin-top:5px}
}
@media(max-width:540px){
  .experience-block{padding-top:14px}.experience-block-head h3{font-size:2.55rem}.experience-block-head>p{font-size:.84rem}
  .experience-timeline article{padding:22px 16px}.experience-timeline article:hover{padding-inline:16px}.experience-period{font-size:.74rem}.experience-title h4{font-size:1.02rem}.experience-title p{font-size:.72rem}.experience-impact{font-size:.84rem}
}

/* Resume-led Skills section: complete, simple and scannable. */
.skills-section.skills-simple{margin-top:clamp(95px,10vw,145px);padding-top:42px;display:grid;grid-template-columns:minmax(300px,4fr) minmax(0,8fr);gap:clamp(45px,6vw,85px);border-top:1px solid var(--ink)}
.skills-simple-intro .mini-label{margin-bottom:28px}
.skills-simple-intro h3{max-width:520px;margin:0;font-size:clamp(2.6rem,4.3vw,4.75rem);font-weight:500;line-height:.94;letter-spacing:-.045em}
.skills-simple-intro>p:not(.mini-label){max-width:470px;margin:28px 0 0;color:var(--muted);font-size:.92rem;line-height:1.65}
.skills-working-style{margin-top:45px;padding:18px 0;display:flex;flex-direction:column;gap:8px;border-block:1px solid var(--line)}
.skills-working-style span{font-size:.6rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}.skills-working-style b{font-size:.76rem;font-weight:650}
.skills-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.skills-map article{position:relative;min-height:350px;padding:25px;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.skills-map article::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--violet);transform:scaleX(.16);transform-origin:left;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.skills-map article:nth-child(2)::before{background:var(--orange)}.skills-map article:nth-child(3)::before{background:#89b800}.skills-map article:nth-child(4)::before{background:var(--ink)}
.skills-map article:hover{transform:translateY(-5px);box-shadow:0 18px 45px rgba(12,14,13,.09)}.skills-map article:hover::before{transform:scaleX(1)}
.skill-map-top{display:flex;align-items:center;justify-content:space-between;color:var(--violet);font-size:.65rem;font-weight:700}.skill-map-top .line-icon{width:25px;height:25px}.skill-map-top>span{color:#5945d6}.skills-map article:nth-child(2) .skill-map-top{color:var(--orange)}.skills-map article:nth-child(2) .skill-map-top>span{color:#a92e12}.skills-map article:nth-child(3) .skill-map-top{color:#709800}.skills-map article:nth-child(3) .skill-map-top>span{color:#527400}.skills-map article:nth-child(4) .skill-map-top,.skills-map article:nth-child(4) .skill-map-top>span{color:var(--ink)}
.skills-map h4{margin:38px 0 10px;font-family:"Tinos",Georgia,serif;font-size:clamp(1.75rem,2.4vw,2.45rem);font-weight:500;line-height:1;letter-spacing:-.025em}
.skills-map article>p{max-width:420px;margin:0;color:var(--muted);font-size:.82rem;line-height:1.55}
.skill-tags{margin-top:auto;padding-top:24px;display:flex;flex-wrap:wrap;gap:7px}
.skill-tags span{padding:7px 9px;border:1px solid var(--line);border-radius:99px;background:#faf9f5;font-size:.66rem;line-height:1.15}
.skills-toolkit{grid-column:1/3;margin-top:2px;padding:26px 0;display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:28px;border-block:1px solid var(--line)}
.skills-toolkit>div{min-width:0}.skills-toolkit b,.skills-toolkit-title>span{display:block;margin-bottom:10px;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.skills-toolkit p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.55}.skills-toolkit-title p{max-width:230px}
@media(max-width:1050px){
  .skills-section.skills-simple{grid-template-columns:1fr}.skills-simple-intro{display:grid;grid-template-columns:1fr 1fr;gap:20px 50px}.skills-simple-intro .mini-label{grid-column:1/3}.skills-simple-intro h3{grid-column:1}.skills-simple-intro>p:not(.mini-label),.skills-working-style{grid-column:2}.skills-working-style{margin-top:0;align-self:end}
  .skills-toolkit{grid-column:1;grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .skills-section.skills-simple{margin-top:85px;padding-top:30px;gap:42px}.skills-simple-intro{display:block}.skills-simple-intro .mini-label{margin-bottom:24px}.skills-simple-intro h3{font-size:2.7rem}.skills-simple-intro>p:not(.mini-label){margin-top:24px}.skills-working-style{margin-top:32px}
  .skills-map{grid-template-columns:1fr}.skills-map article{min-height:320px;padding:22px}.skills-map h4{font-size:2rem}.skill-tags span{font-size:.68rem}
  .skills-toolkit{grid-template-columns:1fr;gap:22px}.skills-toolkit>div+div{padding-top:20px;border-top:1px solid var(--line)}
}

/* Motion graphics inside the Skills cards. */
.skills-map article{--skill-accent:var(--violet);min-height:492px}
.skills-map article:nth-child(2){--skill-accent:var(--orange)}.skills-map article:nth-child(3){--skill-accent:#82ad00}.skills-map article:nth-child(4){--skill-accent:var(--ink)}
.skill-motion{position:relative;height:112px;flex:0 0 112px;margin-top:21px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#fbfaf7,#f1f0ea)}
.skills-map .skill-motion+.skill-tags{margin-top:18px;padding-top:0}
.skill-tags span{display:inline-flex;align-items:center;gap:6px}.skill-tags span::before{content:"";width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:var(--skill-accent)}

.skill-motion-research{display:grid;place-items:center}
.research-ring{position:absolute;border:1px solid rgba(12,14,13,.14);border-radius:50%}.research-ring.ring-a{width:72px;height:72px}.research-ring.ring-b{width:130px;height:130px}
.research-sweep{position:absolute;left:50%;top:50%;width:68px;height:1px;background:linear-gradient(90deg,var(--skill-accent),transparent);transform-origin:left center;animation:skillRadar 8s linear infinite}
.research-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--skill-accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--skill-accent) 16%,transparent);animation:skillDot 4s ease-in-out infinite}.research-dot.dot-a{left:27%;top:28%}.research-dot.dot-b{right:25%;top:58%;animation-delay:.6s}.research-dot.dot-c{left:45%;bottom:16%;animation-delay:1.1s}
@keyframes skillRadar{to{transform:rotate(360deg)}}@keyframes skillDot{0%,100%{transform:scale(.72);opacity:.4}50%{transform:scale(1.12);opacity:1}}

.skill-motion-experience{display:flex;align-items:center;justify-content:center;gap:10px;padding:18px}
.experience-frame{position:relative;width:27%;height:70px;padding:9px;display:flex;flex-direction:column;gap:6px;border:1px solid rgba(12,14,13,.18);border-radius:7px;background:#fff;transition:transform .35s}.experience-frame i{height:6px;border-radius:4px;background:rgba(12,14,13,.12)}.experience-frame i:first-child{width:52%;background:var(--skill-accent)}.experience-frame.frame-b{transform:translateY(7px)}.experience-frame.frame-c{transform:translateY(-5px)}
.experience-cursor{position:absolute;left:17%;top:22%;width:13px;height:17px;background:var(--ink);clip-path:polygon(0 0,100% 70%,57% 72%,38% 100%);animation:skillCursor 7s cubic-bezier(.45,0,.25,1) infinite}
@keyframes skillCursor{0%,100%{transform:translate(0,0) rotate(-8deg)}35%{transform:translate(118px,35px) rotate(3deg)}70%{transform:translate(220px,-2px) rotate(-4deg)}}

.skill-motion-system{display:grid;place-items:center}
.system-grid{display:grid;grid-template-columns:repeat(3,24px);gap:7px}.system-grid i{width:24px;height:24px;border:1px solid rgba(12,14,13,.2);border-radius:5px;background:#fff}.system-grid i:nth-child(5){background:var(--skill-accent);border-color:var(--skill-accent);animation:skillModule 4.6s ease-in-out infinite}
.system-focus{position:absolute;width:34px;height:34px;border:1px solid var(--skill-accent);border-radius:8px;animation:skillFocus 7s steps(1,end) infinite}
.system-orbit{position:absolute;width:130px;height:82px;border:1px dashed rgba(12,14,13,.16);border-radius:50%;animation:skillOrbit 14s linear infinite}
@keyframes skillModule{0%,100%{transform:scale(.82)}50%{transform:scale(1.08)}}@keyframes skillFocus{0%,100%{transform:translate(-31px,-31px)}33%{transform:translate(31px,-31px)}66%{transform:translate(31px,31px)}}@keyframes skillOrbit{to{transform:rotate(360deg)}}

.skill-motion-ai svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.skill-motion-ai path{fill:none;stroke:rgba(12,14,13,.22);stroke-width:1.2;stroke-dasharray:5 5;animation:skillNetwork 11s linear infinite}.skill-motion-ai circle{fill:#fff;stroke:var(--skill-accent);stroke-width:1.4}.skill-motion-ai>span{position:absolute;left:50%;top:50%;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:var(--acid);font-size:.68rem;font-weight:750;transform:translate(-50%,-50%);box-shadow:0 0 0 8px rgba(12,14,13,.08);animation:skillAi 5s ease-in-out infinite}.ai-pulse{position:absolute;left:14%;top:24%;width:8px;height:8px;border-radius:50%;background:var(--acid);box-shadow:0 0 10px rgba(201,255,56,.8);animation:skillPacket 7s ease-in-out infinite}
@keyframes skillNetwork{to{stroke-dashoffset:-40}}@keyframes skillAi{0%,100%{transform:translate(-50%,-50%) scale(.92)}50%{transform:translate(-50%,-50%) scale(1.08)}}@keyframes skillPacket{0%,100%{transform:translate(0,0);opacity:.35}50%{transform:translate(205px,30px);opacity:1}}

@media(max-width:650px){.skills-map article{min-height:455px}.skill-motion{height:105px;flex-basis:105px}.experience-cursor{animation-name:skillCursorMobile}@keyframes skillCursorMobile{0%,100%{transform:translate(0,0) rotate(-8deg)}35%{transform:translate(95px,32px) rotate(3deg)}70%{transform:translate(185px,-2px) rotate(-4deg)}}}
@media(prefers-reduced-motion:reduce){.research-sweep,.research-dot,.experience-cursor,.system-grid i:nth-child(5),.system-focus,.system-orbit,.skill-motion-ai path,.skill-motion-ai>span,.ai-pulse{animation:none}}

/* Visual-first Skills and experience motion. */

.experience-timeline{position:relative;overflow:hidden}
.experience-timeline::after{content:"";position:absolute;left:0;top:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--violet),var(--acid),transparent);opacity:.8;transform:translateX(-100%);animation:experienceScan 4s ease-in-out 1 both;pointer-events:none}
@keyframes experienceScan{0%,15%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}

.skills-simple-intro h3{max-width:470px}
.skills-simple-intro>p:not(.mini-label){max-width:390px}
.skills-map article{min-height:470px}
.skills-map h4{margin-top:28px}
.skills-map article>p{min-height:2.8em;font-size:.87rem;font-weight:560;color:rgba(12,14,13,.78)}
.skills-map .skill-motion{height:118px;flex-basis:118px;margin-top:22px}
.skills-map .skill-motion+.skill-tags{margin-top:auto;padding-top:20px}
.skills-toolkit.skills-toolkit-visual{position:relative;grid-template-columns:180px minmax(0,1fr);gap:28px 42px;padding:34px 0;overflow:hidden}
.skills-toolkit-visual::before{content:"";position:absolute;right:4%;top:50%;width:220px;height:220px;border-radius:50%;background:rgba(201,255,56,.12);filter:blur(45px);transform:translateY(-50%);pointer-events:none}
.tool-cloud{position:relative;display:flex;flex-wrap:wrap;gap:9px}
.skills-toolkit .tool-cloud span{min-height:46px;padding:6px 13px 6px 7px;display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:.72rem;font-weight:650;box-shadow:0 6px 20px rgba(12,14,13,.04);transition:transform .25s,border-color .25s,box-shadow .25s}
.skills-toolkit .tool-cloud span:hover{transform:translateY(-3px);border-color:var(--violet);box-shadow:0 11px 24px rgba(12,14,13,.09)}
.skills-toolkit .tool-cloud i{width:31px;height:31px;display:grid;place-items:center;border-radius:8px;background:var(--ink);color:var(--acid);font-style:normal;font-size:.62rem;font-weight:750;transition:transform .25s}
.skills-toolkit .tool-cloud span:nth-child(3n+2) i{background:var(--violet);color:#fff;animation-delay:-1.2s}.skills-toolkit .tool-cloud span:nth-child(3n) i{background:var(--orange);color:var(--ink);animation-delay:-2.4s}
.skills-toolkit .tool-cloud span:hover i{transform:scale(1.06)}
.skills-toolkit .tool-cloud span.has-tool-logo>i{width:28px;height:28px;border:0;border-radius:0;background:transparent!important;color:inherit;box-shadow:none}
.skills-toolkit .tool-cloud .has-tool-logo i img{display:block;width:23px;height:23px;object-fit:contain}
@keyframes toolPulse{0%,100%{transform:scale(.94)}50%{transform:scale(1.04)}}
.skills-full-index{grid-column:1/3;border-top:1px solid var(--line);padding-top:22px}
.skills-full-index summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;font-size:.76rem;font-weight:700}.skills-full-index summary::-webkit-details-marker{display:none}.skills-full-index summary span{font-size:1rem;transition:transform .25s}.skills-full-index[open] summary span{transform:rotate(45deg)}
.skills-full-index>div{padding:24px 0 2px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 34px}.skills-full-index p{font-size:.74rem;line-height:1.6}.skills-full-index p b{display:block;margin-bottom:4px;color:var(--ink)}

@media(max-width:900px){
  .skills-toolkit.skills-toolkit-visual{grid-template-columns:150px minmax(0,1fr)}
}
@media(max-width:650px){
  .skills-map article{min-height:440px}.skills-map .skill-motion{height:112px;flex-basis:112px}
  .skills-toolkit.skills-toolkit-visual{grid-template-columns:1fr;gap:24px}.skills-toolkit-visual .skills-toolkit-title{padding-bottom:0;border:0}.skills-toolkit .tool-cloud{padding-top:0;border:0}.skills-toolkit .tool-cloud span{min-height:43px}.skills-full-index{grid-column:1}.skills-full-index>div{grid-template-columns:1fr;gap:14px}
}
@media(prefers-reduced-motion:reduce){.experience-timeline::after,.skills-toolkit .tool-cloud i{animation:none}}

.ai-lab:not(.motion-in-view) *,
.about:not(.motion-in-view) *,
.recommendations:not(.motion-in-view) *,
.recognition:not(.motion-in-view) *{animation-play-state:paused!important}

/* AI workflow lab: authentic product marks with a human-led motion system. */
.ai-intro{position:relative}
.ai-workflow-motion{position:relative;width:min(100%,360px);height:220px;margin-top:42px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:radial-gradient(circle at 50% 50%,rgba(201,255,56,.11),transparent 27%),linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.01))}
.ai-workflow-motion::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:30px 30px;mask-image:radial-gradient(circle,black,transparent 85%)}
.ai-workflow-orbit{position:absolute;width:155px;height:155px;border:1px dashed rgba(255,255,255,.25);border-radius:50%;animation:aiWorkflowOrbit 13s linear infinite}
.ai-workflow-orbit::before,.ai-workflow-orbit::after{content:"";position:absolute;width:8px;height:8px;border:3px solid #0b0e0d;border-radius:50%;background:var(--acid);box-shadow:0 0 14px rgba(201,255,56,.75)}
.ai-workflow-orbit::before{left:14px;top:18px}.ai-workflow-orbit::after{right:-4px;top:72px;background:var(--violet);box-shadow:0 0 14px rgba(116,98,255,.72)}
.ai-workflow-core{position:relative;z-index:2;width:82px;height:82px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:#fff;color:var(--ink);font-family:"Tinos",Georgia,serif;font-size:.88rem;font-weight:500;line-height:1.05;text-align:center;box-shadow:0 0 0 9px rgba(255,255,255,.045);animation:aiWorkflowCore 3.2s ease-in-out infinite}
.ai-workflow-node{position:absolute;z-index:2;padding:6px 9px;border:1px solid rgba(255,255,255,.17);border-radius:99px;background:#151817;color:rgba(255,255,255,.74);font-style:normal;font-size:.57rem;font-weight:650;letter-spacing:.05em;text-transform:uppercase;animation:aiWorkflowFloat 4s ease-in-out infinite}
.ai-workflow-node.node-explore{left:8%;top:18%}.ai-workflow-node.node-make{right:7%;top:25%;animation-delay:-1.2s}.ai-workflow-node.node-learn{right:14%;bottom:12%;animation-delay:-2.3s}
@keyframes aiWorkflowOrbit{to{transform:rotate(360deg)}}
@keyframes aiWorkflowCore{0%,100%{transform:scale(.95)}50%{transform:scale(1.04)}}
@keyframes aiWorkflowFloat{0%,100%{transform:translateY(-3px)}50%{transform:translateY(4px)}}

.tool-stack{position:relative;overflow:hidden}
.tool-card{position:relative;overflow:hidden;isolation:isolate}
.tool-card>*{position:relative;z-index:2}
.tool-card::before{content:"";position:absolute;z-index:0;left:59px;right:70px;top:50%;border-top:1px dashed rgba(255,255,255,.075)}
.tool-card::after{content:"";position:absolute;z-index:1;left:62px;top:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background:var(--acid);box-shadow:0 0 14px rgba(201,255,56,.8);animation:aiToolPacket 5.2s cubic-bezier(.45,0,.25,1) infinite}
.tool-card:nth-child(2)::after{background:var(--violet);box-shadow:0 0 14px rgba(116,98,255,.85);animation-delay:-1.3s}.tool-card:nth-child(3)::after{background:#fff;animation-delay:-2.6s}.tool-card:nth-child(4)::after{background:var(--orange);box-shadow:0 0 14px rgba(255,91,55,.75);animation-delay:-3.9s}
@keyframes aiToolPacket{0%,14%{transform:translateX(0);opacity:0}25%{opacity:1}72%{opacity:1}88%,100%{transform:translateX(clamp(150px,42vw,520px));opacity:0}}
.tool-card>.tool-logo{width:52px;height:52px;display:grid;place-items:center;border:0;border-radius:0;background:transparent;box-shadow:none;animation:aiLogoFloat 4s ease-in-out infinite}
.tool-card:nth-child(2)>.tool-logo{animation-delay:-1s}.tool-card:nth-child(3)>.tool-logo{animation-delay:-2s}.tool-card:nth-child(4)>.tool-logo{animation-delay:-3s}
.tool-card>.tool-logo img{display:block;width:31px;height:31px;object-fit:contain}
.tool-card:nth-child(2)>.tool-logo img,.tool-card:nth-child(3)>.tool-logo img{filter:invert(1)}
@keyframes aiLogoFloat{0%,100%{transform:translateY(-2px) rotate(-2deg)}50%{transform:translateY(3px) rotate(2deg)}}
.tool-card:hover>.tool-logo{animation-play-state:paused;transform:scale(1.07)}

@media(max-width:700px){
  .ai-workflow-motion{height:190px;margin-top:34px}.ai-workflow-orbit{width:132px;height:132px}.ai-workflow-core{width:74px;height:74px;font-size:.8rem}.ai-workflow-orbit::after{top:60px}
  .tool-card>.tool-logo{width:46px;height:46px;border-radius:0}.tool-card>.tool-logo img{width:28px;height:28px}.tool-card::before{left:38px;right:58px}.tool-card::after{left:40px}
  @keyframes aiToolPacket{0%,14%{transform:translateX(0);opacity:0}25%{opacity:1}72%{opacity:1}88%,100%{transform:translateX(210px);opacity:0}}
}
@media(prefers-reduced-motion:reduce){.ai-workflow-orbit,.ai-workflow-core,.ai-workflow-node,.tool-card::after,.tool-card>.tool-logo{animation:none}}

/* Recommendations: one clear voice at a time. */
.recommendations{padding-top:70px}
.recommendation-intro{margin:-18px 0 42px;padding:25px 0}
.recommendation-intro p{max-width:650px;font-size:.94rem}
.recommendation-layout{display:grid;grid-template-columns:minmax(280px,.38fr) minmax(0,.62fr);gap:18px}
.recommendation-signal{position:relative;min-height:440px;padding:32px;display:flex;flex-direction:column;overflow:hidden;border-radius:24px;background:var(--acid);color:var(--ink)}
.recommendation-signal>span{font-size:.64rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.recommendation-signal>strong{margin:52px 0 20px;font-family:"Tinos",Georgia,serif;font-size:clamp(6rem,9vw,8.7rem);font-weight:500;line-height:.68;letter-spacing:-.08em}
.recommendation-signal>p{position:relative;z-index:2;max-width:300px;margin:auto 0 0;font-size:.82rem;line-height:1.55}
.recommendation-signal-art{position:absolute;right:-28px;top:45px;width:210px;height:210px;border:1px solid rgba(12,14,13,.18);border-radius:50%;animation:recommendationOrbit 16s linear infinite}
.recommendation-signal-art::before{content:"";position:absolute;inset:36px;border:1px dashed rgba(12,14,13,.2);border-radius:50%}
.recommendation-signal-art i{position:absolute;width:13px;height:13px;border:3px solid var(--acid);border-radius:50%;background:var(--ink)}
.recommendation-signal-art i:nth-child(1){left:18px;top:34px}.recommendation-signal-art i:nth-child(2){right:-5px;top:92px}.recommendation-signal-art i:nth-child(3){left:65px;bottom:-3px;background:var(--violet)}
.recommendation-signal-art b{position:absolute;left:50%;top:50%;width:40px;height:40px;border-radius:50%;background:var(--ink);transform:translate(-50%,-50%);box-shadow:0 0 0 9px rgba(12,14,13,.08)}
@keyframes recommendationOrbit{to{transform:rotate(360deg)}}

.recommendation-carousel{min-width:0;min-height:440px;display:flex;flex-direction:column;overflow:hidden;border-radius:24px;background:#0b0e0d;color:#fff}
.recommendation-viewport{flex:1;min-height:0;overflow:hidden}
.recommendation-track{height:100%;display:flex;will-change:transform;transition:transform .65s cubic-bezier(.2,.8,.2,1)}
.recommendation-slide{position:relative;min-width:100%;min-height:346px;margin:0;padding:38px 42px 30px;display:flex;flex-direction:column;overflow:hidden}
.recommendation-slide::before{content:"“";position:absolute;right:35px;top:24px;color:rgba(201,255,56,.18);font-family:Georgia,serif;font-size:9rem;line-height:1}
.recommendation-slide>p{position:relative;z-index:1;max-width:780px;margin:auto 0 45px;font-family:"Tinos",Georgia,serif;font-size:clamp(2rem,3.4vw,3.75rem);font-weight:500;line-height:1.02;letter-spacing:-.035em}
.recommendation-slide cite{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:19px;border-top:1px solid rgba(255,255,255,.18);font-style:normal}
.recommendation-slide cite b{font-size:.82rem;font-weight:650}.recommendation-slide cite span{color:rgba(255,255,255,.55);font-size:.68rem}
.recommendation-controls{min-height:78px;padding:0 24px 0 42px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid rgba(255,255,255,.14)}
.recommendation-progress{display:flex;align-items:center;gap:7px}
.recommendation-progress button{position:relative;width:34px;height:28px;padding:0;border:0;background:transparent;cursor:pointer;transition:width .3s}.recommendation-progress button::before{content:"";position:absolute;left:0;right:0;top:50%;height:4px;border-radius:99px;background:rgba(255,255,255,.28);transform:translateY(-50%);transition:background .3s}.recommendation-progress button.is-active{width:64px}.recommendation-progress button.is-active::before{background:var(--acid)}
.recommendation-arrows{display:flex;align-items:center;gap:12px}.recommendation-arrows>button{width:45px;height:45px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:transparent;color:#fff;font-size:1rem;cursor:pointer;transition:background .25s,color .25s,transform .25s}.recommendation-arrows>button:hover,.recommendation-arrows>button:focus-visible{background:var(--acid);color:var(--ink);transform:translateY(-2px)}
.recommendation-count{min-width:59px;text-align:center;color:rgba(255,255,255,.62);font-size:.67rem}.recommendation-count b{color:#fff;font-weight:650}
@media(max-width:850px){
  .recommendation-layout{grid-template-columns:1fr}.recommendation-signal{min-height:280px}.recommendation-signal>strong{margin:40px 0 16px}.recommendation-signal>p{max-width:250px}.recommendation-signal-art{right:-18px;top:34px;width:190px;height:190px}
  .recommendation-carousel{min-height:460px}
}
@media(max-width:540px){
  .recommendations{padding-top:55px}.recommendation-intro{margin:-8px 0 32px;align-items:flex-start;flex-direction:column;gap:24px}.recommendation-layout{gap:12px}.recommendation-signal,.recommendation-carousel{border-radius:18px}.recommendation-signal{min-height:250px;padding:23px}.recommendation-signal>strong{font-size:6.2rem}.recommendation-signal-art{right:-50px;top:18px;width:170px;height:170px}
  .recommendation-carousel{min-height:470px}.recommendation-slide{min-height:385px;padding:28px 22px 24px}.recommendation-slide::before{right:18px;top:22px;font-size:7rem}.recommendation-slide>p{margin:auto 0 36px;font-size:2.25rem}.recommendation-slide cite{align-items:flex-start;flex-direction:column;gap:6px}.recommendation-controls{min-height:72px;padding:0 14px 0 22px}.recommendation-progress button{width:24px}.recommendation-progress button.is-active{width:42px}.recommendation-arrows{gap:7px}.recommendation-arrows>button{width:42px;height:42px}.recommendation-count{min-width:51px}
}
@media(prefers-reduced-motion:reduce){.recommendation-signal-art{animation:none}.recommendation-track{transition:none}}

/* Recognition and speaking: animated visual signals for each milestone. */
.recognition{padding-top:45px}
.recognition h2{max-width:920px;margin-bottom:56px}
.recognition-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;border-top:0}
.recognition-grid article{--recognition-accent:var(--violet);position:relative;min-height:275px;padding:22px;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}
.recognition-grid article:nth-child(2){--recognition-accent:var(--orange)}.recognition-grid article:nth-child(3){--recognition-accent:#83ad00}.recognition-grid article:nth-child(4){--recognition-accent:var(--ink)}
.recognition-grid article+article{padding-left:22px;border-left:1px solid var(--line)}
.recognition-grid article::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--recognition-accent);transform:scaleX(.18);transform-origin:left;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.recognition-grid article::after{content:"";position:absolute;right:-45px;top:-55px;width:160px;height:160px;border-radius:50%;background:color-mix(in srgb,var(--recognition-accent) 8%,transparent);transform:scale(.85);transition:transform .45s}
.recognition-grid article:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--recognition-accent) 42%,var(--line));box-shadow:0 22px 48px rgba(12,14,13,.09)}
.recognition-grid article:hover::before{transform:scaleX(1)}.recognition-grid article:hover::after{transform:scale(1.12)}
.recognition-card-top{position:relative;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.recognition-grid .recognition-card-top>span{padding:6px 9px;border:1px solid var(--line);border-radius:99px;background:#faf9f5;color:var(--muted);font-size:.62rem;font-weight:650}
.recognition-icon{position:relative;width:68px;height:68px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--recognition-accent) 45%,var(--line));border-radius:18px;background:color-mix(in srgb,var(--recognition-accent) 8%,#fff);color:var(--recognition-accent);animation:recognitionFloat 4.5s ease-in-out infinite}
.recognition-grid article:nth-child(2) .recognition-icon{animation-delay:-1.1s}.recognition-grid article:nth-child(3) .recognition-icon{animation-delay:-2.2s}.recognition-grid article:nth-child(4) .recognition-icon{animation-delay:-3.3s}
.recognition-icon svg{position:relative;z-index:2;width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.recognition-icon i{position:absolute;inset:8px;border:1px dashed color-mix(in srgb,var(--recognition-accent) 38%,transparent);border-radius:50%;animation:recognitionSpin 9s linear infinite}
.recognition-icon i::after{content:"";position:absolute;right:-3px;top:50%;width:6px;height:6px;border:2px solid #fff;border-radius:50%;background:var(--recognition-accent);transform:translateY(-50%);box-shadow:0 0 9px color-mix(in srgb,var(--recognition-accent) 60%,transparent)}
.recognition-grid article>div:last-child{position:relative;z-index:2;margin-top:auto;padding-top:42px}
.recognition-grid b{display:block;margin:0;font-family:"Tinos",Georgia,serif;font-size:clamp(1.4rem,1.8vw,1.9rem);font-weight:500;line-height:1.02;letter-spacing:-.025em}
.recognition-grid p{margin:10px 0 0;font-size:.74rem;line-height:1.45}
@keyframes recognitionFloat{0%,100%{transform:translateY(-3px) rotate(-1deg)}50%{transform:translateY(5px) rotate(1deg)}}
@keyframes recognitionSpin{to{transform:rotate(360deg)}}
@media(max-width:900px){.recognition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recognition-grid article{min-height:250px}}
@media(max-width:540px){.recognition h2{margin-bottom:38px}.recognition-grid{grid-template-columns:1fr}.recognition-grid article{min-height:225px;padding:20px}.recognition-grid article+article{padding-left:20px}.recognition-grid article>div:last-child{padding-top:32px}.recognition-icon{width:62px;height:62px}.recognition-grid b{font-size:1.65rem}}
@media(prefers-reduced-motion:reduce){.recognition-icon,.recognition-icon i{animation:none}}

/* Teaching and Freelancing: concise, visual and motion-led storytelling. */
.audience-card{position:relative;min-height:365px;overflow:hidden;background:#fff}
.audience-card::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--violet);transform:scaleX(.16);transform-origin:left;transition:transform .45s}
.audience-card:nth-child(2)::before{background:var(--orange)}.audience-card:nth-child(3)::before{background:#86ad00}.audience-card:nth-child(4)::before{background:var(--ink)}
.audience-card:hover::before{transform:scaleX(1)}
.audience-card h3{margin:34px 0 11px}.audience-card p{font-weight:600;color:var(--ink)}
.audience-motion{position:relative;height:92px;margin:24px 0 auto;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#fbfaf7,#f0efe9)}
.audience-motion::before{content:"";position:absolute;left:15%;right:15%;top:50%;border-top:1px dashed rgba(12,14,13,.2)}
.audience-motion i{position:absolute;top:calc(50% - 7px);width:14px;height:14px;border:4px solid #f7f6f2;border-radius:50%;background:var(--violet);z-index:2}.audience-motion i:nth-child(1){left:15%}.audience-motion i:nth-child(2){left:48%;background:var(--orange)}.audience-motion i:nth-child(3){right:15%;background:#84ad00}
.audience-motion span{position:absolute;left:15%;top:calc(50% - 4px);width:8px;height:8px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 5px rgba(12,14,13,.08);animation:audienceJourney 4.8s cubic-bezier(.45,0,.25,1) infinite}
.audience-card:nth-child(2) .audience-motion span{animation-delay:-1.2s}.audience-card:nth-child(3) .audience-motion span{animation-delay:-2.4s}.audience-card:nth-child(4) .audience-motion span{animation-delay:-3.6s}
@keyframes audienceJourney{0%,12%{transform:translateX(0);opacity:.25}50%{opacity:1}88%,100%{transform:translateX(190px);opacity:.25}}
.audience-card b{margin-top:20px}

.programme-list article{grid-template-columns:60px minmax(0,1fr) 130px 210px;align-items:center;padding:30px 0}
.programme-list h3{margin-bottom:9px}.programme-list p{font-size:.88rem}
.programme-pulse{height:54px;display:flex;align-items:center;justify-content:center;gap:6px}
.programme-pulse i{width:5px;height:14px;border-radius:4px;background:rgba(255,255,255,.25);animation:programmeWave 1.8s ease-in-out infinite}.programme-pulse i:nth-child(2){height:34px;background:var(--acid);animation-delay:-.3s}.programme-pulse i:nth-child(3){height:22px;animation-delay:-.6s}
@keyframes programmeWave{0%,100%{transform:scaleY(.65);opacity:.45}50%{transform:scaleY(1.15);opacity:1}}

.outcome-proof{position:relative;overflow:hidden;border-radius:22px}
.learning-path-graphic span::before{animation:learningNode 3s ease-in-out infinite}.learning-path-graphic span:nth-child(2)::before{animation-delay:-.75s}.learning-path-graphic span:nth-child(3)::before{animation-delay:-1.5s}.learning-path-graphic span:nth-child(4)::before{animation-delay:-2.25s}
@keyframes learningNode{0%,100%{box-shadow:0 0 0 0 rgba(116,98,255,.12)}50%{box-shadow:0 0 0 9px rgba(116,98,255,.13)}}
.outcome-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:28px 0}
.outcome-metrics span{min-height:116px;padding:18px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(89,66,198,.18);border-radius:14px;background:rgba(255,255,255,.48);color:var(--muted);font-size:.7rem}.outcome-metrics b{color:var(--ink);font-family:"Tinos",Georgia,serif;font-size:2.8rem;font-weight:500;line-height:1}
.outcome-proof .outcome-metrics+p{margin:0;font-size:.82rem;color:var(--muted)}
.credibility-grid article{position:relative;min-height:205px;transition:background .3s,transform .3s}.credibility-grid article:hover{background:rgba(116,98,255,.045);transform:translateY(-3px)}
.credibility-label .line-icon{width:45px;height:45px;padding:10px;border:1px solid var(--line);border-radius:50%;animation:credibilityIcon 4s ease-in-out infinite}.credibility-grid article:nth-child(2) .line-icon{animation-delay:-1s}.credibility-grid article:nth-child(3) .line-icon{animation-delay:-2s}.credibility-grid article:nth-child(4) .line-icon{animation-delay:-3s}
@keyframes credibilityIcon{0%,100%{transform:translateY(-2px)}50%{transform:translateY(5px)}}
.credibility-grid p{margin-top:54px;font-size:.8rem}

.freelance-intro{margin-bottom:60px;padding-bottom:45px}.freelance-intro>div>p{font-family:"Tinos",Georgia,serif;font-size:clamp(1.5rem,2.2vw,2.2rem);line-height:1.12;color:var(--ink)}
.freelance-preview-signal{position:absolute;z-index:3;right:16px;bottom:15px;min-height:35px;padding:0 12px 0 8px;display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.22);border-radius:99px;background:rgba(12,14,13,.86);color:#fff;font-size:.58rem;font-weight:650;letter-spacing:.04em;backdrop-filter:blur(8px);transform:translateY(55px);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.freelance-preview-signal i{width:8px;height:8px;border-radius:50%;background:var(--acid);box-shadow:0 0 10px rgba(201,255,56,.75);animation:freelanceSignal 1.8s ease-in-out infinite}
.freelance-card:hover .freelance-preview-signal,.freelance-card:focus-visible .freelance-preview-signal{transform:translateY(0)}
@keyframes freelanceSignal{0%,100%{transform:scale(.7);opacity:.45}50%{transform:scale(1.15);opacity:1}}
.freelance-copy>span{font-size:.86rem;line-height:1.5}

.freelance-services-grid{gap:12px;border:0}
.freelance-services-grid article{position:relative;min-height:340px;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;transition:transform .35s,box-shadow .35s}
.freelance-services-grid article:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(12,14,13,.08)}
.freelance-services-grid h3{margin:34px 0 11px}.freelance-services-grid p{font-weight:600;color:var(--ink)}
.service-motion{position:relative;height:105px;margin:auto 0 0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#fbfaf7,#efeee8)}
.service-motion::before{content:"";position:absolute;left:15%;right:15%;top:50%;height:1px;background:rgba(12,14,13,.18)}
.service-motion i{position:absolute;top:calc(50% - 10px);width:20px;height:20px;border:5px solid #f5f4ef;border-radius:6px;background:var(--violet);animation:serviceModule 4s ease-in-out infinite}.service-motion i:nth-child(1){left:14%}.service-motion i:nth-child(2){left:44%;animation-delay:-1.3s}.service-motion i:nth-child(3){right:14%;animation-delay:-2.6s}
.freelance-services-grid article:nth-child(2) .service-motion i{background:var(--orange)}.freelance-services-grid article:nth-child(3) .service-motion i{background:#84ad00}.freelance-services-grid article:nth-child(4) .service-motion i{background:var(--ink)}
@keyframes serviceModule{0%,100%{transform:translateY(-4px) rotate(-2deg)}50%{transform:translateY(5px) rotate(2deg)}}

.freelance-process-grid article{grid-template-columns:70px minmax(0,1fr) 190px;padding:20px 0}
.process-pulse{position:relative;height:72px;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:99px}
.process-pulse::before{content:"";position:absolute;left:15px;right:15px;top:50%;border-top:1px dashed rgba(255,255,255,.2)}
.process-pulse i{position:absolute;left:15px;top:calc(50% - 6px);width:12px;height:12px;border:3px solid #0b0e0d;border-radius:50%;background:var(--acid);box-shadow:0 0 12px rgba(201,255,56,.72);animation:processFlow 4.2s cubic-bezier(.45,0,.25,1) infinite}.freelance-process-grid article:nth-child(2) .process-pulse i{animation-delay:-1.4s}.freelance-process-grid article:nth-child(3) .process-pulse i{animation-delay:-2.8s}
@keyframes processFlow{0%,12%{transform:translateX(0);opacity:.3}50%{opacity:1}88%,100%{transform:translateX(140px);opacity:.3}}

@media(max-width:1000px){
  .programme-list article{grid-template-columns:45px minmax(0,1fr) 95px}.programme-list b{grid-column:2;justify-self:start}.programme-pulse{grid-column:3;grid-row:1/3}
  .freelance-process-grid article{grid-template-columns:50px minmax(0,1fr) 155px}
  @keyframes processFlow{0%,12%{transform:translateX(0);opacity:.3}50%{opacity:1}88%,100%{transform:translateX(106px);opacity:.3}}
}
@media(max-width:650px){
  .audience-card{min-height:345px}.audience-motion{height:86px}@keyframes audienceJourney{0%,12%{transform:translateX(0);opacity:.25}50%{opacity:1}88%,100%{transform:translateX(205px);opacity:.25}}
  .programme-list article{grid-template-columns:30px 1fr;gap:14px}.programme-pulse{grid-column:2;grid-row:auto;width:115px;justify-self:start}.programme-list b{grid-column:2}.programme-list p{font-size:.79rem}
  .outcome-metrics{grid-template-columns:1fr}.outcome-metrics span{min-height:96px}.credibility-grid p{margin-top:34px}
  .freelance-preview-signal{transform:none;right:10px;bottom:10px}.freelance-services-grid article{min-height:310px}.service-motion{height:96px}
  .freelance-process-grid article{grid-template-columns:34px 1fr;gap:14px}.process-pulse{grid-column:2;width:150px;height:55px}
}
@media(prefers-reduced-motion:reduce){.audience-motion span,.programme-pulse i,.learning-path-graphic span::before,.credibility-label .line-icon,.freelance-preview-signal i,.service-motion i,.process-pulse i{animation:none}}

/* Freelance refresh: a distinct, business-focused product studio language. */
.freelance-page{--freelance-blue:#2946f6;--freelance-blue-dark:#122079;--freelance-mango:#ffd34f;--freelance-coral:#ff7257;--freelance-mint:#bff1d3;background:#f6f3e9}
.freelance-page .site-header:not(.is-scrolled){color:#fff}
.freelance-page .site-header.is-scrolled .brand-accent{fill:var(--freelance-blue)}
.freelance-hero{min-height:900px;background:radial-gradient(circle at 78% 22%,rgba(255,211,79,.22),transparent 20%),linear-gradient(135deg,#2946f6 0%,#2039d7 52%,#14237f 100%)}
.freelance-hero::before{background:linear-gradient(125deg,rgba(255,255,255,.06),transparent 36%),radial-gradient(circle at 15% 85%,rgba(255,114,87,.25),transparent 30%)}
.freelance-hero-orb{right:-10vw;top:-15%;width:min(58vw,820px);border-color:rgba(255,255,255,.12);box-shadow:0 0 0 7vw rgba(255,255,255,.025),0 0 0 14vw rgba(255,255,255,.02);animation-duration:34s}
.freelance-hero-orb::before{background:var(--freelance-mango);box-shadow:0 0 28px rgba(255,211,79,.8)}
.freelance-hero-copy{margin-top:82px}
.freelance-hero .eyebrow{margin-bottom:38px;color:rgba(255,255,255,.76)}
.freelance-hero .status-dot{background:var(--freelance-mango);box-shadow:0 0 0 4px rgba(255,211,79,.18)}
.freelance-hero-stage{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);gap:clamp(45px,7vw,100px);align-items:center}
.freelance-hero-message{position:relative;z-index:3}
.freelance-hero h1{max-width:760px;font-size:clamp(4.2rem,7.1vw,7.4rem);line-height:.86;letter-spacing:-.064em}
.freelance-hero h1 em{display:inline;color:var(--freelance-mango);font-family:"Tinos",Georgia,serif;font-style:normal;font-weight:500}
.freelance-hero-description{max-width:650px;margin:34px 0 0;color:rgba(255,255,255,.76);font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.6}
.freelance-hero-actions{margin-top:32px;display:flex;flex-wrap:wrap;gap:10px}
.freelance-hero-actions a{min-height:52px;padding:0 18px;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border:1px solid rgba(255,255,255,.28);border-radius:99px;font-size:.8rem;font-weight:680;transition:transform .25s,background .25s,color .25s,border-color .25s}
.freelance-hero-actions a:hover,.freelance-hero-actions a:focus-visible{transform:translateY(-3px)}
.freelance-primary{background:var(--freelance-mango);border-color:var(--freelance-mango)!important;color:#111a48}
.freelance-secondary{color:#fff;background:rgba(255,255,255,.07)}
.freelance-secondary:hover,.freelance-secondary:focus-visible{background:#fff;color:var(--freelance-blue-dark)}
.freelance-stack{margin-top:42px;gap:9px}.freelance-stack li{padding:9px 12px;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.055);color:rgba(255,255,255,.82);font-size:.7rem}

.freelance-product-stage{position:relative;min-height:520px;isolation:isolate}
.freelance-product-stage::before{content:"";position:absolute;inset:5% 4% 8% 0;border:1px solid rgba(255,255,255,.16);border-radius:46% 54% 43% 57%;background:rgba(255,255,255,.035);transform:rotate(-5deg)}
.product-browser{position:absolute;z-index:2;left:0;top:50px;width:88%;overflow:hidden;border:1px solid rgba(255,255,255,.35);border-radius:17px;background:#f9f7ef;color:#111a48;box-shadow:0 35px 90px rgba(6,13,68,.38);transform:rotate(-3deg);animation:freelanceBrowserFloat 7s ease-in-out infinite}
.product-browser-bar{height:34px;padding:0 11px;display:flex;align-items:center;gap:6px;background:#111a48;color:rgba(255,255,255,.6)}
.product-browser-bar i{width:7px;height:7px;border-radius:50%;background:var(--freelance-coral)}.product-browser-bar i:nth-child(2){background:var(--freelance-mango)}.product-browser-bar i:nth-child(3){background:var(--freelance-mint)}
.product-browser-bar span{margin-left:9px;font-size:.55rem;letter-spacing:.04em}
.product-browser-body{min-height:275px;padding:37px;position:relative;background:radial-gradient(circle at 86% 20%,rgba(41,70,246,.12),transparent 24%),#f9f7ef}
.product-browser-body small{color:var(--freelance-blue);font-size:.55rem;font-weight:750;text-transform:uppercase;letter-spacing:.12em}
.product-browser-body>b{display:block;margin-top:24px;font-family:"Tinos",Georgia,serif;font-size:2.65rem;font-weight:500;line-height:.84;letter-spacing:-.04em}
.product-browser-body>span{display:block;width:90px;height:28px;margin-top:25px;border-radius:99px;background:var(--freelance-blue)}
.product-browser-body>div{position:absolute;right:24px;bottom:24px;width:41%;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.product-browser-body>div i{height:73px;border-radius:8px;background:var(--freelance-mango)}.product-browser-body>div i:nth-child(2){background:var(--freelance-coral);transform:translateY(-12px)}.product-browser-body>div i:nth-child(3){background:var(--freelance-mint)}
.product-phone{position:absolute;z-index:4;right:0;bottom:18px;width:185px;height:370px;padding:8px;overflow:hidden;border:1px solid rgba(255,255,255,.5);border-radius:30px;background:#111a48;box-shadow:0 30px 80px rgba(6,13,68,.48);transform:rotate(5deg);animation:freelancePhoneFloat 6s ease-in-out infinite}
.product-phone-top{position:absolute;z-index:2;left:50%;top:14px;width:58px;height:14px;border-radius:99px;background:#111a48;transform:translateX(-50%)}
.product-phone-body{height:100%;padding:42px 15px 15px;border-radius:23px;background:linear-gradient(160deg,#fff9e5,#f7f4eb);color:#111a48}.product-phone-body small{font-size:.52rem;color:#60657e}.product-phone-body>b{display:block;margin-top:17px;font-family:"Tinos",Georgia,serif;font-size:1.55rem;line-height:.9}.product-phone-body>span{display:block;height:62px;margin-top:20px;border-radius:12px;background:var(--freelance-blue)}.product-phone-body>i{display:block;height:38px;margin-top:7px;border-radius:9px;background:#fff;box-shadow:0 6px 18px rgba(17,26,72,.08)}.product-phone-body nav{height:34px;margin-top:8px;display:flex;align-items:center;justify-content:space-around;border-radius:11px;background:#111a48}.product-phone-body nav u{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.35);text-decoration:none}.product-phone-body nav u:first-child{background:var(--freelance-mango)}
.product-stage-chip{position:absolute;z-index:5;padding:9px 12px;border:1px solid rgba(255,255,255,.28);border-radius:99px;background:rgba(17,26,72,.88);color:#fff;font-size:.62rem;font-weight:680;box-shadow:0 10px 30px rgba(6,13,68,.22);backdrop-filter:blur(8px);animation:freelanceChipFloat 5s ease-in-out infinite}.chip-web{left:-18px;top:22px}.chip-app{right:-7px;top:118px;animation-delay:-1.6s}.chip-build{left:28%;bottom:5px;animation-delay:-3.2s}
@keyframes freelanceBrowserFloat{0%,100%{transform:translateY(-4px) rotate(-3deg)}50%{transform:translateY(6px) rotate(-2deg)}}
@keyframes freelancePhoneFloat{0%,100%{transform:translateY(4px) rotate(5deg)}50%{transform:translateY(-8px) rotate(4deg)}}
@keyframes freelanceChipFloat{0%,100%{transform:translateY(-3px)}50%{transform:translateY(6px)}}

.freelance-page .freelance,.freelance-page .freelance-services{background:#f6f3e9}
.freelance-page-work{padding-bottom:115px}
.freelance-page .section-heading>div>span,.freelance-page .service-card-top>span{color:var(--freelance-blue)}
.freelance-page .freelance-card{border-radius:20px;background:#fff;box-shadow:0 10px 35px rgba(17,26,72,.05)}
.freelance-page .freelance-card:hover,.freelance-page .freelance-card:focus-visible{box-shadow:0 28px 70px rgba(17,26,72,.14)}
.freelance-page .freelance-copy>b i{color:var(--freelance-blue)}
.freelance-page .freelance-preview-signal i{background:var(--freelance-mango);box-shadow:0 0 10px rgba(255,211,79,.8)}

/* A concise offer for small businesses, plus polished project-image staging. */
.business-starter-callout{position:relative;z-index:6;width:min(calc(100% - 48px),var(--max));min-height:230px;margin:38px auto 0;padding:26px;display:grid;grid-template-columns:220px minmax(0,1fr) auto;align-items:center;gap:clamp(28px,4vw,62px);border:1px solid rgba(17,26,72,.11);border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(17,26,72,.16)}
.business-starter-visual{position:relative;height:178px;overflow:hidden;border-radius:17px;background:linear-gradient(145deg,#ffd34f,#ffb84d);isolation:isolate}
.business-starter-visual::before{content:"";position:absolute;right:-38px;top:-55px;width:145px;height:145px;border:1px solid rgba(17,26,72,.18);border-radius:50%;box-shadow:0 0 0 22px rgba(255,255,255,.14),0 0 0 44px rgba(17,26,72,.05)}
.starter-browser{position:absolute;left:20px;top:26px;width:172px;height:112px;padding:28px 14px 12px;border-radius:11px;background:#fff;box-shadow:0 15px 30px rgba(17,26,72,.18);transform:rotate(-3deg);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.starter-browser>span{position:absolute;inset:0 0 auto;height:20px;border-radius:11px 11px 0 0;background:#111a48}.starter-browser>i{position:absolute;z-index:2;left:9px;top:7px;width:6px;height:6px;border-radius:50%;background:#ff7257}.starter-browser>i+i{left:19px;background:#ffd34f}.starter-browser>b{display:block;color:#2946f6;font-size:.51rem;font-weight:760;letter-spacing:.04em}.starter-browser>u{display:block;width:83%;height:8px;margin-top:9px;border-radius:5px;background:#111a48;text-decoration:none}.starter-browser>u+u{width:58%;height:5px;margin-top:6px;background:#d6d9e7}.starter-browser>em{display:block;width:48px;height:15px;margin-top:10px;border-radius:99px;background:#2946f6}
.starter-email{position:absolute;z-index:3;left:44px;bottom:17px;min-height:35px;padding:7px 10px;display:flex;align-items:center;gap:7px;border:1px solid rgba(17,26,72,.12);border-radius:9px;background:#fff;color:#111a48;box-shadow:0 10px 25px rgba(17,26,72,.17);transform:rotate(2deg);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.starter-email svg{width:16px;fill:none;stroke:#2946f6;stroke-width:1.8}.starter-email span{font-size:.52rem;font-weight:720;letter-spacing:.01em}
.business-starter-callout:hover .starter-browser{transform:translateY(-5px) rotate(-2deg)}.business-starter-callout:hover .starter-email{transform:translate(5px,-2px) rotate(1deg)}
.business-starter-copy>p{margin-bottom:13px;color:#2946f6;font-size:.62rem;font-weight:760;letter-spacing:.1em;text-transform:uppercase}.business-starter-copy h2{max-width:620px;color:#111a48;font-family:"Tinos",Georgia,serif;font-size:clamp(2rem,3vw,3.15rem);font-weight:500;line-height:.95;letter-spacing:-.035em}.business-starter-copy>span{display:block;max-width:620px;margin-top:14px;color:rgba(17,26,72,.7);font-size:.86rem;font-weight:520;line-height:1.55}
.business-starter-action{min-width:205px;min-height:58px;padding:0 18px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:99px;background:#111a48;color:#fff;font-size:.78rem;font-weight:720;white-space:nowrap;transition:transform .25s,background .25s,color .25s}.business-starter-action svg{width:19px;fill:currentColor}.business-starter-action b{margin-left:auto;font-size:.9rem}.business-starter-action:hover,.business-starter-action:focus-visible{transform:translateY(-3px);background:#2946f6;color:#fff}

.freelance-page .freelance-preview{min-height:340px;padding:48px 36px 34px;aspect-ratio:auto;overflow:hidden;background:#dfe6ff;isolation:isolate}
.freelance-page .freelance-featured .freelance-preview{min-height:490px;padding:58px 54px 42px}
.freelance-page .freelance-preview::before,.freelance-page .freelance-preview::after{content:none}
.freelance-page .preview-gurukulam{background:radial-gradient(circle at 13% 15%,rgba(255,255,255,.72),transparent 20%),linear-gradient(140deg,#ffd34f,#e9b52d)}
.freelance-page .preview-4square{background:radial-gradient(circle at 86% 16%,rgba(255,255,255,.62),transparent 22%),linear-gradient(140deg,#ffb696,#ff7257)}
.freelance-page .preview-shivashakti{background:radial-gradient(circle at 18% 14%,rgba(255,255,255,.7),transparent 22%),linear-gradient(140deg,#bff1d3,#6fd6a0)}
.freelance-preview-browser{position:relative;z-index:2;width:91%;height:100%;margin:auto;overflow:hidden;border:1px solid rgba(17,26,72,.14);border-radius:14px;background:#fff;box-shadow:0 27px 58px rgba(17,26,72,.23);transform:rotate(-1.4deg);transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s}
.preview-browser-bar{height:31px;padding:0 10px;display:flex;align-items:center;gap:6px;background:#111a48;color:rgba(255,255,255,.72)}
.preview-browser-bar i{width:7px;height:7px;border-radius:50%;background:#ff7257}.preview-browser-bar i:nth-child(2){background:#ffd34f}.preview-browser-bar i:nth-child(3){background:#bff1d3}.preview-browser-bar span{min-width:0;margin-left:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.52rem;letter-spacing:.03em}
.freelance-page .freelance-preview-browser>img{width:100%;height:calc(100% - 31px);display:block;object-fit:cover;object-position:top;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.freelance-preview-device{position:absolute;z-index:3;right:18px;bottom:24px;width:102px;height:184px;padding:6px;overflow:hidden;border:4px solid #111a48;border-radius:20px;background:#111a48;box-shadow:0 19px 38px rgba(17,26,72,.27);transform:rotate(5deg);transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.freelance-preview-device::before{content:"";position:absolute;z-index:2;left:50%;top:8px;width:32px;height:6px;border-radius:99px;background:#111a48;transform:translateX(-50%)}
.freelance-preview-device img{width:100%;height:100%;display:block;border-radius:13px;object-fit:cover;object-position:35% top;transform:none!important}
.freelance-featured .freelance-preview-device{right:28px;bottom:30px;width:124px;height:222px}
.freelance-page .freelance-card:hover .freelance-preview-browser,.freelance-page .freelance-card:focus-visible .freelance-preview-browser{transform:translateY(-5px) rotate(-.5deg);box-shadow:0 34px 70px rgba(17,26,72,.29)}
.freelance-page .freelance-card:hover .freelance-preview-browser>img,.freelance-page .freelance-card:focus-visible .freelance-preview-browser>img{transform:scale(1.018)}
.freelance-page .freelance-card:hover .freelance-preview-device,.freelance-page .freelance-card:focus-visible .freelance-preview-device{transform:translate(-5px,-7px) rotate(3deg)}

.freelance-services{padding-top:115px;padding-bottom:125px}
.freelance-services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.freelance-services-grid article{min-height:500px;padding:28px;border:0;border-radius:22px;box-shadow:none}
.freelance-services-grid article:nth-child(1){background:#e8e4ff}.freelance-services-grid article:nth-child(2){background:#ffe8c2}.freelance-services-grid article:nth-child(3){background:#dff5e8}.freelance-services-grid article:nth-child(4){background:#dfe6ff}
.freelance-services-grid article:hover{box-shadow:0 20px 50px rgba(17,26,72,.1)}
.freelance-services-grid .service-card-top b{color:#5140c7;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.freelance-services-grid h3{max-width:440px;margin:42px 0 12px;font-size:clamp(2rem,3vw,3.25rem);line-height:.95}
.freelance-services-grid p{max-width:480px;color:rgba(17,26,72,.74);font-size:.88rem;font-weight:540;line-height:1.55}
.service-visual{position:relative;height:190px;margin-top:auto;display:grid;place-items:center;overflow:hidden;border-radius:16px;background:rgba(255,255,255,.55)}
.brand-board{position:relative;width:76%;height:125px;padding:17px;border-radius:13px;background:#fff;box-shadow:0 14px 35px rgba(17,26,72,.12);animation:serviceBoardFloat 5s ease-in-out infinite}.brand-board>span{font-family:"Tinos",Georgia,serif;font-size:2.2rem;color:var(--freelance-blue)}.brand-board>i{position:absolute;bottom:18px;width:28px;height:28px;border-radius:50%;background:var(--freelance-blue)}.brand-board>i:nth-of-type(1){left:17px}.brand-board>i:nth-of-type(2){left:53px;background:var(--freelance-coral)}.brand-board>i:nth-of-type(3){left:89px;background:var(--freelance-mango)}.brand-board>b{position:absolute;right:17px;top:22px;font-size:.64rem;letter-spacing:.16em}
.mini-browser{width:80%;height:145px;overflow:hidden;border-radius:12px;background:#fff;box-shadow:0 14px 35px rgba(17,26,72,.12);animation:serviceBoardFloat 5.5s ease-in-out infinite}.mini-browser>span{display:block;height:24px;background:var(--freelance-blue-dark)}.mini-browser header{width:38%;height:8px;margin:14px;border-radius:5px;background:#bec4dd}.mini-browser-content{position:relative;height:98px;padding:7px 14px}.mini-browser-content b{display:block;width:54%;height:16px;border-radius:4px;background:var(--freelance-blue)}.mini-browser-content i{display:block;width:66%;height:5px;margin-top:8px;border-radius:4px;background:#d8dae4}.mini-browser-content i+ i{width:48%}.mini-browser-content u{display:block;width:58px;height:20px;margin-top:10px;border-radius:99px;background:var(--freelance-coral);text-decoration:none}
.service-visual-mobile{display:flex;align-items:flex-end;justify-content:center;gap:10px}.mini-phone{position:relative;width:82px;height:148px;padding:16px 9px 9px;border:5px solid var(--freelance-blue-dark);border-radius:18px;background:#fff;box-shadow:0 13px 28px rgba(17,26,72,.16);animation:servicePhone 5s ease-in-out infinite}.mini-phone::before{content:"";position:absolute;left:50%;top:5px;width:24px;height:4px;border-radius:4px;background:var(--freelance-blue-dark);transform:translateX(-50%)}.mini-phone>span{display:block;height:38px;border-radius:7px;background:var(--freelance-blue)}.mini-phone>i,.mini-phone>b{display:block;height:14px;margin-top:6px;border-radius:5px;background:#e6e8ef}.mini-phone nav{height:18px;margin-top:6px;border-radius:5px;background:var(--freelance-mango)}.phone-two{height:166px;animation-delay:-2.5s}.phone-two>span{background:var(--freelance-coral)}.phone-two>b{height:27px;background:var(--freelance-mint)}
.launch-panel{width:79%;padding:16px;border-radius:14px;background:var(--freelance-blue-dark);color:#fff;box-shadow:0 14px 35px rgba(17,26,72,.2);animation:serviceBoardFloat 5.2s ease-in-out infinite}.launch-panel>span{font-size:.56rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.58)}.launch-panel>b{display:block;margin:4px 0 11px;font-family:"Tinos",Georgia,serif;font-size:2.7rem;color:var(--freelance-mango)}.launch-panel ul{margin:0;padding:0;list-style:none}.launch-panel li{margin-top:6px;display:flex;align-items:center;justify-content:space-between;font-size:.58rem;color:rgba(255,255,255,.7)}.launch-panel li i{width:48%;height:5px;border-radius:9px;background:linear-gradient(90deg,var(--freelance-mango) 0 88%,rgba(255,255,255,.16) 88%)}.launch-panel li:nth-child(2) i{background:linear-gradient(90deg,var(--freelance-mint) 0 96%,rgba(255,255,255,.16) 96%)}.launch-panel li:nth-child(3) i{background:linear-gradient(90deg,var(--freelance-coral) 0 92%,rgba(255,255,255,.16) 92%)}
@keyframes serviceBoardFloat{0%,100%{transform:translateY(3px) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}
@keyframes servicePhone{0%,100%{transform:translateY(4px)}50%{transform:translateY(-5px)}}

.freelance-process{background:linear-gradient(135deg,#111a48,#172783 72%,#2946f6)}
.freelance-process-grid article{grid-template-columns:70px minmax(0,1fr) 220px;min-height:190px;padding:24px 0}
.freelance-process-grid article>span{color:var(--freelance-mango)}
.freelance-process-grid p{font-size:.9rem;color:rgba(255,255,255,.68)}
.process-art{position:relative;width:220px;height:98px;justify-self:end;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.06)}
.process-art-discover>span{position:absolute;left:18px;top:17px;padding:6px 9px;border-radius:99px;background:var(--freelance-mango);color:#111a48;font-size:.55rem;font-weight:750}.process-art-discover>b{position:absolute;right:24px;bottom:17px;width:46px;height:46px;border-radius:50%;background:var(--freelance-coral);box-shadow:0 0 0 12px rgba(255,114,87,.12);animation:processGoal 4s ease-in-out infinite}.process-art-discover i{position:absolute;left:20px;bottom:25px;width:70px;height:7px;border-radius:5px;background:rgba(255,255,255,.23)}.process-art-discover i+i{bottom:13px;width:104px}
.process-art-design>span{position:absolute;width:76px;height:58px;border-radius:9px;background:#fff}.process-art-design>span:first-child{left:28px;top:24px;transform:rotate(-7deg)}.process-art-design>span:nth-child(2){left:74px;top:17px;background:var(--freelance-mango);transform:rotate(5deg)}.process-art-design>b{position:absolute;right:31px;bottom:21px;width:20px;height:27px;background:#fff;clip-path:polygon(0 0,100% 72%,58% 74%,40% 100%);animation:processCursor 4.5s ease-in-out infinite}
.process-art-launch{display:flex;align-items:center;gap:9px;padding:18px}.process-art-launch>span{padding:8px 10px;border-radius:99px;background:var(--freelance-mint);color:#111a48;font-size:.58rem;font-weight:800}.process-art-launch>i{width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.12);animation:processCheck 3.8s ease-in-out infinite}.process-art-launch>i::after{content:"✓";display:grid;place-items:center;height:100%;color:var(--freelance-mango);font-size:.7rem}.process-art-launch>i:nth-of-type(2){animation-delay:-1.2s}.process-art-launch>i:nth-of-type(3){animation-delay:-2.4s}
@keyframes processGoal{0%,100%{transform:scale(.9)}50%{transform:scale(1.08)}}@keyframes processCursor{0%,100%{transform:translate(-55px,-25px) rotate(-8deg)}55%{transform:translate(0,0) rotate(4deg)}}@keyframes processCheck{0%,100%{transform:scale(.86);opacity:.55}50%{transform:scale(1.08);opacity:1}}

@media(max-width:1050px){
  .freelance-hero{min-height:980px}.freelance-hero-stage{grid-template-columns:1fr minmax(330px,.72fr);gap:35px}.freelance-product-stage{min-height:450px}.product-phone{width:155px;height:320px}.product-browser-body{min-height:245px;padding:29px}.product-browser-body>b{font-size:2.2rem}
  .freelance-process-grid article{grid-template-columns:50px minmax(0,1fr) 190px}.process-art{width:190px}
}
@media(max-width:800px){
  .freelance-hero{min-height:1120px;padding-bottom:55px}.freelance-hero-copy{margin-top:105px}.freelance-hero-stage{grid-template-columns:1fr}.freelance-hero h1{max-width:680px;font-size:clamp(4rem,13vw,6.6rem)}.freelance-product-stage{width:min(100%,560px);min-height:440px}.freelance-stack{margin-top:18px}
  .business-starter-callout{margin-top:30px;grid-template-columns:180px 1fr}.business-starter-action{grid-column:2;justify-self:start;margin-top:-12px}
  .freelance-services-grid{grid-template-columns:1fr}.freelance-services-grid article{min-height:470px}
}
@media(max-width:650px){
  .freelance-hero{min-height:1050px}.freelance-hero-copy{width:calc(100% - 32px);margin-top:85px}.freelance-hero .eyebrow{margin-bottom:28px}.freelance-hero h1{font-size:14.5vw;line-height:.9}.freelance-hero-description{margin-top:25px;font-size:.94rem}.freelance-hero-actions{display:grid}.freelance-hero-actions a{width:100%}.freelance-product-stage{min-height:330px}.product-browser{top:30px;width:88%}.product-browser-body{min-height:190px;padding:22px}.product-browser-body>b{margin-top:16px;font-size:1.8rem}.product-browser-body>span{margin-top:17px;height:23px}.product-browser-body>div{right:16px;bottom:16px}.product-browser-body>div i{height:50px}.product-phone{right:0;bottom:0;width:116px;height:242px;border-radius:23px}.product-phone-body{padding:34px 10px 10px;border-radius:17px}.product-phone-body>b{font-size:1.12rem}.product-phone-body>span{height:40px;margin-top:13px}.product-phone-body>i{height:24px}.product-phone-body nav{height:24px}.product-stage-chip{font-size:.53rem}.chip-web{left:-5px;top:5px}.chip-app{right:-3px;top:75px}.chip-build{left:19%;bottom:0}.freelance-stack{margin-top:24px}.freelance-stack li{font-size:.64rem}
  .business-starter-callout{width:calc(100% - 32px);margin:24px auto 0;padding:18px;grid-template-columns:1fr;gap:22px;border-radius:19px}.business-starter-visual{height:154px}.starter-browser{left:calc(50% - 88px);top:18px}.starter-email{left:calc(50% - 63px);bottom:12px}.business-starter-copy h2{font-size:2.25rem}.business-starter-copy>span{font-size:.84rem}.business-starter-action{grid-column:1;width:100%;margin:0;justify-self:stretch}
  .freelance-page .freelance-preview,.freelance-page .freelance-featured .freelance-preview{min-height:300px;padding:38px 18px 25px}.freelance-preview-browser{width:94%}.freelance-preview-device,.freelance-featured .freelance-preview-device{right:10px;bottom:18px;width:82px;height:148px}.freelance-page .freelance-preview-signal{right:auto;left:12px;bottom:12px;max-width:calc(100% - 110px)}
  .freelance-services{padding-top:88px;padding-bottom:95px}.freelance-services-grid article{min-height:440px;padding:22px}.freelance-services-grid h3{margin-top:34px;font-size:2.2rem}.service-visual{height:165px}
  .freelance-process-grid article{grid-template-columns:34px 1fr;gap:14px;padding:28px 0}.process-art{grid-column:2;width:100%;max-width:240px;height:88px;justify-self:start}
}
@media(prefers-reduced-motion:reduce){.product-browser,.product-phone,.product-stage-chip,.brand-board,.mini-browser,.mini-phone,.launch-panel,.process-art *{animation:none!important}.starter-browser,.starter-email,.freelance-preview-browser,.freelance-preview-browser>img,.freelance-preview-device{transition:none!important}}

/* Teaching refresh: clear learner stages with classroom-led visual stories. */
.teaching-page{--teach-purple:#6652e8;--teach-ink:#17122f;--teach-yellow:#dfff57;--teach-orange:#ff8a5b;--teach-blue:#8ed8ff;--teach-pink:#ffc5de;background:#f7f5ef}
.teaching-page .brand-accent{fill:var(--teach-purple)}
.education-hero{min-height:980px;background:radial-gradient(circle at 82% 18%,rgba(255,255,255,.5),transparent 25%),linear-gradient(135deg,#dfff57 0%,#e9ff91 54%,#c8f5e5 100%)}
.education-hero::after{content:"";position:absolute;right:-12vw;top:-18vw;width:64vw;height:64vw;border-radius:50%;background:rgba(102,82,232,.08);box-shadow:0 0 0 7vw rgba(255,255,255,.14),0 0 0 14vw rgba(102,82,232,.035);pointer-events:none}
.education-hero-copy{max-width:800px}.education-hero .eyebrow{margin-bottom:42px;color:rgba(23,18,47,.64)}
.education-hero h1{max-width:820px;font-size:clamp(4.3rem,7.4vw,7.6rem);line-height:.86}.education-hero h1 em{color:var(--teach-purple);font-family:"Tinos",Georgia,serif;font-style:normal;font-weight:500}
.education-hero-bottom{max-width:760px;margin-top:42px;align-items:center}.education-hero-bottom p{color:rgba(23,18,47,.74)}
.education-hero .primary-pill{background:var(--teach-ink);color:#fff;border-color:var(--teach-ink)}
.education-hero .primary-pill:hover,.education-hero .primary-pill:focus-visible{background:var(--teach-purple);border-color:var(--teach-purple)}
.teaching-hero-scene{position:absolute;z-index:2;right:max(24px,calc((100vw - var(--max))/2));top:190px;width:420px;height:430px;animation:teachingSceneFloat 7s ease-in-out infinite}
.teaching-board{position:absolute;right:0;top:0;width:360px;height:250px;padding:32px;overflow:hidden;border:8px solid var(--teach-ink);border-radius:20px;background:#fffdf5;box-shadow:0 35px 75px rgba(23,18,47,.18);transform:rotate(3deg)}
.teaching-board>span{display:block;font-family:"Tinos",Georgia,serif;font-size:2.2rem;font-weight:500;color:var(--teach-ink)}.teaching-board>i{position:absolute;width:70px;height:55px;bottom:45px;border-radius:5px;background:var(--teach-yellow);box-shadow:0 8px 18px rgba(23,18,47,.09);animation:teachingSticky 4.8s ease-in-out infinite}.teaching-board>i:nth-of-type(1){left:34px;transform:rotate(-5deg)}.teaching-board>i:nth-of-type(2){left:126px;background:var(--teach-pink);transform:rotate(4deg);animation-delay:-1.6s}.teaching-board>i:nth-of-type(3){left:218px;background:var(--teach-blue);transform:rotate(-2deg);animation-delay:-3.2s}.teaching-board>b{position:absolute;left:32px;bottom:14px;font-size:.58rem;letter-spacing:.14em;color:rgba(23,18,47,.58)}
.teaching-desk{position:absolute;z-index:2;left:12px;right:28px;bottom:66px;height:22px;border-radius:50%;background:var(--teach-ink);transform:rotate(-2deg)}.teaching-desk span{position:absolute;top:-34px;width:52px;height:38px;border-radius:6px 6px 2px 2px;background:var(--teach-orange)}.teaching-desk span:nth-child(1){left:35px}.teaching-desk span:nth-child(2){left:155px;background:var(--teach-purple)}.teaching-desk span:nth-child(3){right:34px;background:var(--teach-blue)}
.teaching-learner{position:absolute;z-index:3;bottom:0;width:54px;height:94px}.teaching-learner i{position:absolute;left:12px;width:31px;height:31px;border-radius:50%;background:#8e5c45}.teaching-learner b{position:absolute;left:4px;bottom:0;width:47px;height:60px;border-radius:23px 23px 8px 8px;background:var(--teach-purple)}.learner-one{left:80px}.learner-two{right:80px;transform:scale(.9)}.learner-two i{background:#c98a63}.learner-two b{background:var(--teach-orange)}
.teaching-scene-chip{position:absolute;z-index:4;padding:8px 11px;border:2px solid var(--teach-ink);border-radius:99px;background:#fff;color:var(--teach-ink);font-size:.6rem;font-weight:750;box-shadow:4px 4px 0 var(--teach-ink);animation:teachingChipFloat 5s ease-in-out infinite}.chip-curiosity{left:-10px;top:38px}.chip-craft{right:-12px;top:168px;animation-delay:-1.7s}.chip-confidence{left:148px;bottom:4px;background:var(--teach-yellow);animation-delay:-3.3s}
@keyframes teachingSceneFloat{0%,100%{transform:translateY(-3px)}50%{transform:translateY(7px)}}@keyframes teachingSticky{0%,100%{translate:0 2px}50%{translate:0 -5px}}@keyframes teachingChipFloat{0%,100%{translate:0 -3px}50%{translate:0 5px}}
.teaching-page .hero-proof{grid-template-columns:repeat(4,minmax(0,1fr));background:rgba(255,255,255,.42);backdrop-filter:blur(12px)}
.teaching-page .hero-proof article{min-width:0;min-height:132px;padding:22px 24px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px}
.teaching-page .hero-proof article+article{padding-left:24px;border-color:rgba(23,18,47,.16)}
.teaching-page .hero-proof strong{display:block;font-size:clamp(2.35rem,3.35vw,3.65rem);line-height:.9;letter-spacing:-.055em}
.teaching-page .hero-proof span{display:block;max-width:none;font-size:.76rem;font-weight:580;line-height:1.35;opacity:.68}

.audience-section{padding-top:125px}.audience-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;border:0}.audience-card{min-height:485px;padding:27px;border:0;border-radius:22px;background:#fff;box-shadow:0 12px 38px rgba(23,18,47,.055);transition:transform .35s,box-shadow .35s}.audience-card:nth-child(-n+3){grid-column:span 2}.audience-card:nth-child(n+4){grid-column:span 3}.audience-card::before{display:none}.audience-card:hover{transform:translateY(-5px);box-shadow:0 22px 52px rgba(23,18,47,.1)}
.audience-card:nth-child(1){background:#fff3bd}.audience-card:nth-child(2){background:#e8e4ff}.audience-card:nth-child(3){background:#dff3ff}.audience-card:nth-child(4){background:#e0f5e8}.audience-card:nth-child(5){background:#ffe1d6}
.audience-card-top>span{color:var(--teach-ink);font-weight:700}.audience-card-top>b{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(23,18,47,.62)}
.audience-card h3{margin:38px 0 12px;font-size:clamp(2rem,2.7vw,3rem);color:var(--teach-ink)}.audience-card p{max-width:430px;color:rgba(23,18,47,.72);font-size:.87rem;font-weight:520}.audience-card>b{margin-top:20px;color:rgba(23,18,47,.68)}
.learner-visual{position:relative;height:145px;margin:25px 0 auto;display:grid;place-items:center;overflow:hidden;border-radius:16px;background:rgba(255,255,255,.6)}
.idea-card{position:relative;z-index:2;width:105px;height:78px;display:grid;place-items:center;border:3px solid var(--teach-ink);border-radius:9px;background:#fff;font-family:"Tinos",Georgia,serif;font-size:1.2rem;box-shadow:8px 8px 0 var(--teach-purple);animation:learnerCard 5s ease-in-out infinite}.learner-visual-young>span{position:absolute;width:44px;height:44px;border-radius:50%;background:var(--teach-orange)}.learner-visual-young>span:nth-of-type(1){left:13%;top:18%}.learner-visual-young>span:nth-of-type(2){right:12%;bottom:15%;background:var(--teach-blue)}.learner-visual-young>i{position:absolute;right:17%;top:18%;width:35px;height:35px;background:var(--teach-yellow);transform:rotate(16deg)}
.career-compass{position:relative;width:100px;height:100px;display:grid;place-items:center;border:7px solid var(--teach-ink);border-radius:50%;background:#fff;animation:compassFloat 5s ease-in-out infinite}.career-compass i{position:absolute;width:5px;height:50px;background:var(--teach-orange);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);transform:rotate(35deg)}.career-compass b{position:absolute;bottom:-22px;font-size:.58rem;letter-spacing:.12em}.learner-visual-compass>span{position:absolute;padding:6px 8px;border-radius:99px;background:#fff;font-size:.55rem;font-weight:700}.learner-visual-compass>span:nth-of-type(1){left:10%;top:18%}.learner-visual-compass>span:nth-of-type(2){right:9%;bottom:18%}
.portfolio-sheet{position:absolute;z-index:2;width:126px;height:98px;padding:13px;border-radius:9px;background:#fff;box-shadow:0 12px 24px rgba(23,18,47,.12);transform:rotate(-4deg);animation:portfolioSheet 5s ease-in-out infinite}.portfolio-sheet>span{font-size:.5rem;font-weight:750;color:var(--teach-purple)}.portfolio-sheet>b{display:block;width:68%;height:13px;margin-top:11px;border-radius:3px;background:var(--teach-ink)}.portfolio-sheet>i{display:block;width:88%;height:5px;margin-top:7px;border-radius:4px;background:#d4d5dd}.portfolio-sheet>i+i{width:57%}.sheet-back{z-index:1;background:var(--teach-blue);transform:translate(25px,10px) rotate(5deg)}
.pro-dashboard{width:82%;padding:17px;border-radius:13px;background:var(--teach-ink);color:#fff;box-shadow:0 15px 30px rgba(23,18,47,.16);animation:learnerCard 5.4s ease-in-out infinite}.pro-dashboard>span{font-size:.5rem;letter-spacing:.12em;color:var(--teach-yellow)}.pro-dashboard>b{display:block;margin:8px 0 14px;font-family:"Tinos",Georgia,serif;font-size:1.35rem}.pro-dashboard>i{display:inline-block;width:25%;height:32px;margin-right:5px;border-radius:5px;background:var(--teach-purple)}.pro-dashboard>i:nth-of-type(2){height:52px;background:var(--teach-orange)}.pro-dashboard>i:nth-of-type(3){height:41px;background:var(--teach-blue)}
.faculty-board{position:absolute;top:21px;width:150px;height:77px;padding:12px;border:4px solid var(--teach-ink);border-radius:8px;background:#fff}.faculty-board>span{font-size:.55rem;font-weight:750}.faculty-board>i{display:inline-block;width:27px;height:23px;margin:10px 3px 0;border-radius:3px;background:var(--teach-yellow)}.faculty-board>i:nth-of-type(2){background:var(--teach-pink)}.faculty-board>i:nth-of-type(3){background:var(--teach-blue)}.faculty-people{position:absolute;bottom:12px;display:flex;gap:16px}.faculty-people b{width:30px;height:30px;border-radius:50% 50% 8px 8px;background:var(--teach-purple);animation:facultyPeople 4.5s ease-in-out infinite}.faculty-people b:nth-child(2){background:var(--teach-orange);animation-delay:-1.5s}.faculty-people b:nth-child(3){background:var(--teach-blue);animation-delay:-3s}
@keyframes learnerCard{0%,100%{transform:translateY(3px) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}@keyframes compassFloat{0%,100%{transform:translateY(3px) rotate(-4deg)}50%{transform:translateY(-4px) rotate(4deg)}}@keyframes portfolioSheet{0%,100%{transform:translateY(3px) rotate(-4deg)}50%{transform:translateY(-5px) rotate(-1deg)}}@keyframes facultyPeople{0%,100%{transform:translateY(2px)}50%{transform:translateY(-5px)}}

.programme-section{background:linear-gradient(140deg,#17122f,#2b1d66 65%,#4d36b5)}.programme-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;border:0}.programme-list article{min-height:310px;padding:25px;display:flex;flex-direction:column;align-items:stretch;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:rgba(255,255,255,.055)}.programme-list article:last-child{grid-column:1/3}.programme-list article>span{color:var(--teach-yellow)}.programme-list h3{margin:35px 0 10px;font-size:clamp(1.8rem,2.5vw,2.65rem)}.programme-list p{max-width:520px;color:rgba(255,255,255,.66);font-size:.87rem}.programme-list article>b{margin-top:19px;align-self:flex-start;color:var(--teach-yellow)}
.programme-art{position:relative;height:85px;margin-top:auto;display:flex;align-items:center;justify-content:center;gap:9px;overflow:hidden;border-radius:13px;background:rgba(255,255,255,.07)}
.programme-art-kids>span{width:45px;height:45px;border-radius:9px;background:var(--teach-orange);transform:rotate(-7deg);animation:programmeObject 4.5s ease-in-out infinite}.programme-art-kids>span+span{background:var(--teach-blue);transform:rotate(8deg);animation-delay:-2.2s}.programme-art-kids>b{padding:9px;border-radius:50%;background:var(--teach-yellow);color:var(--teach-ink);font-size:.58rem;transform:rotate(-8deg)}
.programme-art-career>span,.programme-art-career>b{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--teach-ink);font-size:.64rem}.programme-art-career>b{width:auto;padding:0 12px;border-radius:99px;background:var(--teach-yellow)}.programme-art-career>i{color:var(--teach-orange);font-style:normal}
.programme-art-degree>span{width:55px;height:54px;border-radius:6px;background:#fff;animation:programmeObject 4.7s ease-in-out infinite}.programme-art-degree>span:nth-child(2){height:65px;background:var(--teach-blue);animation-delay:-1.5s}.programme-art-degree>span:nth-child(3){background:var(--teach-pink);animation-delay:-3s}.programme-art-degree>b{position:absolute;font-size:.5rem;color:var(--teach-ink)}
.programme-art-pro>span{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:9px;color:#fff;font-size:.62rem}.programme-art-pro>span:nth-child(2){background:var(--teach-purple)}.programme-art-pro>span:nth-child(3){background:var(--teach-orange)}.programme-art-pro>b{position:absolute;width:140px;height:58px;border:1px dashed rgba(223,255,87,.4);border-radius:50%;animation:programmeOrbit 8s linear infinite}
.programme-art-faculty>span{padding:10px 13px;border-radius:99px;background:var(--teach-yellow);color:var(--teach-ink);font-size:.65rem;font-weight:800}.programme-art-faculty>i{width:34px;height:34px;border-radius:50% 50% 9px 9px;background:var(--teach-purple);animation:facultyPeople 4.5s ease-in-out infinite}.programme-art-faculty>i:nth-of-type(2){background:var(--teach-orange);animation-delay:-1.5s}.programme-art-faculty>i:nth-of-type(3){background:var(--teach-blue);animation-delay:-3s}
@keyframes programmeObject{0%,100%{translate:0 3px}50%{translate:0 -5px}}@keyframes programmeOrbit{to{transform:rotate(360deg)}}

.outcome-proof{background:linear-gradient(145deg,#e8e4ff,#f5f2ff)}.learning-cycle{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:28px 0}.learning-cycle span{min-height:90px;padding:12px;display:flex;flex-direction:column;justify-content:space-between;border-radius:12px;background:#fff;color:var(--teach-ink);font-size:.64rem;box-shadow:0 8px 22px rgba(23,18,47,.06);animation:cycleCard 5s ease-in-out infinite}.learning-cycle span:nth-child(2){background:#fff3bd;animation-delay:-1.2s}.learning-cycle span:nth-child(3){background:#dff3ff;animation-delay:-2.4s}.learning-cycle span:nth-child(4){background:#e0f5e8;animation-delay:-3.6s}.learning-cycle b{color:var(--teach-purple);font-size:.55rem}.outcome-metrics{grid-template-columns:repeat(3,1fr)}
@keyframes cycleCard{0%,100%{transform:translateY(1px)}50%{transform:translateY(-4px)}}
.credibility-grid article{border-radius:14px}.credibility-grid article:hover{background:rgba(102,82,232,.055)}

/* Teaching evidence and FAQ: compact proof, calmer reading rhythm. */
.teaching-page .credibility{padding-top:105px;padding-bottom:95px;border-top:1px solid var(--line)}
.teaching-page .credibility>.mini-label{margin:0 0 25px}
.teaching-page .credibility>.large-heading{max-width:930px;margin:0 0 52px;font-size:clamp(3.25rem,5.5vw,5.8rem);line-height:.92}
.teaching-page .credibility-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;border:0}
.teaching-page .credibility-grid article,
.teaching-page .credibility-grid article+article{min-height:270px;padding:24px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;background:#fff}
.teaching-page .credibility-grid article:nth-child(1){background:#fff3bd}.teaching-page .credibility-grid article:nth-child(2){background:#e8e4ff}.teaching-page .credibility-grid article:nth-child(3){background:#dff3ff}.teaching-page .credibility-grid article:nth-child(4){background:#e0f5e8}
.teaching-page .credibility-label{align-items:center;justify-content:space-between;gap:15px;color:var(--teach-ink)}
.teaching-page .credibility-label .line-icon{order:2;width:48px;height:48px;padding:12px;flex:0 0 48px;border:1px solid rgba(23,18,47,.17);border-radius:50%;background:rgba(255,255,255,.55);color:var(--teach-purple)}
.teaching-page .credibility-grid span{font-size:.66rem;font-weight:750;color:rgba(23,18,47,.66)}
.teaching-page .credibility-grid p{max-width:240px;margin:auto 0 0;color:var(--teach-ink);font-family:"Tinos",Georgia,serif;font-size:clamp(1.22rem,1.55vw,1.55rem);font-weight:500;line-height:1.22;letter-spacing:-.018em}

.teaching-page .faq{padding-top:100px;padding-bottom:125px;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);grid-template-rows:auto 1fr;column-gap:clamp(55px,8vw,115px);align-items:start;border-top:1px solid var(--line)}
.teaching-page .faq>.mini-label{grid-column:1;grid-row:1;margin:5px 0 26px}
.teaching-page .faq>.large-heading{grid-column:1;grid-row:2;max-width:450px;margin:0;font-size:clamp(3.25rem,5.2vw,5.6rem);line-height:.92}
.teaching-page .faq-list{grid-column:2;grid-row:1/3;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff}
.teaching-page .faq-list details{padding:0 24px;border-bottom:1px solid var(--line)}.teaching-page .faq-list details:last-child{border-bottom:0}
.teaching-page .faq-list summary{min-height:92px;gap:24px;color:var(--teach-ink);font-size:clamp(1.02rem,1.35vw,1.22rem);font-weight:650;line-height:1.28}
.teaching-page .faq-list summary span{width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;border:1px solid var(--line);border-radius:50%;background:#f8f7f2;color:var(--teach-purple);font-family:"Geist Variable","Geist",Arial,sans-serif;font-size:1.2rem;transition:transform .25s,background .25s,color .25s}
.teaching-page .faq-list details[open] summary span{background:var(--teach-purple);color:#fff}
.teaching-page .faq-list details p{max-width:620px;margin:-4px 0 0;padding:0 58px 28px 0;color:rgba(23,18,47,.7);font-size:.9rem;line-height:1.65}

@media(max-width:950px){
  .teaching-page .credibility-grid{grid-template-columns:1fr 1fr}.teaching-page .credibility-grid article,.teaching-page .credibility-grid article+article{min-height:235px}
  .teaching-page .faq{grid-template-columns:1fr;grid-template-rows:auto;row-gap:0}.teaching-page .faq>.mini-label,.teaching-page .faq>.large-heading,.teaching-page .faq-list{grid-column:1;grid-row:auto}.teaching-page .faq>.large-heading{max-width:720px;margin-bottom:45px}
}
@media(max-width:600px){
  .teaching-page .credibility{padding-top:78px;padding-bottom:75px}.teaching-page .credibility>.large-heading{margin-bottom:36px;font-size:12vw}.teaching-page .credibility-grid{grid-template-columns:1fr}.teaching-page .credibility-grid article,.teaching-page .credibility-grid article+article{min-height:205px;padding:21px}.teaching-page .credibility-grid p{max-width:290px;font-size:1.35rem}
  .teaching-page .faq{padding-top:78px;padding-bottom:95px}.teaching-page .faq>.large-heading{margin-bottom:34px;font-size:12vw}.teaching-page .faq-list{border-radius:16px}.teaching-page .faq-list details{padding:0 17px}.teaching-page .faq-list summary{min-height:82px;gap:15px;font-size:1rem}.teaching-page .faq-list summary span{width:33px;height:33px;flex-basis:33px}.teaching-page .faq-list details p{padding:0 0 24px;font-size:.86rem}
}

@media(max-width:1180px){.teaching-hero-scene{right:18px;width:360px;opacity:.82;transform:scale(.88);transform-origin:right center}.education-hero-copy{max-width:710px}.education-hero h1{max-width:700px}.teaching-page .hero-proof{left:24px;right:24px}.audience-card:nth-child(-n+3),.audience-card:nth-child(n+4){grid-column:span 3}}
@media(max-width:850px){.education-hero{min-height:1080px;padding-top:140px}.education-hero-copy{max-width:none}.teaching-hero-scene{right:40px;top:515px;opacity:1}.education-hero-bottom{max-width:620px}.teaching-page .hero-proof{grid-template-columns:repeat(4,minmax(0,1fr))}.teaching-page .hero-proof article{padding-inline:16px}.teaching-page .hero-proof article+article{padding-left:16px}.teaching-page .hero-proof strong{font-size:2.65rem}.audience-grid{grid-template-columns:1fr 1fr}.audience-card:nth-child(n){grid-column:auto}.programme-list{grid-template-columns:1fr}.programme-list article:last-child{grid-column:auto}.outcome-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.education-hero{min-height:1095px;padding:116px 16px 0}.education-hero h1{font-size:14.6vw;line-height:.9}.education-hero-bottom{margin-top:30px}.teaching-hero-scene{top:485px;right:3%;width:320px;height:355px;transform:scale(.78);transform-origin:right top}.teaching-page .hero-proof{left:16px;right:16px;grid-template-columns:1fr 1fr}.teaching-page .hero-proof article{min-height:102px;padding:16px}.teaching-page .hero-proof article+article{padding-left:16px}.teaching-page .hero-proof article:nth-child(3){border-left:0}.teaching-page .hero-proof article:nth-child(n+3){border-top:1px solid rgba(23,18,47,.16)}.teaching-page .hero-proof strong{font-size:2.35rem}.teaching-page .hero-proof span{font-size:.68rem}.audience-section{padding-top:90px}.audience-grid{grid-template-columns:1fr}.audience-card{min-height:450px;padding:22px}.audience-card h3{font-size:2.25rem}.learner-visual{height:135px}.programme-section .section-shell{width:calc(100% - 32px)}.programme-list article{min-height:300px}.learning-cycle{grid-template-columns:1fr 1fr}.outcome-metrics{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.teaching-hero-scene,.teaching-board i,.teaching-scene-chip,.learner-visual *,.programme-art *,.learning-cycle span{animation:none!important}}
.audience-section:not(.motion-in-view) *,
.programme-section:not(.motion-in-view) *,
.outcomes:not(.motion-in-view) *,
.credibility:not(.motion-in-view) *{animation-play-state:paused!important}

/* Calmer display-title scale for the service and education pages. */
.freelance-page .freelance-hero h1{max-width:720px;font-size:clamp(3.75rem,6.25vw,6.55rem);line-height:.9;letter-spacing:-.055em}
.teaching-page .education-hero h1{max-width:760px;font-size:clamp(3.8rem,6.35vw,6.65rem);line-height:.9;letter-spacing:-.058em}
.freelance-page .section-heading h2,
.teaching-page .section-heading h2{font-size:clamp(2.65rem,4.6vw,5rem);line-height:.97;letter-spacing:-.048em}
.teaching-page .large-heading,
.teaching-page .credibility>.large-heading,
.teaching-page .faq>.large-heading{font-size:clamp(2.8rem,4.7vw,5rem);line-height:.96;letter-spacing:-.048em}
.freelance-page .freelance-services-grid h3{font-size:clamp(1.85rem,2.55vw,2.8rem);line-height:.98}
.teaching-page .audience-card h3{font-size:clamp(1.85rem,2.35vw,2.65rem);line-height:1}
.teaching-page .programme-list h3{font-size:clamp(1.65rem,2.2vw,2.35rem);line-height:1.03}
@media(max-width:800px){
  .freelance-page .freelance-hero h1,.teaching-page .education-hero h1{font-size:clamp(3.5rem,11.8vw,5.7rem)}
  .freelance-page .section-heading h2,.teaching-page .section-heading h2{font-size:clamp(2.6rem,9.6vw,4.4rem)}
  .teaching-page .large-heading,.teaching-page .credibility>.large-heading,.teaching-page .faq>.large-heading{font-size:clamp(2.65rem,9.8vw,4.5rem)}
}
@media(max-width:600px){
  .freelance-page .freelance-hero h1,.teaching-page .education-hero h1{font-size:12.8vw;line-height:.94}
  .freelance-page .section-heading h2,.teaching-page .section-heading h2{font-size:10.8vw}
  .teaching-page .large-heading,.teaching-page .credibility>.large-heading,.teaching-page .faq>.large-heading{font-size:10.8vw}
  .freelance-page .freelance-services-grid h3,.teaching-page .audience-card h3{font-size:2rem}
  .teaching-page .programme-list h3{font-size:1.85rem}
}

/* Password gate for every case study. */
html.case-locked{overflow:hidden;background:#101211}
html.case-locked body{min-height:100vh;background:#101211}
.case-gate{display:none}
.case-locked body>.case-gate,.case-gate.is-server-gate{position:fixed;z-index:10000;inset:0;padding:24px;display:grid;place-items:center;overflow:auto;background:radial-gradient(circle at 80% 15%,rgba(116,98,255,.22),transparent 34%),radial-gradient(circle at 15% 85%,rgba(201,255,56,.1),transparent 30%),#101211;color:white}
.case-locked body>:not(.case-gate){visibility:hidden}
.case-gate::before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,black,transparent 82%)}
.case-gate-panel{position:relative;z-index:1;width:min(100%,540px);padding:clamp(30px,5vw,56px);border:1px solid rgba(255,255,255,.17);border-radius:24px;background:rgba(16,18,17,.9);box-shadow:0 35px 100px rgba(0,0,0,.42);backdrop-filter:blur(18px)}
.case-gate-brand{width:62px;height:48px;display:flex;align-items:center;color:white;font-family:"Geist",Arial,sans-serif;font-size:1.85rem;font-weight:760;letter-spacing:-.08em}.case-gate-brand span{color:var(--acid);animation:brandDotBlink 1.3s ease-in-out infinite}
.case-gate-kicker{margin:46px 0 18px;color:var(--acid);font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.case-gate-panel h1,.case-gate-panel h2{max-width:450px;margin:0;font-family:"Tinos",Georgia,serif;font-size:clamp(2.7rem,5vw,4.6rem);font-weight:500;line-height:.92;letter-spacing:-.045em}
.case-gate-panel>p:not(.case-gate-kicker,.case-password-error){max-width:440px;margin:24px 0 35px;color:rgba(255,255,255,.65);font-size:.92rem;line-height:1.6}
.case-gate-panel label{display:block;margin-bottom:9px;color:rgba(255,255,255,.72);font-size:.7rem;font-weight:650;letter-spacing:.07em;text-transform:uppercase}
.case-password-field{height:58px;display:grid;grid-template-columns:1fr auto;border:1px solid rgba(255,255,255,.28);border-radius:12px;background:rgba(255,255,255,.055);transition:border-color .2s,box-shadow .2s}.case-password-field:focus-within{border-color:var(--acid);box-shadow:0 0 0 3px rgba(201,255,56,.13)}
.case-password-field input{min-width:0;padding:0 16px;border:0;outline:0;background:transparent;color:white;font:600 1rem/1 "Geist",Arial,sans-serif;letter-spacing:.06em}.case-password-field input::selection{background:var(--acid);color:var(--ink)}
.case-password-toggle{width:70px;border:0;border-left:1px solid rgba(255,255,255,.16);background:transparent;color:rgba(255,255,255,.72);font-size:.72rem;font-weight:650;cursor:pointer}.case-password-toggle:hover,.case-password-toggle:focus-visible{color:var(--acid)}
.case-password-error{min-height:21px;margin:9px 0 0;color:#ff9c88;font-size:.74rem;line-height:1.4}
.case-unlock-button{width:100%;min-height:58px;margin-top:14px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--acid);border-radius:99px;background:var(--acid);color:var(--ink);font-size:.84rem;font-weight:750;cursor:pointer;transition:transform .25s,background .25s}.case-unlock-button:hover,.case-unlock-button:focus-visible{transform:translateY(-2px);background:white}
.case-gate-back{display:inline-block;margin-top:26px;color:rgba(255,255,255,.62);font-size:.76rem;font-weight:600}.case-gate-back:hover,.case-gate-back:focus-visible{color:white}
@media(max-width:540px){.case-locked body>.case-gate,.case-gate.is-server-gate{padding:14px;place-items:center}.case-gate-panel{padding:28px 21px;border-radius:18px}.case-gate-kicker{margin-top:36px}.case-gate-panel h1,.case-gate-panel h2{font-size:2.75rem}.case-gate-panel>p:not(.case-gate-kicker,.case-password-error){margin:20px 0 30px;font-size:.85rem}}
@media(prefers-reduced-motion:reduce){.case-gate-brand span{animation:none}}
