.membership-page { --mi:#102754; --mb:#163987; --mo:#ed852e; background:#f5f7fb; color:var(--mi); }
.membership-page main { padding:0; }
.membership-page .site-header { background:#fff; }
.membership-hero { position:relative; isolation:isolate; min-height:610px; display:flex; align-items:end; overflow:hidden; background:#152d56 url('https://apigraf.pt/Encontro26Fotos/encontro2.png') center/cover no-repeat; }
.membership-extra .membership-hero { background:#101f39; }
.membership-hero-video,.membership-hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.membership-hero-video { object-fit:cover; z-index:-2; }
.membership-hero-shade { z-index:-1; background:linear-gradient(90deg,rgba(5,18,48,.95),rgba(8,30,69,.75) 48%,rgba(8,30,69,.2)),linear-gradient(0deg,rgba(5,18,48,.35),transparent 50%); }
.membership-hero-content { padding-top:100px; padding-bottom:80px; color:#fff; }
.membership-overline,.membership-kicker { display:block; color:var(--mo); font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.14em; }
.membership-hero h1 { max-width:10ch; margin:18px 0 22px; color:#fff; font-size:clamp(3.4rem,7vw,7.2rem); line-height:.94; letter-spacing:-.055em; }
.membership-hero p { max-width:640px; margin:0; color:rgba(255,255,255,.9); font-size:clamp(1.08rem,1.7vw,1.35rem); line-height:1.55; }
.membership-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:34px; }
.membership-button { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:52px; padding:14px 23px; border:0; border-radius:5px; background:var(--mo); color:#122653; font-weight:800; text-decoration:none; cursor:pointer; }
.membership-button:hover { background:#ffab5b; }
.membership-text-link { color:#fff; font-weight:700; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.6); padding-bottom:3px; }
.membership-intro { display:grid; grid-template-columns:1.05fr .8fr; gap:clamp(30px,8vw,125px); align-items:end; padding:85px 0 55px; }
.membership-intro h2,.membership-join h2 { margin:12px 0 0; color:var(--mi); font-size:clamp(2.3rem,4.5vw,4.9rem); line-height:1.02; letter-spacing:-.045em; }
.membership-intro>p { max-width:590px; margin:0 0 8px; color:#4c5d73; font-size:1.12rem; line-height:1.7; }
.membership-benefits { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #cbd5e4; border-bottom:1px solid #cbd5e4; }
.membership-benefits article { padding:38px 35px 42px 0; border-right:1px solid #cbd5e4; }
.membership-benefits article+article { padding-left:35px; }
.membership-benefits article:last-child { border-right:0; }
.membership-benefits span { color:var(--mo); font-weight:900; }
.membership-benefits h3 { margin:0 0 12px; font-size:1.4rem; }
.membership-benefits p { margin:0; color:#52647b; line-height:1.6; }
.membership-rule { display:grid; grid-template-columns:260px 1fr; gap:30px; align-items:center; margin:55px 0 80px; padding:27px 34px; border-left:5px solid var(--mo); background:#e7edf5; }
.membership-rule strong { font-size:1.2rem; }
.membership-rule p { margin:0; line-height:1.65; color:#445674; }
.membership-join { display:grid; grid-template-columns:minmax(270px,.72fr) minmax(0,1.2fr); gap:clamp(35px,6vw,90px); margin:0 calc(50% - 50vw); padding:75px max(24px,calc((100vw - 1320px)/2)); background:#e8eef6; scroll-margin-top:80px; }
.membership-join-copy { align-self:start; position:sticky; top:100px; }
.membership-join-copy>p:not(.membership-kicker) { margin-top:24px; color:#4b5f7a; line-height:1.65; }
.membership-contact a { color:var(--mb); font-weight:700; }
.membership-form { padding:clamp(23px,4vw,45px); background:#fff; border-radius:8px; box-shadow:0 20px 60px rgba(12,32,71,.1); }
.membership-form h3 { margin:12px 0 20px; padding-top:22px; border-top:1px solid #e0e6ee; color:var(--mi); font-size:1.45rem; }
.membership-form h3:first-of-type { padding-top:0; border:0; }
.membership-fields { display:grid; gap:17px; margin-bottom:17px; }
.membership-fields.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.membership-fields label { display:grid; gap:7px; color:#263a59; font-size:.91rem; font-weight:700; }
.membership-fields input,.membership-fields textarea { width:100%; min-width:0; min-height:47px; padding:11px 13px; border:1px solid #bfcbd9; border-radius:5px; background:#fff; color:var(--mi); font:inherit; }
.membership-fields input:focus,.membership-fields textarea:focus { outline:3px solid #dbe7fa; border-color:var(--mb); }
.membership-fields small { color:#66758d; font-weight:400; line-height:1.4; }
.membership-form b { color:#a24422; }
.membership-check { display:flex; gap:11px; align-items:flex-start; margin:18px 0; color:#40526d; line-height:1.5; font-size:.9rem; }
.membership-check input { width:18px; height:18px; flex:none; accent-color:var(--mb); }
.membership-quote { margin:24px 0 31px; padding:24px; border-radius:6px; background:var(--mi); color:#fff; }
.membership-quote-label { display:block; margin-bottom:12px; color:#f4a45d; font-weight:800; font-size:.75rem; text-transform:uppercase; letter-spacing:.12em; }
.membership-quote [data-quote-lines]>div { display:flex; justify-content:space-between; gap:15px; padding:11px 0; border-top:1px solid rgba(255,255,255,.2); }
.membership-quote [data-quote-lines] .membership-quote-total { margin-top:4px; padding-top:16px; border-top:1px solid rgba(255,255,255,.5); color:#fff; }
.membership-quote strong { white-space:nowrap; font-size:1.3rem; }
.membership-quote p { margin:0 0 12px; }
.membership-quote small { display:block; margin-top:14px; color:#c5d2e7; line-height:1.45; }
.membership-quote .membership-group-note { padding-top:15px; color:#ffd5b2; font-size:.85rem; }
.membership-payment { display:grid; gap:9px; margin:26px 0; padding:20px; border:1px solid #d1dbe8; border-radius:5px; }
.membership-payment legend { padding:0 5px; font-weight:800; }
.membership-payment p { margin:0 0 9px; color:#5c6b83; line-height:1.55; font-size:.9rem; }
.membership-payment label { display:flex; gap:10px; align-items:center; min-height:38px; }
.membership-payment input { accent-color:var(--mb); }
.membership-payment label:has(input:disabled) { color:#8290a1; }
.membership-payment[hidden],.membership-payment [hidden],.membership-group-payment-note[hidden] { display:none !important; }
.membership-transfer-details { margin-top:10px; padding:17px; border-radius:5px; background:#f2f5fa; }
.membership-transfer-details h4 { margin:0 0 6px; color:var(--mi); font-size:1rem; }
.membership-transfer-details>p { margin:0 0 12px; color:#5c6b83; font-size:.86rem; line-height:1.5; }
.membership-bank-account { display:grid; grid-template-columns:1fr 1fr; gap:9px 18px; margin:14px 0; }
.membership-bank-account div { min-width:0; }
.membership-bank-account dt { color:#68778c; font-size:.7rem; font-weight:800; text-transform:uppercase; }
.membership-bank-account dd { margin:3px 0 0; color:var(--mi); font-size:.86rem; font-weight:700; overflow-wrap:anywhere; }
.membership-proof { display:grid !important; gap:7px !important; align-items:start !important; margin-top:15px; color:#263a59; font-size:.88rem; font-weight:700; }
.membership-proof input { max-width:100%; }
.membership-proof small { color:#66758d; font-size:.77rem; font-weight:400; }
.membership-group-payment-note { margin:15px 0 22px; padding:15px 18px; border-left:4px solid var(--mo); background:#fff5eb; color:#4f5d72; line-height:1.5; }
.membership-retry { margin-top:12px; }
.membership-quote-total strong { font-size:1.45rem !important; }
.membership-form button.membership-button { width:100%; background:var(--mb); color:#fff; }
.membership-form-note { margin:13px 0 0; color:#64738a; font-size:.82rem; line-height:1.5; }
.membership-alert { margin-bottom:24px; padding:18px; border-radius:5px; line-height:1.5; }
.membership-alert.success { background:#e7f5ec; color:#19593b; }
.membership-alert.error { background:#fff0eb; color:#853d25; }
.membership-alert p { margin:5px 0 0; }
.membership-hp { position:absolute; left:-9999px; }
@media(max-width:900px){.membership-intro,.membership-join { grid-template-columns:1fr; }.membership-join-copy { position:static; }.membership-rule { grid-template-columns:1fr; gap:8px; }.membership-hero { min-height:550px; }}
@media(max-width:650px){.membership-hero { min-height:510px; }.membership-hero-content { padding:90px 0 65px; }.membership-hero h1 { font-size:clamp(3.1rem,14vw,5rem); }.membership-intro { padding:55px 0 35px; }.membership-benefits { grid-template-columns:1fr; }.membership-benefits article,.membership-benefits article+article { padding:25px 0; border-right:0; border-bottom:1px solid #cbd5e4; }.membership-benefits article:last-child { border:0; }.membership-benefits h3 { margin-top:12px; }.membership-rule { margin:35px 0 55px; }.membership-join { padding-top:50px; padding-bottom:55px; }.membership-fields.two { grid-template-columns:1fr; }.membership-bank-account { grid-template-columns:1fr; }.membership-quote [data-quote-lines]>div { display:block; }.membership-quote strong { display:block; margin-top:4px; }}

/* Membership visual language: print forms, ink blue and warm paper. */
.membership-page{background:#faf9f6;--mo:#f39a4c}
.membership-icon{width:25px;height:25px;flex-shrink:0;vertical-align:middle}
.membership-hero{min-height:650px;align-items:center}
.membership-hero-content{position:relative;z-index:2;padding-top:100px;padding-bottom:95px}
.membership-hero h1{max-width:13ch;font-size:clamp(3.6rem,6.5vw,6.4rem);line-height:1.02;letter-spacing:-.06em}
.membership-hero h1>span{display:block;color:#ffb16d;font-size:.78em;letter-spacing:-.045em;overflow-wrap:normal}
.membership-hero p{max-width:570px;font-size:1.1rem}
.membership-overline{display:inline-flex;align-items:center;gap:12px;color:#ffba80;font-size:.7rem}
.membership-overline:before{content:'';height:7px;width:7px;background:currentColor;border-radius:50%;box-shadow:0 0 0 6px #ffba8018}
.membership-button{border-radius:9px;transition:transform .22s,box-shadow .22s,background .22s}
.membership-button:hover{transform:translateY(-3px);box-shadow:0 10px 25px #05143025}
.membership-button .membership-icon{width:21px;height:21px;transition:transform .22s}
.membership-button:hover .membership-icon{transform:translateX(4px)}
.membership-text-link{font-size:.88rem}
.membership-print-art{position:absolute;right:6%;top:50%;width:350px;height:350px;transform:translateY(-50%);z-index:1;pointer-events:none;opacity:.75}
.membership-print-art i{position:absolute;inset:0;border:1px solid #ffffff48;border-radius:48% 52% 52% 48%;transform:rotate(-25deg)}
.membership-print-art i:nth-child(2){inset:30px;transform:rotate(30deg);border-color:#f39a4caa}
.membership-print-art i:nth-child(3){inset:65px;transform:rotate(60deg);border-color:#ffffff80}
.membership-print-art span{position:absolute;inset:0;display:grid;place-items:center;color:#ffffffa8;font-size:.65rem;font-weight:800;letter-spacing:.5em}
.membership-intro{padding-top:85px;gap:70px}
.membership-intro h2{font-size:clamp(2.2rem,3.6vw,3.7rem);line-height:1.12;max-width:19ch}
.membership-intro>p{font-size:1rem;line-height:1.85}
.membership-benefits{gap:20px;border:0;padding:8px 0 12px}
.membership-benefits article,.membership-benefits article+article{position:relative;padding:32px;border:1px solid #e0e5ed;border-radius:16px;background:#fff;transition:transform .3s,box-shadow .3s,border-color .3s;overflow:hidden}
.membership-benefits article:last-child{border:1px solid #e0e5ed}
.membership-benefits article:after{content:'';position:absolute;right:-28px;top:-30px;width:115px;height:115px;border:1px solid #1027540c;border-radius:50%;pointer-events:none}
.membership-benefits article:hover{transform:translateY(-7px);box-shadow:0 18px 35px #1027540c;border-color:#efad70}
.membership-benefit-icon{width:58px;height:58px;display:grid;place-items:center;margin-bottom:28px;border-radius:17px;background:#fff0e3;color:#a75412;transition:transform .3s}
.membership-benefit-icon .membership-icon{width:29px;height:29px}
.membership-benefits article:hover .membership-benefit-icon{transform:rotate(-6deg)}
.membership-benefits h3{font-size:1.3rem;letter-spacing:-.025em}
.membership-benefits p{font-size:.95rem;line-height:1.75}
.membership-benefits article:nth-child(2){background:#102754;border-color:#102754;color:white}
.membership-benefits article:nth-child(2) h3{color:white}
.membership-benefits article:nth-child(2) p{color:#d2dbea}
.membership-benefits article:nth-child(2) .membership-benefit-icon{color:#ffc08b;background:#ffffff12}
.membership-benefits article:nth-child(2):after{border-color:#ffffff16}
.membership-rule{background:transparent;border:0;border-top:1px solid #dce2e9;border-bottom:1px solid #dce2e9;margin:40px 0 70px;padding:25px 0;grid-template-columns:220px 1fr}
.membership-rule strong{font-size:1rem;display:flex;gap:13px;align-items:center}
.membership-rule strong:before{content:'';height:28px;width:3px;background:var(--mo);flex-shrink:0}
.membership-rule p{font-size:.9rem;line-height:1.75}
.membership-join{background:radial-gradient(ellipse at 8% 10%,#ffffff 0,transparent 45%),#eaf0f7;padding-top:85px;padding-bottom:90px}
.membership-join h2{font-size:clamp(2.4rem,4vw,4.2rem);line-height:1.08}
.membership-join-symbol{height:80px;width:80px;display:grid;place-items:center;background:var(--mi);color:#ffb16d;border-radius:23px;transform:rotate(-5deg);margin:0 0 32px;box-shadow:8px 8px 0 #f39a4c45}
.membership-join-symbol .membership-icon{height:36px;width:36px;transform:rotate(5deg)}
.membership-form{border:1px solid #dce4ee;border-radius:18px;box-shadow:0 25px 55px #0c20470c;padding:clamp(22px,3.1vw,42px)}
.membership-form h3{display:flex;align-items:center;gap:12px;font-size:1.13rem;line-height:1.45;padding-top:27px;margin-top:30px}
.membership-form h3 .membership-icon{color:#ae6020}
.membership-fields input,.membership-fields textarea{background:#f9fbfd;border-color:#d7dfeb;border-radius:8px;transition:background .2s,border-color .2s,box-shadow .2s}
.membership-fields input:focus,.membership-fields textarea:focus{background:white;outline:0;border-color:#6889ba;box-shadow:0 0 0 4px #1639870c}
.membership-quote{position:relative;padding:26px;border-radius:13px;background:linear-gradient(135deg,#102754,#1b427d);box-shadow:0 10px 24px #10275416}
.membership-quote-label{display:flex;align-items:center;gap:10px;color:#ffc18c}
.membership-quote-label .membership-icon{width:22px;height:22px}
.membership-quote [data-quote-lines]>div{align-items:center;font-size:.9rem}
.membership-quote strong{font-variant-numeric:tabular-nums}
.membership-payment{padding:20px;border-radius:12px;gap:10px}
.membership-payment legend{font-size:.98rem;padding:0 9px}
.membership-payment legend .membership-icon{width:21px;height:21px;margin-right:7px;color:#ae6020}
.membership-payment>label{border:1px solid #dce4ee;border-radius:8px;padding:10px 13px;font-size:.9rem;transition:background .2s,border-color .2s}
.membership-payment>label:has(input:checked){border-color:#456b9e;background:#eef4fc;color:#102754;font-weight:700}
.membership-payment>label:has(input:disabled){background:#f8f9fb;border-color:#e8edf2}
.membership-transfer-details{padding:18px;border-radius:9px}
.membership-contact{padding-top:22px;border-top:1px solid #cdd7e3;font-size:.9rem}
.membership-hero-content>*{animation:membership-enter .65s both}
.membership-hero-content h1{animation-delay:.08s}.membership-hero-content>p{animation-delay:.16s}.membership-hero-actions{animation-delay:.24s}
.membership-reveal{opacity:0;transform:translateY(22px);transition:opacity .6s,transform .6s}
.membership-reveal.is-visible{opacity:1;transform:translateY(0)}
@keyframes membership-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1100px) and (prefers-reduced-motion:no-preference){.membership-print-art i{animation:membership-orbit 35s linear infinite}.membership-print-art i:nth-child(2){animation-duration:45s;animation-direction:reverse}.membership-print-art i:nth-child(3){animation-duration:55s}}
@keyframes membership-orbit{to{transform:rotate(335deg)}}
@media(max-width:1100px){.membership-print-art{right:-150px;opacity:.28}.membership-benefits article,.membership-benefits article+article{padding:25px}.membership-intro{gap:35px}}
@media(max-width:900px){.membership-rule{grid-template-columns:1fr;gap:12px}.membership-join-copy{max-width:620px}.membership-join-symbol{height:62px;width:62px;border-radius:18px}.membership-intro h2{max-width:24ch}}
@media(max-width:650px){.membership-hero{min-height:540px}.membership-hero-content{padding:75px 0}.membership-hero h1{font-size:clamp(2.5rem,10.4vw,4.3rem)}.membership-hero p{font-size:1rem}.membership-print-art{width:250px;height:250px;right:-145px;top:30%}.membership-hero-actions{gap:22px}.membership-intro{padding:50px 0 28px}.membership-benefits{gap:14px}.membership-benefits article,.membership-benefits article+article{padding:25px;border:1px solid #e0e5ed}.membership-benefit-icon{margin-bottom:20px}.membership-rule{margin:30px 0 45px}.membership-join{padding:45px 18px}.membership-form{padding:22px 18px}.membership-form h3{font-size:1.05rem}.membership-quote{padding:20px}.membership-payment{padding:14px}.membership-payment legend{font-size:.9rem}.membership-quote [data-quote-lines]>div{display:flex;flex-wrap:wrap}.membership-quote strong{font-size:1.2rem}}
@media(prefers-reduced-motion:reduce){.membership-page *, .membership-page *:before,.membership-page *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.membership-reveal{opacity:1;transform:none}}
