/* ============================================================
   BRAVOTOWER — bespoke homepage (rendered via WordPress front-page.php)
   Scoped to .bt-home. Uses Astra header/footer; this styles the body.
   ============================================================ */
:root{
  --bt-red:#DD183B; --bt-red-d:#CC1939; --bt-navy:#0F172A; --bt-navy2:#16223b;
  --bt-ink:#3A3A3A; --bt-muted:#6b7280; --bt-peach:#FFEDE6; --bt-peach2:#FFD1BF;
  --bt-line:#ece3df; --bt-soft:#faf6f4;
  --bt-r:12px; --bt-r-lg:18px; --bt-r-xl:26px;
  --bt-shadow:0 26px 60px -30px rgba(15,23,42,.40);
  --bt-shadow-sm:0 14px 32px -20px rgba(15,23,42,.34);
  --bt-ease:cubic-bezier(.22,.68,.2,1);
}

/* Let our sections run full-width inside Astra's content container */
body.home #primary,body.home #content .ast-container,body.home .site-content{padding:0!important;margin:0!important;max-width:100%!important;width:100%!important}
body.home #primary{border:0!important}
body.home .entry-header,body.home .ast-single-post-order,body.home .entry-title,
body.home .ast-archive-description,body.home #secondary{display:none!important}
body.home .entry-content{margin:0!important}

.bt-home{ width:100vw; margin-left:calc(50% - 50vw); font-family:'Nunito Sans',system-ui,sans-serif; color:var(--bt-ink); line-height:1.75; font-size:16.5px; }
.bt-home *{box-sizing:border-box}
.bt-home img{max-width:100%;display:block}
.bt-home a{text-decoration:none;color:inherit}
.bt-home h1,.bt-home h2,.bt-home h3,.bt-home h4{font-family:'Domine',Georgia,serif;color:var(--bt-navy);line-height:1.2;margin:0;font-weight:600;letter-spacing:-.01em}
.bt-home p{margin:0}
.bt-wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.bt-eyebrow{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:13px;letter-spacing:2.5px;text-transform:uppercase;color:var(--bt-red)}
.bt-eyebrow::before{content:"";width:28px;height:2px;background:var(--bt-red)}
.bt-eyebrow.light{color:#ff8198}.bt-eyebrow.light::before{background:#ff8198}
.bt-sec{padding:96px 0}
.bt-head{max-width:720px;margin:0 auto 54px;text-align:center}
.bt-head .bt-eyebrow{margin-bottom:16px}
.bt-head h2{font-size:clamp(28px,3.6vw,42px);margin-bottom:16px}
.bt-head p{font-size:18px;color:var(--bt-ink)}

/* buttons */
.bt-btn{display:inline-flex;align-items:center;gap:9px;font-family:'Nunito Sans',sans-serif;font-weight:800;font-size:15.5px;padding:14px 27px;border-radius:var(--bt-r);border:2px solid transparent;cursor:pointer;transition:.18s var(--bt-ease)}
.bt-btn i{font-size:19px}
.bt-btn-red{background:var(--bt-red);color:#fff;box-shadow:0 16px 32px -16px rgba(221,24,59,.75)}
.bt-btn-red:hover{background:var(--bt-red-d);transform:translateY(-2px);color:#fff}
.bt-btn-out{border-color:rgba(255,255,255,.55);color:#fff}
.bt-btn-out:hover{background:#fff;color:var(--bt-navy)}
.bt-btn-ghost{border-color:var(--bt-line);color:var(--bt-navy)}
.bt-btn-ghost:hover{border-color:var(--bt-red);color:var(--bt-red)}
.bt-btn-white{background:#fff!important;color:var(--bt-red)!important}
.bt-btn-white i{color:var(--bt-red)!important}
.bt-btn-white:hover{background:var(--bt-navy)!important;color:#fff!important}
.bt-btn-white:hover i{color:#fff!important}

/* hero */
.bt-hero{background:var(--bt-navy);color:#fff;overflow:hidden}
.bt-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;min-height:600px;max-width:1280px;margin:0 auto}
.bt-hero-text{padding:74px 48px;display:flex;flex-direction:column;justify-content:center}
.bt-hero-photo{position:relative;overflow:hidden;background:var(--bt-navy)}
.bt-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
.bt-hero-photo::before{content:"";position:absolute;top:0;left:0;bottom:0;width:96px;background:linear-gradient(90deg,var(--bt-navy),transparent);z-index:2;pointer-events:none}
@media(max-width:860px){.bt-hero-grid{grid-template-columns:1fr;min-height:0}.bt-hero-text{padding:56px 24px}.bt-hero-photo{min-height:340px}.bt-hero-photo::before{display:none}}
.bt-hero .pill{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;font-weight:700;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);padding:8px 17px;border-radius:30px;margin-bottom:22px}
.bt-hero .pill i{color:#ff8198;font-size:17px}
.bt-hero h1{color:#fff;font-size:clamp(36px,5.4vw,62px);line-height:1.07;margin-bottom:20px}
.bt-hero h1 em{font-style:normal;color:#ff8198}
.bt-hero .sub{font-size:19px;color:#e7ecf5;max-width:590px;margin-bottom:32px}
.bt-hero .cta{display:flex;gap:14px;flex-wrap:wrap}
.bt-hero .trust{display:flex;gap:30px;flex-wrap:wrap;margin-top:40px;padding-top:28px;border-top:1px solid rgba(255,255,255,.16)}
.bt-hero .trust .t{display:flex;align-items:center;gap:12px}
.bt-hero .trust .t i{font-size:27px;color:#ff8198}
.bt-hero .trust .t b{display:block;font-family:'Domine',serif;color:#fff;font-size:17px}
.bt-hero .trust .t span{font-size:13px;color:#b9c2d6}

/* stats */
.bt-stats{background:var(--bt-navy)}
.bt-stats .grid{display:grid;grid-template-columns:repeat(4,1fr)}
.bt-stats .it{padding:36px 20px;text-align:center;border-right:1px solid rgba(255,255,255,.09)}
.bt-stats .it:last-child{border-right:0}
.bt-stats .it i{font-size:30px;color:var(--bt-red);margin-bottom:10px;display:block}
.bt-stats .n{font-family:'Domine',serif;font-size:38px;color:#fff;font-weight:700;line-height:1}
.bt-stats .n .s{color:var(--bt-red)}
.bt-stats .l{font-size:13.5px;color:#aeb7c9;margin-top:8px}

/* services */
.bt-svc{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.bt-svc .it{position:relative;border:1px solid var(--bt-line);border-radius:var(--bt-r-lg);padding:34px 30px;background:#fff;transition:.22s var(--bt-ease);overflow:hidden}
.bt-svc .it::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--bt-red);transform:scaleX(0);transform-origin:left;transition:.3s var(--bt-ease)}
.bt-svc .it:hover{transform:translateY(-6px);box-shadow:var(--bt-shadow);border-color:transparent}
.bt-svc .it:hover::before{transform:scaleX(1)}
.bt-svc .ic{width:64px;height:64px;border-radius:16px;background:var(--bt-peach);color:var(--bt-red);display:flex;align-items:center;justify-content:center;font-size:30px;margin-bottom:20px;transition:.22s var(--bt-ease)}
.bt-svc .it:hover .ic{background:var(--bt-red);color:#fff}
.bt-svc .it h3{font-size:21px;margin-bottom:10px}
.bt-svc .it p{font-size:15.5px;color:var(--bt-ink)}
.bt-svc .it .more{display:inline-flex;align-items:center;gap:7px;color:var(--bt-red);font-weight:800;font-size:14.5px;margin-top:18px}

/* about */
.bt-about{background:var(--bt-soft)}
.bt-about .grid{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center}
.bt-about .media{position:relative}
.bt-about .media .m1{border-radius:var(--bt-r-lg);width:100%;height:470px;object-fit:cover;box-shadow:var(--bt-shadow)}
.bt-about .media .m2{position:absolute;right:-20px;bottom:-26px;width:200px;height:200px;object-fit:cover;border-radius:var(--bt-r-lg);border:7px solid var(--bt-soft);box-shadow:var(--bt-shadow-sm)}
.bt-about .media .badge{position:absolute;left:-16px;top:28px;background:var(--bt-red);color:#fff;border-radius:16px;padding:16px 20px;box-shadow:var(--bt-shadow);text-align:center}
.bt-about .media .badge b{font-family:'Domine',serif;font-size:30px;display:block;line-height:1}
.bt-about .media .badge span{font-size:12px;font-weight:700;letter-spacing:.5px}
.bt-about h2{font-size:clamp(28px,3.4vw,40px);margin:16px 0 18px}
.bt-about .lead{font-size:17px;margin-bottom:14px}
.bt-about .feat{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:24px 0 30px}
.bt-about .feat .f{display:flex;gap:11px;align-items:flex-start;font-weight:700;color:var(--bt-navy);font-size:15px}
.bt-about .feat .f i{flex:none;width:26px;height:26px;border-radius:7px;background:var(--bt-peach);color:var(--bt-red);display:flex;align-items:center;justify-content:center;font-size:16px}

/* tower types */
.bt-types{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.bt-types .it{position:relative;border-radius:var(--bt-r-lg);overflow:hidden;height:300px;display:flex;align-items:flex-end;box-shadow:var(--bt-shadow-sm)}
.bt-types .it img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.5s var(--bt-ease)}
.bt-types .it:hover img{transform:scale(1.08)}
.bt-types .it::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 32%,rgba(15,23,42,.92))}
.bt-types .ov{position:relative;width:100%;padding:24px;color:#fff;z-index:2}
.bt-types .ov .k{font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:#ff8198}
.bt-types .ov h3{color:#fff;font-size:21px;margin:6px 0 4px}
.bt-types .ov p{font-size:13.5px;color:#d6dcea}
.bt-chips{display:flex;flex-wrap:wrap;gap:11px;justify-content:center;margin-top:32px}
.bt-chips span{font-size:14px;font-weight:700;color:var(--bt-navy);background:#fff;border:1px solid var(--bt-line);padding:10px 18px;border-radius:30px;transition:.18s}
.bt-chips span:hover{background:var(--bt-red);color:#fff;border-color:var(--bt-red)}

/* process */
.bt-process{background:var(--bt-peach)}
.bt-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.bt-steps .it{position:relative;background:#fff;border-radius:var(--bt-r-lg);padding:30px 26px;box-shadow:var(--bt-shadow-sm)}
.bt-steps .it .num{font-family:'Domine',serif;font-size:42px;font-weight:700;color:var(--bt-peach2);line-height:1}
.bt-steps .it .ic{width:54px;height:54px;border-radius:14px;background:var(--bt-red);color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;margin:-28px 0 16px auto;box-shadow:0 12px 24px -12px rgba(221,24,59,.7)}
.bt-steps .it h4{font-size:18px;margin-bottom:8px}
.bt-steps .it p{font-size:14px;color:var(--bt-ink)}

/* advantages (with icons!) on navy */
.bt-adv{background:var(--bt-navy);color:#fff}
.bt-adv .bt-head h2{color:#fff}.bt-adv .bt-head p{color:#aeb7c9}
.bt-advg{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.bt-advg .it{background:var(--bt-navy2);border:1px solid rgba(255,255,255,.08);border-radius:var(--bt-r-lg);padding:30px 28px;transition:.22s var(--bt-ease)}
.bt-advg .it:hover{border-color:var(--bt-red);transform:translateY(-5px)}
.bt-advg .ic{width:56px;height:56px;border-radius:14px;background:rgba(221,24,59,.14);color:var(--bt-red);display:flex;align-items:center;justify-content:center;font-size:27px;margin-bottom:18px}
.bt-advg .it:hover .ic{background:var(--bt-red);color:#fff}
.bt-advg h4{color:#fff;font-size:19px;margin-bottom:8px}
.bt-advg p{font-size:14.5px;color:#aeb7c9}

/* gallery */
.bt-gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:16px}
.bt-gal a{position:relative;border-radius:var(--bt-r-lg);overflow:hidden;box-shadow:var(--bt-shadow-sm)}
.bt-gal a img{width:100%;height:100%;object-fit:cover;transition:.5s var(--bt-ease)}
.bt-gal a:hover img{transform:scale(1.08)}
.bt-gal a.big{grid-column:span 2;grid-row:span 2}

/* testimonials (light cards — readable!) */
.bt-test{background:var(--bt-soft)}
.bt-testg{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.bt-testg .it{background:#fff;border:1px solid var(--bt-line);border-radius:var(--bt-r-lg);padding:34px 30px;position:relative;transition:.2s var(--bt-ease)}
.bt-testg .it:hover{box-shadow:var(--bt-shadow);transform:translateY(-4px)}
.bt-testg .q{position:absolute;top:22px;right:28px;font-family:'Domine',serif;font-size:62px;line-height:1;color:var(--bt-peach2)}
.bt-stars{color:#f5a623;font-size:16px;margin-bottom:14px}
.bt-testg p{font-size:16.5px;color:var(--bt-navy);font-family:'Domine',serif;font-style:italic;line-height:1.6;margin-bottom:22px;position:relative;z-index:2}
.bt-who{display:flex;align-items:center;gap:13px}
.bt-av{flex:none;width:50px;height:50px;border-radius:50%;background:var(--bt-red);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-family:'Domine',serif;font-size:17px}
.bt-who b{display:block;color:var(--bt-navy);font-size:15.5px;font-family:'Domine',serif}
.bt-who small{color:var(--bt-red);font-size:13px;font-weight:700}

/* team */
.bt-teamg{display:grid;grid-template-columns:repeat(2,minmax(0,360px));gap:28px;justify-content:center}
.bt-teamg .it{text-align:center;border:1px solid var(--bt-line);border-radius:var(--bt-r-lg);padding:38px 30px;transition:.22s var(--bt-ease);background:#fff}
.bt-teamg .it:hover{box-shadow:var(--bt-shadow);transform:translateY(-5px);border-color:transparent}
.bt-teamg .av{width:100px;height:100px;font-size:32px;margin:0 auto 18px}
.bt-teamg .bt-photo{width:122px;height:122px;border-radius:50%;object-fit:cover;object-position:center top;margin:0 auto 18px;border:4px solid var(--bt-peach);box-shadow:0 16px 34px -18px rgba(221,24,59,.55)}
.bt-teamg h4{font-size:21px}
.bt-teamg .role{color:var(--bt-red);font-weight:800;font-size:13px;letter-spacing:.6px;text-transform:uppercase;margin-top:5px}
.bt-teamg .soc{display:flex;gap:10px;justify-content:center;margin-top:16px}
.bt-teamg .soc a{width:38px;height:38px;border-radius:10px;border:1px solid var(--bt-line);display:flex;align-items:center;justify-content:center;color:var(--bt-navy);font-size:18px;transition:.18s}
.bt-teamg .soc a:hover{background:var(--bt-red);color:#fff;border-color:var(--bt-red)}

/* cta band */
.bt-band{background:var(--bt-red);color:#fff;text-align:center}
.bt-band .bt-wrap{padding:74px 24px}
.bt-band h2{color:#fff;font-size:clamp(28px,3.6vw,40px);margin-bottom:12px}
.bt-band p{font-size:18px;color:#ffe2e7;margin-bottom:26px;max-width:620px;margin-left:auto;margin-right:auto}
.bt-band .cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* reveal on scroll */
.bt-reveal{opacity:0;transform:translateY(30px);transition:opacity .7s var(--bt-ease),transform .7s var(--bt-ease)}
.bt-reveal.is-in{opacity:1;transform:none}

/* FAQ accordion */
.bt-faq{max-width:880px;margin:0 auto}
.bt-faq-item{background:#fff;border:1px solid var(--bt-line);border-radius:var(--bt-r);margin-bottom:12px;transition:border-color .2s,box-shadow .2s}
.bt-faq-item.open{border-color:var(--bt-red);box-shadow:var(--bt-shadow-sm)}
.bt-faq-q{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;cursor:pointer;font-family:'Domine',serif;font-weight:600;color:var(--bt-navy);font-size:17px}
.bt-faq-q i{flex:none;color:var(--bt-red);font-size:24px;transition:transform .3s var(--bt-ease)}
.bt-faq-item.open .bt-faq-q i{transform:rotate(45deg)}
.bt-faq-a{max-height:0;opacity:0;overflow:hidden;transition:max-height .35s ease,opacity .3s}
.bt-faq-item.open .bt-faq-a{max-height:340px;opacity:1}
.bt-faq-a p{font-size:15.5px;color:var(--bt-ink);padding:0 24px 22px;margin:0}

/* gallery lightbox */
.bt-gal a{cursor:zoom-in}
.bt-lightbox{position:fixed;inset:0;background:rgba(15,23,42,.93);z-index:99999;display:none;align-items:center;justify-content:center;padding:34px}
.bt-lightbox.open{display:flex}
.bt-lightbox img{max-width:92vw;max-height:88vh;border-radius:var(--bt-r);box-shadow:0 34px 90px -20px rgba(0,0,0,.7)}
.bt-lb-close{position:absolute;top:22px;right:26px;width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.15);color:#fff;font-size:26px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.18s}
.bt-lb-close:hover{background:var(--bt-red)}

/* tower types showcase — auto-fit for 8 cards */
.bt-types{grid-template-columns:repeat(auto-fit,minmax(232px,1fr))}
.bt-types .it{height:270px}

/* comprehensive categorized list (30+ types) */
.bt-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px}
.bt-cat{background:#fff;border:1px solid var(--bt-line);border-radius:var(--bt-r-lg);padding:26px 26px 22px;transition:transform .2s var(--bt-ease),box-shadow .2s var(--bt-ease),border-color .2s}
.bt-cat:hover{transform:translateY(-4px);box-shadow:var(--bt-shadow-sm);border-color:var(--bt-peach2)}
.bt-cat .ch{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.bt-cat .ic{flex:none;width:46px;height:46px;border-radius:12px;background:var(--bt-peach);color:var(--bt-red);display:flex;align-items:center;justify-content:center;font-size:24px}
.bt-cat h4{font-size:18px;line-height:1.2}
.bt-cat ul{list-style:none;margin:0;padding:0}
.bt-cat li{display:flex;align-items:center;gap:9px;font-size:14.5px;color:var(--bt-ink);padding:6px 0;border-top:1px solid var(--bt-line)}
.bt-cat li:first-child{border-top:0}
.bt-cat li i{color:var(--bt-red);font-size:16px;flex:none}
.bt-typecount{display:inline-flex;align-items:center;gap:8px;margin-top:34px;background:var(--bt-navy);color:#fff;padding:13px 24px;border-radius:30px;font-weight:700;font-size:15px}
.bt-typecount i{color:#ff8198;font-size:20px}

@media(max-width:1024px){
  .bt-about .grid{grid-template-columns:1fr;gap:54px}
  .bt-svc,.bt-types,.bt-advg,.bt-testg,.bt-cats{grid-template-columns:1fr 1fr}
  .bt-steps{grid-template-columns:1fr 1fr;gap:36px 24px}
  .bt-about .media{max-width:520px;margin:0 auto}
  .bt-hero h1{font-size:40px}
}
@media(max-width:680px){
  .bt-stats .grid{grid-template-columns:1fr 1fr}
  .bt-stats .it:nth-child(2){border-right:0}
  .bt-sec{padding:60px 0}
  .bt-hero{min-height:580px}
}
@media(max-width:560px){
  .bt-svc,.bt-types,.bt-advg,.bt-testg,.bt-steps,.bt-teamg,.bt-about .feat,.bt-cats{grid-template-columns:1fr}
  .bt-gal{grid-template-columns:1fr 1fr;grid-auto-rows:150px}
  .bt-gal a.big{grid-column:span 2}
}

/* ============================================================
   FLUID SCALING FOR LARGE DISPLAYS  (FHD → 2K → 4K → 8K)
   Content widths + typography grow with the viewport so the
   design fills any monitor proportionally instead of sitting as
   a small centred island. Breakpoints map to the CSS viewport
   (already accounts for OS/DPI scaling), so it works on every
   screen. .bt-wrap = universal container (stats, services,
   about, types, process, advantages, gallery, testimonials,
   faq, team, CTA, and inner-page banners all live inside it).
   ============================================================ */
@media(min-width:1600px){
  .bt-wrap,.bt-banner .bt-wrap,.bt-article{max-width:1440px}
  .bt-hero-grid{max-width:1520px}
  .bt-home{font-size:18px}
  .bt-hero h1{font-size:68px}
  .bt-banner h1{font-size:54px}
  .bt-head h2,.bt-about h2,.bt-band h2{font-size:40px}
  .bt-hero .sub,.bt-about .lead,.bt-head p,.bt-banner p{font-size:19px}
  .bt-eyebrow,.bt-btn{font-size:16px}
  .bt-svc .it h3,.bt-types .ov h3,.bt-feature h3{font-size:23px}
  .bt-svc .it p,.bt-advg p,.bt-feature p,.bt-faq-a p,.bt-postcard p{font-size:17px}
  .bt-stats .n{font-size:54px}.bt-stats .l{font-size:15px}
  .bt-faq-q,.bt-advg h4{font-size:20px}
  .bt-spec th,.bt-spec td{font-size:18px;padding:18px 26px}
}
@media(min-width:2000px){
  .bt-wrap,.bt-banner .bt-wrap,.bt-article{max-width:1780px}
  .bt-hero-grid{max-width:1860px}
  .bt-home{font-size:20.5px}
  .bt-hero h1{font-size:84px}
  .bt-banner h1{font-size:66px}
  .bt-head h2,.bt-about h2,.bt-band h2{font-size:50px}
  .bt-hero .sub,.bt-about .lead,.bt-head p,.bt-banner p{font-size:22px}
  .bt-eyebrow,.bt-btn{font-size:18px}.bt-btn{padding:17px 34px}
  .bt-svc .it h3,.bt-types .ov h3,.bt-feature h3{font-size:27px}
  .bt-svc .it p,.bt-advg p,.bt-feature p,.bt-faq-a p,.bt-postcard p{font-size:19px}
  .bt-stats .n{font-size:66px}.bt-stats .l{font-size:17px}
  .bt-faq-q,.bt-advg h4{font-size:24px}
  .bt-hero-text{padding:92px 60px}
  .bt-spec th,.bt-spec td{font-size:20px;padding:20px 30px}
}
@media(min-width:2560px){ /* 2K / QHD */
  .bt-wrap,.bt-banner .bt-wrap,.bt-article{max-width:2240px}
  .bt-hero-grid{max-width:2340px}
  .bt-home{font-size:24px}
  .bt-hero h1{font-size:106px}
  .bt-banner h1{font-size:84px}
  .bt-head h2,.bt-about h2,.bt-band h2{font-size:64px}
  .bt-hero .sub,.bt-about .lead,.bt-head p,.bt-banner p{font-size:27px}
  .bt-eyebrow,.bt-btn{font-size:21px}.bt-btn{padding:20px 40px}
  .bt-svc .it h3,.bt-types .ov h3,.bt-feature h3{font-size:33px}
  .bt-svc .it p,.bt-advg p,.bt-feature p,.bt-faq-a p,.bt-postcard p{font-size:23px}
  .bt-stats .n{font-size:86px}.bt-stats .l{font-size:20px}
  .bt-faq-q,.bt-advg h4{font-size:29px}
  .bt-hero-text{padding:120px 76px}
  .bt-svc,.bt-types,.bt-advg,.bt-cats{gap:34px}
  .bt-spec th,.bt-spec td{font-size:24px;padding:24px 36px}
}
@media(min-width:3500px){ /* 4K */
  .bt-wrap,.bt-banner .bt-wrap,.bt-article{max-width:3100px}
  .bt-hero-grid{max-width:3220px}
  .bt-home{font-size:32px}
  .bt-hero h1{font-size:144px}
  .bt-banner h1{font-size:116px}
  .bt-head h2,.bt-about h2,.bt-band h2{font-size:90px}
  .bt-hero .sub,.bt-about .lead,.bt-head p,.bt-banner p{font-size:37px}
  .bt-eyebrow,.bt-btn{font-size:29px}.bt-btn{padding:28px 56px}
  .bt-svc .it h3,.bt-types .ov h3,.bt-feature h3{font-size:46px}
  .bt-svc .it p,.bt-advg p,.bt-feature p,.bt-faq-a p,.bt-postcard p{font-size:31px}
  .bt-stats .n{font-size:120px}.bt-stats .l{font-size:28px}
  .bt-faq-q,.bt-advg h4{font-size:40px}
  .bt-hero-text{padding:170px 100px}
  .bt-svc,.bt-types,.bt-advg,.bt-cats{gap:46px}
  .bt-spec th,.bt-spec td{font-size:32px;padding:32px 48px}
}
@media(min-width:6000px){ /* 8K */
  .bt-wrap,.bt-banner .bt-wrap,.bt-article{max-width:5400px}
  .bt-hero-grid{max-width:5600px}
  .bt-home{font-size:56px}
  .bt-hero h1{font-size:248px}
  .bt-banner h1{font-size:200px}
  .bt-head h2,.bt-about h2,.bt-band h2{font-size:156px}
  .bt-hero .sub,.bt-about .lead,.bt-head p,.bt-banner p{font-size:64px}
  .bt-eyebrow,.bt-btn{font-size:50px}.bt-btn{padding:48px 96px}
  .bt-svc .it h3,.bt-types .ov h3,.bt-feature h3{font-size:80px}
  .bt-svc .it p,.bt-advg p,.bt-feature p,.bt-faq-a p,.bt-postcard p{font-size:54px}
  .bt-stats .n{font-size:210px}.bt-stats .l{font-size:48px}
  .bt-faq-q,.bt-advg h4{font-size:70px}
  .bt-hero-text{padding:300px 180px}
}

/* ---- Interactive "30+ jenis tower": clickable showcase cards + category links ---- */
.bt-svc a.it{text-decoration:none;color:inherit;cursor:pointer}
.bt-types a.it{text-decoration:none;color:inherit;cursor:pointer}
.bt-types a.it:hover{box-shadow:var(--bt-shadow)}
.bt-it-go{position:absolute;top:14px;right:14px;z-index:4;width:42px;height:42px;border-radius:50%;background:var(--bt-red);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;opacity:0;transform:translateX(10px) scale(.85);transition:.3s var(--bt-ease);box-shadow:0 8px 20px rgba(221,24,59,.5)}
.bt-types a.it:hover .bt-it-go{opacity:1;transform:none}
.bt-cat ul li a{color:inherit;text-decoration:none;display:inline-flex;align-items:flex-start;gap:8px;transition:color .2s var(--bt-ease),transform .2s var(--bt-ease)}
.bt-cat ul li a:hover,.bt-cat ul li a:hover i{color:var(--bt-red)}
.bt-cat ul li a:hover{transform:translateX(3px)}
