/* Arquitetura urbana + linguagem digital, mantendo a identidade azul e dourada. */
:root{--digital-glow:#88baff}
body{background-image:radial-gradient(ellipse at 100% 0,color-mix(in srgb,var(--accent),transparent 95%),transparent 44%)}
.site-header{background:color-mix(in srgb,var(--paper),transparent 5%);backdrop-filter:blur(16px)}
.navbar{border-bottom-color:color-mix(in srgb,var(--accent),transparent 78%)}
.nav-cta,.theme-toggle,.menu-toggle{border-radius:7px}
.hero{isolation:isolate;overflow:hidden;padding-top:45px;padding-bottom:46px;border-bottom:1px solid color-mix(in srgb,var(--line),transparent 35%)}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background-image:linear-gradient(90deg,color-mix(in srgb,var(--paper),transparent 8%) 0%,color-mix(in srgb,var(--paper),transparent 32%) 62%,color-mix(in srgb,var(--paper),transparent 19%) 100%),url('/assets/urban-blue-hour.webp');background-size:cover;background-position:center 55%;pointer-events:none}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(color-mix(in srgb,var(--ink),transparent 96%) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--ink),transparent 96%) 1px,transparent 1px);background-size:88px 88px;mask-image:linear-gradient(90deg,transparent 20%,#000 100%);opacity:.55}
.hero .wrap{position:relative;z-index:1}.hero-copy{padding:10px 0 20px}
.hero h1{font-family:var(--sans);font-size:clamp(52px,5.2vw,76px);font-weight:450;letter-spacing:-.048em;line-height:1.08}
.hero h1 em{font-family:var(--serif);font-size:1.2em;line-height:1.03;font-weight:400;letter-spacing:-.035em}
.hero .eyebrow{margin-bottom:20px;font-size:9px;letter-spacing:.15em}
.hero-lead{max-width:430px;line-height:1.85}.hero-actions{margin-top:28px}
.hero-actions .btn{border-radius:8px;min-height:57px;box-shadow:0 5px 25px color-mix(in srgb,var(--accent),transparent 88%)}
.hero--area{padding-top:22px}.hero--area h1{font-size:clamp(47px,4.5vw,65px);line-height:1.12}.hero--area .hero-byline{margin-top:26px}
.hero--area .breadcrumb{margin-bottom:23px}
.hero-portrait{padding:12px;border:1px solid color-mix(in srgb,var(--accent),transparent 65%);border-radius:23px;background:color-mix(in srgb,var(--white),transparent 28%);backdrop-filter:blur(10px);box-shadow:0 22px 75px #00000022}
.hero-portrait .portrait-frame{border-radius:15px;overflow:hidden;border:1px solid color-mix(in srgb,var(--line),transparent 10%)}
.portrait-frame::before{display:none}.hero-portrait figcaption{padding:0 7px 4px;margin-top:16px}
.scroll-cue{position:relative;z-index:1;margin-top:25px}
/* Indicador de horário: presença no aplicativo não é presumida. */
.trust-rail{display:flex;align-items:stretch;gap:13px;flex-wrap:wrap;margin-bottom:27px}
.availability{display:inline-flex;align-items:center;gap:12px;max-width:100%;min-height:54px;padding:11px 16px;border:1px solid color-mix(in srgb,var(--line),transparent 5%);border-radius:9px;background:color-mix(in srgb,var(--white),transparent 15%);backdrop-filter:blur(8px);font-family:var(--sans);color:var(--ink);line-height:1.35}
.availability-dot{display:block;flex-shrink:0;width:8px;height:8px;border-radius:50%;background:#92a3b0;box-shadow:0 0 0 4px #92a3b015}
.availability strong{display:block;font-size:11px;font-weight:600;letter-spacing:.005em;color:inherit}
.availability small{display:block;font-size:9px;line-height:1.6;font-weight:400;color:var(--muted);margin-top:3px}
.availability[data-office-status="open"] .availability-dot{background:#25c982;box-shadow:0 0 0 4px #25c98218,0 0 16px #25c98233}
.availability[data-office-status="closed"] .availability-dot{background:#d8ad58;box-shadow:0 0 0 4px #d8ad5815}
.availability--compact{min-height:0;padding:8px 11px;gap:10px;background:transparent;font-size:10px;border-radius:7px}
.availability--compact strong{font-size:10px}.availability--compact small{font-size:8px}
.form-availability{margin-top:19px}.form-availability .availability{display:flex;width:100%}
.form-availability .availability small{font-size:9px}
.footer-columns .availability{color:var(--section-text);border-color:var(--dark-line);margin:14px 0;max-width:295px;display:flex}
.footer-columns .availability small{color:var(--section-muted)}
/* Renderizado somente quando o perfil real do escritório estiver configurado. */
.google-proof{display:inline-flex;align-items:center;gap:11px;min-height:54px;padding:10px 14px;border:1px solid color-mix(in srgb,var(--accent),transparent 60%);border-radius:9px;background:color-mix(in srgb,var(--white),transparent 10%);color:var(--ink)}
.google-letter{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;background:#fff;border-radius:50%;font-family:Arial,sans-serif;font-weight:700;font-size:22px;color:#4285f4}
.google-proof>span:nth-child(2){display:block}.google-proof strong{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:600;line-height:1.5}.google-proof small{display:block;font-size:8px;color:var(--muted);line-height:1.6;margin-top:2px}.google-proof>svg{width:14px;height:14px}.google-score{font-size:13px}.rating-stars{display:inline-block;position:relative;color:var(--muted);font-size:10px;letter-spacing:1px;white-space:nowrap;line-height:1.3}.rating-stars>span{position:absolute;inset:0 auto 0 0;overflow:hidden;color:var(--accent);font-size:10px;white-space:nowrap}
/* Superfícies leves e detalhes arquitetônicos nas seções seguintes. */
.principles{background:color-mix(in srgb,var(--white),transparent 15%)}
.area-item{transition:background-color .2s,padding .2s}.area-item:hover{background:color-mix(in srgb,var(--white),transparent 15%);padding-left:12px;padding-right:12px}
html[data-palette] .process-section{position:relative;background-image:radial-gradient(ellipse at 0 10%,color-mix(in srgb,var(--section-accent),transparent 92%),transparent 60%)}
.process-steps li{padding-left:16px;border-left:1px solid color-mix(in srgb,var(--section-accent),transparent 65%)}
.step-num{width:30px;min-width:30px;height:30px;border:1px solid color-mix(in srgb,var(--section-accent),transparent 60%);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:3px;font-variant-numeric:tabular-nums}
.form-shell{border:1px solid var(--line);border-top:2px solid var(--accent);border-radius:15px;box-shadow:0 15px 45px #00000013}
.formcard h2{font-size:32px}.formcard .btn{border-radius:7px}.field input,.field select{border-radius:5px}.faq summary{transition:color .2s}.faq summary:hover{color:var(--accent)}
.palette-panel{backdrop-filter:blur(20px)}
@media(max-width:1180px){.hero h1{font-size:clamp(50px,5.7vw,67px)}.hero--area h1{font-size:clamp(46px,4.6vw,60px)}.availability{padding:10px 13px}.hero-portrait{padding:10px}.hero-portrait .portrait-caption{font-size:8px}}
@media(max-width:950px){.hero h1{font-size:clamp(46px,6vw,57px)}.hero--area h1{font-size:47px}.availability strong{font-size:10px}.availability small{font-size:8px}.hero-portrait{padding:9px;border-radius:18px}.hero-portrait .portrait-frame{border-radius:11px}.trust-rail{margin-bottom:23px}.process-steps li{padding-left:12px}.step-num{min-width:25px;width:25px;height:25px}}
@media(max-width:700px){.hero{padding:29px 0 28px}.hero::before{background-position:70% center;background-image:linear-gradient(180deg,color-mix(in srgb,var(--paper),transparent 7%) 0%,color-mix(in srgb,var(--paper),transparent 21%) 100%),url('/assets/urban-blue-hour.webp')}.hero h1{font-size:clamp(45px,9.1vw,61px);line-height:1.14}.hero h1 em{font-size:1.21em}.hero--home h1 br:last-child{display:none}.hero .eyebrow{font-size:8px;letter-spacing:.12em;margin-bottom:18px}.hero-lead{font-size:14px;line-height:1.85}.hero-actions{margin-top:25px}.hero-actions .btn{min-height:53px}.hero-layout{gap:30px}.hero-portrait{width:100%;max-width:480px;padding:10px;border-radius:19px}.hero-portrait .portrait-frame{border-radius:12px}.hero-portrait figcaption{font-size:18px;padding:0 4px 3px}.hero-portrait .portrait-caption{font-size:7px}.hero--area{padding-top:19px}.hero--area h1{font-size:clamp(40px,8.2vw,54px);line-height:1.16}.hero--area .hero-layout{gap:28px}.hero--area .breadcrumb{margin-bottom:24px}.trust-rail{gap:10px;margin-bottom:23px}.availability{padding:10px 13px;min-height:51px;border-radius:8px}.availability strong{font-size:11px}.availability small{font-size:9px}.form-availability .availability{padding:9px 11px;min-height:0}.form-availability .availability strong{font-size:10px}.process-steps li{padding-left:12px}.step-num{margin-top:4px}.form-shell{padding-top:22px;border-radius:12px}.google-proof{min-height:51px;padding:10px 12px;gap:9px}.google-proof strong{font-size:10px}.footer-columns .availability strong{font-size:10px}.footer-columns .availability small{font-size:8px}.hero-portrait .portrait-frame .portrait-mark{left:15px;bottom:16px}}
@media(max-width:370px){.hero h1{font-size:43px}.hero--area h1{font-size:39px}.availability{max-width:100%;gap:10px;padding:9px 11px}.availability strong{font-size:10px}.availability small{font-size:8px}.hero-portrait figcaption{font-size:16px}.hero-portrait .portrait-caption{font-size:6px;max-width:120px}.formcard h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){.area-item,.hero-portrait,.availability{transition:none!important;animation:none!important}}
/* Canal de mensagens sempre aberto; retorno no horário do escritório. */
.availability[data-office-status="open"] .availability-dot{animation:gc-online-pulse 1.6s ease-in-out infinite}
@keyframes gc-online-pulse{0%,100%{opacity:1;transform:scale(1);box-shadow:0 0 0 4px #25c98218,0 0 16px #25c98233}50%{opacity:.35;transform:scale(.82);box-shadow:0 0 0 8px #25c98200,0 0 7px #25c98215}}
@media(prefers-reduced-motion:reduce){.availability[data-office-status="open"] .availability-dot{animation:none}}
/* Nota conferida no perfil oficial e relatos transcritos dos prints fornecidos. */
.trust-rail{align-items:center;margin-bottom:0}.trust-rail .availability{min-height:54px}.trust-rail .availability-caption{display:none}.trust-note{font-size:9px;line-height:1.7;color:var(--muted);margin:9px 0 26px}
.reviews-section{background:var(--paper)}.reviews-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12%}.reviews-layout h2{font-size:clamp(44px,4.6vw,67px);line-height:1.1}.reviews-intro{font-size:14px;line-height:1.9;max-width:390px;color:var(--muted);margin-top:25px}.google-review-card{border:1px solid var(--line);border-top:2px solid var(--accent);border-radius:14px;background:var(--white);padding:31px 34px;box-shadow:0 12px 35px #00000010}.google-card-heading{display:flex;align-items:center;gap:14px}.google-card-heading .google-letter{width:36px;height:36px;font-size:26px}.google-card-heading h3{font-family:var(--sans);font-size:13px;font-weight:550;line-height:1.5}.google-card-heading p{font-size:10px;color:var(--muted);margin-top:4px}.google-rating-summary{display:flex;align-items:center;gap:27px;padding:28px 0;margin-top:23px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.google-rating-summary>strong{font-size:57px;line-height:1;font-family:var(--sans);font-weight:500;letter-spacing:-.04em}.google-rating-summary>strong>span{font-size:16px;font-weight:400;color:var(--muted);letter-spacing:0}.google-card-stars{display:block;color:var(--accent);font-size:19px;letter-spacing:3px;line-height:1.2}.google-rating-summary>div>p{font-size:10px;color:var(--muted);line-height:1.7;margin-top:8px}.google-review-card>.text-link{display:flex;justify-content:space-between;border:0;font-size:12px;margin-top:20px}.google-rating-date{font-size:9px;color:var(--muted);margin-top:12px}
@media(max-width:950px){.reviews-layout{gap:7%}.google-review-card{padding:25px}.google-rating-summary{gap:18px}.google-rating-summary>strong{font-size:47px}.google-card-stars{font-size:17px}.trust-rail{gap:10px}.trust-rail .availability{padding:10px 11px}.google-proof{padding:10px 11px;gap:8px}.google-proof>svg{display:none}}
@media(max-width:700px){.reviews-layout{grid-template-columns:1fr;gap:32px}.reviews-layout h2{font-size:45px}.reviews-intro{font-size:13px;margin-top:23px}.google-review-card{padding:24px}.google-card-heading h3{font-size:12px}.google-rating-summary>strong{font-size:53px}.google-card-stars{font-size:18px}.trust-rail{gap:9px}.trust-rail .availability{min-height:51px;padding:10px 11px;gap:9px}.trust-rail .availability-title{font-size:10px}.google-proof{gap:8px;padding:10px 11px}.google-proof .google-letter{width:25px;height:25px;font-size:19px}.google-proof strong{font-size:10px;gap:5px}.google-proof small{font-size:7px}.google-proof .rating-stars{font-size:9px;letter-spacing:0}.google-proof .rating-stars>span{font-size:9px}.google-proof .google-score{font-size:12px}.trust-note{font-size:8px;margin-bottom:23px}}
@media(max-width:370px){.trust-rail{gap:7px}.google-proof{padding:9px;gap:7px}.trust-rail .availability{padding:10px;gap:8px}.trust-rail .availability-title{font-size:9px}.google-proof .google-letter{width:22px;height:22px;font-size:18px}.google-rating-summary{gap:20px}.google-card-stars{font-size:16px;letter-spacing:2px}.google-review-card{padding:22px}.reviews-layout h2{font-size:41px}}

/* Relatos com identificação clara, leitura integral e expansão nativa. */
.client-reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:40px}
.client-review{min-width:0;padding:27px;border:1px solid var(--line);border-radius:12px;background:var(--white)}
.client-review figcaption{display:flex;align-items:center;gap:12px;min-height:44px}
.review-avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:42px;height:42px;border:1px solid color-mix(in srgb,var(--accent),transparent 65%);border-radius:50%;background:color-mix(in srgb,var(--accent),transparent 92%);color:var(--accent);font-size:12px;font-weight:600;letter-spacing:.03em}
.client-review figcaption>span:last-child{min-width:0}
.client-review figcaption strong{display:block;font-size:13px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.client-review figcaption small{display:block;font-size:10px;line-height:1.6;color:var(--muted);margin-top:3px}
.client-review-stars{display:block;width:fit-content;color:var(--accent);font-size:17px;letter-spacing:2px;line-height:1.4;margin-top:22px}
.client-review blockquote{margin:12px 0 0;font-size:14px;line-height:1.85;color:var(--ink);overflow-wrap:anywhere}
.reviews-more{margin-top:24px}
.reviews-more>summary{display:flex;align-items:center;justify-content:center;gap:18px;width:fit-content;min-height:48px;margin:0 auto;padding:11px 18px;border:1px solid var(--line);border-radius:7px;list-style:none;cursor:pointer;font-size:12px;font-weight:500}
.reviews-more>summary::-webkit-details-marker{display:none}
.reviews-more>summary:hover{border-color:var(--accent)}
.reviews-collapse-label,.reviews-more[open]>summary>span:first-child{display:none}
.reviews-more[open]>summary>.reviews-collapse-label{display:inline}
.reviews-more[open]>summary>.faq-plus::after{transform:rotate(0)}
.reviews-more .client-reviews-grid{margin-top:24px}
.reviews-source-note{margin-top:24px;text-align:center;font-size:11px;line-height:1.9;color:var(--muted)}
.reviews-source-note a{display:inline-flex;align-items:center;gap:5px;text-decoration:underline;text-underline-offset:3px}
.reviews-source-note svg{width:13px;height:13px}
@media(min-width:701px) and (max-width:1100px){.client-reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-reviews-grid>.client-review:last-child:nth-child(odd){grid-column:1/-1}}
@media(max-width:700px){.client-reviews-grid{grid-template-columns:1fr;gap:14px;margin-top:28px}.client-review{padding:23px}.client-review-stars{margin-top:18px}.client-review blockquote{font-size:14px}.reviews-source-note{font-size:10px}.reviews-source-note a{display:flex;justify-content:center;margin-top:4px}}
