:root{--red:#c7112a;--redbright:#e91e3f;--deep:#750610;--darker:#35030a;--ink:#281b20;--muted:#72676b;--line:#eadde0;--soft:#fcf5f5;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;--container:1200px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{line-height:1.14}h2{font-family:var(--serif);font-size:clamp(2.5rem,4.4vw,4.25rem);font-weight:500;letter-spacing:-.055em}h2 em,h1 em{font-weight:400;font-style:italic}h3{font-family:var(--serif);font-size:1.6rem;font-weight:500;letter-spacing:-.025em}p{max-width:70ch}section[id],article[id],div[id]{scroll-margin-top:95px}.container{max-width:var(--container);margin:auto;padding:0 28px}.section{padding:110px 0}.eyebrow{color:var(--red);font-size:.72rem;font-weight:800;letter-spacing:.18em;display:block;text-transform:uppercase;margin-bottom:24px}.eyebrow.light{color:#ffc5cc}.lead{font-size:1.21rem;line-height:1.72}.section-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:end;margin-bottom:52px}.section-heading h2{margin:0}.section-heading>p{color:var(--muted);margin:0;max-width:43ch;line-height:1.85}.inline-link{display:inline-block;color:var(--red);font-size:.89rem;font-weight:750;border-bottom:1px solid currentColor;padding-bottom:3px;transition:opacity .2s}.inline-link:hover{opacity:.72}.content-note,.small-note{font-size:.82rem;color:var(--muted);line-height:1.75}.content-note{margin-top:25px}.content-note a{text-decoration:underline;text-decoration-color:var(--red)}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:15px 22px;font-size:.84rem;font-weight:780;border:1px solid transparent;transition:background .18s,transform .18s;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn.white{background:#fff;color:var(--deep)}.btn.white:hover{background:#fff1f3}.btn.ghost{border-color:rgba(255,255,255,.42);color:#fff}.btn.ghost:hover{background:rgba(255,255,255,.1)}.btn.red{background:var(--red);color:#fff}.btn.red:hover{background:var(--deep)}.btn.small{padding:12px 17px;font-size:.78rem}.skip-link{position:absolute;z-index:200;top:-100px;left:15px;background:#fff;padding:12px}.skip-link:focus{top:10px}
/* Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);border-bottom:1px solid #f0e4e6;backdrop-filter:blur(18px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:84px}.brand{display:flex;gap:12px;align-items:center;flex-shrink:0}.brand-badge{width:42px;height:42px;display:grid;place-items:center}.brand-badge img{max-height:42px;width:auto}.brand strong{color:var(--red);font-size:1.53rem;line-height:1;letter-spacing:-.065em;font-weight:900;display:block}.brand strong span{color:var(--ink);font-weight:350}.brand small{display:block;font-size:.61rem;letter-spacing:.015em;color:var(--muted);line-height:1.5;margin-top:3px}#site-nav{display:flex;align-items:center;gap:25px}#site-nav>a,#site-nav .nav-sub>a{font-size:.78rem;font-weight:700;white-space:nowrap;transition:color .2s}#site-nav a:hover{color:var(--red)}#site-nav .nav-contact{background:var(--red);color:#fff;padding:12px 17px}#site-nav .nav-contact:hover{color:#fff;background:var(--deep)}.nav-contact span{margin-left:7px}.nav-sub{position:relative;padding:15px 0}.sub-menu{position:absolute;top:100%;left:-19px;width:230px;background:#fff;box-shadow:0 13px 35px rgba(40,0,6,.12);border:1px solid var(--line);padding:9px;display:none}.sub-menu a{display:block;font-size:.82rem;padding:10px 11px}.nav-sub:hover .sub-menu,.nav-sub:focus-within .sub-menu{display:block}.nav-toggle{display:none;border:0;background:none;width:42px;height:42px;padding:10px;cursor:pointer}.nav-toggle span{height:2px;background:var(--ink);width:23px;display:block;margin:5px 0}
/* Hero */
.hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(122deg,#73010d 0%,#a30c1a 47%,#d91a36 100%)}.hero-texture{position:absolute;inset:0;opacity:.4;background:radial-gradient(circle at 30% 120%,rgba(244,68,97,.28),transparent 33%),repeating-linear-gradient(138deg,transparent,transparent 70px,rgba(255,255,255,.03) 71px,transparent 72px)}.hero-layout{display:grid;grid-template-columns:1fr .96fr;gap:62px;align-items:stretch;position:relative;min-height:640px}.hero-content{padding:84px 0 54px;z-index:1;display:flex;flex-direction:column;align-items:flex-start}.hero-logo{height:74px;width:auto;max-width:300px;object-fit:contain;object-position:left center;margin:10px 0 32px}.hero h1{color:#fff;font-family:var(--serif);font-size:clamp(3.7rem,5.4vw,6rem);font-weight:500;letter-spacing:-.062em;line-height:1.04;margin:0 0 24px}.hero h1 em{color:#ffe5e6}.hero-content>p{font-size:1.04rem;color:rgba(255,255,255,.84);max-width:52ch;line-height:1.85;margin-bottom:34px}.action-row{display:flex;gap:12px;flex-wrap:wrap}.hero-foot{display:flex;gap:12px;color:#ffd6dc;opacity:.75;letter-spacing:.08em;font-size:.72rem;margin-top:auto;padding-top:40px}.hero-image{align-self:end;height:86%;position:relative;min-width:0;overflow:visible;margin-bottom:0;box-shadow:-18px -18px 0 rgba(255,255,255,.065)}.hero-image>img{height:100%;width:100%;object-fit:cover;object-position:center center;filter:saturate(.92)}.hero-image-label{position:absolute;bottom:0;left:0;background:#fff;color:var(--ink);min-width:174px;padding:19px 27px 21px}.hero-image-label>span{font-size:.65rem;font-weight:800;letter-spacing:.2em;color:var(--muted)}.hero-image-label strong{display:block;font-size:3rem;letter-spacing:-.075em;line-height:1.05}.hero-image-label strong span{color:var(--red)}
/* Quick bar */
.quickbar{border-bottom:1px solid var(--line);background:#fff}.quickbar-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.quickbar-inner a{display:flex;align-items:center;justify-content:space-between;gap:13px;min-height:86px;padding:20px 16px;border-right:1px solid var(--line);font-size:.84rem;font-weight:700}.quickbar-inner a:first-child{border-left:1px solid var(--line)}.quickbar-inner a:hover{color:var(--red);background:var(--soft)}.quick-n{color:var(--red);font-size:.75rem;font-weight:900}
/* About */
.about{background:#fff}.about-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:96px;align-items:center}.about h2{margin-bottom:25px}.about p:not(.lead){color:var(--muted)}.about .lead{font-family:var(--serif);font-size:1.35rem;color:var(--ink)}.stat-strip{display:flex;flex-wrap:wrap;gap:32px;margin-top:38px}.stat-strip div{border-top:2px solid var(--red);padding-top:12px;min-width:120px}.stat-strip strong{display:block;font-size:1.56rem;font-family:var(--serif);font-weight:600}.stat-strip span{display:block;font-size:.77rem;color:var(--muted)}.about-aside{position:relative;background:#8f0b1a;color:#fff;min-height:380px;padding:54px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;overflow:hidden}.about-aside::after{content:'”';font-family:var(--serif);font-size:20rem;line-height:1;position:absolute;right:-18px;bottom:-145px;color:rgba(255,255,255,.08);pointer-events:none}.about-aside>span{color:#ffc4cd;font-size:.71rem;letter-spacing:.16em;font-weight:800}.about-aside p{font-family:var(--serif);font-size:clamp(1.6rem,2.7vw,2.5rem);font-style:italic;line-height:1.42;margin:24px 0;position:relative;z-index:1}.about-aside a{font-size:.85rem;font-weight:700;border-bottom:1px solid #fff;padding-bottom:3px;position:relative;z-index:1}
/* Organigram and panels */
.structure{background:var(--soft)}.organogram-panel{background:#790000;color:#fff;box-shadow:0 20px 50px rgba(51,0,0,.11);overflow:hidden}.organogram-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:32px 38px 18px}.organogram-heading span{font-size:.7rem;letter-spacing:.15em;color:#f9abb4;font-weight:700}.organogram-heading h3{font-family:var(--serif);font-size:2rem;margin:7px 0}.organogram-heading p{font-size:.81rem;opacity:.78;margin:0}.organogram-link img{width:100%;object-fit:contain}.organogram-link{display:block}.organogram-help{margin:0;padding:0 38px 30px;text-align:right;font-size:.72rem;color:#eab8bb}.org-cards{display:grid;grid-template-columns:.35fr .65fr;gap:65px;margin-top:60px}.org-description h3{font-size:1.8rem}.org-description p{color:var(--muted);line-height:1.8}.roster-group{background:#fff;border-bottom:1px solid var(--line)}.roster-group:first-child{border-top:1px solid var(--line)}.roster-group>summary{list-style:none;display:flex;align-items:center;gap:18px;padding:22px 24px;cursor:pointer;font-size:.95rem;font-weight:750}.roster-group>summary::-webkit-details-marker{display:none}.roster-group>summary small{font-weight:450;font-size:.74rem;color:var(--muted);margin-left:auto}.roster-group>summary .chevron{font-size:1.6rem;color:var(--red);transition:transform .2s}.roster-group[open]>summary .chevron{transform:rotate(180deg)}.roster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;padding:0 24px 22px}.person{border-top:1px solid var(--line);padding:13px 0}.person b{display:block;font-size:.89rem;line-height:1.5}.person span{font-size:.78rem;line-height:1.45;color:var(--muted);display:block;margin-top:3px}
/* Mandates */
.mandates{background:#fff}.mandates-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.mandato-card{border:1px solid var(--line);background:#fff;transition:transform .2s,box-shadow .2s;overflow:hidden}.mandato-card:hover{transform:translateY(-4px);box-shadow:0 10px 35px rgba(67,14,26,.09)}.mandato-card>img{width:100%;height:215px;object-fit:cover;object-position:center}.mandato-card.no-image::before{content:'ARQUIVO AADUCP';display:grid;place-items:center;height:215px;background:var(--soft);letter-spacing:.18em;color:var(--red);font-size:.85rem}.mandato-body{padding:26px;display:flex;flex-direction:column;align-items:start;min-height:262px}.mandato-body .mini-label{font-size:.67rem;letter-spacing:.14em;color:var(--red);font-weight:800}.mandato-body h3{font-size:1.8rem;margin:6px 0}.mandato-president{font-size:.8rem;color:var(--ink);margin:0 0 10px}.mandato-body>p:not(.mandato-president){font-size:.8rem;color:var(--muted);line-height:1.7;margin-bottom:20px}.mandato-body .inline-link{margin-top:auto;font-size:.78rem}
/* History */
.history{background:#f9eff0}.history-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:95px}.history h2{margin-bottom:30px}.history p:not(.lead){color:var(--muted);line-height:1.9}.history .lead{font-size:1.2rem}.history-stamp{margin-top:48px;display:flex;align-items:center;gap:16px;color:var(--red)}.history-stamp>span{font-family:var(--serif);font-size:7rem;font-weight:600;letter-spacing:-.1em;line-height:1}.history-stamp>div{font-size:.9rem;letter-spacing:.2em;line-height:1.5;font-weight:800}.presidents-box{background:#fff;align-self:start;border:1px solid var(--line);padding:32px}.presidents-head{display:flex;justify-content:space-between;gap:14px;align-items:end;margin-bottom:22px}.presidents-head span{font-size:.67rem;letter-spacing:.15em;font-weight:800;color:var(--red)}.presidents-head>span{white-space:nowrap;color:var(--muted);font-size:.69rem}.presidents-head h3{font-size:1.65rem;margin:8px 0 0}.presidents-list{max-height:460px;overflow:auto;padding-right:12px;scrollbar-color:#d9bfc4 transparent;scrollbar-width:thin}.history-row{display:flex;justify-content:space-between;align-items:center;gap:17px;border-top:1px solid var(--line);padding:8px 0;font-size:.79rem}.history-row span{color:var(--red);white-space:nowrap}.history-row b{text-align:right;font-weight:650}.history-row:last-child{border-bottom:1px solid var(--line)}.presidents-box .small-note{margin:18px 0 0}
/* Federations */
.federations{background:#fff}.fed-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.fed-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--red);padding:38px;position:relative;min-height:430px;display:flex;align-items:flex-start;flex-direction:column}.fed-count{font-size:.71rem;color:var(--muted);font-weight:800;letter-spacing:.15em}.fed-badge{display:grid;place-items:center;border:1px solid var(--line);background:#fff7f7;color:var(--red);font-size:1.3rem;letter-spacing:-.06em;font-weight:900;width:94px;height:64px;margin:24px 0}.fed-card h3{max-width:22ch;font-size:1.72rem}.fed-card p{font-size:.89rem;color:var(--muted);line-height:1.8}.fed-card .inline-link{margin-top:auto}
/* Resources */
.student{background:#fcf7f7}.student-resources{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.resource-card{display:flex;flex-direction:column;align-items:flex-start;min-height:410px;background:#fff;border:1px solid var(--line);padding:30px}.resource-index{font-size:.64rem;letter-spacing:.13em;color:var(--red);font-weight:800}.resource-illustration{font-family:var(--serif);font-size:3.2rem;letter-spacing:-.08em;color:var(--deep);margin:36px 0 27px;line-height:1}.resource-illustration span{color:var(--red)}.resource-card h3{font-size:1.65rem;margin-bottom:12px}.resource-card p{font-size:.88rem;line-height:1.75;color:var(--muted);margin-bottom:22px}.card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:15px;margin-top:auto}.card-actions .inline-link{font-size:.73rem}.calculator-panel{display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;border:1px solid #e5c9ce;padding:42px;margin-top:25px;background:linear-gradient(105deg,#fff,#fcf3f4)}.calculator-panel h3{font-size:1.86rem}.calculator-panel p{font-size:.87rem;color:var(--muted)}.calculator-panel ol{margin:0;padding-left:21px}.calculator-panel li{margin:0 0 11px;font-size:.84rem;color:#554b4d}.calc-warning{grid-column:1 / -1;background:#f7e6e8;border-left:3px solid var(--red);padding:12px 16px;margin:0!important;font-size:.79rem!important}.utilities{margin-top:54px;display:grid;grid-template-columns:.35fr .65fr;gap:40px}.utilities-head h3{font-size:1.85rem}.utility-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.utility-list a{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);background:#fff;padding:18px 18px;font-size:.79rem;font-weight:650}.utility-list a:hover{border-color:var(--red);color:var(--red)}.utility-list a span:last-child{font-size:1.1rem;color:var(--red)}.support-contacts{margin-top:58px;padding-top:52px;border-top:1px solid var(--line)}.support-intro{display:grid;grid-template-columns:.52fr .48fr;gap:30px;align-items:start;margin-bottom:28px}.support-intro .eyebrow{grid-column:1 / -1;margin-bottom:-12px}.support-intro h3{font-size:2rem;max-width:20ch}.support-intro p{color:var(--muted);font-size:.9rem}.contacts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.contact-chip{border:1px solid var(--line);background:#fff;padding:17px 19px;position:relative;min-width:0;transition:border-color .2s}.contact-chip:hover{border-color:var(--red)}.contact-chip>span:first-child{display:block;font-size:.69rem;letter-spacing:.05em;color:var(--muted);margin-bottom:4px}.contact-chip b{display:block;font-size:.85rem;overflow-wrap:anywhere}.contact-icon{position:absolute;right:20px;top:17px;color:var(--red)}
/* Documents */
.docs{background:#fff}.docs-list{border-top:1px solid var(--line)}.docs-list>a{display:flex;gap:22px;align-items:center;padding:25px 12px;border-bottom:1px solid var(--line);transition:background .2s}.docs-list>a:hover{background:var(--soft)}.pdf-icon{width:47px;height:47px;background:#fbe9ec;color:var(--red);display:grid;place-items:center;font-size:.68rem;font-weight:900;flex-shrink:0}.doc-title{display:block;flex:1}.doc-title b{font-size:1rem;display:block}.doc-title small{display:block;color:var(--muted);font-size:.8rem;margin-top:4px}.doc-arrow{color:var(--red);font-weight:700;font-size:.79rem;white-space:nowrap}
/* Partners */
.partnerships{background:#f9eff0}.partners-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.partner{background:#fff;border:1px solid var(--line);min-height:155px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;padding:22px}.partner-spark{font-size:1.28rem;color:var(--red);align-self:flex-end}.partner strong{font-family:var(--serif);font-size:1.13rem;font-weight:600;line-height:1.3}.partners-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:26px}.partners-footer p{font-size:.85rem;color:var(--muted);margin:0}
/* Contact */
.contact{background:linear-gradient(128deg,#71010d,#b60e25 70%,#d91636);color:#fff}.section-heading.inverted h2{color:#fff}.section-heading.inverted .eyebrow{color:#fbc8ce}.section-heading.inverted>p{color:#ffd8dc}.contact-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:55px}.light-label,.contact-blocks span,.contact-side>span{font-size:.69rem;letter-spacing:.16em;font-weight:800;color:#ffc1cb}.contact-big{font-family:var(--serif);font-size:clamp(1.5rem,3.1vw,2.8rem);display:flex;align-items:center;gap:18px;overflow-wrap:anywhere;letter-spacing:-.045em;margin:12px 0 50px}.contact-big span{font-family:var(--sans);font-size:1.3rem}.contact-blocks{display:grid;grid-template-columns:1fr 1fr;gap:35px;border-top:1px solid rgba(255,255,255,.25);padding-top:28px}.contact-blocks p{font-size:.84rem;color:#f6cbd0;line-height:1.8;margin-top:12px}.contact-blocks a{display:block;font-size:.82rem;margin:9px 0;font-weight:650}.contact-blocks a:hover{text-decoration:underline}.contact-side{border:1px solid rgba(255,255,255,.33);padding:33px;align-self:start}.contact-side h3{font-size:2rem;margin:28px 0 16px}.contact-side p{color:#ffe1e5;font-size:.88rem;margin-bottom:28px}
/* Footer */
.footer{background:#25060d;color:#f5d2d8;padding:70px 0 25px}.footer-top{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:42px;padding-bottom:65px}.footer-name strong{color:#fff;font-size:2.5rem;font-weight:850;letter-spacing:-.07em}.footer-name strong span{font-weight:300}.footer-name p{font-size:.85rem;max-width:26ch;margin-top:14px;color:#cbaaaf}.footer-top>div:not(:first-child)>span{display:block;color:#ffb5c1;letter-spacing:.16em;font-size:.68rem;font-weight:800;margin-bottom:20px}.footer-top a{display:block;font-size:.81rem;margin:0 0 12px;color:#d7b5bb}.footer-top a:hover{color:#fff}.footer-bottom{display:flex;gap:22px;justify-content:space-between;align-items:center;flex-wrap:wrap;border-top:1px solid #503138;padding-top:24px;color:#ad8e96;font-size:.76rem}.heart{color:#fc3b60}
@media(max-width:1100px){#site-nav{gap:16px}#site-nav>a,#site-nav .nav-sub>a{font-size:.74rem}.hero-layout{gap:30px}.about-grid{gap:45px}.history-grid{gap:45px}.org-cards{gap:32px}}
@media(max-width:900px){.section{padding:80px 0}.section-heading{grid-template-columns:1fr;gap:20px}.section-heading>p{max-width:60ch}.hero-layout{grid-template-columns:1fr 1fr}.hero h1{font-size:3.9rem}.hero-content{padding-top:70px}.hero-image{height:80%}.quickbar-inner{grid-template-columns:repeat(2,1fr)}.quickbar-inner a:nth-child(3){border-left:1px solid var(--line)}.about-grid,.history-grid{grid-template-columns:1fr}.about-aside{min-height:280px}.org-cards{grid-template-columns:1fr}.org-description{max-width:60ch}.mandates-grid{grid-template-columns:repeat(2,1fr)}.partners-grid{grid-template-columns:repeat(2,1fr)}.student-resources{grid-template-columns:1fr 1fr}.student-resources .resource-card:last-child{grid-column:1 / -1}.utilities{grid-template-columns:1fr}.footer-top{grid-template-columns:repeat(2,1fr)}.contact-layout{grid-template-columns:1fr 1fr;gap:30px}}
@media(max-width:760px){.container{padding:0 20px}.header-inner{min-height:70px}.nav-toggle{display:block;margin-left:auto}#site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:16px 20px 25px;flex-direction:column;align-items:stretch;gap:2px;box-shadow:0 12px 20px rgba(34,8,11,.07)}#site-nav.open{display:flex}#site-nav>a,#site-nav .nav-sub>a{display:block;padding:10px 4px;font-size:.91rem}.nav-sub{padding:0}.sub-menu{position:static;display:block;box-shadow:none;border:0;border-left:1px solid var(--line);margin-left:10px;padding:0 8px}.sub-menu a{font-size:.78rem;padding:6px 10px;color:var(--muted)}#site-nav .nav-contact{padding:12px;margin-top:8px;text-align:center}.section{padding:70px 0}.hero-layout{display:block;min-height:0;padding-bottom:0}.hero-content{padding:65px 0 45px}.hero h1{font-size:clamp(3.15rem,11vw,4.5rem)}.hero-logo{height:60px;margin-bottom:22px}.hero-content>p{font-size:.94rem}.hero-foot{padding-top:32px}.hero-image{height:auto;width:100%;margin:0 auto;box-shadow:none}.hero-image>img{height:300px}.hero-image-label{min-width:145px;padding:13px 19px}.hero-image-label strong{font-size:2.2rem}.quickbar-inner a{min-height:78px}.about-aside{padding:34px}.organogram-heading{display:block;padding:25px 21px 14px}.organogram-heading h3{font-size:1.5rem}.organogram-heading .btn{margin-top:15px}.organogram-help{text-align:left;padding:5px 20px 20px}.roster-grid{grid-template-columns:1fr}.roster-group>summary{padding:17px 16px;gap:10px}.roster-group>summary small{font-size:.62rem}.roster-grid{padding:0 16px 15px}.mandates-grid{grid-template-columns:1fr}.mandato-card>img{height:235px}.mandato-body{min-height:0}.presidents-box{padding:23px}.fed-grid{grid-template-columns:1fr}.fed-card{min-height:0}.student-resources{grid-template-columns:1fr}.student-resources .resource-card:last-child{grid-column:auto}.resource-card{min-height:330px}.resource-illustration{margin:22px 0}.calculator-panel{grid-template-columns:1fr;gap:18px;padding:27px}.utility-list{grid-template-columns:1fr}.support-intro{grid-template-columns:1fr;gap:0}.support-intro .eyebrow{grid-column:auto;margin-bottom:15px}.support-intro h3{margin-bottom:3px}.contacts-grid{grid-template-columns:1fr}.doc-title b{font-size:.88rem}.doc-title small{font-size:.75rem}.doc-arrow{font-size:0}.doc-arrow::after{content:'↗';font-size:1rem}.contact-layout{grid-template-columns:1fr}.contact-blocks{grid-template-columns:1fr}.contact-big{margin-bottom:30px}.footer-top{grid-template-columns:1fr 1fr;gap:32px}.footer-name{grid-column:1 / -1}.partners-footer{display:block}.partners-footer .inline-link{margin-top:15px}}
@media(max-width:430px){.quickbar-inner{grid-template-columns:1fr}.quickbar-inner a{border-left:1px solid var(--line);min-height:65px}.stat-strip{gap:17px}.stat-strip div{min-width:90px}.partners-grid{grid-template-columns:1fr 1fr;gap:9px}.partner{padding:16px;min-height:130px}.partner strong{font-size:.96rem}.footer-top{grid-template-columns:1fr 1fr}.header-inner .brand small{max-width:180px}.hero-content .eyebrow{letter-spacing:.1em}.hero h1{font-size:3.15rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

.gallery-details{margin-top:17px;width:100%;border-top:1px solid var(--line);padding-top:13px}.gallery-details summary{cursor:pointer;font-size:.76rem;font-weight:750;color:var(--deep);list-style:none}.gallery-details summary::-webkit-details-marker{display:none}.gallery-details summary:before{content:"+ ";color:var(--red)}.gallery-details[open] summary:before{content:"− "}.gallery-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.gallery-images>a{display:block;min-width:0}.gallery-images img{display:block;width:100%;height:95px;object-fit:cover;border:1px solid var(--line)}.gallery-images a span{display:block;font-size:.66rem;line-height:1.45;margin-top:4px;color:var(--muted)}


/* Atualização editorial 2026/2027: retrato integral da equipa e apresentação limpa. */
.hero-layout {
  display: flex;
  flex-direction: column;
  gap: 36px;
  align-items: stretch;
  min-height: 0;
  padding-top: 0;
  padding-bottom: 70px;
}
.hero-content {
  width: 100%;
  max-width: 970px;
  padding: 66px 0 0;
  display: flex;
  align-items: flex-start;
}
.hero-content > p { max-width: 68ch; }
.hero-content .hero-foot { margin-top: 6px; padding-top: 25px; }
.hero-image {
  height: auto;
  width: 100%;
  margin: 0;
  align-self: stretch;
  box-shadow: 0 0 0 7px rgba(255,255,255,.14);
  background: #fff;
}
.hero-image > img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  object-position: center;
  aspect-ratio: 3 / 2;
}
.hero-image-label {
  position: static;
  display: inline-flex;
  gap: 18px;
  align-items: baseline;
  min-width: auto;
  max-width: 100%;
  padding: 11px 20px;
  box-shadow: none;
}
.hero-image-label > span { color: #8f0b1a; }
.hero-image-label strong { font-size: 1.55rem; }
.about-grid { display: block; }
.about-grid > div:first-child { max-width: 980px; }
.about .lead { max-width: 65ch; }
.about .stat-strip { margin-top: 35px; }
.structure .section-heading { margin-bottom: 28px; }
.structure .organogram-panel { margin: 0; }
@media (max-width: 760px) {
  .hero-layout { display:flex; gap: 24px; padding-bottom: 40px; }
  .hero-content { padding: 48px 0 0; }
  .hero-image { width: 100%; margin: 0; }
  .hero-image > img { width: 100%; height: auto; aspect-ratio: 3/2; object-fit: contain; }
  .hero-image-label { padding: 10px 14px; gap: 11px; }
  .hero-image-label strong { font-size: 1.3rem; }
  .structure .section-heading { margin-bottom: 21px; }
}

/* AADUCP 2026/27 — revisão visual e funcional de novembro */
:root { --container:1240px; }
section[id],article[id],div[id] { scroll-margin-top:155px; }

/* Navegação: grelha centrada, espaços consistentes, sem desalinhamentos. */
.header-inner { display:grid; grid-template-columns:1fr; gap:0; min-height:0; padding-top:11px; }
.header-inner .brand { grid-column:1; justify-self:start; min-height:61px; }
#site-nav { grid-column:1; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); align-items:center; justify-items:center; width:100%; min-height:55px; gap:8px; border-top:1px solid var(--line); }
#site-nav>a, #site-nav .nav-sub>a { font-size:.83rem; font-weight:750; padding:11px 7px; line-height:1.25; text-align:center; }
#site-nav .nav-sub { padding:0; width:100%; text-align:center; }
#site-nav .nav-sub>a { display:block; }
#site-nav .nav-contact { display:block; width:100%; padding:12px 14px; font-size:.82rem; }
#site-nav .nav-member { color:var(--red); border:1px solid #e6bec5; width:100%; display:block; }
#site-nav .nav-member:hover { background:#fcf0f2; }
#site-nav .sub-menu { z-index:10; text-align:left; }
#site-nav .sub-menu a { text-align:left; white-space:normal; }

/* Primeira página: logótipo apenas no cabeçalho; nome institucional por extenso. */
.hero-content { padding:62px 0 0; max-width:1100px; }
.hero h1 { max-width:1060px; font-size:clamp(2.65rem,5.3vw,5.35rem); letter-spacing:-.047em; line-height:1.08; margin:0 0 30px; }
.hero h1 span { display:block; }
.hero h1 em { display:block; font-size:.74em; letter-spacing:-.038em; color:#ffe1e5; margin-top:13px; }
.hero-content>p { max-width:78ch; }
.quickbar-inner { grid-template-columns:repeat(5,minmax(0,1fr)); }
.quickbar-inner a { padding:17px 13px; gap:9px; font-size:.78rem; }
.quickbar-inner a:last-child { border-left:0; }

/* Arquivo dos mandatos preservado em cartões autónomos, sem carregar imagens do domínio antigo. */
.mandato-card { display:flex; flex-direction:column; }
.mandate-poster { display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; padding:23px 27px; min-height:215px; background:linear-gradient(145deg,#51030f 0%,#9e0c23 75%,#ba1734 100%); color:#fff; position:relative; overflow:hidden; }
.mandate-poster::after { content:''; width:180px; height:180px; border:25px solid rgba(255,255,255,.07); border-radius:50%; position:absolute; right:-50px; top:-55px; }
.mandate-poster .poster-kicker { font-size:.64rem; font-weight:800; letter-spacing:.16em; color:#ffced6; }
.mandate-poster strong { font-family:var(--serif); letter-spacing:-.08em; font-size:3rem; font-weight:500; line-height:1.05; }
.mandate-poster small { font-size:.73rem; letter-spacing:.18em; opacity:.82; }
.mandato-card:nth-child(3n) .mandate-poster{background:linear-gradient(135deg,#7b0917,#c02636)}
.mandato-body { flex:1; min-height:0; }
.mandate-details { width:100%; margin-top:auto; border-top:1px solid var(--line); padding-top:15px; }
.mandate-details summary { font-size:.8rem; font-weight:750; color:var(--red); cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:6px; }
.mandate-details summary::-webkit-details-marker { display:none; }
.mandate-details[open] summary span { transform:rotate(45deg); }
.mandate-long { padding-top:16px; }
.mandate-long p { font-size:.82rem; color:var(--muted); line-height:1.75; margin:0 0 12px; }

/* Logótipos das federações. */
.fed-logo { display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid var(--line); width:184px; height:122px; padding:11px; margin:22px 0 23px; }
.fed-logo img { max-height:100%; max-width:100%; height:auto; width:auto; object-fit:contain; }

/* Materiais de apoio ao aluno e novo cartão de guia de optativas. */
.student-resources { grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; }
.resource-card { min-height:406px; padding:26px; }
.resource-card h3 { font-size:1.47rem; }
.resource-card .btn { white-space:normal; text-align:center; }

/* Parceiros: os nove logótipos e benefícios comunicados pelo utilizador. */
.partners-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:19px; }
.partner { display:flex; flex-direction:column; justify-content:flex-start; gap:0; min-height:350px; padding:0; overflow:hidden; box-shadow:0 5px 20px rgba(71,10,20,.03); }
.partner-image { height:154px; background:white; display:flex; justify-content:center; align-items:center; padding:18px; border-bottom:1px solid var(--line); }
.partner-image img { width:100%; height:100%; max-width:100%; object-fit:contain; }
.partner-info { padding:23px 25px 27px; display:flex; flex-direction:column; gap:9px; flex:1; }
.partner-info h3 { font-family:var(--serif); font-size:1.38rem; margin:0; line-height:1.25; }
.partner-info p { margin:0; font-size:.88rem; line-height:1.7; color:#4e4247; }
.partner-info small { color:#83646e; line-height:1.6; font-size:.75rem; margin-top:auto; }
.partner.needs-confirmation .partner-info small { color:#955c0e; }
.partner.not-specified { min-height:294px; }
.partners-footer { margin-top:24px; }
.partners-footer p { max-width:95ch; }

/* Formulário de associação */
.membership { background:#fff; }
.membership-layout { display:grid; grid-template-columns:1.1fr .9fr; gap:65px; align-items:center; }
.membership h2 { margin-bottom:28px; }
.membership .lead { font-family:var(--serif); font-size:1.3rem; line-height:1.7; }
.membership p:not(.lead) { color:var(--muted); font-size:.92rem; line-height:1.85; }
.membership-card { background:linear-gradient(128deg,#7a0619,#c31634); color:white; min-height:325px; padding:40px; display:flex; flex-direction:column; align-items:flex-start; box-shadow:15px 15px 0 #f7e8eb; }
.membership-mini { font-size:.72rem; color:#ffccd6; letter-spacing:.18em; font-weight:750; }
.membership-card strong { font-family:var(--serif); font-size:clamp(3.2rem,5vw,5.4rem); letter-spacing:-.085em; font-weight:500; line-height:1.2; margin:20px 0; }
.membership-card p { color:#ffdee6!important; margin-bottom:25px; }
.membership-card .btn { margin-top:auto; }

@media(max-width:1190px) {
  .student-resources { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .partners-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .hero h1 { font-size:clamp(2.65rem,5.7vw,4.8rem); }
}
@media(max-width:980px) {
  .header-inner { display:flex; align-items:center; justify-content:space-between; min-height:76px; padding-top:0; }
  .header-inner .brand { min-height:0; }
  .nav-toggle { display:block; margin-left:auto; }
  #site-nav { display:none; position:absolute; top:100%; left:0; right:0; width:100%; max-height:calc(100vh - 76px); overflow:auto; border-bottom:1px solid var(--line); background:#fff; box-shadow:0 14px 30px rgba(33,5,12,.1); padding:18px 25px 23px; align-items:stretch; justify-items:stretch; gap:2px; }
  #site-nav.open { display:flex; flex-direction:column; }
  #site-nav>a, #site-nav .nav-sub>a { display:block; width:100%; text-align:left; padding:12px 14px; font-size:.92rem; }
  #site-nav .nav-sub { text-align:left; }
  #site-nav .sub-menu { display:block; position:static; box-shadow:none; border:0; border-left:2px solid var(--line); padding:3px 0 3px 10px; margin-left:14px; width:auto; }
  #site-nav .nav-contact { text-align:center; margin-top:8px; }
  #site-nav .nav-member { text-align:center; }
  .quickbar-inner { grid-template-columns:repeat(3,1fr); }
  .quickbar-inner a { border:1px solid var(--line); border-top:0; }
}
@media(max-width:760px) {
  section[id],article[id],div[id] { scroll-margin-top:80px; }
  .hero-content { padding-top:52px; }
  .hero h1 { font-size:clamp(2.12rem,8vw,3.6rem); letter-spacing:-.045em; line-height:1.12; }
  .hero h1 em { font-size:.75em; }
  .student-resources { grid-template-columns:1fr 1fr; }
  .partners-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .partner { min-height:320px; }
  .partner-image { height:125px; padding:12px; }
  .partner-info { padding:19px; }
  .partner-info h3 { font-size:1.22rem; }
  .partner-info p { font-size:.81rem; }
  .membership-layout { grid-template-columns:1fr; gap:26px; }
  .membership-card { min-height:270px; box-shadow:8px 8px 0 #f7e8eb; padding:28px; }
  .quickbar-inner { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:540px) {
  .student-resources { grid-template-columns:1fr; }
  .resource-card { min-height:320px; }
  .partners-grid { grid-template-columns:1fr; }
  .partner { min-height:0; }
  .partner.not-specified { min-height:0; }
  .partner-image { height:145px; }
  .quickbar-inner { grid-template-columns:1fr; }
  .quickbar-inner a { min-height:61px; }
  .mandate-poster { min-height:200px; }
  .hero-content { padding-top:46px; }
  .hero h1 { font-size:clamp(1.9rem,8.1vw,3rem); }
  .hero-content>p { font-size:.91rem; }
  .hero-foot { flex-wrap:wrap; }
}

/* Revisão final — novembro de 2026 */
.structure .section-heading{margin-bottom:22px}
.structure .section-heading .eyebrow{margin-bottom:0}
#mandatos .section-heading h2, #federacoes .section-heading h2,
#documentos .section-heading h2, #parcerias .section-heading h2,
#socio h2 {font-style:normal}
.membership-layout {grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);gap:44px;align-items:center}
.membership-card{padding:26px 32px;min-height:0;gap:12px}
.membership-card .membership-mini{font-size:.78rem;letter-spacing:.13em}
.membership-card p{margin-bottom:12px;color:#ffe3e8!important}
.membership-preview{margin:2px 0 0;width:100%;background:#fff;border-radius:12px;overflow:hidden}
.membership-preview img{width:100%;height:auto;display:block}
.membership-card .btn{margin-top:4px}
.membership-photo-strip{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:35px}
.membership-photo-strip figure{margin:0;overflow:hidden;border-radius:3px}
.membership-photo-strip img{width:100%;aspect-ratio:2/1;object-fit:cover}
@media (max-width:900px){.membership-layout{grid-template-columns:1fr;gap:25px}.membership-card{max-width:700px}}
@media (max-width:600px){.membership-card{padding:19px;box-shadow:7px 7px 0 #f7e8eb}.membership-photo-strip{grid-template-columns:1fr;gap:12px}.membership-photo-strip img{aspect-ratio:2/1}}

/* Fotografias dos mandatos históricos: ficheiros locais, sem ligações externas. */
.mandato-card>img.mandato-historico{width:100%;height:215px;object-fit:cover;object-position:center;display:block;}
.mandato-card>img.mandato-organograma{object-fit:contain;object-position:center;background:#f8f8f8;padding:9px;}
@media(max-width:760px){.mandato-card>img.mandato-historico{height:235px;}}
