/* 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);
}

.public-site *, .public-site *::before, .public-site *::after { box-sizing: border-box; }
.public-site img { max-width: 100%; }
.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-dark { background: var(--ink); color: #fff; }
.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 .section-dark .section-title { color: white; }
.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: rgba(7, 16, 23, .96); border-bottom: 1px solid rgba(199, 155, 75, .28); backdrop-filter: blur(14px); transition: box-shadow .25s ease, background-color .25s ease; }
.public-site .site-header.is-scrolled { background: rgba(7, 16, 23, .985); box-shadow: 0 10px 28px rgba(0, 0, 0, .2); }
.public-site .header-wrap { display: flex; align-items: center; justify-content: space-between; min-height: 82px; gap: clamp(18px, 2vw, 30px); transition: min-height .25s ease; }
.public-site .site-header.is-scrolled .header-wrap { min-height: 72px; }
.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; color: rgba(255,255,255,.82); font-size: .76rem; font-weight: 500; white-space: nowrap; transition: color .2s ease; }
.public-site .main-nav a::after { position: absolute; right: 0; bottom: -9px; left: 0; height: 1px; content: ''; background: var(--gold-bright); transform: scaleX(0); transform-origin: left; transition: transform .22s 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 .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: 82px 0 0; display: block; visibility: hidden; background: rgba(4, 10, 14, .58); opacity: 0; transition: opacity .22s ease, visibility .22s ease; }
.public-site .site-header.is-scrolled ~ .mobile-menu { inset-block-start: 72px; }
.public-site .mobile-menu nav { display: grid; align-content: start; gap: 2px; width: min(420px, 88vw); height: 100%; margin-left: auto; overflow-y: auto; padding: 26px clamp(24px, 7vw, 42px); background: var(--ink); box-shadow: -18px 0 48px rgba(0,0,0,.22); transform: translateX(24px); transition: transform .24s 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 .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 .featured-video-card { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); align-items: center; gap: clamp(24px,4vw,52px); padding: clamp(18px,2.5vw,30px); border: 1px solid rgba(255,255,255,.1); border-radius: 10px; background: var(--ink); color: #fff; box-shadow: 0 22px 50px rgba(8,19,27,.16); }
.public-site .featured-video-thumb { position: relative; display: grid; overflow: hidden; aspect-ratio: 16 / 9; place-items: center; border-radius: 6px; background: #17232c; color: var(--gold-bright); }
.public-site .featured-video-thumb::after { position: absolute; inset: 0; content: ''; background: linear-gradient(0deg,rgba(5,12,17,.64),transparent 60%); pointer-events: none; }
.public-site .featured-video-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.public-site .featured-video-thumb:hover img { transform: scale(1.04); }
.public-site .featured-video-thumb > span { position: absolute; z-index: 1; }
.public-site .featured-video-copy { padding: 12px 8px; }
.public-site .featured-video-copy h3 { margin: 0 0 13px; color: white; font-size: clamp(1.55rem,2.4vw,2.25rem); line-height: 1.15; }
.public-site .featured-video-copy p { margin: 0 0 22px; color: rgba(255,255,255,.72); line-height: 1.75; }
.public-site .more-videos-title { margin: 34px 0 18px; color: var(--ink); font-size: 1.45rem; }
.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 .section-dark .empty-state { border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.05); color: rgba(255,255,255,.75); }
.public-site .content-shell { padding: clamp(46px,6vw,76px) 0; }
.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 .top-alert { border-bottom: 1px solid rgba(199,155,75,.38); background: #111b23; color: rgba(255,255,255,.8); }
.public-site .top-alert .container { display: flex; min-height: 38px; align-items: center; justify-content: space-between; gap: 20px; padding-block: 7px; font-size: .78rem; }
.public-site .top-alert a { flex: 0 0 auto; color: var(--gold-bright); font-weight: 700; white-space: nowrap; }
.public-site .hero { position: relative; display: flex; min-height: min(680px, calc(100svh - 120px)); align-items: center; overflow: hidden; isolation: isolate; background: radial-gradient(ellipse at 72% 40%,#24323c 0,var(--ink) 64%); color: white; }
.public-site .hero::before { position: absolute; z-index: -1; inset: 0; content: ''; background: linear-gradient(90deg,rgba(5,13,18,.98) 0%,rgba(5,13,18,.91) 40%,rgba(5,13,18,.18) 100%); }
.public-site .hero .container { position: relative; display: grid; width: min(var(--container-width),calc(100% - 64px)); grid-template-columns: minmax(0,1fr) minmax(390px,.88fr); align-items: center; gap: clamp(38px,6vw,92px); }
.public-site .hero-content { position: relative; z-index: 2; max-width: 650px; padding: clamp(66px,8vw,104px) 0; animation: hero-copy-in .68s cubic-bezier(.2,.7,.2,1) both; }
.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 h1 { max-width: 690px; margin: 0 0 17px; color: #fff; font-family: Inter,sans-serif; font-size: clamp(2.85rem,5vw,5.05rem); font-weight: 700; line-height: 1.02; letter-spacing: -.055em; }
.public-site .hero-claim { max-width: 650px; margin: 0 0 19px !important; color: var(--gold-bright) !important; font-family: 'Cormorant Garamond',Georgia,serif !important; font-size: clamp(2rem,3.6vw,3.35rem) !important; font-weight: 600; line-height: 1.05 !important; }
.public-site .hero p:not(.hero-claim) { max-width: 510px; margin: 0; color: rgba(255,255,255,.82); font-size: clamp(1rem,1.22vw,1.12rem); line-height: 1.72; }
.public-site .founded-year { display: block; margin-top: 15px; color: rgba(255,255,255,.56); font-size: .78rem; }
.public-site .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 27px 0 0; }
.public-site .hero-actions .btn { min-height: 50px; padding-inline: 20px; }
.public-site .hero-portrait { position: relative; z-index: 0; align-self: stretch; min-height: 500px; max-height: 610px; margin-block: 34px; overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 10px; background: #17232c; box-shadow: 0 32px 90px rgba(0,0,0,.34); animation: hero-photo-in .8s .1s cubic-bezier(.2,.7,.2,1) both; }
.public-site .hero-portrait::after { position: absolute; inset: 0; content: ''; pointer-events: none; background: linear-gradient(0deg,rgba(6,16,23,.22),transparent 48%),linear-gradient(90deg,var(--ink) 0,transparent 25%); }
.public-site .hero-portrait img { width: 100%; height: 100%; min-height: 100%; object-fit: cover; object-position: center 19%; transform: scale(1.015); }
.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); }
.public-site .social-contact .container { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: stretch; gap: 24px; }
.public-site .social-contact .container > div { display: flex; min-width: 0; min-height: 280px; flex-direction: column; align-items: flex-start; padding: clamp(24px,3vw,36px); border: 1px solid rgba(255,255,255,.13); border-radius: 8px; background: rgba(255,255,255,.035); }
.public-site .social-contact .section-title { margin-bottom: 9px; color: white; font-size: 1.55rem; }
.public-site .social-contact .container > div > p { max-width: 52ch; margin: 0 0 18px; color: rgba(255,255,255,.72); line-height: 1.7; overflow-wrap: anywhere; }
.public-site .social-contact .container > div > a { max-width: 100%; overflow-wrap: anywhere; }
.public-site .social-contact .container > div > .btn { margin-top: auto; white-space: normal; text-align: center; }
.public-site .social-contact .home-contact-callout > a:not(.btn) { margin: 0 0 12px; color: var(--gold-bright); font-size: 1rem; font-weight: 700; }

/* 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 .highlight-box { padding: clamp(16px,2.2vw,26px); border: 1px solid var(--line-soft); border-radius: 10px; background: linear-gradient(180deg,#fff,#f7f5f0); box-shadow: var(--shadow-soft); }
.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; }
.public-site .video-details { display: grid; gap: 8px; padding: 21px 4px 3px; }
.public-site .video-details h2 { margin: 0; color: var(--ink); font-size: clamp(1.45rem,2.4vw,2rem); }
.public-site .video-details p { margin: 0; color: var(--muted-copy); line-height: 1.7; }

/* 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 .legal-notice { margin-top: 20px; padding: 13px 15px; border-left: 3px solid var(--gold); background: var(--mist); color: var(--muted-copy); font-size: .86rem; line-height: 1.6; }
.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 .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; }

/* Shared footer and floating contact */
.public-site .site-footer { padding-top: 0; background: #061018; color: white; }
.public-site .footer-grid { display: grid; grid-template-columns: minmax(240px,1.5fr) repeat(4,minmax(130px,1fr)); gap: clamp(19px,2.1vw,32px); padding-bottom: 37px; }
.public-site .footer-grid > div { min-width: 0; }
.public-site .footer-brand { margin-bottom: 17px; }
.public-site .footer-brand .brand-logo { width: 47px; height: 49px; }
.public-site .footer-brand .brand-text strong { font-size: 1.4rem; }
.public-site .footer-lead { max-width: 330px; color: rgba(255,255,255,.66); font-size: .91rem; line-height: 1.7; }
.public-site .site-footer h4 { margin: 3px 0 16px; color: var(--gold-bright); font-size: .77rem; letter-spacing: .12em; text-transform: uppercase; }
.public-site .footer-list { margin: 0; padding: 0; list-style: none; }
.public-site .footer-list li { margin-bottom: 10px; color: rgba(255,255,255,.72); font-size: .86rem; line-height: 1.55; overflow-wrap: anywhere; }
.public-site .footer-list a { display: inline-block; max-width: 100%; padding-block: 2px; overflow-wrap: anywhere; transition: color .2s ease; }
.public-site .footer-list a:hover { color: var(--gold-bright); }
.public-site .footer-bottom { display: flex; align-items: center; flex-direction: column; justify-content: center; gap: 6px; padding: 18px 0 20px; border-top: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.72); font-size: .76rem; text-align: center; }
.public-site .footer-bottom p { margin: 0; }
.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); } }
@keyframes hero-photo-in { from { opacity: 0; transform: translateY(10px) scale(.99); } to { opacity: 1; transform: translateY(0) scale(1); } }
.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, .public-site .hero .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: 8px; }
    .public-site .main-nav a { font-size: .73rem; }
    .public-site .header-wrap { gap: 14px; }
    .public-site .header-actions .btn { padding-inline: 12px; }
    .public-site .hero.has-portrait .container { grid-template-columns: minmax(0,1fr) minmax(330px,.82fr); gap: 35px; }
    .public-site .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 24px; }
    .public-site .footer-grid > :first-child { grid-column: 1 / -1; }
}
@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; }
    .public-site .site-header.is-scrolled .header-wrap { min-height: 70px; }
    .public-site .site-header.is-scrolled ~ .mobile-menu { inset-block-start: 70px; }
    .public-site .hero.has-portrait .container { grid-template-columns: minmax(0,1fr) minmax(300px,.8fr); gap: 28px; }
    .public-site .hero { min-height: 570px; }
    .public-site .hero-portrait { min-height: 460px; }
    .public-site .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 24px; }
    .public-site .footer-grid > :first-child { grid-column: 1 / -1; }
    .public-site .footer-grid > :nth-child(2), .public-site .footer-grid > :nth-child(3), .public-site .footer-grid > :nth-child(4), .public-site .footer-grid > :nth-child(5) { min-width: 0; }
}
@media (max-width: 760px) {
    .public-site .container, .public-site .hero .container { width: calc(100% - 40px); }
    .public-site .section { padding: 66px 0; }
    .public-site .section-header { margin-bottom: 28px; }
    .public-site .header-wrap, .public-site .site-header.is-scrolled .header-wrap { min-height: 72px; gap: 10px; }
    .public-site .mobile-menu, .public-site .site-header.is-scrolled ~ .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 .top-alert .container { min-height: 0; align-items: flex-start; flex-direction: column; gap: 5px; padding-block: 8px; font-size: .73rem; line-height: 1.45; }
    .public-site .hero { min-height: 0; align-items: flex-end; padding-top: 0; }
    .public-site .hero::before { background: linear-gradient(0deg,rgba(5,13,18,.98) 0%,rgba(5,13,18,.92) 34%,rgba(5,13,18,.17) 100%); }
    .public-site .hero.has-portrait .container { display: flex; width: calc(100% - 40px); min-width: 0; flex-direction: column; align-items: stretch; gap: 0; }
    .public-site .hero-portrait { position: absolute; z-index: -1; inset: 0 0 auto; width: 100%; height: clamp(390px,105vw,470px); min-height: 0; max-height: none; margin: 0; border: 0; border-radius: 0; box-shadow: none; }
    .public-site .hero-portrait img { min-height: 0; object-position: center 17%; transform: none; }
    .public-site .hero-portrait::after { background: linear-gradient(0deg,var(--ink) 0%,rgba(8,19,27,.2) 67%,rgba(8,19,27,.08) 100%),linear-gradient(90deg,rgba(8,19,27,.2),transparent); }
    .public-site .hero-content { width: 100%; max-width: none; padding: clamp(270px,76vw,320px) 0 39px; }
    .public-site .hero-kicker { margin-bottom: 13px; font-size: .66rem; letter-spacing: .13em; }
    .public-site .hero h1 { max-width: 100%; margin-bottom: 12px; font-size: clamp(2.15rem,9.6vw,3rem); line-height: 1.04; }
    .public-site .hero-claim { margin-bottom: 13px !important; font-size: clamp(1.6rem,7.7vw,2.2rem) !important; line-height: 1.1 !important; }
    .public-site .hero p:not(.hero-claim) { max-width: 100%; font-size: .96rem; line-height: 1.62; }
    .public-site .founded-year { margin-top: 10px; }
    .public-site .hero-actions { display: grid; grid-template-columns: 1fr; gap: 9px; margin-top: 20px; }
    .public-site .hero-actions .btn { width: 100%; min-height: 48px; }
    .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 .featured-video-card { grid-template-columns: 1fr; gap: 10px; padding: 14px; }
    .public-site .featured-video-copy { padding: 12px 4px 5px; }
    .public-site .featured-video-copy h3 { font-size: 1.55rem; }
    .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 .social-contact .container { grid-template-columns: 1fr; gap: 24px; }
    .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 .footer-grid { grid-template-columns: minmax(0,1fr); gap: 22px; padding-bottom: 30px; }
    .public-site .footer-grid > :first-child { grid-column: auto; }
    .public-site .footer-grid > div { padding-top: 18px; border-top: 1px solid rgba(255,255,255,.12); }
    .public-site .footer-grid > :first-child { padding-top: 0; border-top: 0; }
    .public-site .footer-lead { max-width: 42ch; }
    .public-site .footer-bottom { flex-direction: column; gap: 6px; padding: 18px 0 calc(78px + env(safe-area-inset-bottom)); text-align: center; }
    .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 .social-contact .container > div { min-height: 0; padding: 23px 20px; }
    .public-site .social-contact .container > div > .btn { margin-top: 5px; }
    .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, .public-site .hero .container { width: calc(100% - 32px); }
    .public-site .brand-text strong { font-size: 1.12rem; }
    .public-site .brand-text small { font-size: .49rem; letter-spacing: .12em; }
    .public-site .header-actions .btn { display: none; }
    .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 photo hero and shared editorial sections */
.public-site .hero.has-background { display: block; min-height: clamp(500px,42vw,620px); background: #08131b; }
.public-site .hero.has-background::before { content: none; }
.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-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.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; animation: none; }
.public-site .hero-copy { width: min(100%,560px); animation: hero-copy-in .68s cubic-bezier(.2,.7,.2,1) both; }
.public-site .hero.has-background h1 { max-width: 620px; margin-bottom: 17px; font-size: clamp(3rem,5vw,4.5rem); line-height: 1.04; letter-spacing: -.055em; }
.public-site .hero.has-background h1 span { display: block; color: var(--gold-bright); }
.public-site .hero.has-background .hero-copy > p { max-width: 530px; margin: 0; 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; }
.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%; aspect-ratio: 5 / 4; border-radius: var(--radius-card); object-fit: cover; object-position: center 20%; box-shadow: var(--shadow-soft); }
.public-site .office-home-photo figcaption { margin-top: 10px; color: var(--muted-copy); font-size: .78rem; }
.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: 19px; color: var(--copy); line-height: 1.55; }
.public-site .office-values li::before { position: absolute; top: .68em; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); content: ''; }
.public-site .home-content-section { padding: clamp(44px,4.8vw,68px) 0; background: var(--paper); 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 .home-empty-light p { color: var(--muted-copy); }
.public-site .home-empty-light .card-link { color: #87601e; }
.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 .home-contact-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.public-site .home-contact-item { display: flex; min-width: 0; min-height: 112px; flex-direction: column; justify-content: center; gap: 7px; padding: 18px; border: 1px solid var(--line-soft); border-radius: 6px; background: #fff; }
.public-site .home-contact-item > span { color: #9b6c20; font-size: .74rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.public-site .home-contact-item > strong { color: var(--ink); font-size: .93rem; line-height: 1.5; overflow-wrap: anywhere; }
.public-site .home-contact-action { display: flex; justify-content: flex-end; margin-top: 18px; }
.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 .home-contact-item, .public-site .block, .public-site .card { transition: border-color var(--transition-ui), box-shadow var(--transition-ui), transform var(--transition-ui); }

/* Light editorial headers used by the content and video sections in the reference. */
.public-site.page-conteudos .page-hero, .public-site.page-videos .page-hero { padding: 30px 0 18px; background: #fffdfa; color: var(--ink); }
.public-site.page-conteudos .page-hero::after, .public-site.page-videos .page-hero::after { content: none; }
.public-site.page-conteudos .page-kicker, .public-site.page-videos .page-kicker { display: none; }
.public-site.page-conteudos .page-hero h1, .public-site.page-videos .page-hero h1 { color: var(--ink); font-size: clamp(1.9rem,3vw,2.5rem); letter-spacing: -.035em; }
.public-site.page-conteudos .page-hero p, .public-site.page-videos .page-hero p { margin-top: 7px; color: var(--muted-copy); font-size: .94rem; }
.public-site.page-conteudos .section, .public-site.page-videos .section { padding-top: 22px; }
.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 { font-size: 1.3rem; }
.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; }
.public-site .internal-cta { margin-top: 24px; }

@media (max-width: 1050px) {
    .public-site .hero-background { width: 56vw; }
    .public-site .office-home-grid, .public-site.page-sobre .office-about-grid { gap: 30px; }
    .public-site .home-contact-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
    .public-site .container, .public-site .hero .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-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 .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 .home-contact-grid { grid-template-columns: minmax(0,1fr); gap: 10px; }
    .public-site .home-contact-item { min-height: 80px; }
    .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, .public-site .hero .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; overflow: hidden; min-height: 350px; color: #fff; background: radial-gradient(ellipse at 73% 52%,rgba(199,155,75,.2),transparent 31%),linear-gradient(105deg,#06131b 0%,#0b1c26 53%,#17232a 100%); }
.public-site.page-contato .contact-page-hero::before { position:absolute; inset:0; content:''; background:linear-gradient(90deg,rgba(5,15,21,.1),rgba(5,15,21,.12) 45%,rgba(5,15,21,.55)),repeating-linear-gradient(0deg,transparent 0 79px,rgba(225,184,95,.035) 80px),repeating-linear-gradient(90deg,transparent 0 79px,rgba(225,184,95,.035) 80px); mask-image:linear-gradient(90deg,transparent 30%,#000); pointer-events:none; }
.public-site.page-contato .contact-page-hero-inner { position:relative; display:flex; min-height:350px; align-items:center; }
.public-site.page-contato .contact-hero-copy { position:relative; z-index:1; width:min(620px,68%); padding:38px 0 42px 20px; }
.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:normal; }
.public-site.page-contato .contact-hero-copy > p { max-width:470px; margin:0; color:rgba(255,255,255,.78); font-size:.94rem; line-height:1.65; }
.public-site.page-contato .contact-hero-links { display:flex; flex-wrap:wrap; gap:18px; margin-top:21px; }
.public-site.page-contato .contact-hero-links a { display:flex; align-items:center; gap:10px; color:#fff; }
.public-site.page-contato .contact-hero-links a + a { padding-left:18px; border-left:1px solid rgba(255,255,255,.25); }
.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-links strong,.public-site.page-contato .contact-hero-links small { display:block; }
.public-site.page-contato .contact-hero-links strong { font-size:.76rem; }
.public-site.page-contato .contact-hero-links small { margin-top:3px; color:rgba(255,255,255,.68); font-size:.72rem; }
.public-site.page-contato .contact-hero-art { position:absolute; top:50%; right:4%; display:grid; width:300px; height:300px; place-items:center; transform:translateY(-50%); color:rgba(225,184,95,.28); }
.public-site.page-contato .contact-hero-orbit { position:absolute; width:240px; aspect-ratio:1; border:1px solid rgba(225,184,95,.24); border-radius:50%; box-shadow:0 0 0 28px rgba(225,184,95,.035),0 0 0 56px rgba(225,184,95,.025); }
.public-site.page-contato .contact-hero-mark { font:300 10rem/1 var(--font-display); }
.public-site.page-contato .contact-feature-section { padding:30px 0 58px; background:radial-gradient(ellipse at 12% 0,rgba(199,155,75,.08),transparent 34%),#f4f2ed; }
.public-site.page-contato .contact-layout.contact-feature { grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:0; overflow:hidden; border:1px solid rgba(8,19,27,.16); border-radius:9px; background:#fffdfa; box-shadow:0 20px 55px rgba(8,19,27,.13); }
.public-site.page-contato .contact-feature > .contact-details { position:relative; display:flex; height:auto; flex-direction:column; justify-content:space-between; gap:20px; overflow:hidden; padding:clamp(28px,3.2vw,44px); border:0; border-radius:0; background:radial-gradient(ellipse at 85% 56%,rgba(199,155,75,.12),transparent 44%),linear-gradient(145deg,#071720,#08131b 72%); 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-reach { margin:14px 0 0!important; color:rgba(255,255,255,.65)!important; font-size:.7rem!important; }
.public-site.page-contato .contact-feature .contact-legal { position:relative; z-index:1; margin:0; padding:13px 0 0; border:0; border-top:1px solid rgba(255,255,255,.16); background:transparent; color:rgba(255,255,255,.6); font-size:.69rem; line-height:1.55; }
.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:4px 0 44px; background:#f4f2ed; }
.public-site.page-contato .contact-faq-section .section-header { margin:0 0 16px; }
.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:35px 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 (max-width: 900px) {
    .public-site.page-contato .contact-hero-copy { width:min(680px,82%); }
    .public-site.page-contato .contact-hero-art { 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-links { gap:12px; flex-direction:column; }
    .public-site.page-contato .contact-hero-links a + a { padding:11px 0 0; border-top:1px solid rgba(255,255,255,.2); border-left:0; }
    .public-site.page-contato .contact-hero-art { 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(64px, 7vw, 108px) 0;
    border-top: 1px solid rgba(225,184,95,.25);
    border-bottom: 1px solid rgba(225,184,95,.45);
    background: radial-gradient(ellipse at 92% 50%, rgba(199,155,75,.15), transparent 34%), linear-gradient(112deg, #07131b 0%, #0a1821 58%, #07131b 100%);
    color: #fff;
}
.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(225,184,95,.12), transparent 60%);
    opacity: .7;
}
.public-site .home-attendance-social-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0,1.15fr) minmax(300px,.85fr);
    align-items: center;
    gap: clamp(36px,5vw,76px);
}
.public-site .home-attendance-copy,
.public-site .home-social-copy { min-width: 0; }
.public-site .home-attendance-copy { padding-left: clamp(22px,2.8vw,48px); border-left: 2px solid var(--gold-bright); }
.public-site .home-band-kicker { display: block; margin-bottom: 12px; color: var(--gold-bright); font-size: .83rem; font-weight: 800; letter-spacing: .24em; text-transform: uppercase; }
.public-site .home-attendance-copy h2,
.public-site .home-social-copy h2 { margin: 0; color: #fff; }
.public-site .home-attendance-copy h2 { max-width: 780px; font: 600 clamp(2.5rem,5vw,4.15rem)/.98 var(--font-display); letter-spacing: -.025em; }
.public-site .home-attendance-copy h2 em { color: var(--gold-bright); font-style: normal; }
.public-site .home-whatsapp-link { display: inline-flex; align-items: center; gap: 11px; min-height: 50px; margin-top: 27px; padding: 10px 18px; border: 1px solid rgba(225,184,95,.75); border-radius: 5px; color: var(--gold-bright); font-weight: 750; transition: background-color var(--transition-ui), color var(--transition-ui), transform var(--transition-ui); }
.public-site .home-whatsapp-link:hover { transform: translateY(-2px); background: var(--gold-bright); color: var(--ink); }
.public-site .home-whatsapp-link svg { width: 23px; height: 23px; flex: 0 0 auto; fill: currentColor; }
.public-site .home-social-copy { padding: 5px 0 5px clamp(28px,3vw,58px); border-left: 1px solid rgba(225,184,95,.72); }
.public-site .home-social-copy .home-band-kicker { margin-bottom: 20px; }
.public-site .home-social-copy h2 { font: 600 clamp(1.65rem,2.7vw,2.4rem)/1.08 var(--font-display); letter-spacing: -.01em; }
.public-site .home-instagram-handle { display: flex; align-items: center; gap: 17px; margin: 22px 0 17px; color: #fff; font-size: clamp(1.2rem,2vw,1.65rem); font-weight: 750; }
.public-site .home-instagram-handle svg { width: 48px; height: 48px; flex: 0 0 auto; fill: none; stroke: var(--gold-bright); 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 17px; color: rgba(255,255,255,.76); line-height: 1.6; }
.public-site .home-instagram-link { display: inline-flex; align-items: center; gap: 12px; color: var(--gold-bright); font-weight: 750; text-decoration: underline; text-underline-offset: 4px; }
.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 span { transform: translateX(4px); }
@media (max-width: 760px) {
    .public-site .home-attendance-social { padding: 54px 0; }
    .public-site .home-attendance-social-grid { grid-template-columns: minmax(0,1fr); gap: 34px; }
    .public-site .home-attendance-copy { padding-left: 19px; }
    .public-site .home-attendance-copy h2 { font-size: clamp(2.35rem,9vw,3.4rem); }
    .public-site .home-social-copy { padding: 28px 0 0; border-top: 1px solid rgba(225,184,95,.72); border-left: 0; }
    .public-site .home-social-copy .home-band-kicker { margin-bottom: 13px; }
}

.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; }

/* Compact homepage attendance band */
.public-site .home-attendance-social { padding: clamp(28px,3vw,40px) 0; }
.public-site .home-attendance-social-grid { grid-template-columns: minmax(0,1.38fr) minmax(260px,.62fr); gap: clamp(24px,3vw,40px); }
.public-site .home-attendance-copy { padding-left: clamp(18px,2.1vw,32px); }
.public-site .home-band-kicker { margin-bottom: 8px; font-size: .74rem; letter-spacing: .2em; }
.public-site .home-attendance-copy h2 { max-width: none; font-size: clamp(1.7rem,2.8vw,2.25rem); line-height: 1.04; }
.public-site .home-attendance-copy h2 .attendance-line { display: block; white-space: nowrap; }
.public-site .home-whatsapp-link { min-height: 44px; margin-top: 18px; padding: 8px 14px; font-size: .9rem; }
.public-site .home-social-copy { padding-left: clamp(24px,2.5vw,40px); }
.public-site .home-social-copy .home-band-kicker { margin-bottom: 12px; }
.public-site .home-social-copy h2 { font-size: clamp(1.45rem,2.2vw,1.85rem); line-height: 1.12; }
.public-site .home-instagram-handle { gap: 13px; margin: 14px 0 10px; font-size: clamp(1.05rem,1.5vw,1.3rem); }
.public-site .home-instagram-handle svg { width: 38px; height: 38px; }
.public-site .home-social-copy p { margin-bottom: 11px; font-size: .9rem; }
.public-site .home-instagram-link { font-size: .9rem; }
@media (max-width: 900px) {
    .public-site .home-attendance-social { padding: 30px 0; }
    .public-site .home-attendance-social-grid { grid-template-columns: minmax(0,1fr); gap: 25px; }
    .public-site .home-attendance-copy { padding-left: 17px; }
    .public-site .home-attendance-copy h2 { font-size: clamp(1.55rem,6vw,2.35rem); }
    .public-site .home-attendance-copy h2 .attendance-line { white-space: normal; }
    .public-site .home-social-copy { padding: 22px 0 0; border-top: 1px solid rgba(225,184,95,.72); border-left: 0; }
}

/* 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); }
.public-site .home-content-grid.home-content-count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 920px; }
@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-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); }
}
