 :root {
     --navy: #092b43;
     --navy2: #182c43;
     --rust: #cf6849;
     --rust2: #b9573b;
     --cream: #fff8f0;
     --sand: #f3ebe2;
     --ink: #263248;
     --muted: #70727a;
     --white: #fffdfa
 }

 * {
     box-sizing: border-box
 }

 html {
     scroll-behavior: smooth;
     scroll-padding-top: 88px
 }

 body {
     margin: 0;
     background: var(--white);
     color: var(--ink);
     font-family: "DM Sans", sans-serif;
     font-size: 14px
 }

 h1,
 h2,
 h3,
 h4 {
     font-family: "Playfair Display", Georgia, serif;
     font-weight: 600;
     letter-spacing: -.035em
 }

 h2 {
     font-size: clamp(2rem, 3.3vw, 3rem);
     line-height: 1.1;
     margin-bottom: 16px
 }

 p {
     line-height: 1.75
 }

 a {
     text-decoration: none
 }

 .site-nav {
     background: rgba(255, 253, 250, .96);
     backdrop-filter: blur(12px);
     box-shadow: 0 4px 22px #14273a0d;
     padding: 10px 0
 }

 .brand {
     display: flex;
     align-items: center;
     gap: 9px;
     color: var(--ink);
     line-height: 1.1
 }

 .brand:hover {
     color: var(--rust)
 }

 .brand-mark {
     display: grid;
     place-items: center;
     width: 32px;
     height: 32px;
     border-radius: 9px;
     background: var(--rust);
     color: white;
     font-size: 22px
 }

 .brand strong,
 .brand small {
     display: block
 }

 .brand strong {
     font-size: 13px
 }

 .brand small {
     font-size: 7px;
     letter-spacing: .13em;
     color: var(--muted);
     margin-top: 4px
 }

 .nav-link {
     font-size: 13px;
     font-weight: 700;
     color: #404957;
     padding: 9px !important
 }

 .nav-link:hover {
     color: var(--rust)
 }

 .btn {
     font-size: 11px;
     font-weight: 700;
     padding: 12px 18px;
     transition: transform .25s, box-shadow .25s
 }

 .btn:hover {
     transform: translateY(-2px);
     box-shadow: 0 7px 18px #0002
 }

 .btn-rust {
     background: var(--rust);
     color: #fff;
     border: 1px solid var(--rust)
 }

 .btn-rust:hover {
     background: var(--rust2);
     border-color: var(--rust2);
     color: white
 }

 .hero {
     min-height: 610px;
     position: relative;
     display: flex;
     align-items: center;
     padding: 135px 0 105px;
     background: #33443e url("https://images.unsplash.com/photo-1449158743715-0a90ebb6d2d8?auto=format&fit=crop&w=2000&q=90") center 45%/cover no-repeat;
     color: white
 }

 .hero-overlay {
     position: absolute;
     inset: 0;
     background: linear-gradient(90deg, #15242edb 0%, #172a30a8 55%, #172a3040 100%), linear-gradient(0deg, #15242e66, transparent 60%)
 }

 .hero-content {
     position: relative;
     z-index: 1
 }

 .eyebrow {
     font-size: 9px;
     text-transform: uppercase;
     letter-spacing: .18em;
     font-weight: 700;
     color: var(--rust);
     margin-bottom: 12px
 }

 .eyebrow.light {
     color: #e6ad92
 }

 .hero h1 {
     font-size: clamp(2.6rem, 5.4vw, 5rem);
     line-height: 1.03;
     max-width: 740px;
     margin: 14px 0 20px
 }

 .hero-copy {
     max-width: 570px;
     color: #ffffffd9;
     font-size: 13px
 }

 .hero-note {
     margin-top: 24px;
     font-size: 14px;
     color: #ffffffc7
 }

 .hero-note span {
     color: #e8b64d;
     letter-spacing: .12em;
     margin-right: 8px
 }

 .trust-band {
     position: relative;
     margin-top: -28px;
     z-index: 2
 }

 .trust-grid {
     background: white;
     box-shadow: 0 12px 35px #1b28351a;
     border-radius: 14px;
     padding: 20px;
     display: grid;
     grid-template-columns: repeat(4, 1fr)
 }

 .trust-grid>div {
     display: flex;
     align-items: center;
     gap: 10px;
     padding: 3px 14px;
     border-right: 1px solid #eee7e0
 }

 .trust-grid>div:last-child {
     border: 0
 }

 .trust-icon {
     display: grid;
     place-items: center;
     flex: 0 0 34px;
     height: 34px;
     background: var(--sand);
     color: var(--rust);
     border-radius: 50%;
     font-size: 16px
 }

 .trust-grid p {
     margin: 0
 }

 .trust-grid b,
 .trust-grid small {
     display: block
 }

 .trust-grid b {
     font-size: 10px
 }

 .trust-grid small {
     font-size: 9px;
     color: var(--muted);
     margin-top: 4px
 }

 .section {
     padding: 88px 0
 }

 .section-cream {
     background: var(--cream)
 }

 .section-white {
     background: var(--white)
 }

 .section-dark {
     background: #25282b;
     color: white
 }

 .section-navy {
     background: var(--navy);
     color: white
 }

 .body-copy {
     font-size: 12px;
     color: var(--muted)
 }

 .lead-copy {
     font-family: "Playfair Display", serif;
     font-size: 19px;
     line-height: 1.5
 }

 .photo-arched {
     height: 700px;
     overflow: hidden;
     border-radius: 35% 35% 18px 18px
 }

 .photo-arched img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform .7s
 }

 .photo-arched:hover img {
     transform: scale(1.04)
 }

 .feature-list {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 12px;
     margin-top: 22px;
     font-size: 11px;
     font-weight: 700
 }

 .feature-list span::first-letter {
     color: var(--rust)
 }

 .mini-feature {
     height: 100%;
     border-radius: 14px;
     padding: 20px
 }

 .mini-feature>span {
     display: grid;
     place-items: center;
     width: 33px;
     height: 33px;
     background: #ffffffb0;
     border-radius: 10px;
     font-size: 17px;
     margin-bottom: 15px
 }

 .mini-feature h3 {
     font-family: "DM Sans", sans-serif;
     font-size: 12px
 }

 .mini-feature p {
     font-size: 10px;
     color: #555e68;
     margin: 0
 }

 .pink {
     background: #f4dfe6
 }

 .blue {
     background: #dcebf0
 }

 .green {
     background: #dce9d1
 }

 .peach {
     background: #f2dfc9
 }

 .image-stack {
     height: 390px;
     position: relative
 }

 .image-stack img {
     position: absolute;
     object-fit: cover;
     border-radius: 16px;
     box-shadow: 0 10px 25px #1c28351c
 }

 .stack-main {
     width: 84%;
     height: 82%;
     left: 0;
     top: 0
 }

 .stack-small {
     width: 55%;
     height: 48%;
     right: 0;
     bottom: 0;
     border: 6px solid var(--white)
 }

 .benefit-band {
     background: #f0e7dc;
     padding: 28px 0
 }

 .benefit-grid {
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     gap: 10px
 }

 .benefit-grid a {
     display: flex;
     flex-direction: column;
     padding: 17px;
     background: #fffaf5;
     border-radius: 10px;
     color: var(--ink);
     transition: transform .2s
 }

 .benefit-grid a:hover {
     transform: translateY(-4px)
 }

 .benefit-grid span {
     font-size: 9px;
     color: var(--rust);
     letter-spacing: .15em;
     margin-bottom: 10px
 }

 .benefit-grid b {
     font-size: 11px
 }

 .benefit-grid small {
     font-size: 9px;
     color: var(--muted);
     margin-top: 5px
 }

 .dark-copy {
     font-size: 12px;
     line-height: 1.8;
     color: #ffffffbd
 }

 .experience-images {
     display: grid;
     grid-template-columns: 1fr 1fr;
     grid-template-rows: 180px 180px;
     gap: 10px
 }

 .experience-images img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     border-radius: 13px
 }

/* 
  .experience-images img:hover {
     transform: scale(1.06);
     opacity: .8
  } */

 .experience-images img:first-child {
     grid-row: span 2
 }

 .section-heading {
     max-width: 680px
 }

 .amenity-card {
     height: 100%;
     padding: 22px 18px;
     border: 1px solid #eee6dd;
     background: #fff;
     border-radius: 13px;
     transition: transform .25s, box-shadow .25s
 }

 .amenity-card:hover {
     transform: translateY(-5px);
     box-shadow: 0 12px 24px #26304112
 }

 .amenity-card>span {
     display: grid;
     place-items: center;
     width: 34px;
     height: 34px;
     border-radius: 10px;
     background: #f5e7dd;
     color: var(--rust);
     font-size: 17px;
     margin-bottom: 14px
 }

 .amenity-card h3 {
     font-family: "DM Sans", sans-serif;
     font-size: 12px
 }

 .amenity-card p {
     font-size: 10px;
     color: var(--muted);
     margin: 0
 }

 .gallery-section {
     background: #292b2d
 }

 .gallery-grid {
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     grid-auto-rows: 175px;
     gap: 10px;
     margin-top: 28px
 }

 .gallery-grid figure {
     position: relative;
     margin: 0;
     overflow: hidden;
     border-radius: 10px;
     background: #1a1a1a
 }

 .gallery-grid img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform .6s, opacity .4s
 }

 .gallery-grid figure:hover img {
     transform: scale(1.06);
     opacity: .8
 }

 .gallery-grid figcaption {
     position: absolute;
     left: 0;
     right: 0;
     bottom: 0;
     padding: 25px 12px 10px;
     color: white;
     font-size: 10px;
     font-weight: 700;
     background: linear-gradient(transparent, #0009);
     opacity: 0;
     transition: opacity .25s
 }

 .gallery-grid figure:hover figcaption {
     opacity: 1
 }

 .reason-card {
     background: #fff;
     border-radius: 12px;
     padding: 23px;
     height: 100%;
     border: 1px solid #f0e8df;
     transition: transform .25s, box-shadow .25s;
 }

 .reason-card:hover {
         transform: translateY(-5px);
     box-shadow: 0 12px 24px #26304112
 }

 .reason-card span {
     display: grid;
     place-items: center;
     width: 30px;
     height: 30px;
     border-radius: 50%;
     background: #f6e7dc;
     color: var(--rust);
     font-size: 9px;
     margin-bottom: 14px
 }


 .reason-card h3 {
     font-family: "DM Sans", sans-serif;
     font-size: 13px
 }

 .reason-card p {
     font-size: 10px;
     color: var(--muted);
     margin: 0
 }

 .award-banner {
     background: #414447;
     color: white;
     padding: 35px 0
 }

 .award-banner-inner {
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 30px
 }

 .award-banner h2 {
     font-size: clamp(1.8rem, 3vw, 2.5rem)
 }

 .award-visual {
     display: flex;
     gap: 12px
 }

 .award-paper {
     width: 115px;
     height: 145px;
     background: #fff6a9;
     color: #30302a;
     padding: 15px 10px;
     font-size: 9px;
     box-shadow: 0 4px 16px #0003;
     transform: rotate(-3deg);
     text-align: center;
     display: flex;
     flex-direction: column;
     justify-content: center;
     gap: 8px
 }

 .award-paper b {
     font-size: 17px
 }

 .award-paper small {
     font-size: 6px;
     letter-spacing: .1em
 }

 .award-paper.gold {
     background: #f4d8a0;
     transform: rotate(3deg)
 }

 .guest-card {
     height: 100%;
     background: #33383b;
     border: 1px solid #ffffff20;
     border-radius: 12px;
     overflow: hidden
 }

 .guest-card img {
     width: 100%;
     height: 180px;
     object-fit: cover
 }

 .guest-card>div {
     padding: 18px
 }

 .guest-card h3 {
     font-size: 16px
 }

 .guest-card p {
     font-size: 10px;
     color: #ffffffb5;
     margin: 0
 }

 .guest-card.compact {
     display: flex;
     align-items: center
 }

 .guest-card.compact img {
     width: 42%;
     height: 125px
 }

 .guest-card.compact>div {
     padding: 12px
 }

 .section-navy .quote-card {
     height: 100%;
     border: 1px solid #ffffff25;
     background: #ffffff08;
     border-radius: 12px;
     padding: 25px
 }

 .quote-card>span {
     font-family: Georgia, serif;
     color: #e8b49a;
     font-size: 42px;
     line-height: .7
 }

 .quote-card p {
     font-family: "Playfair Display", serif;
     font-size: 17px;
     line-height: 1.5;
     margin: 15px 0
 }

 .quote-card small {
     font-size: 9px;
     color: #ffffffa8
 }

 .blackwhite-pair {
     display: grid;
     gap: 12px
 }

 .blackwhite-pair img {
     width: 100%;
     height: 190px;
     object-fit: cover;
     filter: grayscale(1);
     border-radius: 12px
 }

 .subhead {
     font-size: 19px;
     margin-top: 22px
 }

 .detail-list {
     padding-left: 18px;
     color: #ffffffbd;
     font-size: 11px;
     line-height: 2
 }

 .custom-accordion .accordion-item {
     border: 1px solid #eee7e0;
     border-radius: 10px !important;
     overflow: hidden;
     margin-bottom: 10px
 }

 .custom-accordion .accordion-button {
     font-family: "DM Sans", sans-serif;
     font-size: 12px;
     font-weight: 700;
     padding: 17px;
     background: #fff;
     color: var(--ink);
     box-shadow: none
 }

 .custom-accordion .accordion-button:not(.collapsed) {
     background: #f9eee5;
     color: var(--rust2)
 }

 .custom-accordion .accordion-body {
     font-size: 11px;
     color: var(--muted);
     line-height: 1.8
 }

 .faq-side {
     background: #f8f0e7;
     border-radius: 15px;
     padding: 25px
 }

 .faq-side h3 {
     font-size: 25px
 }

 .faq-side p:not(.eyebrow) {
     font-size: 11px;
     color: var(--muted)
 }

 .faq-side-image {
     height: 150px;
     margin-top: 22px;
     border-radius: 10px;
     overflow: hidden
 }

 .faq-side-image img {
     width: 100%;
     height: 100%;
     object-fit: cover
 }

 .contact-panel {
     background: #eee8dd;
     padding: 22px;
     border-radius: 12px;
     margin-top: 25px
 }

 .contact-panel h3 {
     font-size: 20px;
     margin-bottom: 15px
 }

 .contact-panel p {
     font-size: 11px;
     color: var(--muted);
     margin-bottom: 13px
 }

 .contact-panel b {
     color: var(--ink)
 }

 .booking-form {
     padding: 30px;
     background: #fff;
     border: 1px solid #eee5dc;
     border-radius: 15px;
     box-shadow: 0 12px 35px #1e28300b
 }

 .booking-form h3 {
     font-size: 27px
 }

 .form-label {
     font-size: 10px;
     font-weight: 700
 }

 .form-control,
 .form-select {
     font-size: 11px;
     min-height: 42px;
     border-radius: 8px;
     border-color: #e8ded4
 }

 .form-control:focus,
 .form-select:focus {
     border-color: #cf9479;
     box-shadow: 0 0 0 .2rem #cf68491c
 }

 .form-message {
     font-size: 11px;
     margin-top: 10px;
     color: #28754c
 }

 .site-footer {
     background: #17283a;
     color: white;
     padding: 52px 0 20px
 }

 .footer-brand {
     color: white
 }

 .footer-brand small {
     color: #ffffff9c
 }

 .footer-copy {
     max-width: 320px;
     color: #ffffffa8;
     font-size: 10px;
     margin-top: 18px
 }

 .site-footer h4 {
     font-family: "DM Sans", sans-serif;
     font-size: 11px;
     margin-bottom: 16px
 }

 .site-footer .col-lg-2 a,
 .site-footer .col-lg-3 a {
     display: block;
     color: #ffffffb3;
     font-size: 10px;
     margin-bottom: 10px
 }

 .site-footer .col-lg-3 p {
     font-size: 10px;
     color: #ffffffb3
 }

 .site-footer a:hover {
     color: #efb69c
 }

 .footer-bottom {
     border-top: 1px solid #ffffff20;
     margin-top: 35px;
     padding-top: 18px;
     display: flex;
     justify-content: space-between;
     gap: 15px;
     color: #ffffff80;
     font-size: 9px
 }

 .footer-bottom a {
     color: #ffffffc9
 }

 .reveal {
     opacity: 0;
     transform: translateY(22px);
     transition: opacity .7s ease, transform .7s ease
 }

 .reveal.visible {
     opacity: 1;
     transform: translateY(0)
 }

 @media(max-width:991px) {
     .hero {
         min-height: 580px;
         padding-top: 130px
     }

     .trust-grid {
         grid-template-columns: repeat(2, 1fr)
     }

     .trust-grid>div:nth-child(2) {
         border-right: 0
     }

     .trust-grid>div {
         padding: 10px
     }

     .section {
         padding: 70px 0
     }

     .benefit-grid {
         grid-template-columns: repeat(2, 1fr)
     }

     .gallery-grid {
         grid-template-columns: repeat(3, 1fr);
         grid-auto-rows: 155px
     }
 }

 @media(max-width:575px) {
     .hero {
         min-height: 620px;
         padding-top: 125px
     }

     .hero h1 {
         font-size: 2.65rem
     }

     .hero-copy {
         font-size: 12px
     }

     .trust-grid {
         padding: 12px
     }

     .trust-grid>div {
         gap: 7px;
         padding: 8px 5px
     }

     .trust-grid b {
         font-size: 9px
     }

     .trust-grid small {
         font-size: 8px
     }

     .section {
         padding: 58px 0
     }

     .photo-arched {
         height: 280px
     }

     .feature-list {
         font-size: 10px;
         gap: 9px
     }

     .image-stack {
         height: 300px
     }

     .experience-images {
         grid-template-rows: 140px 140px
     }

     .gallery-grid {
         grid-template-columns: repeat(2, 1fr);
         grid-auto-rows: 140px;
         gap: 7px
     }

     .award-banner-inner {
         align-items: flex-start;
         flex-direction: column
     }

     .award-paper {
         width: 100px;
         height: 125px
     }

     .guest-card img {
         height: 145px
     }

     .guest-card.compact img {
         height: 115px
     }

     .booking-form {
         padding: 21px 16px
     }

     .footer-bottom {
         flex-wrap: wrap
     }
 }


 /* Source-specific Dala Rooster details */
 .stats-grid {
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     gap: 10px;
     margin-top: 24px
 }

 .stats-grid div {
     padding: 14px 10px;
     border-radius: 10px;
     background: #f4e8df
 }

 .stats-grid strong {
     display: block;
     font: 600 29px "Playfair Display", serif;
     color: var(--rust)
 }

 .stats-grid span {
     display: block;
     font-size: 13px;
     line-height: 1.5;
     color: var(--muted);
     margin-top: 4px
 }

 .rate-card {
     height: 100%;
     padding: 28px;
     background: #fff;
     border: 1px solid #eadfd4;
     border-radius: 15px;
     box-shadow: 0 10px 25px #26304108
 }

 .rate-label {
     display: inline-block;
     background: #f5e3d8;
     color: var(--rust2);
     font-size: 9px;
     font-weight: 700;
     letter-spacing: .15em;
     padding: 7px 10px;
     border-radius: 30px;
     margin-bottom: 15px
 }

 .rate-card h3 {
     font-size: 25px;
     margin-bottom: 12px
 }

 .rate-card h4 {
     font-family: "DM Sans", sans-serif;
     font-size: 12px;
     font-weight: 700;
     margin: 15px 0 10px
 }

 .rate-card p {
     font-size: 14px;
     line-height: 1.6;
     margin-bottom: 7px;
     color: #5e626b
 }

 .rate-card p b {
     color: var(--ink)
 }

 .rate-card .muted {
     color: var(--muted)
 }

 .rate-list {
     padding-left: 18px;
     columns: 2;
     font-size: 14px;
     line-height: 1.9;
     color: #5e626b
 }

 .rate-card hr {
     border-color: #eee1d5;
     margin: 18px 0
 }

 .rate-spacer {
     height: 30px
 }

 .rate-note {
     padding: 13px;
     background: #f8f0e7;
     border-radius: 9px;
     color: #6e6258;
     font-size: 10px;
     line-height: 1.7;
     margin-top: 20px
 }

 @media(max-width:575px) {
     .stats-grid {
         grid-template-columns: repeat(2, 1fr)
     }

     .rate-card {
         padding: 21px
     }

     .rate-list {
         columns: 1
     }

     .rate-spacer {
         height: 0
     }
 }


 /* Refinements requested: video hero, rooster emblem, larger readable type, editorial gallery and taller award feature */
 :root {
     --body-size: 16px;
 }

 body {
     font-size: 16px;
 }

 .brand {
     display: flex;
     align-items: center;
     gap: 10px;
 }

 .rooster-logo {
     width: 42px;
     height: 42px;
     flex: 0 0 42px;
     color: var(--navy);
 }

 .footer-brand .rooster-logo {
     color: #f4dfce;
 }

 .hero {
     position: relative;
     overflow: hidden;
     isolation: isolate;
 }

 .hero-video {
     position: absolute;
     inset: 0;
     width: 100%;
     height: 100%;
     object-fit: cover;
     z-index: -2;
 }

 .hero-overlay {
     z-index: -1;
     background: linear-gradient(90deg, rgba(14, 27, 34, .88) 0%, rgba(14, 27, 34, .62) 56%, rgba(14, 27, 34, .24) 100%), linear-gradient(0deg, rgba(14, 27, 34, .34), transparent 65%);
 }

 .hero-content {
     padding-top: 30px;
     padding-bottom: 42px;
 }

 .hero-copy {
     font-size: clamp(1rem, 1.15vw, 1.15rem);
     line-height: 1.8;
 }

 .hero-note {
     font-size: .95rem;
 }

 .eyebrow {
     font-size: .78rem;
     letter-spacing: .16em;
 }

 .body-copy,
 .dark-copy {
     font-size: 1rem;
     line-height: 1.85;
 }

 .lead-copy {
     font-size: 1.35rem;
 }

 .feature-list {
     font-size: .95rem;
 }

 .trust-grid b {
     font-size: .95rem;
 }

 .trust-grid small {
     font-size: .85rem;
 }

 .mini-feature h3,
 .amenity-card h3,
 .reason-card h3 {
     font-size: 1.05rem;
 }

 .mini-feature p,
 .amenity-card p,
 .reason-card p {
     font-size: .92rem;
     line-height: 1.7;
 }

 .benefit-grid b {
     font-size: 1rem;
 }

 .benefit-grid small {
     font-size: .86rem;
 }

 .gallery-grid {
     grid-template-columns: repeat(12, minmax(0, 1fr));
     grid-auto-rows: 92px;
     gap: 13px;
 }

 .gallery-grid figure:nth-child(6n + 1) {
     grid-column: span 6;
     grid-row: span 3;
 }

 .gallery-grid figure:nth-child(6n + 2) {
     grid-column: span 3;
     grid-row: span 2;
 }

 .gallery-grid figure:nth-child(6n + 3) {
     grid-column: span 3;
     grid-row: span 2;
 }

 .gallery-grid figure:nth-child(6n + 4) {
     grid-column: span 3;
     grid-row: span 2;
 }

 .gallery-grid figure:nth-child(6n + 5) {
     grid-column: span 3;
     grid-row: span 2;
 }

 .gallery-grid figure:nth-child(6n) {
     grid-column: span 6;
     grid-row: span 2;
 }

 .gallery-grid figure {
     border-radius: 15px;
 }

 .gallery-grid figcaption {
     font-size: .9rem;
     padding: 42px 16px 14px;
 }

 .award-banner {
     padding: 84px 0;
     min-height: 460px;
     display: flex;
     align-items: center;
     background: radial-gradient(circle at 78% 30%, #6b5b3d 0, transparent 32%), linear-gradient(120deg, #202b32, #414447 62%, #283b40);
 }

 .award-banner-inner {
     min-height: 300px;
 }

 .award-banner-inner>div:first-child {
     max-width: 560px;
 }

 .award-banner h2 {
     font-size: clamp(2.4rem, 4.5vw, 4.2rem);
     line-height: 1.1;
 }

 .award-banner .dark-copy {
     max-width: 520px;
     font-size: 1.08rem;
 }

 .award-visual {
     gap: 20px;
     perspective: 800px;
 }

 .award-paper {
     width: 150px;
     height: 200px;
     font-size: .78rem;
     box-shadow: 0 14px 35px #0005;
 }

 .award-paper b {
     font-size: 1.35rem;
 }

 .award-paper small {
     font-size: .58rem;
 }

 .guest-video-grid {
     display: grid;
     grid-template-columns: repeat(3, minmax(0, 1fr));
     gap: 20px;
     margin-top: 34px;
 }

 .guest-video-card {
     overflow: hidden;
     background: #303638;
     border: 1px solid #ffffff1e;
     border-radius: 16px;
 }

 .video-frame {
     position: relative;
     aspect-ratio: 16/10;
     background: #151a1c;
 }

 .video-frame video {
     width: 100%;
     height: 100%;
     object-fit: cover;
     display: block;
 }

 .video-badge {
     position: absolute;
     top: 14px;
     left: 14px;
     pointer-events: none;
     background: #172b35d9;
     color: #fff;
     border-radius: 100px;
     padding: 7px 11px;
     font-size: .76rem;
     letter-spacing: .04em;
 }

 .guest-video-copy {
     padding: 22px;
 }

 .guest-video-copy p {
     font-family: 'Playfair Display', serif;
     font-size: 1.2rem;
     line-height: 1.5;
     margin-bottom: 16px;
 }

 .guest-video-copy h3 {
     font-size: 1rem;
     margin: 0 0 4px;
 }

 .guest-video-copy small {
     font-size: .82rem;
     color: #ffffff9e;
 }

 .video-disclaimer {
     font-size: .82rem;
     line-height: 1.7;
     color: #ffffff91;
     margin: 20px 0 0;
 }

 .quote-card p {
     font-size: 1.25rem;
 }

 .quote-card small {
     font-size: .82rem;
 }

 .custom-accordion .accordion-button {
     font-size: 1rem;
 }

 .custom-accordion .accordion-body {
     font-size: .95rem;
     line-height: 1.8;
 }

 .faq-side p:not(.eyebrow),
 .contact-panel p,
 .form-label,
 .form-control,
 .form-select {
     font-size: .95rem;
 }

 .site-footer .col-lg-2 a,
 .site-footer .col-lg-3 a,
 .site-footer .col-lg-3 p,
 .footer-copy {
     font-size: .9rem;
     line-height: 1.7;
 }

 @media(max-width:991px) {
     .gallery-grid {
         grid-auto-rows: 75px;
         gap: 9px;
     }

     .guest-video-grid {
         grid-template-columns: 1fr 1fr;
     }

     .award-banner {
         padding: 62px 0;
     }
 }

 @media(max-width:575px) {
     .hero {
         min-height: 680px;
     }

     .hero h1 {
         font-size: 2.45rem;
     }

     .gallery-grid {
         grid-template-columns: repeat(2, minmax(0, 1fr));
         grid-auto-rows: 125px;
         gap: 8px;
     }

     .gallery-grid figure:nth-child(n) {
         grid-column: span 1;
         grid-row: span 1;
     }

     .gallery-grid figure:nth-child(5n + 1) {
         grid-column: span 2;
         grid-row: span 2;
     }

     .guest-video-grid {
         grid-template-columns: 1fr;
     }

     .award-banner-inner {
         gap: 25px;
     }

     .award-visual {
         gap: 12px;
     }

     .award-paper {
         width: 112px;
         height: 155px;
     }

     .body-copy,
     .dark-copy {
         font-size: .98rem;
     }

     .rooster-logo {
         width: 36px;
         height: 36px;
         flex-basis: 36px;
     }
 }