/* Ergosfera 1.5 · manchas, luz e composição editorial. */
:root {
  --bg:#09080d; --surface:#16111c; --surface-soft:#100d15;
  --text:#f6f2f9; --muted:#b8afc1; --accent:#b984f5;
  --accent-light:#d9b6fb; --line:#382d42;
  --display:"Space Grotesk",system-ui,sans-serif;
  --editorial:Newsreader,Georgia,serif;
  --body:Barlow,system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  color-scheme:dark;
}
* { box-sizing:border-box }
html { scroll-behavior:smooth; scroll-padding-top:30px }
body {
  margin:0; background:var(--bg) url("trama.v1.5.svg"); color:var(--text);
  font:18px/1.65 var(--body); -webkit-font-smoothing:antialiased;
}
img { max-width:100%; height:auto }
a { color:inherit; text-decoration:none }
button,input,textarea { font:inherit }
button,a,input,textarea,summary { -webkit-tap-highlight-color:transparent }
button { cursor:pointer }
button:disabled { cursor:default }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible {
  outline:2px solid var(--accent-light); outline-offset:5px;
}
::selection { background:var(--accent); color:var(--bg) }
[hidden] { display:none!important }
h1,h2,h3,p { margin:0 }
h1,h2,h3 { font-family:var(--display); font-weight:500; line-height:1.15; letter-spacing:-.035em }
p+p { margin-top:20px }
.container { width:min(1240px,calc(100% - 72px)); margin-inline:auto }
.section { padding:110px 0 }
.eyebrow { font:500 11px/1.7 var(--mono); letter-spacing:.16em; color:var(--accent-light); margin-bottom:23px }
.eyebrow::before { content:""; display:inline-block; vertical-align:middle; width:24px; height:1px; background:currentColor; margin-right:13px; opacity:.7 }
.text-link { display:inline-flex; align-items:center; gap:20px; min-height:44px; font-size:16px; font-weight:500; line-height:1.5 }
.text-link>span { color:var(--accent-light); transition:transform .2s }
.text-link:hover { text-decoration:underline; text-underline-offset:7px }
.text-link:hover>span { transform:translate(2px,-1px) }
.button {
  display:inline-flex; align-items:center; justify-content:center; gap:28px;
  min-height:54px; padding:14px 24px; border:1px solid var(--accent);
  border-radius:6px; background:var(--accent); color:var(--bg);
  font:600 16px/1.5 var(--body); transition:background .2s,transform .2s,box-shadow .2s;
}
.button:hover { background:var(--accent-light); transform:translateY(-2px); box-shadow:0 8px 28px #9e59d52b }
.button-outline { background:transparent; color:var(--text); border-color:var(--line) }
.button-outline:hover { background:#b984f514; color:var(--text); border-color:var(--accent) }
.button-light { background:var(--text); border-color:var(--text); color:var(--bg) }
.skip-link { position:fixed; left:24px; top:-100px; z-index:100; padding:12px 20px; background:var(--text); color:var(--bg) }
.skip-link:focus { top:12px }

/* Marca e navegação */
.site-header { position:relative; z-index:10; background:#09080ded; border-bottom:1px solid #c5a2e21a }
.site-header::after { content:""; position:absolute; bottom:-1px; left:12%; right:12%; height:1px; background:linear-gradient(90deg,transparent,#aa6dd54a,transparent); pointer-events:none }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; min-height:96px }
.brand { display:flex; align-items:center; min-width:186px; min-height:60px }
.brand-image { width:186px; height:60px; object-fit:contain; object-position:left center }
.brand-fallback { font:600 31px/1.1 var(--display); letter-spacing:-.045em }
.logo-monochrome { filter:brightness(0) invert(1)!important }
.site-nav { display:flex; align-items:center; gap:25px; font-size:15px }
.site-nav>a { display:inline-flex; align-items:center; min-height:44px; color:var(--muted); white-space:nowrap; transition:color .2s }
.site-nav>a:hover,.site-nav>a[aria-current] { color:var(--text) }
.site-nav>a[aria-current] { text-decoration:underline; text-decoration-color:var(--accent); text-underline-offset:8px }
.site-nav .nav-reserve { border:1px solid #b984f559; border-radius:5px; padding:9px 16px; gap:15px; color:var(--text); background:#a46be00b }
.nav-reserve>span { color:var(--accent-light) }
.menu-toggle { display:none }

/* Une présence graphique; les textes conservent leur propre zone de lecture. */
.hero { position:relative; isolation:isolate; overflow:hidden; background:radial-gradient(ellipse at 75% 45%,#50306813,transparent 62%) }
.hero-inner { display:grid; grid-template-columns:1.06fr .94fr; align-items:center; gap:20px; padding-block:50px 62px; min-height:654px }
.hero-copy { position:relative; z-index:1; padding-block:35px; min-width:0 }
.hero h1 { font-size:clamp(54px,6.3vw,88px); line-height:1.04; letter-spacing:-.065em }
.hero h1 em { display:inline-block; margin-top:8px; font:400 italic clamp(57px,6.4vw,92px)/1.05 var(--editorial); letter-spacing:-.045em; color:var(--accent-light) }
.hero-description { max-width:415px; margin-top:30px; font-size:21px; line-height:1.6; color:var(--muted) }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:26px; margin-top:35px }
.hero-place { margin-top:28px; color:var(--muted); font-size:13px }
.hero-scene { margin:0 -65px 0 -30px; width:calc(100% + 95px); position:relative; min-width:0 }
.hero-scene>img { width:100%; display:block; animation:ink-drift 16s ease-in-out infinite alternate }
.hero-scene figcaption { position:absolute; bottom:3%; left:17%; right:17%; text-align:center; font:10px/1.7 var(--mono); letter-spacing:.17em; color:#b3a4be }
.hero-bottom { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:18px 0; border-top:1px solid var(--line); font:11px/1.7 var(--mono); letter-spacing:.03em; color:var(--muted) }
.hero-bottom a { display:flex; align-items:center; gap:24px; min-height:44px; color:var(--text) }

/* História e serviços */
.about-section { border-bottom:1px solid #c6a4e315; background:radial-gradient(ellipse at 5% 48%,#60368113,transparent 60%) }
.about-grid { display:grid; grid-template-columns:1.03fr 1fr; align-items:center; gap:85px }
.about-art { position:relative; margin-inline:-35px; min-height:390px; padding-bottom:25px }
.about-art>img { display:block; width:100% }
.art-caption { display:block; text-align:center; margin-top:-7px; padding-inline:28px; color:var(--muted); font:10px/1.8 var(--mono); letter-spacing:.1em }
.about-copy h2 { font-size:clamp(33px,3.1vw,44px); margin-bottom:26px }
.about-copy p:not(.eyebrow) { color:var(--muted); font-size:18px; max-width:545px }
.about-copy .text-link { margin-top:24px }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:48px; margin-bottom:48px }
.section-heading h2 { font-size:clamp(35px,3.8vw,52px) }
.section-heading>p { max-width:325px; color:var(--muted); font-size:17px }
.section-intro { margin-top:-18px; margin-bottom:35px; color:var(--muted) }
.experience-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:45px }
.experience { position:relative; border-top:1px solid var(--line); padding-top:29px; min-width:0 }
.experience-number { position:absolute; top:36px; right:0; font:11px var(--mono); color:#b3a3c3 }
.experience-icon { display:grid; place-items:center; width:64px; height:64px; color:var(--accent-light); margin-bottom:26px; background:url("splash.v1.5.svg") center/120% no-repeat }
.line-icon { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; vertical-align:middle }
.experience-icon .line-icon,.game-icon-source { width:38px; height:38px }
.game-icon-source { object-fit:contain }
.experience h3 { font-size:29px; margin-bottom:18px }
.experience p { color:var(--muted); font-size:17px }
.experience .text-link { margin-top:24px; font-size:15px }

/* O acervo cria uma pausa clara entre as áreas escuras. */
.collection-section {
  --text:#201629; --muted:#65586e; --accent:#713da1; --accent-light:#69358f; --line:#b2a2bf;
  position:relative; isolation:isolate; overflow:hidden; color:var(--text);
  background:#f5f0f8; border-block:1px solid #e1d7e8;
}
.collection-section::before { content:""; position:absolute; right:-225px; top:-210px; width:800px; height:560px; z-index:-1; opacity:.2; background:url("splash.v1.5.svg") center/contain no-repeat; transform:rotate(18deg); pointer-events:none }
.category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px }
.category-link { display:block; position:relative; min-width:0; padding:27px 0 35px; border-top:1px solid var(--line); min-height:245px; transition:border-color .2s }
.category-number { color:var(--accent-light); font:11px var(--mono) }
.category-symbol { display:block; margin:22px 0 22px; width:44px; height:44px; color:var(--accent-light) }
.category-symbol .line-icon { width:44px; height:44px; stroke-width:1.15; transition:transform .25s }
.category-link h3 { font-size:25px; margin:0 24px 13px 0 }
.category-link p { color:var(--muted); font-size:16px; max-width:245px }
.category-arrow { position:absolute; right:0; top:30px; color:var(--accent-light); font-size:23px }
.category-link:hover { border-color:var(--accent) }
.category-link:hover .line-icon { transform:rotate(-6deg) }

/* Encontros e convite */
.events-section { background:radial-gradient(ellipse at 98% 80%,#633b8010,transparent 65%) }
.agenda-empty { display:flex; align-items:center; gap:34px; padding:36px 0; border-block:1px solid var(--line) }
.small-orbit { display:grid; place-items:center; flex-shrink:0; width:112px; height:112px; color:var(--accent-light); background:url("splash.v1.5.svg") center/contain no-repeat }
.small-orbit .line-icon { width:42px; height:42px }
.agenda-empty h3 { font-size:28px; margin-bottom:12px }
.agenda-empty p { color:var(--muted); font-size:17px }
.agenda-empty .text-link { margin-top:8px }
.quote-band { position:relative; isolation:isolate; overflow:hidden; padding:86px 0; background:#1b1025; border-block:1px solid #79509646 }
.quote-band::before { content:""; z-index:-1; position:absolute; inset:-220px -150px -140px 32%; opacity:.3; background:url("splash.v1.5.svg") right center/contain no-repeat; pointer-events:none }
.quote-inner { display:flex; align-items:center; justify-content:space-between; gap:45px }
.quote-inner h2 { font-size:clamp(36px,3.8vw,52px); margin-bottom:22px }
.quote-inner p:not(.eyebrow) { max-width:580px; color:#d0c2db }
.quote-inner .button { flex-shrink:0 }
.asteryon-section { padding:70px 0; background:var(--surface-soft); border-top:1px solid var(--line) }
.asteryon-inner { display:flex; justify-content:space-between; align-items:center; gap:40px }
.asteryon-inner h2 { font-size:42px; margin-bottom:15px }
.asteryon-inner p:not(.eyebrow) { color:var(--muted) }

/* Cabeçalhos internos: tinta em área lateral, superfície limpa sob o texto. */
.page-heading { position:relative; isolation:isolate; padding-top:94px; padding-bottom:68px }
.page-heading h1 { position:relative; z-index:1; max-width:810px; font-size:clamp(47px,5.6vw,76px); letter-spacing:-.05em }
.page-heading>p { position:relative; z-index:1 }
.page-heading>p:not(.eyebrow) { max-width:610px; margin-top:26px; color:var(--muted); font-size:20px }
.heading-art { position:absolute; z-index:-1; pointer-events:none; top:-15px; right:-25px; width:48%; height:110%; overflow:hidden; opacity:.42 }
.heading-art>img { display:block; width:100%; height:100%; object-fit:contain; transform:rotate(-12deg); mask-image:linear-gradient(90deg,transparent,#000 55%) }
.category-index { display:flex; flex-wrap:wrap; gap:14px 34px; padding:17px 0; border-block:1px solid var(--line) }
.category-index a { display:flex; align-items:center; gap:13px; min-height:44px; font-size:16px }
.category-index a>span { font:11px var(--mono); color:var(--accent-light) }
.category-index a:hover { color:var(--accent-light) }
.catalog-search { max-width:520px; margin-top:47px; margin-bottom:68px }
.catalog-search label { display:block; margin-bottom:12px; font-size:15px }
.catalog-search>div { display:flex; border-bottom:1px solid #927aa8 }
.catalog-search input { width:100%; min-width:0; padding:12px 0; border:0; border-radius:0; color:var(--text); background:transparent; font-size:17px }
.catalog-search button { flex-shrink:0; min-height:48px; padding:12px 10px 12px 20px; border:0; background:transparent; color:var(--accent-light); font-size:15px }
.catalog-search p { margin-top:12px; font-size:13px; color:var(--muted) }
.catalog-section { padding-bottom:88px; scroll-margin-top:24px }
.catalog-heading { position:relative; isolation:isolate; display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:28px; padding:26px 0 25px; border-bottom:1px solid var(--line) }
.catalog-heading::before { content:""; position:absolute; pointer-events:none; top:-30px; left:-26px; width:220px; height:140px; background:url("splash.v1.5.svg") center/contain no-repeat; opacity:.14; z-index:-1 }
.catalog-heading h2 { font-size:38px }
.catalog-heading .eyebrow { margin-bottom:12px }
.catalog-heading p:not(.eyebrow) { margin-top:15px; font-size:16px; color:var(--muted) }
.catalog-heading>span { flex-shrink:0; font:12px var(--mono); color:var(--muted) }
.catalog-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 34px }
.catalog-item { min-width:0; padding:23px 0; border-bottom:1px solid #382d427a }
.catalog-item h3 { font:400 20px/1.45 var(--body); overflow-wrap:anywhere; letter-spacing:0 }
.catalog-item .description { margin-top:12px; font-size:16px; color:var(--muted); white-space:pre-wrap; overflow-wrap:anywhere }
.catalog-item .meta { font-size:14px; color:var(--muted); margin-top:12px }
.catalog-item .cover { height:180px; margin-bottom:20px; border-radius:9px }
.no-results { padding-bottom:80px; color:var(--muted) }

/* Fotos de eventos e publicações */
.event-page { padding-bottom:85px }
.event-roles { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:42px }
.event-roles>span,.tags span { display:inline-block; padding:7px 12px; border:1px solid #9b71b75a; border-radius:5px; color:var(--accent-light); font:11px/1.6 var(--mono) }
.event-page>[data-event-section] { margin-top:60px }
.event-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px }
.card { min-width:0; padding-bottom:26px; border:0; border-bottom:1px solid var(--line); background:transparent }
.cover { display:block; width:100%; height:220px; object-fit:cover; border-radius:10px }
.placeholder { display:flex; align-items:center; justify-content:center; text-align:center; padding:20px; color:var(--accent-light); font:11px/1.7 var(--mono); letter-spacing:.15em; background:url("splash.v1.5.svg") center/cover no-repeat,var(--surface) }
.card-body { padding-top:22px }
.tags { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:18px }
.tags span { padding:5px 8px; font-size:10px }
.card h3 { font-size:28px }
.card .meta { margin-top:15px; color:var(--muted); font-size:14px }
.card .description { margin-top:18px; color:var(--muted); font-size:16px; white-space:pre-wrap; overflow-wrap:anywhere }
.gallery { margin-top:20px }
.gallery summary { cursor:pointer; min-height:44px; padding:10px 0; color:var(--accent-light); font-size:15px }
.gallery img { width:100%; margin-top:15px; border-radius:8px }
.event-invitation { margin-top:80px; padding:40px 0 0; border-top:1px solid var(--line) }
.event-invitation h2 { margin-bottom:20px; font-size:40px }
.event-invitation>p:not(.eyebrow) { max-width:600px; color:var(--muted) }
.event-invitation .text-link { margin-top:20px }

/* Projetos: descrição e link continuam independentes. */
.projects-section { border-top:1px solid #c6a4e319; background:radial-gradient(ellipse at 100% 0,#64318318,transparent 65%),var(--surface-soft) }
.projects-page { padding-bottom:110px }
.project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px }
.project-card { position:relative; display:flex; flex-direction:column; min-width:0; border:1px solid #7c5d934a; border-radius:12px; background:linear-gradient(145deg,#1a1222,#100c16); transition:border-color .2s,transform .2s,box-shadow .2s }
.project-card:hover { border-color:#b984f581; transform:translateY(-3px); box-shadow:0 20px 48px #0003 }
.project-card .cover { height:auto; aspect-ratio:15/8; border-radius:11px 11px 0 0; object-fit:cover }
.project-art { overflow:hidden; color:var(--accent-light); background:url("splash.v1.5.svg") 70% 50%/90% no-repeat,#120d19 }
.project-art>g { filter:drop-shadow(0 0 5px #a665d82a) }
.project-body { display:flex; flex:1; flex-direction:column; min-width:0; padding:27px }
.project-eyebrow { margin-bottom:15px; color:var(--accent-light); font:10px/1.5 var(--mono); letter-spacing:.12em }
.project-card h2,.project-card h3 { margin:0 0 22px; font:500 29px/1.2 var(--display); letter-spacing:-.035em; overflow-wrap:anywhere }
.project-details { margin-bottom:25px; border-block:1px solid var(--line) }
.project-details summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:49px; padding:12px 0; cursor:pointer; list-style:none; color:var(--muted); font-size:15px }
.project-details summary::-webkit-details-marker { display:none }
.project-details summary:hover { color:var(--text) }
.disclosure-icon { width:18px; height:18px; color:var(--accent-light); transition:transform .2s }
.project-details[open] .disclosure-icon { transform:rotate(180deg) }
.project-description { padding:0 0 18px; color:var(--muted); font:16px/1.7 var(--body); white-space:pre-wrap; overflow-wrap:anywhere }
.project-card .project-link { margin-top:auto; width:100%; gap:20px; min-height:48px; padding:11px 18px; background:transparent; color:var(--text); border-color:#ac7dc177; font-size:15px }
.project-link:hover { background:#b984f51c; border-color:var(--accent-light) }
.project-link .line-icon { width:19px; height:19px; color:var(--accent-light) }
.project-link-pending { display:block; margin-top:auto; padding:12px 0; color:var(--muted); font-size:13px }
.project-grid>.project-card:only-child { display:grid; grid-template-columns:1.12fr 1fr; grid-column:1/-1 }
.project-grid>.project-card:only-child>.cover { height:100%; min-height:315px; aspect-ratio:auto; border-radius:11px 0 0 11px }
.project-grid>.project-card:only-child>.project-body { padding:38px }
.project-grid>.project-card:only-child h2,.project-grid>.project-card:only-child h3 { font-size:40px }

/* Orçamento */
.contact-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:100px; align-items:start; padding-bottom:110px }
.contact-copy h2 { font-size:38px; margin-bottom:25px }
.contact-copy>p:not(.eyebrow) { color:var(--muted); font-size:17px }
.contact-copy a:not(.text-link) { color:var(--accent-light) }
.contact-email { display:flex; align-items:center; gap:14px; min-height:44px; margin-top:24px; font-size:18px; overflow-wrap:anywhere }
.contact-details { margin:35px 0; padding-top:28px; border-top:1px solid var(--line) }
.contact-details dt { margin-top:24px; color:var(--accent-light); font:11px var(--mono) }
.contact-details dt:first-child { margin-top:0 }
.contact-details dd { margin:8px 0 0; color:var(--muted); font-size:16px }
.contact-form-wrap { border:1px solid #8d6aa05a; border-radius:12px; padding:30px; background:linear-gradient(160deg,#20132940,#0f0c14) }
.quote-form h2 { margin-bottom:30px; font-size:31px }
.quote-form label,.email-draft>label { display:block; color:var(--text); font-size:15px }
.quote-form>label,.quote-form>.field-pair { margin-bottom:22px }
.field-pair { display:grid; grid-template-columns:1fr 1fr; gap:20px }
.quote-form input:not([type="checkbox"]),.quote-form textarea,.email-draft textarea { display:block; width:100%; min-width:0; padding:12px 14px; margin-top:8px; border:1px solid #887298; border-radius:5px; background:#0b0910; color:var(--text); font-size:16px }
.quote-form textarea,.email-draft textarea { resize:vertical; min-height:130px; line-height:1.6 }
.quote-form input::placeholder,.quote-form textarea::placeholder,.catalog-search input::placeholder { color:var(--muted); opacity:1 }
.optional { color:var(--muted); font-size:13px }
.quote-form fieldset { min-width:0; padding:0; margin:0 0 24px; border:0 }
.quote-form legend { padding:0; margin-bottom:12px; font-size:15px }
.check-options { display:grid; grid-template-columns:1fr 1fr; gap:6px 20px }
.check-option { display:flex!important; align-items:center; gap:10px; min-height:44px }
.check-option input { width:18px; height:18px; accent-color:var(--accent); margin:0; flex-shrink:0 }
.check-option span { color:var(--muted); font-size:15px }
.form-help { margin-bottom:22px; color:var(--muted); font-size:13px }
.form-status { margin-top:20px; color:var(--accent-light); font-size:14px }
.email-draft { padding:28px 0; border-top:1px solid var(--line); margin-top:25px }
.email-draft h3 { margin-bottom:15px; font-size:26px }
.email-draft>p { margin-bottom:20px; color:var(--muted); font-size:15px }
.draft-actions { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-top:16px }
.draft-actions button { min-height:44px; padding:10px 15px; border:1px solid var(--line); border-radius:5px; background:transparent; color:var(--text); font-size:14px }

/* Rodapé e exemplos de cadastro */
.site-footer { padding:70px 0 0; background:#07060a; border-top:1px solid #c6a4e315 }
.footer-top { display:grid; grid-template-columns:1.25fr .8fr .8fr 1.1fr; gap:35px; padding-bottom:60px }
.footer-brand { display:inline-flex; margin-bottom:16px; min-width:0 }
.footer-brand .brand-image { height:55px; width:165px }
.footer-brand .brand-fallback { font-size:30px }
.footer-top p { color:var(--muted); font-size:14px; line-height:1.9 }
.footer-top h2 { margin:5px 0 20px; color:var(--muted); font:11px/1.6 var(--mono); letter-spacing:.08em }
.footer-top>div>a:not(.footer-brand) { display:block; min-height:38px; font-size:14px }
.footer-top a:hover { color:var(--accent-light) }
.footer-email { overflow-wrap:anywhere }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 0; border-top:1px solid var(--line); color:var(--muted); font-size:12px }
.footer-bottom a { display:flex; align-items:center; min-height:44px }
.preview-label { font:10px var(--mono); letter-spacing:.05em }
.icon-credits { padding:0 0 25px; color:var(--muted); font-size:11px; line-height:1.8 }
.icon-credits a { text-decoration:underline; text-underline-offset:3px }
.reference { padding:60px 0 90px }
.reference-intro { border-bottom:1px solid var(--line); padding-bottom:30px; margin-bottom:35px }
.reference h1 { font-size:48px; margin-bottom:25px }
.reference .event-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:65px }
.reference .project-grid { margin-bottom:65px }
.reference .section-heading { margin-top:70px }

@keyframes ink-drift { from { transform:translateY(0) } to { transform:translateY(-7px) } }
@media(min-width:1450px) {
  .hero-inner { min-height:720px; padding-block:45px 68px }
}
@media(max-width:1100px) {
  .site-nav { gap:18px; font-size:14px }
  .about-grid { gap:45px }
  .experience-grid { gap:30px }
  .contact-grid { gap:55px }
  .category-grid { gap:24px }
  .hero-actions { gap:16px }
  .hero-actions .button { padding-inline:20px; gap:17px }
  .hero-actions .text-link { gap:12px }
}
@media(max-width:1050px) {
  .header-inner { flex-wrap:wrap; gap:12px; min-height:84px; padding-block:12px }
  .brand { min-width:172px; min-height:54px }
  .brand-image { width:172px; height:54px }
  .menu-toggle { display:flex; align-items:center; gap:14px; padding:10px 0 10px 15px; min-height:44px; border:0; background:transparent; color:var(--text); font-size:14px }
  .menu-lines { display:block; width:20px; height:12px; border-block:1px solid var(--text) }
  .site-nav { width:100%; flex-direction:column; align-items:stretch; gap:0; padding:12px 0 8px; border-top:1px solid var(--line) }
  .site-nav>a { padding:10px 0; min-height:48px }
  .site-nav .nav-reserve { width:max-content; margin-top:8px; padding:9px 16px }
  .js .site-nav { display:none }
  .js .site-header[data-menu-open="true"] .site-nav { display:flex }
  .hero-inner { min-height:590px; gap:0 }
  .hero h1 { font-size:68px }
  .hero h1 em { font-size:70px }
  .hero-description { font-size:19px }
  .hero-scene { margin-left:-15px; margin-right:-50px; width:calc(100% + 65px) }
  .hero-scene figcaption { font-size:9px }
  .footer-top { grid-template-columns:1fr 1fr; gap:40px }
  .category-grid,.project-grid,.event-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .category-link { min-height:220px }
  .project-body { padding:23px }
}
@media(max-width:800px) {
  .container { width:calc(100% - 44px) }
  .section { padding:76px 0 }
  .brand-image { width:160px; height:50px }
  .brand { min-width:160px; min-height:50px }
  .hero-inner { grid-template-columns:1fr; padding-block:55px 35px; min-height:0; gap:8px }
  .hero-copy { padding-block:0; max-width:620px }
  .hero h1 { font-size:clamp(60px,9.2vw,74px) }
  .hero h1 em { font-size:clamp(64px,10vw,80px) }
  .hero-description { max-width:440px; font-size:20px; margin-top:25px }
  .hero-actions { gap:25px; margin-top:28px }
  .hero-place { margin-top:24px }
  .hero-scene { width:min(500px,100%); max-width:100%; margin:-15px auto -10px }
  .hero-scene figcaption { font-size:9px; bottom:1% }
  .hero-bottom { font-size:10px; align-items:center }
  .hero-bottom>span { max-width:180px }
  .about-grid { grid-template-columns:1fr; gap:35px }
  .about-copy { order:1 }
  .about-art { order:2; max-width:540px; min-height:0; margin:0 auto; padding-bottom:0 }
  .about-copy h2 { font-size:40px }
  .section-heading { flex-direction:column; align-items:start; gap:24px; margin-bottom:36px }
  .section-heading>p { max-width:600px }
  .experience-grid { grid-template-columns:1fr; gap:38px }
  .experience { padding-top:24px }
  .experience p { max-width:600px }
  .experience-icon { margin-bottom:19px }
  .category-link { min-height:230px }
  .small-orbit { width:80px; height:80px }
  .small-orbit .line-icon { width:32px; height:32px }
  .agenda-empty { gap:24px }
  .agenda-empty h3 { font-size:25px }
  .quote-band { padding:65px 0 }
  .quote-inner,.asteryon-inner { flex-direction:column; align-items:start; gap:28px }
  .page-heading { padding-top:64px; padding-bottom:48px }
  .page-heading h1 { font-size:54px }
  .heading-art { width:52%; right:-16px; opacity:.3 }
  .catalog-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px }
  .catalog-heading h2 { font-size:33px }
  .contact-grid { grid-template-columns:1fr; gap:48px; padding-bottom:78px }
  .contact-copy { max-width:620px }
  .contact-email { font-size:19px }
  .project-grid>.project-card:only-child { grid-template-columns:1fr 1fr }
  .project-grid>.project-card:only-child>.project-body { padding:26px }
  .project-grid>.project-card:only-child h2,.project-grid>.project-card:only-child h3 { font-size:32px }
  .projects-page { padding-bottom:78px }
  .reference .section-heading { margin-top:50px }
}
@media(max-width:580px) {
  .hero-inner { padding-top:46px; padding-bottom:25px }
  .hero h1 { font-size:clamp(49px,12vw,65px) }
  .hero h1 em { margin-top:7px; font-size:clamp(43px,10.8vw,63px); letter-spacing:-.045em }
  .hero-description { max-width:360px; font-size:18px; margin-top:24px }
  .hero-actions { flex-direction:column; align-items:start; gap:13px; margin-top:25px }
  .hero-actions .button { gap:22px; padding-inline:22px }
  .hero-place { font-size:11px; max-width:300px; margin-top:24px }
  .hero-scene { width:min(380px,100%); margin:-5px auto -12px }
  .hero-bottom>span { display:none }
  .hero-bottom { justify-content:flex-end; padding-block:12px }
  .brand-fallback { font-size:28px }
  .section-heading h2 { font-size:36px }
  .about-copy h2 { font-size:34px }
  .about-copy p:not(.eyebrow) { font-size:17px }
  .art-caption { font-size:9px; margin-top:0 }
  .collection-section::before { top:-170px; right:-330px; opacity:.14 }
  .category-grid { grid-template-columns:1fr; gap:0 }
  .category-link { min-height:0; padding:22px 38px 27px 64px }
  .category-number { display:block; margin-bottom:11px }
  .category-symbol { position:absolute; left:0; top:38px; width:37px; height:37px; margin:0 }
  .category-symbol .line-icon { width:37px; height:37px }
  .category-link h3 { font-size:25px; margin:0 0 10px }
  .category-link p { max-width:330px }
  .category-arrow { top:50px; font-size:22px }
  .agenda-empty { gap:16px; align-items:start; padding-block:28px }
  .small-orbit { width:54px; height:54px }
  .small-orbit .line-icon { width:26px; height:26px }
  .agenda-empty h3 { font-size:24px }
  .agenda-empty p { font-size:16px }
  .page-heading h1 { font-size:46px }
  .page-heading>p:not(.eyebrow) { font-size:18px }
  .heading-art { width:60%; opacity:.22; height:90% }
  .category-index { gap:4px 20px }
  .category-index a { font-size:14px }
  .catalog-search { margin-top:34px; margin-bottom:40px }
  .catalog-heading { flex-direction:column; align-items:start; gap:16px }
  .catalog-heading h2 { font-size:31px }
  .catalog-section { padding-bottom:55px }
  .catalog-list,.event-grid,.project-grid { grid-template-columns:1fr }
  .catalog-item { padding-block:19px }
  .catalog-item h3 { font-size:19px }
  .project-grid { gap:28px }
  .project-grid>.project-card:only-child { display:flex }
  .project-grid>.project-card:only-child>.cover { height:auto; min-height:0; aspect-ratio:15/8; border-radius:11px 11px 0 0 }
  .project-grid>.project-card:only-child>.project-body { padding:26px }
  .project-grid>.project-card:only-child h2,.project-grid>.project-card:only-child h3 { font-size:30px }
  .event-invitation h2 { font-size:33px }
  .contact-copy h2 { font-size:35px }
  .contact-email { font-size:17px }
  .contact-form-wrap { padding:25px 20px }
  .field-pair,.check-options { grid-template-columns:1fr }
  .field-pair { gap:22px }
  .quote-form .button { width:100%; gap:15px; font-size:15px; padding-inline:16px }
  .footer-top { grid-template-columns:1fr 1fr; gap:32px 20px }
  .footer-top>div:first-child,.footer-top>div:last-child { grid-column:1/-1 }
  .footer-bottom { flex-wrap:wrap; gap:8px 20px }
  .preview-label { order:3; width:100% }
  .reference h1 { font-size:36px }
  .reference .event-grid { grid-template-columns:1fr }
}
@media(max-width:360px) {
  .container { width:calc(100% - 36px) }
  .hero h1 em { font-size:42px }
  .contact-form-wrap { padding:24px 16px }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto }
  *,*::before,*::after { animation:none!important; transition:none!important }
  .hero-scene>img { transform:none!important }
}

/* Contatos: ícones próprios de traço e luz roxa. */
.social-icon{display:inline-block;width:22px;height:22px;flex:0 0 22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;color:#cfa4ff;filter:drop-shadow(0 0 5px #a45dff65)}.social-link{display:inline-flex;align-items:center;gap:10px;min-height:44px}.site-footer .social-link{display:flex;align-items:center;gap:10px}.social-link:hover .social-icon{filter:drop-shadow(0 0 8px #a45dffa0)}.contact-whatsapp{display:inline-flex;align-items:center;gap:10px;margin:20px 0 8px;max-width:100%}.contact-whatsapp .social-icon{width:24px;height:24px}.quote-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.quote-actions .button{flex:1;min-width:min(100%,230px);margin:0}.quote-actions .quote-email{background:transparent;color:var(--text)}.whatsapp-launcher{position:fixed;right:24px;bottom:24px;z-index:60;display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:13px 17px;border:1px solid #a45dff;border-radius:5px;background:#100b18;color:#f5f5f7;font:500 13px/1.4 var(--mono);text-decoration:none;box-shadow:0 0 24px #a45dff24;cursor:pointer}.whatsapp-launcher .social-icon{width:24px;height:24px;flex-basis:24px}.whatsapp-launcher:hover{border-color:#cfa4ff;background:#1e132b}.whatsapp-dialog{position:fixed;right:24px;bottom:88px;z-index:61;width:min(380px,calc(100vw - 36px));max-height:calc(100dvh - 120px);overflow:auto;padding:24px;border:1px solid #765194;border-radius:8px;background:#100c16;box-shadow:0 16px 65px #0008,0 0 30px #a45dff16}.whatsapp-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.whatsapp-heading .eyebrow{font-size:9px;margin-bottom:10px}.whatsapp-heading h2{font:500 26px/1.2 var(--display);letter-spacing:-.025em;margin:0 0 18px}.whatsapp-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;margin-top:-8px;margin-right:-8px;border:1px solid var(--line);border-radius:3px;background:transparent;color:var(--accent-light);font-size:25px;cursor:pointer}.whatsapp-description{font-size:15px;color:var(--muted);margin:0 0 20px}.whatsapp-dialog label{font-size:14px;display:block}.whatsapp-dialog textarea{display:block;width:100%;resize:vertical;min-height:100px;padding:12px;margin-top:8px;border:1px solid var(--line);border-radius:3px;background:#07070a;color:var(--text);font:16px/1.5 var(--body)}.whatsapp-note{font-size:12px;line-height:1.6;color:var(--muted);margin:14px 0 18px}.whatsapp-dialog .whatsapp-continue{width:100%;min-height:48px;font-size:14px;padding:12px 15px}.whatsapp-phone{font:10px/1.7 var(--mono);color:var(--muted);margin:18px 0 0}.whatsapp-launcher:focus-visible,.whatsapp-close:focus-visible,.whatsapp-dialog textarea:focus-visible{outline:2px solid var(--accent-light);outline-offset:4px}.admin-entry{font:12px var(--mono);letter-spacing:.08em;color:var(--accent-light);min-height:44px;display:inline-flex;align-items:center}.site-footer .footer-bottom{padding-bottom:85px}
@media(max-width:580px){.whatsapp-launcher{right:18px;bottom:18px;min-height:48px;padding:12px 14px}.whatsapp-dialog{right:18px;bottom:80px;padding:20px;max-height:calc(100dvh - 102px)}.whatsapp-heading h2{font-size:24px}.quote-actions{flex-direction:column}.quote-actions .button{width:100%;flex:auto}}
