:root{--paper:#f3efe5;--paper-deep:#e6ddcc;--ink:#1d2522;--muted:#68706b;--line:#c9c0ae;--rust:#a4472d;--rust-dark:#74311f;--sage:#5c6b5c;--gold:#c18b3b;--white:#fffdf8;--shadow:0 18px 50px rgba(29,37,34,.11);--radius:4px;--serif:Georgia,"Times New Roman",serif;--sans:Inter,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}a{color:inherit}img{max-width:100%}.skip-link{position:fixed;top:12px;left:12px;z-index:99;padding:.65rem 1rem;background:var(--ink);color:white;transform:translateY(-160%)}.skip-link:focus{transform:none}.site-header{min-height:88px;padding:1rem clamp(1.2rem,4vw,4.5rem);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(243,239,229,.96);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;line-height:1.1}.brand-mark{width:45px;height:45px;display:grid;place-items:center;border:1px solid var(--ink);font:700 .9rem var(--serif);letter-spacing:.08em}.brand strong{display:block;font:700 1rem var(--serif)}.brand small{display:block;margin-top:.3rem;color:var(--muted);font-size:.67rem;letter-spacing:.08em;text-transform:uppercase}.site-nav{display:flex;align-items:center;gap:1.6rem}.site-nav a{text-decoration:none;font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-bottom:2px solid transparent;padding:.4rem 0}.site-nav a:hover,.site-nav a[aria-current=page]{border-color:var(--rust)}.menu-button{display:none;border:1px solid var(--ink);background:transparent;padding:.55rem .8rem;font:700 .75rem var(--sans);text-transform:uppercase;letter-spacing:.08em}
h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);line-height:1.08}h1{font-size:clamp(3.2rem,7.5vw,7.2rem);letter-spacing:-.045em;margin-bottom:1.5rem}h2{font-size:clamp(2rem,4vw,3.8rem);letter-spacing:-.025em;margin-bottom:1rem}h3{font-size:1.65rem;margin-bottom:.7rem}.eyebrow,.kicker,.meta{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800}.eyebrow{color:var(--rust)}.lede{font-size:clamp(1.05rem,1.7vw,1.3rem);color:#46504b;max-width:700px}.hero{min-height:calc(100vh - 88px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:center;gap:clamp(2rem,7vw,8rem);padding:clamp(4rem,8vw,8rem) clamp(1.2rem,7vw,8rem);background:linear-gradient(115deg,var(--paper) 0 65%,var(--paper-deep) 65%)}.hero-copy{max-width:850px}.hero-copy h1{font-size:clamp(3.1rem,7vw,7rem)}.actions{display:flex;align-items:center;gap:1.5rem;margin-top:2.2rem;flex-wrap:wrap}.button{display:inline-block;padding:.85rem 1.2rem;background:var(--rust);color:white;text-decoration:none;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--rust)}.button:hover{background:var(--rust-dark)}.text-link{font-weight:800;text-decoration-thickness:1px;text-underline-offset:5px}.hero-panel,.odin-portrait{aspect-ratio:4/5;background:linear-gradient(145deg,#303933,#596055);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:var(--shadow);padding:2rem;border:10px solid var(--white)}.hero-panel span,.odin-portrait span{font:italic 1.5rem var(--serif)}.hero-panel small,.odin-portrait small{opacity:.7;margin-top:.7rem}.portal-section,.content-section{padding:clamp(4rem,8vw,8rem) clamp(1.2rem,7vw,8rem)}.section-heading{margin-bottom:2.5rem;max-width:800px}.portal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.portal-card{min-height:430px;padding:2rem;display:flex;flex-direction:column;justify-content:space-between;background:var(--white);text-decoration:none;transition:transform .2s,background .2s}.portal-card:hover{transform:translateY(-7px);box-shadow:var(--shadow);position:relative;z-index:1}.portal-card h3{font-size:clamp(2rem,3vw,3.2rem)}.portal-card p{color:#515a55}.portal-card .kicker{color:var(--rust)}.card-number{font:italic 1.2rem var(--serif);color:var(--muted)}.card-link{display:inline-block;margin-top:1rem;font-weight:800}.portal-odin{background:#e7e0cf}.portal-shop{background:#dce1d8}.latest-band{padding:clamp(4rem,7vw,7rem) clamp(1.2rem,7vw,8rem);display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,8rem);background:var(--ink);color:#edf0e9}.latest-band p{color:#c7cec7}.latest-band .eyebrow{color:#e6a662}.latest-band blockquote{margin:0;align-self:center;font:italic clamp(1.8rem,3.3vw,3.3rem)/1.25 var(--serif);color:#fff}
.site-footer{min-height:120px;padding:2rem clamp(1.2rem,4vw,4.5rem);display:flex;align-items:center;justify-content:space-between;gap:2rem;border-top:1px solid var(--line);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}.site-footer p{margin:0}.page-hero{padding:clamp(5rem,10vw,10rem) clamp(1.2rem,10vw,12rem);border-bottom:1px solid var(--line);background:linear-gradient(120deg,var(--paper),var(--paper-deep))}.page-hero h1{margin-bottom:1rem}.page-hero>p:last-child{max-width:760px;font-size:1.2rem}.row-heading{max-width:none;display:flex;align-items:end;justify-content:space-between;gap:2rem}.filters{display:flex;gap:.5rem;flex-wrap:wrap}.filter{padding:.5rem .8rem;background:transparent;border:1px solid var(--line);color:var(--ink);cursor:pointer}.filter:hover,.filter.is-active{background:var(--ink);color:white;border-color:var(--ink)}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.story-card{background:var(--white);padding:2rem;border-top:4px solid var(--sage)}.story-card.featured{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;gap:2rem;border-color:var(--rust)}.story-card[hidden]{display:none}.image-placeholder,.product-image{min-height:260px;background:linear-gradient(135deg,#59645d,#2d3631);color:#dfe3dc;display:grid;place-items:center;font:italic 1.15rem var(--serif);text-align:center}.meta{color:var(--rust)}.editor-note{margin-top:2rem;padding:1.2rem;border:1px dashed var(--line);color:var(--muted)}.odin-hero{display:grid;grid-template-columns:1.1fr .6fr;align-items:center;gap:clamp(3rem,8vw,8rem);padding:clamp(4rem,8vw,8rem) clamp(1.2rem,9vw,10rem);background:#dce1d8}.odin-portrait{max-height:620px;background:linear-gradient(145deg,#795039,#252b27)}.notes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.note-card{position:relative;min-height:300px;background:var(--white);padding:2rem}.note-number{display:block;font:italic 3rem var(--serif);color:var(--line);margin-bottom:2rem}.note-card.highlighted{background:var(--rust);color:white}.note-card.highlighted .meta,.note-card.highlighted .note-number{color:#f6c9ad}.apprentice-rule{padding:5rem clamp(1.2rem,10vw,12rem);background:var(--ink);color:white}.apprentice-rule p:last-child{max-width:700px;color:#cbd2cc}.shop-hero{background:linear-gradient(125deg,#e7dfcb,#cfd7cd)}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.product-card{background:var(--white);padding:1rem 1rem 1.5rem}.product-card h3,.product-card .meta,.product-card .price{margin-left:.5rem}.product-image{margin-bottom:1.5rem}.product-image.alternate{background:linear-gradient(135deg,#b06d3d,#733823)}.product-image.dark{background:linear-gradient(135deg,#38433d,#1d2522)}.price{color:var(--muted);font-weight:700}.shop-message{max-width:850px;margin:5rem auto 0;text-align:center;padding:4rem 2rem;border:1px solid var(--line);background:var(--paper-deep)}.shop-message .button{margin-top:1rem}
@media (max-width:850px){.site-header{min-height:74px}.brand small{display:none}.menu-button{display:block}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:1.5rem;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.site-nav.is-open{display:flex}.site-nav a{padding:.65rem}.hero,.odin-hero{grid-template-columns:1fr;background:var(--paper)}.hero-panel,.odin-portrait{width:min(100%,520px);justify-self:center}.portal-grid,.product-grid{grid-template-columns:1fr}.portal-card{min-height:330px}.latest-band{grid-template-columns:1fr}.story-grid{grid-template-columns:1fr}.story-card.featured{grid-column:auto;grid-template-columns:1fr}.row-heading{display:block}.notes-grid{grid-template-columns:1fr}.site-footer{align-items:flex-start;flex-direction:column}}
@media (max-width:520px){h1{font-size:3.1rem}.brand strong{font-size:.86rem}.brand-mark{width:38px;height:38px}.hero{padding-top:3.2rem}.hero-panel{border-width:6px}.page-hero{padding-top:4rem}.portal-card,.note-card{padding:1.4rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.portal-card{transition:none}}

/* Reciprocal bridge from SOAR to the active ABA-TEC service website. */
.aba-bridge{position:relative;display:flex;align-items:center;justify-content:space-between;gap:clamp(2rem,6vw,6rem);padding:clamp(3.5rem,6vw,5.5rem) clamp(1.2rem,7vw,8rem);overflow:hidden;background:var(--white);border-top:1px solid var(--line)}
.aba-bridge::before{content:"";position:absolute;top:0;left:clamp(1.2rem,7vw,8rem);right:clamp(1.2rem,7vw,8rem);height:5px;background:linear-gradient(90deg,#1d2522 0 33.33%,#c82a20 33.33% 66.66%,#d5bd00 66.66%)}
.aba-bridge>div{max-width:760px}.aba-bridge .eyebrow{margin-bottom:.65rem}.aba-bridge h2{margin:0;font-size:clamp(2rem,4vw,3.5rem)}
.aba-bridge-link{flex:0 0 auto;display:inline-block;padding:.9rem 1.2rem;color:white;background:#1d2522;border:1px solid #1d2522;text-decoration:none;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.aba-bridge-link:hover,.aba-bridge-link:focus{background:#74311f;border-color:#74311f}
@media(max-width:760px){.aba-bridge{align-items:flex-start;flex-direction:column}.aba-bridge-link{width:100%;text-align:center}}

/* Homepage artwork: each image is contained within its intended section. */
.hero-panel{padding:0;overflow:hidden}
.hero-panel img{display:block;width:100%;height:100%;object-fit:cover}
.portal-card-image{display:block;width:calc(100% + 4rem);height:170px;object-fit:cover;margin:-2rem -2rem 1.4rem}
.latest-image{display:block;float:left;width:clamp(120px,14vw,190px);aspect-ratio:1/1;object-fit:cover;margin:0 1.5rem 1rem 0;border:6px solid rgba(255,255,255,.12)}
.latest-band>div::after{content:"";display:block;clear:both}
.brand-logo{display:block;width:150px;height:50px;object-fit:cover;object-position:center}
@media (max-width:520px){.portal-card-image{width:calc(100% + 2.8rem);margin:-1.4rem -1.4rem 1.2rem}.latest-image{float:none;width:min(100%,260px);margin:0 0 1.5rem}}

/* Sealed case-file story pages */
.story-card-image{display:block;width:100%;height:100%;min-height:300px;object-fit:cover;object-position:center;border:8px solid var(--paper)}
.case-hero{position:relative;min-height:min(82vh,760px);display:flex;align-items:flex-end;isolation:isolate;overflow:hidden;background:#111;color:white;border-bottom:10px solid #a2171b}
.case-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:saturate(.85) contrast(1.14) brightness(.68);z-index:-2}
.egypt-case .case-hero-image{object-position:center center;filter:saturate(.82) contrast(1.08) brightness(.66)}
.egypt-case{border-bottom-color:#248b95}
.egypt-case .case-file-tag{background:#248b95}
.egypt-case h1 em{color:#68ced1}
.egypt-story-card{display:grid;grid-template-rows:220px 1fr;gap:1.4rem;padding:1rem 1rem 2rem;border-color:#248b95}
.egypt-story-card .story-card-image{min-height:0;height:220px;border:0}
.case-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.55) 52%,rgba(0,0,0,.12)),linear-gradient(0deg,rgba(0,0,0,.72),transparent 55%)}
.case-hero-copy{width:min(100% - 2.4rem,1180px);margin:0 auto;padding:clamp(4rem,10vw,8rem) 0}
.case-file-tag{display:inline-block;margin:0 0 1.4rem;padding:.55rem .75rem .45rem;background:#a2171b;border:2px solid white;box-shadow:6px 6px 0 rgba(0,0,0,.7);font-size:.74rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;transform:rotate(-1deg)}
.case-hero h1{max-width:13ch;margin:0;font:700 clamp(3rem,7vw,6.4rem)/.94 var(--serif);letter-spacing:-.035em;text-shadow:2px 3px 0 #000}
.case-hero h1 em{display:block;color:#ef4a4d;font-weight:600;font-style:italic}
.case-dek{max-width:760px;margin:1.6rem 0 0;font-size:clamp(1.05rem,2vw,1.35rem);font-weight:700;line-height:1.4}
.case-facts{display:grid;grid-template-columns:repeat(4,1fr);background:var(--white);border-bottom:1px solid var(--ink)}
.case-fact{padding:1rem clamp(.8rem,2vw,1.4rem);border-right:1px solid var(--ink)}
.case-fact:last-child{border-right:0}.case-fact b,.case-fact span{display:block}.case-fact b{color:#a2171b;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase}.case-fact span{margin-top:.25rem;font:700 1rem/1.25 var(--sans)}
.case-layout{width:min(100% - 2.4rem,980px);margin:0 auto;padding:clamp(4rem,8vw,7rem) 0;display:grid;grid-template-columns:190px minmax(0,680px);gap:clamp(2rem,7vw,7rem)}
.case-nav{align-self:start;position:sticky;top:10rem;border-top:6px solid var(--ink);padding-top:1rem}.case-nav p{color:#a2171b;font-size:.68rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.case-nav ol{margin:0;padding:0;list-style:none;counter-reset:case-sections}.case-nav li{counter-increment:case-sections;border-top:1px solid var(--line)}.case-nav a{display:grid;grid-template-columns:2rem 1fr;gap:.25rem;padding:.68rem 0;text-decoration:none;font-size:.72rem;font-weight:800;line-height:1.25;text-transform:uppercase;letter-spacing:.05em}.case-nav a::before{content:"0" counter(case-sections);color:#a2171b}
.case-story{font-family:var(--serif);font-size:1.08rem;line-height:1.75}.case-story .opening{font-size:1.25rem;line-height:1.6}.case-story .opening::first-letter{float:left;margin:.12em .12em 0 0;color:#a2171b;font:700 4.6rem/.72 var(--serif)}.case-story section{scroll-margin-top:10rem;margin-top:4.5rem}.case-story h2{margin:0 0 1.3rem;padding:0 0 .6rem;border-bottom:2px solid var(--ink);font:700 clamp(2rem,4.5vw,3rem)/1.05 var(--serif);letter-spacing:-.02em}.case-story h2::before{content:attr(data-number);display:block;margin-bottom:.55rem;color:#a2171b;font:800 .66rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase}.case-story p{margin-bottom:1.25rem}.case-impact{margin:2.7rem 0;padding:1.5rem 1.7rem;background:#252a27;color:white;border-left:6px solid #a2171b;font:600 clamp(1.25rem,2.6vw,1.75rem)/1.28 var(--serif);font-style:italic}.case-impact small{display:block;margin-top:.75rem;color:#c7c5bd;font:700 .62rem/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase}.case-exchange{margin:2rem 0;padding:1.2rem 0;border-block:1px solid var(--ink)}.case-exchange p{display:grid;grid-template-columns:7rem 1fr;gap:1rem;margin:.55rem 0;font-style:italic}.case-exchange b{color:#a2171b;font:800 .66rem/1.6 var(--sans);letter-spacing:.12em;text-transform:uppercase}.case-stamp{width:max-content;max-width:100%;margin:5rem auto 0;padding:.75rem 1rem;color:#a2171b;border:4px double #a2171b;font:700 clamp(1.7rem,5vw,3rem)/1 var(--serif);letter-spacing:.05em;text-transform:uppercase;transform:rotate(-2deg);opacity:.8}
/* Softer story emphasis: restrained editorial callouts instead of black announcement boxes. */
.case-impact{background:var(--paper-deep);color:var(--ink);border-left:4px solid #a2171b;border-block:1px solid var(--line);font-size:clamp(1.2rem,2.4vw,1.6rem);line-height:1.35}
.case-impact small{color:var(--muted);letter-spacing:.1em}
.case-exchange{border-block-color:var(--line)}
.case-exchange b{color:#8b3c28;letter-spacing:.1em}
.case-stamp{padding:.6rem 0;color:var(--muted);border:0;border-bottom:1px solid var(--line);font:italic 600 clamp(1.35rem,4vw,2.15rem)/1.2 var(--serif);letter-spacing:.02em;text-transform:none;transform:none;opacity:1}
@media(max-width:850px){.case-hero{min-height:680px}.case-hero::after{background:linear-gradient(0deg,rgba(0,0,0,.94),rgba(0,0,0,.28) 80%)}.case-facts{grid-template-columns:1fr 1fr}.case-fact:nth-child(-n+2){border-bottom:1px solid var(--ink)}.case-fact:nth-child(2){border-right:0}.case-layout{display:block}.case-nav{display:none}.story-card-image{height:300px}.case-story section{scroll-margin-top:7rem}}
@media(max-width:520px){.case-hero h1{font-size:3rem}.case-facts{grid-template-columns:1fr}.case-fact{border-right:0;border-bottom:1px solid var(--ink)}.case-fact:nth-child(3){border-bottom:1px solid var(--ink)}.case-fact:last-child{border-bottom:0}.case-impact{padding:1.25rem;margin-inline:0}.case-exchange p{grid-template-columns:1fr;gap:.1rem}}
@media print{.site-header,.case-nav,.site-footer{display:none}.case-hero{min-height:9in;break-after:page}.case-layout{display:block;width:6.5in;padding:0}.case-story section{break-inside:avoid}.case-hero-image{filter:grayscale(1) contrast(1.1) brightness(.65)}}

/* Stories archive: completed stories receive equal, full-width presentation. */
.story-card.featured,.egypt-story-card{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:none;gap:2rem;padding:1rem 2rem 1rem 1rem;align-items:stretch}
.story-card.featured .story-card-image,.egypt-story-card .story-card-image{height:360px;min-height:360px;border:0}
.story-card.featured>div,.egypt-story-card>div{align-self:center;padding:1rem 0}
@media(max-width:850px){.story-card.featured,.egypt-story-card{grid-column:1/-1;grid-template-columns:1fr;padding:1rem 1rem 2rem}.story-card.featured .story-card-image,.egypt-story-card .story-card-image{height:300px;min-height:300px}.story-card.featured>div,.egypt-story-card>div{padding:0 1rem}}


/* Restored graphical navigation surfaces */
.site-nav{gap:.65rem}
.site-nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.7rem;
  padding:.65rem 1rem;
  border:1px solid var(--line);
  border-bottom:1px solid var(--line);
  border-radius:4px;
  background:var(--white);
  box-shadow:0 3px 9px rgba(29,37,34,.08);
  text-decoration:none;
  transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.site-nav a:hover,
.site-nav a:focus-visible{
  background:var(--paper-deep);
  border-color:var(--rust);
  box-shadow:0 5px 14px rgba(29,37,34,.12);
  transform:translateY(-1px);
}
.site-nav a[aria-current=page]{
  color:#fff;
  background:var(--ink);
  border-color:var(--ink);
  box-shadow:none;
}
@media (max-width:850px){
  .site-nav{gap:.55rem}
  .site-nav a{
    width:100%;
    justify-content:flex-start;
    padding:.8rem 1rem;
  }
}
