.pga-register-shell,
.pga-signed-in-gateway,
.pga-account-card,
.pga-login,
.pga-form {
    --pga-green:#1F3B34;
    --pga-green-2:#294D43;
    --pga-orange:#E58A3A;
    --pga-bg:#F7F7F4;
    --pga-cream:#F5F2EA;
    --pga-white:#FFFFFF;
    --pga-text:#1D2622;
    --pga-muted:#68716C;
    --pga-border:#DADFD9;
    --pga-soft:#EEF3F0;
    box-sizing:border-box;
}

.pga-register-shell * ,
.pga-signed-in-gateway *,
.pga-account-card *,
.pga-login *,
.pga-form * { box-sizing:border-box; }

.pga-register-shell {
    width:100%;
    max-width:1100px;
    margin:28px auto;
    color:var(--pga-text);
}

.pga-register-heading {
    padding:36px clamp(22px,4vw,52px) 30px;
    background:var(--pga-green);
    color:#fff;
    border-radius:20px 20px 0 0;
}

.pga-register-heading h2 {
    margin:7px 0 10px;
    color:#fff;
    font-size:clamp(30px,4vw,48px);
    line-height:1.05;
    letter-spacing:-.03em;
}

.pga-register-heading p {
    max-width:720px;
    margin:0;
    color:rgba(255,255,255,.76);
    font-size:16px;
    line-height:1.6;
}

.pga-eyebrow {
    display:block;
    font-size:11px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--pga-orange);
    font-weight:800;
}

.pga-form,
.pga-account-card,
.pga-login {
    max-width:900px;
    margin:24px auto;
    padding:30px;
    background:#fff;
    border:1px solid var(--pga-border,#e1e5e3);
    border-radius:16px;
    color:var(--pga-text,#1D2622);
}

.pga-register-shell .pga-form {
    max-width:none;
    margin:0;
    padding:0;
    border-top:0;
    border-radius:0 0 20px 20px;
    overflow:hidden;
}

.pga-form-section {
    padding:34px clamp(22px,4vw,52px);
    border-bottom:1px solid var(--pga-border);
}

.pga-form-section:nth-child(even) { background:#fff; }

.pga-section-heading {
    display:flex;
    align-items:flex-start;
    gap:14px;
    margin-bottom:24px;
}

.pga-section-heading > span {
    display:grid;
    place-items:center;
    flex:0 0 34px;
    width:34px;
    height:34px;
    border-radius:50%;
    background:var(--pga-soft);
    color:var(--pga-green);
    font-size:12px;
    font-weight:900;
}

.pga-section-heading h3,
.pga-profile-audience h3 {
    margin:0 0 5px;
    color:var(--pga-green);
    font-size:22px;
    line-height:1.2;
}

.pga-section-heading p,
.pga-profile-audience p {
    margin:0;
    color:var(--pga-muted);
    line-height:1.5;
    font-size:14px;
}

.pga-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.pga-grid label,
.pga-form > label,
.pga-form-section label {
    display:block;
    color:var(--pga-green);
    font-weight:700;
    font-size:14px;
}

.pga-grid label small { color:var(--pga-muted); font-weight:500; }

.pga-grid input,
.pga-grid select,
.pga-form input[type=text],
.pga-form input[type=tel],
.pga-form input[type=email],
.pga-form input[type=url],
.pga-form input[type=password],
.pga-form select,
.pga-login input[type=text],
.pga-login input[type=password] {
    width:100%;
    box-sizing:border-box;
    margin-top:8px;
    padding:13px 14px;
    border:1px solid #CBD3CE;
    border-radius:9px;
    background:#fff;
    color:var(--pga-text);
    font:inherit;
    outline:none;
    transition:border-color .15s ease, box-shadow .15s ease;
}

.pga-grid input:focus,
.pga-form input:focus,
.pga-form select:focus,
.pga-login input:focus {
    border-color:var(--pga-green);
    box-shadow:0 0 0 3px rgba(31,59,52,.09);
}

.pga-full { grid-column:1/-1; }
.pga-field-help { display:block; margin-top:7px; color:var(--pga-muted); font-weight:500; }

.pga-audience-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.pga-audience-card {
    position:relative;
    margin:0;
    cursor:pointer;
}

.pga-audience-card > input {
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.pga-audience-card__surface {
    position:relative;
    display:grid;
    grid-template-columns:auto 1fr auto;
    grid-template-rows:auto auto;
    gap:4px 12px;
    align-items:center;
    min-height:112px;
    padding:19px 20px;
    border:1px solid var(--pga-border);
    border-radius:14px;
    background:#fff;
    transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.pga-audience-dot {
    grid-row:1/3;
    width:38px;
    height:38px;
    border-radius:50%;
    background:var(--pga-soft);
    border:1px solid #D7E1DB;
    position:relative;
}

.pga-audience-dot::after {
    content:"";
    position:absolute;
    inset:11px;
    border:2px solid var(--pga-green);
    border-radius:50%;
}

.pga-audience-card__surface strong {
    color:var(--pga-green);
    font-size:16px;
    line-height:1.2;
}

.pga-audience-card__surface > span:nth-child(3) {
    grid-column:2;
    color:var(--pga-muted);
    font-size:13px;
    line-height:1.45;
    font-weight:500;
}

.pga-audience-check {
    grid-column:3;
    grid-row:1/3;
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border-radius:50%;
    border:1px solid var(--pga-border);
    color:transparent;
    background:#fff;
    font-size:14px;
    font-weight:900;
}

.pga-audience-card:hover .pga-audience-card__surface { border-color:#A8B9AF; }
.pga-audience-card > input:focus + .pga-audience-card__surface { box-shadow:0 0 0 3px rgba(31,59,52,.09); }
.pga-audience-card > input:checked + .pga-audience-card__surface {
    border-color:var(--pga-green);
    background:#F4F8F6;
    box-shadow:0 0 0 1px var(--pga-green);
}
.pga-audience-card > input:checked + .pga-audience-card__surface .pga-audience-check {
    background:var(--pga-green);
    border-color:var(--pga-green);
    color:#fff;
}

.pga-register-footer {
    padding:28px clamp(22px,4vw,52px) 34px;
    background:var(--pga-bg);
}

.pga-check {
    display:flex!important;
    align-items:flex-start;
    gap:9px;
    margin:0 0 22px;
    color:#4D5752!important;
    font-weight:500!important;
    line-height:1.45;
}

.pga-check input {
    width:auto!important;
    flex:0 0 auto;
    margin:3px 0 0!important;
}

.pga-button,
.pga-login input[type=submit] {
    display:inline-block;
    border:0;
    border-radius:9px;
    padding:13px 20px;
    background:var(--pga-green,#1f3b34);
    color:#fff!important;
    text-decoration:none;
    font-weight:800;
    cursor:pointer;
    line-height:1.2;
}

.pga-button:hover,
.pga-login input[type=submit]:hover { filter:brightness(1.05); }
.pga-button-large { min-width:190px; padding:15px 24px; font-size:15px; }
.pga-button-secondary { background:var(--pga-orange,#E58A3A); }
.pga-button-outline { background:#fff; color:var(--pga-green,#1f3b34)!important; border:1px solid var(--pga-green,#1f3b34); }

.pga-signin-note {
    margin:16px 0 0;
    color:var(--pga-muted);
    font-size:14px;
}
.pga-signin-note a { color:var(--pga-green); font-weight:800; }

.pga-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:24px; }

.pga-notice {
    max-width:1100px;
    margin:16px auto;
    padding:14px 17px;
    border-radius:10px;
    background:#F3F5F4;
    border:1px solid #DFE4E1;
    color:#33413A;
}
.pga-success { border-color:#A8C9B8; background:#F0F7F3; }
.pga-error { border-color:#D9A5A5; background:#FFF4F4; }

.pga-account-card h2 { margin:8px 0 4px; color:var(--pga-green,#1f3b34); }
.pga-muted { color:var(--pga-muted,#69716d); }
.pga-account-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:22px; }
.pga-account-meta div { padding:15px; background:#F4F6F5; border-radius:9px; }
.pga-account-meta span { display:block; font-size:12px; color:#6B736F; }
.pga-account-meta strong { display:block; margin-top:5px; color:var(--pga-green,#1f3b34); overflow-wrap:anywhere; }

.pga-profile-prompt {
    display:flex;
    flex-direction:column;
    gap:4px;
    margin-top:20px;
    padding:16px 18px;
    background:#FFF8F1;
    border:1px solid #F0D6BD;
    border-radius:10px;
}
.pga-profile-prompt strong { color:#8B4E1F; }
.pga-profile-prompt span { color:#6D665F; font-size:14px; }

.pga-profile-audience {
    margin:28px 0 22px;
    padding-top:26px;
    border-top:1px solid var(--pga-border,#DADFD9);
}
.pga-profile-audience .pga-audience-grid { margin-top:18px; }

@media (max-width:760px) {
    .pga-grid,
    .pga-account-meta,
    .pga-audience-grid { grid-template-columns:1fr; }
    .pga-full { grid-column:auto; }
    .pga-form,
    .pga-account-card,
    .pga-login { padding:20px; }
    .pga-register-shell .pga-form { padding:0; }
    .pga-register-heading { border-radius:14px 14px 0 0; padding:28px 20px 24px; }
    .pga-register-shell .pga-form { border-radius:0 0 14px 14px; }
    .pga-form-section,
    .pga-register-footer { padding-left:20px; padding-right:20px; }
    .pga-audience-card__surface { min-height:104px; }
}

@media (max-width:480px) {
    .pga-section-heading { gap:10px; }
    .pga-section-heading > span { width:30px; height:30px; flex-basis:30px; }
    .pga-audience-card__surface { grid-template-columns:auto 1fr auto; padding:16px; }
    .pga-audience-dot { width:34px; height:34px; }
    .pga-button-large { width:100%; }
}


/* Signed-in pathway gateway — v0.2.1 */
.pga-signed-in-gateway {
    width:100%;
    max-width:1100px;
    margin:28px auto;
    overflow:hidden;
    border:1px solid var(--pga-border);
    border-radius:20px;
    background:var(--pga-white);
    color:var(--pga-text);
    box-shadow:0 14px 38px rgba(31,59,52,.07);
}

.pga-gateway-hero {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:28px;
    padding:36px clamp(22px,4vw,52px) 32px;
    background:var(--pga-green);
    color:#fff;
}

.pga-gateway-hero h2 {
    margin:7px 0 9px;
    color:#fff;
    font-size:clamp(30px,4vw,46px);
    line-height:1.05;
    letter-spacing:-.03em;
}

.pga-gateway-hero p {
    margin:0;
    color:rgba(255,255,255,.76);
    font-size:16px;
    line-height:1.55;
}

.pga-gateway-profile {
    flex:0 0 auto;
    min-width:150px;
    padding:14px 16px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:12px;
    background:rgba(255,255,255,.08);
}
.pga-gateway-profile span { display:block; color:rgba(255,255,255,.62); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.pga-gateway-profile strong { display:block; margin-top:5px; color:#fff; font-size:15px; }

.pga-gateway-nudge {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:16px clamp(22px,4vw,52px);
    background:#FFF8F1;
    border-bottom:1px solid #F0D6BD;
}
.pga-gateway-nudge div { display:flex; flex-direction:column; gap:2px; }
.pga-gateway-nudge strong { color:#8B4E1F; font-size:14px; }
.pga-gateway-nudge span { color:#756A61; font-size:13px; }
.pga-gateway-nudge a { color:#8B4E1F; font-weight:800; text-decoration:none; white-space:nowrap; }

.pga-gateway-body { padding:32px clamp(22px,4vw,52px) 36px; background:var(--pga-bg); }
.pga-gateway-heading { margin-bottom:20px; }
.pga-gateway-heading h3 { margin:5px 0 0; color:var(--pga-green); font-size:25px; letter-spacing:-.02em; }

.pga-gateway-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.pga-gateway-card {
    display:grid;
    grid-template-columns:48px minmax(0,1fr) auto;
    align-items:center;
    gap:15px;
    min-height:124px;
    padding:20px;
    border:1px solid var(--pga-border);
    border-radius:14px;
    background:#fff;
    color:var(--pga-text)!important;
    text-decoration:none!important;
    transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.pga-gateway-card:hover { transform:translateY(-2px); border-color:#B7C5BD; box-shadow:0 10px 24px rgba(31,59,52,.08); }
.pga-gateway-card__icon {
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    border-radius:12px;
    background:var(--pga-soft);
    color:var(--pga-green);
}
.pga-gateway-card__icon svg { width:24px; height:24px; }
.pga-gateway-card__copy { min-width:0; }
.pga-gateway-card__copy strong { display:block; color:var(--pga-green); font-size:17px; line-height:1.2; }
.pga-gateway-card__copy small { display:block; margin-top:5px; color:var(--pga-muted); font-size:13px; line-height:1.45; }
.pga-gateway-card__arrow { color:var(--pga-orange); font-size:22px; font-weight:800; }

.pga-gateway-quick {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    margin-top:22px;
    padding-top:21px;
    border-top:1px solid var(--pga-border);
}
.pga-gateway-quick > span { color:var(--pga-muted); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; white-space:nowrap; }
.pga-gateway-quick > div { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:8px 18px; }
.pga-gateway-quick a { color:var(--pga-green)!important; font-size:13px; font-weight:800; text-decoration:none!important; }
.pga-gateway-quick a:hover { text-decoration:underline!important; }
.pga-gateway-quick .pga-gateway-logout { color:#8C473E!important; }

@media (max-width:760px) {
    .pga-signed-in-gateway { border-radius:14px; }
    .pga-gateway-hero { align-items:flex-start; flex-direction:column; padding:28px 20px 24px; }
    .pga-gateway-profile { min-width:0; width:100%; }
    .pga-gateway-nudge { align-items:flex-start; flex-direction:column; padding:15px 20px; gap:9px; }
    .pga-gateway-body { padding:26px 20px 30px; }
    .pga-gateway-grid { grid-template-columns:1fr; }
    .pga-gateway-card { min-height:108px; }
    .pga-gateway-quick { align-items:flex-start; flex-direction:column; gap:12px; }
    .pga-gateway-quick > div { justify-content:flex-start; }
}

@media (max-width:480px) {
    .pga-gateway-card { grid-template-columns:42px minmax(0,1fr) auto; padding:17px 15px; gap:12px; }
    .pga-gateway-card__icon { width:42px; height:42px; }
    .pga-gateway-card__icon svg { width:21px; height:21px; }
}

/* v0.2.2 audience-specific registration */
.pga-commercial-section[hidden],
.pga-commercial-section [hidden] { display:none !important; }

.pga-commercial-section { background:#fbfcfb; }
.pga-profile-commercial {
    margin:28px 0;
    padding:24px;
    border:1px solid var(--pga-border);
    border-radius:14px;
    background:#fbfcfb;
}
.pga-profile-commercial h3 { margin:0 0 18px; color:var(--pga-green); }
.pga-context-note {
    display:flex;
    gap:10px;
    align-items:flex-start;
    margin-top:20px;
    padding:15px 16px;
    border-radius:10px;
    background:var(--pga-soft);
    color:var(--pga-green);
    font-size:13px;
    line-height:1.5;
}
.pga-context-note strong { flex:0 0 auto; }
.pga-context-note span { color:var(--pga-muted); }
.pga-upload-field input[type=file] {
    display:block;
    width:100%;
    margin-top:8px;
    padding:11px;
    border:1px dashed #B9C6BF;
    border-radius:9px;
    background:#fafcfb;
    color:var(--pga-muted);
}
.pga-terms-check a { color:var(--pga-green); text-decoration:underline; }
.pga-profile-head {
    display:flex;
    gap:16px;
    align-items:center;
    margin-bottom:24px;
}
.pga-profile-head h2 { margin:4px 0 3px; color:var(--pga-green); }
.pga-profile-image {
    width:72px;
    height:72px;
    object-fit:cover;
    border-radius:14px;
    border:1px solid var(--pga-border);
    background:var(--pga-soft);
}
.pga-org-reference { margin:14px 0 0; }

@media (max-width:760px) {
    .pga-audience-grid { grid-template-columns:1fr; }
    .pga-commercial-section .pga-grid { grid-template-columns:1fr; }
}
