@import url('https://fonts.googleapis.com/css2?family=Sora:wght@300;400;500;600;700;800&display=swap');

:root{
  --ri-hue-primary:#16323e;
  --ri-accent:#cc7a3c;
  --ri-paper:#f6f4ef;

  --ri-p900:color-mix(in oklch, var(--ri-hue-primary), black 35%);
  --ri-p800:color-mix(in oklch, var(--ri-hue-primary), black 15%);
  --ri-p700:var(--ri-hue-primary);
  --ri-p600:color-mix(in oklch, var(--ri-hue-primary), white 15%);
  --ri-p500:color-mix(in oklch, var(--ri-hue-primary), white 30%);
  --ri-p400:color-mix(in oklch, var(--ri-hue-primary), white 45%);
  --ri-p300:color-mix(in oklch, var(--ri-hue-primary), white 62%);
  --ri-p200:color-mix(in oklch, var(--ri-hue-primary), white 78%);
  --ri-p100:color-mix(in oklch, var(--ri-hue-primary), white 90%);
  --ri-p50:color-mix(in oklch, var(--ri-hue-primary), white 96%);

  --ri-a700:color-mix(in oklch, var(--ri-accent), black 20%);
  --ri-a600:color-mix(in oklch, var(--ri-accent), black 8%);
  --ri-a500:var(--ri-accent);
  --ri-a400:color-mix(in oklch, var(--ri-accent), white 20%);
  --ri-a300:color-mix(in oklch, var(--ri-accent), white 45%);
  --ri-a200:color-mix(in oklch, var(--ri-accent), white 65%);
  --ri-a100:color-mix(in oklch, var(--ri-accent), white 84%);

  --ri-ink:color-mix(in oklch, var(--ri-hue-primary), black 55%);
  --ri-body:color-mix(in oklch, var(--ri-hue-primary), black 15%);
  --ri-muted:color-mix(in oklch, var(--ri-hue-primary), white 32%);
  --ri-bg:var(--ri-paper);
  --ri-bg-alt:color-mix(in oklch, var(--ri-p50), white 20%);
  --ri-border:color-mix(in oklch, var(--ri-hue-primary), white 84%);

  --ri-shadow-sm:0 1px 2px color-mix(in oklch, var(--ri-p900), transparent 90%), 0 1px 1px color-mix(in oklch, var(--ri-p900), transparent 94%);
  --ri-shadow-md:0 12px 28px -10px color-mix(in oklch, var(--ri-p900), transparent 72%), 0 4px 10px -4px color-mix(in oklch, var(--ri-p900), transparent 84%);
  --ri-shadow-lg:0 30px 70px -22px color-mix(in oklch, var(--ri-p900), transparent 62%), 0 10px 26px -8px color-mix(in oklch, var(--ri-p900), transparent 78%);

  --ri-radius-sm:8px;
  --ri-radius-md:18px;
  --ri-radius-lg:30px;
  --ri-radius-pill:999px;

  --ri-space-xs:clamp(0.5rem,0.4rem + 0.3vw,0.75rem);
  --ri-space-sm:clamp(1rem,0.9rem + 0.5vw,1.6rem);
  --ri-space-md:clamp(2rem,1.5rem + 1.8vw,3.2rem);
  --ri-space-lg:clamp(3.5rem,2.6rem + 3vw,6.5rem);
  --ri-space-xl:clamp(5rem,3.6rem + 5vw,9.5rem);

  --ri-ease:cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{
  margin:0;
  font-family:'Sora',sans-serif;
  background:var(--ri-bg);
  color:var(--ri-body);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.ri-noscroll{overflow:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;}
h1,h2,h3,h4{font-family:'Sora',sans-serif;color:var(--ri-ink);margin:0 0 .6em;font-weight:700;line-height:1.15;letter-spacing:-0.01em;}
p{margin:0 0 1em;}
ul{margin:0;}
button{font-family:inherit;}
:focus-visible{outline:2px solid var(--ri-accent);outline-offset:3px;}

.ri-container{width:100%;max-width:1240px;margin-inline:auto;padding-inline:1.25rem;}
@media(min-width:768px){.ri-container{padding-inline:2rem;}}

.ri-heading-xl{font-size:clamp(2.4rem,1.7rem + 3.4vw,5rem);font-weight:800;letter-spacing:-0.02em;color:inherit;}
.ri-heading-lg{font-size:clamp(2rem,1.5rem + 2.2vw,3.4rem);font-weight:700;color:inherit;margin-bottom:.5em;}
.ri-heading-md{font-size:clamp(1.5rem,1.3rem + 1vw,2.3rem);font-weight:700;color:inherit;}
.ri-text-lead{font-size:clamp(1.05rem,1rem + 0.3vw,1.3rem);color:color-mix(in oklch, var(--ri-body), white 10%);line-height:1.7;}
.ri-max-60{max-width:60ch;}

.ri-eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:700;color:var(--ri-a600);margin-bottom:.9rem;}
.ri-eyebrow--light{color:var(--ri-a300);}


.ri-nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1.1rem 0;transition:background .4s var(--ri-ease), box-shadow .4s ease, padding .4s ease;}
.ri-nav-inner{max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;}
.ri-nav--dark{--ri-nav-fg:#f6f4ef;}
.ri-nav--light{--ri-nav-fg:var(--ri-ink);}
.ri-nav.ri-nav--scrolled{background:color-mix(in oklch, var(--ri-paper), transparent 8%);backdrop-filter:blur(14px);box-shadow:var(--ri-shadow-sm);}
.ri-nav.ri-nav--scrolled.ri-nav--dark{background:color-mix(in oklch, var(--ri-p900), transparent 8%);}
.ri-logo{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.2rem;text-decoration:none;color:var(--ri-nav-fg);transition:color .4s ease;}
.ri-nav-links{display:flex;align-items:center;gap:1.9rem;}
.ri-nav-links a{text-decoration:none;font-weight:500;font-size:.96rem;color:var(--ri-nav-fg);transition:color .3s ease, opacity .3s ease;opacity:.86;}
.ri-nav-links a:hover{opacity:1;}
.ri-nav-links a.ri-nav-active{opacity:1;border-bottom:2px solid var(--ri-a500);padding-bottom:3px;}
.ri-nav-cta{background:var(--ri-a500);color:#fff !important;padding:.7rem 1.3rem;border-radius:var(--ri-radius-pill);opacity:1 !important;transition:background .3s ease, transform .3s ease;}
.ri-nav-cta:hover{background:var(--ri-a600);transform:translateY(-2px);}

.ri-burger{display:none;position:relative;width:44px;height:44px;background:none;border:none;cursor:pointer;align-items:center;justify-content:center;z-index:1200;}
.ri-burger span{position:absolute;left:11px;right:11px;height:2px;background:var(--ri-nav-fg);border-radius:2px;transition:transform .35s var(--ri-ease), opacity .3s ease, background .3s ease;}
.ri-burger span:nth-child(1){top:15px;}
.ri-burger span:nth-child(2){top:21px;}
.ri-burger span:nth-child(3){top:27px;}
.ri-burger--active span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.ri-burger--active span:nth-child(2){opacity:0;}
.ri-burger--active span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

.ri-mobile-menu{position:fixed;inset:0;z-index:1100;background:var(--ri-p900);clip-path:circle(0% at var(--ri-x,92%) var(--ri-y,4%));transition:clip-path .65s var(--ri-ease);pointer-events:none;display:flex;align-items:center;justify-content:center;}
.ri-mobile-menu.ri-open{clip-path:circle(150% at var(--ri-x,92%) var(--ri-y,4%));pointer-events:auto;}
.ri-mobile-menu nav{display:flex;flex-direction:column;gap:1.9rem;text-align:center;opacity:0;transform:translateY(14px);transition:opacity .5s ease .2s, transform .5s ease .2s;}
.ri-mobile-menu.ri-open nav{opacity:1;transform:translateY(0);}
.ri-mobile-menu a{font-size:clamp(1.7rem,6vw,2.4rem);color:var(--ri-paper);font-weight:600;text-decoration:none;transition:color .3s ease, opacity .3s ease;}
.ri-mobile-menu a:hover{color:var(--ri-a300);}

@media(max-width:960px){
  .ri-nav-links{display:none;}
  .ri-burger{display:flex;}
}


.ri-hero{min-height:100svh;background:var(--ri-p900);color:var(--ri-p50);display:flex;align-items:center;position:relative;overflow:hidden;}
.ri-hero-inner{display:grid;grid-template-columns:1.15fr .95fr;width:100%;min-height:100svh;}
.ri-hero-content{padding:clamp(7.5rem,10vw,10rem) clamp(1.5rem,4vw,4.5rem) var(--ri-space-lg);display:flex;flex-direction:column;gap:1.4rem;justify-content:center;position:relative;z-index:2;}
.ri-hero-content .ri-heading-xl{color:#fff;}
.ri-hero-content .ri-text-lead{color:color-mix(in oklch, var(--ri-p50), transparent 6%);max-width:52ch;}
.ri-hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.6rem;}
.ri-hero-note{font-size:.88rem;color:color-mix(in oklch, var(--ri-p50), transparent 30%);}
.ri-hero-visual{position:relative;overflow:hidden;}
.ri-hero-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(0.92) contrast(1.05);}
.ri-hero-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(115deg, var(--ri-p900) 0%, color-mix(in oklch, var(--ri-p900), transparent 100%) 42%, color-mix(in oklch, var(--ri-p900), transparent 60%) 100%);}

@media(max-width:960px){
  .ri-hero-inner{grid-template-columns:1fr;}
  .ri-hero-visual{height:46vh;order:2;}
  .ri-hero-content{order:1;padding-top:7.5rem;padding-bottom:2.5rem;}
}


.ri-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.95rem 1.85rem;border-radius:var(--ri-radius-pill);font-weight:600;font-size:.96rem;text-decoration:none;transition:background .35s var(--ri-ease), color .35s ease, transform .3s ease, box-shadow .35s ease, border-color .3s ease;cursor:pointer;border:1.5px solid transparent;min-height:48px;white-space:nowrap;}
.ri-btn-primary{background:var(--ri-a500);color:#fff;box-shadow:var(--ri-shadow-md);}
.ri-btn-primary:hover{background:var(--ri-a600);transform:translateY(-3px);box-shadow:var(--ri-shadow-lg);}
.ri-btn-dark{background:var(--ri-p900);color:#fff;}
.ri-btn-dark:hover{background:var(--ri-p800);transform:translateY(-3px);}
.ri-btn-outline{border-color:color-mix(in oklch, var(--ri-ink), transparent 65%);color:var(--ri-ink);background:transparent;}
.ri-btn-outline:hover{background:color-mix(in oklch, var(--ri-ink), transparent 92%);transform:translateY(-2px);}
.ri-btn-outline.ri-btn-invert{border-color:color-mix(in oklch, #fff, transparent 55%);color:#fff;}
.ri-btn-outline.ri-btn-invert:hover{background:color-mix(in oklch, #fff, transparent 88%);}
.ri-btn-sm{padding:.6rem 1.1rem;font-size:.85rem;min-height:40px;}
.ri-btn-block{width:100%;}


.ri-section{padding:var(--ri-space-xl) 0;position:relative;}
.ri-section--light{background:var(--ri-bg);color:var(--ri-body);}
.ri-section--alt{background:var(--ri-bg-alt);color:var(--ri-body);}
.ri-section--dark{background:var(--ri-p900);color:var(--ri-p50);}
.ri-section--dark h2,.ri-section--dark h3{color:#fff;}
.ri-section--dark .ri-text-lead{color:color-mix(in oklch, var(--ri-p50), transparent 10%);}


.ri-credential-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:var(--ri-space-md);}
.ri-credential{background:#fff;border:1px solid var(--ri-border);border-radius:var(--ri-radius-md);padding:1.8rem 1.5rem;box-shadow:var(--ri-shadow-sm);transition:transform .4s var(--ri-ease), box-shadow .4s ease;}
.ri-credential:hover{transform:translateY(-6px);box-shadow:var(--ri-shadow-md);}
.ri-credential i{font-size:1.5rem;color:var(--ri-a500);margin-bottom:.8rem;}
.ri-credential h3{font-size:1.05rem;margin-bottom:.4rem;}
.ri-credential p{font-size:.92rem;color:var(--ri-muted);margin:0;}

@media(max-width:960px){.ri-credential-row{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.ri-credential-row{grid-template-columns:1fr;}}


.ri-highlight{background-image:linear-gradient(var(--ri-a200),var(--ri-a200));background-repeat:no-repeat;background-size:0% 100%;background-position:0 88%;transition:background-size .9s var(--ri-ease);padding:0 .18em;border-radius:3px;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
.ri-highlight.ri-highlight-active{background-size:100% 100%;}


.ri-tabs{display:flex;flex-direction:column;gap:var(--ri-space-md);}
.ri-tab-buttons{display:flex;flex-wrap:wrap;gap:.3rem 1rem;border-bottom:1px solid var(--ri-border);}
.ri-tab-btn{background:none;border:none;padding:.9rem .25rem;font-size:.98rem;font-weight:600;color:var(--ri-muted);cursor:pointer;position:relative;transition:color .3s ease;min-height:44px;}
.ri-tab-btn::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--ri-a500);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ri-ease);border-radius:2px;}
.ri-tab-btn.active{color:var(--ri-ink);}
.ri-tab-btn.active::after{transform:scaleX(1);}
.ri-tab-panels{position:relative;}
.ri-tab-panel{display:none;grid-template-columns:1fr 1.15fr;gap:var(--ri-space-md);align-items:center;}
.ri-tab-panel img{border-radius:var(--ri-radius-md);box-shadow:var(--ri-shadow-md);width:100%;height:340px;object-fit:cover;}
.ri-tab-panel.active{display:grid;animation:riFade .6s var(--ri-ease);}
.ri-tab-panel h3{margin-bottom:.6rem;}
@keyframes riFade{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}

@media(max-width:800px){
  .ri-tab-panel{grid-template-columns:1fr;}
  .ri-tab-panel img{height:220px;}
}


.ri-process-list{display:flex;flex-direction:column;gap:var(--ri-space-lg);margin-top:var(--ri-space-md);}
.ri-process-row{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--ri-space-md);align-items:center;}
.ri-process-row--reverse{direction:rtl;}
.ri-process-row--reverse > *{direction:ltr;}
.ri-process-media img{width:100%;height:280px;object-fit:cover;border-radius:var(--ri-radius-md);box-shadow:var(--ri-shadow-lg);}
.ri-process-num{display:inline-block;font-size:.85rem;font-weight:700;color:var(--ri-a300);letter-spacing:.1em;margin-bottom:.5rem;}
.ri-process-text h3{color:#fff;font-size:1.4rem;}
.ri-process-text p{color:color-mix(in oklch, var(--ri-p50), transparent 12%);}

@media(max-width:820px){
  .ri-process-row,.ri-process-row--reverse{grid-template-columns:1fr;direction:ltr;}
  .ri-process-media img{height:220px;}
}


.ri-split-section{display:grid;grid-template-columns:1fr 1fr;gap:var(--ri-space-md);align-items:center;}
.ri-split-section--reverse{direction:rtl;}
.ri-split-section--reverse > *{direction:ltr;}
.ri-split-media img{width:100%;height:380px;object-fit:cover;border-radius:var(--ri-radius-lg);box-shadow:var(--ri-shadow-lg);}
.ri-split-text p{max-width:56ch;}
.ri-split-text .ri-btn{margin-top:.6rem;}

@media(max-width:900px){
  .ri-split-section,.ri-split-section--reverse{grid-template-columns:1fr;direction:ltr;}
  .ri-split-media img{height:260px;}
}


.ri-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem;margin-top:var(--ri-space-md);}
.ri-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;margin-top:var(--ri-space-md);}
.ri-card{background:#fff;border-radius:var(--ri-radius-md);padding:2rem 1.7rem;box-shadow:var(--ri-shadow-sm);border:1px solid var(--ri-border);transition:transform .4s var(--ri-ease), box-shadow .4s ease;}
.ri-card:hover{transform:translateY(-6px);box-shadow:var(--ri-shadow-md);}
.ri-card i{font-size:1.6rem;color:var(--ri-a500);margin-bottom:.9rem;}
.ri-card h3{font-size:1.15rem;}
.ri-card p{color:var(--ri-muted);font-size:.95rem;margin:0;}
.ri-check-list{list-style:none;padding:0;margin:.8rem 0 0;display:flex;flex-direction:column;gap:.65rem;}
.ri-check-list li{padding-left:1.6rem;position:relative;font-size:.95rem;color:var(--ri-muted);}
.ri-check-list li::before{content:'\f00c';font-family:'Font Awesome 6 Free';font-weight:900;position:absolute;left:0;top:2px;color:var(--ri-a500);font-size:.8rem;}

@media(max-width:900px){.ri-grid-4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.ri-grid-2,.ri-grid-4{grid-template-columns:1fr;}}


.ri-location-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--ri-space-md);margin-top:var(--ri-space-md);align-items:stretch;}
.ri-location-info{background:#fff;border-radius:var(--ri-radius-lg);padding:2.4rem;box-shadow:var(--ri-shadow-md);border:1px solid var(--ri-border);display:flex;flex-direction:column;gap:.7rem;}
.ri-location-info h3{font-size:1.5rem;}
.ri-location-info p{margin:0;font-size:.98rem;}
.ri-location-info i{color:var(--ri-a500);width:1.4rem;}
.ri-location-info .ri-btn{margin-top:1rem;align-self:flex-start;}
.ri-location-map{border-radius:var(--ri-radius-lg);overflow:hidden;box-shadow:var(--ri-shadow-md);min-height:340px;}
.ri-location-map iframe{width:100%;height:100%;min-height:340px;}

@media(max-width:900px){.ri-location-grid{grid-template-columns:1fr;}}


.ri-cta-banner{background:linear-gradient(120deg, var(--ri-a600), var(--ri-a500));color:#fff;padding:var(--ri-space-lg) 0;text-align:center;}
.ri-cta-banner h2{color:#fff;}
.ri-cta-banner p{max-width:52ch;margin:0 auto 1.6rem;color:color-mix(in oklch, #fff, transparent 8%);}


.ri-page-header{padding:calc(var(--ri-space-xl) + 2rem) 0 var(--ri-space-lg);}
.ri-page-header .ri-container > *{max-width:62ch;}
.ri-page-header--image,.ri-page-header{position:relative;}
.ri-page-header-bg{position:absolute;inset:0;z-index:0;}
.ri-page-header-bg img{width:100%;height:100%;object-fit:cover;}
.ri-page-header-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, color-mix(in oklch, var(--ri-p900), transparent 8%) 10%, color-mix(in oklch, var(--ri-p900), transparent 45%) 100%);}
.ri-page-header .ri-container{position:relative;z-index:1;}
section[style*="min-height:60vh"] .ri-container,
.ri-page-header{min-height:auto;}


.ri-process-split-inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--ri-space-lg);align-items:start;}
.ri-process-sticky{position:sticky;top:100px;border-radius:var(--ri-radius-lg);overflow:hidden;box-shadow:var(--ri-shadow-lg);height:560px;}
.ri-process-sticky img{width:100%;height:100%;object-fit:cover;}
.ri-process-sticky-overlay{position:absolute;inset:0;background:linear-gradient(180deg, transparent 30%, color-mix(in oklch, var(--ri-p900), transparent 5%) 100%);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:2.2rem;}
.ri-process-sticky-overlay h3{color:#fff;font-size:1.4rem;}
.ri-process-sticky-overlay p{color:color-mix(in oklch, #fff, transparent 15%);margin:0;font-size:.95rem;}
.ri-process-scroll{display:flex;flex-direction:column;gap:var(--ri-space-lg);}
.ri-step{border-top:1px solid var(--ri-border);padding-top:var(--ri-space-md);}
.ri-step img{width:100%;height:260px;object-fit:cover;border-radius:var(--ri-radius-md);box-shadow:var(--ri-shadow-md);margin-bottom:1.3rem;}
.ri-step-num{display:block;font-weight:800;font-size:1rem;letter-spacing:.1em;color:var(--ri-a500);margin-bottom:.5rem;}
.ri-step h3{font-size:1.4rem;}

@media(max-width:960px){
  .ri-process-split-inner{grid-template-columns:1fr;}
  .ri-process-sticky{position:relative;top:0;height:280px;}
}


.ri-footer{background:var(--ri-p900);color:color-mix(in oklch, var(--ri-p50), transparent 4%);padding:var(--ri-space-xl) 0 var(--ri-space-md);}
.ri-footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--ri-space-lg);padding-bottom:var(--ri-space-md);border-bottom:1px solid color-mix(in oklch, var(--ri-p50), transparent 85%);}
.ri-footer-brand p{max-width:52ch;color:color-mix(in oklch, var(--ri-p50), transparent 18%);}
.ri-logo--footer{margin-bottom:1.2rem;color:#fff;}
.ri-footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--ri-space-md);}
.ri-footer-links h4{color:#fff;font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem;}
.ri-footer-links a,.ri-footer-links span{display:block;text-decoration:none;color:color-mix(in oklch, var(--ri-p50), transparent 25%);font-size:.94rem;margin-bottom:.7rem;transition:color .3s ease;}
.ri-footer-links a:hover{color:var(--ri-a300);}
.ri-footer-bottom{padding-top:var(--ri-space-md);}
.ri-footer-bottom p{font-size:.85rem;color:color-mix(in oklch, var(--ri-p50), transparent 35%);margin:0;}
.ri-footer-bottom a{color:inherit;text-decoration:underline;}

@media(max-width:860px){
  .ri-footer-grid{grid-template-columns:1fr;}
  .ri-footer-links{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:560px){
  .ri-footer-links{grid-template-columns:1fr 1fr;}
}


.ri-form-page{padding-top:calc(var(--ri-space-xl) + 2rem);}
.ri-contact-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:var(--ri-space-lg);align-items:start;}
.ri-contact-details{display:flex;flex-direction:column;gap:.6rem;margin:1.5rem 0;}
.ri-contact-details p{margin:0;}
.ri-contact-details i{color:var(--ri-a500);width:1.3rem;}
.ri-entry-instructions{background:#fff;border:1px solid var(--ri-border);border-radius:var(--ri-radius-md);padding:1.6rem;margin-bottom:1.5rem;box-shadow:var(--ri-shadow-sm);}
.ri-entry-instructions h3{font-size:1.1rem;margin-bottom:.5rem;}
.ri-entry-instructions p{margin:0;font-size:.94rem;color:var(--ri-muted);}
.ri-contact-map{border-radius:var(--ri-radius-md);overflow:hidden;box-shadow:var(--ri-shadow-sm);}

.ri-contact-form-wrap{background:#fff;border-radius:var(--ri-radius-lg);padding:clamp(1.8rem,3vw,3rem);box-shadow:var(--ri-shadow-lg);border:1px solid var(--ri-border);}
.ri-field{margin-bottom:var(--ri-space-sm);}
.ri-field label{display:block;font-weight:600;margin-bottom:.5rem;font-size:.95rem;}
.ri-field input,.ri-field textarea{width:100%;padding:.95rem 1.1rem;border-radius:var(--ri-radius-sm);border:1px solid var(--ri-border);font-family:inherit;font-size:1rem;background:#fff;color:var(--ri-ink);transition:border-color .3s ease, box-shadow .3s ease;}
.ri-field input:focus,.ri-field textarea:focus{outline:none;border-color:var(--ri-accent);box-shadow:0 0 0 4px color-mix(in oklch, var(--ri-accent), transparent 82%);}
.ri-field textarea{resize:vertical;min-height:120px;}
.ri-helper{font-size:.83rem;color:var(--ri-muted);margin-top:.45rem;margin-bottom:0;}
.ri-checkbox-row{display:flex;gap:.75rem;align-items:flex-start;}
.ri-checkbox-row input{width:20px;height:20px;margin-top:2px;flex-shrink:0;}
.ri-checkbox-row label{font-weight:400;font-size:.92rem;margin:0;}
.ri-field.ri-invalid input,.ri-field.ri-invalid textarea{border-color:#b3462f;}
.ri-checkbox-row.ri-invalid{outline:1px solid #b3462f;border-radius:var(--ri-radius-sm);padding:.4rem;}

@media(max-width:900px){.ri-contact-layout{grid-template-columns:1fr;}}


.ri-thanks{min-height:80vh;display:flex;align-items:center;padding:var(--ri-space-xl) 0;}
.ri-thanks-inner{text-align:center;max-width:56ch;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1.2rem;}
.ri-thanks-icon{font-size:4.5rem;color:var(--ri-a500);}


.ri-legal{padding:calc(var(--ri-space-xl) + 2rem) 0 var(--ri-space-xl);}
.ri-legal-updated{color:var(--ri-muted);font-size:.9rem;margin-bottom:2.5rem;}
.ri-legal h2{font-size:1.35rem;margin-top:2.4rem;padding-top:.4rem;}
.ri-legal p{max-width:74ch;color:var(--ri-body);}


.ri-cookie-bar{position:fixed;left:0;right:0;bottom:0;z-index:2000;background:var(--ri-p900);color:var(--ri-p50);box-shadow:0 -14px 40px -12px color-mix(in oklch, var(--ri-p900), transparent 30%);transform:translateY(110%);transition:transform .55s var(--ri-ease);padding:1.3rem 0;}
.ri-cookie-bar.ri-show{transform:translateY(0);}
.ri-cookie-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;}
.ri-cookie-text{font-size:.9rem;max-width:640px;margin:0;color:color-mix(in oklch, var(--ri-p50), transparent 12%);}
.ri-cookie-text a{color:var(--ri-a300);text-decoration:underline;}
.ri-cookie-actions{display:flex;gap:.7rem;flex-wrap:wrap;}
.ri-cookie-bar .ri-btn-outline{border-color:color-mix(in oklch, #fff, transparent 55%);color:#fff;}
.ri-cookie-bar .ri-btn-outline:hover{background:color-mix(in oklch, #fff, transparent 88%);}
.ri-cookie-categories{display:none;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.2rem;margin-top:1.3rem;padding-top:1.3rem;border-top:1px solid color-mix(in oklch, var(--ri-p50), transparent 82%);align-items:end;}
.ri-cookie-bar.ri-expanded .ri-cookie-categories{display:grid;}
.ri-cookie-cat{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;}
.ri-cookie-cat span{display:flex;align-items:center;gap:.5rem;font-weight:600;}
.ri-cookie-cat small{color:color-mix(in oklch, var(--ri-p50), transparent 30%);font-weight:400;}

@media(max-width:860px){
  .ri-cookie-inner{flex-direction:column;align-items:flex-start;}
  .ri-cookie-actions{width:100%;}
}


@media(max-width:1024px){
  .ri-hero-content{padding-left:2rem;padding-right:2rem;}
}
@media(max-width:600px){
  .ri-heading-xl{font-size:clamp(2.1rem,1.7rem + 6vw,3rem);}
  .ri-btn{width:100%;}
  .ri-hero-actions{flex-direction:column;}
  .ri-hero-actions .ri-btn{width:100%;}
}
@media(min-width:601px){
  .ri-hero-actions .ri-btn{width:auto;}
}