@charset "UTF-8";
/*
 * RR Estudio Dental — diseño original para la copia local, octubre 2026.
 * Estilos independientes, sin dependencia de componentes visuales heredados.
 */
:root{
  --rr-ink:#1c2e30;--rr-ink-soft:#314446;--rr-orange:#db743b;
  --rr-orange-light:#f4c19d;--rr-cream:#fbf8f3;--rr-white:#fffdfb;
  --rr-muted:#617073;--rr-line:#e7e1d8;--rr-dark:#192d31;
  --rr-shadow:0 24px 70px rgba(15,37,40,.1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body.rr-body{margin:0;background:var(--rr-cream);color:var(--rr-ink);font-family:"Segoe UI",Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;line-height:1.58;-webkit-font-smoothing:antialiased}
.rr-body a{color:inherit;text-decoration:none}
.rr-body button,.rr-body summary{font:inherit}
.rr-body img,.rr-body svg{max-width:100%}
.rr-body img{display:block}
.rr-body ::selection{background:#f0b184;color:#142b30}
.rr-body :focus-visible{outline:3px solid #e98245;outline-offset:4px}
.rr-shell{width:min(100% - 64px,1232px);margin-inline:auto}
.rr-icon{width:21px;height:21px;flex:0 0 auto}
.rr-skip{position:absolute;top:-100px;left:12px;z-index:999;background:white;padding:12px;border-radius:8px}
.rr-skip:focus{top:12px}
.rr-header{position:sticky;top:0;z-index:100;background:rgba(252,249,244,.96);border-bottom:1px solid rgba(29,46,47,.09);backdrop-filter:blur(18px)}
.rr-nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.rr-brand{display:inline-flex;align-items:center;gap:13px;min-width:max-content}
.rr-brand-image{width:54px;height:54px;display:flex;align-items:center;justify-content:center;border-radius:13px;overflow:hidden;background:#e37b3e;box-shadow:0 6px 12px rgba(207,113,58,.13)}
.rr-brand-image img{width:100%;height:100%;object-fit:cover}
.rr-brand-text{display:flex;flex-direction:column;line-height:1.15}
.rr-brand-text strong{font-size:19px;letter-spacing:-.05em;font-weight:750}
.rr-brand-text strong span{letter-spacing:-.03em}
.rr-brand-text small{margin-top:7px;font-size:9px;color:var(--rr-muted);text-transform:uppercase;letter-spacing:.13em;font-weight:680}
.rr-nav-links{display:flex;align-items:center;gap:28px;margin-left:auto}
.rr-nav-links a{font-size:13px;font-weight:680;letter-spacing:.005em;color:#465558;transition:color .2s}
.rr-nav-links a:hover,.rr-nav-links a[aria-current="page"]{color:var(--rr-orange)}
.rr-nav-actions{display:flex;align-items:center;gap:18px}
/* Dropdown de idiomas: mismo patrón <details> de THA, con la identidad RR. */
.rr-language{position:relative;flex:0 0 auto;font-size:12px;font-weight:750}
.rr-language>summary{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:72px;height:40px;padding:0 9px;border-radius:10px;list-style:none;color:var(--rr-ink);cursor:pointer;transition:background .18s}
.rr-language>summary::-webkit-details-marker{display:none}
.rr-language>summary:hover,.rr-language[open]>summary{background:var(--rr-brand-soft,#fbede1)}
.rr-language-globe{width:18px;height:18px;flex:0 0 auto;color:var(--rr-brand-text,var(--rr-orange))}
.rr-language-chevron{width:13px;height:13px;flex:0 0 auto;transition:transform .18s}
.rr-language[open] .rr-language-chevron{transform:rotate(180deg)}
.rr-language-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:120;width:max-content;min-width:184px;padding:8px;background:var(--rr-white);border:1px solid var(--rr-line);border-radius:14px;box-shadow:var(--rr-shadow)}
.rr-language-heading{margin:0;padding:9px 12px 7px;color:var(--rr-muted);font-size:10px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
.rr-language a.rr-language-option{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:11px 12px;border-radius:9px;color:var(--rr-muted);font-size:13px;font-weight:650;line-height:1.4}
.rr-language a.rr-language-option:hover,.rr-language a.rr-language-option:focus-visible{background:var(--rr-brand-soft,#fbede1)}
.rr-language a.rr-language-option[aria-current="page"]{background:var(--rr-brand-soft,#fbede1);color:var(--rr-brand-text,var(--rr-orange))}
.rr-language-code{color:var(--rr-muted);font-size:11px;font-weight:650;letter-spacing:.06em}
.rr-nav-book{background:var(--rr-ink);color:white!important;padding:13px 18px;border-radius:9px;font-size:12px;font-weight:750;transition:background .2s,transform .2s}
.rr-nav-book:hover{background:#364c4e;transform:translateY(-1px)}
.rr-nav-book span{margin-left:5px}
.rr-mobile-menu{display:none;position:relative}
.rr-mobile-menu>summary{width:44px;height:44px;cursor:pointer;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;list-style:none;border:1px solid var(--rr-line);border-radius:8px}
.rr-mobile-menu>summary::-webkit-details-marker{display:none}
.rr-mobile-menu>summary span{display:block;width:20px;height:2px;background:var(--rr-ink);border-radius:4px;transition:transform 220ms cubic-bezier(.22,1,.36,1),opacity 160ms ease}
.rr-mobile-menu[open]>summary span:first-child{transform:translateY(7px) rotate(45deg)}
.rr-mobile-menu[open]>summary span:nth-child(2){opacity:0;transform:scaleX(.65)}
.rr-mobile-menu[open]>summary span:last-child{transform:translateY(-7px) rotate(-45deg)}
.rr-mobile-panel{position:absolute;top:56px;right:0;width:min(90vw,330px);background:var(--rr-white);border:1px solid var(--rr-line);border-radius:16px;box-shadow:var(--rr-shadow);padding:18px;display:flex;flex-direction:column;gap:4px}
.rr-mobile-panel>a:not(.rr-btn){padding:11px 8px;border-radius:6px;font-weight:650}
.rr-mobile-panel>a:hover{background:#fbede1}
.rr-mobile-panel .rr-btn{margin-top:6px}
.rr-btn{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:50px;padding:13px 21px;border-radius:10px;font-size:13px;font-weight:760;letter-spacing:.01em;text-align:center;transition:transform .2s,background .2s,border-color .2s;white-space:normal}
.rr-btn:hover{transform:translateY(-2px)}
.rr-btn .rr-icon{width:18px;height:18px}
.rr-btn-primary{background:var(--rr-orange);color:white!important}
.rr-btn-primary:hover{background:#c7622a}
.rr-btn-outline{border:1px solid rgba(255,255,255,.48);color:#fff!important;background:rgba(255,255,255,.04)}
.rr-btn-outline:hover{background:rgba(255,255,255,.13)}
.rr-btn-cream{background:var(--rr-cream);color:var(--rr-ink)!important}
.rr-btn-cream:hover{background:#f4dfca}
.rr-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:32px}
.rr-overline{font-size:11px;font-weight:760;letter-spacing:.17em;text-transform:uppercase;color:var(--rr-orange-light);display:flex;align-items:center;gap:11px;margin:0 0 24px}
.rr-overline-rule{height:2px;width:27px;background:currentColor}
.rr-overline-dark{color:#b86132}
.rr-hero{background:var(--rr-dark);color:#fffaf4;overflow:hidden}
.rr-hero-grid{display:grid;grid-template-columns:1.04fr .96fr;min-height:645px;align-items:center;gap:48px;padding-block:70px}
.rr-hero-copy{position:relative;z-index:2;max-width:660px}
.rr-hero h1,.rr-inner-hero h1{font-size:clamp(47px,5.1vw,79px);line-height:1.075;letter-spacing:-.053em;font-weight:660;margin:0}
.rr-hero h1 em,.rr-inner-hero h1 em,.rr-section h2 em{display:block;font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.055em;line-height:1.09;color:var(--rr-orange-light)}
.rr-hero-lead{font-size:clamp(16px,1.35vw,19px);color:#d1d8d5;line-height:1.82;max-width:610px;margin:25px 0 0}
.rr-proofline{display:flex;flex-wrap:wrap;gap:25px;margin-top:45px;color:#d1dcd6;font-size:12px;font-weight:650}
.rr-proofline span{display:inline-flex;align-items:center;gap:8px}
.rr-proofline .rr-icon{width:17px;height:17px;color:var(--rr-orange-light)}
.rr-hero-visual{height:540px;min-width:0;position:relative;display:flex;align-items:center;justify-content:center;border-radius:35px 35px 145px 35px;background:radial-gradient(circle at 63% 26%,#ffb482 0,#e58b52 39%,#c56535 79%);isolation:isolate}
.rr-hero-visual::before{content:"";position:absolute;inset:20px;border:1px solid rgba(255,255,255,.46);border-radius:25px 25px 132px 25px;z-index:-1}
.rr-hero-visual--photo::before{z-index:2;pointer-events:none}
.rr-hero-photo{position:absolute;inset:0;border-radius:inherit;overflow:hidden;z-index:0}
.rr-hero-photo picture,.rr-hero-photo img{display:block;width:100%;height:100%}
.rr-hero-photo img{object-fit:cover;object-position:59% center;transform:scale(1);transition:transform 900ms cubic-bezier(.22,1,.36,1)}
.rr-hero-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(20,19,17,.53),transparent 51%),linear-gradient(90deg,rgba(20,19,17,.23),transparent 43%)}
.rr-hero-visual--photo:is(:hover,:focus-within) .rr-hero-photo img{transform:scale(1.035)}
.rr-hero-photo-action{position:absolute;inset:0;z-index:4;border-radius:inherit;cursor:pointer}
.rr-hero-visual--photo .rr-hero-orbit{z-index:1;border-color:rgba(255,250,244,.3);pointer-events:none}
.rr-hero-visual--photo .rr-hero-monogram{position:absolute;left:35px;bottom:27px;width:76px;height:76px;padding:4px;border-width:3px}
.rr-hero-visual--photo .rr-hero-side-label,.rr-hero-visual--photo .rr-hero-floating{z-index:3}
@media(prefers-reduced-motion:reduce){.rr-hero-photo img{transition:none}.rr-hero-visual--photo:is(:hover,:focus-within) .rr-hero-photo img{transform:none}}
.rr-hero-orbit{position:absolute;border:1px solid rgba(255,250,244,.5);border-radius:50%;width:520px;height:520px}
.rr-hero-orbit-one{transform:translate(65px,-30px)}
.rr-hero-orbit-two{width:360px;height:360px;transform:translate(-70px,50px)}
.rr-hero-monogram{width:310px;height:310px;border-radius:50%;background:var(--rr-cream);border:8px solid rgba(255,250,244,.52);padding:17px;box-shadow:0 36px 85px rgba(91,39,15,.22);display:flex;align-items:center;justify-content:center;z-index:1;transform:rotate(-8deg)}
.rr-hero-monogram img{width:100%;height:100%;object-fit:cover;border-radius:50%;transform:rotate(8deg)}
.rr-hero-side-label{position:absolute;top:40px;left:37px;font-size:11px;font-weight:800;letter-spacing:.11em;color:#fff}
.rr-hero-side-label span{display:block;font-size:9px;margin-top:5px;opacity:.7}
.rr-hero-floating{position:absolute;bottom:34px;right:-15px;max-width:300px;display:grid;grid-template-columns:45px 1fr;align-items:center;gap:2px 12px;background:#fffaf4;border-radius:15px;box-shadow:0 18px 55px rgba(44,22,13,.2);padding:17px 20px;color:var(--rr-ink)}
.rr-hero-floating>span{grid-row:span 2;width:45px;height:45px;border-radius:50%;background:#fee4d1;display:grid;place-items:center;color:#af5628}
.rr-hero-floating strong{font-size:14px}
.rr-hero-floating small{font-size:11px;color:#63706f;line-height:1.5}
.rr-hero-caption{min-height:69px;border-top:1px solid rgba(255,255,255,.15);display:flex;gap:22px;align-items:center;justify-content:space-between;color:#ccdad5;font-size:11px;letter-spacing:.02em}
.rr-hero-caption span:first-child{letter-spacing:.13em;font-weight:800;color:var(--rr-orange-light)}
.rr-section{padding:108px 0}
.rr-section-heading{display:grid;grid-template-columns:1.1fr .65fr;gap:75px;align-items:end;margin-bottom:38px}
.rr-section h2,.rr-cta h2,.rr-location-band h2{font-size:clamp(33px,3.7vw,55px);line-height:1.15;font-weight:670;letter-spacing:-.045em;margin:0}
.rr-section h2 em{display:inline;color:#c67240}
.rr-section-heading p:last-child{font-size:15px;color:#62706e;max-width:460px;line-height:1.85;margin:0 0 5px}
.rr-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.rr-service-card{display:flex;flex-direction:column;min-height:340px;position:relative;overflow:hidden;background:var(--rr-white);border:1px solid var(--rr-line);border-radius:16px;padding:0;transition:translate .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,border-color .25s}
.rr-card-copy{display:flex;flex:1;flex-direction:column;padding:28px 30px 30px}
.rr-card-media{display:block;position:relative;aspect-ratio:16/8.5;overflow:hidden;background:var(--rr-bg-muted)}
.rr-card-media picture,.rr-card-media img{display:block;width:100%;height:100%}
.rr-card-media img{object-fit:cover;transform:scale(1);transition:transform 800ms cubic-bezier(.22,1,.36,1)}
.rr-card-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(21,20,18,.48),transparent 50%)}
.rr-card-media-caption{position:absolute;bottom:15px;left:19px;right:17px;z-index:1;display:grid;gap:4px;color:#fff;text-shadow:0 1px 5px rgba(0,0,0,.55);pointer-events:none}
.rr-card-media-caption strong{font-size:17px;line-height:1.2;font-weight:730;letter-spacing:-.015em}
.rr-service-card:hover .rr-card-media img,.rr-service-card:focus-visible .rr-card-media img{transform:scale(1.045)}
.rr-service-card:focus-visible{outline:3px solid var(--rr-brand-orange);outline-offset:3px}
.rr-service-card--with-media .rr-card-category{margin-top:16px}
@media(prefers-reduced-motion:reduce){.rr-card-media img{transition:none}.rr-service-card:hover .rr-card-media img,.rr-service-card:focus-visible .rr-card-media img{transform:none}}
.rr-service-card::after{content:"";height:3px;background:var(--rr-orange);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.rr-service-card:is(:hover,:focus-visible){border-color:#edc7ae;box-shadow:0 24px 55px rgba(15,37,40,.09)}
@media(prefers-reduced-motion:no-preference){.rr-service-card:is(:hover,:focus-visible){translate:0 -5px}}
.rr-service-card:is(:hover,:focus-visible)::after{transform:scaleX(1)}
.rr-card-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.1em;color:#9da8a4;font-weight:800}
.rr-card-icon{width:50px;height:50px;display:grid;place-items:center;background:#fff1e5;color:#bc6130;border-radius:14px}
.rr-card-icon .rr-icon{height:26px;width:26px}
.rr-card-category{font-size:10px;color:#b96836;text-transform:uppercase;letter-spacing:.14em;font-weight:790;margin-top:32px}
.rr-service-card h3{font-size:25px;font-weight:670;letter-spacing:-.035em;margin:8px 0 12px}
.rr-service-card p{font-size:13px;line-height:1.8;color:#687473;margin:0 0 25px}
.rr-inline-link{margin-top:auto;display:flex;align-items:center;justify-content:space-between;font-weight:760;font-size:12px;color:#a8572d}
.rr-section-bottom{display:flex;justify-content:center;margin-top:37px}
.rr-text-link{display:inline-flex;align-items:center;gap:12px;color:#af5b30!important;font-size:14px;font-weight:800;padding-block:8px;border-bottom:1px solid currentColor}
.rr-text-link .rr-icon{width:18px}
/* Three-frame RR editorial narrative: THA's cinematic hierarchy, RR-owned media. */
.rr-photo-narrative{background:radial-gradient(circle at 82% 10%,rgba(242,101,34,.14),transparent 32rem),var(--rr-dark);color:#fff9f3}
.rr-photo-narrative-heading{align-items:end}
.rr-photo-narrative .rr-overline{color:var(--rr-brand-light)}
.rr-photo-narrative h2{color:#fff9f3}
.rr-photo-narrative h2 em{color:var(--rr-brand-light)}
.rr-photo-narrative .rr-section-heading>p{color:#d6cbc2}
.rr-photo-story-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.rr-photo-story-card{position:relative;grid-column:span 5;min-height:315px;margin:0;overflow:hidden;isolation:isolate;border-radius:20px;border:1px solid rgba(255,255,255,.13);background:#332924}
.rr-photo-story-card:first-child{grid-column:span 7;grid-row:span 2;min-height:646px}
.rr-photo-story-action{position:absolute;inset:0;z-index:3;border-radius:inherit;cursor:pointer}
.rr-photo-story-card picture{position:absolute;inset:0;display:block}
.rr-photo-story-card img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1);transition:transform 900ms cubic-bezier(.22,1,.36,1)}
.rr-photo-story-card::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(19,17,16,.91),rgba(19,17,16,.17) 65%,transparent)}
.rr-photo-story-card figcaption{position:absolute;z-index:1;left:clamp(20px,3vw,32px);right:clamp(20px,3vw,32px);bottom:clamp(24px,3vw,36px);color:white;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.rr-photo-story-card figcaption span{display:block;margin-bottom:10px;color:#ffc19b;font-size:10px;font-weight:800;letter-spacing:.16em}
.rr-photo-story-card figcaption strong{display:block;max-width:29rem;font-size:clamp(21px,2.4vw,34px);line-height:1.13;letter-spacing:-.035em;font-weight:680}
.rr-photo-story-card figcaption .rr-photo-story-cta{display:inline-block;margin-top:18px;margin-bottom:0;font-size:12px;font-weight:780;letter-spacing:.06em;color:#ffc19b;text-transform:none}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.rr-photo-story-card:is(:hover,:focus-within) img{transform:scale(1.045)}}
@media(max-width:960px){
 .rr-photo-story-card{grid-column:span 6;min-height:330px}
 .rr-photo-story-card:first-child{grid-column:1/-1;grid-row:auto;min-height:450px}
}
@media(max-width:600px){
 .rr-photo-story-grid{gap:14px}
 .rr-photo-story-card,.rr-photo-story-card:first-child{grid-column:1/-1;min-height:305px}
 .rr-photo-story-card:first-child{min-height:390px}
 .rr-photo-story-card figcaption strong{font-size:clamp(22px,6.4vw,29px)}
}
@media(prefers-reduced-motion:reduce){.rr-photo-story-card img{transition:none;transform:none}}
.rr-method{background:#263b3d;color:#fbf7f2}
.rr-method-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}
.rr-method h2{color:#fff5eb}
.rr-method h2 em{color:#e6a276}
.rr-method-heading>p:last-child{font-size:15px;line-height:1.9;color:#c5cfcb;max-width:500px;margin-top:27px}
.rr-method-steps{border-top:1px solid rgba(255,255,255,.19)}
.rr-method-step{padding:30px 0;display:grid;grid-template-columns:64px 1fr;gap:18px;border-bottom:1px solid rgba(255,255,255,.19)}
.rr-number{font-size:14px;color:#e5a174;letter-spacing:.1em;font-weight:760}
.rr-method-step h3{font-size:20px;font-weight:650;letter-spacing:-.02em;margin:0 0 9px}
.rr-method-step p{font-size:13px;color:#becac5;line-height:1.82;margin:0}
.rr-method .rr-btn{margin-top:26px}
.rr-difference-grid{display:grid;grid-template-columns:1fr 1fr;gap:105px;align-items:center}
.rr-difference-illustration{height:480px;background:linear-gradient(145deg,#ead7c7,#f9ece1 60%,#e7aa80);border-radius:18px 130px 18px 18px;display:grid;place-items:center;position:relative;overflow:hidden}
/* RR-owned, provenance-reviewed dental editorial image; no THA visual assets. */
.rr-difference-photo{margin:0;isolation:isolate;background:#302b28}
.rr-difference-photo picture{position:absolute;inset:0;display:block}
.rr-difference-photo img{width:100%;height:100%;object-fit:cover;object-position:center 40%;transform:scale(1);transition:transform 800ms cubic-bezier(.22,1,.36,1)}
.rr-difference-photo:is(:hover,:focus-within) img{transform:scale(1.045)}
.rr-difference-photo-action{position:absolute;inset:0;z-index:3;border-radius:inherit;cursor:pointer}
.rr-hero-photo-action:focus-visible,.rr-photo-story-action:focus-visible,.rr-difference-photo-action:focus-visible{outline:3px solid #ffc19b;outline-offset:-6px}
.rr-difference-photo::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(180deg,transparent,rgba(17,27,27,.78));pointer-events:none}
.rr-difference-photo-caption{position:absolute;z-index:1;bottom:28px;left:32px;right:32px;display:flex;justify-content:space-between;align-items:end;gap:20px;color:#fffaf5;font-size:11px}
.rr-difference-photo-caption strong{font-size:11px;font-weight:800;letter-spacing:.16em}
.rr-difference-photo-caption strong::after{content:" ↗";font-size:17px;letter-spacing:0;margin-left:8px}
@media(prefers-reduced-motion:reduce){.rr-difference-photo img{transition:none}}
.rr-difference-halo{position:absolute;width:390px;height:390px;border:1px solid rgba(164,95,59,.35);border-radius:50%;box-shadow:0 0 0 65px rgba(255,255,255,.2),0 0 0 130px rgba(255,255,255,.1)}
.rr-difference-symbol{z-index:1;display:grid;place-items:center;width:240px;height:240px;background:#fffaf4;border-radius:50%;box-shadow:0 22px 65px rgba(88,44,20,.15)}
.rr-difference-symbol .rr-icon{width:120px;height:120px;color:#c5723c;stroke-width:.9}
.rr-difference-index{position:absolute;bottom:25px;left:33px;font-size:11px;letter-spacing:.2em;font-weight:800;color:#6e563e}
.rr-difference .rr-body-large{margin:25px 0;font-size:16px}
.rr-body-large{font-size:17px;line-height:1.95;color:#596a68}
.rr-location-band{padding:65px 0;background:linear-gradient(105deg,#d37440,#be6030);color:white}
.rr-location-grid{display:flex;align-items:center;justify-content:space-between;gap:40px}
.rr-location-band h2{font-size:38px;max-width:670px}
.rr-location-band p{max-width:710px;line-height:1.8;color:#fff1e5}
.rr-faq-layout{display:grid;grid-template-columns:.83fr 1.17fr;gap:110px}
.rr-faqs{border-top:1px solid var(--rr-line)}
.rr-faq{border-bottom:1px solid var(--rr-line);padding:17px 0}
.rr-faq h3{font-size:17px;font-weight:650;line-height:1.5;margin:0;padding:7px 0}
.rr-faq p{color:#5b6a68;font-size:14px;line-height:1.85;padding-right:25px;margin:5px 0 12px}
.rr-cta{background:var(--rr-dark);color:#fff9f1;padding:85px 0}
.rr-cta-inner{display:flex;gap:55px;align-items:center;justify-content:space-between}
.rr-cta-inner>div{max-width:790px}
.rr-cta h2{font-size:clamp(34px,4vw,53px)}
.rr-cta p:not(.rr-overline){font-size:15px;line-height:1.8;color:#c5d1cc;max-width:650px}
.rr-cta .rr-btn{flex:0 0 auto}
.rr-footer{background:#101f22;color:#e7eeeb;padding:77px 0 25px}
.rr-footer-top{display:grid;grid-template-columns:1.5fr .75fr 1.15fr 1.2fr;gap:48px}
.rr-footer .rr-brand{color:white}
.rr-footer .rr-brand-text small{color:#c0ccc7}
.rr-footer-brand>p{font-size:13px;color:#aebdb8;line-height:1.9;max-width:330px;margin:26px 0 20px}
.rr-footer-social{font-size:13px;color:#efaa7b!important;font-weight:750}
.rr-footer nav,.rr-footer-contact{display:flex;flex-direction:column;gap:13px}
.rr-footer nav h3,.rr-footer-contact h3{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:#ecc2a0;margin:6px 0 12px}
.rr-footer nav a,.rr-footer-contact a,.rr-footer-contact p{font-size:12px;line-height:1.7;color:#c9d4d0}
.rr-footer nav a:hover,.rr-footer-contact a:hover{color:#fff}
.rr-footer-contact p{margin:0 0 8px}
.rr-footer-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid rgba(255,255,255,.12);margin-top:60px;padding-top:20px;font-size:11px;color:#94a5a0}
.rr-whatsapp-float{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;position:fixed;z-index:90;right:25px;bottom:25px;background:#227d55;color:#fff!important;box-shadow:0 13px 35px rgba(7,62,37,.26);transition:transform .2s}
.rr-whatsapp-float:hover{transform:translateY(-3px)}
.rr-whatsapp-float svg{width:29px;height:29px}
.rr-inner-hero{background:#21363a;color:#fff7f1;padding:92px 0;overflow:hidden}
.rr-inner-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:90px;align-items:center}
.rr-inner-hero h1{font-size:clamp(43px,4.6vw,68px)}
.rr-inner-hero h1 em{margin-top:6px}
.rr-inner-hero .rr-hero-lead{max-width:720px}
.rr-inner-art{background:linear-gradient(140deg,#ecaa78,#cb733f);min-height:320px;border-radius:90px 12px 90px 12px;display:grid;place-items:center;position:relative;overflow:hidden}
.rr-inner-art:before{content:"";position:absolute;inset:32px;border:1px solid rgba(255,255,255,.5);border-radius:70px 12px 70px 12px}
.rr-inner-art .rr-icon{width:165px;height:165px;color:#fff8ed;stroke-width:.7;filter:drop-shadow(0 7px 19px rgba(110,44,15,.13))}
.rr-inner-art span{position:absolute;bottom:22px;letter-spacing:.18em;font-weight:800;font-size:9px;color:#fff7ed}
.rr-inner-art--photo{margin:0;isolation:isolate;background:#4c443d}
.rr-inner-art--photo::before{z-index:2;pointer-events:none}
.rr-inner-art--photo picture{position:absolute;inset:0;display:block}
.rr-inner-art--photo img{display:block;width:100%;height:100%;object-fit:cover}
.rr-about-hero .rr-inner-art--photo img{object-position:center 32%}
.rr-inner-art--photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(15,18,17,.76),transparent 60%)}
.rr-inner-photo-caption{position:absolute;z-index:3;bottom:28px;left:30px;right:30px;display:grid;gap:6px;color:white;text-shadow:0 1px 7px rgba(0,0,0,.5)}
.rr-inner-photo-caption strong{font-size:clamp(15px,1.65vw,20px);line-height:1.25}
.rr-section-heading-compact{grid-template-columns:.9fr 1.1fr}
.rr-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:11px;margin-bottom:36px;font-size:12px;color:#cbd8d2}
.rr-breadcrumb a:hover{color:#fff}
.rr-breadcrumb span{opacity:.65}
.rr-service-hero .rr-inner-grid{grid-template-columns:1.2fr .8fr}
.rr-service-hero .rr-inner-hero h1{max-width:770px}
.rr-service-hero h1 em{font-size:.54em;line-height:1.35;letter-spacing:-.024em;margin-top:14px;max-width:710px}
.rr-detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:120px;align-items:center}
.rr-detail-grid p{line-height:1.9;color:#60716e}
.rr-detail-panel{padding:45px;background:#fff;box-shadow:0 14px 60px rgba(25,47,49,.06);border-radius:16px;border:1px solid var(--rr-line)}
.rr-detail-panel h3{font-size:23px;letter-spacing:-.03em;margin:0 0 23px}
.rr-detail-panel ul{list-style:none;padding:0;margin:0}
.rr-detail-panel li{display:flex;align-items:flex-start;gap:14px;margin:19px 0;color:#4c5a58;font-size:14px;line-height:1.65}
.rr-detail-panel li .rr-icon{color:#b76b42;margin-top:2px}
.rr-service-disclaimer{border-top:1px solid var(--rr-line);padding-top:22px;margin-top:25px;font-size:12px;line-height:1.9;color:#778481}
.rr-value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rr-value-grid article{padding:35px;background:white;border:1px solid var(--rr-line);border-radius:14px}
.rr-value-grid h3{font-size:23px;font-weight:650;letter-spacing:-.035em}
.rr-value-grid p{font-size:14px;color:#62736d;line-height:1.8}
.rr-method-symbol{height:320px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:50%}
.rr-method-symbol .rr-icon{width:160px;height:160px;stroke-width:.8;color:#eba06b}
.rr-location-internal{display:flex;align-items:center;gap:65px;background:#fff;border:1px solid var(--rr-line);padding:55px;border-radius:18px}
.rr-location-icon{width:128px;height:128px;background:#ffeedf;border-radius:50%;display:grid;place-items:center;flex-shrink:0;color:#c87342}
.rr-location-icon .rr-icon{width:58px;height:58px}
.rr-location-internal p{color:#66736e;max-width:660px}
.rr-location-internal .rr-btn{margin-top:15px}
.rr-contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}
.rr-contact-feature{background:#fff;border:1px solid var(--rr-line);border-radius:18px;padding:55px;display:flex;flex-direction:column;align-items:flex-start}
.rr-contact-feature h2{margin-top:20px}
.rr-contact-feature p{color:#62736e;max-width:390px}
.rr-contact-feature strong{font-size:26px;color:#bd6c3d;margin:14px 0 25px}
.rr-contact-icon{display:grid;place-items:center;width:55px;height:55px;background:#fde9dc;color:#c36936;border-radius:14px}
.rr-contact-stack{display:flex;flex-direction:column;gap:18px}
.rr-contact-stack article{background:white;border:1px solid var(--rr-line);padding:28px;border-radius:15px;display:flex;align-items:center;gap:24px;flex:1}
.rr-contact-stack h3{margin:0 0 5px;font-size:18px}
.rr-contact-stack a{font-size:14px;color:#b96a3f;overflow-wrap:anywhere}
.rr-contact-location{background:#f1e8dd}
.rr-contact-location-grid{display:grid;grid-template-columns:1fr .8fr;gap:100px;align-items:center}
.rr-address-card{background:linear-gradient(155deg,#293e40,#152628);color:#fff6ed;min-height:360px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;gap:14px;border-radius:17px;padding:55px;box-shadow:var(--rr-shadow)}
.rr-address-card>.rr-icon{width:36px;height:36px}
.rr-address-card strong{font-size:33px;letter-spacing:-.04em}
.rr-address-card p{margin:0;color:#edb68f;letter-spacing:.12em;font-weight:730;font-size:12px}
.rr-address-card>span{font-size:16px;font-weight:680}
.rr-address-card small{font-size:11px;letter-spacing:.12em;color:#cbd7d0}
.rr-contact-notices{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.rr-contact-notices article{padding:30px 37px;border:1px solid var(--rr-line);background:#fff;border-radius:14px}
.rr-contact-notices h3{margin:0 0 10px;font-size:20px}
.rr-contact-notices p{margin:0;color:#65716d;font-size:13px;line-height:1.9}
/* RR conversion rule: informative cards must offer a meaningful next step. */
.rr-card-action-link{display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:var(--rr-brand-text);font-size:13px;font-weight:750;text-decoration:none;line-height:1.5}
.rr-card-action-link:hover{text-decoration:underline}
.rr-card-action-link:focus-visible{outline:2px solid var(--rr-brand-orange);outline-offset:4px;border-radius:3px}
.rr-card-action-link .rr-icon{width:18px;height:18px}
.rr-address-card .rr-address-action{color:#ffe1c9}
.rr-founder-card .rr-card-action-link{margin-top:20px}
.rr-not-found{min-height:60vh;display:flex;align-items:center;padding:100px 0}
.rr-not-found h1{font-size:clamp(40px,5vw,65px);margin:20px 0;letter-spacing:-.04em}
.rr-not-found p{max-width:570px;color:#66736f}
.rr-not-found .rr-btn-outline{color:var(--rr-ink)!important;border-color:#aeb6b3}
@media(max-width:1160px){
 .rr-nav-links{display:none}.rr-mobile-menu{display:block}.rr-nav-actions{gap:10px}.rr-nav-book{padding:12px}
 .rr-brand-text small{font-size:8px}.rr-hero-grid{gap:35px}
 .rr-hero-visual{height:465px}.rr-hero-monogram{width:260px;height:260px}
 .rr-footer-top{gap:27px}
}
@media(max-width:960px){
 .rr-shell{width:min(100% - 42px,800px)}
 .rr-nav-links,.rr-nav-book{display:none}
 .rr-mobile-menu{display:block}
 .rr-hero-grid{grid-template-columns:1fr;gap:45px;padding-top:75px;padding-bottom:60px}
 .rr-hero-copy{max-width:790px}
 .rr-hero-visual{height:440px;max-width:690px;width:100%;justify-self:center}
 .rr-hero h1{max-width:790px}
 .rr-section-heading,.rr-method-grid,.rr-difference-grid,.rr-faq-layout,.rr-inner-grid,.rr-detail-grid,.rr-contact-location-grid{grid-template-columns:1fr;gap:35px}
 .rr-section-heading{align-items:start}
 .rr-method-grid,.rr-detail-grid{gap:50px}
 .rr-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .rr-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .rr-faq-layout{gap:25px}
 .rr-location-grid,.rr-cta-inner{align-items:flex-start;flex-direction:column}
 .rr-footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
 .rr-inner-hero{padding:70px 0}
 .rr-service-hero .rr-inner-grid{grid-template-columns:minmax(0,1fr);gap:34px}
 .rr-inner-art{min-height:290px}
 .rr-difference-grid{gap:50px}
 .rr-contact-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
 .rr-shell{width:calc(100% - 36px)}
 .rr-nav{height:76px;gap:12px}
 .rr-brand-image{width:47px;height:47px}
 .rr-brand-text strong{font-size:17px}
 .rr-brand-text small{font-size:7px;letter-spacing:.1em}
 .rr-hero-grid{padding-top:64px;padding-bottom:40px}
 .rr-hero h1,.rr-inner-hero h1{font-size:clamp(39px,11vw,57px)}
 .rr-hero-visual{height:335px;border-radius:21px 21px 70px 21px}
  .rr-hero-visual--photo .rr-hero-monogram{width:54px;height:54px;left:15px;bottom:15px}
 .rr-hero-visual::before{border-radius:10px 10px 60px 10px}
 .rr-hero-orbit-one{width:360px;height:360px}
 .rr-hero-orbit-two{width:230px;height:230px}
 .rr-hero-monogram{width:190px;height:190px;padding:9px}
 .rr-hero-side-label{top:25px;left:25px;font-size:8px}
 .rr-hero-floating{right:10px;bottom:-19px;max-width:235px;padding:12px 13px;grid-template-columns:35px 1fr}
 .rr-hero-floating>span{width:35px;height:35px}
 .rr-hero-floating strong{font-size:12px}
 .rr-hero-floating small{font-size:9px}
 .rr-hero-caption{padding-top:28px;padding-bottom:24px;align-items:flex-start;flex-direction:column;gap:5px;font-size:10px}
 .rr-section{padding:69px 0}
 .rr-section h2,.rr-cta h2{font-size:clamp(30px,9vw,42px)}
 .rr-service-grid{grid-template-columns:1fr}
 .rr-value-grid{grid-template-columns:1fr}
 .rr-service-card{min-height:290px}
  .rr-card-copy{padding:25px}
 .rr-method-grid{gap:30px}
 .rr-method-step{grid-template-columns:40px 1fr;gap:12px}
 .rr-difference-illustration{height:330px}
 .rr-difference-photo-caption{flex-direction:column;align-items:start;gap:7px;bottom:22px;left:24px;right:24px}
 .rr-difference-halo{width:280px;height:280px}
 .rr-difference-symbol{width:175px;height:175px}
 .rr-difference-symbol .rr-icon{width:80px;height:80px}
 .rr-cta{padding:68px 0}
 .rr-footer{padding-top:59px}
 .rr-footer-top{grid-template-columns:1fr;gap:30px}
 .rr-footer-bottom{flex-direction:column;gap:10px}
 .rr-inner-art{min-height:240px}
 .rr-inner-art .rr-icon{width:125px;height:125px}
 .rr-contact-feature{padding:33px 25px}
 .rr-contact-stack article{padding:23px}
 .rr-contact-location-grid{gap:30px}
 .rr-address-card{min-height:285px;padding:32px}
 .rr-address-card strong{font-size:28px}
 .rr-location-internal{flex-direction:column;align-items:flex-start;padding:32px;gap:24px}
 .rr-contact-notices{grid-template-columns:1fr}
 .rr-whatsapp-float{width:50px;height:50px;right:15px;bottom:15px}
}
/* Keep the language dropdown visible in the compact mobile header. */
@media(max-width:480px){
 .rr-brand-text strong span,.rr-brand-text small{display:none}
}
/* Match THA's compact branded nav at 320px without shrinking the menu's touch target. */
@media(max-width:360px){
 .rr-nav{gap:8px}
 .rr-brand{gap:9px}
 .rr-brand-text strong span,.rr-brand-text small{display:none}
 .rr-nav-actions{gap:8px}
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
  /* A zero-duration transition still allows a sudden positional jump.
     Preserve hover colors/focus without moving the navigation, CTA or imagery. */
  .rr-nav-book:hover,
  .rr-btn:hover,
  .rr-whatsapp-float:hover { transform: none; }
  .rr-difference-photo:is(:hover, :focus-within) img { transform: scale(1); }
}

/* RR founder: evidence-based university teaching and qualifications, ES/EN. */
.rr-founder{background:var(--rr-bg-muted)}
.rr-founder-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(36px,7vw,110px);align-items:center}
.rr-founder-story .rr-body-large{max-width:610px;margin:26px 0 27px;color:var(--rr-ink-soft)}
.rr-founder-story .rr-text-link{display:inline-flex;align-items:center;gap:8px}
.rr-founder-card{position:relative;overflow:hidden;padding:clamp(30px,4vw,54px);background:var(--rr-bg-elevated);border:1px solid var(--rr-line);border-radius:22px;box-shadow:var(--rr-shadow)}
.rr-founder-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--rr-brand-orange),transparent)}
.rr-founder-monogram{display:grid;place-items:center;width:72px;height:72px;margin-bottom:26px;background:var(--rr-brand-soft);color:var(--rr-brand-text);font-family:Georgia,serif;font-size:27px;border-radius:50%}
.rr-founder-card-label{margin:0 0 7px;color:var(--rr-brand-text);font-weight:780;letter-spacing:.13em;font-size:10px}
.rr-founder-card h3{margin:0;font-size:clamp(26px,2.7vw,37px);line-height:1.2;letter-spacing:-.035em}
.rr-founder-role{margin:12px 0 20px;font-size:13px;font-weight:650;line-height:1.8;color:var(--rr-brand-text)}
.rr-founder-degrees{padding:0;margin:17px 0 0;list-style:none}
.rr-founder-degrees li{position:relative;padding:13px 0 13px 23px;border-top:1px solid var(--rr-line);font-size:14px;line-height:1.7;color:var(--rr-ink-soft)}
.rr-founder-degrees li::before{content:"";position:absolute;left:1px;top:23px;width:7px;height:7px;border-radius:50%;background:var(--rr-brand-orange)}
.rr-founder-detail{background:var(--rr-bg-muted);scroll-margin-top:96px}
.rr-founder-detail-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,7vw,110px);align-items:start}
.rr-founder-detail-intro{position:sticky;top:125px}
.rr-founder-detail-intro h2{overflow-wrap:break-word}
.rr-founder-detail-intro .rr-body-large{color:var(--rr-ink-soft);margin:25px 0}
.rr-founder-detail-facts{display:grid;gap:17px}
.rr-founder-detail-facts>div{padding:clamp(23px,3vw,34px);border:1px solid var(--rr-line);border-radius:16px;background:var(--rr-bg-elevated)}
.rr-founder-detail-facts h3{font-size:20px;line-height:1.3;letter-spacing:-.025em;margin:0 0 15px}
.rr-founder-detail-facts p{line-height:1.85;margin:0;color:var(--rr-ink-soft);font-size:14px}
.rr-founder-sources{list-style:none;margin:0;padding:0}
.rr-founder-sources li+li{border-top:1px solid var(--rr-line)}
.rr-founder-sources a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0;color:var(--rr-brand-text);font-size:13px;font-weight:650;line-height:1.5}
.rr-founder-sources a:hover{text-decoration:underline;text-underline-offset:4px}
.rr-founder-sources .rr-icon{width:16px;height:16px;flex-shrink:0}
@media(max-width:960px){
 .rr-founder-grid,.rr-founder-detail-grid{grid-template-columns:1fr;gap:35px}
 .rr-founder-detail-intro{position:static}
}
@media(max-width:600px){
 .rr-founder-card{padding:26px 23px}
 .rr-founder-monogram{width:58px;height:58px;font-size:22px;margin-bottom:18px}
 .rr-founder-detail-facts>div{padding:22px}
}

