/* ============================================================
 * main.css — OMEGA Watch Repair HK (所有頁面共用 + 獨有部分)
 * ============================================================ */

/* ── RESET & BASE ── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{--red:#8B1515;--red-deep:#6B0F0F;--red-pale:rgba(139,21,21,.06);--red-glow:rgba(139,21,21,.12);--gold:#B8963E;--gold-light:rgba(184,150,62,.15);
--cream:#F5F0EB;--cream-dark:#EBE5DD;--warm:#D8D2C9;--warm-deep:#BFB7AA;--text-dark:#1A1A1A;--text-mid:#6B6359;--text-light:#9A9186;
--text-inv:#F5F0EB;--bg-light:#FFFFFF;--bg-section:#F8F5F1;--border:rgba(184,150,62,.1);
--display:'Playfair Display',serif;--sans:'Noto Sans TC',sans-serif;--dial:'Cormorant Garamond',serif;
--serif:'Cormorant Garamond',serif;
}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--bg-light);color:var(--text-dark);line-height:1.8;-webkit-font-smoothing:antialiased}
::selection{background:var(--gold);color:#fff}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
section{padding:clamp(80px,10vw,140px) clamp(24px,5vw,80px)}
.section-head{margin-bottom:clamp(48px,6vw,80px)}
.section-label{font-family:var(--dial);font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:12px}
.section-title{font-family:var(--display);font-weight:300;font-size:clamp(28px,3.5vw,52px);line-height:1.2;letter-spacing:-.01em}
.section-rule{width:48px;height:2px;background:var(--gold);margin-top:20px}
.section-desc{font-size:13px;font-weight:300;color:var(--text-mid);line-height:1.9;max-width:480px}

/* ── BUTTONS ── */
.btn-primary{padding:16px 48px;font-size:10px;letter-spacing:.3em;text-transform:uppercase;background:var(--red);color:#fff;border:none;font-family:var(--sans);font-weight:500;cursor:pointer;transition:all .3s;display:inline-block;border-radius:0}
.btn-primary:hover{background:var(--red-deep);transform:translateY(-2px)}
.btn-ghost{padding:16px 48px;font-size:10px;letter-spacing:.3em;text-transform:uppercase;background:transparent;color:var(--text-inv);border:1px solid rgba(245,240,235,.3);font-family:var(--sans);font-weight:500;cursor:pointer;transition:all .3s;display:inline-block;border-radius:0}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn-outline{padding:16px 56px;font-size:10px;letter-spacing:.3em;text-transform:uppercase;background:transparent;color:var(--text-dark);border:1px solid var(--warm-deep);font-family:var(--sans);font-weight:500;cursor:pointer;transition:all .3s;display:inline-block;border-radius:0}
.btn-outline:hover{border-color:var(--gold);color:var(--gold)}
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:200;padding:0 clamp(24px,4vw,64px);height:56px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,0,0,.05);transition:all .4s}
nav.scrolled{background:rgba(139,21,21,.96);border-color:transparent}
nav.scrolled .nav-brand,nav.scrolled .nav-links a{color:var(--text-inv)}
nav.scrolled .nav-hamburger span{background:var(--text-inv)}
.nav-brand{text-transform:uppercase;font-weight:300;font-size:14px;letter-spacing:.15em;color:var(--text-dark);transition:color .4s}
.nav-brand span{color:var(--red-gold)}
.nav-links{display:flex;gap:32px;list-style:none;align-items:center}
.nav-links a{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-mid);font-weight:500;transition:color .3s;white-space:nowrap}
.nav-links a:hover,.nav-links a.active{color:var(--red)}
.nav-hamburger{display:none;flex-direction:column;gap:6px;cursor:pointer;padding:8px}
.nav-hamburger span{display:block;width:22px;height:1.5px;background:var(--text-mid);transition:all .3s}
.nav-links.open{display:flex;flex-direction:column;position:fixed;top:56px;left:0;right:0;bottom:0;background:rgba(42,37,32,.98);padding:60px 32px;gap:32px;z-index:300}
.nav-links.open a{color:var(--text-inv);font-size:14px}

/* ── HERO (index) ── */
.hero{min-height:100vh;min-height:100svh;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden}
.hero::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 50% 50% at 70% 50%,rgba(139,21,21,.08),transparent);pointer-events:none;z-index:3}
.hero-left{display:flex;flex-direction:column;justify-content:center;padding:120px clamp(32px,5vw,80px) 80px;position:relative;z-index:2}
.hero-tag{font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-bottom:32px;display:flex;align-items:center;gap:12px}
.hero-tag::before{content:'';width:24px;height:1px;background:var(--gold)}
.hero h1{font-family:var(--display);font-weight:300;font-size:clamp(40px,6vw,80px);line-height:1.1;color:var(--text-inv);letter-spacing:-.01em}
.hero h1 em{font-family:var(--dial);font-style:italic;font-weight:400;color:var(--gold)}
.hero-desc{margin-top:32px;font-size:14px;font-weight:300;letter-spacing:.02em;color:rgba(247,244,240,.7);max-width:380px;line-height:2}
.hero-cta{margin-top:48px;display:flex;gap:16px;flex-wrap:wrap}
.hero-right{position:relative;z-index:2;display:flex;align-items:center;justify-content:center}
.hero-visual{width:clamp(240px,50vw,440px);aspect-ratio:1;position:relative}


.hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    z-index: 0;
}

.hero-bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.3) 100%);
    z-index: 1;
}

/* Watch dial rings */
.dial-ring{position:absolute;inset:6%;border:1px solid rgba(184,150,62,.15);border-radius:50%;box-shadow:0 0 30px 6px rgba(184,150,62,.04),0 0 60px 16px rgba(184,150,62,.02),0 0 100px 32px rgba(184,150,62,.015)}
.dial-ring::before{content:'';position:absolute;inset:-10%;border-radius:50%;background:radial-gradient(circle,rgba(184,150,62,.035) 25%,rgba(184,150,62,.015) 50%,transparent 72%)}
.dial-ring-inner{position:absolute;inset:18%;border:1px solid rgba(247,244,240,.06);border-radius:50%}
.dial-markers{position:absolute;inset:6%;border-radius:50%}
.dial-marker{position:absolute;width:1px;background:rgba(247,244,240,.15);transform-origin:bottom center}
.dial-marker.major{background:rgba(247,244,240,.3);width:2px}
.dial-marker.m1{height:8%;top:0;left:50%}
.dial-marker.m2{height:8%;top:0;left:50%;transform:rotate(30deg);transform-origin:center 41.67%}
.dial-marker.m3{height:8%;top:0;left:50%;transform:rotate(60deg);transform-origin:center 41.67%}
.dial-marker.m4{height:12%;top:0;left:50%;transform:rotate(90deg);transform-origin:center 41.67%}
.dial-marker.m5{height:8%;top:0;left:50%;transform:rotate(120deg);transform-origin:center 41.67%}
.dial-marker.m6{height:8%;top:0;left:50%;transform:rotate(150deg);transform-origin:center 41.67%}
.dial-marker.m7{height:12%;top:0;left:50%;transform:rotate(180deg);transform-origin:center 41.67%}
.dial-marker.m8{height:8%;top:0;left:50%;transform:rotate(210deg);transform-origin:center 41.67%}
.dial-marker.m9{height:8%;top:0;left:50%;transform:rotate(240deg);transform-origin:center 41.67%}
.dial-marker.m10{height:12%;top:0;left:50%;transform:rotate(270deg);transform-origin:center 41.67%}
.dial-marker.m11{height:8%;top:0;left:50%;transform:rotate(300deg);transform-origin:center 41.67%}
.dial-marker.m12{height:8%;top:0;left:50%;transform:rotate(330deg);transform-origin:center 41.67%}
.sweep-hand{position:absolute;bottom:50%;left:50%;width:2px;height:30%;background:linear-gradient(to top,transparent 0%,var(--red) 20%,var(--red) 100%);transform-origin:bottom center;transform:rotate(0deg);border-radius:1px;z-index:10}
.sweep-hand::after{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:4px;height:4px;background:var(--red);border-radius:50%}
.short-hand{position:absolute;bottom:50%;left:50%;width:3px;height:22%;background:linear-gradient(to top,transparent 0%,rgba(247,244,240,.55) 20%,rgba(247,244,240,.55) 100%);transform-origin:bottom center;transform:rotate(0deg);border-radius:1px;z-index:9}
.short-hand{animation:shortHandSpin 30s linear infinite}
@keyframes shortHandSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.dial-center{position:absolute;inset:47%;border-radius:50%;background:var(--red);z-index:11;box-shadow:0 0 0 3px rgba(196,18,48,.3)}
.dial-stat{position:absolute;text-align:center;opacity:0;transform:translateY(4px);transition:opacity .6s ease,transform .6s ease;z-index:12;pointer-events:none}
.dial-stat.revealed{opacity:1;transform:translateY(0)}
.dial-stat .ds-val{font-family:var(--dial);font-size:clamp(22px,2.8vw,32px);letter-spacing:.08em;color:var(--text-inv);line-height:1}
.dial-stat .ds-label{font-size:clamp(8px,.9vw,10px);letter-spacing:.15em;text-transform:uppercase;color:rgba(247,244,240,.45);margin-top:4px;font-weight:500}
.dial-stat.ds-top{top:4%;left:50%;transform:translateX(-50%)}
.dial-stat.ds-top.revealed{transform:translateX(-50%) translateY(0)}
.dial-stat.ds-right{right:2%;top:50%;transform:translateY(-50%)}
.dial-stat.ds-right.revealed{transform:translateY(-50%) translateX(0)}
.dial-stat.ds-bottom{bottom:4%;left:50%;transform:translateX(-50%)}
.dial-stat.ds-bottom.revealed{transform:translateX(-50%) translateY(0)}
.dial-stat.ds-left{left:2%;top:50%;transform:translateY(-50%)}
.dial-stat.ds-left.revealed{transform:translateY(-50%) translateX(0)}

/* ── MARQUEE (index) ── */
.marquee-strip{overflow:hidden;background:var(--red);padding:12px 0;white-space:nowrap}
.marquee-track{display:inline-flex;gap:48px;animation:marquee 30s linear infinite}
.marquee-track span{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.85);font-weight:500}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── MOBILE FLIP STATS (index) ── */
.mobile-flip{display:none;background:var(--cream-dark);padding:clamp(20px,4vw,28px) clamp(16px,4vw,80px);border-top:1px solid var(--warm);border-bottom:1px solid var(--warm)}
.flip-strip{display:flex;gap:0;justify-content:center}
.flip-item{display:flex;flex-direction:column;align-items:center;min-width:84px;padding:14px 10px;position:relative}
.flip-item:not(:last-child)::after{content:'';position:absolute;right:0;top:20%;height:60%;width:1px;background:var(--warm)}
.flip-window{width:72px;height:80px;position:relative;overflow:hidden;border-radius:4px;background:var(--bg-light);border:1px solid var(--warm);margin-bottom:10px;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.flip-window::before{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(0,0,0,.06);z-index:3}
.flip-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--dial);font-size:34px;letter-spacing:.06em;color:var(--red);z-index:2}
.flip-face-back{transform-origin:bottom center;animation:flipDown 12s ease-in-out infinite}
.flip-item:nth-child(2) .flip-face-back{animation-delay:.15s}
.flip-item:nth-child(3) .flip-face-back{animation-delay:.3s}
.flip-item:nth-child(4) .flip-face-back{animation-delay:.45s}
@keyframes flipDown{
  0%,12%{transform:rotateX(0);opacity:1}
  16%{transform:rotateX(-90deg);opacity:0}
  20%,24%{transform:rotateX(90deg);opacity:0}
  28%,100%{transform:rotateX(0);opacity:1}
}
.flip-label{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--text-light);font-weight:500;white-space:nowrap}

/* ── SERVICES GRID (index) ── */
.services-section{background:var(--bg-section)}
.services-header{text-align:center;margin-bottom:clamp(48px,6vw,72px)}
.services-header .section-label{font-family:var(--dial);font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:12px}
.services-header .section-title{font-family:var(--display);font-weight:300;font-size:clamp(28px,3.5vw,52px);line-height:1.2;letter-spacing:-.01em}
.services-header .section-rule{margin:20px auto 0}
.services-grid-new{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--warm);border:1px solid var(--warm)}
.service-card{background:var(--cream);overflow:hidden;transition:all .4s}
.service-card:hover{background:#fff;transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.08)}
.service-image{position:relative;overflow:hidden;aspect-ratio:4/3}
.service-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.service-card:hover .service-image img{transform:scale(1.05)}
.service-number{position:absolute;top:16px;right:16px;background:var(--red);color:#fff;padding:6px 14px;font-size:10px;letter-spacing:.1em;font-weight:500;z-index:2}
.service-content{padding:clamp(20px,2.5vw,28px)}
.service-title{font-family:var(--display);font-size:17px;font-weight:500;margin-bottom:10px;line-height:1.3}
.service-text{font-size:12px;font-weight:300;color:var(--text-mid);line-height:1.9;margin-bottom:16px}
.service-link{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--red);font-weight:700;display:inline-flex;align-items:center;gap:8px;transition:gap .3s}
.service-card:hover .service-link{gap:14px}
.service-link::after{content:'→'}

/* ── FAQ (index) ── */
.faq-section{background:var(--bg-light)}
.faq-list{max-width:760px;margin:0 auto}
.faq-item{border-top:1px solid rgba(0,0,0,.08)}
.faq-item:last-child{border-bottom:1px solid rgba(0,0,0,.08)}
.faq-q{padding:clamp(20px,3vw,28px) 0;font-size:15px;font-weight:500;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:color .3s}
.faq-q:hover{color:var(--red)}
.faq-q::after{content:'+';font-family:var(--display);font-size:22px;font-weight:300;color:var(--text-light);transition:all .3s}
details[open] .faq-q::after{content:'–';color:var(--red)}
.faq-a{font-size:13px;font-weight:300;color:var(--text-mid);line-height:2;padding-bottom:clamp(20px,3vw,28px)}

/* ── CONTACT GRID (index) ── */
.contact-section{background:var(--bg-section);padding:clamp(80px,10vw,140px) clamp(24px,5vw,80px)}
.contact-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(32px,4vw,64px);align-items:start}
.contact-info-side{padding-right:clamp(16px,3vw,48px);padding-top:40px;padding-left:17%}
.ci-item{display:flex;gap:16px;margin-bottom:28px;align-items:flex-start}
.ci-icon{width:40px;height:40px;border:1px solid var(--red);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:15px;color:var(--red)}
.ci-icon svg{width:18px;height:18px;fill:currentColor}
.ci-content h4{font-size:13px;font-weight:500;margin-bottom:4px;letter-spacing:.04em}
.ci-content p{font-size:13px;font-weight:300;color:var(--text-mid);line-height:1.8}
.ci-content a{color:var(--red);transition:opacity .3s}
.ci-content a:hover{opacity:.7}
.ci-action{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-bottom:36px}
.ci-btn{padding:14px 48px;font-size:11px;letter-spacing:.25em;text-transform:uppercase;font-family:var(--sans);font-weight:500;text-decoration:none;transition:all .3s;border-radius:0;cursor:pointer;display:inline-flex;align-items:center;gap:10px;line-height:1}
.ci-btn.btn-phone{background:var(--red);color:#fff;border:1px solid var(--red)}
.ci-btn.btn-phone:hover{background:var(--red-deep);border-color:var(--red-deep)}
.ci-btn.btn-whatsapp{background:transparent;color:var(--text-dark);border:1px solid var(--warm-deep)}
.ci-btn.btn-whatsapp:hover{border-color:var(--red);color:var(--red)}
.ci-btn-icon{font-size:14px}
.ci-social-row{display:flex;flex-direction:column;gap:20px;margin-top:8px}
.ci-social-icon-link{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text-mid);transition:color .3s}
.ci-social-icon-link:hover{color:var(--red)}
.ci-social-icon-link svg{width:18px;height:18px;fill:currentColor;flex-shrink:0}
.ci-social-icon-link span{font-size:13px;font-weight:300}
.contact-form-side{padding:clamp(32px,4vw,48px);border:1px solid var(--warm);border-radius:2px}
.contact-form-side h3{font-family:var(--display);font-size:22px;font-weight:400;margin-bottom:8px}
.contact-form-side .cf-sub{font-size:12px;font-weight:300;color:var(--text-mid);margin-bottom:28px}
.form-group{margin-bottom:20px}
.form-group label{display:block;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--text-mid);font-weight:500;margin-bottom:8px}
.form-group label .req{color:var(--red)}
.form-group input,.form-group textarea{width:100%;padding:14px 16px;border:1px solid var(--warm);background:var(--cream);font-family:var(--sans);font-size:14px;font-weight:300;color:var(--text-dark);transition:border-color .3s;outline:none;border-radius:0}
.form-group input:focus,.form-group textarea:focus{border-color:var(--red)}
.form-group textarea{min-height:120px;resize:vertical;line-height:1.8}
.form-submit{width:100%;padding:16px;font-size:11px;letter-spacing:.25em;text-transform:uppercase;background:var(--red);color:#fff;border:none;font-family:var(--sans);font-weight:500;cursor:pointer;transition:all .3s;border-radius:0}
.form-submit:hover{background:var(--red-deep)}
#cg_box{margin-top:16px;text-align:center}
#cg_box .success{color:var(--red);font-size:14px;font-weight:500;padding:16px;background:var(--red-pale);border:1px solid rgba(196,18,48,.15)}

/* ── SUB-PAGE COMMON (service, contact, info-*) ── */
.sub-hero{padding:140px clamp(24px,5vw,80px) clamp(60px,8vw,100px);background:linear-gradient(145deg,#2a2520,#3a332c);color:var(--text-inv);position:relative;overflow:hidden}
.sub-hero::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 50% 50% at 70% 50%,var(--red-glow),transparent);pointer-events:none}
.sub-hero .section-label{color:var(--gold)}
.sub-hero .section-title{color:var(--text-inv);font-size:clamp(32px,4vw,56px)}
.sub-hero .section-desc{color:rgba(247,244,240,.5)}
.sub-hero .section-rule{background:var(--red)}
.sub-nav{padding:16px clamp(24px,5vw,80px);background:var(--cream-dark);border-bottom:1px solid var(--warm);display:flex;gap:24px;flex-wrap:wrap;align-items:center}
.sub-nav a{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-mid);font-weight:500;transition:color .3s}
.sub-nav a:hover,.sub-nav a.active{color:var(--red)}
.sub-nav .sep,
.sub-nav .sub-nav-sep{width:1px;height:12px;background:var(--warm)}
.back-link{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--red);font-weight:700;display:inline-flex;align-items:center;gap:8px;margin-bottom:32px;transition:gap .3s}
.back-link:hover{gap:14px}
.back-link::before{content:'←'}

/* ── STEPS GRID (service) ── */
.steps-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--warm);border:1px solid var(--warm);margin:0 auto;max-width:1100px}
.step-card{background:var(--bg-light);padding:clamp(20px,3vw,32px)}
.step-card-img{position:relative;overflow:hidden;height:160px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.step-card-bg{position:absolute;inset:0}
.step-card-num{position:relative;z-index:2;font-family:var(--display);font-size:clamp(36px,4vw,56px);font-weight:700;color:rgba(196,18,48,.12);line-height:1}
.step-card .step-label{font-size:8px;letter-spacing:.3em;text-transform:uppercase;color:var(--red);font-weight:700;margin-bottom:4px}
.step-card .step-title{font-family:var(--display);font-size:clamp(16px,1.8vw,20px);font-weight:500;line-height:1.3;margin-bottom:8px}
.step-card .step-desc{font-size:12px;font-weight:300;color:var(--text-mid);line-height:1.9}
.step-card:nth-child(odd) .step-card-bg{background:#3a332c}
.step-card:nth-child(even) .step-card-bg{background:#2e2822}
.step-card:nth-child(even){display:flex;flex-direction:column}
.step-card:nth-child(even) .step-card-img{order:1;margin-bottom:0;margin-top:16px}

/* ── WARRANTY (service) ── */
.warranty-section{background:var(--cream-dark);padding:clamp(60px,8vw,100px) clamp(24px,5vw,80px);text-align:center}
.warranty-inner{max-width:680px;margin:0 auto}
.warranty-badge{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border:1px solid var(--red);border-radius:50%;margin-bottom:20px;font-family:var(--display);font-size:22px;font-weight:700;color:var(--red)}
.warranty-title{font-family:var(--display);font-size:clamp(24px,3vw,36px);font-weight:400;margin-bottom:20px}
.warranty-text{font-size:13px;font-weight:300;color:var(--text-mid);line-height:2.2;max-width:560px;margin:0 auto}
.warranty-text strong{color:var(--text-dark);font-weight:500}

/* ── PRICING (service) ── */
.pricing-section{background:var(--bg-section);padding:clamp(80px,10vw,140px) clamp(24px,5vw,80px)}
.pricing-inner{max-width:1100px;margin:0 auto}
.pricing-header{text-align:center;margin-bottom:clamp(48px,6vw,80px)}
.pricing-header .section-label{font-size:9px;letter-spacing:.4em;text-transform:uppercase;color:var(--red);font-weight:700;margin-bottom:12px}
.pricing-header .section-title{font-family:var(--display);color:var(--text-dark);font-size:clamp(24px,3vw,36px);font-weight:400;margin-bottom:16px}
.pricing-header .section-rule{width:48px;height:2px;background:var(--red);margin:20px auto 0}
.pricing-header .section-desc{margin:16px auto 0;font-size:13px;font-weight:300;color:var(--text-mid);line-height:1.9}
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;background:var(--warm);border:1px solid var(--warm)}
.price-card{background:var(--cream);padding:clamp(28px,3.5vw,48px);position:relative;transition:all .4s}
.price-card:hover{background:#fff}
.price-card::before{content:'';position:absolute;top:0;left:0;width:0;height:2px;background:var(--red);transition:width .4s}
.price-card:hover::before{width:100%}
.price-card .from{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-light);margin-bottom:8px}
.price-card .amount{font-family:var(--display);font-size:clamp(32px,3vw,48px);font-weight:400;color:var(--red);line-height:1}
.price-card .unit{font-size:12px;color:var(--text-mid);font-weight:300;margin-bottom:20px}
.price-card ul{list-style:none;padding:0;margin:0}
.price-card ul li{padding:10px 0;font-size:12px;font-weight:300;color:var(--text-mid);border-top:1px solid rgba(0,0,0,.06);display:flex;align-items:center;gap:8px}
.price-card ul li::before{content:'';width:4px;height:4px;background:var(--red);border-radius:50%;flex-shrink:0}
.price-card .note{margin-top:16px;font-size:10px;color:var(--text-light);font-style:italic}
.pricing-note{margin-top:24px;font-size:11px;color:var(--text-light);font-style:italic;text-align:center}

/* ── CALCULATOR TEASER (service) ── */
.calc-section{background:var(--bg-section);padding:clamp(60px,8vw,100px) clamp(24px,5vw,80px);text-align:center}
.calc-inner{max-width:700px;margin:0 auto}
.calc-title{font-family:var(--display);font-size:clamp(24px,3vw,36px);font-weight:400;margin-bottom:16px}
.calc-desc{font-size:13px;font-weight:300;color:var(--text-mid);line-height:2;margin-bottom:32px;max-width:480px;margin-left:auto;margin-right:auto}

/* ── CONTACT PAGE (contact.html) ── */
.contact-page-section{padding:clamp(60px,8vw,100px) clamp(24px,5vw,80px)}
.contact-page-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,4vw,64px)}
.contact-info-side .ci-intro{font-size:13px;font-weight:300;color:var(--text-mid);line-height:2;margin-bottom:32px}
.ci-socials{display:flex;gap:12px;margin-top:32px}
.ci-social-link{display:flex;align-items:center;gap:8px;padding:10px 20px;border:1px solid var(--warm);border-radius:4px;font-size:12px;font-weight:500;color:var(--text-mid);transition:all .3s}
.ci-social-link:hover{border-color:var(--red);color:var(--red)}
.contact-form-side{background:var(--cream);padding:clamp(32px,4vw,48px);border-radius:2px}
.cta-bar{background:var(--bg-section);padding:clamp(48px,6vw,72px) clamp(24px,5vw,80px);text-align:center}
.cta-bar-inner{max-width:600px;margin:0 auto}
.cta-bar h3{font-family:var(--display);font-size:clamp(22px,3vw,32px);font-weight:400;margin-bottom:12px}
.cta-bar p{font-size:13px;font-weight:300;color:var(--text-mid);line-height:2;margin-bottom:32px}
.cta-bar-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.cta-bar-btn{padding:14px 40px;font-size:10px;letter-spacing:.25em;text-transform:uppercase;border-radius:0;transition:all .3s;font-family:var(--sans);font-weight:500}
.cta-bar-btn.btn-red{background:var(--red);color:#fff;border:1px solid var(--red)}
.cta-bar-btn.btn-red:hover{background:var(--red-deep);border-color:var(--red-deep)}
.cta-bar-btn.btn-outline-dark{background:transparent;color:var(--text-dark);border:1px solid var(--warm-deep)}
.cta-bar-btn.btn-outline-dark:hover{border-color:var(--red);color:var(--red)}

/* ── MAGAZINE / INFO PAGES (info-*) ── */
.mag-section{padding:clamp(60px,8vw,100px) clamp(24px,5vw,80px)}
.mag-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--warm);border:1px solid var(--warm);max-width:1100px;margin:0 auto}
.mag-card{background:var(--cream);overflow:hidden;transition:all .4s;position:relative}
.mag-card:hover{background:#fff}
.mag-card-badge{position:absolute;top:16px;left:16px;font-size:8px;letter-spacing:.2em;text-transform:uppercase;background:var(--red);color:#fff;padding:4px 12px;font-weight:700;z-index:2}
.mag-card-img{width:100%;aspect-ratio:16/10;position:relative;overflow:hidden}
.mag-card-img-bg{position:absolute;inset:0;background:linear-gradient(135deg,var(--cream-dark),var(--warm))}
.mag-card-img-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:48px;font-family:var(--dial);font-weight:300;color:var(--warm-deep)}
.mag-card-img-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(196,18,48,.04),transparent)}
.mag-card-body{padding:clamp(20px,2.5vw,32px)}
.mag-card-tag{font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:8px}
.mag-card-body h3{font-family:var(--display);font-size:clamp(18px,2vw,24px);font-weight:300;line-height:1.3;margin-bottom:12px}
.mag-card-body p{font-size:12px;font-weight:300;color:var(--text-mid);line-height:1.9}
.mag-card-body .mag-date{font-size:10px;color:var(--text-light);margin-top:16px;letter-spacing:.1em}
.mag-featured{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
.mag-featured .mag-card-img{aspect-ratio:auto;min-height:360px}
.mag-featured .mag-card-img-text{font-size:80px}
.mag-featured .mag-card-body{padding:clamp(32px,4vw,56px);display:flex;flex-direction:column;justify-content:center}
.mag-featured .mag-card-body h3{font-size:clamp(22px,2.5vw,32px)}

/* ── ARTICLE BODY (info-* article pages) ── */
.article-body{max-width:760px;margin:0 auto;padding:clamp(40px,6vw,80px) clamp(24px,5vw,80px)}
.article-body h2{font-family:var(--display);font-size:clamp(22px,2.5vw,32px);font-weight:500;margin:clamp(32px,4vw,48px) 0 16px}
.article-body h3{font-size:16px;font-weight:500;margin:24px 0 12px}
.article-body p{font-size:14px;font-weight:300;color:var(--text-mid);line-height:2;margin-bottom:16px}
.article-body blockquote{border-left:3px solid var(--red);padding-left:20px;margin:24px 0;font-style:italic;color:var(--text-mid)}
.article-body ul,.article-body ol{padding-left:24px;margin-bottom:16px}
.article-body li{font-size:14px;font-weight:300;color:var(--text-mid);line-height:2}

/* ── FOOTER ── */
footer{padding:40px clamp(24px,5vw,80px);border-top:1px solid rgba(0,0,0,.06);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
.footer-brand{text-transform:uppercase;font-weight:300;font-size:12px;letter-spacing:.15em;color:var(--text-dark);transition:color .4s}
.footer-brand span{color:var(--red)}
.footer-note{font-size:10px;color:var(--text-light)}

/* ===== WhatsApp 浮動按鈕 ===== */
.whatsapp-float {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9999;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #25D366;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  text-decoration: none;
}
.whatsapp-float:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 16px rgba(0,0,0,0.4);
}
.whatsapp-float svg {
  width: 32px;
  height: 32px;
}

/* ── MOBILE ── */
@media(max-width:900px){
  .hero{grid-template-columns:1fr}
  .hero-right{display:none}
  .mobile-flip{display:block}
  .flip-item{min-width:76px;padding:12px 8px}
  .flip-window{width:64px;height:72px}
  .flip-face{font-size:32px}
  .services-grid-new{grid-template-columns:1fr 1fr}
  .contact-grid,.contact-page-grid{grid-template-columns:1fr}
  .contact-info-side{padding-right:0;padding-top:0}
  .steps-grid{grid-template-columns:1fr}
  .step-card:nth-child(even){display:flex}
  .step-card:nth-child(even) .step-card-img{order:0;margin-top:0;margin-bottom:16px}
  .pricing-grid,.price-grid{grid-template-columns:1fr}
  .mag-grid{grid-template-columns:1fr}
  .mag-featured{grid-template-columns:1fr}
  .mag-featured .mag-card-img{min-height:200px}
  .nav-links{display:none}
  .nav-hamburger{display:flex}
}
@media(max-width:560px){
  .services-grid-new{grid-template-columns:1fr}
  .hero-cta{flex-direction:column;align-items:flex-start}
  .hero-cta .btn-primary,.hero-cta .btn-ghost{width:100%;text-align:center}
  .step-card-img{height:140px}
}

/* ── LANGUAGE TOGGLE ── */
.lang-toggle{background:none;border:1px solid var(--warm);border-radius:3px;color:var(--text-mid);font-size:10px;font-weight:700;letter-spacing:.1em;padding:4px 10px;cursor:pointer;transition:all .3s;font-family:inherit;margin-left:12px;white-space:nowrap}
.lang-toggle:hover{color:var(--red);border-color:var(--red)}
nav.scrolled .lang-toggle{border-color:rgba(255,255,255,.25);color:rgba(247,244,240,.7)}
nav.scrolled .lang-toggle:hover{color:var(--red);border-color:var(--red)}
@media(max-width:768px){.nav-hamburger{margin-left:auto}.lang-toggle{margin-left:0;margin-right:12px}}

/* Anti-Copy: Disable text selection */
body{
  -webkit-user-select:none;
  -moz-user-select:none;
  -ms-user-select:none;
  user-select:none;
}
/* Allow selection in form inputs/textarea only */
input,textarea,[contenteditable]{
  -webkit-user-select:text;
  -moz-user-select:text;
  -ms-user-select:text;
  user-select:text;
}
