:root{--ink:#09151d;--ink-soft:#142631;--paper:#f4f7f8;--white:#fff;--muted:#596c78;--line:#d2dde2;--blue:#067ba0;--cyan:#25c2ed;--gold:#c4a05c;--max:1280px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1rem;line-height:1.65}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:5px}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.1;text-wrap:balance}p{text-wrap:pretty}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:6px}.wrap{max-width:var(--max);margin-inline:auto;padding-inline:32px}.eyebrow{font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;font-weight:750;color:var(--blue);margin-bottom:22px}.skip-link{position:fixed;top:-100px;left:16px;padding:12px;background:#fff;z-index:99}.skip-link:focus{top:12px}.site-header{min-height:84px;background:var(--ink);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:18px max(32px,calc((100vw - var(--max))/2 + 32px));gap:24px;border-bottom:1px solid #2c3c46;position:relative;z-index:20}.brand{text-decoration:none;display:flex;align-items:center;gap:18px;flex-shrink:0}.brand-mark{font-size:2rem;font-weight:850;letter-spacing:-.06em}.brand-mark span{color:var(--cyan);margin-left:6px}.brand-caption{font-size:.75rem;letter-spacing:.11em;max-width:96px;line-height:1.5}.site-header nav{display:flex;align-items:center;gap:28px}.site-header nav a{text-decoration:none;color:#d7e2e8;font-size:.88rem}.site-header nav a:hover{color:var(--cyan)}.menu-button{display:none;border:1px solid #8496a0;background:transparent;color:#fff;padding:8px 16px}.hero{display:grid;grid-template-columns:1fr 1fr;color:#fff;background:var(--ink)}.hero-copy{padding:70px 48px 40px max(32px,calc((100vw - var(--max))/2 + 32px))}.hero .eyebrow{color:var(--cyan);max-width:340px}.hero h1{font-size:clamp(2.9rem,4.8vw,5.2rem);font-weight:750;letter-spacing:-.045em;line-height:1.04;margin-bottom:26px}.hero h1 em{font-weight:400;font-style:normal;color:var(--gold)}.hero-lead{font-size:1.125rem;color:#b9cbd5;max-width:490px;line-height:1.7;margin-bottom:24px}.text-link{display:inline-flex;align-items:center;gap:20px;font-weight:650;font-size:.97rem;text-decoration:none;border-bottom:1px solid currentColor;padding-block:6px}.hero .text-link{color:var(--cyan)}.hero-index{display:flex;gap:30px;margin-top:52px;font-size:.76rem;color:#a4b6c1}.hero-index b{display:block;color:#e7eef2;font-size:.85rem;font-weight:450;margin-top:2px}.hero-media{position:relative;margin:0;min-height:530px;overflow:hidden;background:#263d37}.hero-media>img{width:100%;height:100%;object-fit:cover;object-position:49% center}.hero-media figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.8));padding:65px 30px 25px;font-size:.8rem;letter-spacing:.09em;color:#fff}.hero-media figcaption span{display:block;color:#d6e1e7;font-size:.72rem;margin-top:4px}.projects-section{padding-top:85px;padding-bottom:95px}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:62px}.section-heading h2{font-size:clamp(2.1rem,3.5vw,3.7rem);letter-spacing:-.04em;margin:0}.section-heading>p{color:var(--muted);font-size:1.08rem;max-width:475px;margin-bottom:4px}.list-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding-bottom:18px;border-bottom:2px solid var(--ink)}.list-heading h2{font-size:1.15rem;margin:0}.list-heading>span{font-size:.8rem;letter-spacing:.08em;color:var(--muted)}.project-row{display:grid;grid-template-columns:40px 1.2fr 1.3fr 150px max-content;align-items:center;gap:22px;padding:28px 10px 28px 0;text-decoration:none;border-bottom:1px solid var(--line);transition:background .15s}.project-row:hover{background:#e6f0f4}.project-number{font-size:.85rem;color:var(--blue);font-variant-numeric:tabular-nums;align-self:start;padding-top:3px}.project-name h3{font-size:1.18rem;font-weight:680;letter-spacing:-.025em;margin-bottom:7px}.project-name>span{font-size:.83rem;color:var(--muted)}.project-row>p{font-size:.94rem;color:var(--muted);margin:0;line-height:1.6}.project-family{justify-self:start;font-size:.76rem;line-height:1.5;background:#e1ebef;color:#385867;padding:5px 9px}.project-cta{display:inline-flex;align-items:center;gap:7px;justify-self:end;font-size:.83rem;font-weight:650;color:var(--blue);white-space:nowrap}.project-row:hover .project-cta,.project-row:focus-visible .project-cta{text-decoration:underline;text-underline-offset:4px}.project-row.pending .project-family{background:transparent;border:1px solid #aebfc8}.list-note{font-size:.93rem;color:var(--muted);margin-top:18px}.workshop-break{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin:76px 0;background:var(--ink);color:#fff}.workshop-break figure{margin:0;height:360px}.workshop-break img{width:100%;height:100%;object-fit:cover}.workshop-break>div{padding:32px 42px 32px 0}.workshop-break .eyebrow{color:var(--cyan)}.workshop-break h2{font-size:clamp(1.9rem,3vw,3rem);letter-spacing:-.035em}.workshop-break p:not(.eyebrow){color:#b8cbd6;font-size:.97rem}.workshop-break .text-link{color:var(--cyan)}.about-section{background:#e5edf1;padding-block:76px}.about-layout{display:grid;grid-template-columns:300px 1fr;gap:90px;align-items:center}.about-layout figure{margin:0}.about-layout img{aspect-ratio:1;object-fit:cover;object-position:center}.about-layout h2{font-size:clamp(2.1rem,3.5vw,3.5rem);letter-spacing:-.04em}.about-layout p{max-width:690px;color:#425b69}.about-layout .eyebrow{color:var(--blue)}.elsewhere{padding-top:72px;padding-bottom:78px}.elsewhere-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}.elsewhere-grid>a{text-decoration:none;border-top:1px solid #9aafb9;padding-top:24px}.elsewhere-grid>a:hover h2{color:var(--blue)}.elsewhere-grid span{font-size:.85rem;color:var(--muted)}.elsewhere-grid h2{font-size:1.8rem;letter-spacing:-.03em;margin:14px 0}.elsewhere-grid p{font-size:1rem;color:var(--muted);max-width:440px}.site-footer{background:var(--ink);color:#fff;padding:44px max(32px,calc((100vw - var(--max))/2 + 32px));display:grid;grid-template-columns:1fr auto;gap:24px}.footer-brand{text-decoration:none;font-size:.86rem;letter-spacing:.07em;font-weight:700}.site-footer p{font-size:.85rem;color:#a7bbc7;margin:10px 0 0}.site-footer nav{display:flex;gap:24px;align-items:start;font-size:.85rem}.site-footer nav a{text-decoration:none}.site-footer .copyright{grid-column:1/-1;color:#8da5b4;font-size:.78rem}.article-top{padding-top:38px;padding-bottom:54px}.back-link{font-size:.88rem;color:var(--muted);text-decoration:none}.article-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;margin-top:42px;align-items:end}.article-heading h1{font-size:clamp(2.5rem,4.6vw,4.5rem);letter-spacing:-.045em;margin-bottom:18px}.article-heading .eyebrow{margin-bottom:20px}.article-subtitle{color:var(--blue);font-size:1rem;margin:0}.article-intro{font-size:1.14rem;color:var(--muted);margin:0;line-height:1.7}.article-hero{margin:0;background:#dae5e9;max-height:580px;overflow:hidden}.article-hero img{width:100%;height:510px;object-fit:contain}.article-hero.portrait img{height:480px;padding:24px}.article-layout{display:grid;grid-template-columns:245px minmax(0,800px);gap:70px;padding-top:65px;padding-bottom:60px;justify-content:space-between}.article-aside{font-size:.87rem;color:var(--muted)}.article-aside .eyebrow{margin-bottom:18px}.article-aside p{margin-bottom:8px}.article-aside a{display:block;margin-top:28px}.prose{font-size:1.07rem;line-height:1.85;min-width:0}.prose h2{font-size:2rem;letter-spacing:-.035em;margin-top:45px;margin-bottom:22px}.prose h2:first-child{margin-top:0}.prose h3{font-size:1.3rem;margin-top:36px;margin-bottom:16px}.prose p,.prose li{color:#334f5e}.prose a{color:var(--blue)}.prose li{padding-left:5px;margin:9px 0}.prose figure{margin:34px 0;background:#e5edf1}.prose figure img{width:100%;max-height:640px;object-fit:contain}.prose figcaption{font-size:.85rem;color:var(--muted);line-height:1.55;padding:16px}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.photo-pair img{height:270px!important;object-fit:cover!important}.technical-figure{background:#fff!important}.article-contents{display:flex;flex-wrap:wrap;gap:8px 24px;padding:20px 0;border-block:1px solid var(--line);margin-bottom:40px;font-size:.9rem}.prose section{margin-bottom:65px;scroll-margin-top:40px}.prose section>.eyebrow{margin:40px 0 14px}.prose section>.eyebrow+h2{margin-top:0}.table-wrap{overflow-x:auto;margin:26px 0;border:1px solid #bcced7}table{width:100%;border-collapse:collapse;font-size:.94rem;line-height:1.55}th,td{text-align:left;vertical-align:top;padding:12px 15px;border-bottom:1px solid var(--line)}th{background:var(--ink);color:#fff;font-weight:600}tr:last-child td{border:0}tbody tr:nth-child(even){background:#eaf0f3}.pending-note{padding:34px;background:#e5edf1;border-left:3px solid var(--blue)}.pending-note h2{margin-top:0}.stage{color:var(--blue)}.article-end{margin-top:55px;border-top:1px solid var(--line);padding-top:25px;font-size:.92rem}.next-project{border-top:1px solid var(--line);padding-top:32px;padding-bottom:54px;display:flex;justify-content:space-between;align-items:center;gap:20px}.next-project>span{font-size:.88rem;color:var(--muted)}.next-project a{text-decoration:none;font-size:1.35rem;font-weight:600}.not-found{padding-block:100px;min-height:55vh}.not-found h1{font-size:3rem;max-width:700px}
@media(min-width:1600px){.hero-media{max-height:640px}}
@media(max-width:1050px){.brand-caption{display:none}.site-header nav{gap:20px}.hero-copy{padding-right:30px}.hero-index{display:block;margin-top:32px}.hero-index>span{display:block;margin-top:12px}.project-row{grid-template-columns:30px 1.1fr 1.2fr 110px max-content;gap:15px}.workshop-break{gap:32px}.about-layout{gap:45px;grid-template-columns:260px 1fr}.article-layout{grid-template-columns:180px minmax(0,1fr);gap:40px}.article-heading{gap:40px}}
@media(max-width:760px){html{scroll-padding-top:20px}.wrap{padding-inline:22px}.site-header{padding:15px 22px;min-height:72px;flex-wrap:wrap}.brand-caption{display:block}.menu-button{display:block}.site-header nav{display:none;width:100%;flex-direction:column;align-items:start;padding:16px 0;gap:20px}.site-header nav.is-open{display:flex}.site-header:has(.menu-button[aria-expanded="false"]) nav{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:40px 22px 34px}.hero h1{font-size:clamp(2.8rem,9vw,4.5rem)}.hero .eyebrow{font-size:.75rem;max-width:none}.hero-lead{font-size:1.03rem}.hero-index{display:flex;gap:36px;margin-top:20px}.hero-index>span{max-width:150px}.hero-media{min-height:0;height:360px}.hero-media img{object-position:center 55%}.hero-media figcaption{padding:60px 22px 20px}.projects-section{padding-top:48px;padding-bottom:54px}.section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:38px}.section-heading h2{font-size:2.5rem}.section-heading>p{font-size:1rem}.project-row{grid-template-columns:28px minmax(0,1fr) max-content;gap:8px 13px;padding:24px 0}.project-number{grid-column:1;grid-row:1}.project-name{grid-column:2/4;grid-row:1}.project-cta{grid-column:3;grid-row:3;margin-top:4px}.project-row>p{grid-column:2/4;font-size:.94rem;margin-top:5px}.project-family{grid-column:2;grid-row:3;margin-top:4px;font-size:.76rem}.project-name h3{font-size:1.15rem}.workshop-break{grid-template-columns:1fr;gap:0;margin:44px 0}.workshop-break figure{height:285px}.workshop-break>div{padding:30px 25px}.workshop-break h2{font-size:2.1rem}.list-heading h2{font-size:1.06rem}.about-section{padding-block:45px}.about-layout{grid-template-columns:1fr;gap:28px}.about-layout figure{width:165px}.about-layout h2{font-size:2.35rem}.elsewhere{padding-top:45px;padding-bottom:38px}.elsewhere-grid{grid-template-columns:1fr;gap:24px}.site-footer{padding:32px 22px;grid-template-columns:1fr;gap:18px}.site-footer nav{flex-wrap:wrap;gap:15px 24px}.article-top{padding-top:24px;padding-bottom:32px}.article-heading{grid-template-columns:1fr;gap:24px;margin-top:30px}.article-heading h1{font-size:2.7rem;overflow-wrap:anywhere}.article-intro{font-size:1.07rem}.article-hero img{height:310px}.article-hero.portrait img{height:400px}.article-layout{grid-template-columns:1fr;gap:30px;padding-top:32px;padding-bottom:34px}.article-aside{border-bottom:1px solid var(--line);padding-bottom:22px}.article-aside a{margin-top:10px}.prose{font-size:1rem;line-height:1.8}.prose h2{font-size:1.8rem}.photo-pair{grid-template-columns:1fr;gap:0}.prose figure{margin:22px 0}.table-wrap{margin-inline:0}th,td{padding:10px;font-size:.87rem}.pending-note{padding:24px}.next-project{flex-direction:column;align-items:start;padding-bottom:38px}.next-project a{font-size:1.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Show the complete GPX kit, including every connector. */
.keyless-feature{margin-top:0}.keyless-feature figure{height:auto;align-self:stretch;background:#eeefec;display:flex;align-items:center}.keyless-feature figure a{display:block;width:100%}.keyless-feature img{height:auto;object-fit:contain}.keyless-feature>div{min-width:0}.keyless-feature .text-link{overflow-wrap:anywhere}

/* A modal photo viewer preserves the article and its scroll position. */
html.image-viewer-open{overflow:hidden}
.image-viewer{position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#fff;overflow:hidden}
.image-viewer[open]{display:flex;flex-direction:column}
.image-viewer::backdrop{background:rgba(4,12,18,.95)}
.image-viewer-toolbar{display:flex;justify-content:flex-end;gap:12px;padding:16px;flex-shrink:0;background:#09151d}
.image-viewer-toolbar button{min-height:44px;padding:9px 16px;border:1px solid #7d98a8;background:#142631;color:#fff;cursor:pointer;font-size:.95rem}
.image-viewer-toolbar button:hover{background:#254352}
.image-viewer-toolbar button:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
.image-viewer-stage{display:flex;flex:1;min-height:0;overflow:auto;padding:20px;overscroll-behavior:contain}
.image-viewer-stage img{flex-shrink:0;display:block;margin:auto;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.image-viewer.is-zoomed .image-viewer-stage img{max-width:none;max-height:none}
@media(max-width:760px){.image-viewer-toolbar{padding:10px;gap:8px;justify-content:space-between}.image-viewer-toolbar button{padding:9px 12px;font-size:.88rem}.image-viewer-stage{padding:10px}}

.youtube-video{aspect-ratio:16/9;width:100%;background:var(--ink);margin:30px 0 12px}.youtube-video iframe{display:block;width:100%;height:100%;border:0}.prose .video-caption{font-size:.9rem;color:var(--muted);margin-bottom:36px}

.ownership-notes{margin:0 0 48px;font-size:1rem;line-height:1.8}.ownership-notes>p:first-child{max-width:850px;margin-bottom:30px}.ownership-columns{display:grid;grid-template-columns:1fr 1fr;gap:48px}.ownership-columns h3{font-size:1.3rem;margin-bottom:20px}.ownership-columns ul{margin:0;padding-left:22px}.ownership-columns li{padding-left:4px;margin-bottom:15px}.ownership-notes a{color:var(--blue)}.ownership-verdict{border-bottom:1px solid var(--line);padding-bottom:24px;margin-top:24px;margin-bottom:0}@media(max-width:760px){.ownership-columns{grid-template-columns:1fr;gap:24px}.ownership-notes{margin-bottom:36px}}

.project-log-banner{display:flex;align-items:center;justify-content:space-between;gap:32px;margin:28px 0 42px;padding:30px 34px;background:#ffc247;color:#211707;border:2px solid #dea02a;border-radius:10px;box-shadow:0 8px 0 #211707,0 16px 28px #09151d18;text-decoration:none}.project-log-banner strong{display:block;font-size:clamp(1.6rem,2.8vw,2.1rem);line-height:1.2;margin:14px 0 10px;letter-spacing:-.035em}.project-log-label{display:inline-block;padding:5px 9px;border:1px solid #735215;border-radius:4px;font-size:.75rem;font-weight:850;letter-spacing:.1em;color:#3d2a08}.project-log-detail{display:block;color:#48320e;font-size:1rem;max-width:620px}.project-log-destination{display:flex;flex-direction:column;align-items:center;gap:12px;flex-shrink:0}.project-log-address{font-size:.875rem;font-weight:700;color:#48320e}.project-log-action{display:block;padding:14px 20px;background:#211707;color:#fff;font-weight:800;font-size:1rem;border-radius:5px}.project-log-banner:hover{background:#ffcf6b}.project-log-banner:hover .project-log-action{background:#49310b}.project-log-banner:focus-visible{outline:3px solid #09151d;outline-offset:7px}@media(max-width:760px){.project-log-banner{align-items:flex-start;flex-direction:column;padding:24px 21px;gap:24px}.project-log-destination{align-items:flex-start;max-width:100%}.project-log-action{padding:13px 16px}}
