@charset "UTF-8";
/* RR Estudio Dental · dental travel experience (local staging).
   Distinct editorial design, same accessible design tokens and dark-mode contract. */
.rr-travel { --rr-travel-soft:#f6ece2; }
.rr-travel section[id] { scroll-margin-top:110px; }
.rr-travel-hero { overflow:hidden; background:var(--rr-dark); color:#fffaf4; position:relative; }
.rr-travel-hero:before { content:""; position:absolute; inset:auto -10vw -250px auto; width:700px; height:700px; border:1px solid rgba(246,193,153,.22); border-radius:50%; pointer-events:none; }
.rr-travel-hero-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(30px,5vw,90px); align-items:center; padding-block:clamp(65px,7vw,105px); }
.rr-travel-hero-content { position:relative; z-index:1; }
.rr-travel-hero h1 { margin:0; max-width:790px; font-size:clamp(44px,5.4vw,76px); font-weight:650; letter-spacing:-.065em; line-height:1.09; }
.rr-travel-hero h1 em { display:block; margin-top:12px; color:var(--rr-orange-light); font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.05em; }
.rr-travel-hero-content > p:not(.rr-overline) { max-width:690px; margin:27px 0 0; font-size:clamp(16px,1.4vw,18px); line-height:1.83; color:#d8e0dd; }
.rr-travel-outline { border-color:rgba(255,255,255,.42); }
.rr-travel-proof { display:flex; flex-wrap:wrap; gap:12px 23px; margin-top:31px; color:#e2e0d8; }
.rr-travel-proof span { display:inline-flex; gap:7px; align-items:center; font-size:12px; font-weight:640; }
.rr-travel-proof .rr-icon { width:16px; height:16px; color:var(--rr-orange-light); }
.rr-travel-hero-image { position:relative; min-height:490px; height:min(50vw,540px); margin:0; overflow:hidden; border-radius:150px 24px 24px 24px; background:#d0b2a0; box-shadow:0 32px 65px rgba(0,0,0,.24); }
.rr-travel-hero-image picture, .rr-travel-hero-image img { display:block; width:100%; height:100%; }
.rr-travel-hero-image img { object-fit:cover; object-position:60% 45%; }
.rr-travel-hero-image:after { content:""; position:absolute; inset:65% 0 0; background:linear-gradient(0deg,rgba(10,28,29,.75),transparent); pointer-events:none; }
.rr-travel-hero-image figcaption { position:absolute; z-index:1; bottom:28px; left:29px; right:28px; display:flex; justify-content:space-between; gap:12px; align-items:center; color:#fff; font-weight:760; font-size:10px; letter-spacing:.16em; }
.rr-travel-hero-image figcaption span { border:1px solid rgba(255,255,255,.55); padding:8px 12px; border-radius:4px; }
.rr-travel-section { background:var(--rr-cream); }
.rr-travel-heading { max-width:900px; margin-bottom:35px; }
.rr-travel-heading h2, .rr-travel-financial-copy h2, .rr-travel-quality h2, .rr-travel-process h2, .rr-travel-faq h2 { margin:0; font-size:clamp(32px,3.5vw,50px); line-height:1.16; font-weight:660; letter-spacing:-.048em; }
.rr-travel-heading > p:not(.rr-overline) { margin:20px 0 0; color:var(--rr-muted); line-height:1.82; font-size:16px; max-width:810px; }
.rr-travel-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.rr-travel-card { position:relative; cursor:pointer; display:flex; flex-direction:column; min-height:320px; padding:clamp(24px,2.5vw,36px); border:1px solid var(--rr-line); background:var(--rr-white); border-radius:20px; box-shadow:0 8px 28px rgba(22,43,43,.035); transition:border-color .23s,transform .23s,box-shadow .23s; }
.rr-travel-card:hover,.rr-travel-card:focus-within { border-color:var(--rr-orange); box-shadow:var(--rr-shadow); transform:translateY(-4px); }
.rr-travel-card-top { display:flex; justify-content:space-between; align-items:center; padding-bottom:24px; color:var(--rr-muted); font-size:13px; letter-spacing:.1em; font-weight:700; }
.rr-travel-card-top .rr-icon { width:32px; height:32px; color:var(--rr-orange); }
.rr-travel-card h3,.rr-travel-treatment h3 { margin:0 0 12px; font-size:clamp(22px,2.1vw,27px); font-weight:670; line-height:1.23; letter-spacing:-.035em; }
.rr-travel-card p,.rr-travel-treatment p { margin:0 0 27px; color:var(--rr-muted); line-height:1.8; font-size:14px; }
.rr-travel-card-link { display:inline-flex; gap:9px; align-items:center; margin-top:auto; padding-top:18px; border-top:1px solid var(--rr-line); font-size:13px; font-weight:770; color:var(--rr-ink)!important; }
.rr-travel-card-link:hover { color:var(--rr-orange)!important; }
.rr-travel-card-link .rr-icon { width:16px; height:16px; }
.rr-travel-treatment-section { background:var(--rr-bg-muted,var(--rr-cream)); }
.rr-travel-treatment-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.rr-travel-treatment { position:relative; cursor:pointer; display:flex; flex-direction:column; padding:33px 27px 29px; border-radius:18px; border:1px solid var(--rr-line); background:var(--rr-white); transition:border-color .23s,transform .23s,box-shadow .23s; }
.rr-travel-treatment:hover,.rr-travel-treatment:focus-within { border-color:var(--rr-orange); box-shadow:var(--rr-shadow); transform:translateY(-4px); }
.rr-travel-treatment-icon { display:grid; place-items:center; width:58px; height:58px; margin-bottom:24px; background:var(--rr-brand-soft,#f8e7d9); color:var(--rr-brand-text,#b86132); border-radius:16px; }
.rr-travel-treatment-icon .rr-icon { width:30px; height:30px; }
.rr-travel-treatment .rr-text-link { margin-top:auto; font-weight:750; }
/* One native anchor per card. Its hit area includes the entire article, even with JS off. */
.rr-travel-card > .rr-travel-card-link::after,
.rr-travel-treatment > .rr-text-link::after { content:""; position:absolute; z-index:8; inset:0; }
.rr-travel-card > .rr-travel-card-link::after { border-radius:20px; }
.rr-travel-treatment > .rr-text-link::after { border-radius:18px; }
.rr-travel-card > .rr-travel-card-link:focus-visible,
.rr-travel-treatment > .rr-text-link:focus-visible { outline:none; }
.rr-travel-card > .rr-travel-card-link:focus-visible::after,
.rr-travel-treatment > .rr-text-link:focus-visible::after { box-shadow:inset 0 0 0 3px var(--rr-brand-orange); }
.rr-travel-card:hover .rr-travel-card-link,
.rr-travel-card:focus-within .rr-travel-card-link { color:var(--rr-orange)!important; }
.rr-travel-financial { background:var(--rr-dark); color:#fffaf4; }
.rr-travel-financial-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.95fr); align-items:center; gap:clamp(30px,6vw,90px); }
.rr-travel-financial .rr-overline { color:var(--rr-orange-light); }
.rr-travel-financial-copy > p:not(.rr-overline) { margin:22px 0 28px; line-height:1.85; color:#d5dedb; font-size:16px; }
.rr-travel-financial-copy h3 { font-size:18px; margin:26px 0 19px; color:#fff; }
.rr-travel-checklist { display:grid; gap:17px; list-style:none; margin:0 0 28px; padding:0; }
.rr-travel-checklist li { display:flex; align-items:flex-start; gap:11px; color:#e1e5e1; font-size:14px; line-height:1.65; }
.rr-travel-checklist .rr-icon { width:18px; height:18px; margin-top:2px; color:var(--rr-orange-light); }
.rr-travel-benchmark { padding:clamp(24px,3vw,42px); background:var(--rr-white); color:var(--rr-ink); border:1px solid var(--rr-line); border-top:4px solid var(--rr-orange); border-radius:21px; box-shadow:0 22px 65px rgba(0,0,0,.22); }
.rr-travel-benchmark-head > span { display:block; font-weight:800; letter-spacing:.12em; font-size:10px; color:var(--rr-brand-text,#b86132); }
.rr-travel-benchmark-head h3 { margin:10px 0 7px; font-size:clamp(21px,2.5vw,30px); letter-spacing:-.035em; line-height:1.26; }
.rr-travel-benchmark-head p { margin:0; color:var(--rr-muted); line-height:1.7; font-size:12px; }
.rr-travel-price-list { margin:26px 0 16px; }
.rr-travel-price-list > div { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:17px 0; border-top:1px solid var(--rr-line); }
.rr-travel-price-list dt { color:var(--rr-muted); font-size:14px; }
.rr-travel-price-list dd { margin:0; text-align:right; font-weight:770; font-size:clamp(15px,2vw,20px); font-variant-numeric:tabular-nums; }
.rr-travel-price-list .rr-travel-price-local { margin-inline:-12px; padding:15px 12px; background:var(--rr-brand-soft,#f8e7d9); border-radius:8px; border-top:0; }
.rr-travel-price-local dt,.rr-travel-price-local dd { color:var(--rr-ink); }
.rr-travel-price-local dd { font-size:14px; }
.rr-travel-price-caution { font-size:12px; line-height:1.78; color:var(--rr-muted); }
.rr-travel-sources { border-top:1px solid var(--rr-line); padding-top:18px; display:flex; gap:10px 18px; align-items:center; flex-wrap:wrap; }
.rr-travel-sources small { color:var(--rr-muted); font-size:10px; line-height:1.5; flex-basis:100%; }
.rr-travel-sources a { color:var(--rr-brand-text,#b86132)!important; font-size:11px; text-decoration:underline; text-underline-offset:3px; font-weight:700; }
.rr-travel-quality-grid { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:7vw; }
.rr-travel-quality p:not(.rr-overline) { font-size:16px; color:var(--rr-muted); line-height:1.85; }
.rr-travel-quality-list { padding:0; margin:0; list-style:none; }
.rr-travel-quality-list li { display:flex; gap:21px; align-items:flex-start; padding:22px 0; border-bottom:1px solid var(--rr-line); line-height:1.7; font-size:16px; }
.rr-travel-quality-list li span { color:var(--rr-brand-text,#b86132); font-size:13px; font-weight:770; padding-top:2px; }
.rr-travel-quality-list li strong { font-weight:650; }
.rr-travel-process { background:var(--rr-bg-muted,var(--rr-cream)); }
.rr-travel-process h2 { margin-bottom:39px; }
.rr-travel-process ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin:0; padding:0; list-style:none; counter-reset:rr-steps; }
.rr-travel-process li { border-top:2px solid var(--rr-orange); padding:26px 18px 12px 0; counter-increment:rr-steps; }
.rr-travel-process li:before { content:counter(rr-steps, decimal-leading-zero); color:var(--rr-brand-text,#b86132); font-size:12px; font-weight:800; letter-spacing:.12em; }
.rr-travel-process li h3 { margin:17px 0 12px; font-size:20px; letter-spacing:-.03em; line-height:1.33; }
.rr-travel-process li p { margin:0; color:var(--rr-muted); font-size:14px; line-height:1.77; }
.rr-travel-faq-grid { display:grid; grid-template-columns:.83fr 1.17fr; gap:6vw; }
.rr-travel-last-cta { background:var(--rr-dark); }
.rr-travel-request .rr-proposal-header { max-width:900px; }
.rr-travel-request .rr-proposal-panel { max-width:1020px; }
.rr-travel-field-hint { display:block; margin:7px 0 0; color:var(--rr-muted); font-size:11px; line-height:1.65; }
.rr-travel-home-band { overflow:hidden; position:relative; background:var(--rr-dark); color:#fffaf4; padding-block:clamp(50px,6vw,90px); }
.rr-travel-home-band:before { content:""; position:absolute; right:-20vw; top:-16vw; width:40vw; height:40vw; min-width:350px; min-height:350px; border-radius:50%; border:1px solid rgba(255,255,255,.18); pointer-events:none; }
.rr-travel-home-grid { position:relative; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); align-items:center; gap:5vw; }
.rr-travel-home-grid h2 { margin:0; max-width:800px; font-weight:670; font-size:clamp(32px,3.7vw,54px); letter-spacing:-.045em; line-height:1.15; }
.rr-travel-home-grid h2 em { color:var(--rr-orange-light); font-family:Georgia,"Times New Roman",serif; font-weight:400; }
.rr-travel-home-grid p:not(.rr-overline) { color:#d8e0dd; line-height:1.8; font-size:16px; }
.rr-travel-home-highlights { display:grid; gap:11px; padding:30px; border:1px solid rgba(255,255,255,.22); border-radius:18px; background:rgba(255,255,255,.05); }
.rr-travel-home-highlights span { display:flex; gap:12px; align-items:center; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.16); font-size:14px; font-weight:650; }
.rr-travel-home-highlights span:last-child { border-bottom:0; }
.rr-travel-home-highlights .rr-icon { color:var(--rr-orange-light); }
@media (max-width:1100px) {
  .rr-travel-hero-grid { gap:28px; }
  .rr-travel-hero-image { min-height:410px; }
  .rr-travel-card { min-height:350px; }
}
@media (max-width:900px) {
  .rr-travel-hero-grid,.rr-travel-financial-grid,.rr-travel-quality-grid,.rr-travel-faq-grid,.rr-travel-home-grid { grid-template-columns:1fr; gap:33px; }
  .rr-travel-hero-image { width:min(100%,580px); height:380px; min-height:0; border-radius:90px 20px 20px 20px; }
  .rr-travel-hero-grid { padding-block:54px 65px; }
  .rr-travel-card-grid,.rr-travel-treatment-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rr-travel-process ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rr-travel-home-highlights { max-width:650px; }
}
@media (max-width:620px) {
  .rr-travel-hero h1 { font-size:clamp(37px,9vw,50px); }
  .rr-travel-hero-image { height:330px; }
  .rr-travel-card-grid,.rr-travel-treatment-grid,.rr-travel-process ol { grid-template-columns:1fr; }
  .rr-travel-card { min-height:0; padding:25px; }
  .rr-travel-financial-grid { gap:28px; }
  .rr-travel-benchmark { padding:22px 18px; }
  .rr-travel-price-list > div { align-items:flex-start; flex-direction:column; gap:2px; }
  .rr-travel-price-list dd { text-align:left; }
  .rr-travel-proof { gap:13px; }
  .rr-travel-home-highlights { padding:18px; }
  .rr-travel-home-band { padding-block:52px; }
}
@media (prefers-reduced-motion:reduce) {
  .rr-travel-card,.rr-travel-treatment { transition:none; }
  .rr-travel-card:hover,.rr-travel-card:focus-within,
  .rr-travel-treatment:hover,.rr-travel-treatment:focus-within { transform:none; }
}
