/* Parks Pass — clean, self-contained stylesheet.
   Design values (type, color, spacing, layout) mirror the original site. */

@font-face{
  font-family:'National Park';
  src:url('fonts/NationalPark.woff2') format('woff2'),
      url('fonts/NationalPark.woff') format('woff');
  font-weight:200 800;
  font-style:normal;
  font-display:swap;
}

:root{
  --ink:#1a1b1f;
  --divider:#eeeeee;
  --field:#e4e4e4;
  --mont:'Montserrat',sans-serif;
  --ubuntu:'Ubuntu',Helvetica,sans-serif;
  --park:'National Park','Montserrat',sans-serif;
  --maxw:1140px;
  --nav-h:124px;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;color:var(--ink);font-family:var(--mont);font-size:16px;line-height:28px;font-weight:400;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
p{margin:0;}
.muted{opacity:.6;}

.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 30px;}
.divider{height:1px;background:var(--divider);border:0;margin:0;}
body.no-hero main{padding-top:var(--nav-h);}

/* ---------------- Navigation ---------------- */
.nav{position:absolute;top:0;left:0;right:0;z-index:50;}
.nav-inner{display:flex;align-items:center;justify-content:space-between;
  padding:30px 50px;position:relative;}
.logo{display:flex;align-items:center;gap:12px;z-index:1;transition:opacity .2s;}
.logo:hover{opacity:.8;}
.logo-img{width:48px;height:auto;}
.logo-text{font-family:var(--park);font-size:28px;font-weight:600;color:#000;line-height:1;}
.nav-links{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;
  pointer-events:none;}
.nav-links a{pointer-events:auto;font-family:var(--park);font-size:14px;font-weight:600;
  letter-spacing:1px;text-transform:uppercase;line-height:20px;opacity:.6;padding:9px 18px;
  transition:opacity .2s;}
.nav-links a:hover{opacity:.9;}
.nav-links a.active{opacity:1;color:var(--ink);}
.appstore{display:block;width:122px;height:40px;z-index:1;transition:opacity .3s;}
.appstore:hover{opacity:.85;}
.appstore img{width:122px;height:40px;}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;
  padding:6px;z-index:2;}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--ink);transition:.25s;}

/* ---------------- Hero ---------------- */
.hero{display:flex;align-items:center;justify-content:center;color:#fff;text-align:center;
  background-color:#000;background-position:50%;background-size:cover;}
.hero-home{height:720px;background-image:url('images/IMG_0055-2-p-1600.jpeg');}
.hero-sub{height:480px;background-image:url('images/IMG_8489-p-1600.jpeg');}
.hero-content{width:80%;max-width:var(--maxw);}
.jumbo{color:#fff;font-family:var(--ubuntu);font-size:72px;line-height:80px;font-weight:700;
  text-transform:capitalize;text-shadow:-2px 3px 2px rgba(0,0,0,.2);margin:0;}
.hero-sub .jumbo{text-transform:none;}
.hero-sub-text{font-family:var(--mont);font-size:18px;font-weight:600;
  text-shadow:-1px 2px 1px rgba(0,0,0,.2);margin-top:22px;}

/* ---------------- Headings / text ---------------- */
.section-heading,.work-heading,.contact-heading,.h2{font-size:36px;line-height:50px;
  font-weight:400;margin:10px 0 20px;}
.contact-heading{margin-top:0;margin-bottom:15px;}
.center{text-align:center;}

/* ---------------- Home: testimonial ---------------- */
.block{padding:40px 0;}
.motto{width:80%;max-width:var(--maxw);margin:0 auto 60px;text-align:center;}
.stars{display:flex;justify-content:center;gap:10px;margin:60px 0 16px;}
.stars img{width:32px;height:32px;}
.amazing{font-weight:700;}
.byline{font-weight:300;margin:6px 0 10px;}
.review{font-weight:500;}
.quote{font-family:var(--park);font-size:32px;line-height:50px;font-weight:400;text-align:center;}

/* ---------------- Home: about + media ---------------- */
.home-content{margin-top:80px;}
.about-grid{display:grid;grid-template-columns:1fr 2fr;column-gap:80px;row-gap:30px;
  align-items:center;margin-bottom:80px;}
.video{position:relative;width:100%;height:0;padding-top:56.17%;overflow:hidden;}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.scene-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.scene-row img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover;}
/* Clickable gallery thumbnails (class added by lightbox.js once wired). */
.lb-thumb{cursor:zoom-in;transition:opacity .25s,transform .25s;}
.lb-thumb:hover{opacity:.9;transform:scale(1.015);}

/* ---------------- News previews (home) ---------------- */
.previews{max-width:760px;margin:0 auto;}
.preview{padding:26px 0;}
.preview + .preview{border-top:1px solid var(--divider);}
.preview-title{font-size:24px;line-height:38px;font-weight:500;display:inline-block;
  margin:6px 0;transition:opacity .2s;}
.preview-title:hover{opacity:.8;}
.date{opacity:.6;text-transform:uppercase;letter-spacing:1px;font-size:12px;font-weight:500;
  line-height:20px;}

/* ---------------- News page (cards) ---------------- */
.blog-item{max-width:var(--maxw);margin:0 auto 80px;text-align:center;}
.blog-item + .blog-item{border-top:1px solid var(--divider);padding-top:80px;}
.blog-cover{display:block;width:100%;height:620px;background-color:#ddd;background-position:50%;
  background-size:cover;margin-bottom:45px;transition:opacity .6s;}
.blog-cover:hover{opacity:.8;}
.blog-cover img,.post-cover img{width:100%;height:100%;object-fit:cover;display:block;}
.blog-summary{width:70%;margin:0 auto;text-align:left;}
.blog-title{font-size:30px;line-height:46px;font-weight:400;display:inline-block;
  margin-bottom:10px;transition:opacity .2s;}
.blog-title:hover{opacity:.8;}
.blog-summary .date{margin-top:20px;}

/* ---------------- Mission ---------------- */
.about-story{text-align:center;width:80%;margin:80px auto;}
.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.photo-grid img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/2;}

/* ---------------- Contact ---------------- */
.contact-grid{display:grid;grid-template-columns:2.5fr 1fr;column-gap:80px;row-gap:30px;
  align-items:start;}
.contact-photo{width:100%;height:100%;min-height:520px;object-fit:cover;}
label{display:block;font-size:14px;margin-bottom:6px;}
.field{display:block;width:100%;border:1px solid var(--field);border-radius:0;background:#fff;
  margin-bottom:18px;padding:21px 20px;font-size:14px;line-height:26px;font-family:var(--mont);
  color:var(--ink);transition:border-color .4s;}
.field:focus{outline:none;border-color:#1a1b1f;}
textarea.field{height:200px;padding-top:12px;resize:vertical;}
.btn{display:inline-block;background:#1a1b1f;color:#fff;text-transform:uppercase;
  letter-spacing:2px;font-size:12px;line-height:20px;font-weight:400;font-family:var(--mont);
  padding:12px 25px;border:0;cursor:pointer;transition:background-color .4s,opacity .4s;}
.btn:hover{background:#33363c;}
.form-done{display:none;padding:20px 0;font-weight:500;}

/* ---------------- Blog detail ---------------- */
.post-header{width:70%;margin:60px auto;}
.post-header h1{font-size:44px;line-height:62px;font-weight:400;margin:20px 0 15px;}
.post-cover{width:100%;height:620px;background-color:#ddd;background-position:50%;
  background-size:cover;margin-bottom:60px;}
.post-body{width:70%;margin:0 auto 100px;}
.post-body p{opacity:.6;margin:15px 0 25px;}
.post-body a{text-decoration:underline;}
.back-link{display:inline-block;margin-bottom:10px;opacity:.6;font-size:14px;}
.back-link:hover{opacity:1;}

/* ---------------- Footer ---------------- */
.footer-inner{display:flex;justify-content:center;align-items:center;padding:40px 0;}
.logo-rm{display:block;width:200px;height:60px;
  background:url('images/reality-mint-logo.png') center/contain no-repeat;transition:opacity .2s;}
.logo-rm:hover{opacity:.8;}

/* ---------------- Responsive ---------------- */
@media screen and (max-width:991px){
  .nav-inner{padding:22px 24px;}
  .nav-toggle{display:flex;}
  .nav-links{position:absolute;top:100%;left:0;right:0;inset:auto;display:none;
    flex-direction:column;background:#fff;box-shadow:0 14px 34px rgba(0,0,0,.14);padding:6px 0;}
  body.menu-open .nav-links{display:flex;}
  .nav-links a{width:100%;text-align:center;padding:14px 24px;opacity:1;}
  .appstore{margin-right:48px;}
  .jumbo{font-size:46px;line-height:54px;}
  .hero-home{height:560px;}
  .hero-sub{height:380px;}
  .about-grid,.contact-grid{grid-template-columns:1fr;}
  .scene-row{grid-template-columns:1fr;}
  .blog-summary,.post-header,.post-body{width:90%;}
  .blog-cover,.post-cover{height:360px;}
  .contact-photo{min-height:320px;}
}
@media screen and (max-width:600px){
  .photo-grid{grid-template-columns:1fr;}
  .jumbo{font-size:36px;line-height:44px;}
  .section-heading,.work-heading,.contact-heading{font-size:28px;line-height:38px;}
  .quote{font-size:24px;line-height:38px;}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;}}

/* ---------------- Lightbox / slideshow ---------------- */
.lightbox{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;
  background:rgba(10,12,14,.93);opacity:0;transition:opacity .25s;}
.lightbox.open{display:flex;opacity:1;}
.lb-stage{margin:0;display:flex;flex-direction:column;align-items:center;gap:16px;}
.lightbox img{max-width:90vw;max-height:84vh;object-fit:contain;box-shadow:0 24px 70px rgba(0,0,0,.55);}
.lb-cap{color:#eaeaea;font-family:var(--mont);font-size:13px;font-weight:500;letter-spacing:2px;
  text-transform:uppercase;text-align:center;min-height:1em;}
.lb-count{position:absolute;top:24px;left:28px;color:#cfcfcf;font-family:var(--mont);font-size:13px;
  letter-spacing:2px;}
.lightbox button{position:absolute;background:none;border:0;color:#fff;cursor:pointer;
  opacity:.78;transition:opacity .2s;-webkit-tap-highlight-color:transparent;}
.lightbox button:hover{opacity:1;}
.lb-close{top:18px;right:26px;font-size:40px;line-height:1;}
.lb-prev,.lb-next{top:50%;transform:translateY(-50%);font-size:60px;line-height:1;padding:0 26px;}
.lb-prev{left:6px;}
.lb-next{right:6px;}
@media (max-width:600px){
  .lb-prev,.lb-next{font-size:40px;padding:0 12px;}
  .lb-close{font-size:34px;top:12px;right:16px;}
  .lb-count{top:16px;left:18px;}
}
