/* ==========================================================================
   PT BERKAH REZEKI SEMESTA — WEBSITE STYLESHEET (VERSI TANPA FOTO)
   ==========================================================================
   Seluruh elemen visual di versi ini dibuat murni dari CSS (tipografi,
   warna, garis, pola) — tidak ada foto/gambar/vektor pihak ketiga.
   Struktur section mengikuti index.html; lihat komentar per section
   untuk pemetaan ke Elementor (lihat CONTENT-GUIDE.md).
   ========================================================================== */

:root{
  --basalt:#1E2124;
  --overburden:#332C25;
  --limestone:#F1ECE1;
  --limestone-dim:#E7E0D2;
  --rust:#C6702B;
  --rust-dim:#A85D22;
  --stone:#8A8477;
  --stone-dark:#5C574C;
  --ink:#211D18;
  --line:rgba(33,29,24,0.14);
  --line-dark:rgba(241,236,225,0.16);

  --display:'Big Shoulders Display',sans-serif;
  --body:'Inter',sans-serif;
  --mono:'JetBrains Mono',monospace;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--body);
  background:var(--limestone);
  color:var(--ink);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}

.wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
@media(max-width:640px){.wrap{padding:0 20px;}}

h1,h2,h3,h4{font-family:var(--display);font-weight:800;letter-spacing:0.01em;line-height:1.05;text-transform:uppercase;}

.eyebrow{
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--rust);
  display:flex;align-items:center;gap:10px;
  margin-bottom:14px;
}
.eyebrow::before{content:'';width:26px;height:2px;background:var(--rust);display:inline-block;}

/* ==========================================================================
   1. UTILITY BAR
   ========================================================================== */
.utility{background:var(--basalt);color:var(--limestone-dim);font-family:var(--mono);font-size:12px;}
.utility .wrap{display:flex;justify-content:space-between;align-items:center;padding:8px 28px;flex-wrap:wrap;gap:6px;}
.utility a{color:var(--limestone-dim);}
.utility a:hover{color:var(--rust);}
.utility .u-right{display:flex;gap:20px;}
@media(max-width:640px){.utility .u-right{display:none;}}

/* ==========================================================================
   2. HEADER / NAV
   ========================================================================== */
header{position:sticky;top:0;z-index:400;background:var(--basalt);border-bottom:1px solid var(--line-dark);}
nav.wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 28px;}
.brand{display:flex;align-items:center;gap:12px;min-width:0;flex:0 1 auto;}
.brand-logo{height:58px;width:auto;flex:0 0 auto;}
.brand-name{
  font-family:var(--display);color:var(--limestone);
  font-size:19px;font-weight:800;letter-spacing:0.02em;
  line-height:1.1;text-transform:uppercase;
}
.nav-links{display:flex;gap:24px;font-size:13px;font-weight:600;color:var(--limestone-dim);flex-wrap:wrap;}
.nav-links a{padding:4px 0;transition:color .15s;}
.nav-links a:hover{color:var(--rust);}
.nav-cta{background:var(--rust);color:#fff;font-weight:700;font-size:13px;padding:10px 20px;border:1px solid var(--rust);transition:background .15s;white-space:nowrap;}
.nav-cta:hover{background:var(--rust-dim);}
.nav-toggle{
  display:none;background:none;border:none;color:var(--limestone);
  font-size:24px;line-height:1;cursor:pointer;
  width:44px;height:44px;flex:0 0 44px;margin-left:6px;
  align-items:center;justify-content:center;
}
@media(max-width:980px){
  .nav-links{display:none;}
  .nav-toggle{display:flex;}
  /* Tombol CTA di-center antara nama PT dan menu hamburger */
  .nav-cta{margin-left:auto;margin-right:auto;}
  .nav-links.mobile-open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--basalt);padding:18px 28px 24px;gap:16px;border-bottom:1px solid var(--line-dark);}
}
/* Layar sempit: kecilkan elemen agar semua tetap muat & lega */
@media(max-width:620px){
  nav.wrap{padding:12px 18px;gap:10px;}
  .brand{gap:9px;}
  .brand-logo{height:48px;}
  .brand-name{font-size:13px;max-width:11ch;}
  .nav-cta{padding:9px 13px;font-size:11.5px;}
}
@media(max-width:380px){
  .brand-logo{height:42px;}
  .brand-name{font-size:11.5px;}
  .nav-cta{padding:8px 10px;font-size:10.5px;}
}

/* ==========================================================================
   3. HERO — foto cover + overlay gelap bertingkat agar teks tetap terbaca
   ========================================================================== */
.hero{
  position:relative;overflow:hidden;
  background:linear-gradient(200deg, #23262A 0%, #1E2124 45%, #171A1C 100%);
  min-height:600px;display:flex;align-items:flex-end;
}
.hero-img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;opacity:0.5;
}
.hero-strata{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,
    rgba(20,21,23,0.30) 0%,
    rgba(20,21,23,0.55) 42%,
    rgba(20,21,23,0.94) 92%);
}
.hero-content{position:relative;z-index:2;padding:96px 0 54px;}
.hero-tag{font-family:var(--mono);color:var(--rust);font-size:12.5px;letter-spacing:0.2em;text-transform:uppercase;margin-bottom:20px;display:flex;align-items:center;gap:10px;}
.hero-tag::before{content:'';width:26px;height:2px;background:var(--rust);}
.hero h1{color:var(--limestone);font-size:clamp(34px,6vw,68px);max-width:16ch;margin-bottom:20px;}
.hero h1 em{font-style:normal;color:var(--rust);}
.hero-sub{color:var(--limestone-dim);font-size:16.5px;max-width:58ch;margin-bottom:32px;font-weight:400;}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:48px;}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;font-weight:700;font-size:14px;letter-spacing:0.02em;border:1.5px solid transparent;cursor:pointer;transition:all .15s;}
.btn-primary{background:var(--rust);color:#fff;border-color:var(--rust);}
.btn-primary:hover{background:var(--rust-dim);border-color:var(--rust-dim);}
.btn-ghost{background:transparent;color:var(--limestone);border-color:rgba(241,236,225,0.4);}
.btn-ghost:hover{border-color:var(--limestone);}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(241,236,225,0.18);padding-top:24px;}
.stat{padding-right:16px;}
.stat .num{font-family:var(--display);font-size:clamp(26px,3.2vw,40px);color:var(--limestone);font-weight:800;line-height:1;}
.stat .num span{color:var(--rust);}
.stat .lbl{font-family:var(--mono);font-size:10px;letter-spacing:0.07em;color:var(--stone);text-transform:uppercase;margin-top:8px;}
@media(max-width:760px){.hero-stats{grid-template-columns:repeat(2,1fr);row-gap:20px;}}

/* ==========================================================================
   SECTION BASE
   ========================================================================== */
section{padding:80px 0;}
@media(max-width:760px){section{padding:52px 0;}}
.sec-head{max-width:640px;margin-bottom:44px;}
.sec-head h2{font-size:clamp(28px,4vw,44px);color:var(--ink);}
.sec-head p{color:var(--stone-dark);font-size:15px;margin-top:14px;max-width:56ch;}
.section-alt{background:var(--overburden);color:var(--limestone-dim);}
.section-alt .sec-head h2{color:var(--limestone);}
.section-alt .sec-head p{color:var(--stone);}

/* ==========================================================================
   4. TENTANG PERUSAHAAN
   ========================================================================== */
.about-grid{display:flex;gap:52px;flex-wrap:wrap;align-items:flex-start;}
.about-copy{flex:1 1 460px;}
.about-copy p{color:var(--stone-dark);font-size:15px;margin-bottom:18px;}
.about-copy p strong{color:var(--ink);}
.two-col{display:flex;gap:32px;margin-top:36px;flex-wrap:wrap;}
.two-col > div{flex:1 1 220px;}
.box-title{font-family:var(--display);font-size:16px;color:var(--ink);margin-bottom:12px;text-transform:uppercase;border-bottom:2px solid var(--rust);padding-bottom:10px;}
.checklist{list-style:none;}
.checklist li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--stone-dark);padding:8px 0;border-bottom:1px dashed var(--line);}
.checklist li:last-child{border-bottom:none;}
.checklist li::before{content:'✓';color:var(--rust);font-weight:800;font-family:var(--mono);}

/* Kartu foto (dipakai di Raw Material, Logistik, Galeri Kategori) */
.photo-row{display:flex;flex-wrap:wrap;gap:1px;background:var(--line);margin-bottom:52px;}
.section-alt .photo-row{background:rgba(241,236,225,0.1);}
.photo-card{position:relative;background:#fff;overflow:hidden;flex:1 1 240px;}
.photo-card img{width:100%;height:220px;object-fit:cover;display:block;}
.photo-cap{
  position:absolute;left:0;right:0;bottom:0;
  background:linear-gradient(0deg,rgba(20,21,23,0.9),transparent);
  color:#fff;font-family:var(--mono);font-size:11px;letter-spacing:0.04em;
  padding:26px 14px 12px;
}

/* Foto pendamping di section Tentang */
.about-media{border:1px solid var(--line);margin-bottom:26px;}
.about-media img{width:100%;height:210px;object-fit:cover;display:block;}
.about-media figcaption{
  font-family:var(--mono);font-size:11px;padding:10px 14px;
  background:var(--basalt);color:var(--limestone-dim);
}

.side-panel{flex:1 1 380px;}
.stat-plate{
  background:var(--basalt);color:var(--limestone);
  padding:30px 28px;margin-bottom:26px;
  border-left:4px solid var(--rust);
}
.stat-plate .big{font-family:var(--display);font-size:clamp(40px,5vw,56px);color:var(--rust);line-height:1;margin-bottom:8px;}
.stat-plate .cap{font-family:var(--mono);font-size:11.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--stone);}
.stat-plate .desc{font-size:14px;color:var(--limestone-dim);margin-top:14px;}

/* ==========================================================================
   5. RAW MATERIAL
   ========================================================================== */
.cat-grid{display:flex;flex-wrap:wrap;border:1px solid var(--line);margin-bottom:52px;}
.cat-tile{flex:1 1 33.3%;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 22px;background:#fff;display:flex;align-items:center;gap:14px;}
.cat-num{font-family:var(--mono);font-size:12px;color:var(--rust);font-weight:700;min-width:22px;}
.cat-name{font-weight:700;font-size:14px;color:var(--ink);}
@media(max-width:760px){.cat-tile{flex:1 1 50%;}}
@media(max-width:480px){.cat-tile{flex:1 1 100%;}}

.spec-grid{display:flex;gap:26px;flex-wrap:wrap;margin-bottom:52px;}
.spec-sheet{flex:1 1 340px;border:1px solid var(--ink);background:#fff;}
.spec-head{background:var(--ink);color:var(--limestone);font-family:var(--mono);font-size:12px;letter-spacing:0.08em;padding:12px 16px;text-transform:uppercase;font-weight:700;display:flex;justify-content:space-between;}
.spec-head span{color:var(--rust);}
.spec-row{display:flex;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:12.5px;padding:11px 16px;border-bottom:1px solid var(--line);color:var(--stone-dark);}
.spec-row:last-child{border-bottom:none;}
.spec-row .k{color:var(--ink);font-weight:600;flex:0 0 40%;}
.spec-row .v{text-align:right;flex:1;}

.feature-banner{
  border:1px solid var(--basalt);background:var(--basalt);
  display:flex;gap:0;align-items:stretch;flex-wrap:wrap;
}
.feature-banner img{
  flex:1 1 340px;width:100%;max-width:420px;
  height:auto;min-height:240px;object-fit:cover;display:block;
}
.feature-banner-copy{flex:1 1 340px;color:var(--limestone-dim);padding:32px 30px;}
.feature-banner-copy .eyebrow{color:var(--rust);}
.feature-banner-copy h3{color:var(--limestone);font-size:24px;margin-bottom:10px;}
.feature-banner-copy p{font-size:14px;color:var(--stone);}

/* ==========================================================================
   6. LOGISTIK & ARMADA
   ========================================================================== */
.fleet-grid{display:flex;flex-wrap:wrap;gap:1px;background:var(--line-dark);}
.fleet-card{flex:1 1 260px;background:var(--basalt);padding:26px 24px;}
.fleet-name{font-family:var(--display);font-size:21px;color:var(--limestone);text-transform:uppercase;margin-bottom:6px;}
.fleet-cap{font-family:var(--mono);font-size:12.5px;color:var(--rust);margin-bottom:16px;}
.fleet-bar{height:6px;background:rgba(241,236,225,0.14);margin-bottom:6px;}
.fleet-bar-fill{height:100%;background:var(--rust);}
.fleet-note{font-family:var(--mono);font-size:10.5px;color:var(--stone);}

/* ==========================================================================
   7. PORTOFOLIO / MITRA
   ========================================================================== */
.partner-groups{border-top:1px solid var(--line);}
.partner-row{display:flex;flex-wrap:wrap;gap:20px;padding:24px 0;border-bottom:1px solid var(--line);align-items:flex-start;}
.partner-row .p-label{flex:0 0 250px;font-family:var(--display);font-size:15.5px;font-weight:800;text-transform:uppercase;color:var(--ink);}
.partner-row .p-label small{display:block;font-family:var(--mono);font-size:10px;color:var(--stone);text-transform:none;margin-top:6px;font-weight:400;}
/* Di section gelap: label dibuat terang agar kontras */
.section-alt .partner-groups{border-top-color:var(--line-dark);}
.section-alt .partner-row{border-bottom-color:var(--line-dark);}
.section-alt .partner-row .p-label{color:#fff;}
.section-alt .partner-row .p-label small{color:var(--stone);}
.chip-row{display:flex;flex-wrap:wrap;gap:10px;flex:1 1 300px;}
.chip{border:1px solid var(--line);padding:9px 16px;font-size:13px;font-weight:600;color:var(--stone-dark);background:#fff;}

/* ==========================================================================
   7B. HIGHLIGHTS — satu foto memanjang penuh, tanpa deskripsi
   (Elementor: widget "Image", full width, no caption)
   ========================================================================== */
.highlight-banner{border:1px solid var(--line);line-height:0;}
.highlight-banner img{width:100%;height:auto;display:block;}

/* ==========================================================================
   9C. DIVISI TEKNOLOGI — 2 kartu produk (Mini-ERP & PIMS)
   (Elementor: Inner Section 2 kolom, tiap kolom = Icon Box/Card widget)
   ========================================================================== */
.tech-grid{display:flex;flex-wrap:wrap;gap:1px;background:var(--line-dark);}
.tech-card{flex:1 1 420px;background:var(--basalt);padding:30px 28px;}
.tech-card-head{display:flex;align-items:center;gap:16px;margin-bottom:20px;}
.tech-card-head img{width:64px;height:64px;object-fit:cover;border-radius:8px;flex:0 0 64px;}
.tech-card-head .th-eyebrow{font-family:var(--mono);font-size:10.5px;letter-spacing:0.1em;color:var(--stone);text-transform:uppercase;margin-bottom:6px;}
.tech-card-head h4{color:var(--limestone);font-size:22px;}
.tech-card-sub{font-size:13.5px;color:var(--stone);margin-bottom:20px;}
.tech-feature-list{list-style:none;margin-bottom:20px;}
.tech-feature-list li{
  display:flex;gap:10px;align-items:flex-start;
  font-size:13.5px;color:var(--limestone-dim);
  padding:9px 0;border-top:1px solid rgba(241,236,225,0.1);
}
.tech-feature-list li:first-child{border-top:none;}
.tech-feature-list li::before{content:'▸';color:var(--rust);font-weight:700;}
.tech-tags{font-family:var(--mono);font-size:10.5px;letter-spacing:0.06em;color:var(--stone);text-transform:uppercase;}
.tech-footnote{margin-top:20px;font-size:13.5px;color:var(--stone-dark);}
.tech-footnote strong{color:var(--rust);}

/* ==========================================================================
   8. DIVISI MRO INTRO BANNER
   ========================================================================== */
.mro-banner{background:var(--basalt);color:var(--limestone-dim);border-left:4px solid var(--rust);padding:26px 30px;}
.mro-banner .eyebrow{color:var(--rust);margin-bottom:10px;}
.mro-banner p{font-size:14.5px;color:var(--stone);max-width:80ch;}

/* ==========================================================================
   9. KATEGORI PRODUK INDUSTRI — accordion x9 (native <details>/<summary>)
   Minimized secara default; klik untuk membuka, tetap terbuka sampai
   diklik lagi; setiap kategori independen (boleh lebih dari satu terbuka
   sekaligus). Tanpa JavaScript — accessible & ringan.
   (Elementor: widget "Accordion", set FAQ Schema off, non-exclusive)
   ========================================================================== */
.cat-block{border-bottom:1px solid var(--line-dark);}
.section-alt .cat-block{border-bottom:1px solid rgba(241,236,225,0.1);}
.cat-block:last-child{border-bottom:none;}
.cat-block > summary{list-style:none;cursor:pointer;margin:20px 0;}
.cat-block > summary::-webkit-details-marker{display:none;}
.cat-block-body{padding:0 0 44px;}
/* Header kategori — foto ber-jarak keempat sisi, teks di sampingnya, 1 baris */
.cat-block-head{
  display:flex;flex-wrap:nowrap;align-items:center;
  gap:18px;padding:16px;
  background:var(--basalt);position:relative;
}
.cat-block-thumb{
  flex:0 0 160px;width:160px;height:124px;
  object-fit:cover;display:block;
}
.cat-block-head-copy{
  flex:1 1 auto;min-width:0;
  display:flex;flex-direction:column;justify-content:center;
}
.cat-block-head-copy h3{
  color:var(--limestone);font-size:clamp(16px,2.4vw,23px);
  line-height:1.18;margin-bottom:5px;
}
.cat-block-head-copy .subtitle{
  font-family:var(--body);font-style:italic;color:var(--stone);font-size:13px;
}
.cat-block-toggle{
  flex:0 0 44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  color:var(--rust);font-family:var(--mono);font-size:22px;
  transition:transform .2s;
}
.cat-block[open] .cat-block-toggle{transform:rotate(45deg);}
.cat-block-body-inner{padding-top:26px;}
@media(max-width:600px){
  .cat-block-head{gap:14px;padding:13px;}
  .cat-block-thumb{flex-basis:112px;width:112px;height:96px;}
  .cat-block-head-copy h3{font-size:15px;}
  .cat-block-head-copy .subtitle{font-size:11.5px;}
  .cat-block-toggle{flex-basis:34px;height:34px;font-size:19px;}
}
.cakupan-title{font-family:var(--display);font-size:15px;letter-spacing:0.02em;color:var(--ink);text-transform:uppercase;margin-bottom:14px;}
.section-alt .cakupan-title{color:var(--limestone);}
.cakupan-grid{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px;}
.cakupan-item{flex:1 1 calc(50% - 5px);min-width:260px;background:#fff;border-left:3px solid var(--rust);padding:11px 16px;font-size:13.5px;color:var(--stone-dark);}
.section-alt .cakupan-item{background:rgba(241,236,225,0.06);color:var(--limestone-dim);}
.cakupan-item strong{color:var(--ink);font-weight:700;}
.section-alt .cakupan-item strong{color:var(--limestone);}
.brand-tag{background:var(--limestone-dim);padding:12px 18px;font-size:13px;color:var(--stone-dark);}
.section-alt .brand-tag{background:rgba(241,236,225,0.08);color:var(--stone);}
.brand-tag strong{color:var(--rust);font-family:var(--mono);font-size:11px;letter-spacing:0.05em;text-transform:uppercase;margin-right:8px;}
.gallery-label{
  font-family:var(--display);font-size:14px;letter-spacing:0.02em;
  color:var(--ink);text-transform:uppercase;margin:26px 0 14px;
}
.section-alt .gallery-label{color:var(--limestone);}
.cat-block .photo-card img{height:170px;}

/* Lini Jasa: Fabrikasi & Custom highlight */
.jasa-banner{display:flex;gap:20px;align-items:center;background:var(--basalt);border-left:4px solid var(--rust);padding:26px 30px;margin-top:28px;flex-wrap:wrap;}
.jasa-icon{flex:0 0 56px;height:56px;width:56px;border-radius:50%;border:2px solid var(--rust);color:var(--rust);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:22px;}
.jasa-copy{flex:1 1 260px;}
.jasa-copy .eyebrow{margin-bottom:6px;}
.jasa-copy h4{color:var(--limestone);font-size:18px;margin-bottom:6px;}
.jasa-copy p{color:var(--stone);font-size:14px;max-width:70ch;}

/* ==========================================================================
   10. LEGALITAS
   ========================================================================== */
.legal-flex{display:flex;gap:26px;flex-wrap:wrap;align-items:stretch;}
.legal-table-wrap{flex:1 1 420px;background:var(--basalt);padding:2px;}
.legal-table{width:100%;border-collapse:collapse;}
.legal-table tr{border-bottom:1px solid var(--line-dark);}
.legal-table tr:last-child{border-bottom:none;}
.legal-table td{padding:15px 18px;font-size:13.5px;}
.legal-table td:first-child{font-family:var(--mono);font-size:11px;letter-spacing:0.05em;color:var(--stone);text-transform:uppercase;width:38%;}
.legal-table td:last-child{color:var(--limestone);font-weight:600;font-family:var(--mono);font-size:13px;}
/* Kartu NPWP asli (pengganti stempel dekoratif) */
.legal-doc{flex:1 1 320px;display:flex;flex-direction:column;}
.legal-doc img{width:100%;border:3px solid var(--rust);object-fit:cover;display:block;}
.legal-doc figcaption{
  font-family:var(--mono);font-size:11px;color:var(--stone);
  margin-top:10px;text-align:center;line-height:1.6;
}

/* Struktur Perusahaan — kartu pengurus */
.struktur-grid{display:flex;flex-wrap:wrap;gap:18px;margin-top:16px;}
.struktur-card{
  flex:1 1 220px;background:rgba(241,236,225,0.06);
  border-top:3px solid var(--rust);
  padding:26px 22px;text-align:center;
}
.struktur-avatar{
  width:72px;height:72px;border-radius:50%;margin:0 auto 16px;
  background:var(--basalt);border:2px solid var(--rust);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-size:24px;font-weight:800;color:var(--rust);
}
.struktur-card .nama{font-family:var(--display);font-size:18px;color:var(--limestone);text-transform:uppercase;margin-bottom:6px;}
.struktur-card .jabatan{font-family:var(--mono);font-size:10.5px;letter-spacing:0.1em;color:var(--rust);text-transform:uppercase;}

/* ==========================================================================
   11. KONTAK / FOOTER
   ========================================================================== */
.contact{background:var(--ink);color:var(--limestone-dim);}
.contact-grid{display:flex;gap:52px;flex-wrap:wrap;}
.contact-copy{flex:1 1 420px;}
.contact h2{color:var(--limestone);font-size:clamp(26px,4vw,40px);margin-bottom:16px;}
.contact-copy p{font-size:14.5px;color:var(--stone);margin-bottom:26px;max-width:48ch;}
.contact-block{margin-bottom:22px;}
.contact-block .cb-label{font-family:var(--mono);font-size:11px;letter-spacing:0.1em;color:var(--rust);text-transform:uppercase;margin-bottom:8px;}
.contact-block .cb-value{font-size:15px;color:var(--limestone-dim);line-height:1.6;}
.contact-block a.cb-value:hover{color:var(--rust);}
.map-box{
  flex:1 1 320px;border:1px solid rgba(241,236,225,0.16);min-height:260px;
  background:repeating-linear-gradient(45deg, #232629 0 2px, transparent 2px 14px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;gap:10px;
}
.map-box .pin{font-family:var(--display);font-size:15px;color:var(--rust);}
.map-box .addr{font-family:var(--mono);font-size:12px;color:var(--stone);line-height:1.7;max-width:32ch;}

footer{background:var(--basalt);padding:20px 0;border-top:1px solid var(--line-dark);}
.footer-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
.footer-row p{font-family:var(--mono);font-size:11px;color:var(--stone);}

/* ==========================================================================
   12. TOMBOL SCROLL-TO-TOP (Elementor: fitur bawaan "Back to Top" di
   Site Settings → Scrolling Effects, atau widget Icon Box fixed position)
   ========================================================================== */
#backToTop{
  position:fixed;right:22px;bottom:22px;z-index:600;
  width:48px;height:48px;border:none;border-radius:50%;
  background:var(--rust);color:#fff;font-size:20px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,0.25);
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .2s,transform .2s,background .15s;
}
#backToTop.show{opacity:1;visibility:visible;transform:translateY(0);}
#backToTop:hover{background:var(--rust-dim);}

/* ==========================================================================
   UTILITAS
   ========================================================================== */
a:focus-visible,button:focus-visible{outline:2px solid var(--rust);outline-offset:2px;}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto;}}
