/* Black Friday homepage · adapted from design handoff
   Scoped under .bf-page to avoid conflicts with site's existing classes */
.bf-page{color:#362017;font:15px/1.65 'Inter',Arial,sans-serif;-webkit-font-smoothing:antialiased}
.bf-page a{text-decoration:none;color:inherit}
.bf-page h1,.bf-page h2,.bf-page h3,.bf-page p{margin-top:0}
.bf-page h1,.bf-page h2,.bf-page h3{font-weight:400}
.bf-page h2{font:500 clamp(43px,5vw,70px)/.98 'Cormorant Garamond',Georgia,serif;letter-spacing:-.025em}
.bf-page h2 em{font-weight:400;font-style:italic}
.bf-page h3{font:500 32px/1.1 'Cormorant Garamond',Georgia,serif}
.bf-wrap{width:min(1260px,calc(100% - 100px));margin:auto}
.bf-section{padding:98px 0}
.bf-eyebrow{font:600 10px/1.5 'Inter',Arial,sans-serif;letter-spacing:.27em;color:#4E0000;margin-bottom:22px;display:block}
.bf-eyebrow.bf-light{color:#F8E5D7}
.bf-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-height:52px;padding:15px 28px;font:600 11px/1.4 'Inter',Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;transition:transform .2s,background .2s;cursor:pointer}
.bf-btn:hover{transform:translateY(-2px)}
.bf-btn.bf-dark{background:#4E0000;color:#F8E5D7}
.bf-btn.bf-dark:hover{background:#6B1526}
.bf-btn.bf-silk{background:#F8E5D7;color:#4E0000}
.bf-btn.bf-silk:hover{background:#fff}
.bf-btn.bf-full{width:100%}

/* Announcement */
.bf-announcement{background:#4E0000;color:#F8E5D7;text-align:center;padding:10px 12px;font:600 10px 'Inter',Arial,sans-serif;letter-spacing:.2em}
.bf-announcement span{color:#C9A46A;margin:0 20px}

/* Hero */
.bf-hero{min-height:640px;display:grid;grid-template-columns:53% 47%;background:#4E0000}
.bf-hero-left{display:flex;align-items:center;background:radial-gradient(circle at 70% 30%,#751927 0,#4E0000 58%)}
.bf-hero-inner{width:min(640px,calc(100% - 110px));margin:50px auto 60px;color:#F8E5D7}
.bf-hero h1{font:400 clamp(68px,6.6vw,112px)/.88 'Italiana',Georgia,serif;letter-spacing:-.045em;margin:24px 0 27px}
.bf-hero h1 em{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-style:italic}
.bf-hero-sub{font:400 clamp(18px,2vw,24px)/1.3 'Cormorant Garamond',Georgia,serif;max-width:470px}
.bf-prices{display:flex;align-items:center;gap:27px;margin:28px 0 5px}
.bf-prices .bf-old{font:36px/1 'Cormorant Garamond',Georgia,serif;color:#D5BCB2}
.bf-prices .bf-old s{text-decoration-thickness:1px}
.bf-prices small{display:block;font:600 9px 'Inter',Arial,sans-serif;letter-spacing:.17em;margin-top:8px}
.bf-slash{width:1px;height:60px;background:rgba(248,229,215,.35)}
.bf-prices .bf-new{font:64px/.9 'Italiana',Georgia,serif}
.bf-save{font-size:12px;margin:18px 0 27px;color:#EAD0C7}
.bf-fine{font-size:11px;color:#E3C5B9;margin:19px 0 0}
.bf-hero-right{position:relative;background:linear-gradient(90deg,rgba(23,10,11,.2),transparent),url('../images/hero-portrait.webp') 51% center/cover no-repeat}
.bf-vertical{position:absolute;right:18px;top:48px;writing-mode:vertical-rl;color:#F8E5D7;font:600 10px 'Inter',Arial,sans-serif;letter-spacing:.2em}

/* Ribbon */
.bf-ribbon{background:#F8E5D7;border-bottom:1px solid #DCCABF}
.bf-ribbon .bf-wrap{display:flex;justify-content:space-between;gap:18px;padding:18px 0;font:600 10px 'Inter',Arial,sans-serif;letter-spacing:.16em;text-align:center;flex-wrap:wrap}
.bf-ribbon b{color:#4E0000}

/* Intro */
.bf-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;background:#EFEEEA}
.bf-intro h2{color:#4E0000;max-width:480px}
.bf-intro-copy{font-size:17px;max-width:560px;color:#362017}
.bf-intro-copy p:last-child{font-size:14px;color:#745E52}

/* Section title shared */
.bf-section-title{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:45px}
.bf-section-title h2{margin-bottom:0}
.bf-section-title>p{max-width:290px;font-size:14px}

/* Curriculum */
.bf-curriculum{background:#E8E5DF;color:#362017}
.bf-modules{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 22px}
.bf-modules article{background:#EFEEEA}
.bf-photo{height:230px;position:relative;background-size:cover;background-position:center}
.bf-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(23,10,11,.42),transparent 65%)}
.bf-photo span{position:absolute;bottom:14px;left:18px;color:white;font:28px 'Cormorant Garamond',Georgia,serif;z-index:1}
.bf-p1{background-image:url('../images/hero-portrait.webp')}
.bf-p2{background-image:url('../images/bf-kit.jpg')}
.bf-p3{background-image:url('../images/bf-kit.jpg')}
.bf-p4{background-image:url('../images/bf-kit.jpg')}
.bf-p5{background-image:url('../images/hero-portrait.webp')}
.bf-p6{background-image:url('../images/bf-kit.jpg')}
.bf-module-copy{padding:21px 23px 26px;min-height:178px}
.bf-module-copy small{font:600 9px 'Inter',Arial,sans-serif;letter-spacing:.16em;color:#4E0000}
.bf-module-copy h3{margin:10px 0 8px;color:#1a1410}
.bf-module-copy p{font-size:13px;line-height:1.65;margin:0;color:#5a4a3f}
.bf-asset-note{margin:24px 0 0;font-size:11px;color:#796E66;font-style:italic}

/* Experience */
.bf-experience{display:grid;grid-template-columns:48% 52%;min-height:485px;background:#362017;color:#F8E5D7}
.bf-experience-photo{position:relative;background:url('../images/experience-handson.jpg') center/cover no-repeat}
.bf-experience-text{padding:70px clamp(35px,6vw,110px)}
.bf-experience h2{font-size:65px;color:#F8E5D7}
.bf-experience h2 em{color:#F8E5D7}
.bf-experience-text>p{font:22px/1.3 'Cormorant Garamond',Georgia,serif;max-width:500px;color:#F8E5D7}
.bf-experience ul{padding:0;list-style:none;margin:27px 0 0}
.bf-experience li{font-size:13px;padding:7px 0}
.bf-experience li:before{content:'✦';color:#C9A46A;margin-right:14px}

/* Pricing */
.bf-pricing{background:#EFEEEA}
.bf-pricing h2{color:#4E0000}
.bf-cards{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.bf-price-card{position:relative;border:1px solid #D8C7BA;padding:37px 40px 34px;min-height:590px;display:flex;flex-direction:column;background:#EFEEEA}
.bf-price-card.bf-feature{border-color:#4E0000}
.bf-flag{position:absolute;top:0;right:0;background:#EDC3C1;padding:10px 16px;font:600 9px 'Inter',Arial,sans-serif;letter-spacing:.12em;color:#4E0000}
.bf-price-card h3{font-size:39px;margin:0 0 14px;color:#1a1410}
.bf-card-price{font:68px/1 'Italiana',Georgia,serif;color:#4E0000}
.bf-caption{font-size:12px;margin:12px 0 25px;color:#665247}
.bf-price-card ul{list-style:none;padding:0;margin:0 0 26px}
.bf-price-card li{font-size:13px;padding:7px 0 7px 22px;position:relative;color:#362017}
.bf-price-card li:before{content:'✓';position:absolute;left:0;color:#4E0000;font-weight:700}
.bf-price-card .bf-btn{margin-top:auto}
.bf-foot{font-size:11px;margin:18px 0 0;color:#7C665B}
.bf-deadline{background:#F2DEDC;padding:17px 19px;margin-top:17px}
.bf-deadline small{display:block;font:600 9px 'Inter',Arial,sans-serif;letter-spacing:.16em;color:#4E0000}
.bf-deadline strong{display:block;font:500 23px 'Cormorant Garamond',Georgia,serif;margin:4px 0;color:#1a1410}
.bf-deadline p{font-size:11px;margin:0;color:#4E0000}
.bf-after{font-size:11px;margin:20px 0 0;color:#77675F}

/* Educator */
.bf-educator{background:#E5DFD7;padding:75px 0;color:#362017}
.bf-educator-grid{display:grid;grid-template-columns:43% 1fr;gap:9%;align-items:center}
.bf-educator-photo{height:440px;background:url('../images/hero-portrait.webp') center/cover no-repeat;position:relative}
.bf-educator-copy{max-width:570px}
.bf-educator-copy h2{color:#4E0000}
.bf-educator-copy p{font-size:15px}
.bf-signature{font:italic 30px 'Cormorant Garamond',Georgia,serif;color:#4E0000;margin-top:26px}

/* FAQ */
.bf-faq{background:#EFEEEA;color:#362017}
.bf-faq h2{color:#4E0000;margin-bottom:40px}
.bf-faq-items{max-width:1000px}
.bf-faq details{border-top:1px solid #CDBDB1;padding:20px 0}
.bf-faq details:last-child{border-bottom:1px solid #CDBDB1}
.bf-faq summary{cursor:pointer;list-style:none;font:500 25px 'Cormorant Garamond',Georgia,serif;display:flex;justify-content:space-between;align-items:center;color:#1a1410}
.bf-faq summary:after{content:'+';font:22px 'Inter',Arial,sans-serif;color:#4E0000}
.bf-faq details[open] summary:after{content:'−'}
.bf-faq details p{max-width:780px;font-size:14px;margin:14px 0 2px;color:#362017}

/* Closing */
.bf-closing{position:relative;text-align:center;background:#4E0000;color:#F8E5D7;padding:100px 0;overflow:hidden}
.bf-closing .bf-wrap{position:relative}
.bf-closing h2{font:400 clamp(60px,7vw,95px)/.9 'Italiana',Georgia,serif;margin:0 0 25px;color:#F8E5D7}
.bf-closing h2 em{font-family:'Cormorant Garamond',Georgia,serif;color:#F8E5D7}
.bf-closing p{font:22px 'Cormorant Garamond',Georgia,serif;color:#F8E5D7}
.bf-closing small{display:block;margin-top:20px;font-size:11px;color:#F8E5D7}

/* Mobile */
@media(max-width:1100px){
  .bf-wrap{width:calc(100% - 58px)}
  .bf-hero h1{font-size:75px}
  .bf-hero-inner{width:calc(100% - 68px)}
  .bf-experience-text{padding:55px 45px}
  .bf-experience h2{font-size:55px}
}
@media(max-width:760px){
  .bf-announcement{font-size:8px;line-height:1.7}
  .bf-announcement span{margin:0 7px}
  .bf-wrap{width:calc(100% - 36px)}
  .bf-hero{grid-template-columns:1fr}
  .bf-hero-left{min-height:550px}
  .bf-hero-inner{width:calc(100% - 42px);margin:58px auto}
  .bf-hero h1{font-size:clamp(65px,13vw,93px)}
  .bf-hero-right{min-height:340px;background-position:center 42%}
  .bf-ribbon .bf-wrap{flex-wrap:wrap;justify-content:center;gap:8px;padding:14px 0;font-size:8px}
  .bf-ribbon b{margin:0 6px}
  .bf-section{padding:66px 0}
  .bf-intro{grid-template-columns:1fr;gap:5px}
  .bf-intro-copy{font-size:15px}
  .bf-section-title{display:block;margin-bottom:28px}
  .bf-section-title>p{margin-top:18px}
  .bf-modules{grid-template-columns:repeat(2,1fr);gap:14px}
  .bf-photo{height:190px}
  .bf-module-copy{padding:17px;min-height:205px}
  .bf-module-copy h3{font-size:26px}
  .bf-module-copy p{font-size:12px}
  .bf-experience{grid-template-columns:1fr}
  .bf-experience-photo{min-height:320px}
  .bf-experience-text{padding:55px 26px}
  .bf-experience h2{font-size:52px}
  .bf-cards{grid-template-columns:1fr;gap:20px}
  .bf-price-card{padding:28px 25px;min-height:0}
  .bf-educator-grid{grid-template-columns:1fr;gap:34px}
  .bf-educator-photo{height:350px}
  .bf-closing{padding:75px 0}
  .bf-closing h2{font-size:65px}
}
@media(max-width:420px){
  .bf-modules{grid-template-columns:1fr}
  .bf-photo{height:250px}
  .bf-module-copy{min-height:0}
  .bf-prices{gap:15px}
  .bf-prices .bf-new{font-size:56px}
  .bf-prices .bf-old{font-size:31px}
  .bf-hero h1{font-size:63px}
  .bf-btn{font-size:10px;padding:15px 17px}
}
