/* ============================================================
   DoutorWeb - shared brand stylesheet
   Poster black-on-paper, Archivo + Space Mono, no frills
   ============================================================ */
/* ---------- self-hosted fonts (Archivo + Space Mono) ---------- */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/k3kPo8UDI-1M0wlSV9XAw6lQkqWY8Q82sLydOxI.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/k3kPo8UDI-1M0wlSV9XAw6lQkqWY8Q82sLydOxI.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/k3kPo8UDI-1M0wlSV9XAw6lQkqWY8Q82sLydOxI.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/k3kPo8UDI-1M0wlSV9XAw6lQkqWY8Q82sLydOxI.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/k3kPo8UDI-1M0wlSV9XAw6lQkqWY8Q82sLydOxI.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(fonts/k3kPo8UDI-1M0wlSV9XAw6lQkqWY8Q82sLydOxI.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/i7dPIFZifjKcF5UAWdDRYEF8RQ.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/i7dMIFZifjKcF5UAWdDRaPpZUFWaHg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{
  --paper:#F7F4EC;
  --paper-2:#EDE8DA;
  --paper-3:#E3DDCB;
  --ink:#121110;
  --ink-2:#1c1b19;
  --grafite:#6B6659;
  --grafite-d:#8f8a7a;
  --line:#D9D2BE;
  --line-strong:#121110;
  --vermelho:#D7263D;
  --vermelho-on-paper:#B81E33; /* small red text on Paper: >=4.5:1 */
  --vermelho-on-ink:#FF5468;   /* small red text on Ink: >=4.5:1 */
  --maxw:1240px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:'Archivo',sans-serif; -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit; text-decoration:none;}
.mono{font-family:'Space Mono',monospace;}

/* ---------- accessibility ---------- */
:focus-visible{outline:2px solid var(--vermelho-on-paper); outline-offset:3px; border-radius:2px;}
.skip-link{position:absolute; left:8px; top:-64px; z-index:100; background:var(--ink); color:var(--paper);
  font-family:'Space Mono',monospace; font-size:13px; letter-spacing:.08em; text-transform:uppercase;
  padding:12px 18px; border-radius:4px; transition:top .2s var(--ease);}
.skip-link:focus{top:8px;}
main{display:block;}

/* red full-stop device for headlines */
.stop{color:var(--vermelho-on-paper);}

/* ---------- wordmark ---------- */
.wmi{font-weight:900; letter-spacing:-.03em; text-transform:uppercase; display:inline-flex; align-items:baseline; gap:.12em; line-height:1;}
.wmi .tld{font-family:'Space Mono',monospace; font-weight:700; font-size:.42em; color:var(--grafite-d); letter-spacing:0;}

/* ============ HEADER ============ */
.site-head{
  position:sticky; top:0; z-index:50;
  display:flex; justify-content:space-between; align-items:center;
  padding:20px 40px; background:rgba(247,244,236,.9); backdrop-filter:blur(14px);
  border-bottom:3px solid var(--ink);
}
.site-head .wmi{font-size:20px;}
.tag-country{font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--grafite-d); border:1px solid var(--ink); border-radius:999px; padding:6px 14px; margin-left:18px;}
@media(max-width:640px){ .tag-country{display:none;} }
.nav{display:flex; align-items:center; gap:30px; font-family:'Space Mono',monospace; font-size:12px; letter-spacing:.14em; text-transform:uppercase;}
.nav a{color:var(--grafite); transition:color .25s var(--ease); position:relative; padding:4px 0;}
.nav a:hover{color:var(--ink);}
.nav .cta{color:var(--paper); background:var(--ink); padding:10px 18px; border-radius:999px; letter-spacing:.1em;}
.nav .cta:hover{background:var(--vermelho); color:#fff;}
.nav-toggle{display:none; background:none; border:0; color:var(--ink); cursor:pointer; font-size:22px; line-height:1;}
@media(max-width:980px){
  .site-head{padding:16px 22px;}
  .nav{position:fixed; inset:64px 0 auto 0; flex-direction:column; gap:6px; align-items:stretch;
    background:var(--paper); border-bottom:3px solid var(--ink); padding:16px 24px 26px;
    transform:translateY(-130%); transition:transform .4s var(--ease);
    max-height:calc(100vh - 64px); max-height:calc(100dvh - 64px); overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;}
  .nav.open{transform:translateY(0);}
  .nav a{padding:14px 0; font-size:14px; border-bottom:1px solid var(--line);}
  .nav .cta{text-align:center; border-bottom:0; margin-top:8px;}
  .nav-toggle{display:block;}
}

/* ============ LAYOUT PRIMITIVES ============ */
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 40px;}
section{position:relative;}
.pad{padding:110px 0;}
.pad-sm{padding:76px 0;}
@media(max-width:860px){ .pad{padding:70px 0;} .wrap{padding:0 22px;} }

.eyebrow{font-family:'Space Mono',monospace; font-size:12px; letter-spacing:.3em; text-transform:uppercase; color:var(--vermelho-on-paper); margin:0 0 22px; display:flex; align-items:center; gap:12px;}
.eyebrow::before{content:""; width:28px; height:2px; background:var(--vermelho-on-paper);}
.eyebrow.on-ink{color:var(--vermelho-on-ink);}
.eyebrow.on-ink::before{background:var(--vermelho-on-ink);}

h1,h2,h3{margin:0; font-weight:900; letter-spacing:-.03em; line-height:.94; text-transform:uppercase; overflow-wrap:break-word;}
.display{font-size:clamp(42px,8.4vw,132px);}
.h2{font-size:clamp(32px,5vw,68px);}
.h3{font-size:clamp(22px,2.8vw,36px); letter-spacing:-.02em;}
.lead{font-size:clamp(17px,1.5vw,21px); line-height:1.6; color:var(--grafite); max-width:60ch; margin:0;}
.lead.on-ink{color:#C9C4B8;}
.muted{color:var(--grafite);}
.mono-label{font-family:'Space Mono',monospace; font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--grafite);}

/* buttons */
.btn{display:inline-flex; align-items:center; gap:12px; font-family:'Space Mono',monospace; font-size:13px; letter-spacing:.12em; text-transform:uppercase; padding:16px 28px; border-radius:999px; transition:all .28s var(--ease); cursor:pointer; border:2px solid transparent;}
.btn .arrow{transition:transform .28s var(--ease);}
.btn:hover .arrow{transform:translateX(5px);}
.btn-primary{background:var(--vermelho); color:#fff;}
.btn-primary:hover{background:var(--ink); color:var(--paper);}
.btn-ghost{border-color:var(--ink); color:var(--ink);}
.btn-ghost:hover{background:var(--ink); color:var(--paper);}
.btn-ghost.on-ink{border-color:var(--paper); color:var(--paper);}
.btn-ghost.on-ink:hover{background:var(--paper); color:var(--ink);}
.btn-row{display:flex; gap:16px; flex-wrap:wrap;}

/* ============ REVEAL ANIMATION ============ */
.reveal{transition:opacity .8s var(--ease), transform .8s var(--ease);}
@media(prefers-reduced-motion:no-preference){
  html.reveal-on .reveal:not(.in){opacity:0; transform:translateY(28px);}
  html.reveal-on .hero h1 .reveal:not(.in){opacity:1;}
}
.reveal[data-d="1"]{transition-delay:.08s;}
.reveal[data-d="2"]{transition-delay:.16s;}
.reveal[data-d="3"]{transition-delay:.24s;}
.reveal[data-d="4"]{transition-delay:.32s;}
@media(prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} }
@media print{ .reveal{opacity:1 !important; transform:none !important;} }
.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}

/* ============ HERO ============ */
.hero{padding:88px 0 70px;}
.hero .kicker{font-family:'Space Mono',monospace; font-size:13px; letter-spacing:.3em; text-transform:uppercase; color:var(--grafite-d); margin-bottom:28px;}
.hero h1{font-size:clamp(40px,8vw,108px); line-height:.94;}
.hero .lead{margin-top:30px;}
.hero-badges{display:flex; gap:14px; flex-wrap:wrap; margin-top:38px;}
.badge{display:inline-flex; align-items:center; gap:9px; font-family:'Space Mono',monospace; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; border:1px solid var(--ink); border-radius:999px; padding:9px 15px;}
.badge i{width:6px; height:6px; border-radius:50%; background:var(--vermelho); display:block; flex:none;}
.hero .btn-row{margin-top:44px;}

/* ============ PRICE BAND (black block, like the flyer) ============ */
.price-band{background:var(--ink); color:var(--paper); border-top:3px solid var(--ink); border-bottom:3px solid var(--ink);}
.price-grid{display:grid; grid-template-columns:minmax(220px,340px) 1fr; gap:48px; align-items:center; padding:56px 0;}
.price-tag .k{font-family:'Space Mono',monospace; font-size:13px; letter-spacing:.28em; text-transform:uppercase; color:var(--grafite-d); margin-bottom:8px;}
.price-tag .v{font-size:clamp(56px,9vw,104px); font-weight:900; letter-spacing:-.03em; line-height:.9;}
.price-tag .v small{font-size:.32em; font-weight:700; letter-spacing:0; text-transform:none; color:var(--grafite-d); display:block; margin-top:10px;}
.price-copy p{font-size:clamp(16px,1.7vw,20px); line-height:1.6; margin:0; color:#E7E3D8;}
.price-copy p + p{margin-top:14px;}
.price-copy b{color:var(--paper); font-weight:800;}
@media(max-width:760px){ .price-grid{grid-template-columns:1fr; gap:32px; padding:44px 0;} }

/* ============ CAPABILITIES GRID ============ */
.cap-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:56px;}
.cap-cell{background:var(--paper); padding:36px 26px; min-height:240px; display:flex; flex-direction:column; justify-content:space-between; transition:background .3s var(--ease);}
.cap-cell:hover{background:var(--paper-2);}
.cap-cell .no{font-family:'Space Mono',monospace; font-size:12px; letter-spacing:.18em; color:var(--vermelho-on-paper);}
.cap-cell h3{font-size:21px; margin-top:auto; text-transform:none; letter-spacing:-.01em;}
.cap-cell p{font-size:13.5px; line-height:1.6; color:var(--grafite); margin:12px 0 0;}
@media(max-width:1080px){ .cap-grid{grid-template-columns:repeat(3,1fr);} }
@media(max-width:680px){ .cap-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:460px){ .cap-grid{grid-template-columns:1fr;} }

/* ============ NO-EXCEPTION BOX ============ */
.note-box{border:2px solid var(--ink); padding:38px 40px; margin-top:56px;}
.note-box h3{font-size:clamp(19px,2.2vw,26px); text-transform:uppercase; letter-spacing:-.01em; margin-bottom:14px;}
.note-box p{font-size:15.5px; line-height:1.7; color:var(--grafite); max-width:76ch; margin:0;}

/* ============ STEPS (how it works) ============ */
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:56px;}
.step{background:var(--paper); padding:38px 30px;}
.step .no{font-family:'Space Mono',monospace; font-size:34px; font-weight:900; color:var(--line-strong); opacity:.18;}
.step h3{font-size:20px; text-transform:none; letter-spacing:-.01em; margin-top:18px;}
.step p{font-size:14.5px; line-height:1.6; color:var(--grafite); margin:10px 0 0;}
@media(max-width:760px){ .steps{grid-template-columns:1fr;} }

/* ============ VAGAS (scarcity) ============ */
.vagas{border:2px dashed var(--ink); padding:44px 40px; display:flex; gap:32px; align-items:flex-start; justify-content:space-between; flex-wrap:wrap;}
.vagas .vt{max-width:56ch;}
.vagas h3{font-size:clamp(20px,2.4vw,28px); text-transform:uppercase; margin-bottom:14px;}
.vagas p{font-size:15.5px; line-height:1.7; color:var(--grafite); margin:0 0 10px;}
.vagas ol{margin:18px 0 0; padding-left:22px; font-size:15px; line-height:1.8; color:var(--ink);}
.vagas-cta{display:flex; flex-direction:column; gap:12px; align-items:flex-start; min-width:220px;}

/* ============ FAQ ============ */
.faq{border-top:2px solid var(--ink); margin-top:8px;}
.faq details{border-bottom:1px solid var(--line); padding:26px 0;}
.faq summary{cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:24px; font-size:clamp(16px,2vw,20px); font-weight:700; letter-spacing:-.01em;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary .ico{font-family:'Space Mono',monospace; font-size:20px; color:var(--vermelho-on-paper); flex:none; transition:transform .25s var(--ease);}
.faq details[open] summary .ico{transform:rotate(45deg);}
.faq .a{font-size:15.5px; line-height:1.7; color:var(--grafite); margin:16px 0 0; max-width:74ch;}

/* ============ CTA BAND ============ */
.cta-band{background:var(--ink); color:var(--paper); text-align:center; padding:110px 0;}
.cta-band h2{font-size:clamp(38px,6.6vw,96px); line-height:.92;}
.cta-band .lead{margin:26px auto 40px;}
.cta-band .btn-row{justify-content:center;}

/* ============ FOOTER ============ */
.site-foot{border-top:3px solid var(--ink); padding:80px 0 40px; background:var(--paper);}
.foot-top{display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:44px;}
.foot-cta .lead{margin-top:20px; max-width:36ch;}
.foot-col .foot-col-h{font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--grafite-d); margin:0 0 16px; font-weight:700;}
.foot-col a{display:block; padding:7px 0; color:var(--ink); font-size:15px; transition:color .2s;}
.foot-col a:hover{color:var(--vermelho-on-paper);}
.foot-phone{font-size:clamp(22px,2.6vw,30px); font-weight:900; letter-spacing:-.01em; display:block; margin:6px 0 4px;}
.foot-bottom{display:flex; justify-content:space-between; align-items:center; margin-top:64px; padding-top:26px; border-top:1px solid var(--line); font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--grafite-d); flex-wrap:wrap; gap:14px;}
@media(max-width:860px){ .foot-top{grid-template-columns:1fr 1fr; gap:36px;} }
@media(max-width:560px){ .foot-top{grid-template-columns:1fr; gap:34px;} }

/* full-bleed bottom strip, exactly like the flyer's black footer bar */
.strip{background:var(--ink); color:var(--paper); text-align:center; padding:18px 0; font-family:'Space Mono',monospace; font-size:12px; letter-spacing:.34em; text-transform:uppercase;}

hr.rule{border:none; border-top:1px solid var(--line); margin:0;}

/* page intro band (privacy / 404) */
.page-hero{padding:120px 0 80px; border-bottom:2px solid var(--ink);}
.page-hero .display{margin-top:16px;}
@media(max-width:560px){ .page-hero{padding:76px 0 44px;} .display{font-size:clamp(32px,9vw,48px);} }

/* legal page */
.legal{max-width:760px;}
.legal h2{font-size:clamp(20px,2.2vw,28px); margin:44px 0 12px; text-transform:none; letter-spacing:-.01em;}
.legal p, .legal li{font-size:16px; line-height:1.7; color:var(--grafite);}
.legal ul{padding-left:20px; margin:0;}
.legal li{margin-bottom:8px;}
.legal a{color:var(--vermelho-on-paper);}
.legal .updated{font-family:'Space Mono',monospace; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--grafite-d);}

@media(max-width:760px){ .vagas{padding:32px 26px; flex-direction:column;} .note-box{padding:30px 26px;} }
