/* Subash portfolio v4.3.4: compiled styles in source cascade order. */

/* ===== site.css ===== */
/* SUBASH / A CLEARER PICTURE — v4.0
   An intentional, lightweight portfolio. No CSS framework. */
:root{
 --ink:#13223a;--ink2:#283a54;--muted:#5b6a7c;--soft:#657487;
 --blue:#2563eb;--azure:#3c89f7;--ice:#f0f6ff;--blueborder:#d8e5f7;
 --paper:#fbfcfe;--white:#fff;--cream:#f7f9fc;--line:#e4eaf2;
 --shadow:0 24px 56px rgba(17,42,82,.07);--radius:18px;
 --font:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
 --display:'Plus Jakarta Sans','Inter',system-ui,-apple-system,sans-serif;
}
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--font);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}img{display:block;height:auto}svg{flex-shrink:0}
a{color:var(--blue);text-decoration:none}a:hover{text-decoration:none}button,input,textarea{font:inherit}
button{cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--azure);outline-offset:4px}
::selection{background:#c7ddff;color:var(--ink)}
h1,h2,h3,h4,h5,h6{margin:0;color:var(--ink);font-family:var(--display);line-height:1.2;letter-spacing:-.045em;font-weight:700}
p{margin:0 0 1.1em}small{font-size:.78rem}ul,ol{padding-left:1.3em}
.shell{width:min(1176px,calc(100% - 80px));margin-inline:auto}
.visually-hidden,.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:99;top:-100px;left:20px;padding:12px 16px;background:#fff;color:var(--ink);box-shadow:var(--shadow)}.skip-link:focus{top:12px}
.eyebrow{display:inline-block;font-size:11px;letter-spacing:.18em;font-weight:800;color:#487095;text-transform:uppercase;line-height:1.5}
.text-blue,.headline-blue{color:var(--blue)}.text-quiet{color:#78889c}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:11px;min-height:51px;padding:13px 23px;font-size:14px;font-weight:700;line-height:1.35;white-space:nowrap;letter-spacing:-.01em;border:1px solid transparent;transition:transform .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease}
.button:hover{transform:translateY(-2px)}.button-blue{background:var(--azure);color:#0b1b33}.button-blue:hover{background:#67a2fb;box-shadow:0 10px 28px rgba(45,118,228,.16);color:#0b1b33}.button-ghost{background:transparent;border-color:var(--line);color:var(--ink)}.button-ghost:hover{background:#fff;border-color:#b8c8db;color:var(--ink)}
.text-link{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:750;line-height:1.5;color:var(--blue);transition:gap .22s ease}.text-link:hover{gap:13px;color:#1749b6}
/* Calm, compact navigation */
.site-header{height:76px;position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid #e7ebf2}
.admin-bar .site-header{top:32px}.nav-shell{height:100%;display:flex;align-items:center;gap:34px}
.wordmark{display:inline-flex;align-items:center;gap:11px;margin-right:auto;color:var(--ink);white-space:nowrap}
.wordmark-square{display:inline-flex;align-items:center;justify-content:center;width:39px;height:39px;border-radius:12px;background:#152745;color:#fff;font-family:var(--display);font-size:19px;font-weight:800;letter-spacing:-.08em;line-height:1}
.wordmark-square span{color:#73aaff}.wordmark-name{font-size:16px;font-weight:800;letter-spacing:-.045em}
.sbk-site-logo{width:auto;height:41px;max-width:155px;object-fit:contain}
.primary-nav{display:flex;align-items:center;gap:33px;height:100%}.primary-nav>a{display:inline-flex;align-items:center;color:#4d5c6e;font-size:14px;font-weight:650;height:100%;position:relative;transition:color .2s}
.primary-nav>a:after{content:"";position:absolute;bottom:19px;left:0;right:100%;height:2px;background:var(--azure);transition:right .25s}
.primary-nav>a:hover,.primary-nav>a[aria-current]{color:var(--ink)}.primary-nav>a:hover:after,.primary-nav>a[aria-current]:after{right:0}
.resume-top{display:flex;align-items:center;gap:13px;border:1px solid #dbe3ee;border-radius:30px;color:var(--ink);padding:7px 15px 7px 18px;font-size:13px;font-weight:750;white-space:nowrap}.resume-top:hover{border-color:var(--azure);background:var(--ice)}.resume-top span{font-size:19px;color:var(--blue)}
.nav-toggle,.primary-nav .nav-resume-mobile{display:none}
/* Hero */
.hero-wrap{background:linear-gradient(120deg,#f9fbff 0%,#f7faff 70%,#f1f7ff 100%);border-bottom:1px solid var(--line)}
.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(370px,.85fr);gap:68px;align-items:center;min-height:625px;padding-block:68px 78px}
.hero-content{position:relative;z-index:2}.hero-topline{display:flex;align-items:center;gap:11px;color:#467197;font-size:11px;letter-spacing:.17em;font-weight:800;text-transform:uppercase;margin-bottom:27px}
.status-spark{width:8px;height:8px;border-radius:50%;background:var(--azure);box-shadow:0 0 0 5px #e4efff}
.hero h1{font-size:clamp(43px,4.45vw,67px);letter-spacing:-.065em;line-height:1.115;font-weight:800;max-width:760px}
.hero-description{font-size:17px;line-height:1.75;color:var(--muted);max-width:540px;margin-top:24px;margin-bottom:0}.hero-description strong{color:var(--ink);font-weight:800}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px}
.hero-typing{display:flex;align-items:center;gap:8px;min-height:28px;margin-top:28px;color:#64778b;font-size:12px;font-weight:550}
.focus-dot{width:6px;height:6px;border-radius:50%;background:#4e9c93;margin-right:3px}.focus-prefix{color:#65768a}.hero-typing-display{display:inline-flex;align-items:center;min-width:158px;color:#214b82;font-weight:750}
.hero-typing-cursor{display:inline-block;margin-left:2px;height:14px;width:2px;background:var(--blue);animation:blink .9s steps(1,end) infinite}
@keyframes blink{50%{opacity:0}}
.hero-visual{position:relative;width:100%;max-width:428px;justify-self:end;margin-bottom:2px}
.hero-photo-backdrop{border-radius:25px;padding:14px;background:linear-gradient(165deg,#d7e8ff 0%,#e8edf6 52%,#d3e2f8 100%);box-shadow:0 18px 48px rgba(39,93,156,.10);position:relative}
.hero-photo-backdrop:before{content:"";position:absolute;border:1px solid rgba(41,104,191,.12);inset:31px;border-radius:16px;pointer-events:none;z-index:1}
.hero-photo-frame{aspect-ratio:4/4.65;border-radius:15px;overflow:hidden;background:#edf3f9}
.hero-photo-frame img{height:100%;width:100%;object-fit:cover;object-position:center 28%;filter:saturate(.92);transition:transform .8s cubic-bezier(.2,.8,.2,1)}.hero-visual:hover img{transform:scale(1.035)}
.hero-photo-note{display:flex;gap:12px;align-items:center;position:absolute;bottom:-19px;left:-18px;background:#fff;padding:14px 18px;border-radius:14px;border:1px solid var(--line);box-shadow:0 10px 35px rgba(23,44,79,.09);min-width:260px}
.photo-note-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:11px;background:#e7f1ff;color:#245ed4;font-size:22px;font-weight:650}
.hero-photo-note strong{display:block;font-size:12px;font-weight:750;line-height:1.5}.hero-photo-note small{display:block;color:#61748a;font-size:11px;line-height:1.5}
/* Results: factual, quiet */
.results-band{background:#fff;border-bottom:1px solid var(--line)}.results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-block:25px}
.result{display:flex;gap:16px;align-items:center;padding:10px 25px 10px 0;min-width:0}.result+.result{border-left:1px solid var(--line);padding-left:28px}
.result>strong{font-family:var(--display);font-size:clamp(31px,2.8vw,44px);line-height:1.1;letter-spacing:-.07em;color:#1c61be;white-space:nowrap;font-weight:800}
.result b{display:block;font-size:13px;font-weight:800;color:var(--ink);line-height:1.5;letter-spacing:-.02em}.result small{display:block;color:#61758c;font-size:10.6px;line-height:1.65;margin-top:2px}
/* Shared sections */
.section{padding-block:98px 104px}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:39px}.section-top h2{font-size:clamp(32px,3.0vw,44px);letter-spacing:-.055em;margin:13px 0 13px}.section-top p{color:var(--muted);line-height:1.75;font-size:15.5px;max-width:580px;margin-bottom:0}.section-link{margin-bottom:12px;white-space:nowrap}.section-top.compact{margin-bottom:25px}
/* Case-study index */
.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.project-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.project-card:hover{transform:translateY(-4px);border-color:#c3d5ee;box-shadow:var(--shadow)}
.project-card-link{display:block;color:inherit;height:100%}.project-card-link:hover{color:inherit}
.project-card-art{height:270px;overflow:hidden}.project-featured{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.project-card:hover .project-featured{transform:scale(1.04)}
.project-card-copy{padding:27px 29px 28px}.project-card-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#60748a;font-size:10px;font-weight:800;letter-spacing:.115em;text-transform:uppercase}
.project-card-arrow{font-size:20px;line-height:1;letter-spacing:0;color:#1b65d8;transition:transform .25s}.project-card:hover .project-card-arrow{transform:translate(3px,-3px)}
.project-card h3{font-size:24px;line-height:1.3;letter-spacing:-.045em;margin-top:13px;max-width:470px}
.project-card p{font-size:13px;line-height:1.7;color:var(--muted);margin:9px 0 20px;max-width:485px}
.project-card-result{display:inline-flex;font-weight:700;color:#1c5aba;font-size:12px;letter-spacing:.002em;padding:7px 12px;background:var(--ice);border-radius:7px}
/* Proof graphic art, explicitly illustrative except documented percentages */
.artwork{height:100%;position:relative;padding:21px 27px;overflow:hidden;isolation:isolate}.art-schematic{position:absolute;right:27px;top:22px;font-size:9px;letter-spacing:.09em;font-weight:750;opacity:.75}.art-tag{position:relative;z-index:1;font-size:10px;letter-spacing:.17em;font-weight:800}
.art-seo{background:#deebfc;color:#17539a}.art-ads{background:#e7f3ed;color:#236956}.art-analytics{background:#e7ebf7;color:#213b6c}.art-web{background:#f7eadd;color:#76523b}
.art-center{text-align:center;position:relative;z-index:2;margin-top:29px}.art-small{display:block;font-size:10px;font-weight:850;letter-spacing:.14em}
.art-center strong{display:block;font-family:var(--display);font-size:79px;line-height:1.18;letter-spacing:-.09em;margin-top:2px;font-weight:800}.art-center strong span{font-size:44px;letter-spacing:-.08em}.art-center p{font-size:12px;margin-top:0;font-weight:650;letter-spacing:.035em}
.art-line{position:absolute;bottom:-10px;left:0;width:100%;height:115px;color:#548bd3;z-index:1}.art-mini-bars{display:flex;align-items:end;gap:13px;justify-content:center;position:absolute;bottom:-18px;right:34px;left:34px;height:97px;opacity:.22}.art-mini-bars i{flex:1;height:88%;background:#428d7c;border-radius:9px 9px 0 0}.art-mini-bars i:nth-child(2){height:76%}.art-mini-bars i:nth-child(3){height:61%}.art-mini-bars i:nth-child(4){height:66%}.art-mini-bars i:nth-child(5){height:52%}.art-mini-bars i:nth-child(6){height:44%}
.mini-dashboard{position:relative;margin:24px auto 0;width:min(100%,430px);background:#fff;border:1px solid #cbd5eb;border-radius:12px;padding:16px;box-shadow:0 15px 22px rgba(29,53,97,.07)}
.mini-dash-top,.mini-dash-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:9px}.mini-dash-top strong{font-size:11px;color:#253c64}.mini-dash-top span{color:#8a98b3;letter-spacing:.1em;font-weight:800}
.mini-dash-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.mini-dash-cols div{border:1px solid #e1e8f3;background:#f7f9fe;border-radius:7px;padding:12px 9px}.mini-dash-cols span{display:block;color:#3a78ca;font-size:10px;font-weight:700}.mini-dash-cols b{display:block;font-size:12px;margin-top:3px;color:#23385b}.mini-dash-cols small{display:block;font-size:8px;color:#8292a8}
.mini-dash-footer{padding-top:8px;border-top:1px solid #e7edf6;color:#8594aa}
.art-browser{margin:16px auto 0;width:min(95%,410px);background:#fff;border:1px solid #e3d6c7;box-shadow:0 13px 22px rgba(90,65,41,.08);border-radius:12px;padding:0 0 18px;overflow:hidden}.browser-dots{display:flex;align-items:center;gap:4px;border-bottom:1px solid #ece4d9;padding:10px 13px;color:#9b918a;font-size:9px}.browser-dots i{width:6px;height:6px;border-radius:50%;background:#d6cabb}.browser-dots span{margin-left:auto}.browser-layout{padding:20px 22px 2px;display:flex;justify-content:space-between;align-items:center}.browser-layout>span{font-family:var(--display);font-size:26px;line-height:1.2;letter-spacing:-.05em;color:#62422f}.browser-layout b{color:#b47545}.browser-layout>div{display:flex;flex-direction:column;gap:7px;align-items:flex-end}.browser-layout i{width:71px;height:8px;border-radius:5px;background:#f1e7df}.browser-layout i:nth-child(2){width:44px}.browser-layout small{background:#d9a475;color:#523423;border-radius:5px;font-size:9px;font-weight:700;padding:6px 8px}
/* Expertise */
.expertise-wrap{background:#f1f6fd;border-block:1px solid #e5edf9}.expertise{display:grid;grid-template-columns:.92fr 1.08fr;gap:93px;padding-block:86px 93px;align-items:start}
.expertise-intro h2{font-size:clamp(33px,3.1vw,44px);line-height:1.22;margin:14px 0 17px}.expertise-intro p{max-width:400px;color:var(--muted);font-size:15px}.expertise-intro .text-link{margin-top:10px}
.expertise-list{border-top:1px solid #cfdbea}.expertise-row{display:grid;grid-template-columns:24px 1fr 24px;gap:22px;align-items:start;border-bottom:1px solid #d2deec;padding:25px 3px}
.expertise-row>span{font-size:12px;color:#5183bf;font-weight:750}.expertise-row svg{color:#7e9abe;margin-top:2px}.expertise-row h3{font-size:17px;letter-spacing:-.03em;margin-bottom:5px}.expertise-row p{font-size:13px;color:var(--muted);line-height:1.65;margin:0;max-width:400px}
/* Home writing */
.writing-preview{padding-top:94px;padding-bottom:103px}.home-articles{border-top:1px solid var(--line)}.home-article{position:relative;display:grid;grid-template-columns:188px 1fr 35px;gap:20px;align-items:center;padding:25px 10px;color:var(--ink);border-bottom:1px solid var(--line)}.home-article:hover{background:#f9fbfe;color:var(--ink)}
.home-article .article-date{color:#617389;font-size:12px}.home-article h3{font-size:21px;letter-spacing:-.03em}.article-arrow{font-size:25px;color:var(--blue);text-align:center}
.writing-empty{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:30px 32px;border:1px solid var(--line);border-radius:17px;background:#f8fafe}
.writing-empty-icon{display:inline-flex;color:#3674cb;font-size:24px;margin-bottom:7px}.writing-empty h3{font-size:22px;margin-bottom:7px}.writing-empty p{font-size:14px;color:var(--muted);margin:0}.writing-empty .text-link{white-space:nowrap}
/* Footer in a contrasting, readable dark tone */
.site-footer{background:#14233a;color:#d4ddeb}.footer-main{display:flex;justify-content:space-between;gap:55px;padding-block:69px 65px;border-bottom:1px solid rgba(255,255,255,.14)}
.footer-eyebrow{font-size:11px;letter-spacing:.17em;font-weight:800;color:#9ab3d1}.footer-main h2{font-size:clamp(36px,3.7vw,56px);line-height:1.13;color:#fff;margin:14px 0 14px;letter-spacing:-.055em}.footer-main h2 span{color:#8fb8fd}.footer-main p{font-size:14px;color:#b3c2d7;margin-bottom:0;max-width:420px}
.footer-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px;justify-content:center}.button-footer{background:var(--azure);color:#0b1b33}.button-footer:hover{background:#84b4ff;color:#0b1b33}.footer-email{color:#d9e6f6;font-size:14px;border-bottom:1px solid #7894b6}.footer-email:hover{color:#fff}
.footer-bottom{display:flex;gap:20px;align-items:center;justify-content:space-between;padding-block:22px 28px;font-size:12px}.footer-brand{color:#eaf0f9;font-weight:700}.footer-links{display:flex;flex-wrap:wrap;gap:20px}.footer-links a{color:#b1c1d6}.footer-links a:hover{color:#fff}.footer-made{color:#839bb8}
/* Inside pages, more readable than old oversized headlines */
.interior-hero{background:#f6f9fd;border-bottom:1px solid var(--line);padding-block:57px 67px}.breadcrumbs{display:flex;align-items:center;gap:10px;font-size:12px;color:#65778d;margin-bottom:29px}.breadcrumbs a{color:#687e97}.breadcrumbs a:hover{color:var(--blue)}.breadcrumbs span{color:#b3c2d3}
.interior-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,390px);gap:70px;align-items:end}.interior-hero h1{font-size:clamp(42px,5.0vw,67px);line-height:1.13;letter-spacing:-.062em;margin:14px 0 0;max-width:900px}.interior-description{font-size:16px;line-height:1.76;color:var(--muted);margin:0 0 5px;max-width:390px}
.directory-grid{row-gap:28px}.work-note{background:#f5f8fc;border-top:1px solid var(--line);padding:37px 0}.work-note .shell{display:flex;gap:45px;align-items:center}.work-note p{max-width:760px;color:var(--muted);font-size:13px;line-height:1.7;margin:0}
/* About */
.about-layout{display:grid;grid-template-columns:minmax(300px,.83fr) minmax(0,1.17fr);gap:83px;align-items:start}.about-photo{position:relative;background:#e9f0f8;border-radius:18px;overflow:hidden;max-width:455px}.about-photo img{width:100%;aspect-ratio:4/4.55;object-fit:cover;object-position:center 25%}.about-photo-footer{background:#e6f1ff;display:flex;justify-content:space-between;gap:10px;padding:16px 21px;font-size:11px;font-weight:800;letter-spacing:.08em}.about-photo-footer span{color:#6d88a7}
.about-copy{font-size:16px;color:var(--muted);line-height:1.84}.about-copy>span.eyebrow{margin-bottom:12px}.about-copy h2{font-size:25px;margin:28px 0 13px}.about-copy strong{color:var(--ink)}.about-copy p{margin-bottom:18px}.about-inline-actions{display:flex;flex-wrap:wrap;align-items:center;gap:25px;margin-top:33px}
.about-more{padding:66px 0 90px;background:#f6f9fd;border-top:1px solid var(--line)}.about-bands{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.about-band{padding:25px;background:#fff;border:1px solid var(--line);border-radius:15px}.about-band h3{font-size:18px;margin-bottom:12px}.about-band p{color:var(--muted);font-size:13px;line-height:1.8;margin:0}.about-band strong{color:var(--ink)}
/* Experience */
.experience-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:82px}.experience-intro{position:sticky;top:117px;align-self:start}.experience-intro h2{font-size:29px;margin:12px 0 18px}.experience-intro p{font-size:14px;color:var(--muted);margin-bottom:18px}
.timeline{position:relative;padding-left:31px;border-left:2px solid #dbe5f3}.timeline-item{position:relative;padding:0 0 47px}.timeline-marker{width:13px;height:13px;position:absolute;left:-38px;top:8px;border:3px solid var(--blue);border-radius:50%;background:#fff}
.timeline-date{display:block;color:#4f79aa;font-size:11px;font-weight:800;letter-spacing:.07em;margin-bottom:7px}.timeline-item h3{font-size:22px;letter-spacing:-.04em;margin:0 0 8px}.timeline-org{font-size:13px;color:#63788e;font-weight:700;margin-bottom:12px}.timeline-text{color:var(--muted);font-size:13.5px;line-height:1.8}.timeline-text li{margin-bottom:5px}.timeline-text ul{margin:0;padding-left:20px}
.study-note{border:1px solid #d8e5f8;border-radius:14px;background:#f2f7ff;padding:25px 29px}.study-note h3{font-size:20px;margin:10px 0}.study-note p{font-size:13px;color:var(--muted);margin:0}
/* Contact */
.contact-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:80px}.contact-info{padding-top:15px}.contact-info h2{font-size:clamp(29px,3vw,40px);max-width:410px;line-height:1.2}.contact-info>p{font-size:15px;color:var(--muted);max-width:420px;margin:18px 0 38px}
.contact-details{border-top:1px solid var(--line)}.contact-details>div{border-bottom:1px solid var(--line);padding:18px 0}.contact-details span{display:block;font-weight:800;letter-spacing:.14em;font-size:10px;color:#8899ad;margin-bottom:6px}.contact-details a{font-size:15px;color:var(--ink);font-weight:750;overflow-wrap:anywhere}.contact-details a:hover{color:var(--blue)}
.contact-form-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:35px 38px;box-shadow:0 16px 45px rgba(26,60,105,.045)}.contact-form-panel h2{font-size:25px;margin:11px 0 8px}.contact-form-panel>p{font-size:13px;color:var(--muted);margin-bottom:24px}
.sbk-contact-form{display:flex;flex-direction:column;gap:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-row{display:flex;flex-direction:column;gap:6px;min-width:0}.form-row label,.comment-form label{font-size:12px;color:var(--ink);font-weight:750}.form-row input,.form-row textarea,.comment-form textarea,.comment-form input{border:1px solid #d7e2ee;background:#fbfdff;border-radius:9px;width:100%;padding:12px 14px;color:var(--ink);min-height:45px;outline:none;transition:border-color .2s,box-shadow .2s}.form-row input:focus,.form-row textarea:focus,.comment-form textarea:focus,.comment-form input:focus{border-color:var(--azure);box-shadow:0 0 0 3px #deedff}.form-row textarea{min-height:135px;resize:vertical}.sbk-contact-form .button{align-self:flex-start}.form-helper{font-size:11px;color:#76879a;max-width:490px;margin:0}.required{color:#1765ce}
.sbk-invisible-field,[hidden]{display:none!important}.form-notice{padding:14px 16px;border-radius:8px;font-size:13px;margin-bottom:14px}.form-notice.success{background:#e7f8ee;color:#155f3b}.form-notice.error{background:#ffecec;color:#913a32}
/* Case study */
.case-heading{background:#f6f9fd;border-bottom:1px solid var(--line);padding:56px 0 42px}.case-heading h1{max-width:920px;font-size:clamp(37px,4.7vw,65px);line-height:1.16;margin:15px 0}.case-heading p{max-width:730px;color:var(--muted);font-size:17px;line-height:1.75}
.case-metadata{display:grid;grid-template-columns:1fr 1fr 1fr;max-width:910px;gap:30px;border-top:1px solid #dae5f2;padding-top:24px;margin-top:27px}.case-metadata span{display:block;font-size:10px;color:#8398b0;letter-spacing:.12em;font-weight:800;margin-bottom:5px}.case-metadata b{font-size:12px;line-height:1.6;color:var(--ink)}
.case-cover{margin-top:46px;border-radius:18px;overflow:hidden;height:420px}.case-cover .artwork{padding:35px 60px}.case-cover .art-center{margin-top:64px}.case-cover .art-center strong{font-size:105px}.case-cover .art-line{height:145px}.case-cover-img{width:100%;height:100%;object-fit:cover}.case-cover .mini-dashboard{margin-top:65px;transform:scale(1.25)}.case-cover .art-browser{margin-top:53px;transform:scale(1.25)}
.case-layout{display:grid;grid-template-columns:230px minmax(0,680px);gap:60px;justify-content:center;padding:65px 0}.case-aside{align-self:start;position:sticky;top:115px}.case-aside p{font-size:12px;line-height:1.7;color:#74869b;margin:14px 0 22px}.case-aside .text-link{font-size:12px}
.prose{font-size:16px;line-height:1.9;color:#536174}.prose p{margin:0 0 20px}.prose h2{font-size:27px;line-height:1.3;color:var(--ink);margin:32px 0 16px}.prose h3{font-size:21px;margin:26px 0 11px}.prose ul,.prose ol{margin:0 0 20px;padding-left:25px}.prose li{margin-bottom:10px}.prose strong{color:var(--ink)}.prose a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.prose blockquote{border-left:3px solid var(--azure);margin:20px 0;padding:10px 22px;background:#f7faff}
.case-story-section{padding:0 0 13px;border-bottom:1px solid var(--line);margin-bottom:32px}.case-story-section:first-child h2{margin-top:0}.case-story-section:last-child{border:0}
.case-evidence{border-radius:14px;background:#f1f6ff;padding:28px;margin-top:27px}.case-evidence h2{margin-top:11px}.evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.evidence-grid>div{border-top:1px solid #d2dff0;padding-top:13px}.evidence-grid dt{font-size:10px;font-weight:800;text-transform:uppercase;color:#7087a2;letter-spacing:.08em}.evidence-grid dd{margin:5px 0;font-size:14px;color:var(--ink);font-weight:650}
.case-end{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:39px 0 85px}.case-end h3{font-size:24px}
/* Blog archive, search, cards */
.blog-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:32px}.category-pills{display:flex;flex-wrap:wrap;gap:8px}
.category-pills a{border:1px solid var(--line);border-radius:30px;color:#586d87;font-size:12px;padding:8px 14px;font-weight:700}.category-pills a.active,.category-pills a:hover{color:#153b70;background:#e9f2ff;border-color:#cce0fb}
.search-form{display:flex;align-items:center;border-radius:10px;border:1px solid var(--line);overflow:hidden;background:#fff;max-width:230px}.search-field{min-width:0;width:160px;border:0;outline:0;padding:9px 11px;font-size:12px;background:transparent}.search-submit{border:0;background:transparent;font-size:19px;color:#52749b;padding:7px 12px}
.blog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.blog-card{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff;transition:box-shadow .25s,transform .25s}.blog-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.blog-card-link{display:block;height:100%;color:inherit}.blog-card-link:hover{color:inherit}.blog-card-image{background:#e8f2ff;overflow:hidden}.blog-card-image img{display:block;width:100%;height:auto;object-fit:contain;object-position:center;transition:none}.blog-card:hover .blog-card-image img{transform:none}.blog-image-default{height:245px;background:radial-gradient(circle at 67% 40%,#d4e8ff,transparent 46%),linear-gradient(130deg,#eaf2fe,#f7faff);display:flex;align-items:center;justify-content:center}.blog-card-mark{display:grid;place-content:center;background:#fff;border:1px solid #d1e1f5;color:#1b385d;width:81px;height:81px;border-radius:19px;font-family:var(--display);font-size:37px;letter-spacing:-.11em;font-weight:800;box-shadow:0 12px 28px rgba(44,96,153,.10)}.blog-card-mark span{color:var(--blue)}
.blog-card-content{padding:24px 28px 30px}.article-date{color:#607890;font-size:11px;font-weight:700;letter-spacing:.02em}.blog-card h2{font-size:24px;margin:12px 0;line-height:1.35}.blog-card p{color:var(--muted);font-size:13px;line-height:1.75;margin:0 0 18px}.blog-card .text-link{font-size:12px}
/* Single article */
.article-head{max-width:1020px;padding-top:59px;padding-bottom:43px}.article-head h1{font-size:clamp(38px,4.6vw,62px);line-height:1.18;max-width:960px;margin:15px 0}.article-dek{font-size:18px;color:var(--muted);line-height:1.7;max-width:760px;margin-bottom:22px}.article-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:#71859c;font-weight:600}
.article-container{max-width:915px}.article-featured{border-radius:16px;width:100%;height:auto;max-height:465px;object-fit:cover;margin-bottom:45px}.article-body{max-width:730px;margin:auto}.article-body h2{margin-top:40px}.article-takeaway{background:#eaf4ff;border-left:3px solid var(--azure);padding:19px 22px;border-radius:0 11px 11px 0;margin-bottom:30px}.article-takeaway strong{font-size:11px;letter-spacing:.1em}.article-takeaway p{font-size:14px;line-height:1.75;margin:8px 0 0}.article-cta{margin:20px 0}
.article-bottom{display:flex;gap:24px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:24px 0;margin:40px 0 0}.article-taxonomy{font-size:12px;line-height:2.1}.article-taxonomy a{color:#426b9f}.article-taxonomy-label{font-size:10px;letter-spacing:.11em;font-weight:800;color:#60748b;margin-right:10px}.article-taxonomy-label:not(:first-child){margin-left:15px}
.article-author{display:flex;gap:14px;align-items:center;border-top:1px solid var(--line);padding:27px 0}.article-author img{width:55px;height:55px;border-radius:50%;object-fit:cover}.article-author strong{font-size:14px}.article-author p{font-size:12px;color:var(--muted);margin:2px 0 0}.article-source{display:flex;gap:17px;align-items:center;flex-wrap:wrap;font-size:13px;padding:14px 0}.article-source a{font-weight:700}
.article-share{padding:34px 0;border-top:1px solid var(--line)}.share-heading{display:flex;justify-content:space-between;align-items:end;gap:15px}.share-heading h2{font-size:26px;margin-top:7px}.share-heading p{color:var(--muted);font-size:13px;margin:0}.share-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.share-button{display:inline-flex;align-items:center;gap:12px;border:1px solid #dae5f3;border-radius:9px;background:#fff;padding:9px 13px;color:#426586;font-size:12px;font-weight:750}.share-button:hover{border-color:#b5cdea;background:#f5faff;color:var(--blue)}.share-status{font-size:12px;color:#1b6757;margin:7px 0 0;min-height:1em}
.related-reading{padding:30px 0;border-top:1px solid var(--line)}.related-reading h2{font-size:25px;margin:8px 0 15px}.related-links a{display:flex;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);color:var(--ink)}.related-links a:hover{color:var(--blue)}.related-links a span:first-child{font-size:11px;color:#8492a4;min-width:110px}.related-links a strong{flex:1;font-size:15px}.related-links a span:last-child{color:var(--blue)}
/* Comments, core WordPress */
.article-comments{max-width:915px}.comments-area{padding-block:10px 75px}.discussion-inner{max-width:800px;margin:auto;border-top:1px solid var(--line);padding-top:32px}.discussion-inner h2{font-size:27px;margin:10px 0}.discussion-intro,.comment-notes{font-size:13px;color:var(--muted)}.discussion-count{font-size:14px;font-weight:750;margin:20px 0}.comment-list{list-style:none;padding:0}.comment-list li{border-top:1px solid var(--line);padding:20px 0}.comment-list .children{list-style:none;margin-left:24px}.comment-author{display:flex;align-items:center;gap:10px}.comment-author img{border-radius:50%}.comment-metadata{font-size:12px;color:var(--muted)}.comment-content{font-size:14px;color:var(--muted)}.comment-form{display:grid;gap:15px}.comment-form p{margin:0}.comment-form p label{display:block;margin-bottom:7px}.comment-form textarea{min-height:140px}.comment-form .form-submit input{width:auto}.comment-reply-title{font-size:21px;margin:32px 0 14px}.comment-respond{max-width:700px}
/* Text pages and paging */
.plain-page .prose{max-width:780px;margin-inline:auto}.not-found{min-height:480px}.not-found h1{font-size:46px;margin:15px 0}.not-found p{color:var(--muted)}.not-found .button{margin-top:20px}.navigation.pagination{margin-top:36px}.nav-links{display:flex;gap:8px;flex-wrap:wrap}.nav-links .page-numbers{border:1px solid var(--line);border-radius:8px;padding:7px 12px;font-size:13px}.nav-links .current{background:var(--ice);color:var(--ink)}
/* Low-motion reveal: content visible if JS is blocked */
.js-motion [data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .65s cubic-bezier(.2,.7,.2,1),transform .65s cubic-bezier(.2,.7,.2,1)}.js-motion [data-reveal].is-visible{opacity:1;transform:none}.js-motion [data-delay="1"]{transition-delay:.14s}.js-motion [data-delay="2"]{transition-delay:.23s}
/* Tablet and phone */
@media(max-width:1080px){.shell{width:min(100% - 54px,1176px)}.hero{gap:38px;grid-template-columns:minmax(0,1.18fr) minmax(310px,.82fr)}.hero h1{font-size:clamp(43px,5vw,62px)}.hero-photo-note{left:-8px}.expertise{gap:45px}.interior-grid{gap:35px}.about-layout{gap:45px}.experience-layout{grid-template-columns:255px 1fr;gap:44px}}
@media(max-width:800px){.shell{width:calc(100% - 44px)}.hero{grid-template-columns:1fr 320px;gap:25px;min-height:0;padding-block:54px 62px}.hero h1{font-size:43px}.hero-description{font-size:15px}.hero-photo-note{bottom:-12px;left:-6px;min-width:238px;padding:10px 12px}.results-grid{gap:12px}.result{flex-direction:column;align-items:flex-start;gap:4px;padding-right:12px}.result+.result{padding-left:19px}.result>strong{font-size:35px}.project-card-art{height:230px}.project-card h3{font-size:21px}.project-card-copy{padding:21px}.interior-grid{grid-template-columns:1fr;gap:18px}.interior-description{max-width:650px}.contact-layout{gap:34px}.experience-layout{display:block}.experience-intro{position:static;margin-bottom:36px}.about-layout{grid-template-columns:.83fr 1.17fr;gap:30px}.footer-main{gap:30px}.footer-made{display:none}}
@media(max-width:680px){html{scroll-padding-top:80px}.admin-bar .site-header{top:0}.shell{width:calc(100% - 36px)}.site-header{height:68px}.nav-shell{gap:12px}.wordmark-square{width:35px;height:35px;border-radius:10px;font-size:17px}.wordmark-name{font-size:15px}.resume-top{margin-left:auto;padding:6px 12px;font-size:12px}.nav-toggle{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px solid var(--line);border-radius:9px;width:37px;height:36px;background:#fff;padding:8px}.nav-toggle span{height:2px;width:16px;background:var(--ink);border-radius:2px;transition:transform .2s,opacity .2s}.nav-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.nav-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
 .primary-nav{position:absolute;top:67px;left:0;right:0;background:#fff;display:none;flex-direction:column;align-items:stretch;height:auto;gap:0;box-shadow:0 25px 35px rgba(12,28,52,.09);border-bottom:1px solid var(--line);padding:14px 25px 20px}.primary-nav.is-open{display:flex}.primary-nav a{height:auto;padding:12px 3px;font-size:15px;border-bottom:1px solid #eef2f6}.primary-nav a:after{display:none}.primary-nav .nav-resume-mobile{display:flex;gap:8px;color:var(--blue);border:0}.menu-open{overflow:hidden}
 .hero{grid-template-columns:1fr;gap:26px;padding-block:50px 42px}.hero-topline{font-size:9.6px;margin-bottom:19px;letter-spacing:.13em}.hero h1{font-size:clamp(39px,9vw,57px);letter-spacing:-.062em}.hero-description{font-size:15px;margin-top:18px}.hero-actions{margin-top:24px}.hero-actions .button{padding:12px 15px;min-height:46px;font-size:12px;gap:8px}.hero-typing{font-size:11px;margin-top:22px}.hero-visual{justify-self:center;max-width:370px;width:88%;margin-bottom:20px}.hero-photo-frame{aspect-ratio:4/4.0}.hero-photo-backdrop{padding:10px;border-radius:20px}.hero-photo-note{left:-13px;bottom:-15px}.results-grid{grid-template-columns:1fr;padding-block:9px}.result,.result+.result{flex-direction:row;align-items:center;border:0;border-bottom:1px solid var(--line);padding:15px 0;gap:17px}.result:last-child{border-bottom:0}.result>strong{width:86px;font-size:35px}.result small{font-size:10px}
 .section{padding-block:66px 74px}.section-top{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:23px}.section-top h2{font-size:33px}.section-top p{font-size:14px}.section-link{margin:0}.projects-grid,.blog-list{grid-template-columns:1fr;gap:19px}.project-card-art{height:235px}.project-card-copy{padding:22px}.project-card h3{font-size:23px}.art-center{margin-top:25px}.art-center strong{font-size:72px}.expertise{grid-template-columns:1fr;gap:31px;padding-block:65px}.expertise-intro h2{font-size:35px}.home-article{grid-template-columns:1fr 24px;gap:7px}.home-article .article-date{grid-column:1/-1}.home-article h3{font-size:18px}.writing-empty{flex-direction:column;align-items:flex-start;padding:25px}.writing-empty h3{font-size:19px}
 .footer-main{padding-block:53px 42px;flex-direction:column;gap:28px}.footer-main h2{font-size:43px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:14px}.footer-links{gap:16px}.interior-hero{padding-block:36px 46px}.interior-hero h1{font-size:clamp(37px,9vw,49px)}.interior-description{font-size:14px}.breadcrumbs{margin-bottom:25px}.work-note .shell{display:block}.work-note p{margin-top:10px}
 .about-layout,.contact-layout{display:block}.about-photo{max-width:330px;margin-bottom:33px}.about-copy{font-size:15px}.about-bands{grid-template-columns:1fr}.about-more{padding-block:53px}.contact-info{padding-top:0;margin-bottom:34px}.contact-form-panel{padding:25px 20px}.form-grid{grid-template-columns:1fr}.case-heading{padding:35px 0}.case-heading h1{font-size:39px}.case-heading p{font-size:15px}.case-metadata{grid-template-columns:1fr 1fr;gap:14px}.case-cover{height:258px;margin-top:25px}.case-cover .artwork{padding:18px}.case-cover .art-center{margin-top:20px}.case-cover .art-center strong{font-size:67px}.case-cover .mini-dashboard,.case-cover .art-browser{transform:none;margin-top:22px}.case-layout{display:block;padding:35px 0}.case-aside{position:static;margin-bottom:25px}.case-aside p{display:none}.prose{font-size:15px}.prose h2{font-size:24px}.case-end{flex-direction:column;align-items:flex-start;padding:30px 0 58px}.blog-toolbar{flex-direction:column;align-items:stretch}.category-pills{gap:7px}.search-form{max-width:100%}.search-field{flex:1;width:auto}.article-head{padding-top:37px;padding-bottom:28px}.article-head h1{font-size:38px}.article-dek{font-size:15px}.article-bottom,.share-heading{flex-direction:column;align-items:flex-start}.related-links a span:first-child{min-width:80px}.share-heading p{margin:0}.article-comments{padding-inline:0}
}
@media(max-width:380px){.shell{width:calc(100% - 28px)}.hero h1{font-size:36px}.hero-actions{gap:9px}.hero-actions .button{padding:11px 14px;font-size:12px;min-height:45px}.hero-visual{width:93%}.wordmark-name{font-size:14px}.resume-top{font-size:11px}.art-center strong{font-size:64px}.mini-dash-cols small{display:none}.project-card-art{height:215px}.case-metadata{grid-template-columns:1fr}.case-cover .art-center strong{font-size:62px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}.js-motion [data-reveal]{opacity:1!important;transform:none!important}.hero-typing-cursor{animation:none}}


/* ===== v41.css ===== */
/* Signal & Story v4.1 – presentation layer. Keeps all v4.0 content and editing data. */
:root{
  --azure:#3C89F7;--blue-strong:#2563EB;--blue-strong-hover:#1D4ED8;
  --navy:#0B1B33;--slate:#475569;--tint:#EEF4FF;--border:#DCE7FA;
  --bg:#F7F9FF;--surface:#FFFFFF;--text:#0B1B33;--link:#2563EB;
  --ink:var(--navy);--ink2:#273a58;--muted:var(--slate);--soft:var(--slate);
  --paper:var(--bg);--white:var(--surface);--cream:var(--tint);--line:var(--border);
  --blue:var(--link);--ice:var(--tint);--blueborder:var(--border)
}
:root[data-theme="dark"]{
  --bg:#0B1020;--surface:#121A2F;--text:#E6EAF2;--muted:#9AA6BC;
  --border:#243049;--link:#7AA8FF;--navy:#E6EAF2;--slate:#9AA6BC;
  --tint:#15213B;--ink:#E6EAF2;--ink2:#CFDAEB;--soft:#A8B6CA;
  --paper:var(--bg);--white:var(--surface);--cream:var(--tint);--line:var(--border);
  --blue:var(--link);--ice:var(--tint);--blueborder:var(--border);
  --shadow:0 22px 52px rgba(0,0,0,.2)
}
html{overflow-x:clip}
body{color:var(--text);background:var(--bg);font-size:17px;line-height:1.65}
body,main,section,article{min-width:0}
h1,h2,h3,h4,h5,h6{color:var(--ink)}
a{color:var(--link)}
.eyebrow{color:#3e628c}
.text-blue,.headline-blue{color:var(--link)}
.text-quiet{color:#64748B}
.button{min-height:48px}
a.button-blue,a.button-blue:link,a.button-blue:visited,a.button-blue:hover,a.button-blue:focus,a.button-blue:active,
a.button-footer,a.button-footer:link,a.button-footer:visited,a.button-footer:hover,a.button-footer:focus,a.button-footer:active,
button.button-blue,.sbk-contact-form button[type="submit"],.sbk-contact-form input[type="submit"]{
  background:var(--blue-strong);border-color:var(--blue-strong);color:#FFFFFF!important;
}
a.button-blue:hover,a.button-blue:focus-visible,a.button-footer:hover,a.button-footer:focus-visible,
button.button-blue:hover,.sbk-contact-form button[type="submit"]:hover,.sbk-contact-form input[type="submit"]:hover{
  background:var(--blue-strong-hover);border-color:var(--blue-strong-hover);color:#FFFFFF!important;
}
a.button-blue svg,a.button-footer svg{color:#FFFFFF}
.button-ghost{background:transparent;border-color:var(--border);color:var(--text)}
.button-ghost:hover{background:var(--surface);color:var(--text)}
.text-link,.text-link:hover{color:var(--link)}
.site-header{background:rgba(255,255,255,.95);border-color:var(--border)}
.wordmark,.primary-nav>a,.resume-top{color:var(--text)}
.primary-nav>a:hover,.primary-nav>a[aria-current]{color:var(--ink)}
.resume-top{border-color:var(--border)}
.resume-top:hover{background:var(--tint);border-color:var(--azure)}
.theme-toggle{display:flex;justify-content:center;align-items:center;flex:0 0 44px;width:44px;height:44px;
  border:1px solid var(--border);border-radius:13px;background:var(--surface);color:var(--text);
  transition:background .2s,color .2s,border-color .2s,transform .2s}
.theme-toggle:hover{background:var(--tint);border-color:var(--link);transform:translateY(-1px)}
.theme-toggle .theme-icon-sun{display:none}
:root[data-theme="dark"] .theme-toggle .theme-icon-sun{display:flex}
:root[data-theme="dark"] .theme-toggle .theme-icon-moon{display:none}
:root[data-theme="dark"] .eyebrow{color:#A9C5E8}
:root[data-theme="dark"] .text-quiet{color:#A6B2C5}
:root[data-theme="dark"] .site-header{background:rgba(11,16,32,.95)}
:root[data-theme="dark"] .primary-nav>a{color:#C2CEE0}
:root[data-theme="dark"] .primary-nav>a:hover,:root[data-theme="dark"] .primary-nav>a[aria-current]{color:#FFFFFF}
:root[data-theme="dark"] .resume-top{color:#E6EAF2}
:root[data-theme="dark"] .resume-top:hover{background:#1C2A45}
:root[data-theme="dark"] .wordmark-square{background:#253C63}
.hero-wrap{background:linear-gradient(110deg,#F7F9FF 5%,#EEF4FF 100%);border-color:var(--border)}
.hero-description,.section-top p,.expertise-intro p,.expertise-row p,.interior-description,
.about-copy,.contact-info>p,.case-heading p,.blog-card p,.article-dek,.prose{color:var(--muted)}
.hero-photo-note,.results-band,.project-card,.blog-card,.contact-form-panel,.about-band{background:var(--surface);border-color:var(--border)}
.hero-photo-note small,.result small,.result b,.hero-typing,.focus-prefix,.article-meta{color:var(--muted)}
.result>strong{color:#2563EB}
.expertise-wrap,.interior-hero,.about-more,.case-heading,.work-note{background:var(--tint);border-color:var(--border)}
.project-card h3,.blog-card h2{color:var(--ink)}
.project-card p,.public-work-card p{color:var(--muted)}
.project-card-result{color:var(--link);background:var(--tint)}
.prose{font-size:17px;line-height:1.8;max-width:73ch}
.prose strong{color:var(--ink)}
.prose a{color:var(--link)}
.prose blockquote{background:var(--tint)}
.writing-empty,.study-note,.case-evidence,.article-takeaway{background:var(--tint);border-color:var(--border)}
.form-row input,.form-row textarea,.comment-form textarea,.comment-form input{
  border-color:var(--border);background:var(--surface);color:var(--text)}
.form-row label,.comment-form label{color:var(--text)}
.search-form{background:var(--surface);border-color:var(--border)}
.search-field{color:var(--text)}
.share-button{background:var(--surface);color:var(--link);border-color:var(--border)}
.share-button:hover{background:var(--tint);color:var(--link);border-color:var(--link)}
.related-links a,.article-taxonomy a{color:var(--link)}
/* Single opt-in website spotlight: project-specific, no employer screenshots or logos. */
.site-build-section{padding-top:72px;padding-bottom:92px}
.site-build-feature{display:grid;grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr);
  gap:clamp(34px,5vw,72px);align-items:center;padding:clamp(30px,5vw,66px);
  border:1px solid var(--border);border-radius:28px;background:var(--surface);overflow:hidden;
  box-shadow:0 23px 65px rgba(28,56,104,.055)}
.site-build-copy{min-width:0}
.site-build-kicker{display:inline-flex;gap:9px;align-items:center;color:var(--link);
  font-size:11px;letter-spacing:.16em;font-weight:800;line-height:1.5}
.site-build-copy h2{font-family:var(--display);font-size:clamp(29px,3.15vw,46px);line-height:1.15;
  letter-spacing:-.045em;max-width:19ch;margin:20px 0 22px;color:var(--ink)}
.site-build-copy h2 span{color:var(--link)}
.site-build-copy>p:not(.site-build-attribution){color:var(--muted);font-size:16px;line-height:1.8;max-width:59ch;margin-bottom:20px}
.site-build-copy>p strong{color:var(--ink)}
.site-build-skills{display:flex;flex-wrap:wrap;gap:9px;list-style:none;margin:0 0 28px;padding:0}
.site-build-skills li{padding:6px 11px;border:1px solid var(--border);border-radius:999px;
  color:var(--muted);background:var(--tint);font-size:11px;line-height:1.6;font-weight:700}
.site-build-link{display:inline-flex;align-items:center;gap:10px}
.site-build-attribution{margin:23px 0 0;color:var(--muted);font-size:12px;line-height:1.75;max-width:62ch}
.site-build-art{min-width:0;position:relative;padding:22px 5px 28px 20px}
.site-build-art:before{content:"";position:absolute;inset:0 -20px -12px 5px;
  border-radius:100px 42px 110px 35px;background:linear-gradient(140deg,#DAE8FF 5%,#B7D4FC 98%);transform:rotate(-3deg)}
.site-build-browser{position:relative;overflow:hidden;border:1px solid rgba(69,105,155,.3);border-radius:17px;
  background:#FFFFFF;box-shadow:0 28px 38px rgba(13,35,67,.17),0 5px 12px rgba(13,35,67,.1);transform:rotate(2deg)}
.site-build-browser-bar{display:flex;align-items:center;gap:10px;min-height:43px;padding:8px 15px;background:#F7FAFF;
  border-bottom:1px solid #DCE7FA;color:#54708E;font-size:11px;font-weight:700}
.site-build-dots{display:flex;gap:5px;flex:0 0 auto}
.site-build-dots i{display:block;width:8px;height:8px;border-radius:50%;background:#A9BBDD}
.site-build-dots i:first-child{background:#85ADF0}
.site-build-address{max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.site-build-arrow{margin-left:auto;font-size:16px}
.site-build-browser-content{padding:23px 20px 20px;background:linear-gradient(150deg,#FFF 30%,#EDF5FF 100%)}
.site-build-illustration-top{display:flex;align-items:center;gap:13px;margin-bottom:30px}
.site-build-brand-shape{display:block;width:83px;height:14px;background:linear-gradient(90deg,#3E6EC2,#91B7EF);border-radius:6px;margin-right:auto}
.site-build-nav-shape{display:block;width:35px;height:6px;background:#C6D6EA;border-radius:10px}
.site-build-nav-shape.short{width:24px}
.site-build-nav-pill{display:block;width:44px;height:18px;border-radius:12px;background:#2563EB}
.site-build-illustration-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:10px;min-height:210px}
.site-build-illustration-message{min-width:0}
.site-build-preview-label{font-size:9px;letter-spacing:.15em;color:#3467AD;font-weight:800}
.site-build-preview-headline{font-size:clamp(20px,2.25vw,32px);font-family:var(--display);font-weight:800;line-height:1.19;
  letter-spacing:-.06em;color:#0B1B33;margin-top:15px;margin-bottom:17px}
.site-build-preview-headline em{color:#2563EB;font-style:normal}
.site-build-preview-copy{display:block;height:7px;background:#CBDBEF;border-radius:10px;margin-bottom:9px;width:87%}
.site-build-preview-copy.two{width:66%}
.site-build-preview-button{display:block;width:78px;height:25px;background:#2563EB;border-radius:6px;margin-top:17px}
.site-build-illustration-panel{position:relative;border-radius:18px 12px 35px 16px;background:linear-gradient(130deg,#D7E8FF,#A9CEFF);
  overflow:hidden;min-width:0;display:grid;place-items:center}
.site-build-illustration-center{display:grid;place-content:center;width:75px;height:75px;border-radius:20px;
  background:#FFFFFF;color:#2563EB;font-family:monospace;font-size:26px;font-weight:800;box-shadow:0 14px 27px rgba(34,83,154,.15)}
.site-build-illustration-orbit{position:absolute;border:1px solid rgba(42,104,200,.3);border-radius:50%;width:180px;height:180px;transform:rotate(15deg)}
.site-build-illustration-orbit.small{width:125px;height:125px}
.site-build-illustration-bottom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:25px}
.site-build-illustration-bottom span{height:34px;border-radius:9px;border:1px solid #D6E4F5;background:rgba(255,255,255,.8)}
.site-build-art-label{position:relative;margin:22px 0 0;text-align:right;color:var(--muted);font-size:10px;letter-spacing:.15em;font-weight:800}
:root[data-theme="dark"] .site-build-feature{box-shadow:0 25px 70px rgba(0,0,0,.13)}
:root[data-theme="dark"] .site-build-art:before{background:linear-gradient(150deg,#182D53,#254981)}
:root[data-theme="dark"] .site-build-browser{box-shadow:0 25px 48px rgba(0,0,0,.45)}
/* Redesigned three-column responsive footer; dark in both system modes for separation. */
.site-footer{background:#0B1B33;color:#C9D7EB}
.footer-v41-main{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(180px,.6fr) minmax(220px,1fr);
  gap:clamp(35px,7vw,95px);padding-block:73px 68px;align-items:start}
.footer-v41-identity{max-width:370px}
.footer-v41-name{display:inline-block;color:#FFFFFF;font-family:var(--display);font-weight:800;font-size:28px;letter-spacing:-.045em}
.footer-v41-name span{color:#83ACFF}
.footer-v41-identity p{font-size:14px;line-height:1.8;margin:16px 0 23px;color:#BECEE2}
.footer-v41-contact{display:inline-flex;gap:9px;align-items:center;border-bottom:1px solid #83ACFF;padding-bottom:6px;font-size:14px;font-weight:700;color:#C4D9FF}
.footer-v41-contact:hover,.footer-v41-contact:focus-visible{color:#FFFFFF}
.footer-v41-navigation{display:flex;flex-direction:column;align-items:flex-start;gap:11px}
.footer-v41-navigation h2,.footer-v41-social h2{font-family:var(--font);font-size:12px;line-height:1.5;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:#9FB4CF;margin:2px 0 11px}
.footer-v41-navigation a{font-size:14px;color:#DBE6F5;display:inline-flex;gap:5px;align-items:center;min-height:27px}
.footer-v41-navigation a:hover,.footer-v41-navigation a:focus-visible{color:#FFFFFF}
.footer-v41-social p{font-size:14px;line-height:1.7;color:#B4C5DB;max-width:260px;margin:0 0 20px}
.social-icon-row{display:flex;flex-wrap:wrap;gap:11px;align-items:center}
.social-icon-link{display:grid;place-content:center;flex:0 0 46px;width:46px;height:46px;
  border-radius:13px;background:rgba(255,255,255,.08);border:1px solid rgba(173,206,250,.2);color:#E6F1FF;
  transition:background .2s,transform .2s,border-color .2s;color:#E6F1FF}
.social-icon-link:hover,.social-icon-link:focus-visible{background:#2563EB;border-color:#A8C8FF;color:#FFFFFF;transform:translateY(-2px)}
.footer-v41-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;
  padding-block:22px 26px;border-top:1px solid rgba(196,213,238,.17);font-size:12px;color:#A9BCD5}
.footer-v41-bottom-links{display:flex;align-items:center;gap:25px}
.footer-v41-bottom a{color:#D0E0F5}
.footer-v41-bottom a:hover,.footer-v41-bottom a:focus-visible{color:#FFFFFF}
:root[data-theme="dark"] .site-footer{background:#060B17}
.contact-social-links{margin-top:28px}
.contact-social-links>strong{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:11px;margin-bottom:12px;color:var(--muted)}
.contact-social-links .social-icon-link{background:var(--surface);border-color:var(--border);color:var(--link)}
.contact-social-links .social-icon-link:hover,.contact-social-links .social-icon-link:focus-visible{background:var(--blue-strong);border-color:var(--blue-strong);color:#FFFFFF}
/* Dark page backgrounds and color overrides for CSS originally optimized for light pages. */
:root[data-theme="dark"] .hero-wrap{background:linear-gradient(115deg,#0B1020,#101C33 72%,#162641)}
:root[data-theme="dark"] .hero-photo-backdrop{background:linear-gradient(140deg,#263E62,#182740,#354867);box-shadow:0 18px 45px rgba(0,0,0,.25)}
:root[data-theme="dark"] .hero-photo-frame{background:#263852}
:root[data-theme="dark"] .photo-note-icon{background:#20395A;color:#9CBFFF}
:root[data-theme="dark"] .hero-photo-note strong{color:var(--text)}
:root[data-theme="dark"] .status-spark{box-shadow:0 0 0 5px #17345C}
:root[data-theme="dark"] .hero-topline,:root[data-theme="dark"] .hero-typing-display{color:#ACC9F4}
:root[data-theme="dark"] .results-band{background:#10182A}
:root[data-theme="dark"] .result>strong{color:#8AB4FF}
:root[data-theme="dark"] .expertise-wrap,:root[data-theme="dark"] .interior-hero,:root[data-theme="dark"] .about-more,
:root[data-theme="dark"] .case-heading,:root[data-theme="dark"] .work-note{background:#10192B}
:root[data-theme="dark"] .expertise-list,:root[data-theme="dark"] .expertise-row{border-color:var(--border)}
:root[data-theme="dark"] .hero-typing,:root[data-theme="dark"] .result small,:root[data-theme="dark"] .result b,
:root[data-theme="dark"] .contact-details span,:root[data-theme="dark"] .article-date,:root[data-theme="dark"] .project-card-meta{color:#A9B8CE}
:root[data-theme="dark"] .project-card-result{color:#B2CDFF}
:root[data-theme="dark"] .home-article:hover{background:#131F33;color:var(--text)}
:root[data-theme="dark"] .home-article .article-date{color:#A6BAD5}
:root[data-theme="dark"] .writing-empty{background:#121D30}
:root[data-theme="dark"] .writing-empty p,:root[data-theme="dark"] .study-note p{color:var(--muted)}
:root[data-theme="dark"] .contact-details a{color:#D9E7FF}
:root[data-theme="dark"] .study-note{background:#16233A;border-color:var(--border)}
:root[data-theme="dark"] .timeline-marker{background:var(--surface)}
:root[data-theme="dark"] .timeline-date,.theme-toggle .theme-icon-moon{color:var(--link)}
:root[data-theme="dark"] .timeline-org{color:#B1BFD2}
:root[data-theme="dark"] .prose blockquote{background:#17233A}
:root[data-theme="dark"] .case-evidence{background:#15213A}
:root[data-theme="dark"] .case-metadata{border-color:var(--border)}
:root[data-theme="dark"] .case-metadata span,:root[data-theme="dark"] .evidence-grid dt{color:#A8B8CC}
:root[data-theme="dark"] .evidence-grid>div{border-color:var(--border)}
:root[data-theme="dark"] .search-form{background:var(--surface)}
:root[data-theme="dark"] .search-submit,:root[data-theme="dark"] .search-field{color:var(--text)}
:root[data-theme="dark"] .category-pills a{color:#C6D5E9}
:root[data-theme="dark"] .category-pills a:hover,:root[data-theme="dark"] .category-pills a.active{color:#FFFFFF;background:#253E61;border-color:#47618A}
:root[data-theme="dark"] .blog-card-mark{background:#E8F0FD;color:#0B1B33}
:root[data-theme="dark"] .article-takeaway{background:#172845}
:root[data-theme="dark"] .article-taxonomy a{color:var(--link)}
:root[data-theme="dark"] .share-button:hover{background:#243854}
:root[data-theme="dark"] .related-links a{color:var(--text)}
:root[data-theme="dark"] .related-links a:hover{color:var(--link)}
:root[data-theme="dark"] .prose a{color:var(--link)}
:root[data-theme="dark"] .form-row input:focus,:root[data-theme="dark"] .form-row textarea:focus,
:root[data-theme="dark"] .comment-form input:focus,:root[data-theme="dark"] .comment-form textarea:focus{box-shadow:0 0 0 3px #243B60}
:root[data-theme="dark"] .form-helper{color:#9FAEC2}
:root[data-theme="dark"] .case-aside p{color:var(--muted)}
:root[data-theme="dark"] .nav-links .page-numbers{color:var(--text)}
/* Responsive improvements: 44px touch targets, no menu clipping. */
@media(max-width:920px){
  .nav-shell{gap:16px}
  .primary-nav{gap:20px}
  .footer-v41-main{grid-template-columns:1.25fr .7fr 1fr;gap:30px}
  .site-build-feature{gap:26px;padding:34px}
  .site-build-art{padding-left:0}
}
@media(max-width:680px){
  .nav-shell{gap:11px}
  .theme-toggle,.nav-toggle{flex:0 0 44px;width:44px;height:44px;min-width:44px}
  .resume-top{display:none}
  .nav-toggle{padding:10px}
  .primary-nav{top:67px;background:var(--surface);border-color:var(--border)}
  .primary-nav a{border-color:var(--border);min-height:46px}
  .primary-nav .nav-resume-mobile{min-height:48px}
  .footer-v41-main{grid-template-columns:1fr;gap:37px;padding-block:53px 42px}
  .footer-v41-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 18px}
  .footer-v41-navigation h2{grid-column:1/-1;margin-bottom:10px}
  .footer-v41-navigation a{padding-block:8px;min-height:44px}
  .footer-v41-bottom{align-items:flex-start;flex-direction:column;gap:13px}
  .footer-v41-bottom-links a{min-height:44px;display:inline-flex;align-items:center}
  .site-build-section{padding-top:53px;padding-bottom:57px}
  .site-build-feature{grid-template-columns:1fr;gap:28px;padding:28px 22px 24px;border-radius:22px}
  .site-build-copy h2{max-width:23ch}
  .site-build-art{padding:12px 7px 18px 7px}
  .site-build-art:before{inset:0 -5px -5px 0}
  .site-build-browser{transform:rotate(1deg)}
  .site-build-browser-content{padding:18px 14px}
  .site-build-illustration-top{margin-bottom:19px}
  .site-build-illustration-layout{min-height:178px}
  .site-build-preview-headline{font-size:clamp(19px,4.7vw,27px)}
  .site-build-illustration-center{width:60px;height:60px;font-size:22px}
  .site-build-art-label{text-align:center}
  .social-icon-row{gap:12px}
  .hero-description,.interior-description,.prose{font-size:16px}
}
@media(max-width:390px){
  .wordmark-name{font-size:13px}
  .wordmark{gap:7px}
  .nav-shell{gap:8px}
  .theme-toggle,.nav-toggle{flex-basis:44px}
  .footer-v41-name{font-size:26px}
  .hero-actions .button{white-space:normal}
}
@media(prefers-reduced-motion:reduce){.theme-toggle,.social-icon-link{transition:none}}

@media(max-width:390px){.site-build-feature{padding:25px 17px}.site-build-browser-bar{padding-inline:10px}.site-build-browser-content{padding:16px 11px}.site-build-brand-shape{width:60px}.site-build-nav-shape{width:24px}.site-build-nav-shape.short{display:none}.site-build-preview-label{font-size:8px}.site-build-preview-headline{font-size:19px}.site-build-illustration-center{width:45px;height:45px;font-size:19px}.site-build-illustration-layout{min-height:170px}}


/* ===== v42.css ===== */
/* 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; }
}


/* ===== v43.css ===== */
/* v4.3: Graduating portrait on Home; light website with article-only reading mode. */
/* HOME PHOTO: an editorial print treatment that complements the watercolor palette. */
.hero-visual--graduation::before {
  background:linear-gradient(145deg,rgba(236,228,253,.72),rgba(206,228,250,.67) 55%,rgba(252,233,225,.52));
  border-color:rgba(255,255,255,.77);
  box-shadow:0 20px 66px rgba(59,77,121,.14);
}
.hero-photo-backdrop--graduation {
  padding:11px;
  border:1px solid rgba(255,255,255,.95);
  background:linear-gradient(145deg,#fff 0%,#f9fbff 72%,#edf3ff 100%);
  box-shadow:0 23px 60px rgba(27,46,88,.18),0 5px 15px rgba(27,46,88,.07);
  transform:rotate(-1.35deg);
}
.hero-photo-frame--graduation {
  aspect-ratio:4/4.8;
  position:relative;
  isolation:isolate;
  border-radius:25px;
  background:#E4EAF6;
  overflow:hidden;
}
.hero-photo-frame--graduation img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 84%;
  filter:saturate(1.045) contrast(1.035);
  transform:scale(1.52);
  transition:transform .7s cubic-bezier(.22,.61,.36,1);
}
.hero-visual--graduation:hover .hero-photo-frame--graduation img { transform:scale(1.57); }
.hero-photo-frame--graduation::after {
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  background:linear-gradient(to bottom,transparent 65%,rgba(16,27,45,.07));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.26);
  border-radius:inherit;
}
.hero-visual--graduation .hero-v42-stat { box-shadow:0 13px 30px rgba(31,53,96,.13); }
.hero-visual--graduation .hero-photo-note { background:rgba(255,255,255,.97); backdrop-filter:blur(10px); }

/* ARTICLE TOOLBAR: visible only on a single blog post; hidden everywhere else by template. */
.article-reading-topline { display:flex; align-items:center; justify-content:space-between; gap:16px 22px; flex-wrap:wrap; margin-bottom:24px; }
.article-reading-topline .breadcrumbs { margin:0; }
.article-theme-toggle {
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  min-height:43px; flex:0 0 auto; padding:9px 15px;
  border:1px solid #D8E1EF; border-radius:999px;
  background:#FFFFFF; color:#294667;
  font:700 12px/1.3 var(--body,Inter,Arial,sans-serif);
  cursor:pointer; white-space:nowrap;
  box-shadow:0 4px 17px rgba(32,54,85,.055);
  transition:background .2s,color .2s,border-color .2s,box-shadow .2s,transform .2s;
}
.article-theme-toggle:hover { background:#EFF4FC; border-color:#AFC3E9; transform:translateY(-1px); box-shadow:0 7px 21px rgba(32,54,85,.09); }
.article-theme-toggle:focus-visible { outline:3px solid #5A86E9; outline-offset:3px; }
.article-toggle-moon,.article-toggle-sun { display:flex; align-items:center; justify-content:center; }
.article-toggle-sun { display:none; }
html.article-reading-dark .article-theme-toggle .article-toggle-moon { display:none; }
html.article-reading-dark .article-theme-toggle .article-toggle-sun { display:flex; }

/* BLOG ARTICLE ONLY: custom-property colors are scoped to #main, never the header/footer. */
html.article-reading-dark body.single-post #main {
  --bg:#101828; --surface:#19263B; --text:#EBF2FD; --navy:#EBF2FD;
  --ink:#F1F5FC; --ink2:#DCE7F7; --muted:#BECCE1; --soft:#ABBCD2;
  --slate:#BECCE1; --border:#34455F; --line:var(--border);
  --link:#A8CAFF; --blue:var(--link); --tint:#1B2A41; --cream:var(--tint);
  --white:var(--surface); --paper:var(--bg); --ice:var(--tint); --blueborder:var(--border);
  color:var(--text); background:var(--bg); color-scheme:dark;
}
html.article-reading-dark body.single-post #main .article-head .eyebrow { color:#AEC9F7; }
html.article-reading-dark body.single-post #main .breadcrumbs { color:#BAC9DC; }
html.article-reading-dark body.single-post #main .breadcrumbs a { color:#B5D0FA; }
html.article-reading-dark body.single-post #main .breadcrumbs a:hover { color:#FFFFFF; }
html.article-reading-dark body.single-post #main .breadcrumbs span { color:#7288A6; }
html.article-reading-dark body.single-post #main .article-meta,
html.article-reading-dark body.single-post #main .article-taxonomy-label { color:#B7C6DA; }
html.article-reading-dark body.single-post #main .article-theme-toggle {
  color:#E7F0FF; background:#23354E; border-color:#476080;
  box-shadow:0 5px 20px rgba(0,0,0,.15);
}
html.article-reading-dark body.single-post #main .article-theme-toggle:hover { background:#304866; border-color:#7698C5; }
html.article-reading-dark body.single-post #main .article-theme-toggle:focus-visible { outline-color:#9BC1FF; }
html.article-reading-dark body.single-post #main .prose { color:var(--muted); }
html.article-reading-dark body.single-post #main .prose strong,
html.article-reading-dark body.single-post #main .article-takeaway strong { color:#F4F7FF; }
html.article-reading-dark body.single-post #main .prose a:not(.button) { color:#A8CAFF; }
html.article-reading-dark body.single-post #main .prose a:not(.button):hover { color:#D8E8FF; }
html.article-reading-dark body.single-post #main .prose blockquote,
html.article-reading-dark body.single-post #main .article-takeaway { background:#1E304B; border-color:#618CE2; }
html.article-reading-dark body.single-post #main .article-taxonomy a,
html.article-reading-dark body.single-post #main .article-source a { color:#A8CAFF; }
html.article-reading-dark body.single-post #main .article-author p,
html.article-reading-dark body.single-post #main .share-heading p,
html.article-reading-dark body.single-post #main .discussion-intro,
html.article-reading-dark body.single-post #main .comment-notes { color:var(--muted); }
html.article-reading-dark body.single-post #main .share-button { background:#1C2D46; color:#D7E8FF; border-color:#3F5573; }
html.article-reading-dark body.single-post #main .share-button:hover { background:#2C4160; color:#FFFFFF; border-color:#7597C8; }
html.article-reading-dark body.single-post #main .share-status { color:#B2E5CC; }
html.article-reading-dark body.single-post #main .related-links a { color:#E6EFFD; }
html.article-reading-dark body.single-post #main .related-links a:hover { color:#A8CAFF; }
html.article-reading-dark body.single-post #main .related-links a span:first-child { color:#B4C2D5; }
html.article-reading-dark body.single-post #main .comment-metadata,
html.article-reading-dark body.single-post #main .comment-content { color:var(--muted); }
html.article-reading-dark body.single-post #main .comment-author a,
html.article-reading-dark body.single-post #main .comment-metadata a { color:#B5D1FF; }
html.article-reading-dark body.single-post #main .comment-form input:not([type="submit"]),
html.article-reading-dark body.single-post #main .comment-form textarea { background:#1D2C43; color:#F1F6FF; border-color:#435673; }
html.article-reading-dark body.single-post #main .comment-form input:focus,
html.article-reading-dark body.single-post #main .comment-form textarea:focus { box-shadow:0 0 0 3px rgba(107,150,220,.26); }
html.article-reading-dark body.single-post #main .article-body :is(pre,.wp-block-code,.wp-block-preformatted) { background:#1A293F; border:1px solid #344B6A; border-radius:10px; color:#E8F1FF; padding:15px; overflow-x:auto; }
html.article-reading-dark body.single-post #main .article-body :is(code,kbd) { color:#D7E7FF; }
html.article-reading-dark body.single-post #main .article-body :is(table,th,td) { border-color:#465773; color:var(--text); }
html.article-reading-dark body.single-post #main .article-body .wp-block-table tbody tr:nth-child(2n) { background:rgba(255,255,255,.04); }

@media(max-width:760px) {
  .hero-photo-frame--graduation { border-radius:21px; }
  .hero-visual--graduation .hero-photo-note { right:-20px; }
  .article-reading-topline { gap:13px 16px; margin-bottom:20px; }
  .article-theme-toggle { min-height:42px; padding:9px 13px; }
}
@media(max-width:380px) {
  .article-reading-topline { align-items:flex-start; }
  .article-theme-toggle { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) {
  .hero-photo-frame--graduation img,.article-theme-toggle { transition:none; }
  .hero-visual--graduation:hover .hero-photo-frame--graduation img { transform:scale(1.52); }
}

/* v4.3.2: dedicated homepage headshot and About-page graduation photo.
   Keep the existing glassy editorial frame; avoid v4.3's 1.52x graduation zoom on square portraits. */
.hero-photo-frame--graduation.hero-photo-frame--headshot img {
  object-position:center 38%;
  transform:scale(1.02);
  filter:saturate(1.02) contrast(1.02);
}
.hero-visual--headshot:hover .hero-photo-frame--headshot img { transform:scale(1.055); }
/* Graduation subject sits below center in the original source image. */
.about-photo--graduation img {
  object-position:center 82%;
  transform:scale(1.18);
  transform-origin:center 82%;
}
@media (prefers-reduced-motion:reduce) {
  .hero-visual--headshot:hover .hero-photo-frame--headshot img { transform:scale(1.02); }
}

/* v4.3.3: responsive modern-format photo without changing the original crop. */
.hero-portrait-picture { display:block; width:100%; height:100%; }

/* v4.3.4: keep first-viewport content fully visible; preserve reveal motion below. */
html.js-motion .hero-content[data-reveal],
html.js-motion .hero-visual[data-reveal],
html.js-motion .hero-content[data-reveal].is-visible,
html.js-motion .hero-visual[data-reveal].is-visible {
  opacity:1; transform:none; transition:none;
}

