@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,ul,p{margin:0}ul{padding:0}a{color:inherit;text-decoration:none}}@layer base{:root{--navy:#1a2238;--periwinkle:#9daaf2;--orange:#ff6a3d;--yellow:#f4db7d;--paper:#f7f4ea;--off-white:#f8f8fb;--ink-soft:#c8cce0;--line:#f4db7d3d;--page-gutter:clamp(1.25rem, 4vw, 4.5rem);--content-width:90rem;--serif:Georgia, "Times New Roman", serif;--sans:"Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif}html{scroll-behavior:smooth;background:var(--navy)}body{background:var(--navy);min-width:20rem;color:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:1rem;line-height:1.6}::selection{background:var(--yellow);color:var(--navy)}.skip-link{z-index:10;background:var(--yellow);color:var(--navy);padding:.65rem 1rem;font-weight:700;transition:transform .16s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}a:focus-visible{outline:3px solid var(--yellow);outline-offset:5px}}@layer components{.site-header{width:min(100%, var(--content-width));min-height:6rem;padding:1.25rem var(--page-gutter);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-inline:auto;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:.75rem;font-size:1.05rem;font-weight:700;display:inline-flex}.brand-mark{background:var(--orange);width:2.35rem;height:2.35rem;color:var(--navy);letter-spacing:.04em;place-items:center;font-size:.72rem;font-weight:800;display:grid}nav{align-items:center;gap:clamp(1rem,3vw,2.5rem);display:flex}nav a{align-items:center;min-height:2.75rem;font-size:.92rem;font-weight:600;display:inline-flex;position:relative}nav a:after{background:var(--orange);content:"";transform-origin:100%;height:2px;transition:transform .18s;position:absolute;inset:auto 0 0;transform:scaleX(0)}nav a:hover:after,nav a:focus-visible:after,nav a[aria-current=page]:after{transform-origin:0;transform:scaleX(1)}.github-link{color:var(--periwinkle);gap:.4rem}.hero{width:min(100%, var(--content-width));min-height:clamp(34rem,70vh,52rem);padding:clamp(5rem, 10vw, 9rem) var(--page-gutter);grid-template-columns:minmax(0,1.5fr) minmax(17rem,.5fr);align-items:center;gap:clamp(3rem,7vw,8rem);margin-inline:auto;display:grid}.eyebrow,.card-index{letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-weight:800}.hero .eyebrow{color:var(--yellow);margin-bottom:1.5rem}h1,h2{font-family:var(--serif);letter-spacing:-.045em;font-weight:400}h1{text-wrap:balance;max-width:14ch;font-size:clamp(3.2rem,7.2vw,7.5rem);line-height:.94}.hero-intro{max-width:34rem;color:var(--ink-soft);text-wrap:pretty;margin-top:2.2rem;font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.55}.signal{filter:drop-shadow(1rem 1rem #00000029);grid-template-columns:1fr .72fr;align-items:end;display:grid}.signal-block{color:var(--navy);flex-direction:column;justify-content:space-between;padding:1rem;line-height:1;display:flex}.signal-block span{font-size:.7rem;font-weight:800}.signal-block strong{font-family:var(--serif);font-size:clamp(1rem,1.7vw,1.45rem);font-weight:400}.signal-projects{aspect-ratio:1;background:var(--periwinkle)}.signal-articles{aspect-ratio:1;background:var(--yellow)}.signal-source{aspect-ratio:1;background:var(--orange);grid-column:2}.destinations{width:min(100%, var(--content-width));padding:0 var(--page-gutter) clamp(5rem, 10vw, 9rem);grid-template-columns:1.15fr .85fr;gap:clamp(1rem,2.2vw,2rem);margin-inline:auto;display:grid}.destination-card{min-height:clamp(25rem,42vw,37rem);color:var(--navy);grid-template-rows:auto 1fr auto;padding:clamp(1.5rem,3vw,3rem);transition:transform .18s,box-shadow .18s;display:grid;box-shadow:0 0 0 1px #1a22381a}.destination-card:hover{box-shadow:.65rem .65rem 0 var(--orange);transform:translate(-.35rem,-.35rem)}.destination-card:focus-visible{outline-color:var(--paper)}.projects-card{background:var(--periwinkle)}.articles-card{background:var(--yellow)}.card-content{align-self:end}.card-content strong{max-width:9ch;font-family:var(--serif);letter-spacing:-.045em;font-size:clamp(2.5rem,5vw,5.6rem);font-weight:400;line-height:.98;display:block}.card-content>span{max-width:31rem;margin-top:1.5rem;font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.55;display:block}.card-arrow{justify-self:end;font-size:clamp(2rem,4vw,4rem);line-height:1;transition:transform .18s}.destination-card:hover .card-arrow{transform:translate(.35rem)}.listing-hero{width:min(100%, var(--content-width));padding:clamp(5rem, 10vw, 9rem) var(--page-gutter);margin-inline:auto}.listing-hero .eyebrow{color:var(--yellow);margin-bottom:1.5rem}.listing-hero h1{max-width:13ch}.listing-hero>p:last-child{max-width:38rem;color:var(--ink-soft);text-wrap:pretty;margin-top:2.2rem;font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.55}.project-list{padding:clamp(4rem, 8vw, 7rem) max(var(--page-gutter), calc((100% - var(--content-width)) / 2 + var(--page-gutter)));background:var(--off-white);color:var(--navy)}.section-heading{justify-content:space-between;align-items:baseline;gap:2rem;margin-bottom:clamp(2.5rem,5vw,4.5rem);display:flex}.section-heading h2{font-size:clamp(2.5rem,5vw,5rem);line-height:1}.section-heading span,.project-index{letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-weight:800}.project-entry{border-top:1px solid #1a223838;grid-template-columns:4rem minmax(0,1fr) minmax(12rem,auto);align-items:start;gap:clamp(1.5rem,4vw,4rem);padding-block:clamp(2rem,4vw,3.5rem);display:grid}.project-entry:last-child{border-bottom:1px solid #1a223838}.project-summary h3{font-family:var(--serif);letter-spacing:-.04em;font-size:clamp(2rem,4vw,4rem);font-weight:400;line-height:1}.article-date{letter-spacing:.12em;text-transform:uppercase;margin-bottom:.8rem;font-size:.72rem;font-weight:800;display:block}.project-title-link{text-underline-offset:.12em;text-decoration:underline .08em #0000;transition:text-decoration-color .18s}.project-title-link:hover,.project-title-link:focus-visible{text-decoration-color:var(--orange)}.project-summary p{max-width:38rem;margin-top:1rem;font-size:clamp(1rem,1.3vw,1.15rem)}.tag-list{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;list-style:none;display:flex}.tag-list li{letter-spacing:.08em;text-transform:uppercase;border:1px solid #1a223852;padding:.35rem .65rem;font-size:.72rem;font-weight:700}.project-article-header{width:min(100%, var(--content-width));padding:clamp(3rem, 7vw, 6rem) var(--page-gutter) clamp(5rem, 10vw, 9rem);margin-inline:auto}.back-link{min-height:2.75rem;color:var(--periwinkle);align-items:center;margin-bottom:clamp(3rem,7vw,6rem);font-size:.85rem;font-weight:700;display:inline-flex}.back-link:hover{color:var(--paper)}.project-article-header .eyebrow{color:var(--yellow);margin-bottom:1.5rem}.project-article-header h1{max-width:16ch}.project-description{max-width:38rem;color:var(--ink-soft);margin-top:2rem;font-size:clamp(1.05rem,1.5vw,1.3rem)}.project-tags{justify-content:flex-start;margin-top:2rem}.project-tags li{color:var(--periwinkle);border-color:#9daaf28c}.project-body{padding:clamp(4rem, 8vw, 7rem) max(var(--page-gutter), calc((100% - var(--content-width)) / 2 + var(--page-gutter)));background:var(--off-white);color:var(--navy);font-family:var(--serif);font-size:clamp(1.12rem,1.5vw,1.3rem);line-height:1.75}.project-body>*{max-width:48rem}.project-body>*+*{margin-top:1.5em}.project-body code{font-size:.85em}.project-body h2,.project-body h3{font-family:var(--serif);letter-spacing:-.03em;margin-top:1.5em;font-weight:400;line-height:1.1}.project-body h2{font-size:clamp(2rem,4vw,3.5rem)}.project-body h3{font-size:clamp(1.5rem,3vw,2.4rem)}.project-body ul,.project-body ol{padding-left:1.4em}.project-body a{text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:.15em;font-weight:700}.about{padding:clamp(4.5rem, 9vw, 8rem) max(var(--page-gutter), calc((100% - var(--content-width)) / 2 + var(--page-gutter)));background:var(--off-white);color:var(--navy)}.about .eyebrow{margin-bottom:clamp(2.5rem,5vw,5rem)}.about-grid{grid-template-columns:minmax(0,1.2fr) minmax(17rem,.8fr);align-items:end;gap:clamp(3rem,9vw,9rem);display:grid}.about h2{max-width:13ch;font-size:clamp(2.8rem,6vw,6.3rem);line-height:.98}.about-grid p{max-width:32rem;font-size:clamp(1.1rem,1.7vw,1.35rem);line-height:1.55}footer{width:min(100%, var(--content-width));padding:2.5rem var(--page-gutter);color:var(--ink-soft);letter-spacing:.04em;justify-content:space-between;gap:2rem;margin-inline:auto;font-size:.8rem;display:flex}footer span:first-child{color:var(--paper);font-weight:700}}@layer responsive{@media (width<=52rem){.hero{grid-template-columns:1fr;min-height:auto}.signal{width:min(100%,25rem);margin-left:auto}.destinations,.about-grid{grid-template-columns:1fr}.destination-card{min-height:25rem}.about-grid{gap:2.5rem}.project-entry{grid-template-columns:3rem minmax(0,1fr)}.tag-list{grid-column:2;justify-content:flex-start}}@media (width<=38rem){.site-header{align-items:flex-start;min-height:auto}.brand>span:last-child{display:none}nav{gap:.85rem}nav a{font-size:.8rem}h1 br{display:none}.section-heading{align-items:flex-end}.project-entry{grid-template-columns:1fr}.tag-list{grid-column:1}.signal{width:min(85%,21rem)}.destination-card{min-height:22rem}footer{flex-direction:column;gap:.4rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}}
