/* RR Mediworld — design system
   Ink hairlines · Registry warmth & red · Color fields
   Type: Bricolage Grotesque */

:root{
  --blue-bright:#3C96FF;
  --blue-mid:#2E73C4;
  --blue-deep:#194A83;
  --red:#B21010;
  --red-soft:#FF8080;
  --ink:#061425;
  --gray:#58636F;
  --gray-lt:#9099A2;
  --paper:#FDFCFA;
  --paper-cool:#FCFDFE;
  --tint:#EAF2FB;
  --rule:1.5px solid var(--ink);
  --pad:clamp(28px,5vw,110px);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Bricolage Grotesque',sans-serif;
  background:var(--paper);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--blue-bright);color:#fff}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}

.shell{width:100%;background:var(--paper);min-height:100vh;display:flex;flex-direction:column}
main{flex:1}

/* ---------- nav (simple) ---------- */
.nav{display:flex;align-items:center;gap:32px;border-bottom:var(--rule);height:64px;padding:0 var(--pad);position:sticky;top:0;background:var(--paper);z-index:50}
.nav .logo{font-weight:750;font-size:17px;letter-spacing:-0.01em}
.nav .logo .rr{color:var(--blue-mid);font-weight:800}
.nav .links{display:flex;gap:28px;margin-left:8px}
.nav .links a{font-size:14px;font-weight:600;color:var(--gray);transition:color .15s}
.nav .links a:hover{color:var(--ink)}
.nav .links a.on{color:var(--blue-mid)}
.nav .cta{margin-left:auto;background:var(--blue-deep);color:#fff;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:10px 22px;transition:background .15s}
.nav .cta:hover{background:#123A69}
@media(max-width:760px){
  .nav{height:auto;flex-wrap:wrap;gap:14px;padding:14px 20px}
  .nav .links{width:100%;order:3;margin-left:0;overflow-x:auto}
  .nav .links a{white-space:nowrap}
}

/* ---------- type & shared bits ---------- */
.kicker{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-mid)}
mark{background:var(--blue-bright);color:#fff;padding:0 10px}
.btn{display:inline-block;background:var(--blue-deep);color:#fff;padding:14px 28px;font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.05em;transition:background .15s;border:0;cursor:pointer;font-family:inherit}
.btn:hover{background:#123A69}
.btn.bright{background:var(--blue-bright)}
.btn.bright:hover{background:var(--blue-mid)}
.btn.ghost{background:transparent;color:var(--ink);border:var(--rule)}
.btn.ghost:hover{background:var(--tint)}
.btn.light{background:var(--paper);color:var(--ink)}
.btn.light:hover{background:#fff}

/* ---------- hero (home) ---------- */
.hero{display:grid;grid-template-columns:1.05fr .95fr;border-bottom:var(--rule)}
.hero-l{padding:clamp(48px,7vw,88px) var(--pad) clamp(44px,6vw,72px);border-right:var(--rule);position:relative}
.hero-l h1{font-size:clamp(38px,4.6vw,68px);font-weight:750;letter-spacing:-0.028em;line-height:1.0;margin:22px 0 20px;max-width:15ch}
.hero-l p{color:var(--gray);font-size:16px;line-height:1.65;max-width:46ch}
.hero-l .btn{margin-top:30px}
.stamp{position:absolute;top:30px;right:30px;width:96px;height:96px;border:2px solid var(--red);border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red);transform:rotate(12deg);line-height:1.5}
.hero-r{display:grid;grid-template-rows:auto 1fr auto}
.hero-list{border-bottom:var(--rule)}
.hero-list a{display:flex;justify-content:space-between;align-items:center;padding:19px 32px;font-size:15px;font-weight:600;transition:background .15s}
.hero-list a:hover{background:var(--tint)}
.hero-list a+a{border-top:1px solid #E3E0DA}
.hero-list a span:last-child{color:var(--blue-mid);font-size:13px;font-weight:700}
.hero-field{background:var(--blue-deep);color:var(--paper-cool);display:flex;align-items:flex-end;padding:28px 32px;min-height:170px;font-size:15px;font-weight:600;line-height:1.5}
.hero-field span{max-width:30ch;opacity:.92}
.meta{display:flex;border-top:var(--rule)}
.meta > div{flex:1;padding:16px 22px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--gray)}
.meta > div+div{border-left:var(--rule)}
.meta strong{display:block;font-size:20px;color:var(--ink);letter-spacing:0;text-transform:none;font-weight:750}
@media(max-width:860px){
  .hero{grid-template-columns:1fr}
  .hero-l{border-right:0;border-bottom:var(--rule)}
  .stamp{display:none}
  .meta{flex-wrap:wrap}
  .meta > div{min-width:50%}
}

/* ---------- section heads ---------- */
.sec-head{display:flex;align-items:baseline;gap:18px;padding:26px var(--pad);border-bottom:var(--rule)}
.sec-head .n{font-size:13px;font-weight:700;color:var(--blue-mid)}
.sec-head h2{font-size:clamp(24px,2.6vw,34px);font-weight:750;letter-spacing:-0.02em}
.sec-head p{margin-left:auto;color:var(--gray-lt);font-size:14px;max-width:38ch;text-align:right}
@media(max-width:760px){.sec-head{flex-wrap:wrap}.sec-head p{margin-left:0;text-align:left}}

/* ---------- division columns (color fields) ---------- */
.cols{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:var(--rule)}
.col{padding:38px var(--pad) 50px;display:flex;flex-direction:column}
.col+.col{border-left:var(--rule)}
.col .n{font-size:12px;font-weight:700;color:var(--blue-mid)}
.col h3{font-size:23px;font-weight:750;margin:12px 0 10px;letter-spacing:-0.01em}
.col p{font-size:14px;color:var(--gray);line-height:1.6;flex:1}
.col .more{margin-top:22px;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--blue-mid)}
.col.tint{background:var(--tint)}
.col.dark{background:var(--ink);color:var(--paper-cool)}
.col.dark p{color:var(--gray-lt)}
.col.dark .more{color:var(--blue-bright)}
@media(max-width:860px){.cols{grid-template-columns:1fr}.col+.col{border-left:0;border-top:var(--rule)}}

/* ---------- numbered rows ---------- */
.rows{border-bottom:var(--rule)}
.row{display:grid;grid-template-columns:90px 1fr 1.3fr;gap:28px;align-items:baseline;padding:30px var(--pad)}
.row+.row{border-top:1px solid #E3E0DA}
.row .idx{font-size:13px;font-weight:700;color:var(--blue-mid)}
.row h3{font-size:21px;font-weight:750;letter-spacing:-0.01em}
.row p{font-size:14px;color:var(--gray);line-height:1.6}
@media(max-width:760px){.row{grid-template-columns:60px 1fr}.row p{grid-column:2}}

/* ---------- navy band ---------- */
.band{background:var(--blue-deep);color:var(--paper-cool);display:grid;grid-template-columns:1.2fr .8fr;border-bottom:var(--rule)}
.band-l{padding:clamp(44px,6vw,72px) var(--pad)}
.band-l .kicker{color:var(--blue-bright)}
.band-l h2{font-size:clamp(28px,3.2vw,44px);font-weight:750;letter-spacing:-0.022em;line-height:1.05;margin:18px 0 16px;max-width:22ch}
.band-l p{font-size:15px;line-height:1.65;color:#BFD4EC;max-width:52ch}
.band-l .btn{margin-top:28px}
.band-r{border-left:1.5px solid rgba(252,253,254,.3);display:flex;flex-direction:column;justify-content:center}
.band-r .item{padding:22px 36px;font-size:14.5px;line-height:1.55;color:#BFD4EC}
.band-r .item+.item{border-top:1px solid rgba(252,253,254,.18)}
.band-r .item strong{display:block;color:var(--paper-cool);font-size:16px;margin-bottom:4px}
@media(max-width:860px){.band{grid-template-columns:1fr}.band-r{border-left:0;border-top:1.5px solid rgba(252,253,254,.3)}}

/* ---------- contact block (highlighted) ---------- */
.contact{display:grid;grid-template-columns:1fr 1fr;border-bottom:var(--rule)}
.contact-l{padding:clamp(44px,6vw,72px) var(--pad);border-right:var(--rule);background:var(--blue-deep);color:var(--paper-cool)}
.contact-l .kicker{color:var(--blue-bright)}
.contact-l h2{font-size:clamp(30px,3.4vw,48px);font-weight:750;letter-spacing:-0.025em;line-height:1.02;margin:20px 0 16px}
.contact-l > p{color:#BFD4EC;font-size:15px;line-height:1.65;max-width:44ch}
.contact-l ul{list-style:none;margin-top:26px}
.contact-l li{padding:13px 0;border-top:1px solid rgba(252,253,254,.22);font-size:14.5px;font-weight:600;display:flex;gap:12px;align-items:baseline}
.contact-l li .idx{color:var(--blue-bright);font-size:12px;font-weight:700}
.contact-r{padding:clamp(36px,5vw,56px) var(--pad);background:var(--tint)}
.field{margin-bottom:18px}
.field label{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--gray);margin-bottom:7px}
.field input,.field select,.field textarea{width:100%;border:var(--rule);background:#fff;padding:12px 14px;font-family:inherit;font-size:15px;color:var(--ink);border-radius:0;appearance:none}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2.5px solid var(--blue-bright);outline-offset:-1px}
.field-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-r .btn{width:100%;border:0;cursor:pointer;font-family:inherit}
@media(max-width:860px){.contact{grid-template-columns:1fr}.contact-l{border-right:0;border-bottom:var(--rule)}.field-2{grid-template-columns:1fr}}

/* ---------- inner page hero ---------- */
.page-hero{display:grid;grid-template-columns:1.1fr .9fr;border-bottom:var(--rule)}
.page-hero-l{padding:clamp(44px,6vw,76px) var(--pad);border-right:var(--rule)}
.page-hero-l h1{font-size:clamp(34px,4vw,58px);font-weight:750;letter-spacing:-0.026em;line-height:1.0;margin:20px 0 18px;max-width:16ch}
.page-hero-l p{color:var(--gray);font-size:15.5px;line-height:1.65;max-width:46ch}
.page-hero-l .btn{margin-top:28px}
.page-hero-r{background:var(--blue-deep);color:var(--paper-cool);padding:clamp(36px,5vw,56px) 38px;display:flex;flex-direction:column;justify-content:flex-end}
.page-hero-r.tint{background:var(--tint);color:var(--ink)}
.page-hero-r.dark{background:var(--ink)}
.page-hero-r .big{font-size:clamp(40px,5vw,68px);font-weight:250;line-height:1;opacity:.5}
.page-hero-r p{font-size:15px;line-height:1.6;margin-top:14px;max-width:36ch;opacity:.92}
@media(max-width:860px){.page-hero{grid-template-columns:1fr}.page-hero-l{border-right:0;border-bottom:var(--rule)}}

/* ---------- checklist grid (what we do) ---------- */
.grid-2{display:grid;grid-template-columns:1fr 1fr;border-bottom:var(--rule)}
.cell{padding:32px var(--pad) 38px}
.cell:nth-child(2n){border-left:var(--rule)}
.cell:nth-child(n+3){border-top:var(--rule)}
.cell .n{font-size:12px;font-weight:700;color:var(--blue-mid)}
.cell h3{font-size:19px;font-weight:750;margin:10px 0 8px}
.cell p{font-size:14px;color:var(--gray);line-height:1.6}
@media(max-width:760px){.grid-2{grid-template-columns:1fr}.cell:nth-child(2n){border-left:0}.cell:nth-child(n+2){border-top:var(--rule)}}

/* ---------- footer ---------- */
footer{background:var(--ink);color:var(--paper-cool);margin-top:auto}
.foot-top{display:flex;align-items:center;justify-content:space-between;padding:30px var(--pad);border-bottom:1px solid rgba(252,253,254,.18);gap:20px;flex-wrap:wrap}
.foot-top .logo{font-weight:750;font-size:18px}
.foot-top .logo .rr{color:var(--blue-bright)}
.foot-top .tag{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-lt)}
.foot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.foot-col{padding:28px var(--pad) 36px;font-size:14px;line-height:2;color:var(--gray-lt)}
.foot-col+.foot-col{border-left:1px solid rgba(252,253,254,.18)}
.foot-col h4{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--paper-cool);margin-bottom:8px}
.foot-col a{display:block;transition:color .15s}
.foot-col a:hover{color:var(--paper-cool)}
.foot-bottom{padding:18px var(--pad);font-size:12.5px;color:var(--gray-lt);border-top:1px solid rgba(252,253,254,.18);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr}.foot-col+.foot-col{border-left:0;border-top:1px solid rgba(252,253,254,.18)}}

/* ============================================================
   DEPTH · HIERARCHY · MOTION
   ============================================================ */

/* nav gains elevation once the page scrolls */
.nav{transition:box-shadow .25s ease}
.nav.scrolled{box-shadow:0 10px 30px rgba(6,20,37,.10)}

/* hero dominates; supporting text recedes */
.hero-l h1{font-size:clamp(42px,5.4vw,80px);font-weight:800}
.hero-l p{font-size:15.5px}
.hero-field{background:linear-gradient(180deg,rgba(6,20,37,.05) 30%,rgba(6,20,37,.78) 100%),url('assets/hero-doctors.jpg') center/cover no-repeat}
.meta strong{font-size:22px}

/* primary actions: hard offset shadow = the one thing to press */
.btn{box-shadow:4px 4px 0 rgba(6,20,37,.92);transform:translate(0,0);transition:transform .18s cubic-bezier(.22,.61,.36,1),box-shadow .18s cubic-bezier(.22,.61,.36,1),background .15s}
.btn:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 rgba(6,20,37,.92)}
.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 rgba(6,20,37,.92)}
.btn.ghost{box-shadow:none}
.btn.ghost:hover{transform:none;box-shadow:none}

/* section heads: numbered chip anchors the eye */
.sec-head{background:var(--paper)}
.sec-head .n{border:1.5px solid var(--blue-mid);padding:4px 10px;font-size:12px}
.sec-head h2{font-weight:800}

/* division columns invite the click */
.cols{background:#fff}
.col{transition:background .25s ease}
a.col:hover{background:var(--tint)}
a.col:hover h3{color:var(--blue-deep)}
.col .more{transition:transform .25s cubic-bezier(.22,.61,.36,1)}
a.col:hover .more{transform:translateX(6px)}
.col h3{transition:color .2s}

/* hero list arrows slide */
.hero-list a span:last-child{transition:transform .25s cubic-bezier(.22,.61,.36,1)}
.hero-list a:hover span:last-child{transform:translateX(5px)}

/* navy surfaces get dimension */
.band{background:linear-gradient(120deg,var(--blue-deep) 0%,#1D5799 100%)}
.contact-l{background:linear-gradient(150deg,var(--blue-deep) 0%,#123A69 100%)}
.page-hero-r{background:linear-gradient(150deg,var(--blue-deep) 0%,#1D5799 100%)}
.page-hero-r.tint{background:var(--tint)}
.page-hero-r.dark{background:linear-gradient(150deg,var(--ink) 0%,#0C2038 100%)}
.contact-r form{background:#fff;border:var(--rule);padding:28px;box-shadow:8px 8px 0 rgba(25,74,131,.15)}
.contact-r .btn{box-shadow:4px 4px 0 rgba(6,20,37,.92)}

/* stamp: alive, gently */
@keyframes stampFloat{from{transform:rotate(12deg) translateY(0)}to{transform:rotate(8deg) translateY(-7px)}}
.stamp{animation:stampFloat 5s ease-in-out infinite alternate}

/* scroll reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}
.reveal.in{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .stamp{animation:none}
  .btn,.col,.hero-list a span:last-child{transition:none}
}

/* ---------- division rows (image + plain language) ---------- */
.division{display:grid;grid-template-columns:1fr 1.1fr;border-bottom:var(--rule)}
.division .d-img{border-right:var(--rule);overflow:hidden;min-height:380px}
.division .d-img img{width:100%;height:100%;object-fit:cover;display:block}
.division.flip .d-img{order:2;border-right:0;border-left:var(--rule)}
.d-body{padding:clamp(36px,5vw,60px) var(--pad) clamp(36px,5vw,56px)}
.d-body .n{font-size:12px;font-weight:700;color:var(--blue-mid);letter-spacing:.08em}
.d-body h3{font-size:clamp(26px,3vw,40px);font-weight:800;letter-spacing:-0.02em;line-height:1.05;margin:14px 0 12px}
.d-lead{font-size:15.5px;color:var(--gray);line-height:1.65;max-width:52ch}
.d-who{margin-top:16px;font-size:13.5px;background:var(--tint);display:inline-block;padding:8px 14px;color:var(--blue-deep);line-height:1.5}
.d-who strong{font-weight:750}
.d-list{list-style:none;margin:18px 0 28px;max-width:52ch}
.d-list li{padding:11px 0 11px 30px;position:relative;font-size:14.5px;font-weight:600;border-top:1px solid #E3E0DA}
.d-list li:first-child{border-top:0}
.d-list li::before{content:"✓";position:absolute;left:2px;color:var(--blue-mid);font-weight:800}
@media(max-width:860px){
  .division{grid-template-columns:1fr}
  .division .d-img{border-right:0;border-bottom:var(--rule);min-height:230px;max-height:280px}
  .division.flip .d-img{order:0;border-left:0}
}

/* ---------- calendly ---------- */
.btn-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.btn-row .btn{margin-top:0}
.book{border-bottom:var(--rule)}
.book-inner{padding:clamp(28px,4vw,48px) var(--pad)}
.book-embed{width:100%;max-width:960px;height:620px;border:var(--rule);background:#fff;display:block}
@media(max-width:760px){.book-embed{height:720px}}
.book-fallback{margin-top:14px;font-size:13.5px;color:var(--gray)}
.book-fallback a{color:var(--blue-mid);font-weight:700}
