/* Big Sky Horizon Software — page scaffolding only. Every color, font, radius
   and shadow comes from ../styles.css (the Classical system). */
:root{--leading:28px;--half:14px;--edge:clamp(20px,5vw,72px);--measure:60ch}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;text-wrap:pretty}
.wrap{max-width:1140px;margin:0 auto;padding:0 var(--edge)}
.nav{padding-inline:max(var(--edge),calc((100% - 1140px) / 2 + var(--edge)))}
.nav a{white-space:nowrap}
.nav a[aria-current='location']{color:var(--color-accent)}
@media (max-width:560px){.nav a:not(.brandless){display:none}}
.rule{height:1px;border:0;margin:0;background:var(--color-divider)}
.kicker{display:block;font-size:13px;line-height:var(--half);letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-700);font-feature-settings:"tnum" 1;margin:0 0 calc(var(--leading) - var(--half))}
.hero{padding:calc(3.5 * var(--leading)) 0 calc(3 * var(--leading))}
.display{font-family:var(--font-heading);font-weight:400;font-size:clamp(42px,6vw,84px);line-height:clamp(45.5px,6.5vw,91px);letter-spacing:-.01em;margin:0;margin-left:-.042em;text-box:trim-both cap alphabetic}
.display .line{display:block}
.hero .sub{font-size:17px;line-height:var(--leading);max-width:var(--measure);margin:calc(1.75 * var(--leading) - 1cap) 0 0;text-box:trim-both cap alphabetic}
.hero .row{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--leading);align-items:center}
.hero .avail{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 70%,transparent)}
section{scroll-margin-top:var(--leading)}
.band{padding:calc(3 * var(--leading)) 0 calc(2.5 * var(--leading))}
.band-tight{padding:calc(2.5 * var(--leading)) 0}
.cols{position:relative;display:grid;grid-template-columns:repeat(3,1fr);--col-gap:calc(2 * var(--leading));gap:calc(1.5 * var(--leading)) var(--col-gap);margin-top:calc(var(--leading) - var(--half))}
.cols::before,.cols::after{content:"";position:absolute;top:0;bottom:0;width:1px;background:var(--color-divider)}
.cols::before{left:calc((100% - 2 * var(--col-gap)) / 3 + var(--col-gap) / 2 - .5px)}
.cols::after{left:calc(2 * (100% - 2 * var(--col-gap)) / 3 + 1.5 * var(--col-gap) - .5px)}
.col h2,.col h3{font-family:var(--font-heading);font-weight:400;font-size:26px;line-height:var(--leading);letter-spacing:-.005em;margin:0;text-box:trim-both cap alphabetic}
.col p{font-size:15.5px;line-height:var(--leading);margin:calc(var(--leading) - 1cap) 0 0;color:color-mix(in srgb,var(--color-text) 78%,transparent);text-align:justify;hyphens:auto;hyphenate-limit-chars:6 3 3;text-box:trim-both cap alphabetic}
.section-title{font-family:var(--font-heading);font-weight:400;font-size:clamp(30px,3.4vw,40px);line-height:calc(1.5 * var(--leading));letter-spacing:-.008em;margin:0;text-box:trim-both cap alphabetic}
.lede{font-size:16px;line-height:var(--leading);max-width:var(--measure);color:color-mix(in srgb,var(--color-text) 80%,transparent);margin:calc(var(--leading) - 1cap) 0 0;text-box:trim-both cap alphabetic}
.split-copy p{font-size:15.5px;line-height:var(--leading);color:color-mix(in srgb,var(--color-text) 78%,transparent);margin:calc(var(--leading) - 1cap) 0 0;max-width:48ch;text-align:justify;hyphens:auto;hyphenate-limit-chars:6 3 3;text-box:trim-both cap alphabetic}
/* — numbered steps: hairline-parted rows, gold tabular numerals as stroke-scale marks — */
.steps{display:grid;gap:0;margin-top:var(--leading);border-top:1px solid var(--color-divider)}
.step{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--leading) clamp(20px,4vw,56px);padding:calc(1.25 * var(--leading)) 0;border-bottom:1px solid var(--color-divider)}
.step-num{font-family:var(--font-heading);font-weight:400;font-size:34px;line-height:var(--leading);font-feature-settings:"tnum" 1;color:var(--color-accent);margin:0;text-box:trim-both cap alphabetic}
.step h3{font-family:var(--font-heading);font-weight:400;font-size:24px;line-height:var(--leading);margin:0;text-box:trim-both cap alphabetic}
.step p:not(.step-num){font-size:15.5px;line-height:var(--leading);color:color-mix(in srgb,var(--color-text) 78%,transparent);margin:calc(var(--leading) - 1cap) 0 0;max-width:64ch;text-box:trim-both cap alphabetic}
/* — stack list — */
.stack{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:calc(1.25 * var(--leading)) calc(2 * var(--leading));margin-top:var(--leading)}
.stack dt{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 70%,transparent)}
.stack dd{margin:var(--half) 0 0;font-size:15.5px;line-height:var(--leading)}
/* — contact — */
#contact .mail{font-family:var(--font-heading);font-size:22px;line-height:var(--leading);display:inline-block;margin-top:var(--leading);word-break:break-word}
footer{padding:calc(2 * var(--leading)) 0;font-size:13px;line-height:var(--leading);color:color-mix(in srgb,var(--color-text) 70%,transparent);display:flex;gap:var(--space-4);flex-wrap:wrap;justify-content:space-between}
footer a{color:inherit}
footer a:hover{color:var(--color-accent)}
@media (max-width:1040px){.cols{grid-template-columns:1fr}.cols::before,.cols::after{content:none}.col{max-width:62ch}}
@media (max-width:720px){.hero{padding-top:calc(2.5 * var(--leading))}.step{grid-template-columns:1fr;gap:var(--half)}}
