
:root{--a16-ink:#132b36;--a16-cream:#f3eee5;--a16-gold:#e6b182}
.a16-hero,.a16-section{padding:80px max(6vw,24px);background:#174d6a;color:var(--a16-cream)}
.a16-hero .txt-link,.a16-section:not(.a16-ivory) .txt-link,.a16-section:not(.a16-ivory) a{color:inherit}
.a16-hero{padding-top:100px;border-bottom:1px solid #e6b18244}
.a16-eyebrow{font:500 12px/1.6 Inter,sans-serif;letter-spacing:.17em;color:var(--a16-gold);margin:0 0 22px}
.a16-hero h1{font-family:'Noto Serif TC',serif;font-size:clamp(32px,4.4vw,64px);font-weight:500;line-height:1.55;letter-spacing:.015em;max-width:1100px;margin:0 0 26px}
.a16-hero p{max-width:840px;line-height:1.95}.a16-lead{font-size:19px}
.a16-section h2{font-family:'Noto Serif TC',serif;font-size:clamp(25px,3vw,40px);font-weight:500;line-height:1.6;margin:0 0 24px}
.a16-section h3{font-size:21px;line-height:1.6;margin:0 0 16px}.a16-section h4{font-size:14px;margin:28px 0 8px}
.a16-section p{font-size:16px;line-height:1.95;margin:0 0 20px;max-width:880px}
.a16-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin:30px 0 10px}
.a16-ivory{background:var(--a16-cream);color:var(--a16-ink)}.a16-ivory .a16-eyebrow{color:#815439}
.a16-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:36px}
.a16-card{padding:28px;border:1px solid #b8aa9870;border-radius:3px}.a16-num{display:block;font:12px/1.8 Inter,sans-serif;letter-spacing:.08em;color:#9c6845;margin-bottom:24px}
.a16-link{display:block;font-size:15px;line-height:1.8;text-decoration:underline;text-underline-offset:6px;margin:16px 0}
.a16-callout{border-left:3px solid #b88155;padding:22px 28px;margin:42px 0 0;background:#b881550d}.a16-callout p{margin-bottom:12px}
.a16-steps{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin:36px 0}.a16-steps article{display:flex;gap:24px;border-top:1px solid #e6b18255;padding-top:30px}.a16-steps article>b{font:60px/1 Cormorant Garamond,serif;color:var(--a16-gold)}.a16-steps small{line-height:1.8;color:#d6c6b5}
.a16-proof{display:block}.a16-proof img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;margin-bottom:20px}.a16-proof h3{margin-bottom:4px}.a16-proof p{opacity:.8}
.a16-faq{margin:30px 0}.a16-faq details{border-top:1px solid #9f8e7755;padding:20px 0}.a16-faq summary{cursor:pointer;font-size:18px;line-height:1.7}.a16-faq details p{margin:20px 0 0}
.a16-about{display:grid;grid-template-columns:minmax(200px,350px) 1fr;gap:7vw;align-items:center}.a16-about>img{width:100%;height:auto;border-radius:180px 180px 8px 8px}
.a16-contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}#a16-inquiry{border:1px solid #9f8e7755;padding:30px}#a16-inquiry label{display:block;font-size:14px;margin:18px 0}#a16-inquiry input,#a16-inquiry textarea,#a16-inquiry select{display:block;width:100%;box-sizing:border-box;padding:13px;margin-top:8px;border:1px solid #ad9d86;border-radius:2px;background:#fffdf8;color:#132b36;font:16px/1.5 'Noto Sans TC',sans-serif}#a16-inquiry button{cursor:pointer}#a16-copy{padding:14px 20px;border:1px solid #132b36;background:transparent;color:#132b36}#a16-status{margin-top:18px;font-size:14px}#a16-draft{margin-top:24px}
.a16-scope{background:#e4d9c9;padding:32px;color:#132b36;align-self:center}.a16-example-label,.a16-case-note,.a16-work-note{font-size:14px!important;line-height:1.8!important;max-width:900px;margin:22px auto!important;padding:0 18px}.a16-work-note{color:inherit;opacity:.8}.a16-case-note{color:var(--cink,#333)}
.a16-skip{position:fixed;top:0;left:15px;transform:translateY(-120%);z-index:99999;padding:14px;background:#fff;color:#132b36}.a16-skip:focus{transform:translateY(0)}
:focus-visible{outline:3px solid #bd784d;outline-offset:5px}main [id]{scroll-margin-top:110px}
@media(max-width:760px){.a16-hero,.a16-section{padding:52px 24px}.a16-hero{padding-top:72px}.a16-hero h1{font-size:32px}.a16-lead{font-size:17px}.a16-grid,.a16-steps,.a16-about,.a16-contact{grid-template-columns:1fr}.a16-grid{gap:20px}.a16-about>img{max-width:260px;margin:auto}.a16-actions{gap:18px}.a16-card{padding:24px}.a16-callout{padding:18px}.a16-hero br{display:none}#a16-inquiry{padding:20px}.a16-steps article{gap:18px}.a16-steps article>b{font-size:48px}}
@media(max-width:760px){.hm-about .lw-ph{margin-bottom:24px}.lw-badges{position:relative;left:auto;right:auto;bottom:auto;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px}.lw-badges .lw-bd{width:auto;min-width:0;padding:10px 8px}.lw-badges .lw-bd small,.lw-badges .lw-bd span{white-space:normal;overflow-wrap:anywhere}.lw-badges .lw-bd:nth-child(5){min-width:0;max-width:100%;width:100%;box-sizing:border-box}}
.sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.a16-production .a16-service-row{display:block;margin-bottom:0;padding:28px 0;border-bottom:1px solid #b0a48d66}.a16-production .a16-service-row .tx{width:auto;max-width:950px;padding:0}.a16-production .a16-service-row .tx p{font-size:16px}
@media(min-width:1024px){.a16-production .duo .md{height:520px;min-height:0}.a16-production .duo .md .pic{height:100%}}
@media(max-width:760px){.sipm-top .sec-head{display:block}.sipm-top .sec-head>.txt-link{display:inline-block;margin-top:20px;white-space:normal}}
@media(max-width:760px){.hm-about .lw-ph{aspect-ratio:auto}.hm-about .lw-win{position:relative;aspect-ratio:3/4.2}.hm-about .lw-win img{position:absolute;inset:0}.hm-about .lw-badges{top:auto}.hm-about .lw-arc{bottom:auto;height:auto;aspect-ratio:3/4.2}.f-svcs.v16 .sx-tb::before,.f-svcs .sx-pn::before{max-width:100%}}
.bs-img{aspect-ratio:auto}.bs-img img{height:auto;display:block;object-fit:contain}.bs-img:hover img{transform:none}
/* Constrain decorative service glows at every viewport width.
   Verified on v1.6.4 at 768, 999, 1024 and 1440 px:
   document scrollWidth equals viewport width after this rule.
   No content is clipped; only pseudo-element glow widths are constrained. */
.f-svcs.v16 .sx-tb::before,
.f-svcs .sx-pn::before {
  max-width: 100%;
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.loader{display:none!important}}
