:root{color-scheme:dark;--ink:#dcf34d;--text:#f3f7f9;--muted:#bdccd2;--paper:#10191f;--field:#18252d;--line:#3a4b54;--accent:#dcf34d;--heading:"Bricolage Grotesque",sans-serif;--body:"DM Sans",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--text);font:1rem/1.7 var(--body)}a{color:var(--ink);text-decoration-thickness:1px;text-underline-offset:4px}a:hover{color:#f3ffa7}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}h1,h2,h3,h4,h5,h6,p,figure{margin-top:0}h1,h2,h3,h4,h5,h6{font-family:var(--heading);font-weight:700;line-height:1.14;letter-spacing:-.035em;text-transform:none}h1{font-size:clamp(2.4rem,5.2vw,4.8rem);margin-bottom:1.5rem}h2{font-size:clamp(1.8rem,3vw,2.7rem)}h3{font-size:1.3rem;line-height:1.3;margin-bottom:.55rem}h4,h5,h6{font-size:1.15rem}img{max-width:100%;height:auto;display:block}.skip-link{position:absolute;left:1rem;top:-10rem;background:var(--accent);color:#10191f;padding:1rem;z-index:100}.skip-link:focus{top:1rem}.preview-note{font-size:.875rem;line-height:1.5;background:#202f37;color:#d3dee4;padding:.5rem 1rem;text-align:center}.site-header{max-width:1440px;margin:auto;padding:1.45rem 4%;display:flex;align-items:center;gap:2rem;border-bottom:1px solid var(--line)}.brand{display:block;min-width:13rem;color:var(--text);font:750 1.8rem/1.02 var(--heading);letter-spacing:-.055em;text-decoration:none}.brand strong{color:var(--accent);font-weight:800}.site-header nav{display:flex;gap:1.4rem;flex-wrap:wrap;margin-left:auto}.site-header nav a{font-size:.95rem;text-decoration:none;color:var(--text)}.site-header nav a[aria-current]{border-bottom:2px solid var(--accent)}.search-link{font-size:.95rem;border:1px solid var(--line);padding:.5rem .9rem;text-decoration:none;color:var(--text)}.menu-toggle{display:none;color:var(--text)}main{max-width:1360px;margin:auto}.eyebrow{font-size:.875rem;letter-spacing:.035em;text-transform:none;font-weight:600;color:var(--accent);margin-bottom:1.1rem}.lede{font-size:1.15rem;line-height:1.7;max-width:43rem;color:#d1dde2}.trailmark-hero{position:relative;isolation:isolate;min-height:38rem;margin:1.3rem 2.5% 0;overflow:hidden;background:#1d2a32}.trailmark-hero .hero-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:brightness(.67)}.trailmark-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,18,24,.93) 0%,rgba(8,18,24,.75) 35%,rgba(8,18,24,.08) 90%)}.hero-copy{padding:3rem 4%;max-width:48rem}.hero-copy h1{font-size:clamp(3.1rem,5.8vw,5.2rem);line-height:1.01;letter-spacing:-.055em;font-weight:800;margin-bottom:1.6rem}.hero-copy h1 span{color:var(--accent)}.hero-copy .lede{max-width:31rem;font-size:1.1rem}.hero-copy .button{margin-bottom:1.2rem}.hero-copy .secondary-action{display:inline-block;margin-left:1.4rem;color:var(--text);font-size:.95rem}.hero-caption{position:absolute;bottom:1rem;right:1.4rem;max-width:18rem;margin:0;font-size:.875rem;line-height:1.5;color:var(--text);background:rgba(9,18,23,.9);padding:.55rem .75rem}.home-search-band{padding:1.9rem 6.5% 0}.home-search-band .search-form{max-width:45rem}.search-form label{display:block;font-size:.95rem;margin-bottom:.6rem;font-weight:500}.search-form>div{display:flex;margin-bottom:1rem}.search-form input{border:1px solid #687c87;border-right:none;min-width:0;flex:1;padding:.9rem;background:#18262f;color:var(--text);border-radius:0}.search-form input::placeholder{color:#b7c6ce}.search-form button,.button{display:inline-block;border:1px solid var(--accent);background:var(--accent);color:#142014;padding:.85rem 1.2rem;text-decoration:none;border-radius:0;font-weight:600;cursor:pointer;text-transform:none}.search-form select{border:1px solid #687c87;padding:.65rem .8rem;width:min(100%,25rem);background:#18262f;color:var(--text)}.intro{padding:4.5rem 4% 2rem;max-width:1050px}.section-wrap{padding:3rem 4%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2rem}.section-heading h2{margin:0}.topic-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0 4%;gap:1.6rem;margin:2rem 0 1rem}.section-wrap .topic-links{padding:0}.topic-links>a{display:block;border-top:2px solid var(--line);padding:1rem 0;text-decoration:none;color:var(--text)}.topic-links>a:hover{border-color:var(--accent)}.topic-number{display:block;font-size:.9rem;color:var(--accent);margin-bottom:1rem}.topic-links h3{font-size:1.25rem}.topic-links p{font-size:.875rem;color:var(--muted);margin-top:.5rem}.library-row{display:grid;grid-template-columns:7rem minmax(0,1fr) 12rem;gap:1.2rem;padding:1.5rem 0;border-top:1px solid var(--line);align-items:start}.library-row h3 a{text-decoration:none;color:var(--text)}.library-row h3 a:hover{color:var(--accent)}.library-row p{color:var(--muted);font-size:.95rem;margin:0;max-width:55rem}.row-kind,.row-topic{font-size:.875rem;color:var(--muted);padding-top:.25rem}.row-kind{color:var(--accent)}.row-topic{text-align:right}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.project-card{min-width:0}.project-card figure{margin:0 0 1.3rem}.project-card img{width:100%;height:19rem;object-fit:cover;background:#18252d}.project-card figcaption{font-size:.875rem;color:var(--muted);margin-top:.5rem}.project-card h3 a{color:var(--text);text-decoration:none}.project-card p{color:var(--muted);margin-bottom:.8rem}.diary-band{background:var(--field);color:var(--text);border-top:3px solid var(--accent);display:grid;grid-template-columns:1fr 1.5fr;gap:3rem;padding:3.5rem;margin:3rem 4%}.diary-band h2{font-size:2.7rem}.diary-band .library-row{grid-template-columns:1fr}.diary-band .row-topic{display:none}.diary-band .row-kind{font-size:.875rem;padding:0}.button.light{background:var(--accent);color:#142014}.article-heading{padding:3rem 4% 1.5rem;max-width:1150px}.article-heading h1{font-size:clamp(2.1rem,4.1vw,3.7rem);max-width:1000px;line-height:1.12}.breadcrumbs,.article-meta{color:var(--muted);font-size:.9rem}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 17rem;gap:4rem;padding:0 4% 3rem;max-width:1220px}.article-body{max-width:760px;font-size:1.0625rem;line-height:1.85;overflow-wrap:anywhere;min-width:0}.article-body h2{font-size:2rem;margin-top:2.5rem}.article-body h3{font-size:1.4rem;margin-top:2rem}.article-body p{margin-bottom:1.5rem}.article-body li{padding-left:.3rem;margin:.5rem 0}.article-body ol,.article-body ul{padding-left:1.6rem}.article-body blockquote{margin:2rem 0;padding-left:1.5rem;border-left:3px solid var(--accent);color:#d1dde2}.article-body code{font-size:.95rem;background:var(--field)}.article-body pre{overflow:auto;padding:1rem;background:var(--field);white-space:pre-wrap}.article-body figure{margin:2rem 0}.article-body figcaption{font-size:.875rem;color:var(--muted);line-height:1.5;margin-top:.7rem}.featured-illustration img{width:100%;max-height:25rem;object-fit:cover}.reference-figure img{max-height:70rem;object-fit:contain;margin:auto;background:#fff}.article-body table{border-collapse:collapse;display:block;overflow:auto;width:100%;font-size:1rem;margin:1.5rem 0}.article-body td,.article-body th{border:1px solid var(--line);padding:.65rem;min-width:6rem;text-align:left;vertical-align:top}.article-sidebar{border-top:2px solid var(--accent);padding-top:1rem}.article-sidebar h2{font:700 1.05rem/1.4 var(--heading);letter-spacing:-.02em}.article-sidebar nav a{display:block;font-size:.9rem;line-height:1.5;margin:.9rem 0;text-decoration:none;color:var(--muted)}.article-sidebar nav a:hover{color:var(--accent)}.sidebar-library{display:block;margin-top:2rem;font-weight:600}.resource-link,.asset-note{padding:1rem;border-left:3px solid var(--line);font-size:1rem}.resource-layout{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:4rem;padding:1rem 4% 3rem}.resource-layout aside a{display:block;margin:1rem 0}.related{background:var(--field)}footer{border-top:1px solid var(--line);max-width:1360px;padding:3rem 4%;margin:3rem auto 0;font-size:.95rem}.footer-brand{font:750 1.45rem/1.15 var(--heading);text-decoration:none;color:var(--text)}footer>div{display:flex;gap:1.5rem;flex-wrap:wrap;margin:1.5rem 0}.muted{color:var(--muted);font-size:.9rem}.search-match{margin-top:1rem}.search-match .row-topic{display:none}.contact-email{font-size:clamp(1.05rem,2.5vw,1.6rem);overflow-wrap:anywhere}.technical-review-note{font-size:.95rem;border-left:3px solid var(--accent);padding:.8rem 1rem;background:var(--field)}
@media(max-width:1100px){.site-header{gap:1.3rem}.site-header nav{gap:.8rem}.brand{min-width:10rem;font-size:1.65rem}.library-row{grid-template-columns:6rem minmax(0,1fr) 10rem}.topic-links{grid-template-columns:repeat(3,minmax(0,1fr))}.diary-band{padding:3rem;gap:2rem}.article-layout{gap:2rem}.hero-caption{max-width:14rem}}
@media(max-width:760px){.site-header{flex-wrap:wrap;padding:1rem 5%}.brand{margin-right:auto}.menu-toggle{display:block;background:none;border:1px solid var(--line);padding:.5rem .8rem}.site-header nav{display:none;order:4;width:100%;margin:0;flex-direction:column;gap:.5rem}.site-header nav.open{display:flex}.site-header nav a{padding:.6rem 0}.trailmark-hero{margin:1rem 3% 0;min-height:40rem}.trailmark-hero .hero-photo{object-position:65% center;filter:brightness(.5)}.trailmark-hero:after{background:linear-gradient(90deg,rgba(8,18,24,.8),rgba(8,18,24,.1))}.hero-copy{padding:2.4rem 6% 4.5rem}.hero-copy h1{font-size:clamp(2.7rem,9vw,4.3rem)}.hero-copy .lede{font-size:1.05rem}.hero-copy .secondary-action{display:block;margin:0}.hero-caption{left:6%;right:auto;max-width:88%;font-size:.875rem}.home-search-band{padding:1.8rem 5% 0}.intro{padding:3rem 5% 1rem}.section-wrap{padding:2rem 5%}.topic-links{grid-template-columns:1fr 1fr;gap:1.1rem;padding:0 5%}.topic-links h3{font-size:1.1rem}.library-row{grid-template-columns:1fr;gap:.5rem;padding:1.2rem 0}.row-topic{text-align:left}.section-heading{align-items:start;flex-direction:column}.project-grid{grid-template-columns:1fr;gap:2.5rem}.project-card img{height:auto;max-height:24rem;object-fit:cover}.diary-band{grid-template-columns:1fr;padding:2rem 1.4rem;gap:1.5rem;margin:2rem 5%}.diary-band h2{font-size:2.25rem}.article-layout{display:flex;flex-direction:column;padding:0 5% 2rem;gap:2rem}.article-sidebar{order:-1;max-height:none}.article-sidebar nav{display:flex;flex-wrap:wrap;gap:.7rem}.article-sidebar nav a{border:1px solid var(--line);padding:.5rem .6rem;margin:0}.article-sidebar .sidebar-library{display:none}.article-heading{padding:2rem 5% 1rem}.article-body{font-size:1.0625rem}.article-body table{font-size:.95rem}.resource-layout{grid-template-columns:1fr;padding:0 5% 2rem;gap:2rem}.search-form input{padding:.8rem .65rem}.search-form button{padding:.8rem .9rem}.preview-note{font-size:.875rem}footer{padding:2rem 5%}.article-heading h1{font-size:clamp(1.9rem,7vw,3rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{body{background:white;color:#111}.site-header,.preview-note,.article-sidebar,footer{display:none}.article-layout{display:block}.article-body{max-width:none}.featured-illustration{display:none}.article-body a{color:#111}}

/* Allow large text to reflow without clipping content or creating page-wide scrolling. */
h1,h2,h3,h4,h5,h6,a{overflow-wrap:anywhere}
.diary-band>div,.article-sidebar,.topic-links>a{min-width:0}
.article-sidebar nav a{max-width:100%;min-width:0}
@media(max-width:760px){.topic-links{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}}

.library-row h2{font-size:1.3rem;line-height:1.3;margin-top:0;margin-bottom:.55rem}.library-row :is(h2,h3) a{text-decoration:none;color:var(--text)}.library-row :is(h2,h3) a:hover{color:var(--accent)}

/* Project Product Cards */
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.4rem 0 2rem}.product-card{min-width:0;border:1px solid var(--line);background:var(--field);display:flex;flex-direction:column;overflow:hidden}.product-copy{padding:1.15rem;display:flex;flex-direction:column;flex:1;gap:1rem}.article-body .product-card h3{font-size:1.12rem;line-height:1.45;margin:0;letter-spacing:-.02em}.product-card .button{font-size:.94rem;line-height:1.4;margin-top:auto;align-self:flex-start}.product-image{display:block;background:#fff;padding:1rem}.product-image img{width:100%;height:12rem;object-fit:contain;display:block}.product-quantity{font-size:.95rem;color:var(--muted)}.product-quantity ul{margin:0;padding-left:1.3rem}.affiliate-disclosure{font-size:.95rem;padding:.9rem 1rem;border-left:3px solid var(--accent);background:var(--field);line-height:1.5}.trailmark-hero .hero-photo{filter:brightness(.92);object-position:center center}.trailmark-hero:after{background:linear-gradient(90deg,rgba(8,18,24,.88) 0%,rgba(8,18,24,.65) 35%,rgba(8,18,24,.04) 80%)}
@media(max-width:760px){.trailmark-hero .hero-photo{object-position:72% center;filter:brightness(.68)}.trailmark-hero:after{background:linear-gradient(180deg,rgba(8,18,24,.5),rgba(8,18,24,.4))}}
@media(max-width:540px){.product-grid{grid-template-columns:1fr}.product-image img{height:13rem}}
/* Recovered Later Day Layout */
.day-entry .day-section{padding:1.4rem 0;border-bottom:1px solid var(--line);margin:0}.day-entry .day-section>h2{margin:0 0 1.2rem}.day-entry .day-project-status,.day-entry .day-time-spent{padding:1rem 1.2rem;background:var(--field);border:1px solid var(--line);margin:1rem 0}.day-entry .day-project-status h2,.day-entry .day-time-spent h2{font-size:1.05rem;margin-bottom:.6rem}.day-entry .product-card{flex-direction:row;align-items:flex-start}.day-entry .product-image{width:108px;flex:0 0 108px;padding:.5rem;margin:1rem 0 1rem 1rem}.day-entry .product-image img{width:100%;height:104px;object-fit:contain}.day-entry .product-copy{padding:1rem;min-width:0;gap:.7rem}.day-entry .product-card h3{font-size:1rem;line-height:1.45}.day-entry .product-card .button{font-size:.85rem;padding:.7rem .8rem}.day-entry .product-description{font-size:.9rem;line-height:1.5;margin:0}.day-entry .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1080px){.day-entry .product-grid{grid-template-columns:1fr}}@media(max-width:540px){.day-entry .product-image{width:86px;flex-basis:86px;margin:.85rem 0 .85rem .85rem}.day-entry .product-image img{height:86px}.day-entry .product-copy{padding:.85rem}}

/* Keep recovered reference URLs inside library cards on narrow screens. */
.library-row>div,.library-row>.row-kind,.library-row>.row-topic{min-width:0}.library-row p{overflow-wrap:anywhere}
