/* ============================================================
   RUFUS PHIPPS-KAYE — PORTFOLIO THEME
   All styling for the homepage + Beyond Sound page.
   ============================================================ */

:root{
  --ink:#0c0c0d;
  --paper:#f3f1ec;
  --signal:#e8513a;
  --muted:#8a8a86;
  --line:rgba(255,255,255,.12);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html,body{margin:0;padding:0;background:var(--ink);}

body{
  background:var(--ink);
  color:var(--paper);
  font-family:'Archivo',system-ui,-apple-system,sans-serif;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

.rpk-site{width:100%;}
.rpk-site a{color:inherit;text-decoration:none;}

/* ---- HERO ---- */
.rpk-hero{
  display:flex;flex-direction:column;justify-content:center;
  padding:8vw 7vw 5vw;position:relative;
  background:radial-gradient(70% 60% at 80% 0%, rgba(232,81,58,.40), rgba(232,81,58,0) 60%), var(--ink);
}
.rpk-eyebrow{
  text-transform:uppercase;letter-spacing:.34em;font-size:.72rem;
  color:var(--signal);margin:0 0 1.4rem;font-weight:600;
}
.rpk-name{
  font-family:'Anton',sans-serif;font-weight:400;
  font-size:clamp(3.4rem,12vw,9rem);line-height:.92;letter-spacing:-.01em;
  text-transform:uppercase;margin:0 0 1.6rem;color:var(--paper);
}
.rpk-value{
  max-width:24ch;font-size:clamp(1.3rem,2.4vw,1.9rem);line-height:1.25;
  color:var(--paper);font-weight:500;margin:0 0 1.6rem;
}
.rpk-tagline{
  max-width:38ch;font-size:clamp(1rem,1.6vw,1.2rem);
  color:#cfcdc7;margin:0 0 2.4rem;
}
.rpk-nav{display:flex;gap:1.8rem;flex-wrap:wrap;}
.rpk-nav a{
  text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:600;
  padding-bottom:.3rem;border-bottom:1px solid var(--line);
  transition:border-color .25s,color .25s;
}
.rpk-nav a:hover{border-color:var(--signal);color:var(--signal);}

/* ---- SECTIONS ---- */
.rpk-section{padding:7vw 7vw;border-top:1px solid var(--line);background:var(--ink);}
.rpk-section-head{margin-bottom:3rem;max-width:50ch;}
.rpk-section-head h2{
  font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;
  font-size:clamp(2rem,5vw,3.4rem);line-height:1;margin:0 0 1rem;
  letter-spacing:-.01em;color:var(--paper);
}
.rpk-section-note{color:var(--muted);font-size:1rem;margin:0;}
.rpk-about-sub{
  font-family:'Anton',sans-serif;text-transform:uppercase;letter-spacing:.01em;
  font-size:clamp(1.3rem,2.6vw,2rem);line-height:1.1;color:var(--paper);margin:1rem 0 0;
}

/* ---- REEL FEATURE ---- */
.rpk-reel-feature{max-width:980px;}
.rpk-reel-frame{
  position:relative;aspect-ratio:16/9;width:100%;background:#000;
  border:1px solid var(--line);overflow:hidden;
}
.rpk-reel-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* ---- WORK GRID (Beyond Sound) ---- */
.rpk-reel-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.6rem;}
.rpk-reel{min-width:0;}
.rpk-reel-meta{padding-top:1.1rem;}
.rpk-reel-meta h3{font-size:1.2rem;font-weight:600;margin:0 0 .25rem;letter-spacing:.01em;color:var(--paper);}
.rpk-reel-meta p{color:var(--muted);font-size:.85rem;margin:0;letter-spacing:.02em;}

/* ---- FOUNDATIONS CARD ---- */
.rpk-foundations-card{
  display:flex;flex-direction:row;align-items:center;justify-content:space-between;
  gap:2rem;margin-top:2.6rem;padding:1.6rem 1.8rem;border:1px solid var(--line);
  background:var(--ink);transition:border-color .25s,background .25s;
}
.rpk-foundations-card:hover{border-color:var(--signal);background:rgba(232,81,58,.06);}
.rpk-foundations-label{
  display:block;text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;
  color:var(--muted);margin-bottom:.35rem;
}
.rpk-foundations-card strong{font-size:1.15rem;font-weight:600;color:var(--paper);}
.rpk-foundations-arrow{font-size:1.6rem;color:var(--signal);flex-shrink:0;}

/* ---- ABOUT ---- */
.rpk-about-body{max-width:58ch;font-size:clamp(1.05rem,1.7vw,1.25rem);color:#dad8d2;}
.rpk-about-body p{margin:0 0 1.4rem;}

/* ---- CONTACT ---- */
.rpk-contact-links{display:flex;flex-direction:column;gap:2.4rem;align-items:flex-start;}
.rpk-contact-row{display:flex;flex-direction:column;gap:.5rem;}
.rpk-contact-key{text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;color:var(--muted);}
.rpk-contact-primary{
  font-family:'Anton',sans-serif;text-transform:lowercase;
  font-size:clamp(1.6rem,4.5vw,3rem);line-height:1.05;
  border-bottom:2px solid transparent;transition:border-color .25s;color:var(--paper);
}
.rpk-contact-primary:hover{border-color:var(--signal);}
.rpk-contact-secondary{color:var(--paper);letter-spacing:.06em;font-size:1.35rem;}
.rpk-contact-secondary:hover{color:var(--signal);}

/* Contact split: links left, photo right */
.rpk-contact-grid{
  display:grid;grid-template-columns:1fr .8fr;gap:3.5rem;align-items:center;
}
.rpk-contact-col .rpk-section-head{margin-bottom:2.4rem;}
.rpk-contact-photo{
  margin:0;overflow:hidden;border:1px solid var(--line);background:#000;aspect-ratio:11/13;
}
.rpk-contact-photo img{display:block;width:100%;height:100%;object-fit:cover;}
@media (max-width:760px){
  .rpk-contact-grid{grid-template-columns:1fr;gap:2.4rem;}
  .rpk-contact-photo{aspect-ratio:4/3;order:-1;}
}

/* ---- BEYOND SOUND HERO ---- */
.rpk-bs-hero{
  padding:7vw 7vw 4vw;position:relative;
  background:radial-gradient(70% 60% at 80% 0%, rgba(232,81,58,.40), rgba(232,81,58,0) 60%), var(--ink);
}
.rpk-back{
  display:inline-block;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;
  font-weight:600;color:var(--muted);margin-bottom:2.4rem;transition:color .25s;
}
.rpk-back:hover{color:var(--signal);}
.rpk-bs-name{
  font-family:'Anton',sans-serif;font-weight:400;
  font-size:clamp(2.8rem,10vw,7rem);line-height:.95;letter-spacing:-.01em;
  text-transform:uppercase;margin:0 0 1.4rem;color:var(--paper);
}
.rpk-bs-hero .rpk-tagline{max-width:46ch;margin:0;}

/* ---- FOOTER ---- */
.rpk-footer{
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;
  padding:2.4rem 7vw;border-top:1px solid var(--line);color:var(--muted);
  font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;background:var(--ink);
}
.rpk-footer a{transition:color .25s;}
.rpk-footer a:hover{color:var(--signal);}

/* ---- RESPONSIVE ---- */
@media (max-width:760px){
  .rpk-reel-grid{grid-template-columns:1fr;gap:2.2rem;}
  .rpk-hero{padding:14vw 7vw 8vw;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
}

/* ============================================================
   RATES & GEAR PAGE
   ============================================================ */
.rpk-ratecard-btn{
  display:inline-block;margin-top:2.4rem;padding:1rem 1.6rem;
  border:1px solid var(--signal);color:var(--signal);
  text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;font-weight:600;
  transition:background .25s,color .25s;
}
.rpk-ratecard-btn:hover{background:var(--signal);color:var(--ink);}

/* Equipment packages */
.rpk-pkg-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.6rem;}
.rpk-pkg{border:1px solid var(--line);padding:1.8rem;}
.rpk-pkg-feature{border-color:var(--signal);background:rgba(232,81,58,.05);}
.rpk-pkg-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.2rem;padding-bottom:1.2rem;border-bottom:1px solid var(--line);}
.rpk-pkg-name{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:1.2rem;letter-spacing:.01em;color:var(--paper);}
.rpk-pkg-price{font-family:'Anton',sans-serif;font-size:1.5rem;color:var(--signal);white-space:nowrap;}
.rpk-pkg-price span{font-family:'Archivo',sans-serif;font-size:.8rem;color:var(--muted);}
.rpk-pkg-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem;}
.rpk-pkg-list li{color:#dad8d2;font-size:.95rem;padding-left:1.2rem;position:relative;}
.rpk-pkg-list li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--signal);}

/* À la carte */
.rpk-alacarte{margin-top:2.6rem;}
.rpk-alacarte-title{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:1.1rem;letter-spacing:.06em;color:var(--paper);margin:0 0 1.2rem;}
.rpk-alacarte-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.6rem 2.6rem;}
.rpk-alacarte-list li{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line);font-size:.92rem;}
.rpk-alacarte-list li span:first-child{color:#dad8d2;}
.rpk-alacarte-list li span:last-child{color:var(--muted);white-space:nowrap;}

/* Closing: available-for + contact CTA */
.rpk-closing-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:start;
}
.rpk-closing-left,.rpk-closing-right{min-width:0;}
.rpk-avail-list{
  list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;
  gap:.7rem 1.6rem;min-width:0;
}
.rpk-avail-list li{
  color:#dad8d2;font-size:.98rem;padding-left:1.2rem;position:relative;min-width:0;
}
.rpk-avail-list li::before{
  content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;
  border-radius:50%;background:var(--signal);
}
.rpk-avail-note{color:var(--muted);font-size:.92rem;margin:1.8rem 0 0;max-width:42ch;}
.rpk-closing-right{
  border:1px solid var(--line);padding:2.2rem;background:rgba(255,255,255,.02);
}
.rpk-closing-eyebrow{
  display:block;text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;
  color:var(--signal);font-weight:600;margin-bottom:.9rem;
}
.rpk-closing-title{
  font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;
  font-size:clamp(1.4rem,3vw,2rem);line-height:1.05;color:var(--paper);margin:0 0 1.8rem;
}
.rpk-closing-links{display:flex;flex-direction:column;gap:1.4rem;margin-bottom:2rem;}
.rpk-closing-links .rpk-contact-row{gap:.3rem;}
.rpk-closing-links .rpk-email{
  font-size:clamp(1rem,4.4vw,1.35rem);overflow-wrap:anywhere;line-height:1.25;
}
.rpk-closing-links .rpk-phone{font-size:1.2rem;}
.rpk-closing-btn{margin-top:0;width:100%;text-align:center;}
@media (max-width:760px){
  .rpk-closing-grid{grid-template-columns:1fr;gap:2.4rem;}
  .rpk-avail-list{grid-template-columns:1fr;}
}

@media (max-width:760px){
  .rpk-pkg-grid{grid-template-columns:1fr;gap:2rem;}
  .rpk-alacarte-list{grid-template-columns:1fr;}
}

/* ---- GEAR / KIT SHOWCASE ---- */
.rpk-gear-grid{
  display:grid;grid-template-columns:1.1fr .9fr;gap:2.6rem;align-items:center;
}
.rpk-gear-eyebrow{
  display:block;text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;
  color:var(--signal);font-weight:600;margin-bottom:1rem;
}
.rpk-gear-title{
  font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;
  font-size:clamp(1.7rem,4vw,2.8rem);line-height:1.02;letter-spacing:-.01em;
  color:var(--paper);margin:0 0 1.4rem;
}
.rpk-gear-copy p{max-width:46ch;color:#dad8d2;font-size:clamp(1rem,1.6vw,1.15rem);margin:0 0 1.8rem;}
.rpk-gear-cta{
  display:inline-block;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;
  font-weight:600;color:var(--signal);border-bottom:1px solid var(--line);
  padding:.5rem 0 .5rem;transition:border-color .25s;
}
.rpk-gear-cta:hover{border-color:var(--signal);}
.rpk-gear-photo{margin:0;overflow:hidden;border:1px solid var(--line);background:#000;}
.rpk-gear-photo img{display:block;width:100%;height:100%;object-fit:cover;}
.rpk-gear-photo-mic{aspect-ratio:10/11;}

@media (max-width:760px){
  .rpk-gear-grid{grid-template-columns:1fr;gap:2rem;}
  .rpk-gear-photo-mic{aspect-ratio:16/10;}
}

/* ============================================================
   SPLIT HERO (text left, working photo right) — locked layout
   ============================================================ */
.rpk-hero{display:block;padding:0;background:var(--ink);min-height:auto;}
.rpk-hero-grid{
  display:grid;grid-template-columns:1.15fr .85fr;gap:0;align-items:stretch;min-height:82vh;
}
.rpk-hero-textcol{
  display:flex;flex-direction:column;justify-content:center;
  padding:6vw 4vw 6vw 7vw;
  background:radial-gradient(80% 70% at 0% 0%, rgba(232,81,58,.16), transparent 60%), var(--ink);
}
.rpk-hero-photocol{
  background-position:12% center;background-size:cover;background-repeat:no-repeat;
  background-color:#0c0c0d;position:relative;
}
.rpk-hero-photocol::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg, #0c0c0d 0%, rgba(12,12,13,0) 18%);
}
@media (max-width:760px){
  .rpk-hero-grid{grid-template-columns:1fr;min-height:auto;}
  .rpk-hero-photocol{min-height:52vh;order:-1;}
  .rpk-hero-textcol{padding:12vw 7vw;}
}

/* Rates hero: reuse the split, reposition for the curtains rig photo */
.rpk-rates-hero .rpk-back{margin-bottom:1.8rem;}
.rpk-rates-hero .rpk-name{font-size:clamp(2.8rem,8vw,6.4rem);line-height:.86;}
.rpk-rates-hero .rpk-hero-textcol{padding-top:3.5vw;padding-bottom:3.5vw;}
.rpk-rates-hero .rpk-tagline{margin-bottom:1.6rem;}
.rpk-rates-hero .rpk-ratecard-btn{margin-top:1.4rem;}
/* The Kit sits right under the hero — trim its top padding so the
   headline peeks above the fold and invites scrolling. */
.rpk-rates-hero + .rpk-gear{padding-top:7.5vw;}

/* The rig photo is a tall portrait. Show it WHOLE, filling the hero
   top-to-bottom with no crop and no letterbox: the hero has a fixed height,
   the image fills that height, and the photo column is sized (grid 'auto')
   to whatever width the image then needs — so there's never dead space. */
.rpk-rates-hero .rpk-hero-grid{
  grid-template-columns:1fr auto;align-items:stretch;
  min-height:480px;height:64vh;max-height:600px;
}
.rpk-rates-photocol{
  background:#0c0c0d;display:flex;justify-content:flex-end;align-items:stretch;
  overflow:hidden;height:100%;
}
.rpk-rates-photocol::after{display:none;}
.rpk-rates-photocol img{
  height:100%;width:auto;max-width:none;display:block;object-fit:cover;margin-right:0;
}
@media (max-width:760px){
  /* Stack on mobile: photo on top, full width, natural height (no crop). */
  .rpk-rates-hero .rpk-hero-grid{grid-template-columns:1fr;height:auto;max-height:none;}
  .rpk-rates-photocol{order:-1;height:auto;}
  .rpk-rates-photocol img{width:100%;height:auto;}
}

/* ---- CONTACT MODAL ---- */
.rpk-modal-lock{overflow:hidden;}
.rpk-modal{
  position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;
  padding:1.5rem;opacity:0;transition:opacity .25s ease;
}
.rpk-modal.is-open{opacity:1;}
.rpk-modal[hidden]{display:none;}
.rpk-modal-overlay{
  position:absolute;inset:0;background:rgba(6,6,7,.82);backdrop-filter:blur(2px);
}
.rpk-modal-dialog{
  position:relative;z-index:1;width:100%;max-width:460px;
  background:#141415;border:1px solid var(--line);
  padding:2.6rem 2.4rem 2.4rem;
  transform:translateY(12px) scale(.98);transition:transform .25s ease;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.7);
}
.rpk-modal.is-open .rpk-modal-dialog{transform:translateY(0) scale(1);}
.rpk-modal-x{
  position:absolute;top:.5rem;right:.6rem;background:none;border:0;cursor:pointer;
  color:var(--muted);font-size:1.8rem;line-height:1;
  width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  transition:color .2s;
}
.rpk-modal-x:hover,.rpk-modal-x:focus-visible{color:var(--paper);outline:none;}
.rpk-modal-eyebrow{
  display:block;text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;
  color:var(--signal);font-weight:600;margin-bottom:.9rem;
}
.rpk-modal-title{
  font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;
  font-size:clamp(1.5rem,4vw,2.1rem);line-height:1.04;color:var(--paper);margin:0 0 1rem;
}
.rpk-modal-body{color:#cfcdc7;font-size:.98rem;line-height:1.55;margin:0 0 1.8rem;}
.rpk-modal-links .rpk-contact-row{
  display:flex;flex-direction:column;gap:.25rem;padding:1rem 0;border-top:1px solid var(--line);
}
.rpk-modal-links .rpk-contact-row:last-child{border-bottom:1px solid var(--line);}
.rpk-modal-links .rpk-email{
  font-size:clamp(1.1rem,5.5vw,1.8rem);overflow-wrap:anywhere;line-height:1.2;
}
.rpk-modal-links .rpk-phone{font-size:1.3rem;}
@media (prefers-reduced-motion:reduce){
  .rpk-modal,.rpk-modal-dialog{transition:none;}
}
