/* Public identity layer. The admin continues to use style.css only. */
.public-site {
    --ink: #08131b;
    --ink-soft: #101f2b;
    --gold: #c79b4b;
    --gold-bright: #e1b85f;
    --paper: #fffdfa;
    --mist: #f4f2ed;
    --copy: #34404a;
    --muted-copy: #68727a;
    --line-soft: rgba(8, 19, 27, .12);
    --shadow-soft: 0 16px 42px rgba(8, 19, 27, .09);
    --container-width: 1280px;
    --space-section: clamp(58px, 6vw, 88px);
    --radius-card: 8px;
    --transition-ui: 180ms ease;
    --font-display: 'Cormorant Garamond', Georgia, serif;
    font-family: Inter, Arial, sans-serif;
    color: var(--copy);
    background: var(--paper);
    line-height: 1.6;
}

html { scroll-behavior: auto; scroll-padding-top: 82px; }
.public-site a { color: inherit; text-decoration: none; }
.public-site *, .public-site *::before, .public-site *::after { box-sizing: border-box; }
.public-site img { display: block; max-width: 100%; }
.public-site button, .public-site input, .public-site select, .public-site textarea { font: inherit; }
.public-site button { cursor: pointer; }
.public-site { margin: 0; }
.public-site .container { width: min(var(--container-width), calc(100% - 64px)); margin-inline: auto; }
.public-site :focus-visible { outline: 3px solid var(--gold-bright); outline-offset: 4px; }
.public-site .section { padding: var(--space-section) 0; }
.public-site .section-soft { background: var(--mist); }
.public-site .section-header { max-width: 760px; margin-bottom: 38px; }
.public-site .section-title { margin: 0 0 10px; color: var(--ink); font-size: clamp(2rem, 3vw, 2.75rem); line-height: 1.1; letter-spacing: -.04em; }
.public-site .section-subtitle { margin: 0; color: var(--muted-copy); font-size: 1.04rem; line-height: 1.7; }
.public-site .not-found-page { display: grid; min-height: 55vh; align-items: center; background: var(--ink); color: #fff; }
.public-site .not-found-content { padding-block: 70px; }
.public-site .not-found-content h1 { color: #fff; font: 600 clamp(2.5rem,5vw,3.5rem)/1.05 var(--font-display); }
.public-site .skip-link { position: fixed; z-index: 100; top: 12px; left: 12px; padding: 12px 16px; transform: translateY(-160%); background: var(--gold-bright); color: var(--ink); font-weight: 700; }
.public-site .skip-link:focus { transform: translateY(0); }

/* Shared header */
.public-site .site-header { position: sticky; z-index: 50; top: 0; background: #071017; border-bottom: 1px solid rgba(199, 155, 75, .3); transition: box-shadow .2s ease; }
.public-site .site-header.is-scrolled { box-shadow: 0 8px 24px rgba(0, 0, 0, .18); }
.public-site .header-wrap { display: flex; align-items: center; justify-content: space-between; min-height: 76px; gap: clamp(18px, 2vw, 30px); }
.public-site .brand { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 11px; color: white; }
.public-site .brand-logo { flex: none; width: 48px; height: 52px; object-fit: contain; }
.public-site .brand-text { display: flex; flex-direction: column; line-height: 1.04; font-family: var(--font-display); }
.public-site .brand-text strong { color: white; font-size: 1.58rem; font-weight: 600; letter-spacing: .015em; white-space: nowrap; }
.public-site .brand-text small { margin-top: 4px; color: rgba(255,255,255,.7); font-family: Inter, sans-serif; font-size: .62rem; letter-spacing: .19em; text-transform: uppercase; }
.public-site .main-nav { display: flex; flex: 1 1 auto; align-items: center; justify-content: center; gap: clamp(12px, 1.55vw, 22px); flex-wrap: nowrap; }
.public-site .main-nav a { position: relative; padding: 10px 0; color: rgba(255,255,255,.78); font-size: .875rem; font-weight: 550; white-space: nowrap; transition: color .18s ease; }
.public-site .main-nav a::after { position: absolute; right: 0; bottom: 3px; left: 0; height: 2px; border-radius: 2px; content: ''; background: var(--gold-bright); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.public-site .main-nav a:hover, .public-site .main-nav a.active { color: var(--gold-bright); }
.public-site .main-nav a:hover::after, .public-site .main-nav a.active::after { transform: scaleX(1); }
.public-site .header-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 12px; }
.public-site .header-actions .btn { min-height: 42px; padding: 9px 17px; font-size: .8rem; }
.public-site .header-whatsapp svg { width: 17px; height: 17px; flex: 0 0 auto; fill: currentColor; }
.public-site .menu-toggle { display: none; width: 46px; height: 46px; padding: 10px; border: 1px solid rgba(255,255,255,.26); border-radius: 8px; background: transparent; cursor: pointer; }
.public-site .menu-toggle span { display: block; height: 2px; margin: 5px 0; border-radius: 2px; background: #fff; transition: transform .2s ease, opacity .2s ease; }
.public-site .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(7px) rotate(45deg); }
.public-site .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.public-site .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-7px) rotate(-45deg); }
.public-site .mobile-menu { position: fixed; z-index: 49; inset: 76px 0 0; display: block; visibility: hidden; background: rgba(4, 10, 14, .64); opacity: 0; transition: opacity .2s ease, visibility .2s ease; }
.public-site .mobile-menu nav { display: grid; align-content: start; gap: 2px; width: min(420px, 88vw); height: 100%; margin-left: auto; overflow-y: auto; overscroll-behavior: contain; padding: 26px clamp(24px, 7vw, 42px); background: var(--ink); box-shadow: -18px 0 48px rgba(0,0,0,.22); transform: translateX(24px); transition: transform .2s ease; }
.public-site .mobile-menu.is-open { visibility: visible; opacity: 1; }
.public-site .mobile-menu.is-open nav { transform: translateX(0); }
.public-site .mobile-menu a { padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.92); font-size: 1.05rem; }
.public-site .mobile-menu a:hover { color: var(--gold-bright); }
.public-site .mobile-menu a[aria-current="page"] { border-bottom-color: rgba(225,184,95,.55); color: var(--gold-bright); font-weight: 700; }
.public-site .mobile-menu .mobile-menu-contact { margin-top: 16px; padding: 14px 16px; border: 0; border-radius: 6px; background: var(--gold); color: var(--ink); text-align: center; font-weight: 700; }
.public-site.menu-open { overflow: hidden; }

/* Buttons, cards, and editorial content */
.public-site .btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 46px; padding: 11px 18px; border: 1px solid transparent; border-radius: 6px; font-size: .9rem; font-weight: 700; transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease, border-color .22s ease; }
.public-site .btn:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,0,0,.16); }
.public-site .btn-gold { border-color: var(--gold); background: var(--gold); color: #101820; }
.public-site .btn-gold:hover { border-color: var(--gold-bright); background: var(--gold-bright); }
.public-site .btn-light { border-color: rgba(255,255,255,.7); background: rgba(8,19,27,.2); color: white; }
.public-site .btn-dark { border-color: var(--ink); background: var(--ink); color: white; }
.public-site .card { min-width: 0; overflow: hidden; border: 1px solid rgba(8,19,27,.1); border-radius: 9px; background: #fff; box-shadow: 0 6px 24px rgba(8,19,27,.045); transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease; }
.public-site .card:hover { transform: translateY(-4px); border-color: rgba(199,155,75,.58); box-shadow: var(--shadow-soft); }
.public-site .cards-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 20px; }
.public-site .area-card { display: flex; min-height: 230px; flex-direction: column; align-items: flex-start; padding: 25px 23px 21px; }
.public-site .area-card .icon { display: grid; width: 52px; height: 52px; flex: 0 0 auto; place-items: center; margin-bottom: 19px; border: 1px solid rgba(199,155,75,.26); border-radius: 50%; background: #fbf7ef; color: #9b6c20; font-size: 1.45rem; transition: transform .24s ease, background-color .24s ease; }
.public-site .area-card:hover .icon { transform: translateY(-2px); background: #f3e9d6; }
.public-site .area-card h3 { margin: 0 0 9px; color: var(--ink); font-size: 1.12rem; line-height: 1.3; }
.public-site .area-card p { flex: 1 1 auto; margin: 0 0 16px; color: var(--muted-copy); font-size: .92rem; line-height: 1.62; }
.public-site .card-link { color: #87601e; font-size: .86rem; font-weight: 700; }
.public-site .card-link::after { display: inline-block; margin-left: 6px; content: '→'; transition: transform .2s ease; }
.public-site .card-link:hover::after { transform: translateX(4px); }
.public-site .content-grid, .public-site .video-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.public-site .content-card, .public-site .video-card { display: flex; flex-direction: column; }
.public-site .content-media { position: relative; display: block; overflow: hidden; }
.public-site .media-play { position: absolute; top: 50%; left: 50%; display: grid; width: 52px; height: 52px; place-items: center; padding-left: 3px; transform: translate(-50%,-50%); border: 2px solid rgba(255,255,255,.9); border-radius: 50%; background: rgba(8,19,27,.64); color: white; font-size: 1.1rem; }
.public-site .content-card .thumb, .public-site .video-card .thumb { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .4s ease; }
.public-site .content-card:hover .thumb, .public-site .video-card:hover .thumb { transform: scale(1.025); }
.public-site .content-card .meta, .public-site .video-card .meta { display: flex; flex: 1 1 auto; flex-direction: column; align-items: flex-start; padding: 19px 20px 21px; }
.public-site .post-badge { display: inline-flex; margin-bottom: 10px; padding: 5px 9px; border-radius: 3px; background: #f6efdf; color: #78551b; font-size: .69rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.public-site .content-card h3, .public-site .video-card h3 { margin: 0 0 10px; color: var(--ink); font-size: 1.18rem; line-height: 1.35; }
.public-site .content-card p, .public-site .video-card p { flex: 1 1 auto; margin: 0 0 16px; color: var(--muted-copy); font-size: .93rem; line-height: 1.65; }
.public-site .info-line { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; width: 100%; margin: 0 0 15px; color: var(--muted-copy); font-size: .78rem; }
.public-site .thumb-empty { display: grid; min-height: 180px; place-items: center; background: linear-gradient(135deg,#17232c,#26343e); color: rgba(255,255,255,.7); }
.public-site .empty-state { margin: 0; padding: 22px 24px; border: 1px solid var(--line-soft); border-left: 3px solid var(--gold); border-radius: 5px; background: #fff; color: var(--muted-copy); line-height: 1.6; }
.public-site .content-shell { padding: clamp(46px,6vw,76px) 0; }
.public-site .article-image { width: 100%; height: auto; max-height: 640px; margin: 0 0 20px; border-radius: var(--radius-card); object-fit: contain; }
.public-site .block { min-width: 0; padding: clamp(24px,3vw,36px); border: 1px solid var(--line-soft); border-radius: 9px; background: #fff; box-shadow: 0 8px 28px rgba(8,19,27,.055); }
.public-site .block h2, .public-site .block h3 { margin-top: 0; color: var(--ink); }
.public-site .block p, .public-site .block li { line-height: 1.75; }

/* Home hero and supporting sections */
.public-site .hero.has-background { position: relative; display: block; min-height: clamp(500px,42vw,620px); overflow: hidden; isolation: isolate; background: #08131b; color: #fff; }
.public-site .hero-background { position: absolute; z-index: -1; inset: 0 0 0 auto; width: min(53vw,760px); background-color: #17232c; background-repeat: no-repeat; background-position: center 12%; background-size: cover; }
.public-site .hero-background img { width: 100%; height: 100%; object-fit: cover; object-position: center 12%; }
.public-site .hero-overlay { position: absolute; z-index: 0; inset: 0; background: linear-gradient(90deg,rgba(5,10,14,.96) 0%,rgba(5,10,14,.84) 38%,rgba(5,10,14,.42) 67%,rgba(5,10,14,.14) 100%),linear-gradient(0deg,rgba(5,10,14,.4),transparent 44%); pointer-events: none; }
.public-site .hero-kicker { display: inline-flex; margin: 0 0 22px; padding: 0; border: 0; background: transparent; color: var(--gold-bright); font-size: .76rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.public-site .hero.has-background > .container.hero-content { position: relative; z-index: 1; display: flex; width: min(var(--container-width),calc(100% - 64px)); max-width: none; min-height: inherit; align-items: center; padding-block: 42px; }
.public-site .hero-copy { width: min(100%,650px); animation: hero-copy-in .68s cubic-bezier(.2,.7,.2,1) both; }
.public-site .hero.has-background h1 { max-width: 650px; margin: 0 0 17px; color: #fff; font-family: Inter,sans-serif; font-size: clamp(3rem,4.5vw,4.25rem); font-weight: 700; line-height: 1.04; letter-spacing: -.055em; }
.public-site .hero.has-background h1 span { display: inline; color: var(--gold-bright); font-family: var(--font-display); font-size: 1.12em; font-weight: 600; font-style: italic; letter-spacing: -.035em; }
.public-site .hero.has-background .hero-copy > p { max-width: 530px; margin: 0; color: rgba(255,255,255,.86); font-size: clamp(1rem,1.2vw,1.1rem); line-height: 1.7; }
.public-site .hero.has-background .hero-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 24px; }
.public-site .hero.has-background .hero-actions .btn { width: auto; max-width: 100%; min-height: 48px; padding-inline: 20px; }
.public-site .trust-strip { position: relative; z-index: 2; padding: 19px 0; background: #0c1821; color: white; box-shadow: 0 12px 28px rgba(0,0,0,.12); }
.public-site .trust-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; }
.public-site .trust-grid article { display: flex; min-width: 0; align-items: center; gap: 13px; padding: 8px clamp(10px,2vw,25px); border-right: 1px solid rgba(255,255,255,.13); }
.public-site .trust-grid article:first-child { padding-left: 0; }
.public-site .trust-grid article:last-child { padding-right: 0; border-right: 0; }
.public-site .trust-icon { display: grid; width: 43px; height: 43px; flex: 0 0 43px; place-items: center; border: 1px solid rgba(225,184,95,.68); border-radius: 50%; color: var(--gold-bright); font-size: 1.2rem; }
.public-site .trust-grid strong, .public-site .trust-grid small { display: block; }
.public-site .trust-grid strong { color: #fff; font-size: .88rem; line-height: 1.35; }
.public-site .trust-grid small { margin-top: 3px; color: rgba(255,255,255,.66); font-size: .77rem; line-height: 1.4; }
.public-site .section-header .section-title::after { display: block; width: 44px; height: 2px; margin-top: 17px; content: ''; background: var(--gold); }
.public-site .section-header .section-subtitle { max-width: 690px; }
.public-site .cta-strip { padding: 38px 0; background: var(--ink); color: white; }
.public-site .cta-box { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 24px 32px; }
.public-site .cta-box > div { flex: 1 1 380px; min-width: 0; }
.public-site .cta-box > .btn { max-width: 100%; white-space: normal; text-align: center; }
.public-site .cta-box h3 { margin: 0 0 7px; color: white; font-size: clamp(1.5rem,2vw,2rem); }
.public-site .cta-box p { margin: 0; color: rgba(255,255,255,.72); }

/* Shared internal page introduction */
.public-site .page-hero { position: relative; overflow: hidden; padding: clamp(58px,7vw,88px) 0 clamp(48px,5vw,68px); background: radial-gradient(ellipse at 84% 12%,rgba(56,70,78,.48),transparent 46%),linear-gradient(125deg,#08131b,#10212d); color: white; }
.public-site .page-hero::after { position: absolute; right: 6%; bottom: -150px; width: 350px; height: 350px; border: 1px solid rgba(225,184,95,.16); border-radius: 50%; content: ''; box-shadow: 0 0 0 34px rgba(225,184,95,.025),0 0 0 68px rgba(225,184,95,.018); pointer-events: none; }
.public-site .page-hero .container { position: relative; z-index: 1; }
.public-site .page-kicker { display: block; margin-bottom: 15px; color: var(--gold-bright); font-size: .74rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.public-site .page-hero h1 { max-width: 900px; margin: 0; color: white; font-family: Inter,sans-serif; font-size: clamp(2.45rem,4.8vw,4.2rem); font-weight: 700; line-height: 1.05; letter-spacing: -.05em; }
.public-site .page-hero p { max-width: 760px; margin: 17px 0 0; color: rgba(255,255,255,.75); font-size: 1.04rem; line-height: 1.72; }
.public-site .page-hero p:empty { display: none; }
.public-site .filter-bar { display: flex; flex-wrap: wrap; gap: 9px; margin: 0 0 28px; }
.public-site .filter-bar a { display: inline-flex; min-height: 42px; align-items: center; padding: 9px 16px; border: 1px solid var(--line-soft); border-radius: 5px; background: #fff; color: var(--ink); font-size: .88rem; font-weight: 650; transition: background-color .2s ease,border-color .2s ease,color .2s ease; }
.public-site .filter-bar a:hover, .public-site .filter-bar a.active { border-color: var(--gold); background: var(--gold); color: var(--ink); }
.public-site .pagination { display: flex; justify-content: center; gap: 8px; margin-top: 36px; }
.public-site .pagination a, .public-site .pagination span { display: inline-grid; min-width: 40px; min-height: 40px; place-items: center; padding: 7px 12px; border: 1px solid var(--line-soft); border-radius: 5px; background: white; color: var(--ink); }
.public-site .pagination .current { border-color: var(--gold); background: var(--gold); font-weight: 700; }
.public-site .video-player { display: block; width: 100%; max-width: none; max-height: 78vh; aspect-ratio: 16 / 9; border-radius: 7px; background: #05090c; object-fit: contain; }

/* Contact, FAQ, and service steps */
.public-site .contact-layout { display: grid; grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); align-items: stretch; gap: 26px; }
.public-site .contact-layout > * { min-width: 0; }
.public-site .contact-layout .block { height: 100%; }
.public-site .contact-details h2, .public-site .contact-form-block h2 { margin: 0 0 12px; color: var(--ink); font-size: clamp(1.5rem,2.4vw,2rem); line-height: 1.2; }
.public-site .contact-details > p { margin: 0 0 18px; }
.public-site .contact-details a:not(.btn) { color: #805b1f; font-weight: 650; overflow-wrap: anywhere; }
.public-site .contact-form-block > p { color: var(--muted-copy); }
.public-site .contact-form-block .admin-form { display: grid; gap: 17px; margin-top: 23px; }
.public-site .contact-form-block label { display: grid; gap: 7px; color: var(--ink); font-size: .88rem; font-weight: 700; }
.public-site .contact-form-block input, .public-site .contact-form-block select, .public-site .contact-form-block textarea { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid rgba(8,19,27,.18); border-radius: 5px; background: #fff; color: var(--ink); font-size: 1rem; }
.public-site .contact-form-block textarea { min-height: 120px; resize: vertical; }
.public-site .contact-form-block input:focus, .public-site .contact-form-block select:focus, .public-site .contact-form-block textarea:focus { border-color: var(--gold); outline: 3px solid rgba(199,155,75,.18); }
.public-site .contact-form-block .admin-form .btn { justify-self: start; min-height: 50px; padding-inline: 22px; }
.public-site .faq-section { background: #f7f6f2; }
.public-site .faq-section .section-header { margin-bottom: 27px; }
.public-site .faq-list { display: grid; max-width: 940px; gap: 10px; }
.public-site .faq-item { padding: 0 19px; border: 1px solid var(--line-soft); border-radius: 6px; background: #fff; transition: border-color .2s ease,box-shadow .2s ease; }
.public-site .faq-item[open] { border-color: rgba(199,155,75,.65); box-shadow: 0 8px 24px rgba(8,19,27,.06); }
.public-site .faq-item summary { position: relative; padding: 17px 35px 17px 0; color: var(--ink); cursor: pointer; font-weight: 700; list-style: none; }
.public-site .faq-item summary::-webkit-details-marker { display: none; }
.public-site .faq-item summary::after { position: absolute; top: 15px; right: 2px; color: #9b6c20; content: '+'; font-size: 1.4rem; line-height: 1; transition: transform .2s ease; }
.public-site .faq-item[open] summary::after { transform: rotate(45deg); }
.public-site .faq-item p { margin: 0; padding: 0 0 18px; color: var(--muted-copy); line-height: 1.7; }
.public-site .service-steps { position: relative; display: grid; gap: 0; margin: 28px 0; padding: 0; list-style: none; }
.public-site .service-steps::before { position: absolute; top: 22px; bottom: 26px; left: 22px; width: 1px; content: ''; background: rgba(199,155,75,.58); }
.public-site .service-steps li { position: relative; display: grid; grid-template-columns: 46px minmax(0,1fr); align-items: start; gap: 17px; padding: 0 0 24px; }
.public-site .service-steps li:last-child { padding-bottom: 0; }
.public-site .service-steps li > span { z-index: 1; display: grid; width: 46px; height: 46px; place-items: center; border: 1px solid rgba(199,155,75,.55); border-radius: 50%; background: #fbf7ef; color: #8a621e; font-size: .87rem; font-weight: 800; }
.public-site .service-steps h4 { margin: 1px 0 5px; color: var(--ink); font-size: 1.04rem; }
.public-site .service-steps p { margin: 0; color: var(--muted-copy); font-size: .94rem; }
.public-site .list-check { margin: 0; padding: 0; list-style: none; }
.public-site .list-check li { padding: 10px 0; border-bottom: 1px solid var(--line-soft); }
.public-site .list-check li:last-child { border-bottom: 0; }
.public-site .two-column { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.public-site .grid-3 { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }

/* Floating contact */
.public-site .floating-whatsapp { position: fixed; z-index: 40; right: max(20px,env(safe-area-inset-right)); bottom: max(20px,env(safe-area-inset-bottom)); display: inline-flex; align-items: center; gap: 10px; max-width: calc(100vw - 40px); padding: 12px 17px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; background: linear-gradient(135deg,#24c864,#159d4c); color: white; box-shadow: 0 10px 28px rgba(12,120,57,.32); font-size: .88rem; font-weight: 750; transition: transform .2s ease,box-shadow .2s ease; }
.public-site .floating-whatsapp:hover { transform: translateY(-3px); box-shadow: 0 14px 32px rgba(12,120,57,.42); }
.public-site .whatsapp-mark { display: grid; width: 24px; height: 24px; flex: 0 0 24px; place-items: center; }
.public-site .whatsapp-mark svg { display: block; width: 22px; height: 22px; }

/* Image viewer */
.public-site .gallery-image { display: block; overflow: hidden; }
.public-site .image-lightbox[hidden] { display: none; }
.public-site .image-lightbox { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 34px; background: rgba(2,7,10,.94); }
.public-site .image-lightbox figure { max-width: min(1100px,100%); max-height: 100%; margin: 0; text-align: center; }
.public-site .image-lightbox figure img { max-width: 100%; max-height: calc(100vh - 110px); margin-inline: auto; object-fit: contain; }
.public-site .lightbox-caption { margin-top: 10px; color: white; }
.public-site .lightbox-close, .public-site .lightbox-prev, .public-site .lightbox-next { position: absolute; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.38); border-radius: 7px; background: rgba(8,19,27,.6); color: white; cursor: pointer; }
.public-site .lightbox-close { top: 18px; right: 18px; width: 48px; height: 48px; font-size: 1.8rem; }
.public-site .lightbox-prev, .public-site .lightbox-next { top: 50%; width: 48px; height: 58px; transform: translateY(-50%); font-size: 2rem; }
.public-site .lightbox-prev { left: 18px; }
.public-site .lightbox-next { right: 18px; }
.public-site.lightbox-open { overflow: hidden; }

/* Motion, responsive layouts */
@keyframes hero-copy-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
.public-site .motion-ready .reveal { opacity: 0; transform: translateY(16px); transition: opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1); transition-delay: var(--reveal-delay,0ms); }
.public-site .motion-ready .reveal.is-visible { opacity: 1; transform: none; }
@media (max-width: 1160px) {
    .public-site .container { width: min(var(--container-width),calc(100% - 48px)); }
    .public-site .brand-logo { width: 43px; height: 47px; }
    .public-site .brand-text strong { font-size: 1.38rem; }
    .public-site .main-nav { gap: 11px; }
    .public-site .main-nav a { font-size: .82rem; }
    .public-site .header-wrap { gap: 14px; }
    .public-site .header-actions .btn { padding-inline: 12px; }
}
@media (max-width: 1050px) {

    .public-site .main-nav { display: none; }
    .public-site .header-actions .btn { display: inline-flex; }
    .public-site .menu-toggle { display: block; }
    .public-site .header-wrap { min-height: 76px; }
    .public-site .mobile-menu { inset-block-start: 76px; }
}
@media (max-width: 760px) {
    .public-site .container { width: calc(100% - 40px); }
    .public-site .section { padding: 66px 0; }
    .public-site .section-header { margin-bottom: 28px; }
    html { scroll-padding-top: 72px; }
    .public-site .header-wrap { min-height: 72px; gap: 10px; }
    .public-site .mobile-menu { inset-block-start: 72px; }
    .public-site .brand { gap: 8px; }
    .public-site .brand-logo { width: 39px; height: 43px; }
    .public-site .brand-text strong { font-size: 1.27rem; }
    .public-site .brand-text small { font-size: .55rem; letter-spacing: .15em; }
    .public-site .header-actions { gap: 8px; }
    .public-site .header-actions .btn { min-height: 40px; padding: 8px 11px; font-size: .76rem; }
    .public-site .menu-toggle { width: 42px; height: 42px; flex: 0 0 42px; padding: 8px; }
    .public-site .hero-kicker { margin-bottom: 13px; font-size: .66rem; letter-spacing: .13em; }
    .public-site .trust-strip { padding: 14px 0; }
    .public-site .trust-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .public-site .trust-grid article { gap: 10px; padding: 11px 8px; border-right: 0; }
    .public-site .trust-grid article:first-child { padding-left: 8px; }
    .public-site .trust-icon { width: 38px; height: 38px; flex-basis: 38px; font-size: 1rem; }
    .public-site .trust-grid strong { font-size: .78rem; }
    .public-site .trust-grid small { font-size: .71rem; }
    .public-site .cards-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
    .public-site .area-card { min-height: 220px; padding: 19px 17px 17px; }
    .public-site .area-card .icon { width: 44px; height: 44px; margin-bottom: 14px; font-size: 1.2rem; }
    .public-site .area-card h3 { font-size: 1rem; }
    .public-site .area-card p { font-size: .86rem; }
    .public-site .content-grid, .public-site .video-grid, .public-site .grid-3 { grid-template-columns: 1fr; gap: 17px; }
    .public-site .content-card .thumb, .public-site .video-card .thumb { aspect-ratio: 16 / 9; }
    .public-site .cta-box { align-items: flex-start; flex-direction: column; gap: 18px; }
    .public-site .cta-box > div { flex-basis: auto; }
    .public-site .cta-box > .btn { width: auto; }
    .public-site .page-hero { padding: 52px 0 42px; }
    .public-site .page-hero h1 { font-size: clamp(2.2rem,9vw,3.25rem); }
    .public-site .page-hero p { margin-top: 13px; font-size: .97rem; }
    .public-site .content-shell { padding: 35px 0; }
    .public-site .contact-layout { grid-template-columns: 1fr; gap: 17px; }
    .public-site .contact-layout .block { height: auto; padding: 23px 20px; }
    .public-site .contact-form-block .admin-form .btn { justify-self: stretch; }
    .public-site .two-column { grid-template-columns: 1fr; }
    .public-site .floating-whatsapp { right: max(14px,env(safe-area-inset-right)); bottom: max(14px,env(safe-area-inset-bottom)); padding: 10px 13px; }
    .public-site .image-lightbox { padding: 16px; }
    .public-site .lightbox-prev { left: 7px; }
    .public-site .lightbox-next { right: 7px; }
}
@media (max-width: 380px) {
    .public-site .container { width: calc(100% - 32px); }
    .public-site .brand-text strong { font-size: 1rem; }
    .public-site .brand-text small { font-size: .49rem; letter-spacing: .12em; }
    .public-site .header-actions .header-whatsapp { display: inline-flex; width: 38px; min-width: 38px; height: 38px; min-height: 38px; justify-content: center; padding: 0; }
    .public-site .header-whatsapp span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
    .public-site .header-whatsapp svg { width: 19px; height: 19px; }
    .public-site.page-index .brand-text strong { font-size: 1rem; }
    .public-site .trust-grid { grid-template-columns: 1fr; }
    .public-site .trust-grid article { padding-inline: 0; }
    .public-site .trust-grid article:first-child { padding-left: 0; }
    .public-site .cards-grid { grid-template-columns: 1fr; }
    .public-site .area-card { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .public-site *, .public-site *::before, .public-site *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    .public-site.motion-ready .reveal { opacity: 1; transform: none; }
}

/* Homepage supporting sections */
.public-site .office-home-grid { display: grid; grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); align-items: center; gap: clamp(32px,6vw,80px); }
.public-site .office-home-photo { position: relative; min-width: 0; margin: 0; }
.public-site .office-home-photo img { display: block; width: 100%; max-height: 700px; aspect-ratio: 3 / 4; border-radius: var(--radius-card); object-fit: cover; object-position: center 42%; box-shadow: var(--shadow-soft); }
.public-site .office-home-copy { min-width: 0; }
.public-site .office-home-copy .page-kicker { margin-bottom: 10px; color: #9b6c20; }
.public-site .office-home-copy .section-title { margin-bottom: 16px; }
.public-site .office-home-copy > p { margin: 0 0 16px; color: var(--muted-copy); line-height: 1.75; }
.public-site .office-values { display: grid; gap: 8px; margin: 0 0 22px; padding: 0; list-style: none; }
.public-site .office-values li { position: relative; padding-left: 23px; color: var(--copy); line-height: 1.55; }
.public-site .office-values li::before { position: absolute; top: .08em; left: 0; color: #9b6c20; content: '✓'; font-size: .92rem; font-weight: 800; }
.public-site .home-content-section { padding: clamp(44px,4.8vw,68px) 0; background: radial-gradient(ellipse at 90% 50%,rgba(211,180,120,.12),transparent 35%),linear-gradient(115deg,#fbf9f5 0%,#f7f3ec 58%,#fbf8f2 100%); color: var(--copy); }
.public-site .home-content-section .section-header .section-title { color: var(--ink); }
.public-site .home-content-section .section-header .section-subtitle { color: var(--muted-copy); }
.public-site .home-content-section .content-card { border-color: var(--line-soft); border-radius: 8px; background: #fff; box-shadow: 0 8px 24px rgba(8,19,27,.06); }
.public-site .home-content-section .content-card h3 { color: var(--ink); }
.public-site .home-content-section .content-card p, .public-site .home-content-section .content-card .info-line { color: var(--muted-copy); }
.public-site .home-content-section .post-badge { background: #e5c681; color: #30230d; }
.public-site .home-content-section .card-link { margin-top: auto; color: #805b1f; }
.public-site .home-section-link { display: flex; justify-content: flex-end; margin-top: 22px; }
.public-site .home-section-link a { color: #805b1f; font-size: .9rem; font-weight: 700; }
.public-site .home-empty-state { display: flex; min-height: 0; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; padding: 20px 0 0; }
.public-site .home-empty-state p { margin: 0; color: var(--muted-copy); line-height: 1.6; }
.public-site .content-media { position: relative; display: block; overflow: hidden; }
.public-site .media-play { position: absolute; top: 50%; left: 50%; display: grid; width: 52px; height: 52px; place-items: center; padding-left: 3px; transform: translate(-50%,-50%); border: 2px solid rgba(255,255,255,.9); border-radius: 50%; background: rgba(8,19,27,.64); color: white; font-size: 1.1rem; }
.public-site .cta-strip { padding: clamp(26px,3vw,38px) 0; }
.public-site .cta-box h2 { margin: 0 0 7px; color: #fff; font-size: clamp(1.45rem,2vw,1.9rem); }
.public-site .cta-box > .btn { max-width: 100%; white-space: normal; text-align: center; }
.public-site .cards-grid .area-card { border-radius: 6px; }
.public-site .block, .public-site .card { transition: border-color var(--transition-ui), box-shadow var(--transition-ui), transform var(--transition-ui); }

/* Interior pages share the same navy-and-gold introduction as the site navigation. */
.public-site.page-sobre .page-hero,
.public-site.page-atendimento .page-hero,
.public-site.page-conteudos .page-hero,
.public-site.page-videos .page-hero { padding: clamp(42px,5.5vw,66px) 0; }
.public-site.page-sobre .page-hero h1,
.public-site.page-atendimento .page-hero h1,
.public-site.page-conteudos .page-hero h1,
.public-site.page-videos .page-hero h1 { max-width: 760px; font: 600 clamp(2.5rem,4.5vw,3.7rem)/.98 var(--font-display); letter-spacing: -.025em; }
.public-site.page-sobre .page-hero p,
.public-site.page-atendimento .page-hero p,
.public-site.page-conteudos .page-hero p,
.public-site.page-videos .page-hero p { max-width: 560px; margin-top: 13px; font-size: .95rem; line-height: 1.6; }
.public-site.page-sobre .page-kicker,
.public-site.page-atendimento .page-kicker,
.public-site.page-conteudos .page-kicker,
.public-site.page-videos .page-kicker { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; }
.public-site.page-sobre .page-kicker::before,
.public-site.page-atendimento .page-kicker::before,
.public-site.page-conteudos .page-kicker::before,
.public-site.page-videos .page-kicker::before { width: 27px; height: 2px; content: ''; background: var(--gold-bright); }
.public-site.page-conteudos .section, .public-site.page-videos .section { padding-top: clamp(30px,4vw,48px); }
.public-site.page-conteudos .filter-bar a { min-height: 40px; padding: 8px 14px; font-size: .86rem; }
.public-site.page-conteudos .content-card .meta { padding: 14px 16px 16px; }
.public-site.page-conteudos .content-card h3 { font-size: 1rem; line-height: 1.4; }
.public-site.page-conteudos .content-card p { font-size: .9rem; }
.public-site.page-sobre .office-about-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-items: center; gap: clamp(28px,5vw,64px); }
.public-site.page-sobre .office-about-grid img { width: 100%; aspect-ratio: 5 / 4; border-radius: var(--radius-card); object-fit: cover; object-position: center 20%; }
.public-site.page-areas .cards-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.public-site .areas-cta { margin-top: 30px; padding: 26px; border-radius: 6px; background: #f2eee5; }
.public-site .areas-cta .cta-box h2 { color: var(--ink); }
.public-site .areas-cta .cta-box p { color: var(--muted-copy); }
.public-site .area-card .icon { border: 0; background: transparent; color: var(--gold); }
.public-site .area-card .icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.public-site.page-index .cards-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.public-site.page-index .area-card { min-height: 0; padding: 18px 20px 17px; border-radius: 8px; }
.public-site.page-index .area-card:last-child:nth-child(3n + 1) { grid-column: 2; }
.public-site.page-index .area-card .icon { width: 36px; height: 36px; margin-bottom: 9px; }
.public-site.page-index .area-card h3 { margin-bottom: 7px; font-size: 1.08rem; }
.public-site.page-index .area-card p { margin-bottom: 10px; font-size: .86rem; line-height: 1.5; }
.public-site.page-index .home-areas-section { position: relative; overflow: hidden; padding: clamp(62px,7vw,92px) 0 clamp(68px,7.5vw,96px); background: radial-gradient(ellipse at 86% 28%,rgba(211,180,120,.12),transparent 30%),linear-gradient(115deg,#fbf9f5 0%,#f7f3ec 58%,#fbf8f2 100%); }
.public-site.page-index .home-areas-section > .container { position: relative; z-index: 1; }
.public-site.page-index .home-areas-art { position: absolute; z-index: 0; top: -30px; right: max(0px,calc((100vw - var(--container-width))/2)); width: min(390px,34vw); height: 390px; color: #b98c3f; opacity: .2; pointer-events: none; }
.public-site.page-index .home-areas-art::after { position: absolute; inset: 0; content: ''; background: linear-gradient(90deg,#fbf9f5 0%,rgba(251,249,245,.08) 48%,rgba(251,249,245,.2) 100%),linear-gradient(0deg,#f8f5ef 0%,transparent 42%); }
.public-site.page-index .home-areas-art svg { width: 100%; height: 100%; }
.public-site.page-index .home-areas-heading { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.8fr) minmax(240px,.85fr); align-items: end; gap: clamp(30px,5vw,76px); margin-bottom: 35px; }
.public-site.page-index .home-areas-heading-copy { max-width: 780px; }
.public-site.page-index .home-areas-eyebrow { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 14px; color: #ae7f2b; font-size: .82rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.public-site.page-index .home-areas-eyebrow::after { width: 78px; height: 1px; content: ''; background: #b98c3f; }
.public-site.page-index .home-areas-heading h2 { max-width: 800px; margin: 0; color: #171717; font: 600 clamp(3.1rem,5.7vw,4.6rem)/.82 var(--font-display); letter-spacing: -.045em; }
.public-site.page-index .home-areas-heading h2 em { color: #bd8c32; font-weight: 500; }
.public-site.page-index .home-areas-intro { max-width: 390px; margin: 0 0 8px; padding: 9px 0 9px 24px; border-left: 1px solid #bd8c32; color: #32302c; font-size: .94rem; line-height: 1.65; }
.public-site.page-index .home-areas-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.public-site.page-index .home-areas-section .home-area-card { position: relative; display: flex; min-width: 0; min-height: 174px; flex-direction: column; align-items: stretch; padding: 18px 19px 16px; overflow: hidden; border: 1px solid rgba(108,89,61,.19); border-radius: 20px; background: rgba(255,255,255,.72); box-shadow: 0 8px 18px rgba(62,48,27,.055); color: #20201f; text-decoration: none; transition: transform .24s ease,box-shadow .24s ease,border-color .24s ease,background .16s ease,color .2s ease; }
.public-site.page-index .home-areas-section .home-area-card::before { position: absolute; z-index: 0; inset: 0; border-radius: inherit; background: radial-gradient(circle 150px at var(--pointer-x,50%) var(--pointer-y,50%),rgba(198,151,63,.28),transparent 100%); content: ''; opacity: 0; pointer-events: none; transition: opacity .18s ease; }
.public-site.page-index .home-areas-section .home-area-card:hover::before,.public-site.page-index .home-areas-section .home-area-card:focus-visible::before { opacity: 1; }
.public-site.page-index .home-areas-section .home-area-card:hover,.public-site.page-index .home-areas-section .home-area-card:focus-visible { z-index: 2; transform: translateY(-5px); border-color: #bd8c32; background: radial-gradient(circle 250px at var(--pointer-x,50%) var(--pointer-y,50%),#e0b34f 0%,#c18e31 78%); box-shadow: 0 18px 32px rgba(115,79,20,.24); color: #fff; }
.public-site.page-index .home-areas-section .home-area-card:focus-visible { z-index: 3; outline: 3px solid #bd8c32; outline-offset: 3px; }
.public-site.page-index .home-areas-section .home-area-card:hover .home-area-number,.public-site.page-index .home-areas-section .home-area-card:hover h3,.public-site.page-index .home-areas-section .home-area-card:hover p,.public-site.page-index .home-areas-section .home-area-card:focus-visible .home-area-number,.public-site.page-index .home-areas-section .home-area-card:focus-visible h3,.public-site.page-index .home-areas-section .home-area-card:focus-visible p { color: #fff; }
.public-site.page-index .home-areas-section .home-area-number { position: relative; z-index: 1; display: block; width: max-content; margin-bottom: 8px; color: #bd8c32; font: 700 1.17rem/1 var(--font-display); }
.public-site.page-index .home-areas-section .home-area-icon { position: absolute; z-index: 1; top: 10px; right: 12px; display: grid; width: 70px; height: 70px; place-items: center; border: 1px solid transparent; border-radius: 50%; background: #f5efe3; color: #bd8c32; transition: transform .28s ease,background-color .24s ease,color .24s ease; }
.public-site.page-index .home-areas-section .home-area-icon svg { width: 41px; height: 41px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.public-site.page-index .home-areas-section .home-area-card:hover .home-area-icon,.public-site.page-index .home-areas-section .home-area-card:focus-visible .home-area-icon { transform: rotate(-6deg) scale(1.06); border-color: rgba(255,255,255,.65); background: rgba(255,255,255,.13); color: #fff; }
.public-site.page-index .home-areas-section .home-area-card h3 { position: relative; z-index: 1; max-width: calc(100% - 48px); margin: 0 0 7px; color: #191919; font: 700 1.28rem/1.05 var(--font-display); letter-spacing: -.015em; }
.public-site.page-index .home-areas-section .home-area-card p { position: relative; z-index: 1; margin: 0; color: #373737; font-size: .82rem; line-height: 1.43; }
.public-site.page-index .home-areas-section .home-area-card:nth-child(1) { --home-area-delay: 0ms; }
.public-site.page-index .home-areas-section .home-area-card:nth-child(2) { --home-area-delay: 65ms; }
.public-site.page-index .home-areas-section .home-area-card:nth-child(3) { --home-area-delay: 130ms; }
.public-site.page-index .home-areas-section .home-area-card:nth-child(4) { --home-area-delay: 195ms; }
.public-site.page-index .home-areas-section .home-area-card:nth-child(5) { --home-area-delay: 260ms; }
.public-site.page-index .home-areas-section .home-area-card:nth-child(6) { --home-area-delay: 325ms; }
.public-site.page-index .home-areas-section .home-area-card:nth-child(7) { --home-area-delay: 390ms; }
.public-site.page-index .home-areas-section .home-area-card:nth-child(8) { --home-area-delay: 455ms; }
.public-site.page-index .motion-ready .home-area-card.reveal:not(.is-visible) { transition-delay: var(--home-area-delay,0ms); }
@media (max-width: 1050px) {
    .public-site.page-index .home-areas-heading { grid-template-columns: minmax(0,1.5fr) minmax(220px,.8fr); gap: 28px; }
    .public-site.page-index .home-areas-heading h2 { font-size: clamp(3rem,6.1vw,4rem); }
    .public-site.page-index .home-areas-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
    .public-site.page-index .home-areas-section .home-area-card { min-height: 164px; }
}
@media (max-width: 760px) {
    .public-site.page-index .home-areas-section { padding: 58px 0 66px; }
    .public-site.page-index .home-areas-heading { grid-template-columns: minmax(0,1fr); gap: 20px; margin-bottom: 28px; }
    .public-site.page-index .home-areas-heading h2 { max-width: 640px; font-size: clamp(3rem,9vw,4rem); line-height: .88; }
    .public-site.page-index .home-areas-intro { max-width: 480px; margin: 0; }
    .public-site.page-index .home-areas-art { top: -28px; right: -80px; width: 300px; height: 320px; opacity: .12; }
}
@media (max-width: 520px) {
    .public-site.page-index .home-areas-section { padding: 48px 0 54px; }
    .public-site.page-index .home-areas-grid { grid-template-columns: minmax(0,1fr); gap: 12px; }
    .public-site.page-index .home-areas-section .home-area-card { min-height: 150px; padding: 17px 18px 15px; border-radius: 16px; }
    .public-site.page-index .home-areas-section .home-area-card h3 { font-size: 1.3rem; }
    .public-site.page-index .home-areas-section .home-area-card p { max-width: 38ch; font-size: .86rem; }
    .public-site.page-index .home-areas-art { right: -118px; opacity: .1; }
}
@media (max-width: 1050px) {
    .public-site.page-index .cards-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .public-site.page-index .area-card:last-child:nth-child(2n + 1) { grid-column: 1 / -1; width: calc(50% - 7px); justify-self: center; }
}
@media (max-width: 520px) {
    .public-site.page-index .cards-grid { grid-template-columns: minmax(0,1fr); }
    .public-site.page-index .area-card:last-child:nth-child(2n + 1) { grid-column: auto; width: auto; }
}
.public-site.page-index .home-hero-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 20px; color: #e1b85f; font-size: .78rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.public-site.page-index .home-hero-eyebrow i { width: 25px; height: 1px; background: currentColor; }
.public-site.page-index .home-hero-eyebrow + h1 { max-width: 650px; }
.public-site.page-index .home-service-section { padding: clamp(52px,6vw,78px) 0; background: radial-gradient(ellipse at 90% 50%,rgba(211,180,120,.12),transparent 35%),linear-gradient(115deg,#fbf9f5 0%,#f7f3ec 58%,#fbf8f2 100%); }
.public-site.page-index .home-service-section .section-header { margin-bottom: 28px; }
.public-site.page-index .home-service-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; margin: 0; padding: 0; list-style: none; }
.public-site.page-index .home-service-steps li { display: flex; align-items: flex-start; gap: 13px; min-width: 0; }
.public-site.page-index .home-service-steps li > span { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border: 1px solid rgba(199,155,75,.6); border-radius: 50%; color: #9b6c20; font-size: .82rem; font-weight: 700; }
.public-site.page-index .home-service-steps h3 { margin: 0 0 5px; color: var(--ink); font: 600 1.2rem/1.2 var(--font-display); }
.public-site.page-index .home-service-steps p { margin: 0; color: var(--muted-copy); font-size: .85rem; line-height: 1.55; }
.public-site.page-index .home-contact-section { padding: 48px 0; }
.public-site.page-index .home-contact-callout { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 26px; padding: 27px 32px; border-left: 2px solid var(--gold); background: #f4f2ed; }
.public-site.page-index .home-contact-callout .page-kicker { width: 100%; margin: 0; color: #9b6c20; }
.public-site.page-index .home-contact-callout h2 { margin: 0; color: var(--ink); font: 600 2rem/1.1 var(--font-display); }
.public-site.page-index .home-contact-callout p { flex: 1 1 300px; margin: 0; color: var(--muted-copy); }
.public-site.page-index .home-contact-callout .btn { flex: 0 0 auto; }
.public-site .area-card .icon img { width: 100%; height: 100%; object-fit: contain; }
.public-site .video-empty-state { max-width: 780px; margin-inline: auto; }
.public-site .faq-item { transition: border-color var(--transition-ui), background-color var(--transition-ui); }
.public-site .faq-item[open] { border-color: rgba(199,155,75,.55); background: #fffdfa; }
.public-site .faq-item summary { padding: 2px 22px 2px 0; }
.public-site .faq-item summary::marker { color: var(--gold); }
.public-site .faq-item p { line-height: 1.75; }

@media (max-width: 1050px) {
    .public-site .hero-background { width: 56vw; }
    .public-site .office-home-grid, .public-site.page-sobre .office-about-grid { gap: 30px; }
}
@media (max-width: 760px) {
    .public-site .container { width: calc(100% - 40px); }
    .public-site .section { padding: 54px 0; }
    .public-site .hero.has-background { min-height: 0; }
    .public-site .hero-background { inset: 0; width: auto; background-position: 64% center; }
    .public-site .hero-background img { object-position: 64% center; }
    .public-site .hero-overlay { background: linear-gradient(0deg,rgba(5,10,14,.98) 0%,rgba(5,10,14,.88) 45%,rgba(5,10,14,.37) 78%,rgba(5,10,14,.2) 100%); }
    .public-site .hero.has-background > .container.hero-content { width: calc(100% - 40px); min-height: 610px; align-items: flex-end; padding-block: 220px 34px; }
    .public-site .hero.has-background h1 { font-size: clamp(2.35rem,9vw,3.25rem); }
    .public-site .hero.has-background .hero-copy > p { font-size: .98rem; line-height: 1.62; }
    .public-site .hero.has-background .hero-actions { display: grid; grid-template-columns: 1fr; gap: 9px; margin-top: 19px; }
    .public-site .hero.has-background .hero-actions .btn { width: 100%; min-height: 48px; }
    .public-site .trust-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .public-site .office-home-grid, .public-site.page-sobre .office-about-grid { grid-template-columns: minmax(0,1fr); gap: 25px; }
    .public-site .office-home-photo img, .public-site.page-sobre .office-about-grid img { aspect-ratio: 16 / 10; }
    .public-site .office-home-photo img { max-height: 560px; aspect-ratio: 4 / 3; object-position: center 38%; }
    .public-site .cards-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
    .public-site .content-grid, .public-site .video-grid, .public-site .grid-3 { grid-template-columns: minmax(0,1fr); gap: 17px; }
    .public-site.page-index .home-service-steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .public-site .cta-box { align-items: flex-start; flex-direction: column; gap: 17px; }
    .public-site .cta-box > div { flex-basis: auto; }
    .public-site .cta-box > .btn { width: auto; }
    .public-site.page-areas .cards-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .public-site .home-empty-state { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 380px) {
    .public-site .container { width: calc(100% - 32px); }
    .public-site .hero.has-background > .container.hero-content { width: calc(100% - 32px); min-height: 570px; padding-block: 190px 28px; }
    .public-site .hero.has-background h1 { font-size: clamp(2.15rem,9vw,2.45rem); }
    .public-site .cards-grid, .public-site.page-areas .cards-grid, .public-site .trust-grid { grid-template-columns: minmax(0,1fr); }
    .public-site .area-card { min-height: 0; }
}
/* Contact page: editorial hero, split contact card, FAQ, and location band */
.public-site.page-contato .contact-page-hero { position: relative; isolation:isolate; overflow: hidden; min-height: 250px; color: #fff; background: #07131b; }
.public-site.page-contato .contact-page-hero::before { position:absolute; z-index:1; inset:0; content:''; background:linear-gradient(90deg,#07131b 0%,rgba(7,19,27,.96) 28%,rgba(7,19,27,.55) 57%,rgba(7,19,27,.1) 100%); pointer-events:none; }
.public-site.page-contato .contact-page-hero-inner { position:relative; z-index:2; display:flex; min-height:250px; align-items:center; }
.public-site.page-contato .contact-hero-copy { position:relative; z-index:1; width:min(520px,60%); padding:30px 0 34px; }
.public-site.page-contato .contact-eyebrow,.public-site.page-contato .contact-section-kicker { display:flex; align-items:center; gap:9px; margin:0 0 12px; color:#d8ad58; font-size:.68rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.public-site.page-contato .contact-hero-copy h1 { margin:0 0 13px; color:#fff; font:600 clamp(2.45rem,4vw,3.65rem)/.98 var(--font-display); letter-spacing:-.025em; }
.public-site.page-contato .contact-hero-copy h1 em { color:#e4b85e; font-style:italic; }
.public-site.page-contato .contact-hero-copy > p { max-width:370px; margin:0; color:rgba(255,255,255,.9); font-size:.88rem; line-height:1.45; }
.public-site.page-contato .contact-outline-icon { display:grid; width:36px; height:36px; flex:0 0 36px; place-items:center; border:2px solid var(--gold-bright); border-radius:50%; color:var(--gold-bright); font-size:1.35rem; }
.public-site.page-contato .contact-outline-icon svg { width:21px; height:21px; fill:currentColor; }
.public-site.page-contato .contact-hero-art { position:absolute; z-index:0; inset:0 0 0 46%; background-image:linear-gradient(90deg,#07131b 0%,rgba(7,19,27,.6) 20%,rgba(7,19,27,.05) 65%),url('/assets/img/advogado-elton.jpg'); background-position:center 8%; background-size:cover; opacity:.8; }
.public-site.page-contato .contact-feature-section { position:relative; z-index:2; margin-top:-1px; padding:0 0 12px; background:#f4f2ed; }
.public-site.page-contato .contact-layout.contact-feature { width:min(1208px,calc(100% - 48px)); grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:0; overflow:hidden; border:1px solid rgba(8,19,27,.16); border-radius:12px; background:#fffdfa; box-shadow:0 18px 42px rgba(8,19,27,.14); }
.public-site.page-contato .contact-feature > .contact-details { position:relative; display:flex; height:auto; flex-direction:column; justify-content:center; gap:20px; overflow:hidden; padding:clamp(28px,3.2vw,38px); border:0; border-radius:0; background:linear-gradient(145deg,rgba(7,19,27,.94),rgba(7,19,27,.98)),url('/assets/img/advogado-elton.jpg') center/cover; color:#fff; }
.public-site.page-contato .contact-feature > .contact-details::after { position:absolute; right:-110px; bottom:65px; width:270px; height:270px; border:1px solid rgba(225,184,95,.13); border-radius:50%; content:''; box-shadow:0 0 0 28px rgba(225,184,95,.025),0 0 0 56px rgba(225,184,95,.018); pointer-events:none; }
.public-site.page-contato .contact-copy-main { position:relative; z-index:1; }
.public-site.page-contato .contact-section-kicker { margin:0 0 9px; font-size:.61rem; letter-spacing:.08em; }
.public-site.page-contato .contact-section-kicker i { width:27px; height:2px; background:#d9ab51; }
.public-site.page-contato .contact-copy-main h2 { margin:0 0 9px; color:#fff; font:600 clamp(1.75rem,2.4vw,2.3rem)/1.02 var(--font-display); letter-spacing:-.015em; }
.public-site.page-contato .contact-copy-main > p { max-width:42ch; margin:0 0 17px; color:rgba(255,255,255,.75); font-size:.83rem; line-height:1.6; }
.public-site.page-contato .contact-info-list { display:grid; gap:10px; }
.public-site.page-contato .contact-info-item { position:relative; z-index:1; display:grid; min-width:0; grid-template-columns:42px minmax(0,1fr); align-items:center; gap:11px; color:#fff; }
.public-site.page-contato .contact-info-icon { display:grid; width:40px; height:40px; place-items:center; border:1px solid rgba(225,184,95,.8); border-radius:50%; color:#e3b658; font-size:1.25rem; }
.public-site.page-contato .contact-info-icon svg { width:20px; height:20px; fill:currentColor; }
.public-site.page-contato .contact-info-item > span:last-child { min-width:0; }
.public-site.page-contato .contact-info-item strong,.public-site.page-contato .contact-info-item b,.public-site.page-contato .contact-info-item small { display:block; }
.public-site.page-contato .contact-info-item strong { margin-bottom:2px; color:#e2b65b; font-size:.75rem; font-weight:700; }
.public-site.page-contato .contact-info-item b { color:#fff; font-size:.78rem; font-weight:550; line-height:1.4; overflow-wrap:anywhere; }
.public-site.page-contato .contact-info-item small { margin-top:2px; color:rgba(255,255,255,.65); font-size:.68rem; line-height:1.35; }
.public-site.page-contato .contact-feature > .contact-form-block { height:auto; padding:clamp(28px,3.5vw,48px); border:0; border-radius:0; background:#fffdfa; }
.public-site.page-contato .contact-form-heading { margin-bottom:22px; }
.public-site.page-contato .contact-form-heading .contact-section-kicker { color:#98702c; }
.public-site.page-contato .contact-form-heading h2 { margin:0 0 7px; color:var(--ink); font:600 clamp(1.75rem,2.6vw,2.35rem)/1.05 var(--font-display); letter-spacing:-.02em; }
.public-site.page-contato .contact-form-heading p { max-width:58ch; margin:0; color:var(--muted-copy); font-size:.83rem; line-height:1.6; }
.public-site.page-contato .contact-form-block .admin-form { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 16px; margin-top:0; }
.public-site.page-contato .contact-form-block label { min-width:0; gap:6px; color:#25323b; font-size:.72rem; font-weight:650; }
.public-site.page-contato .contact-form-block .contact-field-title { display:block; color:#25323b; }
.public-site.page-contato .contact-form-block .contact-field-title i { color:#ae7423; font-style:normal; }
.public-site.page-contato .contact-form-block input,.public-site.page-contato .contact-form-block select,.public-site.page-contato .contact-form-block textarea { width:100%; min-height:43px; padding:10px 12px; border:1px solid #d9d9d7; border-radius:6px; background:#fff; color:var(--ink); font-size:.78rem; transition:border-color var(--transition-ui),box-shadow var(--transition-ui),background-color var(--transition-ui); }
.public-site.page-contato .contact-form-block input::placeholder,.public-site.page-contato .contact-form-block textarea::placeholder { color:#81909a; }
.public-site.page-contato .contact-form-block input:hover,.public-site.page-contato .contact-form-block select:hover,.public-site.page-contato .contact-form-block textarea:hover { border-color:#b9a77f; }
.public-site.page-contato .contact-form-block input:focus,.public-site.page-contato .contact-form-block select:focus,.public-site.page-contato .contact-form-block textarea:focus { border-color:var(--gold); outline:0; background:#fff; box-shadow:0 0 0 3px rgba(199,155,75,.16); }
.public-site.page-contato .contact-form-block .contact-summary-field,.public-site.page-contato .contact-form-block .admin-form > .btn { grid-column:1/-1; }
.public-site.page-contato .contact-form-block textarea { min-height:90px; resize:vertical; }
.public-site.page-contato .contact-form-block .admin-form > .btn { display:flex; width:100%; min-height:48px; align-items:center; justify-content:center; justify-self:stretch; gap:12px; padding:10px 16px; border:1px solid #c99b43; border-radius:6px; background:linear-gradient(110deg,#bf9034,#d6ad5a); color:#fff; font-size:.83rem; }
.public-site.page-contato .contact-submit-icon { font-size:1.2rem; }
.public-site.page-contato .contact-submit-icon svg { display:block; width:19px; height:19px; fill:currentColor; }
.public-site.page-contato .contact-submit-icon .contact-wa-phone { fill:#c49337; }
.public-site.page-contato .contact-submit-arrow { margin-left:auto; font-size:1.2rem; transition:transform var(--transition-ui); }
.public-site.page-contato .contact-form-block .admin-form > .btn:hover .contact-submit-arrow { transform:translateX(4px); }
.public-site.page-contato .contact-form-hint { margin:11px 0 0; color:#687783; font-size:.67rem; text-align:center; }
.public-site.page-contato .contact-form-hint span { margin-right:5px; }
.public-site.page-contato .contact-noscript { font-size:.8rem; }
.public-site.page-contato .contact-noscript a { color:#805b1f; font-weight:700; }
.public-site.page-contato .contact-faq-section { padding:10px 0 12px; background:#f4f2ed; }
.public-site.page-contato .contact-faq-section > .container { display:grid; grid-template-columns:minmax(260px,.7fr) minmax(0,1.5fr); align-items:center; gap:28px; }
.public-site.page-contato .contact-faq-section .section-header { margin:0; }
.public-site.page-contato .contact-faq-section .section-title { margin:0 0 4px; font:600 1.85rem/1.1 var(--font-display); }
.public-site.page-contato .contact-faq-section .section-header .section-title::after { display:none; }
.public-site.page-contato .contact-faq-section .section-subtitle { font-size:.82rem; }
.public-site.page-contato .contact-faq-section .faq-list { max-width:none; gap:8px; }
.public-site.page-contato .contact-faq-section .faq-item { border-radius:6px; background:rgba(255,255,255,.35); }
.public-site.page-contato .contact-faq-section .faq-item summary { padding:12px 30px 12px 14px; font-size:.78rem; }
.public-site.page-contato .contact-faq-section .faq-item summary::after { top:10px; }
.public-site .contact-location-section { position:relative; overflow:hidden; padding:26px 0; background:radial-gradient(ellipse at 83% 50%,rgba(199,155,75,.14),transparent 37%),linear-gradient(110deg,#07131b,#0b1b25); color:#fff; }
.public-site .contact-location-section .contact-section-kicker { display:flex; align-items:center; gap:9px; margin:0 0 9px; color:#d8ad58; font-size:.61rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.public-site .contact-location-section .contact-section-kicker i { width:27px; height:2px; background:#d9ab51; }
.public-site .contact-location-inner { position:relative; display:flex; min-height:150px; align-items:center; justify-content:space-between; gap:28px; }
.public-site .contact-location-copy { position:relative; z-index:1; }
.public-site .contact-location-copy h2 { margin:0 0 5px; color:#fff; font:600 2rem/1.05 var(--font-display); }
.public-site .contact-location-copy > p { margin:0; color:rgba(255,255,255,.72); font-size:.8rem; }
.public-site .contact-location-facts { display:flex; align-items:center; gap:20px; margin-top:17px; }
.public-site .contact-location-facts > div { display:flex; align-items:center; gap:9px; max-width:230px; }
.public-site .contact-location-facts > div + div { padding-left:19px; border-left:1px solid rgba(255,255,255,.2); }
.public-site .contact-location-facts > div > span { color:#e1b85f; font-size:1.25rem; }
.public-site .contact-location-facts p { margin:0; color:rgba(255,255,255,.85); font-size:.72rem; line-height:1.5; }
.public-site .contact-map-button { display:inline-flex; min-height:42px; align-items:center; gap:9px; padding:9px 13px; border:1px solid rgba(225,184,95,.8); border-radius:5px; color:#f2d18b; font-size:.72rem; font-weight:700; transition:background-color var(--transition-ui),color var(--transition-ui); }
.public-site .contact-map-button:hover { background:#e1b85f; color:var(--ink); }
.public-site .contact-map-button b { font-size:1rem; }
.public-site .contact-location-art { position:relative; display:grid; width:270px; height:150px; flex:0 0 270px; place-content:center; gap:5px; border-left:1px solid rgba(225,184,95,.2); background:repeating-linear-gradient(30deg,transparent 0 28px,rgba(225,184,95,.055) 29px 30px),repeating-linear-gradient(120deg,transparent 0 42px,rgba(225,184,95,.04) 43px 44px); color:rgba(255,255,255,.65); text-align:center; font-size:.75rem; }
.public-site .contact-map-pin { color:#e5bd68; font-size:2rem; }
@media (min-width: 901px) {
    .public-site.page-contato .contact-info-list { gap:12px; }
    .public-site.page-contato .contact-info-item { grid-template-columns:46px minmax(0,1fr); }
    .public-site.page-contato .contact-info-icon { width:40px; height:40px; border:0; font-size:1.55rem; }
    .public-site.page-contato .contact-feature > .contact-form-block { padding:24px 36px 10px; }
    .public-site.page-contato .contact-form-heading { margin-bottom:14px; }
    .public-site.page-contato .contact-form-block .admin-form { gap:9px 16px; }
    .public-site.page-contato .contact-form-block input,.public-site.page-contato .contact-form-block select { min-height:38px; }
    .public-site.page-contato .contact-form-block textarea { min-height:62px; }
    .public-site.page-contato .contact-form-block .admin-form > .btn { min-height:42px; }
    .public-site.page-contato .contact-form-hint { margin-top:7px; }
    .public-site.page-contato .contact-faq-section .faq-item { padding:0 12px; }
    .public-site.page-contato .contact-faq-section .faq-item summary { padding-top:8px; padding-bottom:8px; }
    .public-site.page-contato .contact-faq-section .faq-item summary::after { top:6px; }
}
@media (max-width: 900px) {
    .public-site.page-contato .contact-faq-section > .container { grid-template-columns:1fr; gap:16px; }
}
@media (max-width: 900px) {
    .public-site.page-contato .contact-hero-copy { width:min(440px,54%); }
    .public-site.page-contato .contact-hero-art { left:53%; right:-9%; opacity:.55; }
    .public-site.page-contato .contact-layout.contact-feature { grid-template-columns:minmax(0,1fr); }
    .public-site.page-contato .contact-feature > .contact-details,.public-site.page-contato .contact-feature > .contact-form-block { padding:30px clamp(24px,5vw,42px); }
    .public-site.page-contato .contact-info-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 20px; }
    .public-site .contact-location-art { width:210px; flex-basis:210px; }
}
@media (max-width: 600px) {
    .public-site.page-contato .contact-page-hero,.public-site.page-contato .contact-page-hero-inner { min-height:0; }
    .public-site.page-contato .contact-hero-copy { width:100%; padding:38px 0 31px; }
    .public-site.page-contato .contact-hero-copy h1 { font-size:clamp(2.5rem,10.5vw,3.4rem); }
    .public-site.page-contato .contact-hero-break { display:none; }
    .public-site.page-contato .contact-hero-copy > p { max-width:39ch; font-size:.88rem; }
    .public-site.page-contato .contact-hero-art { left:38%; right:-130px; opacity:.26; }
    .public-site.page-contato .contact-feature-section { padding:18px 0 38px; }
    .public-site.page-contato .contact-layout.contact-feature { border-radius:7px; }
    .public-site.page-contato .contact-feature > .contact-details,.public-site.page-contato .contact-feature > .contact-form-block { padding:25px 20px; }
    .public-site.page-contato .contact-info-list { grid-template-columns:minmax(0,1fr); gap:12px; }
    .public-site.page-contato .contact-info-item { grid-template-columns:38px minmax(0,1fr); }
    .public-site.page-contato .contact-info-icon { width:36px; height:36px; }
    .public-site.page-contato .contact-form-block .admin-form { grid-template-columns:minmax(0,1fr); gap:13px; }
    .public-site.page-contato .contact-form-block .contact-summary-field,.public-site.page-contato .contact-form-block .admin-form > .btn { grid-column:auto; }
    .public-site.page-contato .contact-faq-section { padding:5px 0 36px; }
    .public-site .contact-location-section { padding:27px 0; }
    .public-site .contact-location-inner { min-height:0; align-items:stretch; flex-direction:column; gap:22px; }
    .public-site .contact-location-facts { align-items:flex-start; flex-direction:column; gap:12px; }
    .public-site .contact-location-facts > div + div { padding:0; border:0; }
    .public-site .contact-location-art { width:100%; height:100px; flex-basis:auto; border-top:1px solid rgba(225,184,95,.2); border-left:0; }
}
/* Homepage attendance and social band */
.public-site .home-attendance-social {
    position: relative;
    overflow: hidden;
    padding: clamp(38px, 4.2vw, 58px) 0;
    border-top: 1px solid rgba(184,133,47,.22);
    border-bottom: 1px solid rgba(184,133,47,.3);
    background: radial-gradient(ellipse at 90% 50%,rgba(211,180,120,.16),transparent 35%),linear-gradient(115deg,#fbf9f5 0%,#f7f3ec 58%,#fbf8f2 100%);
    color: var(--ink);
}
.public-site .home-attendance-social::before {
    position: absolute;
    right: -4%;
    bottom: -34px;
    left: -4%;
    height: 58px;
    border-top: 2px solid rgba(184,133,47,.44);
    border-radius: 50% 46% 0 0;
    content: '';
    transform: rotate(-1.5deg);
    pointer-events: none;
}
.public-site .home-attendance-social::after {
    position: absolute;
    top: 0;
    right: -7%;
    width: 34%;
    height: 100%;
    pointer-events: none;
    content: '';
    background: radial-gradient(ellipse at 60% 48%,rgba(211,180,120,.16),transparent 60%);
    opacity: .6;
}
.public-site .home-attendance-social-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0,1.38fr) minmax(280px,.62fr);
    align-items: center;
    gap: clamp(28px,4vw,60px);
}
.public-site .home-attendance-copy,
.public-site .home-social-copy { min-width: 0; }
.public-site .home-attendance-copy { display: grid; grid-template-columns: clamp(76px,10vw,138px) minmax(0,1fr); align-items: center; gap: clamp(16px,2.2vw,30px); }
.public-site .home-attendance-emblem { display: grid; place-items: center; color: #ae7f2b; opacity: .72; }
.public-site .home-attendance-emblem svg { display: block; width: 100%; max-width: 138px; max-height: 212px; overflow: visible; filter: drop-shadow(0 5px 16px rgba(199,155,75,.22)); }
.public-site .home-attendance-content { min-width: 0; }
.public-site .home-band-kicker { display: flex; align-items: center; gap: 14px; margin-bottom: 13px; color: #9b6c20; font-size: .74rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.public-site .home-band-kicker::after { width: min(220px,32%); height: 1px; content: ''; background: linear-gradient(90deg,#b98c3f,rgba(184,133,47,.2)); }
.public-site .home-attendance-copy h2,
.public-site .home-social-copy h2 { margin: 0; color: var(--ink); }
.public-site .home-attendance-copy h2 { max-width: none; font: 600 clamp(1.95rem,3.2vw,2.8rem)/.98 var(--font-display); letter-spacing: -.025em; }
.public-site .home-attendance-copy h2 em { color: #9b6c20; font-style: normal; }
.public-site .home-attendance-copy h2 .attendance-line { display: block; white-space: nowrap; }
.public-site .home-whatsapp-link { display: flex; width: min(100%,500px); min-height: 54px; align-items: center; gap: 15px; margin-top: 21px; padding: 9px 18px; border: 1.5px solid #b98c3f; border-radius: 999px; background:rgba(255,253,248,.7); color:var(--ink); font: 600 1.05rem/1.2 var(--font-display); transition: background-color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease; }
.public-site .home-whatsapp-link svg { width: 30px; height: 30px; flex: 0 0 auto; fill: currentColor; color: #9b6c20; }
.public-site .home-whatsapp-link b { margin-left: auto; color: #9b6c20; font: 400 1.5rem/1 Inter,Arial,sans-serif; transition: transform .2s ease; }
.public-site .home-whatsapp-link:hover { transform: translateY(-2px); border-color: #9b6c20; background:#f3e7cc; box-shadow:0 8px 22px rgba(92,67,25,.12); }
.public-site .home-whatsapp-link:hover b { transform: translateX(4px); }
.public-site .home-social-copy { padding: 5px 0 5px clamp(26px,3vw,46px); border-left: 2px solid rgba(184,133,47,.55); }
.public-site .home-social-copy .home-band-kicker { margin-bottom: 13px; }
.public-site .home-social-copy h2 { font: 600 clamp(1.65rem,2.5vw,2.1rem)/1.02 var(--font-display); letter-spacing: -.01em; }
.public-site .home-instagram-handle { display: flex; align-items: center; gap: 15px; margin: 14px 0 9px; color: var(--ink); font-size: clamp(1.2rem,1.8vw,1.55rem); font-weight: 750; }
.public-site .home-instagram-handle svg { width: 48px; height: 48px; flex: 0 0 auto; fill: none; stroke: #ae7f2b; stroke-width: 3; }
.public-site .home-instagram-handle .instagram-dot { fill: var(--gold-bright); stroke: none; }
.public-site .home-social-copy p { margin: 0 0 15px 63px; color: var(--muted-copy); font-size: .9rem; line-height: 1.5; }
.public-site .home-instagram-link { display: flex; width: min(100%,300px); min-height: 46px; align-items: center; justify-content: center; gap: 18px; padding: 8px 16px; border: 1.5px solid #b98c3f; border-radius: 999px; background:rgba(255,253,248,.7); color:var(--ink); font: 600 1rem/1.2 var(--font-display); transition: background-color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease; }
.public-site .home-instagram-link span { font-size: 1.35em; line-height: 1; text-decoration: none; transition: transform var(--transition-ui); }
.public-site .home-instagram-link:hover { transform: translateY(-2px); border-color: #9b6c20; background:#f3e7cc; box-shadow:0 8px 22px rgba(92,67,25,.12); }
.public-site .home-instagram-link:hover span { transform: translateX(4px); }
.public-site .trust-icon svg { display: block; width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.65; }
@media (max-width: 900px) {
    .public-site .home-attendance-social { padding: 34px 0 40px; }
    .public-site .home-attendance-social-grid { grid-template-columns: minmax(0,1fr); gap: 27px; }
    .public-site .home-attendance-copy { grid-template-columns: 90px minmax(0,1fr); gap: 20px; }
    .public-site .home-attendance-emblem svg { max-height: 165px; }
    .public-site .home-attendance-copy h2 { font-size: clamp(1.8rem,4vw,2.4rem); }
    .public-site .home-attendance-copy h2 .attendance-line { white-space: normal; }
    .public-site .home-whatsapp-link { margin-top: 16px; }
    .public-site .home-social-copy { padding: 22px 0 0 110px; border-top: 1px solid rgba(184,133,47,.45); border-left: 0; }
    .public-site .home-social-copy .home-band-kicker { margin-bottom: 10px; }
    .public-site .home-social-copy .home-band-kicker::after { width: min(180px,30%); }
    .public-site .home-instagram-link { width: min(100%,300px); }
}
@media (max-width: 520px) {
    .public-site .home-attendance-social { padding: 30px 0 36px; }
    .public-site .home-attendance-social-grid { gap: 22px; }
    .public-site .home-attendance-copy { grid-template-columns: 56px minmax(0,1fr); gap: 13px; }
    .public-site .home-attendance-emblem svg { max-height: 125px; }
    .public-site .home-band-kicker { gap: 9px; font-size: .65rem; letter-spacing: .16em; }
    .public-site .home-band-kicker::after { width: min(110px,25%); }
    .public-site .home-attendance-copy h2 { font-size: clamp(1.55rem,7vw,2rem); line-height: 1; }
    .public-site .home-whatsapp-link { min-height: 46px; gap: 10px; margin-top: 13px; padding: 7px 13px; font-size: .95rem; }
    .public-site .home-whatsapp-link svg { width: 25px; height: 25px; }
    .public-site .home-social-copy { padding: 18px 0 0 69px; }
    .public-site .home-social-copy h2 { font-size: 1.55rem; }
    .public-site .home-instagram-handle { gap: 11px; margin-top: 11px; font-size: 1.2rem; }
    .public-site .home-instagram-handle svg { width: 40px; height: 40px; }
    .public-site .home-social-copy p { margin-left: 51px; font-size: .82rem; }
    .public-site .home-instagram-link { min-height: 42px; font-size: .95rem; }
}

/* Home content gets its own light panel before the dark contact band. */
.public-site .home-content-grid.home-content-count-1 { grid-template-columns: minmax(0, 440px); justify-content: center; margin-inline: auto; }
.public-site .home-content-grid.home-content-count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 920px; justify-content: center; margin-inline: auto; }
@media (max-width: 760px) {
    .public-site .home-content-grid.home-content-count-1,
    .public-site .home-content-grid.home-content-count-2 { grid-template-columns: minmax(0, 1fr); max-width: none; }
}

/* Video library uses a four-column card grid that wraps into additional rows. */
.public-site.page-videos .video-list-section { padding-top: 24px; }
.public-site.page-videos .video-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.public-site.page-videos .video-card { min-width: 0; }
.public-site.page-videos .video-card h2 { margin: 0 0 10px; color: var(--ink); font-size: 1.05rem; line-height: 1.35; }
.public-site.page-videos .video-card .meta { padding: 15px 16px 17px; }
.public-site.page-videos .video-card .btn { width: 100%; margin-top: auto; }
@media (max-width: 1050px) {
    .public-site.page-videos .video-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
    .public-site.page-index .area-card:last-child:nth-child(2n + 1) { width: calc(50% - 6.5px); }
    .public-site.page-videos .video-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
}
@media (max-width: 520px) {
    .public-site.page-videos .video-grid { grid-template-columns: minmax(0,1fr); }
    .public-site.page-index .home-service-steps { grid-template-columns: minmax(0,1fr); }
    .public-site.page-index .area-card:last-child:nth-child(3n + 1) { grid-column: auto; width: auto; }
    .public-site.page-index .home-hero-eyebrow { align-items: flex-start; flex-direction: column; gap: 6px; font-size: .68rem; }
    .public-site.page-index .home-hero-eyebrow i { display: none; }
    .public-site.page-index .home-contact-callout { align-items: flex-start; flex-direction: column; padding: 24px 20px; }
}

.public-site .content-detail-section {
    padding:clamp(24px,4vw,42px) 0 clamp(38px,5vw,58px);
    background:linear-gradient(180deg,#fffaf1,#f8f5ee);
}
.public-site .content-detail-grid {
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(270px,.75fr);
    align-items:start;
    gap:22px;
    max-width:1120px;
}
.public-site .content-detail-main,
.public-site .content-detail-primary,
.public-site .content-detail-summary { min-width:0; }
.public-site .content-detail-primary { display:grid; align-content:start; gap:15px; }
.public-site .content-detail-player,
.public-site .content-detail-image-wrap {
    overflow:hidden;
    border:1px solid rgba(184,133,47,.42);
    border-radius:8px;
    background:#071017;
    box-shadow:0 10px 26px rgba(8,19,27,.1);
}
.public-site .content-detail-player { aspect-ratio:16/9; }
.public-site .content-detail-player .video-player {
    width:100%;
    height:100%;
    max-height:none;
    aspect-ratio:16/9;
    border-radius:0;
    object-fit:contain;
}
.public-site .content-detail-image-wrap { background:#fffdfa; }
.public-site .content-detail-image { display:block; width:100%; max-height:650px; margin:auto; object-fit:contain; }
.public-site .content-detail-media-empty {
    display:grid;
    min-height:260px;
    place-items:center;
    padding:24px;
    border:1px dashed rgba(184,133,47,.5);
    border-radius:8px;
    background:#fffdfa;
    color:var(--muted-copy);
    text-align:center;
}
.public-site .content-detail-meta {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px 14px;
    margin:15px 0 18px;
    color:var(--muted-copy);
    font-size:.78rem;
}
.public-site .content-detail-meta > span + span { padding-left:13px; border-left:1px solid rgba(8,19,27,.16); }
.public-site .content-detail-meta .content-detail-type {
    padding:4px 9px;
    border:1px solid rgba(184,133,47,.35);
    border-radius:999px;
    background:#f7efdf;
    color:#805b1f;
    font-size:.68rem;
    font-weight:750;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.public-site .content-detail-meta .content-detail-type + span { padding-left:0; border-left:0; }
.public-site .content-detail-body,
.public-site .content-detail-summary {
    padding:clamp(20px,2.7vw,30px);
    border:1px solid rgba(184,133,47,.42);
    border-radius:8px;
    background:#fffdfa;
    box-shadow:0 7px 20px rgba(92,67,25,.055);
}
.public-site .content-detail-body h2,
.public-site .content-detail-summary h2 {
    margin:0 0 11px;
    color:var(--ink);
    font:600 clamp(1.45rem,2.2vw,1.8rem)/1.08 var(--font-display);
}
.public-site .content-detail-copy,
.public-site .content-detail-summary > p {
    margin:0;
    color:#3e4850;
    font-size:.91rem;
    line-height:1.75;
    overflow-wrap:anywhere;
}
.public-site .content-detail-summary { position:static; }
.public-site .content-detail-kicker {
    display:block;
    margin-bottom:7px;
    color:#a87420;
    font-size:.67rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.public-site .content-detail-summary .btn { margin-top:19px; }
.public-site .content-detail-back-link { justify-self:start; }
.public-site .content-detail-empty-copy { color:var(--muted-copy); font-style:italic; }
@media (max-width: 820px) {
    .public-site .content-detail-grid { grid-template-columns:minmax(0,1fr); }
    .public-site .content-detail-primary { display:contents; }
    .public-site .content-detail-main { order:1; }
    .public-site .content-detail-summary { order:2; }
    .public-site .content-detail-body { order:3; }
    .public-site .content-detail-back-link { order:4; }
}
@media (max-width: 520px) {
    .public-site .content-detail-section { padding:20px 0 34px; }
    .public-site .content-detail-grid { gap:15px; }
    .public-site .content-detail-meta { gap:7px 9px; margin:12px 0 14px; }
    .public-site .content-detail-meta > span + span { padding-left:9px; }
    .public-site .content-detail-body,
    .public-site .content-detail-summary { padding:20px 17px; }
    .public-site .content-detail-media-empty { min-height:190px; }
}

/* The office page follows the supplied navy, gold, and warm-paper reference. */
.public-site .office-hero { position:relative; isolation:isolate; overflow:hidden; background:radial-gradient(ellipse at 75% 45%,rgba(38,63,75,.48),transparent 42%),linear-gradient(112deg,#06131b,#0d202b); color:#fff; }
.public-site .office-hero::after { position:absolute; z-index:-1; right:-5%; bottom:-116px; width:42%; height:150px; transform:rotate(-28deg); border-top:1px solid rgba(225,184,95,.65); background:linear-gradient(180deg,rgba(225,184,95,.08),transparent); content:''; }
.public-site .office-hero-inner { position:relative; display:flex; min-height:190px; align-items:center; }
.public-site .office-hero-copy { position:relative; z-index:1; width:min(760px,78%); padding:27px 0 29px; }
.public-site .office-eyebrow,.public-site.page-sobre .office-section-eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 9px; color:#d5a548; font-size:.72rem; font-weight:800; letter-spacing:.12em; line-height:1.3; text-transform:uppercase; }
.public-site .office-eyebrow i,.public-site.page-sobre .office-section-eyebrow i { width:42px; height:1px; background:linear-gradient(90deg,#d9aa50,rgba(217,170,80,0)); }
.public-site .office-hero h1 { max-width:790px; margin:0; color:#fff; font:600 clamp(2.4rem,4.2vw,3.55rem)/1 var(--font-display); letter-spacing:-.025em; }
.public-site .content-detail-page .office-hero h1 { max-width:900px; font-size:clamp(1.75rem,3vw,2.5rem); line-height:1.04; }
.public-site .office-hero h1 em { color:#e4b85e; font-weight:600; }
.public-site .office-hero-copy > p { max-width:700px; margin:7px 0 0; color:rgba(255,255,255,.86); font:400 clamp(.98rem,1.35vw,1.12rem)/1.45 var(--font-display); }
.public-site .office-hero-art { position:absolute; z-index:0; right:0; bottom:0; width:min(31vw,270px); height:auto; overflow:visible; color:#c99d53; opacity:.34; }
.public-site .office-hero-art g { stroke-width:1.35; }
.public-site.page-sobre .office-about-section { padding:clamp(24px,3.4vw,36px) 0; background:#fffaf1; }
.public-site.page-sobre .office-about-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:stretch; gap:24px; }
.public-site.page-sobre .office-about-photo { display:block; width:100%; min-width:0; height:100%; min-height:260px; max-height:360px; aspect-ratio:4/3; border-radius:8px; object-fit:cover; object-position:center 25%; box-shadow:0 12px 30px rgba(8,19,27,.12); }
.public-site.page-sobre .office-about-copy { display:flex; min-width:0; flex-direction:column; align-items:flex-start; justify-content:center; padding:clamp(22px,3vw,30px); border:1px solid rgba(184,133,47,.66); border-radius:8px; background:rgba(255,253,248,.78); }
.public-site.page-sobre .office-about-copy .office-section-eyebrow { width:100%; color:#a87420; }
.public-site.page-sobre .office-about-copy .office-section-eyebrow i { flex:1 1 auto; }
.public-site.page-sobre .office-about-copy h2 { margin:0 0 10px; color:var(--ink); font:600 clamp(1.85rem,3vw,2.4rem)/1.04 var(--font-display); letter-spacing:-.02em; }
.public-site.page-sobre .office-about-text { color:#29343c; font:400 .94rem/1.58 var(--font-display); }
.public-site.page-sobre .office-about-text p { margin:0 0 9px; }
.public-site.page-sobre .office-about-text p:last-child { margin-bottom:16px; }
.public-site.page-sobre .office-trajectory-link { display:inline-flex; min-height:42px; align-items:center; gap:15px; padding:10px 17px; border:1px solid #c79b4b; border-radius:7px; background:linear-gradient(110deg,#d4a84e,#e5bf6b); color:#151a1e; font:600 .94rem/1.2 var(--font-display); box-shadow:0 5px 12px rgba(120,83,22,.12); transition:transform .2s ease,box-shadow .2s ease,filter .2s ease; }
.public-site.page-sobre .office-trajectory-link:hover { transform:translateY(-2px); filter:brightness(1.04); box-shadow:0 9px 18px rgba(120,83,22,.2); }
.public-site.page-sobre .office-trajectory-link span { font:600 1.15rem/1 Inter,Arial,sans-serif; }
.public-site.page-sobre .office-values-section { position:relative; isolation:isolate; overflow:hidden; padding:clamp(34px,4.7vw,52px) 0 42px; background:radial-gradient(ellipse at 2% 65%,rgba(222,181,104,.14),transparent 34%),radial-gradient(ellipse at 97% 35%,rgba(222,181,104,.12),transparent 32%),linear-gradient(130deg,#fffaf1,#f8f2e7 52%,#fffaf1); }
.public-site.page-sobre .office-values-section::before,.public-site.page-sobre .office-values-section::after { position:absolute; z-index:-1; width:56vw; height:56vw; border:1px solid rgba(206,161,78,.1); border-radius:50%; content:''; pointer-events:none; }
.public-site.page-sobre .office-values-section::before { top:-40vw; left:-25vw; box-shadow:0 0 0 28px rgba(206,161,78,.025),0 0 0 58px rgba(206,161,78,.02); }
.public-site.page-sobre .office-values-section::after { right:-30vw; bottom:-44vw; box-shadow:0 0 0 30px rgba(206,161,78,.025),0 0 0 62px rgba(206,161,78,.02); }
.public-site.page-sobre .office-values-heading { margin:0 auto 20px; text-align:center; }
.public-site.page-sobre .office-values-heading .office-section-eyebrow { justify-content:center; gap:12px; margin-bottom:5px; color:#a87420; }
.public-site.page-sobre .office-values-heading .office-section-eyebrow i { width:min(10vw,76px); background:linear-gradient(90deg,transparent,#c69a4b); }
.public-site.page-sobre .office-values-heading .office-section-eyebrow i:last-child { transform:scaleX(-1); }
.public-site.page-sobre .office-values-heading h2 { margin:0; color:var(--ink); font:600 clamp(2rem,3.7vw,2.75rem)/1.05 var(--font-display); letter-spacing:-.03em; }
.public-site.page-sobre .office-values-heading > p { margin:5px 0 0; color:#3e4850; font-size:clamp(.88rem,1.3vw,1.04rem); line-height:1.5; }
.public-site.page-sobre .office-values-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.public-site.page-sobre .office-value-card { display:flex; min-width:0; min-height:154px; flex-direction:column; align-items:center; padding:15px 11px 13px; border:1px solid rgba(198,151,66,.66); border-radius:9px; background:rgba(255,253,248,.57); box-shadow:0 6px 15px rgba(92,67,25,.07); text-align:center; transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease; }
.public-site.page-sobre .office-value-card:hover { transform:translateY(-3px); background:#fffdfa; box-shadow:0 12px 22px rgba(92,67,25,.12); }
.public-site.page-sobre .office-value-card > svg { width:41px; height:41px; flex:0 0 41px; margin-bottom:8px; fill:none; stroke:#d19a32; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.35; }
.public-site.page-sobre .office-value-card h3 { margin:0 0 5px; color:#18232b; font:600 clamp(.9rem,1.25vw,1.06rem)/1.1 var(--font-display); }
.public-site.page-sobre .office-value-card p { margin:0; color:#35414a; font:400 clamp(.76rem,.96vw,.85rem)/1.34 var(--font-display); }
@media (max-width: 760px) {
    .public-site.page-sobre .office-about-grid { gap:16px; }
    .public-site.page-sobre .office-about-photo { min-height:230px; }
    .public-site.page-sobre .office-values-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 700px) {
    .public-site .office-hero-inner { min-height:175px; }
    .public-site .office-hero-copy { width:min(100%,560px); padding:26px 0; }
    .public-site .office-hero-art { right:-22px; width:210px; opacity:.22; }
    .public-site.page-sobre .office-about-grid { grid-template-columns:minmax(0,1fr); }
    .public-site.page-sobre .office-about-photo { min-height:0; max-height:440px; aspect-ratio:16/10; }
    .public-site.page-sobre .office-about-copy { padding:23px 20px; }
    .public-site.page-sobre .office-values-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 420px) {
    .public-site .header-actions .header-whatsapp { display:inline-flex; width:38px; min-width:38px; height:38px; min-height:38px; justify-content:center; padding:0; }
    .public-site .header-whatsapp span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
    .public-site .header-whatsapp svg { width:19px; height:19px; }
    .public-site .office-hero-inner { min-height:168px; }
    .public-site .office-hero-copy { width:100%; }
    .public-site .office-hero h1 { max-width:300px; font-size:2.35rem; }
    .public-site .content-detail-page .office-hero h1 { max-width:100%; font-size:clamp(1.55rem,6.6vw,1.9rem); }
    .public-site .office-hero-art { right:-53px; width:185px; opacity:.17; }
    .public-site.page-sobre .office-values-grid { gap:9px; }
    .public-site.page-sobre .office-value-card { min-height:148px; padding:13px 9px 12px; }
}

/* Consistent navy-and-gold page rhythm across the main menu destinations. */
.public-site.page-atendimento .page-hero,
.public-site.page-conteudos .page-hero,
.public-site.page-videos .page-hero { display:grid; min-height:190px; align-items:center; padding:24px 0; background:radial-gradient(ellipse at 82% 18%,rgba(56,76,86,.52),transparent 43%),linear-gradient(112deg,#06131b,#0d202b); }
.public-site.page-atendimento .page-hero::after,
.public-site.page-conteudos .page-hero::after,
.public-site.page-videos .page-hero::after { right:7%; bottom:-186px; border-color:rgba(225,184,95,.12); }
.public-site.page-atendimento .page-hero .container,
.public-site.page-conteudos .page-hero .container,
.public-site.page-videos .page-hero .container { width:min(var(--container-width),calc(100% - 64px)); }
.public-site.page-atendimento .page-kicker,
.public-site.page-conteudos .page-kicker,
.public-site.page-videos .page-kicker { color:var(--gold-bright); }
.public-site.page-atendimento .page-kicker::before,
.public-site.page-conteudos .page-kicker::before,
.public-site.page-videos .page-kicker::before { flex:0 0 27px; }
.public-site.page-atendimento .page-hero h1,
.public-site.page-conteudos .page-hero h1,
.public-site.page-videos .page-hero h1 { font-size:clamp(2.4rem,4.2vw,3.55rem); }
.public-site.page-atendimento .page-hero p,
.public-site.page-conteudos .page-hero p,
.public-site.page-videos .page-hero p { color:rgba(255,255,255,.82); }

.public-site.page-atendimento .service-content-section { padding:clamp(30px,4.5vw,54px) 0; background:linear-gradient(180deg,#fffaf1,#fffdfa); }
.public-site.page-atendimento .service-content-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(270px,.75fr); align-items:start; gap:20px; }
.public-site.page-atendimento .service-process-card { padding:clamp(23px,3vw,34px); border-color:rgba(199,155,75,.3); }
.public-site.page-atendimento .service-section-kicker { display:flex; align-items:center; gap:9px; margin:0 0 11px; color:#a87420; font-size:.69rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.public-site.page-atendimento .service-section-kicker i { width:27px; height:2px; background:#d5a548; }
.public-site.page-atendimento .service-process-card h2,
.public-site.page-atendimento .service-contact-card h2 { margin:0 0 9px; color:var(--ink); font:600 clamp(1.75rem,2.7vw,2.25rem)/1.05 var(--font-display); letter-spacing:-.02em; }
.public-site.page-atendimento .service-process-intro { max-width:70ch; margin:0; color:var(--muted-copy); font-size:.92rem; line-height:1.7; }
.public-site.page-atendimento .service-steps { margin:24px 0; }
.public-site.page-atendimento .service-steps li { padding-bottom:21px; }
.public-site.page-atendimento .service-steps h4 { font:600 1.18rem/1.2 var(--font-display); }
.public-site.page-atendimento .service-steps p { font-size:.87rem; line-height:1.6; }
.public-site.page-atendimento .service-legal-note { margin:0; padding:12px 14px; border-left:2px solid var(--gold); background:#faf6ed; color:var(--muted-copy); font-size:.78rem; line-height:1.55; }
.public-site.page-atendimento .service-contact-card { position:sticky; top:100px; padding:clamp(23px,2.7vw,32px); border-color:rgba(225,184,95,.3); background:radial-gradient(ellipse at 95% 0,rgba(49,70,82,.6),transparent 45%),linear-gradient(145deg,#07131b,#10232d); color:#fff; }
.public-site.page-atendimento .service-contact-card .service-section-kicker { color:#e0b65f; }
.public-site.page-atendimento .service-contact-card h2 { color:#fff; font-size:clamp(1.65rem,2.2vw,2rem); }
.public-site.page-atendimento .service-contact-card > p { margin:0 0 17px; color:rgba(255,255,255,.72); font-size:.85rem; line-height:1.6; }
.public-site.page-atendimento .service-contact-cta { display:flex; width:100%; min-height:46px; justify-content:space-between; margin-bottom:16px; }
.public-site.page-atendimento .service-contact-cta span { font-size:1.1rem; }
.public-site.page-atendimento .service-contact-card .list-check li { display:flex; flex-wrap:wrap; gap:4px 8px; border-color:rgba(255,255,255,.14); color:rgba(255,255,255,.75); font-size:.79rem; line-height:1.55; overflow-wrap:anywhere; }
.public-site.page-atendimento .service-contact-card .list-check li strong { flex:0 0 100%; color:#e4b85e; font-size:.71rem; }
.public-site.page-atendimento .service-contact-card .list-check a { color:#fff; font-weight:600; overflow-wrap:anywhere; }
.public-site.page-atendimento .service-contact-card .list-check a:hover { color:#e4b85e; }

.public-site.page-conteudos .content-library-section,
.public-site.page-videos .video-list-section { padding:clamp(30px,4.2vw,48px) 0; background:linear-gradient(180deg,#fffaf1,#f8f5ee); }
.public-site.page-conteudos .filter-bar { gap:8px; margin-bottom:22px; }
.public-site.page-conteudos .filter-bar a { min-height:39px; padding:8px 15px; border-color:rgba(199,155,75,.3); border-radius:999px; background:rgba(255,253,248,.76); color:#33414a; font-size:.8rem; transition:transform .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease; }
.public-site.page-conteudos .filter-bar a:hover { transform:translateY(-1px); border-color:var(--gold); background:#fff8e9; color:#694a16; }
.public-site.page-conteudos .filter-bar a.active { border-color:#c99b43; background:#d5aa55; color:#14202a; box-shadow:0 3px 9px rgba(120,83,22,.12); }
.public-site.page-conteudos .content-card,
.public-site.page-videos .video-card { border-color:rgba(8,19,27,.1); border-radius:8px; box-shadow:0 8px 23px rgba(8,19,27,.07); }
.public-site.page-conteudos .content-card .meta,
.public-site.page-videos .video-card .meta { padding:18px 19px 19px; }
.public-site.page-conteudos .content-card .btn,
.public-site.page-videos .video-card .btn { border-radius:5px; }
.public-site.page-conteudos .empty-state,
.public-site.page-videos .empty-state { border-color:rgba(199,155,75,.28); background:rgba(255,253,248,.8); }

.public-site.page-contato .contact-page-hero { background:radial-gradient(ellipse at 78% 35%,rgba(38,63,75,.42),transparent 43%),linear-gradient(112deg,#06131b,#0d202b); }
.public-site.page-contato .contact-page-hero::before { background:linear-gradient(90deg,#06131b 0%,rgba(6,19,27,.94) 29%,rgba(6,19,27,.52) 59%,rgba(6,19,27,.08) 100%); }
.public-site.page-contato .contact-eyebrow { gap:10px; color:#d5a548; }
.public-site.page-contato .contact-eyebrow::after { width:42px; height:1px; background:linear-gradient(90deg,#d9aa50,rgba(217,170,80,0)); content:''; }
.public-site.page-contato .contact-feature-section { background:#fffaf1; }
.public-site.page-contato .contact-layout.contact-feature { border-color:rgba(199,155,75,.32); border-radius:9px; box-shadow:0 14px 36px rgba(8,19,27,.11); }
.public-site.page-contato .contact-faq-section { background:#fffaf1; }
.public-site.page-contato .contact-faq-section .faq-item { border-color:rgba(199,155,75,.24); background:rgba(255,253,248,.82); }

@media (max-width: 900px) {
    .public-site.page-atendimento .service-content-grid { grid-template-columns:minmax(0,1fr); }
    .public-site.page-atendimento .service-contact-card { position:static; }
}
@media (max-width: 760px) {
    .public-site.page-atendimento .page-hero .container,
    .public-site.page-conteudos .page-hero .container,
    .public-site.page-videos .page-hero .container { width:calc(100% - 40px); }
    .public-site.page-atendimento .page-hero,
    .public-site.page-conteudos .page-hero,
    .public-site.page-videos .page-hero { min-height:176px; padding:25px 0; }
    .public-site.page-atendimento .service-content-section { padding:25px 0 34px; }
    .public-site.page-atendimento .service-process-card,
    .public-site.page-atendimento .service-contact-card { padding:23px 20px; }
    .public-site.page-conteudos .content-library-section,
    .public-site.page-videos .video-list-section { padding:26px 0 36px; }
}
@media (max-width: 600px) {
    .public-site.page-contato .contact-hero-copy { width:min(100%,520px); }
    .public-site.page-contato .contact-page-hero::before { background:linear-gradient(90deg,rgba(6,19,27,.94),rgba(6,19,27,.62)); }
}

.public-site.page-atendimento .service-content-section,
.public-site.page-conteudos .content-library-section,
.public-site.page-videos .video-list-section,
.public-site.page-contato .contact-feature-section,
.public-site.page-contato .contact-faq-section { background:#fffaf1; }
.public-site.page-atendimento .service-process-card,
.public-site.page-atendimento .service-contact-card,
.public-site.page-contato .contact-layout.contact-feature { border:1px solid rgba(184,133,47,.56); border-radius:8px; background:#fffdfa; box-shadow:0 8px 24px rgba(92,67,25,.07); }
.public-site.page-atendimento .service-contact-card { position:static; color:var(--copy); }
.public-site.page-atendimento .service-contact-card .service-section-kicker,
.public-site.page-atendimento .service-contact-card h2,
.public-site.page-atendimento .service-contact-card .list-check a { color:var(--ink); }
.public-site.page-atendimento .service-contact-card > p,
.public-site.page-atendimento .service-contact-card .list-check li { color:var(--muted-copy); }
.public-site.page-atendimento .service-contact-card .list-check li { border-color:rgba(8,19,27,.12); }
.public-site.page-atendimento .service-contact-card .list-check li strong { color:#a87420; }
.public-site.page-conteudos .content-card,
.public-site.page-videos .video-card { border:1px solid rgba(184,133,47,.42); border-radius:8px; background:#fffdfa; box-shadow:0 6px 18px rgba(92,67,25,.07); }
.public-site.page-conteudos .filter-bar a { border-color:rgba(184,133,47,.48); border-radius:6px; background:#fffdfa; }
.public-site.page-contato .contact-feature-section { margin:0; padding:24px 0 32px; }
.public-site.page-contato .contact-layout.contact-feature { width:min(var(--container-width),calc(100% - 64px)); gap:18px; overflow:visible; }
.public-site.page-contato .contact-feature > .contact-details,
.public-site.page-contato .contact-feature > .contact-form-block { height:100%; border:1px solid rgba(184,133,47,.56); border-radius:8px; background:#fffdfa; box-shadow:0 8px 24px rgba(92,67,25,.07); color:var(--copy); }
.public-site.page-contato .contact-feature > .contact-details { background:#fffdfa; }
.public-site.page-contato .contact-feature > .contact-details::after { display:none; }
.public-site.page-contato .contact-section-kicker { color:#a87420; }
.public-site.page-contato .contact-section-kicker i { background:#d5a548; }
.public-site.page-contato .contact-info-item { color:var(--ink); }
.public-site.page-contato .contact-info-item strong { color:#a87420; }
.public-site.page-contato .contact-info-item b { color:#25323b; }
.public-site.page-contato .contact-info-item small { color:var(--muted-copy); }
.public-site.page-contato .contact-info-icon { border-color:rgba(199,155,75,.55); color:#a87420; }
.public-site.page-contato .contact-faq-section { padding-top:20px; }

@media (max-width: 760px) {
    .public-site.page-contato .contact-layout.contact-feature { width:calc(100% - 40px); grid-template-columns:minmax(0,1fr); gap:12px; }
    .public-site.page-contato .contact-feature > .contact-details,
    .public-site.page-contato .contact-feature > .contact-form-block { height:auto; }
}
@media (max-width: 420px) {
}

.public-site.page-videos { display:flex; min-height:100vh; flex-direction:column; }
.public-site.page-videos #conteudo-principal { flex:1 0 auto; }
.public-site.page-videos .contact-location-section { flex:0 0 auto; }

.public-site .contact-location-section {
    padding:0;
    background:radial-gradient(ellipse at 83% 50%,rgba(199,155,75,.14),transparent 37%),linear-gradient(110deg,#07131b,#0b1b25);
    color:#fff;
    border-top:1px solid rgba(225,184,95,.24);
    border-bottom:1px solid rgba(225,184,95,.24);
}
.public-site .contact-location-inner {
    width:min(var(--container-width),calc(100% - 48px));
    min-height:0;
    gap:20px;
    padding:14px 0;
}
.public-site .contact-location-section .contact-section-kicker { margin-bottom:5px; color:#d8ad58; }
.public-site .contact-location-section .contact-section-kicker i { background:#d5a548; }
.public-site .contact-location-copy h2 { margin-bottom:2px; color:#fff; font-size:clamp(1.45rem,2.2vw,1.75rem); }
.public-site .contact-location-copy > p { color:rgba(255,255,255,.72); }
.public-site .contact-location-facts { flex-wrap:wrap; gap:8px 14px; margin-top:8px; }
.public-site .contact-location-facts > div { max-width:280px; gap:7px; }
.public-site .contact-location-facts > div + div { padding-left:15px; border-color:rgba(255,255,255,.2); }
.public-site .contact-location-facts > div > span { color:#e1b85f; }
.public-site .contact-location-facts p { color:rgba(255,255,255,.85); }
.public-site .contact-map-button { min-height:38px; padding:7px 11px; border-color:rgba(225,184,95,.8); border-radius:6px; color:#f2d18b; }
.public-site .contact-map-button:hover { background:#e1b85f; color:var(--ink); }
.public-site .contact-location-art {
    position:relative;
    width:250px;
    height:125px;
    flex-basis:250px;
    overflow:hidden;
    border:0;
    border-radius:6px;
    background:radial-gradient(ellipse at 50% 35%,rgba(225,184,95,.12),transparent 55%),rgba(255,255,255,.035);
    color:rgba(255,255,255,.65);
    font-size:.66rem;
}
.public-site .contact-location-map { position:absolute; inset:0; width:100%; height:100%; }
.public-site .contact-map-streets { fill:none; stroke:rgba(255,255,255,.2); stroke-linecap:round; stroke-width:2; }
.public-site .contact-map-main-road { fill:none; stroke:rgba(225,184,95,.48); stroke-linecap:round; stroke-width:4; }
.public-site .contact-map-pin-shape { fill:#e5bd68; stroke:#07131b; stroke-width:2; }
.public-site .contact-map-pin-center { fill:#07131b; }
.public-site .contact-map-city { position:absolute; right:5px; bottom:4px; padding:2px 5px; border:1px solid rgba(225,184,95,.28); border-radius:3px; background:rgba(7,19,27,.88); color:#f2d18b; font-size:.58rem; font-weight:700; line-height:1.2; }
@media (max-width: 900px) {
    .public-site .contact-location-art { width:200px; height:105px; flex-basis:200px; }
}
@media (max-width: 600px) {
    .public-site .contact-location-inner { width:calc(100% - 32px); align-items:flex-start; flex-direction:column; gap:10px; padding:14px 0; }
    .public-site .contact-location-facts { display:grid; width:100%; grid-template-columns:minmax(0,1fr) minmax(0,.7fr); align-items:center; gap:8px 10px; margin-top:7px; }
    .public-site .contact-location-facts > div + div { padding:0; border:0; }
    .public-site .contact-location-facts > div { max-width:none; }
    .public-site .contact-map-button { width:100%; grid-column:1/-1; justify-content:center; }
    .public-site .contact-location-art { display:block; width:100%; max-width:380px; height:155px; flex:0 0 155px; align-self:center; }
}
