/* ============================================================
   RESPONSIVE LAYOUT
   ============================================================ */
@media (max-width:800px) {
  .container,.nav-wrap {
    width:calc(100% - 32px)
  }
  /* Core content grids */
  .welcome,.portfolio,.booking {
    padding:80px 0
  }
  .welcome-grid,.academy-grid,.booking-grid {
    grid-template-columns:1fr;
    gap:48px;
  }
  .welcome-image {
    height:400px;
    width:calc(100% - 18px);
  }
  .section-heading-row {
    display:block
  }
  .section-heading-row>p {
    margin-top:15px
  }
  .gallery-grid {
    grid-template-columns:1fr 1fr;
    grid-template-rows:260px 200px 200px;
    grid-auto-rows:200px;
    gap:12px;
  }
  .gallery-tall {
    grid-row:span 2
  }
  .gallery-wide {
    grid-column:span 2
  }
  .portfolio-uniform-height {
    grid-template-columns:1fr;
    grid-template-rows:none;
    grid-auto-rows:min(118vw,520px);
  }
  .portfolio-uniform-height>figure {
    grid-row:auto;
  }
  .portfolio-uniform-height .gallery-wide {
    grid-column:auto;
  }
  /* Academy / course detail */
  .curriculum-grid {
    grid-template-columns:1fr
  }
  .course-detail-card {
    padding:24px
  }
  .course-detail-card h2 {
    font-size:31px
  }
  .course-detail-meta {
    gap:18px
  }
  .academy-course-page .course-detail-card:before {
    font-size:160px
  }
  .academy-course-page .curriculum-grid {
    padding:24px
  }
  .academy-course-page .curriculum-grid section {
    padding:20px 0;
    border-right:0;
    border-bottom:1px solid rgba(121,93,77,.55);
  }
  .academy-course-page .curriculum-grid section:last-child {
    border-bottom:0
  }
  .academy-course-page .course-detail-card h2,   .academy-course-page .course-detail-card>p,   .academy-course-page .course-detail-meta {
    padding-left:24px;
    padding-right:24px;
  }
  .academy-course-page .course-detail-card .btn {
    margin-left:24px
  }
  .course-row {
    grid-template-columns:30px 1fr auto
  }
  /* Brochure / academy page */
  .brochure-cover,.brochure-page {
    width:calc(100% - 28px)
  }
  .brochure-cover {
    min-height:440px
  }
  .brochure-cover p {
    font-size:12px;
    letter-spacing:.16em;
    padding:0 20px
  }
  .brochure-cover h1 {
    font-size:30px;
    letter-spacing:.14em
  }
  .brochure-cover-mark {
    font-size:270px;
    top:145px
  }
  .brochure-page {
    padding-top:30px
  }
  .brochure-page h2 {
    font-size:31px;
    margin-bottom:22px
  }
  .brochure-columns {
    grid-template-columns:1fr
  }
  .brochure-columns ul {
    min-height:0;
    padding:24px 25px 24px 46px;
    border-right:0;
    border-bottom:1px solid rgba(121,93,77,.4);
    font-size:16px;
  }
  .master-layout {
    grid-template-columns:1fr;
    gap:22px;
    padding:0 28px 30px
  }
  .master-layout ul {
    font-size:21px
  }
  .master-layout dl {
    font-size:13px;
    gap:9px
  }
  .brochure-actions {
    flex-direction:column;
    gap:14px;
    padding:0 20px
  }
  .brochure-page:before {
    font-size:230px
  }
  .spark.one {
    right:11%;
    top:180px
  }
  /* Forms */
  .booking-form {
    padding:24px
  }
  .form-row {
    grid-template-columns:1fr
  }
  .quick-contact {
    flex-direction:column;
    gap:5px
  }
}
@media (max-width:480px) {
  .gallery-grid {
    grid-template-rows:220px 160px 160px;
    grid-auto-rows:160px;
    gap:9px;
  }
  .portfolio-uniform-height {
    grid-template-rows:none;
    grid-auto-rows:min(122vw,480px);
  }
  .portfolio-top {
    display:block
  }
  .portfolio-top .btn {
    margin-top:20px
  }
}

/* Brand page responsive rules are in style.css to keep the shared design system centralized. */


@media (max-width: 800px) {
  .lookbook-section, .video-feature { padding: 68px 0; }
  .lookbook-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 260px 210px 210px;
    gap: 10px;
  }
  .lookbook-card-featured { grid-row: span 2; }
  .video-feature > .container { grid-template-columns: 1fr; gap: 30px; }
  .video-feature-copy > p:not(.kicker) { max-width: none; }
}

@media (max-width: 500px) {
  .lookbook-grid {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, 320px);
  }
  .lookbook-card-featured { grid-row: span 1; }
  .video-frame-wrap { border-radius: 14px; }
}


/* Final lookbook override: always a single horizontal editorial track. */
.lookbook-grid {
  display: flex !important;
  grid-template-columns: none !important;
  grid-template-rows: none !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
}
.lookbook-item { grid-row: auto !important; }
