@import 'tailwindcss';
@import 'tw-animate-css';
@import 'shadcn/tailwind.css';

:root { --font-display:'Cormorant Garamond',Georgia,serif; --font-sans-custom:'Manrope',Arial,sans-serif; }

:root { --navy:#142443; --navy-2:#20335a; --blue:#294874; --sky:#84b0cc; --gold:#b39d6c; --gold-light:#d8c89d; --ivory:#f6f2e9; --ink:#182032; --muted:#667085; --line:#ddd5c5; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ivory); color:var(--ink); font-family:var(--font-sans-custom),sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { position:absolute; z-index:20; top:0; left:0; right:0; height:92px; display:flex; align-items:center; justify-content:space-between; max-width:1440px; margin:auto; padding:0 5vw; color:white; border-bottom:1px solid rgba(255,255,255,.15); }
.brand { display:flex; align-items:center; gap:12px; }.brand img { width:48px; height:48px; border-radius:50%; }.brand span { display:flex; flex-direction:column; line-height:1.15; }.brand b { font-family:var(--font-display); font-size:19px; letter-spacing:.02em; }.brand small { margin-top:4px; font-size:9px; letter-spacing:.15em; text-transform:uppercase; color:#d9e1ec; }
nav { display:flex; gap:30px; font-size:13px; } nav a { opacity:.82; transition:.2s; } nav a:hover { opacity:1; }.header-cta { padding:11px 18px; border:1px solid rgba(255,255,255,.35); border-radius:999px; font-size:12px; }
.hero { position:relative; min-height:900px; overflow:hidden; padding:180px 7vw 0; color:white; background:radial-gradient(circle at 78% 38%,#365985 0,#20375d 22%,#142443 52%,#0d1830 100%); }.hero:after { content:""; position:absolute; inset:auto 0 0; height:170px; background:linear-gradient(transparent,rgba(5,12,27,.35)); }.hero-rays { position:absolute; width:820px; height:820px; right:-50px; top:20px; opacity:.16; background:repeating-conic-gradient(from 0deg,transparent 0 5deg,var(--gold-light) 5.5deg 6deg); mask-image:radial-gradient(circle,black,transparent 68%); }
.hero-copy { position:relative; z-index:2; max-width:790px; }.eyebrow,.section-kicker { display:block; color:var(--gold); text-transform:uppercase; letter-spacing:.25em; font-size:11px; font-weight:700; margin-bottom:23px; }.hero h1,.intro h2,.history h2,.news h2,.contact h2 { font-family:var(--font-display); font-weight:500; line-height:.94; letter-spacing:-.035em; margin:0; }.hero h1 { font-size:clamp(58px,7.2vw,108px); }.hero h1 em { color:var(--gold-light); font-weight:500; }.hero-copy>p { max-width:580px; margin:30px 0 36px; font-size:17px; line-height:1.75; color:#dbe3ed; }.hero-actions { display:flex; gap:14px; align-items:center; }
.button-gold,.button-ghost { display:inline-flex; align-items:center; justify-content:center; gap:12px; border-radius:999px; padding:15px 23px; font-size:12px; font-weight:700; }.button-gold { background:var(--gold-light); color:var(--navy); }.button-ghost { border:1px solid rgba(255,255,255,.3); color:white; }
.hero-mark { position:absolute; z-index:2; top:155px; right:8vw; width:310px; text-align:center; }.logo-halo { display:grid; place-items:center; width:310px; height:310px; padding:20px; border-radius:50%; border:1px solid rgba(216,200,157,.35); box-shadow:0 0 100px rgba(215,200,157,.14); background:rgba(255,255,255,.03); }.logo-halo img { width:100%; height:100%; border-radius:50%; }.hero-mark p { font-family:var(--font-display); font-size:18px; color:#dfe6ef; }
.hero-stats { position:absolute; z-index:3; bottom:0; left:7vw; right:7vw; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.18); }.hero-stats div { display:flex; align-items:baseline; gap:14px; padding:35px 4vw 38px 0; }.hero-stats div+div { border-left:1px solid rgba(255,255,255,.18); padding-left:4vw; }.hero-stats strong { font:600 38px var(--font-display); color:var(--gold-light); }.hero-stats span { font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:#bcc9da; }
.intro { display:grid; grid-template-columns:1.1fr 1fr; gap:10vw; padding:125px 8vw 75px; }.intro h2,.news h2 { font-size:clamp(48px,5.5vw,78px); color:var(--navy); }.intro-copy { padding-top:35px; }.intro-copy p { font:500 23px/1.65 var(--font-display); color:#3d4757; }.intro-copy a,.news-body a { display:inline-flex; align-items:center; gap:9px; margin-top:18px; color:var(--blue); font-size:12px; font-weight:700; border-bottom:1px solid var(--gold); padding-bottom:7px; }
.values-grid { display:grid; grid-template-columns:repeat(4,1fr); padding:0 8vw 120px; }.value-card { min-height:255px; padding:30px; border-top:1px solid var(--line); border-right:1px solid var(--line); }.value-card:first-child { border-left:1px solid var(--line); }.value-card>span { font-size:10px; color:var(--gold); }.value-card h3 { margin:62px 0 13px; font:600 29px var(--font-display); color:var(--navy); }.value-card p { font-size:13px; line-height:1.7; color:var(--muted); }
.history { display:grid; grid-template-columns:.85fr 1.15fr; gap:9vw; padding:120px 8vw; background:var(--navy); color:white; }.section-kicker.light { color:var(--gold-light); }.history h2,.contact h2 { font-size:clamp(50px,5.7vw,82px); }.history-heading>p { display:flex; align-items:center; gap:8px; margin-top:35px; color:#aebed2; font-size:12px; }.timeline article { display:grid; grid-template-columns:85px 1fr; gap:28px; padding:29px 0; border-top:1px solid rgba(255,255,255,.14); }.timeline time { font:600 23px var(--font-display); color:var(--gold-light); }.timeline h3 { margin:0 0 8px; font:600 25px var(--font-display); }.timeline p { margin:0; color:#afbdd0; font-size:13px; line-height:1.7; }
.news { padding:120px 8vw; }.section-title { display:flex; align-items:end; justify-content:space-between; margin-bottom:55px; }.coming { font-size:10px; color:var(--muted); text-transform:uppercase; letter-spacing:.12em; }.news-grid { display:grid; grid-template-columns:1.5fr 1fr; gap:25px; }.news-feature { display:grid; grid-template-columns:.9fr 1.1fr; background:#fff; }.news-art { position:relative; min-height:360px; display:grid; place-items:center; overflow:hidden; background:radial-gradient(circle,#395c88,#152643 68%); }.news-art:before { content:""; position:absolute; width:300px; height:300px; background:repeating-conic-gradient(transparent 0 9deg,rgba(216,200,157,.2) 9.5deg 10deg); border-radius:50%; }.news-art span { z-index:1; font:600 80px var(--font-display); color:var(--gold-light); letter-spacing:.1em; }.news-body { padding:42px; }.news-body small { color:var(--gold); text-transform:uppercase; letter-spacing:.12em; font-size:9px; }.news-body h3,.news-placeholder h3 { margin:45px 0 15px; font:600 34px/1.05 var(--font-display); color:var(--navy); }.news-body p,.news-placeholder p { font-size:13px; line-height:1.7; color:var(--muted); }.news-placeholder { display:flex; flex-direction:column; justify-content:center; padding:48px; border:1px solid var(--line); }.news-placeholder>svg { color:var(--gold); }.news-placeholder>span { margin-top:25px; font-size:10px; color:var(--gold); text-transform:uppercase; letter-spacing:.16em; }.news-placeholder h3 { margin:15px 0; }.news-placeholder a { margin-top:25px; font-size:12px; font-weight:700; color:var(--blue); }
.contact { padding:110px 8vw 120px; text-align:center; color:white; background:linear-gradient(135deg,var(--blue),var(--navy)); }.contact p { max-width:570px; margin:28px auto; line-height:1.7; color:#d2dbea; }.contact .button-gold { margin-top:8px; } footer { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:28px 8vw; color:#aab8cb; background:#0c172c; font-size:11px; }.footer-brand { display:flex; align-items:center; gap:13px; }.footer-brand img { border-radius:50%; }.footer-brand strong { color:white; }
/* Painel administrativo local */
.admin-login { min-height:100vh; display:grid; place-items:center; padding:24px; background:radial-gradient(circle at 50% 20%,#294874,#101d36 60%); }
.login-card { width:min(420px,100%); padding:45px; text-align:center; border-radius:4px; background:#fff; box-shadow:0 30px 80px rgba(0,0,0,.28); }.login-card>img { border-radius:50%; }.login-card>span,.admin-main header span { display:block; margin-top:15px; color:var(--gold); font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }.login-card h1 { margin:8px 0; color:var(--navy); font:600 42px var(--font-display); }.login-card>p { color:var(--muted); font-size:13px; line-height:1.6; }.login-card form { display:grid; gap:9px; margin-top:28px; text-align:left; }.login-card label,.form-grid label,.block-label { color:#455065; font-size:11px; font-weight:700; }.login-card input,.form-grid input,.form-grid select,.form-grid textarea,.inline-form input,.block-label input { width:100%; margin-top:8px; padding:13px 14px; border:1px solid #d9deea; border-radius:4px; background:#fff; color:var(--ink); font:13px var(--font-sans-custom); }.login-card button,.add-button,.inline-form button { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:8px; padding:14px; border:0; border-radius:4px; background:var(--navy); color:white; font-weight:700; cursor:pointer; }.login-card form small { color:#b3261e; }.login-card .demo-hint { margin:18px 0; padding:10px; background:#f4f1e9; font-size:11px; }.login-card>a { display:inline-flex; align-items:center; gap:6px; color:var(--blue); font-size:11px; }
.admin-shell { min-height:100vh; padding-left:260px; background:#eeff8; }.admin-side { position:fixed; inset:0 auto 0 0; width:260px; display:flex; flex-direction:column; padding:26px 22px; color:white; background:var(--navy); }.admin-brand { display:flex; align-items:center; gap:11px; padding-bottom:28px; border-bottom:1px solid rgba(255,255,255,.12); }.admin-brand img { border-radius:50%; }.admin-brand span { display:flex; flex-direction:column; }.admin-brand b { font:600 18px var(--font-display); }.admin-brand small { margin-top:4px; color:#9eb0c8; font-size:9px; text-transform:uppercase; letter-spacing:.13em; }.admin-side nav { display:flex; flex-direction:column; gap:4px; margin-top:35px; }.admin-side nav a,.admin-side-bottom a,.admin-side-bottom button { display:flex; align-items:center; gap:11px; padding:12px; border:0; background:transparent; color:#c4cede; font-size:12px; cursor:pointer; }.admin-side svg { width:16px; }.admin-side-bottom { margin-top:auto; border-top:1px solid rgba(255,255,255,.12); padding-top:14px; }.admin-main { max-width:1080px; margin:auto; padding:45px 55px 100px; }.admin-main>header { display:flex; align-items:center; justify-content:space-between; margin-bottom:34px; }.admin-main header span { margin:0; }.admin-main header h1 { margin:6px 0 0; color:var(--navy); font:600 42px var(--font-display); }.save-button { display:flex; align-items:center; gap:9px; padding:13px 18px; border:0; border-radius:4px; background:var(--gold); color:#fff; font-weight:700; cursor:pointer; }.admin-panel { margin-bottom:24px; padding:32px; background:#fff; border:1px solid #e4e6eb; }.panel-heading { display:flex; gap:18px; margin-bottom:28px; }.panel-heading>span { display:grid; place-items:center; width:38px; height:38px; flex:none; border-radius:50%; color:var(--gold); background:#f5f0e6; font:600 15px var(--font-display); }.panel-heading h2 { margin:0; color:var(--navy); font:600 27px var(--font-display); }.panel-heading p { margin:4px 0 0; color:var(--muted); font-size:12px; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.form-grid label.wide { grid-column:1/-1; }.form-grid textarea { min-height:95px; resize:vertical; }.add-button { width:auto; margin-top:18px; padding:12px 17px; }.admin-list { margin-top:28px; border-top:1px solid #eceef2; }.admin-list article { display:flex; align-items:center; justify-content:space-between; padding:16px 0; border-bottom:1px solid #eceef2; }.admin-list small { color:var(--gold); font-size:9px; text-transform:uppercase; }.admin-list h3 { margin:5px 0 0; font:600 19px var(--font-display); color:var(--navy); }.admin-list button,.gallery-admin button { display:grid; place-items:center; width:34px; height:34px; border:0; border-radius:50%; color:#b74747; background:#fff0f0; cursor:pointer; }.inline-form { display:grid; grid-template-columns:1fr auto; gap:10px; align-items:end; }.inline-form button { margin:0; padding:13px 17px; }.block-label { display:block; margin-top:22px; }.gallery-admin { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:22px; }.gallery-admin>div { aspect-ratio:1; position:relative; background-size:cover; background-position:center; background-color:#eef0f3; }.gallery-admin button { position:absolute; top:7px; right:7px; }
@media(max-width:1050px){.hero-copy{max-width:610px}.hero-mark{width:240px;right:5vw}.logo-halo{width:240px;height:240px}}
@media(max-width:850px){nav{display:none}.hero{min-height:1000px;padding-top:150px}.hero-mark{position:relative;top:auto;right:auto;margin:60px auto 170px}.intro,.history{grid-template-columns:1fr}.values-grid{grid-template-columns:repeat(2,1fr)}.news-grid{grid-template-columns:1fr}.news-feature{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.site-header{height:80px;padding:0 20px}.header-cta{display:none}.hero{padding:145px 6vw 0;min-height:1020px}.hero h1{font-size:55px}.hero-copy>p{font-size:15px}.hero-actions{align-items:stretch;flex-direction:column}.hero-stats{left:6vw;right:6vw;grid-template-columns:1fr}.hero-stats div,.hero-stats div+div{padding:12px 0;border-left:0;border-bottom:1px solid rgba(255,255,255,.12)}.hero-stats strong{width:70px;font-size:31px}.intro,.history,.news,.contact{padding:90px 6vw}.values-grid{grid-template-columns:1fr;padding:0 6vw 90px}.value-card{min-height:220px;border-left:1px solid var(--line)}.news-feature{grid-template-columns:1fr}.section-title{align-items:start;flex-direction:column;gap:20px}.news-art{min-height:290px}.news-body,.news-placeholder{padding:35px}footer{align-items:start;flex-direction:column;padding:35px 6vw}footer>p{display:none}}
@media(max-width:760px){.admin-shell{padding-left:0}.admin-side{position:static;width:auto;min-height:auto}.admin-side nav{flex-direction:row;flex-wrap:wrap;margin-top:20px}.admin-side-bottom{margin-top:15px}.admin-main{padding:30px 18px 70px}.admin-main>header{align-items:flex-start;flex-direction:column;gap:18px}.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:auto}.admin-panel{padding:24px 18px}.gallery-admin{grid-template-columns:repeat(2,1fr)}}

/* Correções específicas da versão pública estática */
.contact { padding:110px 8vw 120px; }
.contact-form { width:min(760px,100%); display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:42px auto 0; text-align:left; }
.contact-form label { display:flex; flex-direction:column; gap:8px; color:#d8e0eb; font-size:12px; font-weight:600; }
.contact-form .message-field { grid-column:1/-1; }
.contact-form input,.contact-form textarea { width:100%; padding:16px 18px; border:1px solid rgba(255,255,255,.28); border-radius:4px; outline:0; color:#fff; background:rgba(255,255,255,.08); font:14px var(--font-sans-custom); }
.contact-form input:focus,.contact-form textarea:focus { border-color:var(--gold-light); background:rgba(255,255,255,.12); }
.contact-form input::placeholder,.contact-form textarea::placeholder { color:#b8c5d6; }
.contact-form textarea { min-height:130px; resize:vertical; }
.contact-form button { grid-column:1/-1; justify-self:center; border:0; cursor:pointer; }
.contact-form output { grid-column:1/-1; min-height:22px; text-align:center; color:var(--gold-light); font:600 18px var(--font-display); }
footer { min-height:108px; padding:22px 8vw; }
.footer-brand { flex:0 1 auto; }
.footer-brand img { display:block; width:58px!important; height:58px!important; flex:0 0 58px; object-fit:contain; }
.footer-brand p { margin:0; line-height:1.55; }
footer>p { flex:0 0 auto; }
footer>small { flex:0 0 auto; text-align:right; }
@media(max-width:700px){.contact-form{grid-template-columns:1fr}.contact-form .message-field,.contact-form button,.contact-form output{grid-column:1}footer{gap:20px}.footer-brand img{width:48px!important;height:48px!important;flex-basis:48px}footer>small{text-align:left}}
.contact-details:empty{display:none}.contact-details{color:var(--gold-light)!important;font-weight:700}
.public-gallery-section{padding:100px 8vw;background:#fff}.public-gallery-section h2{margin:0 0 42px;color:var(--navy);font:500 clamp(48px,5.5vw,74px)/1 var(--font-display)}.public-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.public-gallery figure{margin:0}.public-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.public-gallery figcaption{padding:10px 0;color:var(--muted);font-size:13px}.video-link{display:inline-block;margin-top:28px;padding-bottom:6px;color:var(--blue);border-bottom:1px solid var(--gold);font-size:13px;font-weight:700}@media(max-width:700px){.public-gallery-section{padding:80px 6vw}.public-gallery{grid-template-columns:1fr}}
