/* ==========================================================================
   RED ROAD RUG WORKS — PINECREST, FL
   Design family A (Luxury Minimal) leaning I (Card-Driven).

   The top of the home page is quiet, hairline-ruled and CENTRED: the eyebrow and
   headline sit on the centre axis of bare ivory, the hairline falls under the
   headline, and ONE framed plate is hung below the copy and off to the right at
   3:2 with its caption in the empty margin beside it. Nothing stands next to the
   copy. Then a ruled ledger of facts where a trust bar would otherwise sit.
   Everything below the fold is built from 6px minimal cards on that same paper.

   Deliberately absent: trust bar, scrolling ticker, woven kilim band, dark
   proof slab, stat trio, details/summary accordion, drop shadows, pill
   buttons, glass, spines, split rails.

   Only rules these five pages actually render are kept.
   Zero external requests — system fonts, inline SVG, CSS-only motion.
   ========================================================================== */

/* --- palette: deep pine teal-green ---------------------------------------
   AA on ivory paper — brand 8.9:1 · accent-deep 6.9:1 · ink-soft 6.1:1 */
:root{
  --brand:#4e1d27; --brand-deep:#260d12; --brand-2:#6c2836;
  --accent:#95373c; --accent-deep:#5c1f22; --accent-lt:#e09094;
}
/* --- font pairing --- */
:root{
  --display:"Bodoni MT",Didot,"Times New Roman",serif;
  --body:"Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif;
}

/* --- core ---------------------------------------------------------------- */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--ink);background:var(--ivory);font-size:1rem;line-height:1.6}
img{max-width:100%;height:auto}
a{color:var(--accent-deep)}
a,button{cursor:pointer}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation:none!important;transition:none!important}
}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
.rrw-prose{max-width:640px}
h1,h2,h3{font-family:var(--display);text-wrap:balance;line-height:1.16;letter-spacing:0}
h2{font-size:clamp(1.54rem,2.97vw,2.01rem);font-weight:400;margin-bottom:.85rem}

/* --- family tone: air instead of tint, one hairline instead of a band ---- */
.rrw h1,.rrw h2{font-weight:400}
.rrw section{padding:clamp(2.8rem,5vw,4rem) 0}
.rrw section+section{border-top:1px solid var(--line)}
.rrw .rr-ledger+section{border-top:0}
.rrw .rrw-kicker{font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:.8rem}
.rrw .rrw-kicker::before{content:"";display:inline-block;width:24px;height:1px;background:var(--accent);vertical-align:.3em;margin-right:.7rem}
.rrw .stack p{margin-bottom:1rem;max-width:62ch}
.rrw .stack p:last-child{margin-bottom:0}
.rrw p.turn{font-family:var(--display);font-size:1.18rem;color:var(--brand);max-width:56ch}
.rrw .hint{max-width:58ch;color:var(--ink-soft)}
.rrw #pickup,.rrw #message{scroll-margin-top:4rem}

/* --- ONE outlined, card-shaped button per page; everything else is a
       hairline-underlined text link --------------------------------------- */
.rrw .rrw-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:1rem 1.9rem;background:transparent;color:var(--brand);border:1px solid var(--brand);border-radius:6px;text-decoration:none;font-family:var(--body);font-weight:700;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;transition:background-color .2s,color .2s}
.rrw .rrw-btn:hover{background:var(--brand);color:var(--ivory)}
.rrw .btn-wide{width:100%;max-width:360px}
.rrw .rr-link{display:inline-block;font-weight:600;font-size:.94rem;color:var(--accent-deep);text-decoration:none;box-shadow:inset 0 -1px 0 var(--accent);padding-bottom:1px;transition:color .2s,box-shadow .2s}
.rrw .rr-link:hover{color:var(--brand);box-shadow:inset 0 -1px 0 var(--brand)}
.rrw .rr-cta-row{display:flex;flex-wrap:wrap;gap:.9rem 2.2rem;align-items:center;margin-top:1.6rem}
/* the lead text links keep a 44px+ hit area without gaining a button shape */
.rrw .rr-cta-row .rr-link{display:inline-flex;align-items:center;min-height:44px;box-shadow:none;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:var(--accent)}
.rrw .rr-cta-row .rr-link:hover{text-decoration-color:var(--brand)}
.rrw .rr-close{margin-top:2rem;padding-top:1.6rem;border-top:1px solid var(--line)}
.rrw .rr-close h3{font-size:1.3rem;font-weight:400;color:var(--brand);margin-bottom:.5rem}

/* --- HEADER: logo left · nav right, one hairline underline, no call pill.
       The phone number reads as a quiet underlined text link. ------------- */
.rrw header.site{background:var(--ivory);border-bottom:1px solid var(--line);position:relative;z-index:40}
.rrw .site-bar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.7rem 0}
.rrw .logo{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--brand)}
.rrw .logo svg{flex:none;display:block}
.rrw .logo-text{font-family:var(--display);font-size:1.2rem;line-height:1.1;color:var(--brand)}
.rrw .logo-text small{display:block;font-family:var(--body);font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-deep);margin-top:.22rem}
.rrw .call-pill{display:inline-flex;align-items:center;gap:.45rem;min-height:48px;padding:.5rem 0 .4rem;white-space:nowrap;text-decoration:none;background:transparent;color:var(--accent-deep);font-weight:700;font-size:.86rem;letter-spacing:.06em;box-shadow:inset 0 -1px 0 var(--accent);transition:color .2s,box-shadow .2s}
.rrw .call-pill:hover{color:var(--brand);box-shadow:inset 0 -1px 0 var(--brand)}
.rrw .call-pill svg{flex:none}
.rrw .nav-burger{display:none;align-items:center;gap:.4rem;min-height:48px;padding:.5rem .8rem;background:transparent;color:var(--brand);border:1px solid var(--line);border-radius:6px;font-family:var(--body);font-weight:700;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase}
.rrw .top-nav ul{display:flex;flex-wrap:wrap;align-items:center;gap:.1rem;list-style:none}
.rrw .top-nav li{position:relative}
.rrw .top-nav a,.rrw .nav-toggle{display:inline-flex;align-items:center;gap:.3rem;min-height:48px;padding:.55rem .7rem;font-family:var(--body);font-size:.9rem;font-weight:600;color:var(--ink);text-decoration:none;background:transparent;border:0;border-radius:6px;transition:color .15s,box-shadow .15s}
.rrw .top-nav a:hover,.rrw .nav-toggle:hover{color:var(--accent-deep);box-shadow:inset 0 -1px 0 var(--accent)}
/* card-styled active state — the family-I note inside a family-A header */
.rrw .top-nav a[aria-current="page"]{color:var(--brand);border:1px solid var(--line);border-radius:6px;background:#fff;padding:.5rem .65rem}
.rrw .nav-toggle .caret{transition:transform .2s}
.rrw .has-menu.open>.nav-toggle .caret{transform:rotate(180deg)}
.rrw .mega{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:640px;padding:1.3rem 1.5rem;background:#fff;border:1px solid var(--line);border-top:2px solid var(--accent);border-radius:0 0 6px 6px;z-index:60;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.rrw .mega--slim{min-width:250px;grid-template-columns:1fr;left:auto;right:0;transform:none}
.rrw .has-menu.open>.mega{display:grid}
.rrw .mega h3{font-family:var(--body);font-size:.68rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--brand-2);margin-bottom:.55rem;padding-bottom:.45rem;border-bottom:1px solid var(--line)}
.rrw .mega ul{list-style:none}
.rrw .mega a{display:block;min-height:0;padding:.4rem;font-size:.9rem;font-weight:600;color:var(--ink);text-decoration:none;border-radius:4px}
.rrw .mega a:hover{color:var(--accent-deep);background:var(--ivory)}

/* --- HERO: CENTRED EDITORIAL. Eyebrow and headline stand on the centre axis of
       bare ivory with a lot of air, the hairline sits UNDER the headline, and the
       lede and both text links hold the same axis. The ONE framed plate is hung
       BELOW the whole copy block and off to the right at 3:2, its caption set into
       the empty margin beside it. Nothing sits beside the copy: no side-by-side
       plate, no overlay photo, no stat trio, no form card, no dark band. ------ */
.rrw .rr-hero{background:var(--ivory);padding:clamp(3.4rem,7.6vw,6.4rem) 0 clamp(2.4rem,4.6vw,3.8rem)}
.rrw .rr-hero-in{display:block}
.rrw .rr-eyebrow{font-family:var(--body);font-size:.69rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft)}
.rrw .rr-rule{width:52px;height:1px;background:var(--accent);border:0;margin:1rem 0 1.15rem}
/* the copy column: one centred measure, nothing to its left or right */
.rrw .rr-hero-copy{max-width:62ch;margin:0 auto;text-align:center}
.rrw .rr-hero .rr-eyebrow{letter-spacing:.27em}
.rrw .rr-hero h1{font-size:clamp(2.18rem,4.7vw,3.34rem);color:var(--brand);margin:1.1rem auto 0;max-width:19ch}
.rrw .rr-hero .rr-rule{width:44px;margin:1.35rem auto 1.45rem}
.rrw .rr-hero .rrw-lede{font-size:1.05rem;color:var(--ink-soft);max-width:54ch;margin:0 auto}
.rrw .rr-hero .rr-cta-row{justify-content:center;gap:.6rem 0;margin-top:1.95rem}
.rrw .rr-hero .rr-cta-row .rr-link{padding:0 clamp(.9rem,2.3vw,1.9rem)}
.rrw .rr-hero .rr-cta-row .rr-link+.rr-link{border-left:1px solid var(--line)}
/* the plate hangs below the centred copy, off to the right, stopping short of the
   page margin so the centre axis still reads; its caption sits in the empty half */
.rrw .rr-plate{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,clamp(300px,50vw,540px));column-gap:clamp(1.1rem,3vw,2.6rem);margin:clamp(2.6rem,6.4vw,4.8rem) clamp(0px,4vw,60px) 0 0}
.rrw .rr-plate-frame{grid-column:2;grid-row:1;padding:12px;background:#fff;border:1px solid var(--line);border-radius:6px}
.rrw .rr-plate-img{background-image:var(--ms-hero);background-size:cover;background-position:center 46%;background-repeat:no-repeat;border-radius:2px;aspect-ratio:3/2}
.rrw .rr-plate figcaption{grid-column:1;grid-row:1;align-self:end;padding:0 0 .6rem;border-bottom:1px solid var(--line);font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.75;color:var(--ink-soft);text-align:right}
.rrw .rr-plate-sub{display:block;font-weight:600;letter-spacing:.1em;color:var(--brand)}

/* --- ruled ledger of facts: this family omits the trust bar, so the same
       facts sit on a hairline row beneath the hero ------------------------ */
.rrw .rr-ledger{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rrw .rr-ledger dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem 2rem;margin:0;padding:1.2rem 0}
.rrw .rr-ledger dt{font-size:.63rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft)}
.rrw .rr-ledger dd{font-family:var(--display);font-size:1.02rem;line-height:1.35;color:var(--brand);margin:.3rem 0 0}

/* --- sub-page hero: text with one small framed stamp ------------------- */
.rrw .rr-subhero{background:var(--ivory);padding:clamp(2.4rem,4.6vw,3.5rem) 0 clamp(2.2rem,4vw,3rem)}
.rrw .rr-subhero-in{display:grid;grid-template-columns:minmax(0,1fr) clamp(96px,13vw,164px);gap:clamp(1.4rem,4vw,3rem);align-items:center}
.rrw .rr-subhero h1{font-size:clamp(1.7rem,3.56vw,2.34rem);color:var(--brand);margin:0;max-width:26ch}
.rrw .rr-subhero .rrw-lede{color:var(--ink-soft);max-width:60ch;margin:1.05rem 0 0}
.rrw .rr-stamp{margin:0;padding:8px;background:#fff;border:1px solid var(--line);border-radius:6px}
.rrw .rr-stamp-img{background-image:var(--ms-hero);background-size:cover;background-position:center 42%;background-repeat:no-repeat;border-radius:2px;aspect-ratio:1/1}

/* --- the card anatomy, Pinecrest edition: 6px, hairline, no shadow ----- */
.rrw .rr-card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:1.2rem 1.25rem 1.3rem;scroll-margin-top:6rem}
.rrw a.rr-card{display:block;text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s}
.rrw .rr-card h3{font-size:1.05rem;font-weight:400;color:var(--brand);margin-bottom:.4rem}
.rrw .rr-card p{font-size:.92rem;color:var(--ink-soft)}
.rrw a.rr-card:hover{border-color:var(--accent)}
.rrw .rr-card svg{display:block;margin-bottom:.65rem}
.rrw .rr-card .go{display:inline-block;margin-top:.6rem;font-size:.79rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--accent-deep)}
.rrw .rr-cards{display:grid;grid-template-columns:1fr;gap:2.2rem;margin-top:1.9rem}
.rrw .rr-cards--two{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}

/* --- process: numbered cards, each numeral over a hairline ------------- */
.rrw .rr-steps{display:grid;grid-template-columns:1fr;gap:2.2rem;margin-top:1.9rem;counter-reset:rrs}
.rrw .rr-step{background:#fff;border:1px solid var(--line);border-radius:6px;padding:1.2rem 1.25rem 1.3rem}
.rrw .rr-step::before{counter-increment:rrs;content:counter(rrs,decimal-leading-zero);display:block;font-family:var(--display);font-size:1.42rem;line-height:1;color:var(--accent-deep);padding-bottom:.6rem;margin-bottom:.8rem;border-bottom:1px solid var(--line)}
.rrw .rr-step h3{font-size:1.03rem;font-weight:400;color:var(--brand);margin-bottom:.4rem}
.rrw .rr-step p{font-size:.92rem;color:var(--ink-soft)}
.rrw .rr-note{display:inline-block;margin-top:1.6rem;padding:.55rem 0 0;border-top:1px solid var(--accent);font-size:.74rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-soft)}

/* --- a ruled index line of what the wash includes (nothing scrolls) --- */
.rrw .rr-index-line{margin-top:1.7rem;padding-top:1rem;border-top:1px solid var(--line)}
.rrw .rr-index-line ul{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem 0}
.rrw .rr-index-line li{font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap}
.rrw .rr-index-line li+li::before{content:"\2014";margin:0 .8rem;color:var(--accent)}

/* --- promises: hairline cards, verifiable facts only ------------------- */
.rrw .rr-promises{display:grid;grid-template-columns:1fr;gap:2.2rem;margin-top:1.9rem}
.rrw .rr-promise{background:#fff;border:1px solid var(--line);border-radius:6px;padding:1.25rem 1.3rem 1.35rem}
.rrw .rr-promise h3{font-family:var(--body);font-size:.74rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--brand);margin-bottom:.6rem}
.rrw .rr-promise p{font-size:.92rem;color:var(--ink-soft)}

/* --- proof, this family's way: light ruled band, ONE inline serif
       sentence. No stat trio, no stat cards, no dark slab. -------------- */
.rrw .rr-proof{background:var(--ivory);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rrw .rr-proof-in{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.6rem,4vw,2.8rem);align-items:center}
.rrw .rr-proof p{max-width:52ch;color:var(--ink-soft);margin-bottom:1rem}
.rrw .rr-said{font-family:var(--display);font-size:clamp(1.08rem,2.1vw,1.32rem);line-height:1.55;color:var(--ink);max-width:45ch;margin:1.2rem 0 1.5rem;padding-left:1.05rem;border-left:1px solid var(--accent)}
.rrw .rr-said em{font-style:normal;color:var(--brand)}

/* --- framed imagery: hairline frames with air, matte 2px inner radius -- */
.rrw .rr-frame{margin:0;padding:10px;background:#fff;border:1px solid var(--line);border-radius:6px}
.rrw .rr-frame img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;border-radius:2px}
.rrw .rr-frame figcaption{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);padding:.7rem .1rem .1rem}
.rrw .rr-frame--single{max-width:480px;margin-top:1.9rem}
.rrw .rr-tag{display:inline-block;margin-right:.5rem;padding:.12rem .5rem;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);background:transparent;border:1px solid var(--accent);border-radius:3px}

/* GALLERY: uniform card thumbs on the grid (the family-I read of a
   family-A gallery) — even sizes, hairline frames, captions beneath. */
.rrw .rr-thumbs{display:grid;grid-template-columns:1fr;gap:2.2rem;margin-top:1.9rem}

/* paired figures keep their manifest aspect ratio */
.rrw .rr-pair{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:1rem;margin:1.7rem auto 0}
.rrw .rr-pair>figure{margin:0;flex:var(--ar) 1 0;min-width:min(220px,100%);padding:10px;background:#fff;border:1px solid var(--line);border-radius:6px}
.rrw .rr-pair>figure>img{display:block;width:100%;height:auto;aspect-ratio:var(--ar);object-fit:cover;border-radius:2px}
.rrw .rr-pair figcaption{font-size:.74rem;color:var(--ink-soft);margin-top:.6rem;text-align:center}

/* --- chips: hairline, square-ish, no fill ----------------------------- */
.rrw .rrw-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}
.rrw .rrw-chip{padding:.45rem .9rem;font-size:.85rem;font-weight:600;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:6px}

/* --- FAQ: open question/answer cards in two columns. No accordion, no
       toggle, nothing to click. ----------------------------------------- */
.rrw .rr-faq{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:1rem;margin-top:1.9rem}
.rrw .rr-qa{background:#fff;border:1px solid var(--line);border-radius:6px;padding:1.25rem 1.3rem 1.35rem}
.rrw .rr-qa h3{font-size:1.06rem;font-weight:400;color:var(--brand);margin-bottom:.55rem}
.rrw .rr-qa p{font-size:.92rem;color:var(--ink-soft)}
.rrw .rr-qa p+p{margin-top:.7rem}

/* --- lead form -------------------------------------------------------- */
.rrw .rr-formwrap{margin-top:1.9rem;padding:clamp(1.2rem,3vw,1.9rem);background:#fff;border:1px solid var(--line);border-radius:6px;max-width:680px}
.rrw .rr-formwrap h3{font-size:1.18rem;font-weight:400;color:var(--brand);margin-bottom:.35rem}
.rrw .rr-formwrap .hint{margin-bottom:1rem;font-size:.9rem}
.rrw .rrw-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.rrw .rrw-form-grid .full{grid-column:1/-1}
.rrw label{display:block;margin-bottom:.35rem;font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft)}
.rrw input,.rrw select,.rrw textarea{width:100%;min-height:48px;padding:.8rem .85rem;font-family:var(--body);font-size:1rem;color:var(--ink);background:var(--ivory);border:1px solid var(--line);border-radius:6px}
.rrw textarea{min-height:88px;resize:vertical}
.rrw .form-note{margin-top:1rem;max-width:58ch;font-size:.83rem;color:var(--ink-soft)}
.rrw .form-success{display:none;margin-top:1.1rem;padding:1rem 1.1rem;font-weight:600;color:var(--brand);background:var(--ivory);border:1px solid var(--accent);border-radius:6px}

/* --- pickup-area list ------------------------------------------------- */
.rrw .area-cols{columns:3;column-gap:2rem;margin-top:1.4rem;font-size:.94rem}
.rrw .area-cols li{list-style:none;position:relative;padding:.28rem 0 .28rem 1.15rem;break-inside:avoid}
.rrw .area-cols li::before{content:"";position:absolute;left:0;top:1.05em;width:7px;height:1px;background:var(--accent)}

/* --- breadcrumbs ------------------------------------------------------ */
.rrw .crumbs{padding:.75rem 0;font-size:.76rem;letter-spacing:.04em;color:var(--ink-soft);border-bottom:1px solid var(--line)}
.rrw .crumbs a{text-decoration:none}
.rrw .crumbs a:hover{text-decoration:underline}
.rrw .crumbs .sep{opacity:.45;margin:0 .45rem}
.rrw .crumbs [aria-current]{opacity:.72}

/* --- closing CTA sits on the same paper, divided by one hairline ------ */
.rrw .cta-final{background:var(--ivory)}

/* --- FOOTER: one centred ruled column; the two link groups read as a
       pair of hairline cards. No dark slab, no three-column grid. ------ */
.rrw footer.site{background:var(--ivory);color:var(--ink-soft);border-top:1px solid var(--line);padding:3.2rem 0 7rem;font-size:.88rem;line-height:1.75;text-align:center}
.rrw footer.site a{color:var(--accent-deep)}
.rrw .footer-grid{display:block;max-width:760px;margin:0 auto}
.rrw .footer-brand{max-width:46ch;margin:0 auto 2rem}
.rrw .footer-brand .logo{justify-content:center;margin-bottom:1rem}
.rrw .footer-brand .logo-text small{color:var(--ink-soft)}
.rrw .footer-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;text-align:left}
.rrw .footer-cards>div{padding:1.1rem 1.2rem;background:#fff;border:1px solid var(--line);border-radius:6px}
.rrw footer.site h3{margin-bottom:.5rem;font-family:var(--body);font-size:.66rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--brand)}
.rrw .footer-links{list-style:none}
.rrw .footer-links a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;font-size:.85rem;text-decoration:none}
.rrw .footer-links a:hover{text-decoration:underline}
.rrw .footer-legal{margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--line);font-size:.77rem}

/* --- RESPONSIVE ------------------------------------------------------- */
/* one-line main nav above 1100px; single burger drawer below it */
@media (max-width:1100px){
  .rrw .nav-burger{display:inline-flex}
  .rrw .top-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);z-index:60;max-height:calc(100vh - 120px);overflow-y:auto}
  .rrw .top-nav.open{display:block}
  .rrw .top-nav>ul{display:block;padding:.4rem 0}
  .rrw .top-nav li{border-bottom:1px solid var(--ivory-warm)}
  .rrw .top-nav li:last-child{border-bottom:0}
  .rrw .top-nav>ul>li>a,.rrw .top-nav>ul>li>.nav-toggle{display:flex;width:100%;justify-content:space-between;white-space:normal;padding:.85rem 1.2rem;font-size:.94rem;border-radius:0}
  .rrw .top-nav a[aria-current="page"]{border:0;background:transparent;box-shadow:inset 3px 0 0 var(--accent-deep)}
  .rrw .mega,.rrw .mega--slim{display:none;position:static;transform:none;min-width:0;grid-template-columns:1fr;gap:1rem;padding:.9rem 1.4rem 1.1rem;background:var(--ivory);border:0;border-top:1px solid var(--ivory-warm);border-radius:0}
  .rrw .mega a{display:flex;align-items:center;min-height:44px;padding:.65rem .4rem}
  .rrw .has-menu:hover>.mega,.rrw .has-menu:focus-within>.mega{display:none}
  .rrw .has-menu.open>.mega{display:grid}
}
@media (min-width:1101px){
  .rrw .top-nav>ul{flex-wrap:nowrap;gap:.04rem}
  .rrw .top-nav>ul>li>a,.rrw .top-nav>ul>li>.nav-toggle{white-space:nowrap;padding:.5rem;font-size:.85rem}
  .rrw .site-bar{gap:.5rem}
  .rrw .has-menu:hover>.mega,.rrw .has-menu:focus-within>.mega{display:grid}
}
@media (max-width:960px){
  .rrw .rr-ledger dl{grid-template-columns:1fr 1fr}
}
/* below this the marginal caption has no margin left to sit in: the plate goes
   full measure (still right-hung) and the caption drops under it */
@media (max-width:860px){
  .rrw .rr-plate{grid-template-columns:minmax(0,1fr);row-gap:.9rem;margin-right:0}
  .rrw .rr-plate-frame{grid-column:1;grid-row:1;width:100%;max-width:540px;margin-left:auto}
  .rrw .rr-plate figcaption{grid-column:1;grid-row:2;align-self:start;padding:.6rem 0 0;border-bottom:0;border-top:1px solid var(--line);text-align:left}
}
@media (max-width:600px){
  .rrw .rr-hero .rr-cta-row{flex-direction:column;align-items:center;gap:.2rem 0}
  .rrw .rr-hero .rr-cta-row .rr-link{padding:0}
  .rrw .rr-hero .rr-cta-row .rr-link+.rr-link{border-left:0}
}
@media (max-width:820px){
  .rrw .rr-proof-in{grid-template-columns:1fr}
  .rrw .rr-subhero-in{grid-template-columns:1fr}
  .rrw .rr-stamp{max-width:120px}
}
@media (max-width:760px){
  .rrw .rrw-form-grid{grid-template-columns:1fr}
  .rrw .footer-cards{grid-template-columns:1fr}
  .rrw .area-cols{columns:2}
  .rrw footer.site{padding-bottom:7.5rem}
  .rrw .call-pill .pill-num{display:none}
  .rrw .call-pill{min-width:48px;justify-content:center;padding:.5rem .8rem;border:1px solid var(--accent);border-radius:6px;box-shadow:none}
}
@media (max-width:700px){
  .rrw .rr-pair>figure{flex:1 1 100%}
}
@media (max-width:560px){
  .rrw .rr-ledger dl{grid-template-columns:1fr;gap:.9rem}
}
@media (max-width:480px){
  .rrw .area-cols{columns:1}
}

/* --- animation flavour: a slow fade with a short vertical settle, and a
       staggered entry for card grids. Nothing ever moves sideways.
       Gated twice: .rrjs is set only when JS runs, and the media query
       gates the rules themselves. -------------------------------------- */
@media (prefers-reduced-motion:no-preference){
  .rrjs .rr-rise{opacity:0;transform:translateY(10px);transition:opacity .7s ease,transform .7s ease}
  .rrjs .rr-rise.in{opacity:1;transform:none}
  .rrjs .rr-rise.in .rr-card,.rrjs .rr-rise.in .rr-promise,.rrjs .rr-rise.in .rr-step,.rrjs .rr-rise.in .rr-qa{animation:rr-settle .7s ease both}
  .rrjs .rr-rise.in>*>*:nth-child(2){animation-delay:.08s}
  .rrjs .rr-rise.in>*>*:nth-child(3){animation-delay:.16s}
  .rrjs .rr-rise.in>*>*:nth-child(4){animation-delay:.24s}
  .rrw a.rr-card:hover{transform:translateY(-2px)}
  .rrjs @keyframes rr-settle{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
}

/* --- family paper + neutrals (appended last — do not revert) --- */
:root{--ivory:#f8f4ee;--ivory-warm:#f5ebe0;--line:#e5d6c3;--ink:#171d30;--ink-soft:#4e5874}

/* --- city hue (348deg) --- */
:root{--brand-deep:#260d12;--brand-2:#6c2836;--brand:#4e1d27;--accent-deep:#5c1f22;--accent-lt:#e09094;--accent:#95373c;--ivory-warm:#f5ebe0;--ivory:#f8f4ee;--line:#e5d6c3;--ink-soft:#4e5874;--ink:#171d30;}

/* --- family type scale --- */
body.rrw{font-size:1.02rem;line-height:1.66}
body.rrw h1{font-size:clamp(2.12rem,4.45vw,3.18rem);letter-spacing:-0.005em}
body.rrw h2{font-size:clamp(1.54rem,2.97vw,2.01rem)}

.rrw-site .tel-word{font-weight:700;letter-spacing:.02em}.rrw-top,.rrw-crown,.rrw-imprint{display:block}.rrw-top p,.rrw-crown p{margin:.5rem 0 0;color:var(--ink-soft)}.rrw-site{border-top:1px solid var(--line);padding:2.5rem 0 2.9rem}.rrw-site ul{list-style:none;margin:0;padding:0}.rrw-site h3{display:none}.rrw-site a{color:inherit;text-decoration:none}.rrw-site a:hover{text-decoration:underline}.rrw-site a:not(.logo){min-height:48px;display:inline-flex;align-items:center}
.rrw-foot{text-align:center}.rrw-band{padding-bottom:1.1rem;border-bottom:1px solid var(--line)}.rrw-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.2rem 1.1rem}.rrw-row .sep{color:var(--line)}.rrw-base{padding-top:1.2rem;display:flex;flex-direction:column;align-items:center;gap:.35rem}.rrw-legal{color:var(--ink-soft);font-size:.85rem}
@media (max-width:760px){.rrw-foot,.rrw-cols,.rrw-r,.rrw-runs,.rrw-links,.rrw-lists{grid-template-columns:1fr !important;gap:1.3rem}.rrw-nap{text-align:left;border-left:0;padding-left:0}.rrw-rail{border-right:0;padding-right:0}}

/* --- no sticky dock: the header call control stands in (rrw) --- */
@media (max-width:760px){body{padding-bottom:0}}

/* --- footer: pinecrest (A) --- */
.rrw-site .tel-word{font-weight:700;letter-spacing:.02em}.rrw-top,.rrw-crown,.rrw-imprint{display:block}.rrw-top p,.rrw-crown p{margin:.5rem 0 0;color:var(--ink-soft)}.rrw-site{border-top:1px solid var(--line);padding:2.5rem 0 2.9rem}.rrw-site ul{list-style:none;margin:0;padding:0}.rrw-site h3{display:none}.rrw-site a{color:inherit;text-decoration:none}.rrw-site a:hover{text-decoration:underline}.rrw-site a:not(.logo){min-height:48px;display:inline-flex;align-items:center}
.rrw-foot{text-align:center}.rrw-band{padding-bottom:1.1rem;border-bottom:1px solid var(--line)}.rrw-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.2rem 1.1rem}.rrw-row .sep{color:var(--line)}.rrw-base{padding-top:1.2rem;display:flex;flex-direction:column;align-items:center;gap:.35rem}.rrw-legal{color:var(--ink-soft);font-size:.85rem}
@media (max-width:760px){.rrw-foot,.rrw-cols,.rrw-r,.rrw-runs,.rrw-links,.rrw-lists{grid-template-columns:1fr !important;gap:1.3rem}.rrw-nap{text-align:left;border-left:0;padding-left:0}.rrw-rail{border-right:0;padding-right:0}}

/* --- video section: pinecrest ------------------------------------------------ */
/* Scoped on .rrw-reel because this site's <body> carries no family class.
   The clip is 848px wide, so it is capped there: any wider and the browser
   upscales it and it goes soft. */
.rrw-reel .rrw-reel-in{display:grid;gap:1.2rem;margin-top:1rem;
  grid-template-columns:minmax(0,1fr)}
.rrw-reel .rrw-reel-fig{margin:0}
.rrw-reel .rrw-vid{display:block;width:100%;max-width:848px;height:auto;
  background:var(--ink);border:1px solid var(--line)}
.rrw-reel .rrw-reel-cap{margin:.55rem 0 0;font-size:.86rem;color:var(--ink-soft)}
@media (min-width:900px){
  .rrw-reel .rrw-reel-in{grid-template-columns:minmax(0,848px) minmax(0,1fr);
    gap:1.8rem;align-items:start}
}
