/* Montana Legacy identity, composed around the supplied dark Norvane reference. */
:root {
  --paper:#e9e3d7; --charcoal:#171813; --sage:#d7dfb6; --clay:#94502c;
  --bg:#10130f; --panel:#171b16; --ink:#e9e3d7; --muted:#b9bfb1;
  --accent:#d7dfb6; --line:#e9e3d721;
  color-scheme:dark;
}
::selection { background:var(--sage); color:var(--charcoal); }
body { background:var(--bg); color:var(--ink); }
h1,h2,h3 { text-wrap:balance; }
p { text-wrap:pretty; }
.topbar { background:#10130ff2; border-bottom-color:#e9e3d714; }
.nav { height:84px; }
.brand { flex-shrink:0; }
.brand .brand-logo { display:block; width:210px; height:67px; max-width:none; object-fit:cover; }
.navlinks { gap:22px; font-family:var(--mono); }
.navlinks > a:not(.button) { font-size:10px; text-transform:uppercase; letter-spacing:.025em; }
.navlinks .button { font-family:var(--font); }
.eyebrow,.service-number,.market-card .index,.resource-card > span:first-child,
.image-caption,.breadcrumbs,.copyright,.filter-status,.hero-bottom,.globe-note {
  font-family:var(--mono);
}
.eyebrow { color:var(--sage); font-size:10px; }
.eyebrow:before { content:''; width:5px; height:5px; border-radius:50%; background:var(--sage); }
.button { border-radius:999px; background:var(--sage); color:var(--charcoal); border-color:var(--sage); }
.button:hover { background:#e9edda; }
.button.ghost { color:var(--paper); border-color:#e9e3d74d; background:#e9e3d704; }
.button.ghost:hover { background:#e9e3d70b; border-color:var(--sage); }
.textlink { border-bottom-color:#e9e3d73d; }
.hero { background:var(--bg); min-height:760px; isolation:isolate; }
.hero:before {
  z-index:-2;
  background:linear-gradient(180deg,#10130fc9 0%,#10130fb3 50%,#10130fb3 75%,#10130f 100%),
    url('montana-river-bridge.jpg') center 45%/cover;
  opacity:1;
}
.hero:after {
  content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse at 50% 43%,#d7dfb61b,transparent 52%);
}
.hero-annotation { display:flex;justify-content:space-between;gap:25px;padding-top:30px;color:#b9bfb1;font:8px/1.6 var(--mono);letter-spacing:.12em;text-transform:uppercase; }
.hero-grid { display:block;padding:65px 0 60px;text-align:center; }
.hero-grid > .reveal { max-width:900px;margin:auto; }
.hero .eyebrow,.services-heading .eyebrow {
  display:inline-flex;gap:8px;padding:7px 14px;margin:0 0 28px;
  border:1px solid #d7dfb63d;border-radius:999px;background:#d7dfb612;
  box-shadow:0 0 32px #d7dfb610;font-size:9px;letter-spacing:.06em;
}
.hero h1 { font-size:clamp(46px,6.4vw,88px);line-height:1.08;letter-spacing:-.055em;margin-bottom:28px; }
.hero h1 .hero-statement { display:block;font:inherit;color:var(--paper);text-transform:none;margin:0; }
.hero h1 em { display:block;font:inherit;color:var(--sage); }
.hero-subtitle { max-width:760px;margin:0 auto 22px;font-size:16px;line-height:1.6;color:var(--paper);letter-spacing:0; }
.hero p { max-width:640px;margin:0 auto;color:#b9bfb1;font-size:14px; }
.hero .actions { justify-content:center;margin-top:32px; }
.hero-visual { display:none; }
.hero-bottom { font-size:8px;border-top-color:#e9e3d71c;color:var(--muted);padding:24px 0; }
.hero-bottom b { color:var(--sage); }
.reach-band { grid-template-columns:230px 1fr;padding:38px 0 45px;gap:60px; }
.reach-number { color:var(--sage);font-size:72px; }
.reach-band p { font-size:15px; }
.section { padding-top:100px;padding-bottom:100px; }
.section-heading { display:block;text-align:center;max-width:850px;margin:0 auto 50px; }
.section-heading .eyebrow { justify-content:center;margin-bottom:24px; }
.section-heading h2 { font-size:clamp(34px,4.15vw,57px);line-height:1.14;letter-spacing:-.045em; }
.section-heading > p,.section-heading > div { max-width:620px;margin:24px auto 0; }
.section-heading p { font-size:14px; }
#services { position:relative;isolation:isolate; }
#services:before { content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 25%,#d7dfb610,transparent 55%); }
.services-heading { max-width:720px;margin-bottom:48px; }
.services-heading h2 { font-size:clamp(34px,4.3vw,58px); }
.services-heading > p { max-width:520px;font-size:13px; }
.services-carousel { position:relative;min-width:0; }
.services-track {
  display:grid;grid-auto-flow:column;grid-auto-columns:31%;gap:18px;
  overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;
  scroll-snap-type:x mandatory;scroll-padding-inline:1px;
  padding:8px 1px 22px;scrollbar-width:thin;scrollbar-color:#d7dfb655 transparent;
}
.services-track:focus-visible { outline:2px solid var(--sage);outline-offset:7px; }
.service-card {
  display:flex;flex-direction:column;align-items:flex-start;min-width:0;
  min-height:310px;padding:28px;gap:0;scroll-snap-align:start;
  border:1px solid #e9e3d71b;border-radius:9px;
  background:linear-gradient(160deg,#e9e3d709,#e9e3d702),var(--charcoal);
  box-shadow:inset 0 1px 0 #e9e3d705;transition:border-color .25s,background .25s,box-shadow .25s;
}
.service-card:hover { transform:none;background:linear-gradient(160deg,#d7dfb610,#e9e3d703),var(--charcoal);border-color:#d7dfb680;box-shadow:inset 0 0 28px #d7dfb608,0 0 24px #d7dfb608; }
.service-icon { display:grid;place-items:center;width:47px;height:47px;border-radius:50%;border:1px solid #d7dfb633;background:#d7dfb607;box-shadow:0 0 18px #d7dfb60a;margin-bottom:28px;color:var(--sage); }
.service-icon svg { width:19px;height:19px; }
.service-card .service-number { display:none; }
.service-card h3 { font-family:var(--font);font-size:19px;line-height:1.35;letter-spacing:-.025em;margin:0 0 16px; }
.service-card p { font-size:12px;line-height:1.85;margin-bottom:25px; }
.service-card .textlink { margin-top:auto;align-self:flex-start;font-size:10px;border:0;padding:0;gap:17px; }
.service-card .textlink:after { font-size:16px; }
.rail-navigation { display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:3px; }
.rail-navigation[hidden] { display:none; }
.rail-navigation p { margin:0;font:9px/1.8 var(--mono);color:var(--muted); }
.rail-buttons { display:flex;gap:9px; }
.rail-buttons button { display:grid;place-items:center;width:44px;height:44px;border:1px solid #e9e3d733;border-radius:50%;background:#e9e3d703;color:var(--paper);font-size:18px; }
.rail-buttons button:hover:not(:disabled) { border-color:var(--sage);background:#d7dfb610; }
.rail-buttons button:disabled { opacity:.3;cursor:default; }
.market-card,.goal-card,.resource-card,.environment-card,.form-card,.market-checklist {
  border:1px solid #e9e3d721;border-radius:9px;background:linear-gradient(155deg,#e9e3d706,transparent),var(--panel);
}
.market-card:hover,.goal-card:hover,.resource-card:hover { background:linear-gradient(155deg,#d7dfb60b,transparent),var(--panel);border-color:#d7dfb666; }
.market-card .market-mark { color:#d7dfb633; }
.goal-card { border-top:1px solid #e9e3d721; }
.story-image img { width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;border-radius:10px;filter:none; }
.product-photo,.section-photo { display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;margin-top:28px;border-radius:10px; }
.story-copy h3,.creative-layout .closing { font-family:var(--serif);font-style:italic;font-weight:400;color:var(--sage); }
.story-copy h3 { font-size:29px; }
.creative-layout .closing { font-size:30px; }
.question-line { border-left-color:var(--sage); }
.strategy { color:var(--paper);background:radial-gradient(ellipse at 50% 15%,#d7dfb60a,transparent 70%),#141812; }
.strategy .eyebrow { color:var(--sage); }
.strategy .eyebrow:before { background:var(--sage); }
.strategy p { color:var(--muted); }
.strategy li { color:var(--paper);border-top-color:#e9e3d729; }
.strategy li:before { color:var(--sage); }
.screens-table th { color:var(--muted);border-color:#e9e3d73d; }
.screens-table td { color:var(--muted);border-color:var(--line); }
.screens-table td:first-child { color:var(--paper); }
.screens-table tr:hover td { background:#d7dfb604; }
.planning-banner { border-color:#d7dfb62e;border-radius:9px;background:radial-gradient(ellipse at 10% 20%,#94502c12,transparent 75%),#171b16; }
.scope-note { background:#d7dfb606;border-left-color:var(--sage);border-radius:0 8px 8px 0; }
.form-card { padding:36px; }
.form-card label { color:#d0d5c7; }
input,select,textarea { background:#10150f;color:var(--paper);border:1px solid #737a64;border-radius:5px; }
input::placeholder,textarea::placeholder { color:#9aA28f; }
.radio-options label,.scope-options label { background:#10150f;color:var(--paper);border-color:#e9e3d73d;border-radius:5px; }
.radio-options label:has(input:checked),.scope-options label:has(input:checked) { border-color:#d7dfb699;background:#d7dfb60d; }
.planner-section { background:radial-gradient(ellipse at 15% 10%,#d7dfb607,transparent 65%); }
.market-hero { background:radial-gradient(ellipse at 70% 10%,#d7dfb60c,transparent 65%),var(--bg); }
.filter-toolbar button { color:var(--paper);border-color:#e9e3d74d; }
.filter-toolbar button[aria-pressed=true] { background:var(--sage);border-color:var(--sage);color:var(--charcoal); }
.environment-study { background:radial-gradient(ellipse at 50% 85%,#365650,transparent 65%),var(--charcoal); }
.environment-study > span { color:var(--paper); }
.screen-study { background:var(--charcoal);border-color:#737a64;outline-color:#3a4032; }
.screen-study small { color:#d0d1c3; }
.screen-study img { border-radius:50%; }
.outdoor .screen-study:after { background:#737a64; }
.footer { background:#0c100b;border-top-color:#94502c55; }
.footer .brand .brand-logo { width:240px;height:77px; }
.footer-tagline { font-family:var(--serif);font-style:italic;font-size:31px;color:var(--sage); }
.footer .disclosure,.footer .copyright { color:#b9bfb1; }
.copyright { font-size:9px; }
@media (max-width:1100px) {
  .navlinks { gap:16px; }
  .navlinks > a:not(.button) { font-size:9px; }
  .brand .brand-logo { width:190px;height:61px; }
  .hero h1 { font-size:72px; }
  .services-track { grid-auto-columns:42%; }
  .service-card { display:flex;min-height:320px;padding:26px; }
  .service-card h3 { margin-bottom:16px; }
}
@media (max-width:900px) {
  .navlinks { gap:12px; }
  .navlinks .button { padding-inline:14px;font-size:10px;gap:10px; }
}
@media (max-width:760px) {
  .nav { height:76px; }
  .brand .brand-logo { width:185px;height:59px; }
  .menu-toggle { font-family:var(--mono);color:var(--paper);border-color:#e9e3d74d;border-radius:999px; }
  .navlinks { top:76px;background:#10130f;gap:16px; }
  .navlinks > a:not(.button) { font-size:12px; }
  .navlinks .button { font-size:12px;padding:14px; }
  .hero { min-height:0; }
  .hero-annotation { padding-top:24px;font-size:7px;gap:18px; }
  .hero-annotation span:last-child { text-align:right; }
  .hero-grid { padding:48px 0 46px; }
  .hero h1 { font-size:clamp(38px,9vw,64px);line-height:1.12;letter-spacing:-.05em;margin-bottom:25px; }
  .hero h1 .hero-statement { max-width:100%; }
  .hero h1 em { margin-top:5px; }
  .hero .eyebrow { max-width:100%;line-height:1.5;font-size:8px;margin-bottom:25px;padding:7px 10px; }
  .hero-subtitle { font-size:13px;line-height:1.7; }
  .hero p { font-size:12px;line-height:1.9; }
  .hero .actions { flex-direction:column;align-items:stretch;gap:12px; }
  .hero .button { font-size:11px;padding:13px 14px; }
  .hero-bottom { font-size:7px;gap:18px; }
  .reach-band { grid-template-columns:1fr;gap:22px;padding:35px 0; }
  .reach-number { font-size:62px; }
  .reach-number span { margin-left:17px;font-size:8px; }
  .reach-band p { font-size:13px; }
  .section { padding-top:65px;padding-bottom:65px; }
  .section-heading { margin-bottom:34px; }
  .section-heading h2,.services-heading h2 { font-size:clamp(29px,7.4vw,42px);line-height:1.17; }
  .section-heading > p,.section-heading > div { margin-top:22px; }
  .services-heading > p { font-size:12px; }
  .services-track { grid-auto-columns:85%;gap:14px;padding-bottom:18px; }
  .service-card { min-height:300px;padding:25px; }
  .service-card h3 { font-size:18px;margin-bottom:16px; }
  .service-card p { font-size:12px; }
  .service-icon { margin-bottom:25px; }
  .service-number { margin-bottom:25px!important; }
  .service-card .textlink { margin-top:auto; }
  .rail-navigation p { font-size:8px; }
  .rail-buttons button { width:44px;height:44px; }
  .form-card { padding:25px 20px; }
  .footer-tagline { font-size:28px; }
}
@media (prefers-reduced-motion:reduce) {
  .service-card,.market-card,.goal-card,.resource-card { transition:none; }
}

/* The return control belongs only to this section. */
.main-site-return {border:1px solid var(--sage);padding:10px 12px;color:var(--sage);}
.navlinks {gap:16px;}
@media (max-width:1100px) {
 .nav {height:76px;}
 .menu-toggle {display:block;color:var(--paper);border-color:#e9e3d766;}
 .navlinks {display:none;position:absolute;top:76px;left:0;right:0;background:var(--charcoal);padding:24px;flex-direction:column;align-items:stretch;max-height:calc(100dvh - 76px);overflow:auto;}
 .navlinks.open {display:flex;}
 .navlinks > a:not(.button) {font-size:12px;padding:10px;}
}
@media (max-width:430px) {.copyright{flex-wrap:wrap;} .reach-number span{display:block;margin-left:0;} .screen-study{max-width:100%;} .nav{gap:10px;}}

/* Keep keyboard entry legible in the dark theme. */
.skip {color:var(--charcoal);}

/* Keep unavailable local tools inert while providing the worksheet/email fallback. */
.button:disabled {cursor:not-allowed;opacity:.65;}
.button:disabled:hover {transform:none;background:var(--sage);}

/* Keep navigation usable when modules are unavailable or still loading. */
@media (max-width:1100px) {
 body:not(.ml-international-navigation-ready) .topbar {position:relative;}
 body:not(.ml-international-navigation-ready) .nav {height:auto;min-height:76px;flex-wrap:wrap;padding-block:18px;}
 body:not(.ml-international-navigation-ready) .menu-toggle {display:none;}
 body:not(.ml-international-navigation-ready) .navlinks {display:flex;position:static;flex:0 0 100%;max-height:none;overflow:visible;padding:12px 0 0;border:0;}
}
