.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0
}
.fixed {
    position: fixed
}
.absolute {
    position: absolute
}
.relative {
    position: relative
}
.sticky {
    position: sticky
}
.inset-0 {
    inset: 0px
}
.right-0 {
    right: 0px
}
.top-0 {
    top: 0px
}
.z-50 {
    z-index: 50
}
.mb-4 {
    margin-bottom: 1rem
}
.mb-6 {
    margin-bottom: 1.5rem
}
.mt-10 {
    margin-top: 2.5rem
}
.mt-2 {
    margin-top: 0.5rem
}
.mt-3 {
    margin-top: 0.75rem
}
.mt-4 {
    margin-top: 1rem
}
.mt-5 {
    margin-top: 1.25rem
}
.mt-6 {
    margin-top: 1.5rem
}
.mt-8 {
    margin-top: 2rem
}
.block {
    display: block
}
.flex {
    display: flex
}
.inline-flex {
    display: inline-flex
}
.grid {
    display: grid
}
.hidden {
    display: none
}
.aspect-\[16\/9\] {
    aspect-ratio: 16/9
}
.aspect-\[4\/5\] {
    aspect-ratio: 4/5
}
.h-\[76px\] {
    height: 76px
}
.h-auto {
    height: auto
}
.h-full {
    height: 100%
}
.h-px {
    height: 1px
}
.min-h-\[46px\] {
    min-height: 46px
}
.min-h-\[76px\] {
    min-height: 76px
}
.min-h-\[calc\(100svh-7rem\)\] {
    min-height: calc(100svh - 7rem)
}
.w-5 {
    width: 1.25rem
}
.w-\[min\(92vw\2c 360px\)\] {
    width: min(92vw,360px)
}
.w-auto {
    width: auto
}
.w-full {
    width: 100%
}
.max-w-2xl {
    max-width: 42rem
}
.max-w-3xl {
    max-width: 48rem
}
.max-w-4xl {
    max-width: 56rem
}
.max-w-xl {
    max-width: 36rem
}
.shrink-0 {
    flex-shrink: 0
}
.cursor-pointer {
    cursor: pointer
}
.list-none {
    list-style-type: none
}
.grid-cols-\[auto_1fr_auto\] {
    grid-template-columns: auto 1fr auto
}
.flex-col {
    flex-direction: column
}
.items-center {
    align-items: center
}
.justify-end {
    justify-content: flex-end
}
.justify-center {
    justify-content: center
}
.justify-between {
    justify-content: space-between
}
.gap-10 {
    gap: 2.5rem
}
.gap-12 {
    gap: 3rem
}
.gap-2 {
    gap: 0.5rem
}
.gap-3 {
    gap: 0.75rem
}
.gap-4 {
    gap: 1rem
}
.gap-5 {
    gap: 1.25rem
}
.gap-6 {
    gap: 1.5rem
}
.gap-\[3px\] {
    gap: 3px
}
.divide-y > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-y-reverse: 0;
    border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(1px * var(--tw-divide-y-reverse))
}
.divide-pine\/10 > :not([hidden]) ~ :not([hidden]) {
    border-color: rgb(7 27 58 / 0.1)
}
.overflow-hidden {
    overflow: hidden
}
.text-balance {
    text-wrap: balance
}
.rounded-2xl {
    border-radius: 1rem
}
.rounded-3xl {
    border-radius: 1.5rem
}
.rounded-full {
    border-radius: 9999px
}
.rounded-xl {
    border-radius: 0.75rem
}
.border {
    border-width: 1px
}
.border-b {
    border-bottom-width: 1px
}
.border-t {
    border-top-width: 1px
}
.border-\[rgba\(23\2c 25\2c 26\2c \.10\)\] {
    border-color: rgba(23,25,26,.10)
}
.border-\[rgba\(23\2c 25\2c 26\2c \.16\)\] {
    border-color: rgba(23,25,26,.16)
}
.border-\[rgba\(23\2c 25\2c 26\2c \.20\)\] {
    border-color: rgba(23,25,26,.20)
}
.border-pine\/10 {
    border-color: rgb(7 27 58 / 0.1)
}
.border-white\/10 {
    border-color: rgb(255 255 255 / 0.1)
}
.border-white\/15 {
    border-color: rgb(255 255 255 / 0.15)
}
.bg-\[\#081F3A\] {
    --tw-bg-opacity: 1;
    background-color: rgb(8 31 58 / var(--tw-bg-opacity, 1))
}
.bg-\[\#D9A93B\] {
    --tw-bg-opacity: 1;
    background-color: rgb(217 169 59 / var(--tw-bg-opacity, 1))
}
.bg-\[\#F7F4ED\] {
    --tw-bg-opacity: 1;
    background-color: rgb(247 244 237 / var(--tw-bg-opacity, 1))
}
.bg-\[rgba\(23\2c 25\2c 26\2c \.04\)\] {
    background-color: rgba(23,25,26,.04)
}
.bg-brass {
    --tw-bg-opacity: 1;
    background-color: rgb(199 163 91 / var(--tw-bg-opacity, 1))
}
.bg-charcoal {
    --tw-bg-opacity: 1;
    background-color: rgb(16 36 71 / var(--tw-bg-opacity, 1))
}
.bg-current {
    background-color: currentColor
}
.bg-ivory {
    --tw-bg-opacity: 1;
    background-color: rgb(247 246 242 / var(--tw-bg-opacity, 1))
}
.bg-pine {
    --tw-bg-opacity: 1;
    background-color: rgb(7 27 58 / var(--tw-bg-opacity, 1))
}
.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1))
}
.bg-gradient-to-r {
    background-image: linear-gradient(to right, var(--tw-gradient-stops))
}
.from-\[\#071D35\] {
    --tw-gradient-from: #071D35 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(7 29 53 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}
.via-\[\#0B2747\]\/90 {
    --tw-gradient-to: rgb(11 39 71 / 0)  var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), rgb(11 39 71 / 0.9) var(--tw-gradient-via-position), var(--tw-gradient-to)
}
.to-transparent {
    --tw-gradient-to: transparent var(--tw-gradient-to-position)
}
.object-cover {
    object-fit: cover
}
.p-4 {
    padding: 1rem
}
.p-5 {
    padding: 1.25rem
}
.p-6 {
    padding: 1.5rem
}
.p-7 {
    padding: 1.75rem
}
.px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem
}
.px-4 {
    padding-left: 1rem;
    padding-right: 1rem
}
.px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem
}
.px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem
}
.px-7 {
    padding-left: 1.75rem;
    padding-right: 1.75rem
}
.py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem
}
.py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem
}
.py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem
}
.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem
}
.py-5 {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem
}
.pb-24 {
    padding-bottom: 6rem
}
.pt-2 {
    padding-top: 0.5rem
}
.pt-24 {
    padding-top: 6rem
}
.text-center {
    text-align: center
}
.font-sans {
    font-family: Inter, Arial, sans-serif
}
.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem
}
.text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem
}
.text-5xl {
    font-size: 3rem;
    line-height: 1
}
.text-\[11px\] {
    font-size: 11px
}
.text-base {
    font-size: 1rem;
    line-height: 1.5rem
}
.text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem
}
.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem
}
.font-bold {
    font-weight: 700
}
.font-extrabold {
    font-weight: 800
}
.font-medium {
    font-weight: 500
}
.font-semibold {
    font-weight: 600
}
.uppercase {
    text-transform: uppercase
}
.leading-6 {
    line-height: 1.5rem
}
.leading-7 {
    line-height: 1.75rem
}
.leading-8 {
    line-height: 2rem
}
.leading-\[\.92\] {
    line-height: .92
}
.leading-tight {
    line-height: 1.25
}
.tracking-\[\.12em\] {
    letter-spacing: .12em
}
.tracking-wide {
    letter-spacing: 0.025em
}
.text-\[\#17191A\] {
    --tw-text-opacity: 1;
    color: rgb(23 25 26 / var(--tw-text-opacity, 1))
}
.text-\[\#D9A93B\] {
    --tw-text-opacity: 1;
    color: rgb(217 169 59 / var(--tw-text-opacity, 1))
}
.text-brass {
    --tw-text-opacity: 1;
    color: rgb(199 163 91 / var(--tw-text-opacity, 1))
}
.text-ivory {
    --tw-text-opacity: 1;
    color: rgb(247 246 242 / var(--tw-text-opacity, 1))
}
.text-ivory\/80 {
    color: rgb(247 246 242 / 0.8)
}
.text-ivory\/85 {
    color: rgb(247 246 242 / 0.85)
}
.text-pine {
    --tw-text-opacity: 1;
    color: rgb(7 27 58 / var(--tw-text-opacity, 1))
}
.text-pine\/60 {
    color: rgb(7 27 58 / 0.6)
}
.text-pine\/65 {
    color: rgb(7 27 58 / 0.65)
}
.text-pine\/70 {
    color: rgb(7 27 58 / 0.7)
}
.text-pine\/75 {
    color: rgb(7 27 58 / 0.75)
}
.underline {
    text-decoration-line: underline
}
.decoration-pine\/30 {
    text-decoration-color: rgb(7 27 58 / 0.3)
}
.underline-offset-4 {
    text-underline-offset: 4px
}
.antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}
.shadow-2xl {
    --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.shadow-\[0_8px_22px_rgba\(217\2c 169\2c 59\2c \.18\)\] {
    --tw-shadow: 0 8px 22px rgba(217,169,59,.18);
    --tw-shadow-colored: 0 8px 22px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.shadow-sm {
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}
.hover\:-translate-y-0\.5:hover {
    --tw-translate-y: -0.125rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.hover\:bg-\[\#E5B94F\]:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(229 185 79 / var(--tw-bg-opacity, 1))
}
.hover\:bg-\[rgba\(23\2c 25\2c 26\2c \.03\)\]:hover {
    background-color: rgba(23,25,26,.03)
}
.hover\:bg-\[rgba\(23\2c 25\2c 26\2c \.04\)\]:hover {
    background-color: rgba(23,25,26,.04)
}
.hover\:bg-charcoal:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(16 36 71 / var(--tw-bg-opacity, 1))
}
.hover\:bg-white\/5:hover {
    background-color: rgb(255 255 255 / 0.05)
}
.hover\:text-\[\#D9A93B\]:hover {
    --tw-text-opacity: 1;
    color: rgb(217 169 59 / var(--tw-text-opacity, 1))
}
@media (min-width: 640px) {
    .sm\:flex-row {
        flex-direction: row
    }
    .sm\:text-6xl {
        font-size: 3.75rem;
        line-height: 1
    }
}
@media (min-width: 768px) {
    .md\:flex {
        display: flex
    }
    .md\:h-\[88px\] {
        height: 88px
    }
    .md\:min-h-\[88px\] {
        min-height: 88px
    }
    .md\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
    .md\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }
    .md\:items-end {
        align-items: flex-end
    }
    .md\:gap-5 {
        gap: 1.25rem
    }
    .md\:p-8 {
        padding: 2rem
    }
    .md\:px-4 {
        padding-left: 1rem;
        padding-right: 1rem
    }
    .md\:py-0 {
        padding-top: 0px;
        padding-bottom: 0px
    }
    .md\:py-20 {
        padding-top: 5rem;
        padding-bottom: 5rem
    }
    .md\:pb-0 {
        padding-bottom: 0px
    }
    .md\:pt-28 {
        padding-top: 7rem
    }
    .md\:text-5xl {
        font-size: 3rem;
        line-height: 1
    }
    .md\:text-6xl {
        font-size: 3.75rem;
        line-height: 1
    }
    .md\:text-7xl {
        font-size: 4.5rem;
        line-height: 1
    }
    .md\:text-lg {
        font-size: 1.125rem;
        line-height: 1.75rem
    }
    .md\:text-xl {
        font-size: 1.25rem;
        line-height: 1.75rem
    }
    .md\:leading-8 {
        line-height: 2rem
    }
}
@media (min-width: 1024px) {
    .lg\:flex {
        display: flex
    }
    .lg\:hidden {
        display: none
    }
    .lg\:grid-cols-\[\.8fr_1\.2fr\] {
        grid-template-columns: .8fr 1.2fr
    }
    .lg\:grid-cols-\[1fr_\.9fr\] {
        grid-template-columns: 1fr .9fr
    }
    .lg\:grid-cols-\[1fr_1\.1fr\] {
        grid-template-columns: 1fr 1.1fr
    }
    .lg\:items-start {
        align-items: flex-start
    }
    .lg\:text-\[6\.6rem\] {
        font-size: 6.6rem
    }
}
@media (min-width: 1280px) {
    .xl\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }
    .xl\:gap-7 {
        gap: 1.75rem
    }
}

/* Readable accent text on light surfaces and clear anchor landing positions. */
.bg-ivory .eyebrow{color:#796338}
.site-header a[href="https://blufftongc.com/lessons"]{color:#806019}
#pricing,#lesson-request{scroll-margin-top:110px}

html{scroll-behavior:smooth;box-sizing:border-box;overflow-x:hidden}
    *,*:before,*:after{box-sizing:inherit}
    body{margin:0;background:#071D35;color:#F7F4ED;overflow-x:hidden;font-family:Inter,Arial,sans-serif}
    img,iframe{max-width:100%;display:block}
    .display-serif{font-family:'Cormorant Garamond',Georgia,serif;letter-spacing:-.04em}
    .glass{background:rgba(11,39,71,.78);border:1px solid rgba(247,244,237,.10);backdrop-filter:blur(14px)}
    .container-xl{width:min(1180px,calc(100% - 1.25rem));margin-inline:auto}
    .eyebrow{letter-spacing:.22em;text-transform:uppercase;font-size:.72rem;font-weight:700;color:#AD9362}
    .nav-link{position:relative}
    .nav-link:after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:1px;background:#AD9362;transition:right .25s}
    .nav-link:hover:after,.nav-link:focus:after{right:0}
    html:not(.aos-loaded) [data-aos]{opacity:1 !important;transform:none !important;visibility:visible !important;transition:none !important}
    @media (prefers-reduced-motion: reduce){
      html [data-aos]{
        opacity:1 !important;
        transform:none !important;
        visibility:visible !important;
        transition:none !important;
        animation:none !important
      }
      html [data-aos].aos-animate{
        opacity:1 !important;
        transform:none !important
      }
    }
      .site-header{height:clamp(76px,8vw,94px)}
  .site-header .header-inner{min-height:88px}
  .site-header .logo-mark{max-height:66px;width:auto}
  .site-header .header-button{min-height:46px}
  .site-header .menu-button{min-height:46px;min-width:46px}
    .section{padding:clamp(3.5rem,7vw,7rem) 0}
    .text-balance{text-wrap:balance}
    details[open] .faq-plus{transform:rotate(45deg)}
    .lesson-frame{width:100%;height:1550px;min-height:1550px;border:1px solid rgba(11,39,71,.14);border-radius:1.5rem;background:#fff;overflow:hidden}
    .mobile-actions{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.65rem .65rem calc(.65rem + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(7,29,53,0),rgba(7,29,53,.9) 18%,rgba(7,29,53,.98));backdrop-filter:blur(18px);padding-top:1.4rem}
    .mobile-actions a{min-height:44px;border-radius:9999px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:.78rem;line-height:1.1;padding:.7rem .75rem}
    .mobile-actions .strong{background:#C7A35B;color:#071B3A;font-weight:800}
    .mobile-actions .ghost{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#F7F4ED;font-weight:700}
    .mobile-nav-panel{display:none}
    details[open] .mobile-nav-panel{display:block}
    .bgc-site-footer{padding:56px 0 32px;background:#17191A;color:#F5F1E8;border-top:1px solid rgba(245,241,232,.12)}
    .bgc-site-footer .__wrap{width:min(1240px,92vw);margin-inline:auto}
    .bgc-site-footer .__grid{display:grid;grid-template-columns:1.15fr .95fr .9fr;gap:34px}
    .bgc-site-footer .__brand{display:flex;flex-direction:column;gap:16px}
    .bgc-site-footer .__logo-tile{width:190px;height:145px;padding:14px;border-radius:12px;background:#F3EEE4;display:inline-flex;align-items:center;justify-content:center}
    .bgc-site-footer .__logo{max-width:155px;max-height:110px;width:auto;height:auto}
    .bgc-site-footer .__tagline{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(2rem,2.6vw,2.1rem);line-height:.98;letter-spacing:-.04em;max-width:12ch;margin:0}
    .bgc-site-footer .__contact{display:grid;gap:8px;color:#B8B1A6;font-size:15px}
    .bgc-site-footer .__contact a{color:#F5F1E8}
    .bgc-site-footer .__heading{margin:0 0 10px;letter-spacing:.18em;text-transform:uppercase;font-weight:800;font-size:10px}
    .bgc-site-footer .__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:10px;row-gap:18px;font-size:14px}
    .bgc-site-footer .__link{color:#B8B1A6;transition:color .2s}
    .bgc-site-footer .__link:hover,.bgc-site-footer .__link:focus{color:#F5F1E8}
    .bgc-site-footer .__actions{display:flex;flex-direction:column;gap:12px}
    .bgc-site-footer .__cta{min-height:52px;padding:0 18px;border-radius:999px;background:#D9A93B;color:#17191A;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 28px rgba(217,169,59,.20);transition:background .2s}
    .bgc-site-footer .__cta:hover,.bgc-site-footer .__cta:focus{background:#E5B94F}
    .bgc-site-footer .__cta--ghost{background:transparent;color:#F5F1E8;border:1px solid rgba(245,241,232,.22);box-shadow:none}
    .bgc-site-footer .__rail{margin-top:32px;padding-top:18px;border-top:1px solid rgba(245,241,232,.12);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;color:#B8B1A6;font-size:13px}
    @media (max-width: 1024px){
      .site-header .header-inner{min-height:76px}
      .site-header .desktop-links,
      .site-header .desktop-actions{display:none}
      .bgc-site-footer .__grid{grid-template-columns:1fr 1fr}
      .bgc-site-footer .__actions{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap}
      .bgc-site-footer .__actions .__cta{min-width:240px}
    }
    @media (max-width: 768px){
      .lesson-frame{height:1550px;min-height:1550px}
      .section{padding:clamp(3rem,8vw,5rem) 0}
      .bgc-site-footer{padding:52px 0 32px}
      .bgc-site-footer .__grid{grid-template-columns:1fr;gap:28px}
      .bgc-site-footer .__logo-tile{width:165px;height:125px}
      .bgc-site-footer .__logo{max-width:136px;max-height:96px}
      .bgc-site-footer .__tagline{font-size:clamp(1.95rem,8vw,2.2rem);max-width:none}
      .bgc-site-footer .__links{grid-template-columns:1fr}
      .bgc-site-footer .__rail{margin-top:30px}
      .bgc-site-footer .__actions{flex-direction:column}
      .bgc-site-footer .__cta{width:100%}
    }
    @media (min-width: 769px) and (max-width: 1024px){
      .lesson-frame{height:1400px;min-height:1400px}
    }
    @media (min-width: 1025px){
      .lesson-frame{height:1320px;min-height:1320px}
    }
    @media (min-width: 769px){
      .mobile-actions{display:none}
    }