:root{--line-green:#06c755;--line-green-deep:#079c46}
.line-floating-cta{position:fixed;right:26px;bottom:26px;z-index:35;display:flex;align-items:center;gap:11px;min-width:206px;padding:9px 14px 9px 9px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:var(--ink);color:var(--paper);box-shadow:0 14px 34px rgba(32,32,30,.2);transition:transform .28s ease,background .28s ease,box-shadow .28s ease}
.line-floating-cta:hover,.line-floating-cta:focus-visible{background:var(--line-green);color:#fff;transform:translateY(-4px);box-shadow:0 18px 38px rgba(6,199,85,.28);outline:none}
.line-floating-mark{display:grid;place-items:center;width:37px;height:37px;flex:0 0 37px;border-radius:50%;background:var(--line-green);color:#fff;line-height:1}
.line-floating-mark svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.45}
.line-floating-copy{display:flex;flex:1;flex-direction:column;gap:2px;line-height:1.25}
.line-floating-copy strong{font-family:'Noto Sans TC',sans-serif;font-size:13px;font-weight:500;letter-spacing:.04em}
.line-floating-copy small{color:rgba(242,240,235,.65);font-family:'Noto Sans TC',sans-serif;font-size:11px;letter-spacing:.04em}
.line-floating-cta:hover .line-floating-copy small,.line-floating-cta:focus-visible .line-floating-copy small{color:rgba(255,255,255,.82)}
.line-floating-arrow{font-size:17px;line-height:1}
.social-links a[href*="line.me"]{display:inline-flex;align-items:center;color:var(--line-green-deep);font-weight:700}
.social-links a[href*="line.me"]::before{content:'●';margin-right:4px;color:var(--line-green);font-family:Arial,sans-serif;font-size:9px}
.line-consultation{align-items:center;border:1px solid rgba(6,199,85,.35);border-top:1px solid rgba(6,199,85,.35);border-radius:2px;padding:18px 20px;background:rgba(6,199,85,.055)}
.line-consultation span{color:var(--line-green-deep)}
.line-consultation p{font-size:14px}
.line-consultation .text-link{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-green);border-radius:999px;padding:10px 17px;background:var(--line-green);color:#fff;transition:background .25s ease,transform .25s ease,box-shadow .25s ease}
.line-consultation .text-link:hover,.line-consultation .text-link:focus-visible{background:var(--line-green-deep);box-shadow:0 8px 18px rgba(6,199,85,.2);transform:translateY(-2px);outline:none}
.consultation-form .form-section>.eyebrow{font-size:11px}
.consultation-form .form-grid label{font-family:'Noto Sans TC',sans-serif;font-size:15px;letter-spacing:.04em;line-height:1.45}
.consultation-form .form-grid label small{display:block;color:var(--muted);font-family:var(--mono);font-size:9px;letter-spacing:.08em;line-height:1.4}
.consultation-form input,.consultation-form select,.consultation-form textarea{font-size:15px}
.consultation-form .submit-button{font-family:'Noto Sans TC',sans-serif;font-size:14px;letter-spacing:.04em;gap:24px}
.consultation-form .submit-button span{font-family:var(--mono);font-size:10px;letter-spacing:.08em}
.contact-grid{display:grid;grid-template-columns:1.08fr .92fr;border-top:1px solid var(--line)}
.contact-card{padding:38px 0 80px}
.contact-card+.contact-card{padding-left:6vw;border-left:1px solid var(--line)}
.contact-card h2{font-family:var(--serif);font-size:clamp(42px,4.6vw,70px);font-weight:500;line-height:.98;letter-spacing:-.05em;margin:45px 0 28px}
.contact-card>p:not(.eyebrow){max-width:390px;color:#65615b;font-family:'Noto Sans TC',sans-serif;font-size:14px;line-height:2;margin-bottom:33px}
.contact-line-button{margin-bottom:23px;background:var(--line-green);border-color:var(--line-green);color:#fff}
.contact-line-button:hover{background:var(--line-green-deep);border-color:var(--line-green-deep);color:#fff}
.contact-channel-list{margin-top:38px}
.contact-channel-item{display:grid;grid-template-columns:150px 1fr;gap:20px;border-top:1px solid var(--line);padding:22px 0}
.contact-channel-item strong{font-family:'Noto Sans TC',sans-serif;font-size:14px;font-weight:500}
.contact-channel-item span{color:#65615b;font-family:'Noto Sans TC',sans-serif;font-size:13px;line-height:1.9}
.contact-bottom{display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--line);padding-top:25px}
.contact-bottom p:not(.eyebrow){margin:14px 0 0;color:#65615b;font-family:'Noto Sans TC',sans-serif;font-size:13px}
@media(max-width:900px){.contact-grid{display:block}.contact-card{padding:30px 0 65px}.contact-card+.contact-card{border-left:0;border-top:1px solid var(--line);padding:55px 0 70px}.contact-card h2{margin:36px 0 25px}.contact-channel-item{display:block}.contact-channel-item span{display:block;margin-top:8px}.contact-bottom{display:block}.contact-bottom .text-link{margin-top:25px}}
@media(max-width:900px){.line-floating-cta{right:16px;bottom:18px;min-width:0;padding:8px 12px 8px 8px}.line-floating-copy small{display:none}.line-floating-mark{width:36px;height:36px;flex-basis:36px}.line-consultation{padding:18px}.line-consultation .text-link{margin-top:4px}}
@media(max-width:420px){.line-floating-cta{right:12px;bottom:max(12px,env(safe-area-inset-bottom))}.line-floating-copy strong{font-size:12px}}

/* Final contact-page alignment */
.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1px;border:1px solid var(--line);background:var(--line)}
.contact-card,.contact-card+.contact-card{min-height:570px;padding:45px;border:0;background:var(--paper)}
.contact-primary{background:var(--ink);color:var(--paper)}
.contact-primary .eyebrow{color:#aaa7a0}
.contact-primary>p:not(.eyebrow){color:#c4c1ba}
.contact-primary .text-link{margin-left:25px;border-color:rgba(242,240,235,.45)}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}.contact-card,.contact-card+.contact-card{min-height:0;padding:35px 28px}.contact-primary .text-link{display:flex;width:max-content;margin:24px 0 0}}
@media(max-width:420px){.contact-card,.contact-card+.contact-card{padding:30px 22px}}
