/* Layout: field map with alternating bands so every section reads on its own: survey paper, forest, stone, khaki, paper, ink. Tall condensed display type, mono survey labels, blaze orange only for the north tip and calls to action */
:root{
  --paper:#ECEEE8; --stone:#DFE3DA; --card:#F5F6F2; --khaki:#D6CCB6; --khaki-ink:#2A2619; --khaki-muted:#5C5440; --khaki-rule:#B9AD92;
  --forest:#1E3A2D; --forest-2:#264636; --forest-ink:#ECEEE8; --forest-muted:#AFC1B5; --forest-rule:#3E5C4D;
  --ink:#121A16; --ink-2:#47534C; --rule:#BCC5BB; --night:#121A16; --night-muted:#A3ADA6; --night-rule:#2D3832; --blaze:#C84E17; --blaze-lt:#E07A45;
  --display:'Barlow Condensed','Arial Narrow',sans-serif;
  --body:'Instrument Sans',ui-sans-serif,system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;
  color-scheme:light;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;padding-inline:20px;overflow-x:clip}
.wrap{max-width:1120px;margin:0 auto}
a{color:inherit}
:focus-visible{outline:2px solid var(--blaze);outline-offset:3px}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.band{margin-inline:calc(50% - 50vw);padding-inline:calc(50vw - 50%)}
section{padding-block:88px}
h2{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(40px,6vw,68px);line-height:.92;margin:0;letter-spacing:.005em;text-wrap:balance}
.top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:22px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.badge{width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;flex:none}
.wm{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:.14em;line-height:1}
.wm small{display:block;font-family:var(--mono);font-weight:400;font-size:10px;letter-spacing:.4em;color:var(--ink-2);margin-top:3px}
.btn{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:12px 20px;background:var(--ink);color:var(--paper);text-decoration:none;font-weight:600;font-size:15px;border:0;border-radius:0;cursor:pointer;font-family:var(--body)}
.btn:hover{background:var(--blaze)}
.btn.line{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.btn.line:hover{background:var(--ink);color:var(--paper)}
.btn.blaze{background:var(--blaze);color:#FFF8F2}
.btn.blaze:hover{background:var(--blaze-lt);color:var(--night)}

.hero{position:relative;border-top:1.5px solid var(--ink)}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero-in{position:relative;padding-block:76px 72px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px;align-items:end}
h1{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(52px,9vw,124px);line-height:.9;letter-spacing:0;margin:0}
h1 em{display:block;font-style:normal;color:var(--blaze);font-weight:700;font-size:.42em;line-height:1.05;letter-spacing:.01em;margin-top:.35em}
.hero-side{display:flex;flex-direction:column;gap:20px;background:var(--card);padding:26px;border:1.5px solid var(--ink)}
.hero-side p{margin:0;font-size:19px;line-height:1.5}
.coord{position:absolute;top:16px;right:0;background:var(--paper);padding:2px 6px}

.forest{background:var(--forest);color:var(--forest-ink)}
.forest .mono{color:var(--forest-muted)}
.bench{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:56px;align-items:start}
.big{display:flex;flex-direction:column;gap:14px}
.big b{font-family:var(--display);font-weight:900;font-size:clamp(110px,17vw,190px);line-height:.78;color:var(--forest-ink)}
.big p{margin:0;font-size:clamp(20px,2.4vw,26px);line-height:1.3;max-width:20ch}
.bench-r{display:flex;flex-direction:column;gap:22px}
.bench-r h2{font-size:clamp(34px,4.6vw,52px)}
.bench-r > p{margin:0;color:var(--forest-muted);font-size:18px;max-width:52ch}
.disc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--forest-rule)}
.disc li{padding:16px 0;border-bottom:1px solid var(--forest-rule);display:flex;gap:12px;align-items:baseline}
.disc li:nth-child(odd){padding-right:16px}
.disc li:nth-child(even){padding-left:16px;border-left:1px solid var(--forest-rule)}
.disc li::before{content:"";width:8px;height:8px;background:var(--blaze-lt);flex:none;transform:translateY(-1px)}
.disc b{font-weight:600}
.disc span{display:block;font-size:14px;color:var(--forest-muted);font-weight:400}

.stone{background:var(--stone)}
.svc{display:flex;flex-direction:column;gap:40px}
.svc-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px}
.svc-head p{margin:0;color:var(--ink-2);max-width:34ch}
.cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.c{background:var(--card);border:1px solid var(--rule);padding:28px 26px;display:flex;flex-direction:column;gap:10px;grid-column:span 2;min-width:0;transition:transform .2s ease,border-color .2s ease}
.c:hover{border-color:var(--ink);transform:translateY(-2px)}
.c.lead{grid-column:span 6;background:var(--forest-2);border-color:var(--forest-2);color:var(--forest-ink);flex-direction:row;flex-wrap:wrap;gap:12px 48px;align-items:end}
.c.lead p{color:var(--forest-muted)}
.c.lead .mono{color:var(--forest-muted)}
.c.half{grid-column:span 3}
.c.wide{grid-column:span 6;flex-direction:row;flex-wrap:wrap;gap:12px 48px;align-items:end}
.c h3{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:30px;line-height:.95;margin:0;letter-spacing:.02em}
.c.lead h3{font-size:clamp(40px,5vw,56px);color:var(--forest-ink)}
.c p{margin:0;color:var(--ink-2);max-width:48ch}
.c:not(.lead) .mono{color:#A9420F;font-weight:500}
.c:not(.lead):hover{border-color:#A9420F}
.modes b::before{content:"";display:block;width:32px;height:3px;background:var(--blaze);margin-bottom:16px}

.khaki{background:var(--khaki);color:var(--khaki-ink)}
.khaki .mono{color:var(--khaki-muted)}
.team{display:flex;flex-direction:column;gap:44px}
.team-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:end}
.team-top p{margin:0;color:var(--khaki-muted);font-size:18px;max-width:46ch}
.modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1.5px solid var(--khaki-ink)}
.modes div{padding:26px 24px 8px 0;display:flex;flex-direction:column;gap:8px}
.modes div + div{padding-left:24px;border-left:1px solid var(--khaki-rule)}
.modes b{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:34px;line-height:1}
.modes p{margin:0;color:var(--khaki-muted)}

.name{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:center}
.profile{width:100%;height:auto;display:block;max-width:100%}
.name p{margin:0 0 14px;max-width:46ch}

.night{background:var(--night);color:var(--paper)}
.night .mono{color:var(--night-muted)}
.contact{display:flex;flex-direction:column;gap:26px}
.contact h2{font-size:clamp(52px,9vw,112px)}
.contact h2 span{color:var(--blaze-lt)}
.cform{display:flex;flex-direction:column;gap:28px;width:100%;max-width:680px;margin-top:8px}
.frow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 36px}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}
.field label{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--night-muted)}
.field input,.field textarea{font:inherit;font-size:17px;color:var(--paper);background:transparent;border:0;border-bottom:1px solid #4A564F;border-radius:0;padding:10px 0;min-height:46px;width:100%}
.field textarea{resize:vertical;min-height:96px}
.field input::placeholder,.field textarea::placeholder{color:#6F7A73}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--blaze-lt)}
.fsend{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.fstatus{margin:0;font-size:15px;color:var(--night-muted)}
.fstatus.ok{color:var(--paper)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:600px){.frow{grid-template-columns:minmax(0,1fr)}}
footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-block:22px 40px;border-top:1px solid var(--night-rule)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:center}
.hero-mark{width:clamp(200px,24vw,300px);aspect-ratio:1;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center}
.hero-mark svg{width:56%;height:auto}
.hero2{padding-block:96px 104px;display:flex;flex-direction:column;gap:30px}
@media (max-width:860px){.hero-grid{grid-template-columns:minmax(0,1fr)}.hero-mark{display:none}}
.hero2 h1 span{display:block;font-weight:500;color:var(--ink-2)}
.hero2 p{margin:0;font-size:clamp(18px,2.2vw,22px);max-width:40ch;color:var(--ink)}
.btn.on-night{color:var(--paper);border-color:var(--night-rule)}
.btn.on-night:hover{background:var(--paper);color:var(--night)}
@media (max-width:860px){.hero2{padding-block:56px 64px}}
.lockup{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--rule)}
.water{position:absolute;right:8%;top:50%;transform:translateY(-50%);width:min(440px,60vw);height:auto;color:#244334;pointer-events:none}
@media (max-width:860px){.water{right:50%;transform:translate(50%,-50%);width:80vw}}
.signoff{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding-block:56px 64px;border-top:1px solid var(--night-rule)}
.signoff .wm{color:var(--paper)}

@media (max-width:860px){
  .hero-in,.bench,.team-top,.name{grid-template-columns:minmax(0,1fr)}
  .hero-in{padding-block:48px 44px;gap:28px}
  .cards{grid-template-columns:minmax(0,1fr)}
  .c,.c.half,.c.lead,.c.wide{grid-column:auto}
  .modes{grid-template-columns:minmax(0,1fr)}
  .modes div,.modes div + div{padding:22px 0;border-left:0;border-bottom:1px solid var(--khaki-rule)}
  .disc{grid-template-columns:minmax(0,1fr)}
  .disc li:nth-child(odd),.disc li:nth-child(even){padding:14px 0;border-left:0}
  section{padding-block:60px}
  .bench{gap:36px}
  .top .btn{display:none}
}
@media (prefers-reduced-motion:reduce){.c{transition:none}.c:hover{transform:none}}
