/* ===================================================================
   Reedy Moving Co, moments architecture
   Moment-card grid (homepage signature), shared moment-page template,
   and the experience page. Rust discipline: accent appears only in
   CTAs, the card-hover underline, and one rule per page.
   =================================================================== */

/* ---------- BRIDGE LINE (homepage) ---------- */
.bridge{background:var(--ink);color:var(--cream);padding:44px 0}
.bridge .wrap{display:flex;align-items:baseline;gap:22px}
.bridge .bar{flex:0 0 auto;width:44px;height:3px;background:var(--rust);align-self:center}
.bridge p{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:-.01em;line-height:.98;font-size:clamp(28px,4.4vw,58px)}
.bridge p .accent{color:var(--rust-hover)}

/* ---------- MOMENT CARD GRID (the signature) ---------- */
.moments{padding:84px 0;background:var(--cream);border-bottom:1px solid var(--line)}
.moments-head{max-width:none;margin-bottom:40px}
.moments-head h2{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;line-height:.9;letter-spacing:-.01em;font-size:clamp(40px,6vw,84px)}
.moments-head p{margin-top:16px;font-size:17px;color:var(--ink-soft);max-width:52ch;line-height:1.55}

.moment-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--ink);border-left:1px solid var(--line-dark)}
.moment-card{position:relative;display:flex;flex-direction:column;gap:16px;padding:26px 22px 22px;background:var(--field);border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);min-height:270px;transition:background .2s, transform .12s;cursor:pointer}
.moment-card:hover{background:var(--cream)}
.moment-card .mc-top{display:flex;justify-content:space-between;align-items:center;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.moment-card .mc-arrow{width:16px;height:16px;color:var(--ink);opacity:0;transform:translateX(-4px);transition:opacity .2s, transform .2s}
.moment-card:hover .mc-arrow{opacity:1;transform:translateX(0)}
.moment-card .mc-name{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;line-height:.9;letter-spacing:-.005em;font-size:30px;color:var(--ink);position:relative;display:inline-block;align-self:flex-start;padding-bottom:8px}
/* the signature interaction: rust underline draws in beneath the name */
.moment-card .mc-name::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--rust);transition:width .28s cubic-bezier(.2,.7,.3,1)}
.moment-card:hover .mc-name::after{width:100%}
.moment-card .mc-line{font-size:14px;line-height:1.5;color:var(--ink-soft);margin-top:auto}
.moment-card .mc-foot{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding-top:12px;border-top:1px dotted var(--line-dark);display:flex;justify-content:space-between;align-items:center}
.moment-card.is-live .mc-foot{color:var(--rust)}
.moment-card:focus-visible{outline:2px solid var(--rust);outline-offset:-2px}

@media (max-width:1100px){
  .moment-grid{grid-template-columns:repeat(2,1fr)}
  .moment-card:nth-child(5){grid-column:1 / -1;min-height:200px}
}
@media (max-width:560px){
  .moment-grid{grid-template-columns:1fr}
  .moment-card:nth-child(5){grid-column:auto}
  .moment-card{min-height:0}
}

/* ===================================================================
   MOMENT PAGE TEMPLATE  (/moments/*)
   =================================================================== */
.mp-main{padding-top:31px}   /* clear the fixed topbar+nav (set per-page) */

/* 1 · Headline block */
.mp-hero{padding:150px 0 72px;border-bottom:1px solid var(--line);background:var(--cream)}
.mp-eyebrow{font-family:'JetBrains Mono',monospace;font-weight:500;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:12px;margin-bottom:26px}
.mp-eyebrow::before{content:"";width:28px;height:2px;background:var(--rust)} /* the one rule */
.mp-hero h1{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;line-height:.86;letter-spacing:-.015em;font-size:clamp(56px,9vw,132px)}
.mp-hero .mp-sub{margin-top:28px;font-size:clamp(19px,2.2vw,25px);line-height:1.45;color:var(--ink-soft);max-width:40ch;font-weight:500}

/* generic section scaffold for moment pages */
.mp-sec{padding:76px 0;border-bottom:1px solid var(--line)}
.mp-sec .marker{display:flex;align-items:center;gap:14px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:40px}
.mp-sec .marker .n{color:var(--ink)}
.mp-sec .marker .spacer{flex:1;height:1px;background:var(--line)}
.mp-sec h2{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;line-height:.92;letter-spacing:-.01em;font-size:clamp(38px,5vw,68px);margin-bottom:36px}

/* 2 · The Situation, empathy lines from the customer's seat */
.situation{background:var(--field)}
.sit-list{display:flex;flex-direction:column;max-width:900px}
.sit-list li{list-style:none;font-family:'Barlow',sans-serif;font-size:clamp(20px,2.6vw,30px);line-height:1.4;color:var(--ink);padding:22px 0 22px 34px;border-bottom:1px solid var(--line-dark);position:relative;font-weight:500}
.sit-list li:last-child{border-bottom:0}
.sit-list li::before{content:"";position:absolute;left:0;top:34px;width:16px;height:2px;background:var(--ink)}

/* 3 · What We Do, verbs first */
.doList{border-top:1px solid var(--ink)}
.doList .do-row{display:grid;grid-template-columns:64px 1fr;gap:20px;align-items:start;padding:20px 0;border-bottom:1px solid var(--line);transition:background .18s,padding-left .18s,color .18s}
.doList .do-row:hover{background:var(--ink);color:var(--cream);padding-left:20px}
.doList .do-row .idx{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.1em;color:var(--muted);padding-top:5px}
.doList .do-row:hover .idx{color:var(--rust-hover)}
.doList .do-row p{font-size:clamp(17px,2vw,21px);line-height:1.4;font-weight:500}
.doList .do-row p b{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;font-size:1.16em;letter-spacing:.01em}

/* 4 · The Promise, same voice across all pages */
.promise{background:var(--field)}
.promise-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--ink);border-left:1px solid var(--line-dark)}
.promise-cell{padding:30px 28px;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);background:var(--cream)}
.promise-cell .pc-id{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.promise-cell h3{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;font-size:26px;line-height:1;letter-spacing:.01em;margin-bottom:8px}
.promise-cell p{font-size:15px;line-height:1.55;color:var(--ink-soft)}
@media (max-width:760px){.promise-grid{grid-template-columns:1fr}}

/* 5 · Visual proof, placeholder treatment (no stock, spec §1) */
.proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.proof-slot{position:relative;aspect-ratio:4/3;background:var(--field);border:1px solid var(--line-dark);display:flex;flex-direction:column;justify-content:space-between;padding:20px;overflow:hidden}
.proof-slot::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 13px,rgba(155,150,133,.11) 13px,rgba(155,150,133,.11) 14px)}
.proof-slot .ps-tag{position:relative;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);align-self:flex-start}
.proof-slot .ps-cap{position:relative;font-family:'Barlow',sans-serif;font-size:15px;line-height:1.45;color:var(--ink-soft);max-width:34ch}
.proof-slot .ps-cap b{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;font-size:19px;display:block;color:var(--ink);margin-bottom:4px;letter-spacing:.01em}
@media (max-width:760px){.proof-grid{grid-template-columns:1fr}}

/* 6 · CTA band, one rust CTA */
.mp-cta{padding:88px 0;background:var(--ink);color:var(--cream);text-align:center}
.mp-cta h2{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;line-height:.9;letter-spacing:-.01em;font-size:clamp(44px,6.5vw,96px);color:#fff}
.mp-cta p{margin:20px auto 0;max-width:44ch;font-size:17px;line-height:1.55;color:rgba(250,247,243,.72)}
.mp-cta .cta-actions{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:36px}
.mp-cta .cta-actions .secondary{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--rust-hover);border-bottom:1px solid transparent;padding-bottom:2px}
.mp-cta .cta-actions .secondary:hover{border-bottom-color:var(--rust-hover);color:#fff}

/* ===================================================================
   EXPERIENCE PAGE  (/experience)
   Before / During / After, three quiet sections, generous spacing,
   no timeline graphic with numbered circles.
   =================================================================== */
.xp-hero{padding:150px 0 72px;border-bottom:1px solid var(--line)}
.xp-hero .mp-eyebrow{margin-bottom:26px}
.xp-hero h1{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;line-height:.86;letter-spacing:-.015em;font-size:clamp(48px,8vw,120px)}
.xp-hero p{margin-top:26px;font-size:20px;line-height:1.5;color:var(--ink-soft);max-width:46ch;font-weight:500}

.xp-phase{padding:76px 0;border-bottom:1px solid var(--line)}
.xp-phase:nth-of-type(even){background:var(--field)}
.xp-phase .xp-grid{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:56px;align-items:start}
.xp-phase .xp-label{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;line-height:.88;letter-spacing:-.01em;font-size:clamp(44px,6vw,88px);position:sticky;top:110px}
.xp-phase .xp-label .step{display:block;font-family:'JetBrains Mono',monospace;font-weight:500;font-size:12px;letter-spacing:.24em;color:var(--muted);margin-bottom:16px}
.xp-lines{display:flex;flex-direction:column;max-width:760px}
.xp-lines .xp-line{padding:22px 0;border-bottom:1px solid var(--line-dark);font-size:clamp(18px,2.1vw,23px);line-height:1.45;color:var(--ink);font-weight:500}
.xp-lines .xp-line:last-child{border-bottom:0}
.xp-lines .xp-line.emph{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(26px,3.4vw,42px);line-height:1;letter-spacing:-.005em;color:var(--ink);padding-left:22px;position:relative}
.xp-lines .xp-line.emph::before{content:"";position:absolute;left:0;top:6px;bottom:10px;width:4px;background:var(--rust)} /* the one rule */
.xp-lines .xp-line .note{display:block;margin-top:8px;font-family:'Barlow',sans-serif;font-weight:400;font-size:15px;letter-spacing:0;text-transform:none;color:var(--ink-soft);line-height:1.5}
@media (max-width:820px){
  .xp-phase .xp-grid{grid-template-columns:1fr;gap:24px}
  .xp-phase .xp-label{position:static}
}

/* Shared: back-home breadcrumb-free minimal return link in nav is enough.
   Intake "What's happening?" question (spec §7) lives on the homepage. */

/* ---------- INTAKE: "What's happening?" chips (homepage work order) ---------- */
.wo-moment{margin-bottom:20px}
.moment-opts{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.moment-opts .m-opt{position:relative;cursor:pointer}
.moment-opts .m-opt input{position:absolute;opacity:0;width:0;height:0}
.moment-opts .m-opt span{display:inline-flex;align-items:center;padding:9px 14px;border:1px solid var(--line-dark);font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.06em;color:var(--ink-soft);transition:border-color .15s, background .15s, color .15s;background:var(--cream)}
.moment-opts .m-opt:hover span{border-color:var(--ink)}
.moment-opts .m-opt input:checked + span{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.moment-opts .m-opt input:focus-visible + span{outline:2px solid var(--rust);outline-offset:2px}

/* ===================================================================
   PARTNERS PAGE  (/partners), Phase 2
   Standalone sales piece (QR entry). Three-part narrative.
   =================================================================== */
.pt-hero{padding:150px 0 78px;background:var(--ink);color:var(--cream);border-bottom:3px solid var(--rust)}
.pt-hero .mp-eyebrow{color:rgba(250,247,243,.6)}
.pt-hero .mp-eyebrow::before{background:var(--rust)}
.pt-hero h1{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;line-height:.84;letter-spacing:-.015em;font-size:clamp(50px,8vw,124px);color:#fff;max-width:15ch}
.pt-hero h1 .accent{color:var(--rust-hover)}
.pt-hero .pt-lead{margin-top:30px;font-size:clamp(19px,2.2vw,24px);line-height:1.5;color:rgba(250,247,243,.8);max-width:52ch;font-weight:500}
.pt-hero .pt-who{margin-top:34px;display:flex;gap:10px;flex-wrap:wrap}
.pt-hero .pt-who span{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--cream);border:1px solid rgba(250,247,243,.28);padding:8px 14px}

/* part scaffold */
.pt-part{padding:84px 0;border-bottom:1px solid var(--line)}
.pt-part:nth-of-type(even){background:var(--field)}
.pt-head{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:start;margin-bottom:52px}
.pt-num{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(56px,8vw,120px);line-height:.8;color:var(--rust);-webkit-text-stroke:0;letter-spacing:-.02em}
.pt-head .pt-htext .pt-kicker{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.pt-head .pt-htext h2{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;line-height:.9;letter-spacing:-.01em;font-size:clamp(36px,5vw,72px)}
.pt-head .pt-htext p{margin-top:18px;font-size:18px;line-height:1.55;color:var(--ink-soft);max-width:56ch}

/* benefit cards (part 1) */
.pt-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--ink);border-left:1px solid var(--line-dark)}
.pt-benefit{padding:30px 26px;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);background:var(--cream)}
.pt-benefit .pb-id{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--rust);margin-bottom:16px}
.pt-benefit h3{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;font-size:26px;line-height:1;letter-spacing:.01em;margin-bottom:10px}
.pt-benefit p{font-size:15px;line-height:1.6;color:var(--ink-soft)}
@media (max-width:900px){.pt-benefits{grid-template-columns:1fr}}

/* care grid (part 2), photography-forward */
.pt-care-intro{font-size:clamp(20px,2.4vw,27px);line-height:1.45;font-weight:500;color:var(--ink);max-width:44ch;margin-bottom:44px}
.pt-care{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.pt-care .care-slot{position:relative;aspect-ratio:3/2;background:var(--field);border:1px solid var(--line-dark);display:flex;flex-direction:column;justify-content:space-between;padding:24px;overflow:hidden}
.pt-part:nth-of-type(even) .pt-care .care-slot{background:var(--cream)}
.pt-care .care-slot::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 13px,rgba(155,150,133,.1) 13px,rgba(155,150,133,.1) 14px)}
.pt-care .care-slot .cs-tag{position:relative;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.pt-care .care-slot .cs-cap{position:relative;max-width:34ch}
.pt-care .care-slot .cs-cap b{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;font-size:22px;letter-spacing:.01em;color:var(--ink);margin-bottom:6px}
.pt-care .care-slot .cs-cap span{font-size:15px;line-height:1.5;color:var(--ink-soft)}
@media (max-width:760px){.pt-care{grid-template-columns:1fr}}

/* how it works (part 3), steps */
.pt-steps{border-top:1px solid var(--ink)}
.pt-step{display:grid;grid-template-columns:78px 1fr;gap:24px;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--line-dark)}
.pt-step .st-n{font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.1em;color:var(--rust);padding-top:6px}
.pt-step .st-body h3{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(24px,3vw,34px);line-height:1;letter-spacing:-.005em;margin-bottom:8px}
.pt-step .st-body p{font-size:16px;line-height:1.55;color:var(--ink-soft);max-width:60ch}
.pt-step .st-body p b{color:var(--ink);font-weight:700}

/* dual CTA (bottom) */
.pt-cta{padding:88px 0;background:var(--ink);color:var(--cream);text-align:center}
.pt-cta h2{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;line-height:.9;letter-spacing:-.01em;font-size:clamp(40px,6vw,86px);color:#fff}
.pt-cta p{margin:20px auto 0;max-width:46ch;font-size:17px;line-height:1.55;color:rgba(250,247,243,.72)}
.pt-cta .pt-cta-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:38px}
@media (max-width:560px){.pt-cta .pt-cta-row{flex-direction:column;align-items:stretch}}
@media (max-width:760px){
  .pt-head{grid-template-columns:1fr;gap:6px}
  .pt-num{font-size:64px}
}
