:root { --yc-ink:#123f34; --yc-muted:#52675f; --yc-green:#087752; --yc-lime:#dcedb2; --yc-paper:#f7f8f2; --yc-line:#d9e1d5; --yc-white:#fff; }
.yc-site { color:var(--yc-ink); background:var(--yc-paper); font-family:"PingFang TC","PingFang SC","Microsoft JhengHei",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
.yc-home { margin:0; }
.yc-home *, .yc-header *, .yc-disclosure *, .yc-footer * { box-sizing:border-box; }
.yc-home h1,.yc-home h2,.yc-home h3,.yc-home p,.yc-home figure,.yc-home ul,.yc-home ol { margin:0; }
.yc-home a,.yc-header a,.yc-footer a { color:inherit; text-decoration:none; }
.yc-home img { display:block; max-width:100%; }
.yc-site button,.yc-site a,.yc-site summary { -webkit-tap-highlight-color:transparent; }
.yc-site a:focus-visible,.yc-site button:focus-visible,.yc-site summary:focus-visible { outline:3px solid #b57314; outline-offset:5px; }
.yc-home h1,.yc-home h2 { font-weight:550; letter-spacing:-.045em; text-wrap:balance; }
.yc-home h2 { font-size:clamp(1.8rem,2.7vw,2.6rem); line-height:1.4; }
.yc-home h3 { font-weight:600; line-height:1.5; }
.yc-container { width:calc(100% - 96px); max-width:1280px; margin-inline:auto; }
.yc-skip { position:absolute; top:-100px; left:16px; padding:12px 20px; background:white; color:var(--yc-ink); z-index:200; }
.yc-skip:focus { top:12px; }
.yc-header { position:relative; z-index:10; border-bottom:1px solid var(--yc-line); background:var(--yc-paper); color:var(--yc-ink); }
.yc-header-row { min-height:88px; display:flex; align-items:center; gap:40px; }
.yc-brand { margin-right:auto; flex:0 0 auto; display:flex; align-items:center; }
.yc-brand img,.yc-footer img { display:block; width:148px; height:48px; object-fit:contain; }
.yc-desktop-nav { display:flex; gap:32px; }
.yc-header a { font-size:14px; font-weight:600; line-height:1.5; }
.yc-header a:hover,.yc-footer a:hover { color:var(--yc-green); }
.yc-languages { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.yc-languages a { padding-block:12px; font-size:12px; font-weight:400; color:var(--yc-muted); }
.yc-languages a[aria-current] { color:var(--yc-green); text-decoration:underline; text-underline-offset:5px; font-weight:700; }
.yc-header .yc-header-contact { display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:44px; padding:12px 20px; border-radius:3px; background:var(--yc-ink); color:white; }
.yc-header .yc-header-contact:hover { background:var(--yc-green); color:white; }
.yc-mobile-nav { display:none; }
.yc-disclosure { background:#eef2e9; color:#41564b; border-bottom:1px solid var(--yc-line); }
.yc-disclosure-grid { display:grid; grid-template-columns:1.16fr 1fr; gap:36px; padding-block:20px; }
.yc-disclosure article { display:grid; grid-template-columns:60px 1fr; align-items:start; gap:16px; }
.yc-disclosure article + article { border-left:1px solid #c9d5c1; padding-left:28px; }
.yc-site .yc-disclosure h2 { font:600 12px/1.7 "PingFang TC","PingFang SC",Arial,sans-serif; color:var(--yc-ink); letter-spacing:0; margin:0; padding-top:1px; }
.yc-disclosure p { font-size:13px; line-height:1.8; margin:0; }
.yc-hero { padding-block:48px 64px; display:grid; grid-template-columns:1.05fr 1fr; gap:64px; align-items:center; }
.yc-eyebrow { font-size:12px; letter-spacing:.12em; display:flex; gap:12px; align-items:center; }
.yc-eyebrow > span { display:block; width:7px; height:7px; border-radius:50%; background:var(--yc-green); }
.yc-hero h1 { font-size:clamp(2.75rem,4.2vw,4rem); line-height:1.24; margin-top:24px; }
.yc-hero-body { font-size:16px; line-height:1.95; color:var(--yc-muted); max-width:32em; margin-top:24px !important; }
.yc-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:28px; margin-top:32px; }
.yc-button { display:inline-flex; align-items:center; justify-content:space-between; gap:48px; background:var(--yc-ink); color:#fff !important; border:1px solid var(--yc-ink); border-radius:3px; padding:16px 24px; min-height:52px; font-size:14px; font-weight:600; }
.yc-button:hover { background:var(--yc-green); }
.yc-text-link { display:inline-flex; align-items:center; gap:24px; min-height:44px; padding-block:8px; font-size:14px; font-weight:600; border-bottom:1px solid #a8b9ad; }
.yc-hero-region { display:flex; align-items:center; flex-wrap:wrap; gap:16px; font-size:12px; color:var(--yc-muted); margin-top:40px !important; }
.yc-hero-region span { color:var(--yc-green); font-size:11px; letter-spacing:1px; }
.yc-hero-photo { position:relative; height:480px; overflow:hidden; border-radius:3px; }
.yc-hero-photo img { width:100%; height:100%; object-fit:cover; object-position:center 56%; }
.yc-hero-photo figcaption { position:absolute; bottom:0; left:0; right:0; padding:16px 24px; color:#fff; background:rgba(9,40,33,.92); display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:11px; }
.yc-hero-photo figcaption span { font-size:15px; letter-spacing:.14em; white-space:nowrap; }
.yc-photo-label { position:absolute; right:16px; top:16px; padding:12px 16px; color:#123f34; background:#f6f8ee; font-size:9px; line-height:1.65; letter-spacing:.13em; }
.yc-kicker { font-family:Arial,sans-serif; font-size:11px; line-height:1.5; letter-spacing:.17em; color:var(--yc-green); margin-bottom:16px !important; }
.yc-services { padding-block:40px 88px; }
.yc-section-heading { display:grid; grid-template-columns:1fr 340px; align-items:end; gap:48px; padding-bottom:36px; }
.yc-section-heading > p { font-size:14px; line-height:1.9; color:var(--yc-muted); padding-bottom:4px; }
.yc-service-list { border-top:1px solid #9db4a2; }
.yc-service-row { display:grid; grid-template-columns:40px 1.1fr 1.3fr .85fr 40px; gap:28px; align-items:center; padding:32px 8px; border-bottom:1px solid var(--yc-line); transition:background .16s ease; }
.yc-service-row:hover { background:#edf2e5; }
.yc-service-num { font:12px Arial,sans-serif; color:var(--yc-green); align-self:start; padding-top:8px; }
.yc-service-row h3 { font-size:20px; letter-spacing:-.025em; }
.yc-service-row p { color:var(--yc-muted); font-size:13px; line-height:1.9; }
.yc-service-region { font-size:11px; color:var(--yc-muted); }
.yc-arrow { width:36px; height:36px; display:grid; place-items:center; border:1px solid #c4d0bd; border-radius:50%; font-size:20px; }
.yc-experience { background:#e7eedd; padding-block:64px; }
.yc-experience-grid { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.yc-experience figure { height:440px; }
.yc-experience img { width:100%; height:100%; object-fit:cover; border-radius:3px; object-position:35% center; }
.yc-experience h2 { font-size:clamp(1.7rem,2.2vw,2.2rem); }
.yc-experience-body { color:var(--yc-muted); font-size:14px; line-height:1.95; margin-block:20px !important; }
.yc-experience ul { list-style:none; padding:0; margin-bottom:20px !important; }
.yc-experience li { display:flex; align-items:center; gap:12px; font-size:13px; line-height:1.8; padding-block:6px; }
.yc-experience li:before { content:"✓"; color:var(--yc-green); font-size:15px; }
.yc-process { padding-block:88px; }
.yc-process ol { list-style:none; padding:0; margin-top:40px; display:grid; grid-template-columns:repeat(4,1fr); gap:36px; }
.yc-process li { border-top:1px solid #b3c4ad; padding-top:24px; }
.yc-process li > span { font:22px/1 Arial,sans-serif; color:var(--yc-green); }
.yc-process h3 { font-size:17px; margin-block:24px 12px; }
.yc-process li p { color:var(--yc-muted); font-size:13px; line-height:1.9; }
.yc-corporate { background:#fff; border-block:1px solid var(--yc-line); padding-block:64px; }
.yc-corporate h2 { font-size:clamp(1.65rem,2.3vw,2.2rem); }
.yc-corporate-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:40px; }
.yc-corporate-grid a { display:flex; flex-direction:column; border-left:2px solid #bad3a9; padding-left:24px; }
.yc-corporate h3 { font-size:18px; }
.yc-corporate-grid p { color:var(--yc-muted); font-size:14px; line-height:1.9; margin-block:16px 20px; }
.yc-corporate-grid span { color:var(--yc-green); font-size:12px; margin-top:auto; }
.yc-faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; padding-block:88px; }
.yc-faq h2 { font-size:clamp(1.65rem,2.2vw,2.2rem); }
.yc-faq details { border-bottom:1px solid var(--yc-line); }
.yc-faq details:first-child { border-top:1px solid var(--yc-line); }
.yc-faq summary { display:flex; align-items:center; justify-content:space-between; gap:24px; cursor:pointer; list-style:none; font-size:15px; line-height:1.8; padding-block:20px; }
.yc-faq summary::-webkit-details-marker,.yc-mobile-nav summary::-webkit-details-marker { display:none; }
.yc-faq summary > span { font:24px Arial,sans-serif; color:var(--yc-green); flex-shrink:0; }
.yc-faq details[open] summary > span { transform:rotate(45deg); }
.yc-faq details p { font-size:14px; line-height:1.9; color:var(--yc-muted); padding:0 40px 24px 0; }
.yc-contact { padding-block:72px; color:#fff; background:var(--yc-ink); }
.yc-contact-grid { display:grid; grid-template-columns:1fr .65fr; gap:100px; align-items:center; }
.yc-contact .yc-kicker { color:var(--yc-lime); }
.yc-contact h2 { font-size:clamp(2rem,3.3vw,3rem); }
.yc-contact h2 + p { margin-top:24px; color:#d2dfd4; font-size:14px; line-height:1.9; max-width:36em; }
.yc-contact .youcan-support { padding:0; margin:0; background:none; border:0; color:#fff; }
.yc-contact .youcan-support-actions { display:grid; gap:12px; }
.yc-contact .youcan-support button,.yc-contact .youcan-support a { justify-content:space-between; border-radius:3px; padding:16px 24px; font-size:14px; min-height:52px; }
.yc-contact .youcan-support button { color:var(--yc-ink); background:var(--yc-lime); border:1px solid var(--yc-lime); }
.yc-contact .youcan-support button:hover { background:#eef8d8; }
.yc-contact .youcan-support-actions a { color:#fff; border:1px solid #6b8978; background:transparent; }
.yc-contact .youcan-support-actions a:hover { background:#214c3e; }
.yc-contact .youcan-support-status { margin:0; font-size:13px; line-height:1.8; }
.yc-contact .youcan-support-status:not(:empty) { margin-top:16px; }
.yc-contact .youcan-support .yc-phone { display:block; width:max-content; min-height:0; padding:20px 0 0; border:0; background:none; color:#d2dfd4; font-size:14px; font-weight:400; }
.yc-footer { background:var(--yc-paper); color:var(--yc-ink); padding-block:48px 24px; font-size:12px; }
.yc-footer-top { display:flex; align-items:flex-start; justify-content:space-between; gap:48px; padding-bottom:36px; }
.yc-footer p { color:var(--yc-muted); font-size:12px; line-height:1.8; margin:20px 0 0; }
.yc-footer nav { display:flex; gap:28px; padding-top:16px; flex-wrap:wrap; }
.yc-footer a { font-size:12px; }
.yc-footer-bottom { border-top:1px solid var(--yc-line); padding-top:20px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; color:var(--yc-muted); font-size:10px; line-height:1.8; }
.yc-footer-bottom span:last-child { letter-spacing:.12em; }
.yc-inner .cmsmasters-main { background:var(--yc-paper); }
.yc-inner .cmsmasters-main > .elementor { padding-top:32px; }
.yc-inner .cmsmasters-main .elementor-heading-title { color:var(--yc-ink); }
.yc-inner .yc-disclosure h2 { font-size:12px; }
.yc-inner .yc-detail-hero { background:var(--yc-paper); padding:40px 0 56px; }
.yc-inner .yc-detail-hero > div { display:grid; grid-template-columns:1.15fr 1fr; gap:64px; align-items:center; }
.yc-inner .yc-detail-hero h1 { font:550 clamp(32px,3.3vw,48px)/1.35 "PingFang TC","PingFang SC",Arial,sans-serif; letter-spacing:-.04em; color:var(--yc-ink); margin:0; max-width:12em; }
.yc-inner .yc-detail-intro { font-size:15px; line-height:1.9; color:var(--yc-muted); margin-block:24px; }
.yc-inner .yc-detail-hero img { height:340px; width:100%; object-fit:cover; object-position:center 53%; border-radius:3px; }
.yc-inner #eu-cookie-bar { background-color:var(--yc-ink); color:white; }
html[data-youcan-locale="en_HK"] .yc-disclosure article { grid-template-columns:78px 1fr; }
html[data-youcan-locale="en_HK"] .yc-hero h1 { font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.045em; font-size:clamp(2.75rem,4.2vw,4rem); }
html[data-youcan-locale="en_HK"] .yc-service-row { grid-template-columns:32px 1.1fr 1.15fr .7fr 36px; gap:24px; }
html[data-youcan-locale="en_HK"] .yc-service-region { font-size:10px; }
@media (max-width:1100px) {
  .yc-container { width:calc(100% - 64px); }
  .yc-header-row { gap:24px; }
  .yc-desktop-nav { gap:20px; }
  .yc-disclosure article,html[data-youcan-locale="en_HK"] .yc-disclosure article { display:block; }
  .yc-disclosure h2 { margin-bottom:4px; }
  .yc-hero { gap:36px; }
  .yc-hero-photo { height:440px; }
  .yc-service-row,html[data-youcan-locale="en_HK"] .yc-service-row { grid-template-columns:32px 1fr 1.2fr 36px; gap:24px; }
  .yc-service-region { display:none; }
  .yc-experience-grid { gap:40px; }
  .yc-contact-grid { gap:64px; }
  .yc-faq { gap:48px; }
}
@media (max-width:800px) {
  .yc-container { width:calc(100% - 48px); }
  .yc-header-row { min-height:76px; gap:24px; }
  .yc-brand img { width:124px; height:40px; }
  .yc-desktop-nav,.yc-header .yc-header-contact { display:none; }
  .yc-mobile-nav { display:block; }
  .yc-mobile-nav summary { width:40px; height:44px; display:flex; flex-direction:column; gap:6px; align-items:center; justify-content:center; cursor:pointer; list-style:none; }
  .yc-mobile-nav summary span { width:20px; height:1px; background:var(--yc-ink); }
  .yc-mobile-nav[open] summary span:first-child { transform:translateY(3.5px) rotate(45deg); }
  .yc-mobile-nav[open] summary span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
  .yc-mobile-nav nav { position:absolute; top:100%; right:0; left:0; padding:16px 24px; background:var(--yc-paper); border-bottom:1px solid var(--yc-line); box-shadow:0 12px 16px #123f3410; }
  .yc-mobile-nav nav a { display:block; padding:12px 0; }
  .yc-disclosure-grid { gap:24px; }
  .yc-disclosure article + article { padding-left:24px; }
  .yc-hero { gap:32px; padding-block:36px 56px; }
  .yc-hero h1 { font-size:36px; }
  .yc-hero-body { font-size:14px; }
  .yc-hero-actions { gap:16px; margin-top:24px; }
  .yc-hero-photo { height:440px; }
  .yc-hero-photo figcaption { display:block; padding:16px; line-height:1.8; }
  .yc-hero-photo figcaption span { display:block; }
  .yc-hero-region { font-size:11px; margin-top:24px !important; }
  .yc-section-heading { grid-template-columns:1fr 240px; gap:32px; }
  .yc-services,.yc-process,.yc-faq { padding-block:56px; }
  .yc-service-row h3 { font-size:18px; }
  .yc-experience { padding-block:48px; }
  .yc-experience-grid { gap:32px; }
  .yc-process ol { grid-template-columns:repeat(2,1fr); gap:32px; }
  .yc-corporate-grid { gap:24px; }
  .yc-faq { grid-template-columns:.75fr 1.25fr; gap:32px; }
  .yc-contact-grid { grid-template-columns:1fr 1fr; gap:32px; }
  .yc-footer-top { gap:32px; }
  .yc-footer nav { gap:16px; max-width:230px; }
}
@media (max-width:600px) {
  .yc-inner .yc-detail-hero { padding-block:32px; }
  .yc-inner .yc-detail-hero > div { display:flex; flex-direction:column; align-items:stretch; gap:28px; }
  .yc-inner .yc-detail-hero h1 { font-size:32px; }
  .yc-inner .yc-detail-hero img { height:280px; }
  .yc-container { width:calc(100% - 40px); }
  .yc-header-row { min-height:68px; gap:16px; }
  .yc-brand img { width:112px; height:36px; }
  .yc-languages { gap:12px; margin-left:auto; }
  .yc-mobile-nav summary { width:28px; }
  .yc-disclosure-grid { display:block; padding-block:14px; }
  .yc-disclosure article { display:block; }
  .yc-disclosure article + article { border-left:0; border-top:1px solid #ccd7c4; padding:10px 0 0; margin-top:10px; }
  .yc-disclosure h2 { font-size:12px; margin-bottom:3px; }
  .yc-disclosure p { font-size:13px; line-height:1.7; }
  .yc-hero { display:flex; flex-direction:column; align-items:stretch; gap:32px; padding-block:32px 20px; }
  .yc-eyebrow { font-size:10px; letter-spacing:.1em; }
  .yc-hero h1 { font-size:40px; margin-top:20px; }
  .yc-hero-body { font-size:14px; line-height:1.9; margin-top:20px !important; }
  .yc-hero-actions { gap:24px; }
  .yc-button { min-height:48px; padding:14px 20px; gap:32px; font-size:13px; }
  .yc-text-link { font-size:12px; gap:16px; }
  .yc-hero-photo { height:400px; }
  .yc-hero-photo figcaption { display:flex; font-size:10px; }
  .yc-hero-photo figcaption span { font-size:12px; }
  .yc-photo-label { font-size:8px; }
  .yc-hero-region { font-size:11px; gap:12px; margin-top:24px !important; }
  .yc-section-heading { display:block; padding-bottom:24px; }
  .yc-section-heading > p { margin-top:20px; max-width:30em; }
  .yc-home h2 { font-size:27px; }
  .yc-kicker { font-size:10px; margin-bottom:12px !important; }
  .yc-services { padding-top:40px; }
  .yc-service-row,html[data-youcan-locale="en_HK"] .yc-service-row { grid-template-columns:24px 1fr 32px; gap:12px 16px; padding:24px 0; }
  .yc-service-row h3 { font-size:19px; grid-column:2; }
  .yc-service-row p { grid-column:2; grid-row:2; font-size:13px; }
  .yc-service-row .yc-arrow { grid-column:3; grid-row:1; width:30px; height:30px; font-size:18px; }
  .yc-service-region { display:block; grid-column:2; grid-row:3; font-size:10px; }
  .yc-service-num { padding-top:8px; }
  .yc-experience-grid { display:flex; flex-direction:column; gap:32px; align-items:stretch; }
  .yc-experience figure { height:260px; }
  .yc-experience-body { font-size:14px; }
  .yc-process ol { gap:28px 24px; margin-top:28px; }
  .yc-process li { padding-top:20px; }
  .yc-process h3 { font-size:16px; margin-block:20px 10px; }
  .yc-process li p { font-size:12px; }
  .yc-corporate { padding-block:48px; }
  .yc-corporate-grid { grid-template-columns:1fr; gap:28px; margin-top:28px; }
  .yc-corporate-grid a { padding-left:20px; }
  .yc-corporate-grid p { margin-block:10px 12px; font-size:13px; }
  .yc-faq { display:block; }
  .yc-faq > div + div { margin-top:28px; }
  .yc-faq summary { font-size:14px; padding-block:18px; }
  .yc-contact { padding-block:48px; }
  .yc-contact-grid { display:block; }
  .yc-contact h2 { font-size:32px; }
  .yc-contact-actions { margin-top:28px !important; }
  .yc-contact .youcan-support button,.yc-contact .youcan-support a { font-size:14px; padding:16px 20px; }
  .yc-footer { padding-block:36px 20px; }
  .yc-footer-top { display:block; padding-bottom:28px; }
  .yc-footer nav { max-width:none; gap:24px; padding-top:24px; }
  .yc-footer-bottom { font-size:10px; }
  html[data-youcan-locale="en_HK"] .yc-hero h1 { font-size:42px; }
  html[data-youcan-locale="en_HK"] .yc-disclosure p { font-size:13px; line-height:1.65; }
  html[data-youcan-locale="en_HK"] .yc-hero-actions { gap:16px; }
}
@media (prefers-reduced-motion:reduce) { .yc-service-row { transition:none; } }
