@import url('https://fonts.googleapis.com/css2?family=Newsreader:opsz,wght@6..72,300..700&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root{--paper:#f4f0e8;--paper-light:#fbf9f4;--ink:#171916;--muted:#696a63;--line:rgba(23,25,22,.16);--blue:#315cff;--blue-dark:#2649d2;--tomato:#e65c43;--serif:'Newsreader',Georgia,serif;--sans:'Space Grotesk',Arial,sans-serif;--page:1320px;--gutter:clamp(22px,6.2vw,94px);--ease:cubic-bezier(.2,.72,.18,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}body::before{position:fixed;inset:0;z-index:9;pointer-events:none;content:"";opacity:.1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.14'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:4px}img{max-width:100%;display:block}::selection{background:var(--blue);color:white}.site-shell{max-width:1600px;margin:0 auto;overflow:hidden}.site-header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:21px var(--gutter);border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-size:16px;font-weight:700;letter-spacing:-.06em}.brand img{width:34px;height:34px}.nav-list{display:flex;gap:clamp(20px,3.3vw,48px);align-items:center;padding:0;margin:0;list-style:none}.nav-list a,.header-contact{font-size:11px;text-transform:uppercase;font-weight:600;letter-spacing:.1em}.nav-list a{position:relative;color:#575954}.nav-list a::after{position:absolute;left:0;right:100%;height:1px;bottom:-7px;content:"";background:var(--blue);transition:right .25s var(--ease)}.nav-list a:hover::after,.nav-list a:focus-visible::after{right:0}.header-contact{border:1px solid var(--ink);border-radius:999px;padding:11px 17px;transition:.24s var(--ease)}.header-contact:hover{background:var(--ink);color:var(--paper)}.menu-toggle{display:none;background:none;border:0;font-size:12px;text-transform:uppercase;letter-spacing:.12em}.hero{position:relative;padding:clamp(66px,10vw,144px) var(--gutter) clamp(72px,10vw,142px);min-height:665px;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:clamp(20px,5vw,88px);align-items:center}.hero::after{position:absolute;right:var(--gutter);bottom:45px;left:var(--gutter);height:1px;background:var(--line);content:""}.eyebrow,.kicker,.meta,.section-index,.small-label{font-size:10px;line-height:1.4;text-transform:uppercase;letter-spacing:.15em;font-weight:600}.eyebrow{display:flex;align-items:center;gap:12px}.eyebrow::before{content:"";width:27px;height:2px;background:var(--blue)}.hero h1{position:relative;z-index:2;margin:25px 0 18px;font-family:var(--serif);font-size:clamp(72px,10.2vw,151px);font-weight:400;line-height:.83;letter-spacing:-.085em}.hero h1 em{font-style:italic;color:var(--blue)}.hero-subline{font-family:var(--serif);font-size:clamp(20px,2.35vw,32px);line-height:1.25;letter-spacing:-.04em}.hero-lede{max-width:500px;margin:25px 0 0;color:var(--muted);font-size:14px;line-height:1.85}.hero-actions{display:flex;gap:20px;align-items:center;margin-top:32px}.button-primary{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--blue);color:#fff;border:1px solid var(--blue);border-radius:999px;padding:14px 22px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;transition:transform .24s var(--ease),background .24s}.button-primary:hover{transform:translateY(-3px);background:var(--blue-dark)}.arrow-link{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--ink);padding:7px 0}.arrow-link span{color:var(--blue)}.hero-stage{position:relative;perspective:950px;transform-style:preserve-3d;isolation:isolate;min-height:420px;transition:transform .22s var(--ease);transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}.hero-art{position:absolute;inset:4% 0 4% 1%;width:100%;height:92%;object-fit:cover;border-radius:48% 48% 2% 2% / 42% 42% 2% 2%;mix-blend-mode:multiply;filter:saturate(.94);transform:translateZ(24px);box-shadow:0 27px 40px rgba(30,38,51,.12)}.stage-fallback{position:absolute;inset:8% 7% 10%;border-radius:49% 49% 4% 4% / 38% 38% 4% 4%;background:radial-gradient(circle at 60% 31%,rgba(49,92,255,.2),transparent 28%),linear-gradient(140deg,#ebe6db,#f8f5ee 47%,#d8d7cf);overflow:hidden;box-shadow:0 35px 70px rgba(53,58,68,.12);transform:translateZ(10px)}.stage-fallback::before{position:absolute;content:"";width:56%;height:80%;left:20%;top:10%;background:linear-gradient(115deg,#fffdf7 8%,#e6e0d5 55%,#c9c8c0);clip-path:polygon(12% 0,100% 6%,80% 100%,0 88%);box-shadow:15px 18px 24px rgba(20,25,35,.18);transform:rotate(-12deg);filter:drop-shadow(13px 20px 15px rgba(15,20,30,.19))}.stage-fallback::after{position:absolute;content:"";width:34%;height:36%;right:10%;top:19%;border-radius:50%;background:radial-gradient(circle at 30% 26%,#c3d0ff 0%,#315cff 41%,#162b90 83%);box-shadow:inset -13px -18px 23px rgba(5,12,66,.45),0 25px 27px rgba(42,54,100,.22);transform:translateZ(48px)}.scene-tile{position:absolute;z-index:3;width:28%;height:45%;left:8%;bottom:9%;background:linear-gradient(130deg,#fcfaf5,#e6e1d7 62%,#ccc9bf);clip-path:polygon(2% 0,100% 8%,78% 100%,0 84%);transform:rotate(-14deg) translateZ(64px);filter:drop-shadow(11px 16px 11px rgba(17,21,27,.18))}.scene-card{position:absolute;z-index:4;right:0;bottom:15%;width:33%;aspect-ratio:1.12;background:var(--blue);color:#fff;padding:17px 15px;display:flex;flex-direction:column;justify-content:space-between;transform:rotate(8deg) translateZ(80px);box-shadow:8px 18px 27px rgba(36,53,115,.2)}.scene-card strong{font-family:var(--serif);font-size:clamp(20px,3vw,39px);font-weight:400;line-height:.88;letter-spacing:-.06em}.scene-card span{font-size:8px;letter-spacing:.14em;text-transform:uppercase}.scene-caption{position:absolute;left:8px;top:9%;z-index:4;color:var(--muted);font-size:9px;letter-spacing:.12em;text-transform:uppercase;writing-mode:vertical-rl}.scene-index{position:absolute;right:2px;top:5%;font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--blue)}.hero-bottom-note{position:absolute;bottom:18px;left:var(--gutter);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.chapter{padding:clamp(80px,11vw,152px) var(--gutter);border-top:1px solid var(--line)}.chapter-head{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:clamp(45px,7vw,94px)}.section-index{color:var(--blue);min-width:90px;padding-top:15px}.chapter-title{max-width:920px;margin:0;font-family:var(--serif);font-size:clamp(47px,7vw,98px);font-weight:400;letter-spacing:-.065em;line-height:.96}.chapter-title em{color:var(--blue);font-weight:350}.section-aside{max-width:235px;color:var(--muted);font-size:12px;line-height:1.85}.about-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(35px,9vw,150px);align-items:start}.about-note{margin-top:0;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.about-note b{display:block;margin-top:12px;color:var(--blue);font-size:33px;font-family:var(--serif);font-weight:400;letter-spacing:-.04em}.about-copy{max-width:760px;font-family:var(--serif);font-size:clamp(27px,4vw,52px);line-height:1.12;letter-spacing:-.045em}.about-copy strong{font-weight:400;color:var(--blue)}.body-copy{max-width:570px;color:var(--muted);font-family:var(--sans);font-size:14px;line-height:1.9;margin-top:26px}.resume-wrap{margin-top:76px;border-top:1px solid var(--line);padding-top:28px;display:grid;grid-template-columns:1fr 2fr;gap:30px}.resume-head{display:flex;flex-direction:column;justify-content:space-between;gap:20px}.resume-title{font-family:var(--serif);font-size:36px;letter-spacing:-.05em}.resume-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.resume-item{background:var(--paper);padding:24px 24px 29px}.resume-item h3{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.resume-item p{margin:0;color:var(--muted);font-size:12px}.empty-note{border:1px dashed rgba(23,25,22,.24);padding:22px;color:var(--muted);font-size:12px}.work-chapter{background:var(--paper-light)}.work-intro{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px;align-items:end;margin-bottom:48px}.work-intro p{margin:0;max-width:540px;color:var(--muted)}.practice-list{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.practice-card{position:relative;min-height:295px;padding:21px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:#e8e4da}.practice-card:nth-child(2){background:#dfe4ef}.practice-card:nth-child(3){background:#e6ded8}.practice-card::after{position:absolute;right:-36px;bottom:-65px;width:220px;height:220px;border:1px solid rgba(23,25,22,.18);border-radius:50%;content:"";box-shadow:0 0 0 24px rgba(255,255,255,.08),0 0 0 51px rgba(255,255,255,.07)}.practice-card:nth-child(2)::after{border-color:rgba(49,92,255,.29);box-shadow:0 0 0 24px rgba(49,92,255,.05),0 0 0 51px rgba(49,92,255,.04)}.practice-card:nth-child(3)::after{border-radius:0;border-color:rgba(230,92,67,.28);transform:rotate(28deg)}.practice-number{color:var(--blue);font-size:10px;letter-spacing:.13em}.practice-card h3{position:relative;z-index:1;max-width:230px;margin:0;font-family:var(--serif);font-size:34px;line-height:.99;letter-spacing:-.055em;font-weight:400}.practice-card p{position:relative;z-index:1;margin:9px 0 0;color:var(--muted);font-size:11px}.portfolio-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:16px}.portfolio-card{min-height:290px;padding:22px;background:#dddcd5;display:flex;flex-direction:column;justify-content:space-between}.portfolio-card:nth-child(2){background:#dce0e8}.portfolio-card__top{display:flex;justify-content:space-between;font-size:9px;text-transform:uppercase;letter-spacing:.15em}.portfolio-card h3{font-family:var(--serif);font-size:clamp(25px,3.7vw,46px);font-weight:400;line-height:.98;max-width:470px;letter-spacing:-.05em;margin:30px 0 0}.portfolio-card .card-link{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--blue);font-weight:700}.entry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.entry-card{display:flex;flex-direction:column;min-height:250px;background:var(--paper-light);padding:23px;transition:transform .28s var(--ease),background .28s}.entry-card:hover{transform:translateY(-5px);background:#fff}.entry-card .meta{color:var(--blue);font-size:9px}.entry-card h3{margin:45px 0 15px;font-family:var(--serif);font-size:27px;line-height:1.02;letter-spacing:-.04em;font-weight:400}.entry-card p{font-size:12px;color:var(--muted)}.entry-card .card-link{margin-top:auto;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--blue);font-weight:700}.journal-strip{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:36px}.journal-item{border-top:1px solid var(--line);padding:18px 0;display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.journal-item h3{font-family:var(--serif);font-size:24px;line-height:1.06;letter-spacing:-.04em;font-weight:400;margin:0}.journal-item span{white-space:nowrap;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.1em}.resource-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.resource-link{padding:23px 19px 21px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.resource-link strong{font-family:var(--serif);font-size:27px;line-height:1.05;font-weight:400}.resource-link span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.contact-chapter{background:#e7e8e3}.contact-grid{display:grid;grid-template-columns:1fr .9fr;gap:clamp(50px,11vw,165px)}.contact-title{font-family:var(--serif);font-size:clamp(56px,8vw,106px);font-weight:400;line-height:.87;letter-spacing:-.07em;margin:0}.contact-title em{color:var(--blue)}.contact-intro{margin:25px 0 32px;max-width:430px;color:var(--muted);font-size:13px;line-height:1.85}.social-links{display:flex;gap:16px;flex-wrap:wrap}.social-links a{font-size:10px;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid;padding-bottom:3px}.contact-form{display:flex;flex-direction:column;gap:19px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:9px;text-transform:uppercase;letter-spacing:.15em;font-weight:700}.field input,.field textarea{width:100%;border:0;border-bottom:1px solid rgba(23,25,22,.38);border-radius:0;background:transparent;padding:10px 1px;color:var(--ink);font-size:13px;outline:none;transition:border .2s}.field input:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 1px var(--blue)}.field textarea{min-height:100px;resize:vertical}.form-submit{align-self:flex-start;margin-top:6px}.contact-alert{padding:12px 14px;background:rgba(49,92,255,.08);font-size:12px}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.site-footer{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:24px var(--gutter) 34px;font-size:10px;color:var(--muted);letter-spacing:.05em}.footer-mark{display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:700}.footer-mark img{width:23px;height:23px}.back-top{color:var(--blue);text-transform:uppercase;letter-spacing:.12em;font-weight:700}.page-hero{padding:88px var(--gutter) 70px;border-bottom:1px solid var(--line)}.page-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(60px,10vw,130px);line-height:.88;letter-spacing:-.075em;margin:23px 0}.reading-layout{max-width:850px;margin:0 auto;padding:75px var(--gutter)}.reading-layout h1{font-family:var(--serif);font-size:clamp(40px,7vw,84px);font-weight:400;line-height:.98;letter-spacing:-.06em}.reading-layout .entry-content{font-family:var(--serif);font-size:21px;line-height:1.65}.reading-layout .entry-content p{margin:1.25em 0}.alignwide{max-width:var(--page);margin-left:auto;margin-right:auto}.alignfull{max-width:none}.pagination{padding:30px 0}.pagination .nav-links{display:flex;gap:10px}.pagination a,.pagination span{padding:9px 13px;border:1px solid var(--line)}.reveal{opacity:1;transform:none;transition:opacity .75s var(--ease),transform .75s var(--ease)}.js .reveal{opacity:0;transform:translateY(18px)}.js .reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:940px){.hero{grid-template-columns:1fr 1fr;gap:20px}.hero h1{font-size:clamp(66px,9vw,110px)}.hero-stage{min-height:350px}.chapter-head{flex-wrap:wrap}.section-aside{max-width:360px;margin-left:auto}.practice-list{grid-template-columns:1fr 1fr}.practice-card:last-child{grid-column:1/-1;min-height:240px}.entry-grid{grid-template-columns:1fr 1fr}.contact-grid{gap:45px}}
@media(max-width:700px){html{scroll-padding-top:70px}.site-header{padding-top:15px;padding-bottom:15px}.menu-toggle{display:flex;align-items:center;gap:8px;padding:10px 0;cursor:pointer}.menu-toggle::after{content:"+";font-size:17px;color:var(--blue)}.menu-toggle[aria-expanded="true"]::after{content:"−"}.header-contact{display:none}.nav-list{position:absolute;top:100%;left:0;right:0;display:none;padding:22px var(--gutter) 27px;background:var(--paper);border-bottom:1px solid var(--line);align-items:flex-start;flex-direction:column;gap:17px}.nav-list.is-open{display:flex}.nav-list a{font-size:12px}.hero{grid-template-columns:1fr;padding-top:72px;gap:14px;min-height:0}.hero h1{font-size:clamp(74px,17vw,120px)}.hero-stage{grid-row:1;min-height:310px;margin:0 0 -5px}.hero-copy{grid-row:2}.hero::after{bottom:40px}.hero-bottom-note{bottom:12px}.chapter{padding-top:75px;padding-bottom:80px}.chapter-head{display:block;margin-bottom:44px}.section-index{display:block;margin-bottom:20px}.chapter-title{font-size:clamp(49px,12vw,78px)}.section-aside{margin:20px 0 0}.about-grid,.work-intro,.resume-wrap,.contact-grid{grid-template-columns:1fr;gap:27px}.about-note{margin:0}.about-copy{font-size:clamp(31px,8vw,47px)}.resume-wrap{margin-top:48px}.resume-items{grid-template-columns:1fr 1fr}.practice-list{grid-template-columns:1fr}.practice-card,.practice-card:last-child{grid-column:auto;min-height:250px}.portfolio-list,.journal-strip{grid-template-columns:1fr}.portfolio-card{min-height:250px}.entry-grid{grid-template-columns:1fr}.entry-card{min-height:215px}.entry-card h3{margin-top:28px}.resource-row{grid-template-columns:1fr}.contact-grid{gap:38px}.form-row{grid-template-columns:1fr}.contact-title{font-size:clamp(63px,15vw,92px)}.site-footer{flex-wrap:wrap}.reading-layout{padding-top:50px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal,.js .reveal{opacity:1;transform:none}}
@media print{body{background:#fff;color:#000}body::before,.site-header,.hero-stage,.hero-actions,.work-chapter,.journal-strip,.resource-row,.contact-chapter,.site-footer,.resume-head .arrow-link{display:none!important}.chapter{padding:18px 0;border:0}.hero{display:block;min-height:0;padding:20px 0}.hero h1{font-size:48px}.hero::after,.hero-bottom-note{display:none}.chapter-head{margin-bottom:14px}.chapter-title{font-size:32px}.about-grid,.resume-wrap{display:block}.about-copy{font-size:20px}.body-copy{font-size:12px}.resume-wrap{margin-top:18px}.resume-items{grid-template-columns:1fr 1fr}.resume-item{padding:10px}.resume-item h3{font-size:10px}}

@media(max-width:700px){html:not(.js) .menu-toggle{display:none}html:not(.js) .nav-list{position:static;display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:max-content;border:0;padding:12px 0;background:transparent}}
