:root{
  --background:oklch(98.2% .0041 91.45);--foreground:oklch(30.7% .0257 246.41);
  --primary:oklch(31.02% .059 250.28);--primary-deep:oklch(26.21% .0486 249.18);
  --primary-fg:oklch(98.2% .0041 91.45);--beige:oklch(95.38% .0119 79.78);
  --border:oklch(89.15% .0225 80.68);--gold:oklch(69.77% .0738 83.2);
  --muted:oklch(53.86% .0214 243.23);--card:#fff;
  --shadow-soft:0 1px 3px rgba(20,40,70,.06),0 4px 16px rgba(20,40,70,.05);
  --shadow-lift:0 8px 28px rgba(20,40,70,.12);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:5rem}
body{font-family:"Noto Sans TC",system-ui,sans-serif;background:var(--background);color:var(--foreground);line-height:1.6;overflow-x:hidden}
a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{display:block;max-width:100%}
.container{max-width:80rem;margin:0 auto;padding:0 1rem}.narrow{max-width:52rem}
@media(min-width:640px){.container{padding:0 1.5rem}}@media(min-width:1024px){.container{padding:0 2rem}}
.eyebrow{font-size:.75rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
h1,h2,h3{color:var(--primary);font-weight:600}
h1{font-size:1.875rem;line-height:1.25;margin-top:1.25rem}
h2{font-size:1.5rem;line-height:1.375;margin-top:1rem}
h3{font-size:1.125rem}h3.xl{font-size:1.25rem}
@media(min-width:640px){h1{font-size:2.25rem}h2{font-size:1.875rem}}
@media(min-width:1024px){h1{font-size:3rem}h2{font-size:2.25rem}}
.lead{margin-top:1.25rem;line-height:2;color:var(--muted)}
.small{font-size:.875rem;line-height:1.75;color:var(--muted);margin-top:1rem}
.mt5{margin-top:1.25rem}.mt10{margin-top:2.5rem}.gold{color:var(--gold)}.sub{font-size:.875rem;letter-spacing:.03em;margin-top:.5rem}
.center-t{text-align:center}.mx{margin-left:auto;margin-right:auto}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:0 1.75rem;border-radius:.375rem;font-weight:500;font-size:1rem;cursor:pointer;border:1px solid transparent;transition:.2s;font-family:inherit}
.btn-sm{min-height:2.75rem;padding:0 1.25rem;font-size:.875rem}.block{display:flex;width:100%}
.btn-primary{background:var(--primary);color:var(--primary-fg)}.btn-primary:hover{background:var(--primary-deep)}
.btn-outline{background:var(--card);color:var(--primary);border-color:color-mix(in oklab,var(--primary) 25%,transparent)}.btn-outline:hover{background:var(--beige)}
.btn-light{background:var(--primary-fg);color:var(--primary)}.btn-light:hover{background:var(--beige)}
.btn:disabled{opacity:.6;cursor:wait}
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;border-bottom:1px solid transparent;background:color-mix(in oklab,var(--background) 80%,transparent);backdrop-filter:blur(8px);transition:.3s}
.site-header.scrolled{border-color:var(--border)}
.bar{display:flex;align-items:center;justify-content:space-between;height:4rem}
@media(min-width:1024px){.bar{height:5rem}}
.brand{font-size:1.125rem;font-weight:600;letter-spacing:.12em;color:var(--primary)}
.desk-nav{display:none;align-items:center;gap:.25rem}
.desk-nav a:not(.btn){padding:.5rem .75rem;font-size:.875rem;border-radius:.375rem;color:color-mix(in oklab,var(--foreground) 80%,transparent)}
.desk-nav a:not(.btn):hover{background:var(--beige);color:var(--primary)}.desk-nav .btn{margin-left:.75rem}
.menu-btn{width:2.75rem;height:2.75rem;border:1px solid var(--border);border-radius:.375rem;background:none;color:var(--primary);font-size:1.25rem;cursor:pointer}
.mobile-nav{border-top:1px solid var(--border);background:var(--background);padding:1rem 1.5rem}
.mobile-nav[hidden]{display:none}
.mobile-nav a:not(.btn){display:flex;align-items:center;min-height:3rem;border-bottom:1px solid var(--border)}
.mobile-nav .btn{margin-top:1.25rem}
@media(min-width:1024px){.desk-nav{display:flex}.menu-btn,.mobile-nav{display:none!important}}
.hero{position:relative;overflow:hidden;padding:7rem 0 4rem}
@media(min-width:1024px){.hero{padding:9rem 0 6rem}}
.hero-bg{position:absolute;inset:0 0 auto;height:70%;background:color-mix(in oklab,var(--beige) 70%,transparent);z-index:-1}
.hero-grid{display:grid;gap:3rem;align-items:center}
@media(min-width:1024px){.hero-grid{grid-template-columns:1fr 1fr;gap:4rem}}
.tagline{margin-top:1.25rem;font-weight:500;letter-spacing:.03em;color:color-mix(in oklab,var(--primary) 80%,transparent)}
.hero .lead{max-width:36rem;margin-top:1.5rem}
.btns{display:flex;flex-direction:column;gap:.75rem;margin-top:2.25rem}@media(min-width:640px){.btns{flex-direction:row}}
.badges{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;margin-top:2.5rem}
.badges li{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--muted)}
.badges li:before{content:"";width:.375rem;height:.375rem;border-radius:50%;background:var(--gold)}
.frame{border:1px solid var(--border);background:var(--card);border-radius:.75rem;padding:.5rem;box-shadow:var(--shadow-soft)}
.frame img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:.5rem}
.section{padding:5rem 0}@media(min-width:1024px){.section{padding:7rem 0}}
.beige{background:color-mix(in oklab,var(--beige) 60%,transparent)}
.head{max-width:48rem}.head.center{margin:0 auto;text-align:center}
.grid{display:grid;gap:1.5rem;margin-top:3.5rem}.gap8{gap:2rem}
@media(min-width:768px){.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}.g4{grid-template-columns:repeat(2,1fr)}.g5{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.g4{grid-template-columns:repeat(4,1fr)}.g5{grid-template-columns:repeat(5,1fr)}}
.card{background:var(--card);border:1px solid var(--border);border-radius:.75rem;box-shadow:var(--shadow-soft);transition:box-shadow .3s}
.card:hover{box-shadow:var(--shadow-lift)}.pad{padding:1.75rem}
.rule{display:block;width:2.5rem;height:1px;background:var(--gold);margin-bottom:1.25rem}
.card h3{margin-top:0}
.about-grid{display:grid;gap:3rem}@media(min-width:1024px){.about-grid{grid-template-columns:.9fr 1.1fr;gap:5rem}}
.prose p{margin-bottom:1.5rem;line-height:2;color:var(--muted)}
blockquote{border-left:2px solid var(--gold);background:var(--card);padding:1.25rem 1.5rem;font-size:1.125rem;line-height:2.25;font-weight:500;color:var(--primary)}
.service{display:flex;flex-direction:column;overflow:hidden;padding:0}
.service img{width:100%;aspect-ratio:16/10;object-fit:cover}.service .pad{display:flex;flex-direction:column;flex:1}
.checks{margin:1.5rem 0 2rem;padding-top:1.5rem;border-top:1px solid var(--border);display:grid;gap:.75rem;flex:1;align-content:start}
.checks li{display:flex;gap:.75rem;font-size:.875rem}.checks span{color:var(--gold);font-weight:700}
.service .btn{align-self:flex-start}
.num{display:block;font-size:1.5rem;font-weight:600;color:var(--gold);margin-bottom:.75rem}
.steps .card h3{font-size:1rem}
.note{margin-top:2.5rem;font-size:.875rem;color:var(--muted)}.note.center-t{margin-top:2rem}
.faq{margin-top:3rem;display:grid;gap:.75rem}
details{background:var(--card);border:1px solid var(--border);border-radius:.5rem}
summary{cursor:pointer;padding:1.1rem 1.25rem;font-weight:500;color:var(--primary);list-style:none;display:flex;justify-content:space-between;gap:1rem}
summary::-webkit-details-marker{display:none}summary:after{content:"+";color:var(--gold);font-size:1.25rem;line-height:1}
details[open] summary:after{content:"−"}details>div{padding:0 1.25rem 1.25rem;font-size:.9rem;line-height:1.9;color:var(--muted)}
.cta{background:var(--primary);color:var(--primary-fg);padding:5rem 0}
.cta h2{color:var(--primary-fg)}.cta .lead{color:color-mix(in oklab,var(--primary-fg) 80%,transparent);margin-bottom:2rem}
.cta .rule{margin-bottom:1.5rem}.contact-info{margin-top:1.5rem;font-size:.875rem;color:color-mix(in oklab,var(--primary-fg) 65%,transparent)}
.form-card{margin-top:3rem}
form label{display:block;font-size:.875rem;font-weight:500;margin-bottom:1.25rem}
form input,form select,form textarea{display:block;width:100%;margin-top:.5rem;padding:.7rem .85rem;border:1px solid var(--border);border-radius:.375rem;background:var(--background);font:inherit;color:var(--foreground)}
form input:focus,form select:focus,form textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
.hp{position:absolute;left:-9999px}.form-card .note{margin:0 0 1.25rem}
.form-msg{margin-top:1rem;font-size:.9rem}.form-msg.ok{color:#2d7a4b}.form-msg.err{color:#b3261e}
.footer{border-top:1px solid var(--border);background:var(--beige);padding:3.5rem 0 2rem}
.foot-grid{display:grid;gap:2rem}@media(min-width:768px){.foot-grid{grid-template-columns:1.5fr 1fr}}
.foot-grid ul{display:grid;grid-template-columns:repeat(2,auto);gap:.5rem 1.5rem;justify-content:start;font-size:.875rem}
.foot-grid a:hover{color:var(--primary)}
.foot-bottom{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border);font-size:.75rem;color:var(--muted);display:grid;gap:.5rem}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease,box-shadow .3s}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
