/* ==========================================================================
   Coisas de Redes — componentes visuais
   components.css — hero + reveal band, section header, work/practice
   axis lists, about measure, contact, overlays (menu/contact), fields
   ========================================================================== */

/* ---- Hero + blue reveal band ---- */
.site-reveal{--reveal-axis-width:7rem;--reveal-width:1px;--reveal-position:72%;position:relative;display:grid;min-height:100vh;min-height:100svh;overflow-x:clip;background:var(--color-background);color:var(--color-foreground);isolation:isolate}
@supports(height:100dvh){.site-reveal{min-height:100dvh}}
.site-reveal__layer{grid-area:1/1;min-width:0}
.site-reveal__layer--base{z-index:var(--layer-base)}
.site-reveal__layer--reveal{display:none;z-index:var(--layer-reveal);overflow:hidden;background:var(--color-accent);color:var(--color-inverted-foreground);clip-path:inset(0 calc(100% - var(--reveal-position) - var(--reveal-width)/2) 0 calc(var(--reveal-position) - var(--reveal-width)/2));pointer-events:none;transition:clip-path var(--transition-duration) var(--ease-out)}
.site-reveal[data-reveal-active=true]{--reveal-width:var(--reveal-axis-width)}
@media(min-width:48rem) and (prefers-reduced-motion:no-preference){
  .site-reveal[data-reveal-enabled=true] .site-reveal__layer--reveal{display:block}
}

.hero{--hero-body-color:var(--color-body);--hero-headline-size:clamp(2.5rem,calc(.75rem + 9.1vw),5.25rem);--hero-headline-line-height:.94;--hero-label-size:.875rem;--hero-description-size:clamp(1rem,calc(.925rem + .32vw),1.125rem);--hero-section-padding-top:clamp(2rem,min(4.25dvh,7vw),3.25rem);--hero-section-padding-bottom:clamp(2rem,min(4dvh,6vw),2.5rem);--hero-label-gap:clamp(1rem,min(3.2dvh,6vw),2.5rem);--hero-description-gap:clamp(1.25rem,min(2.7dvh,5vw),2rem);--hero-meta-size:.75rem;--hero-mono-tracking:.06em;--hero-heading-tracking:-.04em;--hero-body-tracking:-.005em;--hero-body-line-height:1.56;position:relative;display:grid;min-height:calc(100vh - var(--site-header-height));min-height:calc(100svh - var(--site-header-height));overflow-x:clip}
@supports(height:100dvh){.hero{min-height:calc(100dvh - var(--site-header-height))}}
.hero__section{z-index:3;display:grid;min-height:inherit;grid-template-rows:minmax(0,.32fr) auto minmax(0,1fr) auto;padding-block:var(--hero-section-padding-top) var(--hero-section-padding-bottom)}
.hero__intro{grid-row:2;min-width:0}
.hero__section-label,.hero__headline,.hero__description,.hero__meta{margin:0}
.hero__section-label{color:var(--hero-body-color);font-family:var(--font-mono);font-size:var(--hero-label-size);letter-spacing:var(--hero-mono-tracking);line-height:1.2}
.hero__accent{color:var(--color-accent)}
.hero__slash{margin:0 .5rem;color:var(--color-faint)}
.hero__headline{max-width:100%;margin-top:var(--hero-label-gap);color:inherit;font-size:var(--hero-headline-size);font-weight:700;letter-spacing:var(--hero-heading-tracking);line-height:var(--hero-headline-line-height);white-space:normal}
.hero__headline-line{display:block}
.hero__nowrap{white-space:nowrap}
.hero__description{max-width:20rem;margin-top:var(--hero-description-gap);color:var(--color-muted);font-size:var(--hero-description-size);font-weight:400;letter-spacing:var(--hero-body-tracking);line-height:var(--hero-body-line-height)}
.hero__bottom{grid-row:4;display:flex;gap:1rem;align-items:flex-end;justify-content:space-between}
.hero__meta{display:grid;grid-template-columns:.5rem auto;gap:.25rem .75rem;align-items:center;color:var(--hero-body-color);font-family:var(--font-mono);font-size:var(--hero-meta-size);letter-spacing:var(--hero-mono-tracking);line-height:1.2;text-transform:uppercase}
.hero__location{display:contents;line-height:1}
.hero__meta-marker{display:block;width:.5rem;height:.5rem;background:var(--color-accent)}
.hero__time{grid-column:2;color:var(--color-muted)}
/* inverted (blue band) copies of the hero content */
.site-reveal__layer--reveal .hero__section-label{color:var(--color-inverted-body)}
.site-reveal__layer--reveal .hero__section-label .hero__accent{color:var(--color-inverted-foreground)}
.site-reveal__layer--reveal .hero__slash{color:var(--color-inverted-faint)}
.site-reveal__layer--reveal .hero__description,
.site-reveal__layer--reveal .hero__meta,
.site-reveal__layer--reveal .hero__time{color:var(--color-inverted-body)}
.site-reveal__layer--reveal .hero__meta-marker{background:var(--color-inverted-foreground)}
.site-reveal__layer--reveal .site-header:after{border-top-color:var(--color-inverted-line)}
.site-reveal__layer--reveal .site-header__menu-marker{color:currentColor}
.site-reveal__layer--reveal .site-button{--site-button-color:var(--color-inverted-foreground);--site-button-accent-color:var(--color-inverted-faint)}

/* ---- Section header (shared) ---- */
.section-header{--section-header-title-size:1.75rem;--section-header-title-gap:1.375rem;--section-header-description-size:.875rem;--section-header-description-max-width:20rem;--section-header-label-color:var(--color-foreground);--section-header-number-color:var(--color-accent);--section-header-slash-color:var(--color-faint);--section-header-meta-color:var(--color-muted);--section-header-meta-value-color:var(--color-body);--section-header-title-color:var(--color-foreground);--section-header-description-color:var(--color-body);position:relative;z-index:1;display:grid;gap:var(--section-header-title-gap);color:var(--color-foreground)}
.section-header__label-row{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between}
.section-header__label,.section-header__meta,.section-header__title,.section-header__description{margin:0}
.section-header__label,.section-header__meta{font-family:var(--font-mono);letter-spacing:.06em;line-height:1.2}
.section-header__label{color:var(--section-header-label-color);font-size:.75rem}
.section-header__number{color:var(--section-header-number-color)}
.section-header__slash{margin:0 .5rem;color:var(--section-header-slash-color)}
.section-header__meta{flex:none;color:var(--section-header-meta-color);font-size:.6875rem;text-align:right;text-transform:uppercase}
.section-header__meta-value{display:inline-block;min-width:0;margin-left:.5rem;color:var(--section-header-meta-value-color);font-size:.75rem}
.section-header__body{display:grid;gap:.8125rem}
.section-header__title{color:var(--section-header-title-color);font-size:var(--section-header-title-size);font-weight:700;letter-spacing:0;line-height:1.1}
.section-header__title-line{display:block}
.section-header__description{max-width:min(100%,var(--section-header-description-max-width));color:var(--section-header-description-color);font-size:var(--section-header-description-size);line-height:1.5}
@media(min-width:48rem) and (min-height:42rem),(min-width:48rem) and (hover:hover) and (pointer:fine){
  .section-header{--section-header-title-size:clamp(1.75rem,calc(-1.211rem + 5.263vw),3rem);--section-header-description-size:clamp(.875rem,calc(.579rem + .526vw),1rem);--section-header-description-max-width:clamp(20rem,calc(9.866rem + 17.895vw),25rem)}
}
@media(max-width:29.999rem){
  .section-header__title-line{display:inline}
  .section-header__title-line:not(:last-child):after{content:" "}
}

/* ---- Axis sections (Work + Practice) ---- */
.axis-section{--axis-axis-absolute:1.75rem;--axis-x:var(--axis-axis-absolute);--axis-list-margin-top:clamp(1.25rem,2.8dvh,1.5rem);--axis-chip-width:2.25rem;--axis-row-padding-block:clamp(.875rem,2dvh,1rem);--axis-active-row-padding-start:clamp(1.25rem,2.9dvh,1.375rem);--axis-active-row-padding-end:clamp(1.375rem,3.1dvh,1.5rem);--axis-inactive-row-min-size:clamp(3.35rem,7.5dvh,4.75rem);--axis-active-flex:0 0 auto;--axis-name-size:1.25rem;--axis-description-size:.9375rem;--axis-name-weight:600;--axis-name-active-weight:700;position:relative;min-height:100vh;min-height:100svh;overflow:clip;background:var(--color-background);color:var(--color-foreground)}
.axis-section--accent{background:var(--color-accent);color:var(--color-inverted-foreground)}
.axis-section--accent .section-header{--section-header-label-color:var(--color-inverted-body);--section-header-number-color:var(--color-inverted-foreground);--section-header-slash-color:var(--color-inverted-faint);--section-header-meta-color:var(--color-inverted-muted);--section-header-meta-value-color:var(--color-inverted-foreground);--section-header-title-color:var(--color-inverted-foreground);--section-header-description-color:var(--color-inverted-body);color:var(--color-inverted-foreground)}
.axis-section__inner{position:relative;z-index:1;display:flex;min-height:inherit;flex-direction:column}
.axis-section__list{position:relative;display:flex;flex:1;flex-direction:column;min-height:0;padding:0;margin:var(--axis-list-margin-top) 0 0;border-bottom:1px solid var(--color-hairline);list-style:none}
.axis-section__list:before{position:absolute;top:0;bottom:0;left:var(--axis-x);width:0;border-left:1px solid var(--color-hairline);content:""}
.axis-section__item{position:relative;z-index:1;display:grid;flex:1 1 var(--axis-inactive-row-min-size);min-height:var(--axis-inactive-row-min-size);min-width:0;grid-template-columns:3.5rem minmax(0,1fr);grid-template-rows:auto auto;align-items:center;align-content:center;padding:var(--axis-row-padding-block) .25rem var(--axis-row-padding-block) 0;border-top:1px solid var(--color-hairline);color:var(--color-soft);transition:color .2s var(--ease-out)}
.axis-section__item:before,.axis-section__item:after{position:absolute;right:0;left:0;z-index:2;display:block;height:0;border-top:1px solid var(--color-accent-active-line);content:"";opacity:0;pointer-events:none;transform:scaleX(0);transform-origin:var(--axis-x) 50%;transition:transform .22s cubic-bezier(.4,0,.2,1),opacity 80ms ease-out .18s}
.axis-section__item:before{top:-1px}
.axis-section__item:after{bottom:-1px}
.axis-section__item--active{flex:var(--axis-active-flex);align-items:start;align-content:start;padding-block:var(--axis-active-row-padding-start) var(--axis-active-row-padding-end);color:var(--color-foreground)}
.axis-section__item-link{position:absolute;inset:0;z-index:4;color:inherit;text-decoration:none}
.axis-section__item-link:hover,.axis-section__item-link:focus,.axis-section__item-link:active,.axis-section__item-link:visited{color:inherit;text-decoration:none}
.axis-section__item--link.axis-section__item--active:hover:before,
.axis-section__item--link.axis-section__item--active:focus-within:before,
.axis-section__item--link.axis-section__item--active:hover:after,
.axis-section__item--link.axis-section__item--active:focus-within:after,
.axis-section__item--link.axis-section__item--preview-active:before,
.axis-section__item--link.axis-section__item--preview-active:after{opacity:1;transform:scaleX(1);transition:transform .36s cubic-bezier(.22,.61,.36,1),opacity 80ms ease-out}
.axis-section__active-line{position:absolute;top:0;bottom:0;left:var(--axis-x);display:none;width:0;border-left:1px solid var(--color-accent-active-line)}
.axis-section__item--active>.axis-section__active-line{display:block}
.axis-section__chip{display:inline-flex;width:max-content;min-width:var(--axis-chip-width);height:1.5rem;align-items:center;justify-content:center;justify-self:center;padding:0 .5rem;border:1px solid var(--color-accent-line);background:var(--color-background);color:var(--color-accent-muted);font-family:var(--font-mono);font-size:.75rem;font-weight:400;line-height:1;transition:background-color .2s var(--ease-out),color .2s var(--ease-out),border-color .2s var(--ease-out)}
.axis-section__item--active .axis-section__chip{align-self:start;margin-top:.25rem;border-color:var(--color-accent);background:var(--color-accent);color:var(--color-inverted-foreground);font-weight:500}
.axis-section__name,.axis-section__details{min-width:0}
.axis-section__name{grid-column:2;grid-row:1}
.axis-section__item--active .axis-section__name{display:flex;gap:.75rem;align-items:center;justify-content:space-between}
.axis-section__details{display:flex;grid-column:2;grid-row:2;flex-direction:column;gap:.5rem;margin-top:.375rem}
.axis-section__item--active .axis-section__details{margin-top:.625rem}
.axis-section__item:not(.axis-section__item--active) .axis-section__details{display:none}
.axis-section__name-text{display:block;overflow-wrap:break-word;color:currentColor;font-size:var(--axis-name-size);font-weight:var(--axis-name-weight);letter-spacing:0;line-height:1.05}
.axis-section__item--active .axis-section__name-text{min-width:0;font-weight:var(--axis-name-active-weight)}
.axis-section__category{color:currentColor;font-family:var(--font-mono);font-size:.625rem;letter-spacing:.05em;line-height:1.2;text-transform:uppercase}
.axis-section__description{max-width:25rem;color:var(--color-muted);font-size:var(--axis-description-size);line-height:1.5}
.axis-section__arrow{display:none;flex:none;width:1.25rem;height:1.25rem;align-items:center;justify-content:center;color:currentColor}
.axis-section__item--active .axis-section__arrow{display:inline-flex}
.axis-section__arrow svg{display:block;width:100%;height:100%;transform:translate(-.125rem,.125rem);transition:transform .26s cubic-bezier(.22,.61,.36,1)}
.axis-section__arrow path{stroke-dasharray:var(--axis-arrow-path-length);stroke-dashoffset:var(--axis-arrow-path-length);transition:stroke-dashoffset .18s ease-out}
.axis-section__arrow-line{--axis-arrow-path-length:11.4}
.axis-section__arrow-head{--axis-arrow-path-length:6.6}
.axis-section__item--active:hover .axis-section__arrow svg{transform:translate(0)}
.axis-section__item--active .axis-section__arrow svg{transform:translate(0)}
.axis-section__item--active .axis-section__arrow-line{stroke-dashoffset:0;transition:stroke-dashoffset .24s cubic-bezier(.4,0,.2,1) 20ms}
.axis-section__item--active .axis-section__arrow-head{stroke-dashoffset:0;transition:stroke-dashoffset .15s cubic-bezier(.35,0,.2,1) .18s}
/* Work item meta (bracket lines) */
.work .axis-section__item-meta{display:none;grid-column:2;grid-row:3;gap:.375rem;max-width:min(100%,24rem);margin-top:.75rem;font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.12em;line-height:1.2;text-transform:uppercase}
.work .axis-section__item--active .axis-section__item-meta{display:grid}
.work .axis-section__item-meta-line{display:flex;gap:.4em;align-items:baseline;min-width:0;white-space:nowrap}
.work .axis-section__item-meta-line+.axis-section__item-meta-line{padding-left:1.08em}
.work .axis-section__item-meta-bracket{color:var(--color-inverted-faint);font-weight:400}
.work .axis-section__item-meta-text{color:var(--color-inverted-muted);font-weight:500}
/* Accent (work) overrides */
.axis-section--accent .axis-section__list:before{border-left-color:var(--color-inverted-line)}
.axis-section--accent .axis-section__list,.axis-section--accent .axis-section__item{border-color:var(--color-inverted-hairline)}
.axis-section--accent .axis-section__item:before,.axis-section--accent .axis-section__item:after{border-top-color:var(--color-inverted-active-line)}
.axis-section--accent .axis-section__item{color:var(--color-inverted-faint)}
.axis-section--accent .axis-section__item--active{color:var(--color-inverted-foreground)}
.axis-section--accent .axis-section__active-line{border-left-color:var(--color-inverted-active-line)}
.axis-section--accent .axis-section__chip{border-color:var(--color-inverted-line);background:var(--color-accent);color:var(--color-inverted-body)}
.axis-section--accent .axis-section__item--active .axis-section__chip{border-color:var(--color-inverted-foreground);background:var(--color-inverted-foreground);color:var(--color-accent)}
.axis-section--accent .axis-section__description{color:var(--color-inverted-soft)}
/* Practice overrides */
.practice .axis-section__item--active{align-items:center;align-content:center;padding-block:var(--axis-row-padding-block)}
.practice .axis-section__item--active .axis-section__chip{align-self:auto;margin-top:0}
.practice .axis-section__item--active .axis-section__details{margin-top:.375rem}
/* System slot (practice) */
.axis-section__system-slot{min-height:var(--axis-inactive-row-min-size);align-items:start;align-content:start}
.axis-section__system-node{--line-node-color:var(--color-faint);--line-node-dot-color:var(--color-faint);top:calc(var(--axis-row-padding-block) + .625rem);left:var(--axis-x);z-index:2}
.line-node{--line-node-bracket-gap:.9375rem;--line-node-bracket-size:.875rem;position:absolute;display:block;width:0;height:0;color:var(--line-node-color);pointer-events:none;transform:translate(-50%,-50%)}
.line-node__dot{position:absolute;top:0;left:0;z-index:2;display:block;width:.5625rem;height:.5625rem;background:var(--line-node-dot-color);transform:translate(-50%,-50%)}
.line-node__bracket{position:absolute;top:0;display:block;color:var(--line-node-color);font-family:var(--font-mono);font-size:var(--line-node-bracket-size);line-height:1;transform:translateY(-50%)}
.line-node__bracket--left{right:var(--line-node-bracket-gap)}
.line-node__bracket--right{left:var(--line-node-bracket-gap)}
.axis-section__system-panel{min-width:0}
.axis-section__system-panel--surface{grid-column:2;grid-row:1}
.axis-section__system-panel--system{grid-column:2;grid-row:2;margin-top:1.125rem}
.axis-section__system-label{display:block;color:var(--color-muted);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.14em;line-height:1.2;text-transform:uppercase}
.axis-section__system-description{display:block;max-width:25rem;margin-top:.5rem;color:var(--color-muted);font-size:var(--axis-description-size);line-height:1.5}

/* ---- About ---- */
.about{--about-axis-x:1.75rem;--about-measure-height:22.5rem;--about-span-color:var(--color-accent-active-line);position:relative;overflow:clip;background:var(--color-background);color:var(--color-foreground)}
.about__inner{position:relative;z-index:2}
.about__measure{position:relative;z-index:2;height:var(--about-measure-height);margin-top:var(--section-padding-block)}
.about__measure:before{position:absolute;top:0;bottom:0;left:var(--about-axis-x);display:block;width:0;border-left:1px solid var(--about-span-color);content:"";transform:scaleY(var(--about-line-scale,1));transform-origin:top center;transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.about__endpoint,.about__node{position:absolute;left:var(--about-axis-x);z-index:3}
.about__endpoint--idea{top:0}
.about__node{top:50%}
.about__endpoint--form{top:100%}
.about__endpoint-tick{position:absolute;top:0;left:0;display:block;width:.5625rem;height:0;border-top:1px solid var(--about-span-color);transform:translate(-50%,-50%)}
.about__endpoint-label{position:absolute;top:0;left:1.5rem;display:block;color:var(--color-muted);font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.18em;line-height:1.2;transform:translateY(-50%);white-space:nowrap}
.about__node-marker{top:0;left:0;--line-node-color:var(--color-faint);--line-node-dot-color:var(--color-accent)}
.about__content{position:absolute;top:0;left:2rem;display:block;width:min(18rem,calc(100vw - 5rem));transform:translateY(-50%)}
.about__brand,.about__statement{margin:0}
.about__brand{color:var(--color-foreground);font-size:1.5rem;font-weight:600;letter-spacing:0;line-height:1.05}
.about__statement{margin-top:.5rem;color:var(--color-body);font-size:.875rem;letter-spacing:0;line-height:1.55}

/* ---- Contact ---- */
.contact{--contact-plate-width:min(100%,32rem);--contact-plate-padding-inline:clamp(1.5rem,6vw,2.25rem);--contact-plate-padding-block:clamp(1.625rem,5vw,2.25rem);position:relative;display:grid;min-height:100vh;min-height:100svh;grid-template-rows:auto minmax(0,1fr) auto;overflow:clip;background:var(--color-background);color:var(--color-foreground)}
.contact__main{position:relative;z-index:2;display:grid;min-height:0;grid-template-rows:auto minmax(0,1fr);row-gap:var(--section-padding-block);padding-block:var(--section-padding-block)}
.contact__section-header{min-width:0}
.contact__plate-wrap{position:relative;display:flex;min-height:clamp(16rem,34dvh,22rem);align-items:center;justify-content:center}
.contact__plate{width:var(--contact-plate-width);padding:var(--contact-plate-padding-block) var(--contact-plate-padding-inline);background:var(--color-accent);color:var(--color-inverted-foreground);text-align:center}
.contact__plate .site-button{max-width:100%;text-align:center}
.contact__direct{display:flex;flex-wrap:wrap;gap:.35rem;align-items:baseline;justify-content:center;margin:clamp(1.5rem,4vw,2rem) 0 0;padding-top:clamp(1.25rem,3.4vw,1.75rem);border-top:1px solid var(--color-inverted-hairline);color:var(--color-inverted-muted);font-family:var(--font-mono);font-size:clamp(.75rem,calc(.65rem + .35vw),.9375rem);letter-spacing:.06em;line-height:1.35}

/* ---- Overlay (menu + contact) ---- */
.site-overlay,.site-header-control{--overlay-panel-padding:2.5rem}
.site-overlay{--overlay-panel-width:25rem;--overlay-menu-size:2.5rem;--overlay-menu-row-max-height:7rem;--overlay-menu-row-min-height:4.75rem;--overlay-menu-footer-height:4.625rem;--overlay-menu-row-height:clamp(var(--overlay-menu-row-min-height),calc((100vh - var(--site-header-height) - var(--overlay-menu-footer-height))/5),var(--overlay-menu-row-max-height));--overlay-menu-number-size:.8125rem;--overlay-menu-number-top:.375rem;--overlay-menu-spacer-width:1.125rem;--overlay-menu-cue-gap:1.375rem;--overlay-menu-cue-size:.6875rem;--overlay-title-size:2.375rem;--overlay-axis-width:7rem;--overlay-axis-left:calc(100% - var(--site-gutter) - var(--overlay-axis-width)/2);--overlay-axis-right:calc(var(--site-gutter) - var(--overlay-axis-width)/2);--overlay-panel-left:calc(100% - var(--overlay-panel-width));position:fixed;inset:0;z-index:var(--layer-overlay);overflow:clip;color:var(--color-inverted-foreground);pointer-events:none;visibility:hidden;transition:visibility 0s linear .64s}
.site-overlay__backdrop{position:absolute;inset:0;border:0;background:#f2f1ebc7;opacity:0;appearance:none;cursor:pointer;transition:opacity var(--transition-duration) var(--ease-out),visibility var(--transition-duration) var(--ease-out)}
.site-overlay__backdrop:focus{outline:0}
.site-overlay__panel{position:absolute;top:0;right:0;bottom:0;display:grid;width:min(100vw,var(--overlay-panel-width));grid-template-rows:auto minmax(auto,1fr) auto;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--color-accent);color:var(--color-inverted-foreground);backface-visibility:hidden;transform:translate3d(100%,0,0);isolation:isolate;transition:transform .52s cubic-bezier(.16,1,.3,1),clip-path .52s cubic-bezier(.16,1,.3,1)}
.site-overlay__panel:focus{outline:0}
.site-overlay__panel>*{position:relative;z-index:1}
.site-overlay__panel[data-overlay-panel-active=false]{opacity:0;pointer-events:none;visibility:hidden}
.site-overlay__panel--contact{--overlay-panel-width:27.5rem}
/* axis mode: menu expands as a blue band from the right */
.site-overlay[data-overlay-mode=axis] .site-overlay__panel{right:0;left:0;width:100vw;background:transparent;transform:none;transition:none;will-change:auto;overflow:visible}
.site-overlay[data-overlay-mode=axis] .site-overlay__panel:before{position:fixed;inset:0;z-index:0;background:var(--color-accent);clip-path:inset(0 var(--overlay-axis-right) 0 var(--overlay-axis-left));content:"";transition:clip-path .52s cubic-bezier(.16,1,.3,1)}
.site-overlay[data-overlay-mode=axis] .site-overlay__panel>:not(.site-overlay__header){opacity:0;transform:translate(.75rem);transition:opacity .22s var(--ease-out),transform .22s var(--ease-out)}
.site-overlay[data-overlay-state=open]{pointer-events:auto;visibility:visible;transition-delay:0s}
.site-overlay[data-overlay-state=open] .site-overlay__backdrop{opacity:1}
.site-overlay[data-overlay-state=open] .site-overlay__panel{transform:translateZ(0)}
.site-overlay[data-overlay-state=open] .site-overlay__eyebrow,
.site-overlay[data-overlay-state=open] .site-overlay__menu,
.site-overlay[data-overlay-state=open] .site-overlay__contact,
.site-overlay[data-overlay-state=open] .site-overlay__footer{opacity:1;transition-delay:.14s}
.site-overlay[data-overlay-state=open]:not([data-overlay-mode=axis]) .site-overlay__eyebrow,
.site-overlay[data-overlay-state=open]:not([data-overlay-mode=axis]) .site-overlay__menu,
.site-overlay[data-overlay-state=open]:not([data-overlay-mode=axis]) .site-overlay__contact,
.site-overlay[data-overlay-state=open]:not([data-overlay-mode=axis]) .site-overlay__footer{transform:none;transition-delay:.26s}
.site-overlay[data-overlay-state=open][data-overlay-mode=axis] .site-overlay__panel:before{clip-path:inset(0 0 0 var(--overlay-panel-left))}
.site-overlay[data-overlay-state=open][data-overlay-mode=axis] .site-overlay__panel>:not(.site-overlay__header){opacity:1;transform:none;transition-delay:.3s}
.site-overlay[data-overlay-mode=axis] .site-overlay__header,
.site-overlay[data-overlay-mode=axis] .site-overlay__menu,
.site-overlay[data-overlay-mode=axis] .site-overlay__contact,
.site-overlay[data-overlay-mode=axis] .site-overlay__footer{padding-left:calc(var(--overlay-panel-left) + var(--overlay-panel-padding))}
.site-overlay[data-overlay-mode=axis] .site-overlay__header{padding-right:var(--site-gutter)}
html[data-site-overlay-open],html[data-site-overlay-mode],html[data-site-overlay-open] body,html[data-site-overlay-mode] body{overflow:hidden}
/* overlay header */
.site-overlay__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:var(--site-header-height);padding-block:var(--site-header-padding-block);padding-inline:var(--overlay-panel-padding)}
.site-overlay__eyebrow{display:flex;align-items:center;gap:.625rem;margin:0;color:var(--color-inverted-muted);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.14em;line-height:1;text-transform:uppercase}
.site-overlay__marker{display:block;width:.5rem;height:.5rem;background:var(--color-inverted-foreground)}
.site-overlay__divider{color:var(--color-inverted-faint)}
.site-overlay__close{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem;border:0;margin:-.75rem;background:transparent;color:var(--color-inverted-foreground);font:inherit;font-size:1rem;letter-spacing:-.01em;line-height:1.2;cursor:pointer}
.site-overlay__close .site-header__menu-marker{color:currentColor}
.site-overlay__close:focus-visible{outline:2px solid currentColor;outline-offset:.25rem}
/* overlay menu */
.site-overlay__menu{position:relative;align-self:center;display:flex;flex-direction:column;justify-content:center;width:100%;padding:0 var(--overlay-panel-padding);margin:0;list-style:none}
.site-overlay__menu-link{--overlay-menu-cue-opacity:0;--overlay-menu-cue-clip:inset(0 100% 0 0);position:relative;display:flex;height:var(--overlay-menu-row-height);min-width:0;align-items:center;padding:0;border-top:1px solid rgba(var(--color-accent-foreground-rgb),.16);color:var(--color-inverted-foreground);isolation:isolate;overflow:clip;text-decoration:none}
.site-overlay__menu-link:first-child{border-top:0}
.site-overlay__menu-link[data-overlay-menu-current=true]{--overlay-menu-cue-opacity:1;--overlay-menu-cue-clip:inset(0 0 0 0)}
.site-overlay__menu-content{display:flex;width:100%;min-width:0;align-items:baseline}
.site-overlay__menu-number{position:relative;flex:0 0 auto;align-self:flex-start;margin-top:var(--overlay-menu-number-top);color:var(--color-inverted-faint);font-family:var(--font-mono);font-size:var(--overlay-menu-number-size);font-weight:500;letter-spacing:.06em;line-height:1;transition:color .2s var(--ease-out)}
.site-overlay__menu-spacer{flex:0 0 var(--overlay-menu-spacer-width);width:var(--overlay-menu-spacer-width)}
.site-overlay__menu-label{position:relative;display:inline-block;flex:0 1 auto;width:fit-content;max-width:100%;color:var(--color-inverted-foreground);font-size:var(--overlay-menu-size);font-weight:600;letter-spacing:-.02em;line-height:1.08;transition:color .2s var(--ease-out)}
.site-overlay__menu-cue{display:inline-flex;flex:0 0 auto;align-items:center;margin-left:var(--overlay-menu-cue-gap);color:var(--color-inverted-body);font-family:var(--font-mono);font-size:var(--overlay-menu-cue-size);font-weight:500;letter-spacing:.12em;line-height:1;white-space:nowrap;text-transform:uppercase;opacity:var(--overlay-menu-cue-opacity);clip-path:var(--overlay-menu-cue-clip);transition:clip-path .2s var(--ease-out),opacity .2s var(--ease-out)}
.site-overlay__menu-cue:before,.site-overlay__menu-cue:after{color:var(--color-inverted-faint)}
.site-overlay__menu-cue:before{content:"[ "}
.site-overlay__menu-cue:after{content:" ]"}
.site-overlay__menu-link:hover .site-overlay__menu-number,
.site-overlay__menu-link:focus-visible .site-overlay__menu-number{color:var(--color-inverted-foreground)}
/* overlay footer */
.site-overlay__footer{--overlay-footer-line-left:var(--overlay-panel-padding);--overlay-footer-line-right:var(--overlay-panel-padding);position:relative;grid-row:3;display:flex;align-items:center;gap:1rem;padding:1.75rem var(--overlay-panel-padding);color:var(--color-inverted-muted);font-family:var(--font-mono);font-size:.875rem;letter-spacing:.02em;line-height:1.25}
.site-overlay__footer:before{position:absolute;top:0;right:var(--overlay-footer-line-right);left:var(--overlay-footer-line-left);height:0;border-top:1px solid var(--color-inverted-hairline);content:""}
.site-overlay__footer--contact{flex-wrap:wrap;align-items:baseline;justify-content:flex-start;gap:.5rem;letter-spacing:.01em}
/* overlay contact + form */
.site-overlay__contact{grid-row:2;display:flex;flex-direction:column;padding:3rem var(--overlay-panel-padding) 2rem}
.site-overlay__contact[hidden]{display:none}
.site-overlay__contact-intro h2,.site-overlay__contact-intro p{margin:0}
.site-overlay__contact-intro h2{font-size:var(--overlay-title-size);font-weight:500;letter-spacing:-.026em;line-height:1}
.site-overlay__contact-intro p{margin-top:1rem;color:var(--color-inverted-soft);font-size:1rem;line-height:1.5}
.site-overlay__form{display:flex;flex-direction:column;gap:2rem;margin-top:2.75rem}
.site-overlay__form .site-button{align-self:flex-start;margin-top:.25rem}
.site-overlay__form-consent{max-width:22rem;margin:0;color:var(--color-inverted-soft);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.02em;line-height:1.35}
.site-overlay__form-compliance{position:relative;display:flex;flex-direction:column;gap:.75rem}
.site-overlay__form-error{max-width:22rem;margin:0;color:var(--color-error);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.02em;line-height:1.35}
.site-overlay__form-error[hidden]{display:none}
.site-overlay__contact--success{min-height:0}
.site-overlay__contact--success .site-overlay__contact-intro h2{font-size:2.5rem;letter-spacing:-.028em}
.site-overlay__contact--success .site-overlay__contact-intro p{margin-top:1.125rem;font-size:1.125rem}
.site-overlay__contact--success .site-button{align-self:flex-start;margin-top:2rem}
/* fields */
.site-field{--site-field-control-height:3rem;--site-field-line-color:var(--color-inverted-active-line);--site-field-line-opacity:0;--site-field-line-scale:0;position:relative;display:block;min-height:var(--site-field-control-height)}
.site-field:before,.site-field:after{position:absolute;right:0;bottom:0;left:0;pointer-events:none;content:""}
.site-field:before{height:0;border-top:1px solid var(--color-inverted-hairline)}
.site-field:after{height:1.5px;background:var(--site-field-line-color);opacity:var(--site-field-line-opacity);transform:scaleX(var(--site-field-line-scale));transform-origin:left center;transition:transform .52s cubic-bezier(.16,1,.3,1),opacity .18s var(--ease-out),background-color .18s var(--ease-out)}
.site-field[data-field-filled=true]{--site-field-line-opacity:.65;--site-field-line-scale:.24}
.site-field:focus-within{--site-field-line-opacity:1;--site-field-line-scale:1}
.site-field[data-field-state=invalid]{--site-field-line-color:var(--color-error);--site-field-line-opacity:1;--site-field-line-scale:1}
.site-field--trap{position:absolute;width:1px;height:1px;min-height:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.site-field__control{display:block;width:100%;height:var(--site-field-control-height);padding:0;border:0;border-radius:0;appearance:none;background:transparent;background-clip:padding-box;color:var(--color-inverted-foreground);font:inherit;font-size:1rem;line-height:1.3125;outline:0;color-scheme:dark}
.site-field__control:-webkit-autofill{-webkit-appearance:none!important;background-color:transparent!important;box-shadow:0 0 0 1000px var(--color-accent) inset!important;caret-color:var(--color-inverted-foreground)!important;color:var(--color-inverted-foreground)!important;-webkit-text-fill-color:var(--color-inverted-foreground)!important}
.site-field__control:autofill{background-color:transparent!important;box-shadow:0 0 0 1000px var(--color-accent) inset!important;color:var(--color-inverted-foreground)!important}
.site-field--message .site-field__control{height:auto;min-height:2.9375rem;padding-block:.75rem 0;resize:none}
.site-field__label{position:absolute;top:0;bottom:auto;left:0;display:flex;align-items:center;height:var(--site-field-control-height);color:var(--color-inverted-body);font-size:1rem;line-height:1;pointer-events:none;transition:color var(--transition-duration) var(--ease-out),font-size var(--transition-duration) var(--ease-out),top var(--transition-duration) var(--ease-out)}
.site-field--message .site-field__label{height:2.9375rem}
.site-field__control:focus+.site-field__label,
.site-field__control:not(:placeholder-shown)+.site-field__label,
.site-field__control:-webkit-autofill+.site-field__label,
.site-field[data-field-filled=true] .site-field__label{color:var(--color-inverted-foreground);top:-.75rem;height:1.5rem;font-size:.875rem}
.site-field__message{position:absolute;top:calc(100% + .4375rem);right:0;display:block;max-width:min(100%,20rem);color:var(--color-error);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.04em;line-height:1.2;opacity:0;text-align:right;transform:translateY(-.25rem);transition:opacity .18s var(--ease-out),transform .22s cubic-bezier(.16,1,.3,1),visibility 0s linear .18s;visibility:hidden;pointer-events:none}
.site-field[data-field-state=invalid] .site-field__message{opacity:1;transform:translateY(0);visibility:visible;transition-delay:0s}

/* ---- Scroll-in reveals (subtle) ---- */
[data-animate]{opacity:0;transform:translateY(1rem);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}
[data-animate].is-inview{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  [data-animate]{opacity:1;transform:none;transition:none}
  .site-reveal__layer--reveal{display:none!important}
}
