/* ============================================================
   base.css — reset、設計變數、共用排版
   手心設計 handheart — spatial signage site
   ============================================================ */

:root{
  /* 色彩 (實測自原站) */
  --red:        #EB0000;   /* 品牌紅 — hero / stats / nav */
  --pink-red:   #D8394E;   /* OUR SERVICES / CTA 區塊底 */
  --charcoal:   #333133;   /* 深色面板 (概念區 / 場所卡右側) */
  --dark-green: #1F391E;   /* 深綠 accent */
  --black:      #000000;   /* footer / journey 卡片 */
  --ink:        #0e0e0e;
  --watermark:  #F0F0F0;   /* 巨型浮水印灰 */
  --gray:       #C2C2C2;
  --white:      #ffffff;

  /* 字體 */
  --f-en:        'Wix Madefor Text','Helvetica Neue W01',Arial,sans-serif;       /* 英文內文 / nav */
  --f-en-display:'Sora',sans-serif;                                              /* 英文巨字 (OUR SERVICES…) */
  --f-en-alt:    'Familjen Grotesk','Sora',sans-serif;
  --f-num:       'Wix Madefor Display','Sora',sans-serif;                        /* 數字 15+/500+ */
  --f-cjk-display:'hh-cjk-display','hh-cjk-heading','PingFang TC','Microsoft JhengHei',sans-serif;
  --f-cjk-head:  'hh-cjk-heading','PingFang TC','Microsoft JhengHei','Noto Sans TC',sans-serif;
  --f-cjk-body:  'Wix Madefor Text','PingFang TC','Microsoft JhengHei','Noto Sans TC',sans-serif;

  /* 版面 */
  --maxw: 1920px;
  --pad-x: clamp(24px, 4vw, 80px);
  --nav-h: 88px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--f-cjk-body);
  color:var(--ink);
  background:var(--white);
  line-height:1.5;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{ display:block; max-width:100%; height:auto; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; }
h1,h2,h3,h4,p,figure{ margin:0; }
ul{ margin:0; padding:0; list-style:none; }
video{ display:block; }

/* 容器 */
.wrap{ width:100%; max-width:var(--maxw); margin:0 auto; padding-left:var(--pad-x); padding-right:var(--pad-x); }

/* 巨型浮水印字共用 */
.giant{
  font-family:var(--f-cjk-display);
  font-weight:400;
  line-height:.8;
  letter-spacing:-0.01em;
  white-space:pre-line;
  pointer-events:none;
  user-select:none;
}

/* 膠囊鈕 (Get a Quote / Submit) */
.btn-pill{
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--red); color:var(--white);
  font-family:var(--f-en); font-size:18px;
  padding:14px 34px; border-radius:999px;
  transition:transform .25s ease, background .25s ease, box-shadow .25s ease;
}
.btn-pill:hover{ transform:translateY(-2px); box-shadow:0 8px 24px rgba(235,0,0,.35); }

/* 橢圓外框鈕 (Contact Us) */
.btn-ellipse{
  display:inline-flex; align-items:center; justify-content:center;
  color:var(--red); font-family:var(--f-en); font-size:18px;
  padding:12px 30px; border:1.5px solid var(--red); border-radius:50%/60px;
  transition:background .25s ease, color .25s ease;
}
.btn-ellipse:hover{ background:var(--red); color:var(--white); }

/* scroll-reveal 基礎 (由 main.js 加 .in) */
[data-reveal]{ opacity:0; transform:translateY(40px); transition:opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1); }
[data-reveal].in{ opacity:1; transform:none; }
[data-reveal="fade"]{ transform:none; }
[data-reveal-delay="1"]{ transition-delay:.12s; }
[data-reveal-delay="2"]{ transition-delay:.24s; }
[data-reveal-delay="3"]{ transition-delay:.36s; }
[data-reveal-delay="4"]{ transition-delay:.48s; }

@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; }
  [data-reveal]{ opacity:1 !important; transform:none !important; }
}
