:root{
  --acf-blue:#002575;
  --acf-yellow:#f5c625;
  --acf-teal:#149f91;
  --surface:#fff;
  --surface-soft:#eef3fb;
  --radius:18px;
  --radius-sm:12px;
  --shadow-soft:0 12px 36px rgba(16,45,98,.10);
  --shadow-hover:0 20px 48px rgba(16,45,98,.16);
}

.skip-link{position:fixed;left:16px;top:-80px;z-index:200;padding:11px 16px;background:var(--yellow);color:var(--deep);font-weight:900;border-radius:0 0 10px 10px;transition:.2s}.skip-link:focus{top:0}
.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.publication{text-align:left;text-decoration:none;line-height:1;min-width:0}
.publication strong{display:block;font:700 clamp(1.8rem,3vw,2.55rem)/.9 var(--serif);letter-spacing:-.055em;color:var(--deep);white-space:nowrap}
.publication strong i,.footer-publication strong i{color:var(--yellow);font-style:normal}
.publication span{display:block;margin-top:8px;color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.nav{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:850}
.nav a{position:relative;padding:10px 13px;text-decoration:none;border-radius:999px;transition:.2s}
.nav a:hover,.nav a:focus-visible,.nav a[aria-current="page"]{background:var(--deep);color:#fff;outline:none}
.menu-button{display:none;background:transparent;border:0;padding:8px;cursor:pointer;color:var(--deep)}
.menu-button span{display:block;width:23px;height:2px;margin:4px 0;background:currentColor;border-radius:99px;transition:.2s}
.menu-button b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

a,button,input{transition:border-color .2s,background-color .2s,color .2s,box-shadow .2s,transform .2s}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid rgba(245,198,37,.7);outline-offset:3px}
.read-button{box-shadow:0 8px 22px rgba(16,45,98,.18)}
.read-button:hover{transform:translateY(-2px);background:#071f50}
.section-head>a,.text-link{padding:8px 0;text-underline-offset:4px}
.story-card,.tool-card{border-radius:var(--radius-sm)}
.story-image,.tool-card-art,.lead-art,.article-visual,.tool-hero img{border-radius:var(--radius-sm)}
.story-card:hover{transform:translateY(-6px)}
.story-card:hover .story-image,.tool-card:hover{box-shadow:var(--shadow-hover)}
.story-card h3 a:hover,.tool-card h3 a:hover{color:var(--blue)}

.home-route{display:grid;grid-template-columns:repeat(3,1fr);margin-top:32px;border:1px solid var(--ink);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--shadow-soft)}
.home-route a{display:grid;grid-template-columns:48px 1fr;column-gap:14px;padding:30px 26px;text-decoration:none;border-right:1px solid var(--ink);transition:.25s}
.home-route a:last-child{border-right:0}
.home-route a:hover{background:var(--yellow);transform:none}
.home-route span{grid-row:1/4;color:var(--blue);font:700 2rem var(--serif)}
.home-route strong{font:700 1.55rem var(--serif)}
.home-route p{margin:5px 0 16px;color:var(--muted)}
.home-route b{font-size:.76rem;color:var(--blue)}

.section-block{padding-block:86px}
.section-head>a{font-weight:900}
.cases-band{background:var(--blue);color:#fff}
.cases-band .section-label,.cases-band .story-meta span:first-child{color:var(--yellow)}
.cases-band .story-card{color:var(--ink);background:#fff;padding:14px;border-radius:var(--radius)}
.cases-band .section-head>a{color:#fff}
.coming-soon{grid-column:1/-1;padding:55px;border:1px solid rgba(255,255,255,.4);border-radius:var(--radius);text-align:center}
.coming-soon strong{font:700 3rem var(--serif)}
.coming-soon p{max-width:600px;margin:10px auto 0;color:#d9e2f4}
.text-link{display:inline-block;margin-top:18px;font-weight:900}

.tool-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.tool-card{display:grid;grid-template-columns:190px 1fr;gap:25px;align-items:center;padding:22px;border:1px solid var(--ink);background:#fff;box-shadow:var(--shadow-soft)}
.tool-card:hover{transform:translateY(-4px)}
.tool-card-art{display:block;background:#edf3fc;overflow:hidden}
.tool-card-art img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:.35s}
.tool-card:hover .tool-card-art img{transform:scale(1.035)}
.tool-card h3{margin:8px 0;font:700 1.7rem/1.12 var(--serif)}
.tool-card h3 a{text-decoration:none}
.tool-card p{margin:0;color:var(--muted)}
.read-button.compact{margin-top:16px;padding:10px 15px;font-size:.8rem}
.listing-hero{background:linear-gradient(135deg,var(--deep),#274b8c);color:#fff}
.listing-hero .container{padding-block:78px}
.listing-hero .section-label{color:var(--yellow)}
.listing-hero h1{margin:0;font:700 clamp(3.8rem,8vw,7rem)/.9 var(--serif);letter-spacing:-.06em}
.listing-hero p{max-width:720px;margin:20px 0 0;font:italic 1.35rem/1.5 var(--serif);color:#e4eafa}
.listing-grid{align-items:start}
.type-case{background:var(--yellow)}
.type-tool{background:#e5f4f0}

.case-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:35px;border:1px solid var(--ink);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--shadow-soft)}
.case-summary article{padding:30px;border-right:1px solid var(--ink)}
.case-summary article:last-child{border-right:0}
.case-summary span{display:block;color:var(--blue);font-size:.7rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.case-summary p{margin:8px 0 0;font:1.15rem/1.5 var(--serif)}

.tool-hero{background:linear-gradient(160deg,#f7f9fd,#e7eef9);border-bottom:1px solid var(--ink)}
.tool-hero-grid{display:grid;grid-template-columns:1fr .9fr;gap:58px;align-items:center;padding-block:72px}
.tool-hero h1{margin:14px 0 23px;font:700 clamp(3.2rem,7vw,6.2rem)/.9 var(--serif);letter-spacing:-.06em}
.tool-hero p{font:italic 1.32rem/1.55 var(--serif);color:#303844}
.tool-hero img{width:100%;aspect-ratio:16/10;object-fit:cover;border:1px solid var(--ink);background:#fff;box-shadow:var(--shadow-hover)}
.tool-body{padding-block:58px}
.calculator{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-bottom:58px;border:1px solid var(--ink);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--shadow-hover)}
.calculator-form{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:40px}
.calculator-form label{font-size:.73rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:#273147}
.calculator-form label span{float:right;color:var(--muted);font-weight:700;text-transform:none;letter-spacing:0}
.calculator-form input{width:100%;margin-top:8px;padding:14px 13px;border:1px solid #aeb8c8;border-radius:10px;background:#fbfcff;font:700 1.02rem var(--sans)}
.calculator-form input:hover{border-color:var(--blue)}
.calculator-form input:focus{background:#fff;border-color:var(--blue);box-shadow:0 0 0 4px rgba(35,59,112,.1);outline:none}
.calculator-result{padding:40px;background:linear-gradient(145deg,var(--deep),#244b91);color:#fff}
.calculator-result>span{display:block;color:var(--yellow);font-size:.72rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.calculator-result>strong{display:block;margin:10px 0 25px;font:700 clamp(2.7rem,5vw,4.5rem)/1 var(--serif);word-break:break-word}
.calculator-result dl{margin:0}
.calculator-result dl div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-top:1px solid rgba(255,255,255,.2)}
.calculator-result dt{color:#d8e0ef}
.calculator-result dd{margin:0;font-weight:900;text-align:right}
.calculator-result p{margin:22px 0 0;color:#d8e0ef;font-size:.75rem}
.tool-copy{max-width:850px;margin:auto}
.empty-state{grid-column:1/-1;padding:45px;text-align:center;border:1px dashed var(--line);border-radius:var(--radius)}
.story-image .content-badge{z-index:2}
.article-visual img{max-height:680px;object-fit:cover}

.site-footer{background:#101827}
.footer-grid{grid-template-columns:1.3fr .7fr .7fr}
.footer-publication strong{display:block;color:#fff;font:700 clamp(2.2rem,5vw,4rem)/1 var(--serif);letter-spacing:-.05em}
.footer-publication p{max-width:430px}
.footer-label{display:block;margin-bottom:14px;color:var(--yellow);font-size:.68rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.site-footer .footer-grid img{display:none}

@media(max-width:980px){
  .header-inner{min-height:76px}
  .publication strong{font-size:2rem}
  .menu-button{display:block;margin-left:auto;z-index:42}
  .nav{position:fixed;left:16px;right:16px;top:82px;display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:14px;background:#fff;border:1px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow-hover);opacity:0;visibility:hidden;transform:translateY(-10px);transition:.2s;z-index:40}
  .nav.open{opacity:1;visibility:visible;transform:none}
  .nav a{display:block!important;padding:14px 16px;border-radius:10px}
  .home-route{grid-template-columns:1fr}
  .home-route a{border-right:0;border-bottom:1px solid var(--ink)}
  .home-route a:last-child{border-bottom:0}
  .tool-grid{grid-template-columns:1fr}
  .tool-hero-grid{grid-template-columns:1fr}
  .case-summary{grid-template-columns:1fr}
  .case-summary article{border-right:0;border-bottom:1px solid var(--ink)}
  .case-summary article:last-child{border-bottom:0}
  .calculator{grid-template-columns:1fr}
}

@media(max-width:620px){
  .header-inner{min-height:70px}
  .publication strong{font-size:1.72rem}
  .publication span{font-size:.58rem;letter-spacing:.1em}
  .nav{top:74px}
  .section-block{padding-block:55px}
  .home-route{margin-top:18px}
  .home-route a{padding:23px 20px}
  .tool-card{grid-template-columns:92px 1fr;gap:15px;padding:15px}
  .tool-card h3{font-size:1.3rem}
  .tool-card p{font-size:.86rem}
  .listing-hero .container{padding-block:50px}
  .listing-hero h1{font-size:3.75rem}
  .tool-hero-grid{padding-block:48px}
  .tool-hero h1{font-size:3.2rem}
  .calculator-form{grid-template-columns:1fr;padding:25px}
  .calculator-result{padding:25px}
  .calculator-result>strong{font-size:2.6rem}
  .footer-grid{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
