/* 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;height:245px;overflow:hidden}.blog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.blog-card:hover img{transform:scale(1.04)}.blog-image-default{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}}
