:root{
  color-scheme: light;
  --bg: #FEFFFC;
  --ink: #131417;
  --ink-2: #0D0E10;
  --footer-bg: #08090A;
  --accent: #0080FF;
  --accent-hover: #3399FF;
  --accent-soft: #DCEEFF;
  --accent-deep: #0058B8;
  --violet-glow: #8116E0;
  --black: #000000;

  --bg-card: var(--ink-2);
  --bg-elevated: var(--ink);
  --bg-glass: rgba(254,255,252,0.05);
  --bg-glass-strong: rgba(254,255,252,0.09);
  --fg-primary: #FEFFFC;
  --fg-secondary: rgba(254,255,252,0.68);
  --fg-muted: rgba(254,255,252,0.48);
  --fg-faint: rgba(254,255,252,0.28);
  --border-hairline: rgba(254,255,252,0.07);
  --border-subtle: rgba(254,255,252,0.12);
  --border-strong: rgba(254,255,252,0.22);
  --focus-ring: var(--accent);

  /* text/borders for sections on the adaptive --bg surface (flip in dark mode) */
  --text-primary: var(--ink);
  --ink-secondary: rgba(19,20,23,.62);
  --ink-muted: rgba(19,20,23,.48);
  --ink-faint: rgba(19,20,23,.28);
  --ink-line: rgba(19,20,23,.08);
  --ink-line-strong: rgba(19,20,23,.12);
  --ink-line-heavy: rgba(19,20,23,.18);
  --ink-tint: rgba(19,20,23,.06);
  --ink-tint-2: rgba(19,20,23,.02);

  --glass-blur: 16px;
  --glass-sheen: inset 0 1px 0 rgba(254,255,252,0.10);
  --glass-drop: 0 24px 60px rgba(0,0,0,0.60);
  --glow-accent: 0 0 60px rgba(0,128,255,0.30);
  --glow-accent-xl: 0 0 90px rgba(0,128,255,0.45);
  --glow-violet: 0 0 90px rgba(129,22,224,0.55);

  --font-display: 'Poppins', 'Helvetica Neue', Arial, sans-serif;
  --font-text: 'Poppins', ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-mono: 'Geist Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  --fs-display-2xl: clamp(3.25rem, 10vw, 9rem);
  --fs-display-xl: clamp(2.75rem, 7vw, 6rem);
  --fs-display-lg: clamp(2.25rem, 5vw, 4rem);
  --fs-display-md: clamp(1.75rem, 3.4vw, 2.75rem);
  --fs-body-lg: 1.25rem;
  --fs-body: 1.0625rem;
  --fs-body-sm: 0.9375rem;
  --fs-label: 0.75rem;
  --lh-display: 0.92;
  --lh-body: 1.6;
  --tracking-display: -0.045em;
  --tracking-heading: -0.02em;
  --tracking-label: 0.14em;
  --wdth-display: 118;
  --wght-display: 500;

  --container: 1280px;
  --page-margin: clamp(20px, 5vw, 80px);
  --section-y: clamp(88px, 12vw, 180px);
  --radius-sm: 12px;
  --radius-md: 20px;
  --radius-lg: 28px;
  --radius-2xl: 56px;
  --radius-full: 999px;
  --dur-base: 220ms;
  --dur-slow: 480ms;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);

  --ic-wa: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M17.472%2014.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94%201.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198%200-.52.074-.792.372-.272.297-1.04%201.016-1.04%202.479%200%201.462%201.065%202.875%201.213%203.074.149.198%202.096%203.2%205.077%204.487.709.306%201.262.489%201.694.625.712.227%201.36.195%201.871.118.571-.085%201.758-.719%202.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421%207.403h-.004a9.87%209.87%200%2001-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86%209.86%200%2001-1.51-5.26c.001-5.45%204.436-9.884%209.888-9.884%202.64%200%205.122%201.03%206.988%202.898a9.825%209.825%200%20012.893%206.994c-.003%205.45-4.437%209.884-9.885%209.884m8.413-18.297A11.815%2011.815%200%200012.05%200C5.495%200%20.16%205.335.157%2011.892c0%202.096.547%204.142%201.588%205.945L.057%2024l6.305-1.654a11.882%2011.882%200%20005.683%201.448h.005c6.554%200%2011.89-5.335%2011.893-11.893a11.821%2011.821%200%2000-3.48-8.413z'/%3E%3C/svg%3E");
}
:root[data-theme="dark"]{
  color-scheme: dark;
  --bg: #0D0E10;
  --text-primary: var(--fg-primary);
  --ink-secondary: var(--fg-secondary);
  --ink-muted: var(--fg-muted);
  --ink-faint: var(--fg-faint);
  --ink-line: var(--border-hairline);
  --ink-line-strong: var(--border-subtle);
  --ink-line-heavy: var(--border-strong);
  --ink-tint: rgba(254,255,252,.06);
  --ink-tint-2: rgba(254,255,252,.02);
}
*{box-sizing:border-box;}
img,svg{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--text-primary);font-family:var(--font-text);font-size:var(--fs-body);line-height:var(--lh-body);font-weight:300;-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background-color .25s ease, color .25s ease;}
::selection{background:var(--accent);color:#fff;}
a{color:inherit;text-decoration:none;}
:where(a,button,input,[tabindex]):focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:6px;}
h1,h2,h3,p{margin:0;}
.wrap{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--page-margin);}
p{text-wrap:balance;}
.display{font-family:var(--font-display);font-variation-settings:'wdth' var(--wdth-display),'wght' var(--wght-display);font-weight:500;line-height:var(--lh-display);letter-spacing:var(--tracking-display);text-wrap:balance;margin:0;}
.text-accent{color:var(--accent);}
.label{font-family:var(--font-mono);font-size:var(--fs-label);font-weight:500;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--fg-muted);}
.glass{background:var(--bg-glass);border:1px solid var(--border-subtle);backdrop-filter:blur(var(--glass-blur)) saturate(140%);box-shadow:var(--glass-sheen), var(--glass-drop);}

.btn{display:inline-flex;align-items:center;gap:.55em;border-radius:var(--radius-full);padding:.95em 1.6em;font-family:var(--font-text);font-size:var(--fs-body-sm);font-weight:500;letter-spacing:-.01em;border:1px solid transparent;cursor:pointer;transition:transform var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out);}
.btn--accent{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(130% 130% at 34% 8%, var(--accent-soft) 0%, var(--accent) 42%, var(--accent-deep) 100%);color:var(--ink);border-color:rgba(255,255,255,.32);box-shadow:0 0 0 1px rgba(0,128,255,.25), var(--glow-accent), inset 0 1px 0 rgba(255,255,255,.35);}
.btn--accent:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(0,128,255,.5), var(--glow-accent-xl), inset 0 1px 0 rgba(255,255,255,.4);}
.btn--ghost{background:linear-gradient(rgba(254,255,252,.09), rgba(254,255,252,.035));backdrop-filter:blur(18px) saturate(150%);color:var(--fg-primary);border-color:var(--border-strong);}
.btn--ghost:hover{background:var(--bg-glass);border-color:var(--fg-primary);}
.btn--ghost-dark{color:var(--text-primary);border-color:var(--ink-line-heavy);background:linear-gradient(var(--ink-tint), var(--ink-tint-2));}
a.btn[data-wa]::before{content:"";width:1.15em;height:1.15em;margin-right:.1em;flex-shrink:0;background:currentColor;mask:var(--ic-wa) center/contain no-repeat;-webkit-mask:var(--ic-wa) center/contain no-repeat;}

.hero-waves{position:fixed;inset:0;overflow:hidden;z-index:0;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom, #000 0%, #000 62%, transparent 96%);mask-image:linear-gradient(to bottom, #000 0%, #000 62%, transparent 96%);}
.hero-waves__layer{position:absolute;left:0;bottom:0;width:200%;height:70%;display:flex;will-change:transform;}
.hero-waves__layer svg{width:50%;height:100%;flex-shrink:0;display:block;}
.hero-waves__layer--1{animation:waveScrollA 26s linear infinite;opacity:.9;}
.hero-waves__layer--2{bottom:-4%;height:64%;animation:waveScrollB 19s linear infinite;opacity:.55;}
.hero-waves__layer--3{bottom:-8%;height:58%;animation:waveScrollA 34s linear infinite;opacity:.3;}
@keyframes waveScrollA{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
@keyframes waveScrollB{0%{transform:translateX(-50%);}100%{transform:translateX(0);}}
@media(prefers-reduced-motion:reduce){.hero-waves__layer{animation:none;}}

.nav{position:sticky;top:0;z-index:100;padding-block:16px;background:linear-gradient(var(--bg) 55%, rgba(254,255,252,0));}
.nav__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.nav__logo{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;overflow:hidden;background:var(--ink);color:var(--fg-primary);font-family:var(--font-display);font-weight:500;font-size:.85rem;border:1px solid var(--border-subtle);box-shadow:0 8px 24px rgba(0,0,0,.18);flex-shrink:0;}
.nav__logo img,.arc__pav img,.footer__mono img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block;}
.nav__pills{position:relative;display:flex;gap:4px;padding:5px;border-radius:var(--radius-full);background:linear-gradient(var(--ink-tint), var(--ink-tint-2));border:1px solid var(--ink-line-strong);box-shadow:inset 0 1px 0 rgba(255,255,255,.6), 0 10px 30px rgba(0,0,0,.08);backdrop-filter:blur(18px) saturate(150%);}
.nav__pill-bg{position:absolute;top:5px;bottom:5px;left:0;border-radius:var(--radius-full);background:var(--accent);opacity:0;pointer-events:none;will-change:transform,width;transition:transform .42s var(--ease-out), width .42s var(--ease-out), opacity .25s var(--ease-out);}
.nav__pills a{position:relative;z-index:1;padding:.55em 1.15em;border-radius:var(--radius-full);font-size:var(--fs-body-sm);font-weight:500;color:var(--ink-secondary);transition:color var(--dur-base) var(--ease-out);cursor:pointer;}
.nav__pills a.is-active{color:#fff;}
.nav__pills a:hover{color:var(--text-primary);}
.nav__pills a.is-active:hover{color:#fff;}
.nav__actions{display:flex;align-items:center;gap:10px;}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--ink-line-strong);background:var(--ink-tint);color:var(--text-primary);cursor:pointer;flex-shrink:0;transition:background var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);}
.theme-toggle:hover{transform:translateY(-2px);border-color:var(--text-primary);}
.theme-toggle__icon{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block;}
.theme-toggle__icon--moon{display:none;}
:root[data-theme="dark"] .theme-toggle__icon--sun{display:none;}
:root[data-theme="dark"] .theme-toggle__icon--moon{display:block;}
@media(max-width:860px){.nav{position:static;}.nav__pills{display:none;}}

.hero{position:relative;z-index:1;padding-top:clamp(6px,1.5vw,18px);padding-bottom:clamp(44px,6vw,88px);}
.herocard{position:relative;display:grid;grid-template-columns:minmax(0,1.24fr) minmax(0,1fr);grid-template-rows:1fr auto;border-radius:clamp(22px,3vw,40px);overflow:hidden;background:var(--ink-2);border:1px solid rgba(254,255,252,.08);box-shadow:0 40px 100px rgba(0,0,0,.35);color:var(--fg-primary);}
.herocard__body{grid-area:1/1;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(28px,4vw,60px);z-index:2;}
.herocard__eyebrow{display:flex;align-items:center;gap:8px;color:var(--accent);font-size:var(--fs-body-lg);font-weight:500;margin-bottom:clamp(12px,1.5vw,20px);}
.herocard h1{font-size:clamp(1.9375rem,4.1vw,4.125rem);margin-bottom:clamp(18px,2.2vw,28px);}
.herocard h1 em{font-style:normal;color:var(--accent);}
@media(max-width:900px){.herocard h1{font-size:clamp(1.5rem,8vw,3.25rem);}}
.herocard__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:auto;}
.status{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-secondary);padding:.7em 1.05em;border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:var(--bg-glass);}
.status__dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 rgba(0,128,255,.55);animation:pulse 2.4s var(--ease-out) infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(0,128,255,.5);}70%{box-shadow:0 0 0 12px rgba(0,128,255,0);}100%{box-shadow:0 0 0 0 rgba(0,128,255,0);}}
.herocard__lead{margin-top:clamp(26px,5vw,60px);max-width:34ch;color:var(--fg-secondary);font-size:var(--fs-body-sm);}
.herocard__media{grid-area:1/2;position:relative;min-height:clamp(340px,44vw,520px);}
.herocard__photo{position:absolute;inset:0;overflow:hidden;background:radial-gradient(120% 100% at 50% 0%, #1a1c1f 0%, #0a0a0b 70%);display:flex;align-items:center;justify-content:center;color:var(--fg-faint);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;text-align:center;padding:20px;}
.herocard__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 8%;display:block;transform:scale(1.32);transform-origin:50% 12%;}
.herocard__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, var(--ink-2) 0%, rgba(13,14,16,0) 22%);pointer-events:none;z-index:1;}
@media(max-width:900px){.herocard__media::after{background:linear-gradient(0deg, var(--ink-2) 0%, rgba(13,14,16,0) 24%);}}
.herocard__tools{position:absolute;top:clamp(14px,1.8vw,24px);right:clamp(14px,1.8vw,24px);padding:16px;border-radius:var(--radius-md);display:grid;gap:12px;z-index:2;}
.herocard__media .status{position:absolute;bottom:clamp(14px,1.8vw,24px);right:clamp(14px,1.8vw,24px);z-index:2;}
.herocard__toolgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.herocard__toolgrid span{position:relative;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--bg-glass-strong);border:1px solid var(--border-subtle);font-family:var(--font-mono);font-size:.62rem;color:var(--fg-secondary);cursor:default;transition:background var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);}
.herocard__toolgrid span svg{width:20px;height:20px;fill:currentColor;display:block;}
.herocard__toolgrid span b{font-family:var(--font-display);font-weight:500;font-size:.68rem;letter-spacing:-.02em;color:var(--fg-primary);}
.herocard__toolgrid span:hover{background:rgba(0,128,255,.16);border-color:rgba(0,128,255,.4);transform:translateY(-2px);}
.herocard__toolgrid span::after{content:attr(data-name);position:absolute;bottom:calc(100% + 9px);left:50%;transform:translateX(-50%) translateY(4px);background:rgba(8,9,10,.94);color:#fff;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.03em;padding:.4em .65em;border-radius:7px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .18s var(--ease-out), transform .18s var(--ease-out);box-shadow:0 8px 20px rgba(0,0,0,.35);}
.herocard__toolgrid span::before{content:"";position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:rgba(8,9,10,.94);opacity:0;transition:opacity .18s var(--ease-out);pointer-events:none;}
.herocard__toolgrid span:hover::after{opacity:1;transform:translateX(-50%) translateY(0);}
.herocard__toolgrid span:hover::before{opacity:1;}
.herocard__stats{display:grid;grid-template-columns:repeat(2,auto);justify-content:start;gap:clamp(28px,4vw,56px);margin-top:clamp(14px,2vw,22px);padding-top:clamp(12px,1.6vw,18px);border-top:1px solid var(--border-hairline);}
.hstat b{display:block;font-family:var(--font-display);font-variation-settings:"wdth" 110,"wght" 760;font-weight:500;font-size:clamp(1.35rem,2.4vw,1.9rem);letter-spacing:-.03em;line-height:1;margin-bottom:8px;}
.hstat span{display:block;font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-muted);text-wrap:balance;}
@media(max-width:900px){.herocard{grid-template-columns:1fr;}.herocard__body{grid-area:1/1;}.herocard__media{grid-area:2/1;min-height:320px;}}
@media(max-width:560px){.herocard__stats{grid-template-columns:1fr;gap:10px;}.hstat{display:flex;align-items:baseline;gap:10px;}.hstat b{margin-bottom:0;}}

.arc{position:relative;z-index:1;background:#000;overflow:hidden;padding-block:clamp(56px,8vw,96px);border-bottom:1px solid var(--border-hairline);}
.arc__center{width:min(88vw,560px);margin-inline:auto;text-align:center;}
.arc__center h2{font-family:var(--font-display);font-variation-settings:'wdth' 112,'wght' var(--wght-display);font-weight:500;font-size:clamp(1.3rem,2.7vw,2.05rem);letter-spacing:var(--tracking-display);line-height:1.04;margin-bottom:18px;color:#fff;}
.arc__center h2 i{font-style:italic;color:var(--accent);}
.arc__note{margin:0 auto 14px;max-width:none;font-size:.95rem;line-height:1.5;color:rgba(254,255,252,.68);text-wrap:balance;}
.arc__pill{display:inline-flex;align-items:center;gap:12px;padding:10px 20px 10px 12px;border-radius:var(--radius-full);background:rgba(254,255,252,.05);border:1px solid rgba(254,255,252,.12);backdrop-filter:blur(18px) saturate(140%);box-shadow:var(--glass-drop);text-align:left;color:#fff;}
.arc__pav{width:30px;height:30px;border-radius:50%;overflow:hidden;background:#222;flex-shrink:0;display:grid;place-items:center;font-size:.55rem;color:#888;}
.arc__pill b{display:block;font-size:var(--fs-body-sm);font-weight:500;letter-spacing:-.01em;}
.arc__pill small{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(254,255,252,.48);}
.arc__pill small::before{content:"";width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 8px #34d399;}

section.block{position:relative;z-index:1;padding-block:var(--section-y);}
.block__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(40px,6vw,72px);flex-wrap:wrap;}
.block__head h2{font-family:var(--font-display);font-variation-settings:'wdth' var(--wdth-display),'wght' var(--wght-display);font-weight:500;font-size:var(--fs-display-lg);letter-spacing:var(--tracking-display);line-height:.98;text-wrap:balance;max-width:18ch;}
.block__head p{color:var(--ink-secondary);max-width:40ch;font-size:var(--fs-body-sm);}
#trabalhos{background:var(--ink);color:var(--fg-primary);}
#trabalhos .block__head p{color:var(--fg-secondary);}
.block__head p strong{font-weight:500;}

.works{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,2.4vw,28px);}
@media(max-width:760px){.works{grid-template-columns:1fr;}}
.work{position:relative;display:block;width:100%;text-align:left;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--ink-2);overflow:hidden;cursor:pointer;transition:transform var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);font:inherit;color:inherit;padding:0;}
.work:hover{transform:translateY(-4px);border-color:var(--border-strong);}
.work__media{position:relative;aspect-ratio:16/10;background:linear-gradient(135deg, var(--ink) 0%, var(--ink-2) 100%);border-bottom:1px solid var(--border-hairline);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--fg-faint);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;text-align:center;padding:16px;}
.work__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform var(--dur-slow) var(--ease-out);}
.work:hover .work__media img{transform:scale(1.03);}
.work__tag{position:absolute;top:14px;left:14px;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-secondary);background:rgba(0,0,0,.5);padding:.4em .7em;border-radius:var(--radius-full);}
.work__body{padding:22px 22px 24px;display:flex;align-items:baseline;justify-content:space-between;gap:16px;}
.work__body h3{font-family:var(--font-text);font-size:1.15rem;font-weight:500;letter-spacing:-.01em;margin-bottom:4px;}
.work__client{color:var(--fg-muted);font-size:var(--fs-body-sm);}
.work__arrow{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);opacity:0;transform:translateX(-6px);transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);white-space:nowrap;}
.work:hover .work__arrow{opacity:1;transform:translateX(0);}

.lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,48px);visibility:hidden;opacity:0;transition:opacity var(--dur-slow) var(--ease-out), visibility 0s linear var(--dur-slow);}
.lightbox.is-open{visibility:visible;opacity:1;transition:opacity var(--dur-slow) var(--ease-out), visibility 0s;}
.lightbox__backdrop{position:absolute;inset:0;background:rgba(8,9,10,.55);backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%);}
.lightbox__panel{position:relative;width:100%;max-width:860px;max-height:88vh;background:var(--ink-2);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--glass-drop);display:flex;flex-direction:column;overflow:hidden;transform:translateY(18px) scale(.98);opacity:0;transition:transform var(--dur-slow) var(--ease-out), opacity var(--dur-slow) var(--ease-out);}
.lightbox.is-open .lightbox__panel{transform:translateY(0) scale(1);opacity:1;}
.lightbox__close{position:absolute;top:14px;right:14px;z-index:1;width:38px;height:38px;border-radius:50%;background:rgba(254,255,252,.08);border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;color:var(--fg-primary);cursor:pointer;transition:background var(--dur-base) var(--ease-out);}
.lightbox__close:hover{background:rgba(254,255,252,.16);}
.lightbox__close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;}
.lightbox__head{padding:22px 64px 16px 24px;border-bottom:1px solid var(--border-hairline);flex-shrink:0;}
.lightbox__head h3{font-family:var(--font-text);font-size:1.15rem;font-weight:500;color:var(--fg-primary);letter-spacing:-.01em;margin-bottom:4px;}
.lightbox__head span{color:var(--fg-muted);font-size:var(--fs-body-sm);}
.lightbox__scroll{overflow-y:auto;overflow-x:hidden;flex:1;}
.lightbox__scroll img{display:block;width:100%;height:auto;}
body.lightbox-open{overflow:hidden;}
@media(max-width:640px){.lightbox{padding:0;}.lightbox__panel{max-height:100vh;height:100%;border-radius:0;border:none;}}

.services{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ink-line);border:1px solid var(--ink-line);border-radius:var(--radius-md);overflow:hidden;}
@media(max-width:860px){.services{grid-template-columns:1fr;}}
.service{background:var(--bg);padding:clamp(28px,3.4vw,44px);}
.service__no{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.14em;color:var(--ink-faint);margin-bottom:28px;}
.service h3{font-family:var(--font-display);font-variation-settings:"wdth" 112,"wght" 780;font-weight:500;font-size:var(--fs-display-md);letter-spacing:-.035em;line-height:1;margin-bottom:14px;}
.service p{color:var(--ink-secondary);font-size:var(--fs-body-sm);}
.service__list{margin:20px 0 0;padding:0;list-style:none;display:grid;gap:8px;}
.service__list li{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);padding-left:18px;position:relative;}
.service__list li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;background:var(--accent);border-radius:50%;}
.services__more{margin-top:clamp(26px,3.2vw,40px);}
.services__more-label{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 clamp(12px,1.4vw,18px);}
.services__more-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--ink-line);border:1px solid var(--ink-line);border-radius:var(--radius-md);overflow:hidden;}
@media(max-width:860px){.services__more-grid{grid-template-columns:1fr;}}
.svc2{background:var(--bg);padding:clamp(20px,2.3vw,28px);}
.svc2 h3{font-family:var(--font-text);font-size:var(--fs-body-lg);font-weight:500;letter-spacing:-.01em;line-height:1.2;margin:0 0 8px;}
.svc2 p{margin:0;color:var(--ink-muted);font-size:.875rem;line-height:1.6;}
.svc2__tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px;}
.svc2__tags span{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);padding:.42em .8em;}

.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:stretch;}
@media(max-width:860px){.about{grid-template-columns:1fr;}}
.about__intro{display:flex;flex-direction:column;height:100%;}
.about__lead{font-family:var(--font-display);font-variation-settings:"wdth" 108,"wght" 700;font-weight:500;font-size:var(--fs-display-md);line-height:1.05;letter-spacing:-.03em;text-wrap:balance;}
.about__figure{margin:clamp(28px,3.4vw,44px) 0 0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--ink-line);aspect-ratio:3/4;background:linear-gradient(135deg, var(--ink) 0%, var(--ink-2) 100%);display:flex;align-items:center;justify-content:center;color:rgba(254,255,252,.3);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;}
.about__figure img{width:100%;height:100%;object-fit:cover;object-position:50% 6%;display:block;}
.about__body{position:relative;}
.about__body-inner{position:sticky;top:96px;margin-top:var(--about-offset,0px);}
@media(max-width:860px){.about__body-inner{position:static;}}
@media(prefers-reduced-motion:reduce){.about__body-inner{position:static;}}
.about__body p{color:var(--ink-secondary);margin-bottom:18px;max-width:60ch;}
.about__tools{margin-top:clamp(28px,3.4vw,40px);display:flex;flex-wrap:wrap;gap:10px;}
.tool{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-secondary);padding:.55em 1em;}

.step__no{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.14em;color:var(--accent);}
.proc{position:relative;background:var(--ink);color:var(--fg-primary);}
.proc__track{position:relative;}
@media(min-width:900px){
  .proc__track{height:calc(var(--n,4) * 80vh);}
  .proc__stage{position:sticky;top:76px;min-height:calc(100vh - 76px);padding-bottom:0 !important;}
}
.proc__head{padding-top:var(--section-y);padding-bottom:clamp(24px,4vw,48px);}
.proc__head h2{font-family:var(--font-display);font-variation-settings:'wdth' var(--wdth-display),'wght' var(--wght-display);font-weight:500;font-size:var(--fs-display-lg);letter-spacing:var(--tracking-display);line-height:.98;text-wrap:balance;margin:12px 0 0;max-width:16ch;}
.proc__head p{color:var(--fg-secondary);max-width:40ch;margin-top:14px;font-size:var(--fs-body-sm);}
.proc__stage{display:grid;grid-template-columns:64px minmax(0,1.1fr) minmax(0,.82fr);gap:clamp(24px,5vw,72px);align-items:center;padding-bottom:var(--section-y);}
.proc__rail{position:relative;align-self:stretch;min-height:320px;}
.proc__rail::before,.proc__rail::after{content:"";position:absolute;left:50%;top:8%;width:2px;transform:translateX(-50%);border-radius:2px;z-index:1;}
.proc__rail::before{bottom:8%;background:var(--border-subtle);}
.proc__rail::after{height:var(--fill,0%);max-height:84%;background:var(--accent);box-shadow:0 0 16px rgba(0,128,255,.4);transition:height .35s var(--ease-out);}
.proc__node{position:absolute;left:50%;z-index:2;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--ink);border:1px solid var(--border-strong);color:var(--fg-muted);font-family:var(--font-mono);font-size:.78rem;cursor:pointer;transition:transform var(--dur-base) var(--ease-out), background var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);}
.proc__node:hover{border-color:var(--fg-primary);color:var(--fg-primary);}
.proc__node.is-active{background:var(--accent);color:#fff;border-color:var(--accent);transform:translate(-50%,-50%) scale(1.14);box-shadow:var(--glow-accent);}
.proc__panels{position:relative;min-height:300px;}
.proc__panel{display:none;flex-direction:column;justify-content:center;opacity:0;transform:translateY(22px);transition:opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);}
.proc__panel.is-active{display:flex;opacity:1;transform:none;}
.proc__panel h3{font-family:var(--font-display);font-variation-settings:"wdth" 114,"wght" 800;font-weight:500;font-size:var(--fs-display-md);letter-spacing:-.04em;line-height:1;margin:14px 0 18px;}
.proc__panel p{color:var(--fg-secondary);font-size:var(--fs-body);line-height:var(--lh-body);max-width:42ch;margin-bottom:24px;}
.proc__tags{display:flex;align-self:flex-start;width:auto;flex-wrap:wrap;align-items:center;gap:.5em;}
.proc__tags span{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-secondary);padding:.5em 1.1em;}
.proc__visual{position:relative;aspect-ratio:1/1;align-self:center;display:grid;place-items:center;}
.proc__numitem{grid-area:1/1;opacity:0;transform:translateY(18px);transition:opacity .5s var(--ease-out), transform .5s var(--ease-out);}
.proc__numitem.is-active{opacity:1;transform:none;}
.proc__num{position:relative;font-family:var(--font-display);font-variation-settings:"wdth" 122,"wght" 800;font-weight:500;font-size:clamp(6rem,15vw,13rem);line-height:1;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px var(--border-strong);}
@media(max-width:899px){.proc__stage{display:block;padding-bottom:clamp(40px,10vw,90px);}.proc__rail{display:none;}.proc__panels{min-height:0;}.proc__panel{display:none;opacity:1;transform:none;background:var(--ink-2);border-left:2px solid var(--accent);border-radius:var(--radius-md);padding:22px;margin-bottom:0;min-height:260px;}.proc__panel.is-active{display:flex;}.proc__visual{display:none;}}

#agenda{background:var(--bg);}
.calbox{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(20px,3vw,32px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--ink-2);color:var(--fg-primary);padding:clamp(24px,3vw,40px);box-shadow:var(--glass-drop);}
@media(max-width:760px){.calbox{grid-template-columns:1fr;}}
.calbox__panel{display:flex;flex-direction:column;gap:16px;}
.calbox__head{display:flex;align-items:center;justify-content:space-between;}
.calbox__month{font-family:var(--font-display);font-weight:500;font-size:1.1rem;letter-spacing:-.01em;text-transform:capitalize;}
.calbox__nav{width:32px;height:32px;border-radius:50%;border:1px solid var(--border-subtle);background:var(--bg-glass);color:var(--fg-primary);cursor:pointer;display:grid;place-items:center;font-size:1rem;}
.calbox__nav[disabled]{opacity:.3;cursor:default;}
.calbox__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);text-align:center;padding-bottom:4px;}
.calbox__weekdays span{padding-block:2px;}
.calbox__days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.calbox__days button{aspect-ratio:1;border-radius:50%;border:1px solid transparent;background:transparent;color:var(--fg-secondary);font-family:var(--font-mono);font-size:.78rem;cursor:pointer;display:grid;place-items:center;transition:background var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);}
.calbox__days button.calbox__empty{visibility:hidden;cursor:default;}
.calbox__days button[disabled]{opacity:.28;cursor:default;}
.calbox__days button.is-open{border-color:rgba(0,128,255,.4);color:var(--fg-primary);opacity:1;}
.calbox__days button.is-open:hover{background:rgba(0,128,255,.16);}
.calbox__days button.is-selected{background:var(--accent);color:#fff;border-color:var(--accent);}
.calbox__side{display:flex;flex-direction:column;justify-content:center;gap:12px;padding-left:clamp(0px,2vw,24px);border-left:1px solid var(--border-hairline);}
@media(max-width:760px){.calbox__side{border-left:0;border-top:1px solid var(--border-hairline);padding-left:0;padding-top:20px;}}
.calbox__selected{font-family:var(--font-display);font-weight:500;font-size:1.3rem;letter-spacing:-.02em;margin:0;}
.calbox__field{display:flex;flex-direction:column;gap:6px;}
.calbox__field-label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-muted);}
.calbox__input{font-family:var(--font-text);font-size:.9rem;color:var(--fg-primary);background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:12px;padding:.7em .9em;outline:none;transition:border-color var(--dur-base) var(--ease-out);}
.calbox__input:focus{border-color:var(--accent);}
.calbox__select{appearance:none;cursor:pointer;}
.calbox__cta{margin-top:4px;justify-content:center;border:none;cursor:pointer;}
.calbox__hint{margin:0;font-size:.8rem;color:var(--fg-muted);}

.contact{position:relative;text-align:left;padding-block:var(--section-y);overflow:hidden;background:var(--ink);color:var(--fg-primary);}
.contact__glow{position:absolute;inset:auto 0 -50%;height:90%;background:radial-gradient(50% 100% at 50% 100%, rgba(0,128,255,.5), transparent 70%);filter:blur(30px);pointer-events:none;}
.contact__grid{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:28px;}
.contact h2{position:relative;font-family:var(--font-display);font-variation-settings:'wdth' var(--wdth-display),'wght' var(--wght-display);font-weight:500;font-size:clamp(2.25rem,4.6vw,4.2rem);letter-spacing:var(--tracking-display);line-height:.95;text-wrap:balance;max-width:18ch;margin:0 auto;}
.contact__texto{position:relative;max-width:42ch;margin:0 auto;text-align:center;}
.contact__texto p{margin:0;color:var(--fg-secondary);font-size:var(--fs-body-lg);line-height:1.55;text-wrap:balance;}
.contact__texto strong{font-weight:500;}
.contact__texto p strong{color:var(--fg-primary);}
.contact__texto p+p{margin-top:22px;}
.contact__destaque{color:var(--accent);font-weight:500;}
.contact__actions{position:relative;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:8px;}

.footer{position:relative;z-index:1;overflow:hidden;background:var(--footer-bg);color:var(--fg-primary);border-radius:0;padding-top:clamp(22px,2.6vw,34px);}
.footer__grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(24px,3.4vw,44px);align-items:start;}
.footer__mark{display:inline-flex;align-items:center;gap:10px;}
.footer__mono{width:32px;height:32px;border-radius:50%;overflow:hidden;flex-shrink:0;border:1px solid var(--border-subtle);background:var(--ink);display:grid;place-items:center;font-family:var(--font-display);font-weight:500;font-size:.7rem;}
.wordmark{font-family:var(--font-display);font-variation-settings:"wdth" 108,"wght" 720;font-weight:500;font-size:1.2rem;letter-spacing:-.02em;color:var(--fg-primary);}
.wordmark span{color:var(--fg-primary);}
.footer__desc{margin:12px 0 0;max-width:34ch;color:var(--fg-secondary);font-size:.85rem;line-height:1.5;}
.footer__hint{margin:14px 0 8px;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.05em;color:var(--fg-muted);}
.footer__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.4vw,32px);}
.footer__col{display:grid;gap:8px;align-content:start;}
.footer__label{margin:0 0 2px;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(254,255,252,.58);}
.footer__col a{font-size:.85rem;color:var(--fg-secondary);transition:color var(--dur-base) var(--ease-out);}
.footer__col a:hover,.footer__mark:hover .wordmark{color:var(--accent);}
.footer__bottom{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;margin-top:clamp(22px,3vw,36px);padding-block:16px clamp(18px,2.4vw,28px);border-top:1px solid var(--border-hairline);}
.footer__bottom p{margin:0;}
.footer__fine{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.05em;color:var(--fg-faint);}
.footer__badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-muted);}
.footer__dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px rgba(0,128,255,.16);}
@media(max-width:860px){.footer__grid{grid-template-columns:1fr;gap:26px;}.footer__cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px;}}

.reveal{opacity:0;transform:translateY(22px);transition:opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);}
.reveal.in{opacity:1;transform:none;}

@media(prefers-reduced-motion:reduce){
  *,::before,::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
  .reveal{opacity:1;transform:none;}
}
