.elementor-kit-5{--e-global-color-primary:#8A9A88;--e-global-color-secondary:#54595F;--e-global-color-text:#2D382E;--e-global-color-accent:#C59D8E;--e-global-color-d30e46a:#8A9A88;--e-global-color-5bd4cd9:#A36630;--e-global-color-d613a35:#F2F0EB;--e-global-color-c0c5930:#C59D8E;--e-global-color-4f29df3:#2D382E;--e-global-color-7fcd2f9:#E6EBEE;--e-global-color-a7ee4f7:#F2F0EB73;--e-global-color-f7937f1:#02010100;--e-global-typography-primary-font-family:"Noto Serif TC";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Noto Sans TC";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Noto Sans TC";--e-global-typography-text-font-size:1rem;--e-global-typography-text-font-weight:300;--e-global-typography-text-line-height:2em;--e-global-typography-text-letter-spacing:0.03em;--e-global-typography-accent-font-family:"Noto Serif TC";--e-global-typography-accent-font-weight:500;--e-global-typography-843ebcb-font-family:"Noto Sans TC";--e-global-typography-843ebcb-font-size:0.8125rem;--e-global-typography-843ebcb-font-weight:400;--e-global-typography-843ebcb-line-height:1.5em;--e-global-typography-843ebcb-letter-spacing:0.15em;background-color:var( --e-global-color-d613a35 );color:var( --e-global-color-4f29df3 );font-family:"Noto Sans TC", Sans-serif;font-weight:400;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:var( --e-global-color-f7937f1 );font-family:"Noto Sans TC", Sans-serif;font-size:0.85rem;font-weight:500;color:var( --e-global-color-d613a35 );border-radius:0px 0px 0px 0px;padding:0rem 0rem 0rem 0rem;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{background-color:var( --e-global-color-d613a35 );color:var( --e-global-color-text );border-radius:0px 0px 0px 0px;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a{color:var( --e-global-color-primary );font-size:10px;font-weight:400;}.elementor-kit-5 h1{color:var( --e-global-color-4f29df3 );font-family:"Noto Serif TC", Sans-serif;font-size:2.8rem;font-weight:300;line-height:1.4em;letter-spacing:0.05em;}.elementor-kit-5 h2{color:var( --e-global-color-4f29df3 );font-family:"Noto Serif TC", Sans-serif;font-size:1.875rem;font-weight:400;line-height:1.5em;letter-spacing:0.05em;}.elementor-kit-5 h3{color:var( --e-global-color-text );font-family:"Noto Sans TC", Sans-serif;font-size:2.5rem;font-weight:300;line-height:1.6em;word-spacing:0.08em;}.elementor-kit-5 h4{color:var( --e-global-color-text );font-family:"Noto Serif TC", Sans-serif;font-size:1.06rem;font-weight:400;line-height:1.6em;word-spacing:0.05em;}.elementor-kit-5 h5{color:var( --e-global-color-4f29df3 );font-family:"Noto Sans TC", Sans-serif;font-size:0.9rem;font-weight:500;line-height:1.5em;letter-spacing:0.1em;}.elementor-kit-5 h6{color:var( --e-global-color-4f29df3 );font-family:"Noto Sans TC", Sans-serif;font-size:0.78rem;font-weight:500;line-height:1.5em;letter-spacing:0.15em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}.e-con{--container-max-width:1440px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:100%;}.e-con{--container-max-width:100%;}}@media(max-width:767px){.elementor-kit-5{font-size:var(--text-base);line-height:1.8em;letter-spacing:0.02px;}.elementor-kit-5 p{margin-block-end:0px;}.elementor-kit-5 h1{letter-spacing:-0.01em;}.elementor-kit-5 h2{letter-spacing:-0.02em;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{padding:0px 0px 0px 0px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;--container-default-padding-top:0rem;--container-default-padding-right:0rem;--container-default-padding-bottom:0rem;--container-default-padding-left:0rem;}}/* Start custom CSS *//* ═══════════════════════════════════════════
   PERENNIAL DESIGN TOKENS
   Fluid sizing — no breakpoints needed
═══════════════════════════════════════════ */
:root {

  /* ── COLOURS ─────────────────────────── */
  --pl-oat-white:    #f2f0eb;
  --pl-charcoal:     #2d382e;
  --pl-accent-green: #8a9a88;
  --pl-border:       #e8e5df;

  /* ── TYPE SCALE (fluid) ──────────────── */
  --text-label:  clamp(10px, 0.85vw, 12px);   /* category labels, uppercase tags */
  --text-sm:     clamp(13px, 1.1vw,  15px);   /* captions, fine print */
  --text-base:   clamp(15px, 1.25vw, 17px);   /* body copy */
  --text-lg:     clamp(17px, 1.5vw,  20px);   /* lead / intro paragraph */
  --text-xl:     clamp(20px, 2vw,    26px);   /* card titles, H4 */
  --text-2xl:    clamp(24px, 2.5vw,  32px);   /* section sub-headings, H3 */
  --text-3xl:    clamp(28px, 3.5vw,  42px);   /* section headings, H2 */
--text-hero: clamp(22px, 4.5vw, 54px);
  /* hero H1 */

  /* ── SPACING SCALE (fluid) ───────────── */
  --space-xs:    clamp(8px,  1vw,    12px);
  --space-sm:    clamp(12px, 1.5vw,  20px);
  --space-md:    clamp(20px, 2.5vw,  32px);
  --space-lg:    clamp(32px, 4vw,    56px);
  --space-xl:    clamp(48px, 6vw,    80px);
  --space-2xl:   clamp(64px, 8vw,    120px);

  /* ── SECTION PADDING ─────────────────── */
  --pad-x:       clamp(24px, 6vw,    80px);   /* left/right page padding */
  --pad-y:       clamp(32px, 7vw,    96px);   /* top/bottom section padding */

  /* ── LAYOUT ──────────────────────────── */
  --max-width:   1200px;
  --col-gap:     clamp(16px, 2.5vw,  32px);
}


/* ── LINE-HEIGHT NORMALISATION ──
   Theme root font-size=20px causes Elementor to inherit a fixed 40px
   line-height. Reset to unitless ratios so they scale with each widget's
   actual font-size. */



html, body {
  overflow-x: hidden;
  max-width: 100%;
}


/* ── MOBILE SECTION PADDING ──
   Default 48px top+bottom = 96px gap between sections on phones.
   Bring it to 32px so sections feel connected, not floating. */
@media (max-width: 767px) {
  .e-con[data-elementor-type="section"],
  .e-con.e-con-full,
  .e-con-boxed {
    --padding-top: var(--space-md) !important;
    --padding-bottom: var(--space-md) !important;
  }
}/* End custom CSS */