
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,600;1,500&family=Jost:wght@300;400;500&display=swap');
:root{--blue:#2457d6;--navy:#152847;--ink:#25304a;--gray:#6b7688;--faint:#98a3b5;--bg:#fdfdfe;--soft:#f4f7fb;--line:#e7ebf2}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Jost','Segoe UI',Arial,sans-serif;font-weight:400;color:var(--ink);line-height:1.8;background:var(--bg);font-size:1.01rem}
.wrap{max-width:1040px;margin:0 auto;padding:0 26px}
a{color:var(--blue)}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;color:var(--navy);line-height:1.28;font-weight:600}
header{background:rgba(253,253,254,.92);backdrop-filter:blur(10px);position:sticky;top:0;z-index:100;border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px;position:relative}
.logo{display:flex;align-items:center;color:var(--navy);text-decoration:none;font-family:'Playfair Display',serif;font-weight:600;font-size:1.18rem;letter-spacing:1.5px}
.logo b{color:var(--faint);font-weight:500;margin-left:7px}
.logo img{height:36px;margin-right:10px}
nav ul{list-style:none;display:flex;gap:6px}
nav li{position:relative}
nav a{color:var(--gray);text-decoration:none;font-weight:400;font-size:.76rem;text-transform:uppercase;letter-spacing:2px;padding:10px 11px;display:block;position:relative;transition:color .25s}
nav>ul>li>a:after{content:"";position:absolute;left:11px;right:11px;bottom:4px;height:1px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .3s}
nav>ul>li:hover>a{color:var(--navy)}
nav>ul>li:hover>a:after{transform:scaleX(1)}
nav li ul{display:none;position:absolute;top:100%;left:0;background:#fff;min-width:280px;padding:12px 0;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 44px rgba(21,40,71,.10);max-height:66vh;overflow:auto}
nav li:hover ul{display:block}
nav li ul li a{padding:8px 22px;font-size:.85rem;text-transform:none;letter-spacing:.3px;color:var(--ink)}
nav li ul li a:hover{background:var(--soft);color:var(--blue)}
.btn{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;font-family:'Jost',sans-serif;font-weight:500;font-size:.76rem;text-transform:uppercase;letter-spacing:2.4px;padding:13px 30px;border:1px solid var(--blue);border-radius:60px;cursor:pointer;transition:all .28s}
.btn:hover{background:var(--navy);border-color:var(--navy);transform:translateY(-1px);box-shadow:0 10px 24px rgba(21,40,71,.18)}
.btn-outline{background:transparent;color:var(--navy);border:1px solid #cdd6e4}
.btn-outline:hover{background:#fff;color:var(--blue);border-color:var(--blue);box-shadow:0 10px 24px rgba(36,87,214,.10)}
.menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--navy);font-size:1.25rem;padding:4px 12px;border-radius:8px}
/* HERO com relógio animado ao fundo */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#f7fafd 0%,#eef3fa 100%);padding:112px 0 124px;text-align:left}
.bgwatch{position:absolute;right:-340px;top:50%;transform:translateY(-50%);width:680px;opacity:.13;pointer-events:none}
.hand{transform-origin:100px 100px}
.hand.h{animation:spin 240s linear infinite}
.hand.m{animation:spin 60s linear infinite}
.hand.s{animation:spin 10s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.hero .kicker{font-size:.72rem;letter-spacing:5px;text-transform:uppercase;color:var(--faint);margin-bottom:18px}
.hero h1{font-size:3rem;margin-bottom:22px;letter-spacing:.4px;max-width:640px}
.hero h1 em{color:var(--blue);font-style:italic}
.hero p{max-width:560px;margin:0 0 42px;font-size:1.05rem;font-weight:300;color:var(--gray)}
.hero .rule{width:56px;height:1px;background:var(--blue);margin:0 0 28px}
.crumb{font-size:.7rem;color:var(--faint);padding:20px 0 0;text-transform:uppercase;letter-spacing:2px}
.crumb a{color:var(--faint);text-decoration:none}
.crumb a:hover{color:var(--blue)}
main{padding:46px 0 76px}
article h1{font-size:2.1rem;margin-bottom:10px;padding-bottom:20px;position:relative}
article h1:after{content:"";position:absolute;left:0;bottom:0;width:48px;height:1px;background:var(--blue)}
article h2{font-size:1.42rem;margin:40px 0 14px}
article h3{font-size:1.02rem;font-weight:500;margin:26px 0 8px;font-family:'Jost',sans-serif;color:var(--navy);letter-spacing:.2px}
article p,article li{margin-bottom:11px;color:#3a465e}
article ul,article ol{padding-left:24px;margin-bottom:16px}
article hr{border:none;border-top:1px solid var(--line);margin:38px 0}
article a{text-decoration-thickness:1px;text-underline-offset:3px}
.cta-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:38px 40px;margin-top:48px;text-align:center;box-shadow:0 10px 34px rgba(21,40,71,.05)}
.cta-box h2{margin-top:0}
.cta-box .btn{margin:6px 6px 0}
.aviso{background:var(--soft);border-radius:12px;padding:16px 22px;font-size:.87rem;color:var(--gray);margin-top:32px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:30px 0}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;transition:all .3s}
.card:hover{box-shadow:0 16px 40px rgba(21,40,71,.09);transform:translateY(-4px);border-color:#d5ddea}
.card h3{margin:0 0 10px;font-family:'Playfair Display',serif;font-size:1.08rem}
.card p{font-size:.92rem;color:var(--gray)}
.card a{text-decoration:none;color:var(--navy)}
.card a:hover{color:var(--blue)}
.meta{font-size:.72rem;color:var(--faint);margin-bottom:18px;text-transform:uppercase;letter-spacing:1.8px}
.tag{display:inline-block;background:var(--soft);border-radius:30px;padding:2px 12px;margin-right:6px;font-size:.68rem;letter-spacing:.8px;color:var(--gray)}
footer{background:var(--soft);border-top:1px solid var(--line);color:var(--gray);padding:56px 0 34px;margin-top:40px;font-size:.92rem;font-weight:300}
footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:38px;margin-bottom:34px}
footer h4{color:var(--navy);font-family:'Jost',sans-serif;font-weight:500;font-size:.72rem;text-transform:uppercase;letter-spacing:2.6px;margin-bottom:14px}
footer a{color:var(--gray);text-decoration:none;display:block;margin-bottom:7px;font-size:.88rem;transition:color .2s}
footer a:hover{color:var(--blue)}
footer .base{border-top:1px solid var(--line);padding-top:22px;font-size:.76rem;text-align:center;letter-spacing:.8px;color:var(--faint)}
.whats{position:fixed;right:20px;bottom:20px;width:52px;height:52px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;text-decoration:none;box-shadow:0 8px 22px rgba(0,0,0,.22);z-index:200;transition:transform .25s}
.whats:hover{transform:scale(1.08)}
form .fld{width:100%;padding:13px 18px;margin-bottom:13px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;font-size:.95rem;transition:border .2s}
form .fld:focus{outline:none;border-color:var(--blue)}
textarea.fld{min-height:130px}
@media(max-width:900px){
.menu-btn{display:block}
nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:12px 0;max-height:75vh;overflow:auto;box-shadow:0 22px 36px rgba(21,40,71,.10)}
nav.open{display:block}
nav ul{flex-direction:column}
nav li ul{display:block;position:static;box-shadow:none;border:none;border-radius:0;padding-left:16px;max-height:none}
.hero h1{font-size:2rem}
.hero{padding:64px 0 76px}
.bgwatch{width:400px;right:-200px}
footer .cols{grid-template-columns:1fr}
}

nav a{white-space:nowrap}
nav ul{align-items:center}
.nav-cta{padding:10px 22px;font-size:.68rem;letter-spacing:2px;margin-left:10px}
@media(max-width:1100px){nav a{letter-spacing:1.2px;padding:10px 8px;font-size:.72rem}}
@media(max-width:900px){.nav-cta{display:none}}

@media(min-width:901px){nav{flex:1;display:flex;justify-content:center;min-width:0}nav ul{flex-wrap:nowrap}}
@media(min-width:901px) and (max-width:1280px){nav a{letter-spacing:1px;padding:10px 7px;font-size:.7rem}}
/* ---- seções da home ---- */
.sect{padding:74px 0}
.sect-alt{background:var(--soft)}
.sechead{text-align:center;max-width:640px;margin:0 auto 46px}
.sechead .kicker{font-size:.7rem;letter-spacing:4px;text-transform:uppercase;color:var(--faint);margin-bottom:12px}
.sechead h2{font-size:1.9rem;margin-bottom:12px}
.sechead p{color:var(--gray);font-weight:300}
.icards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.icard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;transition:all .3s;text-align:left}
.icard:hover{box-shadow:0 18px 44px rgba(21,40,71,.10);transform:translateY(-4px)}
.icard .ic{width:46px;height:46px;border-radius:12px;background:var(--soft);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.icard .ic svg{width:24px;height:24px;stroke:var(--blue);fill:none;stroke-width:1.6}
.icard h3{font-size:1.04rem;margin:0 0 8px}
.icard p{font-size:.9rem;color:var(--gray);margin:0 0 10px}
.icard a{font-size:.78rem;text-transform:uppercase;letter-spacing:1.6px;text-decoration:none;color:var(--blue)}
.trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:8px}
.trust div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 22px;font-size:.9rem;color:var(--ink);display:flex;align-items:center;gap:12px}
.trust svg{width:20px;height:20px;stroke:var(--blue);fill:none;stroke-width:1.8;flex-shrink:0}
.mapwrap{display:grid;grid-template-columns:1fr 1.1fr;gap:54px;align-items:center}
.brmap{width:100%;max-width:420px;margin:0 auto;display:block}
.brmap .terra{fill:#e3ebf7;stroke:#b9c9e4;stroke-width:1.5}
.pin{fill:var(--blue)}
.pulse{fill:none;stroke:var(--blue);stroke-width:1;animation:pulse 2.4s ease-out infinite;transform-origin:center}
@keyframes pulse{0%{opacity:.9;r:3}70%{opacity:0;r:13}100%{opacity:0;r:13}}
.steps{counter-reset:st;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px}
.step{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px 22px;position:relative}
.step:before{counter-increment:st;content:counter(st,decimal-leading-zero);font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--blue);display:block;margin-bottom:8px}
.step h3{font-size:.98rem;margin:0 0 6px;font-family:'Jost',sans-serif;font-weight:500}
.step p{font-size:.85rem;color:var(--gray);margin:0}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px}
.quotebox{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px}
.quotebox p{font-family:'Playfair Display',serif;font-style:italic;color:var(--ink);font-size:1rem;margin-bottom:14px}
.quotebox span{font-size:.78rem;text-transform:uppercase;letter-spacing:1.6px;color:var(--faint)}
.linkrow{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.linkrow a{background:#fff;border:1px solid var(--line);border-radius:40px;padding:9px 20px;font-size:.85rem;color:var(--ink);text-decoration:none;transition:all .25s}
.linkrow a:hover{border-color:var(--blue);color:var(--blue);box-shadow:0 8px 20px rgba(36,87,214,.10)}
@media(max-width:900px){.mapwrap{grid-template-columns:1fr}.sect{padding:52px 0}}

.wrap-wide{max-width:1400px;margin:0 auto;padding:0 30px}

.pagefoto{margin:26px 0 8px}
.pagefoto img{width:100%;max-height:330px;object-fit:cover;border-radius:16px;box-shadow:0 14px 36px rgba(21,40,71,.12)}
.fotoband{margin:0 0 0}
.fotoband img{width:100%;height:380px;object-fit:cover;display:block}

.pagefoto figcaption{font-size:.76rem;color:var(--faint);margin-top:8px;text-align:center;letter-spacing:.5px}
