/* Shared layout: one short exchange, then the application. */
.topbar{gap:24px}.theme-switch{display:inline-flex;gap:3px;padding:3px;border:1px solid currentColor;border-radius:6px;margin-left:15px}.theme-switch button{background:transparent;color:inherit;border:0;border-radius:3px;padding:8px 13px;font-size:11px;line-height:1.1;min-height:32px}.theme-switch button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}.topbar .quiet-link{margin-left:0}.playground{column-gap:54px;row-gap:0;padding-top:48px}.hero{grid-column:1;grid-row:1;padding:12px 0 37px}.hero h1{font-size:clamp(66px,6.9vw,98px)}.quiz-pane{grid-column:1;grid-row:2}.heat-panel{grid-column:2;grid-row:1 / span 2;align-self:start;margin-top:12px;min-height:650px;padding-top:46px}.heat-number{margin-top:0}.thermo-scene{height:410px;margin-top:10px}.heat-label{margin-bottom:7px}.question-wrap h2{font-size:clamp(28px,2.65vw,37px)}.options{margin-top:25px}.option{min-height:65px;padding:16px 18px}.option-title{font-size:16px}.quiz-meta{padding:15px 0}.answer-note h3{font-size:18px}.application-pane #application-title{margin-bottom:32px}.application-state .heat-panel{grid-row:1;min-height:620px}.application-state .playground{padding-top:48px}.letter-date{font-size:10px;color:var(--muted);white-space:nowrap}.letter-controls{justify-content:flex-end}.letter-card{padding-top:31px}.letter-top{padding-bottom:20px;border-bottom:1px solid var(--line)}.downloads-section,.full-cv-section{margin-top:58px;padding-top:40px}.section-top h2{font-size:40px;letter-spacing:-.045em}.download-card{min-height:145px;padding:23px 25px}.download-card h3{font-size:24px;margin:20px 28px 0 0}.download-label{position:absolute;right:23px;bottom:25px;font-size:26px;line-height:1;border:0;padding:0}.file-meta{font-size:9px}.contact-strip h2{font-size:40px}.footer{margin-top:55px}.letter-body{font-size:15px;line-height:1.75}

.option-letter{display:none}.option{grid-template-columns:1fr 22px}

/* Agency: poster typography, sharp ink outlines and a little acid colour. */
.warmup-line{display:none}
[data-theme="agency"] .warmup-line{display:table;margin:0 0 25px;padding:8px 13px;background:var(--lime);color:var(--ink);font-size:clamp(14px,1.55vw,20px);font-weight:800;line-height:1.35;letter-spacing:-.025em;transform:rotate(-2deg);box-shadow:3px 3px 0 var(--ink)}
@media(max-width:740px){[data-theme="agency"] .warmup-line{font-size:13px;margin-bottom:23px;padding:7px 10px}}
body[data-theme="agency"]{--paper:#fff6ec;--ink:#161715;--muted:#63635a;--coral:#f13c51;--orange-ink:#b31b39;--peach:#ff8f91;--lime:#d0f835;--line:#d6ccbf;--white:#fffdf7;background:var(--paper)}
[data-theme="agency"] .hero h1{font-weight:950;letter-spacing:-.07em}
[data-theme="agency"] .hero .accent-word{font-style:italic;position:relative}
[data-theme="agency"] .hero .accent-word::after{content:"";position:absolute;left:0;right:-7px;bottom:-3px;height:5px;background:var(--lime);transform:rotate(-3deg);z-index:-1}
[data-theme="agency"] .brand-spark{font-size:39px}
[data-theme="agency"] .theme-switch{border-width:1.5px;border-radius:0}
[data-theme="agency"] .theme-switch button{border-radius:0}
[data-theme="agency"] .theme-switch button[aria-pressed="true"]{color:var(--ink);background:var(--lime)}
[data-theme="agency"] .heat-panel{border-radius:0;clip-path:polygon(12% 0,100% 0,100% 94%,88% 100%,0 100%,0 7%);box-shadow:none;overflow:hidden;padding-top:54px}
[data-theme="agency"] .heat-panel::after{content:"âœ³";position:absolute;right:9px;top:-3px;color:var(--lime);font-size:78px;line-height:1;transform:rotate(8deg)}
[data-theme="agency"] .heat-number{font-weight:950}
[data-theme="agency"] .heat-label{color:var(--lime);font-size:17px}
[data-theme="agency"] .degree{color:#ff7179}
#heat-liquid stop{transition:stop-color .45s ease}
@media(prefers-reduced-motion:reduce){#heat-liquid stop{transition:none}}
[data-theme="agency"] .quiz-meta>span:first-child{font-weight:800;background:var(--lime);padding:5px 9px;transform:rotate(-3deg)}
[data-theme="agency"] .option{border:1.5px solid var(--ink);border-radius:8px}
[data-theme="agency"] .option:hover,[data-theme="agency"] .option:focus-visible{box-shadow:3px 3px 0 var(--ink);transform:translate(-2px,-2px);background:var(--lime);color:var(--ink)}
[data-theme="agency"] .option[aria-pressed="true"]{background:var(--ink);color:var(--paper);transform:none;box-shadow:none}
[data-theme="agency"] .option-letter{color:var(--orange-ink);font-weight:800}
[data-theme="agency"] .option[aria-pressed="true"] .option-letter{color:var(--lime)}
[data-theme="agency"] .button-ink{border-radius:0;background:var(--lime);color:var(--ink);box-shadow:4px 4px 0 var(--ink);font-weight:800}
[data-theme="agency"] .button-ink:hover{background:#dafa65}
[data-theme="agency"] .button-ink:disabled{background:#e2e2d5;color:#6c7163;box-shadow:none;border-color:#e2e2d5}
[data-theme="agency"] .answer-note{background:#ebf3cf;border-left-color:var(--ink)}
[data-theme="agency"] .letter-card{box-shadow:5px 5px 0 var(--ink);border-radius:0}
[data-theme="agency"] .letter-top h2{font-weight:850}
[data-theme="agency"] .download-card{border-radius:0;border-width:1.5px}
[data-theme="agency"] .color-cv{background:var(--lime)}
[data-theme="agency"] .letter-download{background:var(--ink);color:var(--paper)}
[data-theme="agency"] .full-cv-paper{border:1px solid var(--ink)}

/* Industry: a clean, contemporary games-business portfolio. */
body[data-theme="industry"]{--paper:#fbfcfe;--ink:#172331;--muted:#586675;--coral:#2449cf;--orange-ink:#2548ad;--peach:#e8eefb;--lime:#d8e0ec;--line:#ccd3dc;--white:#fff;--display:"Helvetica Neue",Arial,sans-serif;--body:"Segoe UI",Arial,sans-serif;background:var(--paper)}
[data-theme="industry"] .topbar{border-bottom-color:#bfc9d3}
[data-theme="industry"] .wordmark{font-family:var(--body);font-weight:750;letter-spacing:-.6px}
[data-theme="industry"] .brand-spark{font-size:30px;color:var(--coral)}
[data-theme="industry"] .byline{color:#4b5b6f}
[data-theme="industry"] .theme-switch{border-color:#bcc7d6;border-radius:5px}
[data-theme="industry"] .theme-switch button[aria-pressed="true"]{background:var(--coral);color:#fff}
[data-theme="industry"] .hero h1{font-weight:760;letter-spacing:-.06em;font-size:clamp(62px,6.6vw,92px);line-height:1.02}
[data-theme="industry"] .hero .accent-word{font-style:normal}
[data-theme="industry"] .heat-panel{background:#edf1f6;color:var(--ink);border:0;box-shadow:none;border-radius:0;padding-top:42px}
[data-theme="industry"] .heat-number{font-family:var(--body);font-weight:650;font-size:105px;letter-spacing:-.085em}
[data-theme="industry"] .degree{color:var(--coral);font-family:var(--body);font-weight:400}
[data-theme="industry"] .heat-label{color:#445b77;font-size:14px;font-weight:500}
[data-theme="industry"] .thermo-glow{display:none}
[data-theme="industry"] .thermometer{filter:drop-shadow(2px 3px 0 rgba(19,36,55,.09))}
[data-theme="industry"] .thermometer>path:first-of-type{stroke:#a6b4c4;stroke-width:2;fill:#fff}
[data-theme="industry"] .thermometer g[stroke]{stroke:#8a9aad}
[data-theme="industry"] .quiz-meta{border-top-color:#bbc7d5;color:#4c6079}
[data-theme="industry"] .step-dots i{height:3px;background:#c7d2df}
[data-theme="industry"] .step-dots i.active{background:var(--coral)}
[data-theme="industry"] .step-dots i.done{background:#445872}
[data-theme="industry"] .question-wrap h2{font-family:var(--body);font-weight:680;letter-spacing:-.035em;font-size:clamp(27px,2.5vw,34px)}
[data-theme="industry"] .option{border-color:#bcc8d6;border-radius:5px;background:#fff}
[data-theme="industry"] .option:hover{transform:none;background:#eff3fb;border-color:var(--coral);box-shadow:none}
[data-theme="industry"] .option-title{font-weight:550}
[data-theme="industry"] .option-letter{border-radius:4px;border-color:#b4c2d4;font-size:11px;color:#435c7c}
[data-theme="industry"] .option[aria-pressed="true"]{background:#eaf0fe;color:var(--ink);border-color:var(--coral);box-shadow:inset 3px 0 0 var(--coral)}
[data-theme="industry"] .option[aria-pressed="true"] .option-letter{color:var(--coral);border-color:var(--coral)}
[data-theme="industry"] .option[aria-pressed="true"] .option-arrow{color:var(--coral)}
[data-theme="industry"] .button-ink{background:var(--coral);border-color:var(--coral);border-radius:5px;font-weight:600;color:#fff;box-shadow:none}
[data-theme="industry"] .button-ink:hover{background:#1639b3}
[data-theme="industry"] .button-ink:disabled{background:#dce3ed;color:#66788c;border-color:#dce3ed}
[data-theme="industry"] .answer-note{background:#edf2fa;border-left:2px solid var(--coral)}
[data-theme="industry"] .answer-note h3{font-weight:650}
[data-theme="industry"] .letter-card{background:#fff;border-color:#c5d0dd;box-shadow:none;border-radius:5px}
[data-theme="industry"] .letter-top h2{font-family:var(--body);font-weight:650;letter-spacing:-.035em}
[data-theme="industry"] .application-pane #application-title{font-weight:720}
[data-theme="industry"] .section-top h2,[data-theme="industry"] .contact-strip h2{font-family:var(--body);font-weight:650;font-size:36px;letter-spacing:-.04em}
[data-theme="industry"] .download-card{border-color:#c1cedc;border-radius:5px;box-shadow:none;background:#fff;color:var(--ink)}
[data-theme="industry"] .download-card:hover{transform:translateY(-2px);border-color:var(--coral);box-shadow:none}
[data-theme="industry"] .download-card h3{font-family:var(--body);font-weight:600;font-size:22px;letter-spacing:-.035em}
[data-theme="industry"] .color-cv{background:#edf2fc}
[data-theme="industry"] .download-label{color:var(--coral)}
[data-theme="industry"] .full-cv-paper{border-color:#c5d0dd;background:#fff}
[data-theme="industry"] .cv-name{font-family:var(--body);font-weight:700;font-size:35px}
[data-theme="industry"] .cv-section-title{font-family:var(--body);font-weight:700;letter-spacing:.06em}

@media(max-width:1050px){.topbar{gap:16px}.theme-switch{margin-left:0}.theme-switch button{padding:8px 10px}.byline{font-size:8px}.playground{column-gap:30px}.hero h1{font-size:77px}[data-theme="industry"] .hero h1{font-size:73px}.hero{padding-bottom:31px}.heat-panel{min-height:630px}}
@media(max-width:740px){.topbar{gap:10px;padding:17px 0;min-height:107px}.wordmark{order:0}.byline{order:1;margin-left:auto;font-size:8px}.theme-switch{order:2;margin-left:0;flex-shrink:0}.theme-switch button{min-height:30px;padding:7px 12px;font-size:10px}.topbar .quiet-link{order:3;flex-basis:auto;margin-left:auto;margin-top:0;font-size:11px}.playground{padding-top:30px;gap:27px}.hero{order:0;padding:0;width:100%}.hero h1,[data-theme="industry"] .hero h1{font-size:clamp(49px,12vw,72px)}.heat-panel{order:1;margin-top:0;height:173px;min-height:0;padding:19px 22px!important;position:relative;top:0}.quiz-pane{order:2}.heat-number{font-size:66px;margin-top:0}.degree{font-size:46px}.heat-label{margin-top:5px!important;font-size:12px!important;max-width:52%}.thermo-scene{top:0;right:5px;width:121px;height:173px;margin:0;position:absolute}.thermo-glow{top:35px;width:130px;height:130px}.question-wrap{padding-top:10px}.question-wrap h2,[data-theme="industry"] .question-wrap h2{font-size:29px}.quiz-meta{padding-top:0;padding-bottom:16px}.options{margin-top:22px;gap:9px}.option{padding:15px 12px;min-height:62px;gap:12px}.option-title{font-size:14px}.quiz-actions{margin-top:22px}.answer-note{margin-top:20px;padding:19px}.answer-note>p:last-child{font-size:13px}.application-pane{order:2}.application-state .playground{padding-top:30px}.application-pane #application-title{font-size:52px;margin-bottom:28px}.application-state .heat-panel{min-height:0}.letter-top{align-items:flex-start;gap:10px}.letter-top h2{font-size:24px}.letter-date{font-size:8px;white-space:normal;max-width:60px;text-align:right;line-height:1.6}.letter-controls{margin-top:12px;margin-bottom:23px}.letter-controls .text-button{font-size:10px}.letter-body{font-size:14px}.downloads-section,.full-cv-section{margin-top:43px;padding-top:30px}.section-top{flex-direction:row;align-items:center;gap:12px;margin-bottom:24px}.section-top h2,[data-theme="industry"] .section-top h2{font-size:32px}.download-grid{gap:10px}.download-card{min-height:112px;padding:20px}.download-card h3{font-size:23px;margin-top:17px}.download-label{right:21px;bottom:21px;font-size:23px}.file-meta{font-size:8px}.footer{margin-top:38px}[data-theme="agency"] .heat-panel{clip-path:polygon(5% 0,100% 0,100% 88%,95% 100%,0 100%,0 12%)}[data-theme="agency"] .heat-panel::after{font-size:43px;right:3px;top:-5px}[data-theme="agency"] .heat-number{font-size:66px}[data-theme="industry"] .heat-panel{border-radius:8px}[data-theme="industry"] .heat-number{font-size:73px;line-height:1}[data-theme="industry"] .heat-label{margin-top:6px!important}}
@media(max-width:370px){.page-shell{padding:0 18px}.wordmark{font-size:16px}.byline{font-size:7px}.theme-switch button{padding:7px 10px}.hero h1,[data-theme="industry"] .hero h1{font-size:48px}.heat-panel{padding-left:18px!important}.question-wrap h2,[data-theme="industry"] .question-wrap h2{font-size:27px}}
@media print{.theme-switch{display:none!important}.playground{display:block!important}.hero{display:none!important}body{background:#fff!important;color:#000!important}.letter-card,.full-cv-paper{border:0!important;box-shadow:none!important;background:#fff!important;color:#000!important}}

/* The direct application route keeps only a small temperature readout. */
.heat-compact-title{display:block;margin:0 0 10px;font-family:var(--body);font-size:19px;font-weight:750;line-height:1.3;letter-spacing:-.02em;color:inherit}
.heat-panel:has(.heat-compact-title){padding-top:37px}
[data-theme="agency"] .heat-panel:has(.heat-compact-title){padding-top:37px}
@media(max-width:740px){.heat-compact-title{font-size:14px;max-width:56%;margin-bottom:8px}}
.answers-stage{position:relative;margin-top:25px}
.answers-stage .options{margin-top:0;min-height:240px;grid-auto-rows:1fr}
.answers-stage .answer-note{position:absolute;inset:0;z-index:2;margin:0;padding:0;display:flex;flex-direction:column;border:1.5px solid var(--ink);box-shadow:none;animation:note-in .18s ease-out}
.answer-card{width:100%;height:100%;padding:21px 24px;display:flex;flex-direction:column;text-align:left;font:inherit;color:inherit;background:transparent;border:0;border-radius:0;cursor:pointer}
.answer-card .note-title{display:block;margin:0 0 11px;font-size:18px;font-weight:700;flex-shrink:0;line-height:1.3}
.answer-card .note-next{display:flex;align-items:center;gap:24px;align-self:flex-end;flex-shrink:0;margin-top:13px;font-size:16px;font-weight:800;line-height:1.25}
[data-theme="agency"] .answer-card:hover{background:var(--lime)}
.answer-card:hover .note-next,.answer-card:focus-visible .note-next{text-decoration:underline;text-underline-offset:4px}
.answers-stage #note-copy{margin:0;font-size:20px;line-height:1.4;overflow:auto;flex:1;min-height:0}
.quiz-actions{justify-content:flex-start;gap:24px}
.quiz-actions #change-answer{font-size:11px}
.thermometer-compact .letter-body{max-width:74ch;margin-inline:auto}
.thermometer-compact .playground{position:relative;display:block}
.thermometer-compact .application-pane{max-width:980px;margin:0 auto}
.thermometer-compact .application-pane #application-title{padding-right:205px;min-height:108px;display:flex;align-items:center;gap:.25em;flex-wrap:wrap}
.thermometer-compact .heat-panel{position:absolute;right:0;top:44px;margin:0;width:185px;min-height:0!important;height:106px;padding:16px 22px!important;clip-path:none;border-radius:5px;text-align:left;z-index:1;box-shadow:none}
.thermometer-compact .heat-compact-title{display:block;font-size:12px;font-weight:500;margin-bottom:7px;max-width:none}
.thermometer-compact .heat-number{font-size:43px!important;line-height:1;letter-spacing:-.05em}
.thermometer-compact .degree{font-size:31px}
.thermometer-compact .heat-label,.thermometer-compact .thermo-scene,.thermometer-compact .heat-panel::after{display:none!important}
@media(max-width:740px){.thermometer-compact .application-pane #application-title{font-size:42px;min-height:95px;padding-right:133px;gap:.13em;display:block}.thermometer-compact .heat-panel{top:28px;width:125px;height:87px;padding:14px 15px!important}.thermometer-compact .heat-compact-title{font-size:10px;margin-bottom:7px}.thermometer-compact .heat-number{font-size:34px!important}.thermometer-compact .degree{font-size:25px}}
@media(max-width:740px){.answers-stage{margin-top:22px}.answers-stage .options{min-height:265px}.answer-card{padding:20px}.answers-stage #note-copy{font-size:17px}}

/* ImageGen artwork remains separate from the animated liquid. */
body{overflow-x:clip}.playground,.quiz-pane{position:relative}.hero,.quiz-pane,.application-pane{z-index:1}.heat-panel{z-index:1}
.agency-art{display:none;pointer-events:none;background-image:url('assets/agency-sprites.png');background-size:200% 200%;background-repeat:no-repeat;position:absolute}
[data-theme="agency"] .agency-art{display:block}
.agency-bolt{width:210px;height:330px;left:-172px;top:260px;background-position:100% 0;z-index:0;transform:rotate(9deg)}
.agency-halftone{width:230px;height:180px;right:-39px;bottom:-20px;background-position:0 100%;z-index:0;transform:rotate(7deg)}
.agency-burst{width:118px;height:118px;right:-14px;top:-15px;background-position:0 0;z-index:3;transform:rotate(9deg)}
.agency-arrow{width:78px;height:84px;left:-70px;top:112px;background-position:100% 100%;transform:rotate(8deg)}
[data-theme="agency"] .heat-panel::after{display:none}
.thermo-frame{position:absolute;z-index:2;pointer-events:none;object-fit:fill}
.frame-agency{width:63.45%;height:96.68%;left:16.30%;top:-1.09%}
.frame-industry{width:111.82%;height:89.67%;left:-8.14%;top:3.13%;display:none}
[data-theme="industry"] .frame-agency{display:none}
[data-theme="industry"] .frame-industry{display:block}
.thermometer>path:first-of-type{stroke:none!important;fill:var(--thermo-empty,#f1ecdf)!important}
.application-state .agency-bolt,.application-state .agency-halftone,.application-state .agency-arrow,.thermometer-compact .agency-art{display:none!important}

/* Industry returns to the original composition and serif hierarchy, in cool tones. */
body[data-theme="industry"]{--paper:#121c22;--ink:#eef3f4;--muted:#b9c4c8;--coral:#9de1df;--orange-ink:#9de1df;--peach:#9de1df;--lime:#c4e7e5;--line:#4b5c63;--white:#e9eff0;--display:Georgia,"Times New Roman",serif;--body:"Segoe UI",Arial,sans-serif;--thermo-empty:#edf2f3;background:#121c22;background-image:radial-gradient(ellipse at 70% 6%,#243038 0,transparent 52%)}
[data-theme="industry"] .topbar{border-bottom-color:#69767b}
[data-theme="industry"] .wordmark{color:#eef3f4;font-family:var(--body);font-weight:750}
[data-theme="industry"] .brand-spark{color:#9de1df;font-size:32px}
[data-theme="industry"] .byline{color:#d5dfe2}
[data-theme="industry"] .theme-switch{border-color:#74858c}
[data-theme="industry"] .theme-switch button[aria-pressed="true"]{background:#9de1df;color:#11252a}
[data-theme="industry"] .hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:600;letter-spacing:-.05em;font-size:clamp(64px,6.7vw,96px);line-height:1.03}
[data-theme="industry"] .hero .accent-word{font-style:italic;color:#9de1df}
[data-theme="industry"] .heat-panel{background:linear-gradient(135deg,#edf2f3,#c8d1d5);color:#142128;border:1px solid #d7e0e3;box-shadow:inset 0 0 35px rgba(255,255,255,.18);border-radius:74px;overflow:hidden}
[data-theme="industry"] .heat-number{font-family:Georgia,"Times New Roman",serif;font-size:105px;font-weight:400;letter-spacing:-.085em}
[data-theme="industry"] .degree{color:#386d73}
[data-theme="industry"] .heat-label{font-family:Georgia,"Times New Roman",serif;font-size:20px;font-style:italic;font-weight:400;color:#21373e}
[data-theme="industry"] .heat-compact-title{color:#21373e;font-family:var(--body)}
[data-theme="industry"] .thermo-glow{display:block;background:radial-gradient(circle,rgba(255,116,65,.1),transparent 68%)}
[data-theme="industry"] .thermometer{filter:none}
[data-theme="industry"] .thermometer g[stroke]{stroke:#6e8189}
[data-theme="industry"] .quiz-meta{border-color:#87949a;color:#dce5e8}
[data-theme="industry"] .step-dots i{background:#68767d}
[data-theme="industry"] .step-dots i.active{background:#9de1df}
[data-theme="industry"] .step-dots i.done{background:#c7d2d5}
[data-theme="industry"] .question-wrap h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(27px,2.55vw,36px);font-weight:600;letter-spacing:-.035em}
[data-theme="industry"] .option{color:#eff4f5;background:rgba(16,25,31,.35);border:1px solid #829198;border-radius:10px}
[data-theme="industry"] .option:hover{background:rgba(140,215,214,.1);border-color:#b7e4e3;box-shadow:none}
[data-theme="industry"] .option[aria-pressed="true"]{background:rgba(143,223,219,.16);color:#f4fafb;border-color:#a4e4e1;box-shadow:inset 3px 0 0 #a4e4e1}
[data-theme="industry"] .option[aria-pressed="true"] .option-arrow{color:#a4e4e1}
[data-theme="industry"] .button-ink{color:#10262b;background:linear-gradient(135deg,#b6eeea,#87cfcd);border-color:#92d9d6;border-radius:8px;font-weight:700}
[data-theme="industry"] .button-ink:hover{background:#c3f2ef}
[data-theme="industry"] .button-ink:disabled{color:#9caeb5;background:#33444c;border-color:#33444c}
[data-theme="industry"] .text-button{color:inherit}
[data-theme="industry"] .answers-stage .answer-note{background:#23363d;color:#f1f6f7;border-color:#90c9c9}
[data-theme="industry"] .answer-card .note-title{font-family:Georgia,"Times New Roman",serif;font-size:21px;font-weight:500}
[data-theme="industry"] .letter-card,[data-theme="industry"] .full-cv-paper{--ink:#17282e;--coral:#376b74;--orange-ink:#315d67;--muted:#586b72;--line:#c6d2d6;--white:#f7fafb;color:#17282e;background:#f7fafb;border-color:#9aaeb6}
[data-theme="industry"] .letter-card{box-shadow:0 5px 30px rgba(0,0,0,.15);border-radius:8px}
[data-theme="industry"] .letter-top h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:29px}
[data-theme="industry"] .application-pane #application-title{font-family:Georgia,"Times New Roman",serif;font-weight:500}
[data-theme="industry"] .section-top h2,[data-theme="industry"] .contact-strip h2{font-family:Georgia,"Times New Roman",serif;font-weight:500}
[data-theme="industry"] .download-card{background:#17272e;color:#e8f1f3;border-color:#7f9aa3;border-radius:10px}
[data-theme="industry"] .download-card:hover{background:#21363e;border-color:#b7e5e1}
[data-theme="industry"] .download-card h3{font-weight:550}
[data-theme="industry"] .download-label{color:#a4e4df}
[data-theme="industry"] .bw-cv{background:#e8eef0;color:#17282e}
[data-theme="industry"] .bw-cv:hover{background:#f5f8f9}
[data-theme="industry"] .bw-cv .download-label{color:#315d67}
[data-theme="industry"] .cv-name{font-family:Georgia,"Times New Roman",serif;font-weight:500}
[data-theme="industry"] .footer{color:#bdcbd0}
@media(max-width:1050px){[data-theme="industry"] .hero h1{font-size:74px}}
@media(max-width:740px){[data-theme="industry"] .hero h1{font-size:clamp(49px,12vw,72px)}[data-theme="industry"] .heat-panel{border-radius:24px}[data-theme="industry"] .heat-number{font-size:74px}[data-theme="industry"] .heat-label{font-size:16px!important}[data-theme="industry"] .question-wrap h2{font-size:29px}[data-theme="industry"] .letter-top h2{font-size:24px}.agency-bolt,.agency-arrow,.agency-halftone{display:none!important}.agency-burst{width:65px;height:65px;right:0;top:0}.thermometer-compact[data-theme="industry"] .heat-panel{border-radius:7px}}
@media(max-width:370px){[data-theme="industry"] .hero h1{font-size:48px}[data-theme="industry"] .question-wrap h2{font-size:27px}}

/* Tilt the Agency backing while keeping its contents upright. */
[data-theme="agency"]:not(.thermometer-compact) .heat-panel{background:transparent;clip-path:none;overflow:visible;isolation:isolate}
[data-theme="agency"]:not(.thermometer-compact) .heat-panel::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--ink);clip-path:polygon(12% 0,100% 0,100% 94%,88% 100%,0 100%,0 7%);transform:skew(-4deg,-3deg)}
@media(max-width:740px){[data-theme="agency"]:not(.thermometer-compact) .heat-panel::before{transform:skew(-3deg,-2deg);clip-path:polygon(5% 0,100% 0,100% 88%,95% 100%,0 100%,0 12%)}}

/* A raised Agency button surface behind the upright answer text. */
.answers-stage:has(.answer-note:not([hidden])) .options{visibility:hidden}
[data-theme="agency"] .answers-stage .answer-note{background:transparent;border:0;isolation:isolate}
[data-theme="agency"] .answer-note::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:#ebf3cf;border:1.5px solid var(--ink);box-shadow:6px 7px 0 var(--ink);transform:skewY(-1.2deg);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
[data-theme="agency"] .answer-card:hover{background:transparent}
[data-theme="agency"] .answer-note:has(.answer-card:hover)::before,[data-theme="agency"] .answer-note:has(.answer-card:focus-visible)::before{background:var(--lime);box-shadow:8px 9px 0 var(--ink);transform:translate(-2px,-2px) skewY(-1.2deg)}
[data-theme="agency"] .answer-note:has(.answer-card:active)::before{box-shadow:2px 3px 0 var(--ink);transform:translate(4px,4px) skewY(-1.2deg)}
@media(max-width:740px){[data-theme="agency"] .answer-note::before{box-shadow:4px 5px 0 var(--ink)}[data-theme="agency"] .answer-note:has(.answer-card:hover)::before,[data-theme="agency"] .answer-note:has(.answer-card:focus-visible)::before{box-shadow:6px 7px 0 var(--ink)}[data-theme="agency"] .answer-note:has(.answer-card:active)::before{box-shadow:2px 3px 0 var(--ink);transform:translate(2px,2px) skewY(-1.2deg)}}
@media(prefers-reduced-motion:reduce){[data-theme="agency"] .answer-note::before{transition:none}}

.application-state .quiz-contact{display:none}
.footer{display:grid;grid-template-columns:minmax(max-content,1fr) minmax(0,520px) minmax(max-content,1fr);align-items:center;gap:24px;font-size:11px;line-height:1.5}
.footer-brand{justify-self:start;font-weight:800;letter-spacing:-.01em}
.footer-links{justify-self:end;display:flex;align-items:center;gap:22px}
.footer a{text-decoration:none}
.footer a:hover,.footer a:focus-visible{text-decoration:underline;text-underline-offset:4px}
@media(max-width:740px){.footer{grid-template-columns:1fr;gap:12px}.footer-links{justify-self:start;gap:20px}}

/* Keep the full heading's layout while its characters appear in order. */
.question-character{animation:question-character-in 1ms steps(1,end) both;animation-delay:var(--character-delay)}
@keyframes question-character-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.question-character{animation:none}}

/* A separate copy action sits above the whole-card Next button. */
.answer-card .note-title{padding-right:42px}
.copy-response{position:absolute;top:9px;right:10px;z-index:3;width:44px;height:44px;padding:12px;display:grid;place-items:center;background:transparent;color:inherit;border:0;border-radius:4px;cursor:pointer}
.copy-response svg{width:20px;height:20px}
.copy-response:hover{background:rgba(0,0,0,.08)}
.copy-response:focus-visible{outline:2px solid currentColor;outline-offset:-4px}
.copy-response .copy-check{display:none}
.copy-response[data-copy-state="success"] .copy-icon{display:none}
.copy-response[data-copy-state="success"] .copy-check{display:block}
.copy-feedback{position:absolute;right:calc(100% + 4px);top:50%;transform:translateY(-50%);white-space:nowrap;padding:4px 7px;background:var(--ink);color:var(--paper);font-size:11px;font-weight:700;line-height:1.4;border-radius:3px;pointer-events:none}
[data-theme="industry"] .copy-response:hover{background:rgba(255,255,255,.12)}

/* Rich responses grow with their text and evidence, over the original choices. */
.answers-stage{display:grid}
.answers-stage>.options,.answers-stage>.answer-note{grid-area:1 / 1;min-width:0}
.answers-stage .answer-note{position:relative;inset:auto;display:block;min-height:260px}
.answer-card{position:absolute;inset:0;z-index:0;width:100%;height:100%;display:block;padding:0}
.answer-card .note-next{position:absolute;right:24px;bottom:20px;margin:0}
.answer-content{position:relative;z-index:1;padding:22px 24px 66px;pointer-events:none}
.answer-content .note-title{margin:0 0 11px;padding-right:42px;font-size:18px;font-weight:700;line-height:1.3}
.answers-stage #note-copy{margin:0;font-size:20px;line-height:1.4;overflow:visible;flex:none}
.answer-extras{margin-top:20px;pointer-events:none}
.answer-extras a,.answer-extras button{pointer-events:auto}
.project-links{display:flex;flex-wrap:wrap;gap:10px 20px;margin-bottom:17px}
.project-link{font-size:14px;font-weight:750;color:inherit;text-underline-offset:4px}
.project-link:hover{ text-decoration-thickness:2px }
.evidence-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.project-gallery{row-gap:8px}
.project-gallery>.evidence-card{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:8px}
.project-gallery .evidence-card>.project-link{cursor:pointer}
.project-gallery .evidence-card figcaption{margin-top:0}
.evidence-card{min-width:0;margin:0}
.evidence-card>a{display:block;color:inherit;cursor:zoom-in}
.evidence-card img{display:block;width:100%;height:220px;object-fit:contain;background:#fff;border:1px solid currentColor;border-radius:2px}
.evidence-card figcaption{margin-top:7px;font-size:11px;font-weight:600;line-height:1.45}
.answer-extras a:focus-visible,.answer-extras button:focus-visible{outline:2px solid currentColor;outline-offset:4px}
[data-theme="industry"] .answer-content .note-title{font-family:Georgia,"Times New Roman",serif;font-size:21px;font-weight:500}
.footer-credit{min-width:0;max-width:520px;margin:0;text-align:center;font-size:11px;line-height:1.6}
.footer .footer-credit a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:740px){.answer-content{padding:20px 20px 64px}.answers-stage #note-copy{font-size:17px}.evidence-gallery{grid-template-columns:1fr}.evidence-card img{height:240px}.answer-card .note-next{right:20px}.footer-credit{max-width:none;justify-self:stretch}}

/* At 100 degrees, a brief overflow celebrates the completed heat check. */
.thermo-scene{overflow:visible}
.thermo-overflow{position:absolute;inset:0;z-index:4;width:100%;height:100%;overflow:visible;opacity:0;pointer-events:none}
.heat-overheated .thermo-scene{animation:thermo-rattle .11s linear 20}
.heat-overheated .thermo-overflow{animation:thermo-burst 2.4s ease-out both}
.heat-overheated .overflow-gush{transform-origin:114px 60px;animation:thermo-gush .4s ease-in-out 6}
.heat-overheated .overflow-drop{transform-box:fill-box;transform-origin:center;animation:thermo-drop .7s ease-out 3}
.hot-application{display:block;width:100%;margin:17px 0 10px;padding:15px 12px;border:2px solid #161715;border-radius:2px;box-shadow:4px 4px 0 #ff1744;background:#d0f835;color:#161715;font-family:var(--body);text-align:center;line-height:1.35;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.hot-application>span{display:block;font-size:15px;font-weight:750}
.hot-application strong{display:block;margin-top:6px;font-size:12px;font-weight:900;letter-spacing:.025em}
.hot-application:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 #ff1744}
.hot-application:focus-visible{outline:3px solid #ff1744;outline-offset:5px}
@keyframes thermo-rattle{0%,100%{transform:translateX(0) rotate(0)}25%{transform:translateX(-3px) rotate(-1deg)}75%{transform:translateX(3px) rotate(1deg)}}
@keyframes thermo-burst{0%{opacity:0}8%,76%{opacity:1}100%{opacity:0}}
@keyframes thermo-gush{0%,100%{transform:scaleY(.85)}50%{transform:scaleY(1.12)}}
@keyframes thermo-drop{0%{opacity:0;transform:translate(0,-8px) scale(.6)}18%{opacity:1}100%{opacity:0;transform:translate(var(--drop-x),var(--drop-y)) scale(.35)}}
@media(prefers-reduced-motion:reduce){.heat-overheated .thermo-scene,.heat-overheated .thermo-overflow,.heat-overheated .overflow-gush,.heat-overheated .overflow-drop{animation:none!important}.thermo-overflow{display:none}.hot-application{transition:none}}

/* Keep the header signal after completing the quiz, including in the letter. */
.heat-complete .topbar .skip-quiz{background:#d0f835;color:#161715;text-decoration:none;border-radius:1px;box-shadow:0 0 0 7px #d0f835,4px 4px 0 7px #ff1744}
.heat-complete .topbar .skip-quiz:focus-visible{outline:2px solid #161715;outline-offset:11px}

/* The application's Chemistry card returns to the quiz without clearing it. */
.chemistry-home{display:none;position:absolute;inset:0;z-index:6;border-radius:inherit;color:inherit;cursor:pointer}
.application-state .chemistry-home{display:block}
.chemistry-home:focus-visible{outline:2px solid var(--coral);outline-offset:-5px}
.application-state .heat-panel:has(.chemistry-home:hover){box-shadow:inset 0 0 0 2px var(--coral)}

/* Keep the identity beside the wordmark and the design switch on the right. */
.topbar .byline{margin-left:15px}
.topbar .theme-switch{margin-left:auto}
@media(max-width:740px){.topbar .byline{margin-left:auto}.topbar .theme-switch{margin-left:0}}

/* Screenshots expand in place while the native dialog contains keyboard focus. */
.evidence-image{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:zoom-in;text-align:inherit}
.image-preview-open{overflow:hidden}
.image-preview{position:fixed;width:max-content;max-width:calc(100vw - 40px);max-height:calc(100dvh - 40px);margin:auto;padding:52px 20px 18px;border:1px solid var(--ink);border-radius:4px;background:var(--paper);color:var(--ink);box-shadow:8px 8px 0 rgba(0,0,0,.25);overflow:auto}
.image-preview::backdrop{background:rgba(0,0,0,.82)}
.image-preview figure{margin:0}
.image-preview img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 160px);margin:auto;object-fit:contain}
.image-preview figcaption{margin:12px 0 0;font-size:12px;line-height:1.5}
.preview-close{position:absolute;top:10px;right:12px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid currentColor;border-radius:2px;background:var(--paper);color:var(--ink);font:28px/1 var(--body);cursor:pointer}
.preview-close:hover{background:var(--lime)}
.preview-close:focus-visible{outline:2px solid var(--coral);outline-offset:3px}
@media(max-width:740px){.image-preview{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:52px 12px 14px}.image-preview img{max-height:calc(100dvh - 145px)}}
@media print{.image-preview{display:none!important}}

/* Introduce the application before revealing its letter. */
.application-pane #application-title{margin-bottom:10px}
.application-welcome{margin:0 0 32px;font-family:var(--body);font-size:clamp(22px,2.3vw,30px);font-weight:650;line-height:1.3;letter-spacing:-.025em}
.application-intro .greeting-character{animation:question-character-in 1ms steps(1,end) both;animation-delay:var(--greeting-delay)}
.application-intro .letter-card{visibility:hidden;pointer-events:none}
@media(max-width:740px){.application-welcome{margin-bottom:28px;font-size:22px}}
@media(prefers-reduced-motion:reduce){.application-intro .greeting-character{animation:none}}
@media print{.application-intro .letter-card{visibility:visible}.greeting-character{animation:none!important}}

/* Downloads start beneath the Chemistry card and move into a row as it enters view. */
.application-sidebar{display:contents}
.download-dock:empty{display:none}
.download-home{display:flow-root;overflow-anchor:none;scroll-margin-top:24px}
.download-home:empty{min-height:320px}
.download-dock{margin-top:30px}
.downloads-docked{margin-top:0;padding-top:0;border-top:0;animation:none}
.downloads-docked .section-top{margin-bottom:16px}
.downloads-docked .section-top h2{font-size:28px}
.downloads-docked .download-grid{grid-template-columns:1fr;gap:12px}
.downloads-docked .download-card{min-height:112px;padding:20px 22px}
.downloads-docked .download-card h3{font-size:23px;margin-top:17px}
@media(min-width:741px){
  .application-state .application-sidebar{display:block;grid-column:2;grid-row:1;align-self:start;position:sticky;top:24px;min-width:0;z-index:1}
  .application-state .application-sidebar>.heat-panel{position:relative;top:auto}
  .thermometer-compact .playground{display:grid}
  .thermometer-compact .application-pane{max-width:none;margin:0}
  .thermometer-compact .application-pane #application-title{padding-right:0;min-height:0;display:block}
  .thermometer-compact .application-sidebar>.heat-panel{position:relative;right:auto;top:0;width:185px;margin:0 0 0 auto}
}
@media(max-width:740px){.download-home:empty{min-height:0}.download-dock{display:none}}
@media print{.download-dock,.download-home{display:none!important}}

/* A personal instant-photo keeps the original photograph and crops it in the layout. */
.application-greeting{display:grid;grid-template-columns:minmax(0,1fr) 146px;align-items:center;gap:24px;margin-bottom:34px;min-height:184px}
.greeting-copy{min-width:0}
.application-greeting .application-welcome{margin-bottom:0}
.portrait-polaroid{position:relative;width:146px;margin:0;padding:10px 10px 7px;background:#fffefa;color:#191a17;box-shadow:2px 3px 0 rgba(0,0,0,.13),8px 13px 20px rgba(0,0,0,.13);transform:rotate(6deg);animation:portrait-float 7s ease-in-out infinite;transition:opacity .3s ease}
.portrait-polaroid::before{content:"";position:absolute;z-index:1;top:-9px;left:calc(50% - 27px);width:54px;height:19px;background:var(--lime);opacity:.78;transform:rotate(-8deg);clip-path:polygon(3% 0,98% 2%,100% 94%,0 100%)}
.portrait-photo{position:relative;aspect-ratio:1;overflow:hidden;background:#252828}
.portrait-photo img{position:absolute;display:block;width:234.05%;max-width:none;height:auto;left:-105.32%;top:0}
.portrait-polaroid figcaption{margin:6px 0 0;text-align:center;font-family:"Segoe Print","Bradley Hand",cursive;font-size:17px;font-weight:600;line-height:1.6}
.application-intro .portrait-polaroid{opacity:0}
@keyframes portrait-float{0%,100%{transform:translateY(0) rotate(6deg)}50%{transform:translateY(-4px) rotate(4deg)}}
@media(max-width:1050px){.application-greeting{grid-template-columns:minmax(0,1fr) 126px;gap:18px}.portrait-polaroid{width:126px}}
@media(max-width:740px){.application-greeting{grid-template-columns:minmax(0,1fr) 104px;gap:16px;min-height:150px;margin-bottom:26px}.portrait-polaroid{width:104px;padding:7px 7px 5px}.portrait-polaroid::before{width:42px;left:calc(50% - 21px);height:15px;top:-7px}.portrait-polaroid figcaption{font-size:14px;margin-top:4px}.application-state .application-greeting #application-title{padding-right:0;min-height:0;font-size:clamp(36px,10.4vw,52px)}.application-greeting .application-welcome{font-size:20px}}
@media(prefers-reduced-motion:reduce){.portrait-polaroid{animation:none;transition:none}}
@media print{.portrait-polaroid{display:none}.application-greeting{display:block;min-height:0}}
@media(max-width:740px){.thermometer-compact .application-sidebar>.heat-panel{position:relative;top:auto;right:auto;margin:0 0 0 auto;align-self:flex-end}}
