.role-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:0;display:grid}.role-card{border:1px solid var(--ink08);background:#fff;border-radius:24px;transition:all .35s cubic-bezier(.23,1,.32,1);overflow:hidden;box-shadow:0 4px 16px #0000000a}.role-card:hover{border-color:#ff4d6d26;transform:translateY(-6px);box-shadow:0 20px 60px #0000001a}.rc-top{justify-content:center;align-items:center;height:160px;font-size:4.5rem;display:flex}.rc1{background:linear-gradient(145deg,#ffe0ec,#ffb3d1)}.rc2{background:linear-gradient(145deg,#fff9c4,#ffed7a)}.rc3{background:linear-gradient(145deg,#c8f5e1,#80e8c0)}.rc4{background:linear-gradient(145deg,#e8deff,#c4b5fd)}.rc5{background:linear-gradient(145deg,#fdd8b6,#fca76a)}.rc6{background:linear-gradient(145deg,#d0f0ff,#90d5ff)}.rc-body{padding:24px}.rc-title{font-family:var(--font-serif),serif;color:var(--ink);letter-spacing:-.02em;margin-bottom:8px;font-size:1.2rem;font-weight:700}.rc-desc{color:var(--ink50);margin-bottom:16px;font-size:.85rem;line-height:1.7}.rc-link{color:var(--rose);align-items:center;gap:6px;font-size:.84rem;font-weight:700;transition:gap .2s;display:inline-flex}.rc-link:hover{gap:10px}.ch-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:32px;display:grid}.ch-card{border:1px solid var(--ink08);text-align:center;cursor:pointer;background:#fff;border-radius:18px;padding:20px 16px;transition:all .25s}.ch-card:hover{border-color:var(--rose);transform:translateY(-3px);box-shadow:0 8px 24px #ff4d6d1a}.ch-icon{margin-bottom:10px;font-size:2rem;display:block}.ch-label{color:var(--ink);font-size:.82rem;font-weight:700}.ch-sub{color:var(--ink50);margin-top:3px;font-size:.72rem}.contact-layout{grid-template-columns:1fr 1fr;align-items:start;gap:48px;display:grid}.contact-info h3{font-family:var(--font-serif),serif;color:var(--ink);letter-spacing:-.03em;margin-bottom:14px;font-size:1.8rem;font-weight:700}.contact-info h3 em{color:var(--rose);font-style:italic;font-weight:100}.contact-info p{color:var(--ink50);margin-bottom:24px;font-size:.9rem;line-height:1.85}.contact-row{border-bottom:1px solid var(--ink08);align-items:center;gap:14px;padding:14px 0;display:flex}.cr-icon{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;display:flex}.cri-rose{background:#ff4d6d1a}.cri-sun{background:#ffd16633}.cri-mint{background:#06d6a01a}.cr-text h4{color:var(--ink);margin-bottom:2px;font-size:.88rem;font-weight:700}.cr-text p{color:var(--ink50);font-size:.8rem}.contact-form{border:1px solid var(--ink08);background:#fff;border-radius:24px;padding:36px;box-shadow:0 8px 32px #0000000d}.cf-title{font-family:var(--font-serif),serif;color:var(--ink);letter-spacing:-.02em;margin-bottom:24px;font-size:1.4rem;font-weight:700}.cf-field{background:var(--cream);border:1.5px solid var(--ink08);width:100%;font-family:var(--font-sans),sans-serif;color:var(--ink);border-radius:12px;outline:none;margin-bottom:12px;padding:12px 16px;font-size:.88rem;transition:border-color .2s;display:block}.cf-field:focus{border-color:var(--rose);background:#fff}.cf-field::placeholder{color:var(--ink50)}textarea.cf-field{resize:vertical;min-height:120px}.r-label{color:var(--ink50);margin-top:4px;margin-bottom:8px;font-size:.8rem;font-weight:700;display:block}.r-opts{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.r-opt{border:1.5px solid var(--ink08);cursor:pointer;color:var(--ink50);background:#fff;border-radius:10px;align-items:center;gap:10px;padding:11px 14px;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.r-opt:hover,.r-opt.on{border-color:var(--rose);background:var(--blush);color:var(--ink)}.r-opt input{accent-color:var(--rose)}.submit-btn{background:var(--ink);color:#fff;cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:4px;padding:15px;font-family:inherit;font-size:.95rem;font-weight:800;transition:all .3s;display:flex}.submit-btn:hover{background:var(--rose);transform:translateY(-2px)}@media (max-width:1024px){.ch-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.contact-layout{grid-template-columns:1fr}.role-grid{grid-template-columns:1fr 1fr}.ch-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.role-grid{grid-template-columns:1fr}.ch-grid{grid-template-columns:1fr 1fr}}
