*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
--primary:#b91c2e;
--primary-dark:#7a1320;
--primary-light:#d4303f;
--accent:#b91c2e;
--text:#2e2e2e;
--text-mid:#5c5c5c;
--text-light:#8a8a8a;
--bg:#f4f6f9;
--bg-card:#f9f9fb;
--border:#dfe3ea;
--input-border:#b6bec5;
--font:'Inter',system-ui,-apple-system,sans-serif;
--font-serif:'Gelasio',Georgia,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(--primary);transition:color var(--transition)}
a:hover{color:var(--primary-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;gap:9px}
.p-logo-mark{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--primary);color:#fff;font-family:var(--font-serif);font-weight:700;font-size:.8rem;border-radius:50%}
.p-logo-text{font-family:var(--font-serif);font-size:1.15rem;font-weight:600;color:var(--primary)}
.p-logo-text span{font-weight:400;color:var(--primary-light)}
.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(--primary)}

.p-banner{width:100%;max-height:220px;overflow:hidden}
.p-banner img{width:100%;height:220px;object-fit:cover;display:block}
.p-banner-placeholder{width:100%;height:220px;background:#1a1a2e;position:relative;overflow:hidden}
.p-banner-img{width:100%;height:100%;object-fit:cover;opacity:.45}

.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-family:var(--font-serif);font-size:1.8rem;color:var(--primary-dark);margin-bottom:6px}
.p-welcome p{color:var(--text-mid);margin-bottom:24px;font-size:.95rem}

.p-card{background:var(--bg-card);border-radius:16px;padding:28px 32px}
.p-card h2{font-family:var(--font-serif);font-size:1.3rem;color:var(--primary-dark);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:3px;font-family:var(--font);font-size:.88rem;color:var(--text);background:#fff;transition:border-color var(--transition)}
.p-field input:focus,.p-field select:focus{outline:none;border-color:var(--text)}
.p-field-link{display:block;font-size:.78rem;margin-top:5px;color:var(--primary)}
.p-field-link:hover{color:var(--primary-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(--primary);color:#fff;border:2px solid var(--primary);border-radius:5px;font-family:var(--font);font-size:.88rem;font-weight:600;cursor:pointer;transition:all var(--transition);margin-top:6px}
.p-btn:hover{background:#fff;color:var(--primary)}

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

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

.p-footer{background:#343434;color:rgba(255,255,255,.65);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,.65)}
.p-ft-links a:hover{color:#fff}
.p-ft-legal{line-height:1.6;opacity:.7}

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