
  html{scroll-behavior:smooth;}
  body{background:#FBF7F2;color:#1E1917;font-family:'Inter',ui-sans-serif,system-ui;-webkit-font-smoothing:antialiased;}
  .h-display{font-family:'Fraunces',ui-serif,Georgia,serif;font-weight:500;line-height:1.08;letter-spacing:-0.01em;}
  .text-rose-grad{background:linear-gradient(135deg,#E8C7B4 0%,#C69882 50%,#9C7159 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .bg-rose-grad{background:linear-gradient(135deg,#E8C7B4 0%,#C69882 50%,#9C7159 100%);}
  .tracking-ultra{letter-spacing:0.34em;}

  .chip{display:inline-flex;align-items:center;gap:8px;background:#FFFFFF;border:1px solid #E8DED0;color:#7A5644;padding:8px 16px;border-radius:999px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;}
  .chip-dot{width:6px;height:6px;border-radius:50%;}
  .chip-dark{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.06);border:1px solid rgba(232,199,180,.3);color:#E8C7B4;padding:8px 16px;border-radius:999px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;}

  .btn-rose{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,#E8C7B4 0%,#C69882 50%,#9C7159 100%);color:#fff;padding:16px 30px;border-radius:999px;box-shadow:0 10px 30px rgba(155,113,89,.35);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;text-decoration:none;}
  .btn-rose:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(155,113,89,.45);}
  .btn-rose-label{display:flex;flex-direction:column;align-items:center;line-height:1.15;}
  .btn-rose-sub{font-size:10px;letter-spacing:.22em;opacity:.85;margin-top:2px;}

  .rv{opacity:0;transform:translateY(24px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1);}
  .rv.in{opacity:1;transform:none;}
  .rv-d1{transition-delay:.08s;} .rv-d2{transition-delay:.16s;} .rv-d3{transition-delay:.24s;} .rv-d4{transition-delay:.32s;} .rv-d5{transition-delay:.4s;}

  #nav{position:fixed;top:0;left:0;right:0;z-index:80;transition:background .4s,backdrop-filter .4s,box-shadow .4s;}
  #nav.nav-scrolled{background:rgba(251,247,242,.85);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(30,25,23,.06);}
  .brand-name{color:#FFFFFF;transition:color .4s;}
  .brand-sub{color:rgba(255,255,255,.65);transition:color .4s;}
  #nav.nav-scrolled .brand-name{color:#1E1917;}
  #nav.nav-scrolled .brand-sub{color:#847668;}

  .wa{position:fixed;bottom:32px;right:32px;z-index:90;width:60px;height:60px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 28px rgba(37,211,102,.5);transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;cursor:pointer;}
  .wa:hover{transform:scale(1.15);box-shadow:0 10px 42px rgba(37,211,102,.6);}
  .wa::before{content:'';position:absolute;inset:0;border-radius:50%;background:#25D366;animation:waPulse 2.6s ease-in-out infinite;}
  @keyframes waPulse{0%{transform:scale(1);opacity:.7;}100%{transform:scale(1.6);opacity:0;}}
  @media (max-width:768px){.wa{width:52px;height:52px;bottom:18px;right:18px;}}

  .icon-badge{width:64px;height:64px;border-radius:20px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#F5EEE4,#FBF7F2);border:1px solid #E8DED0;}

  .step{position:relative;padding-left:56px;}
  .step-num{position:absolute;left:0;top:0;width:38px;height:38px;border-radius:50%;background:#FFFFFF;border:1px solid #E8DED0;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:15px;color:#9C7159;}
  .step:not(:last-child)::before{content:'';position:absolute;left:19px;top:38px;bottom:-8px;width:1px;background:#E8DED0;}

  .tm-wrap{position:relative;overflow:hidden;}
  .tm-row{display:flex;gap:20px;width:max-content;}
  .tm-row.r1{animation:tmLeft 56s linear infinite;}
  .tm-row.r2{animation:tmRight 56s linear infinite;margin-top:20px;}
  .tm-wrap:hover .tm-row{animation-play-state:paused;}
  @keyframes tmLeft{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  @keyframes tmRight{from{transform:translateX(-50%);}to{transform:translateX(0);}}
  .tm-fade{position:absolute;top:0;bottom:0;width:110px;z-index:5;pointer-events:none;}
  .tm-fade.l{left:0;background:linear-gradient(90deg,#FBF7F2 0%,transparent 100%);}
  .tm-fade.r{right:0;background:linear-gradient(270deg,#FBF7F2 0%,transparent 100%);}
  .review-card-mini{width:320px;flex-shrink:0;background:#FFFFFF;border:1px solid #E8DED0;border-radius:20px;padding:24px;}
  @media (max-width:640px){.review-card-mini{width:280px;} .tm-fade{width:50px;}}

  .marquee-strip{overflow:hidden;white-space:nowrap;border-top:1px solid #E8DED0;border-bottom:1px solid #E8DED0;}
  .marquee-track{display:inline-block;animation:mqScroll 32s linear infinite;}
  @keyframes mqScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

  .hero-portrait{transition:transform 1.2s cubic-bezier(.2,.7,.2,1);}

  .cf{position:relative;}
  .cf-frame{cursor:grab;overflow:hidden;padding:32px 0 12px;outline:none;touch-action:pan-y;perspective:calc(var(--cf-card) * 3);}
  .cf-frame:active{cursor:grabbing;}
  .cf-frame:focus-visible{box-shadow:0 0 0 2px #C69882 inset;}
  .cf-stage{position:relative;height:var(--cf-card);transform-style:preserve-3d;}
  .cf-card{position:absolute;left:50%;top:0;width:var(--cf-card);aspect-ratio:1/1;will-change:transform;}
  .cf-card-inner{position:relative;width:100%;height:100%;border-radius:24px;overflow:hidden;background:#FFFFFF;border:1px solid #E8DED0;box-shadow:0 24px 44px rgba(122,86,68,.14);user-select:none;}
  .cf-card-inner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none;}
  .cf-card-inner::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(30,25,23,0) 45%, rgba(30,25,23,.82) 100%);}
  .cf-card-inner span{position:absolute;left:0;right:0;bottom:16px;z-index:1;font-size:clamp(13px,1.2vw,17px);font-weight:500;color:#fff;text-align:center;line-height:1.3;padding:0 12px;}
  .cf-nav{position:absolute;top:calc(50% - 6px);width:38px;height:38px;border-radius:50%;background:#FFFFFF;border:1px solid #E8DED0;color:#7A5644;display:flex;align-items:center;justify-content:center;transform:translateY(-50%);transition:background .25s,box-shadow .25s;box-shadow:0 8px 20px rgba(122,86,68,.12);z-index:200;}
  .cf-nav:hover{background:#F5EEE4;}
  .cf-prev{left:-6px;}
  .cf-next{right:-6px;}
  @media (min-width:768px){.cf-prev{left:8px;} .cf-next{right:8px;}}

  .wa-modal-overlay{position:fixed;inset:0;z-index:300;background:rgba(30,16,20,.72);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .25s;}
  .wa-modal-overlay.is-open{opacity:1;pointer-events:auto;}
  .wa-modal{background:#FBF7F2;border:1px solid #E8DED0;border-radius:24px;padding:52px 44px 44px;max-width:540px;width:100%;max-height:calc(100svh - 40px);overflow-y:auto;text-align:center;box-shadow:0 30px 80px -20px rgba(30,16,20,.6);transform:translateY(14px) scale(.97);transition:transform .3s cubic-bezier(.2,.8,.2,1);}
  .wa-modal-overlay.is-open .wa-modal{transform:none;}
  .wa-modal-eyebrow{font-size:13px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:#9C7159;}
  .wa-modal-text{margin-top:28px;font-size:17px;line-height:1.7;color:#1E1917;}
  .wa-modal-text + .wa-modal-text{margin-top:22px;}
  .wa-modal-highlight{margin:14px auto 0;padding:16px 22px;width:fit-content;max-width:100%;border:1px solid rgba(198,152,130,.6);border-radius:14px;background:rgba(232,199,180,.28);color:#7A5644;font-family:'Fraunces',serif;font-size:24px;font-weight:600;letter-spacing:-.01em;line-height:1.2;}
  .wa-modal-highlight + .wa-modal-text{margin-top:20px;}
  .wa-modal-actions{margin-top:34px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
  .wa-modal-btn{display:inline-flex;align-items:center;justify-content:center;padding:17px 32px;border-radius:999px;font-family:inherit;font-size:15px;font-weight:500;line-height:1;text-decoration:none;cursor:pointer;transition:background .25s,filter .25s;}
  .wa-modal-btn--ghost{background:transparent;color:#7A5644;border:1.5px solid #D9CDBB;}
  .wa-modal-btn--ghost:hover{background:#F5EEE4;}
  .wa-modal-btn--solid{background:linear-gradient(135deg,#E8C7B4 0%,#C69882 50%,#9C7159 100%);color:#fff;border:1.5px solid transparent;font-weight:600;box-shadow:0 10px 30px rgba(155,113,89,.35);}
  .wa-modal-btn--solid:hover{filter:brightness(1.06);}
  @media (max-width:480px){.wa-modal{padding:38px 22px 28px;}.wa-modal-text{font-size:16px;margin-top:22px;}.wa-modal-highlight{font-size:20px;padding:14px 16px;}.wa-modal-actions{flex-direction:column-reverse;gap:10px;}.wa-modal-btn{width:100%;}}

  ::selection{background:#E8C7B4;color:#1E1917;}
