:root{--paper:#f5f2e9;--ink:#151411;--orange:#f34a28;--line:rgba(21,20,17,.28);--body:Arial,Helvetica,sans-serif;--display:Impact,Haettenschweiler,'Arial Narrow','Roboto Condensed',Arial,sans-serif;--mono:'IBM Plex Mono','Cascadia Mono','Courier New',monospace;--gutter:clamp(22px,4.1vw,72px);background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;font-synthesis:none}
*,*::before,*::after{box-sizing:border-box}
body,h1,h2,h3,p,ol,figure{margin:0}
body{min-width:0}
button,input,textarea,select{font:inherit;color:inherit}
a{color:inherit}
img{display:block;max-width:100%}
button{cursor:pointer}
:focus-visible{outline:3px solid #a02714;outline-offset:4px}
[id]{scroll-margin-top:90px}
.skip{position:fixed;z-index:20;top:8px;left:8px;background:var(--paper);padding:12px;transform:translateY(-160%)}
.skip:focus{transform:none}
.masthead{min-height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(18px,4vw,72px);padding:12px var(--gutter);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--ink);background:var(--paper)}
.wordmark{font:400 clamp(26px,3.15vw,48px)/1 var(--display);letter-spacing:-.035em;text-decoration:none;white-space:nowrap;justify-self:start}
.wordmark span{color:#c53520}
.top-nav{display:flex;align-items:center;gap:clamp(18px,3vw,48px)}
.top-nav a,.button,.text-link,.kicker,.section-index,.image-index,.hero-index,.service-number,.dispatch,.signal-top,.signal-bottom{font-family:var(--mono);font-weight:700;font-size:12px;letter-spacing:.09em;text-transform:uppercase}
.top-nav a{display:flex;align-items:center;min-height:44px;text-decoration:none;padding:8px 0;border-bottom:1px solid transparent}
.top-nav a:hover{border-bottom-color:currentColor}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-height:44px;padding:10px 15px;border:1px solid var(--ink);text-decoration:none;line-height:1.25;white-space:normal;text-align:left}
.button--black{background:var(--ink);color:var(--paper)}
.button--black:hover{background:#3c3932}
.button--outline{background:transparent;color:var(--ink)}
.button--outline:hover{background:#e5dfd3}
.nav-contact{justify-self:end;white-space:nowrap}
.nav-contact span,.text-link span,.contact-form button span{font-size:1.3em;line-height:1}
.page-progress{position:absolute;z-index:1;bottom:-2px;left:0;width:100%;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:left center;pointer-events:none}
.hero{display:grid;grid-template-columns:53.5% 46.5%;min-height:clamp(580px,47vw,765px);border-bottom:1px solid var(--ink)}
.hero-copy{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(35px,3.35vw,58px) var(--gutter) clamp(36px,3.35vw,60px)}
.kicker{display:flex;align-items:center;gap:.75rem;line-height:1.45}
.status-dot{width:.65rem;height:.65rem;flex:0 0 .65rem;background:var(--orange);border:1px solid var(--ink);border-radius:50%}
.hero h1{font:900 clamp(82px,10.1vw,172px)/.89 var(--display);letter-spacing:-.035em;text-transform:uppercase;margin:.16em 0 .17em}
.hero h1>span{display:block}
.punct{color:var(--orange)}
.hero-deck{font-size:clamp(17px,1.55vw,25px);font-weight:400;line-height:1.35;letter-spacing:-.025em;max-width:33ch;margin-bottom:clamp(16px,1.65vw,28px)}
.text-link{display:inline-flex;align-items:center;gap:12px;min-height:36px;text-decoration:none;border-bottom:1px solid currentColor}
.text-link:hover{color:#a02714}
.hero-index{position:absolute;bottom:18px;right:20px;writing-mode:vertical-rl;font-size:10px;font-weight:400}
.hero-art{position:relative;isolation:isolate;overflow:hidden;border-left:1px solid var(--ink);background:#f83e10}
.hero-photo{position:absolute;inset:-8% -5%}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 54%;max-width:none}
.hero-badge{position:absolute;z-index:1;left:5.5%;top:5.5%;width:clamp(62px,7vw,108px);pointer-events:none}
.postmark{transform:rotate(12deg);color:#211c15}
.postmark svg{display:block;width:100%;height:auto}
.postmark svg circle,.postmark svg>path{fill:none;stroke:currentColor;stroke-width:1.35}
.postmark svg text{fill:currentColor;font:bold 9px var(--mono);letter-spacing:1.2px}
.image-index{position:absolute;bottom:17px;right:17px;padding:7px 8px;background:var(--paper);border:1px solid var(--ink);font-size:10px}
.dispatch {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0 var(--gutter);
  list-style: none;
  background: var(--ink);
  color: var(--paper);
  line-height: 1.35;
}
.dispatch li {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(6px, 1.4vw, 20px);
  min-height: 52px;
  padding: 8px;
  text-align: center;
}
.dispatch li + li { border-left: 1px solid #5b544a; }
.dispatch li span { color: #ff765e; }
.section-shell{max-width:1720px;margin:0 auto;padding-inline:var(--gutter)}
.section-index{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid currentColor;padding-bottom:13px;line-height:1.3}
.section-index span:last-child{font-weight:400;text-align:right}
.services,.approach,.faq,.contact{padding:clamp(52px,6.3vw,100px) 0}
.benchmarks { padding-block: clamp(52px, 6.3vw, 100px); }
.benchmarks-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, .65fr);
  align-items: end;
  gap: clamp(20px, 4vw, 65px);
  margin: clamp(30px, 4vw, 62px) 0;
}
.benchmarks-intro > p { max-width: 38ch; font-size: clamp(17px, 1.55vw, 23px); line-height: 1.45; }
.benchmarks-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--ink);
}
.benchmark {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: clamp(18px, 2.6vw, 40px);
}
.benchmark + .benchmark { border-left: 1px solid var(--ink); }
.benchmark .kicker,.benchmark-note .kicker { color: #a02714; }
.benchmark-number {
  margin: 20px 0 12px;
  font: 400 clamp(48px, 6vw, 106px)/.93 var(--display);
  letter-spacing: -.04em;
}
.benchmark-number small {
  display: block;
  min-height: 1.6em;
  margin-top: 8px;
  font: 700 12px/1.4 var(--mono);
  letter-spacing: .035em;
  text-transform: uppercase;
}
.benchmark:first-child .benchmark-number { padding-bottom: calc(8px + 1.6rem); }
.benchmark h3 { margin-bottom: 12px; font-size: clamp(18px, 1.6vw, 25px); line-height: 1.2; }
.benchmark h3 + p { margin-bottom: 18px; font-size: clamp(15px, 1.25vw, 18px); line-height: 1.5; }
.benchmark .text-link { margin-top: auto; }
.benchmark-note {
  display: grid;
  grid-template-columns: minmax(0, .35fr) minmax(0, 1fr);
  align-items: start;
  gap: 12px 25px;
  padding: clamp(18px, 2.3vw, 36px);
  background: #eae4d7;
}
.benchmark-note p + p { max-width: 73ch; line-height: 1.55; }
.services{background:var(--ink);color:var(--paper)}
.services :focus-visible{outline-color:var(--orange)}
.services-intro{display:grid;grid-template-columns:1.3fr .7fr;gap:30px;align-items:end;margin:clamp(38px,5vw,76px) 0}
.services-intro>p,.process-lede,.contact-deck{max-width:33ch;font-size:clamp(18px,1.7vw,26px);line-height:1.44;letter-spacing:-.025em;font-weight:650}
.benchmarks h2,.services h2,.process h2,.approach h2,.faq h2,.contact h2,.brief-dialog h2{font:400 clamp(54px,7.6vw,130px)/.97 var(--display);text-transform:uppercase;letter-spacing:-.035em}
.benchmarks h2 span,.services h2 span,.process h2 span,.approach h2 span,.faq h2 span,.contact h2 span{color:var(--orange)}
.services h2{font-size:clamp(51px,6.6vw,116px)}
.service-list{display:grid;grid-template-columns:1.15fr 1fr 1fr;border-top:1px solid #777268;border-bottom:1px solid #777268}
.service{padding:clamp(22px,3vw,45px);border-right:1px solid #777268}
.service:last-child{border-right:0}
.service--primary{background:var(--orange);color:var(--ink)}
.service-number{line-height:1.4}
.service h3{font:400 clamp(32px,4vw,63px)/.97 var(--display);text-transform:uppercase;letter-spacing:-.025em;margin:18px 0 15px}
.service>p:not(.service-number){max-width:32ch;font-size:clamp(15px,1.35vw,20px);line-height:1.55}
.process{padding-block:clamp(56px,7vw,110px)}
.process-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(26px,5vw,88px);margin:clamp(38px,5vw,76px) 0}
.process-lede{margin-top:24px}
.signal{position:relative;display:grid;place-items:center;min-height:290px;padding:24px 12px;border:1px solid var(--ink);background-color:#ebe5d8;background-image:radial-gradient(#8d84765c 1px,transparent 1px);background-size:14px 14px;overflow:hidden}
.signal svg{width:100%;height:auto;max-height:320px}
.signal-top,.signal-bottom{position:absolute;background:#ebe5d8;padding:3px;font-size:10px}
.signal-top{top:14px;left:13px}.signal-bottom{bottom:14px;right:13px}
.signal path{stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.signal-ghost{stroke:#8d8476;stroke-dasharray:3 7}
[data-signal-path]{stroke:#b92d18}
[data-signal-node]{fill:var(--paper);stroke:#b92d18;stroke-width:3;transform-box:fill-box;transform-origin:center}
.process-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--ink)}
.process-list li{padding:clamp(18px,2.4vw,38px);border-right:1px solid var(--ink)}
.process-list li:last-child{border:0}
.process-list li>span{font:700 12px var(--mono);color:#a02714}
.process-list h3{font:400 clamp(28px,3.5vw,58px)/1 var(--display);text-transform:uppercase;margin:12px 0}
.process-list p{font-size:15px;line-height:1.55;max-width:27ch}
.approach{background:#eae4d7;border-bottom:1px solid var(--line)}
.approach-intro,.faq-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, .65fr);
  align-items: end;
  gap: clamp(20px, 4vw, 65px);
  margin: clamp(30px, 4vw, 62px) 0;
}
.approach-intro > p,.faq-intro > p {
  max-width: 34ch;
  font-size: clamp(18px, 1.55vw, 24px);
  line-height: 1.45;
}
.approach-grid,.faq-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--ink);
}
.approach-item,.faq-item {
  min-width: 0;
  padding: clamp(20px, 2.8vw, 44px);
  border-bottom: 1px solid var(--line);
}
.approach-item:nth-child(odd),.faq-item:nth-child(odd) { border-right: 1px solid var(--line); }
.approach-item > span {
  color: #a02714;
  font: 700 12px/1.4 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.approach-item h3 {
  margin: 12px 0;
  font: 400 clamp(28px, 3vw, 48px)/1.05 var(--display);
  text-transform: uppercase;
}
.approach-item p,.faq-item p { max-width: 59ch; font-size: clamp(16px, 1.25vw, 19px); line-height: 1.6; }
.guide-callout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 18px 30px;
  margin-top: clamp(20px, 3vw, 44px);
  padding: clamp(20px, 2.5vw, 38px);
  background: #ebe5d8;
  border-left: 4px solid #b92d18;
}
.guide-callout .kicker { margin-bottom: 8px; color: #a02714; }
.guide-callout p + p { max-width: 48ch; font-size: 18px; line-height: 1.4; }
.faq{background:#faf7ef;border-top:1px solid var(--line)}
.faq-item h3 { margin-bottom: 12px; font-size: clamp(19px, 1.8vw, 27px); line-height: 1.2; letter-spacing: -.025em; }
.contact{background:var(--ink);color:var(--paper);border-block:1px solid var(--ink)}
.contact .button--black{background:var(--orange);color:var(--ink);border-color:var(--orange)}
.contact .button--black:hover{background:#ff765e;border-color:#ff765e}
.contact-grid{display:grid;grid-template-columns:1.22fr .78fr;align-items:start;gap:clamp(32px,6vw,100px);margin-top:clamp(38px,5vw,76px)}
.contact-deck{margin-top:22px}
.contact-form{display:grid;gap:10px;min-width:0}
.contact-form label{font:700 12px/1.4 var(--mono);letter-spacing:.05em;text-transform:uppercase}
.contact-form :is(input,select,textarea){display:block;width:100%;min-height:46px;padding:10px 12px;margin-bottom:7px;background:var(--paper);color:var(--ink);border:1px solid var(--ink);border-radius:0}
.contact-form textarea{resize:vertical}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#615b50}
.contact-form :focus-visible{outline-color:var(--orange)}
.contact-form button{justify-self:start}
.contact-form .form-note{font-size:14px;line-height:1.5;color:#ddd5c6}
.contact-form button:disabled{opacity:.6;cursor:default}
.footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px var(--gutter)}
.footer p{font-size:14px;font-weight:700}
.brief-dialog{position:fixed;width:min(calc(100% - 32px),610px);max-height:calc(100% - 36px);padding:clamp(22px,4vw,46px);border:2px solid var(--ink);background:var(--paper);color:var(--ink);overscroll-behavior:contain}
.brief-dialog::backdrop{background:rgba(21,20,17,.74)}
.brief-dialog h2{font-size:clamp(50px,7vw,74px);margin:12px 0}
.brief-dialog>p{max-width:52ch;line-height:1.45}
.brief-close{position:absolute;right:12px;top:12px;font:26px/1 var(--mono);width:40px;height:40px;background:transparent;border:1px solid var(--ink)}
.brief-close:hover{background:var(--ink);color:var(--paper)}
.brief-dialog pre{max-height:30dvh;overflow:auto;padding:14px;background:white;border:1px solid var(--line);font:14px/1.5 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}
.brief-actions{display:flex;gap:10px;flex-wrap:wrap}
#brief-status:not(:empty){margin-top:12px;font-size:14px;font-weight:700}
body:has(dialog[open]){overflow:hidden}
@media(max-width:1050px){.hero{min-height:530px}.hero h1{font-size:clamp(76px,10vw,106px)}.services-intro{grid-template-columns:1.1fr .9fr}.contact-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){
  [id]{scroll-margin-top:84px}
  .masthead{min-height:62px;grid-template-columns:auto 1fr auto;gap:12px;padding-block:9px}
  .wordmark{font-size:30px}.top-nav{justify-content:center;gap:14px}.top-nav a,.nav-contact{font-size:11px;letter-spacing:0}.nav-contact{gap:7px;padding-inline:9px;min-height:44px}
  .hero{display:block;min-height:auto}.hero-copy{padding-block:35px 29px}.hero h1{font-size:clamp(68px,13.8vw,110px);margin:.16em 0 .2em}.hero-art{border-left:0;border-top:1px solid var(--ink);height:clamp(300px,83vw,500px)}
  .hero-photo img{object-position:50% 32%}.hero-deck{margin-bottom:13px}.hero-index{right:11px}
  .services-intro,.process-grid,.contact-grid{grid-template-columns:1fr}.services-intro{gap:20px}.service-list{grid-template-columns:1fr}.service{border-right:0;border-bottom:1px solid #777268}.service:last-child{border-bottom:0}
  .benchmarks-intro,.benchmarks-grid,.benchmark-note,.approach-intro,.faq-intro{grid-template-columns:1fr}
  .benchmark + .benchmark{border-left:0;border-top:1px solid var(--ink)}
  .benchmark:first-child .benchmark-number{padding-bottom:0}
  .process-list{grid-template-columns:repeat(2,1fr)}.process-list li:nth-child(2){border-right:0}.process-list li:nth-child(-n+2){border-bottom:1px solid var(--ink)}
  .signal{min-height:210px}.footer{flex-wrap:wrap}
}
@media(max-width:560px){
  [id]{scroll-margin-top:108px}
  .masthead{grid-template-columns:auto 1fr;gap:0 12px;padding-block:5px}.nav-contact{grid-column:2;grid-row:1}.top-nav{grid-row:2;grid-column:1/-1;justify-content:flex-start;gap:clamp(10px,4vw,22px)}.top-nav a{padding:5px 0}
  .dispatch{padding-inline:0;font-size:10px;letter-spacing:.03em}
  .dispatch li span{display:none}
  .approach-grid,.faq-grid{grid-template-columns:1fr}
  .approach-item,.faq-item{padding-inline:0}
  .approach-item:nth-child(odd),.faq-item:nth-child(odd){border-right:0}
}
@media(max-width:460px){
  .hero h1{font-size:clamp(63px,16.4vw,76px)}.hero-deck{max-width:30ch}.footer p{order:3;width:100%}
}
