/* SANTHOSH / 26 — cinematic art direction. Layout + motion are intentionally separate. */
@import url('https://fonts.googleapis.com/css2?family=Anton&family=Barlow+Condensed:wght@500;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root,.dark-mode {
  --ink:#0c0d1b; --cream:#fff9cb; --pink:#f5a9bd; --coral:#f77c7a; --purple:#413151;
  --primary:#f5a9bd; --secondary:#ffd18b; --primary-gradient:linear-gradient(125deg,#f7bd8d,#f5a9bd 60%,#b39bdf);
  --dark:#0c0d1b; --dark-alt:#141426; --light:#fff9cb; --light-alt:#f4e6d3; --text-light:#b9b3c8;
  --glass:#171626; --glass-border:#ffffff21; --glass-blur:none; --shadow:none; --shadow-hover:none;
  --radius-widget:0px; --radius-inner:0px; --inner-bg:#ffffff06; --inner-border:#ffffff18; --icon-bg:#ffffff05;
  --transition:color .25s,background .25s,border-color .25s,transform .4s;
}
body:not(.dark-mode) { --dark:#f9e4d0; --dark-alt:#f0d7c5; --light:#221d32; --light-alt:#352940; --text-light:#65546b; --glass:#f1d9cd; --glass-border:#30213f25; --primary:#9c365d; --inner-bg:#3b264908; --inner-border:#30213f21; }
html { scroll-padding-top:90px; } body { margin:0; padding:0; background:var(--dark); color:var(--light); font-family:'DM Sans',sans-serif; letter-spacing:-.015em; } body.modal-active { overflow:hidden; }
*,*::before,*::after { backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
button,input,textarea { font:inherit; } button,a { -webkit-tap-highlight-color:transparent; } [hidden] { display:none !important; }
::selection { background:var(--pink); color:var(--ink); } :focus-visible { outline:3px solid var(--pink); outline-offset:5px; }
.container { max-width:1440px; padding-inline:80px; }.section { padding:120px 0; border:0; }
.section-title { font-family:'Anton',Impact,sans-serif; font-size:clamp(60px,7vw,108px); font-weight:400; line-height:.99; letter-spacing:-.015em; text-transform:uppercase; margin-bottom:34px; display:block; }
.section-title::after { display:none; }.section-title small,.eyebrow { display:block; font-family:'Barlow Condensed',sans-serif; font-size:14px; font-weight:600; letter-spacing:.19em; line-height:1.5; color:var(--text-light); margin-bottom:26px; }.section-title em { font-style:normal; color:var(--pink); }.section-lede { max-width:520px; color:var(--text-light); line-height:1.8; margin-bottom:38px; font-size:15px; }
.glass-card { background:var(--glass); box-shadow:none; border:0; border-radius:0; }.glass-card:hover { box-shadow:none; transform:none; }
.btn { border:0; border-radius:4px; background:var(--pink); color:var(--ink); box-shadow:none; min-height:56px; padding:16px 28px; font:700 15px 'Barlow Condensed',sans-serif; letter-spacing:.08em; gap:28px; text-transform:uppercase; }.btn::before { display:none; }.btn:hover { background:var(--cream); color:var(--ink); transform:translateY(-3px); box-shadow:none; }.btn-outline { border:1px solid currentColor; color:var(--light); background:transparent; }.btn-outline:hover { color:var(--ink); }
.skip-link { position:fixed; top:-100px; left:20px; padding:15px 24px; background:var(--cream); color:var(--ink); z-index:8000; }.skip-link:focus { top:20px; }.reading-progress { position:fixed; inset:0 auto auto 0; width:100%; height:2px; transform:scaleX(0); transform-origin:left; background:var(--pink); z-index:3000; }
/* A sparse screen-edge header, opening into a full-screen chapter menu. */
header,header.scrolled { position:fixed; top:0; left:0; width:100%; max-width:none; height:96px; border:0; border-radius:0; background:transparent; box-shadow:none; transform:none; z-index:1000; transition:transform .45s,background .4s; }
header.scrolled { height:78px; background:linear-gradient(#0c0d1bf2,#0c0d1b00); }header.header-away { transform:translateY(-110%); }header:focus-within,body.menu-open header { transform:none; }
.nav-container { height:100%; max-width:none; padding:18px 42px; display:flex; align-items:center; justify-content:space-between; position:relative; }
.logo { font:400 43px/1 'Anton',Impact,sans-serif; color:var(--cream); letter-spacing:-3px; z-index:1002; position:relative; }.logo .logo-star { font-size:20px; color:var(--cream); display:inline-block; transform:translate(-1px,4px); }
.header-edition { position:absolute; left:50%; transform:translateX(-50%); font:600 12px 'Barlow Condensed',sans-serif; letter-spacing:.25em; color:#fff9cbbb; }
.hamburg { display:flex; justify-content:center; align-items:center; width:48px; height:48px; font-size:24px; color:var(--cream); z-index:1002; border:1px solid #fff9cb44; border-radius:0; cursor:pointer; }
.nav-menu { display:none; position:fixed; top:0; left:0; right:0; width:100vw; max-width:none; height:100dvh; background:var(--cream); color:var(--ink); z-index:1001; flex-direction:column; align-items:center; justify-content:center; gap:4px; padding:100px 24px 50px; overflow-y:auto; }
.nav-menu.active { display:flex; animation:menuReveal .5s cubic-bezier(.2,.8,.2,1); }.nav-link { color:var(--ink); font:400 clamp(30px,5vh,60px)/1.1 'Anton',sans-serif; text-transform:uppercase; padding:4px 20px; letter-spacing:-.025em; }.nav-link:hover,.nav-link.active { color:#b84472; }.nav-link::after { display:none; }.nav-contact { border:0; border-radius:0; background:none; }.nav-contact span { margin-left:15px; }
body.menu-open .logo,body.menu-open .logo-star,body.menu-open .hamburg { color:var(--ink); }body.menu-open .hamburg { border-color:#0c0d1b44; }
.theme-toggle { margin-top:24px; width:48px; height:28px; background:#413151; border:0; }.theme-toggle-circle { width:22px; height:22px; top:3px; left:3px; background:var(--pink); }.dark-mode .theme-toggle-circle { left:23px; }
/* Opening title: brief, skippable, with a CSS timeout if other assets are unavailable. */
.opening-sequence,.skip-opening { display:none; }.opening-active .opening-sequence { display:grid; place-content:center; position:fixed; inset:0; z-index:5000; background:var(--ink); color:var(--cream); pointer-events:none; animation:openingOut .75s 1.45s cubic-bezier(.7,0,.2,1) forwards; }
.opening-mark { font:400 155px/.8 'Anton',sans-serif; text-align:center; letter-spacing:-12px; animation:openingZoom 2.2s cubic-bezier(.7,0,.2,1) forwards; }.opening-mark span { font-size:70px; color:var(--pink); letter-spacing:-8px; }.opening-caption { margin-top:38px; font:600 11px 'Barlow Condensed',sans-serif; letter-spacing:.35em; animation:captionOut 1.8s both; }
.opening-active .skip-opening { display:block; position:fixed; right:35px; bottom:30px; z-index:5001; background:transparent; color:var(--cream); border:0; padding:12px; font:600 12px 'Barlow Condensed',sans-serif; letter-spacing:.12em; cursor:pointer; }
/* Sticky camera scene. Only transforms and opacity change while scrolling. */
.hero { display:block; padding:0; height:190svh; min-height:0; position:relative; isolation:isolate; overflow:visible; }.hero::before,.hero::after { display:none; }
.hero-sticky { position:sticky; top:0; height:100svh; min-height:600px; width:100%; overflow:hidden; color:var(--cream); background:#362b49; }
.hero-landscape { position:absolute; inset:-2%; background:url('coastal-city.png') center 57%/cover no-repeat; transform:scale(var(--scene-zoom,1.02)); will-change:transform; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(180deg,#100b2944 0%,#150e2a03 25%,#100b2920 55%,#0c0d1b 100%); opacity:var(--scene-shade,.85); }
.hero-grain { position:absolute; inset:0; opacity:.1; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E"); }
.hero-edition { position:absolute; left:42px; right:42px; top:130px; display:flex; justify-content:space-between; font:600 11px 'Barlow Condensed',sans-serif; letter-spacing:.2em; text-shadow:0 1px 8px #0c0d1b; }
.hero-title-stage { position:absolute; left:50%; top:47%; width:min(650px,64vw); transform:translate(-50%,-50%) scale(var(--title-zoom,1)); opacity:var(--title-opacity,1); text-align:center; will-change:transform,opacity; }
.hero-numeral { position:absolute; inset:auto; left:50%; top:47%; transform:translate(-50%,-50%) rotate(-8deg); font:400 clamp(310px,39vw,590px)/.8 'Anton',Impact,sans-serif; letter-spacing:-.065em; background:linear-gradient(180deg,#775bd2 10%,#ec62ad 52%,#ffa870 88%); background-clip:text; -webkit-background-clip:text; color:transparent; -webkit-text-stroke:2px #fff4cf; filter:drop-shadow(0 8px 0 #231c3d) drop-shadow(0 0 2px #211834); opacity:.95; }
.hero-wordmark { font:400 clamp(80px,11.6vw,176px)/.87 'Anton',Impact,sans-serif; letter-spacing:-.045em; position:relative; color:var(--cream); -webkit-text-stroke:1px #231a36; paint-order:stroke fill; text-shadow:3px 5px 0 #21162f,-3px -2px 0 #21162f,6px 10px 0 #21162f; margin:0; }
.hero-wordmark span { display:block; }.hero-wordmark span:first-child { margin-right:20px; }.hero-roles { font:700 clamp(10px,1vw,14px) 'Barlow Condensed',sans-serif; letter-spacing:.18em; position:relative; margin-top:30px; text-shadow:0 2px 5px #0c0d1b; }
.hero-bottom { position:absolute; bottom:105px; left:60px; right:60px; display:grid; grid-template-columns:1fr auto 1fr; align-items:end; gap:40px; transform:translateY(var(--hero-bottom-y,0px)); opacity:var(--title-opacity,1); }
.hero-location { font:600 15px/1.35 'Barlow Condensed',sans-serif; letter-spacing:.08em; }.hero-location span,.hero-location strong { display:block; }.hero-location strong { font-weight:700; color:var(--pink); }
.enter-world { display:flex; flex-direction:column; align-items:center; gap:20px; font:700 14px 'Barlow Condensed',sans-serif; letter-spacing:.12em; }.enter-world span { font:400 42px 'DM Sans',sans-serif; animation:arrowDrift 1.6s ease-in-out infinite; }
.hero-availability { justify-self:end; font:600 11px 'Barlow Condensed',sans-serif; letter-spacing:.08em; display:flex; align-items:center; gap:8px; padding-bottom:4px; }.hero-availability i { width:6px; height:6px; background:var(--pink); border-radius:50%; }
.hero-chapter { position:absolute; bottom:30px; left:42px; font:600 10px 'Barlow Condensed',sans-serif; letter-spacing:.15em; color:#fff9cb66; }
.motion-toggle { position:fixed; right:30px; bottom:22px; z-index:900; background:#0c0d1b; color:#fff9cb; border:1px solid #fff9cb33; border-radius:0; padding:9px 13px; font:600 11px 'Barlow Condensed',sans-serif; letter-spacing:.05em; cursor:pointer; }.motion-toggle span { color:var(--pink); margin-left:6px; }
.chapter-nav { position:fixed; right:23px; top:50%; transform:translateY(-50%); z-index:800; display:flex; flex-direction:column; gap:15px; }.chapter-nav a { display:grid; place-items:center; width:22px; height:22px; font:600 9px 'Barlow Condensed',sans-serif; color:#fff9cb99; }.chapter-nav a::before { content:''; display:block; height:3px; width:13px; background:currentColor; }.chapter-nav span { display:none; }.chapter-nav .active { color:var(--pink); }.chapter-nav .active span { display:block; }.chapter-nav .active::before { display:none; }
/* Chapter transitions: large type and editorial spacing, no floating widget UI. */
.manifesto { min-height:100svh; display:grid; place-items:center; position:relative; padding:140px 24px; overflow:hidden; background:var(--dark); text-align:center; }
.manifesto-inner { position:relative; z-index:1; transform:translateY(var(--intro-y,0px)) scale(var(--intro-scale,1)); opacity:var(--intro-opacity,1); }
.manifesto-title { font:400 clamp(84px,12vw,190px)/.96 'Anton',Impact,sans-serif; letter-spacing:-.02em; color:var(--pink); margin:0 0 35px; }
.manifesto p { color:var(--light-alt); font-size:18px; line-height:1.8; margin-bottom:35px; }.intro-actions { display:flex; justify-content:center; align-items:start; gap:16px; position:relative; z-index:2; }.resume-dropdown-menu { border-radius:0; background:var(--dark-alt); border-color:var(--glass-border); min-width:240px; text-align:left; z-index:50; }.resume-item { border-radius:0; font-size:13px; }.intro-meta { display:flex; justify-content:center; gap:30px; margin-top:65px; color:var(--text-light); font:600 11px 'Barlow Condensed',sans-serif; letter-spacing:.1em; }.manifesto-watermark { position:absolute; font:400 70vw 'Anton',sans-serif; color:var(--light); opacity:.025; right:-8%; bottom:-65%; pointer-events:none; }
/* A horizontal filmstrip, with native touch scrolling and explicit slide controls. */
#projects { padding-top:100px !important; padding-bottom:130px; overflow:hidden; background:var(--dark); }.work-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:38px; }.project-filters { margin:0; border:0; border-radius:0; background:transparent; padding:0; gap:24px; }.filter-btn { border-radius:0; padding:8px 0; min-height:44px; background:transparent; color:var(--text-light); font:600 14px 'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.1em; box-shadow:none; border-bottom:2px solid transparent; }.filter-btn.active,.filter-btn:hover { color:var(--pink); background:transparent; border-bottom-color:var(--pink); box-shadow:none; }
.slide-controls { display:flex; gap:17px; align-items:center; }.slide-controls button { border:1px solid var(--glass-border); width:46px; height:46px; background:transparent; color:var(--cream); font-size:24px; cursor:pointer; }.slide-controls button:hover { background:var(--pink); color:var(--ink); }.slide-controls button:disabled { opacity:.3; cursor:default; }.slide-count { font:600 13px 'Barlow Condensed',sans-serif; letter-spacing:.1em; min-width:45px; }
.projects-slider { width:calc(100% + 35px); overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scrollbar-width:none; padding:12px 0 35px; }.projects-slider::-webkit-scrollbar { display:none; }.projects-slider .swiper-wrapper { display:flex; gap:32px; align-items:stretch; }.project-card { flex:0 0 71%; width:auto; min-width:0; height:auto; background:transparent; border:0; border-radius:0; padding:0; overflow:hidden; scroll-snap-align:start; cursor:pointer; transform:none; }.project-card:hover { transform:none; }.project-thumbnail { display:none; }
.project-cover { height:440px; position:relative; overflow:hidden; display:grid; place-items:center; background:var(--cover-bg,#413151); color:var(--cream); transform:scale(var(--cover-scale,1)); transform-origin:center; transition:transform .55s ease-out; }
.project-cover::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,#0c0d1b44,#0c0d1b11),url('coastal-city.png') var(--cover-position,center)/cover; opacity:.65; filter:hue-rotate(var(--cover-hue,0deg)); transition:transform .7s; }.project-card:hover .project-cover::before { transform:scale(1.06); }
.cover-index { position:absolute; top:22px; left:25px; z-index:1; font:600 12px 'Barlow Condensed',sans-serif; letter-spacing:.14em; }.cover-label { position:absolute; bottom:23px; left:25px; z-index:1; font:600 11px 'Barlow Condensed',sans-serif; letter-spacing:.14em; }
.cover-icon { position:relative; font:400 clamp(50px,7vw,100px)/.95 'Anton',Impact,sans-serif; letter-spacing:-.015em; max-width:85%; text-align:center; color:var(--cream); text-transform:uppercase; text-shadow:0 4px 0 #0c0d1b55; transform:rotate(-5deg); }
.cover-orbit { position:absolute; width:210px; height:210px; border:1px solid #fff9cb55; border-radius:0; transform:rotate(45deg); }
.project-overlay { position:relative; inset:auto; height:auto; min-height:140px; opacity:1; transform:none; background:none; color:var(--light); padding:25px 0; pointer-events:auto; justify-content:flex-start; }.project-title { font:400 30px 'Anton',sans-serif; letter-spacing:0; text-transform:uppercase; margin:0 0 8px; padding-right:50px; }.project-category { font:600 13px 'Barlow Condensed',sans-serif; color:var(--pink); letter-spacing:.13em; }.project-overlay::after { content:'↗'; position:absolute; right:8px; top:25px; font-size:33px; }.project-overlay .project-badges { display:none; }.projects-pagination,.certificates-pagination { display:none; }
.cover-icon { white-space:pre-line; }
body.menu-open { overflow:hidden; }
body.menu-open .chapter-nav,body.menu-open .motion-toggle { visibility:hidden; }
.world-break { position:relative; height:95svh; min-height:650px; overflow:hidden; color:var(--cream); background:var(--ink); }
.world-break-art { position:absolute; inset:0; background:linear-gradient(90deg,#0c0d1bc9,#0c0d1b22),url('coastal-city.png') center 65%/cover; transform:scale(var(--world-zoom,1.15)); filter:hue-rotate(-14deg); }
.world-break-copy { position:absolute; left:max(80px,calc((100vw - 1280px)/2)); top:50%; transform:translateY(calc(-50% + var(--world-y,0px))); }
.world-break .eyebrow { color:var(--pink); }.world-break h2 { font:400 clamp(60px,7vw,115px)/1 'Anton',sans-serif; letter-spacing:-.025em; margin:0 0 35px; }
.world-break a { font:600 15px 'Barlow Condensed',sans-serif; letter-spacing:.1em; }.world-break a span { margin-left:30px; font-size:25px; }.scene-coordinate { position:absolute; right:40px; bottom:30px; font:600 10px 'Barlow Condensed',sans-serif; letter-spacing:.16em; }
@media(max-width:800px) { .world-break-copy { left:30px; }.world-break { min-height:560px; }.world-break h2 { font-size:9vw; } }
@media(max-width:560px) { .world-break { height:80svh; min-height:510px; }.world-break-copy { left:23px; right:23px; }.world-break h2 { font-size:clamp(43px,11.4vw,66px); }.world-break .eyebrow { font-size:10px; }.world-break-art { background-position:61% center; }.scene-coordinate { right:22px; font-size:8px; } }
body.motion-paused .world-break-art { transform:none; }body.motion-paused .world-break-copy { transform:translateY(-50%); }
/* Profile and supporting chapters. */
#about { background:linear-gradient(140deg,#41315133,transparent 65%); }.about-content { display:grid; grid-template-columns:1.15fr 1fr; align-items:start; gap:80px; }.about-text h2 { font:600 29px 'Barlow Condensed',sans-serif; color:var(--light); margin-bottom:24px; }.about-text p { color:var(--text-light); font-size:15px; line-height:1.9; }.about-image { position:sticky; top:110px; height:580px; background:linear-gradient(#0c0d1b33,#0c0d1b88),url('coastal-city.png') 62% center/cover; border:0; border-radius:0; box-shadow:none; }.about-image model-viewer { width:100%; height:100%; }.view-3d-btn,.model-prev-btn,.model-next-btn { border-radius:0; background:var(--ink); color:var(--cream); border:0; box-shadow:none; }
.about-stats { grid-template-columns:1fr 1fr; gap:30px; margin:40px 0; }.stat-item { padding:20px 0; text-align:left; border-top:1px solid var(--glass-border); background:transparent; }.stat-number { font:400 70px 'Anton',sans-serif; color:var(--pink); -webkit-text-fill-color:var(--pink); background:none; }.stat-desc { font:600 13px 'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.1em; }
.recruiter-quick-info { background:transparent; padding:25px 0; border-block:1px solid var(--glass-border); }.quick-info-grid { gap:23px; }.qi-label { font:600 11px 'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.05em; }.qi-value { font-size:13px; }.focus-title { font:600 19px 'Barlow Condensed',sans-serif; }.focus-tag,.feature-tag { border-radius:0; box-shadow:none; background:transparent; border:1px solid var(--glass-border); padding:8px 12px; font-size:11px; }.lighthouse-stats { display:none; }
#skills { background:var(--dark) !important; }.autoplay-progress { display:none; }.apple-skills-slider { overflow:auto; scrollbar-width:thin; scrollbar-color:var(--pink) transparent; scroll-snap-type:x mandatory; padding:0 0 25px; }.apple-skills-slider .swiper-wrapper { display:flex; gap:20px; }.skill-item,.apple-skills-slider .swiper-slide { flex:0 0 235px; width:235px; min-height:280px; background:transparent; border:1px solid var(--glass-border); border-radius:0; padding:30px 20px; box-shadow:none; scroll-snap-align:start; align-items:flex-start; justify-content:flex-start; text-align:left; }.skill-item::before { display:none; }.skill-icon-wrapper { width:50px; height:50px; border:0; box-shadow:none; background:transparent; border-radius:0; transform:none; margin:0 0 20px; }.skill-icon { font-size:38px; filter:none; }.skill-name { font:400 27px 'Anton',sans-serif; text-transform:uppercase; font-style:normal; }.skill-stars { display:none; }.skill-info { width:100%; }.skill-context { border:0; border-radius:0; background:transparent; padding:15px 0 0; }.context-row { font-size:11px; }.context-row:last-child { display:none; }.swiper-button-next-skills,.swiper-button-prev-skills,.skills-nav { display:none !important; }
.backend-card { border-radius:0; box-shadow:none; background:transparent; padding-inline:0; }.backend-stats { border-radius:0; }.appeal-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:1px; background:var(--glass-border); border:1px solid var(--glass-border); }.appeal-card { border:0; border-radius:0; background:var(--dark); padding:30px 14px; gap:14px; }.appeal-card:hover { transform:none; box-shadow:none; }.appeal-icon { font-size:25px; filter:none; }.appeal-title { font:600 15px 'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.02em; }#why-hire-me .section-title { font-size:clamp(40px,4vw,64px); }
.sanstudio-banner { margin:0; border:0; border-radius:0; padding:85px 35px; background:linear-gradient(#0c0d1ba0,#0c0d1bd0),url('coastal-city.png') center 70%/cover; color:var(--cream); }.sanstudio-banner::before,.sanstudio-banner::after { display:none; }.sanstudio-logo { font:700 18px 'Barlow Condensed',sans-serif; color:var(--pink); }.sanstudio-content h2 { font:400 clamp(38px,5vw,70px)/1.05 'Anton',sans-serif; text-transform:uppercase; color:var(--cream); }.sanstudio-content p { font-size:15px; color:#ded1d3; }.sanstudio-features .feature-tag { color:var(--cream); border-color:#ffffff44; }.sanstudio-btn { background:var(--pink); color:var(--ink); font-size:15px; box-shadow:none; }
#github-stats .glass-card { padding:40px 0; border-block:1px solid var(--glass-border); background:transparent; }.github-stats-container { gap:20px; }.gh-stat-card { border:0; border-radius:0; background:transparent; padding:15px 0; }.gh-stat-card:hover { transform:none; box-shadow:none; }.gh-icon { border-radius:0; background:transparent; }.gh-num { font:400 36px 'Anton',sans-serif; }.gh-label { font:600 12px 'Barlow Condensed',sans-serif; }.gh-languages { border-radius:0; background:transparent; padding:25px 0 0; border:0; }.gh-lang-bar { border-radius:0; }
.timeline { display:grid; grid-template-columns:1fr 1fr; gap:45px; max-width:none; }.timeline::after,.timeline-icon { display:none; }.timeline-item,.timeline-item:nth-child(even),.timeline-item:nth-child(odd) { width:auto; left:auto; padding:0; }.timeline-content { padding:30px 0; border:0 !important; border-top:1px solid var(--glass-border) !important; box-shadow:none !important; height:100%; border-radius:0; background:transparent; }.timeline-date { background:none !important; box-shadow:none !important; border-radius:0; padding:0; color:var(--pink); font:600 14px 'Barlow Condensed',sans-serif; letter-spacing:.1em; }.timeline-title { font:600 26px 'Barlow Condensed',sans-serif; color:var(--light); }.timeline-desc { font-size:14px; color:var(--text-light); line-height:1.8; }
.certificates-slider { overflow:auto; padding:0 0 25px; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:var(--pink) transparent; }.certificates-slider .swiper-wrapper { display:flex; gap:30px; }.certificate-card { flex:0 0 340px; height:auto; border:0; border-radius:0; background:transparent; scroll-snap-align:start; }.certificate-image { width:100%; height:240px; object-fit:contain; padding:15px; background:#ded7d0; }.certificate-content { background:transparent; padding:24px 0; }.certificate-title { font:600 25px 'Barlow Condensed',sans-serif; }.certificate-issuer { font:600 13px 'Barlow Condensed',sans-serif; color:var(--pink); }.certificate-content > div:last-child { display:none; }
#contact { background:linear-gradient(180deg,transparent,#41315144); }.contact-container { display:grid; grid-template-columns:1fr 1.1fr; gap:80px; }.contact-info { gap:10px; }.contact-stats-grid { gap:0; border-block:1px solid var(--glass-border); margin-bottom:24px; }.c-stat-item { border:0; border-radius:0; background:none; padding:20px 0; }.c-stat-label { font:600 12px 'Barlow Condensed',sans-serif; }.c-stat-value { font:600 23px 'Barlow Condensed',sans-serif; }.contact-item { background:transparent; padding:20px 0 !important; border:0; border-bottom:1px solid var(--glass-border); border-radius:0; gap:22px; }.contact-item:hover { background:transparent; }.contact-icon { width:36px; height:36px; border-radius:0; background:none !important; color:var(--pink); box-shadow:none; font-size:23px; flex-shrink:0; }.contact-item h3 { font:600 17px 'Barlow Condensed',sans-serif; text-transform:uppercase; }.contact-item p { overflow-wrap:anywhere; }.contact-form { background:transparent; padding:0; }.form-group { margin-bottom:26px; }.form-group label { color:var(--text-light); font:600 13px 'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.1em; }.form-input,.form-textarea { border:0; border-bottom:1px solid var(--glass-border); border-radius:0; background:#ffffff04; padding:17px; color:var(--light); font-size:14px; }.form-input:focus,.form-textarea:focus { border-color:var(--pink); box-shadow:none; }.form-textarea { min-height:160px; }.contact-form .btn { width:100%; }
footer { background:var(--ink); color:var(--cream); padding:90px 0 35px; border:0; }.footer-cinema { display:flex; justify-content:space-between; align-items:center; padding-bottom:70px; margin-bottom:55px; border-bottom:1px solid #fff9cb22; }.footer-cinema > span { font:400 clamp(40px,6vw,85px)/1 'Anton',sans-serif; color:var(--pink); }.footer-cinema > a { font-size:60px; color:var(--pink); }.footer-content { gap:45px; }.footer-logo { font:400 25px 'Anton',sans-serif; color:var(--cream); }.footer-desc { font-size:13px; color:#b9b3c8; }.footer-links h4 { font:600 17px 'Barlow Condensed',sans-serif; color:var(--cream); text-transform:uppercase; }.footer-links a,.footer-links li { color:#b9b3c8; font-size:12px; }.footer-bottom { font-size:11px; color:#b9b3c8; border-color:#ffffff22; }.social-links { margin:20px 0; gap:10px; }.social-links a { border:0; border-radius:0; background:transparent; box-shadow:none; min-width:40px; min-height:44px; width:40px; height:44px; font-size:18px; color:var(--pink); }.social-links a:hover { background:transparent; color:var(--cream); transform:translateY(-3px); }
/* Dialogs remain practical and accessible within the art direction. */
.modal { background:#0c0d1beb; padding:20px; }.modal-content { background:var(--dark-alt); border:1px solid var(--glass-border); border-radius:2px; max-height:90dvh; overflow:auto; box-shadow:none; }.modal-close { border-radius:0; background:var(--pink); color:var(--ink); min-width:44px; min-height:44px; }.project-modal-header h3 { font:600 24px 'Barlow Condensed',sans-serif; text-transform:uppercase; }.project-modal-controls { gap:8px; }.project-modal-controls button,.project-modal-controls a { border-radius:0; }.project-modal-body,#project-modal-iframe,.project-tab-pane { border-radius:0; }.project-modal-body { min-height:0; }.preview-help { color:var(--text-light); font-size:12px; margin-bottom:15px; }.preview-help a { color:var(--pink); text-decoration:underline; }.modal-content.fullscreen { height:100dvh !important; max-height:100dvh !important; }.notification-toast { border-radius:0; background:var(--ink); color:var(--cream); max-width:calc(100vw - 32px); font-size:13px; }
.reveal-ready { opacity:0; transform:translateY(70px) scale(.96); transition:opacity .85s ease,transform 1s cubic-bezier(.17,.67,.2,1); }.reveal-ready.is-visible { opacity:1; transform:none; }
@keyframes openingOut { to { opacity:0; visibility:hidden; } }@keyframes openingZoom { 0%,35% { transform:scale(.8); opacity:1; }65% { transform:scale(1); opacity:1; }100% { transform:scale(24); opacity:0; } }@keyframes captionOut { 0% { opacity:0; }30%,60% { opacity:1; }100% { opacity:0; } }@keyframes menuReveal { from { clip-path:inset(0 0 100%); }to { clip-path:inset(0); } }@keyframes arrowDrift { 50% { transform:translateY(8px); } }
@media(min-width:1800px) { .hero-title-stage { width:740px; }.hero-wordmark { font-size:200px; }.hero-numeral { font-size:680px; } }
@media(max-width:1100px) { .container { padding-inline:50px; }.about-content { gap:45px; }.contact-container { gap:45px; }.hero-bottom { left:42px; right:42px; gap:25px; }.project-cover { height:380px; }.project-card { flex-basis:82%; }.appeal-grid { grid-template-columns:repeat(5,1fr); }.hero-title-stage { width:70vw; }.hero-wordmark { font-size:15vw; }.hero-numeral { font-size:49vw; } }
@media(max-width:800px) {
 .container { padding-inline:30px; }.section { padding:90px 0; }.section-title { font-size:72px; }.nav-container { padding:15px 25px; }.header-edition { font-size:10px; }header,header.scrolled { height:80px; }.hero-sticky { min-height:560px; }.hero-edition { top:110px; left:30px; right:30px; }.hero-bottom { grid-template-columns:1fr auto; bottom:95px; left:30px; right:30px; }.hero-availability { display:none; }.hero-location { font-size:13px; }.hero-title-stage { top:46%; width:76vw; }.hero-wordmark { font-size:19vw; }.hero-numeral { font-size:60vw; }.hero-roles { margin-top:24px; font-size:11px; }.chapter-nav { display:none; }.manifesto { min-height:85svh; padding:100px 30px; }.manifesto p { font-size:16px; }.intro-meta { gap:20px; font-size:10px; }
 .about-content { grid-template-columns:1fr; }.about-image { position:relative; top:0; height:450px; }.about-text { max-width:600px; }.appeal-grid { grid-template-columns:repeat(2,1fr); }.project-cover { height:360px; }.project-card { flex-basis:88%; }.projects-slider .swiper-wrapper { gap:22px; }.projects-slider { width:calc(100% + 10px); }.contact-container { grid-template-columns:1fr 1fr; gap:30px; }.contact-icon { width:28px; }.contact-item { gap:14px; }.timeline { gap:30px; }.footer-content { grid-template-columns:1fr 1fr; }.footer-about { grid-column:1/-1; }
}
@media(max-width:560px) {
 html { scroll-padding-top:85px; }.container { padding-inline:23px; }.section { padding:75px 0; }.section-title { font-size:clamp(50px,13vw,72px); margin-bottom:28px; }.section-title small { font-size:11px; letter-spacing:.16em; margin-bottom:23px; }.section-lede { font-size:13px; margin-bottom:24px; }.btn { font-size:13px; min-height:52px; padding:15px 20px; gap:15px; }
 .nav-container { padding:14px 22px; }.logo { font-size:34px; }.logo .logo-star { font-size:17px; }.hamburg { width:42px; height:42px; font-size:21px; }.header-edition { font-size:9px; letter-spacing:.15em; }.nav-menu { padding-top:85px; }.nav-link { font-size:clamp(29px,5.8vh,45px); }.theme-toggle { margin-top:20px; }.hero { height:170svh; }.hero-sticky { min-height:570px; }.hero-landscape { background-position:53% 50%; }.hero-edition { top:108px; left:24px; right:24px; font-size:9px; }.hero-edition span:last-child { display:none; }.hero-title-stage { width:94vw; top:46%; }.hero-wordmark { font-size:26vw; -webkit-text-stroke:0; text-shadow:2px 3px 0 #21162f,-2px -1px 0 #21162f,4px 6px 0 #21162f; }.hero-numeral { font-size:83vw; -webkit-text-stroke:1.5px #fff9cb; }.hero-roles { font-size:9px; letter-spacing:.12em; margin-top:26px; }.hero-bottom { grid-template-columns:1fr; text-align:center; justify-items:center; gap:25px; bottom:95px; }.hero-location { font-size:12px; order:2; }.hero-location span,.hero-location strong { display:inline; }.hero-location strong { margin-left:5px; }.enter-world { font-size:12px; gap:10px; }.enter-world span { font-size:32px; }.hero-chapter { left:24px; bottom:27px; font-size:9px; }.motion-toggle { right:16px; bottom:16px; padding:9px 11px; font-size:10px; }
 .manifesto { min-height:90svh; padding:100px 23px; }.manifesto .eyebrow { font-size:11px; margin-bottom:30px; }.manifesto-title { font-size:clamp(64px,18vw,98px); margin-bottom:25px; }.manifesto p { font-size:14px; line-height:1.85; }.intro-actions { flex-direction:column; align-items:center; gap:13px; }.intro-actions .btn { min-width:220px; }.resume-dropdown-container { width:auto; }.resume-dropdown-menu { width:240px; left:50%; transform:translate(-50%,-10px); }.resume-dropdown-container.active .resume-dropdown-menu { transform:translate(-50%,0); }.intro-meta { flex-wrap:wrap; gap:12px 20px; margin-top:40px; }.intro-meta span:last-child { width:100%; }.manifesto-watermark { font-size:150vw; right:-10%; bottom:-12%; }
 #projects { padding-top:70px !important; padding-bottom:60px; }.work-toolbar { flex-wrap:wrap; gap:17px; margin-bottom:20px; }.project-filters { justify-content:flex-start; gap:22px; width:auto; padding:0; }.filter-btn { font-size:12px; flex-grow:0; padding:8px 0; }.slide-controls { margin-left:auto; gap:12px; }.slide-controls button { width:40px; height:40px; font-size:21px; }.slide-count { font-size:12px; }.projects-slider { width:calc(100% + 10px); padding-bottom:20px; }.project-card { flex-basis:94%; }.projects-slider .swiper-wrapper { gap:18px; }.project-cover { height:350px; }.cover-icon { font-size:52px; }.cover-index,.cover-label { font-size:10px; left:18px; }.cover-orbit { width:180px; height:180px; }.project-overlay { padding:23px 0; min-height:126px; }.project-title { font-size:25px; }.project-category { font-size:11px; }
 .about-text h2 { font-size:26px; }.about-text p { font-size:14px; }.about-stats { grid-template-columns:1fr 1fr; gap:20px; margin:25px 0; }.stat-number { font-size:60px; }.stat-desc { font-size:11px; }.stat-item { text-align:left; padding:20px 0; }.quick-info-grid { grid-template-columns:1fr 1fr; }.about-image { height:350px; }.about-content { gap:25px; }.focus-tag { font-size:10px; }.skill-item,.apple-skills-slider .swiper-slide { flex-basis:215px; width:215px; }.backend-grid { grid-template-columns:1fr; }.sanstudio-banner { padding:65px 22px; }.sanstudio-content h2 { font-size:38px; }.sanstudio-content p { font-size:13px; }.feature-tag { font-size:10px; }.timeline { grid-template-columns:1fr; gap:5px; }.timeline-content { padding-block:28px; }.timeline-title { font-size:25px; }.timeline-desc { font-size:13px; }.certificate-card { flex-basis:285px; }.certificate-image { height:210px; }.certificate-title { font-size:24px; }
 .github-stats-container { grid-template-columns:1fr 1fr; gap:15px; }.gh-stat-card { gap:10px; }.gh-icon { width:30px; height:30px; font-size:21px; }.gh-num { font-size:31px; }.gh-label { font-size:10px; }.gh-languages { gap:12px; }#github-stats .glass-card > div:first-child h3 { font-size:24px !important; }#github-stats .glass-card > div:first-child h3 i { font-size:24px !important; }.contact-container { grid-template-columns:1fr; gap:45px; }.contact-stats-grid { grid-template-columns:1fr 1fr; }.contact-item h3 { font-size:16px; }.contact-form { padding:0; }.form-input,.form-textarea { font-size:16px; }.footer-cinema { padding-bottom:40px; margin-bottom:35px; }.footer-cinema > span { font-size:43px; }.footer-cinema > a { font-size:42px; }.footer-content { gap:28px; }.footer-bottom { gap:16px; padding-bottom:45px; }.social-links { justify-content:flex-start; padding:0; }
 .modal { padding:8px; }.modal-content { width:100%; padding:18px; }#project-modal .modal-content { padding:13px; height:88dvh; }.project-modal-header { gap:12px; }.project-modal-header h3 { font-size:19px; }.project-modal-controls { gap:5px; }.project-modal-controls button,.project-modal-controls a { width:36px; height:40px; flex-shrink:0; }.preview-help { font-size:11px; }.opening-mark { font-size:110px; }.opening-mark span { font-size:50px; }.opening-active .skip-opening { right:20px; bottom:20px; }
}
@media(max-width:360px) { .container { padding-inline:18px; }.hero-location { font-size:10px; }.project-cover { height:300px; }.project-title { font-size:23px; }.project-filters { gap:18px; }.cover-icon { font-size:44px; }.footer-cinema > span { font-size:37px; } }
@media(max-height:650px) and (min-width:561px) { .hero-sticky { min-height:500px; }.hero-title-stage { top:48%; }.hero-wordmark { font-size:clamp(70px,17vh,110px); }.hero-numeral { font-size:53vh; }.hero-edition { top:100px; }.hero-bottom { bottom:50px; }.hero-roles { font-size:10px; }.hero-chapter { bottom:15px; } }
body.motion-paused .hero { height:100svh; }body.motion-paused .hero-landscape { transform:none; }body.motion-paused .hero-title-stage { transform:translate(-50%,-50%); opacity:1; }body.motion-paused .hero-bottom { transform:none; opacity:1; }body.motion-paused .manifesto-inner { transform:none; opacity:1; }body.motion-paused .reveal-ready { opacity:1; transform:none; }body.motion-paused *,body.motion-paused *::before,body.motion-paused *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }.hero { height:100svh; }.hero-landscape { transform:none; }.hero-title-stage { transform:translate(-50%,-50%); opacity:1; }.hero-bottom,.manifesto-inner { transform:none; opacity:1; }.opening-sequence,.skip-opening { display:none !important; }.reveal-ready { opacity:1; transform:none; } }
@media print { header,.hero-landscape,.hero-grain,.hero-numeral,.hero-shade,.motion-toggle,.chapter-nav,.opening-sequence,.skip-opening,.modal,.reading-progress { display:none !important; }.hero,.hero-sticky { height:300px; min-height:0; }.hero-wordmark { font-size:65px; }.hero-bottom,.hero-edition,.hero-chapter { display:none; }.hero-title-stage { opacity:1; transform:translate(-50%,-50%); }.manifesto { min-height:0; padding:40px 0; }.section { padding:30px 0; }.reveal-ready { opacity:1; transform:none; }.projects-slider { overflow:visible; }.projects-slider .swiper-wrapper { display:grid; grid-template-columns:1fr 1fr; }.project-cover { height:200px; } }
