:root{color-scheme:light;--forest:#28645f;--deep:#183c3b;--paper:#f1f5f4;--ink:#263b3a;--muted:#53615f;--line:#d5e1df;--lime:#a8dfd7}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;color:var(--ink);font:1rem/1.65 "DM Sans",system-ui,sans-serif;background:#fff}
a{color:inherit} svg{width:1.3em;height:1.3em;flex:none;vertical-align:middle}.icons{position:absolute;width:0;height:0;overflow:hidden}
.wrap{width:min(1120px,calc(100% - 64px));margin-inline:auto}
.skip{position:absolute;left:12px;top:12px;z-index:3;padding:8px 16px;background:white;transform:translateY(-160%)}.skip:focus{transform:none}
:focus-visible{outline:3px solid #317970;outline-offset:5px}.hero :focus-visible,.floating:focus-visible{outline-color:#6fb4ac}
.site-header{background:#fff}.header-inner,.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}.header-inner{min-height:82px}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;line-height:1.15}
.header-contact{display:inline-flex;align-items:center;gap:7px;font-weight:650;text-decoration:none;padding:.5rem 0}
.hero{background:radial-gradient(ellipse at 80% 24%,#39736f,transparent 65%),var(--deep);color:white}
.hero-grid{display:grid;grid-template-columns:1.25fr .82fr;gap:clamp(28px,6vw,86px);align-items:center;padding-block:clamp(50px,8vw,105px)}
.eyebrow{margin:0 0 18px;font-size:.72rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.hero-copy .eyebrow{color:#d0ece7}.eyebrow span{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);vertical-align:2px;margin-right:7px}
h1,h2{font-family:"Instrument Serif",Georgia,serif;font-weight:500;letter-spacing:-.045em;line-height:1.02;margin:0}
h1{font-size:clamp(3rem,6.6vw,6rem);max-width:10ch}h1 em{color:var(--lime);font-weight:inherit}
h2{font-size:clamp(2rem,4vw,3.2rem)}h3{font-size:1.05rem;margin:0 0 7px}
.intro{max-width:49ch;color:#e4eeed;margin:23px 0 26px;font-size:1.04rem}
.button{display:inline-flex;min-height:54px;align-items:center;gap:10px;background:var(--lime);color:var(--deep);border-radius:8px;text-decoration:none;padding:12px 16px;font-weight:750}.button:hover{background:#c6eee8}.button span{margin-left:5px}
.checklist{background:var(--paper);color:var(--ink);border-radius:12px;padding:clamp(23px,4vw,42px);box-shadow:0 20px 60px #071a1350}.checklist .eyebrow{color:var(--muted);margin-bottom:12px}.checklist h2{font-size:clamp(1.95rem,3.5vw,2.8rem)}
.checklist ul{list-style:none;padding:0;margin:22px 0 14px}.checklist li{display:flex;gap:9px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line)}.checklist li span{color:#286e67;font-weight:bold}.checklist>p:last-child{font-size:.9rem;color:var(--muted);margin:16px 0 0}
.situations,.faq{padding-block:clamp(42px,6.5vw,76px)}.topics{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:27px}.topics article{border-top:2px solid #83b8b2;padding-top:16px}.topics p,.faq p{color:var(--muted);margin:0}
.faq{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.5fr;gap:34px}details{border-bottom:1px solid var(--line);padding:12px 0}details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;font-weight:650}details p{padding:8px 0 0}
footer{background:var(--paper);color:var(--muted);padding:25px 0 34px;font-size:.9rem}.footer-inner{padding-right:52px}footer strong{color:var(--ink)}
.floating{position:fixed;z-index:2;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--forest);color:white;border:2px solid white;box-shadow:0 4px 20px #112c2640}.floating svg{width:28px;height:28px}.floating:hover{background:#377c75}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.hero-grid,.faq{grid-template-columns:1fr}.hero-grid{gap:32px}.topics{grid-template-columns:1fr;gap:16px}.footer-inner{align-items:flex-start;flex-direction:column}.header-inner{min-height:70px}}
@media(max-width:370px){.header-contact{font-size:.82rem}.button{font-size:.88rem}}

/* Fotografia e cores da Pontes Santos */
:root{--forest:#28645f;--deep:#183c3b;--paper:#f1f5f4;--ink:#263b3a;--muted:#53615f;--line:#d5e1df;--lime:#a8dfd7}
.site-header{background:#f5f7f7;border-bottom:1px solid #e1e9e8}
.hero{background:radial-gradient(ellipse at 75% 90%,#39736f,transparent 65%),var(--deep)}
.hero-grid{grid-template-columns:1.04fr 1fr;gap:clamp(28px,6vw,76px);padding-block:clamp(45px,6.2vw,82px)}
.hero-copy{position:relative}
h1{max-width:11ch;font-size:clamp(3.25rem,6.6vw,6.25rem);line-height:.99}
.intro{margin-block:24px 30px}
.hero-photo,.document-photo{margin:0;overflow:hidden;background:#d4e1df}
.hero-photo{height:clamp(350px,39vw,500px);border-radius:120px 10px 10px 10px;position:relative;isolation:isolate}
.hero-photo img,.document-photo img{display:block;width:100%;height:100%;object-fit:cover}
.hero-photo img{object-position:50% 42%}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#246c6533,transparent 65%);pointer-events:none}
.button{border-radius:6px;min-height:56px;padding-inline:18px}
.situations{padding-block:clamp(48px,6vw,78px)}
.topics article{background:#edf5f3;border:0;border-top:3px solid #83b8b2;border-radius:0 0 8px 8px;padding:20px 18px}
.document-section{background:var(--paper);padding-block:clamp(30px,5vw,64px)}
.document-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4.5vw,64px);align-items:center}
.document-photo{height:100%;min-height:320px;border-radius:8px 8px 64px 8px}
.document-photo img{object-position:50% 45%}
.checklist{background:transparent;box-shadow:none;padding:8px 0}
.checklist h2{font-size:clamp(2.2rem,4vw,3.35rem)}
.faq{border-top:0}
footer{background:var(--deep);color:#d8e9e7}
footer strong{color:white}
@media(max-width:760px){
 .hero-grid,.document-grid{grid-template-columns:1fr}
 .hero-grid{gap:30px}
 .hero-photo{height:clamp(230px,62vw,420px);border-top-left-radius:70px}
 .hero-photo img{object-position:center 39%}
 .document-photo{min-height:0;height:clamp(190px,55vw,360px)}
 .checklist{grid-row:1}
 h1{font-size:clamp(2.75rem,11.6vw,4.6rem)}
}


/* Enquadra a marca original, sem a margem do envelope. */
.header-inner{min-height:104px}
.brand-logo{position:relative;display:block;width:clamp(118px,16vw,152px);aspect-ratio:1060/650;overflow:hidden;border-radius:4px}
.brand-logo img{position:absolute;display:block;width:139.623%;max-width:none;height:auto;left:-17.453%;top:-109.231%;filter:url(#logo-sem-fundo)}
@media(max-width:760px){.header-inner{min-height:88px}}
