*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
--primary:#1a1a2e;
--primary-dark:#0f0f1e;
--gold:#c4a44a;
--gold-dark:#a8892e;
--text:#1d1d2e;
--text-mid:#5a5a6e;
--text-light:#8a8a9a;
--bg:#f7f7f9;
--bg-card:#fafafa;
--border:#e4e4ea;
--input-border:#c5c5ce;
--dark:#0e0e1a;
--font:'Inter',system-ui,-apple-system,sans-serif;
--font-serif:'Playfair Display',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(--gold);transition:color var(--transition)}
a:hover{color:var(--gold-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:10px}
.p-logo-text{font-family:var(--font-serif);font-size:1.15rem;font-weight:700;color:var(--primary)}
.p-logo-text span{color:var(--gold)}
.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(--gold)}

.p-banner{width:100%;max-height:200px;overflow:hidden}
.p-banner-placeholder{width:100%;height:200px;background:var(--primary);position:relative;overflow:hidden}
.p-banner-placeholder::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 60% 40%,rgba(196,164,74,.12) 0%,transparent 50%)}
.p-banner-placeholder::after{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 60V0h60' fill='none' stroke='rgba(255,255,255,0.025)' stroke-width='1'/%3E%3C/svg%3E")}

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

.p-card{background:var(--bg-card);border-radius:14px;padding:28px 32px}
.p-card h2{font-family:var(--font-serif);font-size:1.3rem;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: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(--gold);box-shadow:0 0 0 3px rgba(196,164,74,.08)}
.p-field-link{display:block;font-size:.78rem;margin-top:5px;color:var(--gold)}
.p-field-link:hover{color:var(--gold-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(--gold);color:#fff;border:2px solid var(--gold);border-radius:4px;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(--gold)}

.p-side-card{background:var(--bg-card);border-radius:14px;padding:24px 28px;margin-bottom:16px}
.p-side-card h3{font-family:var(--font-serif);font-size:1.05rem;color:var(--primary);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:#f5f0e0;color:var(--gold-dark);border:2px solid #f5f0e0;border-radius:4px;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:#f5f0e0}

.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: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}
}
