/* fonts/fonts.css */
/* Lora e Manrope locais; licencas OFL nesta pasta. */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/lora-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/lora-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/lora-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/lora-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/manrope-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/manrope-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* site.css */
:root{--navy:#0c3659;--deep:#0c1630;--ink:#162d40;--muted:#617181;--gold:#e2c78d;--paper:#fff;--surface:#f3f6f9;--line:#dbe3e9;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.7 var(--sans);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ba8527;outline-offset:6px}a:hover{text-decoration-color:currentColor}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.08;font-weight:400}h1,h2{font-family:var(--serif);letter-spacing:-.035em}h2{font-size:clamp(2.3rem,4vw,3.7rem)}h3{font-family:var(--serif);font-size:2rem}em{font-weight:400;color:#4e708a}p+p{margin-top:1rem}.container{width:min(calc(100% - 96px),var(--max));margin-inline:auto}.section{padding:104px 0}.surface{background:var(--surface)}.eyebrow{font:700 .75rem/1.5 var(--sans);letter-spacing:.16em;color:#557086;margin:0 0 23px}.eyebrow.light{color:var(--gold)}.muted{color:var(--muted)}.skip-link{position:fixed;left:20px;top:-100px;background:var(--navy);color:white;padding:12px 20px;z-index:20}.skip-link:focus{top:12px}
.site-header{background:white;position:sticky;top:0;z-index:10;border-bottom:1px solid #e8edf1}.header-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0;font-size:.9rem;letter-spacing:.085em;line-height:1.35;font-weight:700}.brand-mark{font-family:Georgia,serif;font-size:3rem;font-weight:400;color:var(--navy);line-height:1}.brand small{display:block;font-size:.75rem;letter-spacing:.27em;margin-top:7px;color:#718292}.main-nav{display:flex;align-items:center;gap:27px}.main-nav>a:not(.button){font-size:.875rem;font-weight:600;position:relative}.main-nav>a:not(.button):after{content:'';display:block;height:1px;background:var(--navy);position:absolute;left:0;right:100%;bottom:-7px;transition:right .2s}.main-nav>a:hover:after,.main-nav>a[aria-current=page]:after{right:0}.button{display:inline-flex;justify-content:center;align-items:center;gap:20px;background:var(--navy);color:white;padding:15px 22px;border:1px solid transparent;font-size:.9rem;font-weight:600;line-height:1.5;min-height:50px;transition:background .2s,transform .2s}.button:hover{background:var(--deep);transform:translateY(-2px)}.button-small{padding:11px 17px;min-height:44px;font-size:.85rem}.button-gold{background:var(--gold);color:var(--deep)}.button-gold:hover{background:#eed9ae}.button-outline{background:transparent;border-color:var(--line);color:var(--navy)}.button-outline:hover{background:var(--surface)}.text-link{font-size:.9rem;font-weight:600;padding:8px 0;border-bottom:1px solid #aebdca;display:inline-flex;align-items:center;gap:18px;line-height:1.5}.text-link:hover{color:#52799a;border-color:currentColor}.text-link.light{color:white;border-color:#7992a5}.menu-toggle{display:none}
.hero{background:var(--navy);color:white;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding-block:65px}.hero-copy{padding-bottom:10px}.hero .eyebrow{display:flex;align-items:center;gap:12px;font-size:.75rem}.eyebrow span{width:24px;height:1px;background:var(--gold)}.hero h1{font-size:clamp(4rem,6.6vw,6.15rem);line-height:1.01;letter-spacing:-.04em}.hero h1 em{color:var(--gold)}.hero-description{color:#d6e0e8;font-size:1.05rem;margin-top:26px;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap;margin-top:32px}.hero-actions .text-link{font-size:.83rem}.hero-note{display:flex;gap:16px;align-items:center;margin-top:40px;font-size:.78rem;line-height:1.55;color:#b7c9d6}.short-line{display:block;width:34px;height:1px;background:#8296a8}.hero-figure{position:relative;height:560px;border-top-right-radius:100px;overflow:hidden;margin-left:10px}.hero-figure>img{width:100%;height:100%;object-fit:cover;object-position:53% center}.hero-figure:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(7,27,43,.9))}.hero-figure figcaption{position:absolute;z-index:1;bottom:33px;left:34px;right:25px}.hero-figure figcaption>span{font-size:.75rem;letter-spacing:.16em;color:#e4d3ac}.hero-figure strong{display:block;font-family:var(--serif);font-size:1.9rem;font-weight:400;margin-top:8px;line-height:1.2}.welcome-strip{background:var(--deep);color:white}.welcome-strip .container{display:flex;justify-content:space-between;align-items:center;padding-block:24px;gap:20px}.welcome-strip p{font-family:var(--serif);font-size:1.25rem}.welcome-strip span{font-size:.83rem;color:#b7c6d3}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.intro-copy{max-width:520px;color:var(--muted)}.intro-copy .text-link{margin-top:23px;color:var(--navy)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:43px}.section-heading>p{color:var(--muted);font-size:.95rem;max-width:330px}.section-heading .eyebrow{margin-bottom:15px}.unit-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.unit-card{padding:38px 40px;background:white;border:1px solid var(--line);border-top:3px solid var(--navy)}.unit-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;font-size:.75rem;font-weight:600;letter-spacing:.1em}.unit-top>span:last-child{font-family:var(--serif);font-size:1.5rem;color:#8095a6;font-weight:400}.unit-card h3{margin-bottom:20px}.unit-card>p{font-size:.95rem;color:#516478}.unit-contact{margin:28px 0;padding:20px 0;border-block:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.unit-contact>span{font-size:.75rem;letter-spacing:.1em;font-weight:700;color:#657b8f}.unit-contact>a{font-size:1rem}.card-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}
.school-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.school-visual{min-height:420px;background:var(--deep);color:white;padding:70px 55px;display:flex;flex-direction:column;justify-content:center;position:relative}.school-visual:after{content:'';position:absolute;width:60px;height:4px;background:var(--gold);right:0;bottom:0}.school-logo{width:330px;margin-bottom:40px}.school-visual p{font:1.55rem/1.4 var(--serif);color:#e8edf1}.school-visual>span{font-size:.75rem;letter-spacing:.12em;color:var(--gold);margin-top:36px}.school-grid h2{margin-bottom:25px}.school-grid>div>p:not(.eyebrow){color:var(--muted)}.school-grid .school-visual p{color:#e8edf1}.feature-list{list-style:none;padding:0;margin:25px 0 30px}.feature-list li{padding:9px 0;border-bottom:1px solid var(--line);font-size:.93rem}.feature-list li:before{content:'✓';color:#55798b;margin-right:14px}.contact-band{background:var(--navy);color:white;padding-block:64px}.contact-band .container{display:flex;align-items:center;justify-content:space-between;gap:32px}.contact-band .eyebrow{margin-bottom:16px}.contact-band h2{font-size:clamp(2rem,3.3vw,3rem)}.contact-band em{color:var(--gold)}.site-footer{background:#f7f9fb}.footer-top{padding-block:66px;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px}.footer-top p{font-size:.9rem;color:var(--muted);margin-top:22px}.footer-top h2{font:600 .8rem/1.5 var(--sans);margin:5px 0 22px}.footer-top>div>a:not(.brand){display:block;font-size:.85rem;color:#647587;margin:10px 0}.footer-top>div>a:not(.brand):hover{color:var(--navy);text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;padding-block:22px;border-top:1px solid var(--line);gap:25px;font-size:.75rem;color:#708293}
@media(min-width:1500px){.hero-grid{padding-block:78px}.hero-figure{height:615px}}
@media(max-width:1120px){.container{width:calc(100% - 64px)}.header-inner{min-height:88px}.main-nav{gap:18px}.main-nav>a:not(.button){font-size:.8rem}.brand{font-size:.78rem;gap:10px}.brand small{font-size:.75rem}.hero-grid{gap:30px}.hero-figure{height:550px;margin-left:0}.hero-actions{gap:18px}.hero-note{margin-top:27px}.intro-grid,.school-grid{gap:50px}.unit-card{padding:28px}.school-visual{padding:45px 35px}}
@media(max-width:900px){.menu-toggle{display:flex;align-items:center;gap:12px;background:none;border:1px solid var(--line);color:var(--navy);padding:10px 14px;font-size:.85rem;min-height:44px}.menu-lines{width:18px;height:8px;border-block:1px solid currentColor}.main-nav{display:flex;flex-direction:column;align-items:stretch;gap:0;position:absolute;top:100%;left:0;right:0;padding:10px 32px 25px;background:white;border-bottom:1px solid var(--line)}.js .main-nav{display:none}.js .main-nav.is-open{display:flex}.main-nav>a:not(.button){padding:14px 0;font-size:.95rem}.main-nav>a:not(.button):after{display:none}.main-nav .button{margin-top:12px}.main-nav[aria-label]{box-shadow:0 15px 24px #0c365910}.hero-grid{gap:25px;padding-block:45px}.hero h1{font-size:4.8rem}.hero-figure{height:510px;border-top-right-radius:75px}.hero-description{font-size:.97rem}.hero-figure figcaption{left:25px;bottom:27px}.hero-figure strong{font-size:1.5rem}.hero-note{font-size:.75rem}.section{padding-block:80px}.section-heading{align-items:start;flex-direction:column;gap:22px}.intro-grid{gap:40px}.school-grid{gap:35px}.school-visual{min-height:390px;padding:40px 28px}.school-visual p{font-size:1.4rem}.school-logo{margin-bottom:28px}.footer-top{gap:30px}.footer-bottom{font-size:.75rem}}
@media(max-width:680px){.container{width:calc(100% - 40px)}.header-inner{min-height:78px}.brand{font-size:.75rem}.brand-mark{font-size:2.4rem}.brand small{font-size:.75rem}.hero-grid{grid-template-columns:1fr;gap:36px;padding-block:43px 32px}.hero h1{font-size:clamp(3.9rem,15vw,5.5rem)}.hero h1 br:nth-of-type(2){display:none}.hero h1 em:before{content:' '}.hero-copy{padding:0}.hero-description{font-size:1rem;margin-top:23px}.hero-actions{gap:17px;margin-top:25px}.hero-note{margin-top:29px}.hero-figure{height:330px;width:100%;border-top-right-radius:75px}.hero-figure>img{object-position:center 55%}.hero-figure figcaption{bottom:25px;left:25px}.hero-figure strong{font-size:1.6rem}.welcome-strip .container{display:block;padding-block:21px}.welcome-strip p{font-size:1.1rem}.welcome-strip span{display:block;margin-top:6px;font-size:.8rem}.section{padding-block:62px}h2{font-size:2.55rem}.eyebrow{font-size:.75rem;margin-bottom:18px}.intro-grid,.unit-grid,.school-grid{grid-template-columns:1fr}.intro-grid,.school-grid{gap:30px}.intro-copy{font-size:.97rem}.section-heading{gap:22px;margin-bottom:30px}.section-heading>p{font-size:.9rem}.unit-card{padding:26px}.unit-contact{gap:12px}.unit-top{font-size:.75rem}.card-actions{gap:23px}.school-visual{min-height:340px;padding:45px 34px}.school-logo{width:285px}.school-visual p{font-size:1.45rem}.contact-band{padding-block:49px}.contact-band .container{align-items:start;flex-direction:column;gap:27px}.contact-band .eyebrow{font-size:.75rem}.contact-band h2{font-size:2.3rem}.footer-top{grid-template-columns:1fr 1fr;gap:32px 22px;padding-block:45px}.footer-top>div:first-child{grid-column:1/-1}.footer-top p{margin-top:18px}.footer-bottom{flex-direction:column;gap:8px}.desktop-break{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.site-header,.site-footer,.contact-band,.hero-actions,.menu-toggle{display:none}.container{width:100%}.section{padding:20px 0}.hero{background:white;color:black}.hero-grid{padding:20px 0}.hero h1{font-size:40px}.hero-figure{height:300px}a{color:inherit}}

.page-intro{padding:37px 0 74px;background:var(--surface);border-bottom:1px solid var(--line)}.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:.8rem;color:#738493;margin-bottom:42px}.breadcrumbs a:hover{text-decoration:underline}.page-intro .eyebrow{margin-bottom:20px}.page-intro h1{font-size:clamp(3rem,5.2vw,5rem);max-width:950px}.page-description{max-width:700px;margin-top:28px;color:var(--muted);font-size:1.05rem;line-height:1.8}.story-grid{display:grid;grid-template-columns:.85fr 1fr;gap:100px;align-items:center}.story-portrait img{aspect-ratio:4/5;object-fit:cover;border-top-right-radius:90px}.image-caption,figcaption:not(.hero-figure figcaption){font-size:.75rem;color:var(--muted);margin-top:12px}.prose{margin:27px 0;color:var(--muted)}.prose a{text-decoration:underline}.principles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.principles-grid article{border-top:1px solid #b4c4d0;padding-top:25px}.number{font:1.25rem var(--serif);color:#7893a8;display:block;margin-bottom:30px}.principles-grid h3{font-size:1.8rem;margin-bottom:18px}.principles-grid p{color:var(--muted);font-size:.95rem}.timeline-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:95px}.section-description{margin:25px 0;color:var(--muted);max-width:400px}.timeline{list-style:none;padding:0;margin:0}.timeline li{display:grid;grid-template-columns:65px 1fr;gap:30px;padding-bottom:40px;position:relative}.timeline li:before{content:'';position:absolute;left:77px;top:5px;bottom:0;width:1px;background:var(--line)}.timeline li>span{font-family:var(--serif);font-size:1.6rem;color:#66859b}.timeline h3{font-size:1.65rem;margin:4px 0 15px}.timeline p{font-size:.95rem;color:var(--muted)}.timeline .text-link{font-size:.8rem;margin-top:12px}
.unit-detail{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);margin-bottom:45px;background:white}.unit-detail:last-child{margin-bottom:0}.unit-detail-image img{width:100%;height:100%;object-fit:cover;min-height:510px}.unit-detail-copy{padding:45px}.unit-detail-copy h2{font-size:2.8rem;margin-bottom:25px}.unit-detail address{font-style:normal;color:var(--muted);line-height:1.85}.visit-schedule{padding:23px 0;margin:25px 0;border-block:1px solid var(--line)}.visit-schedule h3{font:600 1rem/1.5 var(--sans);margin-bottom:10px}.visit-schedule p{font-size:.9rem;color:var(--muted)}.visit-schedule .text-link{margin-top:10px}.unit-detail .button{font-size:.85rem}.unit-detail .text-link{font-size:.85rem}.north-panel{background:var(--navy);color:white;padding:50px;display:flex;flex-direction:column;justify-content:space-between;gap:35px}.north-address{font:clamp(2.7rem,4.1vw,4.2rem)/1.2 var(--serif);letter-spacing:-.03em}.north-address em{color:var(--gold);font-size:1.6em}.north-panel>div>span{font-size:.75rem;letter-spacing:.13em;color:var(--gold)}.north-panel>div>p{font-size:1rem;color:#c8d5df;margin-top:15px}.faq-grid{display:grid;grid-template-columns:.75fr 1fr;gap:90px}.faq{border-top:1px solid #c5d1db}.faq details{border-bottom:1px solid #c5d1db;padding:0 0 0 0}.faq summary{list-style:none;cursor:pointer;padding:24px 35px 24px 0;font-weight:600;font-size:1rem;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font:1.5rem var(--sans);font-weight:400;position:absolute;right:0;top:20px;color:#668299}.faq details[open] summary:after{content:'−'}.faq details>p{font-size:.94rem;padding:0 25px 24px 0;color:var(--muted)}.faq p a{color:var(--navy);text-decoration:underline}.inline-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:28px}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.course-card{background:white;border:1px solid var(--line);padding:32px;display:flex;flex-direction:column}.course-type{font-size:.75rem;font-weight:700;letter-spacing:.11em;color:#62819a;margin-bottom:25px}.course-card h3{font-size:2.15rem;margin-bottom:24px}.course-card p{color:var(--muted);font-size:.92rem}.course-card ul{list-style:none;margin:24px 0 27px;padding:0;font-size:.85rem;color:#546b7d}.course-card li{padding:10px 0;border-top:1px solid var(--line)}.course-card .text-link{margin-top:auto;font-size:.85rem;align-self:flex-start}.contact-options{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.contact-options article{padding:42px}.contact-options article+article{border-left:1px solid var(--line)}.contact-options h3{font-size:1.75rem;line-height:1.3;margin:20px 0}.contact-options p:not(.eyebrow){color:var(--muted);font-size:.95rem}.contact-options .button{margin-top:27px}.archive-callout{display:flex;justify-content:space-between;align-items:center;gap:50px}.archive-callout p:not(.eyebrow){color:var(--muted);margin-top:25px;max-width:550px}.archive-callout>div:last-child{display:flex;align-items:start;flex-direction:column;gap:22px}.editorial-note{padding:23px 28px;border-left:3px solid #98afbf;background:var(--surface);margin-bottom:40px;display:flex;align-items:start;gap:30px}.editorial-note>span{font-size:.75rem;letter-spacing:.08em;font-weight:700;color:#567187;flex:0 0 165px;margin-top:3px}.editorial-note p{font-size:.9rem;color:var(--muted)}.editorial-note a{text-decoration:underline;color:var(--navy)}.study-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.study-card{border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;min-height:295px}.study-meta{display:flex;justify-content:space-between;gap:10px;color:#6d8597;font-size:.75rem}.study-card h2{font-size:1.75rem;margin:23px 0 18px}.study-card p{font-size:.92rem;color:var(--muted);margin-bottom:25px}.study-card .text-link{margin-top:auto;align-self:flex-start;font-size:.85rem}.archive-banner{background:var(--deep);color:white;padding:80px 0}.archive-banner .container{display:grid;grid-template-columns:1.6fr 1fr;gap:70px;align-items:center}.archive-banner em{color:var(--gold)}.archive-banner p:not(.eyebrow){max-width:590px;color:#bccddd;margin-top:27px}.archive-banner .button{margin-top:30px}.archive-years{text-align:center;font:clamp(3rem,6vw,6rem)/1.1 var(--serif);color:#54738c;border-left:1px solid #334c65}.archive-years span,.archive-years i{display:block}.archive-years i{font-size:2rem;color:#9eb4c6;padding:10px 0}.community-photo{max-width:1050px;margin:auto}.community-photo img{width:100%;height:auto}.community-photo figcaption{margin-top:14px;text-align:center}.community-heading{margin-top:85px}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.news-card{border-top:2px solid var(--navy);padding:27px 0;display:flex;flex-direction:column}.news-date{font-size:.75rem;letter-spacing:.04em;color:#668097;line-height:1.7}.news-card h3{font-size:1.85rem;margin:22px 0 18px}.news-card p{font-size:.94rem;color:var(--muted);margin-bottom:20px}.news-card .text-link{margin-top:auto;align-self:flex-start;font-size:.85rem}.contact-page h2{font-size:2.4rem;margin-bottom:23px}.contact-phone{display:block;font-family:var(--serif);font-size:2rem;margin-top:25px}.contact-page .button{display:flex;width:max-content;max-width:100%;margin-top:25px}.email-link{display:block;overflow-wrap:anywhere;font-size:.9rem;margin:23px 0 8px;color:var(--muted)}.contact-page .text-link{margin-top:20px}.social-list{border-top:1px solid #bdccd7}.social-list>a{display:grid;grid-template-columns:140px 1fr 30px;gap:20px;padding:27px 6px;border-bottom:1px solid #bdccd7;align-items:center;transition:padding .2s}.social-list>a:hover{padding-inline:16px;background:white}.social-list>a>span:first-child{color:#58758a;font-size:.87rem}.social-list strong{font:1.6rem var(--serif)}.social-list>a>span:last-child{text-align:right}.archive-layout{display:grid;grid-template-columns:220px 1fr;gap:70px}.archive-layout aside{align-self:start;position:sticky;top:133px}.year-nav{display:grid;grid-template-columns:1fr 1fr;gap:10px}.year-nav a{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border:1px solid var(--line);font-size:.95rem}.year-nav a:hover{background:var(--navy);color:white}.year-nav a>span{font-size:.75rem;color:#7f98ab}.year-nav a:hover>span{color:#c2d3df}.archive-layout aside>.text-link{margin-top:25px;font-size:.8rem}.archive-layout .editorial-note{display:block}.archive-layout .editorial-note p{margin-top:12px}.archive-year{margin-bottom:50px;scroll-margin-top:125px}.archive-year h2{display:flex;align-items:center;justify-content:space-between;font-size:2.9rem;border-bottom:2px solid var(--navy);padding-bottom:17px}.archive-year h2>span{font:.8rem var(--sans);color:var(--muted)}.archive-year ol{padding:0;list-style:none;margin:0}.archive-year li{border-bottom:1px solid var(--line)}.archive-year li a{display:grid;grid-template-columns:70px 1fr 20px;gap:17px;align-items:center;padding:20px 0;font-size:.92rem}.archive-year li a:hover{color:#376d94}.archive-year time{font-size:.75rem;color:#7790a3}.archive-year li a>span:last-child{color:#5c7c93;text-align:right}.community-preview{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.community-preview img{aspect-ratio:1.85;object-fit:cover;object-position:center 15%;width:100%}.community-preview h2{font-size:clamp(2rem,3.5vw,3.15rem);margin-bottom:26px}.community-preview p:not(.eyebrow){color:var(--muted);font-size:.97rem;margin-bottom:23px}.home-study-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.home-study-grid>a{border-top:2px solid var(--navy);padding:26px 0 15px;display:flex;flex-direction:column;transition:border-color .2s}.home-study-grid>a:hover{border-color:#bd9e61}.home-study-grid>a>span:first-child{font-size:.75rem;letter-spacing:.11em;color:#648296}.home-study-grid h3{font-size:1.85rem;margin:28px 0 30px;line-height:1.3}.small-link{font-size:.86rem;font-weight:600;margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:15px;border-top:1px solid var(--line)}.small-link i{font-style:normal}
@media(max-width:1120px){.story-grid,.timeline-layout,.faq-grid{gap:55px}.unit-detail-copy{padding:34px}.north-panel{padding:38px}.course-card{padding:26px}.study-grid,.news-grid{gap:22px}.archive-layout{gap:45px;grid-template-columns:200px 1fr}.community-preview{gap:45px}}
@media(max-width:900px){.story-grid{gap:35px}.story-portrait img{aspect-ratio:3/4}.principles-grid{gap:28px}.timeline-layout{gap:40px;grid-template-columns:.85fr 1fr}.timeline li{grid-template-columns:54px 1fr;gap:20px}.timeline li:before{left:63px}.unit-detail-copy{padding:30px}.unit-detail-image img{min-height:480px}.north-panel{padding:32px}.unit-detail-copy h2{font-size:2.5rem}.faq-grid{gap:45px}.course-grid{grid-template-columns:1fr}.course-card{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.course-card .course-type,.course-card h3{grid-column:1}.course-card p{grid-column:1}.course-card ul{grid-column:2;grid-row:1/4;margin:0}.course-card .text-link{grid-column:1/3;margin-top:25px}.contact-options article{padding:30px}.study-grid,.news-grid{grid-template-columns:1fr 1fr}.archive-callout{gap:35px}.archive-banner .container{gap:35px}.archive-layout{grid-template-columns:170px 1fr;gap:30px}.editorial-note{display:block}.editorial-note p{margin-top:10px}.archive-year li a{gap:10px;grid-template-columns:61px 1fr 17px}.community-preview{gap:35px}.community-preview img{aspect-ratio:1.2;object-position:center}.home-study-grid{gap:25px}.home-study-grid h3{font-size:1.65rem}}
@media(max-width:680px){.header-inner{gap:12px}.brand{flex-shrink:1;min-width:0}.brand small{font-size:.75rem;letter-spacing:.14em}.menu-toggle{flex-shrink:0;padding:9px 12px}.page-intro{padding:26px 0 49px}.breadcrumbs{margin-bottom:29px;font-size:.75rem;gap:9px}.page-intro h1{font-size:clamp(2.5rem,10.5vw,3.8rem)}.page-description{font-size:1rem;margin-top:24px}.story-grid,.timeline-layout,.faq-grid,.principles-grid,.unit-detail,.contact-options,.study-grid,.news-grid,.community-preview,.home-study-grid{grid-template-columns:1fr}.story-grid{gap:34px}.story-portrait img{aspect-ratio:1.25;border-top-right-radius:60px}.principles-grid{gap:28px}.principles-grid article{padding-top:20px}.number{margin-bottom:19px}.principles-grid h3{margin-bottom:14px}.timeline-layout,.faq-grid{gap:40px}.timeline li{grid-template-columns:60px 1fr;gap:24px}.timeline li:before{left:70px}.unit-detail-image img{height:300px;min-height:0}.unit-detail-copy{padding:28px 24px}.unit-detail-copy .card-actions{gap:17px}.unit-detail-copy .eyebrow{font-size:.75rem}.unit-detail-copy h2{font-size:2.5rem}.north-panel{padding:32px;min-height:350px}.north-address{font-size:3rem}.north-panel>div p{font-size:.94rem}.unit-detail{margin-bottom:28px}.course-card{display:flex;padding:28px}.course-card h3{font-size:2.25rem}.course-card ul{margin:23px 0 0}.course-card .text-link{margin-top:22px}.contact-options article{padding:29px 25px}.contact-options article+article{border-left:0;border-top:1px solid var(--line)}.contact-options h3{font-size:1.7rem}.archive-callout{display:block}.archive-callout>div:last-child{margin-top:30px}.editorial-note{padding:20px}.study-grid{gap:20px}.study-card{min-height:0;padding:25px}.study-card h2{font-size:2rem}.archive-banner{padding-block:60px}.archive-banner .container{display:block}.archive-banner h2{font-size:2.5rem}.archive-years{display:none}.community-heading{margin-top:55px}.news-card{padding:23px 0}.news-grid{gap:12px}.social-list>a{grid-template-columns:1fr 25px;gap:10px;padding-block:22px}.social-list>a>span:first-child{grid-column:1;font-size:.8rem}.social-list strong{grid-column:1;font-size:1.3rem}.social-list>a>span:last-child{grid-column:2;grid-row:1/3}.archive-layout{display:block}.archive-layout aside{position:static;margin-bottom:35px}.year-nav{grid-template-columns:repeat(5,1fr);gap:7px}.year-nav a{display:block;text-align:center;font-size:.85rem;padding:8px 5px}.year-nav a>span{display:block;margin-top:2px}.archive-year li a{grid-template-columns:1fr 20px;gap:5px 10px;padding-block:17px}.archive-year time{grid-column:1}.archive-year li a>span:nth-child(2){grid-column:1}.archive-year li a>span:last-child{grid-column:2;grid-row:1/3}.archive-year h2{font-size:2.7rem}.community-preview img{aspect-ratio:1.75;object-position:center 10%}.community-preview h2{font-size:2.5rem}.home-study-grid{gap:18px}.home-study-grid h3{font-size:1.9rem;margin:23px 0 25px}.home-study-grid h3 br{display:none}.home-study-grid>a{padding-block:23px}.unit-contact>span{font-size:.75rem}.unit-top{font-size:.75rem}.eyebrow{font-size:.75rem}}

/* Escola da Bíblia: página interna e chamada resumida na página inicial. */
.school-teaser{display:grid;grid-template-columns:190px 1fr auto;gap:38px;align-items:center;background:var(--navy);color:white;padding:43px 40px}.school-teaser>img{width:190px}.school-teaser .eyebrow{font-size:.75rem;margin-bottom:12px}.school-teaser h2{font-size:2.05rem;line-height:1.2;letter-spacing:-.03em}.school-teaser h2 em{color:var(--gold)}.school-teaser p:not(.eyebrow){color:#d6e0e8;font-size:.94rem;margin-top:13px}.school-teaser .button{white-space:nowrap}.school-page-nav{border-bottom:1px solid var(--line);background:white}.school-page-nav .container{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:20px;flex-wrap:wrap}.school-page-nav a{font-size:.875rem;font-weight:600;padding-block:5px;border-bottom:1px solid transparent}.school-page-nav a:hover{border-color:var(--navy)}.school-channels{padding-block:0 65px;color:var(--muted);font-size:.9rem}.school-channels>p a{color:var(--navy);overflow-wrap:anywhere;text-decoration:underline}.school-channels .inline-actions{margin-top:15px}
@media(max-width:1120px){.school-teaser{grid-template-columns:160px 1fr;gap:28px;padding:32px}.school-teaser>img{width:160px}.school-teaser>.button{grid-column:2;justify-self:start}.school-page-nav .container{justify-content:start;gap:12px 27px}}
@media(max-width:680px){.school-teaser{grid-template-columns:1fr;gap:25px;padding:30px 26px}.school-teaser>img{width:190px}.school-teaser>.button{grid-column:1;justify-self:start;white-space:normal}.school-teaser h2{font-size:2rem}.school-page-nav .container{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;padding-block:16px}.school-page-nav a{font-size:.875rem}.school-channels{padding-bottom:48px}.school-channels .inline-actions{gap:12px 25px}}

/* leitura.css */

/* Leitura: títulos objetivos, texto maior e grupos com limites visíveis. */
:root{--muted:#465c6b;--surface:#eaf1f7;--line:#c9d6e0;--max:1180px}
body{font-size:1.0625rem;line-height:1.75}
h2,h3{font-family:var(--sans);font-weight:600;letter-spacing:-.02em;line-height:1.3}
h2{font-size:clamp(1.65rem,2.7vw,2.3rem)}
h3{font-size:1.35rem}
h1 em,h2 em,h3 em{font-style:normal;color:inherit}
.section{padding:64px 0;border-top:1px solid var(--line)}
.section-heading{margin-bottom:28px;gap:30px}
.eyebrow{font-size:.875rem;letter-spacing:.06em;margin-bottom:16px}
.prose,.intro-copy,.page-description,.hero-description,.section-description{font-size:1.0625rem;line-height:1.8}
main p:not(.eyebrow):not(.image-caption),.unit-card>p,.contact-options p:not(.eyebrow),.visit-schedule p,.faq details>p,.course-card p,.news-card p,.study-card p,.timeline p,.principles-grid p,.community-preview p:not(.eyebrow),.school-teaser p:not(.eyebrow){font-size:1rem;line-height:1.75}
main p:not(.eyebrow){max-width:68ch}
.prose p+p,.intro-copy p+p{margin-top:1.2em}
.text-link,.button,.hero-actions .text-link,.main-nav>a:not(.button){font-size:.9375rem}
.main-nav{gap:22px}.main-nav .button{min-width:100px}
.header-inner{min-height:88px}
.hero-grid{gap:52px;padding-block:48px}
.hero h1{font-size:clamp(2.65rem,4.8vw,4.15rem);line-height:1.13;letter-spacing:-.025em;max-width:18ch}
.hero-description{margin-top:24px;max-width:47ch}
.hero-figure{height:430px;border-top-right-radius:42px}
.hero-figure figcaption strong{font:600 1.25rem/1.4 var(--sans)}
.hero-figure figcaption>span{font-size:.875rem;letter-spacing:.05em}
.hero-actions{margin-top:27px}
.page-intro{padding:24px 0 43px;background:var(--navy);color:white;border:0}
.breadcrumbs{font-size:.875rem;color:#d3e2ec;margin-bottom:24px;gap:12px}
.breadcrumbs a{color:white;text-decoration:underline;text-underline-offset:3px}
.page-intro h1{font-size:clamp(2.2rem,3.8vw,3.15rem);line-height:1.2;letter-spacing:-.02em}
.page-description{color:#e1eaf1;margin-top:18px}
.page-intro .button{margin-top:25px}
.intro-grid,.story-grid,.timeline-layout,.faq-grid,.school-grid,.community-preview{gap:60px}
.unit-card{padding:30px;border-radius:5px}
.unit-card h3,.unit-detail-copy h2{font:600 1.65rem/1.3 var(--sans)}
.unit-top{margin-bottom:15px;letter-spacing:.04em}
.unit-label,.unit-contact>span,.study-meta,.news-date,.course-type,.course-card ul{font-size:.875rem;color:#465f72}
.unit-top>span:last-child{font-size:1.25rem}
.unit-contact{margin:22px 0}
.school-section{background:#f7f9fb}
.school-teaser{padding:32px;gap:30px;border-radius:5px}
.school-teaser h2{font-size:1.7rem}
.school-visual{min-height:300px;padding:42px}
.school-logo{margin-bottom:26px}
.school-visual p{font:400 1rem/1.7 var(--sans)}
.school-visual>span{font-size:.875rem;letter-spacing:.04em;margin-top:24px}
.school-grid h2{margin-bottom:20px}
.school-page-nav{background:#e4eef6;border-block:1px solid #c1d2df}
.school-page-nav .container{padding-block:15px}
.school-page-nav a{font-size:.9375rem}
#cursos{background:#eaf1f7}
#inscricoes{background:white}
#duvidas-cursos{background:#eff3f6}
#perguntas-biblicas{background:white}
#acervo{background:#eaf1f7}
.school-channels{width:100%;max-width:none;background:#eaf1f7;margin:0;padding:0 max(32px,calc((100% - 1180px)/2)) 45px}
.school-channels p{margin:0}
.course-card{padding:27px;border-radius:5px}
.course-card h3{font-size:1.45rem;line-height:1.3;margin-bottom:17px}
.course-type{letter-spacing:.04em;margin-bottom:17px}
.contact-options{border-radius:5px;background:white}
.contact-options h3{font-size:1.3rem}
.contact-page h2{font-size:1.6rem}
.contact-options .eyebrow{font-size:.875rem}
.faq{border:0;display:grid;gap:12px}
.faq details{background:white;border:1px solid #c3d2de;border-radius:5px}
.faq summary{padding:20px 50px 20px 23px;font-size:1rem;line-height:1.55}
.faq summary:after{right:22px;top:19px}
.faq details[open]{border-left:4px solid var(--navy)}
.faq details[open] summary{padding-bottom:14px}
.faq details>p{padding:0 23px 20px;color:var(--muted);margin:0}
.editorial-note{border:1px solid #bfd1df;border-left:4px solid var(--navy);background:#eaf1f7;padding:22px 25px;border-radius:4px}
.editorial-note>span{font-size:.875rem;letter-spacing:.025em;color:var(--ink)}
.study-grid{gap:20px}
.study-card{background:#f4f7fa;border-radius:5px;padding:25px;min-height:280px}
.study-card h2{font-size:1.35rem;margin:18px 0 14px}
.study-card .text-link,.news-card .text-link,.course-card .text-link{font-size:.9375rem}
.archive-banner{padding:50px 0}
.archive-banner .container{grid-template-columns:1fr}
.archive-banner h2{font:600 1.8rem/1.35 var(--sans)}
.archive-years{display:none}
.archive-banner p:not(.eyebrow){margin-top:15px}
.archive-banner .button{margin-top:22px}
.archive-layout{grid-template-columns:210px minmax(0,1fr);gap:38px;align-items:start}
.archive-layout aside{top:116px;border:1px solid var(--line);border-radius:5px;padding:20px;background:#edf3f8}
.archive-layout .eyebrow{font-size:1rem;font-weight:600;letter-spacing:0;text-transform:none}
.year-nav{gap:9px}
.year-nav a{background:white;padding:10px;min-height:46px;font-size:1rem;border-radius:3px}
.year-nav a>span{font-size:.875rem;color:#49687e}
.archive-layout aside>.text-link{font-size:.875rem;margin-top:21px}
.archive-year{background:white;border:1px solid #bfd0dd;border-radius:5px;overflow:hidden;margin-bottom:32px}
.archive-year h2{font:600 1.55rem/1.4 var(--sans);letter-spacing:0;padding:15px 23px;margin:0;background:#dfeaf3;border-bottom:1px solid #bfd0dd;gap:18px}
.archive-year h2>span{font:400 .9375rem/1.5 var(--sans);color:#344e62;letter-spacing:0}
.archive-year li:last-child{border-bottom:0}
.archive-year li:nth-child(even){background:#f2f6fa}
.archive-year li a{padding:18px 23px;grid-template-columns:76px minmax(0,1fr) 20px;gap:17px;font-size:1rem;line-height:1.65}
.archive-year li a:hover{background:#e5eff7;color:var(--navy)}
.archive-year li a:hover>span:nth-child(2){text-decoration:underline;text-underline-offset:3px}
.archive-year time{font-size:.875rem;color:#476277;align-self:start;padding-top:2px}
.archive-year li a>span:last-child{font-size:1.1rem;color:var(--navy)}
.community-photo{max-width:100%}
.community-photo img{max-height:410px;object-fit:cover;object-position:center 20%}
.community-heading{margin-top:42px}
.community-preview h2{font-size:clamp(1.65rem,2.7vw,2.3rem)}
.news-card{padding:25px;border:1px solid #c2d2de;border-top:3px solid var(--navy);border-radius:5px;background:#f4f7fa}
.news-card h3{font-size:1.3rem;margin:17px 0 14px;line-height:1.4}
.news-grid{gap:22px}
.home-study-grid{gap:22px}
.home-study-grid>a{padding:25px;background:#f0f5f9;border:1px solid #c3d3df;border-top:3px solid var(--navy);border-radius:5px}
.home-study-grid h3{font-size:1.3rem;line-height:1.4;margin:19px 0 25px}
.home-study-grid>a>span:first-child{font-size:.875rem;letter-spacing:.035em;color:#476277}
.small-link{font-size:.9375rem}
.principles-grid article{background:white;padding:25px;border:1px solid var(--line);border-radius:5px}
.principles-grid .number{display:none}
.principles-grid h3,.timeline h3{font-size:1.3rem;line-height:1.4}
.timeline li{padding-bottom:32px}
.timeline li>span{font:600 1.3rem/1.4 var(--sans)}
.timeline .text-link{font-size:.9375rem}
.north-panel{padding:35px}
.north-address{font:600 2.3rem/1.35 var(--sans);letter-spacing:-.02em}
.north-address em{font-style:normal;font-size:1.35em}
.north-panel>div>span{font-size:.9375rem;letter-spacing:0}
.contact-band{padding:38px 0}
.contact-band h2{font:600 1.6rem/1.4 var(--sans)}
.contact-band p{color:#d9e6ef;margin-top:10px}
.contact-band .button{flex-shrink:0}
.site-footer{background:#e9f0f5;border-top:1px solid #c3d2dd}
.footer-top{padding-block:42px}
.footer-top h2{font-size:1rem;margin-bottom:17px}
.footer-top>div>a:not(.brand),.footer-top p,.footer-bottom{font-size:.875rem;color:#465e70}
.social-list strong{font:600 1.2rem/1.5 var(--sans)}
.image-caption,figcaption:not(.hero-figure figcaption){font-size:.875rem;color:#486176}
@media(max-width:1120px){.main-nav{gap:18px}.main-nav>a:not(.button){font-size:.875rem}.hero-grid{gap:35px}.hero-figure{height:410px}.intro-grid,.story-grid,.timeline-layout,.faq-grid,.school-grid,.community-preview{gap:36px}.school-teaser{gap:25px}}
@media(max-width:900px){.header-inner{min-height:82px}.hero-grid{gap:28px}.hero h1{font-size:2.7rem}.hero-figure{height:400px}.archive-layout{grid-template-columns:175px minmax(0,1fr);gap:24px}.archive-layout aside{padding:16px}.archive-year h2{padding-inline:18px}.archive-year li a{padding-inline:18px;gap:12px;grid-template-columns:66px minmax(0,1fr) 17px}.course-card{display:flex}.course-card .text-link{margin-top:20px}.school-visual{padding:32px}.school-channels{padding-inline:32px}.news-grid{gap:18px}}
@media(max-width:680px){.section{padding:42px 0}.header-inner{min-height:78px}.hero-grid{padding-block:35px;gap:28px}.hero h1{font-size:2.65rem;max-width:19ch}.hero-figure{height:285px;border-top-right-radius:32px}.hero-actions{gap:17px}.hero-actions .text-link{font-size:.9375rem}.page-intro{padding:22px 0 32px}.page-intro h1{font-size:2.15rem;max-width:24ch}.breadcrumbs{font-size:.875rem;margin-bottom:18px}.page-description{margin-top:15px}.section-heading{gap:20px;margin-bottom:24px}.intro-grid,.story-grid,.timeline-layout,.faq-grid,.school-grid,.community-preview{gap:28px}h2,.school-teaser h2,.community-preview h2{font-size:1.65rem}.unit-card{padding:24px}.unit-top{gap:15px}.unit-label,.unit-contact>span{font-size:.875rem}.school-visual{padding:30px;min-height:260px}.school-teaser{padding:27px}.school-channels{padding:0 20px 36px}.faq summary{padding:18px 45px 18px 19px}.faq summary:after{right:17px;top:17px}.faq details>p{padding:0 19px 20px}.course-card{padding:24px}.contact-options article{padding:25px}.archive-layout{display:block}.archive-layout aside{position:static;margin-bottom:26px;padding:18px}.year-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.year-nav a{font-size:.9375rem;padding:8px 4px}.archive-year h2{font-size:1.45rem;padding:14px 17px}.archive-year h2>span{font-size:.875rem}.archive-year li a{grid-template-columns:minmax(0,1fr) 18px;gap:6px 12px;padding:15px 17px;font-size:1rem}.archive-year time{grid-column:1;padding:0}.archive-year li a>span:nth-child(2){grid-column:1}.archive-year li a>span:last-child{grid-column:2;grid-row:1/3}.archive-banner{padding:38px 0}.archive-banner h2{font-size:1.65rem}.community-photo img{max-height:270px}.community-heading{margin-top:32px}.news-card{padding:23px}.home-study-grid h3{font-size:1.3rem}.contact-band{padding:32px 0}.contact-band .container{gap:22px}.footer-top{padding-block:34px}.footer-bottom{font-size:.875rem}.north-address{font-size:2.1rem}}
@media print{.page-intro,.surface,.archive-year h2{background:white;color:black}.page-description,.breadcrumbs{color:black}.archive-layout aside{display:none}.archive-layout{display:block}.archive-year{break-inside:avoid}}


/* Detalhes da identidade visual, com a linguagem simplificada preservada. */
.hero-copy::before,
.page-intro h1::before {
  content: "";
  display: block;
  width: 52px;
  height: 2px;
  margin-bottom: 22px;
  background: var(--gold);
}
.section-heading h2::before,
.intro-grid h2::before,
.story-grid h2::before,
.school-grid h2::before,
.timeline-layout > div > h2::before,
.faq-grid > div > h2::before,
.community-preview h2::before,
.archive-callout h2::before {
  content: "";
  display: block;
  width: 46px;
  height: 2px;
  margin-bottom: 17px;
  background: linear-gradient(to right, var(--navy) 0 30px, var(--gold) 30px);
}
.school-teaser {
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 24px rgb(12 54 89 / 8%);
}
.school-teaser::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 58px;
  height: 3px;
  background: var(--gold);
}
.unit-card,
.course-card,
.news-card,
.home-study-grid > a {
  box-shadow: 0 4px 18px rgb(12 54 89 / 4%);
}

/* As dimensões HTML reservam espaço; a altura acompanha a largura final. */
.school-teaser > img,
.school-logo {
  height: auto;
  object-fit: contain;
}
.school-teaser > img {
  width: 100%;
  max-width: 200px;
  aspect-ratio: 847 / 301;
  justify-self: start;
}
.community-preview > figure {
  width: 100%;
  max-width: 540px;
  min-width: 0;
  margin: 0;
}
.community-preview img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  object-position: center;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgb(12 54 89 / 9%);
}
.community-preview figcaption {
  margin-top: 14px;
  padding-left: 12px;
  border-left: 2px solid var(--gold);
  font-size: .875rem;
  line-height: 1.55;
}
@media (max-width: 680px) {
  .hero-copy::before,
  .page-intro h1::before { margin-bottom: 18px; width: 42px; }
  .school-teaser > img { max-width: 190px; }
  .community-preview > figure { max-width: 100%; }
}
@media print {
  .hero-copy::before,
  .page-intro h1::before,
  .section-heading h2::before,
  .intro-grid h2::before,
  .story-grid h2::before,
  .school-grid h2::before,
  .timeline-layout > div > h2::before,
  .faq-grid > div > h2::before,
  .community-preview h2::before,
  .archive-callout h2::before,
  .school-teaser::after { display: none; }
}

/* identidade.css */
/* Identidade: tipografia da Escola, fotografias locais e seções com composições próprias. */
:root {
  --serif: "Lora", Georgia, "Times New Roman", serif;
  --sans: "Manrope", Arial, Helvetica, sans-serif;
  --navy: #0c3659;
  --deep: #0c1630;
  --school-blue: #28649c;
  --school-link: #1172e6;
  --school-sky: #6ec1e4;
  --school-gradient: linear-gradient(180deg, #0c3659 0%, #0c1630 100%);
  --ink: #15344c;
  --muted: #4b6273;
  --gold: #e2c78d;
  --surface: #eaf1f7;
  --line: #c6d5df;
}
body { font-family: var(--sans); }
h1, h2, h3 { font-family: var(--serif); font-weight: 500; letter-spacing: -.03em; }
h2 { font-size: clamp(1.8rem, 2.7vw, 2.5rem); line-height: 1.25; }
h3 { line-height: 1.35; }
p { text-wrap: pretty; }
a { text-underline-offset: 5px; }
.button { background: var(--school-blue); border-radius: 10px; gap: 24px; transition: background .3s, color .3s, border-color .3s, box-shadow .3s; }
.button:hover { background: var(--school-link); transform: none; box-shadow: 0 5px 18px rgb(17 114 230 / 16%); }
.button-gold { background: var(--gold); color: var(--deep); }
.button-gold:hover { background: #eed9ae; box-shadow: 0 5px 18px rgb(226 199 141 / 15%); }
.button > span[aria-hidden] { font-size: 1.2em; }
.button-outline { background: transparent; color: var(--navy); border-color: #809aaf; }
.button-outline:hover { background: var(--navy); color: white; border-color: var(--navy); }
.text-link { border-color: #94aabc; padding-bottom: 6px; gap: 16px; transition: color .3s, border-color .3s; }
.text-link:hover { color: var(--school-blue); border-color: var(--school-link); }
.site-header { background: #000; color: white; border-bottom: 5px solid var(--navy); box-shadow: 0 4px 18px rgb(0 0 0 / 12%); }
.header-inner { min-height: 92px; }
.brand { font: 500 1.28rem/1.25 var(--serif); letter-spacing: -.035em; gap: 12px; }
.brand-mark { font-size: 2.65rem; color: var(--navy); -webkit-text-stroke: .055em currentColor; }
.brand small { margin-top: 5px; font: 600 .75rem/1.5 var(--sans); letter-spacing: .22em; color: #516b7e; }
.site-header .brand-mark { color: var(--gold); }
.site-header .brand small { color: #bcd0df; }
.main-nav { gap: 23px; flex-wrap: wrap; }
.main-nav > a:not(.button) { font-size: .875rem; font-weight: 600; transition: color .3s; }
.main-nav > a:not(.button):hover { color: var(--school-sky); }
.main-nav .button { min-width: auto; background: transparent; color: white; border-color: #527f9f; padding-inline: 20px; }
.main-nav .button:hover { background: var(--navy); color: white; }
.main-nav > a[aria-current] { color: var(--school-sky); }
.main-nav > a[aria-current]:after { right: 0; }
.main-nav > a:not(.button):after { height: 2px; background: var(--school-sky); transition: right .3s; }

/* A abertura mantém o enquadramento da fachada e deixa a tipografia respirar. */
.home-hero {
  position: relative;
  overflow: visible;
  color: white;
  background: var(--school-gradient);
}
.home-hero .hero-grid { padding-block: 52px; }
.home-hero .hero-copy { padding: 0; }
.home-hero .hero-copy::before { width: 64px; margin-bottom: 28px; background: var(--gold); }
.home-hero h1 { font-size: clamp(2.65rem, 4.5vw, 4rem); line-height: 1.14; max-width: none; letter-spacing: -.045em; }
.home-hero h1 > span, .home-hero h1 em { display: block; }
.home-hero h1 em { margin-top: 9px; font-style: italic; font-weight: 400; color: var(--school-sky); }
.home-hero .hero-description { color: #d9e7f2; margin-top: 25px; max-width: 43ch; }
.home-hero .hero-actions { gap: 14px 28px; margin-top: 29px; }
.home-hero .hero-actions .text-link { color: white; border-color: #8facc2; font-size: .875rem; }
.home-hero .hero-actions .text-link:hover { color: var(--school-sky); border-color: var(--school-sky); }
.home-hero .button { background: white; color: var(--navy); }
.home-hero .button:hover { background: #dceefd; box-shadow: 0 5px 20px rgb(110 193 228 / 20%); }
.home-hero .hero-figure { box-shadow: 0 14px 34px rgb(0 0 0 / 26%), 0 0 0 1px rgb(110 193 228 / 25%); }
.home-hero .hero-figure figcaption strong { font: 500 1.4rem/1.4 var(--serif); color: white; }
.home-hero .hero-figure figcaption > span { font-size: .875rem; letter-spacing: .1em; }
.home-about { border: 0; padding-block: 66px; }
.home-about .intro-grid { grid-template-columns: .85fr 1.15fr; align-items: start; gap: 80px; }
.home-about .intro-copy { max-width: 590px; }
.home-about .intro-copy .text-link { margin-top: 20px; }
.home-about h2 { max-width: 11ch; }

/* Duas colunas de endereços; os nomes das unidades são o ponto de entrada. */
.home-units { padding-block: 62px 68px; border-block: 1px solid #c7d8e5; background: #e8f0f6; }
.home-units .section-heading { margin-bottom: 38px; }
.home-units .section-heading > p { max-width: 36ch; }
.home-units .unit-grid { gap: 0; border-top: 1px solid #a9c0d1; }
.home-units .unit-card { display: flex; flex-direction: column; min-width: 0; padding: 27px 48px 0 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
.home-units .unit-card + .unit-card { padding: 27px 0 0 48px; border-left: 1px solid #a9c0d1; }
.home-units .unit-top { min-height: 35px; margin-bottom: 12px; }
.home-units .unit-label { font-size: .875rem; font-weight: 600; letter-spacing: .075em; color: #45647c; }
.home-units .unit-top > span:last-child { font: italic 400 1.5rem/1 var(--serif); color: #53758e; }
.home-units .unit-card h3 { font: 500 clamp(1.9rem, 3vw, 2.7rem)/1.2 var(--serif); letter-spacing: -.04em; margin-bottom: 20px; }
.home-units .unit-card > p { min-height: 84px; color: #344f63; }
.home-units .unit-contact { padding-block: 20px; margin-block: 23px; gap: 12px 24px; }
.home-units .unit-contact > span { font-size: .875rem; letter-spacing: .07em; color: #48667c; }
.home-units .unit-contact > a { font-size: 1.05rem; font-weight: 600; white-space: nowrap; }
.home-units .unit-contact > a:hover { text-decoration: underline; }
.home-units .card-actions { gap: 14px 26px; }
.home-units .button { background: transparent; }
.home-units .button:hover { background: var(--navy); }

/* A marca original da Escola ganha uma área própria, com proporção natural. */
.home-school { padding-block: 65px; border: 0; background: var(--school-gradient); color: white; }
.home-school .school-teaser { grid-template-columns: .85fr 1.15fr; gap: 80px; padding: 0; border-radius: 0; background: transparent; box-shadow: none; overflow: visible; }
.home-school .school-teaser::after { display: none; }
.school-teaser-mark { display: flex; align-items: center; justify-content: flex-start; padding-right: 20px; }
.school-teaser-mark img { width: min(100%, 310px); height: auto; aspect-ratio: 847 / 301; object-fit: contain; }
.school-teaser-copy { border-left: 1px solid #5285ab; padding-left: 38px; }
.home-school .school-teaser h2 { font: 500 2.25rem/1.25 var(--serif); letter-spacing: -.03em; }
.home-school .school-teaser p { color: #dce7ef; max-width: 45ch; margin-top: 17px; }
.home-school .school-teaser .button { margin-top: 26px; white-space: normal; }

/* Notícias com data e título, ao lado de uma fotografia real do acervo. */
.home-community { padding-block: 76px; background: white; border: 0; }
.home-community .community-preview { grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.home-community .community-preview > figure { max-width: 540px; }
.home-community .community-preview img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; border-radius: 10px; box-shadow: 0 8px 24px rgb(12 54 89 / 12%); }
.home-community .community-preview figcaption { font-size: .875rem; color: var(--muted); }
.home-community h2 { font-size: clamp(1.8rem, 2.7vw, 2.5rem); max-width: 15ch; margin: 0 0 25px; }
/* Estudos e acervo: apresentações com destinos próprios. */
.home-studies { padding-block: 62px; background: #f1f5f8; border-block: 1px solid #d2dfe8; }
.home-contact { padding-block: 43px; background: var(--navy); color: white; }
.home-contact h2 { font-family: var(--serif); font-weight: 500; font-size: 1.75rem; }
.home-contact p { color: #d9e7f2; }
.home-contact .button { background: white; color: var(--navy); }
.home-contact .button:hover { background: #dceefd; }

/* Os mesmos tipos e acabamentos seguem nas páginas internas. */
.page-intro { background: var(--school-gradient); color: white; border-bottom: 0; padding-bottom: 45px; }
.page-intro h1 { font-family: var(--serif); font-weight: 500; font-size: clamp(2.2rem, 3.8vw, 3.4rem); letter-spacing: -.035em; }
.page-intro h1::before { background: var(--gold); }
.breadcrumbs { color: #b9d5e8; }
.breadcrumbs a { color: white; }
.breadcrumbs a:hover { color: var(--school-sky); }
.page-description { color: #d9e7f2; max-width: 65ch; }
.school-visual, .north-panel { background: var(--school-gradient); border-radius: 10px; }
.archive-banner { background: var(--school-gradient); }
.school-grid h2, .unit-detail-copy h2, .archive-banner h2, .contact-page h2 { font-family: var(--serif); font-weight: 500; }
.news-card, .study-card { box-shadow: none; border-radius: 10px; transition: border-color .3s, box-shadow .3s; }
.news-card h3, .study-card h2, .principles-grid h3, .timeline h3, .contact-options h3 { font-family: var(--serif); font-weight: 500; }
.news-card h3, .study-card h2 { font-size: 1.5rem; }
.news-card[id] { scroll-margin-top: 115px; }
.archive-year h2, .archive-layout .eyebrow, .footer-top h2, .visit-schedule h3 { font-family: var(--sans); }
.site-footer { --footer-divider-color: var(--paper); position: relative; background: #000; color: white; border-top: 0; }
.site-footer::before { content: ""; display: block; position: absolute; top: 0; left: max(48px, calc((100% - 1180px)/2)); width: 70px; height: 3px; background: var(--gold); }
.footer-top { padding-block: 54px 43px; }
.site-footer .brand { color: white; }
.site-footer .brand-mark { color: var(--gold); }
.site-footer .brand small { color: #c6d7e4; }
.footer-top h2 { color: white; font-weight: 600; letter-spacing: 0; font-size: .9375rem; }
.footer-top p, .footer-top > div > a:not(.brand), .footer-bottom { color: #c2d3df; font-size: .875rem; }
.footer-top > div > a:not(.brand):hover { color: white; text-decoration: underline; }
.footer-bottom { display: block; text-align: left; border-top: 1px solid #355268; padding-block: 22px; }

/* Referência da Escola: degradê azul, sombra suave e divisor em ponta. */
.home-hero::after {
  content: "";
  position: absolute;
  width: 66px;
  height: 14px;
  left: calc(50% - 33px);
  top: calc(100% - 1px);
  background: var(--deep);
  /* A base sobrepõe a seção em 1px para não abrir uma emenda no recorte. */
  clip-path: polygon(0 0, 100% 0, 100% 1px, 50% 100%, 0 1px);
  pointer-events: none;
}
.site-footer::after {
  content: "";
  position: absolute;
  top: -1px;
  left: calc(50% - 40px);
  width: 80px;
  height: 14px;
  background: var(--footer-divider-color);
  /* Faixa de 1px acima da ponta cobre a emenda em posições fracionárias. */
  clip-path: polygon(0 0, 100% 0, 100% 1px, 50% 100%, 0 1px);
  pointer-events: none;
}
.home-hero h1, .home-school h2, .page-intro h1 {
  text-shadow: 0 0 10px rgb(0 0 0 / 18%);
}
.school-page-nav { background: #e6f1fa; border-color: #b2cde1; }
.school-page-nav a { color: var(--school-blue); transition: color .3s, border-color .3s; }
.school-page-nav a:hover { color: var(--navy); border-color: var(--school-link); }
.faq details { border-radius: 10px; transition: border-color .3s, box-shadow .3s; }
.faq summary, .faq summary::after { color: var(--school-blue); }
.faq details[open] summary { color: var(--ink); }
.faq details[open] { border-left-color: var(--school-blue); }
.course-type, .study-meta { color: var(--school-blue); }
@media (hover: hover) {
  .news-card:hover, .study-card:hover { border-color: #81b6dc; box-shadow: 0 7px 22px rgb(12 54 89 / 9%); }
}
.news-card:focus-within, .study-card:focus-within { border-color: var(--school-blue); }
a:focus-visible, button:focus-visible, summary:focus-visible { outline-color: var(--school-link); }
.home-hero a:focus-visible, .home-school a:focus-visible,
.site-header a:focus-visible, .site-header button:focus-visible,
.site-footer a:focus-visible, .page-intro a:focus-visible,
.home-contact a:focus-visible { outline-color: var(--school-sky); }
@media (prefers-reduced-motion: reduce) {
}


/* Títulos principais: negrito real da Lora e contornos sem sombra difusa. */
main h1,
main h2,
.page-intro h1,
.school-grid h2,
.unit-detail-copy h2,
.archive-banner h2,
.contact-page h2,
.contact-band h2,
.home-school .school-teaser h2,
.home-contact h2,
.home-units .unit-card h3,
#inscricoes .contact-options h3 {
  font-weight: 700;
  text-shadow: none;
}
.home-hero h1 em { font-weight: 700; }

/* Conteúdo informativo e links de navegação têm funções distintas. */
.community-summary { max-width: 48ch; }
.home-community .community-summary p { margin-bottom: 0; }
.community-summary > .text-link { margin-top: 25px; }
.community-recent { margin-top: 24px; }
.community-recent-entry { padding-block: 18px; border-top: 1px solid var(--line); }
.community-recent-entry:last-child { padding-bottom: 0; }
.community-recent-entry time { display: block; margin-bottom: 9px; color: #45647c; font: 600 .8125rem/1.6 var(--sans); }
.home-community .community-recent-entry h3 { margin: 0; color: var(--navy); font: 700 1.25rem/1.4 var(--serif); letter-spacing: -.02em; }
.learning-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; align-items: start; }
.home-learning .learning-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; align-items: start; }
.learning-grid h2 { font-size: clamp(1.85rem, 2.7vw, 2.5rem); margin-bottom: 23px; }
.learning-overview h2::before { content: ""; display: block; width: 46px; height: 2px; margin-bottom: 17px; background: linear-gradient(to right, var(--navy) 0 30px, var(--gold) 30px); }
.learning-grid p { color: var(--muted); max-width: 54ch; }
.learning-grid .text-link { margin-top: 25px; }
@media (max-width: 680px) {
  .learning-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
}
.learning-archive { padding: 19px 0 0 42px; border-left: 1px solid #b4c9da; }
.learning-archive h2 { font-size: clamp(1.65rem, 2.3vw, 2rem); }
@media (max-width: 680px) {
  .learning-archive { padding: 28px 0 0; border-left: 0; border-top: 1px solid #b4c9da; }
  .community-summary { max-width: none; }
}

/* Cursos são descrições informativas; inscrições têm um acesso comum. */
#cursos .course-grid { gap: 0; border-block: 1px solid #b6cadb; }
.course-overview { padding: 28px 30px; }
.course-overview:first-child { padding-left: 0; }
.course-overview:last-child { padding-right: 0; }
.course-overview + .course-overview { border-left: 1px solid #b6cadb; }
.course-overview .course-type { display: block; margin-bottom: 13px; }
.course-overview h3 { font: 700 1.5rem/1.35 var(--serif); margin-bottom: 18px; }
.course-overview p, .course-overview ul { color: var(--muted); }
.course-overview ul { padding-left: 19px; margin: 19px 0 0; font-size: .9375rem; line-height: 1.75; }
.course-overview li + li { margin-top: 6px; }
@media (max-width: 900px) {
  .course-overview, .course-overview:first-child, .course-overview:last-child { padding: 26px 0; }
  .course-overview + .course-overview { border-left: 0; border-top: 1px solid #b6cadb; }
}

/* Refluxo em telas menores e ao ampliar o texto. */
@media (max-width: 1120px) {
  .header-inner { gap: 20px; }
  .brand { font-size: 1.15rem; }
  .main-nav { gap: 17px; }
  .main-nav .button { padding-inline: 14px; }
  .home-about .intro-grid, .home-school .school-teaser, .home-learning .learning-grid { gap: 50px; }
  .home-units .unit-card { padding-right: 32px; }
  .home-units .unit-card + .unit-card { padding-left: 32px; }
  .home-community .community-preview { gap: 40px; }
  .home-school .school-teaser h2 { font-size: 2rem; }
}
@media (max-width: 1000px) and (min-width: 901px) {
  .container.header-inner { width: calc(100% - 48px); }
  .header-inner { gap: 15px; }
  .main-nav { gap: 13px; }
  .brand { font-size: 1.05rem; }
  .brand-mark { font-size: 2.3rem; }
}
@media (max-width: 900px) {
  .header-inner { min-height: 82px; }
  .main-nav { gap: 0; background: #000; border-color: var(--navy); }
  .menu-toggle { color: white; border-color: #527f9f; }
  .main-nav .button { align-self: flex-start; padding-inline: 24px; }
  .brand { font-size: 1.25rem; }
  .home-hero h1 { font-size: 2.7rem; }
  .home-hero .hero-grid { padding-block: 40px; }
  .home-hero .hero-actions { align-items: flex-start; flex-direction: column; }
  .home-about .intro-grid, .home-school .school-teaser, .home-learning .learning-grid { gap: 32px; }
  .home-community .community-preview { gap: 32px; }
  .school-teaser-copy { padding-left: 28px; }
.home-units .unit-contact { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 680px) {
  .container { width: calc(100% - 40px); }
  .header-inner { min-height: 78px; }
  .brand { font-size: 1.12rem; }
  .brand-mark { font-size: 2.3rem; }
  .brand small { font-size: .75rem; letter-spacing: .17em; }
  .menu-toggle { font-size: .875rem; border-radius: 3px; }
  .home-hero { background: var(--school-gradient); }
  .home-hero .hero-grid { padding-block: 34px 30px; gap: 30px; }
  .home-hero .hero-copy::before { width: 48px; margin-bottom: 22px; }
  .home-hero h1 { font-size: clamp(2.1rem, 8.8vw, 3.25rem); }
  .home-hero h1 em { margin-top: 6px; }
  .home-hero h1 em::before { content: none; }
  .home-hero .hero-description { margin-top: 21px; }
  .home-hero .hero-actions { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: 22px; }
  .home-hero .hero-figure figcaption strong { font-size: 1.25rem; }
  .home-about, .home-units, .home-community, .home-studies { padding-block: 43px; }
  .home-about .intro-grid, .home-school .school-teaser, .home-learning .learning-grid, .home-community .community-preview { grid-template-columns: minmax(0, 1fr); gap: 27px; }
  .home-about h2, .home-community h2 { max-width: none; }
  .home-about h2, .home-community h2, .home-learning .learning-grid h2, .home-units h2 { font-size: 1.85rem; }
  .home-units .section-heading { gap: 20px; margin-bottom: 28px; }
  .home-units .unit-card { padding: 25px 0 32px; }
  .home-units .unit-card + .unit-card { border-left: 0; border-top: 1px solid #a9c0d1; padding: 25px 0 0; }
  .home-units .unit-card h3 { font-size: 2.25rem; }
  .home-units .unit-card > p { min-height: 0; }
  .home-units .unit-contact { flex-direction: row; align-items: center; margin-block: 23px; }
  .home-units .unit-top { margin-bottom: 8px; }
  .home-school { padding-block: 42px; }
  .school-teaser-mark { padding: 0; }
  .school-teaser-mark img { width: 235px; max-width: 100%; }
  .school-teaser-copy { border-left: 0; border-top: 1px solid #628199; padding: 27px 0 0; }
  .home-school .school-teaser h2 { font-size: 1.85rem; }
  .home-school .school-teaser .button { margin-top: 24px; }
  .home-community .community-preview > figure { max-width: 100%; }
.home-community h2 { margin-bottom: 24px; }
.community-stories > article { padding-block: 21px; }
.study-list > :is(a, article) { gap: 15px; grid-template-columns: 27px minmax(0, 1fr) 19px; padding-block: 23px; }
.home-contact { padding-block: 34px; }
  .home-contact h2 { font-size: 1.65rem; }
  .page-intro { padding-bottom: 33px; }
  .page-intro h1 { font-size: 2.2rem; }
  .footer-top { padding-block: 40px 32px; }
  .site-footer::before { left: 20px; width: 48px; }
  .footer-bottom { font-size: .8125rem; }
}
@media print {
  .home-hero, .home-school, .home-units, .home-studies, .page-intro { background: white; color: black; }
  .home-hero h1, .home-hero h1 em, .home-hero .hero-description, .page-description, .breadcrumbs, .breadcrumbs a { color: black; }
  .home-hero::after, .site-footer::after { display: none; }
  .home-hero .hero-figure { box-shadow: none; }
  .home-school .school-teaser { color: black; }
  .home-school .school-teaser p { color: black; }
  .school-teaser-mark { background: var(--navy); padding: 15px; print-color-adjust: exact; }
}


/* Informações práticas de visita na página inicial. */
.home-units .home-unit-address { font-style: normal; color: #344f63; line-height: 1.8; min-height: 87px; }
.home-units .home-unit-schedule { border-top: 1px solid #b9cdda; margin-top: 23px; padding-top: 20px; }
.home-units .home-unit-schedule h4 { font: 750 1rem/1.5 var(--sans); color: var(--navy); margin: 0 0 7px; }
.home-units .home-unit-schedule p { color: #344f63; font-size: 1rem; line-height: 1.75; max-width: 43ch; }
.home-units .home-visit-actions { margin-top: auto; padding-top: 24px; gap: 14px 24px; }
.home-units .home-visit-actions .button { background: var(--navy); color: white; border-color: var(--navy); }
.home-units .home-visit-actions .button:hover { background: var(--school-blue); border-color: var(--school-blue); }
.home-units .home-visit-actions a { font-size: .9375rem; }
.home-units .home-unit-schedule dl { margin: 14px 0 0; display: grid; gap: 8px; }
.home-units .home-unit-schedule dl > div { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; }
.home-units .home-unit-schedule dt { color: #344f63; }
.home-units .home-unit-schedule dd { font-weight: 750; color: var(--navy); margin: 0; text-align: right; }
@media (max-width: 680px) {
  .home-units .home-unit-address { min-height: 0; }
  .home-units .home-visit-actions { align-items: flex-start; flex-direction: column; }
  .home-units .home-unit-schedule dl > div { flex-wrap: wrap; gap: 3px 12px; }
}


.visit-schedule .meeting-hours { display: grid; gap: 10px; margin: 16px 0 22px; }
.visit-schedule .meeting-hours > div { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; }
.visit-schedule .meeting-hours dt { color: #344f63; }
.visit-schedule .meeting-hours dd { margin: 0; color: var(--navy); font-weight: 750; text-align: right; }
.home-units .home-unit-schedule .meeting-note, .visit-schedule .meeting-note { margin: 16px 0 0; font-size: .875rem; line-height: 1.7; color: #48667c; }
.visit-schedule .meeting-note + .text-link { margin-top: 15px; }
@media (max-width: 680px) {
  .visit-schedule .meeting-hours > div { flex-wrap: wrap; gap: 3px 12px; }
}


/* Fotos fornecidas pela comunidade: enquadramento completo e legendas externas. */
.home-hero .documentary-hero { height: auto; margin: 0; border-top-right-radius: 52px; }
.home-hero .documentary-hero > img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; }
.home-hero .documentary-hero::after { content: none; }
.home-hero .documentary-hero figcaption { position: static; padding: 14px 20px; background: #102f49; color: #dbe8f2; font: 500 .875rem/1.6 var(--sans); }
.home-school .school-teaser { grid-template-columns: 1.15fr 1fr; gap: 52px; }
.school-teaser-photo { min-width: 0; }
.school-teaser-photo > img, .school-classroom-photo > img { width: 100%; height: auto; border-radius: 9px; box-shadow: 0 8px 24px rgb(12 54 89 / 14%); }
.home-school .school-teaser-photo figcaption { margin-top: 11px; font-size: .875rem; line-height: 1.6; color: #dce7ef; }
.home-school .school-supplied-logo { width: 210px; max-width: 100%; height: auto; mix-blend-mode: screen; margin: 0 0 22px; }
.school-classroom-photo { min-width: 0; margin: 0; }
.school-classroom-photo figcaption { margin-top: 12px; line-height: 1.7; }
.story-portrait.supplied-portrait { width: 100%; max-width: 420px; margin-inline: auto; }
.story-portrait.supplied-portrait img { width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: contain; border-top-right-radius: 48px; }
.unit-detail-image.supplied-unit-photos { align-self: start; background: #edf2f6; min-width: 0; }
.unit-detail-image.supplied-unit-photos img { width: 100%; height: auto; min-height: 0; object-fit: contain; }
.supplied-unit-photos figure { margin: 0; }
.supplied-unit-photos figcaption { padding: 11px 20px 15px; font-size: .875rem; line-height: 1.65; }
.unit-photo-details { padding: 0 20px 15px; }
.unit-photo-details > summary { padding: 10px 0; cursor: pointer; color: var(--navy); font-size: .9375rem; font-weight: 700; }
.unit-photo-gallery { display: grid; gap: 20px; margin-top: 14px; }
.unit-photo-gallery figcaption { padding-left: 0; padding-right: 0; }
.unit-photo-gallery img { border-radius: 5px; }
@media (max-width: 900px) {
  .home-school .school-teaser { gap: 32px; }
}
@media (max-width: 680px) {
  .home-school .school-teaser { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .home-hero .documentary-hero { border-top-right-radius: 32px; }
  .home-school .school-supplied-logo { width: 185px; }
  .story-portrait.supplied-portrait { max-width: 390px; margin-inline: auto; }
}

/* Princípios da fé: leitura contínua no encerramento da home. */
.home-beliefs { background: #f1f5f8; border-block: 1px solid #d2dfe8; padding-block: 68px 76px; }
.beliefs-intro { display: grid; grid-template-columns: .8fr 1.2fr; gap: 56px; align-items: start; margin-bottom: 40px; }
.home-beliefs .beliefs-intro h2 { margin: 0; font-weight: 700; }
.home-beliefs .beliefs-intro p { margin: 0; color: #344f63; }
.beliefs-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 56px; }
.belief { min-width: 0; padding: 26px 0 28px; border-top: 1px solid #c7d8e5; }
.home-beliefs .belief h3 { margin: 0 0 14px; font: 700 1.375rem/1.4 var(--serif); color: var(--navy); letter-spacing: -.02em; }
.home-beliefs .belief p { margin: 0; color: #344f63; }
.belief-references { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 9px; margin-top: 16px; font-size: .875rem; line-height: 1.8; color: #45647c; }
.belief-references a { color: #245a83; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #94b3ca; }
.belief-references a:hover { color: #0c3659; text-decoration-color: currentColor; }
.belief-references a:focus-visible { outline: 2px solid #245a83; outline-offset: 4px; border-radius: 2px; }
@media (max-width: 760px) {
  .home-beliefs { padding-block: 44px; }
  .beliefs-intro { grid-template-columns: 1fr; gap: 20px; margin-bottom: 28px; }
  .beliefs-grid { grid-template-columns: 1fr; gap: 0; }
  .belief { padding-block: 23px 26px; }
  .home-beliefs .belief h3 { font-size: 1.25rem; }
  .belief:last-child { padding-bottom: 0; }
}

/* Cursos e textos de estudo reunidos na apresentação da Escola. */
.school-teaser-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 26px; margin-top: 26px; }
.home-school .school-teaser .school-teaser-actions .button { margin-top: 0; }
.school-teaser-actions .text-link { color: #fff; border-color: #8facc2; }
.school-teaser-actions .text-link:hover { color: var(--school-sky); border-color: var(--school-sky); }

/* Os triângulos prolongam a cor da seção anterior, sem bordas na junção. */
.home-hero + .home-units { border-top: 0; }
.home-beliefs { border-bottom: 0; }
main:has(> .home-beliefs:last-child) + .site-footer { --footer-divider-color: #f1f5f8; }
main:has(> .surface:last-child) + .site-footer { --footer-divider-color: var(--surface); }
main:has(> .timeline-provenance:last-child) + .site-footer { --footer-divider-color: #e0eaf2; }
main:has(> .timeline-section:last-child) + .site-footer { --footer-divider-color: #edf2f6; }

/* Fotos da unidade lado a lado, com a mesma altura e sem espaço entre elas. */
.home-hero .hero-photos {
  container-type: inline-size;
  --hero-photo-extra-height: 2.9rem;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  border-top-right-radius: 52px;
  box-shadow: 0 14px 34px rgb(0 0 0 / 26%);
}
.home-hero .hero-photos .documentary-hero {
  display: flex;
  flex-direction: column;
  min-width: 0;
  width: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
/* As imagens preenchem também a faixa antes ocupada pelas legendas. */
.home-hero .hero-photos .documentary-hero > img {
  aspect-ratio: auto;
  height: calc(75cqw + var(--hero-photo-extra-height));
  object-fit: cover;
}
.home-hero .hero-worship-photo > img { object-position: 60% center; }
.home-hero .hero-entrance-photo > img { object-position: center; }
@media (max-width: 680px) {
  .home-hero .hero-photos { --hero-photo-extra-height: 2.55rem; border-top-right-radius: 32px; }
}

/* timeline.css */
/* Acervo local: eixo cronológico, títulos claros e fotografias sem recorte. */
.timeline-intro .page-description { max-width: 68ch; }
.timeline-section { background: #edf2f6; padding-block: 42px 64px; }
.timeline-section .timeline-layout { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 52px; align-items: start; }
.timeline-index { position: sticky; top: 124px; }
.timeline-sidebar { align-self: stretch; }
.timeline-index h2 { font: 700 1rem/1.4 var(--sans); letter-spacing: 0; margin: 0 0 15px; }
.timeline-index nav { display: grid; gap: 3px; }
.timeline-index nav a { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 7px 10px; border-radius: 5px; color: var(--navy); font-weight: 650; text-decoration: none; border-left: 2px solid transparent; }
.timeline-index nav a:hover, .timeline-index nav a:focus-visible { background: #dbe7f0; border-left-color: var(--school-blue); }
.timeline-index small { font-size: .75rem; color: var(--muted); font-weight: 500; }
.timeline-index > p { margin-top: 22px; color: var(--muted); font-size: .8125rem; }
.timeline-feed { min-width: 0; max-width: 880px; }
.timeline-note { margin-bottom: 30px; padding: 18px 23px; background: #e1ebf3; border-left: 3px solid var(--school-blue); border-radius: 0 8px 8px 0; color: #324f64; font-size: .875rem; }
.timeline-note p { margin: 0; }
.timeline-note a { color: var(--navy); text-decoration: underline; font-weight: 700; }
.timeline-year { scroll-margin-top: 126px; }
.timeline-year + .timeline-year { margin-top: 46px; }
.timeline-year > h2 { display: flex; align-items: baseline; gap: 18px; margin: 0 0 22px; font: 700 2rem/1.2 var(--serif); color: var(--navy); letter-spacing: -.02em; }
.timeline-year > h2 small { font: 500 .8125rem/1.5 var(--sans); color: var(--muted); letter-spacing: 0; }
.timeline-year-posts { --timeline-gutter: 28px; border-left: 1px solid #b9cad7; margin-left: 8px; padding-left: var(--timeline-gutter); display: grid; gap: 25px; }
.timeline-post { position: relative; min-width: 0; background: white; border: 1px solid #d0dde6; border-radius: 10px; padding: 29px 32px 0; box-shadow: 0 4px 16px rgb(12 54 89 / 4%); scroll-margin-top: 126px; }
.timeline-post::before { content: ''; position: absolute; box-sizing: border-box; left: calc(-1 * var(--timeline-gutter, 28px) - 10px); top: 36px; width: 17px; height: 17px; border: 3px solid #edf2f6; border-radius: 50%; background: #a58748; box-shadow: 0 0 0 1px #b9cad7; }
.post-anchor { position: absolute; top: 0; scroll-margin-top: 126px; }
.post-header { border-top: 3px solid var(--gold); padding-top: 17px; margin-bottom: 19px; }
.post-meta { display: flex; flex-wrap: wrap; gap: 6px 18px; color: var(--muted); font-size: .75rem; line-height: 1.7; }
.post-meta time { color: var(--school-blue); font-weight: 750; }
.post-header h3 { color: #102f49; font: 700 clamp(1.3rem, 2.1vw, 1.75rem)/1.33 var(--serif); margin: 10px 0 0; letter-spacing: -.025em; text-wrap: pretty; }
main .timeline-post p.post-date-context { margin: 8px 0 0; font-size: .75rem; color: var(--muted); }
.post-content, .post-excerpt { color: #344c5d; font-size: 1rem; line-height: 1.85; overflow-wrap: anywhere; }
.post-content:empty { display: none; }
.post-content { padding-bottom: 5px; }
.post-content p, .post-content > div { margin: 0 0 16px; }
.post-content p:last-child, .post-content > div:last-child { margin-bottom: 0; }
.post-content strong { font-weight: 700; color: #213e53; }
.post-content ul, .post-content ol { padding-left: 23px; margin: 12px 0 20px; }
.post-content li + li { margin-top: 5px; }
.post-content a { color: #18568b; text-decoration: underline; }
.post-content h4 { font: 700 1.1rem/1.5 var(--sans); margin: 24px 0 14px; }
.post-content blockquote { border-left: 3px solid var(--gold); padding-left: 20px; margin-inline: 0; }
main .timeline-post p.post-hashtags { color: var(--muted); font-size: .8125rem; }
main .timeline-post p.post-notice { font-size: .8125rem; line-height: 1.7; color: #644f26; background: #faf4e6; border-radius: 6px; padding: 12px 15px; margin: 0 0 20px; }
.post-reading { margin-bottom: 20px; }
.post-reading > summary, .post-gallery > summary { cursor: pointer; color: var(--navy); font-weight: 700; font-size: .875rem; padding: 12px 0; }
.post-reading > summary:hover, .post-gallery > summary:hover { color: var(--school-link); }
.post-reading .when-open { display: none; }
.post-reading[open] .when-open { display: inline; }
.post-reading[open] .when-closed { display: none; }
.timeline-post:has(> .post-reading[open]) > .post-excerpt { display: none; }
.post-reading[open] > .post-content { padding-top: 12px; }
.post-photo { margin: 21px 0 0; padding: 12px; background: #f1f5f8; border: 1px solid #e0e8ee; border-radius: 6px; }
.post-photo img { display: block; width: var(--photo-display-width, auto); aspect-ratio: var(--photo-aspect, auto); height: auto; max-width: 100%; max-height: 610px; margin: 0 auto; object-fit: contain; border-radius: 2px; }
.post-image-link { display: block; cursor: zoom-in; }
.post-gallery { margin-top: 9px; }
.post-gallery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: start; margin: 9px 0 22px; }
.post-gallery-grid .post-photo { margin: 0; padding: 6px; }
.post-gallery-grid img { max-height: none; }
.post-video { margin: 22px 0; }
.post-video video { display: block; width: 100%; max-height: 550px; background: #0c1630; border-radius: 6px; }
.post-video figcaption { margin-top: 8px; font-size: .75rem; color: var(--muted); }
main .timeline-post p.post-video-reference { margin: 9px 0 0; font-size: .75rem; color: var(--muted); }
.post-embed { margin-top: 22px; }
.post-play-button { display: inline-flex; align-items: center; gap: 12px; text-align: left; padding: 13px 18px; border: 1px solid #afc6d7; border-radius: 7px; color: var(--navy); background: #e9f1f7; font: 700 .875rem/1.5 var(--sans); }
.post-play-button:hover { background: #dbe9f4; }
.post-player:empty { display: none; }
.post-player iframe { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 6px; margin-top: 15px; background: var(--deep); }
.post-footer { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 12px 22px; margin-top: 25px; padding: 18px 0; border-top: 1px solid #dde5eb; }
.post-footer > span { font-size: .6875rem; color: #5a7081; }
.post-footer a { color: #205b8c; font-size: .8125rem; font-weight: 750; text-decoration: underline; text-decoration-color: #aec4d6; }
.post-footer a:hover { color: var(--school-link); }
.timeline-provenance { background: #e0eaf2; padding-block: 25px; color: #486173; font-size: .8125rem; }
.timeline-provenance p { max-width: 100ch; margin: 0; }
.school-updates { background: #edf2f6; }
.school-post-feed { display: grid; gap: 25px; max-width: 780px; margin-inline: auto; }
.school-post-feed .timeline-post::before { content: none; }
.post-reading:focus-within, .post-gallery:focus-within { scroll-margin-top: 126px; }
@media (max-width: 1000px) {
  .timeline-section .timeline-layout { grid-template-columns: 115px minmax(0, 1fr); gap: 25px; }
  .timeline-post { padding: 24px 24px 0; }
}
@media (max-width: 680px) {
  .timeline-section { padding-block: 28px 40px; }
  .timeline-section .timeline-layout { grid-template-columns: minmax(0, 1fr); gap: 23px; }
  .timeline-index { position: static; }
  .timeline-index nav { display: flex; flex-wrap: wrap; gap: 7px; }
  .timeline-index nav a { background: #e0eaf2; padding: 7px 11px; gap: 10px; border-left: 0; }
  .timeline-index > p { margin: 13px 0 0; }
  .timeline-note { padding: 15px 17px; }
  .timeline-year-posts { --timeline-gutter: 15px; margin-left: 3px; gap: 20px; }
  .timeline-post { padding: 20px 18px 0; }
  .timeline-post::before { top: 35px; }
  .post-header h3 { font-size: 1.35rem; }
  .post-content, main .timeline-post .post-content p, main .timeline-post p.post-excerpt { font-size: .9375rem; line-height: 1.8; }
  .post-photo { padding: 6px; margin-top: 18px; }
  .post-photo img { width: var(--photo-natural-width, auto); max-height: none; }
  .post-gallery-grid { grid-template-columns: minmax(0, 1fr); }
  .post-footer { padding-block: 15px; gap: 9px; }
  .post-footer > span { flex-basis: 100%; }
  .timeline-year, .timeline-post, .post-anchor { scroll-margin-top: 100px; }
}
@media print {
  .timeline-sidebar, .post-reading > summary, .post-gallery > summary { display: none; }
  .timeline-section .timeline-layout { display: block; }
  .timeline-section { background: white; }
  .timeline-post { box-shadow: none; break-inside: avoid; }
  .post-excerpt { display: none; }
  .post-reading > .post-content, .post-gallery > .post-gallery-grid { display: block !important; }
}

/* Paginação da Comunidade, após o último ano da página. */
.timeline-pagination { margin: 34px 0 0 37px; padding-top: 26px; border-top: 1px solid #b9cad7; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
main .timeline-feed .timeline-pagination > p { margin: 0; color: var(--muted); font-size: .875rem; }
.timeline-pagination .button { font-size: .9375rem; min-height: 48px; }
@media (max-width: 680px) { .timeline-pagination { margin-left: 18px; align-items: flex-start; flex-direction: column; } .timeline-pagination .button { max-width: 100%; } }

.timeline-index .timeline-page-link { width: 100%; margin-top: 20px; padding: 12px 14px; gap: 10px; justify-content: space-between; font-size: .875rem; line-height: 1.5; text-align: left; }
.timeline-page-link > span:first-child { min-width: 0; }
.timeline-page-link > span[aria-hidden] { flex-shrink: 0; }
@media (max-width: 680px) { .timeline-index .timeline-page-link { width: auto; max-width: 100%; margin-top: 16px; } }

.timeline-index .timeline-page-link small {
  display: block;
  margin-top: 4px;
  color: inherit;
  font-size: .8125rem;
  font-weight: 500;
  letter-spacing: .02em;
}
.timeline-index > .timeline-total {
  margin-top: 16px;
  font-size: .875rem;
  line-height: 1.6;
}

/* Related source posts share a card; the original texts and links stay local. */
.timeline-index > .timeline-group-total { margin-top: 3px; font-size: .75rem; line-height: 1.6; color: var(--muted); }
.post-summary { color: #344c5d; line-height: 1.85; }
.post-sources { min-width: 0; max-width: 100%; }
.post-sources > summary { cursor: pointer; color: #205b8c; font-size: .8125rem; font-weight: 750; }
.post-sources ul { margin: 15px 0 0; padding-left: 18px; }
.post-sources li + li { margin-top: 14px; }
.post-sources a { overflow-wrap: anywhere; }
.post-sources .source-date { display: block; margin-top: 3px; font-size: .75rem; color: var(--muted); }
.post-footer:has(.post-sources[open]) { display: block; }
.post-sources[open] { margin-top: 12px; }
.grouped-texts { margin-top: 16px; }
.source-text { padding-top: 12px; scroll-margin-top: 125px; }
.source-text + .source-text { border-top: 1px solid #d7e2eb; margin-top: 22px; padding-top: 22px; }
.source-text > h4, .grouped-video > h4 { font: 750 1rem/1.55 var(--sans); color: #173b56; margin: 0 0 9px; overflow-wrap: anywhere; }
.source-text > .post-content { margin-top: 15px; }
.grouped-video + .grouped-video { padding-top: 20px; border-top: 1px solid #d7e2eb; }
.study-selection { background: #edf2f6; }
.study-selection-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.study-entry { background: white; border: 1px solid #cddde9; border-radius: 8px; padding: 27px 30px; }
.study-entry::before { content: ''; display: block; width: 42px; height: 3px; background: var(--gold); margin-bottom: 20px; }
.study-entry h2 { font-size: clamp(1.2rem, 2vw, 1.5rem); line-height: 1.4; margin: 10px 0 14px; }
.study-entry h2 a { color: var(--navy); text-decoration-thickness: 1px; text-underline-offset: 5px; }
.study-entry h2 a:hover { color: var(--school-link); text-decoration: underline; }
.study-entry h2 span { font-family: var(--sans); font-size: .9rem; }
.study-entry > p:last-child { color: var(--muted); font-size: .9375rem; margin: 0; }
.unit-detail .email-link { font-size: .875rem; overflow-wrap: anywhere; }
@media (max-width: 680px) {
  .study-selection-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .study-entry { padding: 23px; }
  .source-text { scroll-margin-top: 100px; }
}

/* languages.css */
/* Language choice stays beside the existing church identity. */
.brand-and-language { display:flex; align-items:center; gap:20px; flex-shrink:0; }
.language-switcher { position:relative; font-family:var(--sans); text-align:left; }
.language-switcher > summary { display:flex; align-items:center; justify-content:center; gap:8px; min-height:42px; padding:7px 10px; border:1px solid #456079; border-radius:5px; color:#fff; font-size:.8125rem; font-weight:700; line-height:1; cursor:pointer; list-style:none; }
.language-switcher > summary::-webkit-details-marker { display:none; }
.language-switcher > summary::after { display:none; }
.language-switcher > summary:hover, .language-switcher[open] > summary { background:#15364e; border-color:#8eb1cc; }
.language-switcher > summary:focus-visible, .language-panel a:focus-visible { outline:2px solid #e9c77f; outline-offset:3px; }
.language-flag { display:block; width:32px; height:24px; flex-shrink:0; object-fit:cover; border-radius:2px; box-shadow:0 0 0 1px #637c9040; }
.language-chevron { width:10px; height:7px; fill:none; stroke:currentColor; stroke-width:1.5; }
.language-switcher[open] .language-chevron { transform:rotate(180deg); }
.language-panel { position:absolute; top:calc(100% + 13px); left:0; z-index:100; width:264px; max-height:calc(100svh - 104px); overflow-y:auto; overscroll-behavior:contain; max-width:calc(100vw - 32px); padding:12px 8px 8px; background:#fff; border:1px solid #c4d4e0; border-top:3px solid #c5a259; border-radius:6px; box-shadow:0 14px 35px #0004; color:#14334b; }
.language-panel > p { margin:0 10px 8px; font-size:.75rem; font-weight:600; color:#51697c; }
.language-panel ul { list-style:none; margin:0; padding:0; }
.language-panel a { display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:center; gap:12px; min-height:44px; padding:9px 10px; border-radius:3px; font-size:.9375rem; line-height:1.35; color:#14334b; text-decoration:none; }
.language-panel a:hover, .language-panel a[aria-current] { background:#eaf1f6; color:#0c3659; }
.language-panel a[aria-current] { font-weight:800; box-shadow:inset 3px 0 #a7843e; }
.language-panel .language-flag { width:24px; height:18px; }
.language-code { color:#637c90; font-size:.75rem; }
.language-panel > small { display:block; margin:10px; font-size:.8125rem; line-height:1.45; color:#51697c; }
.link-language { font-size:.8em; font-weight:500; opacity:.88; }
.main-nav .link-language { display:block; font-size:.75rem; line-height:1.2; margin-top:3px; }
.original-language { color:var(--muted,#526d80); font-size:.875rem; margin:0 0 .65rem; }
.language-visit-note { max-width:66ch; margin-top:1.25rem; font-size:.9375rem; line-height:1.6; color:#c5d8e8; }
html:not([lang="pt-BR"]) .hero-copy h1 { overflow-wrap:normal; font-size:clamp(2.3rem,4.4vw,4rem); }
html:not([lang="pt-BR"]) .meeting-hours > div { gap:12px; }
html:not([lang="pt-BR"]) .meeting-hours dd { white-space:normal; }
html:not([lang="pt-BR"]) .unit-card, html:not([lang="pt-BR"]) .belief, html:not([lang="pt-BR"]) .course-overview { min-width:0; overflow-wrap:anywhere; }
html:lang(ja), html:lang(zh) { --sans:Manrope,"Yu Gothic","Hiragino Kaku Gothic ProN","Microsoft YaHei","Noto Sans CJK SC",sans-serif; --serif:var(--sans); }
html:lang(ja) body, html:lang(zh) body { line-height:1.85; line-break:strict; }
html:lang(ja) :is(h1,h2,h3), html:lang(zh) :is(h1,h2,h3) { letter-spacing:0; line-height:1.45; word-break:normal; }
html:lang(ja) :is(.eyebrow,.course-type), html:lang(zh) :is(.eyebrow,.course-type) { letter-spacing:.04em; }
.brand small { text-transform:uppercase; }
html:lang(ja) .brand, html:lang(zh) .brand { font-family:var(--sans); letter-spacing:0; }
html:lang(ja) .brand small, html:lang(zh) .brand small { letter-spacing:.08em; }
/* Measure the real navigation width instead of collapsing at a fixed desktop size. */
.container.header-inner { position:relative; gap:24px; }
.site-header .menu-toggle { display:none; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:10px 14px; appearance:none; background:transparent; border:1px solid #527f9f; border-radius:3px; color:#fff; font-size:.875rem; flex-shrink:0; }
.site-header .menu-lines { display:block; position:relative; width:20px; height:14px; flex-shrink:0; color:#bcd0df; border-block:2px solid currentColor; }
.site-header .menu-lines::before { content:""; position:absolute; left:0; right:0; top:50%; height:2px; background:currentColor; transform:translateY(-50%); }
.site-header .main-nav { display:flex; position:static; width:max-content; flex-shrink:0; flex-direction:row; flex-wrap:nowrap; align-items:center; gap:20px; padding:0; background:transparent; border:0; box-shadow:none; }
.site-header .main-nav > a:not(.button) { padding:0; font-size:.875rem; white-space:nowrap; }
.site-header .main-nav > a:not(.button)::after { display:block; }
.site-header .main-nav .button { margin-top:0; padding:11px 20px; align-self:center; white-space:nowrap; }
.site-header.is-compact .menu-toggle { display:flex; }
.site-header.is-compact .main-nav { display:none; position:absolute; top:100%; left:0; right:0; width:auto; background:#000; border:1px solid #000; padding:18px 22px; flex-direction:column; align-items:stretch; gap:0; z-index:60; }
.site-header.is-compact .main-nav.is-open { display:flex; }
.site-header.is-compact .main-nav > a:not(.button) { padding:13px 0; white-space:normal; }
.site-header.is-compact .main-nav > a:not(.button)::after { display:none; }
.site-header.is-compact .main-nav .button { margin-top:10px; padding:13px 20px; align-self:flex-start; }
.site-header.is-compact .main-nav .link-language { display:inline; }
@media (max-width:1000px) {
  html:not(.js) .header-inner { flex-wrap:wrap; padding-block:16px; }
  html:not(.js) .site-header .menu-toggle { display:none; }
  html:not(.js) .site-header .main-nav { position:static; width:100%; flex-wrap:wrap; gap:18px; }
}
@media (max-width:680px) {
  .site-header .menu-toggle { padding:9px 12px; }
  .brand-and-language { gap:12px; }
  .language-switcher > summary { gap:5px; min-height:40px; padding:7px; }
  .language-switcher > summary > span { display:none; }
  .language-switcher { position:static; }
  .language-panel { left:0; right:auto; top:calc(100% + 12px); }
  .language-visit-note { font-size:.875rem; }
}
@media (max-width:370px) {
  .site-header .brand { font-size:1rem; }
  .site-header .brand small { font-size:.65rem; letter-spacing:.12em; }
  .site-header .brand-mark { font-size:2.1rem; }
  .brand-and-language { gap:8px; }
  .site-header .menu-toggle { padding:9px; }
  .site-header .menu-toggle > span:first-child { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
}
@media (prefers-reduced-motion:reduce) { .language-switcher * { transition:none; } }
@media print { .language-switcher { display:none; } }

/* Korean keeps words together while still fitting narrow screens. */
html:lang(ko) { --sans:Manrope,"Malgun Gothic","Apple SD Gothic Neo","Noto Sans KR",sans-serif; --serif:var(--sans); }
html:lang(ko) body { line-height:1.8; word-break:keep-all; overflow-wrap:anywhere; }
html:lang(ko) :is(h1,h2,h3,.brand) { letter-spacing:0; line-height:1.45; }
html:lang(ko) :is(.eyebrow,.course-type,.brand small) { letter-spacing:.04em; }
.footer-bottom a { color:inherit; text-decoration:none; text-underline-offset:4px; white-space:nowrap; }
.footer-bottom a:hover { color:#fff; text-decoration:underline; }
.footer-bottom a:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }

/* analytics.css */
.analytics-preferences{background:#0c3659;text-align:center;padding:0 20px 20px;font-family:var(--sans,sans-serif)}
.analytics-preferences button{background:none;border:0;color:#fff;text-decoration:underline;cursor:pointer;font:inherit;padding:8px}
.analytics-preferences button[hidden]{display:none!important}
.analytics-preferences button:focus-visible{outline:3px solid #a7843e;outline-offset:3px}
