:root{--ink:#102F60;--muted:#53647b;--paper:#f7f9fc;--line:#d4deec;--accent:#c9d9ef}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-underline-offset:5px}button,input{font:inherit}button,a,input{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #1F497D;outline-offset:5px}.review{background:var(--ink);color:#e5eefb;text-align:center;font-size:11px;letter-spacing:2px;padding:7px}header,main,footer{max-width:1200px;margin:auto;padding:0 44px}header{display:flex;justify-content:space-between;align-items:center;padding-top:26px;padding-bottom:26px;border-bottom:1px solid var(--line)}.brand{font-size:25px;font-weight:bold;text-decoration:none;display:flex;align-items:center;gap:14px}.brand span{font-size:13px;font-weight:normal}nav{display:flex;gap:23px;font-size:13px}nav a{text-decoration:none}.hero{display:grid;grid-template-columns:1.6fr 1fr;gap:55px;padding:85px 0 65px;align-items:center}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:bold;margin-bottom:25px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(38px,4.6vw,64px);line-height:1.09;letter-spacing:-2.6px;font-weight:500;margin-bottom:27px}h1 em{font-family:Georgia,serif;font-weight:normal;color:#1F497D}h2{font-size:clamp(32px,3.4vw,46px);line-height:1.18;letter-spacing:-1.5px;font-weight:500;margin-bottom:32px}h3{font-size:23px;line-height:1.3;font-weight:500;margin-bottom:15px}p{color:var(--muted)}.intro{font-size:22px;line-height:1.5;color:var(--ink)}.actions{display:flex;gap:25px;align-items:center;margin-top:32px}.button{background:var(--ink);color:white;padding:13px 22px;border-radius:3px;text-decoration:none;font-size:14px}.textlink{font-size:14px}.hero-aside{background:#e5edf8;padding:40px 30px;min-height:380px;display:flex;flex-direction:column;justify-content:space-between;border-radius:120px 120px 3px 3px}.hero-aside p{color:var(--ink);font-size:20px;line-height:1.6}.hero-aside small{font-size:9px;letter-spacing:1px}.facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1.3fr;padding:27px 0;gap:24px}.facts b{font-size:32px;font-weight:500;display:block}.facts span{font-size:12px;color:var(--muted)}section:not(.hero):not(.facts){padding:75px 0;border-bottom:1px solid var(--line)}.case{display:grid;grid-template-columns:1.7fr 1fr;gap:80px;padding:35px 0;border-top:1px solid var(--line)}.tag{display:block;font-size:10px;letter-spacing:1.6px;margin-bottom:17px}.result{background:#e5edf8;padding:25px}.result b{display:block;font-size:40px;font-weight:500}.result span{display:block;font-size:13px;color:var(--muted);margin-bottom:15px}.case-note{font-family:Georgia,serif;font-size:26px;line-height:1.8;padding:15px 0;color:#1F497D}.source-note{font-size:12px;color:#566981}.columns{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.columns h3{font-size:21px}.career{display:grid;grid-template-columns:1.3fr 1fr;gap:90px}.timeline{display:grid;grid-template-columns:110px 1fr;gap:20px;border-top:1px solid var(--line);padding:20px 0}.timeline>span{font-size:13px;color:var(--muted)}.timeline h3{margin-bottom:4px}.timeline p{font-size:14px;margin:0}.career aside{background:#eaf0f8;padding:28px;height:fit-content}.career aside h3{font-size:19px}.career aside p{font-size:14px}.recommendations{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.recommendation{border-top:1px solid var(--line);padding:17px 0;align-self:start}summary{cursor:pointer;list-style-position:outside;margin-left:15px}summary span{font-size:17px}summary small{display:block;font-size:11px;line-height:1.6;color:var(--muted);margin-top:4px}blockquote{margin:25px 0 15px;font-family:Georgia,serif;font-size:17px;white-space:pre-line}.recommendation>small{font-size:10px;color:var(--muted)}.chat-section{display:grid;grid-template-columns:1fr 1.2fr;gap:65px}.chatbox{background:white;border:1px solid var(--line);padding:25px;border-radius:8px}.chat-title{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:16px}.chat-title span{font-size:11px;background:#e5edf8;padding:3px 10px;border-radius:20px}#messages{max-height:350px;overflow-y:auto;padding-top:20px}.bubble{background:#edf2f9;border-radius:8px;padding:16px;font-size:14px;white-space:pre-line}.bubble.user{background:var(--ink);color:white;margin-left:30px}.suggestions{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.suggestions button{background:none;border:1px solid var(--line);border-radius:15px;font-size:11px;padding:7px 12px;cursor:pointer}form{display:flex;gap:8px}input{min-width:0;width:100%;border:1px solid var(--line);border-radius:4px;padding:10px}form button{border:0;border-radius:4px;padding:0 17px;background:var(--ink);color:white;cursor:pointer}.chatbox>small{font-size:10px;color:var(--muted);display:block;margin-top:10px}.contact>a{font-size:clamp(16px,3vw,30px)}.contact-links{display:flex;gap:25px;flex-wrap:wrap;margin-top:25px;font-size:14px}footer{display:flex;justify-content:space-between;padding-top:25px;padding-bottom:25px;font-size:11px}.sr-only,.skip:not(:focus){position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.skip:focus{display:block;padding:15px}@media(max-width:760px){header,main,footer{padding-left:22px;padding-right:22px}header{align-items:start;gap:20px}.brand span{display:none}nav{flex-wrap:wrap;gap:10px 15px;justify-content:end}.hero{grid-template-columns:1fr;padding-top:45px;gap:30px}.hero-aside{min-height:260px;max-width:420px;width:100%;border-radius:80px 80px 3px 3px}.hero-aside p{font-size:17px}.facts{grid-template-columns:1fr;gap:15px}.facts b{font-size:27px}.case,.career,.chat-section,.columns,.recommendations{grid-template-columns:1fr;gap:25px}.case{gap:10px}.case-note{font-size:20px}.timeline{grid-template-columns:90px 1fr}.actions{gap:18px}footer{gap:20px}section:not(.hero):not(.facts){padding:50px 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* CV theme: header #102F60, headings #1F497D. Original portrait. */
.hero-aside{padding:0;overflow:hidden;border-radius:8px;background:#102F60;color:white;min-height:0}.hero-aside .portrait{display:block;width:100%;height:auto;aspect-ratio:1083/1452;object-fit:cover}.portrait-caption{padding:24px}.hero-aside p{color:white;font-size:17px;margin-bottom:14px}.hero-aside small{color:#d8e5f6}h2,h3{color:#1F497D}.approach>.intro{max-width:880px}.approach>p:not(.eyebrow){max-width:880px}.approach .columns{margin-top:32px}

.professional-view{margin-top:40px;padding:30px;border-left:4px solid #1F497D;background:#eaf0f8}.professional-view p:last-child{margin-bottom:0}

.recommendation-group{margin-top:36px;scroll-margin-top:25px}.recommendation-group-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#eaf0f8;border-left:4px solid #1F497D;padding:18px 22px;margin-bottom:14px}.recommendation-group-heading h3{margin:0 0 3px}.recommendation-group-heading p{font-size:12px;margin:0}.recommendation-group-heading>span{font-size:12px;white-space:nowrap}

.more-recommendations{margin-top:30px}.more-recommendations>summary{display:block;margin:0;width:fit-content;background:#102F60;color:white;border-radius:4px;padding:13px 22px;cursor:pointer;list-style:none}.more-recommendations>summary::-webkit-details-marker{display:none}.more-recommendations>summary small{display:block;font-size:11px;color:#d8e5f6;margin-top:2px}.more-recommendations .less-label{display:none}.more-recommendations[open] .less-label{display:inline}.more-recommendations[open] .more-label{display:none}.more-label:after{content:" ↓"}.less-label:after{content:" ↑"}.older-recommendations{margin-top:25px}

.result b.quality-result{font-size:25px;line-height:1.25;margin-top:25px;margin-bottom:10px}

.article-feature{margin:35px 0 0;background:#eaf0f8;border-radius:6px;overflow:hidden;display:grid;grid-template-columns:1.15fr 1fr}.article-feature>img{width:100%;height:100%;object-fit:cover;min-height:320px}.article-feature>div{padding:30px}.article-feature h3{font-size:27px}.article-feature .button{display:inline-block;margin-bottom:15px}.article-feature .source-note{margin:0}@media(max-width:760px){.article-feature{grid-template-columns:1fr}.article-feature>img{height:auto;min-height:0}.article-feature>div{padding:24px}}

nav .chat-nav{background:#e1edff;color:#102f60;padding:7px 12px;border-radius:4px;font-weight:bold}.hero .chat-hero{display:inline-block;background:#d2e5ff;color:#102f60;padding:13px 19px;border:0;border-radius:4px;text-decoration:none;font-size:14px;font-weight:bold;cursor:pointer}.chat-launcher{position:fixed;right:24px;bottom:22px;z-index:20;background:#102f60;color:white;border:2px solid white;border-radius:30px;padding:13px 21px;font-weight:bold;box-shadow:0 5px 25px #102f6030;cursor:pointer}.context-question{border:1px solid #96b1d7;background:#eaf1fb;color:#102f60;border-radius:4px;padding:10px 14px;text-align:left;cursor:pointer;font-size:13px;margin:10px 0 18px}dialog.chat-dialog{width:min(560px,calc(100% - 24px));max-height:90dvh;padding:0;border:0;border-radius:12px;color:#102f60;background:white;box-shadow:0 15px 65px #081d3d55}dialog.chat-dialog::backdrop{background:#081d3d80}.chat-dialog .chatbox{border:0;box-shadow:none}.chat-dialog #messages{max-height:36dvh}.chat-dialog .chat-title{align-items:center;gap:12px}.chat-close{border:1px solid #cbd7e8;background:white;color:#102f60;border-radius:4px;padding:4px 9px;cursor:pointer}.chat-dialog .demo-note{font-size:12px;background:#edf2f9;margin:0;padding:13px 25px}.chat-dialog .chat-title span{margin-left:auto}.chat-section .chat-teaser{align-self:center;background:white;border:1px solid #cad6e7;border-radius:7px;padding:30px}.chat-teaser .button{border:0;cursor:pointer}.chat-teaser p{font-size:17px}@media(max-width:760px){.chat-launcher{right:14px;bottom:14px;padding:11px 16px}.hero .actions{flex-wrap:wrap}footer{padding-bottom:90px}nav .chat-nav{padding:4px 8px}.chat-dialog .chatbox{padding:18px}}

/* Header stays initially, then follows scroll direction with a small dead zone. */
header{position:sticky;top:0;z-index:30;background:var(--paper);transition:transform .24s ease;will-change:transform}header.header-hidden{transform:translateY(-110%)}h1 .headline-line{display:block;white-space:nowrap}h1 .headline-line em{display:inline}h1{font-size:clamp(30px,4.2vw,57px)}@media(max-width:760px){h1{font-size:clamp(24px,6.6vw,49px);letter-spacing:-1.1px}}@media(prefers-reduced-motion:reduce){header{transition:none}}

/* Match menu baselines and keep case section headings consistently left aligned. */
header nav{align-items:center}.section-top{display:block}.section-top h2{max-width:none;text-align:left}

.contact a{display:inline-flex;align-items:center;gap:10px}.contact a svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.contact>a svg{width:28px;height:28px}

.case-testimonial{font-size:19px;line-height:1.65;border-left:3px solid #86a9d6;padding-left:22px;margin:28px 0 15px}.case-attribution{font-size:12px;line-height:1.7}

/* Alternative editorial direction; shared content and behaviour. */
:root{--paper:#f5f7fb;--ink:#102f60;--muted:#52627b;--line:#cad6e7}body{background:#f5f7fb}.review{background:#081d3d;color:#b9d0f1}header{max-width:none;padding:27px max(28px,calc((100vw - 1112px)/2));background:#102f60;color:white;border:0}.brand{font-size:33px}.brand span{font-size:14px}nav{font-size:14px}nav a:hover{text-decoration:underline}main{max-width:1200px}.hero{position:relative;background:#102f60;color:white;margin:0 -44px;padding:70px 44px 65px;gap:45px;grid-template-columns:1.35fr 1fr}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 10% 10%,#234f88 0,transparent 60%);pointer-events:none}.hero>div,.hero>aside{position:relative}.hero .eyebrow{color:#b7d1f2}.hero h1{font-size:clamp(42px,5.5vw,74px);font-weight:600;line-height:1.04;letter-spacing:-3px}.hero h1 em{display:inline-block;color:#b9d7ff;font-weight:normal}.hero p{color:#d4e0f1}.hero .intro{font-size:23px;color:white}.hero .button{background:white;color:#102f60;font-weight:bold;padding:15px 23px}.hero .textlink{color:white}.hero-aside{border-radius:3px 3px 70px 3px;box-shadow:18px 18px 0 #2c5790;align-self:center;background:#081d3d;max-width:390px;justify-self:end}.hero-aside .portrait{aspect-ratio:1/1.13;object-fit:cover;object-position:center 24%}.portrait-caption{padding:21px 25px}.portrait-caption p{font-size:18px;color:white;font-family:Georgia,serif}.hero-aside small{font-size:8px;letter-spacing:1.4px}.facts{background:#e4ecf8;padding:30px 44px;margin:0 -44px;border:0;gap:35px}.facts b{font-size:35px;font-weight:600}.facts span{font-size:13px}.facts>div{border-left:3px solid #83a9dd;padding-left:20px}.eyebrow{letter-spacing:2.5px;color:#5178aa}h2{font-size:clamp(36px,4.2vw,56px);font-weight:600;letter-spacing:-2px}h3{font-weight:600}.section-top{display:flex;justify-content:space-between;align-items:start;gap:30px}.section-top h2{max-width:640px}.case{gap:55px;padding:36px 0}.tag{font-weight:bold;color:#5276a5}.case h3{font-size:29px}.result{background:#102f60;color:white;border-radius:3px 3px 35px 3px;padding:30px}.result b{color:white;font-size:48px;letter-spacing:-1.5px}.result span{color:#cfddf1}.result b.quality-result{font-size:27px;letter-spacing:-.5px}.case-note{border-left:3px solid #94b2da;padding:15px 0 15px 30px;font-size:27px;color:#32649f}.article-feature{background:#102f60;color:white;margin-top:45px}.article-feature h3{color:white;font-family:Georgia,serif;font-weight:normal;font-size:31px}.article-feature p{color:#d2e0f2}.article-feature .tag{color:#abcaf3}.article-feature .button{background:white;color:#102f60}.article-feature .source-note{color:#b0c5e0}.article-feature>img{min-height:360px}.approach{background:#e7eef8;margin:0 -44px;padding:65px 44px!important}.approach h2{font-family:Georgia,serif;font-size:clamp(41px,5vw,65px);font-weight:normal}.approach>.intro{font-size:25px;line-height:1.55}.columns{margin-top:40px!important}.columns>div{border-top:3px solid #648dc3;padding-top:20px}.professional-view{background:#f5f8fc;border:0;border-radius:4px;padding:30px}.professional-view h3{font-size:26px}.career aside{background:#102f60;border-radius:3px 3px 35px 3px}.career aside h3{color:white}.career aside p{color:#d2dff1}.timeline h3{font-size:25px}.recommendation-group-heading{background:#102f60;color:white;border:0;border-radius:4px}.recommendation-group-heading h3{color:white;font-size:27px}.recommendation-group-heading p{color:#c7d9f0}.recommendations{gap:0 40px}summary span{font-weight:600;font-size:18px}blockquote{border-left:3px solid #86a9d6;padding-left:20px;font-size:19px}.chat-section{background:#e7eef8;margin:0 -44px;padding:65px 44px!important}.chatbox{border:0;box-shadow:0 10px 35px #102f6010}.contact{padding:80px 0!important}.contact h2{font-size:clamp(40px,5vw,65px)}footer{border-top:3px solid #102f60}.editorial-quote{background:#102f60;color:white;margin:0 -44px;padding:42px 44px;border:0}.editorial-quote blockquote{font-size:clamp(22px,3vw,34px);line-height:1.5;color:white;max-width:880px;margin:0 0 15px;border:0;padding:0}.editorial-quote p{color:#b9cfee;font-size:12px;margin:0}.editorial-quote a{color:#b9d7ff}.quality-result{overflow-wrap:normal}@media(max-width:760px){header{padding:22px}.hero{margin:0 -22px;padding:45px 22px 50px;grid-template-columns:1fr;gap:40px}.hero h1{letter-spacing:-2px}.hero-aside{justify-self:center;max-width:350px;box-shadow:10px 10px 0 #2c5790}.facts{margin:0 -22px;padding:28px 22px;gap:25px}.section-top{display:block}.approach,.chat-section{margin:0 -22px;padding:45px 22px!important}.editorial-quote{margin:0 -22px;padding:35px 22px}.case h3{font-size:25px}.article-feature>img{min-height:0}.article-feature h3{font-size:27px}.case-note{font-size:23px}.contact h2{letter-spacing:-1.5px}}

header{background:#102f60}.hero h1{font-size:clamp(30px,4.2vw,57px);letter-spacing:-2px}.hero h1 em{display:inline}@media(max-width:760px){.hero h1{font-size:clamp(24px,6.6vw,49px);letter-spacing:-1.1px}}

.section-top{display:block}.section-top h2{max-width:none;text-align:left}header nav{align-items:center}

.quote-pair{display:grid;grid-template-columns:1fr 1fr;gap:40px}.quote-pair>div+div{border-left:1px solid #54749e;padding-left:40px}.quote-pair blockquote{font-size:clamp(20px,2.1vw,27px);line-height:1.5}.quote-pair p{line-height:1.7}.quote-pair strong{color:white}@media(max-width:760px){.quote-pair{grid-template-columns:1fr;gap:28px}.quote-pair>div+div{border-left:0;border-top:1px solid #54749e;padding:28px 0 0}}

.about-person > p:not(.eyebrow){max-width:850px}.timeline .role-hours{font-size:12px;font-weight:bold;color:#1f497d;margin-bottom:9px}

/* Design B 0.12 */
.jobmatch-section{padding:clamp(4rem,8vw,8rem) max(5vw,24px);border-top:1px solid var(--line,#d9e0e7)}.jobmatch-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,4rem);margin-top:2rem}.jobmatch-layout form,.jobmatch-output{border:1px solid #c9d2db;border-radius:14px;padding:clamp(1rem,3vw,2rem);min-width:0}.jobmatch-layout label{display:block;font-weight:700;margin-bottom:.6rem}.jobmatch-layout textarea{display:block;width:100%;box-sizing:border-box;resize:vertical;border:1px solid #aab8c7;border-radius:8px;padding:1rem;font:inherit;background:#fff;color:#14263b}.jobmatch-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1rem}.jobmatch-output h4{margin:1.5rem 0 .4rem;color:#123d63}.jobmatch-output p{white-space:pre-line}.case-evidence{font-size:.9rem;opacity:.78;border-left:3px solid #608aa8;padding-left:1rem}@media(max-width:800px){.jobmatch-layout{grid-template-columns:1fr}.jobmatch-section{padding:4rem 5vw}}

/* Design B 0.13 — refined jobmatch input */
.jobmatch-section .section-top h2{margin-bottom:22px}
.jobmatch-lead{font-size:clamp(19px,2vw,24px);line-height:1.5;color:#102f60;max-width:820px;margin:0 0 12px}
.jobmatch-description{max-width:820px;font-size:15px;line-height:1.75;margin-bottom:28px}
.jobmatch-layout{align-items:start;gap:26px;margin-top:26px}
.jobmatch-layout .jobmatch-form{display:flex;flex-direction:column;gap:0;background:white;border:1px solid #c8d7e9;border-radius:14px;padding:clamp(20px,3vw,32px);box-shadow:0 12px 35px #102f600a}
.jobmatch-field-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.jobmatch-field-heading label{font-size:18px;color:#102f60;margin:0}
.jobmatch-step{font-size:10px;font-weight:700;letter-spacing:1.5px;color:#6280a8}
.jobmatch-layout textarea{border:1px solid #b7c7dc;border-radius:9px;min-height:220px;line-height:1.6;font-size:15px;transition:border-color .15s,box-shadow .15s}
.jobmatch-layout textarea:focus{outline:0;border-color:#2d66a7;box-shadow:0 0 0 3px #dceafa}
.jobmatch-layout textarea::placeholder{color:#8291a7}
.jobmatch-meta{display:flex;justify-content:space-between;align-items:start;gap:12px;margin:9px 0 21px;color:#687a93;font-size:11px;line-height:1.5}
.jobmatch-meta #jobmatch-count{white-space:nowrap;font-variant-numeric:tabular-nums}
.jobmatch-submit{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:54px;padding:13px 20px;background:#102f60;color:white;border:0;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer;transition:background .15s,transform .15s}
.jobmatch-submit:hover:not(:disabled){background:#23518c;transform:translateY(-1px)}
.jobmatch-submit:disabled{opacity:.55;cursor:wait}
.jobmatch-submit span:last-child{font-size:23px;font-weight:400;line-height:1}
.jobmatch-privacy{font-size:11px;color:#718098;line-height:1.6;margin:13px 0 0}
.jobmatch-layout .jobmatch-output{background:#e9f0fa;border:1px solid #d1dff0;border-radius:14px;padding:clamp(20px,3vw,32px)}
.jobmatch-output h3{font-size:25px;margin:13px 0 15px}
.jobmatch-output #jobmatch-status{font-size:14px;line-height:1.7}
@media(max-width:800px){.jobmatch-layout{grid-template-columns:1fr}.jobmatch-field-heading{align-items:flex-start;flex-direction:column}.jobmatch-meta{flex-wrap:wrap}}

/* Design B 0.14 — Word/PDF document upload */
.jobmatch-upload{border:1px dashed #a6bbd5;border-radius:10px;background:#f5f8fc;padding:17px 18px;margin-bottom:16px}
.jobmatch-upload-label{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:#102f60;font-size:14px;font-weight:700;cursor:pointer;margin:0 0 9px}
.jobmatch-upload-label span{display:inline-grid;place-items:center;border-radius:6px;width:27px;height:27px;background:#e1ebf8;font-size:19px}
.jobmatch-upload-label small{font-size:11px;font-weight:400;color:#617792}
.jobmatch-upload input[type=file]{display:block;width:100%;font-size:12px;color:#506985;max-width:100%}
.jobmatch-upload input[type=file]::file-selector-button{border:1px solid #b3c8e0;background:white;border-radius:6px;padding:8px 11px;color:#163d73;margin-right:10px;cursor:pointer}
.jobmatch-upload p{font-size:11px;line-height:1.5;color:#647a95;margin:9px 0 0}
#jobmatch-file-status:not(:empty){font-weight:600;color:#1c5485}
.jobmatch-or{display:flex;align-items:center;gap:12px;color:#6b8099;font-size:11px;margin:0 0 16px;text-transform:uppercase;letter-spacing:1px}
.jobmatch-or:before,.jobmatch-or:after{content:'';height:1px;background:#d9e3ef;flex:1}

/* v0.15: distinct text and file input options */
.jobmatch-field-heading{margin-bottom:10px}
.jobmatch-field-heading label{display:block;font-size:16px;font-weight:700;line-height:1.4}
.jobmatch-or{display:flex;align-items:center;gap:15px;text-align:center;margin:5px 0 20px;color:#7b8aa1;font-size:11px;font-weight:800;letter-spacing:1.6px}
.jobmatch-or:before,.jobmatch-or:after{content:"";height:1px;background:#d5deeb;flex:1}
.jobmatch-upload{margin-bottom:20px}
.jobmatch-upload-label{display:flex;align-items:center;justify-content:center;gap:15px;min-height:86px;padding:17px 20px;border:1.5px dashed #8da9ca;border-radius:10px;background:#f5f9fe;color:#123963;cursor:pointer;text-align:left;transition:background .15s,border-color .15s}
.jobmatch-upload-label:hover{background:#eaf2fc;border-color:#2c65a5}
.jobmatch-upload-icon{font-size:28px;line-height:1}
.jobmatch-upload-copy{display:flex;flex-direction:column;gap:5px}
.jobmatch-upload-copy strong{font-size:15px;line-height:1.3}
.jobmatch-upload-copy small{font-size:12px;color:#637993}
.jobmatch-upload input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.jobmatch-upload input[type=file]:focus-visible+.jobmatch-upload-label{outline:3px solid #76a9e6}
.jobmatch-upload #jobmatch-file-help{font-size:11px;color:#718098;margin:8px 0 0;line-height:1.5}
.jobmatch-upload #jobmatch-file-status{font-size:12px;line-height:1.5;margin:8px 0 0;color:#28588b}
.jobmatch-meta{margin:8px 0 21px}

/* v0.16: upload control reset — prevent inherited span grid sizing */
.jobmatch-upload{padding:0;border:0;background:transparent;margin:0 0 22px}
.jobmatch-upload-label{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:14px;width:100%;min-height:102px;margin:0;padding:20px 22px;border:1.5px dashed #9bb6d5;border-radius:12px;background:#f5f9fe;text-align:left;cursor:pointer}
.jobmatch-upload-label .jobmatch-upload-icon{flex:0 0 42px;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;background:#e1ebf8;color:#1a4d89;font-size:26px;font-weight:400;line-height:1}
.jobmatch-upload-label .jobmatch-upload-copy{display:flex;flex:0 1 auto;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;width:auto;height:auto;min-width:0;border:0;border-radius:0;background:transparent;place-items:unset;text-align:left}
.jobmatch-upload-label .jobmatch-upload-copy strong{display:block;font-size:15px;line-height:1.4;color:#123963;overflow-wrap:break-word}
.jobmatch-upload-label .jobmatch-upload-copy small{display:block;font-size:12px;line-height:1.4;color:#647a95}
.jobmatch-upload #jobmatch-file-help{margin:9px 0 0;font-size:11px;line-height:1.5;color:#718098}
.jobmatch-upload #jobmatch-file-status:empty{display:none}
.jobmatch-upload:focus-within .jobmatch-upload-label{outline:3px solid #b2d3f5;outline-offset:2px}
@media(max-width:480px){.jobmatch-upload-label{justify-content:flex-start;padding:18px;min-height:90px}.jobmatch-upload-label .jobmatch-upload-copy strong{font-size:14px}}

/* v0.17: single left-aligned static character requirement */
.jobmatch-meta{display:block;text-align:left}

/* Header and chat entry points */
header { align-items: center; column-gap: 36px; }
header .brand { font-size: 19px; font-weight: 700; white-space: nowrap; flex-shrink: 0; }
header nav { align-items: center; flex-wrap: wrap; row-gap: 8px; }
header nav .jobmatch-nav {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  gap: 2px;
  padding: 8px 12px;
  border: 1px solid #e1edff;
  border-radius: 7px;
  background: #e1edff;
  color: #102f60;
  font-weight: 700;
  line-height: 1.25;
  white-space: nowrap;
  text-align: center;
  text-decoration: none;
}
header nav .jobmatch-nav:hover { background: #fff; color: #102f60; text-decoration: none; }
#nav-jobmatch-hint { font-size: 11px; font-weight: 400; }
[data-open-chat] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid #96b1d7;
  border-radius: 7px;
  background: #eaf1fb;
  color: #102f60;
  padding: 8px 12px;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  cursor: pointer;
}
[data-open-chat]:hover { background: #d2e5ff; color: #102f60; text-decoration: none; }
[data-open-chat]::before{content:"";display:inline-block;flex:0 0 16px;width:16px;height:16px;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linejoin%3D%22round%22%20d%3D%22M5%204h14a2%202%200%200%201%202%202v9a2%202%200%200%201-2%202h-8l-6%204v-4a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2Z%22/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linejoin%3D%22round%22%20d%3D%22M5%204h14a2%202%200%200%201%202%202v9a2%202%200%200%201-2%202h-8l-6%204v-4a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2Z%22/%3E%3C/svg%3E") center/contain no-repeat}
.context-question[data-open-chat] { justify-content: flex-start; }
@media (max-width: 760px) {
  header { flex-direction: column; gap: 12px; }
  header nav { justify-content: center; }
  header nav .jobmatch-nav { white-space: normal; }
}

.chat-launcher[data-open-chat] { background: #102f60; color: white; border: 2px solid white; border-radius: 30px; padding: 13px 21px; }
.chat-launcher[data-open-chat]:hover { background: #234f88; color: white; }
@media (max-width: 760px) { .chat-launcher[data-open-chat] { padding: 11px 16px; } }

.hero > div > .eyebrow { margin-top: 0; }

/* Align the first chat action and portrait along the hero's top edge. */
.hero { align-items: start; padding-top: 28px; }
.hero > .hero-aside { align-self: start; }

/* Shared layout and typography for link and button CTAs. */
:is(header nav .jobmatch-nav, .button, [data-open-chat], .jobmatch-submit) {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 10px 16px;
  border-radius: 7px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
}
header nav .jobmatch-nav { flex-direction: column; padding-block: 8px; }
#nav-jobmatch-hint { font-size: 11px; font-weight: 400; }
.jobmatch-submit { justify-content: space-between; }
@media (max-width: 760px) {
  .hero { padding-top: 24px; gap: 28px; }
}

/* Shared action colors, with a dark floating chat button. */
:is(header nav .jobmatch-nav, .button, [data-open-chat], .jobmatch-submit) {
  background: #eaf1fb;
  color: #102f60;
}
:is(header nav .jobmatch-nav, .button, [data-open-chat], .jobmatch-submit):hover:not(:disabled) {
  background: #d2e5ff;
  color: #102f60;
}
.chat-launcher[data-open-chat][aria-haspopup="dialog"] {
  background: #102f60;
  color: white;
}
.chat-launcher[data-open-chat][aria-haspopup="dialog"]:hover {
  background: #234f88;
  color: white;
}

.quote-pair > div { min-width: 0; display: flex; flex-direction: column; }
.quote-pair > div > blockquote { flex: 1; }
@media (min-width: 761px) {
  .quote-pair { align-items: stretch; row-gap: 0; }
  .quote-pair > div { display: grid; grid-row: span 4; grid-template-rows: subgrid; }
}

.katlov-gallery { margin: 1.5rem 0 2rem; max-width: 850px; }
.katlov-frame { position: relative; aspect-ratio: 4 / 3; background: #102d54; border-radius: 8px; overflow: hidden; }
.katlov-frame img { display: block; width: 100%; height: 100%; object-fit: contain; }
.katlov-frame img[hidden] { display: none; }
.katlov-gallery figcaption { margin-bottom: .45rem; text-align: left; }
.katlov-controls button { min-width: 44px; min-height: 44px; font: inherit; color: white; background: #102d54ed; border: 1px solid #ffffff80; border-radius: 6px; cursor: pointer; }

.case.case-delivery { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
.delivery-results { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; padding: 0; margin: 0; background: #e5edf8; border-radius: 8px; }
.delivery-results li { padding: clamp(1rem, 3vw, 2rem); }
.delivery-results li + li { border-left: 1px solid var(--line); }
.delivery-results svg { display: block; width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.delivery-results strong { display: block; font-size: clamp(1.1rem, 2.3vw, 1.8rem); line-height: 1.2; margin: .6rem 0; }
.delivery-results p { margin: .35rem 0 0; font-size: .9rem; }
.katlov-controls { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .4rem; }
.katlov-thumbnails { position: relative; display: flex; gap: .35rem; padding: .25rem; margin-top: .15rem; overflow-x: auto; }
.katlov-thumbnails button { padding: 2px; border: 2px solid transparent; border-radius: 5px; background: transparent; flex: none; cursor: pointer; }
.katlov-thumbnails button[aria-current="true"] { border-color: #1f497d; }
.katlov-thumbnails button:focus-visible { outline-offset: 0; }
.katlov-thumbnails img { display: block; width: 60px; height: 45px; border-radius: 2px; }
.contact .contact-links { display: flex; flex-direction: column; align-items: flex-start; gap: .65rem; font-size: 9pt; }
@media (max-width: 640px) {
  .delivery-results { grid-template-columns: 1fr; }
  .delivery-results li + li { border-left: 0; border-top: 1px solid var(--line); }
}

.katlov-thumbnails button:first-child { margin-inline-start: auto; }
.katlov-thumbnails button:last-child { margin-inline-end: auto; }

.katlov-thumbnails.more-left { mask-image: linear-gradient(to right, transparent, black 18px); }
.katlov-thumbnails.more-right { mask-image: linear-gradient(to left, transparent, black 18px); }
.katlov-thumbnails.more-left.more-right { mask-image: linear-gradient(to right, transparent, black 18px, black calc(100% - 18px), transparent); }

.collaboration-quote { grid-column: 1 / -1; margin: 0; padding: 1.15rem 1.4rem; background: #e4ecf8; border-radius: 6px; }
.collaboration-quote blockquote { margin: 0 0 .5rem; }
.collaboration-quote figcaption { font-size: .9rem; font-weight: 600; }
@media (min-width: 761px) {
  .collaboration-card { grid-column: 3; grid-row: 1; }
  .collaboration-quote { grid-row: 2; }
}

.hero .hero-links { flex-direction: column; align-items: flex-start; margin-top: .85rem; gap: .4rem; }

.quote-pair .case-testimonial,
.collaboration-quote .case-testimonial {
  font-size: 19px;
  line-height: 1.65;
  border-left: 3px solid #86a9d6;
  padding-left: 22px;
  margin: 0 0 15px;
}
.quote-pair .case-attribution,
.collaboration-quote .case-attribution {
  font-size: 12px;
  line-height: 1.7;
  font-weight: normal;
  margin: 0;
}

/* Two editorial articles: matching card heights and aligned links */
.article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin-top:32px}
.article-tile{background:#fff;border:1px solid #d5dfed;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 7px 25px #102f600d}
.article-image-link{display:block;aspect-ratio:16/9;overflow:hidden;background:#e8eef6}
.article-image-link img{width:100%;height:100%;display:block;object-fit:cover}
.article-tile-body{display:flex;flex-direction:column;flex:1;padding:25px 27px 27px}
.article-tile-body .article-kicker{font-size:12px;font-weight:700;letter-spacing:1.6px;color:#3269ad;margin:0 0 11px}
.article-tile-body h3{font-size:clamp(22px,2.3vw,29px);line-height:1.2;margin:0 0 12px;color:#102f60}
.article-tile-body>p:not(.article-kicker){font-size:16px;line-height:1.55;color:#53647b;margin:0 0 25px}
.article-tile-link{margin-top:auto;align-self:flex-start;font-size:16px;font-weight:700;color:#154a8e;text-decoration:none;border-bottom:2px solid transparent;padding-bottom:4px}
.article-tile-link:hover,.article-tile-link:focus-visible{border-bottom-color:currentColor}
.article-tile-link span{margin-left:8px;font-size:21px}
@media(max-width:720px){.article-grid{grid-template-columns:1fr}.article-tile-body{padding:22px}.article-tile-body h3{font-size:25px}}

/* v0.66: avoid isolated words in headings */
h1,h2,h3,.article-tile h3{hyphens:none;word-break:normal;overflow-wrap:normal;text-wrap:balance}

#jobmatch-result[hidden] + .jobmatch-next { display: none; }
.jobmatch-next { margin-top: 1rem; }
.chat-contact { margin: .75rem 0 0; font-size: .875rem; }

/* v0.73: clear CTA hierarchy and case/article separator */
.case-cta-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:25px}
.case-cta-actions .button{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
.case-cta-actions .context-question{margin:0;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 18px}
#artikler .article-grid{border-top:1px solid var(--line);padding-top:42px;margin-top:38px}
@media(max-width:480px){.case-cta-actions{align-items:stretch;flex-direction:column}.case-cta-actions .button,.case-cta-actions .context-question{width:100%;text-align:center}}
