/* Impresa EDU, permanent site identity.
   Adapted from the supplied impresa-welcome-page public design.
   Keeps all existing educational content, URLs and interactive scripts. */
:root {
  --navy:#17324d; --navy-dark:#091722; --navy-mid:#10273c;
  --cream:#f4f0e8; --paper:#f8f5ef; --teal:#3c7d7a;
  --sage:#a7b8a2; --brick:#9b4038; --blush:#e9cdbc;
  --muted:#4f6269; --line:#d4d3c9;
  --ink:var(--navy); --sub:var(--muted); --burg:var(--navy);
  --burg-deep:var(--navy-dark); --red:var(--brick);
  --ivory:var(--cream); --border:var(--line); --pale:#eeeae1;
  --shadow:0 12px 30px rgba(9,23,34,.05);
}
html {scroll-padding-top:90px;}
body {font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.7;background:var(--cream);color:var(--navy);-webkit-font-smoothing:antialiased;}
a:focus-visible,button:focus-visible,input:focus-visible {outline:3px solid #86bcb7;outline-offset:3px;}
h1,h2,h3 {font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.042em;}
.shell {width:min(1210px,88%);}
/* The header matches the main site's dark Concept03 navigation. */
.topline {display:none;}
.site-header {position:sticky;top:0;z-index:100;background:rgba(9,23,34,.97);border-bottom:1px solid rgba(244,240,232,.15);backdrop-filter:blur(18px);height:76px;color:var(--cream);}
.site-header .header-inner {height:76px;width:min(1440px,calc(100% - 52px));display:flex;align-items:center;justify-content:space-between;gap:20px;}
.site-header .brand {display:inline-flex;align-items:center;gap:11px;color:var(--cream);flex:none;}
.impresa-brand-icon {width:30px;height:30px;fill:var(--cream);flex:none;display:block;}
.impresa-brand-icon .accent {fill:#70aaa6;}
.brand-text {display:flex;flex-direction:column;}
.brand-name {font:750 16px/1.1 Arial,Helvetica,sans-serif;letter-spacing:.18em;}
.brand-caption {font:400 7.4px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.12em;color:#aebbbd;text-transform:uppercase;margin-top:4px;}
.edu-brand-badge {margin-left:9px;padding:5px 7px;border:1px solid rgba(167,184,162,.58);font:700 9px/1.1 Arial,sans-serif;letter-spacing:.16em;color:#e2eee1;}
.site-header nav {display:flex;align-items:center;gap:2px;}
.site-header nav>a {position:relative;padding:13px 13px;color:#c6cdd0;font:600 11.5px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.045em;white-space:nowrap;text-decoration:none;transition:color .2s;}
.site-header nav>a:not(.nav-app):hover,.site-header nav>a.active {color:var(--cream);}
.site-header nav>a.active::after {content:"";position:absolute;height:2px;left:13px;right:13px;bottom:4px;background:#70aaa6;}
.site-header nav>a.nav-app {display:inline-flex;align-items:center;gap:9px;margin-left:12px;padding:12px 16px;border:1px solid #3c7d7a;background:var(--teal);color:white;border-radius:0;font-size:10px;text-transform:uppercase;font-weight:700;letter-spacing:.08em;}
.site-header nav>a.nav-app:hover {background:#326b69;color:#fff;}
.site-header .menu-toggle {display:none;margin-left:auto;width:42px;height:42px;border:0;background:transparent;padding:8px;flex-direction:column;justify-content:center;gap:7px;cursor:pointer;}
.site-header .menu-toggle span {height:1px;width:24px;background:var(--cream);}
/* Reference photo from the supplied public Impresa site, with its actual navy overlay. */
.home-hero {position:relative;isolation:isolate;overflow:hidden;color:var(--cream);background:#10273c url('/assets/impresa-reference-1.webp') center 45% / cover no-repeat;}
.home-hero::before {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#10273cf6 0%,#10273ce5 32%,#10273cab 69%,#10273cc8 100%),linear-gradient(0deg,#10273cbb 0%,transparent 28%);}
.home-hero .hero-grid {width:min(1280px,88%);grid-template-columns:minmax(0,1.1fr) minmax(360px,.77fr);gap:6%;padding:92px 0 82px;min-height:700px;align-items:center;position:relative;z-index:1;}
.home-hero .hero-copy {max-width:700px;}
.home-hero .eyebrow {display:flex;align-items:center;gap:12px;color:#d7e4d8;font:700 10px/1.6 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;}
.home-hero .eyebrow::before {content:"";display:block;flex:0 0 29px;height:2px;background:#c97c70;}
.home-hero .hero-copy h1 {font:400 clamp(48px,4.95vw,74px)/1.04 Georgia,'Times New Roman',serif;letter-spacing:-.045em;margin:30px 0 27px;}
.home-hero .hero-copy h1 em {color:var(--blush);font-style:italic;}
.home-hero .hero-copy>p.hero-lead {font-size:19px;line-height:1.55;color:var(--cream);margin:0 0 9px;max-width:575px;}
.home-hero .hero-copy>p.hero-detail {font-size:14px;line-height:1.8;color:#e3e6e2;margin:0 0 24px;max-width:590px;}
.home-hero .hero-search {padding:0;background:var(--cream);border:1px solid rgba(244,240,232,.52);border-radius:0;box-shadow:none;max-width:580px;height:53px;}
.home-hero .hero-search input {background:transparent;padding:12px 16px;min-height:51px;font:400 13px/1.4 Arial,sans-serif;outline-offset:-4px;color:var(--navy);}
.home-hero .hero-search input::placeholder {color:#657177;}
.home-hero .hero-search button {border:0;border-left:1px solid #92423b;background:var(--brick);color:white;min-height:51px;padding:13px 20px;font:700 10px/1.4 Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;border-radius:0;}
.home-hero .hero-search button:hover {background:#7d312b;}
.home-hero .hero-search button span {padding-left:8px;}
.home-hero .hero-tags {display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:17px;color:#d9ded9;font-size:11px;line-height:1.5;}
.home-hero .hero-tags span {font-weight:700;color:#dbe6e0;}
.home-hero .hero-tags a {color:var(--cream);font-size:11px;text-decoration:none;border-bottom:1px solid #ffffff80;padding-bottom:2px;}
.home-hero .hero-tags a:hover {color:var(--blush);border-color:var(--blush);}
.home-hero .hero-copy>p.hero-footnote {margin:36px 0 0;color:#d6d9d3;font:600 9px/1.6 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;}
.home-hero .hero-visual {width:100%;max-width:470px;justify-self:end;min-height:auto;padding:32px 36px 22px;border:1px solid rgba(244,240,232,.38);border-radius:0;background:rgba(17,42,66,.92);color:var(--cream);box-shadow:none;backdrop-filter:blur(8px);overflow:visible;}
.hero-visual .visual-caption {font:700 10px/1.6 Arial,sans-serif;color:var(--sage);letter-spacing:.15em;margin:0 0 20px;display:block;}
.hero-visual .method-title {font:400 clamp(30px,2.65vw,40px)/1.13 Georgia,serif;letter-spacing:-.042em;margin:0 0 14px;}
.hero-visual .method-title em {color:var(--blush);font-style:italic;}
.hero-visual>p.method-intro {color:#d1dce0;font:400 13px/1.7 Arial,sans-serif;margin:0 0 20px;}
.hero-visual .method-list {margin:0;position:static;}
.hero-visual .method-list>div {display:grid;grid-template-columns:40px 1fr;column-gap:18px;row-gap:2px;align-items:start;border-top:1px solid #f4f0e82c;padding:14px 0 13px;margin:0;}
.hero-visual .method-list>div>span {grid-row:1 / span 2;font:400 29px/1 Georgia,serif;color:#dab7a9;}
.hero-visual .method-list strong {font:400 20px/1.14 Georgia,serif;letter-spacing:-.015em;color:var(--cream);}
.hero-visual .method-list small {font:400 12px/1.5 Arial,sans-serif;color:#cbd7de;margin:0;}
.home-hero .hero-bottom {position:relative;z-index:1;width:min(1280px,88%);border-top:1px solid #ffffff55;padding:16px 0 19px;background:none;color:#deded7;font:650 9px/1.5 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;}
.hero-bottom .sep {color:#d7ad9f;}
/* The original site uses spacious, cream editorial content sections. */
.pad-section {padding:100px 0 106px;}
.pad-section.pale {background:#edeae2;}
.split-head,.section-heading {margin-bottom:40px;}
.eyebrow,.eyebrow.red {font:700 10px/1.6 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--brick);}
.split-head h2,.section-heading h2,.start-cta h2,.case-profile h2,.lab-explainer h2 {font:400 clamp(40px,4.4vw,63px)/1.08 Georgia,serif;letter-spacing:-.045em;margin-top:14px;}
.split-head>p,.section-heading p,.start-cta p {font-size:15px;line-height:1.78;color:var(--muted);}
.path-grid {gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.path-card,.path-card.light-path,.path-card.dark-path {min-height:300px;padding:39px 38px;background:transparent;border:0;border-radius:0;color:var(--navy);}
.path-card:first-child {border-right:1px solid var(--line);}
.path-card:hover,.resource-card:hover {transform:none;}
.path-card .path-number,.path-card.dark-path .path-number {color:var(--brick);font:700 10px/1.5 Arial,sans-serif;letter-spacing:.16em;}
.path-card .path-icon {color:var(--teal);font-size:28px;}
.path-card h3 {font:400 32px/1.14 Georgia,serif;letter-spacing:-.035em;margin-top:39px;}
.path-card p,.path-card.dark-path p {color:var(--muted);font:400 14px/1.8 Arial,sans-serif;}
.path-card .path-link,.path-card.dark-path .path-link {font:700 11px/1.4 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--brick);}
.text-link,.small-link,.cta-links>a:hover {color:var(--brick);}
.card-grid {gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);}
.resource-card {min-height:210px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:27px 27px 29px;box-shadow:none;}
.resource-card:hover {background:rgba(255,255,255,.46);box-shadow:none;border-color:var(--line);}
.resource-top {color:var(--brick);font:700 10px/1.4 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;}
.resource-card h3 {font:400 26px/1.2 Georgia,serif;letter-spacing:-.03em;color:var(--navy);}
.resource-card p {color:var(--muted);font:400 13px/1.8 Arial,sans-serif;}
/* Supplied second Impresa image, with the same editorial photo treatment. */
.case-banner {position:relative;isolation:isolate;color:var(--cream);background:var(--navy-mid) url('/assets/impresa-reference-2.webp') center 44% / cover no-repeat;padding:87px 0;}
.case-banner::before {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#10273cf5 0%,#10273cde 43%,#10273c82 100%);}
.case-banner h2 {font:400 clamp(41px,4.6vw,66px)/1.08 Georgia,serif;letter-spacing:-.042em;}
.case-banner p {color:#ece8e3;font:400 15px/1.8 Arial,sans-serif;}
.case-split {gap:7%;}
.case-mini {background:rgba(248,245,239,.97);border:1px solid var(--line);transform:none;box-shadow:none;color:var(--navy);}
.mini-head {color:var(--navy);}
.mini-head span {color:var(--brick);}
.mini-stat strong,.mini-total strong {color:var(--navy);}
.mini-bars div {background:#a7b8a2;}
.mini-bars div:nth-child(2) {background:#3c7d7a;}
.mini-bars div:nth-child(3) {background:#9b4038;}
.button-ivory,.button-red,.button-outline {border-radius:0;text-transform:uppercase;letter-spacing:.08em;font:700 10px/1.4 Arial,sans-serif;padding:15px 20px;}
.button-ivory {background:var(--cream);color:var(--navy);}
.button-red {background:var(--brick);color:white;}
.button-red:hover {background:#7d312b;}
.button-outline {border-color:var(--navy);color:var(--navy);}
.start-cta {gap:10%;}
.cta-links>a {border-color:var(--line);}
/* Editorial interior pages: preserve workflow, article and glossary layouts. */
.inner-hero,.article-heading {background:var(--paper);border-color:var(--line);padding-top:35px;padding-bottom:66px;}
.article-heading .breadcrumbs,.breadcrumbs {margin-bottom:43px;}
.breadcrumbs {color:#718087;}
.breadcrumbs a {color:var(--brick);}
.section-intro h1,.article-heading h1 {font:400 clamp(44px,5vw,69px)/1.06 Georgia,serif;letter-spacing:-.045em;color:var(--navy);margin:16px 0 21px;}
.section-intro p,.article-heading p {color:var(--muted);font:400 16px/1.8 Arial,sans-serif;max-width:740px;}
.article-label {color:var(--brick);}
.stat-strip strong {color:var(--navy);}
.stat-strip span {border-color:var(--line);}
.article-section {background:var(--cream);}
.article-body>p,.steps p,.aside-box p,.article-callout p {color:var(--muted);}
.article-body h2 {color:var(--navy);}
.step-index,.term-row>span:last-child,.aside-box a {color:var(--brick);}
.article-callout {background:#eae7df;border-left-color:var(--brick);}
.article-callout.muted,.next-guide,.aside-tip {background:#eeeae2;}
.badge {color:var(--brick);}
.definition-card {border:1px solid var(--line);border-left:4px solid var(--teal);background:#fdfbf7;border-radius:0;}
.definition-card p {color:var(--navy);}
.example {background:#e4ebe5;border-left-color:var(--teal);}
.example span {color:var(--teal);}
.aside-box {background:var(--paper);border-color:var(--line);}
.library-toolbar,.lab-controls,.lab-results {background:var(--paper);border-color:var(--line);border-radius:0;}
.filter-row button,.search-tabs button {border-radius:0;border-color:var(--line);background:#eeeae2;color:var(--navy);}
.filter-row button.selected,.search-tabs button.selected {background:var(--navy);color:var(--cream);border-color:var(--navy);}
.library-toolbar input,.search-form input {border-radius:0;background:#fffdfa;border-color:var(--line);}
.term-row,.search-result {border-color:var(--line);background:rgba(248,245,239,.65);}
.term-row:hover,.search-result:hover {background:white;border-color:var(--teal);}
.term-row small,.search-result small {color:var(--brick);}
.lab-results {background:#eae7df;}
.lab-metrics>div {background:var(--paper);}
.lab-metrics strong,.control-group output {color:var(--navy);}
.control-group input {accent-color:var(--teal);}
.lab-comment {color:var(--muted);}
.bar-cost,.legend-cost {background:var(--navy);}
.bar-opex,.legend-opex {background:#a7b8a2;}
.bar-profit,.legend-profit {background:var(--teal);}
.search-form button {background:var(--brick);}
.search-form button:hover {background:#7d312b;}
.lab-flow a {background:var(--paper);color:var(--navy);}
.lab-flow a>span {color:var(--brick);}
.lab-disclaimer,.empty,.empty-search {background:#eae7df;color:var(--muted);}
/* Main-site neutral footer with full EDU site navigation retained. */
.site-footer {background:#eae8df;border-top:1px solid var(--line);color:var(--navy);padding:53px 0 22px;}
.footer-name {font-size:16px;letter-spacing:.18em;color:var(--navy);}
.footer-name span {font-size:10px;color:var(--brick);}
.site-footer p {color:var(--muted);}
.site-footer strong {color:var(--navy);font:700 10px/1.5 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;}
.site-footer a:not(.footer-name) {color:var(--muted);}
.site-footer a:hover {color:var(--brick)!important;}
.footer-bottom {border-color:var(--line);color:var(--muted);}
/* Responsive rules intentionally align with the supplied primary site. */
@media (max-width:1150px) {
  .home-hero .hero-grid {grid-template-columns:minmax(0,1fr) minmax(320px,.75fr);gap:4%;}
  .home-hero .hero-copy h1 {font-size:clamp(46px,5.6vw,69px);}
  .site-header nav>a {padding-inline:9px;}
  .site-header nav>a.nav-app {margin-left:4px;}
}
@media (max-width:990px) {
  .site-header,.site-header .header-inner {height:68px;}
  .site-header .header-inner {width:calc(100% - 36px);}
  html {scroll-padding-top:80px;}
  .site-header .menu-toggle {display:flex;}
  .site-header nav {display:none;position:absolute;left:0;right:0;top:100%;padding:16px 26px 26px;background:var(--navy-dark);border-bottom:1px solid #ffffff25;flex-direction:column;align-items:stretch;box-shadow:0 18px 35px #0004;gap:0;}
  .site-header nav.open {display:flex;}
  .site-header nav>a {display:block;padding:14px 8px;border-bottom:1px solid #ffffff25;color:#c6cdd0;}
  .site-header nav>a.active::after {left:8px;right:auto;width:28px;bottom:4px;}
  .site-header nav>a.nav-app {display:inline-flex;align-self:flex-start;margin:14px 0 0;padding:14px 20px;border-color:var(--teal);}
  .home-hero .hero-grid {grid-template-columns:1fr;gap:0;padding:85px 0 49px;min-height:0;}
  .home-hero .hero-copy h1 {max-width:800px;font-size:clamp(49px,7.7vw,74px);}
  .home-hero .hero-visual {max-width:680px;justify-self:start;margin-top:42px;}
  .home-hero .hero-bottom {flex-direction:row;}
  .pad-section {padding:72px 0 78px;}
}
@media (max-width:690px) {
  .home-hero {background-position:58% center;}
  .home-hero .hero-grid {padding:65px 0 42px;}
  .home-hero .hero-copy h1 {font-size:clamp(41px,10vw,60px);line-height:1.06;margin:23px 0 22px;}
  .home-hero .hero-copy>p.hero-lead {font-size:17px;}
  .home-hero .hero-copy>p.hero-detail {font-size:14px;}
  .home-hero .hero-search input {font-size:12px;}
  .home-hero .hero-search button {padding-inline:13px;}
  .home-hero .hero-visual {padding:26px 24px 19px;margin-top:34px;}
  .home-hero .hero-bottom {font-size:8px;gap:11px;flex-direction:column;}
  .pad-section {padding:62px 0;}
  .path-grid {grid-template-columns:1fr;}
  .path-card:first-child {border-right:0;border-bottom:1px solid var(--line);}
  .path-card {min-height:260px;}
  .path-card h3 {margin-top:26px;}
  .resource-card {min-height:175px;}
  .split-head h2,.section-heading h2,.start-cta h2 {font-size:clamp(38px,9vw,53px);}
  .case-banner {padding:65px 0;}
  .case-banner h2 {font-size:clamp(39px,9vw,55px);}
  .case-mini {max-width:440px;}
  .article-heading,.inner-hero {padding-top:28px;padding-bottom:43px;}
  .section-intro h1,.article-heading h1 {font-size:clamp(38px,9vw,57px);}
  .site-footer {padding:43px 0 20px;}
}
@media (prefers-reduced-motion:reduce) {html {scroll-behavior:auto;}* {transition:none!important;}}
