/* Ridge & Rafter — "field report" theme. Self-contained; does not rely on new-demos.css. */

@font-face{
  font-family:'Archivo';
  src:url('../fonts/ridge-archivo.woff2') format('woff2');
  font-weight:100 900;
  font-stretch:62% 125%;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Caveat';
  src:url('../fonts/ridge-caveat.woff2') format('woff2');
  font-weight:400 700;
  font-style:normal;
  font-display:swap;
}

.rr{
  --paper:#f3edde;
  --paper-2:#ece4d2;
  --ink:#26221b;
  --ink-soft:#5b5344;
  --line:#cfc3a9;
  --accent:#b8531f;
  --accent-ink:#fff6ea;
  --tar:#211e18;
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:16px/1.55 'DM Sans',Arial,sans-serif;
  overflow-x:hidden;
}
.rr *,.rr *::before,.rr *::after{box-sizing:border-box}
.rr img{max-width:100%;display:block}
.rr a{color:inherit}
.rr a:focus-visible,.rr button:focus-visible,.rr input:focus-visible,.rr select:focus-visible,.rr textarea:focus-visible{
  outline:3px solid var(--accent);outline-offset:3px;
}
.rr h1,.rr h2,.rr h3{
  font-family:'Archivo',Arial,sans-serif;
  font-stretch:118%;
  letter-spacing:-.01em;
}
.rr-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rr-mono{font-family:'Space Mono',monospace;font-size:.86em}
.rr-hand{font-family:'Caveat',cursive;font-size:1.5rem;line-height:1.15;color:#43392a}

/* ---------- top bar ---------- */
.rr-top{
  display:flex;align-items:center;gap:clamp(14px,2.5vw,34px);flex-wrap:wrap;
  padding:14px clamp(16px,4vw,56px);
  border-bottom:2px solid var(--ink);
  background:var(--paper);
}
.rr-mark{
  font:800 1.45rem/1 'Archivo',Arial,sans-serif;font-stretch:118%;
  text-decoration:none;letter-spacing:-.02em;
}
.rr-mark span{color:var(--accent)}
.rr-top-line{
  margin:0;font:12px/1.35 'Space Mono',monospace;color:var(--ink-soft);
  max-width:34ch;
}
.rr-nav{display:flex;gap:clamp(12px,2vw,26px);margin-left:auto;font-size:14px}
.rr-nav a{text-decoration:none;border-bottom:2px solid transparent;padding-bottom:2px}
.rr-nav a:hover{border-color:var(--accent)}
.rr .rr-phone{
  font:700 13px/1 'Space Mono',monospace;text-decoration:none;
  background:var(--ink);color:var(--paper);padding:11px 14px;
}
.rr .rr-phone:hover{background:var(--accent);color:var(--accent-ink)}

/* ---------- hero: the report cover ---------- */
.rr-hero{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(24px,4vw,64px);
  padding:clamp(30px,5vh,60px) clamp(16px,4vw,56px) clamp(40px,6vh,72px);
  background:
    repeating-linear-gradient(0deg,transparent 0 31px,rgba(38,34,27,.055) 31px 32px),
    var(--paper);
  align-items:center;
  min-height:calc(100svh - 70px);
}
.rr-file-no{
  margin:0 0 18px;font:12px/1.4 'Space Mono',monospace;color:var(--ink-soft);
  border-bottom:1px dashed var(--line);display:inline-block;padding-bottom:8px;
}
.rr-hero h1{
  font-size:clamp(2.6rem,5.6vw,4.9rem);
  line-height:.98;margin:0;max-width:15ch;
}
.rr-lede{font-size:clamp(1rem,1.3vw,1.15rem);max-width:46ch;color:#3c362b;margin:22px 0 0}
.rr-hero-cta{margin-top:30px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.rr-btn{
  display:inline-block;background:var(--accent);color:var(--accent-ink);
  font:700 15px/1 'Archivo',Arial,sans-serif;font-stretch:110%;
  text-decoration:none;padding:16px 22px;border:2px solid var(--accent);cursor:pointer;
}
.rr-btn:hover{background:var(--ink);border-color:var(--ink)}
.rr-stormline{margin:0;font-size:13px;color:var(--ink-soft);max-width:22ch}
.rr-hero-photo{
  margin:0;position:relative;justify-self:end;width:min(100%,640px);
  background:#fff;padding:14px 14px 52px;
  box-shadow:0 2px 0 rgba(38,34,27,.25),0 14px 28px rgba(38,34,27,.18);
  transform:rotate(1.2deg);
}
.rr-hero-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.rr-hero-photo::before,.rr-hero-photo::after{
  content:'';position:absolute;width:96px;height:26px;background:rgba(226,214,178,.85);
  top:-12px;box-shadow:0 1px 2px rgba(38,34,27,.2);
}
.rr-hero-photo::before{left:8%;transform:rotate(-6deg)}
.rr-hero-photo::after{right:8%;transform:rotate(5deg)}
.rr-hero-photo figcaption{position:absolute;left:18px;bottom:12px;right:18px}
.rr-stamp{
  position:absolute;top:-22px;right:-14px;z-index:2;
  font:700 11px/1.35 'Space Mono',monospace;text-transform:uppercase;letter-spacing:.08em;
  color:var(--accent);border:2.5px solid var(--accent);border-radius:4px;
  padding:8px 10px;transform:rotate(7deg);background:rgba(243,237,222,.9);
}

/* ---------- section headers ---------- */
.rr-sec-head{max-width:720px;margin:0 0 clamp(26px,4vh,44px)}
.rr-sec-head h2{font-size:clamp(1.9rem,3.4vw,2.9rem);line-height:1.02;margin:0 0 14px}
.rr-sec-head p{margin:0;color:var(--ink-soft);font-size:1.02rem;max-width:56ch}

/* ---------- the inspection report ---------- */
.rr-report{padding:clamp(44px,7vh,88px) clamp(16px,4vw,56px);background:var(--paper-2)}
.rr-inspect{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:clamp(20px,3vw,44px);align-items:start;
  max-width:1180px;
}
.rr-inspect-photo{
  position:relative;background:#fff;padding:10px;
  box-shadow:0 2px 0 rgba(38,34,27,.2),0 10px 24px rgba(38,34,27,.16);
}
.rr-inspect-photo img{width:100%;height:auto}
.rr-pin{
  position:absolute;left:var(--x);top:var(--y);translate:-50% -50%;
  width:40px;height:40px;border-radius:50%;
  border:3px solid #fff;background:var(--accent);color:#fff;
  font:700 15px/1 'Space Mono',monospace;
  display:grid;place-items:center;cursor:pointer;
  box-shadow:0 2px 6px rgba(0,0,0,.45);
}
.rr-pin[aria-expanded="true"]{background:var(--ink);scale:1.12}
.rr-pin span{translate:0 -1px}
.rr-inspect-panel{position:sticky;top:20px}
.rr-find{
  background:var(--paper);border:2px solid var(--ink);
  padding:clamp(18px,2.4vw,28px);
  box-shadow:6px 6px 0 rgba(38,34,27,.18);
}
.rr-find-tag{margin:0 0 10px;font:12px/1.3 'Space Mono',monospace;color:var(--accent)}
.rr-find h3{margin:0 0 10px;font-size:clamp(1.25rem,1.9vw,1.6rem);line-height:1.1}
.rr-find p{margin:0 0 12px;font-size:.97rem}
.rr-find-fix{
  border-top:1px dashed var(--line);padding-top:12px;margin-bottom:0;
  font:13px/1.5 'Space Mono',monospace;color:var(--ink-soft);
}
.rr-checklist{
  margin-top:clamp(30px,5vh,56px);max-width:1180px;
  border:2px solid var(--ink);background:var(--paper);
  padding:clamp(20px,3vw,36px);
  box-shadow:6px 6px 0 rgba(38,34,27,.14);
}
.rr-checklist h3{margin:0 0 16px;font-size:clamp(1.2rem,2vw,1.5rem)}
.rr-checklist ul{list-style:none;margin:0;padding:0;columns:2;column-gap:44px}
.rr-checklist li{
  break-inside:avoid;margin:0 0 13px;padding-left:30px;position:relative;font-size:.96rem;
}
.rr-checklist li::before{
  content:'';position:absolute;left:0;top:4px;width:14px;height:14px;
  border:2px solid var(--ink);background:var(--paper);
}
.rr-checklist li::after{
  content:'';position:absolute;left:3px;top:6px;width:12px;height:7px;
  border-left:2.5px solid var(--accent);border-bottom:2.5px solid var(--accent);
  transform:rotate(-48deg);
}
.rr-hand-note{margin:18px 0 0;max-width:52ch}

/* ---------- jobs ---------- */
.rr-jobs{padding:clamp(44px,7vh,88px) clamp(16px,4vw,56px)}
.rr-job{
  display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(22px,3.5vw,52px);align-items:center;
  padding:clamp(26px,4vh,44px) 0;border-top:1px solid var(--line);
  max-width:1180px;
}
.rr-job figure{
  margin:0;background:#fff;padding:12px 12px 46px;position:relative;
  box-shadow:0 2px 0 rgba(38,34,27,.22),0 12px 24px rgba(38,34,27,.15);
  transform:rotate(-1deg);
}
.rr-job-flip figure{transform:rotate(1deg)}
.rr-job figure img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.rr-job figcaption{position:absolute;left:16px;right:16px;bottom:10px}
.rr-job-copy h3{margin:0 0 12px;font-size:clamp(1.35rem,2.2vw,1.8rem);line-height:1.08}
.rr-job-copy p{margin:0 0 18px;color:#3c362b;max-width:52ch}
.rr-job-data{margin:0;display:grid;gap:0;border-top:1px dashed var(--line)}
.rr-job-data div{
  display:grid;grid-template-columns:110px 1fr;gap:14px;
  padding:9px 0;border-bottom:1px dashed var(--line);
}
.rr-job-data dt{font:11px/1.6 'Space Mono',monospace;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em}
.rr-job-data dd{margin:0;font:13px/1.6 'Space Mono',monospace}
.rr-job-text{grid-template-columns:minmax(0,1fr);max-width:760px}
.rr-job-text .rr-job-copy p{max-width:60ch}

/* ---------- storm strip ---------- */
.rr-storm{
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  background:var(--tar);color:#e9e2d2;align-items:stretch;
}
.rr-storm figure{margin:0;min-height:280px}
.rr-storm img{width:100%;height:100%;object-fit:cover}
.rr-storm-copy{padding:clamp(34px,5vh,64px) clamp(20px,3.5vw,56px)}
.rr-storm-copy h2{color:#fff;font-size:clamp(1.8rem,3vw,2.6rem);margin:0 0 14px;line-height:1.02}
.rr-storm-copy p{margin:0 0 14px;max-width:48ch}
.rr-storm-note{font:13px/1.5 'Space Mono',monospace;color:#b7ab93;border-top:1px dashed #4d463a;padding-top:14px}

/* ---------- costs ---------- */
.rr-costs{padding:clamp(44px,7vh,88px) clamp(16px,4vw,56px);background:var(--paper-2)}
.rr-quote{
  width:100%;max-width:1020px;border-collapse:collapse;
  border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);
  background:var(--paper);
}
.rr-quote th,.rr-quote td{padding:14px 12px;border-bottom:1px dashed var(--line);vertical-align:top;text-align:left}
.rr-quote tr:last-child th,.rr-quote tr:last-child td{border-bottom:0}
.rr-quote th{
  font:700 .98rem/1.35 'Archivo',Arial,sans-serif;font-stretch:110%;width:32%;
}
.rr-q-note{font-size:.9rem;color:var(--ink-soft)}
.rr-q-price{font:700 14px/1.5 'Space Mono',monospace;white-space:nowrap;width:150px}
.rr-costs .rr-hand-note{max-width:60ch}

/* ---------- timeline ---------- */
.rr-next{padding:clamp(44px,7vh,88px) clamp(16px,4vw,56px)}
.rr-steps{
  list-style:none;margin:0;padding:0;counter-reset:step;
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(14px,2vw,26px);
  max-width:1180px;
}
.rr-steps li{
  counter-increment:step;border-top:3px solid var(--ink);
  padding-top:14px;position:relative;
}
.rr-steps li::before{
  content:counter(step);position:absolute;top:-17px;left:0;
  width:31px;height:31px;border-radius:50%;
  background:var(--paper);border:3px solid var(--ink);
  font:700 14px/25px 'Space Mono',monospace;text-align:center;
}
.rr-steps li:nth-child(odd)::before{background:var(--accent);color:#fff;border-color:var(--accent)}
.rr-steps h3{margin:22px 0 8px;font-size:1.08rem}
.rr-steps p{margin:0;font-size:.9rem;color:var(--ink-soft)}

/* ---------- callback form ---------- */
.rr-callback{
  display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:clamp(24px,4vw,64px);
  padding:clamp(44px,7vh,88px) clamp(16px,4vw,56px);
  background:var(--tar);color:#e9e2d2;
}
.rr-callback-copy h2{color:#fff;font-size:clamp(1.9rem,3.2vw,2.8rem);margin:0 0 14px;line-height:1.02}
.rr-callback-copy p{margin:0 0 14px;max-width:40ch}
.rr-honest{font:12px/1.5 'Space Mono',monospace;color:#b7ab93}
.rr-form{
  display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;
  background:var(--paper);color:var(--ink);
  border:2px solid var(--ink);padding:clamp(20px,3vw,34px);
  box-shadow:8px 8px 0 rgba(0,0,0,.3);
}
.rr-field{display:grid;gap:6px;min-width:0}
.rr-field-wide{grid-column:1/-1}
.rr-field label{font:12px/1.3 'Space Mono',monospace;color:var(--ink-soft)}
.rr-field input,.rr-field select,.rr-field textarea{
  font:15px/1.4 'DM Sans',Arial,sans-serif;color:var(--ink);
  background:#fff;border:2px solid var(--ink);border-radius:0;
  padding:11px 12px;width:100%;
}
.rr-field textarea{resize:vertical;min-height:96px}
.rr-form .rr-btn{width:100%;text-align:center}
.rr-form-confirm{
  margin:14px 0 0;padding:12px 14px;border:2px dashed var(--accent);
  font:13px/1.5 'Space Mono',monospace;color:var(--ink);
}

/* ---------- footer ---------- */
.rr-footer{
  display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;
  padding:22px clamp(16px,4vw,56px);
  background:var(--paper);border-top:2px solid var(--ink);
  font-size:12.5px;color:var(--ink-soft);
}
.rr-footer p{margin:0;max-width:76ch}
.rr-footer a{font:700 12px/1 'Space Mono',monospace;text-decoration:none;border-bottom:2px solid var(--accent);padding-bottom:2px}

/* ---------- responsive ---------- */
@media (max-width:1020px){
  .rr-hero{grid-template-columns:minmax(0,1fr);min-height:0;gap:34px}
  .rr-hero-photo{justify-self:start;transform:rotate(.6deg)}
  .rr-inspect{grid-template-columns:minmax(0,1fr)}
  .rr-inspect-panel{position:static}
  .rr-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:38px}
  .rr-storm{grid-template-columns:minmax(0,1fr)}
  .rr-storm figure{min-height:220px;max-height:340px;overflow:hidden}
  .rr-callback{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .rr-top-line{display:none}
  .rr-nav{margin-left:auto}
  .rr-job,.rr-job-flip{grid-template-columns:minmax(0,1fr)}
  .rr-job figure{max-width:560px}
  .rr-checklist ul{columns:1}
  .rr-quote th,.rr-quote td{display:block;width:100%;padding:8px 12px}
  .rr-quote th{padding-top:14px;border-bottom:0}
  .rr-q-note{padding-top:0}
  .rr-q-price{padding-bottom:14px}
}
@media (max-width:520px){
  .rr-nav{display:none}
  .rr-phone{margin-left:auto}
  .rr-hero h1{font-size:clamp(2.3rem,11vw,3rem)}
  .rr-form{grid-template-columns:minmax(0,1fr)}
  .rr-pin{width:44px;height:44px;font-size:14px}
  .rr-stamp{right:-6px;top:-18px;font-size:9.5px;padding:6px 8px}
  .rr-hero-photo{padding:10px 10px 46px}
  .rr-hand{font-size:1.3rem}
}
@media (max-width:340px){
  .rr-phone{font-size:11px;padding:9px 10px}
  .rr-mark{font-size:1.2rem}
  .rr-hero h1{font-size:2.1rem}
  .rr-job-data div{grid-template-columns:92px 1fr}
}
@media (prefers-reduced-motion:reduce){
  .rr *{transition:none!important;animation:none!important}
  .rr-hero-photo,.rr-job figure{transform:none}
}
@import url("demo-motion.css?v=v1");
