:root {
  --ink:#252a28;
  --paper:#ffffff;
  --accent:#145641;
  --accent-hover:#0e4031;
  --muted:#5d6662;
  --line:#dce2df;
  color-scheme:light;
}
body { background:var(--paper); color:var(--ink); }
.header,.header.scrolled,.header.dropdown-open { background:rgba(255,255,255,.97); color:var(--ink); border-bottom:1px solid var(--line); }
.header-quote { background:var(--accent); color:white; border-color:var(--accent); }
.header-quote:hover,.button:hover,.detail-copy .button:hover { background:var(--accent-hover); color:white; }
.desktop-nav a:after { background:var(--accent); }
.hero,.materials-stage,.process-stage,.contact { color:white; }
.button,.detail-copy .button { background:var(--accent); }
.manifesto,.precision,.footer { background:var(--paper); color:var(--ink); }
.manifesto .eyebrow,.manifesto-foot,.precision-heading .eyebrow,.precision-item>span:first-child,.craft-description { color:var(--muted); }
.manifesto h2 em { color:var(--accent); }
.veins,.regions { background:#f4f6f5; }
.veins-track i { background:var(--accent); }
.slab-label { background:#ffffffed; }
.precision-item.active strong,.precision-item.active b { color:var(--accent); }
.footer { background:#f4f6f5; border-top:1px solid var(--line); }
.footer-top>div:first-child p,.footer-top h2,.footer-top small,.footer-bottom { color:var(--muted); }
.footer-top>div>button:hover,.footer-top>div>a:hover,.footer-bottom a { color:var(--accent); }
.mobile-menu { background:white; color:var(--ink); }
.mobile-submenu>a,.mobile-submenu>button { color:var(--muted); }
.mobile-category[aria-expanded=true],.nav-trigger[aria-expanded=true] { color:var(--accent); }
.nav-panel { background:white; color:var(--ink); border-color:var(--line); }
.nav-items>a:hover,.nav-items>button:hover,.nav-catalog-link { color:var(--accent); }
.catalog,.catalog-page main,#material-dialog,.stone-photo>span,#material-dialog .dialog-close,.detail-photo>span { background:white; color:var(--ink); }
.catalog-filters button[aria-pressed=true] { border-color:var(--accent); color:var(--accent); }
.project-filters button[aria-pressed=true] { color:var(--accent); border-bottom-color:var(--accent); }
.catalog-search input { margin-top:0; }
.comparison:focus-within { outline-color:var(--accent); }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline-color:var(--accent); }
.hero :focus-visible,.materials-stage :focus-visible,.process-stage :focus-visible,.contact :focus-visible { outline-color:#ffffff; }
.footer-bottom button[aria-pressed=true]:before { background:var(--accent); box-shadow:inset 0 0 0 2px #f4f6f5; }
.hero-topline { top:calc(var(--header) + 33px); }
.veins { height:auto; }
.veins .sticky { position:relative; }
.slab { transform:none!important; }
.veins-track i { transform:scaleX(1); }
.scene-finished { height:auto!important; overflow-anchor:none; }
.scene-finished .sticky { position:relative; }
.scene-finished .word { opacity:1!important; transition:none; }
.scene-finished .material-image,.scene-finished .process-visual,
.scrolling-up .material-image { transition:none; }
.scrolling-up [data-reveal] { transition:none; transform:none; }
html { overflow-anchor:none; }
.process-backdrop { display:none; }
@media(min-width:761px) {
  .process-stage {
    --process-photo-size:min(62vw,calc(max(660px,100svh) - var(--header)));
    background:var(--ink);
    color:white;
  }
  .process-backdrop {
    display:block;
    position:absolute;
    inset:0;
    background-image:url('img/processo.webp');
    background-repeat:no-repeat;
    filter:blur(20px) brightness(.55);
    transform:scale(1.06);
    opacity:0;
    transition:opacity .65s;
  }
  .process-backdrop.active { opacity:1; }
  .process-visual {
    inset:auto;
    top:calc(var(--header) + (max(660px,100svh) - var(--header) - var(--process-photo-size)) / 2);
    right:0;
    width:var(--process-photo-size);
    height:var(--process-photo-size);
    background-repeat:no-repeat;
  }
  .process-stage:after { display:none; }
  .process-shade {
    display:block;
    background:linear-gradient(90deg,rgba(15,24,20,.65),rgba(15,24,20,.3) 30%,transparent 47%);
    pointer-events:none;
  }
  .process-stage .section-top { text-shadow:0 1px 8px #0009; }
  .process-stage .section-top>span { background:#252a28a6; padding:4px 8px; }
  .process-copy {
    top:50%;
    bottom:auto;
    width:calc(100% - var(--process-photo-size) - var(--gutter) * 2);
    max-width:590px;
    transform:translateY(-50%);
  }
  .process-copy h3 { font-size:56px; overflow-wrap:break-word; }
  .process-copy p { color:#f0f4f2; }
  .process-count { color:#ffffff; }
  .process-steps {
    right:auto;
    width:calc(100% - var(--process-photo-size) - var(--gutter) * 2);
    max-width:590px;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px 16px;
  }
  .process-steps button { opacity:1; color:#dce6e1; border-color:#ffffff66; }
  .process-steps button[aria-current=step] { border-color:white; color:white; }
  .process-steps i { background:white; }
  .process-stage .media-note { color:white; background:#252a2899; padding:3px 6px; right:10px; }
}
.scene-finished .process-backdrop { transition:none; }
@media(min-width:761px) and (max-width:1100px) {
  .process-copy h3 { font-size:40px; }
}
