/* Diplomythes: the approved logo's colors across every public template. */
:root{
 --paper:#fbfaf7;--ink:#002b26;--red:#ad3218;--line:#d7e2dc;--muted:#526b63;
 --light:#edf4ef;--white:#fff;--green:#17634c;--pop-orange:#ff4d24;
 --pop-lime:#e4efe8;--pop-lilac:#edf2ef;--pop-peach:#ffe2d6;--pop-blue:#e8f0f5;
 --pop-radius:16px;--pop-shadow:4px 4px 0 #002b26;--brand-accent:#ff4d24;
}
body{background:var(--paper);color:var(--ink)}
::selection{background:#ffd5c5;color:var(--ink)}
h1,h2,h3{font-weight:760;letter-spacing:-.045em}
h1 em,h2 em,h3 em{font-family:inherit;font-style:normal;font-weight:inherit;letter-spacing:inherit}
button,a,input,select,summary{touch-action:manipulation}
:focus-visible{outline:3px solid #ad3218;outline-offset:4px}
.eyebrow,.section-kicker{letter-spacing:0;font-weight:700}
.eyebrow:before{width:8px;height:13px;background:var(--brand-accent);transform:skew(-20deg);flex-shrink:0}
.text-link{font-weight:700}
button.text-link{background:transparent;border:0;border-bottom:1px solid currentColor;padding-inline:0}
.breadcrumbs{font-size:12px;color:var(--muted)}
.tag,.twelve-badge,.ranking-chips span{font-weight:600}

/* Shared navigation and controls. */
.topline{background:var(--ink);color:#e2eee7}
.topline .status-dot{background:var(--brand-accent)}
.header{background:var(--paper);border-bottom:0;box-shadow:0 1px 0 #002b2620}
.header-inner{height:86px}
.header nav a{font-weight:650}
.header nav a:hover{color:var(--red)}
.header nav a[aria-current]{text-decoration-color:var(--brand-accent)}
.header-cta,.mobile-menu,.button,.button.black{background:var(--brand-accent);color:var(--ink);border:1.5px solid var(--ink);border-radius:8px;box-shadow:3px 3px 0 var(--ink);font-weight:750}
.header-cta:hover,.mobile-menu:hover,.button:hover,.button.black:hover{background:#ff704e;color:var(--ink)}
.button.outline{background:var(--paper);border-color:var(--ink);color:var(--ink);box-shadow:none}
.button.outline:hover{background:var(--light)}
.results-nav{background:var(--ink);border-top:0;color:#fbfaf7}
.results-nav .container{min-height:46px}
.results-nav .container>span{color:#ffae96;font-weight:750}
.results-nav a{color:var(--paper);font-weight:600}
.results-nav a:hover{color:#ffae96}
.mobile-nav:not([hidden]){background:var(--paper);border-top:1px solid var(--line)}
.searchbox,.large-search,.home-compare-input{border-radius:10px}
.large-search{border:2px solid var(--ink);box-shadow:4px 4px 0 #002b26}
.large-search:focus-within,.searchbox:focus-within{outline:2px solid var(--red);outline-offset:3px}
.catalog-filters,.filter-toolbar,.ranking-controls,.master-ranking-controls,.detail-controls,.institution-local-filters{background:#edf4ef;border-color:#b9ccc1;border-radius:12px}
.segmented button,.result-mode-tabs button,.ranking-metric-switch button,.master-metric-switch button{border-color:#b9ccc1;border-radius:8px;font-weight:650}
.segmented button[aria-pressed=true],.result-mode-tabs button[aria-pressed=true],.ranking-metric-switch button[aria-pressed=true],.master-metric-switch button[aria-pressed=true]{background:var(--ink);color:var(--white);box-shadow:0 3px 0 var(--brand-accent);border-color:var(--ink)}
.search-suggestions,.picker-results,.home-compare-results{box-shadow:0 12px 30px #002b261a;border-color:#b9ccc1}

/* Home: strong headlines, real photographs, restrained surfaces. */
.home-intro{padding-top:52px}
.home-intro-grid{gap:56px}
.home-intro h1{font-size:clamp(46px,5.3vw,72px);font-weight:820;line-height:1.02;letter-spacing:-.06em}
.home-intro h1 em{color:var(--ink);text-decoration:underline;text-decoration-color:var(--brand-accent);text-decoration-thickness:5px;text-underline-offset:8px}
.home-intro .eyebrow{display:inline-flex;align-items:center;background:#ffe7dc;border:0;border-radius:6px;padding:8px 11px;font-size:11px;letter-spacing:0;font-weight:700}
.home-intro-lead{font-size:17px;line-height:1.75;color:#38584d}
.home-opening-photo{border-radius:16px;border:2px solid var(--ink);transform:rotate(1deg);box-shadow:6px 6px 0 var(--ink)}
.home-opening-photo img{aspect-ratio:1.23/1}
.home-photo-sticker{background:var(--brand-accent);border-radius:12px;border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);transform:rotate(-5deg);width:133px}
.home-photo-sticker strong{font-size:30px;font-weight:800;white-space:nowrap}
.home-photo-sticker span{font-weight:600}
.home-search-examples a{border-color:#ccd9d1;background:transparent;font-weight:550}
.home-search-examples a:hover{border-color:var(--ink);background:var(--light)}
.home-proof-strip{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:22px 0}
.home-proof-strip strong{font-size:23px;font-weight:800}
.home-result-nav a,.home-result-nav a+a{background:var(--white);border:1.5px solid var(--ink);border-top:5px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:12px}
.home-result-nav a:nth-child(2){background:#fff1e9;border-top-color:var(--brand-accent)}
.home-result-nav a:nth-child(3){background:#edf4ef}
.home-result-nav strong{font-size:23px;font-weight:750}
.home-result-nav .pop-icon{border-radius:10px;transform:none;box-shadow:none;background:var(--paper)}
.home-degree-level,.home-degree-level:nth-child(2){background:var(--white);border-color:#c7d6cd;border-top:4px solid var(--ink);border-radius:14px}
.home-degree-level:nth-child(2){border-top-color:var(--brand-accent)}
.home-degree-level h3{font-size:24px;font-weight:750}
.home-degree-level small{background:var(--light)}
.home-ranking-directory,.master-ranking-directory{background:#ffe7dc;border:1px solid #edc5b4;border-radius:14px}
.home-compare{background:#e7f0ea;border:1.5px solid var(--ink);border-radius:16px}
.home-compare-input{border-color:#a9c0b3}
.home-source{background:var(--ink);border-radius:16px;border-top:5px solid var(--brand-accent)}
.home-v6 .home-source h2 em{color:#ffae96}
.home-source .text-link{background:transparent;color:#ffb49e;border-bottom:1px solid currentColor}
.home-source .eyebrow,.home-source>div>p:not(.eyebrow),.home-source .home-source-note{color:#d7e6de}
.home-contrast-card{border-radius:16px}
.contrast-label{background:#e4f1e7;font-weight:750}
.contrast-weaker .contrast-label{background:#ffe2d6}
.contrast-metrics{background:#e8f2eb}
.contrast-weaker .contrast-metrics{background:#fff0e7}
.contrast-gap{background:#e4efe8;border-color:#abc5b3}
.ranking-panel{border-radius:14px;border-color:var(--ink)}
.rank-position{background:var(--light);font-weight:700}
.rank-row:first-child .rank-position{background:var(--ink);color:#fff}
.rank-value{font-variant-numeric:tabular-nums;font-weight:800}

/* Categories keep their established icon colors, inside a common card. */
.master-category-card{background:var(--white);border-color:#bbcec3;border-top:4px solid var(--category-solid,var(--brand-accent));box-shadow:2px 3px 0 #002b2626;border-radius:13px}
.master-category-card h3{font-weight:750}
.master-category-card>p{color:var(--muted)}
.master-category-card b{background:var(--ink);color:#fff}
.master-category-card:hover{background:var(--category-tint,var(--light));box-shadow:4px 5px 0 #002b2640}
.master-category-icon{box-shadow:2px 2px 0 var(--ink);border-radius:12px;transform:rotate(-3deg)}
.master-category-icon-inline{box-shadow:none;transform:none}
.master-category-hero{background:var(--white);border-color:#b8cec1;border-top:5px solid var(--category-solid,var(--brand-accent));border-radius:16px}
.salary-type-card{background:var(--white);border-top:4px solid var(--family-solid,var(--brand-accent));box-shadow:3px 3px 0 var(--ink);border-radius:14px}
.salary-type-card h3{font-weight:750}

/* Outcomes: the two main figures have distinct, consistent surfaces. */
.catalog-hero h1,.salary-hub-hero h1,.salary-ranking-hero h1,.master-category-hero h1,.equivalence-hero h1{font-weight:800}
.formation-hero h1,.institution-hero h1{font-weight:780;line-height:1.07}
.catalog-hero .eyebrow,.formation-hero .tag.red{background:#ffe5d8;border-color:#eac1ac}
.formation-card{background:var(--white);border-color:#c5d6cb;border-radius:14px}
.formation-card:hover{border-color:var(--ink);box-shadow:0 5px 16px #002b260a}
.formation-card h3{font-weight:750}
.formation-result-side{background:#edf4ef;border-radius:10px}
.card-results strong{font-weight:800}
.card-results>div:nth-child(2)>strong{color:var(--red)}
.institution-card,.institution-card:nth-child(3n+1),.institution-card:nth-child(3n+2),.institution-card:nth-child(3n){background:var(--white);border-color:#b9cec1;box-shadow:2px 3px 0 #002b2633;border-top:4px solid var(--ink)}
.institution-card h3{font-weight:750}
.institution-summary,.detail-ref,.formation-hero .detail-ref{background:#edf4ef;border-color:var(--ink);border-radius:14px;box-shadow:3px 3px 0 var(--ink)}
.institution-anchor-nav a:first-child,.formation-anchor-nav a:first-child{background:#ffe5d8;border-color:#e6bba7}
.institution-anchor-nav a:nth-child(2){background:#edf4ef}
.metric,.metric+.metric{border-radius:14px;border:1.5px solid var(--ink);background:var(--ink);color:var(--paper);box-shadow:3px 3px 0 #abc6b4}
.metric .metric-value{color:var(--white);font-weight:800;font-variant-numeric:tabular-nums}
.metric .metric-label,.metric .metric-info,.metric .metric-label button{color:#e3eee8}
.metric .metric-caption{color:#cadfd4}
.metric:nth-child(2){background:var(--brand-accent);color:var(--ink);box-shadow:3px 3px 0 var(--ink)}
.metric:nth-child(2) .metric-value,.metric:nth-child(2) .metric-label,.metric:nth-child(2) .metric-caption,.metric:nth-child(2) .metric-info,.metric:nth-child(2) .metric-label button{color:var(--ink)}
.metric:nth-child(3){background:var(--white);color:var(--ink);border:1px solid #bfd1c5;box-shadow:none}
.metric:nth-child(3) .metric-value,.metric:nth-child(3) .metric-label,.metric:nth-child(3) .metric-info,.metric:nth-child(3) .metric-label button{color:var(--ink)}
.metric:nth-child(3) .metric-caption{color:var(--muted)}
.quartile-median{background:#ffe2d6}
.timeline-result.is-current{background:#e4efe8;border-color:var(--ink);box-shadow:inset 0 3px var(--brand-accent)}
.peer-card{border-radius:14px}
.peer-card .section-kicker,.peer-card .text-link{color:#ffb49e}
.peer-card .peer-item small,.peer-card p{color:#d0e0d7}
.source-card,.pursuit-summary,.quartile-grid{border-color:#c4d5c9;border-radius:12px}
.notice,.note{background:#fff0e6;border-color:#e1b99f}

/* Ranking tables remain compact and readable. */
.salary-table-scroll,.table-wrap,.equivalence-table-scroll{border-color:#bed1c4;border-radius:12px}
.salary-ranking-table thead th,.data-table thead th,.equivalence-table thead th{background:var(--ink);color:#fff;font-weight:650}
.salary-ranking-table thead small,.data-table thead small,.equivalence-table thead small{color:#cde1d4}
.salary-ranking-table tbody tr:nth-child(even) th,.salary-ranking-table tbody tr:nth-child(even) td,.data-table tbody tr:nth-child(even) td,.equivalence-table tbody tr:nth-child(even)>*{background:#f3f7f3}
.salary-ranking-table tbody tr:hover th,.salary-ranking-table tbody tr:hover td,.data-table tbody tr:hover td{background:#fff0e7}
.salary-ranking-table .salary-amount strong{font-weight:800;font-variant-numeric:tabular-nums}
.ranking-proof,.ranking-coverage,.master-coverage{border-radius:12px;border-color:#c4d5c9}
.ranking-proof strong,.ranking-coverage strong,.master-coverage strong{font-weight:800}
.dm-rank-identity a:hover{color:var(--red)}

/* Long-form analysis, comparisons and editorial pages. */
.dm-analysis{border-top-color:var(--ink)}
.dm-analysis-period{background:#e4efe8;border-color:#a9c4b3;border-radius:8px}
.dm-analysis-toc{background:#edf4ef;border-color:var(--ink);border-radius:12px;box-shadow:3px 3px 0 var(--ink)}
.dm-analysis a:hover{color:var(--red)}
.dm-analysis-prose p{color:#27473c}
.dm-analysis-prose h2{font-weight:750}
.selected-formation,.comparison-matrix-head{background:#e5efe8;border-color:#bdd0c1}
.comparison-matrix{border-color:#bed1c4}
.comparison-matrix-row:nth-child(2){background:#edf4ef}
.comparison-matrix-row:nth-child(3){background:#fff0e7}
.editorial-featured{background:#edf4ef;border-radius:16px}
.myth-item:nth-child(2),.myth-item:nth-child(3){background:var(--white)}
.myth-item .index{background:#ffe2d6;border-radius:6px;font-weight:700}
.article-intro{border-left-color:var(--brand-accent);color:#38584d}
.article-body .note{background:#edf4ef}
.dm-post-card{border-color:#b8cfc0;border-radius:14px;box-shadow:3px 3px 0 #c5d9ca}
.equivalence-findings>div{background:#e5efe8;border-radius:12px}
.equivalence-findings>div:nth-child(2){background:#ffe2d6}
.equivalence-findings>div:nth-child(3){background:var(--white)}
.equivalence-tool{background:#edf4ef;border-radius:16px}
.equivalence-pge h3,.equivalence-pge p strong{color:#ffb49e}
.equivalence-match{border-color:#abc6b4}

/* Mon Master is part of the same identity; data and admissions semantics stay intact. */
body .dm-mm{border-top-color:var(--ink);color:var(--ink)}
body .dm-mm-stamp{background:var(--brand-accent);color:var(--ink);border-color:var(--ink);border-radius:12px;box-shadow:3px 3px 0 var(--ink);transform:rotate(-3deg)}
body .dm-mm-scope{background:#edf4ef;border-left-color:var(--brand-accent)}
body .dm-mm-switch button{color:var(--ink);border-color:var(--ink);border-radius:8px}
body .dm-mm-switch button[aria-pressed=true]{background:var(--ink);color:var(--white);box-shadow:0 3px 0 var(--brand-accent)}
body .dm-mm button:focus-visible,body .dm-mm input:focus-visible,body .dm-mm summary:focus-visible,body .dm-mm a:focus-visible{outline-color:var(--red)}
body .dm-mm-course{background:var(--white);border-color:#b9cec1;border-radius:12px}
body .dm-mm-mode{background:#edf4ef;color:var(--ink)}
body .dm-mm-metric{background:#edf4ef;border-color:#b4cbbc;border-radius:10px}
body .dm-mm-metric:nth-child(2){background:#edf4ef}
body .dm-mm-metric:nth-child(3){background:#ffe2d6}
body .dm-mm-metric:nth-child(4){background:#fff0e7}
body .dm-mm-metric>strong{font-weight:800;color:var(--ink)}
body .dm-mm-metric.violet{background:var(--ink);color:var(--paper);border-color:var(--ink)}
body .dm-mm-metric.violet>strong{color:var(--white)}
body .dm-mm-stages li{border-top-color:var(--brand-accent)}
body .dm-mm-stages li:before{color:var(--red)}
body .dm-mm-profiles meter{accent-color:#17634c}
body .dm-mm-profiles meter::-webkit-meter-optimum-value{background:#17634c}
body .dm-mm-badge{background:#edf4ef;border-color:#b4cbbc;color:var(--ink);border-radius:8px}
body .dm-mm-badge small{color:#3f6253!important}
body .dm-mm-badge:hover{background:#dcecdf}
body .dm-mm-institution-grid article{border-color:#b9cec1;background:var(--white)}

.footer{background:var(--ink);border-top:5px solid var(--brand-accent)}
.footer-tagline{color:#ffb49e;font-weight:600}
.footer-bottom,.footer-links{color:#d3e3da}
.footer-links a:hover,.footer-links button:hover{color:#ffb49e}
.preview-badge{color:#e3eee7;border-color:#688f7b}
dialog{border-radius:14px;border-color:var(--ink);box-shadow:8px 8px 0 #002b264d}
dialog::backdrop{background:#002b26b3}
.dialog-close{background:#ffe2d6}

@media(max-width:1100px){
 .home-intro-grid{gap:34px}.header-inner{height:78px}
 .home-intro h1{font-size:clamp(44px,5.3vw,62px)}
 .home-photo-sticker{width:116px}.home-photo-sticker strong{font-size:29px}
}
@media(max-width:760px){
 .header-inner{height:68px}.results-nav .container{gap:8px 18px;padding-block:10px}
 .results-nav .container>span{font-size:11px}.results-nav a{font-size:11px}
 .home-intro{padding-top:31px}.home-intro-grid{gap:25px}
 .home-intro h1{font-size:clamp(38px,9.6vw,60px);line-height:1.05}
 .home-intro h1 em{text-decoration-thickness:3px;text-underline-offset:6px}
 .home-intro .eyebrow{font-size:10px;padding:7px 9px;gap:7px}
 .home-intro .eyebrow:before{width:6px;height:11px}
 .home-intro-lead{font-size:16px}
 .home-opening-photo img{aspect-ratio:1.65/1}
 .home-photo-sticker{width:108px;min-height:88px;bottom:58px;left:0}
 .home-photo-sticker strong{font-size:27px}
 .home-result-nav strong{font-size:20px}.home-result-nav .pop-icon{top:26px}
 .home-proof-strip{padding:20px 0}.home-proof-strip strong{font-size:20px}
 .metric,.metric+.metric,.metric:nth-child(3){border-radius:12px}
 .master-category-card,.home-master-categories .master-category-card{border-radius:11px}
 .home-compare,.home-source{border-radius:14px}
 body .dm-mm-stamp{transform:none}
}
@media(max-width:380px){
 .home-intro .eyebrow{font-size:9px}.home-result-nav strong{font-size:18px}
 .home-intro h1{font-size:38px}
}
@media(prefers-reduced-motion:reduce){
 .button,.header-cta,.master-category-card,.salary-type-card{transition:none}
}

/* Home motto: retain a clear hierarchy for the longer approved wording. */
.home-intro h1.home-motto em{display:block;font-size:clamp(28px,3.2vw,43px);line-height:1.2;margin-top:12px;letter-spacing:-.045em;text-decoration-thickness:3px;text-underline-offset:6px}
@media(max-width:760px){.home-intro h1.home-motto em{font-size:clamp(27px,6.8vw,38px);margin-top:10px}}
