@font-face{font-family:Cormorant Garamond Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/cormorant-garamond-cyrillic-ext-wght-normal.Bg62sWL9.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/cormorant-garamond-cyrillic-wght-normal.BWCqVJN0.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/cormorant-garamond-vietnamese-wght-normal.CDLFB6hb.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/cormorant-garamond-latin-ext-wght-normal.ltf1AbuM.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/cormorant-garamond-latin-wght-normal.CUoBjw-S.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-ext-wght-normal.BOFOeGcA.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-wght-normal.Xz1IZZA0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--ink:#211b15;--ink-soft:#4c4033;--muted:#72685a;--paper:#f8f3e9;--paper-light:#fffdf8;--paper-deep:#efe4d1;--line:#e6d4b9;--gold:#b77731;--gold-soft:#d6a257;--rust:#88401f;--green:#52604b;--serif:"Cormorant Garamond Variable", Georgia, "Times New Roman", serif;--sans:"DM Sans Variable", "Avenir Next", Avenir, sans-serif;--shell:1280px;--shadow-soft:0 18px 50px #3d2a1817;--shadow-card:0 8px 28px #48311b12}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper);scroll-padding-top:92px}body{color:var(--ink);background:var(--paper);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;margin:0}body::selection{color:#fff;background:var(--rust)}img,svg{max-width:100%;display:block}img{height:auto}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:.07em}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #bd813c}p,h1,h2,h3,h4{margin-top:0}h1,h2,h3{font-family:var(--serif);letter-spacing:-.025em;font-weight:650;line-height:.98}h1{font-size:clamp(3.5rem,7vw,6.3rem)}h2{font-size:clamp(2.4rem,4vw,3.65rem)}h3{font-size:clamp(1.35rem,2vw,1.75rem)}em{color:var(--rust);font-style:normal}.page-shell{width:min(var(--shell), calc(100% - 64px));margin-inline:auto}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;background:var(--ink);color:#fff;border-radius:8px;padding:.7rem 1rem;position:fixed;top:10px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.icon{flex:none}.eyebrow{color:var(--rust);font:700 .72rem/1.4 var(--sans);letter-spacing:.28em;text-transform:uppercase;margin:0 0 .8rem}.section-heading{margin-bottom:1.5rem}.section-heading h2{margin-bottom:.7rem}.section-description{max-width:620px;color:var(--ink-soft);font:500 1.18rem/1.4 var(--serif);margin-bottom:0}.section-heading-light{color:var(--paper-light)}.section-heading-light .eyebrow,.section-heading-light .section-description{color:#ead7bb}.site-header{z-index:80;backdrop-filter:blur(14px);background:#fffcf5f0;border-bottom:1px solid #ac824f2e;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:1.5rem;min-height:82px;display:flex}.brand{min-width:220px;color:var(--ink);align-items:center;gap:.62rem;text-decoration:none;display:inline-flex}.brand-mark{width:56px;color:var(--gold)}.brand-copy{gap:.05rem;display:grid}.brand-copy strong{font:700 2rem/.92 var(--serif);letter-spacing:-.045em}.brand-copy small{color:var(--muted);font:700 .49rem/1.3 var(--sans);letter-spacing:.2em}.primary-nav{justify-content:flex-end;align-items:center;gap:clamp(.9rem,2.15vw,2rem);display:flex}.nav-link{color:#2b2c2d;white-space:nowrap;align-items:center;min-height:42px;font-size:.94rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative}.nav-link:after{transform-origin:0;background:var(--gold);content:"";height:2px;transition:transform .22s;position:absolute;bottom:3px;left:0;right:0;transform:scaleX(0)}.nav-link:hover,.nav-link.active{color:var(--rust)}.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1)}.menu-toggle{display:none}.button{border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:.65rem;min-height:50px;padding:.75rem 1.25rem;font-size:.92rem;font-weight:700;line-height:1;text-decoration:none;transition:transform .22s,background .22s,border-color .22s,box-shadow .22s;display:inline-flex}.button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #542f1529}.button-primary{color:#fffaf0;background:linear-gradient(120deg,#96461f,#7e3518);box-shadow:0 5px 14px #63301324}.button-primary:hover{background:#6f2f17}.button-outline{border-color:var(--rust);color:var(--rust);background:#fffcf5b8}.button-outline:hover{border-color:var(--rust);background:#f5e8d4}.button-small{min-height:44px;padding:.7rem 1rem;font-size:.84rem}.button-full{width:100%;margin-top:.8rem}.text-link{color:var(--rust);align-items:center;gap:.5rem;font-weight:700;text-decoration:none;display:inline-flex}.text-link svg{transition:transform .2s}.text-link:hover svg{transform:translate(4px)}.hero-scene{isolation:isolate;background-color:var(--paper);background-image:linear-gradient(90deg,#f9f4eafa 0%,#f9f4eaf0 38%,#f9f4eaa6 62%,#f9f4ea1a 100%),url(/decor/bali-landscape.svg);background-position:50%,100%;background-size:cover,cover;position:relative}.hero-scene:before{z-index:-1;opacity:.42;content:"";background:url(/decor/floral-corner.svg) 0 0/contain no-repeat;width:190px;height:190px;position:absolute;top:0;left:0}.hero-bottom-ornament{background:url(/decor/floral-corner.svg) center 40%/150px auto repeat-x, linear-gradient(180deg, #faf4e8d6, var(--paper));border-top:1px solid #b27e3e7a;height:15px;position:absolute;bottom:-1px;left:0;right:0}.hero-bottom-ornament span{border:1px solid var(--gold-soft);background:var(--paper);width:23px;height:23px;position:absolute;top:-10px;left:50%;transform:translate(-50%)rotate(45deg)}.hero-bottom-ornament span:before,.hero-bottom-ornament span:after{border:1px solid var(--gold);content:"";border-radius:50%;width:11px;height:11px;position:absolute;top:5px;left:5px}.hero-sun{aspect-ratio:1;background:radial-gradient(circle,#ffe2acc2,#eab46533 69%,#0000 70%);border-radius:50%;width:145px;position:absolute;top:7%;right:18%}.gateway-art{z-index:0;object-fit:contain;object-position:bottom center;opacity:.3;filter:drop-shadow(0 14px 12px #50331821);width:53%;max-height:112%;position:absolute;bottom:-7%;right:1%}.portrait-frame{background:#ddd0bb;border:4px solid #fffbf3f2;border-radius:16px;position:relative;overflow:hidden;box-shadow:0 20px 46px #36281a38}.portrait-image{object-fit:cover;object-position:50% 34%;width:100%;height:100%}.hero-script{color:#78451f;font:italic 600 1.55rem/1.05 var(--serif);text-align:center;transform:rotate(-5deg)}.hero-art-caption{color:var(--ink-soft);letter-spacing:.11em;text-transform:uppercase;font-size:.72rem;font-weight:700}.home-hero{min-height:555px;padding:3rem 0 4.4rem;overflow:hidden}.home-hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(400px,.95fr);align-items:center;gap:clamp(1.2rem,3vw,3rem);display:grid}.home-hero-copy{z-index:2;padding:1.4rem 0 1rem 2.1rem;position:relative}.home-hero-copy h1{max-width:690px;margin:0 0 .5rem;font-size:clamp(4.1rem,6vw,6.2rem)}.home-hero-copy h1 em{color:var(--ink);display:block}.role-line{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;margin:0 0 1.1rem;font-size:clamp(1rem,1.6vw,1.25rem);font-weight:800}.role-line span{color:var(--rust)}.hero-summary{color:#3e3d3b;max-width:555px;font:500 1.31rem/1.35 var(--serif);margin-bottom:1.3rem}.hero-meta{flex-wrap:wrap;gap:1rem 2rem;margin:1.1rem 0 1.35rem;display:flex}.hero-meta>span{align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;display:inline-flex}.hero-meta svg{color:var(--gold)}.hero-actions{flex-wrap:wrap;gap:.75rem;display:flex}.home-hero-art{justify-content:center;align-items:center;min-height:445px;display:flex;position:relative}.home-hero-art .gateway-art{opacity:.53;width:84%;max-height:110%;bottom:-5%;right:7%}.portrait-frame-home{z-index:1;width:min(75%,385px);height:430px;margin:0 6% 0 auto;transform:rotate(1deg)}.portrait-frame-home .portrait-image{object-position:50% 31%}.home-hero-art .hero-sun{z-index:-1;top:4%;right:12%}.home-hero-art .hero-script{z-index:2;width:170px;margin:0;font-size:1.65rem;position:absolute;top:19%;left:-2%}.home-hero-art .hero-art-caption{z-index:3;backdrop-filter:blur(8px);background:#fffcf5c7;border:1px solid #fffbf3ad;border-radius:999px;padding:.55rem .8rem;position:absolute;bottom:3%;right:1%}.hero-art-caption span{color:var(--gold)}.highlight-section{z-index:1;padding-top:2.15rem;padding-bottom:2.15rem;position:relative}.highlight-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.highlight-card{border:1px solid var(--line);background:#fffdf8c7;border-radius:12px;align-items:flex-start;gap:.85rem;min-height:132px;padding:1.15rem;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;box-shadow:0 4px 14px #462e1808}.highlight-card:hover{box-shadow:var(--shadow-card);border-color:#d2b487;transform:translateY(-4px)}.highlight-icon{width:42px;height:42px;color:var(--gold);background:#f5e8d3;border-radius:10px;flex:0 0 42px;place-items:center;display:grid}.highlight-card h2{color:var(--rust);font:700 1.2rem/1.08 var(--serif);letter-spacing:0;margin:.05rem 0 .4rem}.highlight-card p{color:var(--ink-soft);margin:0;font-size:.87rem;line-height:1.45}.section-paper{background-color:#f3ead9;background-image:url(/decor/floral-corner.svg),linear-gradient(112deg,#f4ecdc 0%,#fbf7ee 47%,#efe2cc 100%);background-position:100% 0,50%;background-repeat:no-repeat;background-size:220px,cover;position:relative;overflow:hidden}.technology-section{border-block:1px solid var(--line);padding:3.6rem 0 4rem}.technology-layout{grid-template-columns:minmax(230px,.62fr) minmax(0,1.38fr);align-items:center;gap:clamp(2rem,5vw,5.5rem);display:grid}.technology-intro h2{max-width:360px;margin-bottom:1rem;font-size:clamp(2.75rem,4.4vw,4.1rem)}.technology-intro h2 em{color:var(--rust)}.showcase-tools{grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.showcase-tool{min-height:92px;color:var(--ink-soft);text-align:center;background:#fffdf88c;border:1px solid #bc9d753d;border-radius:11px;align-content:center;justify-items:center;gap:.45rem;padding:.55rem .35rem;font-size:.72rem;font-weight:650;line-height:1.25;transition:transform .22s,background .22s;display:grid}.showcase-tool:hover{background:#fffdf8;transform:translateY(-3px)}.tool-symbol{color:#fff;background:var(--green);width:34px;height:34px;font:800 .59rem/1 var(--sans);letter-spacing:.04em;border-radius:10px;place-items:center;display:grid}.tool-symbol-1{background:#3565ba;border-radius:50%}.tool-symbol-2{background:#b34823}.tool-symbol-3{background:#416651;border-radius:50%}.tool-symbol-4{background:#455668}.tool-symbol-5{background:var(--gold);border-radius:50%}.home-next{grid-template-columns:1fr 1fr;gap:3rem;padding-block:4.2rem 4.7rem;display:grid}.home-next-copy h2{max-width:580px;margin-bottom:.8rem}.home-next-copy>p:last-child{max-width:540px;color:var(--ink-soft)}.home-next-links{align-content:center;display:grid}.next-link{border-bottom:1px solid var(--line);align-items:center;gap:1rem;padding:1.1rem .2rem;text-decoration:none;display:flex}.next-link span{color:var(--gold);letter-spacing:.15em;font-size:.8rem;font-weight:800}.next-link strong{font:650 1.4rem var(--serif);flex:1}.next-link svg{color:var(--rust);transition:transform .2s}.next-link:hover svg{transform:translate(4px)}.about-hero{grid-template-columns:minmax(0,1.1fr) minmax(390px,.9fr);align-items:center;gap:2rem;min-height:390px;padding-top:2.3rem;padding-bottom:2.7rem;display:grid}.about-copy{z-index:2;padding-left:2rem;position:relative}.about-copy h1{margin-bottom:.25rem;font-size:clamp(4rem,6vw,5.8rem)}.about-copy h1 em{color:var(--ink)}.about-summary{color:#3f3d39;max-width:620px;font:500 1.25rem/1.35 var(--serif)}.about-portrait-wrap{justify-content:center;align-items:center;min-height:315px;display:flex;position:relative}.portrait-frame-about{z-index:1;width:min(63%,330px);height:310px}.quote-card{z-index:2;width:min(260px,56%);box-shadow:var(--shadow-card);background:#fffdf8f0;border:1px solid #e2c9a4;border-radius:14px;padding:1rem 1.2rem 1.1rem;position:absolute;bottom:0;right:-1%}.quote-card>span{color:var(--gold);font:700 3.3rem/.7 var(--serif)}.quote-card p{color:var(--ink-soft);font:500 1.1rem/1.3 var(--serif);margin:.25rem 0 0}.portrait-note{z-index:2;color:var(--rust);font:italic 600 1.25rem/1.12 var(--serif);margin:0;position:absolute;top:13%;left:0;transform:rotate(-8deg)}.skills-section{padding-block:3.2rem 2.4rem;scroll-margin-top:96px}.skills-heading-row{justify-content:space-between;align-items:end;gap:2rem;display:flex}.anchor-badge{border:1px solid var(--line);color:var(--rust);border-radius:999px;align-items:center;gap:.5rem;margin-bottom:1.75rem;padding:.55rem .8rem;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex}.skill-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem;display:grid}.skill-card{border:1px solid var(--line);background:#fffdf8db;border-radius:13px;flex-direction:column;gap:1rem;min-height:228px;padding:1.1rem;transition:transform .22s,box-shadow .22s;display:flex;box-shadow:0 5px 18px #472f190a}.skill-card:hover{box-shadow:var(--shadow-card);transform:translateY(-4px)}.skill-card-heading{align-items:flex-start;gap:.65rem;display:flex}.skill-icon{width:40px;height:40px;color:var(--gold);background:#f4e6d0;border-radius:11px;flex:0 0 40px;place-items:center;display:grid}.skill-card h3{color:var(--rust);margin:.05rem 0 .4rem;font-size:1.28rem;line-height:1.04}.skill-card-heading p{color:var(--muted);font:500 .93rem/1.35 var(--serif);margin:0}.tool-list{flex-wrap:wrap;gap:.4rem;margin:auto 0 0;padding:0;list-style:none;display:flex}.tool-chip,.tag-list li{color:#514232;background:#fbf6ec;border:1px solid #eadbc5;border-radius:7px;padding:.33rem .55rem;font-size:.72rem;font-weight:650;line-height:1.25}.about-bottom{grid-template-columns:minmax(0,1.55fr) minmax(320px,.95fr);gap:1rem;padding-block:1.2rem 4.2rem;display:grid}.education-card,.snapshot-card{border:1px solid var(--line);background:#fcf8ef;border-radius:14px;min-height:190px;padding:1.4rem 1.5rem;position:relative;overflow:hidden}.education-card{background-image:url(/decor/floral-corner.svg),linear-gradient(120deg,#fffdf8,#f5ead7);background-position:100% 0,50%;background-size:220px,cover;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;display:grid}.education-symbol{width:56px;height:56px;color:var(--gold);background:#f3e4cd;border-radius:14px;place-items:center;display:grid}.education-card .eyebrow{margin-bottom:.45rem}.education-card h2{max-width:690px;margin-bottom:.5rem;font-size:clamp(1.8rem,2.6vw,2.45rem)}.education-meta{color:var(--ink-soft);flex-wrap:wrap;gap:.35rem .7rem;margin-bottom:.35rem;font-size:.87rem;font-weight:600;display:flex}.education-meta a{color:var(--rust)}.education-note{color:var(--muted);font:500 1.03rem var(--serif);margin:0}.education-stamp{color:#947345;width:82px;height:82px;font:700 1rem var(--serif);text-align:center;border:1px solid #d9bf99;border-radius:50%;place-content:center;display:grid;transform:rotate(-9deg)}.education-stamp small{font:600 .56rem var(--sans);letter-spacing:.12em;text-transform:uppercase}.snapshot-card{padding:1.35rem 1.45rem}.snapshot-card .eyebrow{margin-bottom:.8rem}.snapshot-card dl{gap:.55rem;margin:0;display:grid}.snapshot-card dl>div{grid-template-columns:142px 1fr;gap:.5rem;display:grid}.snapshot-card dt{color:var(--muted);align-items:flex-start;gap:.45rem;font-size:.76rem;font-weight:700;display:inline-flex}.snapshot-card dt svg{color:var(--gold)}.snapshot-card dd{color:var(--ink-soft);margin:0;font-size:.78rem;font-weight:600;line-height:1.35}.page-heading{background-position:50%,100%;padding:2.5rem 0 2rem}.page-heading-inner{z-index:1;padding-left:2rem;position:relative}.page-heading h1{max-width:900px;margin-bottom:.7rem;font-size:clamp(3.5rem,6.2vw,5.7rem)}.page-heading h1 em{color:var(--ink)}.page-heading-inner>p:last-child{max-width:660px;color:var(--ink-soft);font:500 1.28rem/1.35 var(--serif);margin:0}.experience-layout{grid-template-columns:minmax(260px,.72fr) minmax(0,1.8fr);gap:clamp(1.5rem,4vw,3.6rem);padding-block:1.8rem 4.3rem;display:grid}.experience-aside{position:relative}.experience-profile-card{border:1px solid var(--line);box-shadow:var(--shadow-card);background:#fcf8ef;border-radius:15px;padding:1rem;position:sticky;top:105px}.portrait-frame-sidebar{border-radius:12px;height:250px;margin-bottom:1.1rem}.experience-profile-card>.eyebrow{margin-bottom:.3rem}.experience-profile-card h2{margin-bottom:.4rem;font-size:2.15rem}.role-line-small{letter-spacing:.11em;margin-bottom:.8rem;font-size:.78rem}.aside-fact{color:var(--gold);border-top:1px solid #eadcc8;align-items:flex-start;gap:.65rem;padding:.7rem 0;display:flex}.aside-fact span{color:var(--muted);font-size:.82rem;line-height:1.35}.aside-fact strong{color:var(--ink);font:600 1.1rem/1.15 var(--serif)}.experience-main>.section-heading{margin-bottom:1rem}.experience-main>.section-heading h2{font-size:clamp(2.2rem,3.3vw,3rem)}.timeline-list{gap:.8rem;padding:.2rem 0 .2rem 102px;display:grid;position:relative}.timeline-list:before{content:"";background:linear-gradient(#cc9652,#e9d4b4);width:2px;position:absolute;top:0;bottom:0;left:77px}.timeline-entry{position:relative}.timeline-date{width:69px;color:var(--rust);font:700 .9rem/1.25 var(--serif);text-align:right;position:absolute;top:1.1rem;left:-102px}.timeline-marker{z-index:1;border:2px solid var(--gold);background:var(--paper);border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:1.2rem;left:-33px}.timeline-marker span{background:var(--rust);border-radius:50%;width:9px;height:9px}.experience-card{border:1px solid var(--line);background-color:#fffdf8;background-image:url(/decor/floral-corner.svg);background-position:100% 100%;background-repeat:no-repeat;background-size:165px;border-radius:14px;grid-template-columns:48px 1fr;align-items:start;gap:.9rem;padding:1.15rem 1.3rem;display:grid;position:relative;box-shadow:0 4px 16px #432c170a}.company-monogram{width:46px;height:46px;color:var(--rust);font:750 .95rem var(--sans);background:#f7ebd9;border:1px solid #e4d0b0;border-radius:12px;place-items:center;display:grid}.experience-copy h2{margin:0 0 .4rem;font-size:1.65rem}.experience-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.3rem .6rem;font-size:.81rem;font-weight:650;display:flex}.experience-meta a{color:var(--rust)}.meta-item{align-items:center;gap:.25rem;display:inline-flex}.meta-item svg{color:var(--gold)}.experience-intro{max-width:700px;color:var(--muted);font:500 .98rem/1.32 var(--serif);margin:.65rem 0 .35rem}.responsibility-list{color:#48433d;gap:.25rem;margin:.65rem 0 .85rem;padding-left:1.1rem;font-size:.82rem;line-height:1.42;display:grid}.responsibility-list li::marker,.project-details li::marker{color:var(--rust)}.tag-list{flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.tag-list li{font-size:.68rem}.experience-index{color:#b777314f;font:700 1.5rem var(--serif);position:absolute;bottom:1rem;right:1rem}.projects-hero{padding:2.2rem 0 2.7rem;overflow:hidden}.projects-hero-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);align-items:center;gap:2rem;min-height:250px;display:grid}.projects-hero-grid>div:first-child{z-index:2;padding-left:2rem;position:relative}.projects-hero h1{max-width:670px;margin-bottom:.7rem;font-size:clamp(3.6rem,6.2vw,5.8rem)}.projects-hero h1 em{color:var(--ink)}.projects-hero-grid>div:first-child>p:last-child{max-width:620px;color:var(--ink-soft);font:500 1.28rem/1.35 var(--serif);margin:0}.projects-hero-art{justify-content:flex-end;align-items:center;min-height:230px;display:flex;position:relative}.portrait-frame-projects{z-index:1;width:260px;height:250px;margin-right:16%;position:relative}.projects-hero-art .hero-sun{top:0;right:15%}.projects-hero-art .hero-script{z-index:2;text-align:left;margin:0;position:absolute;top:16%;left:-8%}.projects-content{grid-template-columns:minmax(0,1.85fr) minmax(300px,.85fr);gap:clamp(1.4rem,3vw,2.6rem);padding-block:2.5rem 3.8rem;display:grid}.project-section-heading .section-heading h2,.certificates-column .section-heading h2{font-size:clamp(2.4rem,3.4vw,3.25rem)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.project-card{border:1px solid var(--line);background:#fffdf8;border-radius:14px;flex-direction:column;min-height:325px;padding:1.15rem;transition:transform .22s,box-shadow .22s;display:flex;position:relative;box-shadow:0 5px 16px #422c170a}.project-card:hover{box-shadow:var(--shadow-card);transform:translateY(-3px)}.project-card-top{justify-content:space-between;align-items:center;margin-bottom:.65rem;display:flex}.project-glyph{color:#52644e;background:#eef0e7;border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.project-category{color:var(--rust);background:#fbf1e3;border:1px solid #e8d7bd;border-radius:999px;padding:.3rem .55rem;font-size:.7rem;font-weight:700}.project-card h3{max-width:460px;margin:0 0 .35rem;font-size:1.65rem;line-height:1.02}.project-contribution{color:var(--gold);letter-spacing:.07em;text-transform:uppercase;margin:0 0 .45rem;font-size:.75rem;font-weight:800}.project-summary{color:var(--ink-soft);font:500 1.05rem/1.3 var(--serif);margin:0 0 .8rem}.project-tags{margin-bottom:.75rem}.project-details{border-top:1px solid #eee1ce;margin-top:auto}.project-details summary{color:var(--rust);cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding-top:.75rem;font-size:.82rem;font-weight:750;list-style:none;display:flex}.project-details summary::-webkit-details-marker{display:none}.project-details summary svg{transition:transform .2s}.project-details[open] summary svg{transform:rotate(90deg)}.project-details ul{color:#514a40;gap:.32rem;margin:.65rem 0 .1rem;padding-left:1.1rem;font-size:.79rem;line-height:1.42;display:grid}.certificates-column{border-left:1px solid var(--line);padding-left:1.45rem;scroll-margin-top:104px}.certificates-column .section-heading{margin-bottom:1rem}.certificate-list{gap:.8rem;display:grid}.certificate-card{border:1px solid var(--line);background:linear-gradient(130deg,#fffdf8,#f7efdf);border-radius:14px;padding:1.05rem;box-shadow:0 4px 14px #432c170a}.certificate-main{grid-template-columns:68px 1fr;align-items:center;gap:.8rem;display:grid}.certificate-seal{clip-path:polygon(50% 0%,61% 9%,75% 5%,83% 18%,97% 25%,91% 40%,100% 50%,91% 61%,96% 76%,82% 84%,76% 97%,61% 92%,50% 100%,39% 92%,24% 97%,17% 84%,3% 76%,9% 61%,0 50%,9% 39%,3% 24%,17% 17%,24% 4%,39% 9%);color:#fff;background:#3f6689;align-content:center;justify-items:center;width:64px;height:64px;display:grid}.certificate-seal span{font:800 .9rem/1 var(--sans)}.certificate-seal small{letter-spacing:.1em;text-transform:uppercase;margin-top:.2rem;font-size:.46rem;font-weight:800}.certificate-kicker{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .25rem;font-size:.62rem;font-weight:800}.certificate-card h3{margin:0 0 .3rem;font-size:1.37rem;line-height:1.06}.certificate-card h3 span{color:var(--rust)}.certificate-issuer{color:var(--muted);margin:0;font-size:.74rem;line-height:1.35}.certificate-meta{border-top:1px solid #eadcc7;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.8rem;padding-top:.75rem;display:flex}.certificate-meta>span,.certificate-meta a{color:var(--ink-soft);align-items:center;gap:.4rem;font-size:.72rem;font-weight:700;display:inline-flex}.certificate-meta svg{color:var(--gold)}.certificate-meta a{color:var(--rust);text-decoration:none}.certificate-note{color:var(--rust);border-block:1px solid #dfc9a7;align-items:center;gap:.65rem;margin-top:1rem;padding:.8rem;display:flex}.certificate-note>span{color:var(--gold);font-size:1.8rem}.certificate-note p{font:italic 600 1.2rem var(--serif);margin:0}.project-closing{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1.5rem;padding-block:1.7rem 3.7rem;display:flex}.project-closing h2{max-width:750px;margin:0;font-size:clamp(2rem,3vw,3rem)}.contact-hero{padding:2.6rem 0 3rem;overflow:hidden}.contact-hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(350px,.88fr);align-items:center;gap:1.5rem;display:grid}.contact-hero-copy{z-index:2;padding-left:2rem;position:relative}.contact-hero-copy h1{max-width:760px;margin-bottom:.8rem;font-size:clamp(3.5rem,5.4vw,4.95rem)}.contact-hero-copy h1 em{color:var(--ink)}.contact-hero-copy>p:not(.eyebrow){max-width:610px;color:var(--ink-soft);font:500 1.25rem/1.35 var(--serif);margin-bottom:1.2rem}.contact-hero-art{justify-content:center;align-items:end;min-height:300px;display:flex;position:relative}.gateway-art-contact{opacity:.55;width:78%;max-height:110%;bottom:-8%;right:7%}.portrait-frame-contact{z-index:1;width:250px;height:285px;margin-right:10%;position:relative}.contact-hero-art .hero-script{z-index:2;margin:0;font-size:1.45rem;position:absolute;top:9%;right:-1%}.contact-hero-points{flex-wrap:wrap;gap:1.25rem;display:flex}.contact-hero-points span{grid-template-columns:auto auto;align-items:center;column-gap:.5rem;display:grid}.contact-hero-points svg{color:var(--gold);grid-row:span 2}.contact-hero-points strong{font-size:.84rem}.contact-hero-points small{color:var(--muted);font-size:.69rem}.contact-main{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1rem;padding-block:1.7rem 2.8rem;display:grid}.contact-profile-card,.contact-form{border:1px solid var(--line);background-color:#fffdf8;background-image:url(/decor/floral-corner.svg);background-position:100% 100%;background-repeat:no-repeat;background-size:180px;border-radius:15px;min-width:0;padding:clamp(1.1rem,2.3vw,1.8rem);box-shadow:0 5px 18px #432c170a}.contact-profile-card{grid-template-columns:minmax(145px,.72fr) minmax(0,1.28fr);align-items:start;gap:1.2rem;display:grid}.contact-portrait-wrap{height:250px;box-shadow:var(--shadow-card);border:3px solid #f5e6d0;border-radius:12px;overflow:hidden}.contact-portrait-wrap .portrait-image{object-position:50% 35%;height:100%}.contact-profile-copy h2{margin-bottom:.35rem;font-size:clamp(1.8rem,2.5vw,2.55rem);line-height:1.02}.contact-bio{color:var(--ink-soft);font:500 1.06rem/1.35 var(--serif);margin:.3rem 0 .8rem}.contact-details{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.contact-details li{color:var(--gold);align-items:flex-start;gap:.55rem;display:flex}.contact-details li>span,.contact-details a{color:var(--ink);overflow-wrap:anywhere;font-size:.81rem;font-weight:650}.contact-details a:hover{color:var(--rust)}.contact-form{background-image:none}.form-title{align-items:center;gap:.8rem;margin-bottom:1.15rem;display:flex}.form-title-icon{color:#fff9ee;background:var(--rust);border-radius:11px;place-items:center;width:44px;height:44px;display:grid}.form-title h2{margin:0 0 .15rem;font-size:1.9rem}.form-title p{color:var(--muted);margin:0;font-size:.8rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.field{gap:.3rem;display:grid}.field>span{color:var(--ink-soft);font-size:.72rem;font-weight:750}.field-wide{grid-column:1/-1}.field input,.field textarea{width:100%;min-width:0;color:var(--ink);background:#fffdfa;border:1px solid #dfd3c2;border-radius:8px;padding:.72rem .8rem;font-size:.82rem;transition:border-color .18s,box-shadow .18s}.field textarea{resize:vertical;min-height:112px}.field input:focus,.field textarea:focus{border-color:var(--gold);outline:0;box-shadow:0 0 0 3px #b7773126}.field input::placeholder,.field textarea::placeholder{color:#8b8277}.submit-button{width:100%;margin-top:.75rem}.form-note{color:var(--muted);margin:.65rem 0 0;font-size:.72rem;line-height:1.4}.ways-section{padding-block:.4rem 3.6rem}.ways-heading{grid-template-columns:auto minmax(210px,auto) 1fr;align-items:center;gap:.8rem 1rem;margin-bottom:1rem;display:grid}.ways-heading .eyebrow{margin:0}.ways-heading h2{margin:0;font-size:clamp(1.8rem,2.6vw,2.45rem)}.ways-heading>p:last-child{max-width:520px;color:var(--muted);text-align:right;justify-self:end;margin:0;font-size:.84rem}.ways-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;display:grid}.way-card{border:1px solid var(--line);background:#fffdf8;border-radius:12px;gap:.75rem;min-height:128px;padding:1rem;transition:transform .22s,box-shadow .22s;display:flex}.way-card:hover{box-shadow:var(--shadow-card);transform:translateY(-3px)}.way-icon{width:42px;height:42px;color:var(--gold);background:#f4e7d2;border-radius:10px;flex:0 0 42px;place-items:center;display:grid}.way-card h3{color:var(--rust);margin:.1rem 0 .4rem;font-size:1.2rem}.way-card p{color:var(--ink-soft);margin:0;font-size:.79rem;line-height:1.4}.site-footer{border-top:1px solid var(--line);background:#f2e8d8;position:relative;overflow:hidden}.footer-ornament{background:url(/decor/floral-corner.svg) 50% 44%/130px repeat-x;border-bottom:1px solid #d8bd96;height:11px}.footer-inner{grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem 2rem;min-height:102px;padding-block:1.25rem;display:grid}.footer-inner .brand{min-width:unset}.footer-inner .brand-mark{width:43px}.footer-inner .brand-copy strong{font-size:1.65rem}.footer-inner .brand-copy small{font-size:.4rem}.footer-nav{flex-wrap:wrap;justify-content:center;gap:.45rem 1.2rem;display:flex}.footer-nav a{color:var(--ink-soft);font-size:.76rem;font-weight:650;text-decoration:none}.footer-nav a:hover{color:var(--rust)}.footer-social{gap:.5rem;display:flex}.icon-link{width:38px;height:38px;color:var(--ink-soft);background:#fffdf8b3;border:1px solid #dfcdb2;border-radius:9px;place-items:center;transition:color .2s,background .2s;display:grid}.icon-link:hover{color:#fff;background:var(--rust)}.copyright{color:var(--muted);grid-column:1/3;margin:0;font-size:.7rem}.footer-motto{color:var(--rust);font:italic 600 1.15rem var(--serif);grid-area:2/3;justify-self:end;margin:0}.not-found{align-content:center;justify-items:start;min-height:60vh;padding-block:4rem;display:grid}.not-found h1{max-width:760px;margin-bottom:.8rem}.not-found>p:not(.eyebrow){max-width:570px;color:var(--ink-soft);font:500 1.25rem/1.4 var(--serif)}.reveal{opacity:1;transform:none}@media (prefers-reduced-motion:no-preference){.reveal{transition:opacity .55s ease var(--reveal-delay,0s), transform .55s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0s)}.reveal:not(.is-visible){opacity:.01;transform:translateY(14px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.resume-print-body{background:#fff}.resume-page{color:#211b15;background:#fff;max-width:850px;margin:24px auto;padding:48px 56px;font:10pt/1.38 Arial,sans-serif}.resume-header{border-bottom:2px solid #88401f;justify-content:space-between;gap:24px;padding-bottom:15px;display:flex}.resume-header .eyebrow{margin-bottom:4px;font-size:8pt}.resume-header h1{color:#211b15;letter-spacing:-.04em;margin:0 0 3px;font:700 29pt/1.02 Georgia,serif}.resume-role{color:#88401f;margin:0;font-size:10pt;font-weight:700}.resume-header address{color:#4c4033;text-align:right;align-self:end;font:8.4pt/1.5 Arial,sans-serif}.resume-header a,.resume-section a{color:#88401f;text-decoration:none}.resume-section{margin-top:13px}.resume-section h2{color:#88401f;border-bottom:1px solid #dbc4a1;margin:0 0 6px;padding-bottom:4px;font:700 14pt/1.1 Georgia,serif}.resume-summary p,.resume-section>p{margin:0;font-size:9pt}.resume-entry{break-inside:avoid;margin-top:7px}.resume-entry-head{justify-content:space-between;gap:18px;display:flex}.resume-entry h3,.resume-skills h3,.resume-projects h3{margin:0 0 2px;font:700 10pt/1.15 Arial,sans-serif}.resume-entry-head p{color:#62584b;margin:0;font-size:8.2pt}.resume-entry-date{color:#62584b;text-align:right;flex:none;font-size:8pt}.resume-entry ul{margin:3px 0 0;padding-left:14px;font-size:8.2pt}.resume-entry li{margin:1px 0}.resume-skills{grid-template-columns:repeat(2,1fr);gap:6px 15px;display:grid}.resume-skills h3{color:#211b15;font-size:8.5pt}.resume-skills p{color:#62584b;margin:0;font-size:8pt}.resume-projects{grid-template-columns:repeat(2,1fr);gap:7px 15px;display:grid}.resume-projects article{break-inside:avoid}.resume-projects h3{font-size:8.5pt}.resume-projects h3 span{color:#756857;font-weight:400}.resume-projects p{margin:0;font-size:7.8pt}.resume-lower-grid{grid-template-columns:1.15fr .85fr;gap:20px;display:grid}.resume-cert{margin:0 0 5px;font-size:8pt}.resume-footer{color:#756857;text-align:center;border-top:1px solid #dbc4a1;margin-top:12px;padding-top:10px;font-size:7pt}@media (width<=1120px){.page-shell{width:min(var(--shell), calc(100% - 48px))}.primary-nav{gap:.9rem}.brand{min-width:190px}.brand-mark{width:48px}.brand-copy strong{font-size:1.75rem}.nav-link{font-size:.83rem}.nav-connect{display:none}.home-hero-grid{grid-template-columns:minmax(0,1fr) minmax(330px,.85fr)}.home-hero-copy{padding-left:.5rem}.home-hero-copy h1{font-size:clamp(3.8rem,6.5vw,5.3rem)}.home-hero-art{min-height:395px}.portrait-frame-home{height:365px}.highlight-card{padding:.95rem}.highlight-icon{flex-basis:36px;width:36px;height:36px}.highlight-card h2{font-size:1.05rem}.highlight-card p{font-size:.78rem}.skill-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.skill-card{min-height:194px}.projects-content{grid-template-columns:minmax(0,1.55fr) minmax(270px,.8fr)}.contact-profile-card{grid-template-columns:minmax(120px,.58fr) minmax(0,1.42fr);gap:.85rem}.contact-portrait-wrap{height:230px}.footer-inner{grid-template-columns:auto 1fr auto;gap:.8rem 1rem}.footer-nav{gap:.4rem .75rem}}@media (width<=850px){.page-shell{width:min(var(--shell), calc(100% - 40px))}.header-inner{min-height:72px}.brand{min-width:0}.menu-toggle{border:1px solid var(--line);width:44px;height:44px;color:var(--rust);cursor:pointer;background:#fffdf8;border-radius:10px;place-items:center;display:grid}.menu-toggle .close-icon,.menu-toggle[aria-expanded=true] .menu-icon{display:none}.menu-toggle[aria-expanded=true] .close-icon{display:block}.primary-nav{border-bottom:1px solid var(--line);background:#fffdf8;align-items:stretch;gap:0;padding:.5rem 20px 1rem;display:none;position:absolute;top:calc(100% - 1px);left:0;right:0;box-shadow:0 12px 18px #3f2c1617}.primary-nav.is-open{display:grid}.nav-link{border-bottom:1px solid #f0e6d7;min-height:45px;padding:.3rem .5rem;font-size:.95rem}.nav-link:after{width:58px;bottom:0;right:auto}.nav-connect{justify-self:start;margin-top:.75rem;display:inline-flex}.home-hero{min-height:auto;padding:2.5rem 0 3.7rem}.home-hero-grid{grid-template-columns:minmax(0,1fr) minmax(250px,.8fr);gap:.8rem}.home-hero-copy h1{font-size:clamp(3.4rem,7vw,4.6rem)}.hero-summary{font-size:1.14rem}.home-hero-art{min-height:340px}.portrait-frame-home{width:80%;height:320px;margin-right:0}.home-hero-art .hero-script{font-size:1.25rem;top:8%;left:-12%}.home-hero-art .hero-art-caption{display:none}.highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.highlight-card{min-height:110px}.technology-layout{grid-template-columns:1fr;gap:1.5rem}.technology-intro{grid-template-columns:1fr auto;align-items:end;gap:.2rem 1rem;display:grid}.technology-intro .eyebrow{grid-column:1/-1}.technology-intro h2{max-width:unset;margin:0;font-size:3rem}.technology-intro .text-link{align-self:end;margin-bottom:.35rem}.showcase-tools{grid-template-columns:repeat(6,minmax(0,1fr))}.about-hero{grid-template-columns:minmax(0,1fr) minmax(260px,.75fr);gap:.8rem}.about-copy{padding-left:.4rem}.about-copy h1{font-size:4.6rem}.about-summary{font-size:1.1rem}.about-portrait-wrap{min-height:280px}.portrait-frame-about{height:260px}.quote-card{padding:.75rem;bottom:-1rem;right:-2%}.quote-card p{font-size:.95rem}.portrait-note{font-size:1rem;top:8%;left:-4%}.experience-layout{grid-template-columns:minmax(210px,.65fr) minmax(0,1.35fr);gap:1.2rem}.experience-profile-card{top:88px}.timeline-list{padding-left:80px}.timeline-list:before{left:61px}.timeline-date{width:54px;font-size:.77rem;left:-80px}.timeline-marker{left:-28px}.experience-card{grid-template-columns:1fr;padding:1rem}.company-monogram{width:38px;height:38px}.projects-content{grid-template-columns:1fr}.certificates-column{border-top:1px solid var(--line);border-left:0;grid-template-columns:1fr 1fr;gap:.8rem 1rem;padding:1.3rem 0 0;display:grid}.certificates-column .section-heading{grid-column:1/-1}.certificate-list{grid-column:1}.certificate-note{grid-area:2/2;align-self:start;margin-top:0}.contact-hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(250px,.8fr)}.contact-hero-copy{padding-left:.4rem}.contact-hero-copy h1{font-size:clamp(3.3rem,6.8vw,4.8rem)}.contact-hero-art{min-height:270px}.portrait-frame-contact{width:205px;height:245px}.contact-main{grid-template-columns:1fr}.contact-profile-card{grid-template-columns:210px 1fr}.contact-portrait-wrap{height:260px}.ways-heading{grid-template-columns:auto 1fr}.ways-heading>p:last-child{text-align:left;grid-column:1/-1;justify-self:start}.ways-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-inner{grid-template-columns:auto 1fr auto}.footer-nav{grid-area:2/1/auto/3;justify-content:flex-start}.footer-social{grid-area:1/3}.copyright{grid-area:3/1/auto/-1}.footer-motto{display:none}}@media (width<=600px){html{scroll-padding-top:78px}body{font-size:15px}.page-shell{width:min(var(--shell), calc(100% - 32px))}.header-inner{min-height:66px}.brand-mark{width:42px}.brand-copy strong{font-size:1.65rem}.brand-copy small{font-size:.39rem}.primary-nav{padding-inline:16px}.home-hero{background-image:linear-gradient(#f9f4eaf0,#f9f4eabf),url(/decor/bali-landscape.svg);padding:2rem 0 3.1rem}.home-hero-grid{grid-template-columns:1fr;gap:.6rem}.home-hero-copy{padding:0}.eyebrow{letter-spacing:.22em;font-size:.65rem}.home-hero-copy h1{max-width:500px;font-size:clamp(3.35rem,15vw,4.6rem)}.role-line{font-size:.9rem}.hero-summary{max-width:510px;font-size:1.13rem}.hero-meta{gap:.65rem 1rem;margin:.9rem 0 1rem}.hero-meta>span{font-size:.83rem}.hero-actions{gap:.6rem}.button{min-height:46px;padding:.7rem 1rem;font-size:.84rem}.home-hero-art{justify-content:center;min-height:260px;margin-top:.2rem}.home-hero-art .gateway-art{opacity:.38;width:83%;right:4%}.portrait-frame-home{width:min(59%,250px);height:255px;margin:0}.home-hero-art .hero-script{width:112px;font-size:1.08rem;top:17%;left:0}.hero-sun{width:105px;right:20%}.highlight-section{padding-block:1.2rem}.highlight-grid{grid-template-columns:1fr;gap:.55rem}.highlight-card{min-height:0;padding:.8rem}.highlight-card h2{font-size:1.13rem}.highlight-card p{font-size:.79rem}.technology-section{padding-block:2.3rem}.technology-intro{grid-template-columns:1fr}.technology-intro h2{font-size:2.65rem}.technology-intro .text-link{margin-top:.65rem}.showcase-tools{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.showcase-tool{min-height:80px;font-size:.67rem}.home-next{grid-template-columns:1fr;gap:.8rem;padding-block:2.5rem}.home-next-copy h2{font-size:2.7rem}.next-link{padding-block:.85rem}.next-link strong{font-size:1.15rem}.about-hero{flex-direction:column;align-items:stretch;gap:.8rem;padding-top:1.8rem;padding-bottom:2.6rem;display:flex}.about-copy{padding:0}.about-copy h1{font-size:4rem}.about-summary{font-size:1.1rem}.about-portrait-wrap{min-height:290px}.portrait-frame-about{width:min(67%,280px);height:275px}.portrait-note{top:12%;left:2%}.quote-card{width:48%;bottom:-.2rem;right:0}.skills-section{padding-block:2rem 1.3rem}.skills-heading-row{display:block}.skills-heading-row .section-heading h2{font-size:2.8rem}.anchor-badge{margin:-.6rem 0 1.1rem}.skill-grid{grid-template-columns:1fr;gap:.6rem}.skill-card{gap:.8rem;min-height:0;padding:.95rem}.skill-card h3{font-size:1.35rem}.tool-chip{font-size:.7rem}.about-bottom{grid-template-columns:1fr;padding-block:.2rem 2.5rem}.education-card{grid-template-columns:auto 1fr;padding:1rem}.education-symbol{width:42px;height:42px}.education-symbol svg{width:27px;height:27px}.education-card h2{font-size:1.9rem}.education-stamp{display:none}.snapshot-card{padding:1rem}.snapshot-card dl>div{grid-template-columns:126px 1fr}.page-heading{padding-block:2rem 1.4rem}.page-heading-inner{padding-left:0}.page-heading h1{font-size:clamp(3rem,12vw,4.2rem)}.page-heading-inner>p:last-child{font-size:1.15rem}.experience-layout{grid-template-columns:1fr;padding-block:1.2rem 2.6rem}.experience-profile-card{grid-template-columns:112px 1fr;align-items:center;gap:.1rem .8rem;display:grid;position:static}.portrait-frame-sidebar{grid-row:span 4;height:145px;margin:0}.experience-profile-card>.eyebrow{align-self:end;font-size:.55rem}.experience-profile-card h2{margin-bottom:.15rem;font-size:1.7rem}.experience-profile-card .role-line{margin-bottom:.25rem;font-size:.63rem}.aside-fact{grid-column:1/-1;padding:.45rem 0}.experience-profile-card .button{grid-column:1/-1;margin-top:.45rem}.experience-main>.section-heading h2{font-size:2.45rem}.timeline-list{gap:.65rem;padding-left:22px}.timeline-list:before{left:7px}.timeline-date{text-align:left;width:auto;margin:0 0 .35rem 1.2rem;position:static}.timeline-marker{width:17px;height:17px;top:1px;left:-22px}.timeline-marker span{width:6px;height:6px}.experience-card{padding:.85rem}.experience-copy h2{font-size:1.55rem}.experience-index{font-size:1.1rem;bottom:.55rem;right:.65rem}.responsibility-list{font-size:.78rem}.projects-hero{padding-block:1.9rem 2.2rem}.projects-hero-grid{grid-template-columns:1fr;gap:.6rem}.projects-hero-grid>div:first-child{padding-left:0}.projects-hero h1{font-size:clamp(3.2rem,13vw,4.4rem)}.projects-hero-grid>div:first-child>p:last-child{font-size:1.13rem}.projects-hero-art{justify-content:center;min-height:195px}.portrait-frame-projects{width:186px;height:183px;margin-right:0}.projects-hero-art .hero-script{font-size:1.13rem;top:15%;left:3%}.projects-content{gap:2rem;padding-block:1.8rem 2.5rem}.project-section-heading .section-heading h2,.certificates-column .section-heading h2{font-size:2.5rem}.project-grid{grid-template-columns:1fr}.project-card{min-height:290px}.certificates-column{grid-template-columns:1fr;gap:.4rem}.certificate-list,.certificate-note{grid-area:auto/1}.certificate-note{margin-top:.5rem}.project-closing{flex-direction:column;align-items:flex-start;padding-block:1.3rem 2.4rem}.project-closing h2{font-size:2.4rem}.contact-hero{padding-block:1.9rem 2.2rem}.contact-hero-grid{grid-template-columns:1fr;gap:.4rem}.contact-hero-copy{padding:0}.contact-hero-copy h1{font-size:clamp(3.3rem,13vw,4.6rem)}.contact-hero-copy>p:not(.eyebrow){font-size:1.12rem}.contact-hero-points{gap:.9rem}.contact-hero-art{min-height:230px}.gateway-art-contact{width:83%}.portrait-frame-contact{width:180px;height:218px;margin:0}.contact-hero-art .hero-script{font-size:1.2rem;top:15%;right:0}.contact-main{gap:.7rem;padding-block:1.1rem 2rem}.contact-profile-card{grid-template-columns:1fr;padding:1rem}.contact-portrait-wrap{justify-self:center;width:min(100%,280px);height:260px}.contact-profile-copy h2{font-size:2.2rem}.contact-form{padding:1rem}.form-title h2{font-size:1.65rem}.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.field textarea{min-height:125px}.ways-section{padding-bottom:2.5rem}.ways-heading{display:block}.ways-heading h2{margin-bottom:.5rem;font-size:2.2rem}.ways-heading>p:last-child{margin:0}.ways-grid{grid-template-columns:1fr;gap:.55rem}.way-card{min-height:0}.footer-inner{grid-template-columns:1fr auto;gap:.8rem}.footer-inner .brand{grid-area:1/1}.footer-social{grid-area:1/2}.footer-nav{grid-area:2/1/auto/-1;gap:.45rem .85rem}.copyright{grid-area:3/1/auto/-1;font-size:.65rem}.resume-page{margin:0;padding:24px}}@media print{@page{size:A4;margin:11mm 12mm}html,body{color:#211b15;width:auto;min-height:0;background:#fff!important}.resume-page{max-width:none;margin:0;padding:0;font-size:8.4pt}.resume-header h1{font-size:26pt}.resume-section{margin-top:9px}.resume-section h2{font-size:12pt}.resume-entry{margin-top:5px}.resume-entry ul{font-size:7.6pt}.resume-entry li{margin:0}.resume-projects{gap:5px 12px}.resume-projects p{font-size:7.2pt}.resume-skills{gap:4px 12px}.resume-footer{margin-top:8px;padding-top:7px}}
