@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');

:root{
  --teal:#004F50;
  --teal-dark:#003C3D;
  --teal-soft:#EAF5F3;
  --gold:#FFB84D;
  --gold-cta:#F59E0B;
  --cream:#FFF9EF;
  --bg:#F8FAFA;
  --text:#172525;
  --muted:#607273;
  --line:#DCE8E6;
  --white:#fff;
  --shadow:0 20px 60px rgba(0,60,61,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"DM Sans",Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.55}
a{text-decoration:none;color:inherit}
button{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.topbar{background:var(--teal-dark);color:#d8eeee;font-size:12px}
.topbar-inner{height:34px;display:flex;justify-content:space-between;align-items:center}
.topbar a{color:var(--gold);font-weight:700}

.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:52px;height:52px;object-fit:contain}
.brand strong{display:block;font-family:Manrope;font-size:20px;letter-spacing:.5px;color:var(--teal-dark)}
.brand span{display:block;font-size:11px;color:#7a8989;letter-spacing:.4px}
.nav{display:flex;align-items:center;gap:7px}
.nav>a{padding:10px 13px;border-radius:10px;color:#385052;font-size:14px;font-weight:600}
.nav>a:hover{color:var(--teal);background:var(--teal-soft)}
.nav .nav-cta{background:var(--teal);color:#fff;padding:11px 17px}
.nav .nav-cta:hover{background:var(--teal-dark);color:#fff}
.menu-toggle{display:none;border:0;background:var(--teal-soft);color:var(--teal);border-radius:10px;padding:10px 12px}

.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--teal-dark) 0%,var(--teal) 62%,#0a6461 100%);color:#fff;padding:78px 0 88px}
.hero:after{content:"";position:absolute;width:560px;height:560px;border:1px solid rgba(255,184,77,.18);border-radius:50%;right:-210px;top:-240px}
.hero-glow{position:absolute;width:430px;height:430px;border-radius:50%;background:rgba(255,184,77,.08);filter:blur(10px);right:4%;bottom:-260px}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:1.7px;color:var(--gold)}
.eyebrow.dark{color:var(--teal)}
.hero h1{font-family:Manrope;font-size:clamp(40px,5.3vw,70px);line-height:1.04;letter-spacing:-2.6px;margin:16px 0 20px}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero-text{max-width:620px;color:rgba(255,255,255,.78);font-size:17px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 18px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 19px;border-radius:12px;font-weight:800;font-size:14px;border:1px solid transparent;cursor:pointer}
.btn-gold{background:var(--gold);color:var(--teal-dark);box-shadow:0 10px 25px rgba(255,184,77,.2)}
.btn-gold:hover{background:#ffc56b;transform:translateY(-1px)}
.btn-outline{border-color:rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.04)}
.btn-outline:hover{background:rgba(255,255,255,.1)}
.hero-note{font-size:11px;color:rgba(255,255,255,.62)}
.hero-note span{color:var(--gold);font-weight:900}

.hero-card{background:linear-gradient(145deg,#fdfefe,#e8f0ee);border:1px solid rgba(255,255,255,.25);border-radius:26px;padding:24px;color:var(--teal-dark);box-shadow:0 30px 80px rgba(0,0,0,.22);transform:rotate(1.2deg)}
.hero-card-top,.hero-card-bottom{display:flex;justify-content:space-between;align-items:center}
.hero-card-top{font-size:11px;font-weight:900;letter-spacing:1.4px;color:var(--teal)}
.hero-card-top b{color:#90a5a5}
.material-shape{height:300px;position:relative;margin:15px 0}
.shape-panel{position:absolute;inset:42px 50px 35px 34px;background:linear-gradient(145deg,#c79b62,#9a6a39);border-radius:10px;box-shadow:0 25px 35px rgba(48,32,17,.25);transform:perspective(600px) rotateY(-14deg) rotateX(7deg)}
.shape-panel:before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.18);border-radius:5px}
.shape-line{position:absolute;height:1px;background:rgba(0,60,61,.18);z-index:3}
.line-1{width:180px;right:5px;top:95px}.line-2{width:135px;right:30px;bottom:74px}
.hero-card-bottom{border-top:1px solid #d8e1df;padding-top:15px}
.hero-card-bottom small{display:block;color:#7a8989;font-size:10px}.hero-card-bottom strong{display:block;font-family:Manrope;font-size:16px}
.mini-arrow{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:var(--gold);font-size:19px}

.section{padding:92px 0}
.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:32px}
.section-head h2,.custom-copy h2,.order-panel h2,.cta-section h2{font-family:Manrope;line-height:1.08;letter-spacing:-1.2px;font-size:clamp(30px,4vw,46px);margin:10px 0 0}
.section-head>p{max-width:390px;color:var(--muted);font-size:14px}

.product-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.product-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;min-height:290px;display:flex;flex-direction:column;transition:.2s ease}
.product-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#bdd8d5}
.product-card.featured{background:var(--teal-dark);color:#fff;border-color:var(--teal-dark)}
.product-number{font-size:10px;font-weight:900;letter-spacing:1px;color:#8ca2a2}
.featured .product-number{color:#8db7b4}
.product-icon{margin:26px 0 20px;width:50px;height:50px;border-radius:14px;background:var(--teal-soft);color:var(--teal);display:grid;place-items:center;font-weight:900;font-size:12px}
.featured .product-icon{background:var(--gold);color:var(--teal-dark)}
.product-card h3{font-family:Manrope;margin:0 0 8px;font-size:18px;line-height:1.2}
.product-card p{font-size:12px;color:var(--muted);margin:0 0 16px}
.featured p{color:rgba(255,255,255,.68)}
.product-tag{align-self:flex-start;border:1px solid var(--line);border-radius:99px;padding:4px 8px;font-size:10px;font-weight:800;color:var(--teal)}
.featured .product-tag{border-color:rgba(255,255,255,.2);color:var(--gold)}
.product-card a{margin-top:auto;font-size:11px;font-weight:800;color:var(--teal)}
.featured a{color:var(--gold)}

.custom-section{background:#eef6f4}
.custom-box{display:grid;grid-template-columns:.9fr 1.1fr;gap:45px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:28px;padding:38px;box-shadow:var(--shadow)}
.custom-copy p{color:var(--muted);font-size:14px}
.custom-copy ul{list-style:none;padding:0;margin:22px 0 28px;display:grid;gap:9px}
.custom-copy li{font-size:13px;color:#405455}.custom-copy li:before{content:"✓";color:var(--gold-cta);font-weight:900;margin-right:9px}
.calculator-preview{border-radius:20px;background:linear-gradient(145deg,var(--teal-dark),#075b59);color:#fff;padding:23px;box-shadow:0 18px 45px rgba(0,60,61,.18)}
.calc-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:18px}.calc-head small{display:block;color:#9ac0be;font-size:9px;letter-spacing:1.5px}.calc-head strong{font-family:Manrope;font-size:21px}.status-dot{background:rgba(255,184,77,.14);color:var(--gold);border:1px solid rgba(255,184,77,.25);border-radius:99px;padding:4px 7px;font-size:9px;font-weight:900}
.calc-row{display:grid;grid-template-columns:1.3fr .8fr .35fr;gap:12px;padding:13px 0;border-top:1px solid rgba(255,255,255,.11)}
.calc-row small{display:block;color:#91b1af;font-size:9px;margin-bottom:3px}.calc-row b{font-size:11px}
.calc-total{margin-top:10px;padding:17px;border-radius:13px;background:rgba(255,255,255,.07);display:flex;justify-content:space-between;align-items:center}.calc-total span{font-size:11px;color:#aac1c0}.calc-total strong{color:var(--gold);font-family:Manrope;font-size:21px}.calc-foot{font-size:9px;color:#789694;margin-top:10px}

.advantages{background:#fff}
.adv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.adv-card{padding:24px;border:1px solid var(--line);border-radius:17px}
.adv-card span{font-size:10px;font-weight:900;color:var(--gold-cta)}.adv-card h3{font-family:Manrope;font-size:18px;margin:15px 0 7px}.adv-card p{font-size:12px;color:var(--muted);margin:0}

.order-section{padding-top:20px;background:#fff}
.order-panel{background:var(--teal-dark);color:#fff;border-radius:24px;padding:35px;display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:center}
.order-panel p{color:rgba(255,255,255,.65);font-size:13px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.steps div{min-height:110px;border:1px solid rgba(255,255,255,.13);border-radius:14px;padding:15px;background:rgba(255,255,255,.035)}
.steps b{display:block;color:var(--gold);font-size:11px;margin-bottom:30px}.steps span{font-size:12px;font-weight:700}

.cta-section{padding:68px 0;background:var(--teal);color:#fff}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-section h2{font-size:clamp(28px,4vw,44px);margin-top:8px}

.footer{background:#092d2e;color:#fff;padding:52px 0 20px}
.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .7fr;gap:40px}
.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand img{width:56px;height:56px}.footer-brand strong{display:block;font-family:Manrope}.footer-brand span{display:block;color:#8eaeac;font-size:11px}
.footer small{display:block;color:var(--gold);font-size:9px;letter-spacing:1.5px;margin-bottom:13px}.footer a{display:block;color:#b9cdcc;font-size:12px;margin:8px 0}.footer a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:35px;padding-top:18px;color:#718e8d;font-size:10px}

@media(max-width:1000px){
  .product-grid{grid-template-columns:repeat(3,1fr)}
  .hero-grid{grid-template-columns:1fr;gap:45px}.hero-card{max-width:600px;width:100%;margin:auto}
  .custom-box{grid-template-columns:1fr}
  .adv-grid{grid-template-columns:1fr 1fr}
  .order-panel{grid-template-columns:1fr}
}
@media(max-width:720px){
  .container{width:min(100% - 26px,1180px)}
  .topbar{display:none}.nav-wrap{height:68px}.brand img{width:45px;height:45px}.brand strong{font-size:17px}
  .menu-toggle{display:block}.nav{display:none;position:absolute;left:13px;right:13px;top:72px;background:#fff;padding:10px;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}
  .nav.open{display:flex}.nav>a{width:100%}.nav .nav-cta{text-align:center}
  .hero{padding:58px 0 65px}.hero h1{letter-spacing:-1.7px}.hero-text{font-size:15px}
  .section{padding:68px 0}.section-head{display:block}.section-head>p{margin-top:15px}
  .product-grid{grid-template-columns:1fr 1fr}.product-card{min-height:250px}
  .custom-box{padding:24px}.calc-row{grid-template-columns:1fr 1fr}.calc-row>div:last-child{grid-column:1/-1}
  .steps{grid-template-columns:1fr 1fr}.cta-inner{display:block}.cta-inner .btn{margin-top:24px}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:460px){
  .product-grid,.adv-grid,.footer-grid{grid-template-columns:1fr}.hero-card{padding:17px}.material-shape{height:230px}
  .hero-actions .btn{width:100%}.order-panel{padding:25px}.steps{grid-template-columns:1fr 1fr}
}
/* ===== OMAH KAYU - PRODUCT ACTIVE ===== */

.product-card {
  cursor: pointer;
  transition:
    background-color .25s ease,
    color .25s ease,
    border-color .25s ease,
    box-shadow .25s ease,
    transform .25s ease;
}

.product-card.featured {
  background: var(--teal-deep);
  color: #fff;
  border-color: var(--teal-deep);
  box-shadow: 0 18px 40px rgba(0,48,49,.16);
}

.product-card.featured .product-number {
  color: var(--gold);
}

.product-card.featured .product-icon {
  background: var(--gold);
  color: var(--teal-deep);
}

.product-card.featured h3 {
  color: #fff;
}

.product-card.featured p {
  color: #c6dedd;
}

.product-card.featured .product-tag {
  background: rgba(255,255,255,.12);
  color: #fff;
  border-color: rgba(255,255,255,.2);
}

.product-card.featured a {
  color: var(--gold);
}

.product-card:hover {
  transform: translateY(-5px);
}

/* Hero collage refined: more breathing room, image not overpowering */
.material-shape{
  height:230px;
  position:relative;
  margin:12px 0 16px;
  overflow:hidden;
  border-radius:12px;
  background:transparent;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-collage-image{
  display:block;
  width:92%;
  height:215px;
  object-fit:contain;
  object-position:center;
  border-radius:10px;
  box-shadow:0 12px 25px rgba(0,0,0,.07);
}
.material-shape .shape-panel,
.material-shape .shape-line{display:none!important}
.hero-card{padding:22px;}
@media (max-width:1000px){
  .hero-grid{gap:38px;}
  .hero-card{max-width:540px;width:100%;margin:auto;}
}
@media (max-width:700px){
  .material-shape{height:190px;margin:8px 0 12px;}
  .hero-collage-image{height:180px;width:94%;}
  .hero-card{padding:17px;}
}


/* HERO COLLAGE HOTFIX 2026-10-12: constrain image and balance columns */
.hero { overflow:hidden !important; }
.hero-grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr) !important;
  gap: clamp(28px, 4vw, 58px) !important;
  align-items: center !important;
}
.hero-copy, .hero-card { min-width: 0 !important; }
.hero-card {
  width: 100% !important;
  max-width: 520px !important;
  justify-self: end !important;
  padding: 22px !important;
  transform: rotate(.4deg) !important;
}
.material-shape {
  display: flex !important;
  width: 100% !important;
  height: 220px !important;
  max-height: 220px !important;
  margin: 12px 0 16px !important;
  overflow: hidden !important;
  align-items: center !important;
  justify-content: center !important;
}
.material-shape img.hero-collage-image {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 210px !important;
  max-height: 210px !important;
  object-fit: contain !important;
  object-position: center !important;
  box-shadow: none !important;
}
.material-shape .shape-panel, .material-shape .shape-line { display: none !important; }

@media (max-width: 1000px) {
  .hero-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 34px !important; }
  .hero-copy { max-width: 680px !important; }
  .hero-card { max-width: 600px !important; justify-self: center !important; }
}
@media (max-width: 700px) {
  .hero { padding: 48px 0 54px !important; }
  .hero-card { padding: 16px !important; }
  .material-shape { height: 175px !important; max-height: 175px !important; }
  .material-shape img.hero-collage-image { height: 165px !important; max-height: 165px !important; }
  .hero h1 { font-size: clamp(36px, 10vw, 52px) !important; }
}
