:root{
  --red:#f6182c;
  --red-dark:#f6182c;
  --ink:#171717;
  --muted:#706c65;
  --line:#e7e3dc;
  --paper:#f7f6f3;
  --white:#fff;
  --request-max:1180px;
}

/* Request page only - the global site header comes from /assets/site.css */
.request-page{
  background:var(--paper);
  color:var(--ink);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
.request-page .container{
  width:min(var(--request-max),calc(100% - 44px));
  margin-inline:auto;
}

/* Keep the public navigation visually identical to the homepage. */
.site-header .logo,
.site-header .nav-links a{
  font-size:16px;
}
.site-header .nav-book{
  font-size:16px;
}

/* Compact Airbnb-style gallery: fixed maximum size and fixed 2.955:1 ratio.
   It scales proportionally when the viewport is smaller, but never stretches with a
   larger browser window. */
.top-gallery-wrap{
  width:100%;
  padding:18px 0 0;
  background:var(--paper);
}

.request-page .top-grid{
  box-sizing:border-box;
  width:min(100%,1180px) !important;
  max-width:1180px;
  min-width:0;
  aspect-ratio:1528 / 517 !important;
  height:auto !important;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr .5fr .5fr;
  grid-template-rows:1fr 1fr;
  gap:10px;
  overflow:hidden;
  border-radius:14px;
  background:#ddd;
}

.request-page .top-grid img{
  box-sizing:border-box;
  width:100% !important;
  height:100% !important;
  min-width:0;
  min-height:0;
  display:block;
  object-fit:cover !important;
  object-position:center;
}

.request-page .top-grid-main{
  grid-column:1;
  grid-row:1 / span 2;
}

.intro{
  padding:42px 0 38px;
  text-align:center;
  max-width:800px;
  margin-inline:auto;
}
.eyebrow{
  display:block;
  color:#8a867e;
  font-size:14px;
  font-weight:700;
  letter-spacing:1.2px;
  text-transform:uppercase;
  margin-bottom:12px;
}
.request-page h1,
.request-page h2,
.request-page h3{
  font-size:18px;
  line-height:1.2;
  letter-spacing:-.5px;
  margin:0;
  font-weight:700;
}
.intro p{
  max-width:650px;
  margin:16px auto 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.65;
}
.actions{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:22px;
}
.btn{
  min-height:44px;
  padding:0 16px;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-size:14px;
  font-weight:700;
}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red-dark)}
.btn-light{background:#fff;border:1px solid var(--line)}

.section{padding:58px 0}
.section-white{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-head{max-width:680px;margin-bottom:26px}
.section-head .eyebrow{margin-bottom:10px}
.section-head p{color:var(--muted);line-height:1.65;font-size:16px;margin:12px 0 0}

.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.step{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;min-height:180px}
.step-no{color:var(--red);font-size:14px;font-weight:800;letter-spacing:.8px}
.step h3{margin:13px 0 8px}
.step p{font-size:16px;line-height:1.6;color:var(--muted);margin:0}

.pricing{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.price-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}
.price-card.featured{border-color:var(--line);box-shadow:none}
.price-card h3{margin:0}
.price-old{margin-top:14px;color:#9a968f;text-decoration:line-through;font-size:14px}
.price{font-size:20px;font-weight:800;letter-spacing:-.5px;margin-top:4px}
.price-note{color:var(--muted);font-size:16px;margin-top:5px}
.price-card p{color:var(--muted);font-size:16px;line-height:1.6;margin:14px 0 0}
.pricing-note{margin-top:10px;color:var(--muted);font-size:14px}

.reassurance{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.reassurance-card{padding:24px;background:#fff;border:1px solid var(--line);border-radius:12px}
.reassurance-card h3{margin:0 0 8px}
.reassurance-card p{font-size:16px;line-height:1.65;color:var(--muted);margin:0}
.area-list{display:flex;gap:7px;flex-wrap:wrap}
.area{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 11px;font-size:14px}

.final-cta{background:var(--ink);color:#fff;border-radius:14px;padding:32px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.final-cta h2{color:#fff;font-weight:700}.final-cta p{color:#bdb9b1;font-size:16px;line-height:1.6;margin:10px 0 0}
.eyebrow-light{color:#f6182c !important;font-weight:700}
.footer{padding:26px 0 34px;color:#88847d;font-size:14px}
.footer-row{display:flex;justify-content:space-between;gap:20px}

@media(max-width:1000px){
  .steps{grid-template-columns:repeat(3,1fr)}
  .pricing{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:760px){
  .request-page .container{width:calc(100% - 40px)}
  .top-gallery-wrap{padding-top:12px}
  .request-page .top-grid{
  box-sizing:border-box;
    width:100% !important;
    max-width:none;
    aspect-ratio:1528 / 517 !important;
    height:auto !important;
    grid-template-columns:1fr .5fr .5fr;
    grid-template-rows:1fr 1fr;
    gap:5px;
    border-radius:10px;
  }
  .request-page .top-grid-main{
    grid-column:1;
    grid-row:1 / span 2;
  }
  .intro{padding:38px 0 34px}
  .steps,.pricing,.reassurance{grid-template-columns:1fr}
  .step{min-height:auto}
  .final-cta{display:block;padding:26px}
  .final-cta .btn{margin-top:18px}
  .footer-row{display:block}
  .footer-row div+div{margin-top:8px}
}


/* Process step labels: override global circular step-number styling */
.request-page .step-no{
  display:block;
  width:auto;
  height:auto;
  min-width:0;
  border-radius:0;
  background:transparent;
  color:var(--red);
  font-size:14px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.8px;
  white-space:nowrap;
  overflow:visible;
}






/* PHOTOSVILLA FINAL TYPOGRAPHY - DO NOT CHANGE WITHOUT CONFIRMATION */
.request-page { font-size:14px !important; }
.request-page p, .request-page li, .request-page label, .request-page small,
.request-page span, .request-page a, .request-page button,
.request-page input, .request-page select, .request-page textarea,
.request-page .site-header .logo, .request-page .site-header .nav-links a,
.request-page .site-header .nav-book {
  font-size:14px !important;
}
.request-page h1, .request-page h2, .request-page h3,
.request-page h4, .request-page h5, .request-page h6 {
  font-size:16px !important;
  font-weight:700 !important;
}


/* PHOTOSVILLA REQUEST PAGE - LOGO + NAV STANDARD */
.request-page .site-logo{
  font-family:"rift-soft", "Rift Soft Bold", "Rift Soft", sans-serif !important;
  font-size:26px !important;
  line-height:26px !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  text-decoration:none !important;
}
.request-page .site-header .nav-links a,
.request-page .site-header .nav-links .nav-login,
.request-page .site-header .nav-links .nav-book,
.request-page .mobile-panel a{
  font-size:15px !important;
  font-weight:500 !important;
}


/* Request Photoshoot banner/gallery stability fix - production scoped. */
.request-page .top-gallery-wrap{overflow:hidden;}
.request-page .top-grid{
  width:min(100%,1180px) !important;
  max-width:1180px !important;
  margin-inline:auto !important;
  aspect-ratio:1528 / 517 !important;
  height:auto !important;
}
.request-page .top-grid > img{
  min-width:0 !important;
  min-height:0 !important;
  object-fit:cover !important;
}
@media (max-width:760px){
  .request-page .top-grid{
    width:100% !important;
    max-width:none !important;
    aspect-ratio:1528 / 517 !important;
  }
}


/* Navigation correction: single red Login button, consistent bold 16px navigation. */
.site-header .nav-links a, .site-header .nav-links .nav-login, .site-header .nav-links .nav-book, .site-header .mobile-panel a, .request-page .site-header .nav-links a, .request-page .mobile-panel a { font-size:16px !important; font-weight:700 !important; }
