.contact-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-areas:"info form";align-items:start}
.contact-info-panel{grid-area:info;min-width:0}
.contact-form-panel{grid-area:form;min-width:0}
.contact-direct h2{font-size:24px;font-weight:600;margin-bottom:10px}
@media(max-width:900px){.contact-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"form" "info"}}
.contact-method{display:flex;align-items:center;gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}
.contact-method-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.contact-method-label{font-size:13px;color:var(--muted)}
.contact-method strong{font-size:20px;font-weight:600;line-height:1.5}
.contact-method-note{font-size:13px;color:var(--muted)}
.contact-method>.pi-icon,.contact-company-row>.pi-icon{margin-left:auto;width:18px;height:18px;color:#698178}
.contact-company{padding:22px 0;border-bottom:1px solid var(--line)}
.contact-company-row{display:flex;align-items:center;gap:16px}
.contact-company-row+.contact-company-row{margin-top:20px}
.contact-company-row strong{font-size:20px;font-weight:600;line-height:1.5}
.contact-phone-icon,.contact-detail-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:#e8f0e9;color:#27675e}
.contact-method .contact-email-value{font-size:16px;line-height:1.7;overflow-wrap:anywhere}
.contact-address-value{font-size:16px;line-height:1.8;overflow-wrap:anywhere}
.address-unit{white-space:nowrap}
.line-brand{display:block;flex:none;object-fit:contain}
.line-floating{position:fixed;z-index:80;right:24px;bottom:28px;display:flex;align-items:center;justify-content:center;width:64px;height:64px;padding:8px;border-radius:50%}
.line-floating .line-floating-icon{display:block;flex:none;width:48px;height:48px;border-radius:50%;object-fit:contain;box-shadow:0 2px 5px #172e3726}
.line-dialog{box-sizing:border-box;position:fixed;width:440px;max-width:calc(100% - 40px);max-height:calc(100dvh - 40px);margin:auto;padding:36px 32px 28px;border:1px solid #dce7df;border-radius:20px;background:#fff;color:#172e37;text-align:center;box-shadow:0 20px 80px #0b2b332e;overflow-y:auto}
.line-dialog:not([open]){display:none}
.line-dialog::backdrop{background:#10292db3}
.line-dialog-close{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#61706b;cursor:pointer}
.line-dialog-close:hover{background:#f0f5f1;color:#172e37}
.line-dialog-brand{display:block;margin:0 auto 16px;object-fit:contain}
.line-dialog-kicker{font-size:13px;color:#4e7060;margin-bottom:10px}
.line-dialog h2,.home-page .line-dialog h2{font-size:24px;line-height:1.5;margin:0 0 12px;font-weight:600}
.line-dialog p{font-size:14px;line-height:1.9}
.line-dialog .line-qr{display:block;width:232px;height:auto;max-width:100%;margin:22px auto 20px}
.line-dialog-link{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:44px;font-size:14px;font-weight:600;color:#27675e;border-bottom:1px solid #a1b9a7}
.line-dialog-link .pi-icon{width:16px;height:16px}
body.line-dialog-open{overflow:hidden}
@media(max-width:1100px){.line-floating{right:16px;bottom:24px}.contact-method,.contact-company-row{gap:12px}.contact-method strong,.contact-company-row strong{font-size:18px}}
@media(max-width:767px){
    .line-floating{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:60px;height:60px;padding:8px}
    .line-floating .line-floating-icon{width:44px;height:44px}
    .site-footer{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
    body.line-input-active .line-floating,body.line-nav-active .line-floating{visibility:hidden}
    .contact-method{gap:16px;padding-block:20px}.contact-company{padding-block:20px}.contact-company-row{gap:16px}.contact-method strong,.contact-company-row strong{font-size:20px}
}
@media(max-width:360px){.contact-method,.contact-company-row{gap:12px}.contact-method strong,.contact-company-row strong{font-size:18px}.contact-method-note{font-size:12px}}
@media print{.line-floating,.line-dialog{display:none!important}}
