*{margin:0;padding:0;box-sizing:border-box;}
    html{scroll-behavior:smooth;}
    body{margin:0;background:#F6F2E8;font-family:'Poppins',sans-serif;color:#3B2145;-webkit-font-smoothing:antialiased;}
    a{text-decoration:none;color:inherit;}
    .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);}
    .reveal.in{opacity:1;transform:none;}
    .lift{transition:transform .3s cubic-bezier(.2,.8,.3,1.3),box-shadow .3s ease;}
    .lift:hover{transform:translateY(-6px) rotate(-0.4deg);box-shadow:0 22px 48px rgba(22,35,62,0.12);}
    .navlink{position:relative;transition:color .2s ease;}
    .navlink:hover{color:#EE7E52;}
    .btn-primary{transition:transform .25s cubic-bezier(.2,.8,.3,1.4),box-shadow .25s ease;}
    .btn-primary:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 14px 30px rgba(22,35,62,0.22);}
    .btn-ghost{transition:border-color .2s ease,color .2s ease;}
    .btn-ghost:hover{border-color:#3B2145;color:#3B2145;}
    .field{transition:border-color .2s ease,background .2s ease;}
    .field:focus{outline:none;border-color:#1E7A6A;background:#fff;}
    @media (max-width:980px){
      .nav-links{display:none !important;}
      .hero-row{flex-direction:column !important;gap:48px !important;}
      .hero-photo{width:100% !important;height:auto !important;min-height:420px !important;}
      .split{flex-direction:column !important;}
      .col2,.col3,.col4{grid-template-columns:1fr !important;}
      .pad-x{padding-left:26px !important;padding-right:26px !important;}
      .h1{font-size:50px !important;}
      .cmp-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
      .cmp{min-width:720px;}
    }
    @media (max-width:600px){
      .h1{font-size:40px !important;}
      .h2{font-size:32px !important;}
      .sec{padding:72px 0 !important;}
    }
    details>summary{list-style:none;cursor:pointer;}
    details>summary::-webkit-details-marker{display:none;}
    .acc{transition:background .2s ease;}
    details:hover .acc{background:#F2ECDC;}
    .chev{transition:transform .28s ease;flex:none;}
    details[open] .chev{transform:rotate(180deg);}
    @media (prefers-reduced-motion:reduce){.reveal{opacity:1 !important;transform:none !important;}.doodle{animation:none !important;}}
    .doodle{position:absolute;pointer-events:none;z-index:3;}
    @keyframes bob{0%,100%{transform:translateY(0) rotate(var(--r,0deg));}50%{transform:translateY(-7px) rotate(var(--r,0deg));}}
    @keyframes twinkle{0%,100%{transform:scale(1) rotate(var(--r,0deg));opacity:.9;}50%{transform:scale(1.18) rotate(var(--r,0deg));opacity:1;}}
    .bob{animation:bob 4s ease-in-out infinite;}
    .twinkle{animation:twinkle 3s ease-in-out infinite;}
    .tilt{transition:transform .24s ease,box-shadow .24s ease;}
    .tilt:hover{transform:translateY(-3px);}
    .tiltr{transition:transform .24s ease,box-shadow .24s ease;}
    .tiltr:hover{transform:translateY(-3px);}
    .hand{font-family:'Caveat',cursive;font-weight:700;line-height:1;color:#3B2145;}
    @media (max-width:980px){.hide-sm{display:none !important;}}.navlink.active{color:#EE7E52;}

/* Menu HP. Desain aslinya menyembunyikan .nav-links di bawah 980px tanpa
   pengganti; setelah situs dipecah jadi banyak halaman, itu membuat lima
   halaman tidak bisa dijangkau dari ponsel. */
.nav-toggle{display:none;background:none;border:1.5px solid #E5DCC8;border-radius:12px;
  width:44px;height:44px;align-items:center;justify-content:center;cursor:pointer;
  color:#3B2145;flex:none;padding:0;}
@media (max-width:980px){
  .nav-toggle{display:inline-flex;}
  .nav-links{position:absolute;top:76px;left:0;right:0;flex-direction:column;
    align-items:stretch;gap:0 !important;background:#F6F2E8;
    border-bottom:1px solid #E5DCC8;box-shadow:0 14px 30px rgba(22,35,62,0.10);
    padding:8px 26px 18px;}
  .nav-links.open{display:flex !important;}
  .nav-links .navlink{display:block;width:100%;text-align:left;padding:14px 0;
    border-bottom:1px solid #EDE5D4;font-size:18px;}
  .nav-links .navlink:last-child{border-bottom:none;}
}
