/* Thaís Alves — LP 001. IBS is the structural/interactive reference. */
:root{
  --black:#050505; --graphite:#1A1A1A;
  --gold-dark:#A87516; --gold:#D4AF37;
  --offwhite:#F7F5EF; --marble-base:#F4F1E8;
  --ink-950:var(--black);--ink-900:var(--graphite);
  --ink-850:var(--graphite);--ink-800:var(--graphite);
  --teal-700:var(--gold-dark);
  --gold-600:var(--gold-dark);--gold-500:var(--gold);
  --gold-400:var(--gold);--gold-300:var(--offwhite);
  --cream-50:var(--offwhite);--cream-100:var(--marble-base);
  --ibs-navy:var(--graphite);--ibs-indigo:var(--gold-dark);
  --ibs-deep:var(--graphite);--ibs-blue:var(--gold-dark);
  --ibs-sky:var(--gold);--ibs-ice:var(--offwhite);
}
html{scrollbar-color:var(--gold-dark) var(--black)}
body{background:var(--black);color:var(--offwhite)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
/* Retain the IBS floating header/menu and gold-edged glass finishing. */
.site-header{
  border-color:rgba(212,175,55,.58);
  background:linear-gradient(180deg,rgba(3,3,3,.94),rgba(12,12,12,.89));
  box-shadow:0 24px 64px rgba(0,0,0,.42),inset 0 1px 0 rgba(247,245,239,.10);
}
.site-header::before{background:linear-gradient(90deg,rgba(212,175,55,.12),transparent 38%,transparent 62%,rgba(212,175,55,.12))}
.site-header::after{background:linear-gradient(115deg,rgba(247,245,239,.34),rgba(212,175,55,.42),rgba(247,245,239,.14),rgba(212,175,55,.46),rgba(247,245,239,.18))}
.brand-logo,.contact-brand img{border-radius:50%;object-fit:contain;background:var(--black)}
.brand-logo{width:65px;height:65px;filter:drop-shadow(0 2px 9px rgba(212,175,55,.18))}
.main-nav a{color:rgba(247,245,239,.89)}
.main-nav a:hover,.main-nav a:focus-visible{color:var(--offwhite);background:rgba(212,175,55,.10);box-shadow:0 0 0 1px rgba(212,175,55,.42),0 0 18px rgba(212,175,55,.08)}
.menu-toggle{border-color:rgba(212,175,55,.44);background:rgba(212,175,55,.11)}
/* Hero is expressly EXCLUDED from the marble continuum. Original IBS photograph remains. */
.hero{background:var(--black)}
.hero-bg{background-image:radial-gradient(ellipse at 50% 48%,rgba(5,5,5,.43) 0%,rgba(5,5,5,.26) 44%,rgba(5,5,5,.21) 100%),linear-gradient(180deg,rgba(5,5,5,.18) 0%,rgba(5,5,5,.21) 46%,rgba(5,5,5,.60) 100%),url('../images/bg-hero-v01.webp')}
.hero::before{background:radial-gradient(ellipse at 50% 45%,rgba(5,5,5,.56),rgba(5,5,5,.28) 46%,transparent 70%),radial-gradient(circle at 25% 36%,rgba(212,175,55,.07),transparent 30%),radial-gradient(circle at 74% 34%,rgba(247,245,239,.05),transparent 32%)}
.hero::after{box-shadow:inset 0 0 94px rgba(5,5,5,.20),inset 0 -80px 110px rgba(5,5,5,.37)}
.hero-depth-left{background:rgba(212,175,55,.10)}
.hero-depth-right{background:radial-gradient(circle,rgba(212,175,55,.08),rgba(212,175,55,.04) 38%,transparent 76%)}
.hero-copy{background:linear-gradient(180deg,rgba(3,3,3,.78),rgba(10,10,10,.68));border-color:rgba(212,175,55,.54);box-shadow:0 30px 100px rgba(0,0,0,.52),inset 0 1px 0 rgba(247,245,239,.10),0 0 0 1px rgba(212,175,55,.18);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.hero-copy::before{background:linear-gradient(135deg,rgba(247,245,239,.16),rgba(212,175,55,.16),rgba(247,245,239,.03))}
.hero-eyebrow{color:var(--gold);letter-spacing:.18em}
.hero h1{color:var(--offwhite);font-family:'Manrope',Inter,sans-serif}
.hero-subtitle{color:rgba(247,245,239,.94)}
.hero-bottom-fade{background:linear-gradient(180deg,rgba(5,5,5,0) 0%,rgba(5,5,5,.26) 28%,rgba(247,245,239,.90) 97%,var(--offwhite) 100%);height:100px}
/* One asset, one origin, one continuous surface across all selected sections. */
.marble-continuum{
  position:relative;
  isolation:isolate;
  background-color:var(--offwhite);
  background-image:linear-gradient(rgba(247,245,239,.42),rgba(247,245,239,.42)),url('../images/marmore-desktop.webp');
  background-position:center top,center top;
  background-size:100% 100%,100% 100%;
  background-repeat:no-repeat,no-repeat;
}
.marble-continuum .services-section,.marble-continuum .about-section,
.marble-continuum .contact-section,.marble-continuum .footer{
  background:transparent!important;
}
/* Neutralize old per-section backgrounds, gradients, transition dark bands, and glows. */
.services-section::before,.services-section::after,
.services-bg-orb,.about-bg,.about-bg::before,.about-bg::after,
.contact-bg,.contact-bg::before,.contact-bg::after{display:none!important;content:none!important}
.services-section{padding-top:90px;padding-bottom:90px}
.services-heading h2{color:var(--black);text-shadow:none}
.section-kicker{color:var(--gold-dark);text-shadow:none}
.section-kicker::before{background:linear-gradient(90deg,transparent,var(--gold-dark))}
.section-kicker::after{background:linear-gradient(90deg,var(--gold-dark),transparent)}
.services-heading{margin-bottom:38px}
.services-grid{max-width:1040px;gap:23px}
.service-card{border:2px solid rgba(5,5,5,.52);background:rgba(247,245,239,.90)!important;box-shadow:0 22px 50px rgba(26,26,26,.11),0 5px 19px rgba(5,5,5,.10),inset 0 1px 0 rgba(255,255,255,.85);border-radius:29px}
.service-card::before{background:linear-gradient(145deg,rgba(5,5,5,.22),rgba(247,245,239,.82),rgba(26,26,26,.12));opacity:.72}
.service-card::after{display:none}
.service-image-shell{background:var(--offwhite);margin:10px 10px 0;border-radius:21px;box-shadow:0 8px 24px rgba(5,5,5,.09)}
.service-image-shell::after{background:linear-gradient(180deg,rgba(247,245,239,.02),transparent 75%)}
.service-card-body{min-height:0;padding:18px 22px 23px}
.service-card-body p{color:var(--graphite);font-weight:600;font-size:14.5px;line-height:1.63;text-align:center}
.service-card:nth-child(9){grid-column:1 / -1;width:calc((100% - 23px)/2);justify-self:center}
/* Metallic-gold CTA animation is kept from IBS, now matched to palette. */
.dg-cta-btn-inner{background:linear-gradient(135deg,rgba(3,3,3,.98),rgba(14,14,14,.96));color:var(--offwhite);border-color:rgba(212,175,55,.78);box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 0 0 1px rgba(212,175,55,.42),0 5px 16px rgba(5,5,5,.18)}
.dg-cta-btn:hover .dg-cta-btn-inner{color:var(--offwhite);background:linear-gradient(135deg,rgba(18,18,18,.98),rgba(3,3,3,.98) 58%,rgba(24,24,24,.98))}
/* Sobre: preserve exact photograph, dimensions/parallax and animated gold border of IBS. */
.about-portrait{background:rgba(26,26,26,.92);border-color:rgba(212,175,55,.57);box-shadow:0 22px 72px rgba(5,5,5,.25),0 0 0 1px rgba(168,117,22,.13)}
.about-portrait::before,.about-portrait::after{background-image:linear-gradient(90deg,transparent 0%,var(--graphite) 9%,var(--gold-dark) 25%,var(--gold) 48%,var(--offwhite) 52%,var(--gold-dark) 75%,var(--graphite) 91%,transparent 100%)}
.about-portrait img{filter:saturate(.38) contrast(1.07) brightness(.91);object-position:42% center}
.about-copy{background:linear-gradient(180deg,rgba(5,5,5,.84),rgba(10,10,10,.74));border:2px solid rgba(212,175,55,.78);box-shadow:0 24px 72px rgba(5,5,5,.28),inset 0 1px 0 rgba(255,255,255,.10),0 0 0 2px rgba(212,175,55,.22),0 0 26px rgba(212,175,55,.10);color:var(--offwhite);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.about-copy::before{background:linear-gradient(145deg,rgba(247,245,239,.20),rgba(212,175,55,.34),rgba(247,245,239,.07))}
.about-copy::after{background:radial-gradient(circle,rgba(212,175,55,.08),transparent 68%)}
.about-eyebrow{color:var(--gold);text-shadow:none}
.about-eyebrow::after{background:linear-gradient(90deg,var(--gold),transparent)}
.about-copy h2{color:var(--offwhite);text-shadow:none}
.about-copy p,.about-copy .about-lead{color:rgba(247,245,239,.92)}
/* Contact: light premium inset panel over the SAME continuous underlying texture. */
.contact-shell{border:2px solid rgba(212,175,55,.78);background:linear-gradient(180deg,rgba(5,5,5,.84),rgba(10,10,10,.74));box-shadow:0 30px 90px rgba(5,5,5,.26),inset 0 1px 0 rgba(255,255,255,.10),0 0 0 2px rgba(212,175,55,.22),0 0 26px rgba(212,175,55,.10);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.contact-shell::before{background:linear-gradient(135deg,rgba(247,245,239,.18),rgba(212,175,55,.34),rgba(247,245,239,.06))}
.contact-shell::after{background:radial-gradient(circle,rgba(212,175,55,.08),transparent 68%)}
.contact-eyebrow{color:var(--gold);text-shadow:none}
.contact-eyebrow::after{background:linear-gradient(90deg,var(--gold),transparent)}
.contact-heading h2{color:var(--offwhite);text-shadow:none}
.contact-heading p{color:rgba(247,245,239,.88)}
.contact-brand img{width:clamp(150px,18vw,212px);height:auto;border:2px solid rgba(212,175,55,.63);box-shadow:0 16px 36px rgba(5,5,5,.2)}
.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.contact-card{color:var(--offwhite);border-color:rgba(212,175,55,.24);background:rgba(255,255,255,.05)!important;box-shadow:0 10px 28px rgba(5,5,5,.14)}
.contact-card:hover,.contact-card:focus-visible{border-color:rgba(212,175,55,.58);background:rgba(255,255,255,.09)!important;box-shadow:0 20px 40px rgba(5,5,5,.16),0 0 18px rgba(212,175,55,.10)}
.contact-card strong,.contact-card em,.contact-card span,.contact-card p{color:rgba(247,245,239,.94)}
.contact-icon{border-color:rgba(212,175,55,.22);background:linear-gradient(135deg,rgba(212,175,55,.18),rgba(247,245,239,.09))}
.contact-icon,.contact-card-animated .contact-anim-item{color:var(--gold)}
.contact-card-animated .contact-anim-svg{background:linear-gradient(135deg,rgba(212,175,55,.13),rgba(247,245,239,.08))}
.contact-card-animated:hover .contact-anim-text,.contact-card-animated:focus-visible .contact-anim-text{color:var(--offwhite)}
/* Existing map modal from IBS remains a dark overlay (not a background section). */
.contact-map-dialog{border-color:rgba(212,175,55,.55);background:linear-gradient(155deg,rgba(26,26,26,.99),rgba(5,5,5,.98))}
.contact-map-header h3{color:var(--offwhite)}
.contact-map-eyebrow{color:var(--gold)}
.contact-map-close{border-color:rgba(212,175,55,.40);color:var(--offwhite);background:linear-gradient(135deg,var(--graphite),var(--black))}
/* Rodapé participates in the same texture, rather than resetting it. */
.footer{color:var(--graphite);padding-top:12px;padding-bottom:36px}
.footer-shell{background:rgba(247,245,239,.79);border-color:rgba(168,117,22,.29);box-shadow:0 12px 36px rgba(5,5,5,.08)}
.footer-shell::before{background:linear-gradient(135deg,rgba(212,175,55,.45),rgba(247,245,239,.30),rgba(168,117,22,.20))}
.footer a,.footer a:hover{color:var(--gold-dark)}
@media(max-width:980px){.contact-brand img{width:156px}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .site-header{height:76px}.brand-logo{width:55px;height:55px}
 .main-nav{background:rgba(5,5,5,.97);border-color:rgba(212,175,55,.35)}
 .main-nav a{background:rgba(212,175,55,.10);color:var(--offwhite)}
 .hero-copy{background:linear-gradient(180deg,rgba(3,3,3,.84),rgba(10,10,10,.76))}
 .hero-eyebrow{font-size:10px;letter-spacing:.09em}
 .marble-continuum{background-image:linear-gradient(rgba(247,245,239,.42),rgba(247,245,239,.42)),url('../images/marmore-mobile.webp');background-size:100% 100%,100% 100%;background-position:center top,center top}
 .services-section{padding:74px 0 76px}
 .services-grid{grid-template-columns:1fr;gap:20px}
 .service-card:nth-child(9){grid-column:auto;width:100%}
 .service-card-body{padding:19px 18px 23px}
 .service-card-body p{font-size:14.3px}
 .about-copy{background:linear-gradient(180deg,rgba(5,5,5,.87),rgba(10,10,10,.77))}
 .contact-shell{background:linear-gradient(180deg,rgba(5,5,5,.87),rgba(10,10,10,.77))}
 .contact-grid{grid-template-columns:1fr}
 .contact-top{gap:14px}
 .contact-brand img{width:min(164px,48vw)}
 .footer{padding-bottom:30px}
}
@media(prefers-reduced-motion:reduce){.reveal-in,.reveal,.about-reveal,.contact-reveal{opacity:1!important;transform:none!important}}
