/* Issue 310: Layered campaign entry over the fixed 306/309 portal architecture */
.layer310-entry{max-width:1440px;margin:0 auto;border-bottom:1px solid rgba(7,19,33,.18);padding:28px 34px 34px;background:#f6f3ee;color:#071321}
.layer310-head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:18px}
.layer310-kicker{font:700 11px/1.2 Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#87670f}
.layer310-head h1{font:600 clamp(28px,3.2vw,50px)/1.02 Georgia,serif;margin:5px 0 0;max-width:780px;letter-spacing:-.025em}
.layer310-head p{margin:0;max-width:430px;font:400 15px/1.5 Arial,sans-serif;color:#39424b}
.layer310-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(7,19,33,.28);border-left:1px solid rgba(7,19,33,.28)}
.layer310-card{appearance:none;background:transparent;border:0;border-right:1px solid rgba(7,19,33,.28);border-bottom:1px solid rgba(7,19,33,.28);padding:20px;text-align:left;cursor:pointer;color:inherit;min-height:190px;display:flex;flex-direction:column;transition:background .18s ease,transform .18s ease}
.layer310-card:hover,.layer310-card:focus-visible{background:rgba(217,164,19,.08);outline:none}
.layer310-card small{font:700 10px/1.2 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#87670f}
.layer310-card strong{font:600 23px/1.08 Georgia,serif;margin:10px 0 8px}
.layer310-card span{font:400 14px/1.45 Arial,sans-serif;color:#44505a}
.layer310-card em{font:700 11px/1.2 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;font-style:normal;margin-top:auto;padding-top:18px}
.layer310-drawer{position:fixed;top:0;right:0;width:min(560px,94vw);height:100dvh;z-index:10000;background:#f6f3ee;color:#071321;border-left:1px solid rgba(7,19,33,.35);box-shadow:-20px 0 50px rgba(7,19,33,.14);transform:translateX(102%);transition:transform .24s ease;overflow:auto;padding:28px 30px 40px}
.layer310-drawer.open{transform:translateX(0)}
.layer310-close{position:sticky;top:0;float:right;border:1px solid rgba(7,19,33,.32);background:#f6f3ee;width:38px;height:38px;border-radius:50%;font-size:24px;cursor:pointer}
.layer310-drawer h2{font:600 38px/1.04 Georgia,serif;margin:24px 52px 14px 0;letter-spacing:-.02em}
.layer310-summary{font:400 17px/1.55 Arial,sans-serif;margin:0 0 26px}
.layer310-step{border-top:1px solid rgba(7,19,33,.22);padding:16px 0}
.layer310-step small{display:block;font:700 10px/1.2 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#87670f;margin-bottom:5px}
.layer310-step strong{display:block;font:600 18px/1.25 Georgia,serif;margin-bottom:6px}
.layer310-step p{font:400 14px/1.5 Arial,sans-serif;margin:0;color:#3e4851}
.layer310-deeper{border-top:1px solid rgba(7,19,33,.3);margin-top:10px;padding-top:18px}
.layer310-deeper a{display:block;border-bottom:1px solid rgba(7,19,33,.18);padding:12px 0;text-decoration:none;color:#071321;font:700 13px/1.25 Arial,sans-serif}
.layer310-deeper a:hover{text-decoration:underline}
.layer310-backdrop{position:fixed;inset:0;background:rgba(7,19,33,.18);z-index:9999;opacity:0;pointer-events:none;transition:opacity .2s ease}.layer310-backdrop.open{opacity:1;pointer-events:auto}
@media(max-width:900px){.layer310-entry{padding:20px 18px 24px}.layer310-head{display:block}.layer310-head p{margin-top:10px}.layer310-grid{grid-template-columns:1fr 1fr}.layer310-card{min-height:165px}.layer310-drawer{top:auto;bottom:0;width:100%;height:min(82dvh,760px);border-left:0;border-top:1px solid rgba(7,19,33,.35);transform:translateY(102%);border-radius:18px 18px 0 0;padding:20px 20px 36px}.layer310-drawer.open{transform:translateY(0)}}
@media(max-width:560px){.layer310-grid{grid-template-columns:1fr}.layer310-card{min-height:0}.layer310-head h1{font-size:30px}}
