/*
Theme Name: Instituto Drefahl
Theme URI: https://drefahl.agenciaborsato.com.br
Author: Agência Borsato
Description: Migração WordPress fiel à identidade visual do Instituto Drefahl.
Version: 1.1.0
Text Domain: instituto-drefahl
*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800&display=swap');

:root{--black:#110c10;--black-soft:#181214;--gold:#c49b3c;--gold-light:#f0d882;--cream:#f2ede3;--brown:#514228;--copy:#555}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--brown);font-family:Montserrat,Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-shell{overflow:hidden}.wrap{margin:0 auto;width:min(1280px,calc(100% - 64px))}

.site-header{background:var(--black);border-bottom:1px solid rgba(255,255,255,.04);color:#fff;position:relative;z-index:10}.nav{align-items:center;display:grid;grid-template-columns:1fr auto 1fr;min-height:108px}.nav-side{align-items:center;display:flex;gap:46px}.nav-left{justify-content:flex-start}.nav-right{justify-content:flex-end}.nav-side a{color:rgba(255,255,255,.92);font-size:1.05rem;font-weight:300;transition:color .2s}.nav-side a:hover{color:var(--gold-light)}.brand-logo img{height:67px;width:auto}.nav-contact{border:2px solid rgba(196,155,60,.9);border-radius:12px;padding:9px 17px}.menu-toggle,.mobile-menu{display:none}

.hero{color:#fff;isolation:isolate;min-height:calc(100vh - 108px);overflow:hidden;position:relative}.hero-background{height:100%;inset:0;max-width:none;object-fit:cover;object-position:center;position:absolute;width:100%;z-index:-3}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.74) 38%,rgba(0,0,0,.24) 67%,rgba(0,0,0,.04) 100%);inset:0;position:absolute;z-index:-2}.hero-content{align-items:flex-start;display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 108px);padding:65px 0 75px}.hero-pretitle{font-size:clamp(1.65rem,2.8vw,2.55rem);font-weight:300;letter-spacing:-.055em;margin:0 0 4px}.hero-pretitle strong{font-weight:600}.hero h1{background:linear-gradient(180deg,#efd778,#bb8b29 78%,#966b1e);background-clip:text;color:transparent;font-size:clamp(3.25rem,7.4vw,6.5rem);font-weight:800;letter-spacing:-.075em;line-height:.97;margin:0}.hero-text{color:rgba(255,255,255,.84);font-size:clamp(1rem,1.7vw,1.45rem);font-weight:300;line-height:1.7;margin:38px 0 31px;max-width:620px}.outline-button{align-items:center;display:inline-flex;gap:10px}.outline-button span,.outline-button b{border:2px solid rgba(196,155,60,.95);border-radius:11px;color:#fff;font-size:1.1rem;font-weight:400;padding:7px 10px}.outline-button b{font-size:1.45rem;line-height:1;padding:3px 10px}.outline-button:hover span,.outline-button:hover b{background:rgba(196,155,60,.18)}

.section{padding:105px 0}.about{background:var(--cream)}.about-grid{align-items:center;display:grid;gap:70px;grid-template-columns:1fr 1fr}.gold-heading{background:linear-gradient(90deg,#a87a24,#f0d882,#a87a24);background-clip:text;color:transparent;font-size:clamp(1.5rem,2.6vw,2.2rem);font-weight:700;margin:0 0 10px}.about-copy h2,.center-heading h2,.team-copy h2{color:var(--brown);font-size:clamp(2rem,3.6vw,3.25rem);font-weight:400;letter-spacing:-.055em;line-height:1.05;margin:0 0 27px}.about-copy>p:not(.gold-heading),.team-copy p{color:var(--copy);font-size:1rem;font-weight:400;line-height:1.8;margin:0 0 15px;text-align:justify}.gold-button{background:linear-gradient(135deg,#ab7d2a,#d5ae4a);border-radius:8px;color:#fff;display:inline-block;font-size:1rem;font-weight:500;margin-top:19px;padding:10px 22px}.gold-button:hover{filter:brightness(1.1)}.about-gallery{display:grid;gap:13px;grid-template-columns:3fr 2fr;grid-template-rows:3fr 2fr;height:clamp(340px,43vw,570px)}.about-gallery img{border-radius:17px;height:100%;object-fit:cover;width:100%}.about-gallery img:nth-child(2){object-position:top}

.procedures{background:#11100f url('assets/bg-procedimentos.webp') center/cover no-repeat;color:#fff;position:relative}.procedures:before{background:rgba(6,5,4,.52);content:"";inset:0;position:absolute}.procedures .wrap{position:relative}.center-heading{text-align:center}.center-heading h2{color:#fff;font-weight:700}.procedure-row{display:grid;gap:45px;grid-template-columns:repeat(3,1fr);margin:53px auto 0;max-width:1000px}.procedure-card{min-height:380px;overflow:visible;position:relative}.procedure-card img{border-radius:17px;height:380px;object-fit:cover;transition:transform .35s;width:100%}.procedure-card:hover img{transform:scale(1.025)}.procedure-card span{background:linear-gradient(180deg,#d0a346,#8e641b);border-radius:8px;bottom:-18px;color:#fff;font-size:.9rem;font-weight:600;left:50%;padding:10px 18px;position:absolute;text-align:center;transform:translateX(-50%);white-space:nowrap}.center-action{text-align:center;margin:48px 0 0}

.team{background:var(--cream)}.team-grid{align-items:center;display:grid;gap:0;grid-template-columns:1fr 1fr}.team-image img{height:440px;object-fit:cover;width:100%}.team-copy{background:#e8dfcf;padding:62px}.team-copy h2{font-size:clamp(2rem,3.4vw,3rem)}
.blog-preview{background:var(--cream) url('assets/logo-bg.webp') center/cover no-repeat}.blog-preview .center-heading h2{color:var(--brown)}.post-list{display:grid;gap:28px;grid-template-columns:repeat(3,1fr);margin-top:42px}.post{border-top:2px solid var(--gold);padding-top:18px}.post time{color:#937c55;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.post h3{color:var(--brown);font-size:1.35rem;font-weight:600;line-height:1.25;margin:12px 0}.post p{color:var(--copy);font-size:.95rem;line-height:1.65}

.site-footer{background:#0d0d0d;color:#fff;padding:67px 0 0}.footer-grid{display:grid;gap:80px;grid-template-columns:1fr auto auto;align-items:start}.footer-logo img{height:150px;width:auto}.footer-grid h3{font-size:1.55rem;margin:0 0 18px}.footer-grid p,.footer-grid li{color:#fff;font-size:.95rem;font-weight:300;line-height:1.8}.footer-grid ul{list-style:none;margin:0;padding:0}.copyright{border-top:1px solid rgba(196,155,60,.3);color:#fff;font-size:.78rem;margin-top:50px;padding:20px;text-align:center}

.page-hero{background:var(--black);color:#fff;padding:125px 0 65px}.page-hero h1{font-size:clamp(2.7rem,5vw,5rem);font-weight:700;margin:0}.content{padding:75px 0}.entry{max-width:820px}.entry h1,.entry h2,.entry h3{color:var(--brown)}.entry p,.entry li{color:var(--copy);line-height:1.8}.entry img{height:auto;margin:25px 0}.notice{border-left:3px solid var(--gold);color:var(--copy);margin-top:30px;padding-left:18px}

@media(max-width:800px){.wrap{width:min(100% - 36px,1280px)}.nav{grid-template-columns:1fr auto;min-height:76px}.nav-side{display:none}.brand-logo img{height:51px}.menu-toggle{background:transparent;border:0;display:flex;flex-direction:column;gap:5px;padding:8px}.menu-toggle span{background:#fff;display:block;height:1px;width:25px}.mobile-menu{background:var(--black);border-top:1px solid rgba(255,255,255,.08);padding:0 18px}.mobile-menu.is-open{display:flex;flex-direction:column}.mobile-menu a{border-bottom:1px solid rgba(255,255,255,.08);color:#fff;font-size:1rem;padding:16px 0}.hero,.hero-content{min-height:620px}.hero-background{object-position:66% center}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.56))}.hero-content{justify-content:flex-end;padding:68px 0}.hero-text{line-height:1.55;margin:23px 0 27px;max-width:330px}.section{padding:70px 0}.about-grid{gap:38px;grid-template-columns:1fr}.about-copy{order:2;text-align:center}.about-copy>p:not(.gold-heading){text-align:center}.about-gallery{height:400px;order:1}.procedure-row,.post-list{gap:33px;grid-template-columns:1fr;max-width:330px}.procedure-card,.procedure-card img{height:360px;min-height:0}.team-grid{grid-template-columns:1fr}.team-image img{height:310px}.team-copy{padding:42px 27px;text-align:center}.team-copy p{text-align:center}.footer-grid{gap:42px;grid-template-columns:1fr;text-align:center}.footer-logo img{height:125px;margin:auto}.site-footer{padding-top:50px}.page-hero{padding:95px 0 50px}}

/* Equipe */
.team-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px;margin-top:38px}
.team-card{background:#fff;border-radius:18px;padding:28px 24px;text-align:center;box-shadow:0 18px 40px -30px rgba(17,12,16,.5)}
.team-card img{width:140px;height:140px;border-radius:50%;object-fit:cover;margin:0 auto 18px}
.team-initials{display:grid;place-items:center;width:140px;height:140px;border-radius:50%;margin:0 auto 18px;background:var(--cream);color:var(--gold);font-size:3rem;font-weight:700}
.team-card h3{margin:0 0 4px;color:var(--black);font-size:1.12rem}
.team-role{margin:0;color:var(--gold);font-weight:600;font-size:.92rem}
.team-bio{margin:14px 0 0;color:var(--copy);font-size:.92rem;line-height:1.65}

/* Contato */
.contact{background:var(--black)}
.contact .gold-heading{color:var(--gold-light)}
.contact h2{color:#fff}
.contact p{color:#cfc7bb}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.contact-list{list-style:none;margin:28px 0;padding:0;display:grid;gap:18px}
.contact-list li{display:grid;gap:4px}
.contact-list strong{color:var(--gold-light);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase}
.contact-list a{color:#fff;font-size:1rem}
.contact-list a:hover{color:var(--gold-light)}
.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.outline-small{display:inline-flex;align-items:center;padding:14px 26px;border:1px solid var(--gold);border-radius:999px;color:var(--gold-light);font-weight:600}
.outline-small:hover{background:var(--gold);color:var(--black)}
.contact-map iframe{width:100%;height:340px;border:0;border-radius:18px;display:block}
@media(max-width:900px){.contact-grid{grid-template-columns:minmax(0,1fr);gap:32px}.contact-map iframe{height:260px}}

/* Subtítulo do H1: diz ao Google (e ao visitante) a especialidade e a cidade */
.hero-sub{display:block;margin-top:14px;font-family:Montserrat,Arial,sans-serif;font-size:clamp(1rem, 0.85rem + 0.6vw, 1.45rem);font-weight:500;letter-spacing:.02em;color:#e8e2d6;text-transform:none}
.team-crm{margin:6px 0 0;font-size:.8rem;color:var(--copy);letter-spacing:.02em}
.copyright .responsavel{display:block;margin-bottom:6px;color:#b9ae9c}
