/* Cascade Leisure — BOATS OVERVIEW styles (archive-boat.php).
   Transferred verbatim from the approved boats.html. */

/* PAGE HERO */
.page-hero{min-height:60vh;display:flex;align-items:flex-end;position:relative;overflow:hidden;padding:120px 0 80px}
.page-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,21,37,.3) 0%,rgba(9,21,37,.6) 100%);z-index:1}
.page-hero-bg{position:absolute;inset:-30px;z-index:0}
.page-hero-bg img{width:100%;height:100%;object-fit:cover;animation:heroZoom 25s ease-in-out infinite alternate}
@keyframes heroZoom{0%{transform:scale(1)}100%{transform:scale(1.06)}}
.page-hero .container{position:relative;z-index:2}
.page-hero .tag{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.page-hero .tag::before{content:'';width:20px;height:1.5px;background:var(--accent)}
.page-hero h1{font-family:var(--serif);font-size:clamp(2.8rem,5vw,4.5rem);color:var(--white);line-height:1.08;margin-bottom:16px;font-weight:700;text-transform:uppercase;text-shadow:0 2px 20px rgba(9,21,37,.4),0 1px 3px rgba(9,21,37,.3)}
.page-hero h1 span{color:var(--accent)}
.page-hero p{font-size:1.05rem;color:rgba(255,255,255,.85);max-width:560px;line-height:1.7;font-weight:400;text-shadow:0 1px 8px rgba(9,21,37,.4)}

/* MODELS GRID */
.models-section{padding:100px 0 120px;background:var(--off)}
.models-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.model-card{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--white);border:1px solid var(--gray100);transition:all .5s var(--ease);display:block}
.model-card:hover{border-color:transparent;transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.model-card-img{aspect-ratio:16/10;overflow:hidden;position:relative}
.model-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.model-card:hover .model-card-img img{transform:scale(1.06)}
.model-card-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(9,21,37,.3) 0%,transparent 50%)}
.model-card-badge{position:absolute;top:18px;left:18px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);padding:6px 14px;border-radius:8px;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent2);font-weight:600;z-index:2}
.model-card-body{padding:28px 30px 32px}
.model-card-name{font-family:var(--serif);font-size:1.6rem;color:var(--dark);margin-bottom:10px;font-weight:700;text-transform:uppercase}
.model-card-specs{display:flex;gap:20px;margin-bottom:14px}
.model-card-spec{font-size:.74rem;color:var(--gray300);display:flex;align-items:center;gap:5px}
.model-card-spec strong{color:var(--dark);font-weight:600}
.model-card-desc{font-size:.88rem;color:var(--gray500);line-height:1.7;font-weight:300;margin-bottom:20px}
.model-card-link{display:inline-flex;align-items:center;gap:8px;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent2);font-weight:600;transition:gap .3s}
.model-card:hover .model-card-link{gap:14px}
.model-card-link svg{width:14px;height:14px}

/* Featured card */
.model-card.featured{grid-column:span 2;display:grid;grid-template-columns:1.2fr 1fr}
.model-card.featured .model-card-img{aspect-ratio:auto;min-height:420px}
.model-card.featured .model-card-body{display:flex;flex-direction:column;justify-content:center;padding:48px 48px}
.model-card.featured .model-card-name{font-size:2.2rem}
.model-card.featured .model-card-desc{font-size:.92rem;max-width:440px}

/* CTA BANNER */
.cta-banner{padding:100px 0;background:var(--dark);position:relative;overflow:hidden;text-align:center}
.cta-banner::before{content:'';position:absolute;top:-200px;left:50%;transform:translateX(-50%);width:800px;height:800px;border-radius:50%;background:radial-gradient(circle,rgba(78,197,232,.06),transparent 70%)}
.cta-banner h2{font-family:var(--serif);font-size:clamp(2rem,3.5vw,3rem);color:var(--white);margin-bottom:12px;position:relative;font-weight:700;text-transform:uppercase}
.cta-banner h2 span{color:var(--accent)}
.cta-banner p{font-size:1rem;color:rgba(255,255,255,.4);margin-bottom:32px;font-weight:300;position:relative}
.cta-banner .btn-ghost{border:1.5px solid rgba(255,255,255,.2);color:var(--white);background:0;margin-left:12px}
.cta-banner .btn-ghost:hover{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.04)}

/* RESPONSIVE */
@media(max-width:1024px){
  .model-card.featured{grid-column:span 2;grid-template-columns:1fr}
  .model-card.featured .model-card-img{min-height:320px}
}
@media(max-width:768px){
  .models-grid{grid-template-columns:1fr}
  .model-card.featured{grid-column:span 1;grid-template-columns:1fr}
  .page-hero{min-height:50vh}
  /* Tighten the CTA so it sits closer to the footer, and stack the buttons neatly */
  .cta-banner{padding:56px 0}
  .cta-banner .container>div{display:flex;flex-direction:column;align-items:center;gap:12px}
  .cta-banner .btn{width:100%;max-width:320px;justify-content:center}
  .cta-banner .btn-ghost{margin-left:0}
}
