/* Legal pages intentionally reuse the public studio/home presentation layer.
   Keep this sheet focused on long-form legal content only. */
body.yrv-legal-page{
  min-height:100vh;
  background:var(--bg)!important;
  color:var(--text)!important;
}
body.yrv-legal-page .yrv-ambient-scene{display:none!important}
body.yrv-legal-page .subpage-main{
  min-height:68vh;
  background:var(--bg)!important;
}
body.yrv-legal-page .subhero-section{
  position:relative;
  overflow:hidden;
  padding:clamp(64px,8vw,92px) 0 clamp(42px,6vw,64px);
  border-bottom:1px solid var(--line);
  background:radial-gradient(ellipse at 82% 34%,rgba(121,88,211,.14),transparent 54%),var(--bg)!important;
}
body.yrv-legal-page .subhero-section::after{
  content:"";
  position:absolute;
  width:340px;
  height:340px;
  right:-180px;
  bottom:-250px;
  border:1px solid color-mix(in srgb,var(--primary) 13%,transparent);
  border-radius:50%;
  pointer-events:none;
}
body.yrv-legal-page .subhero-copy{
  position:relative;
  z-index:1;
  max-width:820px;
}
body.yrv-legal-page .subhero-copy .section-label{
  margin-bottom:14px;
  color:var(--primary);
  font-size:.875rem;
  font-weight:600;
  letter-spacing:.1em;
}
body.yrv-legal-page .subhero-copy h1{
  margin:0 0 18px;
  max-width:15ch;
  font-size:clamp(2.4rem,5vw,4.35rem);
  font-weight:650;
  line-height:1.04;
  letter-spacing:-.05em;
}
body.yrv-legal-page .subhero-copy p{
  max-width:66ch;
  margin:0;
  color:var(--muted);
  font-size:clamp(1rem,1.7vw,1.12rem);
  line-height:1.72;
}
body.yrv-legal-page .legal-updated{
  display:block;
  margin-top:18px;
  color:color-mix(in srgb,var(--muted) 88%,transparent);
  font-size:.8rem;
}
body.yrv-legal-page .legal-section{
  padding:clamp(34px,5vw,58px) 0 clamp(64px,8vw,96px);
}
body.yrv-legal-page .legal-content{
  width:min(960px,100%);
  margin-inline:auto;
  padding:clamp(26px,4.5vw,48px);
  border:1px solid var(--line);
  border-radius:24px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--paper-elevated) 62%,var(--paper)),var(--paper));
  box-shadow:0 24px 70px rgba(0,0,0,.16);
}
body.yrv-legal-page .legal-identity-card{
  display:grid;
  gap:5px;
  margin:0 0 30px;
  padding:17px 19px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--paper-soft);
}
body.yrv-legal-page .legal-identity-card strong{
  color:var(--text);
  font-size:.875rem;
  font-weight:700;
}
body.yrv-legal-page .legal-identity-card span{
  color:var(--muted);
  font-size:.8rem;
  line-height:1.6;
}
body.yrv-legal-page .legal-policy-block{
  margin:0 0 28px;
  padding:0 0 28px;
  border-bottom:1px solid var(--line);
}
body.yrv-legal-page .legal-policy-block:last-of-type{
  margin-bottom:0;
}
body.yrv-legal-page .legal-policy-block h2{
  margin:0 0 13px;
  color:var(--text);
  font-size:clamp(1.12rem,2vw,1.38rem);
  font-weight:650;
  line-height:1.3;
  letter-spacing:-.025em;
}
body.yrv-legal-page .legal-policy-block p{
  max-width:none;
  margin:0 0 11px;
  color:var(--muted);
  font-size:.94rem;
  line-height:1.82;
}
body.yrv-legal-page .legal-policy-block p:last-child{margin-bottom:0}
body.yrv-legal-page .legal-policy-block :is(ul,ol){
  display:grid;
  gap:10px;
  margin:13px 0 0;
  padding-left:22px;
  color:var(--muted);
}
body.yrv-legal-page .legal-policy-block li{
  padding-left:3px;
  font-size:.94rem;
  line-height:1.75;
}
body.yrv-legal-page .legal-policy-block li::marker{color:var(--primary)}
body.yrv-legal-page .legal-content a:not(.button):not(.gem-btn){
  color:var(--primary);
  font-weight:600;
  text-decoration:none;
  text-underline-offset:3px;
}
@media(hover:hover){
  body.yrv-legal-page .legal-content a:not(.button):not(.gem-btn):hover{text-decoration:underline}
}
body.yrv-legal-page .legal-contact-card{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:18px;
  margin-top:28px;
  padding:19px 20px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--paper-soft);
}
body.yrv-legal-page .legal-contact-card>div{
  display:grid;
  gap:6px;
  min-width:0;
}
body.yrv-legal-page .legal-contact-card strong{
  color:var(--text);
  font-size:.82rem;
}
body.yrv-legal-page .legal-contact-card span{
  color:var(--muted);
  font-size:.84rem;
}
body.yrv-legal-page .legal-inline-links{
  display:flex!important;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 16px!important;
}
body.yrv-legal-page .legal-inline-links a:not(.button){
  font-size:.84rem;
}
body.yrv-legal-page .legal-inline-links .button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:11px 18px;
  border:1px solid var(--primary);
  border-radius:10px;
  background:var(--primary);
  color:var(--bg);
  font-weight:650;
}

/* The LGPD request form reuses the same form language as the homepage. */
body.yrv-legal-page .privacy-request-block{
  margin-top:4px;
  padding:clamp(22px,3vw,30px);
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--paper-soft);
}
body.yrv-legal-page .privacy-request-form{
  margin-top:20px;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.yrv-legal-page .privacy-request-form .gem-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
body.yrv-legal-page .privacy-request-form label{
  display:grid;
  gap:8px;
  min-width:0;
}
body.yrv-legal-page .privacy-request-form label>span{
  color:var(--muted);
  font-size:.8rem;
  font-weight:600;
}
body.yrv-legal-page .privacy-request-form :is(input,select,textarea){
  width:100%;
  min-height:48px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:10px;
  outline:0;
  background:var(--paper);
  color:var(--text);
}
body.yrv-legal-page .privacy-request-form textarea{
  min-height:140px;
  resize:vertical;
}
body.yrv-legal-page .privacy-request-form :is(input,select,textarea):focus{
  border-color:var(--primary);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent);
}
body.yrv-legal-page .privacy-request-form .gem-message{margin-top:18px}
body.yrv-legal-page .privacy-request-form .gem-privacy{
  display:flex;
  grid-template-columns:none;
  align-items:flex-start;
  gap:10px;
  margin-top:18px;
}
body.yrv-legal-page .privacy-request-form .gem-privacy input{
  width:18px;
  min-width:18px;
  height:18px;
  min-height:18px;
  margin:2px 0 0;
  accent-color:var(--primary);
}
body.yrv-legal-page .privacy-request-form .gem-form-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:14px;
  margin-top:22px;
}
body.yrv-legal-page .privacy-request-form .gem-btn{
  min-height:48px;
  padding:12px 20px;
  border:1px solid var(--primary);
  border-radius:10px;
  background:var(--primary);
  color:var(--bg);
  font-weight:650;
}
body.yrv-legal-page .privacy-request-form .form-status{
  margin:0;
  font-size:.85rem;
}

/* Footer keeps the same visual rhythm as the homepage. */
body.yrv-legal-page .site-footer{
  border-top:1px solid var(--line);
  background:var(--paper);
}
body.yrv-legal-page .footer-main{
  grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:30px;
  padding-block:30px;
  border-top:1px solid var(--line);
}
body.yrv-legal-page .footer-main a{
  color:var(--muted);
  font-size:.875rem;
  margin:8px 0;
}
body.yrv-legal-page .footer-main h3{font-size:1rem;letter-spacing:0}
body.yrv-legal-page .footer-main p{font-size:.875rem}
body.yrv-legal-page .footer-channels{
  padding-block:22px;
  display:flex;
  gap:30px;
  border-top:1px solid var(--line);
}
body.yrv-legal-page .footer-bottom{
  border-top:1px solid var(--line);
  padding-block:20px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:var(--muted);
}

@media(max-width:760px){
  body.yrv-legal-page .subhero-section{padding:46px 0 38px}
  body.yrv-legal-page .subhero-copy h1{max-width:none;font-size:clamp(2.15rem,10vw,3.2rem)}
  body.yrv-legal-page .legal-section{padding:26px 0 58px}
  body.yrv-legal-page .legal-content{padding:22px 20px;border-radius:18px}
  body.yrv-legal-page .privacy-request-form .gem-form-grid{grid-template-columns:1fr}
  body.yrv-legal-page .footer-main{grid-template-columns:1fr 1fr}
  body.yrv-legal-page .footer-bottom{flex-direction:column;gap:6px}
}
@media(max-width:520px){
  body.yrv-legal-page .container{width:calc(100% - 36px)}
  body.yrv-legal-page .subhero-section{padding:38px 0 32px}
  body.yrv-legal-page .legal-content{padding:19px 17px}
  body.yrv-legal-page .legal-policy-block{margin-bottom:23px;padding-bottom:23px}
  body.yrv-legal-page .legal-contact-card{display:grid;padding:17px}
  body.yrv-legal-page .legal-inline-links{align-items:flex-start}
  body.yrv-legal-page .privacy-request-block{padding:18px 16px}
  body.yrv-legal-page .privacy-request-form .gem-form-actions{align-items:stretch}
  body.yrv-legal-page .privacy-request-form .gem-btn{width:100%}
  body.yrv-legal-page .footer-main{gap:24px 18px}
  body.yrv-legal-page .footer-channels{flex-direction:column;gap:12px}
}
