:root { --ink:#111211; --graphite:#242521; --paper:#f5f3ee; --white:#fffefa; --amber:#f2ac17; --line:rgba(17,18,17,.16); --muted:#73736d; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Inter,Arial,sans-serif; }
a { color:inherit; }
.skip-link { position:absolute; left:-999px; top:10px; z-index:100; padding:10px 14px; background:var(--white); color:var(--ink); }
.skip-link:focus { left:10px; }
.document-header { min-height:77px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:16px clamp(24px,5vw,78px); border-bottom:1px solid var(--line); background:var(--paper); }
.document-brand { display:inline-flex; align-items:center; gap:10px; text-decoration:none; line-height:1; }
.document-brand img { width:36px; height:36px; object-fit:contain; }
.document-brand span { display:grid; gap:4px; }
.document-brand strong, .cover-brand { font-family:"Barlow Condensed",Impact,sans-serif; font-size:25px; letter-spacing:.025em; font-weight:700; }
.document-brand small { font-size:7px; font-weight:700; letter-spacing:.12em; }
.quiet-link, .text-link { text-transform:uppercase; letter-spacing:.1em; font-size:10px; font-weight:700; text-decoration:none; }
.quiet-link:hover, .text-link:hover { color:#986900; }
.library-hero { padding:clamp(64px,12vw,152px) clamp(24px,13vw,210px) clamp(42px,8vw,100px); background:var(--ink); color:var(--white); }
.eyebrow, .section-label { margin:0 0 18px; color:var(--amber); font-size:10px; font-weight:700; letter-spacing:.16em; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:"Barlow Condensed",Impact,sans-serif; text-transform:uppercase; font-weight:600; line-height:.94; letter-spacing:.01em; }
h1 { max-width:820px; margin-bottom:30px; font-size:clamp(49px,8.6vw,128px); }
h1 em,h2 em { color:var(--amber); font-style:normal; }
.library-lede { max-width:650px; margin:0; color:#e0ddd4; font-size:clamp(15px,1.55vw,21px); line-height:1.7; }
.library-policy { margin:35px 0 0; color:#aaa69e; font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.document-list { padding:clamp(56px,9vw,124px) clamp(24px,13vw,210px); }
.section-label { color:var(--muted); }
.document-catalog { border-top:1px solid var(--ink); }
.document-entry { min-height:138px; display:grid; grid-template-columns:80px 1fr auto; align-items:center; gap:22px; padding:25px 0; border-bottom:1px solid var(--line); text-decoration:none; }
.document-entry:hover { color:#7b5700; }
.document-number { color:var(--muted); font:600 17px/1 "Barlow Condensed",Impact,sans-serif; }
.document-entry strong { display:block; font:600 clamp(30px,3.6vw,54px)/.94 "Barlow Condensed",Impact,sans-serif; text-transform:uppercase; letter-spacing:.01em; }
.document-meta { display:block; margin-bottom:10px; color:#986900; font-size:9px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.document-entry small { display:block; max-width:520px; margin-top:9px; color:var(--muted); font-size:13px; line-height:1.55; }
.document-action { display:inline-flex; align-items:center; gap:8px; text-transform:uppercase; letter-spacing:.1em; font-size:10px; font-weight:700; }
.document-action b { color:var(--amber); font-size:16px; }
.library-note { display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,.7fr); gap:40px 80px; padding:clamp(56px,9vw,124px) clamp(24px,13vw,210px); background:var(--graphite); color:var(--white); }
.library-note .eyebrow { grid-column:1/-1; margin-bottom:-16px; }
.library-note h2,.presentation-overview h2,.section-intro h2,.workflow-heading h2,.presentation-markets h2,.presentation-process h2,.presentation-contact h2 { margin-bottom:0; font-size:clamp(45px,5.5vw,85px); }
.library-note p:not(.eyebrow) { margin:2px 0 26px; color:#d8d5ce; line-height:1.7; font-size:15px; }
.button { display:inline-flex; align-items:center; gap:14px; padding:16px 19px; border:1px solid var(--amber); background:var(--amber); color:#19160e; font-size:10px; font-weight:700; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; }
.button:hover { background:#f8bd44; }
.document-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:27px clamp(24px,5vw,78px); background:#171815; color:var(--white); border-top:1px solid rgba(255,255,255,.15); }
.document-footer .document-brand { color:var(--white); }
.footer-line { color:#cfcac0; font-size:11px; font-weight:600; text-decoration:none; }
.footer-line:hover { color:var(--amber); }
.document-footer > span { color:#aaa69e; font-size:10px; }

.presentation-header { position:sticky; top:0; z-index:10; background:rgba(245,243,238,.95); backdrop-filter:blur(10px); }
.presentation-actions { display:flex; align-items:center; gap:25px; }
.button-small { padding:12px 15px; }
.numbered-section { position:relative; padding:clamp(64px,10vw,150px) clamp(24px,9vw,150px); }
.page-number { position:absolute; top:28px; left:clamp(24px,3vw,50px); color:var(--muted); font:600 10px/1 Inter,Arial,sans-serif; letter-spacing:.12em; }
.presentation-cover { min-height:calc(100vh - 77px); display:flex; flex-direction:column; justify-content:center; background:var(--ink); color:var(--white); background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px); background-size:76px 76px; }
.presentation-cover .page-number { color:#a8a69e; }.presentation-cover h1 { max-width:1080px; margin:20px 0 28px; font-size:clamp(54px,8.8vw,137px); }.cover-brand { color:var(--white); font-size:clamp(20px,2.1vw,30px); }.cover-brand span { color:#bab7ae; font-family:Inter,Arial,sans-serif; font-size:.39em; font-weight:600; letter-spacing:.09em; text-transform:uppercase; }.cover-lede { max-width:600px; margin:0; color:#d5d2cb; line-height:1.65; font-size:clamp(16px,1.6vw,22px); }.cover-actions,.contact-actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-top:35px; }.text-link { color:var(--white); }.presentation-overview { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.7fr); align-items:start; gap:10vw; background:var(--white); }.overview-copy { padding-top:44px; }.overview-copy p { font-size:17px; line-height:1.7; }.dark-link { color:var(--ink); display:inline-block; margin-top:18px; }.presentation-systems { background:var(--graphite); color:var(--white); }.section-intro { max-width:840px; }.presentation-system-grid { display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:66px; border-top:1px solid rgba(255,255,255,.25); }.presentation-system-grid article { min-height:400px; padding:31px clamp(24px,4vw,70px) 35px 0; border-bottom:1px solid rgba(255,255,255,.25); }.presentation-system-grid article+article { padding-left:clamp(24px,4vw,70px); border-left:1px solid rgba(255,255,255,.25); }.presentation-system-grid article>span,.pillar-list span { color:var(--amber); font:600 18px/1 "Barlow Condensed",Impact,sans-serif; }.presentation-system-grid h3 { margin:30px 0 18px; font-size:clamp(38px,4vw,58px); }.presentation-system-grid p { max-width:390px; color:#d8d5ce; line-height:1.65; }.presentation-system-grid ul { margin:30px 0 0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.25); }.presentation-system-grid li { padding:10px 0; border-bottom:1px solid rgba(255,255,255,.14); color:#ebe8df; font-size:13px; }.presentation-workflow { display:grid; grid-template-columns:minmax(290px,.9fr) minmax(320px,1.1fr); gap:11vw; background:var(--paper); }.workflow-heading { padding-top:44px; }.workflow-heading>p:last-child { max-width:400px; margin:22px 0 0; color:var(--muted); line-height:1.65; }.presentation-workflow-list { margin:43px 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }.presentation-workflow-list li { display:grid; grid-template-columns:46px 1fr; gap:22px; padding:23px 0; border-bottom:1px solid var(--line); }.presentation-workflow-list span,.presentation-process-list span { color:#986900; font:600 17px/1 "Barlow Condensed",Impact,sans-serif; }.presentation-workflow-list h3,.presentation-process-list h3 { margin:0 0 7px; font-size:29px; }.presentation-workflow-list p,.presentation-process-list p { margin:0; color:var(--muted); font-size:13px; }.presentation-pillars { background:var(--white); }.pillar-list { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; margin-top:70px; }.pillar-list article { border-top:2px solid var(--ink); padding-top:18px; }.pillar-list h3 { margin:26px 0 12px; font-size:32px; }.pillar-list p { color:var(--muted); font-size:13px; line-height:1.6; }.presentation-markets { display:grid; grid-template-columns:1fr .9fr; gap:12vw; color:var(--ink); background:var(--amber); }.presentation-markets .eyebrow { color:var(--ink); }.market-detail { padding-top:47px; }.market-detail>p { margin:0 0 34px; font-size:17px; line-height:1.65; }.market-detail dl { margin:0; border-top:1px solid rgba(17,18,17,.3); }.market-detail dl div { display:grid; grid-template-columns:120px 1fr; gap:15px; padding:17px 0; border-bottom:1px solid rgba(17,18,17,.3); }.market-detail dt { font-size:10px; text-transform:uppercase; font-weight:700; letter-spacing:.09em; }.market-detail dd { margin:0; font-size:14px; font-weight:600; }.presentation-process { background:var(--ink); color:var(--white); }.presentation-process-list { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin:60px 0 0; padding:0; list-style:none; }.presentation-process-list li { border-top:1px solid rgba(255,255,255,.35); padding-top:18px; }.presentation-process-list h3 { margin:26px 0 10px; font-size:31px; }.presentation-process-list p { line-height:1.55; color:#d6d3cb; }.presentation-contact { background:var(--white); text-align:center; }.presentation-contact .page-number { left:50%; transform:translateX(-50%); }.presentation-contact>p:not(.eyebrow):not(.documentation-note) { max-width:590px; margin:26px auto 0; color:var(--muted); line-height:1.7; font-size:16px; }.presentation-contact .contact-actions { justify-content:center; }.button-outline { background:transparent; color:var(--ink); border-color:var(--ink); }.button-outline:hover { background:var(--paper); }.direct-contacts { display:flex; justify-content:center; flex-wrap:wrap; gap:22px; margin-top:31px; }.direct-contacts a { font-size:12px; font-weight:600; }.documentation-note { margin:40px 0 0 !important; font-size:11px !important; letter-spacing:.08em; text-transform:uppercase; }.presentation-footer { background:var(--graphite); }
@media (max-width:800px) { .document-header { padding:15px 20px; }.quiet-link { font-size:9px; }.library-hero,.document-list,.library-note,.numbered-section { padding-left:24px; padding-right:24px; }.document-entry { grid-template-columns:40px 1fr; min-height:120px; }.document-action { grid-column:2; }.library-note,.presentation-overview,.presentation-workflow,.presentation-markets { grid-template-columns:1fr; gap:25px; }.library-note .eyebrow { margin-bottom:0; }.presentation-system-grid,.pillar-list,.presentation-process-list { grid-template-columns:1fr; }.presentation-system-grid { margin-top:42px; }.presentation-system-grid article,.presentation-system-grid article+article { min-height:auto; padding:28px 0; border-left:0; }.presentation-system-grid article+article { border-top:0; }.pillar-list { margin-top:42px; gap:24px; }.presentation-workflow-list,.market-detail,.workflow-heading,.overview-copy { margin-top:20px; padding-top:0; }.presentation-process-list { margin-top:42px; gap:25px; }.presentation-markets .market-detail { padding-top:0; }.presentation-contact { padding-top:90px; }.document-footer { align-items:flex-start; flex-direction:column; gap:17px; }.presentation-actions { gap:12px; }.presentation-actions .quiet-link { display:none; }.presentation-header .button { padding:11px 12px; font-size:9px; }.page-number { left:24px; }.presentation-cover { min-height:640px; }.presentation-cover .page-number { top:26px; }.cover-actions { margin-top:28px; }.market-detail dl div { grid-template-columns:1fr; gap:7px; }.presentation-contact .page-number { left:50%; }.direct-contacts { flex-direction:column; gap:12px; } }
.quick-contact { max-width:760px; margin:68px auto 0; padding:32px; border-top:2px solid var(--ink); background:var(--paper); text-align:left; }
.quick-contact-kicker { margin:0 0 10px !important; color:#986900 !important; font-size:10px !important; font-weight:700; letter-spacing:.14em; }
.quick-contact h3 { margin:0; font-size:36px; }
.quick-contact>p:not(.quick-contact-kicker):not(.form-status) { max-width:560px; margin:14px 0 26px !important; color:var(--muted) !important; font-size:13px !important; }
.quick-contact-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:20px 0; }
.quick-contact label { display:grid; gap:7px; color:#55554f; font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.quick-contact label:last-child { grid-column:1/-1; }
.quick-contact input,.quick-contact textarea { width:100%; border:1px solid #bbb7af; border-radius:0; background:var(--white); color:var(--ink); font:400 14px/1.4 Inter,Arial,sans-serif; padding:11px; }
.quick-contact input:focus,.quick-contact textarea:focus { outline:2px solid var(--amber); outline-offset:1px; }
.quick-contact textarea { resize:vertical; }
.form-status { min-height:18px; margin:13px 0 0 !important; color:#55554f !important; font-size:12px !important; }.quick-contact .button-spinner{display:none;width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:stravia-doc-spin .65s linear infinite}.quick-contact .button[data-state="pending"]{gap:10px}.quick-contact .button[data-state="pending"] .button-spinner{display:inline-block}.quick-contact .form-status{display:flex;align-items:flex-start;gap:10px}.quick-contact .form-status[data-state]{margin-top:16px!important;padding:12px 14px;border-left:3px solid currentColor;line-height:1.45}.quick-contact .form-status[data-state]::before{flex:0 0 19px;width:19px;height:19px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-weight:900;font-size:12px;line-height:1}.quick-contact .form-status[data-state="success"]{color:#396b23!important;background:#edf7e4}.quick-contact .form-status[data-state="success"]::before{content:"✓"}.quick-contact .form-status[data-state="error"]{color:#a73727!important;background:#fff0ed}.quick-contact .form-status[data-state="error"]::before{content:"!"}.quick-contact .form-status[data-state="pending"]{color:#8b5e00!important;background:#fff7dc}.quick-contact .form-status[data-state="pending"]::before{content:"";border-right-color:transparent;animation:stravia-doc-spin .65s linear infinite}@keyframes stravia-doc-spin{to{transform:rotate(360deg)}}
.quick-contact .form-consent { display:flex; align-items:flex-start; gap:9px; grid-column:1/-1; text-transform:none; letter-spacing:normal; font-size:11px; line-height:1.5; }
.quick-contact .form-consent input { width:16px; min-width:16px; min-height:16px; margin:1px 0 0; padding:0; accent-color:var(--amber); }
.case-hero { padding:clamp(64px,12vw,152px) clamp(24px,13vw,210px) clamp(54px,9vw,116px); background:var(--ink); color:var(--white); }
.case-hero h1 { margin:0 0 30px; }
.case-hero p:last-child { max-width:660px; margin:0; color:#ddd9d1; font-size:clamp(15px,1.5vw,20px); line-height:1.7; }
.case-index { padding:clamp(62px,10vw,130px) clamp(24px,13vw,210px); background:var(--white); }
.case-index h2,.case-standard h2 { max-width:780px; margin:0; font-size:clamp(44px,5.5vw,82px); }
.case-study-catalog { min-height:155px; margin-top:53px; border-top:1px solid var(--ink); }
.catalog-status { margin:0; padding:31px 0; color:var(--muted); border-bottom:1px solid var(--line); font-size:14px; line-height:1.6; }
.case-standard { padding:clamp(60px,9vw,125px) clamp(24px,13vw,210px); background:var(--graphite); color:var(--white); }
.case-standard h2 { margin:0 0 26px; }
.case-standard p:not(.eyebrow) { max-width:610px; color:#d8d5ce; line-height:1.7; }
.case-standard .button { margin-top:14px; }
.case-study-entry { display:grid; grid-template-columns:1fr auto; gap:12px 25px; padding:24px 0; border-bottom:1px solid var(--line); text-decoration:none; }
.case-study-entry strong { font:600 clamp(29px,3.4vw,52px)/.94 "Barlow Condensed",Impact,sans-serif; text-transform:uppercase; }
.case-study-entry small { grid-column:1; color:var(--muted); font-size:13px; }
.case-study-entry .document-action { grid-column:2; grid-row:1/3; align-self:center; }
.detail-hero { padding:clamp(64px,12vw,152px) clamp(24px,13vw,210px) clamp(54px,9vw,116px); background:var(--ink); color:var(--white); }.detail-hero h1 { max-width:1040px; margin:0 0 30px; }.detail-hero p:last-child { max-width:660px; margin:0; color:#ddd9d1; font-size:clamp(15px,1.5vw,20px); line-height:1.7; }.detail-body { display:grid; grid-template-columns:minmax(0,.9fr) minmax(330px,1.1fr); gap:72px; padding:clamp(62px,10vw,132px) clamp(24px,13vw,210px); background:var(--white); }.detail-intro h2 { margin:0 0 24px; font-size:clamp(43px,5.2vw,79px); }.detail-intro>p:last-child { max-width:410px; margin:0; color:var(--muted); font-size:15px; line-height:1.75; }.fact-grid,.status-grid { margin:0; border-top:1px solid var(--ink); }.fact-grid div,.status-grid div { display:grid; grid-template-columns:150px 1fr; gap:18px; padding:18px 0; border-bottom:1px solid var(--line); }.fact-grid dt,.status-grid dt { color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }.fact-grid dd,.status-grid dd { margin:0; font-size:15px; font-weight:600; }.fact-grid a { text-decoration-thickness:1px; text-underline-offset:4px; }.principle-grid,.qualification-path { display:grid; grid-template-columns:1fr 1fr; gap:0 32px; }.principle-grid article,.qualification-path article { border-top:2px solid var(--ink); padding:17px 0 25px; }.principle-grid span,.qualification-path span { color:#986900; font:600 17px/1 "Barlow Condensed",Impact,sans-serif; }.principle-grid h3,.qualification-path h3 { margin:24px 0 9px; font-size:31px; }.principle-grid p,.qualification-path p { max-width:320px; margin:0; color:var(--muted); font-size:13px; line-height:1.6; }.detail-band { padding:clamp(62px,9vw,128px) clamp(24px,13vw,210px); background:var(--graphite); color:var(--white); }.detail-band h2 { max-width:800px; margin:0 0 32px; font-size:clamp(43px,5.2vw,79px); }.detail-two-col { display:grid; grid-template-columns:1fr 1fr; gap:48px; max-width:840px; }.detail-two-col p { margin:0; color:#d9d5ce; line-height:1.75; }.detail-cta { padding:clamp(62px,10vw,135px) clamp(24px,13vw,210px); background:var(--paper); }.detail-cta h2 { max-width:730px; margin:0 0 20px; font-size:clamp(43px,5.2vw,79px); }.detail-cta>p:not(.eyebrow) { max-width:570px; margin:0; color:var(--muted); font-size:15px; line-height:1.75; }.detail-cta .button { margin-top:27px; }
@media (max-width:800px) { .quick-contact { margin-top:44px; padding:23px; }.quick-contact-fields { grid-template-columns:1fr; }.quick-contact label:last-child { grid-column:auto; }.case-hero,.case-index,.case-standard { padding-left:24px; padding-right:24px; }.case-study-entry { grid-template-columns:1fr; }.case-study-entry .document-action { grid-column:1; grid-row:auto; } }
@media (max-width:800px) { .detail-hero,.detail-body,.detail-band,.detail-cta { padding-left:24px; padding-right:24px; }.detail-body { grid-template-columns:1fr; gap:42px; }.fact-grid div,.status-grid div { grid-template-columns:1fr; gap:7px; }.principle-grid,.qualification-path,.detail-two-col { grid-template-columns:1fr; gap:20px; } }
@media print { .document-header,.document-footer,.presentation-actions,.cover-actions,.contact-actions,.direct-contacts,.quick-contact { display:none; }.numbered-section { break-inside:avoid; min-height:0; padding:42px 48px; }.presentation-cover { background:#111 !important; color:#fff; }.presentation-system-grid article { min-height:0; }.presentation-process-list { grid-template-columns:repeat(4,1fr); }.page-number { top:16px; } }
@media (prefers-reduced-motion: reduce) {.quick-contact .button-spinner,.quick-contact .form-status[data-state="pending"]::before{animation:none}}
