
/*
Theme Name: Vidraçaria Primordial Curitiba
Theme URI: https://primordialvidroseespelhos.com.br/
Author: Vidraçaria Primordial
Description: Landing page oficial da Vidraçaria Primordial, pronta para WordPress.
Version: 1.0.0
Text Domain: primordial-vidracaria
*/

@font-face {
  font-family:'Geist';
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url('assets/fonts/geist-latin.woff2') format('woff2');
}

:root { --ink:#10191c; --petrol:#15393d; --petrol-2:#0c282c; --mint:#dceae7; --sand:#f4f1eb; --line:#dcd8d0; --white:#fff; --wa:#20b85a; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--sand); color:var(--ink); font-family:'Geist',Inter,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
button,a { -webkit-tap-highlight-color:transparent; }
.site-header { height:88px; padding:0 clamp(24px,5vw,74px); display:flex; align-items:center; justify-content:space-between; position:absolute; z-index:10; width:100%; color:#fff; border-bottom:1px solid rgba(255,255,255,.16); }
.brand { display:flex; align-items:center; }
.brand img { display:block; width:auto; height:58px; object-fit:contain; }
.brand--footer img { height:66px; }
.header-contact { text-align:right; }
.header-contact span { display:block; font-size:10px; color:#bdcac9; text-transform:uppercase; letter-spacing:.16em; }
.header-contact a { display:block; margin-top:5px; font-size:15px; font-weight:650; }
.hero { min-height:760px; height:100svh; position:relative; display:flex; align-items:center; overflow:hidden; background:#102326 url('assets/images/hero.webp') center/cover no-repeat; color:#fff; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,17,19,.97) 0%,rgba(7,17,19,.8) 45%,rgba(7,17,19,.16) 76%,rgba(7,17,19,.04)); }
.hero-content { position:relative; z-index:2; width:min(720px,calc(100% - 48px)); margin-left:clamp(24px,9vw,140px); padding-top:78px; }
.eyebrow,.section-kicker { margin:0 0 25px; color:#c4d7d4; font-size:11px; font-weight:700; letter-spacing:.19em; text-transform:uppercase; display:flex; align-items:center; gap:12px; }
.eyebrow span { width:32px; height:1px; background:#70b2a7; }
h1,h2 { font-family:Georgia,serif; font-weight:400; letter-spacing:-.035em; }
h1 { margin:0; max-width:690px; font-size:clamp(45px,5.2vw,76px); line-height:1.02; }
h1 em { color:#8ec9bf; font-style:italic; }
.hero-copy { max-width:590px; margin:27px 0 33px; color:#d0d9d8; font-size:18px; line-height:1.65; }
.hero-actions { display:flex; align-items:center; gap:28px; flex-wrap:wrap; }
.wa-button { min-height:58px; padding:0 25px; border-radius:3px; display:inline-flex; align-items:center; justify-content:center; gap:11px; background:var(--wa); color:#fff; font-weight:750; font-size:15px; box-shadow:0 12px 32px rgba(15,140,70,.25); transition:.2s ease; }
.wa-button:hover { background:#189b4b; transform:translateY(-2px); }
.wa-button--compact { min-height:52px; padding:0 21px; }
.wa-icon { width:25px; height:25px; border:2px solid currentColor; border-radius:50%; display:grid; place-items:center; font-size:15px; line-height:1; }
.secondary-link { color:#dce7e5; font-size:13px; font-weight:650; border-bottom:1px solid rgba(255,255,255,.35); padding:9px 0; }
.secondary-link span { margin-left:7px; color:#7cc1b5; }
.hero-trust { display:flex; gap:35px; margin-top:45px; padding-top:25px; border-top:1px solid rgba(255,255,255,.15); max-width:640px; }
.hero-trust div { display:flex; align-items:flex-start; gap:9px; }
.hero-trust strong { color:#79c2a0; font-size:14px; }
.hero-trust span { color:#bdc8c7; font-size:10px; line-height:1.45; text-transform:uppercase; letter-spacing:.08em; }
.hero-tag { position:absolute; z-index:2; bottom:35px; right:clamp(24px,5vw,74px); color:#b7c6c4; text-transform:uppercase; font-size:9px; letter-spacing:.2em; writing-mode:vertical-rl; }
.hero-tag span { color:#75b9ae; margin-bottom:10px; }
.proof-strip { display:grid; grid-template-columns:repeat(4,1fr); background:#fff; padding:0 clamp(24px,5vw,74px); border-bottom:1px solid var(--line); }
.proof-strip>div { min-height:142px; padding:28px clamp(16px,2.2vw,35px); border-right:1px solid var(--line); display:grid; grid-template-columns:28px 1fr; align-content:center; }
.proof-strip>div:first-child { border-left:1px solid var(--line); }
.proof-strip span { grid-row:1/3; color:#76a19b; font-family:Georgia,serif; font-style:italic; font-size:14px; }
.proof-strip strong { font-size:13px; margin-bottom:6px; }
.proof-strip small { color:#687276; font-size:11px; line-height:1.45; }
.section { max-width:1240px; margin:0 auto; padding:110px 32px; }
.section-heading { display:grid; grid-template-columns:1.25fr .75fr; align-items:end; gap:8vw; margin-bottom:55px; }
.section-kicker { color:#3f7770; margin-bottom:18px; }
.section-heading h2,.why h2,.final-cta h2 { margin:0; font-size:clamp(38px,4.5vw,60px); line-height:1.08; }
.section-heading>p { color:#657074; font-size:15px; line-height:1.75; max-width:430px; }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.service-card { min-height:288px; background:rgba(255,255,255,.38); padding:32px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; transition:.25s ease; }
.service-card:hover { background:#fff; transform:translateY(-3px); box-shadow:0 18px 45px rgba(23,45,48,.08); }
.service-number { color:#6f9e97; font-family:Georgia,serif; font-style:italic; font-size:14px; margin-bottom:35px; }
.service-card h3 { margin:0 0 13px; font-family:Georgia,serif; font-size:23px; font-weight:400; line-height:1.23; }
.service-card p { color:#667074; font-size:13px; line-height:1.65; margin:0 0 23px; }
.service-card a { margin-top:auto; color:#275b55; text-transform:uppercase; letter-spacing:.11em; font-size:9px; font-weight:800; }
.service-card a span { float:right; font-size:14px; }
.portfolio { background:var(--petrol-2); color:#fff; }
.portfolio-inner { max-width:1320px; }
.section-heading--light .section-kicker { color:#82beb4; }
.section-heading--light>p { color:#aebfbd; }
.gallery { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:260px; gap:14px; }
.gallery-item { margin:0; position:relative; overflow:hidden; background:#19383c; }
.gallery-item--1 { grid-column:span 7; grid-row:span 2; }
.gallery-item--2 { grid-column:span 5; }
.gallery-item--3 { grid-column:span 5; }
.gallery-item--4,.gallery-item--5,.gallery-item--6 { grid-column:span 4; }
.gallery img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.gallery-item--6 { background:#e9e5de; }
.gallery-item--6 img { object-fit:contain; object-position:center; }
.gallery-item:hover img { transform:scale(1.025); }
.gallery figcaption { position:absolute; inset:auto 0 0; padding:28px 24px 20px; background:linear-gradient(transparent,rgba(4,17,19,.78)); display:flex; align-items:center; gap:12px; text-transform:uppercase; font-size:10px; font-weight:700; letter-spacing:.14em; }
.gallery figcaption span { color:#80b8af; font-family:Georgia,serif; font-style:italic; }
.why { display:grid; grid-template-columns:.9fr 1.1fr; gap:10vw; align-items:start; }
.why-copy { position:sticky; top:40px; }
.why-copy>p:not(.section-kicker) { color:#626d70; font-size:15px; line-height:1.8; margin:27px 0 32px; }
.why-list { border-top:1px solid var(--line); }
.why-list article { display:grid; grid-template-columns:58px 1fr; padding:27px 0; border-bottom:1px solid var(--line); }
.why-list article>span { color:#62978f; font-family:Georgia,serif; font-style:italic; font-size:14px; }
.why-list h3 { margin:0 0 7px; font-family:Georgia,serif; font-size:24px; font-weight:400; }
.why-list p { margin:0; color:#687276; line-height:1.6; font-size:13px; }
.final-cta { margin:0 clamp(16px,3.5vw,54px); padding:80px clamp(28px,6vw,90px); background:linear-gradient(115deg,#15383c,#0f292d); color:#fff; display:flex; align-items:center; justify-content:space-between; gap:50px; }
.final-cta>div { max-width:750px; }
.final-cta .section-kicker { color:#87bfb7; }
.final-cta p:last-child { color:#b8c8c6; line-height:1.7; max-width:650px; }
.final-cta .wa-button { flex:none; }
footer { margin-top:54px; padding:48px clamp(24px,5vw,74px); background:#0a1c1f; color:#fff; display:grid; grid-template-columns:1.2fr .8fr 1fr auto; gap:40px; align-items:center; }
footer small { display:block; color:#77918e; text-transform:uppercase; letter-spacing:.14em; font-size:9px; margin-bottom:7px; }
footer p,footer div>a { margin:0; color:#c4d0ce; font-size:13px; }
.footer-wa { color:#7ad59b; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.floating-wa { position:fixed; right:22px; bottom:22px; z-index:20; min-height:52px; display:flex; align-items:center; gap:10px; background:var(--wa); color:#fff; border-radius:30px; padding:0 18px 0 12px; font-size:12px; font-weight:750; box-shadow:0 10px 30px rgba(0,0,0,.25); transition:.2s; }
.floating-wa:hover { transform:translateY(-2px); background:#199b4c; }
@media(max-width:900px){
  .proof-strip { grid-template-columns:repeat(2,1fr); }
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .section-heading { grid-template-columns:1fr; gap:12px; }
  .why { grid-template-columns:1fr; gap:55px; }
  .why-copy { position:static; }
  .final-cta { align-items:flex-start; flex-direction:column; }
  footer { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:650px){
  .site-header { height:72px; padding:0 20px; }
  .header-contact span { display:none; }
  .header-contact a { font-size:11px; }
  .brand img { height:43px; }
  .brand--footer img { height:58px; }
  .hero { min-height:730px; height:auto; padding:122px 0 58px; background-position:64% center; }
  .hero-shade { background:linear-gradient(90deg,rgba(7,17,19,.96),rgba(7,17,19,.7)),linear-gradient(0deg,rgba(7,17,19,.55),transparent); }
  .hero-content { width:calc(100% - 40px); margin:0 20px; padding:0; }
  h1 { font-size:42px; }
  .hero-copy { font-size:15px; margin:21px 0 26px; }
  .hero-actions { gap:14px; }
  .wa-button { width:100%; }
  .secondary-link { margin:auto; }
  .hero-trust { gap:9px; justify-content:space-between; margin-top:35px; }
  .hero-trust div { gap:4px; }
  .hero-trust span { font-size:8px; letter-spacing:.02em; }
  .hero-tag { display:none; }
  .proof-strip { padding:0 14px; }
  .proof-strip>div { min-height:120px; padding:20px 12px; }
  .proof-strip>div:nth-child(3) { border-left:1px solid var(--line); }
  .proof-strip strong { font-size:11px; }
  .proof-strip small { font-size:9px; }
  .section { padding:75px 20px; }
  .section-heading { margin-bottom:38px; }
  .section-heading h2,.why h2,.final-cta h2 { font-size:38px; }
  .services-grid { grid-template-columns:1fr; }
  .service-card { min-height:245px; padding:28px; }
  .gallery { grid-template-columns:1fr; grid-auto-rows:250px; }
  .gallery-item--1,.gallery-item--2,.gallery-item--3,.gallery-item--4,.gallery-item--5,.gallery-item--6 { grid-column:auto; grid-row:auto; }
  .why-list article { grid-template-columns:45px 1fr; }
  .final-cta { margin:0 12px; padding:55px 24px; gap:28px; }
  footer { grid-template-columns:1fr; padding:46px 24px 95px; gap:30px; }
  .floating-wa { left:14px; right:14px; bottom:12px; justify-content:center; border-radius:8px; min-height:54px; font-size:13px; }
}
@media(prefers-reduced-motion:reduce){ *{ scroll-behavior:auto!important; transition:none!important; } }
