/* Shared layout and motion for the public TheLex pages. */
:root{
  color-scheme:dark;
  --bg-1:#0b1017; --bg-2:#121923; --text:#edf0f5; --muted:#aab4c2;
  --gold:#d8bf7a; --gold-strong:#edd498; --gold-soft:#f5e6bd; --gold-2:#b49a5a;
  --line:rgba(190,204,224,.13); --surface:rgba(255,255,255,.035); --surface2:rgba(255,255,255,.06);
  --radius:18px; --content-width:1280px; --gutter:32px; --section-space:88px; --nav-height:80px;
}
*,*::before,*::after{ box-sizing:border-box; }
html{ min-height:100%; scroll-padding-top:96px; }
body{ margin:0; min-height:100vh; padding-top:var(--nav-height); background:var(--bg-1); color:var(--text); font:400 1rem/1.65 'Inter',system-ui,sans-serif; -webkit-font-smoothing:antialiased; }
a{ color:inherit; text-decoration:none; }
a:hover{ color:var(--gold-soft); }
a:focus-visible,button:focus-visible{ outline:2px solid var(--gold-strong); outline-offset:5px; }
img{ max-width:100%; }
h1,h2,h3,h4,.brand-word{ font-family:'Manrope','Inter',sans-serif; }
h1,h2,h3{ text-wrap:balance; overflow-wrap:break-word; }
p{ margin:0; }
.container-xl{ width:calc(100% - var(--gutter) * 2); max-width:var(--content-width); padding:0; margin-inline:auto; }
section{ padding-block:var(--section-space); }
.section-tinted{ background:#101720; border-block:1px solid var(--line); }
.section-heading{ max-width:720px; margin-bottom:36px; }
.section-tag{ display:inline-block; color:var(--gold); font-weight:700; font-size:.75rem; letter-spacing:.13em; text-transform:uppercase; }
.section-title{ margin:12px 0 16px; font-size:clamp(1.75rem,2.6vw,2.5rem); line-height:1.22; letter-spacing:-.035em; font-weight:800; }
.section-sub{ color:var(--muted); max-width:640px; font-size:1rem; line-height:1.75; }
.text-muted-ys{ color:var(--muted)!important; }
.skip-link{ position:fixed; top:8px; left:16px; z-index:1100; transform:translateY(-150%); padding:12px 18px; background:var(--gold); color:#121722; border-radius:8px; }
.skip-link:focus{ transform:none; }
/* Fixed navigation, with the same content edges as every section. */
.navbar-ys{ position:fixed; inset:0 0 auto; z-index:1030; padding:0; background:rgba(11,16,23,.94); backdrop-filter:blur(18px); border-bottom:1px solid var(--line); transition:background .2s,box-shadow .2s; }
.navbar-ys > .container-xl{ min-height:var(--nav-height); padding-block:8px; transition:min-height .25s,padding .25s; }
.navbar-ys .navbar-brand{ display:flex; align-items:center; gap:11px; margin:0; padding:0; color:var(--text); font-size:1.0625rem; font-weight:800; letter-spacing:-.025em; }
.brand-mark{ display:block; width:40px; height:40px; object-fit:contain; flex:0 0 auto; }
.brand-word b,.footer-brand b{ color:var(--gold); font-weight:800; }
.navbar-ys .navbar-nav{ align-items:center; gap:6px; }
.navbar-ys .nav-link{ padding:10px 14px!important; border-radius:8px; color:var(--muted); font-size:.875rem; font-weight:600; }
.navbar-ys .nav-link:hover{ color:var(--text); background:var(--surface2); }
.navbar-ys .nav-item:last-child{ margin-left:12px; }
.navbar-ys .btn{ min-height:40px; padding:9px 18px; font-size:.8125rem; }
.navbar-ys .navbar-toggler{ padding:4px 8px; line-height:1; box-shadow:none; min-width:44px; min-height:44px; }
.navbar-ys.is-scrolled{ background:rgba(11,16,23,.98); box-shadow:0 8px 32px rgba(0,0,0,.25); }
.navbar-ys.is-scrolled > .container-xl{ min-height:68px; }
/* Controls */
.btn-gold,.btn-outline-ys{ display:inline-flex; justify-content:center; align-items:center; gap:10px; min-height:48px; padding:12px 20px; border-radius:10px; font:600 .875rem/1.4 'Inter',sans-serif; transition:background .2s,transform .2s,border-color .2s; }
.btn-gold{ background:linear-gradient(135deg,#e9d298,#c5aa65); border:1px solid #dbc286; color:#191b20; box-shadow:0 4px 16px rgba(216,191,122,.08); }
.btn-gold:hover{ color:#14171b; background:#f0dba8; transform:translateY(-2px); }
.btn-outline-ys{ background:rgba(255,255,255,.02); border:1px solid rgba(190,204,224,.22); color:var(--text); }
.btn-outline-ys:hover{ background:var(--surface2); border-color:var(--gold); color:var(--text); transform:translateY(-2px); }
/* Hero: one grid, no stacked Bootstrap gaps. */
.hero{ padding-block:88px; overflow:hidden; position:relative; isolation:isolate; }
.hero-layout{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:64px; }
.hero-copy{ position:relative; z-index:2; min-width:0; }
.hero-eyebrow{ display:inline-flex; align-items:center; gap:8px; padding:7px 11px; border:1px solid rgba(216,191,122,.23); border-radius:7px; background:rgba(216,191,122,.055); color:var(--gold); font-size:.75rem; font-weight:600; line-height:1.5; }
.hero h1{ margin:22px 0 22px; font-size:clamp(2rem,4vw,3.5rem); font-weight:800; line-height:1.12; letter-spacing:-.045em; text-wrap:initial; }
.hero h1 .accent{ color:var(--gold-strong); }
.hero p.lead{ color:var(--muted); font-size:1.0625rem; font-weight:400; line-height:1.8; max-width:520px; }
.hero-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.hero-stage{ min-width:0; position:relative; isolation:isolate; }
.hero-visual{ margin:0; }
.code-card{ position:relative; z-index:1; background:#111822; border:1px solid rgba(216,191,122,.35); border-radius:16px; overflow:hidden; box-shadow:0 24px 60px rgba(0,0,0,.35),0 0 45px rgba(216,191,122,.07); animation:code-enter .8s ease both; }
.cc-head{ display:flex; align-items:center; gap:6px; min-height:48px; padding:12px 18px; background:rgba(255,255,255,.025); border-bottom:1px solid var(--line); }
.cc-dot{ width:8px; height:8px; flex-shrink:0; border-radius:50%; }
.code-card pre{ margin:0; padding:26px 24px; min-height:270px; font:400 .8rem/1.85 'SFMono-Regular',Consolas,'Courier New',monospace; white-space:pre-wrap; overflow-wrap:anywhere; color:#bbc6d5; text-align:left; }
.code-card .tok-key{ color:var(--gold-strong); }.code-card .tok-str{ color:#abd4b2; }.code-card .tok-com{ color:#8290a4; }.code-card .tok-fn{ color:#8abbe4; }
.cc-foot{ display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:12px 18px; border-top:1px solid var(--line); color:#9ca9bc; font-size:.6875rem; }
.cc-foot i{ color:var(--gold); margin-right:5px; }
.code-status{ display:inline-flex; align-items:center; gap:6px; margin-left:auto; white-space:nowrap; color:var(--muted); font:500 .625rem/1.4 'Inter',sans-serif; }
.code-status-dot{ width:5px; height:5px; background:#abd4b2; border-radius:50%; }
.is-typing .code-status-dot{ background:var(--gold); animation:cursor-blink .85s steps(1) infinite; }
.code-char{ opacity:0; }.code-char.is-written{ opacity:1; }.code-char.is-cursor{ position:relative; }
.code-char.is-cursor::after{ content:""; position:absolute; left:100%; top:.05em; width:2px; height:1.1em; background:var(--gold-strong); animation:cursor-blink .8s steps(1) infinite; }
/* The animated decoration belongs to the card, also on ultrawide displays. */
.hero-ambience{ position:absolute; inset:-120px; z-index:0; pointer-events:none; }
.hero-ambience::before{ content:""; position:absolute; inset:-60px; border-radius:50%; background:radial-gradient(ellipse,rgba(223,176,78,.25),rgba(216,191,122,.07) 45%,transparent 69%); animation:hero-aura 11s ease-in-out infinite alternate; }
.hero-grid{ position:absolute; inset:0; background-image:linear-gradient(rgba(216,191,122,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(216,191,122,.12) 1px,transparent 1px); background-size:56px 56px; mask-image:radial-gradient(ellipse,#000,transparent 70%); opacity:.45; }
.hero-orbit{ position:absolute; display:block; left:50%; top:50%; width:620px; height:620px; border:1px solid rgba(216,191,122,.2); border-radius:50%; animation:orbit-spin 26s linear infinite; }
.hero-orbit::before{ content:""; position:absolute; inset:-1px; border:1px solid transparent; border-top-color:rgba(255,220,140,.65); border-right-color:rgba(216,191,122,.24); border-radius:inherit; }
.hero-orbit::after{ content:""; position:absolute; left:50%; top:-3px; width:5px; height:5px; background:#ffe4a4; border-radius:50%; box-shadow:0 0 14px 3px rgba(255,213,124,.5); }
.hero-orbit-inner{ width:510px; height:510px; opacity:.6; animation-duration:34s; animation-direction:reverse; }
.hero-spark{ position:absolute; width:3px; height:3px; border-radius:50%; background:#f2d99d; box-shadow:0 0 12px 3px rgba(216,191,122,.3); animation:spark-float 8s ease-in-out infinite alternate; }
.hero-spark-one{ left:15%; top:22%; }.hero-spark-two{ right:12%; bottom:22%; animation-delay:-3s; }.hero-spark-three{ left:30%; bottom:10%; animation-delay:-5s; }
/* Consistent statistics and content cards. */
.stat-strip{ background:#101721; border-block:1px solid var(--line); }
.stats-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; padding-block:26px; }
.stat-item{ text-align:center; padding:4px 24px; border-right:1px solid var(--line); }.stat-item:last-child{ border:0; }
.stat-item dt{ color:var(--gold-strong); font:800 2rem/1.2 'Manrope',sans-serif; letter-spacing:-.04em; }
.stat-item dd{ max-width:200px; margin:8px auto 0; color:var(--muted); font-size:.8125rem; line-height:1.6; }
.about-layout{ display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr); gap:64px; align-items:center; }
.about-layout .section-heading{ margin:0; }
.about-cards{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.services-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; grid-auto-rows:1fr; }
.svc-card{ min-width:0; height:100%; padding:26px; background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015)); border:1px solid var(--line); border-radius:var(--radius); transition:transform .2s,border-color .2s; }
.svc-card:hover{ transform:translateY(-3px); border-color:rgba(216,191,122,.38); }
.svc-icon{ display:flex; align-items:center; justify-content:center; width:42px; height:42px; margin-bottom:22px; border:1px solid rgba(216,191,122,.16); border-radius:11px; background:rgba(216,191,122,.065); color:var(--gold); font-size:1.125rem; }
.svc-card h3{ margin:0 0 12px; min-height:2.6em; font-size:1rem; font-weight:700; line-height:1.35; letter-spacing:-.018em; text-wrap:initial; }
.svc-card p{ color:var(--muted); font-size:.875rem; line-height:1.75; overflow-wrap:break-word; }
/* Every project has the same media ratio and body structure. */
.projects-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; grid-auto-rows:1fr; }
.proj-card{ min-width:0; display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:var(--bg-2); color:var(--text); transition:transform .2s,border-color .2s; }
.proj-card:hover{ color:var(--text); transform:translateY(-4px); border-color:rgba(216,191,122,.45); }
.proj-cover{ aspect-ratio:16/9; flex-shrink:0; position:relative; width:100%; overflow:hidden; display:flex; justify-content:center; align-items:center; border-bottom:1px solid var(--line); }
.proj-cover img{ display:block; width:100%; height:100%; object-fit:contain; }
.proj-cover-cv{ background:#eef0ff; }
.cover-1{ background:radial-gradient(circle at 75% 15%,rgba(167,208,104,.2),transparent 60%),linear-gradient(135deg,#18221a,#344831); }
.cover-3{ background:radial-gradient(circle at 20% 85%,rgba(250,193,109,.22),transparent 60%),linear-gradient(135deg,#322219,#765332); }
.project-art{ display:flex; align-items:center; justify-content:center; flex-direction:column; gap:5px; color:#f0f3e8; }
.project-art > i{ font-size:2rem; line-height:1.2; margin-bottom:6px; opacity:.85; }
.project-art > span{ font:800 1.5rem/1.25 'Manrope',sans-serif; letter-spacing:-.03em; }.project-art small{ font-size:.7rem; opacity:.7; }
.proj-body{ display:flex; flex:1; flex-direction:column; padding:26px; }
.project-category{ color:var(--gold); font-size:.6875rem; text-transform:uppercase; letter-spacing:.07em; margin-bottom:10px; }
.proj-body h3{ min-height:0; margin:0 0 10px; font-size:1.2rem; line-height:1.3; font-weight:800; letter-spacing:-.025em; text-wrap:initial; }
.proj-body > p{ flex:1; color:var(--muted); font-size:.875rem; line-height:1.75; }
.proj-tags{ display:flex; flex-wrap:wrap; align-content:flex-start; gap:6px; min-height:26px; margin:22px 0 18px; }
.proj-tag{ padding:4px 8px; border:1px solid var(--line); background:rgba(255,255,255,.025); border-radius:6px; font-size:.625rem; line-height:1.5; color:#bdc6d2; }
.proj-link{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:16px; border-top:1px solid var(--line); color:var(--gold-strong); font-size:.8125rem; font-weight:600; }
/* Tools, contact, footer. */
.technology-section{ padding-block:52px; border-block:1px solid var(--line); background:#101720; }
.technology-layout{ display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:64px; align-items:center; }
.technology-layout .section-title{ margin-bottom:0; font-size:1.75rem; }
.technology-list{ display:flex; flex-wrap:wrap; gap:10px; }
.stack-pill{ display:inline-flex; align-items:center; gap:9px; padding:11px 14px; border:1px solid var(--line); background:var(--surface); border-radius:9px; color:#d4dbe4; font-size:.8125rem; }.stack-pill i{ color:var(--gold); }
.cta-band{ padding:48px; border:1px solid rgba(216,191,122,.25); border-radius:22px; background:radial-gradient(ellipse at 100% 0,rgba(216,191,122,.08),transparent 65%),#131b25; }
.cta-band h2{ margin:12px 0 16px; font-size:clamp(1.75rem,2.6vw,2.5rem); line-height:1.2; letter-spacing:-.035em; font-weight:800; }
.cta-band p{ max-width:540px; margin:0 0 24px; color:var(--muted); font-size:.9375rem; line-height:1.75; }
.contact-layout{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:48px; align-items:center; }.contact-layout p{ margin-bottom:0; }
.contact-actions{ display:flex; flex-direction:column; gap:18px; align-items:center; }.contact-actions .btn{ font-size:.8125rem; }
.contact-secondary{ color:var(--muted); font-size:.8125rem; }.contact-secondary i{ margin-left:5px; }
.site-footer{ padding:52px 0 24px; border-top:1px solid var(--line); background:#0a0f15; }
.footer-grid{ display:grid; grid-template-columns:1.3fr .65fr .65fr 1.2fr; gap:36px; }
.footer-grid > div{ min-width:0; }
.footer-brand{ display:flex; align-items:center; gap:10px; font-family:'Manrope',sans-serif; font-size:.9375rem; font-weight:800; }.footer-brand .brand-mark{ width:34px; height:34px; }
.footer-intro{ max-width:290px; margin-top:18px; color:var(--muted); font-size:.8125rem; line-height:1.75; }
.footer-links h2{ margin:7px 0 17px; font:700 .8125rem/1.4 'Inter',sans-serif; color:var(--text); }
.footer-links > a{ display:block; width:fit-content; margin-bottom:10px; color:var(--muted); font-size:.8125rem; line-height:1.6; }.footer-links > a:hover{ color:var(--gold); }
.footer-email{ overflow-wrap:anywhere; }
.footer-bottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px 24px; margin-top:38px; padding-top:22px; border-top:1px solid var(--line); color:#8290a3; font-size:.6875rem; }
/* Project detail shares the same spacing and component sizes. */
.project-page{ --content-width:1120px; }
.project-intro{ padding:56px 0 36px; }
.project-back{ display:inline-flex; gap:9px; align-items:center; margin-bottom:32px; color:var(--muted); font-size:.8125rem; }
.project-intro h1{ margin:14px 0 20px; font-size:clamp(2.5rem,5vw,3.75rem); line-height:1.12; letter-spacing:-.045em; font-weight:800; }
.project-lead{ max-width:760px; color:var(--muted); font-size:1.0625rem; line-height:1.8; }
.project-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.project-domain{ display:inline-block; margin-top:14px; color:var(--muted); font-size:.8125rem; overflow-wrap:anywhere; }
.project-visual{ margin:0; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:var(--bg-2); }.project-visual img{ display:block; width:100%; height:auto; }.project-visual figcaption{ padding:14px 20px; color:var(--muted); font-size:.8125rem; }
.project-facts{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:24px 0 0; }.project-facts > div{ padding:22px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }.project-facts dt{ font:800 1.625rem/1.25 'Manrope',sans-serif; color:var(--gold-strong); }.project-facts dd{ margin:10px 0 0; color:var(--muted); font-size:.8125rem; line-height:1.6; overflow-wrap:anywhere; }
.project-section{ padding-block:40px; }.project-section:first-of-type{ padding-top:72px; }.project-section:last-child{ padding-bottom:72px; }
.project-section .section-sub{ margin-bottom:28px; }
.feature-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.project-step{ height:100%; padding:24px 0 0; border-top:1px solid var(--line); }.step-number{ display:block; color:var(--gold); font:800 .875rem/1.5 'Manrope',sans-serif; margin-bottom:14px; }.project-step h3{ font-size:1.0625rem; font-weight:700; margin-bottom:12px; }.project-step p{ color:var(--muted); font-size:.875rem; line-height:1.75; }
/* Responsive layout rules. */
@media (max-width:1199.98px){
  :root{ --gutter:28px; --section-space:72px; }
  .hero-layout{ gap:36px; }.hero{ padding-block:72px; }.hero h1{ font-size:2.75rem; }
  .services-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }.svc-card h3{ min-height:0; }
  .about-layout{ gap:36px; grid-template-columns:1fr; }.about-layout .section-heading{ max-width:660px; }
  .about-cards .svc-card{ padding:28px; }
  .proj-body{ padding:22px; }.proj-body h3{ font-size:1.0625rem; }
  .footer-grid{ grid-template-columns:1.1fr .65fr .65fr 1.2fr; gap:24px; }
}
@media (max-width:999.98px){
  .hero-layout{ grid-template-columns:minmax(0,1fr); gap:40px; max-width:680px; }.hero-copy{ max-width:640px; }.hero-stage{ width:100%; max-width:600px; margin-inline:auto; }.hero{ padding-block:56px; }.hero h1{ max-width:620px; font-size:3rem; }
  .hero p.lead{ max-width:580px; }.hero-orbit{ width:620px; height:620px; }
  .projects-grid{ grid-template-columns:1fr; gap:24px; }.proj-card{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }.proj-cover{ height:100%; aspect-ratio:auto; border-bottom:0; border-right:1px solid var(--line); }.proj-body h3{ min-height:0; font-size:1.25rem; }.proj-tags{ min-height:0; margin-top:18px; }
  .feature-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }.technology-layout{ gap:36px; }
  .contact-layout{ grid-template-columns:1fr; gap:28px; }.contact-actions{ align-items:flex-start; }.footer-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
}
@media (max-width:991.98px){
  .navbar-ys .navbar-collapse{ max-height:calc(100dvh - 84px); overflow-y:auto; }.navbar-ys .navbar-nav{ align-items:stretch; gap:4px; padding:10px 0 16px; }.navbar-ys .nav-item:last-child{ margin:8px 0 0; }.navbar-ys .nav-item:last-child .btn{ width:100%; }.navbar-ys .nav-link{ padding:12px 14px!important; }
}
@media (max-width:767.98px){
  :root{ --gutter:24px; --section-space:56px; --nav-height:72px; }.navbar-ys.is-scrolled > .container-xl{ min-height:64px; }.navbar-ys .navbar-brand{ font-size:.9375rem; }.brand-mark{ width:36px; height:36px; }
  .stats-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); padding-block:8px; }.stat-item{ padding:20px 12px; }.stat-item:nth-child(2){ border-right:0; }.stat-item:nth-child(-n+2){ border-bottom:1px solid var(--line); }.stat-item dt{ font-size:1.75rem; }.stat-item dd{ font-size:.75rem; }
  .technology-layout{ grid-template-columns:1fr; gap:24px; }.technology-section{ padding-block:40px; }.cta-band{ padding:32px; }.project-facts{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .section-heading{ margin-bottom:28px; }.project-section{ padding-block:32px; }.project-section:first-of-type{ padding-top:48px; }
}
@media (max-width:639.98px){
  :root{ --gutter:20px; }.hero{ padding:40px 0 48px; }.hero-layout{ gap:32px; }.hero h1{ font-size:clamp(2rem,7.8vw,2.625rem); line-height:1.15; margin-block:18px; }.hero p.lead{ font-size:.9375rem; line-height:1.75; }.hero-eyebrow{ font-size:.625rem; padding:6px 9px; }.hero-actions{ display:grid; grid-template-columns:1fr; gap:10px; margin-top:24px; }.hero-actions .btn{ min-height:46px; }.hero-actions .btn-outline-ys{ background:transparent; }
  .hero-ambience{ inset:-70px; clip-path:inset(50px 0 0); }.hero-orbit{ width:450px; height:450px; }.hero-orbit-inner{ display:none; }.hero-spark-three{ display:none; }
  .code-card pre{ padding:20px 16px; min-height:238px; font-size:.6875rem; line-height:1.8; }.cc-head{ min-height:44px; padding:10px 12px; }.cc-foot{ padding:10px 12px; font-size:.5625rem; gap:8px; }.cc-head .text-muted-ys{ font-size:.6875rem!important; }.cc-dot{ width:7px; height:7px; }.code-status{ font-size:.5625rem; }
  .about-cards,.services-grid,.feature-grid{ grid-template-columns:1fr; grid-auto-rows:auto; gap:16px; }.svc-card,.about-cards .svc-card{ padding:24px; }.svc-icon{ margin-bottom:18px; }.svc-card h3{ font-size:1.0625rem; margin-bottom:10px; }.svc-card p{ font-size:.875rem; }
  .projects-grid{ max-width:520px; margin-inline:auto; }.proj-card{ display:flex; }.proj-cover{ aspect-ratio:16/9; height:auto; border-right:0; border-bottom:1px solid var(--line); }.proj-body{ padding:24px; }.proj-body h3{ min-height:0; margin-bottom:12px; }.proj-body > p{ flex:auto; }.proj-tags{ margin:20px 0; }
  .technology-list{ gap:8px; }.stack-pill{ padding:9px 11px; font-size:.75rem; }.technology-layout .section-title{ font-size:1.625rem; }
  .cta-band{ padding:26px; border-radius:16px; }.contact-layout{ gap:24px; }.contact-actions{ align-items:stretch; }.contact-actions .btn{ font-size:.6875rem; padding-inline:12px; gap:6px; }.contact-secondary{ text-align:center; }.cta-band p{ font-size:.875rem; }
  .site-footer{ padding-top:40px; }.footer-grid{ gap:30px 20px; }.footer-grid > div:first-child,.footer-grid > div:last-child{ grid-column:1/-1; }.footer-intro{ max-width:340px; }.footer-bottom{ margin-top:30px; font-size:.625rem; }.footer-brand{ font-size:.9375rem; }
  .project-intro{ padding-top:32px; }.project-back{ margin-bottom:26px; }.project-intro h1{ font-size:2.5rem; }.project-lead{ font-size:.9375rem; }.project-actions{ display:grid; grid-template-columns:1fr; }.project-actions .btn{ font-size:.8125rem; }.project-visual figcaption{ padding:12px 16px; font-size:.75rem; }.project-facts{ gap:12px; margin-top:16px; }.project-facts > div{ padding:18px 14px; }.project-facts dt{ font-size:1.375rem; }.project-facts dd{ font-size:.75rem; }.project-section .section-title{ font-size:1.75rem; }
}
@keyframes hero-aura{ from{ transform:translate(-15px,-15px) scale(.94); opacity:.75; }to{ transform:translate(20px,15px) scale(1.08); opacity:1; } }
@keyframes orbit-spin{ from{ transform:translate(-50%,-50%) rotate(-25deg); }to{ transform:translate(-50%,-50%) rotate(335deg); } }
@keyframes spark-float{ from{ transform:translateY(0); opacity:.4; }to{ transform:translateY(-24px); opacity:1; } }
@keyframes code-enter{ from{ opacity:0; transform:translateY(16px); }to{ opacity:1; transform:translateY(0); } }
@keyframes cursor-blink{ 0%,55%{ opacity:1; }56%,100%{ opacity:0; } }
@media (prefers-reduced-motion:reduce){
  .hero-ambience::before,.hero-orbit,.hero-spark,.code-card,.code-char.is-cursor::after,.is-typing .code-status-dot{ animation:none; }.hero-orbit{ transform:translate(-50%,-50%); }
  .navbar-ys,.navbar-ys > .container-xl,.btn-gold,.btn-outline-ys,.svc-card,.proj-card{ transition:none; }
}
@media (min-width:1000px) and (max-width:1199.98px){ .proj-body h3{ min-height:2.6em; }.proj-tags{ min-height:54px; } }

/* Project type labels stay readable on both light and dark covers. */
.project-type{ position:absolute; top:10px; left:10px; z-index:2; display:inline-flex; align-items:center; gap:6px; padding:5px 9px; border:1px solid rgba(255,255,255,.25); border-radius:7px; background:rgba(10,15,22,.92); color:#f5e6bd; box-shadow:0 2px 8px rgba(0,0,0,.18); font:600 .6875rem/1.4 'Inter',sans-serif; pointer-events:none; }
.project-type i{ font-size:.8125rem; line-height:1; }
.proj-cover-ebedelek{ background:#19140f; }

/* Concrete capabilities in place of numerical statistics. */
.capability-strip .stat-item{ text-align:left; }
.capability-strip .stat-item dt{ font-size:1.0625rem; line-height:1.45; letter-spacing:-.02em; overflow-wrap:break-word; }
.capability-strip .stat-item dd{ max-width:none; margin:10px 0 0; font-size:.8125rem; }
