/* AI Tender — editorial procurement dossier system */
:root {
  --bg:#f2f0e8; --bg2:#e9e6dc; --bg-card:#fffdf6; --bg-card-h:#f5f2e9;
  --border:#c7ccc7; --border-h:#58717a; --text:#172d35; --text2:#3d565d;
  --text3:#566b70; --blue:#08677b; --green:#20694e; --red:#93412f;
  --amber:#d08d31; --purple:#455d76;
  --font:'IBM Plex Sans',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
}
html { scroll-behavior:smooth; scroll-padding-top:6rem; }
body { background:var(--bg)!important; color:var(--text)!important; background-image:linear-gradient(90deg,transparent calc(50% - 1px),rgba(23,45,53,.025) 50%,transparent calc(50% + 1px))!important; }
body::before { display:none!important; }
a { text-underline-offset:3px; }
::selection { background:#c2e8e5; color:#172d35; }
.nav { background:#162d35!important; border-bottom:3px solid #d08d31!important; backdrop-filter:none!important; }
.nav-inner { max-width:1240px!important; min-height:73px; padding:.8rem clamp(1.15rem,3vw,2.4rem)!important; gap:1.5rem; }
.nav-logo { color:#fffdf6!important; text-decoration:none!important; font:700 1rem var(--mono)!important; letter-spacing:-.04em; gap:0!important; white-space:nowrap; }
.nav-logo::before { content:'AT'; width:31px; height:31px; display:grid; place-items:center; margin-right:.7rem; background:#d08d31; color:#162d35; font:700 .75rem var(--mono); letter-spacing:-.07em; }
.nav-logo span { color:#a9dadd!important; }
.nav-links { gap:clamp(.7rem,1.5vw,1.45rem)!important; }
.nav-links a { color:#dce6e2!important; font:500 .76rem var(--mono)!important; letter-spacing:-.03em; white-space:nowrap; }
.nav-links a:hover,.nav-links a[aria-current="page"] { color:#fff!important; text-decoration:underline; text-decoration-color:#d08d31; text-underline-offset:9px; }
.nav-links .nav-cta { background:#d08d31!important; color:#172d35!important; border:1px solid #d08d31; border-radius:2px!important; padding:.7rem 1rem!important; font-weight:700!important; }
.nav-links .nav-cta:hover { background:#f5b454!important; transform:none; text-decoration:none; }
.nav-toggle { color:#fff!important; border:1px solid #789094!important; border-radius:2px!important; min-height:44px; min-width:64px; }
a:focus-visible,button:focus-visible,input:focus-visible,.faq-q:focus-visible { outline:3px solid #d08d31!important; outline-offset:3px!important; }
.hero { max-width:1240px!important; min-height:630px; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(350px,.9fr); align-items:center; gap:clamp(2rem,5vw,6rem); text-align:left!important; padding:8.4rem clamp(1.15rem,3vw,2.4rem) 5.5rem!important; }
.hero-copy { max-width:690px; }
.hero .tag,.page-kicker { display:inline-block!important; background:none!important; border:none!important; border-left:4px solid var(--red)!important; border-radius:0!important; padding:.1rem 0 .1rem .8rem!important; margin:0 0 1.5rem!important; color:var(--red)!important; text-transform:uppercase; font:700 .73rem var(--mono)!important; letter-spacing:.08em; }
.hero h1 { font-size:clamp(3rem,5.3vw,5.1rem)!important; line-height:1.07!important; letter-spacing:-.055em!important; font-family:var(--mono)!important; font-weight:600!important; margin:0 0 1.6rem!important; }
.hero h1 .highlight { background:none!important; -webkit-text-fill-color:initial!important; color:var(--blue)!important; }
.hero .sub { margin:0 0 2rem!important; color:var(--text2)!important; max-width:590px; font-size:clamp(1.05rem,1.5vw,1.26rem)!important; line-height:1.6!important; }
.hero-ctas { justify-content:flex-start!important; }
.btn,.btn-primary { border-radius:2px!important; box-shadow:none!important; font:700 .86rem var(--mono)!important; }
.btn { min-height:49px; padding:.8rem 1.25rem!important; }
.btn-primary,.cta-section .btn-primary,.cta-box .btn-primary { background:#0d6576!important; color:#fff!important; border:1px solid #0d6576!important; }
.btn-primary:hover,.cta-section .btn-primary:hover,.cta-box .btn-primary:hover { background:#084858!important; transform:translateY(-2px); }
.btn-secondary { background:transparent!important; color:var(--text)!important; border:1px solid #667e81!important; }
.btn-secondary:hover { background:#e2e9e5!important; }
.hero-document { position:relative; margin:1.4rem 12px 0 0; background:#fffdf6; border:1px solid #72898d; box-shadow:14px 14px 0 #d5d4c9,15px 15px 0 #62777c; transform:rotate(1deg); }
.hero-document::before { content:'ILLUSTRATIVE'; position:absolute; right:1rem; top:-.9rem; border:2px solid var(--red); background:#fffdf6; color:var(--red); padding:.22rem .6rem; transform:rotate(5deg); font:700 .66rem var(--mono); letter-spacing:.07em; }
.hero-document-head { padding:1.2rem 1.4rem; border-bottom:2px solid var(--text); display:flex; justify-content:space-between; gap:.5rem; font:700 .68rem var(--mono); letter-spacing:.06em; text-transform:uppercase; }
.hero-document h2 { padding:1.5rem 1.4rem 1.15rem; font:600 clamp(1.25rem,2vw,1.7rem) var(--mono)!important; line-height:1.2; }
.hero-document dl { margin:0 1.4rem 1.3rem; border-top:1px solid #b8c3c1; }
.hero-document dl div { display:grid; grid-template-columns:7rem 1fr; gap:.8rem; padding:.8rem 0; border-bottom:1px solid #b8c3c1; }
.hero-document dt { font:600 .68rem var(--mono); color:var(--blue); text-transform:uppercase; }
.hero-document dd { font-size:.82rem; color:var(--text2); }
.hero-document-foot { border-top:2px solid var(--text); display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1rem 1.4rem; font:700 .72rem var(--mono); }
.hero-document-foot span:last-child { color:var(--red); text-align:right; }
.dossier-wrap,.section { max-width:1240px!important; padding-left:clamp(1.15rem,3vw,2.4rem)!important; padding-right:clamp(1.15rem,3vw,2.4rem)!important; }
.dossier-wrap { padding-top:2rem!important; }
.section { padding-top:5rem!important; padding-bottom:5rem!important; }
.section + .section,.section + .dossier-wrap,.dossier-wrap + .section { border-top:1px solid #c8ceca; }
.section-label { color:var(--red)!important; font:700 .68rem var(--mono)!important; letter-spacing:.1em!important; margin-bottom:1rem!important; }
.section-label::before { content:'// '; }
.section-title { color:var(--text); font:600 clamp(1.9rem,3vw,3rem) var(--mono)!important; line-height:1.18!important; letter-spacing:-.045em!important; max-width:820px; }
.section-desc,.dossier-heading p { color:var(--text2)!important; font-size:1rem!important; max-width:710px!important; }
.dossier { background:#fffdf6!important; color:var(--text)!important; border:1px solid #698087!important; box-shadow:12px 12px 0 #d0d4ce!important; padding:clamp(1rem,3vw,2.6rem)!important; }
.dossier::before { background:#d08d31!important; color:var(--text)!important; }
.dossier-top { color:var(--text)!important; border-color:var(--text)!important; }
.dossier-flow { gap:0!important; grid-template-columns:repeat(4,minmax(0,1fr)); }
.dossier-flow li { background:transparent!important; border:0!important; border-top:4px solid #81979a!important; padding:1.3rem 1.1rem 1.4rem!important; min-height:185px; }
.dossier-flow li:not(:last-child) { border-right:1px solid #c7d0ca!important; }
.dossier-flow li:not(:last-child)::after { content:'→'!important; top:-1.2rem!important; right:-.5rem!important; left:auto!important; bottom:auto!important; background:#fffdf6; padding:0 .2rem; color:var(--red)!important; }
.dossier-flow .gate { border-top-color:var(--red)!important; background:#f9efe7!important; }
.dossier-flow .gate::before { color:var(--red)!important; }
.dossier-num { color:var(--blue)!important; }
.dossier-flow h3 { color:var(--text)!important; font:600 1.05rem var(--mono)!important; }
.dossier-flow p,.dossier figcaption,.dossier-fork { color:var(--text2)!important; }
.dossier-fork strong { color:var(--blue)!important; }
.dossier-cta a:not(.btn) { color:var(--blue)!important; }
.decision-lab { background:#e4e9e4; border-top:1px solid #b9c5c0; border-bottom:1px solid #b9c5c0; }
.decision-inner { max-width:1240px; margin:auto; display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(2rem,6vw,6rem); padding:5rem clamp(1.15rem,3vw,2.4rem); }
.decision-intro p { color:var(--text2); max-width:450px; margin-bottom:1rem; }
.decision-note { font:500 .78rem var(--mono); border-left:3px solid var(--red); padding:.4rem 0 .4rem 1rem; }
.decision-form { background:#fffdf6; border:1px solid #70878c; box-shadow:8px 8px 0 #c8d1c8; padding:1.6rem; }
.decision-form legend { font:700 .78rem var(--mono); text-transform:uppercase; letter-spacing:.08em; padding:0 .4rem; }
.decision-form fieldset { border:0; padding:0; }
.decision-check { display:grid; grid-template-columns:25px 1fr; align-items:start; gap:1rem; border-top:1px solid #bfcac5; padding:1rem 0; cursor:pointer; }
.decision-check input { width:22px; height:22px; margin-top:.15rem; accent-color:var(--blue); cursor:pointer; }
.decision-check strong { display:block; font:600 .88rem var(--mono); color:var(--text); margin-bottom:.3rem; }
.decision-check small { display:block; color:var(--text2); font-size:.79rem; line-height:1.5; }
.decision-result { background:#f2f1e9; border-left:4px solid var(--red); padding:1rem 1.1rem; margin-top:.4rem; }
.decision-result.ready { border-left-color:var(--green); }
.decision-result strong { display:block; font:700 .78rem var(--mono); margin-bottom:.3rem; }
.decision-result p { color:var(--text2); font-size:.82rem; }
.decision-reset { background:transparent; border:0; color:var(--blue); font:600 .72rem var(--mono); padding:.6rem 0; margin-top:.7rem; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.problem-grid,.features { grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:0!important; border-top:1px solid #b9c4be; border-left:1px solid #b9c4be; }
.pain-point,.feature { background:transparent!important; border:0!important; border-right:1px solid #b9c4be!important; border-bottom:1px solid #b9c4be!important; border-radius:0!important; padding:1.5rem!important; transform:none!important; }
.pain-point:hover,.feature:hover { background:#fffdf6!important; }
.pain-point .icon,.source .icon { background:none!important; width:auto!important; height:auto!important; border:0!important; padding:0!important; font:700 .9rem var(--mono)!important; color:var(--red); justify-content:flex-start!important; margin-bottom:1.3rem!important; }
.pain-point h3,.feature h3 { font:600 1rem var(--mono)!important; }
.pain-point p,.feature p { font-size:.9rem!important; line-height:1.6!important; color:var(--text2)!important; }
.steps { grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:0!important; border-top:2px solid var(--text); }
.step { padding:1.8rem 1.8rem 0 3.8rem!important; border-right:1px solid #bec8c1; min-height:175px; }
.step:last-child { border-right:0; }
.step .num { top:1.8rem!important; background:var(--text)!important; color:#fff!important; border:0!important; border-radius:2px!important; width:2rem!important; height:2rem!important; font:700 .8rem var(--mono)!important; }
.step h3 { font:600 1rem var(--mono)!important; }
.step p { color:var(--text2)!important; font-size:.9rem!important; }
.feature .tag { background:#dce9e5!important; color:var(--blue)!important; font:700 .65rem var(--mono)!important; border-radius:0!important; padding:.25rem .4rem!important; }
.sources { grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:0!important; border-top:1px solid #b9c4be; border-left:1px solid #b9c4be; }
.source { background:transparent!important; border:0!important; border-right:1px solid #b9c4be!important; border-bottom:1px solid #b9c4be!important; border-radius:0!important; text-align:left!important; padding:1.4rem!important; font:600 .9rem var(--mono)!important; }
.source:hover { background:#fffdf6!important; }
.source small { color:var(--text3)!important; font:500 .73rem var(--mono); }
.faq-list { max-width:900px!important; margin:0!important; border-top:2px solid var(--text); }
.faq-list .faq-item { background:transparent!important; border:0!important; border-bottom:1px solid #b9c4be!important; border-radius:0!important; margin:0!important; }
.faq-q { color:var(--text); font:600 .95rem var(--mono)!important; padding:1.2rem .2rem!important; }
.faq-q::after { color:var(--red)!important; }
.faq-a { color:var(--text2)!important; font-size:.9rem!important; padding:0 2.5rem 1.4rem .2rem!important; }
.cta-section { background:#172e36!important; color:#fff!important; padding:5rem 1.5rem!important; }
.cta-section h2 { color:#fff!important; font:600 clamp(1.9rem,3vw,3rem) var(--mono)!important; }
.cta-section p { color:#d8e4e1!important; }
.cta-section a:not(.btn) { color:#9bdbe0!important; }
.cta-section .btn-primary { background:#d08d31!important; color:var(--text)!important; border-color:#d08d31!important; }
.footer { background:#10262d!important; color:#c6d8d6!important; border-top:1px solid #738b8d!important; padding:3rem 1.5rem!important; }
.footer a { color:#a9dadd!important; }
.footer-links { flex-wrap:wrap; }
.page-header { max-width:1100px!important; text-align:left!important; padding:9rem clamp(1.15rem,3vw,2.4rem) 2.2rem!important; margin:0 auto!important; border-bottom:2px solid var(--text); }
.page-header h1 { font:600 clamp(2.4rem,5vw,4.2rem) var(--mono)!important; letter-spacing:-.055em!important; line-height:1.08!important; max-width:850px; }
.page-header p { color:var(--text2)!important; margin:0!important; max-width:650px!important; }
.breadcrumb,.article-meta { color:var(--text3)!important; font:600 .72rem var(--mono)!important; text-transform:uppercase; letter-spacing:.06em; }
.breadcrumb a,.article-wrap a,.content a { color:var(--blue)!important; }
.content,.section:not(#problem):not(#how):not(#features):not(#sources):not(#faq) { max-width:1100px!important; }
.content { padding:2rem clamp(1.15rem,3vw,2.4rem) 5rem!important; margin:0 auto; }
.content > h2 { max-width:760px; border-top:1px solid #b8c5be; padding-top:2rem; margin-top:2.5rem; color:var(--text); font:600 clamp(1.25rem,2.3vw,1.7rem) var(--mono)!important; }
.content > p { max-width:760px; color:var(--text2)!important; font-size:1rem!important; line-height:1.8!important; }
.cred-grid { max-width:900px; gap:0!important; border-top:1px solid #acbfb8; border-left:1px solid #acbfb8; margin:2.5rem 0!important; }
.cred-card { background:#fffdf6!important; border:0!important; border-right:1px solid #acbfb8!important; border-bottom:1px solid #acbfb8!important; border-radius:0!important; text-align:left!important; padding:1.2rem!important; }
.cred-card .val { color:var(--blue)!important; font:700 1rem var(--mono)!important; }
.cred-card .lbl { color:var(--text2)!important; }
.content .cta-box,.article-wrap .cta-box { background:#e3eae5!important; border:1px solid #9eb6aa!important; border-radius:0!important; box-shadow:8px 8px 0 #d2d7ca; text-align:left!important; max-width:760px; }
.cta-box h3 { color:var(--text); font:600 1.3rem var(--mono)!important; }
.cta-box p { color:var(--text2)!important; }
.section .faq-item { border-radius:0!important; background:#fffdf6!important; border:1px solid #b8c6be!important; padding:1.4rem 1.6rem!important; }
.section .faq-item h2 { font:600 1rem var(--mono)!important; color:var(--text); }
.section .faq-item p,.section .faq-item li { color:var(--text2)!important; }
.section .faq-item strong { color:var(--text)!important; }
.section .faq-item ul { color:var(--text2)!important; }
.blog-list { gap:0!important; border-top:2px solid var(--text); counter-reset:article; }
.blog-card { counter-increment:article; background:transparent!important; border:0!important; border-bottom:1px solid #aebcb7!important; border-radius:0!important; display:grid!important; grid-template-columns:4rem 1fr auto; gap:1.2rem; padding:1.5rem .5rem!important; transform:none!important; align-items:start; }
.blog-card::before { content:'0' counter(article); font:700 .75rem var(--mono); color:var(--red); padding-top:.25rem; }
.blog-card::after { content:'↗'; color:var(--blue); font:700 1.2rem var(--mono); }
.blog-card:hover { background:#fffdf6!important; }
.blog-card .meta,.blog-card h2,.blog-card p { grid-column:2; }
.blog-card .meta { color:var(--text3)!important; margin:0!important; }
.blog-card h2 { color:var(--text)!important; font:600 clamp(1.05rem,1.8vw,1.4rem) var(--mono)!important; margin:0!important; }
.blog-card p { color:var(--text2)!important; font-size:.9rem!important; }
.article-wrap { max-width:850px!important; padding:8rem clamp(1.15rem,3vw,2.4rem) 5rem!important; }
.article-wrap h1 { color:var(--text)!important; font:600 clamp(2.15rem,4vw,3.55rem) var(--mono)!important; line-height:1.15!important; letter-spacing:-.04em!important; }
.article-wrap h2 { color:var(--text)!important; font:600 clamp(1.2rem,2.1vw,1.55rem) var(--mono)!important; padding-top:1.6rem; border-top:1px solid #bac7c0; }
.article-wrap h3 { color:var(--text)!important; font:600 1.1rem var(--mono)!important; }
.article-wrap p,.article-wrap li { color:var(--text2)!important; font-size:1rem!important; line-height:1.84!important; }
.article-wrap strong { color:var(--text)!important; }
.article-wrap > p:first-of-type { background:#e4ebe6; border-left:4px solid var(--blue); padding:1.25rem 1.5rem; font-size:1.05rem!important; }
.article-wrap ol { padding-left:1.5rem; margin-bottom:1.5rem; }
.article-wrap li { padding-left:.2rem; }
.article-wrap .source-note { background:#e9e7dd; border:1px solid #c1c8bd; padding:1rem 1.3rem; font-size:.88rem!important; }
.back-link { color:var(--blue)!important; font:600 .76rem var(--mono)!important; }
.article-toc { border-top:2px solid var(--text); border-bottom:1px solid #b8c6be; padding:1.1rem 0 1.3rem; margin:1.6rem 0 2.2rem; }
.article-toc strong { display:block; font:700 .7rem var(--mono)!important; text-transform:uppercase; letter-spacing:.08em; margin-bottom:.65rem; }
.article-toc ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem 1.5rem; padding-left:1.3rem; margin:0; }
.article-toc li { font-size:.82rem!important; line-height:1.4!important; margin:0!important; }
.article-toc a { text-decoration:none; }
.article-toc a:hover { text-decoration:underline; }
.article-endnav { display:flex; justify-content:space-between; gap:1rem; border-top:1px solid #b8c6be; padding-top:1.5rem; margin-top:2rem; font:600 .8rem var(--mono); }
.article-endnav a { text-decoration:underline; }
@media (max-width:1050px) { .nav-toggle { display:block!important; margin-left:auto; } .nav-inner { flex-wrap:wrap; } .nav-links { display:none!important; flex-basis:100%; width:100%; padding:.8rem 0 1rem; flex-direction:column; align-items:stretch; gap:0!important; } .nav-links.is-open { display:flex!important; } .nav-links a { display:block; padding:.75rem .5rem!important; white-space:normal; border-top:1px solid #3d5960; } .nav-links .nav-cta { margin-top:.6rem; text-align:center; } }
@media (max-width:760px) { .hero { display:block; min-height:0; padding:7rem 1.15rem 3.5rem!important; } .hero h1 { font-size:clamp(2.5rem,9.5vw,4.2rem)!important; } .hero-document { max-width:520px; margin:3rem 10px 0 0; } .dossier-flow { display:block!important; } .dossier-flow li { min-height:0; padding:1.3rem .3rem 1.5rem!important; border-right:0!important; border-bottom:1px solid #c7d0ca!important; } .dossier-flow li:not(:last-child)::after { content:'↓'!important; top:auto!important; bottom:-1.2rem!important; right:auto!important; left:1rem!important; } .dossier-flow .gate { padding-left:1rem!important; } .decision-inner { display:block; padding:3.5rem 1.15rem; } .decision-intro { margin-bottom:2rem; } .problem-grid,.features,.sources { grid-template-columns:repeat(2,minmax(0,1fr))!important; } .steps { display:block!important; } .step { min-height:0; padding-bottom:1.7rem!important; border-right:0; border-bottom:1px solid #bac7c0; } .page-header { padding-top:7.3rem!important; } }
@media (max-width:520px) { .hero-document dl div { grid-template-columns:5.5rem 1fr; } .problem-grid,.features,.sources { grid-template-columns:1fr!important; } .dossier-top { font-size:.63rem!important; } .dossier { box-shadow:7px 7px 0 #d0d4ce!important; } .decision-form { padding:1.2rem; } .blog-card { grid-template-columns:2rem 1fr auto; gap:.5rem; } .article-toc ol { grid-template-columns:1fr; } .footer-links { gap:.9rem; } .article-endnav { flex-direction:column; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms!important; animation-duration:.01ms!important; } }
