:root{--bg:#0b0d10;--bg-2:#101318;--surface:#161a20;--surface-2:#1c2129;--line:#e8c87e24;--line-soft:#ffffff12;--gold:#e8c87e;--gold-deep:#b08a3c;--gold-grad:linear-gradient(120deg, #f3dfa8 0%, #e8c87e 35%, #c9a052 70%, #f0d693 100%);--text:#ece9e1;--muted:#9ba1ab;--serif:"Noto Serif TC", "Songti TC", serif;--sans:"Noto Sans TC", "PingFang TC", system-ui, sans-serif;--radius:18px;--container:1160px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:90px}body{background:var(--bg);color:var(--text);font-family:var(--sans);letter-spacing:.02em;-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.85;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}::selection{background:#e8c87e4d}.container{width:min(var(--container), calc(100% - 48px));margin-inline:auto}.section{padding:110px 0;position:relative}.section--alt{background:var(--bg-2)}.section-head{max-width:640px;margin-bottom:60px}.section-head.center{text-align:center;margin-inline:auto}.eyebrow{letter-spacing:.35em;color:var(--gold);text-transform:uppercase;align-items:center;gap:10px;margin-bottom:18px;font-size:13px;font-weight:500;display:inline-flex}.eyebrow:before,.section-head.center .eyebrow:after{content:"";background:var(--gold-grad);width:34px;height:1px}h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.35}.section-title{margin-bottom:18px;font-size:clamp(28px,4vw,42px)}.section-sub{color:var(--muted);font-size:16px}.gold-text{background:var(--gold-grad);color:#0000;background-clip:text}.btn{letter-spacing:.12em;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:10px;padding:15px 34px;font-size:15px;font-weight:500;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s,background .35s,color .35s;display:inline-flex}.btn-gold{background:var(--gold-grad);color:#1a1405;box-shadow:0 8px 30px #c8a05047}.btn-gold:hover{transform:translateY(-3px);box-shadow:0 14px 40px #c8a05066}.btn-ghost{color:var(--gold);background:0 0;border:1px solid #e8c87e73}.btn-ghost:hover{background:#e8c87e1a;transform:translateY(-3px)}.site-header{z-index:100;transition:background .4s,box-shadow .4s,backdrop-filter .4s;position:fixed;inset:0 0 auto}.site-header.scrolled{backdrop-filter:blur(18px);box-shadow:0 1px 0 var(--line-soft);background:#0b0d10d1}.nav-inner{justify-content:space-between;align-items:center;height:78px;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand-mark{background:var(--gold-grad);color:#171204;width:44px;height:44px;font-family:var(--serif);letter-spacing:0;border-radius:12px;place-items:center;font-size:15px;font-weight:700;display:grid;box-shadow:0 6px 18px #c8a05059}.brand-text{line-height:1.25}.brand-text strong{font-family:var(--serif);letter-spacing:.06em;font-size:17px;display:block}.brand-text span{color:var(--muted);letter-spacing:.28em;font-size:11.5px}.brand-logo{background:#fff;padding:2px;overflow:hidden}.brand-logo img{object-fit:contain;border-radius:10px;width:100%;height:100%}.nav-links{align-items:center;gap:38px;list-style:none;display:flex}.nav-links a{letter-spacing:.14em;color:var(--muted);padding:6px 0;font-size:15px;transition:color .3s;position:relative}.nav-links a:after{content:"";background:var(--gold-grad);width:0;height:1px;transition:width .35s;position:absolute;bottom:0;left:0}.nav-links a:hover,.nav-links a.active{color:var(--text)}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.nav-cta{display:inline-flex}.nav-toggle{cursor:pointer;z-index:110;background:0 0;border:none;width:44px;height:44px;display:none;position:relative}.nav-toggle span{background:var(--text);width:24px;height:2px;margin:6px auto;transition:transform .35s,opacity .35s;display:block}.nav-toggle.open span:first-child{transform:translateY(8px)rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}.hero{align-items:center;min-height:100svh;padding:140px 0 90px;display:flex;position:relative;overflow:hidden}.hero-bg{background:linear-gradient(100deg,#080a0df0 0%,#080a0dad 45%,#080a0d6b 100%),url(/images/hero.jpg) 50% 38%/cover no-repeat,linear-gradient(160deg,#1e242d 0%,#12151b 48%,#0b0d10 100%);animation:14s ease-out forwards heroZoom;position:absolute;inset:0;transform:scale(1.06)}@keyframes heroZoom{to{transform:scale(1)}}.hero-bg:after{content:"";background:linear-gradient(to top, var(--bg) 2%, transparent 30%);position:absolute;inset:0}.hero-content{z-index:2;max-width:720px;position:relative}.hero-tag{border:1px solid var(--line);letter-spacing:.3em;color:var(--gold);background:#e8c87e0f;border-radius:999px;align-items:center;gap:12px;margin-bottom:30px;padding:9px 20px;font-size:13px;display:inline-flex}.hero h1{letter-spacing:.04em;margin-bottom:26px;font-size:clamp(38px,6.2vw,68px);line-height:1.28}.hero p.lead{color:#c8ccd3;max-width:560px;margin-bottom:44px;font-size:clamp(16px,2vw,19px)}.hero-actions{flex-wrap:wrap;gap:18px;display:flex}.hero-stats{z-index:2;flex-wrap:wrap;gap:56px;margin-top:76px;display:flex;position:relative}.hero-stat strong{font-family:var(--serif);font-size:36px;line-height:1.2;display:block}.hero-stat span{color:var(--muted);letter-spacing:.18em;font-size:13.5px}.scroll-hint{z-index:2;background:linear-gradient(to bottom, transparent, var(--gold));width:1px;height:56px;position:absolute;bottom:34px;left:50%;overflow:hidden;transform:translate(-50%)}.scroll-hint:after{content:"";background:linear-gradient(to bottom, transparent 40%, var(--gold));animation:2.2s ease-in-out infinite scrollHint;position:absolute;inset:0}@keyframes scrollHint{0%{transform:translateY(-100%)}60%,to{transform:translateY(100%)}}.card-grid{gap:26px;display:grid}.card-grid.cols-3{grid-template-columns:repeat(3,1fr)}.card-grid.cols-4{grid-template-columns:repeat(4,1fr)}.g-card{background:linear-gradient(160deg, var(--surface) 0%, var(--bg-2) 100%);border:1px solid var(--line-soft);border-radius:var(--radius);padding:38px 32px;transition:transform .45s cubic-bezier(.22,1,.36,1),border-color .45s,box-shadow .45s;position:relative;overflow:hidden}.g-card:before{content:"";background:var(--gold-grad);opacity:0;height:1px;transition:opacity .45s;position:absolute;inset:0 0 auto}.g-card:hover{border-color:var(--line);transform:translateY(-8px);box-shadow:0 24px 60px #00000073}.g-card:hover:before{opacity:1}.g-card .icon{border:1px solid var(--line);width:58px;height:58px;color:var(--gold);background:#e8c87e1a;border-radius:16px;place-items:center;margin-bottom:24px;display:grid}.g-card h3{letter-spacing:.04em;margin-bottom:12px;font-size:21px}.g-card p{color:var(--muted);font-size:15px}.cat-card{border-radius:var(--radius);border:1px solid var(--line-soft);background:linear-gradient(to top, #0a0c0ff5 20%, #0a0c0f59 100%), var(--cat-img,linear-gradient(140deg, #1d232c, #12151a));background-position:50%;background-size:cover;flex-direction:column;justify-content:flex-end;min-height:300px;padding:34px;transition:transform .45s cubic-bezier(.22,1,.36,1),border-color .45s,box-shadow .45s;display:flex;position:relative;overflow:hidden}.cat-card:hover{border-color:#e8c87e66;transform:translateY(-8px);box-shadow:0 26px 60px #00000080}.cat-card .cat-no{font-family:var(--serif);color:var(--gold);letter-spacing:.2em;font-size:15px;position:absolute;top:26px;right:30px}.cat-card h3{margin-bottom:8px;font-size:24px}.cat-card p{color:#b7bcc4;margin-bottom:16px;font-size:14.5px}.cat-card .cat-link{letter-spacing:.24em;color:var(--gold);align-items:center;gap:8px;font-size:13.5px;display:inline-flex}.cat-card .cat-link svg{transition:transform .35s}.cat-card:hover .cat-link svg{transform:translate(6px)}.page-hero{background:linear-gradient(#0b0d10db, #0b0d10f0), url(/images/cat-detail.jpg) center 30% / cover no-repeat, var(--bg-2);border-bottom:1px solid var(--line-soft);padding:190px 0 100px;position:relative;overflow:hidden}.page-hero h1{margin-bottom:18px;font-size:clamp(34px,5vw,54px)}.page-hero p{color:var(--muted);max-width:620px;font-size:17px}.cat-nav{flex-wrap:wrap;gap:14px;margin-top:44px;display:flex}.cat-nav a{border:1px solid var(--line-soft);letter-spacing:.14em;color:var(--muted);background:#ffffff05;border-radius:999px;padding:12px 26px;font-size:14.5px;transition:all .3s}.cat-nav a:hover{color:var(--gold);background:#e8c87e14;border-color:#e8c87e80}.service-block{padding:90px 0 30px}.service-block .cat-title{align-items:baseline;gap:20px;margin-bottom:44px;display:flex}.service-block .cat-title h2{font-size:clamp(26px,3.4vw,36px)}.service-block .cat-title span{color:var(--muted);font-size:15px}.service-block .cat-title:after{content:"";background:linear-gradient(to right, var(--line), transparent);flex:1;height:1px}.service-card{background:linear-gradient(165deg, var(--surface) 0%, var(--bg-2) 100%);border:1px solid var(--line-soft);border-radius:22px;grid-template-columns:1.15fr .85fr;margin-bottom:30px;transition:border-color .4s,box-shadow .4s,transform .4s;display:grid;overflow:hidden}.service-card:hover{border-color:var(--line);transform:translateY(-4px);box-shadow:0 26px 70px #00000080}.service-info{padding:46px 44px}.service-badge{letter-spacing:.22em;color:#1a1405;background:var(--gold-grad);border-radius:999px;margin-bottom:18px;padding:6px 16px;font-size:12.5px;font-weight:600;display:inline-block}.service-info h3{margin-bottom:10px;font-size:clamp(22px,2.6vw,28px)}.service-info .tagline{color:var(--gold);letter-spacing:.06em;margin-bottom:26px;font-size:15px}.feature-list{gap:13px;list-style:none;display:grid}.feature-list li{color:#cfd3da;align-items:flex-start;gap:12px;font-size:15px;display:flex}.feature-list li:before{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1405' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 11px no-repeat, var(--gold-grad);border-radius:50%;flex:none;width:18px;height:18px;margin-top:4px}.service-note{color:var(--gold);background:#e8c87e12;border:1px dashed #e8c87e4d;border-radius:12px;margin-top:24px;padding:14px 18px;font-size:13.5px}.service-price{border-left:1px solid var(--line-soft);background:#00000047;flex-direction:column;justify-content:center;padding:46px 40px;display:flex}.price-group+.price-group{margin-top:26px}.price-group-title{letter-spacing:.22em;color:var(--muted);margin-bottom:12px;font-size:13px}.price-row{border-bottom:1px dashed #ffffff17;justify-content:space-between;align-items:baseline;gap:14px;padding:11px 0;display:flex}.price-row:last-child{border-bottom:none}.price-row .p-label{color:#c6cad1;font-size:14.5px}.price-row .p-value{font-family:var(--serif);color:var(--gold);white-space:nowrap;font-size:20px}.price-row .p-value small{color:var(--muted);font-size:12px;font-family:var(--sans);margin-right:4px}.cta-band{border:1px solid var(--line);background:radial-gradient(700px 300px at 85% 20%,#e8c87e29,#0000 65%),linear-gradient(150deg,#1b2029,#101318);border-radius:26px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:40px;padding:72px 60px;display:flex;position:relative;overflow:hidden}.cta-band h2{margin-bottom:12px;font-size:clamp(26px,3.6vw,38px)}.cta-band p{color:var(--muted);max-width:480px}.cta-band .cta-actions{flex-wrap:wrap;gap:16px;display:flex}.contact-grid{grid-template-columns:repeat(3,1fr);gap:26px;display:grid}.contact-item{align-items:flex-start;gap:18px;display:flex}.contact-item .icon{border:1px solid var(--line);width:52px;height:52px;color:var(--gold);background:#e8c87e1a;border-radius:14px;flex:none;place-items:center;display:grid}.contact-item strong{letter-spacing:.2em;color:var(--muted);margin-bottom:6px;font-size:14px;font-weight:500;display:block}.contact-item p,.contact-item a.link{font-size:16.5px;line-height:1.7}.contact-item a.link:hover{color:var(--gold)}.site-footer{border-top:1px solid var(--line-soft);background:#090b0e;padding:64px 0 34px}.footer-grid{flex-wrap:wrap;justify-content:space-between;gap:40px;margin-bottom:48px;display:flex}.footer-grid .f-brand{max-width:340px}.footer-grid .f-brand p{color:var(--muted);margin-top:16px;font-size:14.5px}.footer-col strong{letter-spacing:.3em;color:var(--gold);margin-bottom:18px;font-size:13px;font-weight:500;display:block}.footer-col ul{gap:10px;list-style:none;display:grid}.footer-col a,.footer-col li{color:var(--muted);font-size:14.5px;transition:color .3s}.footer-col a:hover{color:var(--text)}.footer-bottom{border-top:1px solid var(--line-soft);color:#6b7078;letter-spacing:.08em;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:26px;font-size:13px;display:flex}.reveal{opacity:0;transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);transform:translateY(34px)}.reveal.visible{opacity:1;transform:none}.reveal[data-delay="1"]{transition-delay:.12s}.reveal[data-delay="2"]{transition-delay:.24s}.reveal[data-delay="3"]{transition-delay:.36s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}.about-grid{grid-template-columns:1.05fr .95fr;align-items:stretch;gap:40px;display:grid}.about-photo{border-radius:var(--radius);border:1px solid var(--line);min-height:460px;position:relative;overflow:hidden;box-shadow:0 30px 70px #00000073}.about-photo img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.about-photo:hover img{transform:scale(1.05)}.about-photo:after{content:"";background:linear-gradient(#0000 55%,#0b0d108c);position:absolute;inset:0}.about-photo .photo-tag{z-index:2;letter-spacing:.24em;color:var(--gold);font-size:13px;position:absolute;bottom:18px;left:22px}.about-side{flex-direction:column;gap:26px;display:flex}.about-side .g-card{flex-direction:column;flex:1;justify-content:center;display:flex}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.gallery-item{aspect-ratio:4/3;border:1px solid var(--line-soft);border-radius:16px;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .9s cubic-bezier(.22,1,.36,1)}.gallery-item:after{content:"";opacity:0;background:linear-gradient(#0000 45%,#0b0d1059);transition:opacity .5s;position:absolute;inset:0}.gallery-item:hover{border-color:#e8c87e73}.gallery-item:hover img{transform:scale(1.07)}.gallery-item:hover:after{opacity:1}.news-grid{grid-template-columns:repeat(3,1fr);gap:26px;display:grid}.news-card{background:linear-gradient(165deg, var(--surface) 0%, var(--bg-2) 100%);border:1px solid var(--line-soft);border-radius:var(--radius);flex-direction:column;transition:transform .45s cubic-bezier(.22,1,.36,1),border-color .45s,box-shadow .45s;display:flex;overflow:hidden}.news-card:hover{border-color:#e8c87e66;transform:translateY(-8px);box-shadow:0 24px 60px #00000080}.news-thumb{aspect-ratio:16/9;overflow:hidden}.news-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .9s cubic-bezier(.22,1,.36,1)}.news-card:hover .news-thumb img{transform:scale(1.07)}.news-body{flex-direction:column;flex:1;gap:12px;padding:28px 26px 30px;display:flex}.news-body time{letter-spacing:.2em;color:var(--gold);font-size:13px}.news-body h2{font-size:19px;line-height:1.55}.news-body p{color:var(--muted);flex:1;font-size:14.5px}.news-link{letter-spacing:.22em;color:var(--gold);align-items:center;gap:8px;margin-top:6px;font-size:13.5px;display:inline-flex}.news-link svg{transition:transform .35s}.news-card:hover .news-link svg{transform:translate(6px)}.article-hero{background:radial-gradient(900px 420px at 80% 0%, #e8c87e14, transparent 60%), var(--bg-2);border-bottom:1px solid var(--line-soft);padding:190px 0 60px}.article-hero .container{max-width:820px}.article-back{letter-spacing:.18em;color:var(--muted);align-items:center;gap:8px;margin-bottom:34px;font-size:13.5px;transition:color .3s;display:inline-flex}.article-back:hover{color:var(--gold)}.article-hero time{letter-spacing:.24em;color:var(--gold);margin-bottom:16px;font-size:13.5px;display:block}.article-hero h1{margin-bottom:18px;font-size:clamp(28px,4.2vw,44px);line-height:1.45}.article-desc{color:var(--muted);font-size:16.5px}.article-cover{border:1px solid var(--line);border-radius:22px;max-width:960px;margin:56px auto 0;overflow:hidden;box-shadow:0 30px 70px #00000073}.article-cover img{width:100%;display:block}.article-body{max-width:760px;margin:56px auto 0}.prose{color:#d5d8de;font-size:16.5px}.prose>*+*{margin-top:22px}.prose h2{color:var(--text);border-left:3px solid;border-image:linear-gradient(#e8c87e,#0000) 1;margin-top:48px;padding-left:18px;font-size:25px}.prose h3{color:var(--text);margin-top:38px;font-size:20px}.prose strong{color:var(--gold);font-weight:600}.prose a{color:var(--gold);border-bottom:1px solid #e8c87e66}.prose ul,.prose ol{gap:10px;padding-left:26px;display:grid}.prose li::marker{color:var(--gold)}.prose table{border-collapse:collapse;border:1px solid var(--line-soft);border-radius:14px;width:100%;font-size:15px;display:block;overflow:auto hidden}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line-soft);white-space:nowrap;padding:13px 18px}.prose th{color:var(--gold);letter-spacing:.06em;background:#e8c87e1a;font-weight:600}.prose tr:last-child td{border-bottom:none}.prose blockquote{border-left:3px solid var(--gold-deep);color:var(--muted);padding:6px 0 6px 22px;font-style:italic}.prose hr{background:var(--line-soft);border:none;height:1px;margin:40px 0}@media (width<=960px){.card-grid.cols-3,.card-grid.cols-4{grid-template-columns:repeat(2,1fr)}.service-card{grid-template-columns:1fr}.service-price{border-left:none;border-top:1px solid var(--line-soft)}.contact-grid,.about-grid{grid-template-columns:1fr}.about-photo{min-height:320px}.gallery-grid,.news-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.section{padding:76px 0}.nav-toggle{display:block}.nav-links{backdrop-filter:blur(20px);opacity:0;pointer-events:none;background:#090b0ef7;flex-direction:column;justify-content:center;gap:34px;transition:opacity .4s;position:fixed;inset:0}.nav-links.open{opacity:1;pointer-events:auto}.nav-links a{font-size:20px}.nav-links .nav-cta{margin-top:12px}.card-grid.cols-3,.card-grid.cols-4,.news-grid{grid-template-columns:1fr}.hero-stats{gap:34px}.cta-band{padding:48px 30px}.service-info,.service-price{padding:34px 26px}}
