    :root{
      --text:#222;
      --muted:#6b6b6b;
      --brand:#111;
      --accent:#c9b796;
      --bg:#fdf9f1;
      --max:1160px;
    }

    @font-face {
      font-family: 'Holiday';
      src: url('/fonts/HolidayFree.woff2') format('woff2'),
           url('/fonts/HolidayFree.woff') format('woff');
      font-weight: normal;
      font-style: normal;
    }
    
    .brand {
      font-family: 'Holiday', serif;
      font-size: 20px;
      font-weight: normal;
      line-height: 1;
      color: var(--brand);
      margin-right: 32px;
      text-decoration: none;
    }

    *{box-sizing:border-box}
    html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}

    .nav{
      position:sticky; top:0; z-index:50;
      background:var(--bg); border-bottom:1px solid #eee;
    }
    .nav__inner{
      max-width:var(--max); margin:0 auto; padding:14px 20px;
      display:flex; align-items:center; justify-content:space-between; gap:16px; position: relative;
    }



    .menu{display:flex; gap:18px; flex-wrap:wrap}
    .menu a{
      text-decoration:none; color:var(--text); font-weight:500;
      padding:8px 10px; border-radius:8px;
    }
    .menu a:hover{background:#f4f4f4}

    .hero{
      max-width:var(--max); margin:0 auto; padding:60px 20px 40px;
      display:grid; grid-template-columns:1.2fr .9fr; align-items:center; gap:36px;
    }
    .hero h1{
      font-family:"Playfair Display", serif; font-size:56px; line-height:1.05; margin:0;
      letter-spacing:.2px;
    }
    .hero .tagline{
      margin:10px 0 28px; color:var(--muted); font-size:18px;
    }
    .hero .quote{
      font-size:28px; line-height:1.45; margin:20px 0 34px;
    }
    .hero .since{ color:var(--muted); margin-top:20px; }

    .social{ display:flex; align-items:center; gap:14px; margin-top:10px;}
    .icon{
      width:34px; height:34px; border:1px solid #ddd; border-radius:10px;
      display:grid; place-items:center; color:#000;
      background:var(--bg);
    }
    .handle{ margin-left:6px; color:#333; font-weight:600;}

    section{ scroll-margin-top:76px; }
    .section{
      max-width:var(--max); margin:40px auto; padding:20px;
      border-top:1px solid #f1f1f1;
    }
    .section h2{
      font-family:"Playfair Display", serif; font-size:32px; margin:10px 0 12px;
    }
    .muted{color:var(--muted)}

    @media (max-width:900px){
      .hero{grid-template-columns:1fr; padding-top:36px}
      .hero h1{font-size:44px}
      .hero .quote{font-size:24px}
      .menu{gap:10px}
    }
    
    * {
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
    }
    
    input, textarea, [contenteditable] {
      caret-color: transparent;
    }
    

    
    .logo {
  width: 400px;
  height: auto;
}

.wa-fab {
  position: fixed;
  right: 16px;
  bottom: 16px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #25D366;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  z-index: 9999;
  transition: all 0.2s ease;
  text-decoration: none;
  border: none;
  cursor: pointer;
}

.wa-fab:hover {
  background: #20c85a;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
  transform: scale(1.02);
}

.wa-fab .wa-svg {
  width: 28px;
  height: 28px;
  color: white;
}

  :root{
    --cookie-bg:#989898;
    --cookie-fg:#ffffff;
    --cookie-maxw:1200px;
  }
  .cookie-wrap{
    position:fixed; top:0; left:0; right:0;
    background:var(--cookie-bg);
    color:var(--cookie-fg);
    z-index:9999;
    box-shadow:0 2px 8px rgba(0,0,0,.15);
  }
  .cookie-inner{
    max-width:var(--cookie-maxw);
    margin:0 auto;
    display:flex; align-items:center; justify-content:center;
    gap:16px;
    padding:14px 20px;
    line-height:1.5;
    font: 14px/1.5 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  }
  .cookie-text{
    text-align:center;
  }
  .cookie-text a{ color:#fff; text-decoration:underline; }
  .cookie-close{
    margin-left:auto;
    display:inline-flex; align-items:center; justify-content:center;
    width:28px; height:28px;
    border:2px solid rgba(255,255,255,.9);
    color:#fff; background:transparent;
    border-radius:999px;
    cursor:pointer;
    transition:all .2s ease;
  }
  .cookie-close:hover{ background:rgba(255,255,255,.2); transform:scale(1.05); }

  @media (max-width:480px){
    .cookie-inner{ padding:12px 14px; }
  }
  
.nav-tools {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 16px;
}


.lang-toggle {
  display: flex;
  width: 70px;
  background: #e8e8e8;
  border-radius: 30px;
  padding: 3px;
  border: 1px solid #cdd1df;
  cursor: pointer;
}

.lang-toggle .toggle-option {
  flex: 1;
  text-align: center;
  font-size: 12px;
  padding: 4px 0;
  border-radius: 20px;
  color: #555;
  user-select: none;
  transition: 0.25s;
}

.lang-toggle .active {
  background: #EFD8A3;
  color: #333;
}
/* Remove underline from language switcher */
.lang-toggle a,
.lang-toggle a:hover,
.lang-toggle a:focus,
.lang-toggle a:active,
.lang-toggle a:visited,
.lang-toggle .toggle-option {
  text-decoration: none !important;
}

/* PAGE LANGUAGE TRANSITION */
body {
  animation: tmPageFadeIn 100ms ease both;
  transition: opacity 60ms ease;
}

html.page-leaving body {
  animation: none !important;
  opacity: 0 !important;
}

@keyframes tmPageFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  body {
    animation: none !important;
    transition: none !important;
  }

  html.page-leaving body {
    opacity: 1 !important;
  }
}

/* GLOBAL TEXT COLOR */
body,
h1, h2, h3, h4, h5, h6,
p, span, small,
a,
.nav a,
.hero h1,
.tagline,
.quote,
.social,
.social a,
.lang-toggle,
.lang-toggle a,
.toggle-option {
  color: #6B5B45 !important;
}

/* REMOVE BLUE FLASH / FOCUS BOX ON LANGUAGE SWITCH */
.lang-toggle,
.lang-toggle a,
.lang-toggle .toggle-option {
  -webkit-tap-highlight-color: transparent !important;
  outline: none !important;
  box-shadow: none !important;
}

.lang-toggle a:focus,
.lang-toggle a:active,
.lang-toggle .toggle-option:focus,
.lang-toggle .toggle-option:active {
  outline: none !important;
  box-shadow: none !important;
  background-color: transparent !important;
}

.lang-toggle .active {
  background-color: #EFD8A3 !important;
}

html.page-leaving .lang-toggle,
html.page-leaving .lang-toggle *,
html.page-leaving .toggle-option,
html.page-leaving .toggle-option.active {
  background: transparent !important;
  outline: none !important;
  box-shadow: none !important;
  opacity: 0 !important;
}

/* ===== HERO FIT TO SCREEN / LARGER DESKTOP LAYOUT ===== */
@media (min-width: 992px) {
  .hero {
    width: min(92vw, 1400px) !important;
    margin: 0 auto !important;
    min-height: calc(100vh - 90px) !important;
    display: grid !important;
    grid-template-columns: 1.05fr 0.95fr !important;
    align-items: center !important;
    gap: 56px !important;
    padding-top: 32px !important;
    padding-bottom: 48px !important;
  }

  .hero h1 {
    font-size: clamp(64px, 5vw, 88px) !important;
    line-height: 1.02 !important;
    margin-bottom: 12px !important;
  }

  .hero .tagline {
    font-size: clamp(20px, 1.5vw, 28px) !important;
    line-height: 1.4 !important;
    margin-bottom: 26px !important;
  }

  .hero .quote {
    font-size: clamp(28px, 2.1vw, 42px) !important;
    line-height: 1.35 !important;
    max-width: 760px !important;
    margin-bottom: 34px !important;
  }

  .hero .social,
  .hero p,
  .hero small {
    font-size: clamp(18px, 1.2vw, 22px) !important;
  }

  .logo {
    width: min(34vw, 520px) !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
  }
}

/* Sedikit rapikan container/nav bila masih terlalu sempit */
@media (min-width: 992px) {
  .nav,
  .navbar,
  .nav-inner,
  .container {
    width: min(94vw, 1450px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ===== HERO BALANCE REVISION ===== */
/* Dekatkan hero ke navbar, kecilkan teks kiri, besarkan logo kanan */
@media (min-width: 992px) {
  .hero {
    width: min(90vw, 1320px) !important;
    margin: 0 auto !important;
    min-height: auto !important;
    display: grid !important;
    grid-template-columns: 0.92fr 1.08fr !important;
    align-items: center !important;
    gap: 70px !important;
    padding-top: 92px !important;
    padding-bottom: 80px !important;
  }

  .hero > div:first-child {
    max-width: 680px !important;
  }

  .hero h1 {
    font-size: clamp(56px, 4.2vw, 76px) !important;
    line-height: 1.02 !important;
    margin: 0 0 10px 0 !important;
  }

  .hero .tagline {
    font-size: clamp(18px, 1.25vw, 22px) !important;
    line-height: 1.35 !important;
    margin: 0 0 28px 0 !important;
  }

  .hero .quote {
    font-size: clamp(26px, 1.85vw, 34px) !important;
    line-height: 1.38 !important;
    max-width: 620px !important;
    margin: 0 0 36px 0 !important;
  }

  .hero .social,
  .hero p,
  .hero small {
    font-size: clamp(17px, 1.05vw, 20px) !important;
  }

  .logo {
    width: min(43vw, 620px) !important;
    max-width: 620px !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
  }
}

/* ===== HERO MOVE SLIGHTLY UP ===== */
@media (min-width: 992px) {
  .hero {
    padding-top: 40px !important;
    padding-bottom: 80px !important;
  }
}

/* ===== NAVBAR SLIGHTLY LOWER ===== */
@media (min-width: 992px) {
  .nav {
    padding-top: 16px !important;
    padding-bottom: 12px !important;
    align-items: center !important;
  }
}

/* ===== MENU HOVER COLOR ===== */
.nav a:not(.brand):not(.logo-link):not(.toggle-option):not(.active):hover,
.nav a:not(.brand):not(.logo-link):not(.toggle-option):not(.active):focus {
  background-color: #F2DBA5 !important;
  color: #6B5B45 !important;
  border-radius: 14px !important;
  transition: background-color 180ms ease, color 180ms ease;
}

/* Pastikan logo brand dan language switch tidak ikut berubah saat hover */
.nav .brand:hover,
.nav .logo-link:hover,
.lang-toggle a:hover,
.lang-toggle .toggle-option:hover {
  background-color: transparent !important;
}

/* ===== PASTEL ORANGE FOR MENU HOVER AND LANGUAGE ACTIVE ===== */
.nav a:not(.brand):not(.logo-link):not(.toggle-option):not(.active):hover,
.nav a:not(.brand):not(.logo-link):not(.toggle-option):not(.active):focus {
  background-color: #f1daa5 !important;
  color: #6B5B45 !important;
  border-radius: 14px !important;
}

/* ID / EN active color */
.lang-toggle .active,
.lang-toggle a.active,
.lang-toggle .toggle-option.active,
.nav .lang-toggle .active,
.nav .lang-toggle a.active,
.nav .lang-toggle .toggle-option.active {
  background-color: #f1daa5 !important;
  color: #6B5B45 !important;
}

/* Prevent language hover from turning gray/blue */
.lang-toggle a:hover,
.lang-toggle a:focus,
.lang-toggle .toggle-option:hover,
.lang-toggle .toggle-option:focus {
  background-color: transparent !important;
  color: #6B5B45 !important;
  text-decoration: none !important;
}

/* Keep active language color even when hovered */
.lang-toggle .active:hover,
.lang-toggle a.active:hover,
.lang-toggle .toggle-option.active:hover {
  background-color: #f1daa5 !important;
  color: #6B5B45 !important;
}

/* ===== SOCIAL ICON HOVER COLOR ===== */
.social a:hover,
.social a:focus,
.social .icon:hover,
.social .icon:focus {
  background-color: #f1daa5 !important;
  border-color: #f1daa5 !important;
  color: #6B5B45 !important;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.icon:hover,
.icon:focus {
  background-color: #f1daa5 !important;
  border-color: #f1daa5 !important;
  color: #6B5B45 !important;
}

/* ===== BRAND SIGNATURE ONLY BLACK ===== */
html body .nav .nav__inner > a.brand,
html body .nav .nav__inner > a.brand:hover,
html body .nav .nav__inner > a.brand:focus,
html body .nav .nav__inner > a.brand:active,
html body .nav .nav__inner > a.brand:visited {
  color: #000000 !important;
  text-decoration: none !important;
}

/* ===== BRAND SIGNATURE ONLY BLACK ===== */
html body .nav .nav__inner > a.brand,
html body .nav .nav__inner > a.brand:hover,
html body .nav .nav__inner > a.brand:focus,
html body .nav .nav__inner > a.brand:active,
html body .nav .nav__inner > a.brand:visited {
  color: #000000 !important;
  text-decoration: none !important;
}

/* ===== GLOBAL WHATSAPP FLOATING BUTTON ===== */
.wa-fab {
  position: fixed !important;
  right: 28px !important;
  bottom: 28px !important;
  width: 58px !important;
  height: 58px !important;
  border-radius: 50% !important;
  background: #19C85A !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 99999 !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18) !important;
  text-decoration: none !important;
  transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease !important;
}

.wa-fab:hover,
.wa-fab:focus {
  transform: translateY(-3px) scale(1.04) !important;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.22) !important;
  background: #16B851 !important;
  outline: none !important;
}

.wa-fab svg {
  width: 31px !important;
  height: 31px !important;
  fill: #ffffff !important;
  display: block !important;
}

@media (max-width: 640px) {
  .wa-fab {
    right: 20px !important;
    bottom: 20px !important;
    width: 54px !important;
    height: 54px !important;
  }

  .wa-fab svg {
    width: 29px !important;
    height: 29px !important;
  }
}
