.fp-signup { --fp-orange:#f28c00; --fp-black:#151515; --fp-line:#d9d2c8; max-width:1080px; margin:0 auto; color:var(--fp-black); }
.fp-signup * { box-sizing:border-box; }
.fp-signup-section { padding:3.5rem 0; border-top:1px solid var(--fp-line); }
.fp-signup-section:first-of-type { border-top:0; padding-top:1rem; }
.fp-signup-heading { display:grid; grid-template-columns:3.2rem 1fr; gap:1rem; align-items:start; margin-bottom:2rem; }
.fp-signup-heading > span { color:var(--fp-orange); font-size:.8rem; font-weight:800; letter-spacing:.12em; padding-top:.45rem; }
.fp-signup-heading p { color:#b85f00; font-size:.78rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; margin:0 0 .4rem; }
.fp-signup-heading h2 { font-size:clamp(2rem,5vw,3.7rem); line-height:1; margin:0; }
.fp-signup-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.fp-signup-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.fp-signup-grid--address { grid-template-columns:minmax(8rem,.35fr) 1fr; }
.fp-signup-span-2 { grid-column:span 2; }
.fp-signup-field, .fp-signup fieldset { margin:0 0 1.4rem; padding:0; border:0; min-width:0; }
.fp-signup label:not(.fp-signup-options label), .fp-signup legend { display:block; font-weight:750; margin:0 0 .5rem; }
.fp-signup input:not([type=checkbox]), .fp-signup select, .fp-signup textarea { width:100%; min-height:3.25rem; border:1px solid #bdb6ad; border-radius:0; background:#fff; color:var(--fp-black); padding:.75rem .9rem; font:inherit; }
.fp-signup textarea { min-height:9rem; resize:vertical; }
.fp-signup input:focus, .fp-signup select:focus, .fp-signup textarea:focus { outline:3px solid rgba(242,140,0,.22); border-color:var(--fp-orange); }
.fp-signup-options { display:flex; flex-wrap:wrap; gap:.7rem; }
.fp-signup-options--grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.fp-signup-options label, .fp-signup-consent > label { display:flex; gap:.7rem; align-items:flex-start; border:1px solid var(--fp-line); background:#fff; padding:.9rem 1rem; cursor:pointer; }
.fp-signup-options input, .fp-signup-consent input { flex:0 0 auto; width:1.15rem; height:1.15rem; margin:.15rem 0 0; accent-color:var(--fp-orange); }
.fp-signup-help { color:#5e5852; font-size:.92rem; margin:.5rem 0 .8rem; }
.fp-signup-help a, .fp-signup-consent a { color:inherit; font-weight:750; text-decoration-thickness:1px; text-underline-offset:3px; }
.fp-signup-error { display:block; color:#a32118; font-size:.88rem; font-weight:700; margin-top:.4rem; }
.fp-signup-alert { border-left:6px solid #c92d20; background:#fff0ee; padding:1rem 1.2rem; margin:0 0 2rem; font-weight:700; }
.fp-signup-consent { background:#f4f0ea; margin-inline:calc(50% - 50vw); padding-inline:max(calc((100vw - 1080px)/2),1.25rem); }
.fp-signup-consent > label { margin:0 0 .8rem; }
.fp-signup-submit { appearance:none; border:0; background:var(--fp-black); color:#fff; padding:1rem 1.5rem; font:inherit; font-weight:800; margin-top:1.4rem; cursor:pointer; }
.fp-signup-submit:hover { background:var(--fp-orange); color:var(--fp-black); }
.fp-signup-privacy-note { color:#5e5852; font-size:.85rem; max-width:48rem; }
.fp-contact-form { margin:0; }
.fp-contact-consent > label { display:flex; gap:.7rem; align-items:flex-start; border:1px solid var(--fp-line); background:#fff; padding:.9rem 1rem; cursor:pointer; }
.fp-contact-consent input { flex:0 0 auto; width:1.15rem; height:1.15rem; margin:.15rem 0 0; accent-color:var(--fp-orange); }
.fp-contact-consent a { color:inherit; font-weight:750; text-decoration-thickness:1px; text-underline-offset:3px; }
.fp-signup-hp { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.fp-signup-success { border-left:8px solid var(--fp-orange,#f28c00); background:#f4f0ea; padding:clamp(1.5rem,5vw,4rem); margin:2rem 0; }
.fp-signup-success h2 { font-size:clamp(2rem,5vw,4rem); margin:.3rem 0 1rem; }
.fp-signup-kicker { color:#b85f00; text-transform:uppercase; font-size:.8rem; letter-spacing:.15em; font-weight:800; }
@media (max-width:720px) { .fp-signup-grid, .fp-signup-grid--three, .fp-signup-grid--address, .fp-signup-options--grid { grid-template-columns:1fr; } .fp-signup-span-2 { grid-column:auto; } .fp-signup-section { padding:2.5rem 0; } .fp-signup-heading { grid-template-columns:2.3rem 1fr; } }
