:root{--bg:#E9F0EB;--ink:#172A26;--action:#1D6B55;--on-action:#ffffff;--accent:#D7823A;--highlight:#9CB7B0;--surface:#9CB7B044;--focus:#D7823A;--header:72px}

*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--catalog-font-body);line-height:1.55}img{display:block;width:100%;height:auto}a{color:inherit;text-underline-offset:.22em}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:var(--bg);padding:.75rem}.site-header{position:relative;z-index:20;min-height:var(--header);border-bottom:1px solid color-mix(in srgb,var(--ink),transparent 72%);background:var(--bg)}.header-in{max-width:1440px;margin:auto;padding:1rem clamp(1rem,4vw,4rem);display:flex;align-items:center;gap:2rem}.brand{font-weight:900;text-decoration:none;letter-spacing:-.03em}.brand small{display:block;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}.nav{margin-left:auto}.nav ul{display:flex;gap:clamp(.6rem,1.2vw,1.35rem);list-style:none;margin:0;padding:0;font-size:.78rem;text-transform:uppercase}.mobile-nav{display:none;margin-left:auto}.mobile-nav summary{min-height:44px;padding:.65rem 1rem;border:1px solid currentColor}.mobile-nav nav{position:absolute;left:1rem;right:1rem;top:calc(100% + .5rem);background:var(--bg);border:1px solid currentColor;padding:1rem}.mobile-nav ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.book{display:inline-flex;min-height:44px;align-items:center;padding:.65rem 1rem;background:var(--action);color:var(--on-action);text-decoration:none;font-weight:800;border:1px solid var(--action)}main{overflow:clip}.page-shell{max-width:1320px;margin:auto;padding:clamp(3rem,7vw,8rem) clamp(1rem,4vw,4rem)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.8rem,7vw,7.5rem);line-height:.92;letter-spacing:-.055em;max-width:13ch}h2{font-size:clamp(1.8rem,3.4vw,4rem);line-height:1;letter-spacing:-.035em}.eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800}.lede{font-size:clamp(1.05rem,1.7vw,1.35rem);max-width:58ch}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.text-link{display:inline-flex;min-height:44px;align-items:center}.hero{min-height:calc(100svh - var(--header));display:grid;align-items:center}.hero-inner{max-width:1440px;margin:auto;padding:clamp(3rem,7vw,8rem) clamp(1rem,4vw,4rem);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:clamp(2rem,6vw,7rem);align-items:center}.hero-art{position:relative}.hero-art img{aspect-ratio:3/2;object-fit:cover}.section{max-width:1320px;margin:auto;padding:clamp(4rem,8vw,9rem) clamp(1rem,4vw,4rem)}.section-head{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:2.5rem}.section-head p{max-width:48ch}.service-list,.gallery-grid,.people-grid,.review-grid,.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.service,.person,.review,.process-step,.faq-list details{border:1px solid color-mix(in srgb,var(--ink),transparent 70%);padding:1.35rem;background:var(--surface)}.service .price{font-size:1.3rem;font-weight:900;color:var(--action)}.gallery-grid figure{margin:0}.gallery-grid img{aspect-ratio:4/3;object-fit:cover}.gallery-grid figcaption{font-size:.78rem;padding:.7rem 0}.review cite{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.faq-list{display:grid;gap:.75rem}.faq-list summary{cursor:pointer;font-weight:800;min-height:44px;padding:.65rem 0}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,6rem)}form{display:grid;gap:1rem}.field{display:grid;gap:.4rem}input,textarea,select{width:100%;min-height:46px;padding:.75rem;border:1px solid color-mix(in srgb,var(--ink),transparent 55%);background:var(--bg);color:var(--ink);font:inherit}textarea{min-height:150px}button{min-height:46px;padding:.75rem 1.1rem;border:0;background:var(--action);color:var(--on-action);font-weight:900}.status{min-height:1.5em}.contact-band{padding:clamp(4rem,8vw,8rem) clamp(1rem,5vw,5rem);background:var(--action);color:var(--on-action)}.contact-band>div{max-width:1320px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:2rem}.contact-band .book{background:var(--bg);color:var(--ink);border-color:var(--bg)}.subscribe{padding:2rem clamp(1rem,5vw,5rem);background:var(--surface)}.subscribe form{max-width:1320px;margin:auto;display:grid;grid-template-columns:1fr minmax(240px,430px) auto;align-items:end}.site-footer{padding:4rem clamp(1rem,5vw,5rem);border-top:1px solid color-mix(in srgb,var(--ink),transparent 70%)}.footer-in{max-width:1320px;margin:auto;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem}.site-footer ul{list-style:none;margin:0;padding:0}.legal{font-size:.7rem;opacity:.7;margin-top:3rem}.page-404 main{min-height:70svh;display:grid;align-items:center}.meta-list{display:grid;gap:.5rem}.meta-list div{display:grid;grid-template-columns:9rem 1fr;border-bottom:1px solid color-mix(in srgb,var(--ink),transparent 80%);padding:.5rem 0}.privacy-copy{max-width:75ch}.privacy-copy section{padding:1.5rem 0;border-bottom:1px solid color-mix(in srgb,var(--ink),transparent 80%)}
@media(max-width:850px){.nav{display:none}.mobile-nav{display:block}.header-in>.book{display:none}.hero-inner,.contact-grid{grid-template-columns:1fr}.hero{min-height:auto}.service-list,.gallery-grid,.people-grid,.review-grid,.process-grid{grid-template-columns:1fr}.section-head,.contact-band>div{display:block}.subscribe form{grid-template-columns:1fr}.footer-in{grid-template-columns:1fr}h1{font-size:clamp(2.7rem,14vw,5.2rem)}.header-in{gap:1rem}.home .hero-inner,.home .section,.home .contact-band{transform:none!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

body{background-image:radial-gradient(var(--highlight) 1px,transparent 1px);background-size:28px 28px}.hero-inner{grid-template-columns:.7fr 1.3fr}.hero-art{border:2px solid var(--ink);padding:1rem}.home main{position:relative}.home main::before{content:"";position:absolute;left:50%;top:90svh;bottom:12rem;border-left:4px dotted var(--accent)}.home .section{width:72%;position:relative}.home .section:nth-child(odd){margin-left:5%}.home .section:nth-child(even){margin-right:5%}.service{border-radius:50% 50% 18px 18px}.gallery-grid figure{clip-path:polygon(6% 0,100% 8%,94% 100%,0 92%)}

/* DS-16 material identity: map canvas, route key and anchored dispatch notes. */
.layout-atlas{font-family:var(--catalog-font-body);background-color:var(--bg);background-image:radial-gradient(#172a2620 1px,transparent 1px);background-size:16px 16px}.layout-atlas h1,.layout-atlas h2,.layout-atlas h3{font-family:var(--catalog-font-heading)}.layout-atlas .site-header{border-bottom:2px solid var(--ink)}.layout-atlas .nav ul{counter-reset:district}.layout-atlas .nav a::before{counter-increment:district;content:counter(district,decimal-leading-zero) " ";color:var(--action);font-weight:900}
.layout-atlas.home main{position:relative}.layout-atlas.home main::before{content:"";position:absolute;left:50%;top:58rem;bottom:10rem;border-left:3px dashed var(--action);z-index:-1}.layout-atlas.home .hero-inner{grid-template-columns:.7fr 1.3fr}.layout-atlas.home .hero-art{border:2px solid var(--ink);background:#dce9e3}.layout-atlas.home .hero-art img{aspect-ratio:4/3}.map-legend{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--ink)}.map-legend span{padding:.7rem;border-right:1px solid var(--ink);font-size:.75rem;font-weight:800}.map-legend span:last-child{border:0}.layout-atlas.home .section{max-width:1160px;position:relative}.layout-atlas.home .section:nth-of-type(even){transform:translateX(-6vw)}.layout-atlas.home .section:nth-of-type(odd){transform:translateX(6vw)}.layout-atlas .service{border-radius:0 5rem 0 0}.layout-atlas .page-shell{border-left:4px dashed var(--action)}.coverage-key{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-block:2rem}.coverage-key article{border:1px solid currentColor;padding:1rem;background:var(--surface)}
@media(max-width:850px){.layout-atlas.home main::before{left:1.2rem;top:38rem}.layout-atlas.home .hero-inner{display:block}.layout-atlas.home .section:nth-of-type(even),.layout-atlas.home .section:nth-of-type(odd){transform:none;margin-left:1.2rem;padding-left:1.6rem;border-left:2px dashed var(--action)}.map-legend{grid-template-columns:1fr}.map-legend span{border-right:0;border-bottom:1px solid}.coverage-key{grid-template-columns:1fr}}

.role-portrait{width:min(100%,220px);aspect-ratio:8/9;object-fit:cover;border:1px solid currentColor}.role-name{font-weight:900;text-transform:uppercase;letter-spacing:.12em}.footer-nav{max-width:1320px;margin:2rem auto 0;display:flex;flex-wrap:wrap;gap:.5rem 1rem}.footer-nav a{min-height:44px;display:inline-flex;align-items:center}

@media(prefers-reduced-motion:reduce){.legal{opacity:1}}

/* Material atlas rebuild: route-led silhouettes, documentary media and dense field notes. */
.layout-atlas{--bg:#edf3ef;--ink:#102923;--action:#12654f;--accent:#df7a32;--surface:#dce8e2;--route:#9bbdb2;background-size:18px 18px}
.layout-atlas .site-header{background:rgba(237,243,239,.96)}
.layout-atlas .header-in{max-width:1500px}
.layout-atlas .page-shell{max-width:1280px;position:relative;padding-top:clamp(4rem,8vw,8.5rem)}
.layout-atlas .page-shell::before{content:"ROUTE / FIELD NOTE";position:absolute;top:1.2rem;left:clamp(1rem,4vw,4rem);font-size:.66rem;font-weight:900;letter-spacing:.18em;color:var(--action)}
.layout-atlas .hero{min-height:min(900px,calc(100svh - var(--header)))}
.layout-atlas.home .hero-inner{grid-template-columns:minmax(300px,.62fr) minmax(520px,1.38fr);max-width:1500px}
.hero-map-stack{position:relative;min-height:clamp(360px,48vw,650px);overflow:hidden;background:#cbded6}
.hero-map-stack .route-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(.96)}
.hero-map-stack::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,41,35,.08),transparent 55%)}
.hero-map-stack .route-map{position:absolute;width:52%;height:auto;right:2.5%;bottom:3%;padding:.8rem;background:rgba(237,243,239,.9);border:2px solid var(--ink);box-shadow:-16px -16px 0 rgba(223,122,50,.82);z-index:2}
.map-legend{background:var(--bg)}
.layout-atlas.home main::before{top:52rem;left:48%}
.layout-atlas.home .section{width:min(78%,1180px);padding-block:clamp(3rem,5vw,5.5rem)}
.layout-atlas.home .section:nth-of-type(even){transform:translateX(-8vw)}
.layout-atlas.home .section:nth-of-type(odd){transform:translateX(8vw)}
.layout-atlas .service-list{grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem}
.layout-atlas .service{grid-column:span 6;border-radius:0;border:1px solid var(--ink);border-top:7px solid var(--action);padding:clamp(1.25rem,2vw,2rem);background:rgba(220,232,226,.88);position:relative}
.layout-atlas .service::after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:var(--accent);right:1rem;top:1rem}
.layout-atlas .service-major{grid-column:span 8}
.layout-atlas .service-major+article{grid-column:span 4}
.layout-atlas.home .service-preview .service:last-child{grid-column:span 12}
.layout-atlas .service ul{padding-left:1.15rem}
.layout-atlas .service:target{outline:4px solid var(--accent);outline-offset:4px}
.layout-atlas .gallery-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1rem,2.5vw,2rem)}
.layout-atlas .gallery-grid figure{grid-column:span 4;clip-path:none;position:relative;margin:0 0 2rem}
.layout-atlas .gallery-grid figure:nth-child(1),.layout-atlas .gallery-grid figure:nth-child(6){grid-column:span 8}
.layout-atlas .gallery-grid figure:nth-child(4){grid-column:span 5}
.layout-atlas .gallery-grid figure:nth-child(5){grid-column:span 7}
.layout-atlas.home .gallery-preview .gallery-grid figure:last-child{grid-column:span 12}
.page-gallery .gallery-grid{display:block;columns:2;column-gap:clamp(1rem,2.5vw,2rem)}
.page-gallery .gallery-grid figure{display:inline-block;width:100%;break-inside:avoid;margin-bottom:2rem}
.page-gallery .gallery-grid figure:nth-child(3n) img{aspect-ratio:4/3}
.layout-atlas .gallery-grid img{aspect-ratio:16/10;border:1px solid var(--ink);object-fit:cover}
.layout-atlas .gallery-grid figure:nth-child(even) img{object-position:70% center}
.layout-atlas .gallery-grid figcaption{border-left:3px solid var(--accent);padding:.8rem 1rem;background:rgba(237,243,239,.95);font-size:.88rem}
.layout-atlas .people-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}
.layout-atlas .person{grid-column:span 3;border-radius:0;border:1px solid var(--ink);background:var(--surface);padding:0 1.25rem 1.5rem}
.layout-atlas .person:first-child{grid-column:span 6;display:grid;grid-template-columns:1fr 1fr;column-gap:1.5rem;align-items:start}
.layout-atlas .person:first-child .role-portrait{grid-row:1/8;height:100%}
.layout-atlas .person:nth-child(4){grid-column:1/-1;display:grid;grid-template-columns:260px 1fr;column-gap:1.5rem}
.layout-atlas .person:nth-child(4) .role-portrait{grid-row:1/8;width:100%;height:100%;margin:0;aspect-ratio:auto}
.layout-atlas .role-portrait{width:calc(100% + 2.5rem);max-width:none;margin:0 -1.25rem 1.25rem;aspect-ratio:4/3;object-fit:cover;border:0;border-bottom:1px solid var(--ink)}
.layout-atlas .person:first-child .role-portrait{width:100%;margin:0;aspect-ratio:auto}
.specialties{padding-top:.75rem;border-top:1px solid var(--ink);font-weight:800;color:var(--action)}
.layout-atlas .review-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem}
.layout-atlas .review{grid-column:span 4;border-radius:0;border:1px solid var(--ink);background:rgba(220,232,226,.9);padding:clamp(1.25rem,2vw,2rem)}
.layout-atlas .review:first-child{grid-column:span 8;font-size:1.2rem;border-left:12px solid var(--accent)}
.layout-atlas.home .proof .review:last-child{grid-column:span 12}
.layout-atlas .review cite{display:grid;gap:.4rem;margin-top:1.5rem;font-style:normal;color:var(--action)}
.layout-atlas .review time{color:var(--ink);font-size:.68rem}
.principle-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0}
.principle-list article{border-top:6px solid var(--action);background:var(--surface);padding:1.25rem}
.route-steps{counter-reset:route;list-style:none;padding:0;display:grid;gap:.75rem}
.route-steps li{border-left:4px solid var(--accent);padding:.8rem 1rem;background:rgba(220,232,226,.7)}
.coverage-stage{display:grid;grid-template-columns:1.25fr .75fr;gap:1rem;margin-block:2.5rem;align-items:stretch}
.coverage-stage img{width:100%;height:100%;min-height:360px;object-fit:cover;border:2px solid var(--ink)}
.coverage-stage img:first-child{background:var(--surface);padding:1rem}
.coverage-key article{border-top:8px solid var(--action);min-height:180px}
.layout-atlas .contact-grid>div:first-child img{height:100%;min-height:440px;object-fit:cover;border:1px solid var(--ink)}
.layout-atlas .faq-list details{border-radius:0;border-left:6px solid var(--action)}
.layout-atlas .subscribe{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.layout-atlas .site-footer{background:#d7e5de;position:relative}
.layout-atlas .site-footer::before{content:"NORTH  —  CENTRAL  —  SOUTH";display:block;max-width:1320px;margin:0 auto 2.5rem;padding-bottom:.8rem;border-bottom:5px double var(--action);letter-spacing:.18em;font-size:.7rem;font-weight:900}
@media(max-width:850px){
  .layout-atlas.home .hero-inner{grid-template-columns:1fr}
  .hero-map-stack{min-height:310px}
  .hero-map-stack .route-map{width:58%;box-shadow:-8px -8px 0 rgba(223,122,50,.82)}
  .layout-atlas.home .section{width:auto;margin-left:1rem!important;margin-right:0!important}
  .layout-atlas.home main::before{left:1rem}
  .layout-atlas .service,.layout-atlas .service-major,.layout-atlas .service-major+article,.layout-atlas .gallery-grid figure,.layout-atlas .gallery-grid figure:nth-child(n),.layout-atlas .person,.layout-atlas .person:first-child,.layout-atlas .review,.layout-atlas .review:first-child{grid-column:1/-1}
  .layout-atlas .person:first-child{display:block}
  .layout-atlas .person:nth-child(4){display:block}
  .layout-atlas .person:first-child .role-portrait{height:auto;aspect-ratio:4/3;width:calc(100% + 2.5rem);margin:0 -1.25rem 1.25rem}
  .layout-atlas .person:nth-child(4) .role-portrait{height:auto;aspect-ratio:4/3;width:calc(100% + 2.5rem);margin:0 -1.25rem 1.25rem}
  .principle-list{grid-template-columns:1fr}
  .page-gallery .gallery-grid{columns:1}
  .coverage-stage{grid-template-columns:1fr}.coverage-stage img{min-height:0;height:auto}
  .layout-atlas .gallery-grid img{aspect-ratio:4/3}
}
@media(max-width:420px){
  .hero-map-stack{min-height:270px}
  .hero-map-stack .route-map{width:64%;padding:.35rem}
  .layout-atlas .page-shell{border-left-width:2px}
  .layout-atlas h1{font-size:clamp(2.55rem,13vw,4rem)}
}

:root{--font-h:var(--catalog-font-heading);--font-b:var(--catalog-font-body)}
body{font-family:var(--font-b)}
/* Catalogue typography identity — headings and reading text. */
:root{--catalog-font-heading:'Oswald', 'Arial Narrow', Arial, sans-serif;--catalog-font-body:'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;--font-h:var(--catalog-font-heading);--font-b:var(--catalog-font-body)}
html body,input,select,textarea,button{font-family:var(--catalog-font-body)}
h1,h2,h3,h4,h5,h6,.display,.disp,.brand,.logo{font-family:var(--catalog-font-heading)}

/* aajwebz-mailto-nowrap — an address is one token, never split across lines */
a[href^="mailto:"] {
  overflow-wrap: normal;
  word-break: normal;
  white-space: nowrap;
  display: inline-block;
  max-width: 100%;
}
@media (max-width: 380px) {
  a[href^="mailto:"] { font-size: 0.88em; }
}
