@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--paper:#fffaf3;--ink:#282338;--muted:#625a6d;--purple:#5834a2;--orange:#ffac6c;--mint:#a8dccb;--line:#ddd4e2;--serif:'Fraunces',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.65 var(--sans)}a{color:inherit;text-decoration:none}button,summary{font:inherit}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500}h1,h2,.serif{font-family:var(--serif)}em{font-weight:400}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--purple);outline-offset:6px;border-radius:3px}::selection{background:var(--mint);color:var(--ink)}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.site-header{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:14px;font-weight:600;font-size:.95rem;white-space:nowrap}.monogram{font:500 2.4rem/1 var(--serif);color:var(--purple);letter-spacing:-.1em}.monogram span{color:#c96230}.desktop-nav{display:flex;gap:33px;align-items:center;font-size:.9rem;font-weight:500}.desktop-nav>a:not(.contact-link):hover,.text-link:hover{color:var(--purple)}.contact-link{padding:8px 21px;border:1px solid var(--purple);color:var(--purple);border-radius:99px}.contact-link:hover{background:var(--purple);color:white}.header-end{display:flex;align-items:center;gap:20px}.languages{display:flex;gap:7px;font-size:.85rem}.languages span{color:#928698}.languages a[aria-current]{color:var(--purple);font-weight:700;text-decoration:underline;text-underline-offset:5px}.mobile-menu{display:none}.skip-link{position:absolute;top:-100px;left:16px;background:var(--purple);color:white;padding:10px 18px;z-index:200}.skip-link:focus{top:12px}.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:70px;padding-block:84px 100px;align-items:center}.eyebrow{text-transform:uppercase;font-size:.75rem;letter-spacing:.105em;font-weight:600;line-height:1.6}.hero .eyebrow{color:var(--purple);display:flex;align-items:center;gap:10px;margin-bottom:25px}.tiny-star{font-size:1.4rem;line-height:1}.hero h1{font-size:clamp(3.4rem,5.9vw,6.15rem);line-height:1.075;letter-spacing:-.055em;margin-bottom:27px}.hero h1 em{color:var(--purple)}.hero-intro{font-size:1.05rem;max-width:460px;color:var(--muted);line-height:1.8}.actions{display:flex;gap:24px;align-items:center;margin-top:29px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;padding:13px 25px;border-radius:99px;font-size:.9rem;font-weight:600;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--purple);color:white}.primary:hover{background:#43237e}.text-link{font-size:.9rem;font-weight:500;text-decoration:underline;text-underline-offset:6px}.location{color:var(--muted);font-size:.78rem;margin-top:34px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.hero-collage{position:relative;min-width:0;margin-bottom:20px;padding:15px 8px 25px 30px}.world-photo{background:white;padding:13px 13px 0;border-radius:17px;transform:rotate(3deg);position:relative;box-shadow:0 15px 35px #49325e15;border:1px solid #e9dfeb}.world-photo>img{width:100%;aspect-ratio:1.05;object-fit:cover;border-radius:9px}.world-photo figcaption{display:flex;justify-content:space-between;gap:12px;padding:15px 3px 17px;font-size:.75rem}.world-photo figcaption span:first-child{font-weight:600}.collage-shape{position:absolute;inset:0 -12px 0 50px;background:var(--mint);border-radius:43% 43% 25% 25%;transform:rotate(-8deg)}.character-sticker{position:absolute;width:37%;left:-30px;bottom:-14px;padding:9px 9px 0;background:var(--orange);border-radius:15px;transform:rotate(-9deg);box-shadow:0 12px 25px #49325e15}.character-sticker img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}.character-sticker figcaption{font-family:var(--serif);font-style:italic;text-align:center;padding:4px 0 7px;font-size:1rem}.collage-star{position:absolute;right:-18px;top:-25px;font-size:6.5rem;line-height:1;color:var(--purple);transform:rotate(15deg)}.site-footer{border-top:1px solid var(--line);padding-block:32px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:.8rem;color:var(--muted)}.site-footer>a:last-child{text-decoration:underline;text-underline-offset:5px}.site-footer .brand{color:var(--ink)}
img{height:auto}.work-section{padding-block:40px 100px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:43px}.section-heading .eyebrow{color:var(--purple);margin-bottom:18px}.section-heading h2{font-size:clamp(2.3rem,3.8vw,3.8rem);letter-spacing:-.045em;line-height:1.15}.section-intro{max-width:350px;color:var(--muted);line-height:1.8}.project-card{display:block;border-radius:22px;overflow:hidden;background:#fff;border:1px solid var(--line);transition:box-shadow .25s,transform .25s}.project-card:hover{transform:translateY(-4px);box-shadow:0 16px 35px #28233812}.feature-project{display:grid;grid-template-columns:1.05fr 1fr;margin-bottom:25px}.feature-image{position:relative;min-width:0;overflow:hidden;background:var(--mint)}.feature-image>img{height:100%;min-height:380px;max-height:460px;width:100%;object-fit:cover;object-position:50% 55%;transition:transform .5s}.project-card:hover .feature-image>img{transform:scale(1.025)}.image-pill{position:absolute;bottom:24px;left:24px;padding:8px 17px;background:var(--paper);border-radius:99px;font-size:.75rem;color:var(--purple);font-weight:500}.feature-body{padding:44px;display:flex;flex-direction:column;justify-content:center}.feature-body .eyebrow{color:var(--purple);font-size:.75rem}.feature-body h3{font-family:var(--serif);font-size:2.6rem;letter-spacing:-.04em;margin:17px 0 18px;line-height:1.2}.feature-body>p:not(.eyebrow){color:var(--muted);line-height:1.85}.tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:24px;font-size:.72rem}.tags span{border:1px solid var(--line);border-radius:99px;padding:4px 12px}.case-link{font-size:.85rem;font-weight:600;text-decoration:underline;text-underline-offset:6px;color:var(--purple)}.feature-body .case-link{margin-top:28px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.project-cover{padding:28px 33px 25px;position:relative;overflow:hidden;min-height:305px;display:flex;flex-direction:column;justify-content:space-between}.project-cover .eyebrow{font-size:.75rem}.project-cover>p{font:500 clamp(3rem,4.5vw,4.8rem)/.95 var(--serif);letter-spacing:-.04em;position:relative;padding:20px 0}.project-cover i{font-weight:400}.mages-cover{background:var(--purple);color:var(--paper)}.mages-cover i,.mages-cover .cover-star{color:var(--orange)}.shooter-cover{background:var(--orange);color:var(--ink)}.shooter-cover i{color:var(--purple)}.cover-star{position:absolute;right:15px;top:28px;font:normal 6rem/1 var(--sans);transform:rotate(10deg)}.cover-caption{font-size:.75rem}.project-body{padding:29px 33px 32px}.project-body h3{font:500 1.6rem/1.3 var(--serif);margin-bottom:13px;letter-spacing:-.02em}.project-body>p{color:var(--muted);line-height:1.8}.project-bottom{margin-top:26px;display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}.project-bottom>span:first-child{font-size:.72rem;color:var(--muted)}.writing-section{background:var(--purple);color:var(--paper);padding-block:85px}.writing-section .section-heading .eyebrow{color:var(--orange)}.writing-section .section-intro{color:#e6dcef}.writing-section h2 em{color:var(--orange)}.article-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.article-card{padding:30px 32px 24px;background:var(--paper);color:var(--ink);border-radius:15px;display:flex;flex-direction:column;min-height:300px;border:1px solid transparent;transition:transform .2s,background .2s}.article-card:hover{transform:translateY(-3px);background:white}.article-meta{display:flex;justify-content:space-between;gap:14px;font-size:.75rem;color:var(--purple);font-weight:500}.article-meta span:first-child{text-transform:uppercase;letter-spacing:.055em}.article-card h3{font:500 1.85rem/1.28 var(--serif);letter-spacing:-.03em;margin-block:22px 14px}.article-card>p{color:var(--muted);line-height:1.8;flex-grow:1}.article-bottom{border-top:1px solid var(--line);margin-top:25px;padding-top:17px;display:flex;gap:16px;justify-content:space-between;align-items:center;font-size:.72rem}.read-label{font-weight:600;color:var(--purple);text-decoration:underline;text-underline-offset:5px;white-space:nowrap}.section-end{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:36px}.section-end p{color:#e6dcef;font-size:.85rem;max-width:580px}.light-button{background:var(--paper);color:var(--purple);white-space:nowrap}.light-button:hover{background:var(--orange)}.about-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;padding-block:110px 80px;align-items:center}.about-photo{position:relative;background:var(--mint);padding:18px;border-radius:180px 180px 20px 20px;transform:rotate(-3deg);max-width:440px}.about-photo img{width:100%;aspect-ratio:.86;object-fit:cover;object-position:72% 50%;border-radius:170px 170px 12px 12px}.photo-note{display:block;text-align:center;font:italic 1.15rem var(--serif);padding:15px 5px 0}.about-copy .eyebrow{color:var(--purple);margin-bottom:20px}.about-copy h2{font-size:3.6rem;letter-spacing:-.045em;line-height:1.13;margin-bottom:25px}.about-copy h2 em{color:var(--purple)}.about-copy>p:not(.eyebrow){color:var(--muted);margin-bottom:20px;line-height:1.85}.about-copy .about-aside{font-size:.9rem}.credentials{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;padding-block:25px 100px}.credentials-title{padding-top:23px}.credentials-title .eyebrow{color:var(--purple);margin-bottom:15px}.credentials-title h2{font-size:2.6rem;line-height:1.15;letter-spacing:-.04em}.credential-list>div,.credential-list>a{display:flex;gap:24px;align-items:flex-start;padding-block:23px;border-bottom:1px solid var(--line)}.credential-list>:first-child{border-top:1px solid var(--line)}.credential-year{font-size:.75rem;color:var(--purple);margin-top:4px}.credential-list h3{font-size:1rem;font-weight:500;line-height:1.6}.credential-list p{font-size:.8rem;color:var(--muted);margin-top:3px}.credential-action{font-size:.72rem;margin-top:5px;margin-left:auto;color:var(--purple);text-decoration:underline;text-underline-offset:4px}.credential-list a:hover h3{color:var(--purple)}.contact-section{background:var(--mint);border-radius:25px;padding:55px 60px;display:flex;gap:40px;justify-content:space-between;align-items:center;margin-bottom:70px}.contact-section .eyebrow{color:#384c42;font-size:.75rem}.contact-section h2{font-size:clamp(2.2rem,3.8vw,3.5rem);letter-spacing:-.045em;line-height:1.2;margin-block:20px}.contact-section h2 em{color:var(--purple)}.contact-section>div>p:not(.eyebrow){color:#3f5248;margin-bottom:18px}.email-link{display:inline-block;font-size:1.1rem;color:var(--purple);text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}.contact-actions{display:flex;flex-wrap:wrap;gap:26px;align-items:center;margin-top:26px}.contact-flower{font:normal 11rem/1 var(--sans);color:var(--purple);transform:rotate(-12deg);flex-shrink:0}.case-top{display:flex;align-items:center;justify-content:space-between;padding-block:30px}.case-top .eyebrow{color:var(--muted)}.case-hero{padding-block:70px}.case-hero .eyebrow{margin-bottom:20px}.case-hero h1{font-size:clamp(3rem,7.7vw,7rem);line-height:1.12;letter-spacing:-.055em}.case-hero p:not(.eyebrow){font-size:1.15rem;max-width:710px;margin-top:24px;line-height:1.8}.hamster-theme{background:var(--mint)}.hamster-theme em{color:var(--purple)}.mages-theme{background:var(--purple);color:var(--paper)}.mages-theme em{color:var(--orange)}.mages-theme .eyebrow{color:var(--orange)}.shooter-theme{background:var(--orange)}.shooter-theme em{color:var(--purple)}.case-content{padding-block:50px 30px}.role-note{padding:26px 30px;background:#f0e9fb;border-radius:15px;max-width:100%;margin-bottom:25px}.role-note strong{font-weight:600;color:var(--purple);font-size:1rem}.role-note p{font-size:.9rem;color:var(--muted);margin-top:10px;max-width:930px;line-height:1.8}.case-section{display:grid;grid-template-columns:230px minmax(0,1fr);gap:65px;border-bottom:1px solid var(--line);padding-block:50px}.case-section-label .eyebrow{color:var(--purple);margin-bottom:14px}.case-section-label h2{font-size:1.9rem;line-height:1.25;letter-spacing:-.035em}.case-section-body>p{margin-bottom:20px;color:var(--muted);line-height:1.9}.case-section-body>p:last-child{margin-bottom:0}.case-wide-image{margin-top:30px}.case-wide-image>img{width:100%;max-height:550px;object-fit:cover;border-radius:17px}.case-wide-image figcaption,.before-after figcaption{font-size:.8rem;color:var(--muted);margin-top:13px}.process-loop{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-block:26px;counter-reset:steps}.process-loop span{display:flex;align-items:center;gap:14px;background:var(--mint);border-radius:12px;padding:20px;font-weight:500;font-size:.9rem;counter-increment:steps}.process-loop span:before{content:'0' counter(steps);color:var(--purple);font-size:.75rem}.before-after{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}.before-after img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px}.accordion{border-top:1px solid var(--line);margin-top:28px}.accordion details{border-bottom:1px solid var(--line);padding:19px 0}.accordion summary,.sample-dialogue summary,.bonus summary{cursor:pointer;color:var(--purple);font-weight:500;font-size:1rem;line-height:1.7}.accordion details p{padding-top:15px;color:var(--muted);line-height:1.85}.character-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-bottom:25px}.character-grid article>img{aspect-ratio:1;object-fit:cover;width:100%;border-radius:14px;margin-bottom:22px}.character-grid .eyebrow{color:var(--purple);font-size:.75rem}.character-grid h3{font:500 2rem var(--serif);margin-block:5px 13px}.character-grid article>p:last-child{color:var(--muted);line-height:1.9}.sample-dialogue{border:1px solid var(--line);border-radius:15px;padding:22px 28px}.script{padding-top:26px}.script>p{display:grid;grid-template-columns:90px 1fr;gap:20px;margin-bottom:25px;line-height:1.85;color:var(--muted)}.script strong{font-size:.85rem;color:var(--purple)}.script .stage-direction{display:block;font-style:italic;font-size:.9rem}.focus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-block:30px}.focus-panel{border:1px solid var(--line);padding:22px;border-radius:12px;background:#fffefb}.focus-panel h3{font:500 1.3rem/1.3 var(--serif);margin-bottom:15px}.focus-panel p{font-size:.95rem;line-height:1.85;color:var(--muted);white-space:pre-line}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:30px}.stats-row>div{background:#f0e9fb;border-radius:15px;padding:25px;display:flex;flex-direction:column}.stats-row strong{font:500 2.8rem/1.2 var(--serif);color:var(--purple)}.stats-row span{font-size:.85rem;margin-top:7px}.mage-characters{display:grid;gap:25px}.mage-characters article{position:relative;background:#f0e9fb;border-radius:15px;padding:30px 35px}.character-number{position:absolute;top:20px;right:25px;font:500 3rem var(--serif);color:#7555af}.mage-characters .eyebrow{color:var(--purple);max-width:85%;font-size:.75rem}.mage-characters h3{font:500 1.8rem/1.4 var(--serif);margin-block:12px 17px}.mage-characters h3 em{display:block;font-size:1.25rem;color:var(--purple)}.mage-characters p:last-child{max-width:630px;color:var(--muted);line-height:1.9}.enemy-list article{display:grid;grid-template-columns:180px 1fr;column-gap:25px;border-top:1px solid var(--line);padding-block:23px}.enemy-list h3{font:500 1.35rem var(--serif)}.enemy-list article>span{font-size:.8rem;color:var(--purple);padding-top:5px}.enemy-list p{grid-column:2;color:var(--muted);line-height:1.8}.table-scroll{overflow:auto;margin-top:25px}table{border-collapse:collapse;width:100%;text-align:left;font-size:.9rem;min-width:520px}th,td{padding:17px 18px;border-bottom:1px solid var(--line)}thead{background:var(--purple);color:white}thead th{font-weight:500}tbody th{color:var(--purple);font-weight:500}tbody td{color:var(--muted)}blockquote{margin:30px 0 0;padding:30px 35px;background:#ffeadb;border-radius:15px}blockquote p{font:italic 1.8rem/1.5 var(--serif)}blockquote cite{display:block;font-size:.8rem;font-style:normal;color:var(--muted);margin-top:17px}.acts{display:grid;gap:25px;margin-top:35px}.act{background:#fff;border:1px solid var(--line);padding:30px;border-radius:15px}.act-title>span{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--purple)}.act-title h3{font:500 2rem/1.3 var(--serif);margin-block:7px 15px}.act>p{color:var(--muted);line-height:1.85}.missions{list-style:none;padding:0;margin:25px 0 0}.missions li{display:flex;gap:22px;border-top:1px solid var(--line);padding-block:19px}.mission-number{color:var(--purple);font-size:.85rem;padding-top:3px}.missions h4{font-size:1rem;font-weight:500;margin:0 0 7px}.missions p{font-size:.95rem;color:var(--muted);line-height:1.85}.bonus{border-top:1px solid var(--line);padding-top:20px}.bonus p{color:var(--muted);font-size:.95rem;line-height:1.85;margin-top:18px}.next-project{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-block:35px 65px}.next-project>.eyebrow{color:var(--purple)}.next-project>a:nth-child(2){font:500 2rem var(--serif);text-decoration:underline;text-underline-offset:8px}.page-intro{padding-block:75px 55px}.page-intro .eyebrow{color:var(--purple);margin-bottom:22px}.page-intro h1{font-size:clamp(2.8rem,5.2vw,5.1rem);line-height:1.15;letter-spacing:-.055em}.page-intro h1 em{color:var(--purple)}.page-intro>p:not(.eyebrow){margin-top:25px;max-width:720px;font-size:1.05rem;color:var(--muted);line-height:1.9}.writing-archive{padding-bottom:55px}.writing-archive .article-card{border-color:var(--line)}.editorial-section{padding-block:30px 80px}.editorial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.editorial-grid .focus-panel{padding:30px}.resume-contact{display:flex;gap:25px;flex-wrap:wrap;font-size:.9rem;margin-top:25px;color:var(--purple)}.resume-contact a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.cv-download{margin-top:25px}.resume-content{padding-top:0}.experience{display:grid;grid-template-columns:100px 1fr;gap:22px;border-bottom:1px solid var(--line);padding-block:22px}.experience:first-child{padding-top:0}.experience:last-child{border:0;padding-bottom:0}.experience>.eyebrow{color:var(--purple);padding-top:4px}.experience h3{font-size:1.1rem;font-weight:500;line-height:1.5}.experience .institution{color:var(--purple);font-size:.9rem;margin-block:7px 12px}.experience div>p:last-child{color:var(--muted);line-height:1.9}.certificate-links{padding-left:20px;margin:0}.certificate-links li{padding-bottom:20px;color:var(--purple)}.certificate-links a{text-decoration:underline;text-underline-offset:4px}.resume-note{font-size:.8rem;color:var(--muted);margin-block:30px 40px}
@media(min-width:1500px){.hero{gap:100px}}@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero{gap:35px}.hero h1{font-size:clamp(3.6rem,6.6vw,5.4rem)}.desktop-nav{gap:23px}.hero-collage{padding-left:20px}.character-sticker{left:-5px}.collage-star{right:-10px;font-size:5rem}.world-photo figcaption{flex-direction:column;gap:1px}.hero .eyebrow{font-size:.75rem;letter-spacing:.06em}.feature-body{padding:30px}.feature-body h3{font-size:2.2rem}.about-section{gap:50px}.about-copy h2{font-size:3rem}.case-section{grid-template-columns:190px minmax(0,1fr);gap:40px}.focus-grid{grid-template-columns:1fr}.contact-flower{font-size:8rem}.contact-section{padding:40px}.section-heading{gap:35px}.credentials{gap:45px}.enemy-list article{grid-template-columns:140px 1fr}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{min-height:82px;gap:15px}.desktop-nav{display:none}.brand{font-size:.85rem;gap:10px}.monogram{font-size:2rem}.mobile-menu{display:block;position:relative}.mobile-menu summary{list-style:none;font-size:.85rem;cursor:pointer;color:var(--purple)}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{position:absolute;right:0;top:40px;width:210px;display:grid;gap:15px;padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:15px;z-index:50;box-shadow:0 10px 30px #28233812}.header-end{gap:17px}.languages{font-size:.75rem}.hero{grid-template-columns:1fr;padding-block:45px 65px;gap:45px}.hero h1{font-size:clamp(2.7rem,9.3vw,4.6rem);line-height:1.11;letter-spacing:-.04em}.hero .eyebrow{font-size:.75rem}.hero-intro{font-size:1rem;max-width:100%}.actions{gap:20px}.hero-collage{width:85%;max-width:450px;margin:0 auto 15px;padding:10px 0 25px 15px}.collage-shape{right:-14px}.character-sticker{left:-20px;bottom:-15px}.collage-star{font-size:4.8rem;top:-16px;right:-23px}.world-photo figcaption{font-size:.75rem}.site-footer{flex-wrap:wrap;row-gap:18px}.site-footer p{order:3;width:100%}.work-section{padding-block:25px 55px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:2.4rem}.section-intro{margin-top:22px;max-width:100%}.feature-project{grid-template-columns:1fr;margin-bottom:20px}.feature-image>img{height:300px;min-height:0;max-height:none}.feature-body{padding:27px}.feature-body h3{font-size:2.3rem}.project-grid{grid-template-columns:1fr;gap:20px}.project-cover{min-height:260px;padding:25px 27px}.project-cover>p{font-size:3.8rem}.cover-star{right:0;font-size:5rem}.project-body{padding:26px}.project-bottom{row-gap:18px}.writing-section{padding-block:50px}.article-grid{grid-template-columns:1fr;gap:17px}.article-card{padding:25px;min-height:0}.article-card h3{font-size:1.65rem;margin-top:20px}.article-meta{font-size:.75rem;flex-wrap:wrap}.article-bottom{font-size:.75rem;align-items:flex-start;flex-wrap:wrap}.section-end{display:block}.section-end .button{margin-top:23px}.about-section{grid-template-columns:1fr;gap:42px;padding-block:65px 40px}.about-photo{max-width:350px;width:86%;margin:auto}.about-copy h2{font-size:2.8rem}.credentials{grid-template-columns:1fr;gap:27px;padding-block:25px 55px}.credentials-title h2{font-size:2.3rem}.credential-list>div,.credential-list>a{gap:15px;padding-block:20px}.credential-list h3{font-size:.95rem}.credential-action{font-size:.75rem}.contact-section{padding:30px 25px;margin-bottom:45px;position:relative;overflow:hidden}.contact-section h2{font-size:2.3rem}.contact-section .eyebrow{max-width:250px;font-size:.75rem}.contact-flower{display:none}.email-link{font-size:.95rem}.contact-actions{gap:21px}.contact-actions .button{padding:12px 22px}.case-top{padding-block:25px}.case-top .eyebrow{font-size:.75rem}.case-hero{padding-block:45px}.case-hero h1{font-size:clamp(2.7rem,10.7vw,4.3rem);letter-spacing:-.04em}.case-hero .eyebrow{font-size:.75rem;max-width:90%}.case-hero p:not(.eyebrow){font-size:1rem;line-height:1.9}.case-content{padding-block:30px 15px}.role-note{padding:22px;margin-bottom:0}.case-section{grid-template-columns:1fr;gap:23px;padding-block:35px}.case-section-label{display:flex;align-items:baseline;gap:15px}.case-section-label .eyebrow{margin:0}.case-section-label h2{font-size:1.7rem}.case-wide-image>img{max-height:400px}.process-loop{grid-template-columns:1fr;gap:8px}.process-loop span{padding:16px 20px}.before-after{gap:14px}.before-after figcaption{font-size:.75rem}.character-grid{gap:20px}.character-grid h3{font-size:1.7rem}.character-grid p:last-child{font-size:.95rem}.sample-dialogue{padding:20px}.script>p{grid-template-columns:1fr;gap:3px}.script strong{font-size:.85rem}.focus-grid{margin-block:20px}.stats-row{gap:8px}.stats-row>div{padding:20px 12px}.stats-row strong{font-size:2.4rem}.stats-row span{font-size:.75rem}.mage-characters article{padding:25px}.mage-characters h3{font-size:1.6rem}.character-number{font-size:2.2rem;right:15px;top:15px}.enemy-list article{grid-template-columns:1fr;gap:6px}.enemy-list p{grid-column:1;margin-top:5px}.enemy-list article>span{padding:0}.next-project{display:grid;gap:18px;padding-block:30px 45px}.next-project>a:nth-child(2){font-size:1.8rem}.page-intro{padding-block:45px 35px}.page-intro h1{font-size:2.8rem}.page-intro>p:not(.eyebrow){font-size:1rem}.editorial-grid{grid-template-columns:1fr}.editorial-section{padding-block:10px 45px}.writing-archive{padding-bottom:40px}.experience{grid-template-columns:1fr;gap:10px}.resume-contact{gap:15px}.resume-content{padding-top:0}blockquote{padding:25px}blockquote p{font-size:1.45rem}}
@media(max-width:400px){.hero h1{font-size:2.7rem}.hero .eyebrow{font-size:.75rem}.hero .actions .button{font-size:.85rem;padding-inline:20px}.header-end{gap:12px}.brand{font-size:.8rem}.character-grid{grid-template-columns:1fr}.credential-list>a{flex-wrap:wrap}.credential-action{margin-left:46px;margin-top:0}.contact-section h2{font-size:2rem}.page-intro h1{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
@media print{body{background:white;color:#222;font-family:Arial,sans-serif;font-size:10pt}.site-header,.site-footer,.skip-link,.cv-download{display:none}.wrap{width:100%;max-width:none}.page-intro{padding:0 0 20px}.page-intro h1{font-size:30pt}.page-intro>p:not(.eyebrow){font-size:11pt}.case-content{padding:0}.case-section{display:block;padding:20px 0;break-inside:avoid}.case-section-label{margin-bottom:14px}.case-section-label h2{font-size:18pt}.case-section-label>.eyebrow{display:none}.experience{padding:12px 0;break-inside:avoid}.focus-grid{grid-template-columns:repeat(3,1fr)}.focus-panel{padding:15px}.focus-panel p{font-size:10pt}.resume-note{font-size:8pt;margin:20px 0}a{color:inherit!important}.resume-contact{font-size:10pt}.resume-contact a{word-break:break-all}.certificate-links li{padding-bottom:10px}}

.case-section-body{min-width:0}.table-scroll{max-width:100%}
.supporting-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}.supporting-gallery img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:13px;background:white}.supporting-gallery figcaption{padding:13px 2px 0;display:grid;gap:3px}.supporting-gallery strong{font-size:.95rem;font-weight:500}.supporting-gallery figcaption span{font-size:.8rem;color:var(--muted)}.case-section-body .gallery-note{font-size:.8rem;margin-top:24px}.case-section-body .perspective-note{font-size:.95rem;margin-top:22px}@media(max-width:760px){.supporting-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.supporting-gallery strong{font-size:.9rem}.supporting-gallery figcaption span{font-size:.75rem}}
.act-title h3{hyphens:auto;overflow-wrap:anywhere}
