:root {
  --o-hi:   #EE9636;   
  --o-0:    #E3871A;   
  --o-1:    #CF7710;   
  --o-2:    #9C5008;   
  --o-deep: #863907;   

  --nature:      #5b8c5a;                 
  --nature-line: rgba(255,238,212,.06);   
  --trail:       #b98a4e;                 

  --g-0:    #004A45;   
  --g-1:    #00453F;   
  --g-2:    #00362F;   
  --g-post: #005049;   
  --g-r:    #002E29;   

  --glass-bg:   rgba(255,255,255,.12);
  --glass-bg-2: rgba(255,255,255,.05);
  --glass-brd:  rgba(255,255,255,.28);
  --glass-hi:   rgba(255,255,255,.6);     

  --ink:   #ffffff;
  --muted: rgba(255,255,255,.82);

  --font-display: "Fraunces", Georgia, "Times New Roman", serif;
  --font-ui:      "Assistant", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-text:    var(--font-ui);
  --fraunces-axes: "opsz" 96, "SOFT" 30, "WONK" 1;

  --check-on-green: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 26 26"%3E%3Cpath d="M8 17.4H18c3.4 0 5.4-2.4 5-5-.3-1.8-1.5-2.9-2.6-3.4.5-4.2-2.8-7-7.4-7s-7.9 2.8-7.4 7C4.5 9.5 3.3 10.6 3 12.4c-.4 2.6 1.6 5 5 5z" fill="%23E3871A"/%3E%3Cpath d="M13 17.4V24.6" stroke="%23E3871A" stroke-width="1.9" stroke-linecap="round"/%3E%3Cpath d="M8.8 10.4l2.9 2.9 5.4-5.7" fill="none" stroke="%23fff" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/%3E%3C/svg%3E');
  --check-on-orange: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 26 26"%3E%3Cdefs%3E%3Cmask id="c"%3E%3Crect width="26" height="26" fill="%23fff"/%3E%3Cpath d="M8.8 10.4l2.9 2.9 5.4-5.7" fill="none" stroke="%23000" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/%3E%3C/mask%3E%3C/defs%3E%3Cpath d="M8 17.4H18c3.4 0 5.4-2.4 5-5-.3-1.8-1.5-2.9-2.6-3.4.5-4.2-2.8-7-7.4-7s-7.9 2.8-7.4 7C4.5 9.5 3.3 10.6 3 12.4c-.4 2.6 1.6 5 5 5z" fill="%23fff" mask="url(%2523c)"/%3E%3Cpath d="M13 17.4V24.6" stroke="%23fff" stroke-width="1.9" stroke-linecap="round"/%3E%3C/svg%3E');
  --check-empty-on-green: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 26 26"%3E%3Cpath d="M8 17.4H18c3.4 0 5.4-2.4 5-5-.3-1.8-1.5-2.9-2.6-3.4.5-4.2-2.8-7-7.4-7s-7.9 2.8-7.4 7C4.5 9.5 3.3 10.6 3 12.4c-.4 2.6 1.6 5 5 5z" fill="none" stroke="%23E3871A" stroke-width="1.7" stroke-linejoin="round"/%3E%3Cpath d="M13 17.4V24.6" stroke="%23E3871A" stroke-width="1.7" stroke-linecap="round"/%3E%3C/svg%3E');

  --fs-xs:     .6875rem;                          
  --fs-sm:     .8125rem;                          
  --fs-ui:     .9375rem;                          
  --fs-body:   1.0625rem;                         
  --fs-lg:     1.1875rem;                         
  --fs-lead:   clamp(1.0625rem, 1.8vw, 1.28rem);  
  --fs-h3:     clamp(1.25rem, 2.2vw, 1.5rem);     
  --fs-h2:     clamp(1.5rem, 2.8vw, 2rem);        
  --fs-h1:     clamp(2.4rem, 5.6vw, 3.9rem);      
  --fs-post:   clamp(2rem, 4.6vw, 3rem);          
  --fs-figure: clamp(2.125rem, 3.6vw, 2.875rem);  

  --maxw: 1100px;

  --bar-h: 114px;
}

* , *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; font-family: var(--font-text); font-size: var(--fs-body); color: var(--ink); line-height: 1.55;
  -webkit-font-smoothing: antialiased; min-height: 100vh; position: relative; overflow-x: hidden;
  background:
    radial-gradient(130% 90% at 82% -8%, var(--o-hi) 0%, rgba(238,150,54,0) 50%),
    radial-gradient(120% 80% at 0% 112%, var(--o-deep) 0%, rgba(134,57,7,0) 55%),
    linear-gradient(158deg, var(--o-0) 0%, var(--o-1) 42%, var(--o-2) 100%);
  background-attachment: fixed;
}

body.short-page { display: flex; flex-direction: column; min-height: 100vh; min-height: 100svh; }
body.short-page > .footer { margin-top: auto; }

.terrain {
  position: fixed; inset: 0; z-index: 0; pointer-events: none;
  width: 100%; height: 100%;
  color: var(--nature-line);
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 11%, #000 88%, transparent 100%);
          mask-image: linear-gradient(180deg, transparent 0, #000 11%, #000 88%, transparent 100%);
}
.terrain .c, .terrain .ix { fill: none; stroke: currentColor; }
.terrain .c  { stroke-width: 1; }
.terrain .ix { stroke-width: 1.7; }                 
.terrain .trail-dash { fill: none; stroke: #fff4e1; stroke-opacity: .12; stroke-width: 1.6; stroke-dasharray: 1.5 8; stroke-linecap: round; }
.terrain .trail-main { fill: none; stroke: #fff8eb; stroke-opacity: .22; stroke-width: 2.6;
  stroke-dasharray: 7 10; stroke-linecap: round; stroke-linejoin: round; }
.terrain .lbl   { font-family: var(--font-ui); font-weight: 700; font-size: 16px; fill: #fff3de; fill-opacity: .22; text-anchor: middle; }
.terrain .elev  { font-family: var(--font-text); font-size: 12px; fill: #fff3de; fill-opacity: .18; text-anchor: middle; }
.terrain .wlbl  { font-family: var(--font-text); font-weight: 600; font-size: 12.5px; fill: #fff3de; fill-opacity: .19; }
.terrain .tname { font-family: var(--font-ui); font-weight: 700; font-size: 11px; letter-spacing: .24em; fill: #fff3de; fill-opacity: .16; }

.terrain .prints { transition: opacity .72s ease; }
.terrain .prints.faded { opacity: 0; }
.terrain .prints use { opacity: 0; animation: bootIn .3s ease-out forwards; }
@keyframes bootIn { to { opacity: .30; } }

.terrain .summit-pk { fill: #fff4e1; fill-opacity: .22; }

.wrap { width: 100%; max-width: var(--maxw); margin: 0 auto; padding: 0 22px; position: relative; z-index: 1; }
img { max-width: 100%; display: block; }
button, input, select, textarea { font-family: inherit; }
a { color: inherit; }

h1,h2 { font-family: var(--font-display);
  font-variation-settings: "opsz" 96, "SOFT" 30, "WONK" 1; }
h3 { font-family: var(--font-ui); }
h1,h2,h3 { margin: 0 0 .4em; letter-spacing: -.01em; color: var(--ink);
  text-wrap: balance; }
h1 { font-size: var(--fs-h1); font-weight: 800; line-height: 1.04; letter-spacing: -.022em; }
h2 { font-size: var(--fs-h2); font-weight: 700; line-height: 1.14; }
h3 { font-size: var(--fs-lg); font-weight: 700; line-height: 1.26; }
p { margin: 0 0 1em; text-wrap: pretty; }
.lead { font-size: var(--fs-lead); color: var(--muted); max-width: 56ch; line-height: 1.5; }
.eyebrow { font-family: var(--font-display); font-variation-settings: var(--fraunces-axes); font-size: var(--fs-sm); font-weight: 700; color: #fff; opacity: .92; margin: 0 0 .8em; }
.sectionhead { margin: 0 auto 20px; }
.slabel { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-ui);
  color: #fff; opacity: .96; margin: 0; }

.log { display: inline-block; line-height: 0;
  font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-h3);
  color: #fff; }
.log svg { display: block; width: 100%; height: auto; max-width: 100%;
  overflow: visible; filter: drop-shadow(0 12px 20px rgba(95,40,4,.26)); }

.barkfill { fill: rgba(255,255,255,.14); stroke: none; }
.bark { fill: none; stroke: #fff; stroke-opacity: .92;
  stroke-width: 3.2; stroke-linejoin: round; stroke-linecap: round; }
.cut  { fill: rgba(255,255,255,.2); stroke: #fff; stroke-opacity: .92;
  stroke-width: 3.2; }
.ring { fill: none; stroke: #fff; stroke-opacity: .55; stroke-width: 1.4; }
.grain { fill: none; stroke: #fff; stroke-opacity: .26; stroke-width: 1.3;
  stroke-linecap: round; }
.lgt  { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-h3);
  fill: #fff; text-anchor: middle; }

.groundband { position: relative;
  --ridge: 96px;
  padding-top:    calc(clamp(52px, 8vw, 104px) + var(--ridge));
  padding-bottom: calc(clamp(52px, 8vw, 104px) + var(--ridge)); }
.groundband::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(158deg, var(--g-0) 0%, var(--g-1) 42%, var(--g-2) 100%);
  background-attachment: fixed;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201440%2096%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M0%2096%20L0%2058%20C70%2048%20130%2034%20210%2040%20C292%2046%20338%2020%20430%2025%20C512%2030%20570%2052%20662%2045%20C752%2038%20812%2016%20906%2023%20C1006%2030%201064%2050%201166%2043%20C1268%2036%201348%2052%201440%2044%20L1440%2096%20Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E"), linear-gradient(#000, #000), url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201440%2096%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M0%200%20L1440%200%20L1440%2044%20C1350%2054%201290%2032%201200%2040%20C1104%2049%201046%2028%20950%2034%20C860%2040%20800%2060%20706%2052%20C614%2044%20556%2024%20462%2031%20C374%2037%20316%2058%20222%2050%20C136%2043%2074%2056%200%2048%20Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201440%2096%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M0%2096%20L0%2058%20C70%2048%20130%2034%20210%2040%20C292%2046%20338%2020%20430%2025%20C512%2030%20570%2052%20662%2045%20C752%2038%20812%2016%20906%2023%20C1006%2030%201064%2050%201166%2043%20C1268%2036%201348%2052%201440%2044%20L1440%2096%20Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E"), linear-gradient(#000, #000), url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201440%2096%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M0%200%20L1440%200%20L1440%2044%20C1350%2054%201290%2032%201200%2040%20C1104%2049%201046%2028%20950%2034%20C860%2040%20800%2060%20706%2052%20C614%2044%20556%2024%20462%2031%20C374%2037%20316%2058%20222%2050%20C136%2043%2074%2056%200%2048%20Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask-size: 100% var(--ridge), 100% calc(100% - var(--ridge) * 2), 100% var(--ridge);
          mask-size: 100% var(--ridge), 100% calc(100% - var(--ridge) * 2), 100% var(--ridge);
  -webkit-mask-position: top center, center, bottom center;
          mask-position: top center, center, bottom center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-composite: source-over;
          mask-composite: add;
}

.glowtext { color: #fff; text-shadow: 0 0 30px rgba(255,255,255,.65), 0 0 12px rgba(255,236,200,.8); }

.glowtext.shine .l {
  display: inline-block;
  animation: glowtextShine 6s ease-in-out infinite;
  animation-delay: calc(var(--i) * .11s);
}
@keyframes glowtextShine {
  0%       { text-shadow: 0 0 10px rgba(255,255,255,.5),
                          0 0 4px  rgba(255,236,200,.85); }
  7%       { text-shadow: 0 0 2px  rgba(255,255,255,1),
                          0 0 5px  rgba(255,255,255,1),
                          0 0 11px rgba(255,255,255,.7),
                          0 0 20px rgba(255,255,255,.3); }
  20%, 100% { text-shadow: 0 0 10px rgba(255,255,255,.5),
                           0 0 4px  rgba(255,236,200,.85); }
}
@media (prefers-reduced-motion: reduce) { .glowtext.shine .l { animation: none; } }

.glass {
  background: linear-gradient(160deg, var(--glass-bg), var(--glass-bg-2));
  border: 1px solid var(--glass-brd);
  border-radius: 18px;
  backdrop-filter: blur(16px) saturate(125%);
  -webkit-backdrop-filter: blur(16px) saturate(125%);
  box-shadow: inset 0 1px 0 var(--glass-hi), 0 20px 50px rgba(95,40,4,.35);
  position: relative; overflow: hidden;
}
.glass::before {
  content: ""; position: absolute; inset: -40%;
  background: radial-gradient(circle at 80% 4%, rgba(255,255,255,.22), transparent 56%);
  pointer-events: none;
}
.glass > * { position: relative; z-index: 1; }

.btn { display: inline-flex; align-items: center; gap: .5em; font: inherit; font-family: var(--font-ui);
  font-weight: 700; font-size: var(--fs-ui); padding: .72em 1.4em; border-radius: 999px; cursor: pointer;
  text-decoration: none; border: 1px solid transparent; transition: transform .15s ease, box-shadow .15s ease, background .15s ease; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { color: #9C5008; background: #fff; box-shadow: 0 10px 28px rgba(95,40,4,.4), inset 0 1px 0 rgba(255,255,255,.8); }
.btn-primary:hover { background: #fff7ec; box-shadow: 0 14px 34px rgba(95,40,4,.46); }
.btn-ghost { color: #fff; background: rgba(255,255,255,.1); border-color: var(--glass-brd); }
.btn-ghost:hover { background: rgba(255,255,255,.18); }

a.btn:not(.app *, .btc *, .climb *, .nav *, .navpanel *, .trow *), .btn.go:not(.app *) {
  position: relative; isolation: isolate;
  border: 0; border-radius: 0; box-shadow: none; background: none;
  padding: calc(.72em + 1px) calc(1.4em - 1px) calc(.72em + 1px) calc(1.4em + 3px);
  transition: transform .15s ease, filter .15s ease; }
a.btn.btn-sm:not(.app *, .btc *, .climb *, .nav *, .navpanel *, .trow *), .btn.go.btn-sm:not(.app *) { padding: calc(.5em + 1px) calc(1.05em + 10px) calc(.5em + 1px) calc(1.05em + 14px); }
a.btn:not(.app *, .btc *, .climb *, .nav *, .navpanel *, .trow *)::before, .btn.go:not(.app *)::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%, 10px 50%); }
a.btn.btn-primary:not(.app *, .btc *, .climb *, .nav *, .navpanel *, .trow *), .btn.go.btn-primary:not(.app *) { background: none; filter: drop-shadow(0 8px 14px rgba(95,40,4,.4)); }
a.btn.btn-primary:not(.app *, .btc *, .climb *, .nav *, .navpanel *, .trow *)::before, .btn.go.btn-primary:not(.app *)::before { background: #fff; }
a.btn.btn-primary:not(.app *, .btc *, .climb *, .nav *, .navpanel *, .trow *):hover, .btn.go.btn-primary:not(.app *):hover { background: none; filter: drop-shadow(0 10px 17px rgba(95,40,4,.46)); }
a.btn.btn-primary:not(.app *, .btc *, .climb *, .nav *, .navpanel *, .trow *):hover::before, .btn.go.btn-primary:not(.app *):hover::before { background: #fff7ec; }
.shell a.btn.btn-primary:not(.app *, .shell .btc *, .shell .climb *, .shell .nav *, .shell .navpanel *, .shell .trow *), .shell .btn.go.btn-primary:not(.app *) { background: none; filter: drop-shadow(0 8px 14px rgba(0,32,28,.42)); }
.shell a.btn.btn-primary:not(.app *, .shell .btc *, .shell .climb *, .shell .nav *, .shell .navpanel *, .shell .trow *):hover, .shell .btn.go.btn-primary:not(.app *):hover { background: none; filter: drop-shadow(0 10px 17px rgba(0,32,28,.48)); }
.shell a.btn.btn-primary:not(.app *, .shell .btc *, .shell .climb *, .shell .nav *, .shell .navpanel *, .shell .trow *):hover::before, .shell .btn.go.btn-primary:not(.app *):hover::before { background: #f1f8f5; }
a.btn.btn-ghost:not(.app *, .btc *, .climb *, .nav *, .navpanel *, .trow *), .btn.go.btn-ghost:not(.app *) {
  background: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 46" preserveAspectRatio="none"%3E%3Cpath d="M12.5 0 H0 L10 23 L0 46 H12.5 Z" fill="%23fff" fill-opacity=".1"/%3E%3Cpath d="M12.5 .5 H.6 L10.4 23 L.6 45.5 H12.5" fill="none" stroke="%23fff" stroke-opacity=".28" stroke-width="1" vector-effect="non-scaling-stroke" stroke-linejoin="round"/%3E%3C/svg%3E') left top / 12px 100% no-repeat,
    url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 46" preserveAspectRatio="none"%3E%3Cpath d="M-.5 0 H.5 L17.6 23 L.5 46 H-.5 Z" fill="%23fff" fill-opacity=".1"/%3E%3Cpath d="M-.5 .5 H.4 L17.2 23 L.4 45.5 H-.5" fill="none" stroke="%23fff" stroke-opacity=".28" stroke-width="1" vector-effect="non-scaling-stroke" stroke-linejoin="round"/%3E%3C/svg%3E') right top / 18px 100% no-repeat,
    linear-gradient(rgba(255,255,255,.28), rgba(255,255,255,.28)) 12px 0 / calc(100% - 30px) 1px no-repeat,
    linear-gradient(rgba(255,255,255,.28), rgba(255,255,255,.28)) 12px 100% / calc(100% - 30px) 1px no-repeat,
    linear-gradient(rgba(255,255,255,.1), rgba(255,255,255,.1)) 12px 0 / calc(100% - 30px) 100% no-repeat; }
a.btn.btn-ghost:not(.app *, .btc *, .climb *, .nav *, .navpanel *, .trow *):hover, .btn.go.btn-ghost:not(.app *):hover {
  background: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 46" preserveAspectRatio="none"%3E%3Cpath d="M12.5 0 H0 L10 23 L0 46 H12.5 Z" fill="%23fff" fill-opacity=".18"/%3E%3Cpath d="M12.5 .5 H.6 L10.4 23 L.6 45.5 H12.5" fill="none" stroke="%23fff" stroke-opacity=".28" stroke-width="1" vector-effect="non-scaling-stroke" stroke-linejoin="round"/%3E%3C/svg%3E') left top / 12px 100% no-repeat,
    url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 46" preserveAspectRatio="none"%3E%3Cpath d="M-.5 0 H.5 L17.6 23 L.5 46 H-.5 Z" fill="%23fff" fill-opacity=".18"/%3E%3Cpath d="M-.5 .5 H.4 L17.2 23 L.4 45.5 H-.5" fill="none" stroke="%23fff" stroke-opacity=".28" stroke-width="1" vector-effect="non-scaling-stroke" stroke-linejoin="round"/%3E%3C/svg%3E') right top / 18px 100% no-repeat,
    linear-gradient(rgba(255,255,255,.28), rgba(255,255,255,.28)) 12px 0 / calc(100% - 30px) 1px no-repeat,
    linear-gradient(rgba(255,255,255,.28), rgba(255,255,255,.28)) 12px 100% / calc(100% - 30px) 1px no-repeat,
    linear-gradient(rgba(255,255,255,.18), rgba(255,255,255,.18)) 12px 0 / calc(100% - 30px) 100% no-repeat; }
a.btn.btn-ghost:not(.app *, .btc *, .climb *, .nav *, .navpanel *, .trow *)::before, .btn.go.btn-ghost:not(.app *)::before { content: none; }
a.btn:not(.app *, .btc *, .climb *, .nav *, .navpanel *, .trow *):focus, .btn.go:not(.app *):focus { outline: none; }
a.btn:not(.app *, .btc *, .climb *, .nav *, .navpanel *, .trow *):focus-visible, .btn.go:not(.app *):focus-visible { filter: drop-shadow(0 0 0 #fff) drop-shadow(0 0 2px #fff); }

.topbar { position: sticky; top: 0; z-index: 40;
  background: var(--o-1);
  border-bottom: 1px solid rgba(255,255,255,.16); }
.topbar .wrap { display: flex; align-items: center; gap: 24px; height: var(--bar-h); }

.skip-link { position: absolute; top: 100%; left: 50%; z-index: 60; margin-top: 12px;
  transform: translate(-50%, calc(-100% - var(--bar-h) - 52px));
  background: #fff; color: var(--o-2); font-family: var(--font-ui);
  font-weight: 700; font-size: var(--fs-ui); 
  padding: .68em 1.35em; border-radius: 999px; text-decoration: none;
  box-shadow: 0 8px 24px rgba(95,40,4,.4);
  transition: transform .16s ease; }
.skip-link:focus { transform: translate(-50%, 0); }
.skip-link:focus:not(:focus-visible) {
  transform: translate(-50%, calc(-100% - var(--bar-h) - 52px)); }
#content { position: absolute; }
@media (prefers-reduced-motion: reduce) { .skip-link { transition: none; } }

:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.field input:focus-visible,
.field textarea:focus-visible,
.field select:focus-visible,
.stamp-form .field input:focus-visible,
.stamp-form .field textarea:focus-visible,
.stamp-form .field select:focus-visible,
.pf-amt input[type=text]:focus-visible {
  outline: 3px solid #fff; outline-offset: 2px; border-color: rgba(255,255,255,.85); }

.brandmark { display: inline-flex; align-items: center; text-decoration: none;
  height: var(--bar-h); flex: none; position: relative; z-index: 2; }
.brandmark img { height: 55px; width: auto; transform: translateY(-6px); }
.br-wide { display: none; }
@media (min-width: 901px) { .br-wide { display: inline; } }
.br-narrow { display: none; }
@media (max-width: 640px) { .br-narrow { display: inline; } }
.nav { flex: 1; display: flex; align-items: center; gap: 24px; }
.nav > :first-child { margin-left: auto; }
.nav > :last-child  { margin-left: auto; }
.nav a { text-decoration: none; color: rgba(255,255,255,.86); font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-ui); }
.nav a:hover { color: #fff; }
@media (hover: hover) {
  .nav a:not(.btn):not(.m-item), .navpanel a:not(.signin) {
    transition: color .2s ease, text-shadow .28s ease; }
  .nav a:not(.btn):not(.m-item):hover, .navpanel a:not(.signin):hover {
    color: #fff;
    text-shadow: 0 0 .5px currentColor, 0 0 .5px currentColor,
      0 0 12px rgba(255,236,200,.8), 0 0 30px rgba(255,255,255,.65); }
}
.nav .btn { padding: .5em 1.1em; }
@media (max-width: 900px) { .nav a { display: none; } }   
.nav .btc-mark { height: 26px; width: auto; opacity: .78; transition: opacity .15s ease; }
.nav .btc-mark:hover { opacity: 1; }

.navtoggle, .navpanel, .navscrim { display: none; }

@media (max-width: 900px) {
  .navtoggle { display: inline-flex; align-items: center; justify-content: center;
    flex: none; width: 44px; height: 44px; padding: 0; cursor: pointer;
    border: 0; border-radius: 0; background: none;
    -webkit-tap-highlight-color: transparent; transition: opacity .15s ease; }
  .navtoggle:hover { opacity: .78; }

  .cabin { display: block; width: 26px; }
  .cabin-roof { display: block; width: 26px; height: 11.6px;
    transition: transform .26s cubic-bezier(.4,0,.2,1), opacity .18s ease; }
  .cabin-roof path { fill: none; stroke: #fff; stroke-width: 1.7;
    stroke-linecap: round; stroke-linejoin: round; }
  .navtoggle.open .cabin-roof { opacity: 0; transform: translateY(-6px); }

  .nt-bars { display: block; position: relative; width: 21px; height: 12.4px;
    margin: 2.4px auto 0; }
  .nt-bars i { position: absolute; left: 0; width: 21px; height: 3px; border-radius: 2px;
    background: #fff;
    transition: width .24s ease, left .24s ease, top .24s ease,
                transform .24s ease, opacity .16s ease; }
  .nt-bars i:nth-child(1) { top: 0; }
  .nt-bars i:nth-child(2) { top: 4.7px; }
  .nt-bars i:nth-child(3) { top: 9.4px; }
  .navtoggle.open .nt-bars i:nth-child(1) { opacity: 0; }
  .navtoggle.open .nt-bars i:nth-child(2),
  .navtoggle.open .nt-bars i:nth-child(3) { top: 4.7px; left: 10.5px; width: 12px;
    transform-origin: left center; }
  .navtoggle.open .nt-bars i:nth-child(2) { transform: rotate(-135deg); }
  .navtoggle.open .nt-bars i:nth-child(3) { transform: rotate(-45deg); }

  .navscrim { display: block; position: fixed; inset: 0; z-index: 30;
    background: rgba(40,18,2,.45);
    opacity: 0; visibility: hidden;
    transition: opacity .22s ease, visibility .22s ease; }
  .navscrim.open { opacity: 1; visibility: visible; }

  .navpanel { display: block; position: absolute; top: 100%; left: 0; right: 0;
    max-height: calc(100vh - var(--bar-h)); max-height: calc(100dvh - var(--bar-h));
    overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
    background: var(--o-2);          
    border-bottom: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 24px 50px rgba(95,40,4,.42);
    opacity: 0; visibility: hidden; transform: translateY(-10px);
    transition: opacity .22s ease, transform .22s ease, visibility .22s ease; }
  .navpanel.open { opacity: 1; visibility: visible; transform: none; }

  .navpanel-inner { padding: 6px clamp(22px, 6vw, 30px) 26px; }
  .navpanel a { display: block; padding: 13px 2px; text-decoration: none; color: #fff;
    font-family: var(--font-ui); font-weight: 400; font-size: var(--fs-body);
    border-bottom: 1px solid rgba(255,255,255,.14); }
  .navpanel a:last-child { border-bottom: 0; }
  .navpanel .signin { display: flex; align-items: center; justify-content: center;
    width: 100%; margin-top: 22px; padding: .92em 1.4em; border-radius: 999px;
    font-size: var(--fs-body); border-bottom: 0; border-color: transparent;
    color: #9C5008; background: #fff;
    box-shadow: 0 10px 28px rgba(95,40,4,.4), inset 0 1px 0 rgba(255,255,255,.8); }

  .navpanel .np-id { padding: 10px 2px 16px; }
  .navpanel .np-id .m-name { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-body); color: #fff; }
  .navpanel .np-id .m-email { font-size: var(--fs-sm); color: rgba(255,255,255,.62);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

  .navpanel .np-acct .m-item { display: block; width: 100%; text-align: left;
    font: inherit; font-family: var(--font-ui); font-weight: 400; font-size: var(--fs-body);
    color: #fff; cursor: pointer; text-decoration: none; background: transparent;
    border: 0; border-bottom: 1px solid rgba(255,255,255,.14); border-radius: 0;
    padding: 13px 2px; -webkit-tap-highlight-color: transparent; }
  .navpanel .np-acct .m-item:last-child { border-bottom: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .navpanel, .navscrim, .nt-bars i { transition-duration: .01ms; }
}

section { padding: clamp(52px, 8vw, 104px) 0; }
.hero { padding: clamp(66px, 9vw, 132px) 0 clamp(40px, 6vw, 84px); }
.hero-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.grid { display: grid; gap: 18px; }
.grid-3 { grid-template-columns: repeat(3,1fr); }
@media (max-width: 820px){ .grid-3 { grid-template-columns: 1fr; } }
.band { display: grid; grid-template-columns: 1.1fr 1fr; gap: 40px; align-items: center; }
@media (max-width: 820px){ .band { grid-template-columns: 1fr; } }

.tile { padding: 22px 24px; }
.tile .ico { width: 44px; height: 44px; border-radius: 13px; display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--fs-lg); color: #fff; margin-bottom: 14px;
  background: rgba(255,255,255,.16); box-shadow: inset 0 1px 0 rgba(255,255,255,.4); }
.tile h3 { margin-bottom: .35em; }
.tile p { color: var(--muted); margin: 0; font-size: var(--fs-ui); }

.stat { padding: 16px 18px; }
.stat .k { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-body); }
.stat .v { color: var(--muted); font-size: var(--fs-ui); }

.trail-rule { height: 1px; border: 0; margin: 0 auto; max-width: var(--maxw);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent); opacity: .6; }

.footer a { color: rgba(255,255,255,.78); text-decoration: none; }
.footer a:hover { color: #fff; }


.center { text-align: center; }
.center .lead, .center .prose, .center .hero-cta { margin-left: auto; margin-right: auto; }
.center .hero-cta { justify-content: center; }
.prose { max-width: 66ch; color: var(--muted); font-size: var(--fs-body); }


.subhead {
  font-family: var(--font-text); font-weight: 700;
  font-size: var(--fs-body);
  
  color: var(--muted); opacity: 1; margin: 1.1em 0 0;
}

.statement h2 {
  font-weight: 700; font-size: var(--fs-h2);
  line-height: 1.22; 
  text-wrap: wrap; margin-bottom: .75em;
}

.btc-breathe { position: relative; display: grid; place-items: center; height: 96px; margin: -26px auto -30px; }

.btc-breathe .mark {
  display: block; width: 72px; height: 72px; opacity: .92;
  position: relative; z-index: 2;      
  animation: btcBreathe 7s ease-in-out infinite;
}

.btc-breathe .glow {
  position: absolute; z-index: 0; width: 72px; height: 72px;
  border-radius: 999px; background: transparent; pointer-events: none;
  animation: btcGlow 7s ease-in-out infinite;
}
@keyframes btcGlow {
  0%, 100% { box-shadow: 0 0 18px 3px rgba(255,255,255,.45); transform: scale(1); }
  50%      { box-shadow: 0 0 34px 10px rgba(255,255,255,.85); transform: scale(1.05); }
}

.btc-breathe .ring {
  position: absolute; width: 72px; height: 72px; border-radius: 999px;
  border: 1.5px solid rgba(255,255,255,.85); opacity: 0;
  animation: btcRipple 7s ease-out infinite;
}
.btc-breathe .ring:nth-of-type(2) { animation-delay: -2.33s; }
.btc-breathe .ring:nth-of-type(3) { animation-delay: -4.66s; }

@keyframes btcBreathe {
  0%, 100% { opacity: .88; transform: scale(1); }
  50%      { opacity: 1;   transform: scale(1.05); }
}
@keyframes btcRipple {
  0%   { transform: scale(1); opacity: 0; }
  10%  { opacity: .5; }
  100% { transform: scale(2.9); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .btc-breathe .mark { animation: none; opacity: .96; }
  .btc-breathe .glow { animation: none; box-shadow: 0 0 22px 4px rgba(255,255,255,.55); }
  .btc-breathe .ring { display: none; }
}


.section-head h2 {
  font-weight: 700; font-size: var(--fs-h2);
  line-height: 1.22; margin: 0 auto .62em; }
.section-head .lead { max-width: 54ch; line-height: 1.62; text-wrap: balance; }
.section-head .hero-cta { margin-top: 38px; }


.ethos-sequence h2 .w { display: inline-block; }
.ethos-sequence.oriented h2 .w {
  animation: wordGlow .6s ease-out both;
  animation-delay: calc(.25s + var(--i) * .09s);
}
@keyframes wordGlow {
  0%   { color: rgba(255,255,255,.42); text-shadow: none; }
  32%  { color: #ffffff;
         text-shadow: 0 0 6px rgba(255,255,255,1),
                      0 0 18px rgba(255,255,255,.8),
                      0 0 40px rgba(255,255,255,.5); }
  100% { color: #ffffff; text-shadow: none; }
}

.glow-line { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-lead); color: #fff;
  line-height: 1.45; max-width: 60ch; margin: 0 auto 18px; text-wrap: balance; }
.glow-line .w { display: inline-block; }
.glow-line.oriented .w {
  animation: wordGlow .6s ease-out both;
  animation-delay: calc(.25s + var(--i) * .09s);
}

@media (prefers-reduced-motion: reduce) {
  .ethos-sequence.oriented h2 .w, .glow-line.oriented .w { animation: none; }
}


.signposts { margin: 54px auto 0; max-width: 880px; }
.signpost-row { display: grid; grid-template-columns: repeat(4, 1fr); align-items: end; }

.signpost { position: relative; display: block; text-decoration: none; color: #fff; }
.sp-art { display: block; width: 100%; max-width: 196px; margin: 0 auto; }
.sp-art svg { display: block; width: 100%; height: auto; overflow: visible;
  filter: drop-shadow(0 16px 26px rgba(95,40,4,.28)); }

.planted, .sign, .sign-in, .stake, .blades { transform-box: view-box; }
.planted { transform: rotate(var(--tilt, 0deg)); transform-origin: 50% 100%; }

.stake  { fill: none; stroke: #fff8eb; stroke-opacity: .6; stroke-width: 13;
  stroke-linecap: butt; }
.blades { fill: #fff8eb; }

.board { fill: rgba(255,255,255,.14); stroke: #fff; stroke-opacity: .92;
  stroke-width: 4; stroke-linejoin: round; }
.nm { font-family: var(--font-ui); font-weight: 800; font-size: 18px;
  letter-spacing: -.2px; fill: #fff; text-anchor: middle; }
.sign { transform-origin: 50% 29%; }

@keyframes sign-swing {
    0% { transform: rotate(0deg); }
   10% { transform: rotate(-4deg); }
   25% { transform: rotate(2.7deg); }
   40% { transform: rotate(-1.8deg); }
   55% { transform: rotate(1.2deg); }
   70% { transform: rotate(-.75deg); }
   85% { transform: rotate(.4deg); }
  100% { transform: rotate(0deg); }
}

@keyframes sign-nudge {
    0% { transform: rotate(0deg); }
   14% { transform: rotate(-2.6deg); }
   38% { transform: rotate(1.5deg); }
   64% { transform: rotate(-.7deg); }
   85% { transform: rotate(.3deg); }
  100% { transform: rotate(0deg); }
}

.signpost { --sw: 0s; }
.signpost:nth-child(even) { --sw: .07s; }
.signpost.wiggle .sign { animation: sign-swing 1.2s ease-in-out var(--sw) both; }
.signpost:hover .sign  { animation: sign-nudge .8s ease-in-out both; }
.signpost:hover .board { fill: rgba(255,255,255,.22); }

.trailhead-cta { display: flex; justify-content: center; margin-top: 58px; }

@media (max-width: 640px) {
  .signpost-row { grid-template-columns: repeat(2, 1fr); row-gap: 34px; column-gap: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .signpost.wiggle .sign, .signpost:hover .sign { animation: none; }
  .signpost .sign { transform: none; }
}

.campfire { display: block; width: 100%; max-width: 540px; margin: 36px auto 0;
  text-decoration: none; }
.campfire svg { display: block; width: 100%; height: auto; overflow: visible; }
.campfire .ink { fill: #fff; fill-rule: evenodd; }

.campfire .flame  { fill: #fff8eb; transform-box: fill-box; transform-origin: 50% 100%; }
.campfire .flame1 { opacity: .34; animation: campfire-lick 2.6s ease-in-out infinite; }
.campfire .flame2 { opacity: .56; animation: campfire-lick 1.9s ease-in-out infinite .3s; }
.campfire .flame3 { opacity: .92; animation: campfire-lick 1.45s ease-in-out infinite .15s; }
.campfire .glow-wide { animation: campfire-glow 5.2s ease-in-out infinite; }
.campfire .glow-hot  { animation: campfire-glow 3.1s ease-in-out infinite -1.1s; }

.campfire .nod   { animation: campfire-nod 5.4s ease-in-out infinite; }
.campfire .nod-b { animation-duration: 6.6s; animation-delay: -2.4s; }

.campfire .btc   { fill: none; stroke: #fff8eb; stroke-width: 3.2; stroke-linecap: round; }
.campfire .ember { transform-box: fill-box; transform-origin: 50% 50%;
  opacity: 0; animation: campfire-rise 9s linear infinite; }

@keyframes campfire-lick { 0%, 100% { transform: scale(1, 1) }
                           35% { transform: scale(.92, 1.13) }
                           70% { transform: scale(1.06, .94) } }
@keyframes campfire-glow { 0%, 100% { opacity: .3 } 50% { opacity: .62 } }
@keyframes campfire-nod  { 0%, 14%   { transform: rotate(-2.4deg) }
                           46%, 58%  { transform: rotate(1.9deg) }
                           100%      { transform: rotate(-2.4deg) } }
@keyframes campfire-rise { 0%   { transform: translate(0, 0) scale(1); opacity: 0 }
                           26%  { opacity: .85 }
                           72%  { opacity: .6 }
                           100% { transform: translate(var(--dx), var(--dy)) scale(.5); opacity: 0 } }

@media (prefers-reduced-motion: reduce) {
  .campfire .flame1, .campfire .flame2, .campfire .flame3,
  .campfire .glow-wide, .campfire .glow-hot, .campfire .nod { animation: none; }
  .campfire .ember { animation: none; opacity: .55; }
}

.btn.oneline { white-space: nowrap; }

.form { max-width: 540px; margin: 28px auto 0; text-align: left;
  padding: clamp(24px, 4vw, 32px); }
.form .row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 520px){ .form .row { grid-template-columns: 1fr; } }
.field { margin-bottom: 14px; }
.field label { display: block; font-family: var(--font-ui); font-weight: 700;
  font-size: var(--fs-sm); margin-bottom: 6px; opacity: .9; }
.field input[type=text], .field input[type=email], .field input[type=password] { width: 100%; font: inherit; color: #fff;
  padding: .72em 1.25em; border-radius: 999px; border: 1px solid var(--glass-brd);
  background: rgba(255,255,255,.1); }
.field input::placeholder { color: rgba(255,255,255,.5); }
.field input:focus { outline: none; border-color: rgba(255,255,255,.7); background: rgba(255,255,255,.16); }
.check { display: flex; gap: 10px; align-items: flex-start; font-size: var(--fs-ui); color: var(--muted); }
.check input { -webkit-appearance: none; appearance: none; flex: none; width: 20px; height: 20px;
  margin: 1px 0 0; border: 0; border-radius: 4px; cursor: pointer;
  background: var(--check-empty-on-green) center / contain no-repeat; }
.check input:checked { background-image: var(--check-on-green); }
.check input:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.form .btn { width: 100%; justify-content: center; margin-top: 16px; }
.form-note { font-size: var(--fs-sm); line-height: 1.5; color: var(--muted);
  margin: 14px 0 0; text-align: center; }
.form-status { font-size: var(--fs-ui); font-weight: 700; line-height: 1.45;
  color: #fff; margin: 14px 0 0; text-align: center; }
.form-status:empty { display: none; }
.ts-slot { display: flex; justify-content: center; }
.ts-slot:not(:empty) { margin: 18px 0 4px; }
.ts-slot iframe { max-width: 100%; }

@media (min-width: 640px) {
  #subscribe .lead { max-width: 580px; text-wrap: balance; text-align: center; }
  #subscribe .form { margin-top: 22px; }
}

.postcard-stage { position: relative; max-width: 720px; margin: 28px auto 0;
  perspective: 1500px; transform-style: preserve-3d;
  transition: transform .85s cubic-bezier(.4, .05, .2, 1); }
.postcard-stage.turned { transform: rotateY(180deg); }
.postcard-stage .form { margin: 0; }

.subscribe-fold .form {
  transform: rotateY(180deg);
  -webkit-backface-visibility: hidden; backface-visibility: hidden;
}

.stamp-card {
  position: absolute; inset: 0;
  transform-origin: center; transform-style: preserve-3d;
  -webkit-backface-visibility: hidden; backface-visibility: hidden;
  padding: 13px; border-radius: 3px;
  background: #fff8eb;
  --perf: 6px; --pitch: 24.5px;
  -webkit-mask:
    radial-gradient(circle var(--perf) at 50% 0,    #0000 97%, #000) 0 0 / var(--pitch) 100% round no-repeat,
    radial-gradient(circle var(--perf) at 50% 100%, #0000 97%, #000) 0 0 / var(--pitch) 100% round no-repeat,
    radial-gradient(circle var(--perf) at 0 50%,    #0000 97%, #000) 0 0 / 100% var(--pitch) no-repeat round,
    radial-gradient(circle var(--perf) at 100% 50%, #0000 97%, #000) 0 0 / 100% var(--pitch) no-repeat round;
  -webkit-mask-composite: source-in, source-in, source-in, source-over;
  mask:
    radial-gradient(circle var(--perf) at 50% 0,    #0000 97%, #000) 0 0 / var(--pitch) 100% round no-repeat,
    radial-gradient(circle var(--perf) at 50% 100%, #0000 97%, #000) 0 0 / var(--pitch) 100% round no-repeat,
    radial-gradient(circle var(--perf) at 0 50%,    #0000 97%, #000) 0 0 / 100% var(--pitch) no-repeat round,
    radial-gradient(circle var(--perf) at 100% 50%, #0000 97%, #000) 0 0 / 100% var(--pitch) no-repeat round;
  mask-composite: intersect, intersect, intersect, add;
}
.pc-cta {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-ui);
  color: var(--o-2);
  background: #fff; border: 0; border-radius: 999px;
  padding: .72em 1.5em; cursor: pointer;
  box-shadow: 0 6px 18px rgba(95,40,4,.28);
  animation: pcPulse 2.4s ease-in-out infinite;
}
.pc-cta:hover { background: #fffdf7; }
.pc-cta:focus-visible { outline: 3px solid rgba(255,255,255,.9); outline-offset: 3px; }
@keyframes pcPulse {
  0%, 100% { box-shadow: 0 6px 18px rgba(95,40,4,.28), 0 0 0 0 rgba(255,255,255,.55); }
  70%      { box-shadow: 0 6px 18px rgba(95,40,4,.28), 0 0 0 14px rgba(255,255,255,0); }
}
@media (prefers-reduced-motion: reduce) { .pc-cta { animation: none; } }

.sc-frame {
  position: relative; height: 100%; overflow: hidden;
  border: 1px solid rgba(255,255,255,.32); border-radius: 2px;
  background: linear-gradient(168deg, var(--o-hi), var(--o-0) 46%, var(--o-1));
}
.sc-scene { position: absolute; inset: 0; width: 100%; height: 100%; }

.sc-value, .sc-name {
  position: absolute; left: 18px; margin: 0; z-index: 1;
  font-family: var(--font-ui); color: var(--ink);
  text-shadow: 0 1px 7px rgba(90,40,0,.55);
}
.sc-value { top: 12px; font-size: 1.45rem; font-weight: 800; letter-spacing: -.02em; line-height: 1; }
.sc-name  { bottom: 13px; font-size: .72rem; font-weight: 700; letter-spacing: .26em;
  text-transform: uppercase; color: rgba(255,255,255,.86); }

.sc-scene .sun   { fill: #ffd79a; }
.sc-scene .rays  { fill: none; stroke: #ffd79a; stroke-width: 2.4; stroke-linecap: round; }
.sc-scene .ridge-far  { fill: rgba(22,47,54,.22); }
.sc-scene .ridge-mid  { fill: rgba(22,47,54,.44); }
.sc-scene .ridge-near { fill: rgba(22,47,54,.68); }

.sc-mark {
  position: absolute; right: 16px; bottom: 14px; width: 124px; height: 124px;
  transform: rotate(-12deg); opacity: .42; z-index: 1;
}
.sc-mark circle { fill: none; stroke: #fff; stroke-width: 2; }
.sc-mark path   { fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; }
.sc-mark text   { font-family: var(--font-ui); font-weight: 800; font-size: 11px;
  letter-spacing: .08em; fill: #fff; text-anchor: middle; }
.sc-mark text.sm { font-size: 8.5px; letter-spacing: .22em; }

@media (max-width: 560px) {
  .postcard-stage:not(.turned) { aspect-ratio: 1.62; }
  .postcard-stage:not(.turned) .form { position: absolute; inset: 0; }
  .stamp-card {
    --perf: 5px; --pitch: 20px;
    padding: 10px;
  }
  .sc-value { top: 9px; left: 13px; font-size: 1.15rem; }
  .sc-name  { bottom: 9px; left: 13px; font-size: .6rem; letter-spacing: .2em; }
  .sc-mark  { width: 74px; height: 74px; right: 11px; bottom: 10px; }
  .pc-cta   { font-size: var(--fs-ui); padding: .66em 1.3em; }
}

@media (prefers-reduced-motion: reduce) {
  .stamp-card { display: none; }
  .subscribe-fold .form { opacity: 1; transform: none; transition: none; }
}

.form.stamp-form { padding: 13px; max-width: 720px; }
.stamp-form {
  position: relative; padding: 13px; border-radius: 3px;
  background: #fff8eb; border: 0;
  --perf: 6px; --pitch: 24.5px;
  -webkit-mask:
    radial-gradient(circle var(--perf) at 50% 0,    #0000 97%, #000) 0 0 / var(--pitch) 100% round no-repeat,
    radial-gradient(circle var(--perf) at 50% 100%, #0000 97%, #000) 0 0 / var(--pitch) 100% round no-repeat,
    radial-gradient(circle var(--perf) at 0 50%,    #0000 97%, #000) 0 0 / 100% var(--pitch) no-repeat round,
    radial-gradient(circle var(--perf) at 100% 50%, #0000 97%, #000) 0 0 / 100% var(--pitch) no-repeat round;
  -webkit-mask-composite: source-in, source-in, source-in, source-over;
  mask:
    radial-gradient(circle var(--perf) at 50% 0,    #0000 97%, #000) 0 0 / var(--pitch) 100% round no-repeat,
    radial-gradient(circle var(--perf) at 50% 100%, #0000 97%, #000) 0 0 / var(--pitch) 100% round no-repeat,
    radial-gradient(circle var(--perf) at 0 50%,    #0000 97%, #000) 0 0 / 100% var(--pitch) no-repeat round,
    radial-gradient(circle var(--perf) at 100% 50%, #0000 97%, #000) 0 0 / 100% var(--pitch) no-repeat round;
  mask-composite: intersect, intersect, intersect, add;
}

.sf-frame {
  position: relative; overflow: hidden; border-radius: 2px;
  border: 1px solid rgba(255,255,255,.3);
  background: linear-gradient(158deg, #004A45 0%, #00453F 42%, #00362F 100%);
  padding: clamp(20px, 3.2vw, 26px);
  padding-top: clamp(48px, 5.2vw, 58px);
  padding-bottom: clamp(44px, 4.8vw, 52px);
}
.sf-frame > * { position: relative; z-index: 1; }

.sf-scene { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; }
.sf-scene .sun        { fill: #ffd79a; opacity: .08; }
.sf-scene .rays       { fill: none; stroke: #ffd79a; stroke-width: 2.4;
                        stroke-linecap: round; opacity: .08; }
.sf-scene .ridge-far  { fill: rgba(0,22,19,.10); }
.sf-scene .ridge-mid  { fill: rgba(0,22,19,.18); }
.sf-scene .ridge-near { fill: rgba(0,22,19,.28); }

.sf-mark { position: absolute; right: 16px; bottom: 14px; width: 124px; height: 124px;
  transform: rotate(-12deg); opacity: .07; z-index: 0; }
.sf-mark circle { fill: none; stroke: #fff; stroke-width: 2; }
.sf-mark path   { fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; }
.sf-mark text   { font-family: var(--font-ui); font-weight: 800; font-size: 11px;
  letter-spacing: .08em; fill: #fff; text-anchor: middle; }
.sf-mark text.sm { font-size: 8.5px; letter-spacing: .22em; }

.sf-value, .sf-name {
  position: absolute; left: clamp(20px, 3.2vw, 26px); margin: 0; z-index: 0;
  font-family: var(--font-ui); color: rgba(255,255,255,.11);
  pointer-events: none; -webkit-user-select: none; user-select: none;
}
.sf-value { top: clamp(18px, 2.6vw, 22px); font-size: 1.45rem; font-weight: 800;
  letter-spacing: -.02em; line-height: 1; }
.sf-name { bottom: clamp(18px, 2.6vw, 22px); font-size: .72rem; font-weight: 700;
  letter-spacing: .26em; text-transform: uppercase; }

.stamp-form .field input[type=text],
.stamp-form .field input[type=email],
.stamp-form .field input[type=password],
.stamp-form .field textarea,
.stamp-form .field select {
  background: rgba(255,255,255,.13); border-color: rgba(255,255,255,.32);
}
.stamp-form .field input:focus,
.stamp-form .field textarea:focus,
.stamp-form .field select:focus { background: rgba(255,255,255,.2); }
.stamp-form .field label { opacity: 1; }
.stamp-form .form-note { text-align: left; }

#inquiry { margin-top: 46px; }
#inquiry .form { margin-top: 26px; }

#inquiry .form-note { font-size: var(--fs-lead);
  line-height: 1.5; font-weight: 700; color: var(--ink); margin-top: 1.1em; }

.eyebrow .back-link { text-decoration: none; }
.hero .eyebrow:has(.back-link) { margin-bottom: 1.9em; }

.form--wide .sf-frame { padding-left: clamp(24px, 3.6vw, 34px);
  padding-right: clamp(24px, 3.6vw, 34px); }

@media (max-width: 560px) {
  .form.stamp-form { padding: 10px; }
  .stamp-form { --perf: 5px; --pitch: 20px; }
  .sf-mark { width: 86px; height: 86px; right: 8px; bottom: 10px; }
  .sf-value { font-size: 1.1rem; }
}

.form a:not(.btn) { color: #fff; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(255,255,255,.5); }
.form a:not(.btn):hover { text-decoration-color: #fff; }
.form .forgot { display: block; text-align: right; font-family: var(--font-ui); font-weight: 700;
  font-size: var(--fs-sm); margin: -4px 0 4px; }
.form-alt { font-family: var(--font-text); color: var(--muted); font-size: var(--fs-ui); text-align: center; margin: 16px auto 0; }
.form-alt a { color: #fff; font-weight: 700; }
.linkbtn { font: inherit; font-weight: 700; color: #fff; background: none; border: 0; padding: 0;
  cursor: pointer; text-decoration: underline; text-underline-offset: 3px;
  text-decoration-color: rgba(255,255,255,.5); }
.linkbtn:hover { text-decoration-color: #fff; }
.linkbtn:disabled { cursor: default; text-decoration: none; opacity: .6; }
.form .btn:disabled { opacity: .7; cursor: default; }

.pw-wrap { position: relative; }
.pw-wrap input { padding-right: 4.6em !important; }
.reveal { position: absolute; right: .5em; top: 50%; transform: translateY(-50%);
  font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-sm); color: #fff;
  background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.35); border-radius: 999px;
  padding: .4em .85em; cursor: pointer; }
.reveal:hover { background: rgba(255,255,255,.28); }
.field input:-webkit-autofill, .field input:-webkit-autofill:hover, .field input:autofill {
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: #fff; caret-color: #fff;
  -webkit-box-shadow: 0 0 0 1000px rgba(255,255,255,.1) inset; box-shadow: 0 0 0 1000px rgba(255,255,255,.1) inset; }
.field input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px rgba(255,255,255,.16) inset; box-shadow: 0 0 0 1000px rgba(255,255,255,.16) inset; }
.stamp-form input:-webkit-autofill, .stamp-form input:-webkit-autofill:hover,
.stamp-form input:-webkit-autofill:focus, .stamp-form input:autofill {
  -webkit-box-shadow: 0 0 0 1000px #215E59 inset; box-shadow: 0 0 0 1000px #215E59 inset;
  -webkit-text-fill-color: #fff; caret-color: #fff; transition: background-color 600000s 0s; }
.reveal:focus-visible { outline: 2px solid #fff; outline-offset: 1px; }

.pw-rules { list-style: none; margin: -2px 0 16px; padding: 0; display: flex; flex-wrap: wrap;
  gap: 6px 18px; font-family: var(--font-ui); font-size: var(--fs-sm); color: var(--muted); }
.pw-rules li { display: flex; align-items: center; gap: 7px; }
.pw-rules li::before { content: ""; width: 16px; height: 16px; flex: none;
  background: var(--check-empty-on-green) center / contain no-repeat; }
.pw-rules li.met { color: #fff; }
.pw-rules li.met::before { background-image: var(--check-on-green); }

.auth-gate:not(.auth-ok) body { visibility: hidden; }

.field input.code-input { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-h3);
  text-align: center; padding-left: 1.65em; }

.form--wide { max-width: 680px; padding: clamp(26px, 4vw, 38px); }
.form--wide .field > label { margin-bottom: 14px; }
.form--wide .field > label:has(+ .hint) { margin-bottom: 6px; }
.form--wide .field > .hint { margin-bottom: 14px; }
.field input[type=tel], .field input[type=number], .field input[type=date],
.field textarea, .field select { width: 100%; font: inherit; color: #fff;
  padding: .72em 1.25em; border-radius: 999px; border: 1px solid var(--glass-brd);
  background: rgba(255,255,255,.1); }
.field textarea { min-height: 110px; resize: vertical; line-height: 1.5;
  border-radius: 999px; padding: 1.4rem 2.2rem; }
.pillwrap { position:relative; }
.pillwrap textarea { display:block; scrollbar-width:none; }
.pillwrap textarea::-webkit-scrollbar { display:none; width:0; height:0; }
.pillbar { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible; }
.pillbar path { fill:none; stroke-linecap:round; }
.pb-track { stroke:rgba(255,255,255,.18); }
.pb-thumb { stroke:rgba(255,255,255,.85); }
.pb-hit { stroke:transparent; pointer-events:stroke; cursor:grab; touch-action:none; }
.pb-hit:active { cursor:grabbing; }
.field textarea::placeholder { color: rgba(255,255,255,.5); }
.field textarea:focus, .field select:focus, .field input:focus { outline: none;
  border-color: rgba(255,255,255,.7); background: rgba(255,255,255,.16); }
.field select { appearance: none; -webkit-appearance: none; cursor: pointer;
  background-image: linear-gradient(45deg, transparent 50%, #fff 50%), linear-gradient(135deg, #fff 50%, transparent 50%);
  background-position: right 1.05em top 1.15em, right .8em top 1.15em;
  background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; padding-right: 2.4em; }
.field select option { color: #2a1402; background: #fff7ec; }
.dd { position: relative; width: 100%; }
.dd-native { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; pointer-events: none; }
.dd-btn { position: relative; width: 100%; display: flex; align-items: center; gap: 12px; font: inherit; color: #fff;
  text-align: left; cursor: pointer; padding: .72em 1.25em; border-radius: 999px; border: 1px solid var(--glass-brd);
  background: rgba(255,255,255,.1); }
.stamp-form .dd-btn { background: rgba(255,255,255,.13); border-color: rgba(255,255,255,.32); }
.dd-btn:focus-visible, .dd.open .dd-btn { outline: none; border-color: rgba(255,255,255,.7); background: rgba(255,255,255,.16); }
.dd-placeholder .dd-text { color: rgba(255,255,255,.5); }
.dd-text { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dd-chev { display: inline-flex; flex: none; transition: transform .15s ease; }
.dd-chev svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; }
.dd.open .dd-chev { transform: rotate(180deg); }
.dd-list { position: absolute; z-index: 40; left: 0; right: 0; top: calc(100% + 6px); margin: 0; padding: 6px; list-style: none;
  max-height: 300px; overflow-y: auto; border-radius: 18px; background: #fff; box-shadow: 0 18px 40px rgba(0,32,28,.35); }
.dd-list[hidden] { display: none; }
.form-section:has(.dd.open), .field:has(.dd.open) { position: relative; z-index: 60; }
.dd-opt { display: flex; align-items: center; gap: 10px; padding: 11px 14px; border-radius: 12px; cursor: pointer;
  font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-ui); color: var(--g-2); }
.dd-opt::after { content: ''; margin-left: auto; width: 16px; height: 16px; flex: none; }
.dd-opt.on { font-weight: 700; }
.dd-opt.on::after { background: var(--check-on-green) center / contain no-repeat; }
.dd-opt.hi, .dd-opt:hover { background: rgba(0,69,63,.09); }
.req { color: #fff; opacity: .92; }
.hint { display: block; font-size: var(--fs-sm); color: rgba(255,255,255,.62); margin-top: 5px; }

.form-section { border: 0; padding: 0; margin: 0 0 26px; }
.form-section:last-of-type { margin-bottom: 6px; }
.form-section > legend { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-sm);
  color: #fff; opacity: .9;
  padding: 0 0 4px; margin-bottom: 14px; width: 100%; border-bottom: 1px solid rgba(255,255,255,.18); }
.form-section .lead-sm { color: var(--muted); font-size: var(--fs-ui); line-height: 1.55; margin: -6px 0 16px; }

.choices { display: grid; gap: 9px; }
.choices.cols-2 { grid-template-columns: 1fr 1fr; }
@media (max-width: 520px){ .choices.cols-2 { grid-template-columns: 1fr; } }
.choice { display: flex; align-items: center; gap: 10px; cursor: pointer; font-size: var(--fs-ui);
  padding: .66em 1.15em; border-radius: 999px; border: 1px solid var(--glass-brd);
  background: rgba(255,255,255,.07); transition: background .15s ease, border-color .15s ease; }
.choice:hover { background: rgba(255,255,255,.13); }
.choice input { flex: none; accent-color: #fff; width: 16px; height: 16px; }
.choice:has(input:checked) { background: rgba(255,255,255,.2); border-color: rgba(255,255,255,.7); }
.field[hidden] { display: none; }


.aboutband > section { padding: 0; }
.aboutband > section + section { padding-top: clamp(76px, 6vw, 86px); }

.ascent { position: relative; margin-top: 38px; }
.ascent-route { position: absolute; left: 0; top: 0; width: 100%; height: 120px;
  pointer-events: none; overflow: visible; }
.ascent-route .rt { fill: none; stroke: #fff4e1; stroke-opacity: .5;
  stroke-width: 3; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.ascent-route .rt-f1 { stroke-opacity: .3; }
.ascent-route .rt-f2 { stroke-opacity: .16; }

.asc-stages { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0;
  align-items: start; }
.asc-stage { padding: 0 15px; }
.asc-1 { margin-top: 58px; }
.asc-2 { margin-top: 29px; }
.asc-3 { margin-top: 0; }

.asc-mk { width: 42px; height: 42px; margin: 0 auto 16px; display: block; }
.asc-mk .mk-face { fill: rgba(255,255,255,.10); }
.asc-mk .mk-ring { fill: none; stroke: rgba(255,255,255,.5); stroke-width: 1.4; }
.asc-mk .mk-in   { fill: none; stroke: rgba(255,255,255,.3); stroke-width: 1; }
.asc-mk .mk-dot  { fill: #fff7e6; }
.asc-mk .mk-pk   { fill: #fff7e6; fill-opacity: .9; }
.asc-mk .mk-ch   { fill: none; stroke: #fff7e6; stroke-width: 2.2;
  stroke-linecap: round; stroke-linejoin: round; }

.asc-el { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-sm);
  color: rgba(255,255,255,.6);
  margin: 0 0 .7em; }
.asc-stage h3 { font-family: var(--font-display); font-variation-settings: var(--fraunces-axes);
  font-weight: 700; font-size: var(--fs-h3); margin: 0 0 .5em; }
.asc-stage p { color: var(--muted); margin: 0; font-size: var(--fs-body); line-height: 1.62;
  max-width: 34ch; margin-inline: auto; }

@media (max-width: 820px) {
  .asc-stages { grid-template-columns: 1fr; }
  .ascent-route { display: none; }
  .asc-1, .asc-2, .asc-3 { margin-top: 0; }
  .asc-stage + .asc-stage { padding-top: 52px; }
  .asc-stage + .asc-stage::before { content: ""; display: block; width: 0; height: 30px;
    margin: -41px auto 11px; border-left: 2px dashed rgba(255,244,225,.4); }
}

.valuesign { position: relative; max-width: 680px; margin: 44px auto 0;
  padding: 16px 0 30px; }
.vs-post { position: absolute; left: 50%; margin-left: -11px; top: 0; bottom: 0;
  width: 22px; z-index: 0;
  background: #005049;
  border-left: 1.5px solid rgba(255,255,255,.3);
  border-right: 1.5px solid rgba(255,255,255,.3); }
.vs-post i { position: absolute; top: 0; bottom: 0; width: 1.4px;
  background: rgba(0,22,19,.5); }
.vs-post i:nth-child(1) { left: 3px; }
.vs-post i:nth-child(2) { left: 8px; opacity: .62; }
.vs-post i:nth-child(3) { left: 13px; opacity: .85; }

.vs-boards { list-style: none; margin: 0; padding: 0; position: relative;
  z-index: 1; display: flex; flex-direction: column; gap: 26px; }
.vs-board { position: relative; height: 82px;
  display: flex; align-items: center; justify-content: center;
  padding: 0 11% 0 7%; text-align: center;
  transform: rotate(var(--tilt)); transform-origin: 50% 50%; }
.vs-board .bd { position: absolute; inset: 0; width: 100%; height: 100%;
  z-index: -1; overflow: visible;
  filter: drop-shadow(0 12px 20px rgba(95,40,4,.3)); }
.vs-board .board { fill: rgba(0,54,48,.88); stroke: #fff; stroke-opacity: .92;
  stroke-width: 2.2; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.vs-t { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-ui);
  line-height: 1.4; color: #fff; }

.bd-mid, .bd-narrow { display: none; }
@media (max-width: 724px) {
  .bd-wide { display: none; }
  .bd-mid  { display: block; }
  .vs-board { height: 92px; padding: 0 11.5% 0 7.5%; }
}
@media (max-width: 619px) {
  .bd-mid { display: none; }
  .bd-narrow { display: block; }
  .vs-boards { display: grid; grid-auto-rows: 1fr; }
  .vs-board { height: auto; min-height: 84px; padding: 18px 12.5% 18px 8%; }
  .vs-t { font-size: var(--fs-body); }
  .vs-post { width: 18px; margin-left: -9px; }
  .vs-post i:nth-child(1) { left: 2.5px; }
  .vs-post i:nth-child(2) { left: 6px; }
  .vs-post i:nth-child(3) { left: 9.5px; }
}

.founder { max-width: 820px; margin: 0 auto; }
.founder .prose { max-width: none; color: var(--muted); }
.founder .prose + .prose { margin-top: 0; }
.founder-name { font-size: var(--fs-ui); }

.founder-compass { position: relative; width: clamp(216px, 54vw, 268px); aspect-ratio: 1 / 1;
  margin: 0 auto 26px; }
.founder-compass .portrait {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: 64.4%; height: 64.4%; border-radius: 50%; object-fit: cover; display: block;
  border: 1px solid rgba(255,255,255,.38);
  box-shadow: 0 18px 40px rgba(95,40,4,.35), inset 0 1px 0 var(--glass-hi);
}
.founder-compass .compass-frame { position: absolute; inset: 0; width: 100%; height: 100%;
  pointer-events: none; }
.founder-compass .face    { fill: rgba(255,255,255,.09); }
.founder-compass .ring    { fill: none; stroke: rgba(255,255,255,.34); stroke-width: 1.3; }
.founder-compass .ring-in { stroke: rgba(255,255,255,.17); stroke-width: .8; }
.founder-compass .tick-mn { fill: none; stroke: rgba(255,255,255,.34); stroke-width: 1.3;
  stroke-linecap: round; }
.founder-compass .card    { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-xs);
  fill: rgba(255,255,255,.7); text-anchor: middle; }

.founder-compass .rose { transform-box: view-box; transform-origin: 50px 50px; }
.founder-compass.oriented .rose {
  animation: compassSettle 1.9s .12s ease-in-out both;
}
@keyframes compassSettle {
  0%   { transform: rotate(0deg); }
  9%   { transform: rotate(-13deg); }
  27%  { transform: rotate(8.6deg); }
  45%  { transform: rotate(-5.4deg); }
  61%  { transform: rotate(3.2deg); }
  75%  { transform: rotate(-1.8deg); }
  87%  { transform: rotate(.9deg); }
  95%  { transform: rotate(-.35deg); }
  100% { transform: rotate(0deg); }
}

.noticeboard { max-width: 880px; margin: 44px auto 0; touch-action: pan-y; }

.nb-roof { display: block; width: calc(100% + 36px); margin: 0 -18px -2px;
  height: clamp(64px, 7vw, 86px); }
.nb-roof .nb-eave { fill: none; stroke: #fff; stroke-width: 3.4;
  stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.nb-roof .log  { fill: url(#nb-log); }
.nb-roof .seam { fill: #4a2306; fill-opacity: .22; }

.nb-face {
  position: relative; border: 2px solid rgba(255,255,255,.7); border-radius: 4px;
  padding: clamp(22px, 3.2vw, 38px);
  background: linear-gradient(180deg, rgba(0,44,39,.62), rgba(0,35,30,.78));
  backdrop-filter: blur(14px) saturate(120%);
  -webkit-backdrop-filter: blur(14px) saturate(120%);
  box-shadow: inset 0 16px 28px rgba(95,40,4,.3), 0 26px 56px rgba(95,40,4,.34);
}

.nb-base { position: relative; padding-top: clamp(26px, 3.6vw, 42px); }
.nb-base::before, .nb-base::after {
  content: ""; position: absolute; top: -2px; bottom: 0;
  width: clamp(11px, 1.3vw, 15px); background: rgba(255,248,235,.6);
}
.nb-base::before { left: 17%; }
.nb-base::after  { right: 17%; }
.nb-grass { position: relative; z-index: 1; display: block;
  width: calc(100% + 36px); margin: 0 -18px; height: auto; fill: #fff8eb;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%); }

.notes { display: grid; grid-template-rows: minmax(0, 1fr); align-items: center; }
.notes.sized { transition: height .5s cubic-bezier(.4, 0, .2, 1); }
.note {
  grid-area: 1 / 1; margin: 0 auto; max-width: 680px; width: 100%;
  text-align: left; position: relative;
  padding: clamp(30px, 2.8vw, 36px) clamp(22px, 2.2vw, 30px) clamp(22px, 2vw, 26px);
  background: linear-gradient(180deg, rgba(0,86,77,.78), rgba(0,72,64,.74));
  border: 1px solid rgba(255,255,255,.55);
  box-shadow: 0 8px 20px rgba(95,40,4,.34);
  opacity: 0; visibility: hidden;
  transition: opacity .4s ease, visibility .4s;
}
.note::before {
  content: ""; position: absolute; top: 11px; left: 50%; width: 11px; height: 11px;
  margin-left: -5.5px; border-radius: 50%; background: #fff;
  box-shadow: 0 2px 5px rgba(95,40,4,.5);
}
.note blockquote { margin: 0; font-family: var(--font-ui);
  font-size: var(--fs-body); line-height: 1.64; color: rgba(255,255,255,.96); }
.note cite { display: block; margin: 20px 0 0; padding-top: 15px; font-style: normal;
  border-top: 1px solid rgba(255,255,255,.26);
  font-family: var(--font-ui); font-variation-settings: var(--fraunces-axes);
  font-weight: 400; font-size: var(--fs-ui); color: rgba(255,255,255,.9); }

.noticeboard.armed.posted .note.up,
.noticeboard:not(.armed) .note.up { opacity: 1; visibility: visible; }

.nb-tacks { position: relative; z-index: 2; display: flex; justify-content: center;
  gap: 10px; margin-top: clamp(26px, 2.6vw, 34px); }
.nb-tacks button { position: relative; width: 10px; height: 10px; padding: 0;
  border-radius: 50%; cursor: pointer; border: 1px solid rgba(255,248,235,.55);
  background: rgba(255,248,235,.2); transition: background .25s ease; }
.nb-tacks button::after { content: ""; position: absolute; inset: -14px; }
.nb-tacks button[aria-current="true"] { background: #fff8eb; }

@media (max-width: 900px) {
  .nb-base::before { left: 13%; }
  .nb-base::after  { right: 13%; }
}
@media (prefers-reduced-motion: reduce) {
  .note { transition: none; }
  .notes.sized { transition: none; }
}


.trail-tagline { display: flex; flex-wrap: wrap; justify-content: center; gap: .5em 1.4em;
  font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-body);
  margin: .2em 0 1.1em; }
.trail-tagline span { position: relative; }
.trail-tagline span + span::before { content: "·"; position: absolute; left: -.8em; opacity: .55; }
@media (max-width: 560px) {
  .trail-tagline.stacked { flex-direction: column; gap: .3em; }
  .trail-tagline.stacked span + span::before { display: none; }
}

.trail-line { max-width: 460px; margin: 0 auto; color: var(--muted);
  font-size: var(--fs-body); line-height: 1.5; }

.trailprice { display: flex; align-items: center; justify-content: center;
  gap: clamp(16px, 3vw, 30px); margin: 34px 0 0; }
.trailprice::before, .trailprice::after { content: ""; height: 1px; opacity: .6;
  width: clamp(46px, 12vw, 150px); }
.trailprice::before { background: linear-gradient(90deg, transparent, rgba(255,255,255,.55)); }
.trailprice::after  { background: linear-gradient(90deg, rgba(255,255,255,.55), transparent); }
.trailprice .fig { font-family: var(--font-display);
  font-variation-settings: var(--fraunces-axes); font-weight: 700;
  font-size: var(--fs-figure); line-height: 1; 
  color: #fff; }
.terms { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-sm);
  color: rgba(255,255,255,.72);
  margin: 1em 0 0; }

.order { text-align: center; margin: 0 0 34px;
  padding: 0 0 30px; border-bottom: 1px solid rgba(255,255,255,.16); }
.order-item { font-family: var(--font-ui); font-weight: 700;
  font-size: var(--fs-h3); color: #fff; margin: 6px 0 0; }
.order .trailprice { margin-top: 18px; }
.order-acct { font-family: var(--font-text); font-size: var(--fs-ui);
  color: var(--muted); margin: 14px 0 0; }
.order-acct strong { color: rgba(255,255,255,.9); font-weight: 700; }
.stamp-form .sublabel-left { text-align: left; margin: 0 0 16px; }
.stamp-form .field input[readonly] { color: rgba(255,255,255,.78); cursor: default; }
.stamp-form .field input[readonly]:focus { background: rgba(255,255,255,.12); }

.trail-stamp {
  display: block; position: relative;
  width: 460px; max-width: 100%;
  margin: 26px auto 4px;
  padding: 11px; border-radius: 3px;
  background: #fff8eb;
  filter: drop-shadow(0 14px 30px rgba(24,13,2,.34));
  --perf: 5.5px; --pitch: 22px;
  -webkit-mask:
    radial-gradient(circle var(--perf) at 50% 0,    #0000 97%, #000) 0 0 / var(--pitch) 100% round no-repeat,
    radial-gradient(circle var(--perf) at 50% 100%, #0000 97%, #000) 0 0 / var(--pitch) 100% round no-repeat,
    radial-gradient(circle var(--perf) at 0 50%,    #0000 97%, #000) 0 0 / 100% var(--pitch) no-repeat round,
    radial-gradient(circle var(--perf) at 100% 50%, #0000 97%, #000) 0 0 / 100% var(--pitch) no-repeat round;
  -webkit-mask-composite: source-in, source-in, source-in, source-over;
  mask:
    radial-gradient(circle var(--perf) at 50% 0,    #0000 97%, #000) 0 0 / var(--pitch) 100% round no-repeat,
    radial-gradient(circle var(--perf) at 50% 100%, #0000 97%, #000) 0 0 / var(--pitch) 100% round no-repeat,
    radial-gradient(circle var(--perf) at 0 50%,    #0000 97%, #000) 0 0 / 100% var(--pitch) no-repeat round,
    radial-gradient(circle var(--perf) at 100% 50%, #0000 97%, #000) 0 0 / 100% var(--pitch) no-repeat round;
  mask-composite: intersect, intersect, intersect, add;
}
.ts-frame {
  position: relative; aspect-ratio: 300 / 188; overflow: hidden;
  container-type: inline-size;
  border: 1px solid rgba(255,255,255,.32); border-radius: 2px;
  background: linear-gradient(168deg, var(--o-hi), var(--o-0) 46%, var(--o-1));
}
.ts-scene { position: absolute; inset: 0; width: 100%; height: 100%; }

.ts-value, .ts-line {
  position: absolute; left: 3.653cqw; right: 24.658cqw; margin: 0; z-index: 1;
  font-family: var(--font-ui); color: var(--ink); text-align: left;
  text-shadow: 0 1px 7px rgba(90,40,0,.55);
}
.ts-value { top: 2.511cqw; font-size: 4.822cqw; font-weight: 800; letter-spacing: -.02em; line-height: 1; }
.ts-line { bottom: 2.740cqw; font-size: 2.192cqw; font-weight: 700; letter-spacing: .24em;
  line-height: 1.4; text-transform: uppercase; color: rgba(255,255,255,.86); }

.ts-scene .sun        { fill: #ffd79a; }
.ts-scene .rays       { fill: none; stroke: #ffd79a; stroke-width: 2.2; stroke-linecap: round; }

.ts-scene .land-far   { fill: rgba(22,47,54,.22); }
.ts-scene .land-mid   { fill: rgba(22,47,54,.44); }
.ts-scene .land-near  { fill: rgba(22,47,54,.68); }
.ts-scene .ridge-near { fill: rgba(22,47,54,.68); }

.ts-scene .tree-far   { fill: rgba(22,47,54,.50); }
.ts-scene .tree-near  { fill: rgba(14,32,38,.86); }

.ts-scene .path { fill: rgba(255,232,196,.26); }

.ts-scene .cloud { fill: rgba(255,240,214,.28); }

.ts-scene.ts-green .land-far   { fill: rgba(0,56,48,.58); }
.ts-scene.ts-green .land-mid   { fill: rgba(0,56,48,.68); }
.ts-scene.ts-green .land-near  { fill: rgba(0,46,40,.84); }

.ts-scene.ts-green .tree-far   { fill: #22331c; }
.ts-scene.ts-green .tree-near  { fill: #062720; }

.ts-scene.ts-green .trunk-far,
.ts-scene.ts-green .trunk-near { fill: #8f5c2b; }

.ts-scene.ts-green .path { fill: var(--trail); }

.ts-scene .cliff   { fill: rgba(14,32,38,.80); }
.ts-scene .bedding { fill: none; stroke: rgba(255,215,154,.30); stroke-width: 1.1; }
.ts-scene .water   { fill: rgba(255,255,255,.24); }
.ts-scene .current { fill: none; stroke: rgba(255,255,255,.78); stroke-width: 1.5;
  stroke-linecap: round; }
.ts-scene .boulder { fill: rgba(14,32,38,.82); }

.ts-scene .cairn { fill: #fff3dc; }

.ts-scene .way { fill: none; stroke: rgba(255,255,255,.5); stroke-width: 1.8;
  stroke-linecap: round; stroke-dasharray: 5 5; }
.ts-scene .stand { fill: rgba(14,32,38,.86); stroke: #ffd79a; stroke-width: 2;
  stroke-linejoin: round; }


.ts-scene.ts-green .dirt-dark  { fill: rgba(86,54,19,.26); }
.ts-scene.ts-green .dirt-lite  { fill: rgba(228,195,141,.19); }
.ts-scene.ts-green .dirt-spill { fill: rgba(150,110,60,.55); }

.ts-scene.ts-green .rock-seat { fill: rgba(68,43,14,.55); }
.ts-scene.ts-green .rock      { fill: #7e7160; }
.ts-scene.ts-green .scree     { fill: rgba(126,113,96,.85); }

.ts-scene.ts-green .rock-a { fill: #958d7e; }
.ts-scene.ts-green .rock-b { fill: #8e8676; }
.ts-scene.ts-green .rock-c { fill: #7d7666; }
.ts-scene.ts-green .rock-d { fill: #a09889; }
.ts-scene.ts-green .rock-e { fill: #6b6455; }

.ts-scene.ts-green .rock-hi { fill: rgba(255,243,222,.26); }

.ts-scene.ts-green .summit     { fill: #0a2a22; }
.ts-scene.ts-green .summit-lit { fill: #1c4034; }
.ts-scene.ts-green .flag       { fill: #fff3dc; }
.ts-scene.ts-green .pole       { fill: none; stroke: #fff3dc; stroke-width: 1.7;
  stroke-linecap: round; }

.ts-scene.ts-green .tree-ridge { fill: #3c4924; }

.ts-scene.ts-green .fl-a { fill: #f2d183; }
.ts-scene.ts-green .fl-b { fill: #fff0d6; }
.ts-scene.ts-green .fl-c { fill: #dd9db3; }
.ts-scene.ts-green .fl-d { fill: #a8a6dd; }
.ts-scene.ts-green .stem { fill: none; stroke: rgba(30,64,44,.75); stroke-width: .9;
  stroke-linecap: round; }

.ts-scene.ts-green .meadow      { fill: rgba(168,182,84,.24); }
.ts-scene.ts-green .meadow-soft { fill: rgba(168,182,84,.12); }

.ts-scene.ts-green .brook  { fill: rgba(198,229,235,.62); }
.ts-scene.ts-green .ripple { fill: none; stroke: rgba(255,255,255,.72);
  stroke-width: 1.1; stroke-linecap: round; }

.ts-scene.ts-green .fnd0 { fill: #e98c19; }
.ts-scene.ts-green .fnd1 { fill: #1d3d29; }
.ts-scene.ts-green .fnd2 { fill: #fda02c; }
.ts-scene.ts-green .fnd3 { fill: #ffab1f; }
.ts-scene.ts-green .fnd4 { fill: #ffaa2c; }
.ts-scene.ts-green .fnd5 { fill: #585626; }
.ts-scene.ts-green .fnd6 { fill: #fe9a1b; }
.ts-scene.ts-green .fnd7 { fill: #062b24; }
.ts-scene.ts-green .fnd8 { fill: #ec952d; }
.ts-scene.ts-green .fnd9 { fill: #ffb623; }
.ts-scene.ts-green .fnd10 { fill: #c38639; }
.ts-scene.ts-green .fnd11 { fill: #ffad26; }
.ts-scene.ts-green .fnd12 { fill: #d38e3a; }
.ts-scene.ts-green .fnd13 { fill: #e88e1f; }
.ts-scene.ts-green .fnd14 { fill: #feeea6; }
.ts-scene.ts-green .fnd15 { fill: #022721; }
.ts-scene.ts-green .fnd16 { fill: #ffa21d; }
.ts-scene.ts-green .fnd17 { fill: #f99924; }
.ts-scene.ts-green .fnd18 { fill: #83612b; }
.ts-scene.ts-green .fnd19 { fill: #113124; }

.ts-scene.ts-green .mec0 { fill: #fda620; }
.ts-scene.ts-green .mec1 { fill: #e38e27; }
.ts-scene.ts-green .mec2 { fill: #062821; }
.ts-scene.ts-green .mec3 { fill: #082f26; }
.ts-scene.ts-green .mec4 { fill: #02221d; }
.ts-scene.ts-green .mec5 { fill: #ffa82f; }
.ts-scene.ts-green .mec6 { fill: #04251f; }
.ts-scene.ts-green .mec7 { fill: #f8a236; }
.ts-scene.ts-green .mec8 { fill: #897b5f; }
.ts-scene.ts-green .mec9 { fill: #f39522; }
.ts-scene.ts-green .mec10 { fill: #fc9e2a; }
.ts-scene.ts-green .mec11 { fill: #011f19; }
.ts-scene.ts-green .mec12 { fill: #ffb527; }
.ts-scene.ts-green .mec13 { fill: #042b24; }
.ts-scene.ts-green .mec14 { fill: #fdeca7; }
.ts-scene.ts-green .mec15 { fill: #ffaa27; }
.ts-scene.ts-green .mec16 { fill: #2f4328; }
.ts-scene.ts-green .mec17 { fill: #0f3327; }
.ts-scene.ts-green .mec18 { fill: #c67f26; }
.ts-scene.ts-green .mec19 { fill: #ca9048; }

.ts-scene.ts-green .sov0 { fill: #d6831c; }
.ts-scene.ts-green .sov1 { fill: #ffb322; }
.ts-scene.ts-green .sov2 { fill: #fea32c; }
.ts-scene.ts-green .sov3 { fill: #de8d2d; }
.ts-scene.ts-green .sov4 { fill: #1c2f1b; }
.ts-scene.ts-green .sov5 { fill: #0d3428; }
.ts-scene.ts-green .sov6 { fill: #fda21d; }
.ts-scene.ts-green .sov7 { fill: #092b23; }
.ts-scene.ts-green .sov8 { fill: #ffc028; }
.ts-scene.ts-green .sov9 { fill: #31492d; }
.ts-scene.ts-green .sov10 { fill: #ffb12d; }
.ts-scene.ts-green .sov11 { fill: #05241e; }
.ts-scene.ts-green .sov12 { fill: #f49829; }
.ts-scene.ts-green .sov13 { fill: #03211c; }
.ts-scene.ts-green .sov14 { fill: #011e19; }
.ts-scene.ts-green .sov15 { fill: #ffc53b; }
.ts-scene.ts-green .sov16 { fill: #fffac9; }
.ts-scene.ts-green .sov17 { fill: #fe9e24; }
.ts-scene.ts-green .sov18 { fill: #736528; }

.ts-scene.ts-green .tr0 { fill: #08342f; }
.ts-scene.ts-green .tr1 { fill: #07312d; }
.ts-scene.ts-green .tr2 { fill: #1e513b; }
.ts-scene.ts-green .tr3 { fill: #b9c26a; }
.ts-scene.ts-green .tr4 { fill: #58793c; }
.ts-scene.ts-green .tr5 { fill: #386440; }
.ts-scene.ts-green .tr6 { fill: #082c2d; }
.ts-scene.ts-green .tr7 { fill: #7db19c; }
.ts-scene.ts-green .tr8 { fill: #1f4238; }
.ts-scene.ts-green .tr9 { fill: #679559; }
.ts-scene.ts-green .tr10 { fill: #ece9b0; }
.ts-scene.ts-green .tr11 { fill: #103c35; }
.ts-scene.ts-green .tr12 { fill: #226557; }
.ts-scene.ts-green .tr13 { fill: #093b37; }
.ts-scene.ts-green .tr14 { fill: #0a322f; }
.ts-scene.ts-green .tr15 { fill: #042c29; }

.ts-mark {
  position: absolute; right: 2.740cqw; bottom: 2.283cqw; width: 21.918cqw; height: 21.918cqw;
  transform: rotate(-12deg); opacity: .42; z-index: 1;
}
.ts-mark circle { fill: none; stroke: #fff; stroke-width: 2; }
.ts-mark path   { fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; }
.ts-mark text   { font-family: var(--font-ui); font-weight: 800; font-size: 11px;
  letter-spacing: .08em; fill: #fff; text-anchor: middle; }
.ts-mark text.sm { font-size: 8.5px; letter-spacing: .22em; }

@media (max-width: 560px) {
  .trail-stamp { --perf: 4.6px; --pitch: 18px; padding: 9px; }
}
.trailsign { position: relative; max-width: 560px; margin: 42px auto 0;
  padding: 16px 0 30px;
  perspective: 1500px; }
.ts-post { position: absolute; left: 50%; margin-left: -12px; top: 0; bottom: 0;
  width: 24px; z-index: 0;
  background: var(--g-post);
  border-left: 1.5px solid rgba(255,255,255,.3);
  border-right: 1.5px solid rgba(255,255,255,.3); }
.ts-post i { position: absolute; top: 0; bottom: 0; width: 1.4px;
  background: rgba(0,22,19,.5); }
.ts-post i:nth-child(1) { left: 3.5px; }
.ts-post i:nth-child(2) { left: 9px; opacity: .6; }
.ts-post i:nth-child(3) { left: 14.5px; opacity: .85; }

.ts-boards { list-style: none; margin: 0; padding: 0; position: relative;
  z-index: 1; display: flex; flex-direction: column; gap: 24px; }

.ts-board { position: relative; height: 114px;
  display: flex; align-items: center;
  padding: 0 13% 0 15%; text-align: left;
  transform-origin: 50% 50%; transform-style: preserve-3d;
  opacity: 0; transform: rotateY(-84deg) rotate(var(--tilt));
  transition: transform .78s cubic-bezier(.2,.8,.28,1) var(--d),
              opacity .34s ease var(--d); }
.trailsigns.planted .ts-board { opacity: 1; transform: rotateY(0deg) rotate(var(--tilt)); }

.ts-board .bd { position: absolute; inset: 0; width: 100%; height: 100%;
  z-index: -1; overflow: visible;
  filter: drop-shadow(0 14px 24px rgba(95,40,4,.34)); }
.ts-board .board { fill: var(--g-1); stroke: #fff; stroke-opacity: .92;
  stroke-width: 2.4; stroke-linejoin: round; vector-effect: non-scaling-stroke; }

.ts-face { display: flex; align-items: center; justify-content: space-between;
  gap: 20px; width: 100%; }
.ts-body h3 { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-h3);
  margin: 0;
  display: flex; align-items: center; flex-wrap: wrap; }
.ts-cost { display: inline-flex; align-items: center; font-weight: 700;
  font-size: var(--fs-ui); color: #fff;
  white-space: nowrap; }
.ts-cost::before { content: "·"; font-weight: 700; color: #fff;
  margin: 0 .55em 0 .7em; }
.ts-words { display: flex; flex-wrap: nowrap; white-space: nowrap;
  gap: .2em 1.25em; margin: .34em 0 0;
  font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-sm);
  
  color: rgba(255,255,255,.72); }
.ts-words span { position: relative; }
.ts-words span + span::before { content: "·"; position: absolute; left: -.72em;
  color: #fff; }
.ts-side { display: flex; align-items: center; gap: 14px; white-space: nowrap; }
.ts-go { display: inline-flex; align-items: center; justify-content: center;
  flex: none; width: 46px; height: 46px; border-radius: 999px;
  color: #fff; text-decoration: none;
  background: rgba(0,32,28,.62);
  border: 1.5px solid rgba(255,255,255,.55);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14);
  transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.ts-go span { position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip-path: inset(50%); white-space: nowrap; }
.ts-go svg { width: 17px; height: 17px; flex: none; fill: none; stroke: #fff;
  stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round;
  transition: transform .18s cubic-bezier(.2,.7,.3,1); }
.ts-go::after { content: ""; position: absolute; inset: 0; }
.ts-board:hover .ts-go { background: rgba(0,74,66,.9); border-color: #fff; }
.ts-board:hover .ts-go svg { transform: translateX(3px); }
.ts-go:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

.ts-board .bd-wide { display: block; }
.ts-board .bd-narrow { display: none; }
@media (max-width: 760px) {
  .ts-body h3 { font-size: var(--fs-lead); }
  .ts-words { font-size: var(--fs-xs); gap: .2em 1.1em; }
  .ts-face { gap: 14px; }
  .ts-side { gap: 10px; }
}
@media (max-width: 479px) {
  .ts-board .bd-wide { display: none; }
  .ts-board .bd-narrow { display: block; }
  .ts-board { height: 112px; padding: 0 13% 0 12%; }
  .ts-face { gap: 12px; }
  .ts-body { min-width: 0; }
  .ts-body h3 { font-size: var(--fs-lg); }
  .ts-words { font-size: var(--fs-xs); gap: .2em .78em; }
  .ts-go { width: 38px; height: 38px; }
  .ts-go svg { width: 15px; height: 15px; }
  .ts-post { width: 20px; margin-left: -10px; }
  .ts-post i:nth-child(1) { left: 3px; }
  .ts-post i:nth-child(2) { left: 7.5px; }
  .ts-post i:nth-child(3) { left: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .ts-board { opacity: 1; transform: rotate(var(--tilt)); transition: none; }
}

.grid-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 980px){ .grid-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px){ .grid-4 { grid-template-columns: 1fr; } }
.mcards { margin-top: 36px; }
.mcard { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 30px 24px; }
.mcard .mcard-ico { width: 56px; height: 56px; margin: 2px 0 18px; }
.mcard .mcard-ico svg { width: 100%; height: 100%; fill: none; stroke: #fff;
  stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round;
  filter: drop-shadow(0 0 14px rgba(255,236,200,.45)); }
.mcard h3 { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-lg); margin: 0; }
.mcard p { color: var(--muted); font-size: var(--fs-ui); line-height: 1.6; margin: 16px 0 22px; }
.mcard .btn { margin-top: auto; }
.mclose { max-width: 720px; margin: 40px auto 0; font-family: var(--font-ui); font-weight: 700;
  font-size: var(--fs-lead); line-height: 1.5; color: #fff; }

.svc-lead { max-width: 62ch; margin: 18px auto 0; color: var(--muted);
  font-size: var(--fs-body); line-height: 1.62; }

.course { max-width: 1020px; margin: 44px auto 0; }
.svc-title { font-family: var(--font-display);
  font-variation-settings: var(--fraunces-axes);
  font-weight: 700; font-size: var(--fs-h2); 
  margin: 0 0 36px; }

.ct-grid { list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px; }
.ct { text-align: center; }

.ct-mk { width: 46px; height: 46px; margin: 0 auto 14px; display: block; }
.ct-mk .mk-face { fill: rgba(255,255,255,.12); }
.ct-mk .mk-ring { fill: none; stroke: rgba(255,255,255,.6); stroke-width: 1.6; }
.ct-mk .mk-num { font-family: var(--font-ui); font-weight: 800; font-size: 14px;
  fill: #fff7e6; text-anchor: middle; dominant-baseline: central;
  letter-spacing: .02em; }

.ct p { color: rgba(255,255,255,.9); font-size: var(--fs-body); line-height: 1.62;
  margin: 0 auto; max-width: 34ch; }

.topics-label { margin: 52px 0 26px; }

.bootline { list-style: none; margin: 0 auto; padding: 0;
  display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start;
  gap: clamp(6px, 1.4vw, 20px); }

.bootline li { --pw: clamp(238px, 30vw, 330px);
  position: relative; width: var(--pw); height: calc(var(--pw) * 235 / 512);
  display: flex; align-items: center; justify-content: center; }

.bootline li::before { content: ""; position: absolute; left: 50%; top: 50%;
  width: calc(var(--pw) * 235 / 512); height: var(--pw);
  background-image: url(boot-left.png);
  background-size: contain; background-position: center; background-repeat: no-repeat;
  filter: brightness(0) invert(1) sepia(.34) saturate(1.2) brightness(1.04);
  opacity: .11;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20397%22%20preserveAspectRatio%3D%22none%22%3E%3Crect%20width%3D%22100%22%20height%3D%22397%22%20rx%3D%2250%22%2F%3E%3C%2Fsvg%3E"), linear-gradient(#000, #000);
          mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20397%22%20preserveAspectRatio%3D%22none%22%3E%3Crect%20width%3D%22100%22%20height%3D%22397%22%20rx%3D%2250%22%2F%3E%3C%2Fsvg%3E"), linear-gradient(#000, #000);
  -webkit-mask-size: 34% 58%, 100% 100%;
          mask-size: 34% 58%, 100% 100%;
  -webkit-mask-position: center, center;
          mask-position: center, center;
  -webkit-mask-repeat: no-repeat, no-repeat;
          mask-repeat: no-repeat, no-repeat;
  -webkit-mask-composite: xor, source-over;
          mask-composite: exclude, add; }

.bootline li:nth-child(1)::before { transform: translate(-50%,-50%) rotate(90deg); }
.bootline li:nth-child(2)::before { transform: translate(-50%,-50%) rotate(90deg) scaleX(-1); }
.bootline li:nth-child(3)::before { transform: translate(-50%,-50%) rotate(90deg); }
.bootline li:nth-child(4)::before { transform: translate(-50%,-50%) rotate(90deg) scaleX(-1); }

.bootline li:nth-child(1) { margin-top: 0; }
.bootline li:nth-child(2) { margin-top: 24px; }
.bootline li:nth-child(3) { margin-top: 7px; }
.bootline li:nth-child(4) { margin-top: 26px; }

.bootline span { position: relative; z-index: 1;
  width: 49%; text-align: center; text-wrap: balance;
  font-family: var(--font-ui); font-weight: 700;
  font-size: var(--fs-body); line-height: 1.26;
  color: #fff;
  text-shadow: 0 1px 6px rgba(0,40,34,.7); }

@media (max-width: 720px) {
  .bootline { gap: clamp(4px, 1.6vw, 14px); }
  .bootline li { --pw: min(78vw, 300px); }
  .bootline li::before { -webkit-mask-size: 36% 60%, 100% 100%;
                                 mask-size: 36% 60%, 100% 100%; }
  .bootline li:nth-child(2) { margin-top: 8px; }
  .bootline li:nth-child(3) { margin-top: 2px; }
  .bootline li:nth-child(4) { margin-top: 9px; }
  .bootline span { width: 50%; font-size: var(--fs-ui); }
}

.ct-summit { display: flex; justify-content: center; margin-top: 42px; }

@media (max-width: 720px) {
  .ct-grid { grid-template-columns: 1fr; gap: 36px; }
  .ct p { max-width: 36ch; }
}

.journey { max-width: 940px; margin: 44px auto 0; text-align: left; }
.climb-plot { position: relative; }

.climb-plot { --fade-x: linear-gradient(90deg, transparent 0, #000 26px,
                        #000 calc(100% - 76px), transparent 100%); }
.climb-sky { position: relative; }


.climb-sky { padding-top: 66px; }
.climb-ridge { position: relative; height: 220px; }
.climb-art { position: absolute; inset: 0; width: 100%; height: 100%; display: block;
  -webkit-mask-image: var(--fade-x); mask-image: var(--fade-x); }
.cl-far   { fill: var(--g-1); }
.cl-near  { fill: var(--g-r); }
.cl-edge  { fill: none; stroke: rgba(255,248,235,.72); stroke-width: 2.2;
  stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.cl-rim2  { fill: none; stroke: rgba(255,255,255,.045); stroke-width: 52;
  stroke-linecap: round; vector-effect: non-scaling-stroke; }
.cl-rim   { fill: none; stroke: rgba(255,255,255,.075); stroke-width: 18;
  stroke-linecap: round; vector-effect: non-scaling-stroke; }
.cl-cont  { fill: none; stroke: rgba(255,244,225,.15); stroke-width: 1;
  vector-effect: non-scaling-stroke; }
.cl-route { fill: none; stroke: rgba(255,248,235,.58); stroke-width: 2.4;
  stroke-dasharray: 7 10; stroke-linecap: round; vector-effect: non-scaling-stroke; }

.fl { position: absolute; left: var(--x); top: var(--y); font-size: var(--fs-sm);
  transform: translate(-16.667%, -100%);
  -webkit-appearance: none; appearance: none; background: none; border: 0; padding: 0;
  cursor: pointer; width: 36px; height: 55px; z-index: 3;
  font-family: var(--font-text); transition: filter .3s ease; }
.fl > svg { display: block; width: 100%; height: 100%; overflow: visible; }
.fl-pole  { stroke: #fff; stroke-width: 2; stroke-linecap: round; fill: none;
  transition: stroke .3s ease; }
.fl-cloth { fill: #fff; stroke: #fff; stroke-width: 1.5;
  stroke-linejoin: round; transition: fill .3s ease, stroke .3s ease; }
.fl-foot  { fill: #fff; transition: fill .3s ease; }
.fl-tick  { fill: none; stroke: #fff; stroke-width: 2.6; stroke-linecap: round;
  stroke-linejoin: round; opacity: 0; transition: opacity .3s ease; }
.fl-n { font-family: var(--font-ui); font-weight: 800; font-size: 10.5px;
  fill: var(--g-r); pointer-events: none;
  transition: fill .3s ease, opacity .3s ease; }

.fl.done .fl-cloth { fill: var(--o-0); stroke: var(--o-0); }
.fl.done .fl-pole  { stroke: #fff; }
.fl.done .fl-foot  { fill: #fff; }
.fl.done .fl-tick  { opacity: 1; }
.fl.done .fl-n     { opacity: 0; }
.fl:hover .fl-cloth, .fl:focus-visible .fl-cloth { fill: var(--o-hi); stroke: var(--o-hi); }
.fl:hover .fl-n { fill: #fff; }
.fl:focus-visible { outline: 2px solid #fff8ec; outline-offset: 3px; border-radius: 3px; }
.fl.here { filter: drop-shadow(0 0 11px rgba(255,236,196,.75)); }

.fl-label { position: absolute; width: 1px; height: 1px; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ridge-name { position: absolute; top: 0; left: var(--nx, 50%);
  transform: translate(-50%, -100%); z-index: 4; pointer-events: none;
  width: max-content; max-width: 210px; text-align: center;
  opacity: 0; transition: opacity .25s ease,
              left .35s cubic-bezier(.2,.7,.3,1), top .35s cubic-bezier(.2,.7,.3,1); }
.rn-wp { display: block; font-family: var(--font-ui); font-size: var(--fs-sm); font-weight: 700;
  color: rgba(255,255,255,.88);
  text-shadow: 0 1px 3px rgba(0,20,18,.8); }
.rn-title { display: block; font-family: var(--font-ui); font-size: var(--fs-body); font-weight: 700;
  line-height: 1.16; color: #fff; margin-top: 3px;
  text-shadow: 0 1px 4px rgba(0,20,18,.85); }
.ridge-name::after { content: ""; position: absolute; top: 100%; left: 50%; width: 1px;
  height: var(--lead, 9px);
  background: linear-gradient(180deg, rgba(255,244,225,.62), rgba(255,244,225,.14)); }
.ridge-name.at-l { transform: translate(0, -100%); text-align: left; }
.ridge-name.at-r { transform: translate(-100%, -100%); text-align: right; }
.ridge-name.at-l::after { left: 0; }
.ridge-name.at-r::after { left: 100%; }
.ridge-name.on { opacity: 1; }

.climb-body { position: relative; padding: 16px 5% 64px; }
.climb-body::before { content: ""; position: absolute; inset: 0;
  background-color: var(--g-r);
  -webkit-mask-image: var(--fade-x),
                      linear-gradient(180deg, #000 calc(100% - 34px), transparent 100%);
          mask-image: var(--fade-x),
                      linear-gradient(180deg, #000 calc(100% - 34px), transparent 100%);
  -webkit-mask-composite: source-in; mask-composite: intersect; }
.climb-under { position: absolute; inset: 0; width: 100%; height: 100%; display: block;
  pointer-events: none;
  -webkit-mask-image: var(--fade-x), linear-gradient(180deg, #000 0 44%, transparent 86%);
          mask-image: var(--fade-x), linear-gradient(180deg, #000 0 44%, transparent 86%);
  -webkit-mask-composite: source-in; mask-composite: intersect; }

.cb-slot { position: relative; width: min(720px, 78%); margin-left: auto;
  margin-top: -44px; }

.climb-go { margin: 0 auto; -webkit-appearance: none; appearance: none; }
.climb-go svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2.2;
  stroke-linecap: round; stroke-linejoin: round; }
.climb-go:focus-visible { outline: 2px solid #fff8ec; outline-offset: 4px; }
.climb-go[hidden] { display: none; }
.cb-slot { display: flex; flex-direction: column; }

.cb { height: 0; overflow: hidden;
  transition: height .44s cubic-bezier(.2,.7,.3,1); }
.cb.on { height: var(--open-h, auto); }
.cb-in { --gutter: 62px; position: relative; padding-left: var(--gutter); height: 100%;
  display: flex; flex-direction: column;
  opacity: 0; transition: opacity .2s ease; }
.cb.measuring { height: auto !important; transition: none !important; }
.cb.measuring .cb-in { height: auto; }
.cb.on .cb-in { opacity: 1; transition: opacity .3s ease .16s; }

.ins-num { position: absolute; left: 0; top: -4px;
  font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-figure);
  line-height: .82; color: #fff;
  text-shadow: 0 2px 5px rgba(0,20,18,.55); }

.ins-quote { font-family: var(--font-display);
  font-variation-settings: var(--fraunces-axes);
  font-size: var(--fs-lead); font-weight: 400; line-height: 1.24; color: #fff;
  margin: 0; text-shadow: 0 1px 0 rgba(0,0,0,.45); }
.ins-line { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px;
  margin: 7px 0 0; }
.ins-phase { font-family: var(--font-ui); font-size: var(--fs-sm); font-weight: 700;
  color: rgba(255,255,255,.86);
  text-shadow: 0 1px 0 rgba(0,0,0,.42); }
.ins-hours { font-family: var(--font-ui); font-weight: 700;
  font-size: var(--fs-xs); color: rgba(255,255,255,.76); }
.ins-read { font-size: var(--fs-ui); line-height: 1.46; color: rgba(255,255,255,.95);
  margin: 10px 0 0; text-shadow: 0 1px 0 rgba(0,0,0,.42); }
.ins-marks { font-size: var(--fs-sm); line-height: 1.34; color: rgba(255,255,255,.9);
  margin: 9px 0 0; text-shadow: 0 1px 0 rgba(0,0,0,.4); }
.ins-marks span { display: block; position: relative; padding-left: 15px; }
.ins-marks span + span { margin-top: 4px; }
.ins-marks span::before { content: ""; position: absolute; left: 1px; top: .58em;
  width: 4px; height: 4px; border-radius: 999px;
  background: rgba(255,255,255,.6); }

.ins-nav { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 18px;
  justify-content: center; flex: none;
  margin: auto 0 0 calc(var(--gutter) * -1);
  padding-top: 26px; }
.ins-nav .ins-go, .ins-nav .ins-shut { font-size: var(--fs-sm); padding: .32em .95em; gap: 7px; }
.ins-go svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2.3;
  stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
.ins-go:hover svg { transform: translateX(3px); }
.ins-go .nx-back { display: none; }
.cb.last .ins-go .nx-on   { display: none; }
.cb.last .ins-go .nx-back { display: inline; }

.wp-source { display: none; }

@media (prefers-reduced-motion: reduce) {
  .cb, .cb-in, .climb-go { transition: none; }
}

@media (max-width: 900px) {
  .climb-plot { --fade-x: linear-gradient(90deg, transparent 0, #000 18px,
                          #000 calc(100% - 44px), transparent 100%); }
  .climb-ridge { height: 190px; }
  .cb-slot { width: min(720px, 84%); margin-top: -38px; }
  .rn-title { font-size: var(--fs-body); }
}
@media (max-width: 780px) {
  .climb-plot { --fade-x: linear-gradient(90deg, transparent 0, #000 13%,
                          #000 calc(100% - 40px), transparent 100%); }
  .journey { margin-top: 14px; }
  .climb-sky { padding-top: 58px; }
  .climb-ridge { height: 196px; }
  .climb-body { padding: 8px 20px 32px; }
  .cb-slot { width: 100%; margin-top: -8px; }
  .cb-in { --gutter: 54px; }
  .ins-num { font-size: var(--fs-h2); }
  .ins-quote { font-size: var(--fs-lg); }
  .ins-read { font-size: var(--fs-ui); }
  .fl { width: 38px; height: 58px; }
  .ridge-name { max-width: 62vw; }
  .rn-wp { font-size: var(--fs-xs); }
  .rn-title { font-size: var(--fs-ui); }
  .climb-go { font-size: var(--fs-sm); padding: .78em 1.35em; }
  .ins-nav .ins-go, .ins-nav .ins-shut { font-size: var(--fs-ui); padding: .5em 1.2em; }
  .ins-go svg { width: 15px; height: 15px; }
  .ins-nav { padding-top: 20px; }
}
@media (max-width: 480px) {
  .climb-ridge { height: 176px; }
  .climb-body { padding: 6px 16px 30px; }
  .cb-in { --gutter: 48px; }
  .ins-num { font-size: var(--fs-h2); }
  .ins-quote { font-size: var(--fs-lg); }
  .ins-nav { gap: 12px; }
}

.libgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px;
  max-width: 980px; margin: 42px auto 0; text-align: left; }
@media (max-width: 720px){ .libgrid { grid-template-columns: 1fr; } }
#seemore-wrap { margin-top: 40px; }
@media (max-width: 720px){ #seemore-wrap { margin-top: 30px; } }
.libcard { padding: 0; display: flex; flex-direction: column; }
.libcard[hidden] { display: none; }
.libcard-link { display: flex; flex-direction: column; text-decoration: none; color: inherit; }
.libcard-media { position: relative; aspect-ratio: 16 / 9; overflow: hidden; }
.libcard-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .45s ease; }
.libcard-media::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(14,23,44,.34) 0%, rgba(11,19,38,.5) 100%); }
.libcard:hover .libcard-media img { transform: scale(1.045); }
.libcard-body { padding: 18px 22px 6px; display: flex; flex-direction: column; gap: 7px; }
.libcard-meta { font-size: var(--fs-sm); color: rgba(255,255,255,.72); }
.libcard-title { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-lg); line-height: 1.18; color: #fff;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.libcard-sub { color: var(--muted); font-size: var(--fs-ui); line-height: 1.45;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.libcard-foot { margin-top: auto; display: flex; align-items: center; justify-content: flex-end; padding: 12px 22px 18px; }
.libcard-date { font-family: var(--font-ui); font-variant-numeric: tabular-nums; font-size: var(--fs-xs);
  color: rgba(255,255,255,.6); }

.like-btn { display: inline-flex; align-items: center; gap: 6px; font: inherit; font-family: var(--font-ui);
  font-weight: 700; font-size: var(--fs-sm); color: #fff; cursor: pointer; padding: .36em .76em; border-radius: 999px;
  background: rgba(255,255,255,.1); border: 1px solid var(--glass-brd);
  transition: background .15s ease, transform .12s ease, color .15s ease; }
.like-btn:hover { background: rgba(255,255,255,.18); }
.like-btn:active { transform: scale(.94); }
.like-btn svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.like-btn.liked { background: #fff; color: #9C5008; border-color: #fff; }
.like-btn.liked svg { fill: #9C5008; stroke: #9C5008; }
.like-count { font-variant-numeric: tabular-nums; }

.post-wrap { max-width: 760px; margin: 0 auto; text-align: left; }
.post-back { display: inline-block; font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-sm);
  color: #fff; text-decoration: none; opacity: .85; margin-bottom: 26px; }
.post-back:hover { opacity: 1; }
.app-back { display: none; }
html.app .app-back { display: block; }
.post-author { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.post-author img { width: 44px; height: 44px; border-radius: 999px; object-fit: cover; border: 1px solid var(--glass-brd); }
.post-author .pa-meta { font-size: var(--fs-ui); color: var(--muted); }
.post-title { font-size: var(--fs-post); font-weight: 800; margin: 0 0 .45em; }
.post-sub { font-style: italic; font-size: var(--fs-lead); color: #fff; opacity: .92;
  line-height: 1.5; margin: 0 0 1.6em; padding-bottom: 1.6em; border-bottom: 1px solid rgba(255,255,255,.16); }
.post-body p { color: var(--muted); font-size: var(--fs-body); line-height: 1.75; margin: 0 0 1.3em; }
.post-body h2 { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-h3);
  margin: 1.7em 0 .55em; }
.post-body ul { color: var(--muted); font-size: var(--fs-body); line-height: 1.7; margin: 0 0 1.4em; padding-left: 1.2em; }
.post-body li { margin-bottom: .7em; }
.post-body strong { color: #fff; }
.post-signoff { margin-top: 2.6em; }
.post-signoff p { color: var(--muted); margin: 0 0 .9em; }
.post-signoff .signoff-name { color: #fff; line-height: 1.5; }
.post-photo { width: 112px; height: 112px; border-radius: 14px; object-fit: cover; margin-top: 4px;
  border: 1px solid var(--glass-brd); }
.post-disclaimer { font-style: italic; color: rgba(255,255,255,.7); font-size: var(--fs-ui); margin: 1.7em 0 0; }
.post-share { margin-top: 1.5em; padding-top: 1.3em; border-top: 1px solid rgba(255,255,255,.18); }
.post-share button { display: inline-flex; align-items: center; gap: 8px; font: inherit; font-family: var(--font-ui);
  font-weight: 700; font-size: var(--fs-sm); color: #fff; cursor: pointer; background: transparent; border: 0; padding: 4px; opacity: .85; }
.post-share button:hover { opacity: 1; }
.post-share svg { width: 18px; height: 18px; fill: none; stroke: #fff; stroke-width: 1.7; }

#post.post-top { padding-bottom: clamp(16px, 2.5vw, 28px); }
.post-back .pb-arrow { font-size: var(--fs-h3); line-height: 0; vertical-align: -.03em; margin-right: .12em; }
#post-body .post-sub { padding-bottom: 0; border-bottom: 0; }
#post-body { padding-top: 0; padding-bottom: clamp(40px, 6vw, 72px); }
#post-body .post-body > :first-child { margin-top: 0; }
#post-body .post-share { padding-top: 0; border-top: 0; }

.postband { --cap:64px;
  padding-top:calc(1.1rem + var(--cap));
  padding-bottom:calc(1.1rem + var(--cap)); }
.postband::before {
  padding:var(--cap) 0;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%20160%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M16%20160%20C16%20100%2022%2066%2062%2054%20C180%2020%20320%2088%20500%2054%20C680%2020%20820%2088%20938%2054%20C978%2066%20984%20100%20984%20160%20Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E"), url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%20160%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M16%200%20C16%2060%2022%2094%2062%20106%20C180%20140%20320%2072%20500%20106%20C680%20140%20820%2072%20938%20106%20C978%2094%20984%2060%20984%200%20Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E"), url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%20260%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M16%200%20C16%2040%200%2070%2016%20130%20C32%20190%2016%20220%2016%20260%20L984%20260%20C984%20220%20968%20190%20984%20130%20C1000%2070%20984%2040%20984%200%20Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%20160%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M16%20160%20C16%20100%2022%2066%2062%2054%20C180%2020%20320%2088%20500%2054%20C680%2020%20820%2088%20938%2054%20C978%2066%20984%20100%20984%20160%20Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E"), url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%20160%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M16%200%20C16%2060%2022%2094%2062%20106%20C180%20140%20320%2072%20500%20106%20C680%20140%20820%2072%20938%20106%20C978%2094%20984%2060%20984%200%20Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E"), url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%20260%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M16%200%20C16%2040%200%2070%2016%20130%20C32%20190%2016%20220%2016%20260%20L984%20260%20C984%20220%20968%20190%20984%20130%20C1000%2070%20984%2040%20984%200%20Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask-size: 100% var(--cap), 100% var(--cap), 100% 260px;
          mask-size: 100% var(--cap), 100% var(--cap), 100% 260px;
  -webkit-mask-position: top center, bottom center, center top;
          mask-position: top center, bottom center, center top;
  -webkit-mask-repeat: no-repeat, no-repeat, no-repeat round;
          mask-repeat: no-repeat, no-repeat, no-repeat round;
  -webkit-mask-origin: border-box, border-box, content-box;
          mask-origin: border-box, border-box, content-box;
  -webkit-mask-clip: border-box, border-box, content-box;
          mask-clip: border-box, border-box, content-box;
  -webkit-mask-composite: source-over, source-over, source-over;
          mask-composite: add, add, add;
  opacity:.88;
  left:calc(-1 * min(4rem, (100vw - 100%) / 2 - 8px));
  right:calc(-1 * min(4rem, (100vw - 100%) / 2 - 8px)); }
@media (max-width:880px){
  .postband { padding-left:2rem; padding-right:2rem; }
  .postband::before { left:0; right:0; opacity:1;
    background:linear-gradient(158deg, var(--g-0) 0%, var(--g-1) 42%, var(--g-2) 100%);
    -webkit-mask-size: 100% var(--cap), 100% var(--cap), 100% 100%;
            mask-size: 100% var(--cap), 100% var(--cap), 100% 100%;
    -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }
  .postband.drawn::before { background:var(--panel) 0 0 / 100% 100% no-repeat;
    -webkit-mask-image:none; mask-image:none; }
}
@media (max-width:360px){ .postband { padding-left:1.6rem; padding-right:1.6rem; } }
@media (min-width:601px) and (max-width:880px){
  .post-wrap.postband { max-width: min(700px, calc(100% - 32px)); padding-left:3rem; padding-right:3rem; }
}

.recent { max-width: 980px; margin: 0 auto; text-align: left; }
.recent-head { display: flex; justify-content: space-between; align-items: baseline; }
.recent-head h2 { font-size: var(--fs-h3); margin: 0; }
.recent-head a { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-ui); color: #fff;
  text-decoration: none; opacity: .85; }
.recent-head a:hover { opacity: 1; }
.recent-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 20px; }
@media (max-width: 720px){ .recent-grid { grid-template-columns: 1fr; } }
.recent-card { display: flex; flex-direction: column; text-decoration: none; color: inherit; padding: 0; }
.recent-media { aspect-ratio: 16 / 9; overflow: hidden; }
.recent-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .45s ease; }
.recent-card:hover .recent-media img { transform: scale(1.05); }
.recent-title { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-body); line-height: 1.25;
  padding: 14px 18px 18px; }

.hero .legal-dates { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-ui);
  color: rgba(255,255,255,.7); margin: .2em 0 0; }
.legalpage .terrain .lbl,
.legalpage .terrain .elev,
.legalpage .terrain .wlbl,
.legalpage .terrain use[href="#wp"],
.legalpage .terrain use[href="#hub"],
.legalpage .terrain use[href="#pk"] { display: none; }
.legalpage .terrain .tname { fill-opacity: .09; }

#legal { padding: clamp(28px, 4vw, 56px) 0 clamp(48px, 7vw, 96px); }
#legal.groundband { padding-top:    calc(clamp(28px, 4vw, 56px) + var(--ridge));
                    padding-bottom: calc(clamp(48px, 7vw, 96px) + var(--ridge)); }
.legaldoc { max-width: 760px; margin: 0 auto; padding: 0;
  text-align: left; }
.legaldoc .legal-intro { color: var(--ink); font-size: var(--fs-body); line-height: 1.65; }
.legaldoc h2 { font-size: var(--fs-h3); font-weight: 700; margin: 1.8em 0 .5em;
  scroll-margin-top: calc(var(--bar-h) + 8px); }
.legaldoc h2:first-of-type { margin-top: 0; }
.legaldoc h3 { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-body);
  margin: 1.3em 0 .4em; color: var(--ink); }
.legaldoc p { color: var(--muted); font-size: var(--fs-body); line-height: 1.7; margin: 0 0 1em; }
.legaldoc p:last-child { margin-bottom: 0; }
.legaldoc a { color: #fff; text-decoration: underline; text-decoration-color: rgba(255,255,255,.4);
  text-underline-offset: 2px; }
.legaldoc a:hover { text-decoration-color: #fff; }

#name { padding-top: clamp(40px, 5vw, 64px); }
#name h2 { margin-bottom: .7em; }

.footer { position: relative; overflow: hidden; padding: clamp(56px, 5vw, 72px) 0 56px; }

.footer .wrap { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 20px; text-align: center; max-width: 780px;
  text-shadow: 0 1px 7px rgba(45,20,0,.55); }
.footer .wrap { max-width: var(--maxw); }
.footer .legal,
.footer .copy { max-width: 780px; }
.footer .social { position: static; transform: none; order: 0; }
.footer .pow-mark { order: 0; display: block; width: 200px; height: auto; opacity: .92; }
.footer .pow-mark .pw-edge, .footer .pow-mark .pw-rule { fill: none; stroke: #fff; }
.footer .pow-mark .pw-edge { stroke-width: 6; }
.footer .pow-mark .pw-rule { stroke-width: 2.5; }
.footer .pow-mark text { fill: #fff; text-anchor: middle; }
.footer .pow-mark text.pw-title { font-family: var(--font-display); font-weight: 800; font-size: 38px; }
.footer .pow-mark text.pw-line { font-family: var(--font-ui); font-weight: 700; font-size: 18px; }
.footer .flinks { order: 1; }
.footer .legal  { order: 2; }
.footer .copy   { order: 3; }

.footer .legal { font-size: var(--fs-sm); color: rgba(255,255,255,.74); line-height: 1.62; }
@media (min-width: 721px) { .footer .legal span { display: block; } }
.footer .flinks { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 18px;
  font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-ui); }
.footer .social { display: flex; gap: 18px; }
.footer .social a { display: inline-flex; }
.footer .social svg { width: 28px; height: 28px; fill: rgba(255,255,255,.8); }
.footer .social a:hover svg { fill: #fff; }



.ep-list { list-style: none; max-width: 780px; margin: 34px auto 0; padding: 0;
  text-align: left; }
.ep-item { display: flex; align-items: baseline; gap: 22px; padding: 20px 0;
  border-bottom: 1px solid rgba(255,255,255,.16); }
.ep-item:last-child { border-bottom: 0; }
.ep-body { flex: 1; min-width: 0; }
.ep-item h3 { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-lg);
  margin: 0 0 .38em; }
.ep-item p { color: var(--muted); margin: 0; font-size: var(--fs-ui); line-height: 1.62; }

.ep-mark { flex: none; min-width: 2.2em; font-family: var(--font-ui); font-weight: 700;
  font-size: var(--fs-sm); color: rgba(255,255,255,.55); }
.ep-stat { flex: none; font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-sm);
  color: rgba(255,255,255,.7);
  white-space: nowrap; }

.ep-under { margin-top: .85em; }
.ep-under b { display: block; font-family: var(--font-ui); font-weight: 700;
  font-size: var(--fs-ui); color: #fff; margin-bottom: .45em; }
.ep-under p { font-size: var(--fs-ui); position: relative; padding-left: 24px; }
.ep-under p::before { content: ""; position: absolute; left: 1px; top: .45em; width: 9px; height: 9px;
  border-radius: 2px; background: var(--o-0); transform: rotate(45deg); }

.ep-quote { max-width: 34ch; margin: 30px auto 0; font-family: var(--font-display);
  font-variation-settings: var(--fraunces-axes); font-weight: 400;
  font-size: var(--fs-h3); line-height: 1.5; }
.ep-quote + .ep-src { margin: 1.1em 0 0; font-family: var(--font-ui); font-weight: 700;
  font-size: var(--fs-sm); 
  color: rgba(255,255,255,.6); }

.trailtoc { list-style: none; counter-reset: t; max-width: 620px;
  margin: 32px auto 0; padding: 0; text-align: left; }
.trailtoc > li { counter-increment: t; position: relative;
  padding: 13px 0 13px 42px; border-bottom: 1px solid rgba(255,255,255,.15);
  font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-body); color: #fff; }
.trailtoc > li:last-child { border-bottom: 0; }
.trailtoc > li::before { content: counter(t, decimal-leading-zero);
  position: absolute; left: 0; top: 16px; font-size: var(--fs-sm); font-weight: 700;
  color: rgba(255,255,255,.55); }
.trailtoc .sub { list-style: none; margin: .75em 0 .1em; padding: 0; }
.trailtoc .sub li { padding: 4px 0; font-weight: 400; font-size: var(--fs-ui);
  color: rgba(255,255,255,.78); }
.trailtoc .sub li::before {
  content: ""; display: inline-block; width: 15px; height: 15px;
  margin-right: .6em; vertical-align: -.15em;
  background: var(--check-on-green) center / contain no-repeat; }

.trailtoc.ticked > li { padding-left: 34px; }
.trailtoc.ticked > li::before {
  content: ""; left: 2px; width: 20px; height: 20px;
  top: calc(13px + (1.55em - 20px) / 2);
  transform: none; border: 0;
  background: var(--check-on-green) center / contain no-repeat; }

.trailband .sublabel { font-size: var(--fs-ui); 
  color: #fff; margin-top: 54px; }
.trailband .trailtoc > li { font-weight: 400; }

.sublabel { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-sm);
  color: rgba(255,255,255,.6);
  margin: 46px 0 0; }
.bullets { list-style: none; max-width: 47ch; margin: 30px auto 0; padding: 0;
  text-align: left; }
.bullets li { position: relative; padding: 12px 0 12px 34px; color: #fff;
  font-size: var(--fs-body); line-height: 1.5;
  border-bottom: 1px solid rgba(255,255,255,.15); }
.bullets li:last-child { border-bottom: 0; }
.bullets li::before { content: ""; position: absolute; left: 2px; top: calc(12px + (1.5em - 20px) / 2);
  width: 20px; height: 20px; background: var(--check-on-green) center / contain no-repeat; }

.trailband .sublabel { font-size: var(--fs-ui); 
  color: #fff; margin-top: 54px; }
.trailband .trailtoc > li { font-weight: 400; }

.ep-covers { max-width: 62ch; margin: 30px auto 0; color: var(--muted);
  font-size: var(--fs-ui); line-height: 1.66; }
.ep-covers strong { color: #fff; font-weight: 700; }

@media (max-width: 640px) {
  .ep-item { flex-wrap: wrap; gap: 6px 16px; }
  .ep-mark { min-width: 0; }
  .ep-body { flex: 1 1 100%; order: 3; }
  .ep-stat { margin-left: auto; }
}
.fine-print { font-size: var(--fs-sm); color: rgba(255,255,255,.68); margin: 14px 0 0; line-height: 1.55; }

.follow { margin-top: 24px; }
.follow-lbl { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-sm);
  color: var(--muted); margin: 0 0 10px; }
.social-founder { display: inline-flex; gap: 18px; }
.social-founder a { display: inline-flex; }
.social-founder { gap: 20px; }
.social-founder svg { width: 28px; height: 28px; fill: rgba(255,255,255,.8); transition: fill .15s ease; }
.social-founder a:hover svg { fill: #fff; }
.social-founder svg.ico-bowl { width: 34px; height: 34px; }

.footer .copy { font-size: var(--fs-sm); color: rgba(255,255,255,.6); }

@media (min-width: 721px) and (max-width: 1199px) {
  .footer { padding-bottom: 44px; }
  .footer .social { position: static; transform: none; margin-top: 0; order: 0; }
}
@media (max-width: 720px) {
  .footer { padding-bottom: 44px; }
  .footer .social { position: static; transform: none; margin-top: 0; order: 2; }
  .footer .pow-mark { order: 3; width: 180px; }
  .footer .flinks { order: 4; }
  .footer .legal  { order: 5; }
  .footer .copy   { order: 6; }

  .footer .flinks { max-width: 330px; gap: 10px 16px; }

  .footer .copy { line-height: 1.5; }
  .footer .copy span { display: block; }
}


.btn-sm { font-size: var(--fs-sm); padding: .5em 1.05em; }

.avatar-cluster { position: relative; }
.avatar-btn { display: inline-flex; align-items: center; gap: 10px; font: inherit; cursor: pointer;
  background: rgba(255,255,255,.08); border: 1px solid var(--glass-brd); border-radius: 999px;
  padding: 5px 12px 5px 6px; color: #fff; font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-ui);
  transition: background .15s ease; }
.avatar-btn:hover { background: rgba(255,255,255,.16); }
.avatar { width: 34px; height: 34px; border-radius: 999px; flex: none; display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-sm); color: #9C5008;
  background: linear-gradient(150deg,#fff,#ffe9cf); box-shadow: inset 0 1px 0 rgba(255,255,255,.9); }
.avatar-btn .chev { width: 14px; height: 14px; opacity: .8; transition: transform .2s ease; }
.avatar-btn[aria-expanded="true"] .chev { transform: rotate(180deg); }
@media (max-width: 560px) { .avatar-btn .who { display: none; } }
@media (min-width: 901px) {
  .avatar-btn { border: 0; border-radius: 0; padding: 10px 30px 10px 22px; gap: 8px;
    background: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 46" preserveAspectRatio="none"%3E%3Cpath d="M1 1 L11 23 L1 45 H178 L199 23 L178 1 Z" fill="%23fff" fill-opacity=".08" stroke="%23fff" stroke-opacity=".28" stroke-width="1" stroke-linejoin="round" vector-effect="non-scaling-stroke"/%3E%3C/svg%3E') center / 100% 100% no-repeat; }
  .avatar-btn:hover { background-color: transparent; background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 46" preserveAspectRatio="none"%3E%3Cpath d="M1 1 L11 23 L1 45 H178 L199 23 L178 1 Z" fill="%23fff" fill-opacity=".16" stroke="%23fff" stroke-opacity=".28" stroke-width="1" stroke-linejoin="round" vector-effect="non-scaling-stroke"/%3E%3C/svg%3E'); }
  .avatar-btn:focus { outline: none; }
  .avatar-btn .who { display: none; }
  .avatar-btn .avatar { width: auto; height: auto; border-radius: 0; background: none; box-shadow: none;
    color: #fff; font-size: var(--fs-ui); line-height: 1; text-shadow: 0 1px 4px rgba(95,40,4,.55); }
  .menu .m-name { display: none; }
  .nav .btn.signin { border: 0; border-radius: 0; padding: .5em 1.9em .5em 1.4em;
    background: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 46" preserveAspectRatio="none"%3E%3Cpath d="M1 1 L11 23 L1 45 H178 L199 23 L178 1 Z" fill="%23fff" fill-opacity=".1" stroke="%23fff" stroke-opacity=".28" stroke-width="1" stroke-linejoin="round" vector-effect="non-scaling-stroke"/%3E%3C/svg%3E') center / 100% 100% no-repeat; }
  .nav .btn.signin:hover { background-color: transparent; background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 46" preserveAspectRatio="none"%3E%3Cpath d="M1 1 L11 23 L1 45 H178 L199 23 L178 1 Z" fill="%23fff" fill-opacity=".18" stroke="%23fff" stroke-opacity=".28" stroke-width="1" stroke-linejoin="round" vector-effect="non-scaling-stroke"/%3E%3C/svg%3E'); }
  .nav .btn.signin:focus { outline: none; }
  .nav .btn.signin:focus-visible { background-color: transparent; background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 46" preserveAspectRatio="none"%3E%3Cpath d="M1 1 L11 23 L1 45 H178 L199 23 L178 1 Z" fill="%23fff" fill-opacity=".18" stroke="%23fff" stroke-opacity=".95" stroke-width="1" stroke-linejoin="round" vector-effect="non-scaling-stroke"/%3E%3C/svg%3E'); }
  .avatar-btn:focus-visible { background-color: transparent; background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 46" preserveAspectRatio="none"%3E%3Cpath d="M1 1 L11 23 L1 45 H178 L199 23 L178 1 Z" fill="%23fff" fill-opacity=".16" stroke="%23fff" stroke-opacity=".95" stroke-width="1" stroke-linejoin="round" vector-effect="non-scaling-stroke"/%3E%3C/svg%3E'); }
}

@media (max-width: 900px) { .avatar-cluster { display: none; } }

.nav .btn.signin { white-space: nowrap; flex: none; }
@media (min-width: 901px) and (max-width: 1100px) {
  .topbar .wrap { gap: 16px; }
  .nav { gap: 16px; }
  .nav .btn.signin { padding-left: 1.1em; padding-right: 1.6em; }
}
@media (min-width: 901px) and (max-width: 960px) {
  .topbar .wrap { gap: 12px; }
  .nav { gap: 11px; }
}

.menu { position: absolute; right: 0; top: calc(100% + 10px); width: 236px; padding: 8px; z-index: 60;
  background: linear-gradient(168deg, rgba(158,82,17,.98), rgba(116,54,8,.99));
  border: 1px solid rgba(255,255,255,.24); border-radius: 16px;
  box-shadow: 0 24px 60px rgba(40,18,2,.5), inset 0 1px 0 rgba(255,255,255,.3);
  opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .16s ease, transform .16s ease; }
.menu.open { opacity: 1; visibility: visible; transform: translateY(0); }
.menu .m-head { padding: 10px 12px 12px; border-bottom: 1px solid rgba(255,255,255,.16); margin-bottom: 6px; }
.menu .m-name { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-ui); }
.menu .m-email { font-size: var(--fs-sm); color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.menu a.m-item { text-decoration: none; }
.menu .m-item[hidden], .navpanel .m-item[hidden] { display: none; }
.menu button.m-item, .menu a.m-item { display: flex; align-items: center; gap: 11px; width: 100%; text-align: left; font: inherit;
  font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-ui); color: #fff; cursor: pointer;
  background: transparent; border: 0; border-radius: 11px; padding: 10px 12px; }
.menu button.m-item:hover, .menu a.m-item:hover { background: rgba(255,255,255,.14); }
.menu .m-item svg { width: 16px; height: 16px; flex: none; stroke: #fff; fill: none; stroke-width: 1.7; opacity: .85; }
.menu .m-div { height: 1px; background: rgba(255,255,255,.16); margin: 6px 4px; }

.acct-head { padding: clamp(34px,5vw,60px) 0 8px; }
.acct-head .lead { color: var(--muted); font-size: var(--fs-body); margin: .2em 0 0; max-width: none; }
.shell { display: grid; grid-template-columns: 232px 1fr; gap: 22px; align-items: start;
  padding: 26px 0 clamp(60px,9vw,110px); }
@media (max-width: 820px) { .shell { grid-template-columns: 1fr; } }

.shell .glass {
  background: linear-gradient(158deg, var(--g-0) 0%, var(--g-1) 42%, var(--g-2) 100%);
  border-color: rgba(255,255,255,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 20px 50px rgba(52,24,4,.42);
}
.shell .glass::before { content: none; }
.shell .btn-primary { color: var(--g-2); box-shadow: 0 10px 28px rgba(0,32,28,.42), inset 0 1px 0 rgba(255,255,255,.8); }
.shell .btn-primary:hover { background: #f1f8f5; box-shadow: 0 14px 34px rgba(0,32,28,.48); }

.sidenav { padding: 12px; position: sticky; top: 82px; }
@media (max-width: 820px) {
  .shell .sidenav.glass { position: static; display: flex; gap: 8px; overflow-x: auto;
    background: var(--g-1); background-image: none; scrollbar-width: none; }
  .shell .sidenav.glass::-webkit-scrollbar { display: none; }
  .shell .sidenav.glass::before { background: none; content: none; }
}
.sidenav .s-item { display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; font: inherit;
  font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-ui); color: rgba(255,255,255,.82); cursor: pointer;
  background: transparent; border: 1px solid transparent; border-radius: 13px; padding: 12px 14px; white-space: nowrap;
  transition: background .15s ease, color .15s ease; }
.sidenav a.s-item { text-decoration: none; }
.sidenav .s-item[hidden] { display: none; }
.sidenav .s-item svg { width: 18px; height: 18px; flex: none; stroke: currentColor; fill: none; stroke-width: 1.8; }
.sidenav .s-item:hover { color: #fff; background: rgba(255,255,255,.09); }
.sidenav .s-item.active { color: var(--g-2); background: #fff; box-shadow: 0 8px 22px rgba(0,32,28,.32), inset 0 1px 0 rgba(255,255,255,.8); }
.sidenav .s-sep { height: 1px; background: rgba(255,255,255,.14); margin: 8px 6px; }
@media (max-width: 820px) {
  .sidenav .s-sep, .sidenav .s-item.logout { display: none; }
  .sidenav .s-item.active { box-shadow: 0 4px 12px rgba(0,32,28,.2), inset 0 1px 0 rgba(255,255,255,.8); }
}

.panel { padding: clamp(22px,3vw,32px); }
.panel[hidden] { display: none; }
.panel-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; }
.panel-head h2 { font-size: var(--fs-h3); font-weight: 700; margin: 0; }
.panel-head p { color: var(--muted); font-size: var(--fs-ui); margin: .35em 0 0; }

.seg { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px;
  background: rgba(0,0,0,.14); border: 1px solid rgba(255,255,255,.16); }
.seg button { font: inherit; font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-sm); cursor: pointer;
  color: rgba(255,255,255,.8); background: transparent; border: 0; border-radius: 999px; padding: .5em 1.1em; }
.seg button .n { opacity: .6; font-variant-numeric: tabular-nums; margin-left: .4em; }
.seg button.on { color: var(--g-2); background: #fff; box-shadow: 0 4px 12px rgba(0,32,28,.3); }
.seg button.on .n { opacity: .55; }

.trail-list { display: flex; flex-direction: column; gap: 14px; }
.trail-list[hidden] { display: none; }
.trow { display: grid; grid-template-columns: 72px 1fr auto; align-items: center; gap: 18px;
  padding: 16px; border-radius: 16px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.06); }
.trow[hidden] { display: none; }
.tthumb { width: 72px; height: 72px; border-radius: 14px; overflow: hidden; position: relative; flex: none;
  border: 1px solid rgba(255,255,255,.22); box-shadow: inset 0 1px 0 rgba(255,255,255,.35); }
.tthumb svg, .tthumb img { width: 100%; height: 100%; display: block; object-fit: cover; }
.tinfo { min-width: 0; }
.tname-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.tname { font-family: var(--font-ui); font-weight: 800; font-size: 1.14rem; line-height: 1.1; }
.tag { display: inline-flex; align-items: center; gap: .5em; font-family: var(--font-ui);
  font-weight: 700; font-size: var(--fs-sm); 
  color: rgba(255,255,255,.72); }
.tag::before { content: ""; width: 6px; height: 6px; border-radius: 999px; background: currentColor; flex: none; }
.tag.owned { color: #F5C489; }
.tag.done { color: #9FD79A; }
.tag.locked { color: rgba(255,255,255,.55); }

.trail-empty { font-family: var(--font-text); color: var(--muted);
  font-size: var(--fs-ui); text-align: center; margin: 0; padding: 34px 20px; }

.trail-empty-state { padding: 34px 20px; text-align: center; }
.trail-empty-state .trail-empty { padding: 0 0 18px; }

.buynote { display: flex; align-items: center; gap: 16px;
  background: linear-gradient(180deg, var(--g-1), var(--g-2));
  border: 1px solid rgba(255,255,255,.16); border-radius: 14px;
  padding: 16px 20px; margin: 0 0 18px; }
.buynote[hidden] { display: none; }
.buynote-tick { width: 26px; height: 26px; flex: none; background: var(--check-on-green) center / contain no-repeat; }
.buynote-copy { min-width: 0; }
.buynote-line { font-family: var(--font-ui); font-weight: 700;
  font-size: var(--fs-body); color: #fff; margin: 0; }
.buynote-sub { font-family: var(--font-text); font-size: var(--fs-ui);
  color: rgba(255,255,255,.78); margin: 3px 0 0; }
@media (max-width: 520px){
  .buynote { align-items: flex-start; gap: 12px; padding: 14px 16px; }
}
.tmeta { display: flex; align-items: center; gap: 12px; margin-top: 10px; }
.bar { flex: 1; height: 7px; border-radius: 999px; background: rgba(255,255,255,.2); overflow: hidden; min-width: 120px; max-width: 280px; }
.bar span { display: block; height: 100%; border-radius: inherit; background: #fff; box-shadow: 0 0 8px rgba(255,255,255,.55); }
.bar.full span { background: linear-gradient(90deg,#cfeecb,#8fd08a); }
.tcount { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-ui); color: #fff;
  font-variant-numeric: tabular-nums; white-space: nowrap; }
.taction { display: flex; }
.trow.sign { position: relative; isolation: isolate; background: none; border: 0; border-radius: 0;
  padding: 20px 11% 20px 7%; min-height: 112px; }
.trow.sign .trow-board { position: absolute; inset: 0; width: 100%; height: 100%;
  z-index: -1; overflow: visible; filter: drop-shadow(0 12px 20px rgba(0,20,18,.32)); }
.trow.sign .trow-board path { fill: var(--g-2); stroke: #fff; stroke-opacity: .9; stroke-width: 2.2;
  stroke-linejoin: round; vector-effect: non-scaling-stroke; }

.trow.sign .taction { justify-content: flex-end; }
.trow.sign .taction .btn { position: static; background: none; box-shadow: none; filter: none; border: 0;
  border-radius: 0; padding: 0; gap: 12px; color: #fff; font-size: var(--fs-sm); width: auto; }
.trow.sign .taction .btn::after { content: ""; width: 44px; height: 44px; flex: none; border-radius: 999px;
  background: rgba(0,32,28,.62) url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"%3E%3Cpath d="M2 7h8.4M7.4 3.2 11.2 7l-3.8 3.8" fill="none" stroke="%23fff" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"/%3E%3C/svg%3E') center / 17px no-repeat;
  border: 1.5px solid rgba(255,255,255,.55); box-shadow: inset 0 1px 0 rgba(255,255,255,.14);
  transition: background-color .18s ease, border-color .18s ease; }
.trow.sign .taction .btn::before { content: ""; position: absolute; inset: 0; }
.trow.sign:hover .taction .btn::after { background-color: rgba(0,74,66,.9); border-color: #fff; }
.trow.sign .taction .btn:hover { transform: none; }
.trow.sign .taction .btn:focus-visible { outline: none; }
.trow.sign .taction .btn:focus-visible::after { border-color: #fff; box-shadow: 0 0 0 2px #fff; }
@media (max-width: 600px) {
  .trow.sign { grid-template-columns: 48px minmax(0, 1fr) auto; grid-template-areas: "thumb info action";
    column-gap: 10px; row-gap: 0; padding: 14px 11% 14px 7%; min-height: 81.4px; }
  .trow.sign .tthumb { width: 48px; height: 48px; border-radius: 10px; }
  .trow.sign .tname { font-size: var(--fs-body); }
  .trow.sign .tname-row { flex-wrap: nowrap; gap: 8px; white-space: nowrap; }
  .trow.sign .bar { min-width: 0; }
  .trow.sign .taction .btn { width: 38px; height: 38px; overflow: hidden; color: transparent; gap: 0; white-space: nowrap; justify-content: flex-start; }
  .trow.sign .taction .btn::after { order: -1; width: 38px; height: 38px; background-size: 15px; }
}
@media (max-width: 400px) {
  .trow.sign { grid-template-columns: 42px minmax(0, 1fr) auto; column-gap: 9px; }
  .trow.sign .tthumb { width: 42px; height: 42px; }
  .trow.sign .tname { font-size: var(--fs-ui); }
  .trow.sign .tname-row { gap: 6px; }
}
@media (max-width: 340px) {
  .trow.sign { grid-template-columns: 38px minmax(0, 1fr) auto; column-gap: 8px; padding: 14px 10% 14px 6.5%; min-height: 77.8px; }
  .trow.sign .tthumb { width: 38px; height: 38px; }
  .trow.sign .tag { display: none; }
}
@media (max-width: 600px) {
  .trow { grid-template-columns: 56px 1fr; grid-template-areas: "thumb info" "action action"; row-gap: 14px; }
  .tthumb { width: 56px; height: 56px; grid-area: thumb; } .tinfo { grid-area: info; } .taction { grid-area: action; }
  .taction .btn { width: 100%; justify-content: center; }
  .bar { max-width: none; }
}

.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 560px) { .form-grid { grid-template-columns: 1fr; } }
.form-grid .field { margin: 0; }
.field.full { grid-column: 1 / -1; }
.field .with-action { display: flex; gap: 10px; align-items: center; }
.field .with-action input { flex: 1; }
@media (max-width: 560px) {
  .field .with-action { flex-wrap: wrap; }
  .field .with-action input { flex-basis: 100%; }
}
.field .hint { display: block; font-size: var(--fs-sm); color: rgba(255,255,255,.62); margin-top: 6px; }
.field input:disabled { color: rgba(255,255,255,.72); }
.acct-change { margin-top: 16px; display: grid; gap: 4px; justify-items: start; }
.acct-change[hidden] { display: none; }
.acct-change .field { width: 100%; margin-bottom: 10px; }
.acct-change .pw-rules { margin-top: 0; }
.acct-change .form-status { text-align: left; margin-top: 10px; }
.form-foot { display: flex; gap: 12px; margin-top: 26px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.16); }

.setlist { display: flex; flex-direction: column; }
.setrow { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 2px;
  border-bottom: 1px solid rgba(255,255,255,.12); }
.setrow:last-child { border-bottom: 0; }
.setrow .st-text { min-width: 0; }
.setrow .st-name { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-body); }
.setrow .st-desc { color: var(--muted); font-size: var(--fs-ui); margin-top: 3px; }
.st-ctrl { display: flex; align-items: center; gap: 14px; flex: none; }
.set-state { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-sm); 
  color: rgba(255,255,255,.55); white-space: nowrap; min-width: 78px; text-align: right;
  transition: color .18s ease; }
.set-state.on { color: #fff; }
.set-state.saved { color: #9FD79A; display: inline-flex; align-items: center; justify-content: flex-end; gap: 5px; }
.set-state.saved .tree-check { width: 16px; height: 16px; flex: none; background: var(--check-on-green) center / contain no-repeat; }
.set-state.failed { color: #FFD2B0; }
@media (max-width: 480px) { .set-state { min-width: 0; } }
.switch { position: relative; flex: none; width: 50px; height: 28px; }
.switch input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.switch .track { position: absolute; inset: 0; border-radius: 999px; background: rgba(255,255,255,.18);
  border: 1px solid rgba(255,255,255,.28); transition: background .18s ease, border-color .18s ease; }
.switch .track::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 999px;
  background: #fff; box-shadow: 0 2px 6px rgba(0,32,28,.42); transition: transform .18s ease; }
.switch input:checked + .track { background: linear-gradient(150deg,#fff,#dcefe9); border-color: #fff; }
.switch input:checked + .track::after { transform: translateX(22px); background: var(--g-2); }
.switch input:focus-visible + .track { outline: 2px solid #fff; outline-offset: 2px; }
.always { padding: 20px 2px 0; border-top: 1px solid rgba(255,255,255,.14); }
.k-label { display: block; font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-sm);
  color: rgba(255,255,255,.55); margin-bottom: 8px; }
.always .always-k { display: block; font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-body);
  margin-bottom: 3px; }
.always p { margin: 0; font-size: var(--fs-ui); color: var(--muted); line-height: 1.55; }

.cmp-page[hidden] { display: none; }
.cmp-open { margin: 22px 0 0; color: #fff; font-size: var(--fs-body); line-height: 1.62; }

.panel .ep-list { margin-top: 26px; max-width: none; }
.panel .ep-item h3 { font-size: var(--fs-body); }
.panel .ep-item p { font-size: var(--fs-ui); }
.panel .ep-under p + p { margin-top: .5em; }
.panel .ep-quote { max-width: none; margin: 30px 0 0; }
.panel .ep-quote { font-size: var(--fs-lead); }

.cmp-note { margin: 22px 0 0; font-size: var(--fs-sm); color: var(--muted); line-height: 1.6;
  font-style: italic; }
.cmp-note strong { color: #fff; font-weight: 700; }

.cmp-marks { list-style: none; margin: .9em 0 0; padding: 0; }
.cmp-marks li { position: relative; padding-left: 28px; margin: .62em 0;
  color: var(--muted); font-size: var(--fs-ui); line-height: 1.55; }
.cmp-marks li::before { content: ""; position: absolute; left: 0; top: calc((1.55em - 18px) / 2);
  width: 18px; height: 18px; background: var(--check-on-green) center / contain no-repeat; }

@media (max-width: 640px) {
  .panel .ep-item { flex-wrap: wrap; }
  .panel .ep-body { flex: 1 1 100%; order: 3; }
}

.bdg { display: grid; gap: 6px; justify-items: start; max-width: 560px; }
.bdg-art { display: block; width: 100%; height: auto; aspect-ratio: 1800 / 1158; margin-bottom: 10px; }
.bdg.earned .bdg-art { filter: drop-shadow(0 8px 16px rgba(0,32,28,.42)); }
.bdg.locked .bdg-art { filter: grayscale(1); opacity: .3; }
.bdg-name { font-size: var(--fs-lg); margin: 0; }
.bdg-line { margin: 0; font-size: var(--fs-ui); color: var(--muted); line-height: 1.5; font-variant-numeric: tabular-nums; }
.bdg.earned .bdg-line { color: #fff; }
.bdg-acts { margin-top: 10px; }
.bdg-acts .btn[disabled] { opacity: .5; cursor: default; }
.bdg-cap { margin: 26px 0 0; }
.bdg-cap-label { margin: 0 0 6px; font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-sm); opacity: .9; }
.bdg-cap-text { margin: 0; font-family: var(--font-ui); font-size: var(--fs-body); line-height: 1.5; color: #fff;
  padding: .85em 1.6em; border-radius: 28px; border: 1px solid var(--glass-brd); background: rgba(255,255,255,.1);
  overflow-wrap: anywhere; user-select: all; -webkit-user-select: all; }

.toast { position: fixed; left: 50%; bottom: 26px; transform: translate(-50%,20px); z-index: 80;
  background: #fff; color: #9C5008; font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-ui);
  padding: .7em 1.3em; border-radius: 999px; box-shadow: 0 16px 40px rgba(60,26,2,.4);
  opacity: 0; visibility: hidden; transition: opacity .2s ease, transform .2s ease; }
.toast.show { opacity: 1; visibility: visible; transform: translate(-50%,0); }
.toast { width: max-content; max-width: min(440px, calc(100vw - 40px)); text-align: center; line-height: 1.4;
  text-wrap: balance; }
@media (max-width: 560px) { .toast { padding: .85em 1.5em; border-radius: 24px; } }


.live-pill { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-ui);
  font-weight: 700; font-size: var(--fs-sm); color: rgba(255,255,255,.6);
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.18); border-radius: 999px; padding: 6px 13px; }
.live-pill .dot { width: 8px; height: 8px; border-radius: 999px; background: rgba(255,255,255,.4); }
.live-pill.on { color: #fff; }
.live-pill.on .dot { background: #7fe08a; box-shadow: 0 0 0 0 rgba(127,224,138,.7); animation: pfPulse 2s infinite; }
@keyframes pfPulse { 0% { box-shadow: 0 0 0 0 rgba(127,224,138,.55); } 70% { box-shadow: 0 0 0 7px rgba(127,224,138,0); } 100% { box-shadow: 0 0 0 0 rgba(127,224,138,0); } }

.pf-top { display: grid; grid-template-columns: 1fr 1.35fr; gap: 22px; align-items: start; }
@media (max-width: 700px){ .pf-top { grid-template-columns: 1fr; } }
.pf-amt { margin: 0; }
.pf-tile > .live-pill { margin-bottom: 8px; }
.amt-wrap { position: relative; display: flex; align-items: center; }
.amt-glyph { position: absolute; left: 16px; font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-lg); color: #fff; pointer-events: none; }
.pf-amt input[type=text] { width: 100%; font: inherit; font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-lead); color: #fff;
  background: rgba(255,255,255,.1); border: 1px solid var(--glass-brd); border-radius: 999px; padding: .6em 1.1em .6em 2em; }
.pf-amt input[type=text]:focus { outline: none; border-color: rgba(255,255,255,.72); background: rgba(255,255,255,.16); }
.pf-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 460px){ .pf-tiles { grid-template-columns: 1fr; } }
.pf-tile { padding: 15px 16px; border-radius: 15px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.06); }
.pf-tile.hero { background: linear-gradient(155deg, rgba(255,255,255,.16), rgba(255,255,255,.05)); border-color: rgba(255,255,255,.3); }
.pf-tile .pt-k { display: block; font-size: var(--fs-sm); color: var(--muted); font-weight: 700; }
.pf-tile .pt-v { display: block; font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-h3); margin-top: 5px;
  font-variant-numeric: tabular-nums; }
.pf-tile.hero .pt-v { font-size: var(--fs-h2); }

.pf-private { padding: 0 2px 20px; margin: -4px 0 24px; border-bottom: 1px solid rgba(255,255,255,.14); }
.pf-private p { margin: 0; font-size: var(--fs-ui); color: var(--muted); line-height: 1.55; }

.pf-div { height: 1px; border: 0; background: rgba(255,255,255,.14); margin: 26px 0; }

.pf-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
@media (max-width: 640px){ .pf-controls { grid-template-columns: 1fr; gap: 22px; } }
.ctrl-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.ctrl-head label { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-ui); color: #fff; }
.ctrl-read { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-body); color: #fff; font-variant-numeric: tabular-nums; }
input[type=range] { -webkit-appearance: none; appearance: none; width: 100%; height: 6px; border-radius: 999px;
  background: rgba(255,255,255,.2); outline: none; }
input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 22px; height: 22px; border-radius: 999px;
  background: linear-gradient(150deg,#fff,#dcefe9); border: 1px solid #fff; box-shadow: 0 3px 10px rgba(0,32,28,.45); cursor: pointer; }
input[type=range]::-moz-range-thumb { width: 22px; height: 22px; border-radius: 999px; border: 1px solid #fff;
  background: linear-gradient(150deg,#fff,#dcefe9); box-shadow: 0 3px 10px rgba(0,32,28,.45); cursor: pointer; }
.chiprow { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }
.chiprow button { font: inherit; font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-sm); cursor: pointer;
  color: rgba(255,255,255,.86); background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px; padding: .38em .95em; transition: background .14s ease; }
.chiprow button:hover { background: rgba(255,255,255,.18); }

.pf-infl { display: flex; align-items: center; gap: 16px; padding: 18px 2px;
  border-top: 1px solid rgba(255,255,255,.14); }
.pf-dca { margin-top: 26px; }
.pf-infl .infl-text { flex: 1; min-width: 0; }
.pf-infl .infl-name { display: block; font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-ui); }
.pf-infl .infl-desc { display: block; color: var(--muted); font-size: var(--fs-sm); margin-top: 2px; }
.pf-infl .infl-rate { display: flex; align-items: center; gap: 7px; flex: none; color: var(--muted); font-size: var(--fs-sm); }
.pf-infl .infl-rate input { width: 54px; font: inherit; font-family: var(--font-ui); font-weight: 700; color: #fff; text-align: center;
  background: rgba(255,255,255,.1); border: 1px solid var(--glass-brd); border-radius: 999px; padding: .4em .3em; }
.pf-infl .infl-rate input:focus { outline: none; border-color: rgba(255,255,255,.7); }
.switch.sm { width: 46px; height: 26px; }
.switch.sm .track::after { width: 18px; height: 18px; }
.switch.sm input:checked + .track::after { transform: translateX(20px); }

.pf-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); gap: 14px; margin-top: 28px; }
@media (max-width: 640px){ .pf-summary { grid-template-columns: 1fr; } }
.sum-cell { padding: 16px 18px; border-radius: 15px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); }
.sum-cell .sc-k { display: block; font-size: var(--fs-sm); color: var(--muted); font-weight: 700; }
.sum-cell .sc-v { display: block; font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-h3); margin-top: 5px;
  font-variant-numeric: tabular-nums; }
.sum-cell .sc-sub { display: block; font-size: var(--fs-sm); color: var(--muted); margin-top: 3px; }

.pf-chart { margin-top: 22px; }
.pf-chart svg { width: 100%; height: 200px; display: block; overflow: visible; }
.pf-plot { position: relative; padding-left: 60px; }
.pf-yaxis { position: absolute; left: 0; top: 0; bottom: 0; width: 52px; }
.pf-yaxis span { position: absolute; right: 0; transform: translateY(-50%); font-family: var(--font-ui); font-weight: 700;
  font-size: var(--fs-sm); color: var(--muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
.pf-xaxis { position: relative; height: 18px; margin: 8px 0 0 60px; font-size: var(--fs-sm); color: var(--muted);
  font-family: var(--font-ui); font-weight: 700; }
.pf-xaxis span { position: absolute; top: 0; transform: translateX(-50%); white-space: nowrap; font-variant-numeric: tabular-nums; }
.pf-xaxis span:first-child { transform: none; }
.pf-xaxis span:last-child { transform: translateX(-100%); }
.pf-ytitle, .pf-xtitle { margin: 0; font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-sm); 
  color: rgba(255,255,255,.72); }
.pf-ytitle { margin-bottom: 10px; }
.pf-xtitle { margin: 6px 0 0 60px; text-align: center; }

.pf-tablewrap { margin-top: 26px; overflow-x: auto; border-radius: 15px; border: 1px solid rgba(255,255,255,.16); }
.pf-table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; min-width: 460px; }
.pf-table th, .pf-table td { text-align: left; padding: 12px 16px; font-size: var(--fs-ui); }
.pf-table th { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-sm); 
  color: var(--muted); background: rgba(255,255,255,.06); }
.pf-table td { border-top: 1px solid rgba(255,255,255,.1); color: var(--muted); }
.pf-table .num { text-align: right; }
.pf-table td.strong { color: #fff; font-family: var(--font-ui); font-weight: 700; }
.pf-table td.grow { color: #fff; font-weight: 700; }
.pf-table tr.now td { color: #fff; background: rgba(255,255,255,.05); }
.pf-table tr:hover td { background: rgba(255,255,255,.04); }

.pf-note { margin: 22px 0 0; font-size: var(--fs-sm); color: var(--muted); line-height: 1.6; }
.pf-note strong { color: #fff; font-weight: 700; }

.ev-tablewrap { max-width: 900px; margin: 34px auto 0; }
.ev-table { width: 100%; border-collapse: collapse; text-align: left; }
.ev-table th { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-sm); 
  color: rgba(255,255,255,.7); padding: 0 16px 12px;
  border-bottom: 1px solid rgba(255,255,255,.26); white-space: nowrap; }
.ev-table td { padding: 20px 16px; border-bottom: 1px solid rgba(255,255,255,.1); vertical-align: top;
  color: var(--muted); font-size: var(--fs-ui); }
.ev-table .ev-blank td::after { content: ""; display: block; height: 1px; width: 70%; max-width: 110px;
  background: rgba(255,255,255,.16); }
.ev-date { font-family: var(--font-ui); font-weight: 700; color: #fff; white-space: nowrap; }
.ev-title { display: block; font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-body); color: #fff;
  text-decoration: none; }
.ev-title:hover { text-decoration: underline; text-underline-offset: 3px; }
.ev-summary { display: block; margin-top: 4px; font-size: var(--fs-ui); line-height: 1.5; color: var(--muted); }
.ev-table td[data-label="Time"] { white-space: nowrap; }
.ev-more { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-sm); color: #fff;
  text-decoration: none; white-space: nowrap; }
.ev-more:hover { text-decoration: underline; text-underline-offset: 3px; }
.ev-tbd { color: rgba(255,255,255,.5); }
.ev-none { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-ui); color: rgba(255,255,255,.66);
  text-align: center; margin: 18px 0 0; }
.ev-past { margin-top: 26px; }

.ev-subscribe { margin: 44px auto 0; }
.ev-past .ev-title { font-weight: 700; color: var(--muted); }

@media (max-width: 720px){
  .ev-table, .ev-table tbody, .ev-table tr, .ev-table td { display: block; width: 100%; }
  .ev-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .ev-table tr { padding: 4px 0 18px; border-bottom: 1px solid rgba(255,255,255,.16); }
  .ev-table tr:first-child { border-top: 1px solid rgba(255,255,255,.26); padding-top: 18px; }
  .ev-table td { padding: 0 0 12px; border: 0; }
  .ev-table td:last-child { padding-bottom: 0; }
  .ev-table td::before { content: attr(data-label); display: block; margin-bottom: 4px;
    font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-xs); 
    color: rgba(255,255,255,.58); }
  .ev-table .ev-blank td::after { width: 96px; }
  .ev-table .ev-blank + .ev-blank { display: none; }
}

.ev-facts { display: flex; flex-wrap: wrap; gap: 12px 40px; margin: 0 0 32px;
  padding: 0 0 22px; border-bottom: 1px solid rgba(255,255,255,.16); }
.ev-facts dt { font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-sm); 
  color: rgba(255,255,255,.62); margin-bottom: 5px; }
.ev-facts dd { margin: 0; font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-body); color: #fff; }
.ev-cta { margin-top: 34px; }
.ev-cancelled { display: inline-block; font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-sm);
  color: #fff; margin: 0 0 18px;
  padding: .45em 1em; border-radius: 999px; border: 1px dashed rgba(255,255,255,.45);
  background: rgba(255,255,255,.06); }

.nf-duck { display: flex; justify-content: center; margin: 1.6rem 0 1.4rem; }
.duck { display: block; width: 170px; height: auto; overflow: visible; }
.duck .duck-water { fill: url(#duck-wg); }
.duck .ripple { fill: none; stroke: rgba(0, 74, 69, .7); stroke-width: 1.4; transform-origin: 80px 90px; animation: duck-ripple 2.6s ease-out infinite; }
.duck .ripple.r2 { animation-delay: 1.3s; }
.duck .drop { fill: rgba(127, 209, 214, .95); opacity: 0; animation: duck-drop 2.6s ease-out infinite; }
.duck .drop.d2 { animation-delay: .1s; } .duck .drop.d3 { animation-delay: .22s; } .duck .drop.d4 { animation-delay: .34s; } .duck .drop.d5 { animation-delay: .46s; }
.duck .duck-all { transform-origin: 108px 80px; animation: duck-rock 2.6s ease-in-out infinite; }
.duck .duck-tail { transform-origin: 48px 64px; animation: duck-wiggle 2.6s ease-in-out infinite; }
.duck .duck-wing { transform-origin: 97px 62px; animation: duck-ruffle 2.6s ease-in-out infinite; }
.duck .duck-head { transform-origin: 106px 62px; animation: duck-dip 2.6s ease-in-out infinite; }
@keyframes duck-rock { 0%, 36%, 100% { transform: rotate(0) translateY(0); } 6% { transform: rotate(-3deg); } 12% { transform: rotate(2.5deg); } 18% { transform: rotate(-2.5deg); } 24% { transform: rotate(2deg); } 30% { transform: rotate(-1deg); } 70% { transform: translateY(1.5px); } }
@keyframes duck-wiggle { 0%, 36%, 100% { transform: rotate(0); } 6% { transform: rotate(-16deg); } 12% { transform: rotate(12deg); } 18% { transform: rotate(-14deg); } 24% { transform: rotate(10deg); } 30% { transform: rotate(-6deg); } }
@keyframes duck-ruffle { 0%, 40%, 62%, 100% { transform: rotate(0); } 46% { transform: rotate(-24deg); } 50% { transform: rotate(-8deg); } 55% { transform: rotate(-22deg); } }
@keyframes duck-dip { 0%, 64%, 84%, 100% { transform: rotate(0); } 70%, 78% { transform: rotate(14deg); } }
@keyframes duck-ripple { 0% { transform: scale(.6); opacity: .8; } 100% { transform: scale(1.35); opacity: 0; } }
@keyframes duck-drop { 0% { opacity: 0; transform: translate(0, 0); } 4% { opacity: 1; } 30% { opacity: 0; transform: translate(-16px, -24px); } 100% { opacity: 0; transform: translate(-16px, -24px); } }
@media (prefers-reduced-motion: reduce) { .duck * { animation: none !important; } .duck .drop { opacity: 0; } }

.duck-wait { display: grid; justify-items: center; gap: .5rem; padding: 3rem 0; opacity: 0;
  animation: duck-in .25s ease-out .35s forwards; }
.duck-wait p { margin: 0; font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-ui); color: rgba(255,255,255,.85); }
.duck-scene { --scene: 240px; position: relative; width: var(--scene); display: grid; justify-items: center; }
.duck-wait .duck { position: relative; width: calc(var(--scene) * 170 / 272); }
.duck-reeds { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.duck-reeds .stalk { fill: none; stroke: #00453F; stroke-width: 2.2; stroke-linecap: round; }
.duck-reeds .head-edge { fill: none; stroke: #5b2a06; stroke-width: 8.6; stroke-linecap: round; }
.duck-reeds .head { fill: none; stroke: #7a3c0c; stroke-width: 6; stroke-linecap: round; }
.duck-reeds .blade { fill: #004A45; }
.duck-reeds .s2 .blade, .duck-reeds .s5 .blade { fill: #0b5c54; }
.duck-reeds .reed-water { fill: url(#reed-wg); }
.duck-reeds .reed { transform-box: fill-box; transform-origin: 50% 100%; animation: reed-sway 4.8s ease-in-out infinite; }
.duck-reeds .s2 { animation-delay: -1.1s; } .duck-reeds .s3 { animation-delay: -2.3s; }
.duck-reeds .s4 { animation-delay: -3.2s; } .duck-reeds .s5 { animation-delay: -.6s; } .duck-reeds .s6 { animation-delay: -4s; }
@keyframes reed-sway { 0%, 100% { transform: rotate(-2deg); } 50% { transform: rotate(2.5deg); } }
@media (prefers-reduced-motion: reduce) { .duck-reeds * { animation: none !important; } }
@media (max-width: 560px) { .duck-scene { --scene: 204px; } }
.duck-cover { position: fixed; inset: 0; z-index: 90; align-content: center; visibility: visible; padding: 0; pointer-events: none; }
#v-main > .duck-wait { position: fixed; inset: 0; z-index: 30; align-content: center; padding: 0; pointer-events: none; }
.duck-logo { display: block; width: 193px; max-width: 60vw; height: auto; margin-bottom: 1.6rem; }
.auth-gate:not(.auth-ok) svg.terrain { visibility: visible; }
@keyframes duck-in { to { opacity: 1; } }

.speaker { max-width: 720px; margin: 30px auto 0; text-align: center; }
.speaker .speaker-compass { width: clamp(184px, 46vw, 224px); margin: 0 auto; }
.speaker .founder-name { margin: 18px 0 0; }
.speaker-site { margin: 6px 0 16px; font-family: var(--font-ui); font-size: var(--fs-ui); color: rgba(255,255,255,.68); }
.speaker-site a { color: inherit; text-decoration: underline; text-decoration-color: rgba(255,255,255,.4); text-underline-offset: 3px; }
.speaker-site a:hover { color: #fff; }
.speaker .svc-lead { max-width: none; margin: 0; text-align: center; text-wrap: pretty; }
.speaker .svc-lead + .svc-lead { margin-top: 12px; }
.speaker-intro a { color: #fff; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
#services .trailtoc { margin-left: auto; margin-right: auto; text-align: left; }
#services .trailtoc > li { font-weight: 400; }   
#services .sublabel { font-size: var(--fs-ui); color: #fff; }
#services .speaker .svc-lead, #services .quotes-plain .note blockquote { font-size: var(--fs-lead); line-height: 1.55; }

.quotes-plain { max-width: 720px; margin-top: 18px; }
.quotes-plain .note { background: none; border: 0; box-shadow: none; padding: 0; max-width: none; text-align: center; }
.quotes-plain .note::before { display: none; }
.quotes-plain .note blockquote { font-size: var(--fs-body); line-height: 1.62; color: var(--muted); }
.quotes-plain .note { align-self: start; }   
.quotes-plain .note cite { border-top: 0; padding-top: 0; margin-top: 16px; }
.quotes-plain .nb-tacks { margin-top: 22px; }

.even-lines p, .even-lines li, .even-lines blockquote, .even-lines h1, .even-lines h2 { text-wrap: pretty; }
.even-lines .center p, .even-lines .hero p, .even-lines .lead, .even-lines .svc-lead, .even-lines .quotes-plain blockquote { text-wrap: balance; }
.even-lines .hero .lead { max-width: 68ch; }
.avail { list-style: none; margin: 22px auto 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center;
  gap: 14px 40px; }
.avail li { position: relative; padding-left: 32px; font-family: var(--font-ui); font-size: var(--fs-body); color: #fff; text-align: left; }
.avail li::before { content: ""; position: absolute; left: 0; top: calc((1.55em - 22px) / 2);
  width: 22px; height: 22px; background: var(--check-on-green) center / contain no-repeat; }
@media (max-width: 560px) {
  .avail { display: grid; grid-template-columns: repeat(2, max-content); justify-content: center; gap: 14px 34px; }
}
@media (min-width: 900px) { #inquiry .lead { max-width: 68ch; } }

.charcount { margin:.35rem 0 0; text-align:right; font-family:var(--font-ui); font-size: var(--fs-sm); color:rgba(255,255,255,.75); font-variant-numeric:tabular-nums; }
