@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
    :root{--bg:#10151a;--panel:#1c242a;--line:#354047;--text:#f2f1eb;--muted:#aab3b4;--accent:#d4ff63;--font:Manrope,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:var(--accent);color:var(--bg)}.wrap{width:min(1440px,calc(100% - 88px));margin:auto}.mono,.eyebrow,.nav,.number,.meta,.chip,.section-no,.footer{font-family:'DM Mono',monospace}.eyebrow,.section-no,.number,.meta{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:5}.brand{display:flex;gap:12px;align-items:center;font-weight:800;letter-spacing:-.045em;font-size:1.32rem}.brand-mark{background:var(--accent);color:var(--bg);border-radius:50%;width:35px;height:35px;display:grid;place-items:center;font-size:.9rem;letter-spacing:-.1em}.nav{display:flex;gap:29px;font-size:.78rem;text-transform:uppercase}.nav a:hover,.footer a:hover{color:var(--accent)}.header-note{border:1px solid var(--line);border-radius:50px;padding:11px 16px;font-size:.73rem;color:var(--muted)}.hero{min-height:685px;display:grid;grid-template-columns:1.2fr .8fr;gap:30px;position:relative;align-items:center;padding:70px 0 90px}.hero-copy{position:relative;z-index:2}.hero .eyebrow{color:var(--accent);margin:0 0 30px}.hero h1{font-size:clamp(4.25rem,8.5vw,9.4rem);line-height:.88;letter-spacing:-.095em;margin:0 0 38px;font-weight:800;max-width:900px}.hero h1 span{color:var(--accent)}.hero-lede{font-size:clamp(1.15rem,1.65vw,1.55rem);line-height:1.42;max-width:660px;letter-spacing:-.035em;margin:0 0 32px}.hero-bottom{display:flex;align-items:center;gap:30px}.text-link{display:inline-flex;gap:15px;align-items:center;border-bottom:1px solid var(--accent);padding:0 0 9px;color:var(--accent);font-weight:700;font-size:.93rem}.text-link span{font-size:1.4rem;line-height:1}.hero-bottom .meta{color:var(--muted);line-height:1.7}.orbital{height:min(40vw,540px);min-height:390px;position:relative;transform:perspective(850px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .35s ease-out;transform-style:preserve-3d}.orbit{position:absolute;inset:9%;border:1px solid #60716e;border-radius:50%;transform:rotate(-30deg) rotateX(64deg)}.orbit.two{inset:1%;transform:rotate(35deg) rotateY(57deg);border-color:#4f5c60}.orbit.three{inset:21%;transform:rotate(70deg) rotateY(70deg);border-color:#869491}.core{position:absolute;inset:25%;border-radius:50%;background:radial-gradient(circle at 27% 23%,#e8ffae,#a7de43 38%,#496f30 76%,#273629 100%);box-shadow:0 0 85px #bbf75c22, inset -32px -37px 40px #18291b70;transform:translateZ(42px)}.orbital-label{position:absolute;background:#e9eee4;color:#17201b;padding:10px 13px;font-size:.72rem;font-weight:800;letter-spacing:-.03em;box-shadow:12px 12px 0 #0d1115}.orbital-label.a{left:-7%;top:23%;transform:translateZ(75px) rotate(-7deg)}.orbital-label.b{right:-4%;bottom:23%;transform:translateZ(95px) rotate(6deg)}.orbit-dot{position:absolute;top:15%;right:20%;background:var(--accent);width:18px;height:18px;border-radius:50%;box-shadow:0 0 24px var(--accent)}.hero-index{position:absolute;right:0;bottom:32px;color:var(--muted);display:flex;gap:16px;align-items:center;font-size:.72rem}.hero-index:before{content:'';height:1px;width:55px;background:var(--muted)}.ribbon{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:18px 0;color:#9eaaa6}.ribbon-inner{display:flex;gap:50px;white-space:nowrap;justify-content:space-between;font-size:.77rem;letter-spacing:.1em;text-transform:uppercase;font-family:'DM Mono',monospace}.ribbon b{color:var(--accent);font-weight:400}.section{padding:115px 0}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:52px}.section-heading h2{font-size:clamp(2.8rem,5.7vw,6.4rem);letter-spacing:-.075em;line-height:.98;margin:12px 0 0;max-width:900px}.section-heading .intro{max-width:340px;color:var(--muted);line-height:1.65;margin-top:36px;font-size:.97rem}.section-no{color:var(--accent)}.journey-layout{display:grid;grid-template-columns:270px 1fr;gap:55px}.journey-aside{position:sticky;top:30px;height:max-content}.journey-aside p{font-size:1rem;line-height:1.6;color:var(--muted);margin:0 0 20px}.progress-track{height:2px;background:var(--line)}.progress-fill{height:100%;width:14.28%;background:var(--accent);transition:width .3s}.phase{border-top:1px solid var(--line);display:grid;grid-template-columns:86px 1fr auto;column-gap:20px;align-items:start;padding:29px 0 34px;transition:padding .25s,background .25s}.phase:last-child{border-bottom:1px solid var(--line)}.phase:hover{padding-left:15px;background:#1b2527}.phase .number{color:var(--accent);padding-top:7px}.phase h3{font-size:clamp(1.35rem,2.35vw,2.35rem);letter-spacing:-.06em;line-height:1.16;margin:0 0 12px}.phase p{max-width:620px;color:var(--muted);font-size:.96rem;line-height:1.6;margin:0 0 19px}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{border:1px solid #48544d;border-radius:30px;padding:7px 11px;font-size:.68rem;color:#d3dfc9;letter-spacing:0}.phase-arrow{color:var(--accent);font-size:1.35rem}.band{background:var(--accent);color:var(--bg);padding:24px 0}.band .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:clamp(1.3rem,2.5vw,2.7rem);font-weight:800;letter-spacing:-.06em}.band .mono{font-size:.75rem;letter-spacing:0;font-weight:400}.projects{background:#e9ece4;color:#131a1e}.projects .section-no{color:#486d1b}.projects .section-heading .intro{color:#4c5754}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #b3bdb4;border-left:1px solid #b3bdb4}.project{min-height:430px;padding:27px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid #b3bdb4;border-bottom:1px solid #b3bdb4;position:relative;overflow:hidden;transition:background .25s}.project:hover{background:#dae5cd}.project .meta{display:flex;justify-content:space-between;color:#52645a}.project-visual{font-size:clamp(4rem,8vw,9rem);font-weight:800;letter-spacing:-.13em;text-align:center;line-height:1;transition:transform .4s}.project:hover .project-visual{transform:scale(1.08) rotate(-3deg)}.project:nth-child(1) .project-visual{color:#a3b93c}.project:nth-child(2) .project-visual{color:#778d93}.project:nth-child(3) .project-visual{color:#202f29}.project h3{font-size:1.8rem;letter-spacing:-.06em;margin:0 0 8px}.project p{font-size:.88rem;color:#52605d;line-height:1.45;max-width:250px;margin:0}.career{background:#162027}.career-list{border-top:1px solid var(--line)}.career-row{display:grid;grid-template-columns:170px 1fr 1fr;gap:30px;border-bottom:1px solid var(--line);padding:29px 0}.career-row .meta{color:var(--accent)}.career-row h3{font-size:clamp(1.4rem,2.5vw,2.4rem);letter-spacing:-.06em;margin:0}.career-row p{margin:0;color:var(--muted);line-height:1.6;font-size:.95rem}.education-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.education-card{border:1px solid var(--line);padding:30px;min-height:215px;display:flex;flex-direction:column;justify-content:space-between}.education-card .meta{color:var(--accent)}.education-card h3{font-size:clamp(1.3rem,2.3vw,2.1rem);letter-spacing:-.05em;margin:0}.education-card p{color:var(--muted);margin:8px 0 0}.closing{padding:100px 0 40px;border-top:1px solid var(--line)}.closing h2{font-size:clamp(3.5rem,8vw,9rem);letter-spacing:-.09em;line-height:.92;max-width:1000px;margin:0 0 40px}.closing h2 span{color:var(--accent)}.footer{border-top:1px solid var(--line);margin-top:100px;padding:25px 0;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:.74rem}.footer div{display:flex;gap:26px}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}@media(max-width:1050px){.wrap{width:min(100% - 48px,900px)}.header-note{display:none}.hero{grid-template-columns:1fr .65fr;min-height:620px}.hero h1{font-size:clamp(4.4rem,9vw,7rem)}.orbital{min-height:350px}.orbital-label{font-size:.6rem}.journey-layout{grid-template-columns:190px 1fr;gap:30px}.project{min-height:370px}}@media(max-width:720px){.wrap{width:calc(100% - 36px)}.site-header{height:68px}.nav{gap:14px;font-size:.66rem}.nav a:nth-child(2){display:none}.brand{font-size:1rem}.brand-mark{width:30px;height:30px}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:auto;padding:65px 0 30px;gap:0}.hero h1{font-size:clamp(3.75rem,15vw,6.5rem);margin-bottom:28px}.hero-lede{font-size:1.13rem}.orbital{width:min(100%,420px);height:340px;min-height:340px;align-self:center;margin:8px 0}.orbital-label.a{left:3%}.orbital-label.b{right:3%}.hero-index{position:static;justify-content:flex-end}.ribbon-inner{gap:25px;font-size:.65rem;justify-content:flex-start}.ribbon-inner span:nth-child(n+5){display:none}.section{padding:75px 0}.section-heading{display:block;margin-bottom:35px}.section-heading .intro{margin:20px 0 0}.journey-layout{display:block}.journey-aside{position:static;margin-bottom:25px}.journey-aside p{font-size:.9rem}.phase{grid-template-columns:36px 1fr 20px;gap:8px;padding:24px 0}.phase:hover{padding-left:0}.phase p{font-size:.88rem}.project-grid{grid-template-columns:1fr}.project{min-height:290px}.project-visual{font-size:7rem}.career-row{grid-template-columns:1fr;gap:10px}.career-row p{max-width:520px}.education-grid{grid-template-columns:1fr}.closing{padding-top:70px}.closing h2{font-size:clamp(3.4rem,13vw,6rem)}.footer{margin-top:75px}.band .mono{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.orbital{transform:none!important}}

/* Second direction: cinematic studio */
:root{--bg:#171310;--panel:#241d18;--line:#514236;--text:#f6eadb;--muted:#c0b4a8;--accent:#f5b071}
.site-header{position:absolute;top:0;left:50%;transform:translateX(-50%);z-index:20;width:min(1440px,calc(100% - 88px));height:86px;border-bottom:1px solid #ffffff55;color:#fff}.brand-mark{background:#f4e1c9;color:#21150d}.header-note{color:#fff;border-color:#ffffff88}.nav a:hover{color:#f5b071}
.hero{height:min(1000px,100svh);min-height:690px;padding:0;display:block;position:relative;overflow:hidden;background:#21170f;color:#fff}
.hero-scene{position:absolute;inset:-3%;background-image:url('/office-with-kim-v9.png');background-size:cover;background-position:center 55%;transform:scale(1.045) translate3d(var(--px,0px),var(--py,0px),0);transition:transform .35s ease-out;will-change:transform}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,10,9,.82) 0%,rgba(17,11,9,.55) 30%,rgba(19,12,8,.10) 68%,rgba(17,11,9,.16) 100%),linear-gradient(0deg,rgba(12,9,8,.75),transparent 32%)}
.hero-content{height:100%;position:relative;display:flex;flex-direction:column;justify-content:center;z-index:2;padding-top:70px;padding-bottom:90px}.hero .eyebrow{color:#f7cfad;margin-bottom:20px;font-size:.78rem;letter-spacing:.14em}.hero .eyebrow span{color:#f4eadc}.hero h1{max-width:950px;font-size:clamp(5.2rem,10vw,11.5rem);line-height:.89;letter-spacing:-.085em;margin:0 0 38px;text-shadow:0 7px 40px #0008}.hero-period{color:#f5b071}.hero-base{display:flex;align-items:flex-end;gap:45px}.hero-base p{font-size:clamp(1.03rem,1.55vw,1.45rem);font-weight:500;line-height:1.55;max-width:520px;margin:0;text-shadow:0 2px 14px #000b}.hero-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;border:1px solid #fff9;background:#eee1d3eb;color:#21150e;padding:17px 20px;min-width:215px;font-size:.85rem;font-weight:800;white-space:nowrap;transition:background .2s,transform .2s}.hero-cta:hover{background:#fff;transform:translateY(-3px)}.hero-cta span{font-size:1.2rem}.hero-vertical{position:absolute;right:32px;top:50%;writing-mode:vertical-rl;letter-spacing:.19em;font-size:.68rem;color:#fff9;z-index:2}.hero-bottomline{position:absolute;left:50%;bottom:25px;transform:translateX(-50%);width:min(1440px,calc(100% - 88px));z-index:3;display:flex;justify-content:space-between;letter-spacing:.11em;font-size:.7rem;color:#fff}.ribbon{background:#211912;border-color:#69513b;color:#d6ba9d}.ribbon b{color:#f5b071}.section-no,.phase .number,.phase-arrow,.education-card .meta,.career-row .meta{color:#f5b071}.progress-fill{background:#f5b071}.chip{border-color:#806a57;color:#ead4bf}.band{background:#d3a073;color:#24160d}.projects{background:#eae2d5;color:#241b16}.projects .section-no{color:#886047}.projects .section-heading .intro{color:#695a4d}.project-grid{border-color:#b7a99b}.project{border-color:#b7a99b}.project:nth-child(1) .project-visual{color:#bd8964}.project:nth-child(2) .project-visual{color:#826e61}.project:nth-child(3) .project-visual{color:#342923}.project:hover{background:#e0d3c1}.project .meta,.project p{color:#68584b}.career{background:#241d18}.text-link{color:#f5b071;border-color:#f5b071}.closing h2 span{color:#f5b071}
@media(max-width:1050px){.site-header,.hero-bottomline{width:calc(100% - 48px)}.hero{min-height:650px}.hero h1{font-size:clamp(5rem,11vw,8rem)}.hero-scene{background-position:56% center}}
@media(max-width:720px){.site-header,.hero-bottomline{width:calc(100% - 36px)}.site-header{height:70px}.nav{gap:13px}.header-note{display:none}.hero{height:100svh;min-height:680px}.hero-scene{background-position:57% center}.hero-shade{background:linear-gradient(0deg,rgba(12,9,8,.9) 0%,rgba(14,10,9,.56) 48%,rgba(15,10,8,.15) 100%)}.hero-content{justify-content:flex-end;padding:100px 0 105px}.hero h1{font-size:clamp(3.5rem,14vw,6rem);margin-bottom:22px}.hero .eyebrow{font-size:.67rem}.hero-base{display:block}.hero-base p{font-size:1rem;max-width:450px}.hero-cta{margin-top:24px;padding:14px 18px}.hero-vertical{display:none}.hero-bottomline{bottom:24px;font-size:.61rem}.hero-bottomline span:first-child{display:none}.hero-bottomline{justify-content:flex-end}}
@media(prefers-reduced-motion:reduce){.hero-scene{transform:scale(1.045)!important}}

/* Composition: let the screen-as-office image lead. */
.hero-shade{background:linear-gradient(90deg,rgba(9,8,8,.52),transparent 41%),linear-gradient(0deg,rgba(8,7,7,.62),transparent 26%)}
.hero-content{justify-content:flex-start;padding-top:144px;padding-bottom:90px}.hero h1{font-size:clamp(3.25rem,5.4vw,5.9rem);max-width:440px;line-height:.9;margin:0;letter-spacing:-.075em}.hero .eyebrow{margin-bottom:16px}.hero-base{position:absolute;left:0;bottom:100px;display:flex;align-items:flex-end;gap:28px}.hero-base p{font-size:1.06rem;max-width:310px;line-height:1.4}.hero-cta{background:#e8d9cae8;font-size:.78rem;min-width:170px;padding:14px 15px}.hero-vertical{color:#fffa}
@media(max-width:720px){.hero-scene{background-position:51% center}.hero-shade{background:linear-gradient(0deg,rgba(8,7,7,.93),transparent 48%),linear-gradient(90deg,rgba(9,8,8,.45),transparent 68%)}.hero-content{padding-top:104px}.hero h1{font-size:clamp(3.25rem,12vw,5rem)}.hero-base{bottom:85px;display:block}.hero-base p{font-size:1rem}.hero-cta{margin-top:17px}}

@media(max-width:720px){.hero-scene{background-position:89% center}.hero-shade{background:linear-gradient(0deg,rgba(8,7,7,.93),transparent 49%),linear-gradient(90deg,rgba(8,7,7,.62),transparent 69%)}}
.site-header{justify-content:center}.hero-scene{inset:-3% -5%;transform:translate3d(calc(4vw + var(--px,0px)),var(--py,0px),0)}
.hero-label{margin:23px 0 0;color:#f2d4b7;font-size:clamp(.92rem,1.35vw,1.15rem);font-weight:700;letter-spacing:.025em;text-shadow:0 2px 15px #000b}
@media(max-width:720px){.site-header{justify-content:center}.hero-label{margin-top:18px;max-width:270px;line-height:1.45}}
@media(prefers-reduced-motion:reduce){.hero-scene{transform:translateX(4vw)!important}}
.site-header{border-bottom:0}
.hero-content{padding-top:80px}
.hero h1{font-size:clamp(3.45rem,5.8vw,6.25rem)}
@media(max-width:720px){.hero h1{font-size:clamp(3.4rem,12.5vw,5.2rem)}}
.hero-bottomline{bottom:42px}
/* The red cable continues from the photograph, behind the ribbon and the alternating stages. */
.cable-stage{position:relative;isolation:isolate;margin-top:-30px;overflow:hidden}
.cable-art{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none;z-index:1}
.cable-art .cable-shadow{fill:none;stroke:#250e0b;stroke-width:12;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(2px 5px 4px #0009)}
.cable-art .cable-body{fill:none;stroke:url(#cable-red);stroke-width:8;stroke-linecap:round;stroke-linejoin:round}
.cable-art .cable-glint{fill:none;stroke:#ef7251;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;opacity:.65}
.cable-stage>.ribbon,.cable-stage>.section{position:relative;z-index:2}
.cable-stage>.ribbon{background:#211912}
.cable-stage>.section{padding-top:80px;padding-bottom:80px}
.cable-stage .section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,460px);align-items:start;gap:clamp(30px,5vw,95px);margin-bottom:40px}
.cable-stage .section-heading>div{position:relative;z-index:2;background:transparent;padding-right:0}
.cable-stage .section-heading h2{text-shadow:0 3px 20px #17131099}
.cable-stage .journey-layout{display:block}
.cable-stage .journey-aside{position:relative;top:auto;width:100%;margin:0;padding:28px 30px 24px;background:linear-gradient(145deg,#2e241e,#261d18);border:1px solid #d1a17d38;border-radius:18px;box-shadow:0 16px 35px #0805032b}
.cable-stage .journey-aside .intro{max-width:none;margin:0 0 18px;font-size:1.03rem;line-height:1.5;font-weight:600;color:#f0ddcb}
.cable-stage .journey-aside .journey-context{margin:0 0 26px;font-size:.94rem;line-height:1.6;color:#c3b2a3}
.cable-stage .journey-aside .progress-track{height:2px;margin-bottom:12px;background:#6f5545}
.cable-stage .journey-aside .meta{margin:0;text-align:right;color:#e6b98a;font-size:.78rem}
.cable-stage .phases{display:flex;flex-direction:column;gap:24px;padding:0}
.cable-stage .phase{position:relative;display:block;align-self:flex-start;width:46%;min-height:0;padding:22px 25px 24px;background:#241b17;border:1px solid #634a3b;box-shadow:0 14px 28px #0002;transition:background .25s,transform .25s}
.cable-stage .phase:nth-child(even){align-self:flex-end}
.cable-stage .phase:hover{padding-left:25px;background:#30231c;transform:translateY(-3px)}
.cable-stage .phase .number{display:block;font-size:1rem;margin-bottom:12px;padding:0}
.cable-stage .phase h3{font-size:clamp(1.5rem,2.3vw,2.4rem);margin:0 13px 10px 0}
.cable-stage .phase p{font-size:.96rem;line-height:1.5;margin-bottom:15px}
.cable-stage .gtm-flow{list-style:none;display:grid;gap:0;margin:18px 0 17px;padding:0;border-top:1px solid #73564388}
.cable-stage .gtm-flow li{display:grid;grid-template-columns:25px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid #73564388;color:#d4c5b8;font-size:.94rem;line-height:1.45}
.cable-stage .gtm-flow .flow-no{color:#e3aa7b;font-family:'DM Mono',monospace;font-size:.7rem;letter-spacing:.06em;padding-top:4px}
.cable-stage .gtm-flow strong{display:block;margin-bottom:3px;color:#f6eadb;font-size:.94rem;font-weight:700}
.cable-stage .gtm-stack-label{display:block;margin-bottom:10px;color:#bda997;font-size:.69rem;letter-spacing:.08em;text-transform:uppercase}
.cable-stage .phase-arrow{position:absolute;top:20px;right:25px}
@media(max-width:900px){.cable-stage .section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:28px}.cable-stage .journey-aside{width:min(100%,530px);margin-left:auto;padding:24px}.cable-stage .phase{width:calc(100% - 36px)}.cable-stage .phases{gap:24px}}
@media(max-width:520px){.cable-stage>.section{padding-top:62px;padding-bottom:62px}.cable-stage .journey-aside{padding:20px 18px;border-radius:14px}.cable-stage .phase{width:calc(100% - 26px);padding:20px 19px}.cable-stage .phase:hover{padding-left:19px}.cable-stage .phases{gap:20px}.cable-stage .phase h3{font-size:1.55rem}}


/* Shared multipage navigation and inner-page layouts. */
.nav a[aria-current=page]{color:#f5b071}
.section-detail-link{display:flex;justify-content:flex-end;margin-top:32px}
.section-detail-link .text-link{font-size:.95rem}
.projects .section-detail-link .text-link{color:#704429;border-color:#704429}
.project[href]{cursor:pointer}
.project[href]:focus-visible{outline:2px solid #704429;outline-offset:-4px}
.education-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.education-card{min-height:260px}
.education-card h3{font-size:clamp(1.25rem,2vw,1.9rem);line-height:1.17}
.subpage-header{position:relative;top:auto;left:auto;transform:none;width:min(1440px,calc(100% - 88px));height:90px;justify-content:space-between;border-bottom:1px solid #71544280;color:#f6eadb}
.subpage-home{font-size:1rem;font-weight:800;letter-spacing:-.05em;white-space:nowrap}
.subpage-home span{color:#f5b071}
.subpage-header .nav{font-size:.8rem}
.page-hero{position:relative;padding:105px 0 78px;display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,450px);gap:30px 60px;align-items:end;border-bottom:1px solid #735644}
.page-hero:after{content:'';position:absolute;left:0;bottom:-2px;width:min(200px,30vw);height:3px;background:#b33d2b;border-radius:3px}
.page-hero .section-no{grid-column:1/-1}
.page-hero h1{font-size:clamp(4.3rem,10vw,10rem);letter-spacing:-.09em;line-height:.87;margin:0;overflow-wrap:anywhere}
.page-hero h1 span{color:#f5b071}
.page-hero p{color:#cdbbab;font-size:clamp(1rem,1.6vw,1.3rem);line-height:1.55;max-width:420px;margin:0 0 6px}
.page-main .section{padding:90px 0}
.page-main .section-heading h2{font-size:clamp(2.8rem,5.2vw,5.7rem)}
.phase-index{display:flex;flex-wrap:wrap;gap:10px;margin:0 auto 45px;padding:0;list-style:none}
.phase-index a{display:block;border:1px solid #735644;padding:10px 13px;font-family:'DM Mono',monospace;font-size:.76rem;color:#ead4bf;transition:background .2s}
.phase-index a:hover,.phase-index a:focus-visible{background:#38271e}
.phase-index span{color:#f5b071;margin-right:9px}
.system-phase{scroll-margin-top:20px;display:grid;grid-template-columns:105px minmax(0,1fr);gap:18px;max-width:940px;padding:39px 35px;margin:0 0 22px;border:1px solid #634a3b;background:#241b17;box-shadow:0 14px 28px #0002}
.system-phase:nth-of-type(even){margin-left:auto}
.system-phase .number{font-size:1rem;color:#f5b071;padding-top:6px}
.system-phase h3{font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.06em;line-height:1.1;margin:0 0 17px}
.system-phase p{color:#cfbfb0;font-size:1rem;line-height:1.65;max-width:720px;margin:0 0 20px}
.system-phase .chip{font-size:.74rem}
.system-phase .gtm-flow{list-style:none;display:grid;gap:0;margin:22px 0;padding:0;border-top:1px solid #73564388}
.system-phase .gtm-flow li{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:15px 0;border-bottom:1px solid #73564388;color:#d4c5b8;font-size:.96rem;line-height:1.5}
.system-phase .gtm-flow .flow-no{color:#e3aa7b;font-family:'DM Mono',monospace;font-size:.75rem;padding-top:4px}
.system-phase .gtm-flow strong{display:block;color:#f6eadb;margin-bottom:3px}
.system-phase .gtm-stack-label{display:block;color:#bda997;font-family:'DM Mono',monospace;font-size:.78rem;margin:20px 0 12px}
.portfolio-list{display:grid;gap:20px}
.portfolio-entry{scroll-margin-top:30px;position:relative;display:grid;grid-template-columns:90px 1fr 170px;align-items:center;gap:28px;min-height:270px;padding:32px 42px;border:1px solid #75604f;background:#261d18;overflow:hidden}
.portfolio-entry:nth-child(2){background:#31231d}.portfolio-entry:nth-child(3){background:#201b19}
.portfolio-count{align-self:start;color:#e3aa7b;font-family:'DM Mono',monospace;font-size:.76rem;white-space:nowrap}
.portfolio-entry h2{font-size:clamp(3.5rem,7vw,8rem);line-height:.9;letter-spacing:-.085em;margin:0;position:relative;z-index:1}
.portfolio-letter{font-weight:800;font-size:clamp(8rem,17vw,18rem);line-height:.8;letter-spacing:-.15em;color:#ad64464a;text-align:right;user-select:none}
.portfolio-entry:nth-child(2) .portfolio-letter{color:#a6967944}.portfolio-entry:nth-child(3) .portfolio-letter{color:#d4ad8d44}
.portfolio-note{margin:28px 0 0;max-width:580px;color:#cdbbab;line-height:1.6}
.stack-intro{color:#cdbbab;max-width:700px;line-height:1.6;font-size:1rem;margin:0 0 28px}
.stack-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.stack-card{background:#241b17;border:1px solid #735644;padding:26px;min-height:280px}
.stack-card .meta{color:#e3aa7b}
.stack-card h3{font-size:clamp(1.4rem,2.2vw,2rem);line-height:1.15;letter-spacing:-.055em;margin:30px 0 18px}
.stack-card p{color:#cdbbab;font-size:.92rem;line-height:1.55;margin:0 0 18px}
.stack-card .chips{margin-top:auto}
.page-footer{border-top:1px solid #735644;margin-top:35px;padding-top:22px;padding-bottom:36px;display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap;color:#cdbbab;font-family:'DM Mono',monospace;font-size:.78rem}
.page-footer a:hover{color:#f5b071}
@media(max-width:1050px){.education-grid,.stack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subpage-header{width:calc(100% - 48px)}}
@media(max-width:720px){.nav a:nth-child(2){display:inline}.nav{gap:18px;font-size:.69rem}.subpage-header{width:calc(100% - 36px);height:auto;min-height:84px;gap:14px;padding:20px 0;flex-wrap:wrap}.subpage-header .nav{gap:20px;font-size:.69rem}.page-hero{grid-template-columns:1fr;padding:70px 0 55px;gap:25px}.page-hero .section-no{grid-column:1}.page-hero h1{font-size:clamp(3.65rem,13vw,6.5rem)}.page-main .section{padding:65px 0}.system-phase{grid-template-columns:1fr;gap:8px;padding:25px 20px}.system-phase:nth-of-type(even){margin-left:0}.portfolio-entry{grid-template-columns:1fr 105px;min-height:210px;padding:26px 22px}.portfolio-count{grid-column:1/-1}.portfolio-entry h2{font-size:clamp(3.5rem,12vw,6rem)}.portfolio-letter{font-size:9rem}.stack-grid,.education-grid{grid-template-columns:1fr}.education-card{min-height:205px}}
@media(max-width:420px){.nav{gap:12px;font-size:.65rem}.subpage-header .nav{width:100%;justify-content:space-between;gap:10px}.portfolio-entry{grid-template-columns:1fr 70px}.portfolio-letter{font-size:7rem}.phase-index a{font-size:.7rem;padding:9px 10px}}

.page-hero h1.long-title{font-size:clamp(3.3rem,7vw,7.4rem)}
@media(max-width:720px){.page-hero h1.long-title{font-size:clamp(3.25rem,11vw,5.5rem)}}

/* Home hero: the name leads; the statement sits in its original lower position. */
.hero-content{padding-top:53px}
.hero h1{font-size:clamp(4.3rem,7.1vw,7.5rem);line-height:.88;max-width:530px}
.hero-label{margin-top:21px}
.hero-base{position:absolute;left:0;bottom:100px;display:block;margin-top:0;max-width:430px;isolation:isolate}
.hero-base::before{content:'';position:absolute;inset:-20px -34px;z-index:-1;background:radial-gradient(ellipse at 35% 52%,rgba(8,6,5,.84),rgba(8,6,5,.5) 58%,transparent 79%);pointer-events:none}
.hero-base p{font-size:clamp(1.15rem,1.6vw,1.33rem);font-weight:600;line-height:1.4;max-width:390px;text-shadow:0 2px 13px #000,0 0 28px #000}
@media(max-width:720px){.hero-content{padding-top:100px}.hero h1{font-size:clamp(3.75rem,13vw,5.4rem)}.hero-base{bottom:85px;max-width:calc(100vw - 36px)}.hero-base p{font-size:1.08rem;max-width:330px}}

.system-phase .sales-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:27px;padding-top:24px;border-top:1px solid #73564388}
.system-phase .sales-people h4{font-size:1.14rem;letter-spacing:-.035em;margin:0 0 10px;color:#f6eadb}
.system-phase .sales-people p{font-size:.95rem;line-height:1.6;margin:0;color:#cfbfb0}
.system-phase .sales-people section:last-child{grid-column:1/-1;border-top:1px solid #73564388;padding-top:18px}
@media(max-width:720px){.system-phase .sales-people{grid-template-columns:1fr;gap:22px}}

.ribbon{padding:14px 0;color:#fff}
.cable-stage>.ribbon{background:rgba(30,23,20,.78);border-color:#ffffff33;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.ribbon-track{display:flex;width:max-content;animation:ribbon-scroll 40s linear infinite;will-change:transform}
.ribbon-loop{display:flex;flex:none;align-items:center}
.ribbon-loop span{position:relative;display:inline-flex;align-items:center;flex:none;white-space:nowrap;padding:0 clamp(24px,2.6vw,38px);font-family:'DM Mono',monospace;font-size:.79rem;line-height:1.35;letter-spacing:.11em;text-transform:uppercase}
.ribbon-loop span::after{content:'';position:absolute;top:50%;right:0;width:4px;height:4px;border-radius:50%;background:#ffffffb8;transform:translate(50%,-50%)}
.ribbon:hover .ribbon-track,.ribbon:focus-within .ribbon-track{animation-play-state:paused}
@keyframes ribbon-scroll{to{transform:translateX(-50%)}}
@media(max-width:720px){.ribbon{padding:13px 0}.ribbon-loop span{padding:0 22px;font-size:.75rem;letter-spacing:.08em}}
@media(prefers-reduced-motion:reduce){.ribbon{overflow-x:auto;scrollbar-width:none}.ribbon::-webkit-scrollbar{display:none}.ribbon-track{animation:none;will-change:auto}}

.menu-toggle,.mobile-menu{display:none}
.mobile-menu[hidden]{display:none!important}

/* Portrait artwork and a full-screen menu for mobile. */
@media(max-width:720px){
  .hero{display:block;height:clamp(790px,100svh,920px);min-height:790px;padding:0;background:#0a090a}
  .site-header{position:absolute;top:0;left:0;right:0;transform:none;width:100%;height:0;min-height:0;padding:0;border:0;z-index:60;pointer-events:none}
  .site-header .nav,.site-header .subpage-home{display:none}
  .site-header .menu-toggle{position:fixed;top:15px;right:17px;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;padding:0;border:0;border-radius:0;background:transparent;color:#fff;box-shadow:none;pointer-events:auto;cursor:pointer;z-index:61}
  .menu-toggle-icon{display:flex;flex-direction:column;justify-content:center;gap:6px;width:28px;height:28px;filter:drop-shadow(0 2px 4px #000b)}
  .menu-toggle-icon span{display:block;width:28px;height:2px;background:currentColor;border-radius:2px;transform-origin:center;transition:transform .2s,opacity .2s}
  .menu-toggle[aria-expanded=true] .menu-toggle-icon span:first-child{transform:translateY(8px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] .menu-toggle-icon span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded=true] .menu-toggle-icon span:last-child{transform:translateY(-8px) rotate(-45deg)}
  .mobile-menu{position:fixed;inset:0;z-index:55;display:block;overflow-y:auto;background:#171310f7;color:#f6eadb;padding:112px 22px 48px}
  .mobile-menu-inner{width:min(100%,540px);margin:auto}
  .mobile-menu-home{display:inline-block;margin-bottom:43px;font-weight:800;font-size:1.08rem;letter-spacing:-.04em}
  .mobile-menu-home span{color:#f5b071}
  .mobile-menu-links{border-top:1px solid #735644}
  .mobile-menu-links a{display:flex;align-items:baseline;gap:17px;padding:21px 0 22px;border-bottom:1px solid #735644;font-size:clamp(2.05rem,9vw,3.5rem);font-weight:800;letter-spacing:-.075em;line-height:1.05}
  .mobile-menu-links a[aria-current=page]{color:#f5b071}
  .mobile-menu-no{font-family:'DM Mono',monospace;font-size:.72rem;font-weight:400;letter-spacing:.06em;color:#f5b071}
  body.menu-open{overflow:hidden}
  .page-main .page-hero{padding-top:116px}
  .hero-content{height:auto;display:block;padding:50px 0 0}
  .hero h1{font-size:clamp(3.3rem,13vw,5rem);line-height:.9;margin:0;max-width:none}
  .hero-label{margin:12px 0 0;max-width:360px}
  .hero-base{position:relative;left:auto;bottom:auto;margin:10px 0 0;max-width:calc(100vw - 36px)}
  .hero-base::before{display:none}
  .hero-base p{max-width:340px;font-size:clamp(1rem,3.6vw,1.08rem);font-weight:500;line-height:1.36;letter-spacing:-.015em}
  .hero-scene{position:absolute;inset:0;width:100%;height:100%;background-image:url('/office-with-kim-mobile-v1.png');background-color:#0a090a;background-size:cover;background-position:70% top;background-repeat:no-repeat;transform:none!important;transition:none;will-change:auto}
  .hero-shade,.hero-bottomline{display:none}
}
@media(max-width:360px){.hero-label{font-size:.875rem;letter-spacing:0}}

/* Background: graphite editorial surface, sectional guide rail and modular data blocks. */
.background-body{background:#0e1216;color:#f3f4f2}
.background-body .subpage-header{border-color:#343b41;color:#f3f4f2}
.background-body .subpage-home span,.background-body .nav a[aria-current=page]{color:#ffba91}
.background-body .page-footer{border-color:#343b41;color:#aab4b9;margin-top:0}
.background-body .page-footer a:hover{color:#ffba91}
.background-page{--bg-ink:#f3f4f2;--bg-muted:#a9b2b9;--bg-accent:#ffba91;--bg-rule:#343d43;background:#0e1216;overflow:hidden}
.background-page section[id]{scroll-margin-top:24px}
.bg-hero{position:relative;min-height:560px;padding-top:72px;padding-bottom:65px;border-bottom:1px solid var(--bg-rule);isolation:isolate}
.bg-hero::before{content:'';position:absolute;inset:0 -10vw 0 36%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 65% 35%,rgba(73,106,125,.23),transparent 58%),linear-gradient(90deg,transparent 0,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(0deg,transparent 0,rgba(255,255,255,.025) 1px,transparent 1px);background-size:auto,72px 72px,72px 72px;mask-image:linear-gradient(90deg,transparent,#000 34%)}
.bg-hero-top,.bg-hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:34px}
.bg-overline,.bg-location,.bg-index,.bg-kicker,.bg-chapter-number,.bg-year,.bg-card-type,.bg-card-index,.bg-certifications,.bg-stack-head,.bg-tools,.bg-career-date,.bg-role{font-family:'DM Mono',monospace}
.bg-overline,.bg-location,.bg-kicker,.bg-chapter-number,.bg-year,.bg-card-type,.bg-cert-heading,.bg-stack-head,.bg-career-date,.bg-role{font-size:.78rem;letter-spacing:.075em}
.bg-overline,.bg-kicker,.bg-chapter-number,.bg-year,.bg-stack-head,.bg-role{color:var(--bg-accent)}
.bg-location{color:#84929d}
.bg-hero h1{font-size:clamp(5rem,11vw,10.6rem);letter-spacing:-.095em;line-height:.88;margin:74px 0 70px;font-weight:800}
.bg-hero h1 span,.bg-chapter h2 span{color:var(--bg-accent)}
.bg-hero-bottom{align-items:end}
.bg-hero-bottom>p{color:#d4dce0;max-width:490px;font-size:clamp(1.02rem,1.65vw,1.24rem);line-height:1.6;margin:0}
.bg-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:min(530px,50%);border-top:1px solid #75818b55}
.bg-index a{display:flex;flex-direction:column;gap:12px;min-height:67px;padding:15px 18px 0;border-left:1px solid #75818b55;color:#f0f2f3;font-size:.84rem;transition:color .2s,background .2s}
.bg-index a:first-child{border-left:0;padding-left:0}
.bg-index a:hover,.bg-index a:focus-visible{color:var(--bg-accent);background:#ffffff08}
.bg-index a span{color:#94a2ac;font-size:.71rem}
.bg-chapter{position:relative;padding:110px 0 120px}
.bg-chapter-heading{display:grid;grid-template-columns:100px minmax(0,1fr) minmax(200px,350px);align-items:end;column-gap:28px;margin-bottom:48px}
.bg-chapter-number{align-self:start;margin-top:6px;white-space:nowrap}
.bg-kicker{margin:0 0 17px;color:#8998a2}
.bg-chapter-heading h2{font-size:clamp(3.55rem,7.4vw,7.5rem);letter-spacing:-.088em;line-height:.92;margin:0}
.bg-chapter-heading>p{max-width:350px;margin:0 0 4px;color:var(--bg-muted);font-size:1rem;line-height:1.65}
.bg-education{background:linear-gradient(160deg,#10161b 0%,#151b20 100%)}
.bg-education-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.bg-education-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:355px;padding:27px 27px 30px;background:linear-gradient(145deg,#222b31 0%,#181e24 82%);border:1px solid #4b5961;border-radius:14px;overflow:hidden;transition:transform .25s,border-color .25s,background .25s}
.bg-education-card:hover{transform:translateY(-3px);border-color:#c3977e}
.bg-education-card::before{content:'';position:absolute;top:-85px;right:-75px;width:210px;height:210px;background:radial-gradient(circle,#a6ced01a,transparent 70%);pointer-events:none}
.bg-year{position:relative;z-index:1}
.bg-card-type{display:block;color:#9cabb3;margin-bottom:13px;line-height:1.5}
.bg-education-card h3{position:relative;font-size:clamp(1.38rem,2.15vw,2rem);letter-spacing:-.052em;line-height:1.15;margin:0 0 17px;max-width:360px}
.bg-education-card p{color:#b7c2c7;font-size:.95rem;line-height:1.6;margin:0;max-width:370px}
.bg-card-index{position:absolute;top:16px;right:24px;font-size:5.5rem;letter-spacing:-.12em;color:#ffffff07;user-select:none}
.bg-certifications{display:flex;align-items:baseline;gap:45px;padding:27px 0 0;border-top:1px solid #63727a88;margin-top:26px}
.bg-cert-heading{color:#96a5ac;white-space:nowrap}
.bg-certifications>div{display:flex;gap:24px 55px;flex-wrap:wrap}
.bg-certifications>div>span{font-size:.83rem;color:#d8e0e3;line-height:1.7}
.bg-certifications small{color:#91a0aa;font-size:.69rem;white-space:nowrap;margin-left:10px}
.bg-stack{background:#0e1216}
.bg-stack-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.bg-stack-card{position:relative;display:flex;flex-direction:column;min-height:346px;padding:30px 32px 29px;background:linear-gradient(140deg,#1c252b,#161d23 78%);border:1px solid #3d4950;border-radius:14px;transition:border-color .23s,transform .23s;overflow:hidden}
.bg-stack-card:hover{border-color:#8b9da5;transform:translateY(-2px)}
.bg-stack-featured{background:radial-gradient(ellipse at 86% 18%,#4d65735c,transparent 48%),linear-gradient(140deg,#202d35,#192127 78%);border-color:#667b83}
.bg-stack-card::before{content:'';position:absolute;left:32px;top:0;width:68px;height:2px;background:var(--bg-accent)}
.bg-stack-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}
.bg-stack-glyph{display:grid;place-items:center;width:30px;height:30px;border:1px solid #71818a88;border-radius:50%}.bg-stack-glyph::after{content:'';width:5px;height:5px;border-radius:50%;background:#ffba91}
.bg-stack-card h3{font-size:clamp(2.15rem,3.3vw,3.15rem);line-height:1.02;letter-spacing:-.072em;margin:35px 0 15px}
.bg-stack-card>p{color:#b6c2c8;max-width:440px;margin:0 0 27px;font-size:.98rem;line-height:1.6}
.bg-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:18px;border-top:1px solid #61707866}
.bg-tools span{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border:1px solid #65747d88;border-radius:5px;color:#d6dee0;font-size:.74rem;line-height:1.2;white-space:nowrap}
.bg-experience{background:linear-gradient(160deg,#151b21,#11161b 85%)}
.bg-career-list{position:relative;padding-left:30px}
.bg-career-list::before{content:'';position:absolute;left:4px;top:15px;bottom:15px;width:1px;background:linear-gradient(180deg,#ffba91,#758a97 60%,#3b4a52)}
.bg-career-entry{position:relative;display:grid;grid-template-columns:155px 190px minmax(0,1fr);gap:23px;padding:32px 0 44px;border-top:1px solid #55616a9c}
.bg-career-entry:last-child{border-bottom:1px solid #55616a9c}
.bg-career-entry::before{content:'';position:absolute;left:-30px;top:34px;transform:translateX(-1px);width:9px;height:9px;border:1px solid var(--bg-accent);border-radius:50%;background:#1b2329;box-shadow:0 0 0 5px #1b2329}
.bg-career-date{padding-top:7px;white-space:nowrap}
.bg-logo-slot{width:180px;height:90px;display:grid;place-items:center;border:1px solid #63748091;border-radius:10px;background:#26313a60;color:#dfe5e5}
.bg-logo-slot span{font-size:2.2rem;font-weight:800;letter-spacing:-.09em;line-height:1}.bg-logo-slot img{display:block;width:100%;height:100%;object-fit:contain;padding:14px}
.bg-logo-personal span{font-size:1.6rem;font-weight:700;letter-spacing:-.065em}
.bg-career-content{min-width:0}
.bg-role{display:block;margin:1px 0 12px}
.bg-career-content h3{font-size:clamp(2rem,3.8vw,3.75rem);line-height:1.03;letter-spacing:-.074em;margin:0 0 18px}
.bg-career-content>p{max-width:830px;color:#dce3e5;font-size:1.06rem;line-height:1.62;margin:0 0 18px}
.bg-career-content ul{display:grid;gap:9px;margin:0;padding:0;list-style:none;max-width:850px}
.bg-career-content li{position:relative;padding-left:17px;color:#abbac0;font-size:.96rem;line-height:1.62}
.bg-career-content li::before{content:'';position:absolute;top:.7em;left:0;width:4px;height:4px;border-radius:50%;background:#ffba91}
@media(max-width:1100px){.bg-chapter-heading{grid-template-columns:85px 1fr;gap:14px 20px}.bg-chapter-heading>p{grid-column:2;max-width:570px}.bg-career-entry{grid-template-columns:130px 160px minmax(0,1fr);gap:18px}.bg-logo-slot{width:150px;height:80px}}
@media(max-width:850px){.bg-hero{min-height:490px}.bg-hero h1{margin:63px 0}.bg-hero-bottom{align-items:start;flex-direction:column}.bg-index{width:100%;max-width:550px}.bg-education-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bg-education-card:last-child{grid-column:1/-1;min-height:255px}.bg-career-entry{grid-template-columns:130px minmax(0,1fr);gap:14px 24px}.bg-career-date{grid-column:1/-1}.bg-logo-slot{width:130px;height:82px}.bg-career-content{grid-column:2;grid-row:2}}
@media(max-width:720px){
  .background-body .mobile-menu{background:#10151bf7}
  .bg-hero{min-height:0;padding-top:114px;padding-bottom:48px}
  .bg-location{display:none}
  .bg-hero::before{inset:20px -18px 0 0;opacity:.5;mask-image:linear-gradient(90deg,transparent,#000)}
  .bg-hero h1{font-size:clamp(3.35rem,12.5vw,5.7rem);margin:75px 0 48px;letter-spacing:-.085em}
  .bg-hero-bottom>p{font-size:1.02rem;max-width:550px}
  .bg-index{margin-top:24px}
  .bg-index a{font-size:.76rem;min-height:66px;padding:12px 7px}
  .bg-index a:first-child{padding-left:0}
  .bg-chapter{padding:73px 0 78px}
  .bg-chapter-heading{grid-template-columns:62px 1fr;gap:11px 12px;margin-bottom:30px}
  .bg-chapter-heading h2{font-size:clamp(3rem,11vw,5.4rem)}
  .bg-kicker,.bg-chapter-number{font-size:.7rem}
  .bg-chapter-heading>p{grid-column:2;font-size:.96rem;margin-top:12px}
  .bg-stack-grid,.bg-education-grid{grid-template-columns:1fr}
  .bg-education-card,.bg-education-card:last-child{grid-column:auto;min-height:256px;padding:24px}
  .bg-education-card h3{font-size:1.55rem}
  .bg-certifications{display:block}
  .bg-certifications>div{display:grid;gap:10px;margin-top:12px}
  .bg-certifications>div>span{font-size:.78rem}
  .bg-stack-card{min-height:0;padding:25px 24px 24px}
  .bg-stack-card::before{left:24px}
  .bg-stack-card h3{font-size:2.45rem;margin:27px 0 14px}
  .bg-tools span{font-size:.72rem}
  .bg-career-list{padding-left:20px}
  .bg-career-entry{display:block;padding:27px 0 37px}
  .bg-career-entry::before{left:-20px}
  .bg-career-date{display:block;padding:0}
  .bg-logo-slot{width:175px;height:82px;margin:20px 0 24px}
  .bg-logo-slot span{font-size:2rem}
  .bg-career-content h3{font-size:clamp(1.8rem,7.5vw,3rem);margin-bottom:18px}
  .bg-role{font-size:.72rem;line-height:1.45;margin-top:0}
  .bg-career-content>p{font-size:1rem}
  .bg-career-content li{font-size:.94rem}
}
@media(max-width:460px){.bg-certifications small{display:block;margin-left:0}.bg-hero h1{font-size:clamp(3.1rem,11.7vw,4.8rem)}.bg-chapter-heading{grid-template-columns:1fr}.bg-chapter-heading>p{grid-column:1}.bg-chapter-number{margin:0 0 12px}}
@media(prefers-reduced-motion:reduce){.bg-education-card,.bg-stack-card,.bg-index a{transition:none}}

/* The home page remains a compact CV preview, with full detail in Background. */
.home-career .career-row .home-role{display:block;color:#f1c29c;font-family:'DM Mono',monospace;font-size:.71rem;letter-spacing:.055em;text-transform:uppercase;margin-bottom:7px}
.home-career .career-row .meta{font-size:.79rem}
.home-education .education-card{background:#241b17;border-color:#665042;border-radius:8px}
.home-education .education-card .meta{font-size:.72rem;line-height:1.5}
.home-education .education-card p{line-height:1.55;font-size:.95rem}
.home-education .home-certifications{display:flex;flex-wrap:wrap;gap:10px 30px;margin-top:25px;color:#bea996;font-family:'DM Mono',monospace;font-size:.74rem}
@media(max-width:720px){.home-education .education-card{min-height:190px}}

/* Full CV presentation: institutional marks, complete capabilities and career details. */
.bg-learning-list{border-top:1px solid #5a687087}
.bg-learning-row{display:grid;grid-template-columns:140px 245px minmax(0,1fr);gap:26px;align-items:start;padding:28px 0 31px;border-bottom:1px solid #5a687087}
.bg-learning-date{font-family:'DM Mono',monospace;font-size:.8rem;letter-spacing:.04em;line-height:1.5;color:#ffba91;white-space:nowrap;padding-top:8px}
.bg-brand-space{display:grid;place-items:center;width:245px;min-height:96px;padding:18px;border:1px solid #637580;border-radius:10px;background:#26323b7d;color:#edf2f2;text-align:center}
.bg-brand-space span{font-size:1.06rem;font-weight:700;line-height:1.22;letter-spacing:-.04em}
.bg-brand-space img{display:block;width:100%;height:78px;object-fit:contain}
.bg-brand-course{border-color:#8e7364;background:linear-gradient(135deg,#2d2e32,#1e292f)}
.bg-learning-content{min-width:0}
.bg-learning-content h3{max-width:700px;font-size:clamp(1.75rem,2.5vw,2.55rem);letter-spacing:-.065em;line-height:1.13;margin:0 0 13px}
.bg-learning-content p{max-width:680px;color:#b8c5ca;font-size:1rem;line-height:1.65;margin:0}
.bg-certifications{align-items:start;gap:35px}
.bg-certifications .bg-cert-heading{min-width:275px;padding-top:10px}
.bg-certifications .bg-cert-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;width:100%}
.bg-certifications .bg-cert-items>div{display:flex;flex-direction:column;gap:6px;min-height:90px;padding:18px 20px;border:1px solid #596b73;border-radius:8px;background:#212a30;color:#e3e9e9}
.bg-certifications .bg-cert-items strong{font-size:.9rem;font-weight:600;line-height:1.35}
.bg-certifications .bg-cert-items small{font-size:.72rem;letter-spacing:.05em;color:#a9b8bf;margin:0}
.bg-expertise{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;margin:0 0 22px;border:1px solid #4b5b63;border-radius:12px;overflow:hidden;background:#4b5b63}
.bg-expertise>div{display:flex;flex-direction:column;gap:12px;padding:22px 19px 24px;min-height:138px;background:#1b242b}
.bg-expertise strong{font-size:clamp(2.45rem,4vw,4rem);letter-spacing:-.085em;line-height:1;color:#eef2f1}
.bg-expertise span{font-size:.79rem;line-height:1.4;color:#b4c1c8}
.bg-skill-line{display:grid;grid-template-columns:175px minmax(0,1fr);gap:20px;align-items:start;margin:0 0 27px;padding:19px 0 20px;border-bottom:1px solid #4b5b63;font-family:'DM Mono',monospace}
.bg-skill-line>span{font-size:.73rem;letter-spacing:.05em;color:#ffba91}
.bg-skill-line p{color:#ccd8dd;font-size:.79rem;line-height:1.8;margin:0}
.bg-skill-line i{font-style:normal;color:#ffba91;margin:0 6px}
.bg-stack-card{min-height:310px}
.bg-stack-card h3{font-size:clamp(2.1rem,3.2vw,3.05rem);margin-top:33px}
.bg-stack-card>p{max-width:510px}
.bg-tools{gap:7px}
.bg-tools span{font-size:.76rem;padding:6px 10px;line-height:1.25}
.bg-experience-lede{max-width:980px;margin:-7px 0 40px;color:#c5d0d4;font-size:clamp(1.05rem,1.55vw,1.3rem);line-height:1.68}
.bg-career-entry{grid-template-columns:140px 210px minmax(0,1fr);gap:22px;padding:35px 0 43px}
.bg-logo-slot{width:205px;min-height:94px;height:auto;padding:18px;background:#29353c6b}
.bg-logo-slot span,.bg-logo-personal span{font-size:1.15rem;font-weight:700;letter-spacing:-.045em;text-align:center;line-height:1.18}
.bg-logo-slot img{padding:0;width:100%;height:58px}
.bg-career-content h3{margin-bottom:19px}
.bg-org-facts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.bg-org-facts span{font-family:'DM Mono',monospace;font-size:.69rem;letter-spacing:.035em;line-height:1.45;color:#b4c4cb;border:1px solid #566871;border-radius:4px;padding:6px 9px}
.bg-career-content>p{margin-bottom:20px}
.bg-career-content ul{gap:13px}
.bg-responsibilities{display:grid;gap:0;margin:27px 0 0;border-top:1px solid #5d6b7399}
.bg-responsibilities>div{display:grid;grid-template-columns:minmax(155px,230px) minmax(0,1fr);gap:20px;padding:19px 0;border-bottom:1px solid #5d6b7399}
.bg-responsibilities h4{font-size:1.03rem;letter-spacing:-.025em;line-height:1.4;color:#f4e0d0;margin:0}
.bg-responsibilities p{color:#b4c3c9;font-size:.95rem;line-height:1.58;margin:0}
.bg-languages{display:flex;align-items:baseline;gap:24px 45px;flex-wrap:wrap;margin-top:47px;padding:21px 0;border-top:1px solid #57666e;color:#dbe5e8}
.bg-languages>span{font-family:'DM Mono',monospace;font-size:.76rem;letter-spacing:.06em;color:#ffba91;margin-right:120px}
.bg-languages p{font-size:.9rem;margin:0}
.bg-languages strong{font-weight:600}
@media(max-width:1100px){.bg-learning-row{grid-template-columns:115px 175px minmax(0,1fr);gap:21px}.bg-brand-space{width:175px}.bg-career-entry{grid-template-columns:120px 175px minmax(0,1fr);gap:18px}.bg-logo-slot{width:170px}.bg-certifications .bg-cert-heading{min-width:180px}.bg-languages>span{margin-right:50px}}
@media(max-width:850px){.bg-learning-row{grid-template-columns:115px minmax(0,1fr);gap:14px 24px}.bg-learning-date{grid-column:1/-1}.bg-brand-space{width:175px;grid-column:1;grid-row:2}.bg-learning-content{grid-column:2;grid-row:2}.bg-expertise{grid-template-columns:repeat(3,minmax(0,1fr))}.bg-career-entry{grid-template-columns:175px minmax(0,1fr)}.bg-logo-slot{width:175px}}
@media(max-width:720px){
  .bg-learning-row{display:block;padding:27px 0 32px}
  .bg-learning-date{display:block;padding:0 0 16px}
  .bg-brand-space{width:195px;min-height:82px;margin-bottom:21px}
  .bg-learning-content h3{font-size:clamp(1.8rem,6.5vw,2.6rem)}
  .bg-learning-content p{font-size:.96rem}
  .bg-certifications .bg-cert-heading{display:block;min-width:0}
  .bg-certifications .bg-cert-items{grid-template-columns:1fr;margin-top:15px}
  .bg-certifications .bg-cert-items>div{min-height:0}
  .bg-expertise{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px}
  .bg-expertise>div{min-height:108px;padding:17px}
  .bg-expertise strong{font-size:2.6rem}
  .bg-expertise span{font-size:.78rem}
  .bg-skill-line{grid-template-columns:1fr;gap:10px}
  .bg-stack-card{min-height:0}
  .bg-stack-card h3{font-size:2.25rem}
  .bg-stack-card>p{font-size:.96rem}
  .bg-experience-lede{margin:-5px 0 31px;font-size:1.03rem}
  .bg-career-entry{display:block;padding:30px 0 37px}
  .bg-logo-slot{width:195px;min-height:82px;margin:20px 0 24px}
  .bg-career-content h3{font-size:clamp(2rem,7.5vw,3.2rem)}
  .bg-org-facts span{font-size:.68rem}
  .bg-responsibilities>div{grid-template-columns:1fr;gap:7px}
  .bg-responsibilities h4{font-size:1rem}
  .bg-languages{gap:11px 23px}
  .bg-languages>span{width:100%;margin:0}
}

/* Background spacing and the supplied white marks. */
.background-page .bg-hero{min-height:490px;padding-top:62px;padding-bottom:50px}
.background-page .bg-hero h1{margin:58px 0 55px}
.background-page .bg-chapter{padding:86px 0 95px}
.background-page .bg-chapter-heading{margin-bottom:37px}
.background-page .bg-learning-row .bg-card-type{margin-bottom:9px}
.background-page .bg-brand-space{align-self:center}
.background-page .bg-brand-space.has-logo,
.background-page .bg-logo-slot.has-logo{border:0;background:transparent;border-radius:0;padding:0;overflow:visible}
.background-page .bg-brand-space.has-logo img,
.background-page .bg-logo-slot.has-logo img{display:block;width:100%;height:100%;object-fit:contain;transform:none}
.background-page .bg-brand-space.has-logo{height:110px;min-height:110px}
.background-page .bg-logo-slot.has-logo{height:106px;min-height:106px}
.background-page .bg-stack-card{padding:26px 28px}
.background-page .bg-stack-card h3{margin:29px 0 13px}
@media(max-width:1100px) and (min-width:851px){
  .background-page .bg-learning-row{grid-template-columns:120px 200px minmax(0,1fr);gap:20px}
  .background-page .bg-brand-space{width:200px}
}
@media(max-width:850px) and (min-width:721px){
  .background-page .bg-learning-row{gap:12px 22px;padding:26px 0 30px}
  .background-page .bg-brand-space{width:190px}
  .background-page .bg-career-entry{padding:30px 0 38px}
}
@media(max-width:720px){
  .background-page .bg-hero{min-height:0;padding-top:114px;padding-bottom:44px}
  .background-page .bg-hero h1{margin:64px 0 42px}
  .background-page .bg-chapter{padding:65px 0 73px}
  .background-page .bg-chapter-heading{margin-bottom:28px}
  .background-page .bg-learning-row{padding:24px 0 28px}
  .background-page .bg-brand-space.has-logo{width:215px;height:84px;min-height:84px;margin:0 0 18px}
  .background-page .bg-brand-space.bg-brand-course{margin-bottom:18px}
  .background-page .bg-learning-content h3{font-size:clamp(1.7rem,6.1vw,2.4rem)}
  .background-page .bg-learning-content p{line-height:1.55}
  .background-page .bg-logo-slot.has-logo{width:205px;height:84px;min-height:84px;margin:12px 0 17px}
  .background-page .bg-stack-card{padding:24px}
  .background-page .bg-stack-card h3{margin-top:25px}
  .background-page .bg-career-entry{padding:27px 0 34px}
}
.background-page .bg-brand-space.bg-brand-course,
.background-page .bg-logo-slot.bg-logo-personal{border:0;background:transparent;box-shadow:none;padding:0}
.background-page .bg-brand-space.bg-brand-course span{font-family:'DM Mono',monospace;font-size:.83rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:#aebfc7}
.background-page .bg-logo-slot.bg-logo-personal span{font-size:1.15rem;letter-spacing:-.035em;color:#dfe7e9}

/* Background: carmine stack, warm professional history, neutral closing chapter. */
.background-body{background:#17120f;color:#f4eee8}
.background-body .subpage-header{border-color:#4a3730;color:#f4eee8}
.background-body .subpage-home span,.background-body .nav a[aria-current=page]{color:#ddb48b}
.background-body .nav a:hover,.background-body .page-footer a:hover{color:#ddb48b}
.background-body .page-footer{border-color:#4a3730;color:#b8a99d}
.background-page{--bg-ink:#f4eee8;--bg-muted:#c4b5a8;--bg-accent:#ddb48b;--bg-rule:#514039;background:#17120f}
.background-page .bg-hero{background:radial-gradient(ellipse at 83% 24%,#6b342419,transparent 49%),#17120f}
.background-page .bg-hero::before{background:radial-gradient(ellipse at 66% 38%,#c58d5740,transparent 57%),linear-gradient(90deg,transparent 0,#f0d4b00a 1px,transparent 1px),linear-gradient(0deg,transparent 0,#f0d4b00a 1px,transparent 1px);background-size:auto,72px 72px,72px 72px}
.background-page .bg-location,.background-page .bg-kicker{color:#b9a596}
.background-page .bg-hero-bottom>p{color:#e5d5c7}
.background-page .bg-index{border-color:#80645677}
.background-page .bg-index a{border-color:#80645677;color:#f1e9df}
.background-page .bg-index a span{color:#b99f8d}
.background-page .bg-index a:hover{background:#dfb78712}

.background-page .bg-education{--bg-accent:#e5bc8c;--bg-muted:#cbb9a8;background:#17120f;border-top:1px solid #5f463a}
.background-page .bg-education .bg-learning-list{border-color:#a385664c}
.background-page .bg-education .bg-learning-row{padding:25px 18px 28px;border-color:#a3856648;background:linear-gradient(90deg,#e4b9850d,transparent 70%)}
.background-page .bg-education .bg-learning-row:nth-child(even){background:linear-gradient(90deg,#e4b98507,transparent 72%)}
.background-page .bg-education .bg-learning-date{color:#e5bc8c}
.background-page .bg-education .bg-card-type{color:#e2be9a}
.background-page .bg-education .bg-learning-content p{color:#cdbeb1}
.background-page .bg-brand-space.bg-brand-course span{color:#e3c2a2}
.background-page .bg-certifications{border-color:#ac866a66}
.background-page .bg-certifications .bg-cert-heading{color:#d9b48f}
.background-page .bg-certifications .bg-cert-items>div{background:#382a21;border-color:#82644e;color:#f2e9de}
.background-page .bg-certifications .bg-cert-items small{color:#c9a985}

.background-page .bg-stack{--bg-accent:#e37e77;--bg-muted:#cbb4b2;background:radial-gradient(ellipse at 91% 5%,#873b3d4b,transparent 48%),linear-gradient(165deg,#211518,#1a1515 66%)}
.background-page .bg-stack .bg-expertise{background:#8b4a4966;border-color:#8b4a4966}
.background-page .bg-stack .bg-expertise>div{background:#302024}
.background-page .bg-stack .bg-expertise>div:nth-child(even){background:#382126}
.background-page .bg-stack .bg-expertise strong{color:#f6ece8;white-space:nowrap}
.background-page .bg-stack .bg-expertise strong small{display:inline-block;margin-left:.14em;font-family:'DM Mono',monospace;font-size:.30em;font-weight:500;letter-spacing:-.01em;vertical-align:top;color:#e69a92}
.background-page .bg-stack .bg-expertise span{color:#dbc4c0}
.background-page .bg-skill-line{border-color:#98545366}
.background-page .bg-skill-line>span,.background-page .bg-skill-line i{color:#e3948c}
.background-page .bg-skill-line p{color:#ddc7c3}
.background-page .bg-stack-card{background:linear-gradient(140deg,#322024,#251a1d 85%);border-color:#795052}
.background-page .bg-stack-card:nth-child(even){background:linear-gradient(140deg,#3a2226,#281c1e 83%)}
.background-page .bg-stack-card:hover{border-color:#d9928d}
.background-page .bg-stack-card.bg-stack-featured{background:radial-gradient(ellipse at 85% 10%,#974a4a80,transparent 56%),linear-gradient(140deg,#45242a,#2b1b1f 85%);border-color:#b46b68}
.background-page .bg-stack-card::before{background:#e37e77}
.background-page .bg-stack-glyph{border-color:#af7979}
.background-page .bg-stack-glyph::after{background:#e37e77}
.background-page .bg-stack-card>p{color:#d5bfbd}
.background-page .bg-tools{border-color:#a6656655}
.background-page .bg-tools span{border-color:#9b646688;color:#f1dedc;background:#6c393721}

.background-page .bg-experience{--bg-accent:#dfb38b;--bg-muted:#cbb9a8;background:radial-gradient(ellipse at 76% 7%,#ae715048,transparent 52%),linear-gradient(160deg,#292019,#211a17 75%)}
.background-page .bg-experience .bg-kicker{color:#d6ad88}
.background-page .bg-experience-lede{color:#e2d2c4}
.background-page .bg-career-list::before{background:linear-gradient(180deg,#e2b68f,#ab795a 55%,#624b3d)}
.background-page .bg-career-entry{grid-template-columns:140px 235px minmax(0,1fr);gap:22px;margin-bottom:14px;padding:32px 25px 35px;border:1px solid #8865496e;border-radius:13px;background:linear-gradient(120deg,#382a20,#29201b 75%)}
.background-page .bg-career-entry:nth-child(even){background:linear-gradient(120deg,#3b2b21,#2b211c 75%)}
.background-page .bg-career-entry:last-child{border:1px solid #8865496e}
.background-page .bg-career-entry::before{left:-31px;border-color:#dfb38b;background:#34251e;box-shadow:0 0 0 5px #34251e}
.background-page .bg-career-date,.background-page .bg-role{color:#e0b58d}
.background-page .bg-career-content>p{color:#f0e3d5}
.background-page .bg-career-content li,.background-page .bg-responsibilities p{color:#d6c2b1}
.background-page .bg-career-content li::before{background:#dfb38b}
.background-page .bg-org-facts span{border-color:#93745c;color:#e1c6aa}
.background-page .bg-responsibilities,.background-page .bg-responsibilities>div{border-color:#94745c66}
.background-page .bg-responsibilities h4{color:#f6e8d7}
.background-page .bg-languages{border-color:#92715a;color:#eee2d5}
.background-page .bg-languages>span{color:#e0b58d}
.background-page .bg-logo-slot.has-logo{width:235px;height:106px;min-height:106px;align-self:start}
.background-page .bg-logo-slot.bg-logo-personal{width:106px;height:106px;min-height:106px;margin-left:60px;display:grid;place-items:center;border:1px solid #9f765c;border-radius:12px;background:radial-gradient(circle at 68% 24%,#7a4c3c9c,#32241d);color:#efd8c3}
.background-page .bg-independent-icon{display:block;width:70px;height:70px}
@media(max-width:1100px) and (min-width:851px){.background-page .bg-career-entry{grid-template-columns:120px 205px minmax(0,1fr);gap:16px}.background-page .bg-logo-slot.has-logo{width:205px}.background-page .bg-logo-slot.bg-logo-personal{margin-left:49px}}
@media(max-width:850px) and (min-width:721px){.background-page .bg-learning-row{grid-template-columns:215px minmax(0,1fr)}.background-page .bg-brand-space.has-logo{width:215px}.background-page .bg-career-entry{grid-template-columns:195px minmax(0,1fr)}.background-page .bg-career-date{grid-column:1/-1}.background-page .bg-logo-slot.has-logo{width:195px;height:96px;min-height:96px}.background-page .bg-logo-slot.bg-logo-personal{margin-left:44px}.background-page .bg-career-content{grid-column:2;grid-row:2}}
@media(max-width:720px){.background-body .mobile-menu{background:#1c1415f7}.background-page .bg-education .bg-learning-row{padding:22px 13px 27px}.background-page .bg-brand-space.has-logo{width:215px;height:100px;min-height:100px}.background-page .bg-logo-slot.has-logo{width:215px;height:100px;min-height:100px;margin:12px 0 17px}.background-page .bg-career-entry{display:block;margin-bottom:12px;padding:24px 18px 28px}.background-page .bg-career-entry::before{left:-21px}.background-page .bg-logo-slot.bg-logo-personal{width:96px;height:96px;min-height:96px;margin:15px 0 19px}.background-page .bg-independent-icon{width:65px;height:65px}}

/* Keep the approved illustration and face untouched; only the shoe-area retouch is visible. */
.hero-scene::after{content:'';position:absolute;inset:0;pointer-events:none;background-image:url('/office-with-kim-v10.png');background-size:cover;background-position:inherit;background-repeat:no-repeat;-webkit-mask-image:radial-gradient(ellipse 17% 13% at 81% 89%,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 17% 13% at 81% 89%,#000 55%,transparent 100%)}
@media(max-width:720px){.hero-scene::after{background-image:url('/office-with-kim-mobile-v2.png');background-position:70% top;-webkit-mask-image:radial-gradient(ellipse 25% 11% at 87% 74%,#000 65%,transparent 100%);mask-image:radial-gradient(ellipse 25% 11% at 87% 74%,#000 65%,transparent 100%)}}

/* Home navigation and direct links to the matching detail entries. */
.site-header .nav a[aria-current=page]{color:#f5b071}
.home-section-heading-link{display:inline-block;max-width:100%}
.home-section-heading-link .section-no::after{content:' ↗'}
.home-section-heading-link:hover h2,.home-section-heading-link:focus-visible h2{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.12em}
.home-section-heading-link:focus-visible,.home-career .career-row:focus-visible,.home-education .education-card:focus-visible,.cable-stage .phase:focus-visible{outline:2px solid #f5b071;outline-offset:4px}
.home-career .career-row{position:relative;cursor:pointer;transition:background .2s,padding-left .2s}
.home-career .career-row:hover{background:#ffffff0a;padding-left:12px}
.home-career .career-row:hover h3{color:#f5b071}
.home-education .education-card{cursor:pointer;transition:background .2s,border-color .2s}
.home-education .education-card:hover{background:#30231c;border-color:#ab795c}
.projects .home-section-heading-link:hover h2{color:#8b563b}
.background-page .bg-career-entry[id],.background-page .bg-learning-row[id]{scroll-margin-top:28px}
.background-page .bg-career-entry:target{border-color:#dcae8a;box-shadow:0 0 0 1px #dcae8a55}
.background-page .bg-learning-row:target{outline:1px solid #dcae8a88;outline-offset:-1px;background:#e4b98516}
@media(prefers-reduced-motion:reduce){.home-career .career-row,.home-education .education-card{transition:none}}

/* Contact: the heading anchors the left column; the form is the action on the right. */
#contatto{border-top-color:#775744;padding-top:clamp(90px,8vw,138px);color:#f4e8da}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,460px);align-items:center;gap:clamp(45px,6vw,110px)}
.contact-intro .section-no{color:#deb18f}
#contatto h2{font-size:clamp(3.6rem,6.2vw,6.4rem);max-width:none;margin:20px 0 0;line-height:.93}
#contatto h2 span{color:#e7a984}
.contact-form{position:relative;display:grid;gap:21px;padding:clamp(24px,3vw,36px);border:1px solid #765a48;border-radius:16px;background:#251d1a;box-shadow:0 22px 70px #0004}
.contact-form::before{content:'';position:absolute;top:-1px;left:30px;width:72px;height:2px;background:#bb5845}
.contact-field{display:grid;gap:9px;min-width:0}
.contact-field label{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 9px;color:#f3e7d8;font-size:.91rem;font-weight:600;line-height:1.35}
.contact-field label span{color:#cbb5a7;font-size:.78rem;font-weight:400}
.contact-field input,.contact-field textarea{display:block;width:100%;min-width:0;border:1px solid #786052;border-radius:9px;padding:13px 14px;background:#181411;color:#fff5e9;font:400 1rem/1.4 var(--font);outline:none;transition:border-color .2s,box-shadow .2s}
.contact-field input{min-height:51px}
.contact-field textarea{min-height:130px;resize:vertical}
.contact-field textarea::placeholder{color:#a99a90;opacity:1}
.contact-field input:focus,.contact-field textarea:focus{border-color:#edb58e;box-shadow:0 0 0 3px #edb58e33}
.contact-field input:-webkit-autofill,.contact-field input:-webkit-autofill:hover,.contact-field input:-webkit-autofill:focus{-webkit-text-fill-color:#fff5e9;caret-color:#fff5e9;-webkit-box-shadow:0 0 0 1000px #181411 inset;box-shadow:0 0 0 1000px #181411 inset}
.contact-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.contact-submit{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:56px;padding:13px 18px;border:0;border-radius:9px;background:#e6b38d;color:#231813;font:700 1rem/1.3 var(--font);cursor:pointer;transition:background .2s,transform .2s}
.contact-submit:hover{background:#f4cfaf;transform:translateY(-2px)}
.contact-submit:focus-visible{outline:2px solid #fff5e9;outline-offset:3px}
.contact-submit:disabled{cursor:wait;opacity:.75;transform:none}
.contact-submit span:last-child{font-size:1.35rem;line-height:1}
.contact-feedback{margin:-4px 0 0;padding:11px 13px;border-radius:8px;background:#49302a;color:#f5d9bf;font-size:.9rem;line-height:1.45}
.contact-feedback[data-state="success"]{background:#2d3a30;color:#e1f0dc}
.contact-feedback[hidden]{display:none}
.contact-honey{position:absolute;left:-100vw;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
#contatto .footer{border-color:#775744;margin-top:90px;color:#c7b5a7}
#contatto .footer a:hover{color:#f4cfaf}
@media(max-width:1080px){.contact-layout{grid-template-columns:1fr;align-items:start;gap:39px}.contact-form{width:min(100%,660px)}#contatto h2{font-size:clamp(3.8rem,9vw,7rem)}}
@media(max-width:720px){#contatto{padding-top:78px}.contact-layout{gap:32px}#contatto h2{font-size:clamp(3.7rem,11vw,5.4rem);margin-top:16px}.contact-form{gap:18px;padding:24px 20px}.contact-pair{grid-template-columns:1fr;gap:18px}#contatto .footer{margin-top:70px}}
@media(max-width:360px){#contatto h2{font-size:3.15rem}.contact-form{padding:22px 16px}}
@media(prefers-reduced-motion:reduce){.contact-submit,.contact-field input,.contact-field textarea{transition:none}}

/* Contact portrait uses the exact supplied point cloud. Screen blending makes the white source disappear against this dark section. */
.hero-email{color:#f7e9d9;font-size:.72rem;letter-spacing:.04em;text-shadow:0 1px 9px #000c;text-decoration:underline;text-decoration-color:#f7e9d966;text-underline-offset:5px}
.hero-email:hover,.hero-email:focus-visible{color:#f5b071}
.contact-intro{min-width:0}
.home-education .education-card{position:relative;padding-right:36px}
.home-education .education-card::after{content:'↗';position:absolute;right:18px;top:18px;color:#e9b690;font-size:1.13rem;line-height:1}
@media(max-width:720px){.hero-bottomline{display:flex;justify-content:flex-end;bottom:22px}.hero-email{font-size:.68rem;letter-spacing:.025em}}

/* The descriptor follows the width of “Melucci.” at every viewport. */
.hero h1 .hero-surname{color:inherit;white-space:nowrap}
.hero h1 .hero-period{color:#f5b071}
.hero-label{position:relative;z-index:0;display:inline-block;align-self:flex-start;width:max-content;max-width:none;white-space:nowrap;margin-top:17px;color:#ffe2c7;font-size:clamp(1.15rem,1.8vw,1.5rem);font-weight:800;letter-spacing:-.015em;line-height:1.18;text-shadow:0 0 2px #ffe7cd99,0 0 9px #f4b48170,0 0 21px #e5896240,0 2px 12px #000e}
.hero-label::before{content:'';position:absolute;inset:-.2em -.4em;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at center,#a745321b,transparent 73%);filter:blur(12px)}
@media(max-width:720px){.hero-label{margin-top:13px;font-size:.96rem;line-height:1.25}}
@media(max-width:360px){.hero-label{font-size:.96rem;letter-spacing:-.015em}}

/* Background opens with the CV profile, followed by tools, career and education. */
.background-page .bg-index{grid-template-columns:repeat(4,minmax(0,1fr));width:min(650px,55%)}
.background-page .bg-profile{--bg-accent:#e5bda0;--bg-muted:#cdbdb3;background:radial-gradient(ellipse at 13% 5%,#b76b4930,transparent 46%),linear-gradient(150deg,#201916,#161616 78%);border-bottom:1px solid #70534877}
.bg-profile-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(34px,6vw,100px);align-items:start}
.bg-profile-heading .bg-chapter-number{display:block;margin:0 0 44px}
.bg-profile-heading .bg-kicker{color:#d2a98e}
.bg-profile h2{font-size:clamp(3.5rem,7.1vw,7.2rem);letter-spacing:-.088em;line-height:.94;margin:0}
.bg-profile-copy{padding-left:clamp(23px,3vw,42px);border-left:1px solid #bb896877}
.bg-profile-copy p{max-width:750px;margin:0 0 20px;color:#d0c4ba;font-size:1rem;line-height:1.75}
.bg-profile-copy p:last-child{margin-bottom:0}
.bg-profile-copy .bg-profile-lead{color:#f4e9dc;font-size:clamp(1.28rem,2vw,1.8rem);font-weight:600;letter-spacing:-.035em;line-height:1.47;margin-bottom:27px}
@media(max-width:850px){.background-page .bg-index{width:100%;max-width:650px}.bg-profile-layout{grid-template-columns:1fr;gap:32px}.bg-profile-heading .bg-chapter-number{margin-bottom:25px}}
@media(max-width:520px){.background-page .bg-index a{padding-right:3px;padding-left:10px;font-size:.69rem}.background-page .bg-index a:first-child{padding-left:0}.bg-profile-layout{gap:28px}.bg-profile-copy{padding-left:21px}.bg-profile-copy .bg-profile-lead{font-size:1.28rem}}
