/* Veritas Audio — site v1 · follows Brand Guidelines v1.1 */
@font-face{font-family:"CG";src:url("/fonts/CormorantGaramond-VF.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"CG";src:url("/fonts/CormorantGaramond-Italic-VF.woff2") format("woff2");font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:"IN";src:url("/fonts/Inter-VF.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --black:#0B0B0B; --graphite:#2A2A2A; --off:#F2EEE6; --copper:#A8704B; --bronze:#7A5C3A;
  --text:#d9d4cb; --muted:#b9b4ab; --dim:#8a857d; --faint:#6f6a63; --rule:#1f1f1f;
  --pad:clamp(1.5rem,6vw,6rem);
  --serif:"CG","Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"IN","Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{background:var(--black);scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:var(--serif);color:var(--off);background:var(--black);font-size:1.125rem;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
svg{display:block}
::selection{background:var(--bronze);color:var(--off)}
:focus-visible{outline:1px solid var(--copper);outline-offset:4px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:1rem;top:-3rem;z-index:20;font-family:var(--sans);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;background:var(--off);color:var(--black);padding:.6rem 1rem}
.skip:focus{top:1rem}

/* type */
.eyebrow,.k{font-family:var(--sans);font-size:.625rem;font-weight:400;letter-spacing:.32em;text-transform:uppercase;color:var(--copper)}
.eyebrow{margin-bottom:clamp(3rem,8vw,6rem)}
.k{margin-bottom:1.25rem}
.tagline{font-style:italic;font-weight:400;letter-spacing:.01em}
.h2{font-weight:500;font-size:clamp(1.5rem,3.6vw,2.4rem);letter-spacing:.2em;text-transform:uppercase;line-height:1.35;margin-bottom:2rem}
.lede{font-size:clamp(1.15rem,1.8vw,1.35rem);line-height:1.65;color:var(--muted);max-width:34rem}
.num{font-family:var(--sans);font-size:.625rem;letter-spacing:.24em;color:var(--copper)}

/* vertex */
.vertex polygon,.vertex circle{fill:var(--copper)}
.vertex line{stroke:var(--copper);stroke-width:.62;fill:none}

/* top bar */
.bar{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;justify-content:space-between;align-items:baseline;padding:1.75rem var(--pad);font-family:var(--sans);font-size:.625rem;letter-spacing:.3em;text-transform:uppercase;color:var(--faint)}
.bar a{transition:color .4s ease}
.bar a:hover,.bar a:focus-visible{color:var(--off)}
.bar-nav{display:flex;gap:1.75rem}
.bar-nav a:not(:last-child){display:none}

/* hero */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:6rem var(--pad)}
.hero-inner{display:flex;flex-direction:column;align-items:center;text-align:center}
.hero-vertex{width:clamp(4.5rem,11vw,7.5rem);height:auto;margin-bottom:clamp(2.5rem,6vw,4rem)}
.hero-title{font-weight:400;line-height:0}
.wordmark{width:clamp(16rem,40vw,26rem);height:auto;color:var(--off)}
.wordmark path{fill:currentColor}
.hero-tag{font-size:clamp(1.15rem,2vw,1.45rem);color:var(--muted);margin-top:clamp(2rem,4vw,2.75rem)}
.hero-foot{position:absolute;left:var(--pad);right:var(--pad);bottom:1.9rem;display:flex;justify-content:center;gap:.9rem;font-family:var(--sans);font-size:.625rem;letter-spacing:.3em;text-transform:uppercase;color:var(--faint)}
.hero-line{position:absolute;left:50%;bottom:4.25rem;width:1px;height:3.5rem;background:linear-gradient(var(--black),var(--faint))}

/* sections */
.sec{padding:clamp(6rem,14vw,12rem) var(--pad)}
.sec + .sec{border-top:1px solid var(--rule)}

/* manifesto — set like a poem */
.poem{max-width:40rem;margin-left:auto;margin-right:auto}
.poem p{font-size:clamp(1.2rem,2vw,1.45rem);line-height:1.7;color:var(--text);margin-bottom:1.4rem}
.poem .poem-lead{font-size:clamp(2rem,5vw,3.4rem);line-height:1.18;color:var(--off);margin-bottom:3rem}
.poem .poem-last{font-style:italic;color:var(--copper);margin-top:3rem}

/* the wall — off-white gallery moment */
.wall{background:var(--off);color:var(--black);padding:clamp(6rem,14vw,12rem) var(--pad)}
.work-frame{display:grid;gap:2.5rem;max-width:64rem;margin:0 auto;align-items:end}
.frame{background:var(--black);aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;width:100%;max-width:30rem;box-shadow:0 1px 0 rgba(0,0,0,.04)}
.frame .vertex{width:70%;height:auto}
.museum-label{max-width:22rem}
.l-title{font-style:italic;font-weight:400;font-size:1.35rem;line-height:1.3;margin-bottom:.35rem}
.l-meta{font-family:var(--sans);font-size:.7rem;line-height:1.75;color:#5c5852;letter-spacing:.02em;margin-bottom:1.25rem}
.l-text{font-size:1.05rem;line-height:1.6;color:#2A2A2A;margin-bottom:.9rem}

/* practice */
.practice .h2,.practice .lede{max-width:40rem}
.fields{list-style:none;display:grid;gap:3.5rem;margin-top:clamp(4rem,9vw,7rem)}
.field{border-top:1px solid var(--graphite);padding-top:1.75rem}
.field .num{display:block;margin-bottom:1.25rem}
.field-t{font-weight:500;font-size:1.3rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:.9rem}
.field-d{color:var(--muted);font-size:1.1rem;line-height:1.65;max-width:20rem}
.fronts{margin-top:clamp(4.5rem,10vw,8rem);max-width:40rem}
.fronts .k{color:var(--dim)}
.fronts dl div{display:grid;grid-template-columns:1fr;gap:.15rem;padding:.9rem 0;border-top:1px solid var(--rule)}
.fronts dt{font-size:1.05rem;letter-spacing:.14em;text-transform:uppercase}
.fronts dd{font-family:var(--sans);font-size:.75rem;color:var(--dim);letter-spacing:.02em}

/* selected work */
.piece{display:grid;gap:2rem;margin-bottom:clamp(6rem,14vw,11rem)}
.piece:last-child{margin-bottom:0}
.plate{position:relative;aspect-ratio:4/5;background:#101010;outline:1px solid var(--rule);width:100%;max-width:34rem;overflow:hidden}
.plate img{width:100%;height:100%;object-fit:cover;display:block}
.plate-art{position:absolute;inset:0;width:100%;height:100%}
.plate-art .arc{fill:none;stroke:#3a3936;stroke-width:.8}
.plate-art .faint{stroke:#262524}
.plate-art .hl{stroke:var(--bronze);stroke-width:1}
.plate-cap{position:absolute;left:1.25rem;bottom:1.1rem;font-family:var(--sans);font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--faint)}
.piece-text{max-width:22rem;align-self:end}
.piece-text .num{margin-bottom:1rem}
.piece-t{font-style:italic;font-weight:400;font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.15;margin-bottom:.9rem}
.piece-meta{font-family:var(--sans);font-size:.78rem;line-height:1.8;color:var(--dim);letter-spacing:.02em}
.piece-note{font-size:1.15rem;line-height:1.6;color:var(--muted);margin-top:1.25rem}

/* research */
.research{background:var(--graphite)}
.research .k{color:var(--off);opacity:.55}
.texts{display:grid;gap:5rem;max-width:72rem;margin:0 auto}
.text-t{font-weight:500;font-size:clamp(1.4rem,2.6vw,1.85rem);letter-spacing:.06em;line-height:1.3;margin-bottom:2rem;max-width:26rem}
.text p:not(.k){font-size:1.15rem;line-height:1.7;color:var(--text);margin-bottom:1.1rem;max-width:30rem}
.text .text-sign{font-style:italic;color:var(--muted);margin-top:1.75rem}

/* about */
.about-grid{display:grid;gap:3.5rem;max-width:72rem}
.about-lead{font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.38;max-width:36rem}
.founder{align-self:end;border-top:1px solid var(--graphite);padding-top:1.5rem;max-width:20rem}
.founder-name{font-style:italic;font-size:1.3rem;margin-bottom:.4rem}
.founder-role{font-family:var(--sans);font-size:.72rem;line-height:1.85;letter-spacing:.02em;color:var(--dim)}

/* contact */
.contact{text-align:center}
.contact .eyebrow{margin-bottom:2.5rem}
.mail{font-size:clamp(1.35rem,4.6vw,2.6rem);font-style:italic;letter-spacing:.01em;word-break:break-word}
.mail a{background-image:linear-gradient(var(--faint),var(--faint));background-size:100% 1px;background-repeat:no-repeat;background-position:0 100%;padding-bottom:.2em;transition:background-size .6s ease,color .4s ease}
.mail a:hover,.mail a:focus-visible{color:var(--off);background-size:0 1px}

/* footer */
.foot{border-top:1px solid var(--rule);padding:4.5rem var(--pad) 2.5rem;display:flex;flex-direction:column;align-items:center;gap:1.25rem;text-align:center}
.foot-vertex{width:2.25rem;height:auto}
.foot-vertex line{stroke-width:1.2}
.foot-tag{color:var(--dim);font-size:1.05rem}
.foot-meta{display:flex;gap:2rem;margin-top:2.5rem;font-family:var(--sans);font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--faint)}
.foot-meta a:hover,.foot-meta a:focus-visible{color:var(--off)}

/* ≥ 48rem */
@media (min-width:48rem){
  .bar-nav a:not(:last-child){display:inline}
  .work-frame{grid-template-columns:minmax(0,30rem) minmax(0,22rem);gap:clamp(3rem,7vw,6rem);justify-content:center}
  .fields{grid-template-columns:repeat(3,1fr);gap:clamp(2rem,4vw,4rem)}
  .fronts dl div{grid-template-columns:14rem 1fr;align-items:baseline}
  .piece{grid-template-columns:minmax(0,34rem) minmax(0,22rem);gap:clamp(3rem,7vw,7rem);align-items:end}
  .piece--alt{grid-template-columns:minmax(0,22rem) minmax(0,30rem);justify-content:end}
  .piece--alt .plate{order:2}
  .piece--alt .piece-text{order:1;text-align:right;justify-self:end}
  .texts{grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,8rem)}
  .about-grid{grid-template-columns:1.6fr 1fr;gap:clamp(3rem,8vw,8rem)}
}
@media (min-width:80rem){
  .practice,.work,.about{padding-left:calc(var(--pad) + 4vw);padding-right:calc(var(--pad) + 4vw)}
}

/* motion — restrained, CSS only, never required to read the page */
@media (prefers-reduced-motion:no-preference){
  .hero-vertex,.hero-title,.hero-tag{animation:rise 1.8s cubic-bezier(.2,.6,.2,1) both}
  .hero-title{animation-delay:.35s}
  .hero-tag{animation-delay:.8s}
  .hero-foot,.bar{animation:fade 2.4s ease 1.2s both}
  .hero-line{animation:breathe 4.5s ease-in-out 2s infinite both}
  @supports (animation-timeline:view()){
    .reveal{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 55%}
  }
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes breathe{0%,100%{opacity:.25}50%{opacity:1}}

@media print{.bar,.hero-line{display:none}.wall{background:#fff}}

/* BR • US */
.place{font-family:var(--sans);font-size:.6rem;font-weight:400;letter-spacing:.42em;padding-left:.42em;text-transform:uppercase;color:var(--faint)}
.hero-place{margin-top:1.6rem}
@media (prefers-reduced-motion:no-preference){.hero-place{animation:fade 2.4s ease 1.2s both}}
.foot-meta{flex-wrap:wrap;justify-content:center;gap:.9rem 1.6rem}
.foot-meta>*{white-space:nowrap}
@media (min-width:48rem){.foot-meta{gap:2rem}}

/* practice v2 — four fields */
.answer{font-weight:400;font-size:clamp(1.9rem,4.4vw,3.2rem);line-height:1.18;max-width:46rem;margin-bottom:2rem}
.field-s{font-family:var(--sans);font-size:.68rem;line-height:1.8;letter-spacing:.04em;color:var(--dim);margin-top:1rem;max-width:20rem}
.independence{font-style:italic;font-size:clamp(1.1rem,1.7vw,1.3rem);color:var(--muted);margin-top:clamp(3.5rem,8vw,6rem);padding-top:1.5rem;border-top:1px solid var(--rule);max-width:40rem}
.independence + .fronts{margin-top:clamp(3.5rem,8vw,6rem)}
@media (min-width:48rem){.fields--four{grid-template-columns:repeat(2,1fr)}}
@media (min-width:72rem){.fields--four{grid-template-columns:repeat(4,1fr)}}

/* language switch (EN / PT) */
.bar-right{display:flex;align-items:baseline;gap:1.75rem}
.lang{display:flex;align-items:baseline;gap:.55em;white-space:nowrap}
.lang a{color:var(--faint)}
.lang a[aria-current="page"]{color:var(--off)}
.lang span{color:var(--faint);opacity:.55}
@media (min-width:48rem){.bar-right{gap:2.75rem}}
.nf-pt{margin-top:.6rem!important;font-size:1.05rem!important;color:var(--dim)!important}
