@font-face{font-family:Manrope;src:url('/fonts/manrope.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:'Pinyon Script';src:url('/fonts/pinyon-script.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--bg:#fff;--ink:#142033;--muted:#536176;--blue:#2455d6;--pale:#eff4fc;--line:#dce3ed;--panel:#f6f8fb;--white:#fff;--font:Manrope,sans-serif;--script:'Pinyon Script',cursive;--ease:cubic-bezier(.22,.61,.36,1);color-scheme:light}
:root[data-theme=dark]{--bg:#101925;--ink:#eef3ff;--muted:#a8b5ca;--blue:#91b3ff;--pale:#18273e;--line:#2a3b52;--panel:#142132;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--ink);font:400 15px/1.75 var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{background:none}button:disabled{cursor:default}img{display:block;max-width:100%;height:auto}svg{width:22px;height:22px;flex-shrink:0}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:600;line-height:1.12}h1,h2{letter-spacing:-.055em}h3{letter-spacing:-.025em}p{color:var(--muted)}p+p{margin-top:20px}h2 em,h1 em{font-family:var(--script);font-weight:400;font-style:normal;color:var(--blue);letter-spacing:-.02em;font-size:1.3em;line-height:.85}h2{font-size:clamp(36px,4.2vw,58px);line-height:1.14}h3{font-size:22px}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px;border-radius:3px}::selection{background:#c6d8ff;color:#142033}[hidden]{display:none!important}.container{width:min(1184px,calc(100% - 96px));margin-inline:auto}.section{padding-block:112px}.section-label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--muted);margin-bottom:22px}.lead{font-size:19px;line-height:1.7}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:650;border:0;padding:9px 0;border-bottom:1px solid var(--line);line-height:1.4;color:var(--ink)}.text-link svg{width:17px;height:17px;transition:transform .25s}.text-link:hover{color:var(--blue);border-color:var(--blue)}.text-link:hover svg{transform:translate(2px,-2px)}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:16px 23px;border-radius:5px;font-size:13px;font-weight:650;min-height:52px;transition:transform .25s,background .25s}.button svg{width:18px;height:18px}.button:hover{transform:translateY(-2px)}.primary{background:#2455d6;color:#fff}.primary:hover{background:#1b43b0}.sr-only{position:absolute;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;top:8px;left:20px;transform:translateY(-180%);z-index:100;background:var(--ink);color:var(--bg);padding:12px 20px}.skip-link:focus{transform:none}
/* Quiet chrome, strong typography. */
.site-header{height:94px;background:var(--bg);border-bottom:1px solid var(--line);position:relative;z-index:20}.header-inner{width:min(1280px,calc(100% - 80px));margin:auto;height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}.wordmark{font-weight:800;font-size:27px;letter-spacing:-.08em;display:inline-flex;align-items:baseline}.wordmark-script{font-family:var(--script);font-size:44px;font-weight:400;color:var(--blue);letter-spacing:-.07em;margin-left:1px}.main-nav{display:flex;gap:29px;margin-left:auto;margin-right:34px;font-size:12px;font-weight:600}.main-nav a{position:relative;padding:10px 0}.main-nav a:after{content:'';position:absolute;bottom:4px;left:0;right:100%;height:1px;background:var(--blue);transition:right .25s}.main-nav a:hover:after{right:0}.header-actions{display:flex;align-items:center;gap:19px}.locale-link{font-size:11px;font-weight:700;min-width:26px;min-height:44px;display:grid;place-items:center}.theme-toggle{width:38px;height:44px;display:grid;place-items:center;border:0;padding:0}.theme-toggle svg{width:19px}.header-contact{border:1px solid var(--line);border-radius:5px;display:flex;align-items:center;gap:24px;font-size:12px;font-weight:650;padding:10px 16px;min-height:44px}.header-contact svg{width:15px;height:15px}.header-contact:hover{border-color:var(--blue);color:var(--blue)}.menu-toggle{border:0;padding:12px;width:44px;height:44px;flex-direction:column;justify-content:center;gap:6px;display:none}.menu-toggle span{height:1px;background:var(--ink);width:20px}
/* The workspace: actual work, arranged like a personal desktop. */
.hero{min-height:715px;display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:28px;padding-block:76px 100px;position:relative}.hero-copy{position:relative;z-index:3;pointer-events:none}.hero-copy a{pointer-events:auto}.intro-label{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:600;color:var(--ink);margin-bottom:29px;letter-spacing:.01em}.availability-dot{width:6px;height:6px;border-radius:50%;background:var(--blue);flex-shrink:0}.hero h1{font-size:clamp(44px,5.6vw,77px);line-height:1.13;font-weight:650;white-space:nowrap;letter-spacing:-.06em}.hero h1 em{font-size:1.36em;display:inline-block;transform:rotate(-4deg);padding-right:12px;margin-left:2px}.hero-intro{max-width:445px;font-size:15px;line-height:1.85;margin-top:31px}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:30px}.hero-expertise{display:flex;flex-wrap:wrap;gap:10px 16px;list-style:none;margin:37px 0 0;padding:0;font-size:10px;font-weight:600;color:var(--muted)}.hero-expertise li+li:before{content:'·';margin-right:16px;color:var(--blue)}.hero-scroll{display:flex;gap:12px;align-items:center;font-size:10px;color:var(--muted);position:absolute;bottom:30px;left:0}.hero-scroll svg{width:14px;height:14px}.workspace{position:relative;min-height:475px;isolation:isolate}.workspace-caption{position:absolute;top:17px;right:5px;font-size:10px;color:var(--muted);transform:rotate(4deg);max-width:150px;line-height:1.6}.folder{position:absolute;width:225px;height:163px;display:block;filter:drop-shadow(0 14px 13px rgba(23,61,116,.14));transition:transform .6s var(--ease);perspective:800px}.folder-one{top:58px;left:4px;transform:rotate(-9deg);z-index:3}.folder-two{top:251px;left:150px;transform:rotate(9deg);z-index:5}.folder-tab{position:absolute;left:0;top:-16px;width:80px;height:28px;background:#94b5ed;border-radius:9px 9px 0 0}.folder-back{position:absolute;inset:0;background:#94b5ed;border-radius:0 10px 10px 10px}.folder-front{position:absolute;inset:28px 0 0;background:linear-gradient(145deg,#8ab1ed,#4d83d0);border:1px solid #7fa8e0;border-top:1px solid #b8cfee;box-shadow:inset 0 1px 2px #c6dcff;display:flex;align-items:flex-end;justify-content:space-between;padding:16px 18px;border-radius:7px 7px 10px 10px;color:#102e5b;font-size:12px;font-weight:750;transform-origin:center bottom;transition:transform .6s var(--ease)}.folder-front svg{width:17px;height:17px;opacity:.8}.folder-paper{position:absolute;inset:1px 13px 21px;transform:rotate(-4deg);background:#fff;border-radius:3px;padding:6px;transition:transform .6s var(--ease);box-shadow:0 0 3px #31599b55;overflow:hidden}.folder-paper img{width:100%;height:100%;object-fit:cover;object-position:top}.folder:hover,.folder:focus-visible{transform:rotate(0) translateY(-8px)}.folder:hover .folder-paper,.folder:focus-visible .folder-paper{transform:rotate(-3deg) translateY(-24px)}.folder:hover .folder-front,.folder:focus-visible .folder-front{transform:rotateX(-18deg)}.folder-two .folder-tab,.folder-two .folder-back{background:#c2bde8}.folder-two .folder-front{background:linear-gradient(145deg,#c9c5eb,#9a94d1);border-color:#b3acdf;box-shadow:inset 0 1px 2px #e3defa;color:#35304e}.note-file{position:absolute;top:63px;right:-1px;z-index:1;width:116px;height:143px;background:var(--panel);border:1px solid var(--line);border-radius:3px;transform:rotate(11deg);padding:16px 12px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 8px 20px #16284b0a;transition:transform .3s}.note-file:hover{transform:rotate(4deg) translateY(-6px)}.code-sign{font-size:25px;color:var(--blue);line-height:1;margin-bottom:17px;font-weight:650}.note-file>span:not(.code-sign){font-size:12px;font-weight:700}.note-file small{font-size:8px;color:var(--muted)}.file-corner{position:absolute;right:-1px;top:-1px;width:23px;height:23px;background:var(--bg);border-bottom:1px solid var(--line);border-left:1px solid var(--line);clip-path:polygon(0 0,100% 100%,0 100%)}.portrait-note{position:absolute;bottom:33px;left:6px;z-index:4;width:112px;padding:7px 7px 3px;background:#fff;box-shadow:0 8px 19px #172e4920;transform:rotate(-7deg)}.portrait-note img{width:98px;height:111px;object-fit:cover;filter:grayscale(1);object-position:center 30%}.portrait-note figcaption{font-family:var(--script);font-size:20px;text-align:center;color:#21344f;line-height:1.6}.workspace-scribble{position:absolute;width:145px;height:65px;top:194px;right:29px;color:var(--blue);transform:rotate(25deg);z-index:-1}.hero:after{content:'';position:absolute;bottom:0;width:100%;height:1px;background:var(--line)}
/* Project index. Screenshots retain their own identities. */
.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:flex-end;margin-bottom:46px}.section-heading>p{max-width:370px;font-size:13px;line-height:1.85;padding-bottom:6px}.section-heading h2{max-width:650px}.filters{display:flex;gap:10px;margin-bottom:32px;flex-wrap:wrap}.filters button{padding:9px 17px;min-height:42px;border:1px solid transparent;border-radius:4px;font-size:11px;color:var(--muted);display:flex;gap:11px;align-items:center}.filters button[aria-pressed=true]{border-color:var(--line);color:var(--ink);background:var(--panel)}.filters button span{font-size:9px;color:var(--blue)}.filters button:hover{background:var(--panel)}.project-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:48px 28px}.project-card{grid-column:span 3;min-width:0}.project-card.website{grid-column:span 2}.project-card:nth-child(3){grid-column:span 3}.project-card:nth-child(4){grid-column:span 3}.project-image-link{display:block}.project-image{height:295px;position:relative;overflow:hidden;background:var(--pale);border-radius:7px;isolation:isolate;padding:28px 28px 0}.project-image>img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:5px 5px 0 0;box-shadow:0 5px 24px #16243e20;transition:transform .8s var(--ease);transform:translateY(5px)}.project-image-link:hover img,.project-image-link:focus-visible img{transform:translateY(-3px) scale(1.025)}.project-image-link:hover .open-project{transform:translate(0,0);opacity:1}.project-image-link:focus-visible .open-project{opacity:1}.lilac .project-image,.lilac.case-cover{background:#efedf7}.blue .project-image,.blue.case-cover{background:#e9f0fc}.sand .project-image,.sand.case-cover{background:#f3efe7}.ice .project-image,.ice.case-cover{background:#edf2f5}.project-card.website .project-image{height:220px;padding:17px 17px 0}.project-card.tool .project-image{height:265px}.project-card.tool.ice .project-image{background:#e8eeeb}.project-card.tool.ice .project-image img{object-fit:cover;object-position:top;padding:0}.project-caption{display:flex;justify-content:space-between;align-items:flex-end;margin-top:19px;gap:16px}.project-category{font-size:9px;line-height:1.5;color:var(--muted);margin-bottom:7px}.project-caption h3{font-size:22px;font-weight:650;letter-spacing:-.035em}.project-caption h3 a:hover{color:var(--blue)}.project-year{font-size:10px;color:var(--muted);padding-bottom:2px}.project-summary{font-size:12px;line-height:1.8;margin-top:10px;max-width:95%}.tags{list-style:none;display:flex;gap:7px;flex-wrap:wrap;padding:0;margin:14px 0 0}.tags li{font-size:9px;color:var(--muted);background:var(--panel);padding:3px 8px;border-radius:3px}.open-project{position:absolute;width:38px;height:38px;display:grid;place-items:center;background:var(--bg);color:var(--ink);border-radius:50%;bottom:16px;right:16px;opacity:0;transform:translate(-5px,5px);transition:transform .3s,opacity .3s;box-shadow:0 3px 12px #14203320}.open-project svg{width:16px;height:16px}.image-stamp{position:absolute;left:20px;top:18px;background:#fff;color:#142033;padding:5px 10px;font-size:10px;border-radius:3px;box-shadow:0 2px 8px #0001}
/* Original methods, not generic skill percentages. */
.method{background:var(--pale)}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:115px;align-items:center}.method h2{margin-bottom:28px}.method p{font-size:13px;max-width:440px}.method .lead{font-size:17px;margin-bottom:17px}.method .text-link{margin-top:25px}.method-proof{display:flex;flex-direction:column;gap:25px;min-width:0}.stars-proof{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid var(--line);padding:0 0 28px;position:relative;gap:4px;transition:color .2s}.stars-proof:hover{color:var(--blue)}.stars-proof strong{font-size:100px;font-weight:500;letter-spacing:-.08em;line-height:1}.stars-proof strong span{font-size:31px;vertical-align:top;margin-left:8px;color:var(--blue);position:relative;top:12px}.stars-proof>span:not(.star-symbol){font-size:13px;grid-column:1;margin-top:8px}.stars-proof small{font-size:9px;color:var(--muted);grid-column:1}.stars-proof>svg{position:absolute;bottom:35px;right:0}.star-symbol{grid-column:2;grid-row:1;color:var(--blue);font-size:70px;align-self:center;transition:transform .8s}.stars-proof:hover .star-symbol{transform:rotate(90deg)}.method-links a{display:grid;grid-template-columns:1fr auto;padding:17px 0;border-bottom:1px solid var(--line);gap:3px}.method-links a>span{font-size:15px;font-weight:650}.method-links small{grid-column:1;font-size:10px;color:var(--muted)}.method-links svg{grid-column:2;grid-row:1 / 3;align-self:center;width:17px;height:17px}.method-links a:hover{color:var(--blue)}
/* Biography and a real process transformation. */
.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px 100px;align-items:center}.about-image{position:relative;max-width:360px;margin:auto;width:100%;padding-bottom:28px}.about-image img{width:100%;aspect-ratio:1/1.08;object-fit:cover;filter:grayscale(1);border-radius:6px}.about-signature{position:absolute;bottom:-3px;left:26px;font:400 57px/1.2 var(--script);color:var(--blue);transform:rotate(-7deg);white-space:nowrap}.about-copy h2{margin-bottom:27px}.about-copy p{font-size:13px}.about-copy .lead{font-size:17px}.qualifications{border-top:1px solid var(--line);margin-top:27px;padding-top:20px}.qualifications p{font-size:12px;color:var(--ink);font-weight:600}.qualifications p+p{margin-top:12px}.qualifications small{display:block;font-size:10px;font-weight:400;color:var(--muted)}.stack{grid-column:1/-1;display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;border-top:1px solid var(--line);padding-top:35px}.stack h3{font-size:16px;max-width:180px;line-height:1.5}.stack .tags{margin:0;gap:9px}.stack .tags li{font-size:11px;padding:5px 10px}.experience{background:var(--panel)}.experience-row{display:grid;grid-template-columns:.85fr 1.4fr .65fr;gap:45px;padding:35px 0;border-top:1px solid var(--line)}.experience-row h3{font-size:18px;margin-bottom:12px}.experience-row p{font-size:12px}.experience-company h3{font-size:21px;margin-bottom:3px}.experience-company p{font-size:11px}.experience-company small{display:block;font-size:10px;color:var(--muted);margin-top:14px}.calls-proof{padding-left:25px;border-left:1px solid var(--line)}.calls-proof strong{font-size:44px;font-weight:500;letter-spacing:-.06em;line-height:1.1}.calls-proof p{font-size:10px;line-height:1.5;margin-top:8px;max-width:130px}.calls-proof small{display:block;font-size:9px;color:var(--muted);line-height:1.6;margin-top:12px}.automation{margin:0 0 40px 25%;padding:29px 0 0;border-top:1px solid var(--line)}.automation h3{font-size:18px;margin-bottom:23px;line-height:1.5}.process-comparison{display:grid;grid-template-columns:1fr 1fr;gap:35px}.process-comparison>div{padding-left:17px;border-left:2px solid var(--line)}.process-comparison>div+div{border-color:var(--blue)}.process-comparison span{font-size:11px;font-weight:750}.process-comparison p{font-size:12px;line-height:1.9;margin-top:8px}.evidence-note{font-size:10px;line-height:1.8;margin-top:22px;max-width:690px}.freelance{grid-template-columns:.85fr 2.05fr}.earlier{padding-top:22px;border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;font-weight:600;font-size:13px;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary span{font-size:20px;color:var(--blue);font-weight:400}.earlier[open]>summary>span,.learning[open]>summary>span{transform:rotate(45deg)}.earlier p{font-size:12px;max-width:650px;margin-top:18px}
/* Contact is a conversation, not a dummy form. */
.contact{padding-block:98px 45px}.contact-inner{display:grid;grid-template-columns:1fr auto;gap:48px}.contact h2{font-size:clamp(40px,5.4vw,73px);margin-bottom:28px}.contact .section-label{margin-bottom:25px}.contact p{font-size:13px;max-width:400px}.contact-arrow{width:100px;height:100px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;align-self:center;margin-right:50px;transition:background .25s,transform .3s}.contact-arrow svg{width:39px;height:39px;color:var(--blue)}.contact-arrow:hover{background:var(--pale);transform:rotate(6deg)}.contact-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:29px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}.email-link{font-size:18px;letter-spacing:-.02em}.email-link:hover{color:var(--blue)}.copy-email{font-size:10px;font-weight:500}.copy-status{font-size:10px;color:var(--muted)}.socials{display:flex;gap:25px;margin-left:auto}.socials .text-link{font-size:11px}.socials svg{width:14px;height:14px}.footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-block:22px;border-top:1px solid var(--line);font-size:9px;color:var(--muted)}.footer p{font-size:9px}.footer p+p{margin:0}.footer a{padding:8px 0}
/* Case studies are readable documents with genuine evidence. */
.case-main{padding-top:37px}.back-link{display:inline-block;font-size:11px;color:var(--muted);padding:8px 0}.back-link:hover{color:var(--blue)}.case-heading{padding-block:53px 44px}.case-heading h1{font-size:clamp(43px,6vw,80px);font-weight:600;line-height:1.1;max-width:1000px;overflow-wrap:anywhere}.case-subtitle{display:block;font-size:clamp(24px,3vw,39px);letter-spacing:-.04em;line-height:1.25;margin-top:20px;max-width:900px;font-weight:450}.case-intro{font-size:17px;max-width:720px;margin-top:26px;line-height:1.8}.case-actions{display:flex;align-items:center;gap:27px;margin-top:27px}.case-meta{display:grid;grid-template-columns:1.1fr .7fr 1.2fr;gap:35px;margin:45px 0 0;padding:25px 0 0;border-top:1px solid var(--line)}.case-meta dt{font-size:10px;color:var(--muted);margin-bottom:8px}.case-meta dd{font-size:12px;line-height:1.7;margin:0}.case-cover{padding:40px 40px 0;border-radius:7px;overflow:hidden}.case-cover img{width:100%;height:auto;max-height:690px;object-fit:cover;object-position:top;border-radius:4px 4px 0 0;box-shadow:0 0 30px #172e491a}.case-cover figcaption{padding:14px 0;font-size:10px;color:#536176}.case-body{display:grid;grid-template-columns:200px minmax(0,760px);justify-content:space-between;gap:65px;padding-top:78px}.case-toc{align-self:start;position:sticky;top:40px;display:flex;flex-direction:column;gap:13px;font-size:11px}.case-toc p{font-size:10px;margin-bottom:4px;color:var(--muted)}.case-toc a:hover{color:var(--blue)}.case-story section{margin-bottom:57px;scroll-margin-top:40px}.case-story h2{font-size:30px;letter-spacing:-.04em;margin-bottom:20px;line-height:1.3}.case-story p{font-size:14px;line-height:1.95}.case-story h3{font-size:17px;line-height:1.5;margin-bottom:9px}.decision-list{display:grid;grid-template-columns:1fr 1fr;gap:30px}.decision-list article{border-top:1px solid var(--line);padding-top:20px}.decision-list p{font-size:12px}.outcomes{list-style:none;margin:0;padding:0}.outcomes li{display:flex;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.5}.outcomes li span{color:var(--blue);font-size:22px}.evidence-links article{border-top:1px solid var(--line);padding:20px 0}.evidence-links article .text-link{font-size:14px;line-height:1.6}.evidence-links article p{font-size:11px;margin-top:8px}.result-context{padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:4px;margin-top:25px}.result-context summary{font-size:12px}.result-context summary:after{content:'+';font-weight:400;font-size:18px;color:var(--blue)}.result-context[open] summary:after{content:'−'}.result-context p{font-size:11px;margin-top:12px}.evidence-gallery{margin-top:40px}.case-story .evidence-gallery>p{font-size:11px}.proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:24px;align-items:start}.proof-grid figure{border:1px solid var(--line);border-radius:4px;overflow:hidden}.proof-grid img{width:100%;height:155px;object-fit:cover;object-position:top}.proof-grid a:hover img{opacity:.8}.proof-grid figcaption{font-size:10px;padding:12px;font-weight:650;letter-spacing:-.02em}.proof-grid small{display:block;font-size:9px;font-weight:400;margin-top:6px;color:var(--muted)}.next-project{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line);padding:35px 0 45px}.next-project span{font-size:11px;color:var(--muted)}.next-project strong{display:block;font-size:30px;font-weight:500;color:var(--ink);letter-spacing:-.035em;margin-top:8px;line-height:1.3}.next-project svg{width:36px;height:36px;color:var(--blue);margin-right:20px}.next-project:hover strong{color:var(--blue)}.lightbox{background:var(--bg);color:var(--ink);border:1px solid var(--line);padding:40px 18px 18px;border-radius:6px;max-width:min(1100px,94vw);max-height:92vh;overflow:auto}.lightbox::backdrop{background:#0c1425cc;backdrop-filter:blur(3px)}.lightbox img{width:auto;height:auto;max-width:100%;max-height:80vh;object-fit:contain;margin:auto}.lightbox-close{position:sticky;top:0;float:right;display:grid;place-items:center;width:44px;height:44px;margin-top:-35px;margin-right:-12px;border:0;background:var(--bg);color:var(--ink);font-size:28px;line-height:1;z-index:2}
.reveal{animation:enter .7s var(--ease) both;animation-play-state:paused}.reveal.is-visible{animation-play-state:running}@keyframes enter{from{opacity:.6;transform:translateY(17px)}to{opacity:1;transform:translateY(0)}}
@media(hover:none){.open-project{opacity:1;transform:none}.folder-front{transform:rotateX(-6deg)}}
@media(min-width:1500px){.hero{gap:70px}.workspace{margin-left:30px}.folder-one{left:12px}.folder-two{left:158px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.header-inner{width:calc(100% - 48px);gap:18px}.main-nav{gap:20px;margin-right:10px}.header-actions{gap:13px}.hero{grid-template-columns:1.15fr .85fr;gap:8px;min-height:660px}.hero h1{font-size:5.65vw}.workspace{transform:scale(.85);transform-origin:right center;margin-left:-65px;min-width:430px}.method-grid{gap:70px}.about{gap:65px}.stack{gap:65px}.case-body{grid-template-columns:160px 1fr;gap:45px}.project-image{height:255px}.project-card.website .project-image{height:185px}.project-caption h3{font-size:19px}}
@media(max-width:820px){.header-contact{display:none}.header-inner{gap:20px}.main-nav{gap:24px;margin-right:15px}.hero{grid-template-columns:1fr;min-height:unset;padding-top:60px;gap:15px;padding-bottom:60px}.hero-copy{max-width:670px}.hero h1{font-size:clamp(49px,8.7vw,74px);white-space:normal}.hero-intro{max-width:500px}.workspace{transform:scale(.85);margin:-38px auto -35px;min-width:460px;width:460px;transform-origin:center;min-height:410px}.folder-one{left:15px;top:35px}.folder-two{top:221px;left:175px}.workspace-caption{right:-5px;top:5px}.portrait-note{bottom:2px;left:27px}.note-file{top:40px;right:4px}.workspace-scribble{top:175px;right:10px}.hero-scroll{left:auto;right:0;bottom:23px}.hero-expertise{margin-top:28px}.section{padding-block:80px}.section-heading{gap:35px;align-items:flex-start}.section-heading>p{max-width:280px;font-size:12px}.project-grid{gap:35px 23px}.project-card.website{grid-column:span 3}.project-card.website:last-child{grid-column:span 6;max-width:calc(50% - 12px)}.project-image{height:245px;padding:18px 18px 0}.project-card.tool .project-image{height:230px}.project-card.website .project-image{height:215px}.method-grid{gap:45px}.about{grid-template-columns:.8fr 1.2fr;gap:45px}.about-copy .lead{font-size:15px}.about-copy p{font-size:12px}.about-signature{font-size:43px;left:9px}.stack{gap:45px}.experience-row{gap:25px;grid-template-columns:.8fr 1.2fr .7fr}.automation{margin-left:0}.calls-proof{padding-left:18px}.contact-arrow{width:80px;height:80px;margin-right:0}.contact-bottom{gap:12px 22px}.email-link{font-size:16px}.socials{margin-left:0}.footer{flex-wrap:wrap}.case-body{grid-template-columns:1fr;gap:25px;padding-top:40px}.case-toc{position:static;flex-direction:row;gap:20px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:20px}.case-toc p{display:none}.case-cover{padding:25px 25px 0}.case-meta{gap:20px}.case-heading{padding-block:35px}.case-story{max-width:100%}.case-story h2{font-size:28px}.case-story p{font-size:13px}}
@media(max-width:600px){body{font-size:14px}.container{width:calc(100% - 40px)}.section{padding-block:65px}.section-label{font-size:10px;margin-bottom:18px}h2{font-size:39px}.header-inner{width:calc(100% - 36px)}.site-header{height:76px}.wordmark{font-size:25px}.wordmark-script{font-size:40px}.main-nav{gap:16px;margin:0;font-size:10px;flex-wrap:wrap;justify-content:flex-end}.js .main-nav{display:none;position:absolute;top:75px;left:0;right:0;background:var(--bg);padding:22px 25px 30px;border-bottom:1px solid var(--line);flex-direction:column;gap:5px;font-size:15px;box-shadow:0 12px 16px #1420330a}.js.menu-open .main-nav{display:flex}.main-nav a{padding:11px 0}.header-actions{gap:9px}.theme-toggle{width:32px}.menu-toggle{display:flex}.locale-link{min-width:24px}.hero{padding-top:44px;padding-bottom:55px;gap:5px}.intro-label{font-size:9px;line-height:1.7;letter-spacing:0;gap:7px;margin-bottom:24px}.hero h1{font-size:clamp(39px,8.7vw,52px);line-height:1.17;letter-spacing:-.06em}.hero h1 em{font-size:1.4em}.hero-intro{font-size:13px;line-height:1.85;margin-top:24px;max-width:355px}.hero-actions{gap:21px;margin-top:24px}.button{font-size:11px;padding:14px 17px;gap:17px;min-height:48px}.hero-actions .text-link{font-size:11px;gap:8px}.hero-expertise{font-size:8px;gap:5px 10px;line-height:1.9;margin-top:25px}.hero-expertise li+li:before{margin-right:10px}.workspace{min-width:360px;width:360px;min-height:355px;transform:scale(.84);margin:-5px auto -37px;left:50%;margin-left:-180px}.folder{width:190px;height:141px}.folder-one{top:35px;left:2px}.folder-two{left:139px;top:190px}.folder-front{padding:13px;font-size:10px}.folder-tab{width:68px;top:-13px}.portrait-note{width:94px;bottom:0;left:19px}.portrait-note img{width:80px;height:87px}.portrait-note figcaption{font-size:17px}.note-file{width:92px;height:116px;right:2px;top:40px;padding:12px 9px}.code-sign{font-size:21px;margin-bottom:12px}.note-file>span:not(.code-sign){font-size:10px}.note-file small{font-size:6.5px}.workspace-caption{font-size:8px;right:3px;top:5px;max-width:120px}.workspace-scribble{width:120px;right:12px;top:139px}.hero-scroll{bottom:20px;font-size:8px;gap:7px}.hero-scroll svg{height:12px;width:12px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:24px;max-width:100%;font-size:12px}.section-heading>.text-link{margin-top:20px}.filters{gap:4px;margin-bottom:25px}.filters button{padding:8px 12px;font-size:10px;min-height:42px}.project-grid{display:block}.project-card{margin-bottom:37px}.project-card:last-child{margin-bottom:0}.project-card.website:last-child{max-width:none}.project-image,.project-card.tool .project-image,.project-card.website .project-image{height:auto;aspect-ratio:1.5;padding:21px 21px 0}.project-image>img{height:100%;object-fit:cover}.project-caption{margin-top:15px}.project-category{font-size:9px}.project-caption h3{font-size:22px}.project-summary{font-size:12px;margin-top:9px;max-width:100%}.tags li{font-size:9px}.image-stamp{font-size:9px;top:12px;left:12px}.method-grid{grid-template-columns:1fr;gap:38px}.method h2{font-size:42px}.method p{max-width:none}.method .lead{font-size:16px}.method-proof{gap:12px}.stars-proof{padding-bottom:25px}.stars-proof strong{font-size:82px}.star-symbol{font-size:58px}.stars-proof>span:not(.star-symbol){font-size:12px}.method-links a{padding-block:15px}.about{grid-template-columns:1fr;gap:45px}.about-image{max-width:250px;margin:0 auto 4px}.about-signature{font-size:48px;left:10px;bottom:-2px}.about-copy .lead{font-size:16px}.about-copy p{font-size:13px}.qualifications p{font-size:12px}.stack{grid-template-columns:1fr;gap:20px;padding-top:25px}.stack h3{max-width:100%;font-size:16px}.stack .tags{gap:8px}.stack .tags li{font-size:10px}.experience-row{grid-template-columns:1fr;gap:23px;padding-block:27px}.experience-company{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 13px}.experience-company h3{font-size:20px}.experience-company p{font-size:10px}.experience-company small{width:100%;margin-top:0}.experience-row h3{font-size:17px}.experience-row p{font-size:12px}.calls-proof{border:0;padding-left:0;display:grid;grid-template-columns:auto 1fr;gap:0 20px;align-items:center}.calls-proof strong{font-size:42px;grid-row:1/3}.calls-proof p{margin:0;max-width:none;font-size:11px}.calls-proof small{margin-top:4px;font-size:9px}.automation{margin-bottom:30px;padding-top:24px}.automation h3{font-size:17px}.process-comparison{grid-template-columns:1fr;gap:24px}.evidence-note{font-size:9px}.freelance{grid-template-columns:1fr}.contact{padding-top:68px;padding-bottom:27px}.contact-inner{gap:28px 16px}.contact h2{font-size:42px;margin-bottom:20px}.contact p{font-size:12px}.contact-arrow{height:52px;width:52px;align-self:start;margin-top:55px}.contact-arrow svg{height:25px;width:25px}.contact-bottom{padding-top:23px;gap:12px 17px}.email-link{font-size:clamp(11px,3.8vw,16px);width:100%;overflow-wrap:anywhere}.copy-email{font-size:10px;min-height:42px}.socials{width:100%;gap:23px}.socials .text-link{font-size:11px}.footer{font-size:8px;align-items:start;gap:6px;display:grid;grid-template-columns:1fr auto;padding-block:18px}.footer p{font-size:8px}.footer p+p{grid-column:1;max-width:230px}.footer a{grid-column:2;grid-row:1/3;font-size:8px;padding:0}.case-main{padding-top:23px}.case-heading{padding-block:25px 30px}.case-heading h1{font-size:45px;line-height:1.13}.case-subtitle{font-size:27px;line-height:1.3;margin-top:18px}.case-intro{font-size:14px;margin-top:20px}.case-actions{gap:20px;margin-top:22px;flex-wrap:wrap}.case-actions .text-link{font-size:12px}.case-meta{grid-template-columns:1fr 1fr;gap:20px;margin-top:28px;padding-top:21px}.case-meta>div:last-child{grid-column:1/-1}.case-meta dt{font-size:9px;margin-bottom:5px}.case-meta dd{font-size:11px}.case-cover{padding:14px 14px 0;border-radius:4px}.case-cover img{border-radius:2px}.case-cover figcaption{font-size:8px;line-height:1.6;padding:11px 0}.case-body{padding-top:28px;gap:29px}.case-toc{gap:12px 20px;font-size:10px;padding-bottom:17px}.case-story section{margin-bottom:36px}.case-story h2{font-size:26px;margin-bottom:17px}.case-story h3{font-size:16px}.case-story p{font-size:13px;line-height:1.9}.decision-list{grid-template-columns:1fr;gap:22px}.decision-list p{font-size:12px}.outcomes li{font-size:13px;gap:13px;padding-block:14px}.evidence-links article .text-link{font-size:13px;gap:10px}.evidence-links article p{font-size:11px}.proof-grid{grid-template-columns:1fr;gap:20px}.proof-grid img{height:200px;object-fit:contain;background:var(--panel)}.proof-grid figure:first-child img{object-fit:cover;object-position:top}.proof-grid figcaption{font-size:12px}.proof-grid small{font-size:10px}.result-context{padding:16px}.result-context p{font-size:11px}.next-project{padding-block:25px 30px}.next-project strong{font-size:25px}.next-project svg{width:28px;height:28px;margin:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}
/* Portrait-led full-stack presentation, following the approved clean palette. */
.identity-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:40px 72px;align-items:center;padding-top:74px;scroll-margin-top:30px}
.identity-hero .hero-copy{pointer-events:auto}.identity-hero .intro-label{font-size:10px;letter-spacing:.045em;margin-bottom:26px}
.identity-hero h1{font-size:clamp(65px,8.1vw,109px);line-height:.98;letter-spacing:-.075em;font-weight:750;overflow-wrap:normal}
.name-period{color:var(--blue)}.identity-signature{font-size:22px;line-height:1.4;margin-top:22px;color:var(--ink);letter-spacing:-.04em}
.identity-signature em{font:400 60px/.8 var(--script);color:var(--blue);display:inline-block;transform:rotate(-4deg);padding-inline:6px;letter-spacing:-.015em}
.identity-hero .hero-intro{font-size:15px;max-width:490px;margin-top:30px}.identity-bio{font-size:12px;line-height:1.85;max-width:470px;margin-top:14px}
.identity-hero .hero-actions{margin-top:27px}.identity-socials{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:22px}
.identity-socials .text-link{font-size:10px;gap:8px;border:0}.identity-socials .text-link svg{height:13px;width:13px}.identity-socials>span{font-size:9px;color:var(--muted)}
.portrait-stage{position:relative;width:100%;max-width:450px;perspective:1200px;padding:20px 14px 29px;margin-left:auto;min-width:0}
.portrait-depth{position:relative;transform-style:preserve-3d}.portrait-frame{padding:10px 10px 0;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 35px #18345d0c;position:relative;transform:translateZ(8px)}
.portrait-frame img{width:100%;height:auto;aspect-ratio:1/1.07;object-fit:cover;object-position:center 35%;border-radius:7px}
.portrait-frame figcaption{font:400 37px/1.7 var(--script);color:var(--blue);text-align:center;transform:rotate(-3deg)}
.portrait-outline{position:absolute;inset:0 31px 66px -9px;border:1px solid var(--line);border-radius:12px;transform:rotate(-4deg);z-index:-1}
.layer-note{position:absolute;display:flex;flex-direction:column;gap:3px;padding:12px 17px;border-radius:5px;background:var(--bg);border:1px solid var(--line);box-shadow:0 6px 22px #18345d0c;min-width:160px;transform:translateZ(34px)}
.layer-note span{font-size:9px;font-weight:700;color:var(--blue);letter-spacing:.05em;text-transform:uppercase}.layer-note strong{font-size:11px;font-weight:600;color:var(--ink)}
.front-note{left:-34px;top:43px;transform:translateZ(40px) rotate(-4deg)}.back-note{bottom:75px;right:-25px;transform:translateZ(55px) rotate(3deg)}
.portrait-caption{font-size:10px;line-height:1.65;margin-top:24px;margin-right:5px;text-align:right}
.identity-foot{grid-column:1/-1;display:flex;align-items:center;gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:22px;margin-top:15px}
.identity-foot p{font-size:11px;font-weight:650;color:var(--ink)}.identity-foot ul{display:flex;gap:22px;list-style:none;padding:0;margin:0;font-size:10px;color:var(--muted)}.identity-foot li+li:before{content:'·';color:var(--blue);margin-right:22px}.identity-foot>a{margin-left:auto;width:35px;height:35px;display:grid;place-items:center;color:var(--blue)}
.project-card,.project-image-link,.case-cover{perspective:1200px}.project-image{backface-visibility:hidden;transform-origin:center center}
.skills-section{background:var(--panel)}.capability-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px}
.capability-column{border-top:1px solid var(--line);padding-top:26px}.capability-label{font-size:12px;font-weight:750;color:var(--blue);margin-bottom:18px}
.capability-column h3{font-size:27px;line-height:1.3;max-width:370px;margin-bottom:18px}.capability-column>p:not(.capability-label){font-size:13px;line-height:1.85;max-width:460px}
.capability-column .tags{margin-top:23px;gap:9px}.capability-column .tags li,.automation-capability .tags li{font-size:10px;background:var(--bg);border:1px solid var(--line);padding:4px 8px}
.capability-column .text-link{margin-top:18px;font-size:11px}.automation-capability{margin-top:48px;padding-top:32px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:65px}
.automation-capability h3{font-size:27px;line-height:1.3}.automation-capability>div>p:not(.capability-label){font-size:13px;line-height:1.85}.automation-capability .text-link{margin-top:17px;font-size:11px}
.repertoire{display:grid;grid-template-columns:1fr 1fr;gap:65px;border-top:1px solid var(--line);padding-top:33px;margin-top:40px}.repertoire h3{font-size:16px;line-height:1.5;margin-bottom:19px}.repertoire .tags{margin-top:0}.repertoire .tags li{font-size:10px;background:var(--bg);padding:5px 10px}.repertoire p{font-size:12px;line-height:1.8}.repertoire small{display:block;font-size:10px;margin-top:3px;color:var(--muted)}
.learning{padding-top:19px;margin-top:19px;border-top:1px solid var(--line)}.learning summary{font-size:11px;line-height:1.7}.learning ul{padding-left:17px;font-size:11px;color:var(--muted);line-height:1.9}.learning li+li{margin-top:5px}.repertoire .language-note{font-size:10px;margin-top:15px}
.resume-section{display:flex;justify-content:space-between;align-items:center;gap:40px;border-bottom:1px solid var(--line)}.resume-section p:not(.section-label){max-width:490px;font-size:13px;margin-top:24px}.resume-section .button{flex-shrink:0}
.layer-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.layer-grid article{border-top:2px solid var(--blue);padding-top:17px}.case-story .layer-grid h3{font-size:19px}.case-story .layer-grid p{font-size:12px}.layer-grid .tags li{font-size:9px}
html.smooth-motion{scroll-behavior:auto}.smooth-motion .project-image{transition:none}
@media(max-width:1100px){.identity-hero{gap:35px 52px;padding-top:59px}.identity-hero h1{font-size:8.4vw}.identity-hero .hero-intro{font-size:14px}.identity-bio{font-size:11px}.identity-signature{font-size:21px}.identity-signature em{font-size:55px}.portrait-stage{padding-right:5px}.back-note{right:-9px}.front-note{left:-22px}.main-nav{gap:19px}.header-contact{gap:15px;padding-inline:13px}}
@media(max-width:900px){.identity-hero{grid-template-columns:1.05fr .95fr;gap:30px}.identity-hero .intro-label{font-size:8px;letter-spacing:0;max-width:315px}.identity-hero h1{font-size:8.8vw}.identity-signature{font-size:18px}.identity-signature em{font-size:47px}.identity-hero .hero-intro{font-size:12px;margin-top:24px}.identity-bio{font-size:10px}.identity-hero .hero-actions{gap:18px;flex-wrap:wrap}.identity-socials{gap:13px;margin-top:14px}.identity-socials>span{width:100%;font-size:9px}.portrait-frame{padding:7px 7px 0}.portrait-frame figcaption{font-size:30px}.layer-note{padding:9px 12px;min-width:130px}.layer-note strong{font-size:9px}.layer-note span{font-size:8px}.front-note{left:-13px;top:35px}.back-note{bottom:55px;right:-10px}.identity-foot{gap:25px}.identity-foot ul{gap:13px;font-size:9px}.identity-foot li+li:before{margin-right:13px}.identity-foot p{font-size:10px}.capability-grid,.automation-capability,.repertoire{gap:40px}.capability-column h3,.automation-capability h3{font-size:23px}}
@media(max-width:600px){.identity-hero{grid-template-columns:1fr;gap:34px;padding-top:37px}.identity-hero .intro-label{font-size:9px;max-width:none;margin-bottom:23px}.identity-hero h1{font-size:clamp(58px,18vw,88px);line-height:.97}.identity-signature{font-size:20px;margin-top:21px}.identity-signature em{font-size:54px}.identity-hero .hero-intro{font-size:13px;margin-top:26px;max-width:100%}.identity-bio{font-size:11px;max-width:100%}.identity-hero .hero-actions{gap:22px;margin-top:24px;flex-wrap:nowrap}.identity-socials{gap:20px;margin-top:16px}.identity-socials>span{width:auto;font-size:8px}.portrait-stage{max-width:340px;width:calc(100% - 15px);padding:10px 9px 12px;margin:auto}.portrait-outline{inset:-2px 21px 45px -3px}.portrait-frame{padding:8px 8px 0;border-radius:8px}.portrait-frame img{aspect-ratio:1/1.03;border-radius:4px}.portrait-frame figcaption{font-size:34px}.layer-note{padding:10px 12px;min-width:128px}.layer-note strong{font-size:9px}.front-note{top:29px;left:-11px}.back-note{right:-9px;bottom:68px}.portrait-caption{font-size:9px;margin-top:17px}.identity-foot{margin-top:2px;gap:15px;flex-wrap:wrap;padding-block:18px}.identity-foot p{font-size:10px;width:calc(100% - 55px)}.identity-foot>a{width:32px;height:32px;grid-column:2;order:0;margin:0 0 0 auto}.identity-foot ul{width:100%;font-size:8px;gap:11px;order:1;flex-wrap:wrap}.identity-foot li+li:before{margin-right:11px}.capability-grid,.automation-capability,.repertoire{grid-template-columns:1fr;gap:32px}.capability-column{padding-top:22px}.capability-column h3,.automation-capability h3{font-size:25px;margin-bottom:16px}.capability-column>p:not(.capability-label),.automation-capability>div>p:not(.capability-label){font-size:12px}.capability-label{font-size:12px;margin-bottom:14px}.automation-capability{margin-top:34px;padding-top:26px;gap:18px}.repertoire{margin-top:30px;padding-top:27px;gap:29px}.repertoire h3{font-size:15px;margin-bottom:15px}.repertoire .tags{gap:7px}.repertoire .tags li{font-size:9px}.learning summary{font-size:11px}.learning ul{font-size:11px}.resume-section{align-items:flex-start;flex-direction:column;gap:27px}.resume-section h2{font-size:42px}.resume-section p:not(.section-label){font-size:12px;margin-top:21px}.resume-section .button{font-size:12px;padding-inline:21px}.layer-grid{grid-template-columns:1fr;gap:25px}.case-story .layer-grid h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){.portrait-depth,.project-image,.case-cover>img{transform:none!important}.portrait-frame{transform:none}.portrait-stage{perspective:none}}

html.dialog-open{overflow:hidden}html{scrollbar-gutter:stable}
/* Editorial opening: one strong canvas, real portrait, quieter evidence below. */
.hero-canvas{position:relative;isolation:isolate;overflow:clip;background:#101d33;color:#f0f4ff;border-bottom:1px solid #324766}
.hero-watermark{position:absolute;top:8px;left:50%;transform:translateX(-50%);font-size:clamp(90px,17.7vw,248px);font-weight:800;line-height:1;letter-spacing:-.075em;white-space:nowrap;color:#6c91ce24;z-index:-1;user-select:none}
.hero-canvas .identity-hero{padding-top:105px;gap:35px 50px;min-height:770px}
.hero-canvas .hero-copy{align-self:center}.hero-canvas .intro-label{color:#c4d2e8}.hero-canvas h1{font-size:clamp(72px,9vw,122px);letter-spacing:-.075em}.hero-canvas .name-period{color:#a9c4ff}
.hero-canvas .identity-signature{color:#f0f4ff}.hero-canvas .identity-signature em{color:#a9c4ff;font-size:70px}.hero-canvas .hero-intro{color:#d4dfef;font-size:16px;max-width:490px}.hero-canvas .identity-bio{color:#a9b9d1}.hero-canvas .text-link{color:#f0f4ff;border-color:#587096}.hero-canvas .identity-socials>span{color:#a9b9d1}.hero-canvas .portrait-stage{max-width:490px;padding:0 0 24px}.hero-canvas .portrait-frame{padding:0;border-radius:2px;background:none;border-color:#657c9d;box-shadow:none}.hero-canvas .portrait-frame img{border-radius:1px;aspect-ratio:1/1.18;object-position:50% 34%}.hero-canvas .portrait-frame figcaption{position:absolute;bottom:12px;left:18px;color:#fff;text-shadow:0 2px 15px #101d33;font-size:45px}.hero-canvas .portrait-outline{inset:22px -18px 9px 23px;border-color:#5f7ba2;border-radius:2px;transform:none}.hero-canvas .layer-note{background:#14253beF;border-color:#5c7292;color:#fff;border-radius:1px;backdrop-filter:blur(8px)}.hero-canvas .layer-note strong{color:#fff}.hero-canvas .layer-note span{color:#a9c4ff}.hero-canvas .front-note{left:-28px;top:42px}.hero-canvas .back-note{right:-16px;bottom:65px}.hero-canvas .portrait-caption{color:#a9b9d1;margin-top:26px}.hero-canvas .identity-foot{border-color:#40516d;margin-top:10px}.hero-canvas .identity-foot p{color:#f0f4ff}.hero-canvas .identity-foot ul{color:#b0bfd6}.hero-canvas .identity-foot>a{color:#a9c4ff}
.work .project-grid{column-gap:36px}.project-caption h3{font-size:30px}.project-summary{max-width:100%}
.transformation{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:start;gap:14px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0 18px}
.transformation span{display:block;text-transform:uppercase;font-size:9px;letter-spacing:.07em;color:var(--muted);margin-bottom:7px;font-weight:650}.transformation p{font-size:12px;line-height:1.6;color:var(--ink)}.transformation b{font-size:17px;color:var(--blue);align-self:center;font-weight:400}.project-card .transformation{grid-template-columns:1fr;gap:12px;padding:18px 0}.project-card .transformation>div{display:grid;grid-template-columns:105px 1fr;gap:10px}.project-card .transformation span{margin:0;line-height:1.6;font-size:8px}.project-card .transformation p{font-size:11px}.project-card .transformation b{display:none}.case-heading+.transformation{margin-bottom:35px}.case-heading+.transformation p{font-size:17px}
.impact-section{background:var(--pale);border-block:1px solid var(--line)}.impact-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:70px}.score-chart figcaption{display:flex;justify-content:space-between;align-items:start;gap:20px;padding-bottom:28px}.score-chart figcaption strong{font-size:14px;font-weight:650}.score-chart figcaption span{font-size:10px;color:var(--muted);max-width:120px;text-align:right}.chart-axis{display:flex;justify-content:space-between;margin-left:122px;margin-right:35px;font-size:9px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:7px}.score-group{padding-top:18px}.score-group>p{font-size:10px;font-weight:700;color:var(--ink);margin-bottom:8px}.score-row{display:grid;grid-template-columns:112px 1fr 25px;gap:10px;align-items:center;min-height:27px}.score-row>span{font-size:10px;color:var(--muted)}.score-row>b{font-size:11px;font-variant-numeric:tabular-nums;text-align:right;font-weight:600}.score-track{height:6px;background:var(--line);position:relative;overflow:hidden}.score-fill{display:block;width:var(--score);height:100%;background:#2455d6;transform-origin:left}.tone-1{background:#49739c}.tone-2{background:#6388b5}.tone-3{background:#307d80}.chart-note{font-size:10px;line-height:1.8;margin-top:25px}.score-chart .text-link{font-size:11px;margin-top:10px}.backend-proof{border-left:1px solid var(--line);padding-left:40px}.backend-proof h3{font-size:28px;line-height:1.3}.system-flow{display:grid;justify-items:center;margin:30px 0;gap:9px}.system-flow>span{border:1px solid var(--line);padding:12px 18px;font-size:12px;background:var(--bg);width:100%;text-align:center}.system-flow>b{color:var(--blue);font-size:19px;font-weight:400;line-height:1}.backend-proof>p:not(.section-label){font-size:12px;line-height:1.85}.proof-links{display:flex;gap:25px;margin:18px 0}.proof-links .text-link{font-size:11px}.backend-proof>small{display:block;color:var(--muted);font-size:10px;line-height:1.8}
.delivery-brief{display:grid;grid-template-columns:1fr 1fr 1fr;border-block:1px solid var(--line);padding:24px 0;margin:0 0 42px;gap:25px}.delivery-brief dt{font-size:10px;color:var(--muted);margin-bottom:8px}.delivery-brief dd{margin:0;font-size:13px;font-weight:600}.delivery-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;list-style:none;padding:0;margin:0 0 52px}.delivery-timeline li{position:relative;border-top:1px solid var(--line);padding-top:22px}.step-mark{position:absolute;top:-14px;left:0;background:var(--bg);padding-right:10px;color:var(--blue);font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.delivery-timeline h3{font-size:18px;margin:7px 0 12px}.delivery-timeline p{font-size:12px;line-height:1.75}.investment-panel{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);gap:60px;padding:42px}.investment-panel h3{font-size:27px;line-height:1.3;margin-bottom:18px}.investment-panel p:not(.section-label){font-size:12px;line-height:1.85}.investment-quote{border-left:1px solid var(--line);padding-left:40px}.investment-quote>span{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.investment-quote>strong{display:block;font-size:35px;line-height:1.3;letter-spacing:-.05em;font-weight:600;margin:12px 0 16px}.investment-quote .button{margin-top:24px;font-size:12px}
@media(min-width:901px){.project-grid .project-card:nth-child(even){margin-top:75px}.project-grid .project-card:nth-child(odd){margin-top:0}}
@media(max-width:900px){.hero-canvas .identity-hero{min-height:0;padding-top:90px;gap:30px}.hero-canvas h1{font-size:9.5vw}.hero-canvas .hero-intro{font-size:13px}.hero-canvas .identity-signature em{font-size:52px}.impact-grid{gap:35px}.backend-proof{padding-left:24px}.score-row{grid-template-columns:90px 1fr 25px}.chart-axis{margin-left:100px}.score-chart figcaption{flex-direction:column;gap:5px}.score-chart figcaption span{text-align:left;max-width:none}.investment-panel{gap:30px;padding:28px}.investment-quote{padding-left:25px}.delivery-timeline{gap:20px}.delivery-timeline h3{font-size:16px}}
@media(max-width:600px){.hero-watermark{top:28px;font-size:20vw;letter-spacing:-.06em}.hero-canvas .identity-hero{padding-top:95px;grid-template-columns:1fr;gap:32px}.hero-canvas h1{font-size:clamp(68px,19vw,100px)}.hero-canvas .hero-intro{font-size:14px;line-height:1.8}.hero-canvas .identity-signature em{font-size:59px}.hero-canvas .portrait-stage{max-width:380px;width:calc(100% - 18px);margin:0 auto}.hero-canvas .portrait-frame img{aspect-ratio:1/1.04}.hero-canvas .portrait-frame figcaption{font-size:40px}.hero-canvas .portrait-outline{right:-12px}.hero-canvas .back-note{right:-10px}.hero-canvas .front-note{left:-10px}.hero-canvas .identity-foot{margin-top:0}.project-caption h3{font-size:26px}.impact-grid{grid-template-columns:1fr;gap:40px}.backend-proof{border-left:0;padding:30px 0 0;border-top:1px solid var(--line)}.backend-proof h3{font-size:27px}.score-chart figcaption{flex-direction:row}.score-chart figcaption strong{font-size:12px}.score-chart figcaption span{max-width:120px;text-align:right;font-size:9px}.score-row{grid-template-columns:100px 1fr 25px}.chart-axis{margin-left:110px}.transformation{grid-template-columns:1fr;gap:12px}.transformation>b{transform:rotate(90deg);justify-self:start}.case-heading+.transformation p{font-size:14px}.delivery-brief{grid-template-columns:1fr;gap:19px;padding-block:22px}.delivery-brief>div{display:grid;grid-template-columns:105px 1fr;gap:10px}.delivery-brief dt{font-size:10px;margin:0}.delivery-brief dd{font-size:11px}.delivery-timeline{grid-template-columns:1fr 1fr;gap:36px 24px}.delivery-timeline p{font-size:11px}.investment-panel{grid-template-columns:1fr;padding:25px;gap:28px}.investment-panel h3{font-size:25px}.investment-quote{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.investment-quote>strong{font-size:33px}.investment-quote .button{font-size:11px;width:100%}}
@media(prefers-reduced-motion:reduce){.hero-watermark,.score-fill,.system-flow>span{transform:none!important}}
.case-answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px 40px;margin:0 0 42px}.case-answer-grid dt{font-size:10px;color:var(--muted);margin-bottom:7px}.case-answer-grid dd{margin:0;font-size:13px}.case-answer-grid .text-link{padding:0;border:0;font-size:13px;color:var(--blue)}
@media(max-width:600px){.case-answer-grid{gap:20px}.case-answer-grid dd,.case-answer-grid .text-link{font-size:11px}.case-answer-grid dt{font-size:9px}}
/* Centered portrait composition: monumental type behind the person. */
@font-face{font-family:Anton;src:url('/fonts/anton.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
.centered-hero{background:#091425;color:#f1eadf}.centered-hero .identity-hero{display:block;padding-top:0;min-height:0;position:relative;gap:0}
.hero-masthead{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding-block:28px 12px;position:relative;z-index:5}.hero-masthead>p{font-size:9px;letter-spacing:.16em;line-height:1.8;text-transform:uppercase;color:#f1eadf}.hero-masthead>p:last-child{text-align:right}.hero-masthead p span{color:#a6b5cb;font-size:8px}.masthead-signature{font:400 49px/1 var(--script);color:#bed0f0}
.hero-artboard{height:650px;position:relative;isolation:isolate;overflow:hidden}.centered-hero .hero-watermark{top:10px;left:0;right:0;transform:none;text-align:center;width:100%;font-family:Anton,Impact,sans-serif;font-size:clamp(120px,20vw,275px);font-weight:400;line-height:1.15;letter-spacing:-.025em;color:#dce6f6;z-index:0;user-select:none}
.centered-hero .portrait-stage{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:650px;max-width:none;margin:0;padding:0;z-index:1;perspective:1200px;pointer-events:none}.centered-hero .portrait-depth{transform-style:preserve-3d}.centered-hero .portrait-frame{padding:0;border:0;border-radius:0;background:none;box-shadow:none;transform:none}.centered-hero .portrait-frame img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;object-position:center;border-radius:0;filter:none}.centered-hero .hero-copy{position:absolute;left:0;bottom:42px;width:255px;z-index:3;align-self:auto;pointer-events:auto}.hero-greeting{font:400 41px/1.1 var(--script);color:#bed0f0;margin-bottom:10px;transform:rotate(-5deg);transform-origin:left center}.centered-hero h1{font:400 clamp(48px,5.1vw,70px)/1.05 Anton,Impact,sans-serif;letter-spacing:-.015em;text-transform:uppercase;color:#f1eadf}.centered-hero .name-period{color:#a9c4ff}.hero-role{font-size:12px;line-height:1.5;color:#bed0f0;letter-spacing:.05em;text-transform:uppercase;font-weight:650;margin-top:14px}.centered-hero .hero-intro{font-size:11px;line-height:1.85;margin-top:17px;color:#b8c5d8;max-width:220px}.centered-hero .hero-actions{margin-top:18px;display:block}.centered-hero .text-link{color:#e3ebf8;border-color:#475773;font-size:11px}.centered-hero .text-link:hover{color:#a9c4ff}.hero-aside{position:absolute;right:0;bottom:42px;width:210px;z-index:3}.hero-star{font-size:39px;color:#bed0f0;line-height:1.2;display:block;margin-bottom:15px}.hero-aside>p:first-of-type{color:#b8c5d8;font-size:11px;line-height:1.85}.centered-hero .identity-signature{font-size:13px;line-height:1.6;margin-top:23px;color:#dce6f6;letter-spacing:0}.centered-hero .identity-signature em{font-size:54px;line-height:1.3;color:#bed0f0;padding:0}.hero-aside .text-link{margin-top:23px}
.hero-profile-strip{display:grid;grid-template-columns:1fr 1fr 1.05fr;border:1px solid #465571;position:relative;z-index:4;margin-bottom:38px;background:#091425}.hero-profile-strip>div{padding:28px 31px}.hero-profile-strip>div+div{border-left:1px solid #34445e}.strip-label{font-size:8px;text-transform:uppercase;letter-spacing:.13em;color:#a5b4cb;margin-bottom:10px}.profile-intro>strong{font-size:26px;font-weight:500;letter-spacing:-.045em;line-height:1.25;display:block}.profile-intro>p:last-child{font-size:10px;line-height:1.8;color:#aebdd1;margin-top:13px}.profile-context>p{font-size:11px;color:#c4cfdf;line-height:1.9;max-width:265px}.centered-hero .identity-socials{margin-top:12px;gap:20px}.centered-hero .identity-socials .text-link{font-size:9px}.hero-profile-strip .hero-facts{padding-block:9px}.hero-facts>a{display:grid;grid-template-columns:65px 1fr auto;align-items:center;gap:12px;padding:12px 0}.hero-facts>a+a{border-top:1px solid #34445e}.hero-facts strong{font-size:35px;font-weight:400;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.hero-facts strong>span{font-size:16px;margin-left:3px;vertical-align:middle;color:#bed0f0}.hero-facts>a>span{font-size:9px;line-height:1.6;color:#c4cfdf}.hero-facts small{display:block;font-size:8px;color:#a5b4cb}.hero-facts svg{width:14px;height:14px;color:#bed0f0}.centered-hero+.work{padding-top:72px}
@media(min-width:1440px){.centered-hero .hero-watermark{font-size:275px}}
@media(min-width:601px) and (max-width:1000px){.hero-artboard{height:550px}.centered-hero .portrait-stage{width:550px;left:52%}.centered-hero .hero-watermark{font-size:20vw;top:20px}.centered-hero .hero-copy{width:200px;bottom:30px}.centered-hero h1{font-size:5.8vw}.hero-aside{width:150px;bottom:30px}.hero-aside>p:first-of-type{font-size:10px}.centered-hero .hero-intro{font-size:10px;max-width:180px}.hero-greeting{font-size:35px}.hero-profile-strip>div{padding:22px 18px}.profile-intro>strong{font-size:23px}.hero-facts>a{grid-template-columns:47px 1fr auto;gap:7px}.hero-facts strong{font-size:30px}.hero-facts>a>span{font-size:8px}.profile-context>p{font-size:10px}}
@media(max-width:600px){.centered-hero .identity-hero{padding-top:0}.hero-masthead{padding-block:21px 10px;gap:10px;grid-template-columns:1fr auto}.hero-masthead>p{font-size:7px;letter-spacing:.1em}.hero-masthead p span{font-size:6px}.masthead-signature{display:none}.hero-artboard{height:610px;overflow:hidden}.centered-hero .hero-watermark{top:13px;font-size:21vw;letter-spacing:-.025em;line-height:1.2}.centered-hero .portrait-stage{width:390px;max-width:none;left:58%;bottom:144px;z-index:1}.centered-hero .hero-copy{left:0;bottom:35px;width:58%;z-index:3}.hero-greeting{font-size:34px;margin-bottom:10px}.centered-hero h1{font-size:clamp(43px,11.5vw,65px);line-height:1.05}.hero-role{font-size:9px;margin-top:12px}.centered-hero .hero-intro{font-size:10px;line-height:1.7;margin-top:13px;max-width:190px}.centered-hero .hero-actions{margin-top:13px}.centered-hero .hero-actions .text-link{font-size:10px}.hero-aside{right:0;bottom:39px;width:36%;max-width:145px;z-index:3}.hero-star{font-size:27px;margin-bottom:10px}.hero-aside>p:first-of-type{font-size:9px;line-height:1.7}.centered-hero .identity-signature{font-size:10px;margin-top:15px}.centered-hero .identity-signature em{font-size:40px;line-height:1.35}.hero-aside .text-link{font-size:9px;margin-top:15px;gap:7px}.hero-aside .text-link svg{width:13px;height:13px}.hero-profile-strip{grid-template-columns:1fr;margin-bottom:26px}.hero-profile-strip>div{padding:24px}.hero-profile-strip>div+div{border-left:0;border-top:1px solid #34445e}.profile-intro>strong{font-size:29px}.profile-intro>p:last-child{font-size:11px}.profile-context>p{max-width:none;font-size:12px}.hero-profile-strip .hero-facts{display:grid;grid-template-columns:repeat(3,1fr);padding:20px 15px}.hero-facts>a{grid-template-columns:1fr;gap:8px;padding:0 9px;align-content:start}.hero-facts>a+a{border-top:0;border-left:1px solid #34445e}.hero-facts strong{font-size:31px}.hero-facts>a>span{font-size:8px;line-height:1.65}.hero-facts svg{display:none}.centered-hero+.work{padding-top:52px}}
@media(max-width:360px){.hero-artboard{height:580px}.centered-hero .portrait-stage{width:345px;bottom:175px}.hero-aside{width:34%;bottom:34px}.centered-hero h1{font-size:40px}.centered-hero .hero-intro{font-size:9px}.hero-role{font-size:8px}.hero-aside>p:first-of-type{font-size:8px}.centered-hero .identity-signature em{font-size:34px}}
@media(min-width:1001px){.centered-hero .hero-watermark{font-size:clamp(240px,23.2vw,320px)}.centered-hero .portrait-stage{width:580px}}
body:has(.centered-hero) .site-header{background:#091425;color:#f1eadf;border-color:#34445e}body:has(.centered-hero) .wordmark-script{color:#bed0f0}body:has(.centered-hero) .header-contact{border-color:#465571}body:has(.centered-hero) .menu-toggle span{background:#f1eadf}
@media(max-width:900px){body:has(.centered-hero) .main-nav{background:#091425;color:#f1eadf}}
@media(max-width:600px){.centered-hero .hero-watermark{font-size:23.5vw}.hero-artboard{height:700px}.centered-hero .portrait-stage{width:360px;bottom:255px;left:55%}}
@media(max-width:360px){.hero-artboard{height:700px}.centered-hero .portrait-stage{width:345px;bottom:270px}}
/* Quiet hero: original photograph, native vector silhouette, no information cards. */
.centered-hero .hero-masthead{display:flex;justify-content:space-between;padding-block:24px 7px}.centered-hero .hero-artboard{height:550px}.portrait-clip-def{position:absolute;overflow:hidden}.centered-hero .portrait-stage{width:400px;left:52%;bottom:0;filter:drop-shadow(0 10px 24px #09142538)}.centered-hero .portrait-frame img{clip-path:url(#original-portrait-silhouette);filter:none;width:100%;height:auto;aspect-ratio:1;image-rendering:auto}.centered-hero .hero-watermark{top:0;color:#b9c9e2;text-shadow:none}.centered-hero .hero-copy{bottom:43px;width:255px}.centered-hero .hero-greeting{font-size:36px;margin-bottom:9px}.centered-hero h1{font-size:clamp(48px,4.8vw,65px);text-shadow:none}.centered-hero .hero-role{font-size:10px;line-height:1.6;margin-top:12px}.centered-hero .hero-actions{margin-top:22px}.centered-hero .hero-aside{width:175px;bottom:49px}.centered-hero .identity-signature{margin:0;font-size:13px}.centered-hero .identity-signature em{font-size:54px}.centered-hero .identity-hero{padding-bottom:0}.centered-hero{box-shadow:none}
@media(min-width:601px) and (max-width:1000px){.centered-hero .hero-artboard{height:480px}.centered-hero .portrait-stage{width:360px;left:53%}.centered-hero .hero-copy{width:190px;bottom:35px}.centered-hero h1{font-size:5.6vw}.centered-hero .hero-aside{width:135px;bottom:42px}.centered-hero .identity-signature em{font-size:43px}}
@media(max-width:600px){.centered-hero .hero-masthead{padding-top:19px}.centered-hero .hero-masthead>p{font-size:7px}.centered-hero .hero-artboard{height:580px}.centered-hero .hero-watermark{top:15px}.centered-hero .portrait-stage{width:min(340px,100%);left:56%;bottom:168px}.centered-hero .hero-copy{width:59%;bottom:30px}.centered-hero h1{font-size:clamp(40px,11.5vw,58px)}.centered-hero .hero-greeting{font-size:30px}.centered-hero .hero-role{font-size:9px;margin-top:10px}.centered-hero .hero-actions{margin-top:14px}.centered-hero .hero-aside{width:33%;bottom:47px}.centered-hero .identity-signature{font-size:10px}.centered-hero .identity-signature em{font-size:36px}}
/* Hero correction: remove all halos; mask only the original wall, keep photo pixels. */
.centered-hero .portrait-stage{filter:none!important}.centered-hero .portrait-frame img{clip-path:none;mask-image:url('/assets/anny-original-mask.svg');mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-image:url('/assets/anny-original-mask.svg');-webkit-mask-size:100% 100%;filter:none!important}.centered-hero .hero-greeting{font-size:48px;line-height:1.25;color:#fff;opacity:1;position:relative}.centered-hero .hero-copy{isolation:isolate}.centered-hero .hero-copy:before{content:'';position:absolute;inset:-30px -35px -42px -60px;background:linear-gradient(90deg,#091425 12%,#091425eb 55%,#09142500);z-index:-1;pointer-events:none}.centered-hero .hero-watermark{pointer-events:none}.centered-hero .hero-aside{pointer-events:none}
/* One viewport per project, stacked with native sticky positioning. */
.work{padding-bottom:0}.work .section-heading{margin-bottom:35px}.work .filters{margin-bottom:35px}.work .project-grid{display:block;gap:0;width:100%;perspective:1600px}.project-grid .project-card.project-stage{position:relative;margin:0!important;max-width:none;min-height:100svh;padding:0;border:0;border-radius:0;background:var(--pale);color:var(--ink);perspective:1600px}.project-stage:nth-child(even){background:var(--bg)!important}.project-stage .project-screen{width:min(1320px,calc(100% - 112px));margin:auto;min-height:100svh;display:grid;grid-template-columns:.8fr 1.2fr;gap:32px 70px;align-content:center;align-items:center;padding:65px 0 28px;backface-visibility:hidden;transform-origin:center top}.stage-index{font-size:12px;font-variant-numeric:tabular-nums;font-weight:700;color:var(--blue);margin-bottom:28px}.stage-index>span{font-size:10px;font-weight:500;color:var(--muted);margin-left:12px}.stage-copy h3{font-size:clamp(36px,4.4vw,66px);letter-spacing:-.055em;line-height:1.05;overflow-wrap:anywhere}.stage-summary{font-size:14px;line-height:1.85;margin-top:22px;max-width:430px}.stage-outcomes{list-style:none;padding:0;margin:25px 0;border-top:1px solid var(--line)}.stage-outcomes li{padding:10px 0;border-bottom:1px solid var(--line);font-size:11px;line-height:1.7;display:flex;gap:12px}.stage-outcomes li:before{content:'↗';color:var(--blue)}.stage-stack>span{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.stage-stack>p{font-size:11px;color:var(--ink);margin-top:6px;line-height:1.8}.stage-link{font-size:12px;display:inline-flex;align-items:center;gap:40px;margin-top:26px;padding-block:12px;border-bottom:1px solid var(--blue);color:var(--blue)}.stage-link>span{font-size:24px;line-height:1}.project-stage .stage-visual{min-width:0}.project-stage .project-image-link{border:0;border-radius:0;background:none;perspective:none;display:block}.project-stage .project-image{height:auto!important;aspect-ratio:auto!important;display:block;padding:0!important;background:none!important;border-radius:0;overflow:visible;transform:none}.project-stage .project-image>img{display:block;width:100%;height:auto;max-height:43svh;object-fit:contain;object-position:center;border:1px solid var(--line);border-radius:3px;box-shadow:0 12px 30px #14203310;transform:none!important}.project-stage .project-image-link:hover img{transform:none!important}.value-graphic{margin-top:30px}.value-graphic figcaption{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.value-graphic>svg{width:100%;height:38px;color:var(--blue);display:block;margin-top:9px}.value-stops{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.value-stops span{font-size:8px;text-transform:uppercase;color:var(--muted);letter-spacing:.08em}.value-stops p{font-size:10px;color:var(--ink);line-height:1.65;margin-top:5px}.value-graphic small{display:block;font-size:8px;color:var(--muted);margin-top:13px}.stage-footnote{grid-column:1/-1;font-size:9px;line-height:1.75;border-top:1px solid var(--line);padding-top:17px;max-width:100%;margin-top:5px}
@media(min-width:901px) and (min-height:700px) and (pointer:fine) and (prefers-reduced-motion:no-preference){.project-grid .project-stage{position:sticky;top:0;z-index:var(--stage-order)}}
/* Evidence: real records, modern line plots and readable data. */
.evidence-section{background:var(--bg);border-bottom:1px solid var(--line)}.evidence-columns{display:grid;grid-template-columns:1.2fr .8fr;gap:65px}.quality-lines figcaption{display:flex;justify-content:space-between;gap:20px;margin-bottom:22px}.quality-lines figcaption>strong{font-size:13px;font-weight:600}.quality-lines figcaption>span{font-size:9px;color:var(--muted);text-align:right}.quality-lines>svg{width:100%;height:auto;color:var(--muted);overflow:visible}.quality-lines svg text{fill:currentColor;font:10px Manrope,sans-serif}.quality-lines .line-0{stroke:#2455d6;fill:#2455d6}.quality-lines .line-1{stroke:#36877b;fill:#36877b}.quality-lines .line-2{stroke:#8b69b1;fill:#8b69b1}.quality-lines polyline{fill:none!important;stroke-linejoin:round;stroke-linecap:round}.quality-lines table{border-collapse:collapse;width:100%;font-size:10px;margin-top:18px;font-variant-numeric:tabular-nums}.quality-lines th,.quality-lines td{border-bottom:1px solid var(--line);padding:11px 7px;text-align:right;font-weight:500}.quality-lines th:first-child{text-align:left}.quality-lines thead th{font-size:9px;color:var(--muted)}.legend-dot{width:6px;height:6px;border-radius:50%;display:inline-block;background:currentColor;margin-right:7px}.legend-dot.line-0{color:#2455d6}.legend-dot.line-1{color:#36877b}.legend-dot.line-2{color:#8b69b1}.quality-lines>p{font-size:10px;line-height:1.8;margin-top:19px}.evidence-columns .backend-proof{padding-left:35px}.backend-route{display:grid;gap:10px;margin-block:25px}.backend-route>span{font-size:12px;border-bottom:1px solid var(--line);padding:9px 0}.backend-route>i{font-style:normal;color:var(--blue);font-size:16px}.evidence-columns>div>.text-link{font-size:11px;margin-top:18px}
/* Technology logos: zoom and labels on hover, keyboard and touch. */
.tech-groups{border-top:1px solid var(--line)}.tech-group{display:grid;grid-template-columns:235px 1fr;gap:45px;padding:35px 0;border-bottom:1px solid var(--line);align-items:center}.tech-group h3{font-size:22px;margin-bottom:10px}.tech-group>div>p{font-size:11px;line-height:1.7;max-width:210px}.tech-logos{display:flex;align-items:center;gap:18px;flex-wrap:wrap;list-style:none;margin:0;padding:0}.tech-logo{position:relative;display:flex;align-items:center;justify-content:center;width:68px;height:78px;outline-offset:4px}.tech-logo>img{width:39px;height:39px;object-fit:contain;transition:transform .25s ease;filter:none}.tech-wordmark{font-weight:800;letter-spacing:-.055em;line-height:1;font-size:17px;color:var(--ink);text-align:center;transition:transform .25s ease}.tech-wordmark>span{color:#4a8d7d}.tech-wordmark:has(br){font-size:11px;line-height:1.15;letter-spacing:-.03em}.tech-name{position:absolute;bottom:-8px;left:50%;transform:translate(-50%,4px);opacity:0;pointer-events:none;white-space:nowrap;font-size:10px;font-weight:600;color:var(--ink);transition:opacity .2s,transform .2s}.tech-logo:hover>img,.tech-logo:focus>img,.tech-logo:hover>.tech-wordmark,.tech-logo:focus>.tech-wordmark{transform:scale(1.2)}.tech-logo:hover>.tech-name,.tech-logo:focus>.tech-name{opacity:1;transform:translate(-50%,0)}.tech-logo:focus-visible{outline:2px solid var(--blue);border-radius:3px}
/* Native details keep each tool on the same page. */
.toolbox{border-bottom:1px solid var(--line)}.tool-detail{border-top:1px solid var(--line);scroll-margin-top:25px}.tool-detail:last-child{border-bottom:1px solid var(--line)}.tool-detail>summary{list-style:none;display:grid;grid-template-columns:1fr 1fr 34px;gap:25px;align-items:center;padding:30px 0;cursor:pointer}.tool-detail>summary::-webkit-details-marker{display:none}.tool-name{font-size:28px;font-weight:600;letter-spacing:-.04em;line-height:1.25}.tool-name>small{display:block;font-weight:400;font-size:10px;letter-spacing:0;color:var(--muted);margin-top:10px}.tool-summary{font-size:12px;color:var(--muted)}.tool-toggle{font-size:32px;font-weight:300;color:var(--blue);line-height:1}.tool-detail[open] .tool-toggle{transform:rotate(45deg)}.tool-content{padding-bottom:40px}.tool-introduction{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.tool-introduction figure>img{width:100%;height:auto;max-height:350px;object-fit:contain;object-position:top;border:1px solid var(--line);background:var(--panel)}.tool-introduction figcaption{font-size:9px;color:var(--muted);margin-top:10px}.tool-introduction h3{font-size:22px;margin-bottom:18px}.tool-introduction p{font-size:12px;line-height:1.85}.tool-introduction .text-link{font-size:11px;margin-top:17px}.tool-metrics{display:grid;grid-template-columns:1fr 1fr;gap:25px;border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.tool-metrics dt{font-size:9px;color:var(--muted)}.tool-metrics dd{font-size:28px;letter-spacing:-.04em;margin:8px 0;line-height:1.1}.tool-metrics small{font-size:9px;color:var(--muted)}.tool-decisions{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding:30px 0;border-block:1px solid var(--line);margin:30px 0}.tool-decisions h4{font-size:14px;margin:0 0 12px;font-weight:600}.tool-decisions p{font-size:11px;line-height:1.8}.tool-content .quality-lines{max-width:850px;margin:auto}.catalog-ruler{max-width:850px;margin:auto;color:var(--blue)}.catalog-ruler figcaption{font-size:12px;font-weight:600;color:var(--ink)}.catalog-ruler svg{width:100%;height:auto;margin-block:15px}.catalog-ruler svg text{fill:currentColor;font:12px Manrope,sans-serif}.catalog-ruler p{font-size:11px;line-height:1.8}.tool-evidence{display:flex;flex-wrap:wrap;gap:15px 30px;margin-top:25px}.tool-evidence .text-link{font-size:10px}
/* Footer adapted from the supplied layout, with only real destinations. */
.closing-footer{background:#091425;color:#e8eef9;overflow:hidden}.closing-top{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;padding-top:95px;padding-bottom:60px}.closing-top .section-label{color:#b4c6df;font-size:10px;max-width:400px}.closing-top h2{font-size:clamp(36px,4.5vw,62px)}.closing-top h2 em{color:#b8cef0}.closing-email{display:inline-block;font-size:clamp(12px,1.4vw,18px);margin-top:30px;overflow-wrap:anywhere;border-bottom:1px solid #49607e;padding-block:7px}.closing-top>div>p:last-child{font-size:11px;color:#9fb2cd;line-height:1.9;margin-top:24px}.closing-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding-top:8px}.closing-nav h3{font-size:12px;font-weight:600}.closing-nav ul{list-style:none;padding:0;margin:22px 0 0}.closing-nav li{font-size:11px;color:#b5c3d7;line-height:1.7}.closing-nav li+li{margin-top:13px}.closing-nav a:hover{color:#fff}.closing-bottom{border-top:1px solid #34445e;padding-block:23px;display:flex;gap:25px;justify-content:space-between;font-size:9px;color:#9fb2cd}.closing-watermark{font-size:clamp(48px,14.5vw,198px);letter-spacing:-.075em;font-weight:650;line-height:1.1;text-align:center;white-space:nowrap;margin-bottom:-.22em;color:#ceddf429;mask-image:linear-gradient(#000,transparent);user-select:none}
@media(max-width:1100px){.project-stage .project-screen{width:calc(100% - 70px);gap:28px 40px}.stage-copy h3{font-size:44px}.stage-summary{font-size:12px}.stage-outcomes li{font-size:10px}.value-stops{gap:12px}.value-stops p{font-size:9px}.tech-group{grid-template-columns:190px 1fr;gap:30px}.tech-logos{gap:10px}.closing-top{gap:40px}}
@media(max-width:900px),(max-height:699px){.project-grid .project-card.project-stage{position:relative;min-height:0}.project-stage .project-screen{min-height:0;padding-block:55px;grid-template-columns:1fr;gap:30px}.stage-copy h3{font-size:48px}.stage-summary{max-width:620px}.stage-index{margin-bottom:20px}.stage-outcomes{display:flex;flex-wrap:wrap;gap:12px 24px;border:0;margin-block:18px}.stage-outcomes li{border:0;padding:0}.stage-stack{margin-top:10px}.stage-link{margin-top:15px}.project-stage .project-image>img{max-height:none}.stage-footnote{grid-column:auto}.evidence-columns{grid-template-columns:1fr;gap:40px}.evidence-columns .backend-proof{padding:28px 0 0;border:0;border-top:1px solid var(--line)}.backend-route{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:17px}.backend-route>i{transform:rotate(-90deg)}.tech-group{grid-template-columns:1fr;gap:18px}.tech-group>div>p{max-width:none}.tech-logos{gap:19px}.tool-introduction{gap:30px}.closing-top{grid-template-columns:1fr;gap:45px}.closing-nav{max-width:620px}.closing-nav h3{font-size:13px}}
@media(max-width:600px){.centered-hero .hero-greeting{font-size:39px}.centered-hero .hero-copy:before{inset:-25px -20px -35px -35px}.work .section-heading{margin-bottom:25px}.project-stage .project-screen{width:calc(100% - 40px);padding-block:42px;gap:25px}.stage-copy h3{font-size:37px;line-height:1.12}.stage-summary{font-size:12px;margin-top:17px}.stage-index{font-size:10px;margin-bottom:18px}.stage-index>span{font-size:8px;margin-left:7px}.stage-outcomes{gap:8px 16px;margin-block:16px}.stage-outcomes li{font-size:10px}.stage-stack>p{font-size:10px}.stage-link{font-size:11px;gap:30px;padding-block:8px}.value-graphic{margin-top:22px}.value-graphic figcaption{font-size:9px}.value-stops{gap:15px}.value-stops p{font-size:9px}.value-stops span{font-size:7px}.value-graphic small{font-size:8px;line-height:1.7}.stage-footnote{font-size:8px;padding-top:15px}.quality-lines figcaption{gap:15px}.quality-lines figcaption>strong{font-size:11px}.quality-lines figcaption>span{font-size:8px;max-width:130px}.quality-lines table{font-size:9px}.quality-lines th,.quality-lines td{padding:9px 3px}.quality-lines thead th{font-size:7px}.quality-lines>p{font-size:9px}.backend-route{gap:10px}.backend-route>span{font-size:10px}.tech-group{padding-block:28px}.tech-group h3{font-size:23px}.tech-logos{gap:13px}.tech-logo{width:60px;height:76px}.tech-logo>img{width:34px;height:34px}.tech-name{font-size:8px;bottom:0;opacity:1;transform:translate(-50%,0)}.tech-wordmark{font-size:15px}.tool-detail>summary{grid-template-columns:1fr 25px;gap:15px;padding-block:25px}.tool-name{font-size:25px}.tool-summary{grid-column:1;grid-row:2;font-size:10px}.tool-toggle{grid-column:2;grid-row:1/3;font-size:30px}.tool-introduction{grid-template-columns:1fr;gap:25px}.tool-introduction h3{font-size:22px}.tool-introduction p{font-size:12px}.tool-metrics dd{font-size:27px}.tool-decisions{grid-template-columns:1fr;gap:23px;margin-block:25px;padding-block:25px}.tool-decisions h4{margin-bottom:10px}.tool-decisions p{font-size:11px}.tool-evidence{gap:12px 20px}.tool-evidence .text-link{font-size:10px}.closing-top{padding-block:65px 40px;gap:38px}.closing-top h2{font-size:40px}.closing-top .section-label{font-size:9px}.closing-email{font-size:13px;margin-top:24px}.closing-nav{gap:17px}.closing-nav h3{font-size:11px}.closing-nav li{font-size:10px}.closing-nav ul{margin-top:17px}.closing-bottom{flex-wrap:wrap;gap:12px 20px;font-size:8px}.closing-watermark{font-size:14.1vw}}
@media(hover:none){.tech-name{opacity:1;transform:translate(-50%,0)}}
@media(prefers-reduced-motion:reduce){.project-stage{position:relative!important}.project-screen{transform:none!important;opacity:1!important}.tech-logo>img,.tech-wordmark{transition:none}.quality-line{stroke-dashoffset:0!important}}
.quality-lines .line-1{stroke-dasharray:7 4}.quality-lines .line-2{stroke-dasharray:2 4}
:root[data-theme=dark] .tech-logo img[src$="github.svg"],:root[data-theme=dark] .tech-logo img[src$="vercel.svg"]{filter:invert(1)}
@media(max-width:600px){.centered-hero .hero-artboard{height:650px}.centered-hero .portrait-stage{bottom:225px}}
/* Transparent portrait asset replaces all previous clipping/masking attempts. */
.centered-hero .portrait-frame img{mask:none!important;-webkit-mask:none!important;clip-path:none!important;object-fit:contain;object-position:center;width:100%;height:auto;max-height:none;filter:none!important}.centered-hero .portrait-stage{left:50%;bottom:25px;width:400px;max-width:calc(100% - 24px);filter:drop-shadow(0 9px 22px #050d1b38)!important}.centered-hero .hero-artboard{overflow:visible}.centered-hero .portrait-frame{overflow:visible}
@media(min-width:601px) and (max-width:1000px){.centered-hero .portrait-stage{width:360px;bottom:20px}}
@media(max-width:600px){.centered-hero .portrait-stage{width:320px;max-width:calc(100% - 20px);left:50%;bottom:220px}}
/* Persistent navigation and a softer portrait ending, matching the navy canvas. */
:root{--header-height:82px}.site-header{position:sticky;top:0;width:100%;height:var(--header-height);z-index:100}.main-nav{gap:21px;margin-right:16px}.main-nav a{font-size:11px;white-space:nowrap}.main-nav a[aria-current=location]{font-weight:800}.main-nav a[aria-current=location]:after{right:0}.centered-hero .portrait-frame{mask-image:linear-gradient(to bottom,#000 0%,#000 70%,rgba(0,0,0,.72) 84%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 70%,rgba(0,0,0,.72) 84%,transparent 100%)}.centered-hero .portrait-stage{filter:drop-shadow(0 10px 20px #07132644)!important}.profile-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-bottom:1px solid var(--line)}.profile-story>.lead{font-size:20px;line-height:1.7;color:var(--ink)}.profile-story>p:not(.lead){font-size:13px;line-height:1.9}.profile-social-links{display:flex;gap:25px;margin-top:25px}.profile-social-links .text-link{font-size:12px}.education-section{background:var(--panel);border-bottom:1px solid var(--line)}.education-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.degree-block{border-top:1px solid var(--line);padding-top:25px}.degree-block>span{font-size:11px;letter-spacing:.08em;color:var(--blue);font-weight:650}.degree-block h3{font-size:39px;line-height:1.15;margin-block:20px}.degree-block>p{font-size:13px;line-height:1.8}.degree-block .language-note{font-size:11px;margin-top:25px}.education-list{list-style:none;padding:0;margin:0}.education-list li{border-top:1px solid var(--line);padding:17px 0}.education-list li:last-child{border-bottom:1px solid var(--line)}.education-list strong{display:block;font-size:13px;font-weight:600;line-height:1.6}.education-list span{display:block;color:var(--muted);font-size:10px;margin-top:5px}.education-experiences{font-size:11px;line-height:1.9;margin-top:23px}
@media(min-width:901px) and (min-height:700px) and (pointer:fine) and (prefers-reduced-motion:no-preference){.project-grid .project-card.project-stage{top:var(--header-height);min-height:calc(100svh - var(--header-height))}.project-stage .project-screen{min-height:calc(100svh - var(--header-height));padding-top:42px}}
@media(max-width:1100px){.main-nav{gap:13px}.header-inner{gap:18px}.header-actions{gap:12px}.profile-section,.education-grid{gap:45px}.profile-story>.lead{font-size:18px}}
@media(max-width:900px){:root{--header-height:76px}.profile-section,.education-grid{gap:35px}.main-nav a{font-size:14px}.main-nav a[aria-current=location]{color:var(--blue)}}
@media(max-width:600px){:root{--header-height:70px}.profile-section,.education-grid{grid-template-columns:1fr;gap:30px}.profile-story>.lead{font-size:17px}.profile-story>p:not(.lead){font-size:12px}.degree-block h3{font-size:35px}.degree-block>p{font-size:12px}.education-list strong{font-size:12px}.education-list span{font-size:10px}}
.case-toc{top:calc(var(--header-height) + 24px)}
@media(max-width:900px){.main-nav{flex-wrap:wrap}.js .main-nav{display:none;position:absolute;top:var(--header-height);left:0;right:0;margin:0;background:var(--bg);padding:20px 25px 25px;border-bottom:1px solid var(--line);flex-direction:column;gap:3px;align-items:stretch}.js.menu-open .main-nav{display:flex}.main-nav a{padding:10px 0}.menu-toggle{display:flex}.header-contact{display:none}.header-inner{gap:16px}.header-actions{margin-left:auto}.js .main-nav a[aria-current=location]{color:var(--blue)}html:not(.js) .site-header{height:auto;min-height:var(--header-height)}html:not(.js) .header-inner{height:auto;min-height:var(--header-height);padding-block:12px;flex-wrap:wrap}html:not(.js) .main-nav{order:3;width:100%;justify-content:flex-start;margin:0;gap:6px 18px}}
/* Project scenes now use GSAP pinning: no competing sticky or transformed ancestors. */
.work .project-grid,.project-grid .project-card.project-stage{perspective:none}.project-grid .project-card.project-stage{position:relative;top:auto;z-index:auto;min-height:0}.project-stage .project-screen{position:relative;background:inherit}.project-stage .project-tool-detail{padding-top:25px;padding-bottom:60px;scroll-margin-top:calc(var(--header-height) + 24px)}.project-stage .tool-name{font-size:24px}.project-stage .tool-summary{font-size:11px}.project-stage .tool-introduction{margin-top:20px}.project-stage .project-tool-detail .tool-content{padding-bottom:0}
.centered-hero .portrait-stage{filter:drop-shadow(-15px 18px 20px #020a17a6)!important}.locale-switch{display:flex;gap:4px;align-items:center}.locale-switch .locale-link{min-width:27px;opacity:.6;border-bottom:2px solid transparent}.locale-switch .locale-link[aria-current=page]{opacity:1;border-color:currentColor;font-weight:800}
.skills-section{background:#11283b;color:#edf4fb;--ink:#edf4fb;--muted:#b4c8dc;--line:#355169;--blue:#a8d0f5;--panel:#11283b}.skills-section .section-label{color:#b4c8dc}.skills-section .tech-logo img[src$="github.svg"],.skills-section .tech-logo img[src$="vercel.svg"]{filter:invert(1)}.skills-section .tech-wordmark>span{color:#87ccae}
.earlier-history{border-top:1px solid var(--line);margin-top:30px;padding-top:28px}.earlier-history>h3{font-size:22px;margin-bottom:25px}.earlier-history>div{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.earlier-history h4{font-size:14px;font-weight:600;line-height:1.5;margin:0 0 8px}.earlier-history p{font-size:11px;line-height:1.8}.earlier-history p+p{margin-top:10px}
@media(min-width:901px) and (min-height:700px) and (pointer:fine) and (prefers-reduced-motion:no-preference){.project-stage .project-screen{height:calc(100svh - var(--header-height));min-height:calc(100svh - var(--header-height));padding-top:28px;padding-bottom:22px}.stage-summary{font-size:13px}.stage-copy h3{font-size:clamp(36px,4vw,58px)}.stage-index{margin-bottom:20px}.stage-outcomes{margin-block:18px}.stage-outcomes li{padding-block:8px}.stage-link{margin-top:18px}.project-stage .project-image>img{max-height:39svh}.stage-footnote{margin-top:0}}
@media(max-width:900px){.earlier-history>div{grid-template-columns:1fr;gap:25px}.project-stage .project-tool-detail{padding-top:0;padding-bottom:40px}.project-stage .project-screen{height:auto}}
@media(max-width:600px){.locale-switch{gap:2px}.locale-switch .locale-link{min-width:24px;font-size:10px}.header-actions{gap:6px}.project-stage .tool-name{font-size:22px}.earlier-history>h3{font-size:21px}}

/* Reviewed in the browser: valid alpha fade and a directional navy shadow. */
.centered-hero .portrait-stage{filter:drop-shadow(-22px 18px 14px #020710c4)!important}
.centered-hero .portrait-stage:after{content:'';position:absolute;z-index:2;left:-6%;right:-6%;bottom:-3px;height:27%;background:linear-gradient(0deg,#091425 5%,#091425a6 32%,transparent);pointer-events:none}
@media(min-width:1001px){.centered-hero .portrait-stage{width:480px;bottom:0}.centered-hero .hero-artboard{height:580px}}
.project-scene{display:contents}
@media(min-width:768px) and (min-height:700px) and (prefers-reduced-motion:no-preference){
 .project-stage .project-screen{display:block;width:100%;height:calc(100svh - var(--header-height));min-height:calc(100svh - var(--header-height));padding:0;background:inherit;overflow:clip}
 .project-stage .project-scene{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;align-content:center;gap:24px 55px;width:100%;height:100%;padding:28px max(32px,calc((100% - 1250px)/2));background:inherit;transform-origin:center center}
 .project-stage .stage-copy{min-width:0}.project-stage .stage-summary{font-size:14px;line-height:1.7}.project-stage .stage-index{margin-bottom:18px}.project-stage .stage-copy h3{font-size:clamp(36px,4.2vw,60px)}.project-stage .stage-outcomes{margin-block:18px}.project-stage .project-image>img{max-height:43svh}.project-stage .stage-footnote{grid-column:1/-1;margin:0}.project-stage .value-graphic{margin-top:24px}
}
@media(min-width:768px) and (max-width:1000px) and (min-height:700px){.project-stage .project-scene{gap:20px 30px}.project-stage .stage-summary{font-size:12px}.project-stage .stage-copy h3{font-size:36px}.project-stage .stage-outcomes li{font-size:10px;padding-block:6px}.project-stage .stage-stack>p{font-size:10px}.project-stage .value-stops{gap:10px}}
@media(prefers-reduced-motion:reduce){.project-scene{transform:none!important;clip-path:none!important}}

@media(min-width:768px) and (min-height:700px) and (prefers-reduced-motion:no-preference){.project-stage .project-screen{height:auto}.project-stage .project-scene{height:auto;min-height:calc(100svh - var(--header-height))}}
/* Scroll choreography: real perspective and overlapping project screens. */
:root{--hero-blue:#b9c9e2}
.locale-switch .locale-link{opacity:1;min-width:32px;font-weight:800;border:0}
.scroll-thread{position:fixed;left:15px;top:calc(var(--header-height) + 24px);bottom:24px;width:18px;z-index:102;pointer-events:none;color:var(--hero-blue)}
.scroll-thread svg{width:100%;height:100%;overflow:visible}.scroll-thread path{fill:none;stroke:currentColor;vector-effect:non-scaling-stroke}.thread-track{stroke-width:1;opacity:.17}.thread-progress{stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1;stroke-linecap:round}.thread-tip{fill:currentColor;filter:drop-shadow(0 0 4px #b9c9e299)}
.quality-lines .quality-value{font-size:11px;font-weight:700;fill:currentColor;stroke:none}.quality-lines .quality-node{transform-box:fill-box;transform-origin:center}.quality-lines .quality-value.line-0{color:#2455d6}.quality-lines .quality-value.line-1{color:#36877b}.quality-lines .quality-value.line-2{color:#8b69b1}
.catalog-total{margin:0 0 22px!important;font-size:12px;color:var(--ink)}.catalog-total>strong{font-size:58px;line-height:1;font-weight:600;letter-spacing:-.05em;margin-right:10px;font-variant-numeric:tabular-nums}.catalog-ruler .catalog-progress,.catalog-ruler .catalog-marker{color:var(--blue)}
@media(min-width:768px) and (min-height:700px) and (prefers-reduced-motion:no-preference){
 .work .project-grid{background:#091425}
 .project-grid .project-card.project-stage{--scene-bg:var(--pale);background:#091425!important;z-index:var(--stage-order)}
 .project-grid .project-card.project-stage:nth-child(even){--scene-bg:var(--bg)}
 .project-stage .project-screen{perspective:1600px;perspective-origin:50% 45%;overflow:visible;background:transparent;isolation:isolate}
 .project-stage .project-scene{background:var(--scene-bg);transform-style:preserve-3d;transform-origin:50% 50%;backface-visibility:hidden;clip-path:none!important}
 .project-stage .stage-copy{transform:translateZ(24px)}.project-stage .stage-visual{transform-style:preserve-3d}.project-stage .stage-footnote{transform:translateZ(10px)}
 .project-stage .project-tool-detail{position:relative;background:var(--scene-bg);margin:0;width:100%;padding:45px max(48px,calc((100% - 1184px)/2)) 70px}
}
@media(max-width:600px){.scroll-thread{left:4px;width:10px;top:calc(var(--header-height) + 16px);bottom:16px}.catalog-total>strong{font-size:48px}}
@media(prefers-reduced-motion:reduce){.scroll-thread{display:none}.freelance,.earlier-history{opacity:1!important;transform:none!important}.quality-line{stroke-dashoffset:0!important}.quality-node,.quality-value{opacity:1!important}}

.quality-lines .quality-value{fill:var(--ink);color:var(--ink)!important}
/* Lenis owns smooth interpolation; native anchor jumps must stay immediate. */
html.smooth-motion{scroll-behavior:auto!important}

.freelance,.earlier-history{transition:opacity .25s ease}
@media(prefers-reduced-motion:reduce){.freelance,.earlier-history{transition:none}}
/* Three production websites share one intentional, touch-friendly carousel. */
.website-carousel{background:var(--bg);position:relative;padding:85px 0 55px;color:var(--ink)}.carousel-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:35px}.carousel-controls{display:flex;align-items:center;gap:22px}.carousel-controls button{width:46px;height:46px;border:1px solid var(--line);border-radius:50%;font-size:22px}.carousel-controls button:disabled{opacity:.3}.carousel-controls>span{font-size:12px;font-variant-numeric:tabular-nums}.website-track{position:relative;display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.website-track:focus-visible{outline:2px solid var(--blue);outline-offset:-3px}.website-track .project-card.website-slide{flex:0 0 100%;width:100%;max-width:none;margin:0;padding:0;scroll-snap-align:start;scroll-snap-stop:always;min-width:0;background:var(--panel)}.website-slide .project-screen{width:100%;padding:0}.website-slide .project-scene{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px 65px;align-items:center;min-height:680px;padding:50px max(48px,calc((100% - 1184px)/2))}.website-slide .stage-copy h3{font-size:clamp(34px,4vw,54px);line-height:1.1}.website-slide .stage-index{margin-bottom:22px}.website-slide .stage-summary{font-size:14px;line-height:1.8}.website-slide .stage-footnote{grid-column:1/-1}.website-track .website-slide .project-image{height:auto;padding:0;background:none;border-radius:0;overflow:visible}.website-slide .project-image img{height:auto;max-height:400px;object-fit:contain;transform:none!important;border-radius:0}.carousel-dots{display:flex;gap:25px;flex-wrap:wrap;margin-top:28px}.carousel-dots button{font-size:11px;min-height:44px;padding:8px 0;display:flex;gap:12px;border:0;border-bottom:2px solid transparent;color:var(--muted)}.carousel-dots button[aria-current]{color:var(--ink);border-color:var(--blue)}.carousel-dots button>span{font-size:9px;color:var(--blue)}
.tool-transition{position:relative;z-index:2;background:#091425;perspective:1600px;perspective-origin:50% 25%}.tool-detail-depth{background:var(--scene-bg,var(--pale));transform-origin:50% 0;transform-style:preserve-3d;backface-visibility:hidden}.tool-detail-depth .project-tool-detail{width:100%;margin:0;padding-inline:max(48px,calc((100% - 1184px)/2))}
/* Clip by letter-sized steps without breaking joined calligraphic glyphs. */
.type-word{display:inline-block;white-space:nowrap}.type-ink{display:inline-block}.writing-ready .type-ink{clip-path:inset(-35% 100% -35% 0)}h2 em,.marker-word{position:relative;isolation:isolate}h2 em:after,.marker-word:after{content:'';position:absolute;z-index:-1;left:-.025em;right:-.025em;bottom:-.025em;height:.12em;background:var(--hero-blue,#b9c9e2);opacity:.65;border-radius:35% 15% 25% 10%;transform:scaleX(var(--marker-scale,1)) skewX(-9deg);transform-origin:left}h1 .marker-word:after{height:.065em;bottom:.015em}.writing-ready .marker-word{--marker-scale:0}
@media(max-width:820px){.website-slide .project-scene{grid-template-columns:1fr;gap:25px;min-height:0;padding:35px 32px}.website-slide .stage-visual{min-width:0}.website-slide .project-image img{max-height:360px}.carousel-heading{align-items:center}.carousel-heading h2{font-size:35px}.carousel-controls{gap:12px}.carousel-dots{gap:12px 22px}.website-slide .stage-summary{max-width:100%}}
@media(max-width:600px){.website-carousel{padding-top:60px}.carousel-heading{align-items:flex-start;flex-direction:column}.carousel-controls{align-self:flex-end}.website-slide .project-scene{padding-inline:22px}.tool-detail-depth .project-tool-detail{padding-inline:22px}.website-slide .stage-copy h3{font-size:35px}.carousel-dots button{font-size:10px}}
@media(prefers-reduced-motion:reduce){.website-track{scroll-behavior:auto}.tool-detail-depth{transform:none!important;opacity:1!important}.type-ink{clip-path:none!important}.marker-word:after,h2 em:after{transform:skewX(-9deg)}}

/* Foreground project handoff: retain a full viewport until the next opaque
   surface covers it. Perspective belongs to imagery, never the page itself. */
@media(min-width:768px) and (min-height:700px) and (prefers-reduced-motion:no-preference){
 .project-grid .project-card.project-stage{background:transparent!important;isolation:isolate}
 .project-stage .project-screen{perspective:none;isolation:auto;background:var(--scene-bg)}
 .project-stage .project-scene{transform:none;transform-style:flat;backface-visibility:visible;background:var(--scene-bg)}
 .project-stage .stage-copy,.project-stage .stage-footnote{transform:none}
 .project-stage .stage-visual{transform-style:flat;transform-origin:center}
 .project-stage .tool-transition{perspective:none;background:var(--scene-bg)}
 .project-stage .tool-detail-depth{transform:none;transform-style:flat;backface-visibility:visible;background:var(--scene-bg)}
 .project-grid .website-carousel{z-index:10}
}
/* Evidence dashboard: four independent criteria, three preserved records. */
.quality-dashboard{max-width:none!important;margin-top:38px!important}.quality-dashboard>figcaption{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:26px;gap:28px}.quality-dashboard figcaption .section-label{display:block;font-size:9px;margin-bottom:14px}.quality-dashboard figcaption strong{display:block;font-size:30px;line-height:1.16;letter-spacing:-.04em;color:var(--ink)}.quality-dashboard figcaption>span{font-size:10px;line-height:1.7;text-align:right;color:var(--muted)}.quality-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.quality-metric{min-width:0;padding:23px 20px 18px;border:1px solid var(--line);border-radius:10px;background:var(--bg);box-shadow:0 5px 20px #14203304}.metric-heading{display:flex;justify-content:space-between;gap:10px;align-items:center}.metric-heading h4{font-size:12px;font-weight:650;letter-spacing:-.02em;margin:0}.metric-heading>span{font-size:9px;color:var(--muted)}.metric-score{font-size:38px!important;font-weight:600;line-height:1.1!important;letter-spacing:-.06em;margin:22px 0 7px!important;color:var(--metric-color)!important;font-variant-numeric:tabular-nums}.metric-score>span{font-size:.7em;margin:0 3px}.metric-caption{font-size:9px!important;line-height:1.5!important;margin:0!important}.quality-metric>svg{width:100%;height:auto;display:block;overflow:visible;margin:0}.quality-dashboard .quality-node{opacity:1!important}.metric-records{display:grid;grid-template-columns:repeat(3,1fr);margin:0;border-top:1px solid var(--line);padding-top:14px;gap:10px}.metric-records dt{font-size:8px;color:var(--muted)}.metric-records dd{font-size:12px;font-weight:650;margin:5px 0 0;color:var(--ink)}.quality-table{margin-top:23px;border-bottom:1px solid var(--line)}.quality-table>summary{cursor:pointer;font-size:11px;list-style:none;padding:14px 0;display:flex;justify-content:space-between}.quality-table table{margin-block:12px 22px!important}.quality-context{font-size:10px!important;line-height:1.8!important;max-width:850px;margin-top:20px!important}
/* Cover-aligned controls and free vertical page scrolling. */
.carousel-viewport{position:relative}.website-track{scrollbar-width:none;overscroll-behavior:auto;touch-action:pan-x pan-y}.website-track::-webkit-scrollbar{display:none}.carousel-controls{position:absolute;z-index:3;top:240px;left:44%;width:53%;transform:translateY(-50%);display:flex;justify-content:space-between;pointer-events:none}.carousel-controls button{pointer-events:auto;background:var(--bg);border-color:var(--line);box-shadow:0 5px 18px #09142514;transition:transform .25s,color .25s,background .25s}.carousel-controls button:hover:not(:disabled){transform:scale(1.1);background:var(--ink);color:var(--bg)}.carousel-controls button:disabled{opacity:.45}.carousel-controls>span{position:absolute;left:50%;bottom:-30px;transform:translateX(-50%);font-size:9px;background:var(--bg);padding:2px 8px;border-radius:10px}.website-slide .project-image-link{margin-inline:8px}.carousel-dots{margin-top:18px}
/* Contact action: restrained gold and a deliberate zoom. */
.header-contact{transition:transform .28s var(--ease),background .28s,color .28s,border-color .28s;transform-origin:center}.header-contact:hover,.header-contact:focus-visible{transform:scale(1.055);background:#d5b778!important;border-color:#d5b778!important;color:#172236!important}.header-contact svg{transition:transform .28s}.header-contact:hover svg{transform:translate(2px,-2px)}
/* A light hero is a complete palette, including the portrait fade. */
:root[data-theme=light] .centered-hero{background:#e8edf4;color:#172236;border-color:#c8d1df}
:root[data-theme=light] body:has(.centered-hero) .site-header{background:#e8edf4;color:#172236;border-color:#c8d1df}
:root[data-theme=light] body:has(.centered-hero) .wordmark-script{color:#355d91}
:root[data-theme=light] body:has(.centered-hero) .header-contact{border-color:#abb9cd}
:root[data-theme=light] body:has(.centered-hero) .menu-toggle span{background:#172236}
:root[data-theme=light] .centered-hero .hero-watermark{color:#567195}
:root[data-theme=light] .centered-hero h1{color:#172236}
:root[data-theme=light] .centered-hero .hero-greeting,:root[data-theme=light] .centered-hero .hero-role,:root[data-theme=light] .centered-hero .identity-signature,:root[data-theme=light] .centered-hero .identity-signature em,:root[data-theme=light] .centered-hero .hero-masthead>p,:root[data-theme=light] .centered-hero .text-link{color:#29496f}
:root[data-theme=light] .centered-hero .name-period{color:#355d91}
:root[data-theme=light] .centered-hero .hero-copy:before{background:linear-gradient(90deg,#e8edf4 12%,#e8edf4eb 55%,#e8edf400)}
:root[data-theme=light] .centered-hero .portrait-stage{filter:drop-shadow(-22px 18px 14px #17223655)!important}
:root[data-theme=light] .centered-hero .portrait-stage:after{background:linear-gradient(0deg,#e8edf4 5%,#e8edf4a6 32%,transparent)}
.vapour-signature{position:relative;overflow:hidden;min-height:clamp(100px,20vw,280px)}.vapour-signature .closing-watermark{margin:0;line-height:1.5}.vapour-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;display:none}.vapour-ready .closing-watermark{opacity:0}.vapour-ready .vapour-canvas{display:block}
@media(max-width:1000px){.quality-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){:root[data-theme=light] body:has(.centered-hero) .main-nav{background:#e8edf4;color:#172236}}
@media(max-width:600px){.quality-cards{gap:10px}.quality-metric{padding:18px 13px 14px}.metric-heading{gap:6px}.metric-heading h4{font-size:10px}.metric-score{font-size:32px!important}.metric-caption{font-size:8px!important}.metric-records{gap:4px}.metric-records dt{font-size:7px}.quality-dashboard figcaption strong{font-size:25px}.quality-dashboard>figcaption{align-items:start}.quality-dashboard figcaption>span{font-size:8px;max-width:110px}.carousel-controls button{width:40px;height:40px}.header-contact:hover{transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){.header-contact,.header-contact svg,.carousel-controls button{transition:none}.header-contact:hover,.header-contact:focus-visible{transform:none}.vapour-signature .closing-watermark{opacity:1}.vapour-canvas{display:none!important}}
.carousel-heading>[data-carousel-status]{font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted);padding-bottom:6px;white-space:nowrap}
.vapour-signature .closing-watermark{color:#7f94b5}
/* Editorial closing: a clear invitation, quiet navigation, deep blue material. */
.closing-footer{position:relative;isolation:isolate;background:linear-gradient(125deg,#081321 5%,#11273c 58%,#091523 100%);border-top:1px solid #405b7666}
.closing-footer:before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(#b9c9e20b 1px,transparent 1px),linear-gradient(90deg,#b9c9e20b 1px,transparent 1px);background-size:88px 88px;mask-image:linear-gradient(135deg,transparent 5%,#0009 55%,transparent 100%)}
.closing-footer>.container{position:relative;z-index:1}
.closing-invitation{display:flex;align-items:center;justify-content:space-between;gap:60px;padding:74px 0 46px;border-bottom:1px solid #8da8c42b}
.closing-invitation .section-label{font-size:9px;letter-spacing:.15em;color:#9fb6ce;margin-bottom:26px}
.closing-invitation h2{font-size:clamp(43px,5vw,70px);font-weight:500;letter-spacing:-.055em;line-height:1.12;color:#e9edf4}
.closing-invitation h2 em{color:#d6bf8c;font-size:1.22em}
.closing-invitation h2 em:after{background:#d6bf8c;height:.065em;opacity:.45;bottom:.025em}
.closing-cta{display:flex;flex-direction:column;align-items:center;gap:15px;min-width:135px;color:#d6bf8c;font-size:10px}
.closing-cta svg{width:88px;height:88px;padding:24px;border:1px solid #d6bf8c70;border-radius:50%;transition:transform .3s,background .3s,color .3s}
.closing-cta:hover svg,.closing-cta:focus-visible svg{transform:translate(3px,-3px) scale(1.04);background:#d6bf8c;color:#091523}
.closing-top{grid-template-columns:1.15fr 1fr;gap:65px;padding:34px 0 38px;align-items:start}
.closing-contact-label{display:block;font-size:10px;color:#9fb6ce}
.closing-contact .closing-email{display:inline-flex;align-items:center;gap:18px;font-size:clamp(14px,1.65vw,23px);letter-spacing:-.025em;margin-top:13px;border:0;padding:0 0 9px;color:#e9edf4;position:relative}
.closing-email:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:#d6bf8c;transform:scaleX(.18);transform-origin:left;transition:transform .35s}
.closing-email:hover:after,.closing-email:focus-visible:after{transform:scaleX(1)}
.closing-contact>p:last-child{font-size:10px;line-height:1.9;margin-top:18px;color:#9fb0c4}
.closing-nav{gap:30px;padding-top:0}.closing-nav h3{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#8ea7c0;font-weight:500}.closing-nav ul{margin-top:15px}.closing-nav li{font-size:10px;line-height:1.7;color:#d0dae6}.closing-nav li+li{margin-top:8px}.closing-nav a{display:inline-block;transition:color .2s,transform .2s}.closing-nav a:hover{color:#d6bf8c;transform:translateX(3px)}
.closing-bottom{padding-block:18px;border-color:#8da8c42b;color:#94a9be;font-size:8px;letter-spacing:.02em}.closing-bottom a{color:#d0dae6}
.vapour-signature{min-height:clamp(110px,18vw,250px)}.vapour-signature .closing-watermark{color:#91a7c3;mask-image:none}
@media(max-width:900px){.closing-top{grid-template-columns:1fr;gap:32px}.closing-invitation{padding-top:60px;gap:30px}.closing-nav{max-width:none;gap:35px}.closing-contact .closing-email{font-size:22px}}
@media(max-width:600px){.closing-invitation{align-items:flex-start;gap:18px;padding:48px 0 32px}.closing-invitation h2{font-size:clamp(31px,7.6vw,44px);line-height:1.15}.closing-invitation .section-label{font-size:8px;max-width:220px;line-height:1.8;margin-bottom:20px}.closing-cta{min-width:58px;max-width:70px;font-size:8px;text-align:center;gap:10px;margin-top:42px}.closing-cta svg{width:58px;height:58px;padding:16px}.closing-top{padding:27px 0 30px;gap:29px}.closing-contact .closing-email{font-size:clamp(13px,4vw,19px);gap:12px}.closing-nav{gap:17px}.closing-nav h3{font-size:8px}.closing-nav li{font-size:9px}.closing-bottom{font-size:7px;gap:11px 16px}.vapour-signature{min-height:110px}}
@media(prefers-reduced-motion:reduce){.closing-cta svg,.closing-email:after,.closing-nav a{transition:none}.closing-cta:hover svg,.closing-cta:focus-visible svg,.closing-nav a:hover{transform:none}}
/* Minimal footer, adapted from the supplied component to the portfolio. */
.minimal-footer{background:#091425;border-top:1px solid #92adc333}.minimal-footer:before{background:radial-gradient(ellipse 35% 80% at 30% 0%,#b9c9e21c,transparent);mask-image:none}.minimal-shell{position:relative;z-index:1;width:min(1120px,calc(100% - 80px));margin:auto;border-inline:1px solid #a2b6d11c;padding:46px 35px 0}.minimal-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:90px;padding-bottom:36px}.minimal-identity .wordmark{font-size:26px;color:#e2eaf6;line-height:1.1}.minimal-identity .wordmark-script{color:#c9b27c;font-size:41px}.minimal-identity>p{font-size:12px;line-height:1.9;max-width:350px;color:#a7b7cd;margin:21px 0 13px}.minimal-email{font-size:12px;color:#e1e9f4;display:inline-block;padding-block:6px}.minimal-email:hover{color:#d6bf8c}.minimal-socials{display:flex;gap:8px;margin-top:18px}.minimal-socials>a{display:grid;place-items:center;width:36px;height:36px;border:1px solid #a2b6d137;border-radius:5px;color:#afc0d7;transition:color .2s,background .2s,border-color .2s}.minimal-socials svg{width:16px;height:16px}.minimal-socials>a:hover,.minimal-socials>a:focus-visible{background:#b9c9e216;color:#d6bf8c;border-color:#d6bf8c77}.minimal-location{display:block;font-size:9px;color:#8fa4bd;margin-top:17px}.minimal-grid .closing-nav{grid-template-columns:1fr 1.15fr;gap:35px;padding-top:7px}.minimal-grid .closing-nav h3{font-size:10px}.minimal-grid .closing-nav li{font-size:11px}.minimal-grid .closing-nav li+li{margin-top:9px}.minimal-shell .closing-bottom{font-size:9px;padding-block:18px}.full-name{position:relative;z-index:1;width:100%;height:clamp(340px,78svh,850px);min-height:0;padding:0;background:linear-gradient(180deg,transparent,#11283c55);border-top:1px solid #a2b6d11c}.full-name .closing-watermark{display:flex;flex-direction:column;justify-content:center;align-items:center;white-space:normal;height:100%;font-size:clamp(100px,29vw,420px);line-height:.86;font-weight:600;letter-spacing:-.075em;color:#b9c9e2;mask-image:none}.full-name .closing-watermark>span{display:block}.full-name .closing-watermark>span:last-child{font-size:.71em}.spacing-letter{display:inline-block;will-change:transform,opacity}
/* Short atomic entry. No input or scroll lock, no second Lenis instance. */
.site-intro{display:none;position:fixed;inset:0;z-index:1000;pointer-events:none;background:#091425;color:#b9c9e2;opacity:1;transition:opacity .22s ease,visibility .22s}.intro-active .site-intro{display:grid;place-items:center}.site-intro.intro-leaving{opacity:0;visibility:hidden}.intro-atom{display:grid;justify-items:center;gap:15px}.intro-atom>svg{width:210px;height:210px;overflow:visible}.intro-atom>span{font-size:18px;font-weight:700;letter-spacing:-.05em;color:#dce6f4}.intro-script{font:400 32px/1 var(--script);color:#d6bf8c}.atom-orbit{transform-origin:120px 120px;animation:atom-orbit 2.4s linear infinite;--orbit-angle:0deg}.orbit-two{--orbit-angle:60deg;animation-duration:2.9s}.orbit-three{--orbit-angle:120deg;animation-duration:3.4s}.atom-orbit>ellipse{stroke:#b9c9e22b;stroke-width:2}.atom-orbit>.orbit-trace{stroke:#b9c9e2;stroke-dasharray:170 290;stroke-linecap:round;stroke-width:3}.atom-orbit>circle{fill:#d6bf8c}.atom-core{fill:#b9c9e2;filter:drop-shadow(0 0 15px #94aacc45)}.atom-shine{stroke:#f3f5fa;stroke-width:4;stroke-linecap:round}@keyframes atom-orbit{from{transform:rotate(var(--orbit-angle))}to{transform:rotate(calc(var(--orbit-angle) + 360deg))}}
@media(max-width:700px){.minimal-shell{width:calc(100% - 38px);padding:32px 20px 0}.minimal-grid{grid-template-columns:1fr;gap:33px;padding-bottom:26px}.minimal-grid .closing-nav{gap:25px}.minimal-shell .closing-bottom{font-size:8px;gap:11px 20px}.full-name{height:clamp(340px,60svh,600px)}.full-name .closing-watermark{font-size:31vw}.intro-atom>svg{width:165px;height:165px}}
@media(prefers-reduced-motion:reduce){.site-intro{display:none!important}.atom-orbit{animation:none}.spacing-letter{will-change:auto;transform:none!important;opacity:1!important}.minimal-socials>a{transition:none}}
/* One final viewport: functional footer above the calligraphic particle field. */
.minimal-footer{min-height:calc(100svh - var(--header-height));position:relative}
.minimal-footer .minimal-shell{min-height:calc(100svh - var(--header-height));display:flex;flex-direction:column;z-index:2;padding-top:0;background:linear-gradient(90deg,#09142518,transparent 45%,#09142518)}
.minimal-footer .minimal-grid{flex:1;align-content:center;padding-block:65px;position:relative}
.minimal-footer .closing-bottom{position:relative;margin-top:auto;flex-shrink:0}
.minimal-footer .full-name{position:absolute;inset:0;z-index:0;width:100%;height:100%;min-height:0;border:0;background:none;opacity:.18;pointer-events:none;user-select:none}
.minimal-footer .full-name .closing-watermark{font-family:var(--script);font-weight:400;letter-spacing:0;line-height:.9;color:#b9c9e2}
.minimal-footer .full-name .closing-watermark>span:last-child{font-size:.9em}
@media(max-width:700px){.minimal-footer .minimal-grid{padding-block:42px;gap:35px}.minimal-footer .minimal-shell{padding-top:0}.minimal-footer .full-name{height:100%;opacity:.14}.minimal-footer .full-name .closing-watermark{font-size:37vw}}
.minimal-footer .minimal-identity .wordmark{font-size:32px}.minimal-footer .minimal-identity .wordmark-script{font-size:49px}.minimal-footer .minimal-identity>p{font-size:13px;max-width:400px}.minimal-footer .minimal-email{font-size:14px}.minimal-footer .minimal-grid .closing-nav li{font-size:12px}.minimal-footer .minimal-grid .closing-nav h3{font-size:11px}
@media(max-width:700px){.minimal-footer .minimal-identity>p{font-size:12px}.minimal-footer .minimal-email{font-size:12px}.minimal-footer .minimal-grid .closing-nav li{font-size:11px}}
/* Arrival: a projected particle sphere expands into a full-screen hero reveal. */
.depth-intro{background:#091425;transition:none}.intro-depth-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.intro-brand{position:absolute;bottom:9vh;left:0;right:0;text-align:center;opacity:var(--intro-label-opacity,1)}.intro-brand>span{font-size:24px;font-weight:700;letter-spacing:-.06em;color:#e2eaf6}.intro-brand .intro-script{font-size:42px}.intro-brand>p{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#91a7c3;margin:13px 0 0}
/* Use the available desktop canvas for the footer's actual content. */
@media(min-width:1001px){
 .minimal-footer .minimal-shell{width:calc(100% - 112px);max-width:none;padding-inline:32px;border:0}
 .minimal-footer .minimal-grid{grid-template-columns:1.1fr 1fr;gap:clamp(70px,8vw,170px);padding-block:70px;align-items:center}
 .minimal-footer .minimal-identity .wordmark{font-size:56px;line-height:1.1}.minimal-footer .minimal-identity .wordmark-script{font-size:86px}
 .minimal-footer .minimal-identity>p{font-size:clamp(17px,1.3vw,23px);line-height:1.7;max-width:580px;margin:28px 0 17px}
 .minimal-footer .minimal-email{font-size:clamp(18px,1.5vw,26px);padding-block:9px}
 .minimal-footer .minimal-socials{gap:12px;margin-top:24px}.minimal-footer .minimal-socials>a{width:45px;height:45px}.minimal-footer .minimal-socials svg{width:20px;height:20px}
 .minimal-footer .minimal-location{font-size:12px;margin-top:23px}
 .minimal-footer .minimal-grid .closing-nav{max-width:none;gap:40px;grid-template-columns:1fr 1.25fr;align-self:center}
 .minimal-footer .minimal-grid .closing-nav h3{font-size:12px;letter-spacing:.12em}.minimal-footer .minimal-grid .closing-nav ul{margin-top:25px}
 .minimal-footer .minimal-grid .closing-nav li{font-size:clamp(15px,1.25vw,21px);line-height:1.5}.minimal-footer .minimal-grid .closing-nav li+li{margin-top:17px}
 .minimal-footer .minimal-shell .closing-bottom{font-size:11px;padding-block:24px}
}
@media(prefers-reduced-motion:reduce){.depth-intro{display:none!important}}
/* Numerical motion fills the arrival; its navy remains identical to the hero. */
.site-intro.depth-intro{background:#091425;transition:opacity .32s ease;visibility:visible}
.intro-active .site-intro.depth-intro{display:block}
.site-intro.depth-intro.intro-leaving{display:block;opacity:0;visibility:hidden;transition:opacity .32s ease,visibility 0s .32s}
.intro-numbers-video{width:100%;height:100%;display:block;object-fit:contain}
.footer-wave-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.profile-answers{margin-top:28px;border-top:1px solid var(--line)}
.profile-answers details{border-bottom:1px solid var(--line);padding:14px 0}
.profile-answers summary{cursor:pointer;font-size:13px;font-weight:650}
.profile-answers details p{font-size:13px;margin:14px 0 3px}
@media(prefers-reduced-motion:reduce){.site-intro.depth-intro{display:none!important}}
/* A crisp typographic entrance: real type, a short 3D reveal, no enlarged video. */
.site-intro.depth-intro{background:#091425;color:#fff;perspective:1100px;transition:none}
.intro-active .site-intro.depth-intro{display:grid;place-items:center}
.intro-editorial{text-align:center;opacity:0;transform:translateY(18px) rotateX(12deg);transform-style:preserve-3d}
.intro-type-ready .intro-editorial{animation:intro-brand-arrive .65s cubic-bezier(.16,1,.3,1) both}
.intro-brand-lockup{display:flex;justify-content:center;align-items:baseline;gap:1px;transform:translateZ(40px);padding-inline:24px}
.intro-brand-name{font-family:Manrope,sans-serif;font-weight:750;font-size:clamp(64px,10vw,126px);line-height:1;letter-spacing:-.085em}
.intro-brand-signature{font-family:var(--script);font-size:clamp(101px,15vw,185px);line-height:.8;font-weight:400;letter-spacing:-.055em;color:#fff;margin-left:3px}
.intro-specialty{font-size:9px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:#b5c5da;margin:29px 0 25px}
.intro-rule{height:1px;width:112px;margin:auto;background:#ffffff1c;overflow:hidden}
.intro-rule>span{display:block;width:100%;height:100%;background:#e7edf6;transform-origin:left;transform:scaleX(0)}
.intro-type-ready .intro-rule>span{animation:intro-rule-draw 1.1s cubic-bezier(.22,.6,.35,1) .12s both}
.intro-edition{position:absolute;bottom:35px;left:0;right:0;text-align:center;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#90a5c0}
.site-intro.depth-intro.intro-leaving{display:grid;opacity:0;visibility:hidden;transform:translateY(-3%);transition:opacity .36s ease,transform .5s cubic-bezier(.22,.8,.3,1),visibility 0s .5s}
@keyframes intro-brand-arrive{from{opacity:0;transform:translateY(18px) rotateX(12deg)}to{opacity:1;transform:translateY(0) rotateX(0)}}
@keyframes intro-rule-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
/* One calm gradient, with only a small trace of white following the cursor. */
.minimal-footer{background:radial-gradient(ellipse at 12% 5%,#24466266,transparent 65%),linear-gradient(130deg,#12283e 0%,#091425 65%,#102337 100%)}
.minimal-footer:before{display:none}
.minimal-footer .minimal-shell{background:none}
.footer-cursor-trail{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
[data-theme="light"] .minimal-footer{background:radial-gradient(ellipse at 10% 0%,#fff8,transparent 70%),linear-gradient(130deg,#e5edf7,#d5e1ef 65%,#bdcfe2);color:#152c47;border-color:#7e98b73b}
[data-theme="light"] .minimal-footer .wordmark{color:#152c47}
[data-theme="light"] .minimal-footer .wordmark-script{color:#416c9f}
[data-theme="light"] .minimal-footer .minimal-identity>p,[data-theme="light"] .minimal-footer .closing-nav li{color:#3d5571}
[data-theme="light"] .minimal-footer .minimal-email,[data-theme="light"] .minimal-footer .closing-nav h3{color:#152c47}
[data-theme="light"] .minimal-footer .minimal-location,[data-theme="light"] .minimal-footer .closing-bottom{color:#455f7c}
[data-theme="light"] .minimal-footer .minimal-socials>a{color:#334f70;border-color:#617e9a55}
[data-theme="light"] .minimal-footer .closing-bottom{border-color:#44617a33}
[data-theme="light"] .minimal-footer a:hover,[data-theme="light"] .minimal-footer a:focus-visible{color:#174d91}
@media(prefers-reduced-motion:reduce){.site-intro.depth-intro{display:none!important}.intro-editorial,.intro-rule>span{animation:none!important}}
/* Reference motion: native-resolution numerals, not an enlarged raster video. */
.site-intro.depth-intro{background:#091425;perspective:none;transform:none}
.intro-numeric-canvas{position:absolute;inset:0;display:block;width:100%;height:100%}
.site-intro.depth-intro.intro-leaving{display:block;opacity:0;visibility:hidden;transform:none;transition:opacity .18s ease,visibility 0s .18s}
.depth-intro .intro-edition{color:#b7c8df;opacity:var(--intro-label-opacity,1)}
