/* ============================================================
   BRAVOTOWER — inner custom pages (Layanan, Tentang, Kontak, dll)
   Shares the .bt-* design system from home.css. Adds page-banner
   + full-bleed resets for the bt-custom body class.
   ============================================================ */
body.bt-custom #primary,
body.bt-custom #content .ast-container,
body.bt-custom .site-content{padding:0!important;margin:0!important;max-width:100%!important;width:100%!important}
body.bt-custom #primary{border:0!important}
body.bt-custom .entry-header,
body.bt-custom .entry-title,
body.bt-custom .ast-archive-description,
body.bt-custom .ast-archive-entry-banner,
body.bt-custom .ast-archive-header,
body.bt-custom .ast-page-header-wrap,
body.bt-custom #ast-hero-section,
body.bt-custom #secondary,
body.bt-custom .ast-single-post-order{display:none!important}
body.bt-custom .entry-content{margin:0!important}

/* Editor-native pages: neutralize theme .entry-content overrides inside the bespoke design */
body.bt-native .bt-home a,body.bt-native .bt-home a:hover{text-decoration:none}
body.bt-native .bt-home ul,body.bt-native .bt-home ol{list-style:none;margin:0;padding:0}
body.bt-native .bt-home li{margin:0}
/* each bravo/* block wraps its section in .bt-home — override the 1200px block content-width
   constraint so sections are full-bleed (backgrounds full width, inner .bt-wrap stays centered) */
body.bt-native .entry-content > .bt-home,
body.bt-native .bt-home{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important}

/* page banner (compact hero for inner pages) */
.bt-banner{position:relative;background:var(--bt-navy);color:#fff;overflow:hidden}
.bt-banner .bt-wrap{padding:62px 24px 56px;position:relative;z-index:2}
.bt-banner .crumb{display:flex;gap:9px;align-items:center;justify-content:center;flex-wrap:wrap;font-size:13.5px;color:#b9c2d6;margin-bottom:14px}
.bt-banner .crumb a{color:#b9c2d6}
.bt-banner .crumb a:hover{color:#fff}
.bt-banner .crumb .sep{opacity:.4}
.bt-banner .crumb .cur{color:#ff8198}
.bt-banner h1{color:#fff;font-size:clamp(30px,4.2vw,48px);text-align:center;line-height:1.15}
.bt-banner p{color:#c3cad9;text-align:center;max-width:680px;margin:14px auto 0;font-size:17px;line-height:1.7}

/* feature rows (alternating text + accent) for service detail */
.bt-feature{display:grid;grid-template-columns:64px 1fr;gap:20px;align-items:start;background:#fff;border:1px solid var(--bt-line);border-radius:var(--bt-r-lg);padding:28px 30px;transition:transform .2s var(--bt-ease),box-shadow .2s var(--bt-ease),border-color .2s}
.bt-feature:hover{transform:translateY(-4px);box-shadow:var(--bt-shadow-sm);border-color:var(--bt-peach2)}
.bt-feature .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}
.bt-feature h3{font-size:20px;margin-bottom:8px}
.bt-feature p{font-size:15.5px;color:var(--bt-ink);margin:0}
.bt-featgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}

/* contact layout */
.bt-contact-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:start}
.bt-cinfo .row{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--bt-line)}
.bt-cinfo .row .ic{flex:none;width:52px;height:52px;border-radius:14px;background:var(--bt-peach);color:var(--bt-red);display:flex;align-items:center;justify-content:center;font-size:24px}
.bt-cinfo .row b{font-family:'Domine',serif;color:var(--bt-navy);display:block;font-size:16px;margin-bottom:2px}
.bt-cinfo .row a,.bt-cinfo .row span{color:var(--bt-ink);font-size:15.5px}
.bt-mapwrap{margin-top:24px;border-radius:var(--bt-r-lg);overflow:hidden;border:1px solid var(--bt-line);height:260px}
.bt-mapwrap iframe{width:100%;height:100%;border:0}
.bt-cform{background:#fff;border:1px solid var(--bt-line);border-radius:var(--bt-r-xl);padding:34px;box-shadow:var(--bt-shadow)}
.bt-cform label{display:block;font-weight:700;font-size:13.5px;color:var(--bt-navy);margin:14px 0 7px}
.bt-cform input,.bt-cform textarea,.bt-cform select{width:100%;padding:13px 15px;border:1px solid var(--bt-line);border-radius:var(--bt-r);font-family:inherit;font-size:15px;color:var(--bt-ink);background:var(--bt-soft)}
.bt-cform input:focus,.bt-cform textarea:focus,.bt-cform select:focus{outline:none;border-color:var(--bt-red);background:#fff;box-shadow:0 0 0 4px var(--bt-red-soft)}
.bt-cform .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bt-cform .bt-btn{width:100%;justify-content:center;margin-top:20px}

/* ---- BLOG listing ---- */
.bt-bloggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.bt-postcard{background:#fff;border:1px solid var(--bt-line);border-radius:var(--bt-r-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .22s var(--bt-ease),box-shadow .22s var(--bt-ease)}
.bt-postcard:hover{transform:translateY(-5px);box-shadow:var(--bt-shadow)}
.bt-postcard .thumb{display:block;height:200px;overflow:hidden;background:var(--bt-soft)}
.bt-postcard .thumb img{width:100%;height:100%;object-fit:cover;transition:.5s var(--bt-ease)}
.bt-postcard:hover .thumb img{transform:scale(1.06)}
.bt-postcard .body{padding:22px 24px;display:flex;flex-direction:column;flex:1}
.bt-postcard .date{font-size:12px;color:var(--bt-red);font-weight:800;text-transform:uppercase;letter-spacing:.8px;margin-bottom:9px}
.bt-postcard h3{font-size:18px;line-height:1.3;margin-bottom:10px;font-family:'Domine',serif}
.bt-postcard h3 a{color:var(--bt-navy)}
.bt-postcard h3 a:hover{color:var(--bt-red)}
.bt-postcard p{font-size:14.5px;color:var(--bt-ink);margin:0 0 16px;line-height:1.65}
.bt-postcard .more{margin-top:auto;color:var(--bt-red);font-weight:800;font-size:14px;display:inline-flex;align-items:center;gap:6px}
.bt-pagination{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:46px}
.bt-pagination .page-numbers{padding:10px 16px;border:1px solid var(--bt-line);border-radius:var(--bt-r);font-weight:700;color:var(--bt-navy);text-decoration:none;line-height:1}
.bt-pagination .page-numbers.current{background:var(--bt-red);color:#fff;border-color:var(--bt-red)}
.bt-pagination a.page-numbers:hover{border-color:var(--bt-red);color:var(--bt-red)}

/* ---- BLOG single article ---- */
.bt-article{max-width:820px;margin:0 auto}
.bt-article > *{max-width:100%}
.bt-article img{border-radius:var(--bt-r-lg);height:auto;margin:20px 0}
.bt-article h2{font-size:27px;margin:30px 0 12px}
.bt-article h3{font-size:21px;margin:24px 0 10px}
.bt-article h4{font-size:18px;margin:20px 0 8px}
.bt-article p{font-size:16.5px;line-height:1.85;margin:0 0 18px;color:var(--bt-ink)}
.bt-article ul,.bt-article ol{margin:0 0 18px 22px;font-size:16.5px;line-height:1.85;color:var(--bt-ink)}
.bt-article li{margin-bottom:8px}
.bt-article a{color:var(--bt-red);text-decoration:underline}
.bt-article strong{color:var(--bt-navy)}
.bt-article blockquote{border-left:4px solid var(--bt-red);padding:6px 0 6px 22px;margin:22px 0;font-family:'Domine',serif;font-style:italic;color:var(--bt-navy);font-size:18px}
.bt-article figure{margin:20px 0}
.bt-article table{width:100%;border-collapse:collapse;margin:20px 0}
.bt-article td,.bt-article th{border:1px solid var(--bt-line);padding:10px 14px;font-size:15px}

/* ---- Tower page: INTRO (narrative + key facts) ---- */
.bt-intro-sec{padding-bottom:34px}
.bt-intro-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:46px;align-items:start}
.bt-intro-text .bt-eyebrow{display:inline-block;font-size:12px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--bt-red);margin-bottom:10px}
.bt-intro-text h2{font-size:clamp(24px,3vw,34px);line-height:1.18;color:var(--bt-navy);margin-bottom:18px}
.bt-intro-text .lead{font-size:18px;line-height:1.75;color:var(--bt-navy);margin:0 0 16px;font-weight:500}
.bt-intro-text p{font-size:16px;line-height:1.85;color:var(--bt-ink);margin:0 0 14px}
.bt-keyfacts{background:var(--bt-navy);border-radius:var(--bt-r-lg);padding:26px 26px 24px;box-shadow:var(--bt-shadow);position:sticky;top:90px}
.bt-keyfacts .kf-head{display:flex;align-items:center;gap:9px;color:#fff;font-family:'Domine',serif;font-weight:600;font-size:18px;padding-bottom:14px;margin-bottom:6px;border-bottom:1px solid rgba(255,255,255,.12)}
.bt-keyfacts .kf-head i{color:#ff8198;font-size:22px}
.bt-keyfacts .kf-row{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px dashed rgba(255,255,255,.12);font-size:14px}
.bt-keyfacts .kf-row .k{color:#aeb7c9;flex:none;max-width:46%}
.bt-keyfacts .kf-row .v{color:#fff;text-align:right;font-weight:600}
.bt-keyfacts .bt-btn{width:100%;justify-content:center;margin-top:18px}

/* ---- Tower page: SPEC TABLE ---- */
.bt-spec{width:100%;max-width:820px;margin:6px auto 0;border-collapse:separate;border-spacing:0;border:1px solid var(--bt-line);border-radius:var(--bt-r-lg);overflow:hidden;box-shadow:var(--bt-shadow-sm)}
.bt-spec th,.bt-spec td{padding:15px 22px;font-size:15.5px;text-align:left;vertical-align:top}
.bt-spec th{width:38%;background:var(--bt-peach);color:var(--bt-navy);font-family:'Domine',serif;font-weight:600;border-bottom:1px solid #fff}
.bt-spec td{color:var(--bt-ink);background:#fff;border-bottom:1px solid var(--bt-line)}
.bt-spec tr:last-child th,.bt-spec tr:last-child td{border-bottom:0}

/* ---- Tower page: PROCESS STEPS ---- */
.bt-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.bt-step{position:relative;background:#fff;border:1px solid var(--bt-line);border-radius:var(--bt-r-lg);padding:26px 24px 22px;transition:transform .2s var(--bt-ease),box-shadow .2s var(--bt-ease),border-color .2s;overflow:hidden}
.bt-step:hover{transform:translateY(-5px);box-shadow:var(--bt-shadow-sm);border-color:var(--bt-peach2)}
.bt-step .num{position:absolute;top:14px;right:18px;font-family:'Domine',serif;font-size:42px;font-weight:700;color:var(--bt-peach2);opacity:.7;line-height:1}
.bt-step .ic{width:54px;height:54px;border-radius:14px;background:var(--bt-peach);color:var(--bt-red);display:flex;align-items:center;justify-content:center;font-size:27px;margin-bottom:16px}
.bt-step h4{font-size:18px;color:var(--bt-navy);margin-bottom:7px;position:relative;z-index:2}
.bt-step p{font-size:14.5px;color:var(--bt-ink);line-height:1.65;margin:0}

/* ---- Integrated cross-links (menu-driven) ---- */
.bt-svc a.it{text-decoration:none;color:inherit;display:block}
.bt-cat ul.lk{list-style:none;margin:0;padding:0}
.bt-cat ul.lk li{padding:0;border-top:1px solid var(--bt-line)}
.bt-cat ul.lk li:first-child{border-top:0}
.bt-cat ul.lk li a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 2px;color:var(--bt-ink);text-decoration:none;font-size:14.5px;transition:color .15s var(--bt-ease),padding .15s var(--bt-ease)}
.bt-cat ul.lk li a:hover{color:var(--bt-red);padding-left:8px}
.bt-cat ul.lk li a i{flex:none;color:var(--bt-red);font-size:15px;opacity:.45;transition:.15s var(--bt-ease)}
.bt-cat ul.lk li a:hover i{opacity:1;transform:translateX(2px)}
.bt-crosslinks{margin-top:30px;background:var(--bt-peach);border:1px solid var(--bt-peach2);border-radius:var(--bt-r-lg);padding:22px 26px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px}
.bt-crosslinks .cl-label{display:flex;align-items:center;gap:9px;font-family:'Domine',serif;color:var(--bt-navy);font-size:16px}
.bt-crosslinks .cl-label i{color:var(--bt-red);font-size:21px}
.bt-crosslinks .cl-label strong{color:var(--bt-red)}
.cl-pills{display:flex;flex-wrap:wrap;gap:9px}
.cl-pills a{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--bt-peach2);color:var(--bt-navy);border-radius:999px;padding:8px 15px;font-size:13.5px;font-weight:700;text-decoration:none;transition:.16s var(--bt-ease)}
.cl-pills a i{font-size:14px;color:var(--bt-red);transition:.16s var(--bt-ease)}
.cl-pills a:hover{background:var(--bt-red);border-color:var(--bt-red);color:#fff}
.cl-pills a:hover i{color:#fff;transform:translateX(2px)}

@media(max-width:900px){
  .bt-featgrid,.bt-contact-grid{grid-template-columns:1fr}
  .bt-bloggrid{grid-template-columns:1fr 1fr}
  .bt-intro-grid{grid-template-columns:1fr;gap:30px}
  .bt-keyfacts{position:static}
  .bt-steps{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .bt-feature{grid-template-columns:1fr}.bt-cform .two{grid-template-columns:1fr}
  .bt-bloggrid{grid-template-columns:1fr}
  .bt-steps{grid-template-columns:1fr}
  .bt-spec th{width:44%}
}

/* ---- "Mulai dari" pricing (banner badge + Ringkasan price card) ---- */
.bt-banner .bt-price-badge{display:inline-flex;align-items:baseline;gap:11px;margin-top:22px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);padding:11px 20px;border-radius:14px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.bt-banner .bt-price-badge .lbl{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.78);font-weight:800}
.bt-banner .bt-price-badge .amt{font-size:clamp(22px,2.4vw,30px);font-weight:800;color:#fff;font-family:'Domine',Georgia,serif}
.bt-banner .bt-price-badge .unit{font-size:13px;color:rgba(255,255,255,.72)}
.bt-keyfacts .kf-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:18px 0 6px;padding:16px 18px;border-radius:14px;background:linear-gradient(135deg,var(--bt-peach),#fff);border:1px solid var(--bt-peach2)}
.bt-keyfacts .kf-price-lbl{width:100%;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;font-weight:800;color:var(--bt-red);margin-bottom:2px}
.bt-keyfacts .kf-price-amt{font-size:clamp(26px,3vw,33px);font-weight:800;color:var(--bt-red);font-family:'Domine',Georgia,serif;line-height:1}
.bt-keyfacts .kf-price-unit{font-size:14px;color:var(--bt-red-d);font-weight:700}
.bt-keyfacts .kf-price-note{width:100%;font-size:11.5px;color:#8a93a3;margin-top:4px;line-height:1.45}
