/* Hoops sub pages — same tokens and type as the top page.
   Layout: editorial two-column — a sticky label column on the left, content on the right, hairline rules between sections */
:root{
  --paper:#ffffff;--tint:#f2f7f3;--ink:#123120;--ink-soft:#56665b;--mute:#b9c6bd;
  --green:#123120;--green-2:#1d4a31;--accent:#23864b;--mint:#8fe0ad;--white:#ffffff;
  --line:rgba(18,49,32,.14);
  --display:"Anton","Impact","Arial Narrow",sans-serif;
  --jp-head:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --body:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --mono:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.95;letter-spacing:.02em;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
@media (min-width:900px){.wrap{padding-left:max(56px,env(safe-area-inset-left,0px));padding-right:max(56px,env(safe-area-inset-right,0px))}}

/* ---------- header ---------- */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:21;background:var(--paper)}
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(255,255,255,.9);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.brand img{width:32px;height:32px;border-radius:50%}
.brand span{font-family:var(--display);font-size:26px;line-height:1;letter-spacing:.02em}
.brand span i{display:inline-block;width:.18em;height:.18em;border-radius:50%;background:var(--accent);margin-left:.05em}
.site-nav{display:flex;gap:26px;overflow-x:auto;scrollbar-width:none;min-width:0}
.site-nav::-webkit-scrollbar{display:none}
.site-nav a{flex:none;position:relative;text-decoration:none;font-size:12.5px;font-weight:500;letter-spacing:.08em;color:var(--ink-soft);padding:6px 0;white-space:nowrap;transition:color .2s}
.site-nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.site-nav a:hover{color:var(--ink)}
.site-nav a:hover::after,.site-nav a[aria-current="page"]::after{transform:scaleX(1)}
.site-nav a[aria-current="page"]{color:var(--ink);font-weight:700}
@media (max-width:820px){
  .site-head .wrap{height:auto;flex-direction:column;align-items:stretch;gap:2px;padding-block:12px 0}
  .site-nav{gap:20px;padding-bottom:4px;mask-image:linear-gradient(90deg,#000 85%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent)}
  .site-nav a{padding:8px 0 10px}
}

/* ---------- page hero ---------- */
.page-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.page-hero .wrap{position:relative;padding-block:72px 64px}
.page-hero::after{content:"";position:absolute;right:-6vw;top:50%;width:min(46vw,520px);aspect-ratio:1;transform:translateY(-50%);background:url("logo.png") center/contain no-repeat;opacity:.06;pointer-events:none}
.crumb{display:flex;gap:10px;font-family:var(--mono);font-weight:700;font-size:11px;letter-spacing:.18em;color:var(--ink-soft);margin:0 0 36px}
.crumb a{color:var(--accent);text-decoration:none}
.crumb a:hover{text-decoration:underline;text-underline-offset:3px}
.page-hero .en{display:block;font-family:var(--display);font-weight:400;font-size:clamp(64px,11vw,150px);line-height:.84;letter-spacing:.005em;margin:0}
.page-hero .jp{display:flex;align-items:center;gap:14px;margin:22px 0 0;font-family:var(--jp-head);font-weight:900;font-size:clamp(16px,1.7vw,20px);letter-spacing:.2em;color:var(--accent)}
.page-hero .jp::before{content:"";width:36px;height:2px;background:var(--accent)}
.page-hero .lead{margin:28px 0 0;max-width:34em;color:var(--ink-soft);font-size:15.5px}

/* ---------- sections ---------- */
.block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.6fr);gap:20px 64px;padding-block:72px;border-bottom:1px solid var(--line)}
.block-head{align-self:start;position:sticky;top:96px}
.block-head small{display:block;font-family:var(--mono);font-weight:700;font-size:11px;letter-spacing:.2em;color:var(--accent);margin-bottom:10px}
.block-head h2{margin:0;font-family:var(--jp-head);font-weight:900;font-size:clamp(20px,2vw,26px);line-height:1.45;letter-spacing:.06em}
.block-body{min-width:0}
.block-body > p{margin:0 0 18px;max-width:38em;color:var(--ink-soft)}
@media (max-width:820px){
  .block{grid-template-columns:1fr;padding-block:52px;gap:22px}
  .block-head{position:static}
}
.tbd{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-weight:700;font-size:10.5px;letter-spacing:.14em;color:var(--ink-soft);vertical-align:middle;white-space:nowrap}
.tbd::before{content:"";width:6px;height:6px;border-radius:50%;border:1.5px solid var(--mute)}
.block-head .tbd{margin-top:10px}
.placeholder{position:relative;padding:22px 24px 22px 26px;background:var(--tint);color:var(--ink-soft);font-size:14px;line-height:1.9}
.placeholder::before{content:"COMING SOON";display:block;font-family:var(--mono);font-weight:700;font-size:10.5px;letter-spacing:.2em;color:var(--accent);margin-bottom:6px}
.placeholder b{color:var(--ink);font-weight:700}

/* ---------- steps (a real sequence) ---------- */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;counter-reset:s;border-top:2px solid var(--green)}
.steps li{counter-increment:s;padding:22px 24px 6px 0;display:grid;gap:8px;align-content:start;min-width:0;position:relative}
.steps li + li{padding-left:24px;border-left:1px solid var(--line)}
.steps li::before{content:"0" counter(s);font-family:var(--display);font-size:44px;line-height:1;color:var(--accent)}
.steps b{font-size:16.5px;letter-spacing:.04em}
.steps span{font-size:13.5px;color:var(--ink-soft);line-height:1.85}
@media (max-width:820px){
  .steps{grid-template-columns:1fr}
  .steps li,.steps li + li{padding:20px 0;border-left:0;border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);column-gap:20px}
  .steps li::before{grid-row:1/3}
}

/* ---------- facts table ---------- */
.facts{margin:0;border-top:2px solid var(--green)}
.facts div{display:grid;grid-template-columns:10em minmax(0,1fr);gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
.facts dt{font-weight:700;letter-spacing:.06em}
.facts dd{margin:0;color:var(--ink-soft)}
.facts dd a{color:var(--accent);font-size:13px;text-underline-offset:3px}
.facts .num{font-family:var(--display);font-size:26px;line-height:1.1;color:var(--ink);letter-spacing:.02em}
.facts .num small{font-family:var(--body);font-size:13px;font-weight:700;margin-left:3px}
@media (max-width:560px){.facts div{grid-template-columns:1fr;gap:2px}}

/* ---------- message template ---------- */
.template{position:relative;margin:0;max-width:38em;padding:26px 28px;background:var(--green);color:var(--white);font-family:var(--body);font-size:14.5px;line-height:2;white-space:pre-wrap;border-radius:2px}
.template::before{content:"MESSAGE";display:block;font-family:var(--mono);font-weight:700;font-size:10.5px;letter-spacing:.2em;color:var(--mint);margin-bottom:8px}

/* ---------- FAQ ---------- */
.faq{border-top:2px solid var(--green)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:22px 0;font-weight:700;font-size:15.5px;letter-spacing:.03em;transition:color .2s}
.faq summary:hover{color:var(--accent)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";font-family:var(--display);font-weight:400;font-size:24px;color:var(--accent);line-height:1;width:1em}
.faq summary::after{content:"";width:20px;height:20px;border-radius:50%;border:1px solid var(--line);background:linear-gradient(var(--green),var(--green)) center/8px 1.5px no-repeat,linear-gradient(var(--green),var(--green)) center/1.5px 8px no-repeat;transition:transform .25s ease,background-color .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;padding:0 0 24px;color:var(--ink-soft)}
.faq .a::before{content:"A";font-family:var(--display);font-size:24px;color:var(--mute);line-height:1.15;width:1em}
.faq .a p{margin:0}

/* ---------- year timeline ---------- */
.timeline{list-style:none;margin:0;padding:0;border-top:2px solid var(--green)}
.timeline li{display:grid;grid-template-columns:5.5em minmax(0,1fr);gap:20px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line)}
.timeline .m{font-family:var(--display);font-size:30px;line-height:1;color:var(--mute)}
.timeline .m small{font-family:var(--jp-head);font-weight:900;font-size:12px;margin-left:3px}
.timeline li.real .m{color:var(--green)}
.timeline li.real b{display:inline-flex;align-items:center;gap:8px;font-size:15.5px}
.timeline li.real b::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
.timeline li.real div span{display:block;font-size:13.5px;color:var(--ink-soft)}

/* ---------- gallery ---------- */
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.gallery div{aspect-ratio:1;max-width:100%;background:var(--tint);display:grid;place-items:center;font-family:var(--mono);font-weight:700;font-size:10.5px;letter-spacing:.2em;color:var(--mute)}
.gallery div:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
@media (max-width:640px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- point list ---------- */
.points{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:2px solid var(--green)}
.points li{padding:22px 24px 22px 0;display:grid;gap:6px;border-bottom:1px solid var(--line);min-width:0}
.points li:nth-child(even){padding-left:24px;padding-right:0;border-left:1px solid var(--line)}
.points b{font-size:16px;display:flex;align-items:center;gap:10px}
.points b::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);flex:none}
.points span{font-size:13.5px;color:var(--ink-soft);padding-left:18px}
@media (max-width:640px){.points{grid-template-columns:1fr}.points li:nth-child(even){padding-left:0;border-left:0}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:15px 18px 15px 26px;background:var(--green);color:var(--white);text-decoration:none;font-family:var(--display);font-size:19px;letter-spacing:.08em;clip-path:polygon(0 0,100% 0,100% 70%,92% 100%,0 100%);transition:background .2s ease}
.btn i{width:28px;height:2px;background:var(--mint);position:relative;flex:none;transition:width .2s}
.btn i::after{content:"";position:absolute;right:0;top:-4px;width:9px;height:9px;border-top:2px solid var(--mint);border-right:2px solid var(--mint);transform:rotate(45deg)}
.btn:hover i{width:38px}
.btn.light{background:var(--white);color:var(--green)}
.btn.light i{background:var(--accent)}
.btn.light i::after{border-color:var(--accent)}
.btn.light:hover{background:var(--mint)}

/* ---------- related pages ---------- */
.related{list-style:none;margin:0;padding:0;border-top:2px solid var(--green)}
.related a{display:grid;grid-template-columns:7.5em minmax(0,1fr) auto;gap:16px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .25s ease,color .2s}
.related a:hover{padding-left:10px;color:var(--accent)}
.related small{font-family:var(--mono);font-weight:700;font-size:10.5px;letter-spacing:.18em;color:var(--accent)}
.related b{font-size:15.5px;letter-spacing:.04em}
.related a::after{content:"";width:9px;height:9px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);margin-right:6px}
@media (max-width:560px){.related a{grid-template-columns:minmax(0,1fr) auto}.related small{grid-column:1}.related b{grid-column:1}.related a::after{grid-column:2;grid-row:1/3}}

/* ---------- CTA band ---------- */
.cta{background:var(--green);color:var(--white);position:relative;overflow:hidden}
.cta::after{content:"HOOPS";position:absolute;right:-1vw;bottom:-.18em;font-family:var(--display);font-size:clamp(120px,20vw,280px);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(143,224,173,.18);pointer-events:none}
.cta .wrap{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px;padding-block:72px}
.cta small{display:block;font-family:var(--mono);font-weight:700;font-size:11px;letter-spacing:.2em;color:var(--mint);margin-bottom:12px}
.cta p{margin:0;font-family:var(--jp-head);font-weight:900;font-size:clamp(20px,2.4vw,30px);letter-spacing:.06em;line-height:1.5}
.cta p span{display:block;font-family:var(--body);font-size:13.5px;color:rgba(255,255,255,.72);letter-spacing:.04em;margin-top:8px}

/* ---------- footer ---------- */
.site-foot{background:var(--green);color:var(--white);border-top:1px solid rgba(255,255,255,.1)}
.site-foot .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;padding-block:26px}
.site-foot nav{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:12.5px;letter-spacing:.06em}
.site-foot a{text-decoration:none;color:rgba(255,255,255,.78);transition:color .2s}
.site-foot a:hover{color:var(--mint)}
.site-foot p{margin:0;font-family:var(--mono);font-weight:700;font-size:11px;letter-spacing:.14em;color:rgba(255,255,255,.5)}

@media (prefers-reduced-motion:reduce){*{transition:none!important}html{scroll-behavior:auto}}

/* ---------- camps (three in a row, in calendar order) ---------- */
.camps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--green)}
.camps li{padding:22px 22px 18px 0;display:grid;gap:6px;align-content:start;min-width:0}
.camps li + li{padding-left:22px;border-left:1px solid var(--line)}
.camps small{font-family:var(--mono);font-weight:700;font-size:10.5px;letter-spacing:.2em;color:var(--accent)}
.camps b{font-family:var(--jp-head);font-weight:900;font-size:20px;letter-spacing:.06em}
.camps dl{margin:8px 0 0;display:grid;gap:4px;font-size:13.5px}
.camps dl div{display:grid;grid-template-columns:3em minmax(0,1fr);gap:8px}
.camps dt{font-weight:700}
.camps dd{margin:0;color:var(--ink-soft)}
@media (max-width:820px){.camps{grid-template-columns:1fr}.camps li,.camps li + li{padding:20px 0;border-left:0;border-bottom:1px solid var(--line)}}

/* ---------- ratio bar ---------- */
.ratio{border-top:2px solid var(--green);padding-top:24px}
.ratio-bar{display:flex;height:14px;gap:3px}
.ratio-bar span:first-child{background:var(--green)}
.ratio-bar span:last-child{background:var(--mint)}
.ratio-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.ratio-legend div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 10px;align-items:center}
.ratio-legend i{width:10px;height:10px;background:var(--green)}
.ratio-legend div + div i{background:var(--mint)}
.ratio-legend b{font-size:14px}
.ratio-legend .num{grid-column:2;font-family:var(--display);font-size:40px;line-height:1;color:var(--ink)}
.ratio-legend .num small{font-family:var(--body);font-size:14px;font-weight:700;margin-left:2px}
.ratio-note{margin:18px 0 0;font-size:13px;color:var(--ink-soft)}

/* ---------- university chips ---------- */
.chips{list-style:none;margin:0;padding:18px 0 0;display:flex;flex-wrap:wrap;gap:8px;border-top:2px solid var(--green)}
.chips li{padding:7px 16px;border:1px solid var(--line);border-radius:999px;font-size:13.5px;font-weight:500;color:var(--ink-soft)}
.ratio-bar.pending span{background:repeating-linear-gradient(135deg,#e6eee8 0 6px,var(--tint) 6px 12px)!important}
.ratio-legend .num{margin-top:6px}
.ratio-note{margin-top:24px}
.block-body .ratio-note{margin:24px 0 0}

/* ---------- numbers (moved from the top page) ---------- */
.nums{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 40px}
.num-card{margin:0;display:grid;gap:18px;align-content:start;border-top:3px solid var(--green);padding-top:20px;min-width:0}
.num-card.wide{grid-column:1/-1}
.num-card figcaption{font-family:var(--jp-head);font-weight:900;font-size:clamp(18px,1.8vw,22px);letter-spacing:.06em;line-height:1.4}
.num-card figcaption small{display:block;font-family:var(--mono);font-weight:700;font-size:10.5px;letter-spacing:.2em;color:var(--accent);margin-bottom:6px}
.split-bar{display:flex;gap:2px;height:16px}
.split-bar span{border-radius:4px}
.split-bar span:first-child{background:var(--green)}
.split-bar span:last-child{background:var(--mint)}
.split-legend{display:flex;justify-content:space-between;gap:16px;margin-top:14px}
.split-legend div{display:grid;grid-template-columns:auto auto;align-items:center;gap:2px 8px;font-size:13.5px;font-weight:700;color:var(--ink-soft)}
.split-legend div:last-child{text-align:right;justify-items:end}
.split-legend i{width:10px;height:10px;border-radius:2px;background:var(--green)}
.split-legend div:last-child i{background:var(--mint)}
.split-legend b{grid-column:1/-1;font-family:var(--display);font-weight:400;font-size:clamp(40px,4.4vw,58px);line-height:1;color:var(--ink)}
.split-legend b small{font-family:var(--body);font-size:15px;font-weight:700;margin-left:2px}
.hbars{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.hbars li{display:grid;grid-template-columns:9.5em minmax(0,1fr) 4.5em;gap:16px;align-items:center}
.hb-l{font-size:14px;font-weight:700;letter-spacing:.03em}
.hb-track{height:22px}
.hb-bar{display:block;height:100%;background:var(--green);border-radius:0 4px 4px 0}
.hbars li:first-child .hb-bar{background:var(--accent)}
.hb-v{font-family:var(--display);font-size:26px;line-height:1;text-align:right;font-variant-numeric:tabular-nums}
.hb-v small{font-family:var(--body);font-size:12px;font-weight:700;margin-left:1px}
.num-note{margin:0;font-size:13.5px;color:var(--ink-soft)}
@media (max-width:820px){
  .nums{grid-template-columns:1fr;gap:48px}
  .hbars li{grid-template-columns:7.5em minmax(0,1fr) 3.8em;gap:10px}
  .hb-l{font-size:12.5px}
}
.timeline li.real div{display:flex;flex-wrap:wrap;gap:4px 22px}

/* ---------- member voices ---------- */
.voices{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.voices li{position:relative;padding:44px 22px 24px;background:var(--tint);font-family:var(--jp-head);font-weight:900;font-size:16px;line-height:1.6;letter-spacing:.04em;border-radius:2px 22px 2px 2px}
.voices li::before{content:"“";position:absolute;left:18px;top:6px;font-family:var(--display);font-size:52px;line-height:1;color:var(--accent)}
@media (max-width:760px){.voices{grid-template-columns:1fr}}
.points li{align-content:start}
.chips li{color:var(--ink);font-weight:700;font-size:14.5px;background:var(--tint);border:1.5px solid rgba(18,49,32,.35);padding:8px 18px}

/* ---------- hamburger menu (same on every page) ---------- */
.hm-btn{position:fixed;z-index:95;top:calc(env(safe-area-inset-top,0px) + 12px);right:max(14px,env(safe-area-inset-right,0px));width:52px;height:52px;border:0;border-radius:50%;background:var(--green);cursor:pointer;display:grid;place-items:center;box-shadow:0 6px 20px -8px rgba(18,49,32,.6);transition:background .25s,transform .25s}
.hm-btn:hover{transform:scale(1.05)}
.hm-btn span{position:absolute;left:16px;right:16px;height:2px;border-radius:2px;background:var(--white);transition:transform .35s cubic-bezier(.7,0,.2,1),opacity .2s,top .35s cubic-bezier(.7,0,.2,1)}
.hm-btn span:nth-child(1){top:19px}.hm-btn span:nth-child(2){top:25px;right:22px}.hm-btn span:nth-child(3){top:31px}
.hm-open .hm-btn{background:var(--mint)}
.hm-open .hm-btn span{background:var(--green)}
.hm-open .hm-btn span:nth-child(1){top:25px;transform:rotate(45deg)}
.hm-open .hm-btn span:nth-child(2){opacity:0}
.hm-open .hm-btn span:nth-child(3){top:25px;transform:rotate(-45deg)}
.hm{position:fixed;inset:0;z-index:90;background:var(--green);color:var(--white);overflow-y:auto;visibility:hidden;clip-path:circle(0 at calc(100% - 40px) 38px);transition:clip-path .6s cubic-bezier(.7,0,.2,1),visibility 0s .6s}
.hm-open .hm{visibility:visible;clip-path:circle(150% at calc(100% - 40px) 38px);transition:clip-path .7s cubic-bezier(.7,0,.2,1)}
.hm-open{overflow:hidden}
.hm-in{max-width:1180px;margin:0 auto;padding:calc(env(safe-area-inset-top,0px) + 90px) max(24px,env(safe-area-inset-right,0px)) 48px max(24px,env(safe-area-inset-left,0px));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px 72px}
.hm h2{grid-column:1/-1;margin:0;font-family:var(--display);font-weight:400;font-size:clamp(56px,9vw,120px);line-height:.85;color:transparent;-webkit-text-stroke:1px rgba(143,224,173,.5)}
.hm-group small{display:block;font-family:var(--body);font-weight:700;font-size:11px;letter-spacing:.24em;color:var(--mint);margin-bottom:10px}
.hm-group ul{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.18)}
.hm-group a{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 2px;border-bottom:1px solid rgba(255,255,255,.18);text-decoration:none;color:var(--white);transition:padding .25s,color .2s}
.hm-group a:hover{padding-left:10px;color:var(--mint)}
.hm-group a b{font-family:var(--display);font-weight:400;font-size:clamp(24px,2.6vw,32px);line-height:1;letter-spacing:.02em}
.hm-group a span{font-family:var(--body);font-weight:700;font-size:12.5px;color:rgba(255,255,255,.7);display:block;margin-top:4px}
.hm-group a::after{content:"";width:8px;height:8px;border-top:2px solid var(--mint);border-right:2px solid var(--mint);transform:rotate(45deg)}
.hm-info{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px 40px;align-items:center;justify-content:space-between;padding-top:24px;border-top:1px solid rgba(255,255,255,.18);font-family:var(--body);font-size:13.5px;color:rgba(255,255,255,.8)}
.hm-info a{color:var(--mint);font-weight:700;text-underline-offset:3px}
.hm-group,.hm h2,.hm-info{opacity:0;transform:translateY(14px);transition:opacity .4s,transform .4s}
.hm-open .hm-group,.hm-open .hm h2,.hm-open .hm-info{opacity:1;transform:none;transition:opacity .6s .25s,transform .6s .25s}
.hm-open .hm-group + .hm-group{transition-delay:.35s}
@media (max-width:760px){.hm-in{grid-template-columns:1fr;gap:32px;padding-top:calc(env(safe-area-inset-top,0px) + 80px)}}
@media (prefers-reduced-motion:reduce){.hm,.hm-open .hm,.hm-btn span,.hm-group,.hm h2,.hm-info{transition:none!important}}

/* header leaves room for the menu button; page links live in the menu on phones */
.site-head .wrap{padding-right:max(84px,env(safe-area-inset-right,0px))}
@media (max-width:820px){.site-nav{display:none}.site-head .wrap{flex-direction:row;align-items:center;height:64px;padding-block:0}}
.hm-btn{top:calc(env(safe-area-inset-top,0px) + 6px);width:52px;height:52px}

/* phones: menu button sits bottom-right, within thumb reach */
@media (max-width:760px){
  .hm-btn{top:auto!important;bottom:calc(env(safe-area-inset-bottom,0px) + 18px);right:max(16px,env(safe-area-inset-right,0px));width:56px!important;height:56px!important}
  .hm-btn span{left:17px;right:17px}
  .hm-btn span:nth-child(1){top:21px}.hm-btn span:nth-child(2){top:27px;right:23px}.hm-btn span:nth-child(3){top:33px}
  .hm-open .hm-btn span:nth-child(1),.hm-open .hm-btn span:nth-child(3){top:27px}
  .hm{clip-path:circle(0 at calc(100% - 44px) calc(100% - 46px))}
  .hm-open .hm{clip-path:circle(150% at calc(100% - 44px) calc(100% - 46px))}
  .hm-in{padding-top:calc(env(safe-area-inset-top,0px) + 36px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 110px)}
  .topbar{padding-right:0}
  .site-head .wrap{padding-right:max(20px,env(safe-area-inset-right,0px))}
}
