*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
--primary:#0b2a3c;
--primary-dark:#091e32;
--accent:#2b8a7e;
--accent-dark:#1f6e64;
--text:#2c3e50;
--text-mid:#5f6d7e;
--text-light:#8c98a4;
--bg:#f5f7f9;
--bg-card:#fafafa;
--border:#dce4ea;
--input-border:#b5c5ce;
--dark:#0a1f2e;
--font:'Inter',system-ui,-apple-system,sans-serif;
--radius:8px;
--transition:.2s ease
}
html{-webkit-font-smoothing:antialiased}
body{font-family:var(--font);color:var(--text);line-height:1.6;background:var(--bg);min-height:100vh;display:flex;flex-direction:column}

a{text-decoration:none;color:var(--accent);transition:color var(--transition)}
a:hover{color:var(--accent-dark)}

.p-header{background:#fff;border-bottom:1px solid var(--border);padding:0 24px;height:56px;display:flex;align-items:center;justify-content:space-between}
.p-logo{display:flex;align-items:center}
.p-logo-img{height:34px;width:auto}
.p-header-links{display:flex;gap:16px;font-size:.82rem}
.p-header-links a{color:var(--text-mid);font-weight:500}
.p-header-links a:hover{color:var(--accent)}

.p-banner{width:100%;max-height:180px;overflow:hidden}
.p-banner-placeholder{width:100%;height:180px;background:var(--primary);position:relative;overflow:hidden}
.p-banner-placeholder::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 60% 40%,rgba(43,138,126,.1) 0%,transparent 50%)}

.p-main{flex:1;max-width:1040px;width:100%;margin:0 auto;padding:32px 24px}
.p-grid{display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:start}

.p-welcome h1{font-size:1.6rem;font-weight:700;color:var(--primary);margin-bottom:6px}
.p-welcome p{color:var(--text-mid);margin-bottom:24px;font-size:.92rem}

.p-card{background:var(--bg-card);border-radius:10px;padding:28px 32px}
.p-card h2{font-size:1.2rem;font-weight:700;color:var(--primary);margin-bottom:4px}
.p-card .req{font-size:.78rem;color:var(--text-light);margin-bottom:20px}

.p-field{margin-bottom:18px}
.p-field label{display:block;font-size:.84rem;font-weight:600;color:var(--text);margin-bottom:5px}
.p-field input,.p-field select{width:100%;padding:10px 13px;border:1px solid var(--input-border);border-radius:4px;font-family:var(--font);font-size:.86rem;color:var(--text);background:#fff;transition:border-color var(--transition)}
.p-field input:focus,.p-field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(43,138,126,.08)}
.p-field-link{display:block;font-size:.78rem;margin-top:5px;color:var(--accent)}
.p-field-link:hover{color:var(--accent-dark)}

.p-pw-wrap{position:relative}
.p-pw-wrap input{padding-right:40px}
.p-pw-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-light);padding:4px;transition:color var(--transition)}
.p-pw-toggle:hover{color:var(--text)}

.p-dob-row{display:grid;grid-template-columns:80px 1fr 100px;gap:8px}
.p-dob-row select{padding:10px 8px}

.p-btn{display:block;width:100%;padding:12px;background:var(--accent);color:#fff;border:2px solid var(--accent);border-radius:5px;font-family:var(--font);font-size:.86rem;font-weight:600;cursor:pointer;transition:all var(--transition);margin-top:6px}
.p-btn:hover{background:#fff;color:var(--accent)}

.p-side-card{background:var(--bg-card);border-radius:10px;padding:24px 28px;margin-bottom:16px}
.p-side-card h3{font-size:1rem;font-weight:600;color:var(--primary);margin-bottom:8px}
.p-side-card p{font-size:.84rem;color:var(--text-mid);line-height:1.55;margin-bottom:14px}
.p-side-btn{display:block;width:100%;padding:10px;background:#e6f2f0;color:var(--accent-dark);border:2px solid #e6f2f0;border-radius:5px;font-family:var(--font);font-size:.82rem;font-weight:600;cursor:pointer;text-align:center;transition:all var(--transition)}
.p-side-btn:hover{background:#fff;border-color:#e6f2f0}

.p-notice{background:#fef2f2;border-left:4px solid #c23934;border-radius:0 var(--radius) var(--radius) 0;padding:14px 18px;margin-bottom:20px;font-size:.84rem;color:#7f1d1d;line-height:1.5}
.p-notice strong{display:block;margin-bottom:2px}

.p-footer{background:var(--dark);color:rgba(255,255,255,.6);padding:20px 24px;font-size:.76rem;margin-top:auto}
.p-footer .wrap{max-width:1040px;margin:0 auto}
.p-ft-links{display:flex;gap:16px;margin-bottom:8px;flex-wrap:wrap}
.p-ft-links a{color:rgba(255,255,255,.6)}
.p-ft-links a:hover{color:#fff}
.p-ft-legal{line-height:1.6;opacity:.65}

@media(max-width:768px){
.p-grid{grid-template-columns:1fr}
.p-banner-placeholder{height:120px}
.p-welcome h1{font-size:1.3rem}
}
@media(max-width:480px){
.p-dob-row{grid-template-columns:1fr 1fr 1fr}
.p-header{padding:0 16px}
.p-main{padding:20px 16px}
}