@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Libre+Caslon+Display&display=swap');
:root{--navy:#142c40;--gold:#d8b77a;--ink:#243746;--muted:#657078;--paper:#f6f5f1;--line:#dddfdc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #bc904b;outline-offset:5px}img{max-width:100%;height:auto;display:block}p{margin:0 0 20px}.container{width:min(1180px,calc(100% - 100px));margin-inline:auto}.topbar{background:var(--navy);color:#e7edf1;font-size:11px;letter-spacing:.2px}.topbar .container{display:flex;justify-content:space-between;padding-block:9px}.topbar a span{margin-right:8px}header{background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #e9e9e4}.navigation{height:100px;display:flex;justify-content:space-between;align-items:center}.brand img{width:159px;height:auto}nav{display:flex;align-items:center;gap:33px;font-size:13px;font-weight:550}nav>a:not(.button){padding-block:8px;border-bottom:1px solid transparent}nav>a:hover{border-color:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;background:var(--navy);color:#fff;padding:15px 24px;border:1px solid transparent;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#27485f;transform:translateY(-2px)}.button span{font-size:19px}.button.small{padding:11px 20px}.button.gold{background:var(--gold);color:#152d40}.button.gold:hover{background:#e9cb94}.menu-toggle{display:none}.hero{height:650px;position:relative;color:#fff;background:var(--navy)}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 59%}.hero-shade{background:linear-gradient(90deg,rgba(9,28,43,.9),rgba(9,28,43,.54) 49%,rgba(9,28,43,.13)),linear-gradient(0deg,rgba(9,28,43,.54),transparent 40%)}.hero-content{position:relative;padding-top:88px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.2px;color:#827049;margin-bottom:22px}.eyebrow.light{color:#e2c690}.hero h1{font-family:'Libre Caslon Display',Georgia,serif;font-size:90px;font-weight:400;line-height:1.02;letter-spacing:-2.5px;margin:0 0 27px}em{font-weight:400;color:#9c8052}h1 em,.join h2 em{color:#e0bf85}.hero-description{font-size:16px;line-height:1.8;color:#e2e7ea}.hero-actions{display:flex;gap:32px;align-items:center;margin-top:31px}.text-link{font-size:13px}.text-link span{margin-left:14px}.hero-bottom{position:absolute;bottom:29px;left:0;right:0;display:flex;justify-content:space-between;align-items:end;font-size:8px;letter-spacing:1.5px;line-height:1.8;color:#e0e6e9}.hero-bottom a{font-size:9px}.hero-bottom a span{border:1px solid #ffffff55;border-radius:50%;padding:10px 14px;margin-left:15px;font-size:16px}.welcome{background:var(--paper);border-bottom:1px solid var(--line)}.welcome-inner{display:flex;align-items:center;gap:24px;padding-block:25px}.welcome-icon{font-size:38px;color:#9c8052}.welcome .eyebrow{font-size:9px;letter-spacing:1.7px}.welcome p{font-family:'Libre Caslon Display',Georgia,serif;font-size:25px;line-height:1.3;margin:3px 0}.welcome a{margin-left:auto;font-size:12px}.welcome a span{margin-left:30px;font-size:20px}.section{padding-block:100px}.about{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;align-items:center}h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;font-size:56px;line-height:1.07;letter-spacing:-1px;margin:0 0 26px}.about-copy>p:not(.eyebrow){color:var(--muted);font-size:14px;max-width:410px}.underlined{border-bottom:1px solid #b2a185;display:inline-flex;gap:40px;font-size:12px;font-weight:600;padding-block:8px;margin-top:6px}.about-visual{position:relative;padding-bottom:35px}.about-visual>img{width:100%;height:445px;object-fit:cover;object-position:45%}.quote{position:absolute;bottom:0;left:-35px;background:var(--navy);color:#fff;padding:25px 35px 27px;min-width:235px}.quote-mark{position:absolute;right:24px;top:2px;font:70px Georgia;color:#d8b77a55}.quote p{font-family:'Libre Caslon Display',Georgia,serif;font-size:36px;line-height:1.08;margin:0 0 20px}.quote em{color:var(--gold)}.quote>span:last-child{font-size:8px;letter-spacing:1.5px}.mission{background:var(--paper)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:45px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:350px;color:var(--muted);font-size:14px;margin-bottom:4px}.mission-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);padding-top:30px}.mission-grid article{padding:0 27px;border-right:1px solid var(--line)}.mission-grid article:first-child{padding-left:0}.mission-grid article:last-child{border:0;padding-right:0}.number{font-size:11px;letter-spacing:2px;color:#9c8052}.mission-grid h3{font-family:'Libre Caslon Display',Georgia,serif;font-size:30px;font-weight:400;margin:20px 0 12px}.mission-grid p{font-size:13px;color:var(--muted);margin:0}.campus-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.campus{border:1px solid var(--line)}.campus>img,.second-photo{width:100%;height:265px;object-fit:cover}.second-photo{background:#e9e7df;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px}.second-photo img{width:240px;height:160px;object-fit:cover;box-shadow:0 6px 25px #142c4014}.second-photo span{font-size:8px;letter-spacing:1.6px;color:#6d736e}.campus-content{padding:29px 30px}.campus .eyebrow{font-size:8px;letter-spacing:1.5px}.campus h3{font-family:'Libre Caslon Display',Georgia,serif;font-size:36px;font-weight:400;margin:8px 0}.campus p{color:var(--muted);font-size:13px}.campus details{border-top:1px solid var(--line);padding-top:15px;font-size:12px}.campus summary{list-style:none;display:flex;justify-content:space-between;cursor:pointer;font-weight:600}.campus summary::-webkit-details-marker{display:none}.campus summary span{font-size:20px;line-height:1}.campus details[open] summary span{transform:rotate(45deg)}.campus ul{padding-left:17px;color:var(--muted);line-height:2}.year{background:var(--paper)}.year-inner{display:grid;grid-template-columns:1fr 1.4fr;gap:100px;align-items:center}.year-label{font-family:'Libre Caslon Display',Georgia,serif;font-size:125px;line-height:.85;letter-spacing:-6px;border-left:2px solid var(--gold);padding-left:55px;max-width:280px}.year-label>span{color:#ad9060}.year-label small{display:block;font-size:65px;margin-top:17px;color:#ad9060}.year-inner p:not(.eyebrow){color:var(--muted);font-size:14px}.year-inner .year-sign{color:var(--navy)!important;font-weight:600;margin:24px 0 0}.join{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:white}.join-photo img{width:100%;height:100%;min-height:520px;object-fit:cover}.join-copy{padding:70px 13% 65px 12%}.join-copy h2{font-size:64px}.join-copy>p:not(.eyebrow){color:#c5d0d8;font-size:14px}.join-copy .button{margin-top:8px}.join-copy small{display:block;font-size:10px;color:#c5d0d8;margin-top:13px}.contact{display:grid;grid-template-columns:1fr 1.25fr;gap:90px}.contact>div>p:not(.eyebrow){color:var(--muted);font-size:14px}.email{font-size:17px;display:inline-flex;gap:35px;border-bottom:1px solid var(--line);padding-bottom:12px}.facebook{display:block;font-size:12px;margin-top:20px;color:var(--muted)}form{padding-top:6px}label{display:block;font-size:12px;font-weight:600}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}input,textarea{display:block;width:100%;background:var(--paper);border:1px solid #e1e2dd;border-radius:0;padding:13px 15px;font-size:12px;font-weight:400;margin:8px 0 22px;color:var(--ink)}textarea{resize:vertical}input:focus,textarea:focus{outline:2px solid #aa9061;outline-offset:2px}.form-bottom{display:flex;align-items:center;gap:25px}.form-bottom p{font-size:10px;color:var(--muted);flex:1;margin:0}.form-bottom button{white-space:nowrap}#form-status{font-size:12px;margin-top:14px;color:var(--muted)}footer{background:var(--paper);border-top:1px solid var(--line)}.footer-main{display:flex;align-items:center;gap:50px;padding-block:45px}.footer-brand{flex:0 0 260px}.footer-brand img{width:100%;height:auto;object-fit:contain;mix-blend-mode:multiply}.footer-main p{font-family:'Libre Caslon Display',Georgia,serif;font-size:24px;line-height:1.2;margin:0}.footer-main>a:last-child{margin-left:auto;font-size:11px}.footer-bottom{border-top:1px solid var(--line);padding-block:20px;display:flex;justify-content:space-between;gap:15px;font-size:9px;color:var(--muted)}.skip{position:fixed;top:-100px;left:15px;background:white;padding:10px;z-index:30}.skip:focus{top:10px}@media(min-width:1500px){.hero{height:720px}.hero-content{padding-top:110px}}@media(max-width:1000px){.container{width:calc(100% - 56px)}nav{gap:20px;font-size:12px}.about{gap:55px}h2{font-size:48px}.hero h1{font-size:82px}.contact{gap:40px}.join-copy{padding:55px 9%}.join-copy h2{font-size:55px}.year-inner{gap:55px}}@media(max-width:760px){html{scroll-padding-top:90px}.container{width:calc(100% - 40px)}.topbar .container{justify-content:center}.topbar .container>span{display:none}.navigation{height:80px}.brand img{width:130px}.menu-toggle{display:block;border:1px solid var(--line);background:white;color:var(--navy);font-size:23px;padding:2px 11px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:white;padding:22px;box-shadow:0 10px 20px #142c4015;align-items:stretch}nav.open{display:flex;flex-direction:column;gap:10px}nav>a{padding:10px!important}.hero{height:610px}.hero-image{object-position:65% center}.hero-shade{background:linear-gradient(90deg,#0c2038db,#0c203860),linear-gradient(0deg,#0c203890,transparent)}.hero-content{padding-top:70px}.eyebrow{font-size:9px;letter-spacing:1.7px}.hero h1{font-size:66px;letter-spacing:-1.5px}.hero-description{font-size:14px}.hero-actions{gap:22px;flex-wrap:wrap}.button{padding:13px 18px;font-size:12px;gap:18px}.hero-bottom{bottom:24px;font-size:7px;gap:20px}.hero-bottom a{font-size:0}.hero-bottom a span{font-size:16px;margin-left:0}.welcome-inner{gap:15px;flex-wrap:wrap;padding-block:22px}.welcome-icon{font-size:30px}.welcome p{font-size:22px}.welcome a{margin-left:45px;font-size:11px}.section{padding-block:65px}.about{grid-template-columns:1fr;gap:35px}h2{font-size:46px}.about-copy>p:not(.eyebrow){max-width:none}.about-visual{margin-left:18px}.about-visual>img{height:340px}.quote{left:-18px;min-width:200px;padding:23px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px;max-width:none}.mission-grid{grid-template-columns:1fr 1fr;row-gap:30px}.mission-grid article{padding:0 17px}.mission-grid article:nth-child(2){border:0;padding-right:0}.mission-grid article:nth-child(3){padding-left:0}.mission-grid h3{font-size:29px;margin-top:12px}.campus-grid{grid-template-columns:1fr;gap:25px}.campus>img,.second-photo{height:230px}.campus-content{padding:24px}.year-inner{grid-template-columns:1fr;gap:35px}.year-label{font-size:80px;padding-left:25px;max-width:none;letter-spacing:-3px}.year-label small{display:inline;font-size:45px}.join{grid-template-columns:1fr}.join-photo img{height:290px;min-height:0}.join-copy{padding:45px 25px 50px}.join-copy h2{font-size:53px}.contact{grid-template-columns:1fr;gap:35px}.form-row{grid-template-columns:1fr;gap:0}.footer-main{gap:25px;flex-wrap:wrap}.footer-main p{font-size:21px}.footer-main>a:last-child{margin-left:0}.footer-bottom{flex-direction:column;gap:7px}.form-bottom{gap:15px}.email{font-size:16px;gap:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Galeria de fotografias */
.gallery-section{background:#f6f5f1;border-top:1px solid var(--line)}.photo-grid{display:grid;grid-template-columns:1.35fr 1fr;grid-template-rows:245px 245px;gap:20px}.photo-card{position:relative;display:block;overflow:hidden;padding:0;border:0;background:var(--navy);color:white;text-align:left;cursor:zoom-in}.photo-featured{grid-row:span 2}.photo-card>img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.photo-card:hover>img{transform:scale(1.035)}.photo-caption{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;align-items:center;padding:45px 24px 20px;background:linear-gradient(transparent,#091c2bdd);font-family:'Libre Caslon Display',Georgia,serif;font-size:28px}.photo-caption>span{font:23px 'DM Sans',sans-serif}.gallery-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:22px}.gallery-bottom p{font-size:11px;color:var(--muted);margin:0}.gallery-bottom .underlined{margin:0}.photo-dialog{width:min(1100px,calc(100% - 32px));max-height:94dvh;border:0;padding:18px 22px;background:#102435;color:#fff}.photo-dialog::backdrop{background:#07111bea}.photo-toolbar,.photo-controls{display:flex;align-items:center;justify-content:space-between;gap:20px}.photo-toolbar p{margin:0;font-size:16px}.photo-dialog button{border:1px solid #ffffff45;background:transparent;color:#fff;padding:10px 15px;cursor:pointer}.photo-toolbar{margin-bottom:14px}.photo-dialog>img{width:100%;height:min(68dvh,750px);object-fit:contain}.photo-controls{margin-top:14px;font-size:12px}body.photo-open{overflow:hidden}@media(min-width:761px) and (max-width:1100px){nav{gap:14px}.navigation .brand img{width:135px}}@media(max-width:760px){.photo-grid{grid-template-columns:1fr;grid-template-rows:340px 250px 250px;gap:15px}.photo-featured{grid-row:auto}.photo-caption{font-size:26px}.gallery-bottom{align-items:start;flex-direction:column;gap:10px}.gallery-bottom .underlined{gap:16px;font-size:11px}.photo-dialog{padding:14px}.photo-dialog>img{height:60dvh}.photo-toolbar p{font-size:14px}}
/* Acesso destacado ao Facebook da Associação de Pais */
.topbar .container{align-items:center;gap:18px}.header-social{display:flex;align-items:center;gap:22px}.header-facebook{display:inline-flex;align-items:center;gap:9px;background:var(--gold);color:var(--navy);padding:7px 13px;font-size:11px;font-weight:700;line-height:1.4}.header-facebook:hover{background:#e9cb94}.topbar .header-facebook span{margin:0}.facebook-symbol{display:inline-flex;align-items:end;justify-content:center;width:18px;height:18px;background:var(--navy);color:#fff;border-radius:3px;font:bold 20px Arial,sans-serif;line-height:17px}@media(max-width:1000px){.topbar .container>span{display:none}.topbar .container{justify-content:center}}@media(max-width:760px){.header-social{flex-wrap:wrap;justify-content:center;gap:9px 18px}.header-facebook{padding:8px 13px}.topbar .container{padding-block:9px}}

/* Barra de contactos sempre visível, com o menu abaixo. */
:root{--topbar-height:50px;--navigation-height:101px}
.topbar{position:sticky;top:0;z-index:12}
header{top:var(--topbar-height)}
html{scroll-padding-top:calc(var(--topbar-height) + var(--navigation-height) + 16px)}
@media(max-width:760px){:root{--navigation-height:81px}}

/* Logótipo com maior destaque no rodapé em ecrãs pequenos. */
@media(max-width:760px){.footer-brand{flex:0 0 220px;max-width:100%}.footer-main{padding-block:35px}}
