:root{--ink:#173529;--muted:#4e6157;--cream:#faf6ed;--gold:#b89a62;--line:#cdbb96;--teal:#32aebb;--mint:#e5efea;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink);font:1rem/1.6 system-ui,sans-serif}
a{color:inherit;text-underline-offset:.28em}
a:focus-visible,summary:focus-visible{outline:3px solid #14838d;outline-offset:5px}
img{display:block;max-width:100%;height:auto}
p,h1,h2,h3,figure{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.07}
h1{font-size:clamp(2.85rem,5.2vw,5rem);letter-spacing:-.055em}
h2{font-size:clamp(2.15rem,3.55vw,3.55rem);letter-spacing:-.045em}
h3{font-size:1.55rem}
p{color:var(--muted)}
.shell{width:min(1120px,calc(100% - 72px));margin-inline:auto}
.section{padding-block:clamp(48px,6.3vw,86px)}
.kicker{font-size:.72rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;margin-bottom:16px;color:#315a4b}
.kicker span{color:#23858b;margin-inline:4px}
.skip{position:absolute;top:0;left:16px;padding:8px 16px;background:white;transform:translateY(-110%);z-index:3}
.skip:focus{transform:none}
.nav{min-height:93px;display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center}
.brand{justify-self:start}
.brand img{width:172px}
.nav nav{display:flex;gap:30px;font-size:.9rem}
.nav a{text-decoration:none}
.nav nav a:hover,.text-link:hover,.local:hover{color:#1b716f}
.nav-book{justify-self:end;border:1px solid var(--line);padding:8px 17px;font-size:.88rem}
.intro{border-block:1px solid var(--line);background:radial-gradient(ellipse at 24% 44%,#fffaf0,transparent 70%),#f1e8d8}
.intro-grid{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:40px;min-height:565px;padding-block:46px}
.intro-copy{position:relative;z-index:1}
.intro h1 em{font-weight:400;color:#286456}
.lead{max-width:43ch;margin:22px 0 26px;font-size:1.12rem}
.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:49px;padding:11px 22px;border-radius:3px;background:var(--ink);color:#fffaf0;text-decoration:none;font-size:.9rem;font-weight:650}
.button:hover{background:#286456}
.local{display:block;width:fit-content;margin-top:14px;font-size:.85rem}
.portrait{position:relative;justify-self:center;width:min(100%,332px);padding:8px;border:1px solid var(--gold);background:var(--cream)}
.portrait img{width:100%;height:398px;object-fit:cover;object-position:50% 10%;border-radius:1px}
.portrait figcaption{display:flex;justify-content:space-between;align-items:center;gap:7px;padding:10px 5px 4px;font:1.04rem var(--serif)}
.portrait small{font:650 .65rem system-ui;letter-spacing:.09em;white-space:nowrap}
.process,.exam-section,.questions-grid{display:grid;grid-template-columns:1fr 2fr;gap:clamp(26px,5vw,76px)}
.process ol{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;list-style:none;margin:0;padding:0}
.process li{border-top:1px solid var(--line);padding-top:12px}
.process li span{display:block;color:#277568;font:italic 1.8rem var(--serif);margin-bottom:8px}
.process li p,.exam-section p:not(.kicker){margin-top:10px;font-size:.92rem}
.text-link{display:inline-block;margin-top:16px;font-size:.9rem;font-weight:650}
.areas{background:var(--mint);border-block:1px solid #adbcad}
.area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px;align-items:start}
.area{background:#fcf9f0;border:1px solid var(--line);position:relative;min-width:0}
.area summary{display:grid;align-content:start;gap:12px;padding:20px;min-height:153px;list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}
.area svg{width:29px;height:29px;color:#286456}
.area summary span{font:1.27rem/1.12 var(--serif)}
.area small{color:var(--muted);font-size:.72rem}
.area small::after{content:' +';font-weight:700}
.area[open] small::after{content:' −'}
.area p{padding:0 20px 17px;font-size:.85rem}
@media(hover:hover){.area:hover,.area:focus-within{border-color:#487c6f;background:#fffdf7}}
.exam-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.exam-grid a{border:1px solid var(--line);padding:7px;text-decoration:none;background:#fffaf2}
.exam-grid a:hover{border-color:#28756b}
.exam-grid img{width:100%;aspect-ratio:1.25;object-fit:cover}
.exam-grid span{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 4px 5px;font:clamp(1rem,1.65vw,1.35rem) var(--serif)}
.course{background:var(--ink);color:var(--cream);border-block:1px solid var(--gold)}
.course-grid{display:grid;grid-template-columns:minmax(0,350px) minmax(0,410px);justify-content:center;gap:clamp(25px,8vw,100px);align-items:center}
.course img{width:100%;border:1px solid var(--gold);padding:6px}
.course p{color:#e0ebe1}
.course p:not(.kicker){margin:16px 0 20px}
.course .kicker{color:#9ddde1}
.course .button{background:var(--cream);color:var(--ink)}
.course .button:hover{background:#dcebe6}
.quiz{padding-block:32px;display:flex;justify-content:space-between;gap:24px;align-items:center}
.quiz h2{font-size:clamp(1.7rem,2.8vw,2.5rem)}
.quiz p:not(.kicker){margin-top:8px}
.quiz .text-link{flex:none}
.questions{border-block:1px solid var(--line);background:#f4eddf}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:15px;list-style:none;padding:14px 0;cursor:pointer;font-weight:600}
.faq summary::after{content:'+';font-size:1.25rem}
.faq [open] summary::after{content:'−'}
.faq p{padding-bottom:14px;font-size:.93rem}
.footer{display:flex;justify-content:space-between;gap:12px;padding-block:24px;font-size:.83rem}
@media(max-width:900px){.intro-grid{min-height:0}.desktop{display:none}.portrait img{height:350px}.process,.exam-section,.questions-grid{grid-template-columns:1fr}.area-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.shell{width:calc(100% - 36px)}.nav{grid-template-columns:1fr auto;gap:0 12px;padding-block:8px}.brand img{width:137px}.nav nav{grid-area:2/1/3/3;justify-content:center;gap:28px;border-top:1px solid var(--line);padding-top:7px}.nav-book{grid-area:1/2;font-size:.81rem;padding:6px 10px}.intro-grid{grid-template-columns:1fr;gap:27px;padding-block:28px 32px}.lead{margin-block:16px 19px;font-size:1rem}.portrait{width:min(100%,300px)}.portrait img{height:300px}.process ol{grid-template-columns:1fr;gap:14px}.process li{display:grid;grid-template-columns:42px 1fr;column-gap:9px}.process li span{grid-row:span 2;margin:0}.process li p{margin-top:4px}.area-grid,.exam-grid{gap:10px}.area summary{padding:15px;min-height:151px}.area p{padding-inline:15px}.exam-grid img{aspect-ratio:1}.course-grid{grid-template-columns:1fr}.course img{width:min(100%,320px)}.quiz{display:block}.footer{flex-wrap:wrap}}

.intro-grid{position:relative;isolation:isolate}.intro-grid::after{content:"";position:absolute;z-index:-1;inset:auto -10px 0 auto;width:min(48%,550px);height:280px;background:url(gravura-oliva.webp) center/contain no-repeat;opacity:.6;transform:scaleX(-1);pointer-events:none}@media(max-width:620px){.intro-grid::after{width:100%;height:190px;opacity:.37}}


/* Approved desktop artwork with native links and accessible HTML underneath. */
.desktop-art,.mobile-hero-photo{display:none}
.feature-art img{width:100%;height:auto}
.process+.feature-art{margin-bottom:clamp(34px,5vw,68px)}
.art-equivalent{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.about{padding-bottom:0}
.exam-grid a{display:flex;flex-direction:column;justify-content:space-between}
.exam-grid img{height:clamp(160px,24vw,290px);aspect-ratio:auto;object-fit:contain;background:#173529}
@media(min-width:1050px) {
  .desktop-art.art-ready{display:block;position:relative;width:min(100%,1240px);height:min(6.2vw,76.88px);margin-inline:auto}
  .desktop-art picture>img{position:absolute;inset:0;width:100%;height:auto;pointer-events:none}
  .art-nav{position:relative;display:block;min-height:0;height:100%}
  .art-nav a{position:absolute;display:block;color:transparent;background:none;border:0;padding:0;min-height:0}
  .art-nav .brand{top:10%;left:7.2%;width:18.2%;height:72%}
  .art-nav .brand img{opacity:0;width:100%;height:100%}
  .art-nav .nav-consulta{top:23%;left:40%;width:6.6%;height:55%}
  .art-nav .nav-exames{top:23%;left:48.4%;width:5.1%;height:55%}
  .art-nav .nav-curso{top:23%;left:55.7%;width:5%;height:55%}
  .art-nav .nav-book{top:23%;left:84.6%;width:8.7%;height:49%}
  .art-nav a:hover,.art-nav a:focus-visible{color:transparent;outline:2px solid #23858b;outline-offset:2px}
  body:has(.art-ready)>.nav{display:none}
  body:has(.art-ready) .intro{position:relative;background:none;border:0}
  body:has(.art-ready) .intro-grid{display:block;width:min(100%,1240px);height:min(43.8vw,543.12px);min-height:0;padding:0;isolation:auto}
  body:has(.art-ready) .intro-grid::after{display:none}
  body:has(.art-ready) .intro-copy{position:static}
  body:has(.art-ready) .intro-copy>p,
  body:has(.art-ready) .intro-copy h1,
  body:has(.art-ready) .portrait{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  body:has(.art-ready) .intro .button,
  body:has(.art-ready) .intro .local{position:absolute;left:7.5%;margin:0;padding:0;background:none;color:transparent;min-height:0}
  body:has(.art-ready) .intro .button{top:70.4%;width:24.7%;height:9.8%}
  body:has(.art-ready) .intro .local{top:82.8%;width:35.5%;height:6.6%}
  body:has(.art-ready) .intro a:hover{outline:2px solid #23858b;outline-offset:2px}
}
@media(max-width:1049px){
  .mobile-hero-photo{display:block}.mobile-hero-photo>img{width:100%;height:auto;aspect-ratio:740/770}
  .portrait>img{display:none}
  .portrait figcaption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
}
@media(max-width:720px){
  .art-equivalent{position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal;border:1px solid var(--line);padding:20px;background:#fffbf2}
  .art-equivalent h2{font-size:1.85rem;margin-bottom:10px}
  .art-equivalent h3{font-size:1.25rem;margin-top:14px}
  .art-equivalent ul{margin:12px 0;padding-left:1.2rem}
}




.quiz-button{position:relative;display:inline-flex;flex:none;align-items:center;justify-content:space-between;gap:24px;min-height:60px;min-width:215px;padding:12px 21px;border:1px solid #88662c;outline:1px solid #a77d39;outline-offset:-5px;background:#e4c383;color:#173529;font:600 1.25rem/1.2 Georgia,serif;text-decoration:none}
.quiz-button::before,.quiz-button::after{content:'';position:absolute;width:8px;height:8px;background:var(--cream);pointer-events:none}
.quiz-button::before{top:-1px;left:-1px;border-bottom:1px solid #88662c;border-right:1px solid #88662c}
.quiz-button::after{bottom:-1px;right:-1px;border-top:1px solid #88662c;border-left:1px solid #88662c}
.quiz-button:hover{background:#efd39d}
.quiz-button:focus-visible{outline:3px solid #14838d;outline-offset:4px}
@media(max-width:620px){.quiz-button{display:flex;width:100%;min-width:0;margin-top:18px}}
.quiz-button{border:12px solid transparent;border-image:url(plaqueta.svg) 20 fill stretch;outline:none;background:transparent;padding:5px 12px}
.quiz-button::before,.quiz-button::after{content:none}
.quiz-button:hover{background:transparent;filter:brightness(.96)}
.quiz-button:focus-visible{outline:3px solid #14838d;outline-offset:4px}
