:root{
  --bg:#ffffff;
  --muted:#f6f7f9;
  --text:#0b0f19;
  --sub:#475467;
  --line:#e5e7eb;
  --shadow: 0 10px 30px rgba(15, 23, 42, .08);
  --radius: 18px;
  --radius-sm: 14px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.55;
}
a{color:inherit; text-decoration:none}
img{max-width:100%; display:block}

.skip{
  position:absolute; left:-999px; top:8px;
  background:#111; color:#fff; padding:10px 12px; border-radius:10px;
}
.skip:focus{left:8px; z-index:1000}

.container{width:min(1100px, calc(100% - 40px)); margin-inline:auto}

.header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.88);
  backdrop-filter:saturate(150%) blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 0}
.brand{display:flex; align-items:center; gap:10px; font-weight:700; letter-spacing:-.02em}
.brand-mark{width:14px; height:14px; border-radius:6px; background:#111}
.brand-text{font-size:16px}

.navmenu{display:flex; align-items:center; gap:16px}
.navmenu a{font-weight:600; font-size:14px; color:#111; opacity:.9}
.navmenu a:hover{opacity:1}

.nav-toggle{display:none; border:1px solid var(--line); background:#fff; border-radius:12px; padding:10px; cursor:pointer}
.nav-toggle span{display:block; width:18px; height:2px; background:#111; margin:4px 0; border-radius:2px}

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 16px; border-radius:14px;
  background:#111; color:#fff;
  font-weight:700; font-size:14px;
  border:1px solid #111;
  box-shadow: 0 8px 20px rgba(17,17,17,.18);
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-ghost{background:transparent; color:#111; border:1px solid var(--line); box-shadow:none}
.btn-sm{padding:10px 12px; border-radius:12px; font-size:13px}
.link{font-weight:600; color:#111; opacity:.85}
.link:hover{opacity:1}

.hero{padding:34px 0 18px}
.hero-grid{display:grid; grid-template-columns: 1.2fr .8fr; gap:26px; align-items:stretch}
.badge{display:inline-flex; padding:8px 10px; border-radius:999px; background:var(--muted); border:1px solid var(--line); font-weight:700; font-size:12px; color:#111}
.hero h1{font-size:40px; line-height:1.05; margin:12px 0 10px; letter-spacing:-.03em}
.lead{color:var(--sub); font-size:16px; margin:0 0 16px}
.cta{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:14px}
.meta{list-style:none; padding:0; margin:0; display:flex; gap:14px; flex-wrap:wrap; color:var(--sub)}
.meta strong{color:#111}

.hero-card{
  border:1px solid var(--line);
  border-radius: var(--radius);
  background: linear-gradient(180deg, #fff, #fafafa);
  box-shadow: var(--shadow);
  padding:14px;
  display:flex; flex-direction:column; gap:12px;
}
.hero-card-top{display:flex; gap:8px; flex-wrap:wrap}
.pill{padding:7px 10px; border-radius:999px; background:#111; color:#fff; font-weight:700; font-size:12px}
.pill-muted{background:var(--muted); color:#111; border:1px solid var(--line)}
.mock-grid{display:grid; gap:10px}
.mock-tile{display:flex; gap:12px; padding:10px; border:1px solid var(--line); border-radius:14px; background:#fff}
.mock-tile img{width:54px; height:54px}
.mock-title{font-weight:800; font-size:13px}
.mock-sub{color:var(--sub); font-size:12px}
.hero-card-bottom{display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap}

.section{padding:54px 0}
.section-muted{background:var(--muted); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.section-head{margin-bottom:18px}
.section-head h2{margin:0 0 8px; font-size:28px; letter-spacing:-.02em}
.section-head p{margin:0; color:var(--sub)}

.grid{display:grid; gap:16px}
.cards{grid-template-columns: repeat(3, 1fr)}
.card{border:1px solid var(--line); border-radius: var(--radius); background:#fff; box-shadow: var(--shadow); overflow:hidden}
.card-img{background:#fafafa; border-bottom:1px solid var(--line); padding:14px; display:flex; justify-content:center}
.card-img img{width:160px; height:auto}
.card-body{padding:14px}
.card-body h3{margin:0 0 6px; font-size:18px}
.card-body .price{margin:0 0 8px; font-weight:700; color:var(--text); letter-spacing:.2px}
.card-body p{margin:0 0 10px; color:var(--sub)}
.bullets{margin:0 0 12px; padding-left:18px; color:var(--sub)}
.card-actions{display:flex; gap:10px; flex-wrap:wrap}

.note{margin-top:16px; padding:14px; border:1px dashed #cbd5e1; border-radius: var(--radius); background:#fff; color:var(--sub)}

.steps{display:grid; grid-template-columns: repeat(4, 1fr); gap:14px; margin-top:10px}
.step{background:#fff; border:1px solid var(--line); border-radius: var(--radius); padding:14px}
.step-no{width:30px; height:30px; border-radius:10px; display:flex; align-items:center; justify-content:center; background:#111; color:#fff; font-weight:800; margin-bottom:10px}
.step h3{margin:0 0 6px; font-size:16px}
.step p{margin:0; color:var(--sub); font-size:14px}

.split{display:grid; grid-template-columns: 1fr 1fr; gap:14px; margin-top:16px}
.panel{background:#fff; border:1px solid var(--line); border-radius: var(--radius); padding:14px}
.muted{color:var(--sub)}

.features{grid-template-columns: repeat(4, 1fr)}
.feature{border:1px solid var(--line); border-radius: var(--radius); background:#fff; padding:14px}
.icon{width:34px; height:34px; display:flex; align-items:center; justify-content:center; border-radius:12px; background:var(--muted); border:1px solid var(--line); font-weight:900; margin-bottom:10px}
.feature h3{margin:0 0 6px; font-size:16px}
.feature p{margin:0; color:var(--sub); font-size:14px}

.logos{margin-top:18px; display:grid; grid-template-columns: repeat(5, 1fr); gap:10px}
.logo{border:1px solid var(--line); border-radius: 999px; padding:10px 12px; text-align:center; background:#fff; font-weight:800; font-size:12px; color:#111; opacity:.8}

.gallery{display:grid; grid-template-columns: repeat(3, 1fr); gap:12px}
.gitem{margin:0; border-radius: var(--radius); overflow:hidden; border:1px solid var(--line); background:#fff}
.gitem img{width:100%; height:auto}
.gitem figcaption{padding:10px 12px; font-weight:700; font-size:13px; color:#111}

.accordion details{border:1px solid var(--line); border-radius: 16px; background:#fff; padding:12px 14px}
.accordion{display:grid; gap:10px}
.accordion summary{cursor:pointer; font-weight:800}
.acc-body{margin-top:8px; color:var(--sub)}

.contact{display:grid; grid-template-columns: 1.2fr .8fr; gap:14px; align-items:start}
.form{background:#fff; border:1px solid var(--line); border-radius: var(--radius); padding:14px; box-shadow: var(--shadow)}
label{display:grid; gap:6px; font-weight:700; font-size:13px}
input, textarea{
  width:100%; padding:12px 12px; border-radius: 14px;
  border:1px solid var(--line);
  font: inherit;
}
textarea{resize:vertical}
.row{display:grid; grid-template-columns: 1fr 1fr; gap:12px; margin-bottom:12px}
.form-actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:12px}
.tiny{font-size:12px}

.aside{display:grid; gap:12px}
.aside-card{background:#fff; border:1px solid var(--line); border-radius: var(--radius); padding:14px}
.aside-card h3{margin:0 0 8px}
.aside-list{display:grid; gap:8px; margin-top:10px}
.aside-list .k{display:inline-block; width:90px; color:var(--sub); font-weight:700; font-size:12px}
.aside-list .v{font-weight:800; font-size:12px}
.chips{display:flex; gap:10px; flex-wrap:wrap}
.chip{padding:10px 12px; border:1px solid var(--line); border-radius: 999px; background:var(--muted); font-weight:800; font-size:12px}

.footer{padding:28px 0; border-top:1px solid var(--line); background:#fff}
.footer-grid{display:grid; grid-template-columns: 1.2fr .6fr .8fr; gap:14px; align-items:center}
.footer-links{display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-start}
.footer-links a{font-weight:800; font-size:13px; color:#111; opacity:.85}
.footer-links a:hover{opacity:1}
.footer-note{display:flex; justify-content:flex-end}
.brand-footer{margin-bottom:8px}

/* ====== TABLES (Pricelist & Size Chart) ====== */
.table-wrap{overflow:auto; border:1px solid var(--line); border-radius: 16px; background:#fff}
.table{width:100%; border-collapse:collapse; min-width: 420px}
.table th,.table td{padding:12px 14px; border-bottom:1px solid var(--line); text-align:left; font-size:14px}
.table thead th{font-weight:800; background: rgba(17,17,17,.03)}
.table tbody tr:last-child td{border-bottom:none}

.pricecards{grid-template-columns: repeat(2, 1fr)}
.sizegrid{grid-template-columns: repeat(3, 1fr)}

.wa-float{
  position:fixed; right:18px; bottom:18px;
  width:54px; height:54px;
  display:flex; align-items:center; justify-content:center;
  border-radius: 18px;
  background:#111;
  color:#fff;
  font-weight:900;
  border:1px solid #111;
  box-shadow: 0 16px 40px rgba(17,17,17,.25);
  z-index:60;
}

@media (max-width: 920px){
  .hero-grid{grid-template-columns: 1fr}
  .cards{grid-template-columns: 1fr}
  .pricecards{grid-template-columns: 1fr}
  .sizegrid{grid-template-columns: 1fr}
  .features{grid-template-columns: 1fr 1fr}
  .steps{grid-template-columns: 1fr 1fr}
  .contact{grid-template-columns: 1fr}
  .footer-grid{grid-template-columns: 1fr}
  .footer-note{justify-content:flex-start}
}
@media (max-width: 640px){
  .container{width:min(1100px, calc(100% - 28px))}
  .hero h1{font-size:34px}
  .row{grid-template-columns: 1fr}
  .features{grid-template-columns: 1fr}
  .steps{grid-template-columns: 1fr}
  .logos{grid-template-columns: 1fr 1fr}
  .gallery{grid-template-columns: 1fr 1fr}

  .nav-toggle{display:inline-flex}
  .navmenu{display:none; position:absolute; left:0; right:0; top:62px; background:#fff; border-bottom:1px solid var(--line); padding:12px 20px; flex-direction:column; align-items:flex-start}
  .navmenu.show{display:flex}
}


/* Logo */
.brand-logo{height:38px;width:auto;display:block}
.footer-logo{height:34px;width:auto;display:block;margin-bottom:10px}
@media (max-width:720px){.brand-logo{height:34px}}

/* Photo cards */
.card img{max-width:100%;height:auto;border-radius:14px}

/* Map */
.map-card{margin-top:18px}
.map-embed{margin-top:10px;border-radius:16px;overflow:hidden;box-shadow:0 8px 18px rgba(0,0,0,.08)}
.map-embed iframe{display:block}
