/* Obermüller Hospitality Advisory — folha única, PT/DE/EN
   Direção: tipo grande, quase monocromático, muito ar. A cor é reservada;
   o peso vem do tamanho e do espaço. Fotografia entra em largura total. */

:root{
  --papel:#FAF9F7; --papel-2:#FFFFFF; --papel-3:#EFEEEA;
  --tinta:#101010; --tinta-2:#5A5A57; --tinta-3:#918F8A;
  --linha:#E2E1DC; --linha-2:#EDECE8;
  --mar:#2C4A44; --mar-fundo:#EDF1EF;
  --sombra:0 1px 2px rgba(16,16,16,.03), 0 24px 60px -44px rgba(16,16,16,.5);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --papel:#0D0D0C; --papel-2:#141414; --papel-3:#1C1C1A;
  --tinta:#F2F1ED; --tinta-2:#A5A39D; --tinta-3:#77756F;
  --linha:#232321; --linha-2:#191918;
  --mar:#9BBDB4; --mar-fundo:#16211E;
  --sombra:0 1px 2px rgba(0,0,0,.6), 0 24px 60px -44px rgba(0,0,0,1);
}}
:root[data-theme="dark"]{
  --papel:#0D0D0C; --papel-2:#141414; --papel-3:#1C1C1A;
  --tinta:#F2F1ED; --tinta-2:#A5A39D; --tinta-3:#77756F;
  --linha:#232321; --linha-2:#191918;
  --mar:#9BBDB4; --mar-fundo:#16211E;
  --sombra:0 1px 2px rgba(0,0,0,.6), 0 24px 60px -44px rgba(0,0,0,1);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
body{
  margin:0; background:var(--papel); color:var(--tinta);
  font-family:Spectral,Georgia,"Times New Roman",serif;
  font-size:18px; line-height:1.66; -webkit-font-smoothing:antialiased;
}
img{max-width:100%; height:auto; display:block}
a{color:var(--tinta); text-decoration:underline; text-decoration-thickness:1px;
  text-underline-offset:4px; text-decoration-color:var(--tinta-3)}
a:hover{text-decoration-color:var(--tinta)}
a:focus-visible{outline:2px solid var(--mar); outline-offset:3px; border-radius:2px}

.env{max-width:1240px; margin:0 auto; padding:0 40px}
.col{max-width:640px}

/* ---------- topo ---------- */
.topo{position:sticky; top:0; z-index:60;
  background:color-mix(in srgb, var(--papel) 90%, transparent);
  backdrop-filter:saturate(1.4) blur(12px); border-bottom:1px solid var(--linha)}
.topo-int{display:flex; align-items:center; gap:32px; height:78px}
.marca{font-family:Archivo,-apple-system,"Segoe UI",sans-serif; font-weight:600;
  font-size:14px; letter-spacing:.14em; text-transform:uppercase; color:var(--tinta);
  text-decoration:none; white-space:nowrap; margin-right:auto}
.marca span{color:var(--tinta-3); font-weight:400}
.nav{display:flex; gap:28px; align-items:center}
.nav a{font-family:Archivo,sans-serif; font-size:11.5px; font-weight:500; letter-spacing:.13em;
  text-transform:uppercase; color:var(--tinta-2); text-decoration:none; white-space:nowrap}
.nav a:hover,.nav a[aria-current="page"]{color:var(--tinta)}
.idiomas{display:flex; gap:4px; align-items:center; padding-left:26px;
  border-left:1px solid var(--linha); font-family:Archivo,sans-serif;
  font-size:11px; font-weight:500; letter-spacing:.13em; text-transform:uppercase}
.idiomas a{color:var(--tinta-3); text-decoration:none; padding:4px 6px}
.idiomas a:hover{color:var(--tinta)}
.idiomas a[aria-current="true"]{color:var(--tinta)}

/* ---------- tipografia ---------- */
.olho{font-family:Archivo,sans-serif; font-size:11px; font-weight:600; letter-spacing:.2em;
  text-transform:uppercase; color:var(--tinta-3); margin:0 0 28px}
h1{font-family:Archivo,sans-serif; font-weight:500;
  font-size:clamp(42px,8.4vw,104px); line-height:.98; letter-spacing:-.035em;
  margin:0 0 32px; text-wrap:balance; text-transform:uppercase}
h2{font-family:Archivo,sans-serif; font-weight:500;
  font-size:clamp(28px,4.6vw,52px); line-height:1.04; letter-spacing:-.028em;
  margin:0 0 24px; text-wrap:balance}
h3{font-family:Archivo,sans-serif; font-weight:600; font-size:17px; line-height:1.3;
  letter-spacing:-.005em; margin:0 0 10px}
p{margin:0 0 22px}
strong{font-weight:600}
.guia{font-size:clamp(19px,2.1vw,23px); line-height:1.55; color:var(--tinta-2); max-width:30em}

/* ---------- capa ---------- */
.capa{padding:clamp(72px,13vw,168px) 0 clamp(56px,9vw,112px)}
.capa .tese{font-family:Archivo,sans-serif; font-weight:400;
  font-size:clamp(21px,2.6vw,30px); line-height:1.3; letter-spacing:-.018em;
  color:var(--tinta); max-width:20em; margin:0 0 40px}
.acoes{display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:14px}
.btn{display:inline-block; font-family:Archivo,sans-serif; font-size:11.5px; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; text-decoration:none;
  padding:16px 30px; border-radius:0; background:var(--tinta); color:var(--papel);
  border:1px solid var(--tinta); transition:opacity .15s ease}
.btn:hover{opacity:.82}
.btn.vazio{background:transparent; color:var(--tinta); border-color:var(--linha)}
.btn.vazio:hover{border-color:var(--tinta); opacity:1}

/* ---------- imagem em largura total ---------- */
.figura{margin:clamp(48px,7vw,96px) 0; background:var(--papel-3)}
.figura img{width:100%; object-fit:cover; max-height:78vh}
.figura.alta img{max-height:92vh}
.figura figcaption{font-family:Archivo,sans-serif; font-size:11px; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase; color:var(--tinta-3);
  padding:14px 40px 0; max-width:1240px; margin:0 auto}
.vaga{aspect-ratio:16/7; display:flex; align-items:center; justify-content:center;
  border:1px solid var(--linha); background:
    repeating-linear-gradient(135deg, transparent 0 22px, var(--linha-2) 22px 23px), var(--papel-2)}
.vaga span{font-family:Archivo,sans-serif; font-size:11px; font-weight:600; letter-spacing:.18em;
  text-transform:uppercase; color:var(--tinta-3); text-align:center; padding:0 24px}

/* ---------- faixa de prova ---------- */
.prova{border-top:1px solid var(--linha); border-bottom:1px solid var(--linha)}
.prova-grade{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:0; border-left:1px solid var(--linha-2)}
.prova-item{padding:44px 32px; border-right:1px solid var(--linha-2)}
.prova-n{font-family:Archivo,sans-serif; font-weight:500;
  font-size:clamp(38px,5vw,62px); line-height:.92; letter-spacing:-.045em;
  color:var(--tinta); margin:0 0 16px; font-variant-numeric:tabular-nums}
.prova-t{font-family:Karla,sans-serif; font-size:14px; line-height:1.55; color:var(--tinta-2); margin:0}

/* ---------- seções ---------- */
section{padding:clamp(72px,11vw,140px) 0}
section + section{border-top:1px solid var(--linha)}
.duas{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,8fr); gap:clamp(40px,7vw,110px); align-items:start}
.duas > .lado{position:sticky; top:112px}

/* ---------- a cadeia inteira ---------- */
.cadeia{border-top:1px solid var(--tinta); margin-top:40px}
.elo{display:grid; grid-template-columns:auto minmax(0,1fr); gap:0 clamp(20px,3.5vw,52px);
  padding:30px 0; border-bottom:1px solid var(--linha)}
.elo-n{font-family:Archivo,sans-serif; font-weight:600; font-size:11px; letter-spacing:.16em;
  color:var(--tinta-3); padding-top:7px; white-space:nowrap}
.elo h3{font-size:clamp(19px,2.3vw,25px); font-weight:500; letter-spacing:-.022em; margin:0 0 12px}
.elo ul{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:7px}
.elo li{font-family:Karla,sans-serif; font-size:13.5px; line-height:1.3; color:var(--tinta-2);
  border:1px solid var(--linha); padding:6px 12px; white-space:nowrap}
.elo p{font-family:Karla,sans-serif; font-size:14.5px; color:var(--tinta-3); margin:12px 0 0; max-width:44em}

.emenda{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:0;
  border-top:1px solid var(--tinta); margin:44px 0 0}
.emenda-l{display:contents}
.emenda-item{padding:13px 16px 13px 0; border-bottom:1px solid var(--linha-2);
  font-family:Karla,sans-serif; font-size:14.5px; color:var(--tinta-2)}
.emenda-marca{padding:13px 0; border-bottom:1px solid var(--linha-2); text-align:right;
  font-family:Archivo,sans-serif; font-size:12px; font-weight:700; letter-spacing:.1em;
  color:var(--tinta); white-space:nowrap}

/* ---------- serviços ---------- */
.frentes{display:grid; grid-template-columns:repeat(auto-fit,minmax(268px,1fr));
  border-top:1px solid var(--linha); border-left:1px solid var(--linha)}
.frente{padding:30px 28px; border-right:1px solid var(--linha); border-bottom:1px solid var(--linha)}
.frente h3{font-size:15px; margin-bottom:9px; letter-spacing:0}
.frente p{font-family:Karla,sans-serif; font-size:14px; line-height:1.6; color:var(--tinta-2); margin:0}

/* ---------- as casas ---------- */
.casas{border-top:1px solid var(--tinta); margin-top:44px}
.casa{display:grid; grid-template-columns:112px minmax(0,1fr) minmax(0,1.15fr);
  gap:0 clamp(18px,3vw,44px); padding:26px 0; border-bottom:1px solid var(--linha); align-items:baseline}
.casa-ano{font-family:Archivo,sans-serif; font-weight:600; font-size:12px; letter-spacing:.1em;
  color:var(--tinta-3); font-variant-numeric:tabular-nums; white-space:nowrap}
.casa-nome{font-family:Archivo,sans-serif; font-weight:500; font-size:clamp(19px,2.4vw,27px);
  letter-spacing:-.026em; line-height:1.1}
.casa-nome em{display:block; font-family:Karla,sans-serif; font-style:normal; font-weight:500;
  font-size:12.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--tinta-3); margin-top:8px}
.casa-nota{font-family:Karla,sans-serif; font-size:14.5px; line-height:1.55; color:var(--tinta-2)}
.casa-nota b{color:var(--tinta); font-weight:600}
.casa.marco .casa-nome{position:relative}
.casa.marco .casa-nome::before{content:""; position:absolute; left:-16px; top:.55em;
  width:6px; height:6px; background:var(--tinta)}
@media (max-width:820px){
  .casa{grid-template-columns:1fr; gap:8px}
  .casa-ano{order:-1}
  .casa.marco .casa-nome::before{display:none}
}

/* ---------- casos ---------- */
.caso{padding:42px 0; border-top:1px solid var(--linha)}
.caso:first-of-type{border-top:none; padding-top:0}
.caso-topo{display:flex; flex-wrap:wrap; align-items:baseline; gap:10px 20px; margin-bottom:16px}
.caso-topo h3{margin:0; font-size:clamp(20px,2.5vw,26px); font-weight:500; letter-spacing:-.02em}
.selo{font-family:Archivo,sans-serif; font-size:10px; font-weight:600; letter-spacing:.16em;
  text-transform:uppercase; color:var(--tinta-3); white-space:nowrap}
.caso p{font-size:17px}
.caso ul{margin:0; padding-left:20px; font-family:Karla,sans-serif; font-size:15px; color:var(--tinta-2)}
.caso li{margin-bottom:9px}

/* ---------- citação ---------- */
.cit{margin:48px 0; padding:0; font-family:Archivo,sans-serif; font-weight:400;
  font-size:clamp(23px,3.1vw,36px); line-height:1.16; letter-spacing:-.028em;
  color:var(--tinta); max-width:16em}

/* ---------- contato ---------- */
.contato-grade{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:0; margin-top:44px; border-top:1px solid var(--linha); border-left:1px solid var(--linha)}
.contato-item{padding:28px 26px; border-right:1px solid var(--linha); border-bottom:1px solid var(--linha)}
.contato-item .rot{font-family:Archivo,sans-serif; font-size:10px; font-weight:600; letter-spacing:.18em;
  text-transform:uppercase; color:var(--tinta-3); margin:0 0 12px}
.contato-item p{margin:0; font-size:16px; word-break:break-word}

/* ---------- escritos ---------- */
.lista-artigos{border-top:1px solid var(--linha); margin-top:52px}
.artigo-item{display:block; padding:40px 0; border-bottom:1px solid var(--linha); text-decoration:none; color:inherit}
.artigo-item:hover h3{opacity:.6}
.artigo-meta{font-family:Archivo,sans-serif; font-size:10.5px; font-weight:600; letter-spacing:.18em;
  text-transform:uppercase; color:var(--tinta-3); margin:0 0 14px}
.artigo-item h3{font-size:clamp(26px,3.6vw,40px); font-weight:500; letter-spacing:-.028em;
  line-height:1.04; margin:0 0 14px; transition:opacity .15s ease}
.artigo-item p{margin:0; color:var(--tinta-2); font-size:17px; max-width:58ch}

.artigo{padding:clamp(56px,8vw,104px) 0 0}
.artigo-cab{border-bottom:1px solid var(--linha); padding-bottom:36px; margin-bottom:48px}
.artigo-cab h1{font-size:clamp(36px,6.6vw,80px); margin-bottom:26px}
.artigo-cab .linha{font-size:clamp(19px,2.2vw,24px); line-height:1.45; color:var(--tinta-2); margin:0; max-width:28em}
.artigo-corpo{max-width:33em}
.artigo-corpo h2{font-size:clamp(24px,2.9vw,34px); margin:60px 0 18px}
.artigo-corpo p{margin:0 0 23px}
.artigo-corpo ul,.artigo-corpo ol{padding-left:24px; margin:0 0 23px}
.artigo-corpo li{margin-bottom:13px}
.artigo-corpo .destaque{margin:44px 0; font-family:Archivo,sans-serif; font-weight:400;
  font-size:clamp(22px,2.8vw,32px); line-height:1.16; letter-spacing:-.026em; color:var(--tinta)}
.medida{border-top:1px solid var(--tinta); border-bottom:1px solid var(--linha);
  padding:22px 0; margin:40px 0}
.medida .rot{font-family:Archivo,sans-serif; font-size:10px; font-weight:600; letter-spacing:.18em;
  text-transform:uppercase; color:var(--tinta-3); margin:0 0 16px}
.medida table{border-collapse:collapse; width:100%; font-family:Karla,sans-serif; font-size:14px}
.medida td{padding:9px 14px 9px 0; border-bottom:1px solid var(--linha-2); vertical-align:top}
.medida tr:last-child td{border-bottom:none}
.medida td.r{font-variant-numeric:tabular-nums; white-space:nowrap; font-weight:700; font-size:16px}
.ok{color:var(--mar)} .nao{color:#9A3B31}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .nao{color:#E39189}}
:root[data-theme="dark"] .nao{color:#E39189}
.fontes{margin-top:56px; padding-top:26px; border-top:1px solid var(--linha);
  font-family:Karla,sans-serif; font-size:13px; line-height:1.7; color:var(--tinta-3); max-width:38em}
.fontes p{margin:0 0 8px}
.assin{margin-top:44px; padding-top:28px; border-top:1px solid var(--linha); max-width:33em}
.assin p{font-family:Karla,sans-serif; font-size:14.5px; color:var(--tinta-2); margin:0 0 8px}

/* ---------- porta de idioma ---------- */
.porta{min-height:100svh; display:flex; flex-direction:column; justify-content:center; padding:80px 0}
.escolha{display:flex; flex-wrap:wrap; gap:0; margin-top:56px;
  border-top:1px solid var(--linha); border-left:1px solid var(--linha)}
.escolha a{font-family:Archivo,sans-serif; font-size:13px; font-weight:600; letter-spacing:.1em;
  text-transform:uppercase; text-decoration:none; color:var(--tinta);
  border-right:1px solid var(--linha); border-bottom:1px solid var(--linha);
  padding:26px 34px; min-width:230px; flex:1}
.escolha a:hover{background:var(--papel-3)}
.escolha a small{display:block; font-family:Karla,sans-serif; font-weight:400; font-size:13px;
  letter-spacing:0; text-transform:none; color:var(--tinta-3); margin-top:8px}

/* ---------- legais ---------- */
.legal{padding:clamp(56px,8vw,104px) 0}
.legal h2{font-size:clamp(20px,2.4vw,26px); margin-top:52px}
.legal h2:first-of-type{margin-top:36px}
.legal p,.legal li{font-size:16.5px}
.legal ul{padding-left:22px} .legal li{margin-bottom:10px}
.falta{background:var(--mar-fundo); border-left:2px solid var(--mar); padding:3px 10px;
  font-family:Karla,sans-serif; font-size:14px; font-weight:600; color:var(--mar); display:inline-block}

/* ---------- rodapé ---------- */
.rodape{border-top:1px solid var(--tinta); padding:64px 0 52px}
.rodape-int{display:flex; flex-wrap:wrap; gap:44px; justify-content:space-between; align-items:flex-start}
.rodape p,.rodape a{font-family:Karla,sans-serif; font-size:14px; line-height:1.75; color:var(--tinta-2)}
.rodape p{margin:0 0 5px; max-width:32em}
.rodape strong{font-family:Archivo,sans-serif; font-size:12px; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:var(--tinta)}
.rodape .fim{margin-top:40px; padding-top:26px; border-top:1px solid var(--linha);
  font-size:12.5px; color:var(--tinta-3)}
.fim h2{font-size:clamp(24px,3.2vw,36px); margin-bottom:18px}

/* ---------- responsivo ---------- */
@media (max-width:980px){
  .duas{grid-template-columns:1fr}
  .duas > .lado{position:static}
}
@media (max-width:860px){
  .nav{display:none}
  .idiomas{border-left:none; padding-left:0; margin-left:auto}
  .marca{margin-right:0}
}
@media (max-width:600px){
  body{font-size:17px}
  .env{padding:0 22px}
  .figura figcaption{padding:12px 22px 0}
  .topo-int{height:64px; gap:16px}
  .marca{font-size:12px; letter-spacing:.1em}
  .acoes .btn{width:100%; text-align:center}
  .prova-item{padding:32px 24px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} *{animation:none!important; transition:none!important}}

@media print{
  .topo,.acoes,.btn,.vaga{display:none}
  body{background:#fff; color:#000; font-size:11pt}
  section{padding:20px 0; break-inside:avoid}
}
