

@font-face { font-family: "Outfit"; src: url("fonts/outfit/Outfit-latin-var.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Outfit Fallback"; src: local("Arial"), local("ArialMT"), local("Liberation Sans"), local("LiberationSans"), local("Helvetica"); font-weight: 100 500;
  size-adjust: 99%; ascent-override: 101%; descent-override: 26.3%; line-gap-override: 0%; }
@font-face { font-family: "Outfit Fallback"; src: local("Arial Bold"), local("Arial-BoldMT"), local("Liberation Sans Bold"), local("LiberationSans-Bold"), local("Helvetica Bold"); font-weight: 600 900;
  size-adjust: 94.28%; ascent-override: 106.07%; descent-override: 27.58%; line-gap-override: 0%; }

@font-face { font-family: "Fraunces"; src: url("fonts/fraunces/Fraunces-72-400.woff2") format("woff2"); font-weight: 300 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Fraunces"; src: url("fonts/fraunces/Fraunces-72-600.woff2") format("woff2"); font-weight: 500 700; font-style: normal; font-display: swap; }

:root {
  
  --lat-tile:       266px;                   
  --lat-svg:        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='200 300 431 431' fill='none' stroke='black' stroke-width='.6'%3E%3Cpath d='M218.22 336.45v54.48m0 161.02v54.48m26.93-307.43v432.1m26.95-286.9v54.49m0 161.01v54.48m26.94-377.72v162.23m0 53.26v162.23m26.94-269.98v54.49m0 161.01v54.48m26.93-415.18v432.1m26.95-340.78v54.49m0 161.02v54.47m26.94-361.3v37.46m0 53.86v162.24m0 53.27v125.27m26.94-340.78v54.49m0 161.02v54.47m26.95-361.3v432.1m26.93-432.1v38.06m0 161.02v54.48m0 161.01v17.53m26.94-432.1v145.81m0 53.27v162.22m0 53.27v17.53m26.94-432.1v38.06m0 161.02v54.47m0 161.02v17.53m26.93-432.1v432.1m26.95-394.64v54.47m0 161.02v54.48m26.92-307.43v91.93m0 53.27v162.23m0 53.27v71.4m-215.8-421.28h54.5m107.13 0h54.48m-423.61 26.94h165.88m83.82 0h182.4m-332.04 26.93h54.15m107.18 0h54.48m-315.87 26.94h46.46m53.6 0h215.81m53.26 0h62.97m-332.04 26.94h54.15m107.18 0h54.48m-315.87 26.93h432.1m-224.6 26.94h54.5m107.13 0h54.48m-377.79 26.94h108.39m53.29 0h216.11m-216.11 26.94h54.5m107.13 0h54.48m-323.55 26.93h332.04m-432.1.01h100m.06 26.93h54.15m107.18 0h54.48m-315.87 26.94h46.46m53.6 0h215.81m53.26 0h62.97m-332.04 26.94h54.15m107.18 0h54.48m-315.87 26.93h432.1m-224.6 26.94h54.5m107.13 0h54.48m-377.75 26.94h108.35m53.29 0h216.11m-281.34-377.43a42.21 42.21 0 00-12.36-29.55a42.22 42.22 0 00-29.85-12.36m54.18 161.63a42.21 42.21 0 0129.55 12.36a42.21 42.21 0 0112.36 29.85a42.22 42.22 0 01-12.36 29.85a42.78 42.78 0 01-3.05 2.76m-26.52-205.91a42.22 42.22 0 0029.55-12.36a42.21 42.21 0 0012.36-29.85m173 149.95a42.22 42.22 0 01-29.55-12.36a42.21 42.21 0 01-12.37-29.85a42.21 42.21 0 0112.37-29.85a42.22 42.22 0 0129.55-12.36m-11.36 96.39a42.21 42.21 0 01-12.36 29.55a42.22 42.22 0 01-29.85 12.36a42.22 42.22 0 01-29.85-12.36a42.21 42.21 0 01-12.36-29.55m179.83-30.15a42.22 42.22 0 00-29.85-12.36a42.22 42.22 0 00-29.85 12.36a42.2 42.2 0 00-12.36 29.55m-310.91 78.2a42.22 42.22 0 0129.85-12.36a42.22 42.22 0 0129.85 12.36a42.46 42.46 0 016.63 8.59m-90.71-74.82a42.21 42.21 0 00-29.55 12.36a42.21 42.21 0 00-12.37 29.85a42.21 42.21 0 0012.37 29.85a41.89 41.89 0 003.05 2.76m38.47-194.54a42.21 42.21 0 0112.36-29.55a42.22 42.22 0 0129.85-12.36m-54.14 30.55a42.22 42.22 0 01-29.55-12.36a42.21 42.21 0 01-12.36-29.85m30.56 161.32a42.21 42.21 0 00-12.36-29.55a42.22 42.22 0 00-29.85-12.36m54.18-53.87a42.21 42.21 0 0129.55 12.36a42.21 42.21 0 0112.37 29.85a42.21 42.21 0 01-12.37 29.85a42.21 42.21 0 01-29.55 12.36m23.73 89.57a42.38 42.38 0 00-6.63 8.59m90.68 9.59a42.17 42.17 0 0026.5-9.59m-38.48 20.96a42.14 42.14 0 00-5.73-20.96m-6.63 206.9a42.22 42.22 0 00-29.85-12.36m83.71 18.19a42.21 42.21 0 0012.36-29.85a42.22 42.22 0 00-12.36-29.85a42.22 42.22 0 00-29.55-12.36m119.12-11.37a42.21 42.21 0 0012.36 29.55a42.22 42.22 0 0029.85 12.36a42.22 42.22 0 0029.85-12.36a42.21 42.21 0 0012.36-29.55m11.37-11.97a42.21 42.21 0 01-29.55-12.36a42.21 42.21 0 01-12.37-29.85a42.21 42.21 0 0112.37-29.85a42.22 42.22 0 0129.55-12.36m-119.12-11.36a42.2 42.2 0 01-12.36 29.55a42.22 42.22 0 01-29.85 12.36a42.22 42.22 0 01-29.85-12.36a42.2 42.2 0 01-12.36-29.55m-107.76-.6a42.14 42.14 0 015.73-20.96m-17.71 9.59a42.17 42.17 0 01-26.5-9.59m50.79 206.9a42.22 42.22 0 0129.85-12.36m-83.69 18.19a42.22 42.22 0 01-12.36-29.85a42.21 42.21 0 0112.36-29.85a42.22 42.22 0 0129.55-12.36m.6-107.74a42.21 42.21 0 0129.55 12.36a42.21 42.21 0 0112.37 29.85a42.21 42.21 0 01-12.37 29.85a42.21 42.21 0 01-29.55 12.36'/%3E%3Cpath stroke-width='.75' d='M364.58 336.76a42.66 42.66 0 0012.36 29.76a42.09 42.09 0 0029.85 12.45a42.09 42.09 0 0029.85-12.45c7.58-7.63 12.28-18.14 12.36-29.76'/%3E%3C/svg%3E");   
  --rx-paper:       #FFFFFF;                 
  --rx-ink:         #03070D;                 
  --rx-tint:        #FFFFFF;                 
  --rx-red:         #EB4649;                 
  --rx-gold:        #BBA071;                 
  --rx-gold-lift:   #D2BA88;                 
  --rx-gold-soft:   #E2D0A6;                 
  
  --rx-gold-text:   #D8BF8C;
  --rx-gold-mid:    #C9AE78;
  --rx-gold-glow:   #E3C995;
  --rx-gold-hi:     #F3D9A0;
  --rx-gold-cream:  #FFF4D6;
  --rx-gold-dim:    #8C7650;
  
  --rx-navy:        #111D33;
  --rx-navy-2:      #101D36;
  --rx-maroon:      #5A192F;                 
  --rx-maroon-land: #7A2440;                 
  --rx-ink-72:      rgb(3 7 13 / .72);     
  --rx-ink-14:      rgb(3 7 13 / .14); 
  --rx-ink-soft:    #2C2C2C;                 
  --rx-white:       #FFFFFF;                 
  --rx-white-56:    rgb(255 255 255 / .56);  
  --rx-white-72:    rgb(255 255 255 / .72);  
  --rx-white-20:    rgb(255 255 255 / .20);  
  --rx-black:       #03070D;                 
  --rx-field-edge:  #8A8D92;                 
  --rx-mist:        #E6E8EA;                 
  --rx-disabled-fg: #4A4E55;                 
  --rx-black-90:    rgb(3 7 13 / .90);
  --rx-black-72:    rgb(3 7 13 / .72);       

  
  --bg:            var(--rx-paper);
  --text:          var(--rx-ink);
  --text-muted:    var(--rx-ink-72);
  --text-accent:   var(--rx-ink);            
  --ink-on-light:  var(--rx-ink);
  --line:          var(--rx-ink-14);
  --accent:        var(--rx-ink);
  --cta-bg:        var(--rx-black); --cta-fg: #FFFFFF;  --cta-bg-hover: var(--rx-ink-soft);   
  --surface:       var(--rx-tint);           

  --grad-image-scrim: linear-gradient(0deg, rgb(0 0 0 / .72) 0%, rgb(0 0 0 / 0) 60%);   
  --hero-scrim:       radial-gradient(85% 85% at 32% 62%, rgb(0 0 0 / .66) 0%, rgb(0 0 0 / .58) 45%, rgb(0 0 0 / 0) 100%);
  --grad-vignette:    radial-gradient(120% 90% at 50% 40%, transparent 55%, rgb(3 7 13 / .85) 100%);   
  
  --rx-elev-1: 0 1px 2px rgb(3 7 13 / .06), 0 6px 16px -4px rgb(3 7 13 / .10);
  --rx-elev-2: 0 2px 4px rgb(3 7 13 / .06), 0 16px 32px -12px rgb(3 7 13 / .22);
  --rx-elev-3: 0 4px 12px rgb(3 7 13 / .10), 0 32px 64px -24px rgb(3 7 13 / .40);
  --rx-elev-1d: inset 0 1px 0 rgb(255 255 255 / .06), 0 8px 24px -8px rgb(0 0 0 / .55);
  --rx-elev-2d: inset 0 1px 0 rgb(255 255 255 / .08), 0 16px 40px -12px rgb(0 0 0 / .65);
  --rx-elev-3d: inset 0 1px 0 rgb(255 255 255 / .10), 0 32px 72px -20px rgb(0 0 0 / .75);
  --rx-shadow-1: var(--rx-elev-1);
  --rx-shadow-2: var(--rx-elev-2);
  --rx-shadow-lip: 0 -2px 4px rgb(3 7 13 / .06), 0 -16px 32px -12px rgb(3 7 13 / .22);   

  
  --journey-sea: var(--rx-black); --journey-land: var(--rx-maroon-land); --journey-route: rgb(255 255 255 / .70); --journey-marker: #FFFFFF;

  
  --font-display: "Fraunces", Georgia, serif;   
  --font-body:    "Outfit", "Outfit Fallback", system-ui, -apple-system, "Segoe UI", sans-serif;

  
  
  
  --fs-label:   .75rem;   
  --fs-small:   .875rem;   
  --fs-eyebrow: var(--fs-label);
  --fs-body:    clamp(1rem, .9rem + .2vw, 1.0625rem);   
  --fs-button:  1rem;   
  --fs-lead:    var(--fs-body);   
  --fs-h4:      var(--fs-lead);
  --fs-quote:   var(--fs-body);   
  --fs-hero-lede: clamp(1.125rem, 1.05rem + .3vw, 1.25rem);   
  --fs-h3:      clamp(1.25rem, 1.2rem + .195vw, 1.375rem);   
  --fs-h2:      clamp(1.75rem, 1.2rem + 1.2vw, 2.25rem);   
  --fs-h2-statement: var(--fs-h2);
  
  --fs-section: clamp(2.5625rem, 0.3125rem + 10vw, 2.75rem);
  --lh-section: 1.04;
  --ls-section: -.015em;
  
  --fs-sub: clamp(1.625rem, 1.35rem + 1.2vw, 2.25rem);
  --lh-sub: 1.12;
  --fs-card: clamp(1.375rem, 1.2rem + .6vw, 1.625rem);
  --lh-card: 1.2;
  --fs-h1:      clamp(3.5rem, 3rem + 3vw, 6.3rem);        
  --fs-display: clamp(3rem, 10vw, 9rem);                  
  --fs-figure:  var(--fs-h2);   

  --lh-h2: 1.1; --lh-h3: 1.27; --lh-body: 1.6; --lh-lead: var(--lh-body); --lh-small: 1.43; --lh-label: 1.33; --lh-display: 1.02; --ls-label: .08em;   
  --rx-ink-2: #0B1018;   
  --fw-display: 400; --fw-heading: 400; --fw-subhead: 600;   
  --fw-body: 400;  --fw-body-xl: 200; --fw-strong: 500;
  
  --lh-tight: .86; --lh-heading: .98; --lh-snug: 1.3; --lh-ui: 1.2; 
  --ls-tight: -.05em; --ls-normal: 0; --ls-wide: .08em; --ls-eyebrow: var(--ls-wide); --ls-display: -.01em; 
  
  --lh-serif-heading: 1.02; --lh-serif-item: 1.15; --ls-serif-heading: -.01em;

  
  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px; --sp-4: 16px; --sp-5: 24px;
  --sp-6: 32px; --sp-7: 48px; --sp-8: 64px; --sp-9: 96px; --sp-10: 128px;
  --section-y: var(--sp-7);   
  --gutter:    clamp(20px, 12px + 2.5vw, 48px);  
  --container: 1200px;
  --measure:   62ch;

  
  --radius-cta:  14px;   
  --radius-card: 16px;
  --radius-sm:   12px;
  --arch-radius: 999px 999px var(--radius-card) var(--radius-card); 
  --stroke-hair: 1px;    
  --stroke-arch: 1.5px;  
  --icon-stroke: 1.5;    

  
  --ease-out: cubic-bezier(.2, .7, .2, 1);
  
  --dur-fast: 300ms; --dur-std: 600ms; --dur-nav: 700ms; --dur: 320ms; --dur-slow: 700ms;
  --marquee-dur: 40s;    
  --ticker-dur: 28s;     

  --shadow-card: var(--rx-shadow-1);
  --z-nav: 50;
}

:root { --gap-head: 32px; }   
@media (min-width: 768px) { :root { --section-y: var(--sp-8); --gap-head: 48px; } }

#top, .skip, .btn, .rx-btn, #people [class*="fc__"]:not(.fc__name), .mq__reveal, .testimonials .tm__count, .testimonials .tm__sr, .testimonials .tm-card__av {
  --fw-body: 400;   
}
.skip, .testimonials .tm__sr { font-size: 1rem; line-height: 1.6; }

[data-ground="dark"] { --text: #FFFFFF; --text-muted: var(--rx-white-72); --text-accent: #FFFFFF; --line: var(--rx-white-20);
                       --cta-bg: #FFFFFF; --cta-fg: var(--rx-black); --cta-bg-hover: var(--rx-mist); --surface: rgb(255 255 255 / .08); color: var(--text); }
#immersions[data-ground="dark"] { --bg: var(--rx-black); }   
footer[data-ground="dark"], .footer[data-ground="dark"] { --bg: var(--rx-ink); }
.hero__panel[data-ground="dark"] { --bg: var(--rx-ink); }   

@media (prefers-reduced-motion: reduce) {
  :root { --dur-fast: 0ms; --dur-std: 0ms; --dur-nav: 0ms; --dur: 0ms; --dur-slow: 0ms; --marquee-dur: 0s; --ticker-dur: 0s; }
}

html[data-motion="off"] { --dur-fast: 0ms; --dur-std: 0ms; --dur-nav: 0ms; --dur: 0ms; --dur-slow: 0ms; --marquee-dur: 0s; --ticker-dur: 0s; }

.rx-display  { font-family: var(--font-display); font-weight: var(--fw-display); font-size: var(--fs-display); line-height: var(--lh-serif-heading); letter-spacing: var(--ls-display); color: var(--text); }
.rx-h1       { font-family: var(--font-display); font-weight: var(--fw-display); font-size: var(--fs-h1); line-height: var(--lh-serif-heading); color: var(--text); }
.rx-h2       { font-family: var(--font-display); font-weight: var(--fw-heading); font-size: var(--fs-h2); line-height: var(--lh-serif-heading); color: var(--text); }
.rx-h3       { font-family: var(--font-display); font-weight: var(--fw-subhead); font-size: var(--fs-h3); line-height: 1.2; color: var(--text); }
.rx-accent   { color: var(--text-accent); }            
.rx-figure   { font-family: var(--font-display); font-weight: 300; font-size: var(--fs-figure); line-height: 1; color: var(--text-muted); }
.rx-eyebrow  { font-family: var(--font-body); font-weight: var(--fw-strong); font-size: var(--fs-eyebrow); letter-spacing: var(--ls-eyebrow); text-transform: uppercase; color: var(--text-muted); }
.rx-lead     { font-family: var(--font-body); font-weight: var(--fw-body); font-size: var(--fs-lead); line-height: 1.5; color: var(--text-muted); }
.rx-body     { font-family: var(--font-body); font-weight: var(--fw-body); font-size: var(--fs-body); line-height: var(--lh-body); color: var(--text-muted); }

.rx-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--sp-2);
  min-height: 48px; padding: 0 var(--sp-6); border-radius: var(--radius-cta);
  font: var(--fw-strong) var(--fs-button)/1 var(--font-body); letter-spacing: .02em; text-decoration: none;
  transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out); }
.rx-btn--gold    { background: var(--cta-bg); color: var(--cta-fg); border: 1px solid var(--text); }      
.rx-btn--outline { background: transparent; color: var(--text); border: 1px solid var(--line); }  
@media (hover: hover) and (pointer: fine) { .rx-btn--outline:hover { border-color: var(--line); } }
.rx-btn--white   { background: var(--surface); color: var(--cta-fg); border: 1px solid var(--line); }
.rx-btn:focus-visible { outline: 2px solid var(--text); outline-offset: 3px; }

.rx-arch { position: relative; overflow: hidden; border-radius: var(--arch-radius); border: var(--stroke-arch) solid var(--line); }
.rx-arch img { display: block; width: 100%; height: 100%; object-fit: cover; }   
.rx-arch::after { content: ""; position: absolute; inset: 0; background: var(--grad-image-scrim); pointer-events: none; }

@media (min-width: 1024px) { :root { --fs-label: .8125rem; } }   
@media (min-width: 768px) { :root { --fs-section: clamp(2.75rem, 1.9rem + 2.6vw, 4rem); } }
