/* Subash portfolio v4.2.1 / A warmer, more compact editorial direction.
   Original watercolor asset, not copied from the reference site. */
:root {
  --bg:#FBFAF7;
  --surface:#FFFFFF;
  --text:#17233A;
  --navy:#17233A;
  --ink:#17233A;
  --ink2:#35435C;
  --muted:#5C687A;
  --slate:#5C687A;
  --soft:#64748B;
  --border:#E0E5EF;
  --line:var(--border);
  --tint:#F2F5FC;
  --cream:#F2F5FC;
  --paper:var(--bg);
  --white:var(--surface);
  --link:#255BCB;
  --azure:#3C89F7;
  --blue:var(--link);
  --blue-strong:#255BCB;
  --blue-strong-hover:#1749B6;
  --highlight:#4B6CE3;
  --serif:Georgia,'Iowan Old Style','Baskerville','Times New Roman',serif;
  --ambient-image:url('../img/ambient-watercolor.webp');
}
:root[data-theme="dark"] {
  --bg:#0D1424;
  --surface:#141F32;
  --text:#E9EFF9;
  --navy:#E9EFF9;
  --ink:#E9EFF9;
  --ink2:#D4E1F4;
  --muted:#B6C2D5;
  --slate:#B6C2D5;
  --soft:#ABBBCC;
  --border:#2B3C56;
  --line:var(--border);
  --tint:#18273D;
  --cream:#18273D;
  --paper:var(--bg);
  --white:var(--surface);
  --link:#8DB4FF;
  --blue:var(--link);
  --blue-strong:#255BCB;
  --blue-strong-hover:#1749B6;
  --highlight:#A3B9FF;
}
body { background:var(--bg); color:var(--text); }
a { transition:color .18s ease; }
:focus-visible { outline-color:#416AD8; outline-offset:3px; }
:root[data-theme="dark"] :focus-visible { outline-color:#A9C5FF; }
/* Layout: slightly broader canvas for image-led editorial design. */
.shell { width:min(1216px,calc(100% - 88px)); }
.site-header { height:86px; background:rgba(255,255,255,.82); border-bottom:1px solid rgba(198,205,218,.62); backdrop-filter:saturate(160%) blur(22px); -webkit-backdrop-filter:saturate(160%) blur(22px); }
.nav-shell { gap:30px; }
.wordmark { margin-right:auto; gap:11px; min-width:0; }
.wordmark-square { width:36px; height:36px; font-size:16px; border-radius:12px; background:#E7EDFF; color:#214FC2; box-shadow:inset 0 0 0 1px #CDD9FE; }
.wordmark-square span { color:#7291EF; }
.wordmark-name { color:var(--text); font-family:var(--serif); font-size:clamp(19px,1.8vw,25px); font-weight:500; letter-spacing:-.055em; }
.wordmark-name em { font-style:italic; font-weight:400; }
.sbk-site-logo { max-width:155px; }
.primary-nav { display:flex; gap:clamp(18px,2.7vw,37px); height:100%; align-items:center; }
.primary-nav>a.nav-link, .primary-nav .nav-dropdown-main { height:auto; padding:13px 0; border:0; font-size:14px; font-weight:600; color:#435064; letter-spacing:-.01em; }
.primary-nav>a.nav-link::after, .primary-nav .nav-dropdown-main::after { display:none; }
.primary-nav>a.nav-link:hover, .primary-nav>a.nav-link[aria-current], .primary-nav .nav-dropdown-main:hover, .primary-nav .nav-dropdown-main[aria-current] { color:#1E50BA; }
.nav-actions { display:flex; align-items:center; gap:16px; flex-shrink:0; }
.theme-toggle { width:42px; flex-basis:42px; height:42px; border:0; border-radius:50%; background:transparent; color:var(--text); }
.theme-toggle:hover { background:rgba(194,207,240,.33); border:0; box-shadow:0 2px 11px rgba(30,60,101,.08); }
.resume-top { padding:10px 18px; border-radius:11px; font-weight:700; font-size:13px; background:#17243B; border-color:#17243B; color:#FFFFFF!important; }
.resume-top:hover,.resume-top:focus-visible { background:#25416E; border-color:#25416E; color:#FFFFFF!important; }
.resume-top span { color:#D8E7FF; font-size:16px; }
/* Work is both a direct route and an accessible secondary navigation. */
.nav-dropdown { height:100%; display:flex; align-items:center; position:relative; }
.nav-dropdown-heading { display:flex; align-items:center; gap:2px; }
.nav-dropdown-main { position:relative; display:inline-flex; align-items:center; }
.nav-dropdown-toggle { display:inline-grid; place-items:center; width:27px; height:32px; padding:0; border:0; background:transparent; color:#66738A; border-radius:8px; }
.nav-dropdown-toggle:hover,.nav-dropdown-toggle:focus-visible { color:#255BCB; background:#EDF2FD; }
.nav-dropdown-toggle svg { transition:transform .22s ease; }
.nav-dropdown-panel { display:block; visibility:hidden; pointer-events:none; opacity:0; position:absolute; left:-66px; top:calc(100% - 10px); width:316px; padding:19px 12px 12px; border:1px solid #E0E6F0; border-radius:18px; background:rgba(255,255,255,.98); box-shadow:0 22px 58px rgba(24,39,64,.14),0 8px 20px rgba(24,39,64,.06); transform:translateY(10px); transition:opacity .18s,transform .18s,visibility .18s; z-index:95; }
.nav-dropdown:hover .nav-dropdown-panel,.nav-dropdown:focus-within .nav-dropdown-panel,.nav-dropdown.is-open .nav-dropdown-panel { visibility:visible; pointer-events:auto; opacity:1; transform:translateY(0); }
.nav-dropdown:hover .nav-dropdown-toggle svg,.nav-dropdown:focus-within .nav-dropdown-toggle svg,.nav-dropdown.is-open .nav-dropdown-toggle svg { transform:rotate(180deg); }
.nav-dropdown-kicker { display:block; color:#596B81; font-weight:800; font-size:10px; letter-spacing:.19em; padding:0 13px 10px; }
.nav-dropdown-panel>a { display:flex; gap:11px; align-items:center; border-radius:11px; padding:11px 12px; min-height:65px; color:#15243B; transition:background .16s; }
.nav-dropdown-panel>a:hover,.nav-dropdown-panel>a:focus-visible { background:#F1F5FC; color:#1749B6; }
.nav-dropdown-panel>a>span:nth-child(2) { flex:1; min-width:0; }
.nav-dropdown-panel strong { display:block; font-size:13px; font-weight:750; line-height:1.5; }
.nav-dropdown-panel small { display:block; color:#718094; font-size:11px; line-height:1.5; }
.nav-dropdown-panel>a>svg { color:#8290A7; }
.nav-dropdown-mark { width:36px; height:36px; border-radius:10px; flex:0 0 36px; display:grid; place-items:center; background:#EDF2FF; color:#295CC0; }
/* The hero background is a bespoke low-weight painted wash: warm blush, sky blue, lavender. */
.hero-wrap { background-image:linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.10)),url('../img/ambient-watercolor.webp'); background-size:cover; background-position:center; border-bottom:1px solid rgba(208,213,222,.55); }
.hero { grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr); gap:clamp(62px,7.8vw,130px); min-height:0; padding-block:44px 66px; }
.hero-content { order:2; padding-block:0; }
.hero-topline { display:inline-flex; align-items:center; margin-bottom:0; padding:10px 14px; color:#4F617B; background:rgba(255,255,255,.67); border:1px solid rgba(205,214,231,.65); border-radius:100px; font-size:10px; letter-spacing:.15em; backdrop-filter:blur(10px); }
.status-spark { background:#2B9F6F; box-shadow:0 0 0 4px rgba(61,166,119,.14); }
.hero h1 { font-family:var(--display); font-size:clamp(46px,4.25vw,66px); font-weight:750; letter-spacing:-.065em; line-height:1.13; max-width:720px; }
.hero h1 .headline-blue { font-family:var(--serif); font-size:1.14em; font-weight:400; font-style:italic; letter-spacing:-.052em; color:#3762D7; }
.hero-description { max-width:600px; margin-top:27px; font-size:16px; line-height:1.88; color:#516176; }
.hero-description strong { color:#223349; font-weight:750; }
.hero-actions { margin-top:29px; gap:13px; }
.hero-actions .button { min-height:51px; border-radius:10px; }
a.button-blue,a.button-blue:visited,a.button-blue:active,a.button-blue:hover,a.button-blue:focus-visible { color:#FFFFFF!important; }
.button-blue { box-shadow:0 9px 24px rgba(37,91,203,.12); }
.button-ghost { border:1px solid rgba(114,128,149,.3); background:rgba(255,255,255,.66); color:#273750; }
.button-ghost:hover,.button-ghost:focus-visible { background:#FFFFFF; border-color:#B1C1DF; color:#17233A; }
.hero-typing { display:flex; align-items:center; gap:8px; width:fit-content; max-width:100%; min-height:26px; margin:11px 0 22px; color:#5C6C81; font-size:12px; line-height:1.45; }
.hero-typing-display { min-width:19ch; white-space:nowrap; }
.hero-typing-display { color:#295EC1; }
.hero-v42-social { display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin-top:24px; }
.hero-v42-social>span { font-size:10px; letter-spacing:.16em; font-weight:800; color:#68768B; }
.hero-v42-social .social-icon-row { gap:9px; }
.hero-v42-social .social-icon-link { width:42px; height:42px; flex-basis:42px; border-radius:50%; background:rgba(255,255,255,.72); border:1px solid rgba(198,207,226,.8); color:#265FC6; box-shadow:0 7px 15px rgba(25,50,80,.05); }
.hero-v42-social .social-icon-link:hover,.hero-v42-social .social-icon-link:focus-visible { color:#FFFFFF; background:#265FC6; }
.hero-visual { order:1; justify-self:center; width:100%; max-width:425px; margin:0; padding:20px 10px 12px 16px; }
.hero-visual::before { content:""; position:absolute; z-index:0; inset:0 0 15px 20px; background:rgba(253,255,255,.33); border:1px solid rgba(255,255,255,.55); border-radius:140px 44px 155px 55px; transform:rotate(8deg); box-shadow:0 18px 66px rgba(103,115,148,.13); }
.hero-photo-backdrop { z-index:1; padding:12px; border-radius:36px; border:1px solid rgba(255,255,255,.9); background:rgba(255,255,255,.93); box-shadow:0 24px 58px rgba(38,52,84,.19); transform:rotate(-2deg); }
.hero-photo-backdrop:before { display:none; }
.hero-photo-frame { aspect-ratio:4/4.9; border-radius:26px; background:#E8EDF4; }
.hero-photo-frame img { height:100%; object-position:center 30%; filter:saturate(.94); }
.hero-photo-note { z-index:4; min-width:245px; bottom:3px; left:auto; right:-38px; border-radius:15px; padding:13px 15px; border-color:rgba(221,228,238,.9); box-shadow:0 17px 35px rgba(30,42,67,.16); }
.photo-note-icon { width:42px; height:42px; border-radius:12px; color:#265FC6; background:#E8F0FF; }
.hero-v42-stat { display:flex; align-items:center; gap:13px; position:absolute; z-index:5; top:-4px; left:-38px; border:1px solid rgba(231,235,241,.9); background:rgba(255,255,255,.98); border-radius:16px; padding:13px 17px; min-width:170px; box-shadow:0 15px 30px rgba(35,48,83,.13); }
.hero-v42-stat-icon { display:grid; place-items:center; background:#EEE8FF; color:#6550C8; width:42px; height:42px; border-radius:12px; }
.hero-v42-stat strong { color:#192841; font-family:var(--serif); display:block; font-size:26px; line-height:1.1; font-weight:500; }
.hero-v42-stat small { color:#64748B; display:block; font-size:9px; font-weight:800; letter-spacing:.06em; margin-top:5px; }
.results-band { background:rgba(255,255,255,.83); }
.results-grid { padding-block:30px; }
.result>strong { color:#305DBD; }
.result b { font-size:13px; }
/* Consistent editorial sections, details, and cards. */
.section { padding-block:92px 100px; }
.section-top h2 { font-family:var(--display); }
.project-card,.blog-card,.contact-form-panel,.about-band { border-radius:22px; box-shadow:0 8px 29px rgba(26,45,78,.045); }
.project-card:hover { box-shadow:0 24px 47px rgba(30,51,88,.095); }
.expertise-wrap,.about-more,.work-note { background:#F2F5FB; }
.interior-hero,.case-heading { background-image:linear-gradient(rgba(255,255,255,.10),rgba(255,255,255,.13)),url('../img/ambient-watercolor.webp'); background-position:center; background-size:cover; padding-block:70px 82px; }
.interior-hero h1 { font-size:clamp(43px,5vw,65px); }
.contact-form-panel { border:1px solid var(--border); background:rgba(255,255,255,.93); }
.contact-info { padding-top:15px; }
.site-build-feature { border-radius:24px; background:rgba(255,255,255,.92); box-shadow:0 25px 80px rgba(52,67,113,.08); }
.site-build-copy h2 span { font-family:var(--serif); font-style:italic; font-weight:400; color:#3762D7; }
/* The footer carries the same original palette, with much more space and structure. */
.site-footer { color:#17233A; background-color:#F8F7F8; border-top:1px solid rgba(196,205,219,.65); background-image:linear-gradient(0deg,rgba(252,251,250,.10),rgba(255,255,255,.03)),url('../img/ambient-watercolor.webp'); background-position:center bottom; background-size:cover; }
.footer-v42-invitation { display:flex; align-items:center; justify-content:space-between; gap:50px; border-bottom:1px solid rgba(121,137,158,.20); padding-block:66px 59px; }
.footer-v42-invitation .eyebrow { color:#516A92; }
.footer-v42-invitation h2 { font-family:var(--display); font-size:clamp(30px,3.7vw,47px); letter-spacing:-.055em; line-height:1.16; margin-top:13px; color:#182740; }
.footer-v42-invitation h2 em { color:#3562D2; font-family:var(--serif); font-size:1.09em; font-weight:400; }
.footer-v42-invitation p { color:#526276; max-width:540px; font-size:14px; margin:14px 0 0; }
.footer-v42-invitation .button-footer { flex-shrink:0; }
a.button-footer,a.button-footer:link,a.button-footer:visited,a.button-footer:hover,a.button-footer:focus,a.button-footer:active { background:#17243B; border-color:#17243B; color:#FFFFFF!important; border-radius:10px; min-height:51px; }
a.button-footer:hover,a.button-footer:focus-visible { background:#28436D; border-color:#28436D; }
.footer-v41-main { grid-template-columns:minmax(0,1.5fr) minmax(140px,.7fr) minmax(220px,.9fr); gap:clamp(42px,8vw,120px); padding-block:67px 69px; }
.footer-v41-identity { max-width:380px; }
.footer-v41-name { color:#17243B; font-family:var(--serif); font-size:31px; font-weight:500; letter-spacing:-.048em; }
.footer-v41-name em { font-weight:400; }
.footer-v41-name span { color:#4267CD; }
.footer-v41-identity p { color:#56667A; font-size:14px; max-width:330px; margin:17px 0 22px; }
.footer-v41-contact { display:inline-flex; align-items:center; gap:9px; padding-bottom:5px; border-color:#8C9EB8; font-size:13px; color:#2256B7; word-break:break-word; }
.footer-v41-contact:hover,.footer-v41-contact:focus-visible { color:#123C8B; }
.footer-v41-navigation { gap:3px; }
.footer-v41-navigation h2,.footer-v41-social h2 { font-size:10px; margin-bottom:16px; color:#5B6880; letter-spacing:.18em; }
.footer-v41-navigation a { min-height:35px; padding:5px 0; color:#46556A; font-size:13px; }
.footer-v41-navigation a:hover,.footer-v41-navigation a:focus-visible { color:#1F57B8; }
.footer-v41-social p { color:#56677D; line-height:1.8; margin-bottom:21px; }
.footer-v41-social .social-icon-row { gap:10px; }
.footer-v41-social .social-icon-link { border-radius:50%; width:46px; height:46px; flex-basis:46px; box-shadow:0 8px 17px rgba(38,64,103,.05); background:rgba(255,255,255,.8); border:1px solid rgba(202,212,228,.85); color:#2761C5; }
.footer-v41-social .social-icon-link:nth-child(2) { background:rgba(252,232,227,.85); color:#B54E46; }
.footer-v41-social .social-icon-link:nth-child(3) { background:rgba(233,231,250,.86); color:#6554A6; }
.footer-v41-social .social-icon-link:hover,.footer-v41-social .social-icon-link:focus-visible { background:#255BCB; color:#FFFFFF; border-color:#255BCB; }
.footer-v42-contact-link { display:inline-flex; align-items:center; gap:9px; margin-top:24px; color:#2256B7; font-weight:750; font-size:13px; }
.footer-v42-contact-link:hover,.footer-v42-contact-link:focus-visible { color:#143985; gap:13px; }
.footer-v41-bottom { color:#566579; font-size:11px; padding-block:22px 24px; border-top:1px solid rgba(145,157,174,.28); }
.footer-v41-bottom-links { gap:25px; }
.footer-v41-bottom a { color:#506682; }
.footer-v41-bottom a:hover,.footer-v41-bottom a:focus-visible { color:#1C55B8; }
.footer-v42-signature { font-family:var(--serif); font-style:italic; font-size:13px; color:#5B6C81; }
/* Night mode: atmospheric rather than a flat inversion. */
:root[data-theme="dark"] .site-header { background:rgba(13,20,36,.86); border-bottom-color:rgba(83,106,147,.24); }
:root[data-theme="dark"] .wordmark-square { background:#243C68; color:#DCE8FF; box-shadow:inset 0 0 0 1px #395887; }
:root[data-theme="dark"] .primary-nav>a.nav-link,:root[data-theme="dark"] .nav-dropdown-main { color:#C8D6E7; }
:root[data-theme="dark"] .primary-nav>a.nav-link:hover,:root[data-theme="dark"] .primary-nav>a.nav-link[aria-current],:root[data-theme="dark"] .nav-dropdown-main:hover { color:#AFCBFF; }
:root[data-theme="dark"] .nav-dropdown-toggle { color:#C0CEE4; }
:root[data-theme="dark"] .nav-dropdown-toggle:hover { background:#203353; }
:root[data-theme="dark"] .nav-dropdown-panel { background:#17243A; border-color:#354763; }
:root[data-theme="dark"] .nav-dropdown-kicker { color:#A3B5CC; }
:root[data-theme="dark"] .nav-dropdown-panel>a { color:#E5EEFA; }
:root[data-theme="dark"] .nav-dropdown-panel>a:hover,:root[data-theme="dark"] .nav-dropdown-panel>a:focus-visible { color:#FFFFFF; background:#253B58; }
:root[data-theme="dark"] .nav-dropdown-panel small { color:#B8C5D8; }
:root[data-theme="dark"] .nav-dropdown-mark { background:#29426A; color:#A5C7FF; }
:root[data-theme="dark"] .resume-top { background:#E5EDFA; color:#17243B!important; border-color:#E5EDFA; }
:root[data-theme="dark"] .resume-top span { color:#255BCB; }
:root[data-theme="dark"] .resume-top:hover { background:#D5E4FA; color:#17243B!important; }
:root[data-theme="dark"] .hero-wrap { background-image:radial-gradient(ellipse 600px 490px at 0% 18%,rgba(112,70,105,.22),transparent 74%),radial-gradient(ellipse 700px 510px at 100% 30%,rgba(41,94,124,.21),transparent 75%),linear-gradient(115deg,#101726,#101C30); border-bottom-color:#2B3B54; }
:root[data-theme="dark"] .hero-topline { background:rgba(26,39,61,.82); border-color:#334763; color:#C8D7EB; }
:root[data-theme="dark"] .hero h1 .headline-blue { color:#91B5FF; }
:root[data-theme="dark"] .hero-description,:root[data-theme="dark"] .hero-typing { color:#C0CCDD; }
:root[data-theme="dark"] .hero-description strong { color:#EDF3FB; }
:root[data-theme="dark"] .hero-v42-social>span { color:#BDCBDF; }
:root[data-theme="dark"] .hero-v42-social .social-icon-link { background:#192B47; border-color:#375174; color:#ACC9FF; }
:root[data-theme="dark"] .hero-v42-social .social-icon-link:hover { background:#285BC0; color:#FFF; }
:root[data-theme="dark"] .hero-photo-backdrop { background:#1A2A40; border-color:#3A4B65; box-shadow:0 25px 57px rgba(0,0,0,.4); }
:root[data-theme="dark"] .hero-photo-note,:root[data-theme="dark"] .hero-v42-stat { background:#18283F; border-color:#354966; box-shadow:0 14px 31px rgba(0,0,0,.28); }
:root[data-theme="dark"] .hero-v42-stat strong { color:#EDF2FB; }
:root[data-theme="dark"] .hero-v42-stat small { color:#B4C3D7; }
:root[data-theme="dark"] .hero-typing-display { color:#A8C9FF; }
:root[data-theme="dark"] .button-ghost { background:#1E304B; color:#ECF3FD; border-color:#435677; }
:root[data-theme="dark"] .button-ghost:hover { background:#29405E; color:#FFFFFF; }
:root[data-theme="dark"] .results-band { background:#111C2D; }
:root[data-theme="dark"] .expertise-wrap,:root[data-theme="dark"] .about-more,:root[data-theme="dark"] .work-note { background:#152238; }
:root[data-theme="dark"] .interior-hero,:root[data-theme="dark"] .case-heading { background-image:radial-gradient(ellipse at 5% 0%,rgba(93,61,93,.27),transparent 48%),radial-gradient(ellipse at 95% 20%,rgba(54,101,143,.21),transparent 55%),linear-gradient(130deg,#111A2B,#152339); }
:root[data-theme="dark"] .contact-form-panel { background:rgba(20,31,50,.95); }
:root[data-theme="dark"] .site-build-feature { background:#17263C; }
:root[data-theme="dark"] .site-build-copy h2 span { color:#A3B9FF; }
:root[data-theme="dark"] .site-footer { color:#E8F0FC; background-color:#111B2D; background-image:radial-gradient(ellipse 600px 550px at -4% 0%,rgba(101,63,96,.15),transparent 76%),radial-gradient(ellipse 540px 470px at 102% 95%,rgba(55,99,138,.19),transparent 72%),linear-gradient(155deg,#121E30,#0E1828); border-top-color:#2F3B52; }
:root[data-theme="dark"] .footer-v42-invitation { border-bottom-color:#37455B; }
:root[data-theme="dark"] .footer-v42-invitation h2,:root[data-theme="dark"] .footer-v41-name { color:#EDF3FF; }
:root[data-theme="dark"] .footer-v42-invitation h2 em { color:#AFC7FF; }
:root[data-theme="dark"] .footer-v42-invitation p,:root[data-theme="dark"] .footer-v41-identity p,:root[data-theme="dark"] .footer-v41-social p { color:#BBC9DC; }
:root[data-theme="dark"] .footer-v42-invitation .eyebrow,:root[data-theme="dark"] .footer-v41-navigation h2,:root[data-theme="dark"] .footer-v41-social h2 { color:#B1C2D8; }
:root[data-theme="dark"] .footer-v41-navigation a,:root[data-theme="dark"] .footer-v41-contact,:root[data-theme="dark"] .footer-v42-contact-link { color:#B6CFFF; }
:root[data-theme="dark"] .footer-v41-navigation a:hover,:root[data-theme="dark"] .footer-v41-contact:hover,:root[data-theme="dark"] .footer-v42-contact-link:hover { color:#FFFFFF; }
:root[data-theme="dark"] .footer-v41-social .social-icon-link { background:#243754; border-color:#3D5374; color:#B5CDFF; }
:root[data-theme="dark"] .footer-v41-social .social-icon-link:nth-child(2) { background:#4A3039; color:#FFBEB4; }
:root[data-theme="dark"] .footer-v41-social .social-icon-link:nth-child(3) { background:#353353; color:#D5C5FF; }
:root[data-theme="dark"] .footer-v41-social .social-icon-link:hover { background:#265BC4; color:#FFFFFF; }
:root[data-theme="dark"] .footer-v41-bottom { border-top-color:#34455B; color:#AEBED4; }
:root[data-theme="dark"] .footer-v41-bottom a { color:#C6D6EA; }
:root[data-theme="dark"] .footer-v42-signature { color:#B9C4D5; }
/* Tablet: retain a comfortable two-column hero until menu collapses. */
@media (max-width:1080px) {
  .shell { width:min(100% - 54px,1216px); }
  .nav-shell { gap:14px; }
  .primary-nav { gap:18px; }
  .nav-actions { gap:9px; }
  .hero { grid-template-columns:minmax(0,.81fr) minmax(0,1.19fr); gap:62px; }
  .hero h1 { font-size:clamp(41px,4.6vw,58px); }
  .hero-v42-stat { left:-23px; }
  .hero-photo-note { right:-16px; min-width:220px; }
}
@media (max-width:850px) {
  .hero { gap:34px; min-height:0; padding-block:36px 53px; }
  .hero-visual { padding:18px 9px 8px 10px; }
  .hero h1 { font-size:43px; }
  .hero-description { font-size:15px; }
  .hero-v42-stat { left:-16px; top:-9px; min-width:143px; padding:9px 12px; }
  .hero-v42-stat-icon { width:33px; height:33px; }
  .hero-photo-note { right:-13px; min-width:202px; padding:9px; }
  .footer-v41-main { gap:32px; }
}
/* Mobile navigation expands from the glass header, and its submenu is always legible. */
@media (max-width:760px) {
  html { scroll-padding-top:76px; }
  .shell { width:calc(100% - 38px); }
  .site-header { height:74px; }
  .nav-shell { gap:10px; }
  .wordmark { gap:8px; }
  .wordmark-name { font-size:20px; }
  .nav-actions { margin-left:auto; gap:6px; }
  .resume-top { display:none; }
  .theme-toggle { width:42px; height:42px; flex-basis:42px; }
  .nav-toggle { display:flex; width:44px; height:44px; flex-basis:44px; min-width:44px; border-radius:12px; padding:10px; border:1px solid var(--border); background:var(--surface); }
  .nav-toggle span { background:var(--text); }
  .primary-nav { display:none; position:absolute; left:0; right:0; top:73px; padding:13px 20px 23px; gap:0; background:rgba(255,255,255,.98); height:auto; max-height:calc(100dvh - 73px); overflow-y:auto; flex-direction:column; align-items:stretch; box-shadow:0 27px 42px rgba(20,36,64,.16); border-bottom:1px solid #DAE2ED; }
  .primary-nav.is-open { display:flex; }
  .primary-nav>a.nav-link { font-size:16px; border-bottom:1px solid #E7ECF4; padding:14px 6px; min-height:48px; }
  .nav-dropdown { display:block; height:auto; padding:0 0 8px; border-bottom:1px solid #E7ECF4; }
  .nav-dropdown-heading { justify-content:space-between; }
  .primary-nav .nav-dropdown-main { font-size:16px; font-weight:650; padding:14px 6px; min-height:48px; }
  .nav-dropdown-toggle { display:none; }
  .nav-dropdown-panel { visibility:visible; pointer-events:auto; opacity:1; display:block; position:static; width:100%; transform:none; background:#F6F8FD; border:1px solid #E9EDF6; padding:6px; margin:0 0 5px; box-shadow:none; border-radius:13px; }
  .nav-dropdown-kicker { display:none; }
  .nav-dropdown-panel>a { min-height:57px; padding:9px; }
  .nav-dropdown-panel>a>span:nth-child(2)>strong { font-size:13px; }
  .nav-dropdown-panel>a>span:nth-child(2)>small { font-size:11px; }
  .primary-nav .nav-resume-mobile { min-height:48px; font-size:16px; border:0; margin-top:6px; padding:13px 6px; color:#255BCB; }
  .hero { display:flex; flex-direction:column; align-items:center; min-height:0; gap:38px; padding-block:34px 58px; }
  .hero-content { order:1; padding:0; align-self:stretch; }
  .hero-visual { order:2; max-width:365px; width:83%; align-self:center; margin:8px 0 10px; }
  .hero h1 { font-size:clamp(41px,7.9vw,56px); }
  .hero h1 .headline-blue { font-size:1.09em; }
  .hero-description { font-size:15px; margin-top:20px; }
  .hero-topline { font-size:9px; margin-bottom:0; }
  .hero-actions .button { font-size:13px; min-height:47px; }
  .hero-v42-social { margin-top:20px; }
  .hero-v42-stat { left:-30px; top:-19px; }
  .hero-photo-note { right:-24px; bottom:2px; }
  .results-grid { padding-block:13px; }
  .footer-v42-invitation { display:block; padding-block:48px 41px; }
  .footer-v42-invitation h2 { font-size:clamp(31px,7vw,40px); }
  .footer-v42-invitation .button-footer { margin-top:23px; }
  .footer-v41-main { grid-template-columns:1fr; gap:38px; padding-block:49px 45px; }
  .footer-v41-navigation { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; }
  .footer-v41-navigation h2 { grid-column:1 / -1; margin-bottom:10px; }
  .footer-v41-navigation a { min-height:43px; }
  .footer-v41-bottom { display:flex; flex-direction:column; align-items:flex-start; gap:9px; }
  .footer-v41-bottom-links { flex-wrap:wrap; gap:20px; }
  .footer-v41-bottom-links a { min-height:40px; }
  :root[data-theme="dark"] .primary-nav { background:#152338; border-color:#31415C; }
  :root[data-theme="dark"] .primary-nav>a.nav-link,:root[data-theme="dark"] .nav-dropdown { border-color:#31415C; }
  :root[data-theme="dark"] .nav-dropdown-panel { background:#1B2D47; border-color:#334A6B; }
  :root[data-theme="dark"] .primary-nav .nav-resume-mobile { color:#B7CEFF; }
}
@media (max-width:440px) {
  .shell { width:calc(100% - 34px); }
  .wordmark-name { font-size:19px; }
  .hero { padding-top:30px; gap:34px; }
  .hero h1 { font-size:clamp(36px,9vw,43px); }
  .hero-visual { width:84%; max-width:340px; }
  .hero-photo-note { right:-20px; min-width:205px; }
  .hero-v42-stat { left:-21px; min-width:140px; }
  .hero-typing { flex-wrap:nowrap; gap:6px; font-size:11px; margin:10px 0 19px; }
  .hero-typing-display { min-width:18ch; }
  .footer-v41-name { font-size:29px; }
  .footer-v42-signature { font-size:12px; }
}
@media (max-width:360px) {
  .wordmark-name { font-size:17px; }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .hero-actions .button { width:100%; }
  .hero-photo-note { right:-18px; min-width:180px; }
  .hero-photo-note small { font-size:10px; }
  .hero-visual { width:84%; }
}
@media(prefers-reduced-motion:reduce) {
  .nav-dropdown-panel,.nav-dropdown-toggle svg { transition:none; }
  .hero-photo-backdrop { transform:none; }
}
