.emo-landing{

  
  --black:            #0D0E10;   
  --black-raised:     #15171A;   
  --black-sunk:       #08090A;   

  --ink:              #F3F3F2;   
  --ink-muted:        #A3A7AC;   
  --ink-dim:          #868B92;   

  
  --paper:            #F4F4F2;   
  --paper-raised:     #FAFAF9;   
  --paper-sunk:       #E9E9E6;   

  --ink-dark:         #14161A;   
  --ink-dark-muted:   #565B62;   

  
  --red:              #D8232F;   
  --red-hover:        #B81C26;
  --red-press:        #991720;
  --red-ink:          #F2555E;   
  --red-wash:         #D8232F14; 

  
  --silver:           #C6C8CB;
  --silver-dim:       #8D9196;

  
  --rule-on-dark:     #F3F3F226;  
  --rule-on-dark-str: #F3F3F240;  
  --rule-on-light:    #14161A1F;  
  --rule-on-light-str:#14161A33;  

  
  --focus:            #C6C8CB;    
  --ok:               #3E8E5A;
  --warn:             #B9791E;

  
  --surface:          var(--black);
  --surface-raised:   var(--black-raised);
  --on-surface:       var(--ink);
  --on-surface-muted: var(--ink-muted);
  --on-surface-dim:   var(--ink-dim);
  --rule:             var(--rule-on-dark);
  --rule-strong:      var(--rule-on-dark-str);


  
  --font-display: "Saira", "Saira Variable", "Eurostile", "Arial Narrow", system-ui, sans-serif;
  --font-body:    "Inter", "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;

  
  --text-micro:   0.875rem;                                   
  --text-xs:      0.875rem;                                   
  --text-sm:      clamp(0.9375rem, 0.20vw + 0.90rem, 1rem);   
  --text-body:    clamp(1rem, 0.25vw + 0.95rem, 1.0625rem);   
  --text-lead:    clamp(1.125rem, 0.55vw + 1.02rem, 1.375rem);
  --text-h4:      clamp(1.125rem, 0.45vw + 1.03rem, 1.3125rem);
  --text-h3:      clamp(1.375rem, 1.00vw + 1.15rem, 1.875rem);
  --text-h2:      clamp(1.875rem, 2.60vw + 1.20rem, 3.125rem);
  --text-h1:      clamp(2.375rem, 4.20vw + 1.30rem, 4.25rem);
  --text-display: clamp(2.75rem, 6.00vw + 1.20rem, 5.5rem);

  
  --lh-display:   0.98;
  --lh-heading:   1.08;
  --lh-lead:      1.42;
  --lh-body:      1.62;
  --lh-tight:     1.30;

  --ls-display:  -0.022em;
  --ls-heading:  -0.014em;
  --ls-body:      0;
  --ls-label:     0.14em;   
  --ls-eyebrow:   0.18em;

  --weight-body:    400;
  --weight-medium:  500;
  --weight-strong:  600;
  --weight-display: 700;

  
  --measure-body:    68ch;
  --measure-lead:    46ch;
  --measure-display: 22ch;


  
  --space-1:   0.25rem;  
  --space-2:   0.5rem;   
  --space-3:   0.75rem;  
  --space-4:   1rem;     
  --space-5:   1.5rem;   
  --space-6:   2rem;     
  --space-7:   3rem;     
  --space-8:   4rem;     
  --space-9:   6rem;     
  --space-10:  8rem;     
  --space-11: 12rem;     

  
  --section-pt: clamp(3.5rem, 7vw, 6rem);
  --section-pb: clamp(4.5rem, 10vw, 8rem);
  --gutter:     clamp(1.5rem, 4vw, 3rem);   

  
  --container:      78rem;   
  --container-wide: 90rem;   
  --container-text: 46rem;   
  --header-h:       6.25rem;      
  --stickybar-h:    4rem;    

  
  --r-xs:   2px;
  --r-sm:   4px;
  --r-md:   8px;
  --r-lg:  12px;
  --r-pill: 999px;

  
  --elev-raised: 0 1px 2px #00000038, 0 8px 24px #0000002e;
  --elev-overlay:0 2px 8px #00000047, 0 24px 64px #0000005c;

  
  --dur-1: 140ms;   
  --dur-2: 240ms;   
  --dur-3: 460ms;   
  --dur-4: 620ms;   
  
  --ease:        cubic-bezier(0.32, 0.08, 0.12, 1);
  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  
  --ease-soft:   cubic-bezier(0.32, 0.72, 0, 1);

  
  --glow:        #21252BB3;   
  --glow-strong: #262B32E6;   

  
  --z-base:    0;
  --z-raised:  10;
  --z-sticky:  100;
  --z-header:  200;
  --z-overlay: 300;
}
.emo-landing [data-surface="dark"]{
  --surface:          var(--black);
  --surface-raised:   var(--black-raised);
  --surface-sunk:     var(--black-sunk);
  --on-surface:       var(--ink);
  --on-surface-muted: var(--ink-muted);
  --on-surface-dim:   var(--ink-dim);
  --rule:             var(--rule-on-dark);
  --rule-strong:      var(--rule-on-dark-str);
}
.emo-landing [data-surface="deep"]{
  --surface:          var(--black-sunk);
  --surface-raised:   var(--black-raised);
  --surface-sunk:     var(--black-sunk);   
  --on-surface:       var(--ink);
  --on-surface-muted: var(--ink-muted);
  --on-surface-dim:   var(--ink-dim);
  --rule:             var(--rule-on-dark);
  --rule-strong:      var(--rule-on-dark-str);
}
.emo-landing [data-surface="paper"]{
  --surface:          var(--paper);
  --surface-raised:   var(--paper-raised);
  --surface-sunk:     var(--paper-sunk);
  --on-surface:       var(--ink-dark);
  --on-surface-muted: var(--ink-dark-muted);
  --on-surface-dim:   var(--ink-dark-muted);
  --rule:             var(--rule-on-light);
  --rule-strong:      var(--rule-on-light-str);
}
@media (prefers-reduced-motion: reduce){.emo-landing{
    --dur-1: 0ms;
    --dur-2: 0ms;
    --dur-3: 0ms;
    --dur-4: 0ms;
  }}
.emo-landing, .emo-landing *, .emo-landing *::before, .emo-landing *::after{ box-sizing: border-box; }
.emo-landing{
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  
  scroll-padding-block-start: calc(var(--header-h) + var(--space-5));
}
@media (prefers-reduced-motion: reduce){.emo-landing{ scroll-behavior: auto; }}
.emo-landing{
  margin: 0;
  background: var(--black);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--weight-body);
  line-height: var(--lh-body);
  letter-spacing: var(--ls-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  
  overflow-x: clip;
}
.emo-landing h1, .emo-landing h2, .emo-landing h3, .emo-landing h4, .emo-landing p, .emo-landing figure, .emo-landing blockquote, .emo-landing dl, .emo-landing dd, .emo-landing ul, .emo-landing ol{ margin: 0; }
.emo-landing ul, .emo-landing ol{ padding: 0; list-style: none; }
.emo-landing img, .emo-landing svg, .emo-landing video, .emo-landing picture{ display: block; max-width: 100%; }
.emo-landing img, .emo-landing video{ height: auto; }
.emo-landing button, .emo-landing input, .emo-landing select, .emo-landing textarea{
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
}
.emo-landing a{ color: inherit; text-decoration: none; }
.emo-landing .prose a{
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
  text-decoration-color: color-mix(in srgb, currentColor 45%, transparent);
  transition: text-decoration-color var(--dur-2) var(--ease);
}
.emo-landing .prose a:hover{ text-decoration-color: currentColor; }
.emo-landing :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible{
  outline: 2px solid var(--focus);
  outline-offset: 3px;
  border-radius: var(--r-xs);
}
.emo-landing .skip-link{
  position: absolute;
  inset-block-start: var(--space-2);
  inset-inline-start: var(--space-2);
  z-index: var(--z-overlay);
  padding: var(--space-3) var(--space-5);
  background: var(--ink);
  color: var(--ink-dark);
  font-size: var(--text-xs);
  font-weight: var(--weight-strong);
  transform: translateY(-200%);
}
.emo-landing .skip-link:focus-visible{ transform: none; }
.emo-landing .t-display, .emo-landing .t-h1, .emo-landing .t-h2, .emo-landing .t-h3, .emo-landing .t-h4{
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  color: var(--on-surface);
  text-wrap: balance;                     
}
.emo-landing .t-display{
  font-size: var(--text-display);
  line-height: var(--lh-display);
  letter-spacing: var(--ls-display);
  max-inline-size: var(--measure-display);
}
.emo-landing .t-h1{
  font-size: var(--text-h1);
  line-height: var(--lh-display);
  letter-spacing: var(--ls-display);
  max-inline-size: 18ch;
}
.emo-landing .t-h2{
  font-size: var(--text-h2);
  line-height: var(--lh-heading);
  letter-spacing: var(--ls-heading);
  max-inline-size: 20ch;
}
.emo-landing .t-h3{
  font-size: var(--text-h3);
  line-height: var(--lh-tight);
  letter-spacing: var(--ls-heading);
}
.emo-landing .t-h4{
  font-size: var(--text-h4);
  line-height: var(--lh-tight);
  letter-spacing: -0.008em;
  font-weight: var(--weight-strong);
}
.emo-landing .eyebrow{
  font-family: var(--font-display);
  font-size: var(--text-micro);          
  font-weight: var(--weight-strong);
  letter-spacing: var(--ls-eyebrow);
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--on-surface-muted);
}
.emo-landing .eyebrow--accent{ color: var(--red-ink); }
.emo-landing [data-surface="paper"] .eyebrow--accent{ color: var(--red); }
.emo-landing .label{
  font-family: var(--font-display);
  font-size: var(--text-micro);
  font-weight: var(--weight-strong);
  letter-spacing: var(--ls-label);
  text-transform: uppercase;
  line-height: 1.2;
}
.emo-landing .t-lead{
  font-size: var(--text-lead);
  line-height: var(--lh-lead);
  color: var(--on-surface);
  max-inline-size: var(--measure-lead);
  text-wrap: pretty;
}
.emo-landing .t-body{ font-size: var(--text-body); line-height: var(--lh-body); }
.emo-landing .t-sm{ font-size: var(--text-sm);   line-height: 1.55; }
.emo-landing .t-xs{ font-size: var(--text-xs);   line-height: 1.5; }
.emo-landing .t-muted{ color: var(--on-surface-muted); }
.emo-landing .t-dim{ color: var(--on-surface-dim); }
.emo-landing .prose{
  max-inline-size: var(--measure-body);
  color: var(--on-surface-muted);
  text-wrap: pretty;
}
.emo-landing .prose > * + *{ margin-block-start: var(--space-4); }
.emo-landing .prose strong{ color: var(--on-surface); font-weight: var(--weight-strong); }
.emo-landing .tnum{ font-variant-numeric: tabular-nums; }
.emo-landing .stack > * + *{ margin-block-start: var(--space-4); }
.emo-landing .stack > .eyebrow + *{ margin-block-start: var(--space-3); }
.emo-landing .stack > .t-h1 + .t-lead, .emo-landing .stack > .t-h2 + .t-lead, .emo-landing .stack > .t-display + .t-lead{ margin-block-start: var(--space-5); }
.emo-landing .stack > .t-lead + *{ margin-block-start: var(--space-6); }
.emo-landing .stack > * + .cta-row{ margin-block-start: var(--space-7); }
.emo-landing .stack > * + .rule{ margin-block-start: var(--space-6); }
.emo-landing .stack > .rule + *{ margin-block-start: var(--space-6); }
.emo-landing .container{
  inline-size: 100%;
  max-inline-size: var(--container);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.emo-landing .container--wide{ max-inline-size: var(--container-wide); }
.emo-landing .container--text{ max-inline-size: var(--container-text); }
.emo-landing .section{
  position: relative;
  isolation: isolate;
  padding-block: var(--section-pt) var(--section-pb);
  background: var(--surface);
  color: var(--on-surface);
}
.emo-landing .section[data-surface="dark"]::after, .emo-landing .section[data-surface="deep"]::after{
  content: "";
  position: absolute;
  z-index: -1;
  inset-inline: 0;
  inset-block-start: 0;
  block-size: min(70%, 46rem);
  background: radial-gradient(120% 100% at 50% 0%, var(--glow) 0%, transparent 68%);
  pointer-events: none;
}
.emo-landing .section.texture::after{ display: none; }
.emo-landing .section--tight{ padding-block: var(--space-7) var(--space-8); }
.emo-landing .section--flush-top{ padding-block-start: 0; }
.emo-landing .rule{
  block-size: 1px;
  border: 0;
  background: var(--rule);
}
.emo-landing .rule--strong{ background: var(--rule-strong); }
.emo-landing .rule--accent{ block-size: 2px; inline-size: var(--space-8); background: var(--red); }
.emo-landing .grid{ display: grid; gap: var(--space-5); }
.emo-landing .grid--2{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.emo-landing .grid--3{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.emo-landing .grid--4{ grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: clamp(var(--space-6), 4vw, var(--space-8)); }
.emo-landing .cluster{ display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; }
.emo-landing .split{
  display: grid;
  gap: var(--space-7);
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  align-items: center;
}
.emo-landing .split--flip > :first-child{ order: 2; }
.emo-landing .split--even{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 60rem){.emo-landing .grid--3, .emo-landing .grid--4{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.emo-landing .split, .emo-landing .split--even{ grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
.emo-landing .split--flip > :first-child{ order: 0; }}
@media (max-width: 40rem){.emo-landing .grid--2, .emo-landing .grid--3, .emo-landing .grid--4{ grid-template-columns: minmax(0, 1fr); }}
.emo-landing .visually-hidden{
  position: absolute;
  inline-size: 1px; block-size: 1px;
  margin: -1px; padding: 0; border: 0;
  clip-path: inset(50%);
  overflow: hidden; white-space: nowrap;
}
.emo-landing .center-text{ text-align: center; }
.emo-landing .center-text .t-h2, .emo-landing .center-text .t-lead{ margin-inline: auto; }
.emo-landing [data-reveal]{ opacity: 1; }
.js-reveal .emo-landing [data-reveal]{
  opacity: 0;
  transform: translateY(var(--space-4));
  transition:
    opacity   var(--dur-4) var(--ease-out),
    transform var(--dur-4) var(--ease-out);
}
.js-reveal .emo-landing [data-reveal].is-visible{ opacity: 1; transform: none; }
.js-reveal .emo-landing [data-reveal][data-slide]{ transform: translateX(calc(-1 * var(--space-6))); }
.js-reveal .emo-landing [data-reveal][data-slide].is-visible{ transform: none; }
.emo-landing .ln{ display: block; overflow: clip; }
.emo-landing .ln--desc{ padding-block-end: 0.16em; margin-block-end: -0.16em; }
.emo-landing .ln__i{ display: block; will-change: transform, opacity; }
.js-reveal .emo-landing .ln__i{
  opacity: 0;
  transform: translateX(-0.6em);
  transition:
    opacity   var(--dur-3) var(--ease-soft) var(--ln-delay, 0ms),
    transform var(--dur-4) var(--ease-soft) var(--ln-delay, 0ms);
}
.js-reveal .emo-landing .is-visible .ln__i{ opacity: 1; transform: none; }
.js-reveal .emo-landing [data-reveal].has-lines, .js-reveal .emo-landing [data-reveal] .has-lines{ opacity: 1; transform: none; transition: none; }
.js-reveal .emo-landing .rise{
  opacity: 0;
  transform: translateY(var(--space-5));
  transition:
    opacity   var(--dur-3) var(--ease-soft) var(--rise-delay, 0ms),
    transform var(--dur-4) var(--ease-soft) var(--rise-delay, 0ms);
}
.js-reveal .emo-landing .rise.is-visible{ opacity: 1; transform: none; }
.js-reveal .emo-landing .open-frame{ position: relative; }
.js-reveal .emo-landing .open-frame::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: var(--surface);
  transform-origin: 50% 100%;
  transition: transform var(--dur-4) var(--ease-soft) var(--open-delay, 0ms);
  pointer-events: none;
}
.js-reveal .emo-landing .open-frame.is-visible::after{ transform: scaleY(0); }
.js-reveal .emo-landing .open-frame > img, .js-reveal .emo-landing .open-frame picture > img{
  transform: scale(1.06);
  transform-origin: 50% 55%;
  transition: transform calc(var(--dur-4) * 1.6) var(--ease-soft) var(--open-delay, 0ms);
}
.js-reveal .emo-landing .open-frame.is-visible > img, .js-reveal .emo-landing .open-frame.is-visible picture > img{ transform: none; }
@media (prefers-reduced-motion: reduce){.js-reveal .emo-landing [data-reveal]{ opacity: 1; transform: none; transition: none; }
.js-reveal .emo-landing .ln__i, .js-reveal .emo-landing .rise{ opacity: 1; transform: none; transition: none; }
.js-reveal .emo-landing .open-frame::after{ display: none; }
.js-reveal .emo-landing .open-frame > img, .js-reveal .emo-landing .open-frame picture > img{ transform: none; transition: none; }}
@supports (animation-timeline: view()){@media (prefers-reduced-motion: no-preference){.emo-landing .bleed-split__media img, .emo-landing .band__media img{
      animation: frame-drift linear both;
      animation-timeline: view();
      animation-range: entry 0% exit 100%;
      will-change: transform;
    }
.emo-landing .hero__media img{
      animation: hero-sink linear both;
      animation-timeline: view();
      animation-range: exit 0% exit 100%;
      will-change: transform;
    }}}
@keyframes frame-drift{
  from { transform: scale(1.12) translateY(-3%); }
  to   { transform: scale(1.12) translateY(3%); }
}
@keyframes hero-sink{
  from { transform: scale(1) translateY(0); }
  to   { transform: scale(1.06) translateY(2.5%); }
}
.js-reveal .emo-landing .bleed-split__media > img, .js-reveal .emo-landing .band__media > img, .js-reveal .emo-landing .bleed-split__media picture > img, .js-reveal .emo-landing .band__media picture > img{ transform: none; transition: none; }
.emo-landing .btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  min-block-size: 3.25rem;                 
  padding-inline: var(--space-6);
  border: 1px solid transparent;
  border-radius: var(--r-sm);
  background: transparent;
  font-family: var(--font-display);
  font-size: var(--text-micro);            
  font-weight: var(--weight-strong);
  letter-spacing: var(--ls-label);
  text-transform: uppercase;
  line-height: 1;
  cursor: pointer;
  transition:
    background-color var(--dur-2) var(--ease),
    border-color     var(--dur-2) var(--ease),
    color            var(--dur-2) var(--ease),
    transform        var(--dur-1) var(--ease);
}
.emo-landing .btn:active{ transform: translateY(1px); }
.emo-landing .btn--primary{
  background: var(--red);
  color: #FFFFFF;                          
  border-color: var(--red);
}
.emo-landing .btn--primary:hover{ background: var(--red-hover); border-color: var(--red-hover); }
.emo-landing .btn--primary:active{ background: var(--red-press); border-color: var(--red-press); }
.emo-landing .btn--secondary{
  color: var(--on-surface);
  border-color: var(--rule-strong);
}
.emo-landing .btn--secondary:hover{ border-color: var(--on-surface); background: color-mix(in srgb, var(--on-surface) 7%, transparent); }
.emo-landing .btn--link{
  min-block-size: 2.75rem;
  padding-inline: var(--space-5);
  border-radius: var(--r-pill);
  border-color: var(--rule-strong);
  background: color-mix(in srgb, var(--on-surface) 4%, transparent);
  color: var(--on-surface);
  gap: var(--space-3);
}
.emo-landing .btn--link::after{
  content: "";
  inline-size: 0.85em; block-size: 0.85em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: translate var(--dur-2) var(--ease);
}
.emo-landing .btn--link:hover{
  border-color: var(--on-surface);
  background: color-mix(in srgb, var(--on-surface) 9%, transparent);
}
.emo-landing .btn--link:hover::after{ translate: 0.2em 0; }
.emo-landing .btn--wide{ inline-size: 100%; }
.emo-landing :is(p, ul, ol) + .btn--link{ margin-block-start: var(--space-7); }
.emo-landing .contact__row > .btn--link{ margin-block-start: var(--space-5); }
.emo-landing .cta-row{ display: flex; flex-wrap: wrap; gap: var(--space-3); }
@media (max-width: 30rem){.emo-landing .cta-row .btn{ inline-size: 100%; }}
.emo-landing .sec-head{ max-inline-size: 52rem; }
.emo-landing .sec-head .eyebrow{ display: flex; align-items: center; gap: var(--space-3); }
.emo-landing .sec-head .eyebrow::before{
  content: "";
  inline-size: 0.85em; block-size: 0.85em;
  background: var(--red);
  flex: none;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
}
.emo-landing .sec-head > * + *{ margin-block-start: var(--space-4); }
.emo-landing .sec-head .t-h2 + .t-lead{ margin-block-start: var(--space-5); }
.emo-landing .sec-head--center{ margin-inline: auto; text-align: center; }
.emo-landing .sec-head--center .eyebrow{ justify-content: center; }
.emo-landing .sec-head--center .t-h2, .emo-landing .sec-head--center .t-lead{ margin-inline: auto; }
.emo-landing .sec-body{ margin-block-start: var(--space-8); }
.emo-landing .card{
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-6);
  border: 1px solid var(--rule);
  border-radius: var(--r-md);
  background: var(--surface-raised);
  color: var(--on-surface);
}
.emo-landing .card__title{ color: var(--on-surface); }
.emo-landing .card__text{ color: var(--on-surface-muted); font-size: var(--text-sm); }
.emo-landing .card > * + *{ margin-block-start: 0; }
.emo-landing .card__foot{ margin-block-start: auto; padding-block-start: var(--space-4); }
.emo-landing .card--bare{
  background: transparent;
  border: 0;
  border-block-start: 1px solid var(--rule);
  border-radius: 0;
  padding: var(--space-5) 0 0;
}
.emo-landing .card--linked{ transition: border-color var(--dur-2) var(--ease); }
.emo-landing .card--linked:hover{ border-color: var(--rule-strong); }
.emo-landing .disc{
  border: 1px solid var(--rule);
  border-radius: var(--r-md);
  background: var(--surface-raised);
  overflow: clip;
}
.emo-landing .disc__summary{
  display: flex;
  align-items: flex-start;
  gap: var(--space-4);
  inline-size: 100%;
  padding: var(--space-5) var(--space-5);
  border: 0;
  background: transparent;
  text-align: start;
  cursor: pointer;
  transition: background-color var(--dur-2) var(--ease);
}
.emo-landing .disc__summary:hover{ background: color-mix(in srgb, var(--on-surface) 5%, transparent); }
.emo-landing .disc__summary::-webkit-details-marker{ display: none; }
.emo-landing .disc__titles{ flex: 1 1 auto; min-inline-size: 0; }
.emo-landing .disc__title{ color: var(--on-surface); }
.emo-landing .disc__hint{ display: block; margin-block-start: var(--space-2); color: var(--on-surface-muted); font-size: var(--text-sm); }
.emo-landing .disc__mark{
  position: relative;
  flex: none;
  inline-size: 1.5rem; block-size: 1.5rem;
  margin-block-start: 0.1rem;
  border: 1px solid var(--rule-strong);
  border-radius: var(--r-xs);
}
.emo-landing .disc__mark::before, .emo-landing .disc__mark::after{
  content: "";
  position: absolute;
  inset-block-start: 50%; inset-inline-start: 50%;
  background: var(--on-surface);
  translate: -50% -50%;
  transition: opacity var(--dur-2) var(--ease), rotate var(--dur-3) var(--ease);
}
.emo-landing .disc__mark::before{ inline-size: 0.625rem; block-size: 1px; }
.emo-landing .disc__mark::after{ inline-size: 1px; block-size: 0.625rem; }
.emo-landing .disc[open] .disc__mark::after{ opacity: 0; rotate: 90deg; }
.emo-landing .disc__panel{
  padding: 0 var(--space-5) var(--space-5);
  border-block-start: 1px solid var(--rule);
  margin-block-start: 0;
  padding-block-start: var(--space-5);
  color: var(--on-surface-muted);
}
.emo-landing .disc__panel > * + *{ margin-block-start: var(--space-4); }
@supports (interpolate-size: allow-keywords){.emo-landing{ interpolate-size: allow-keywords; }
.emo-landing .disc::details-content{
    block-size: 0;
    overflow: clip;
    opacity: 0;
    transition:
      block-size var(--dur-3) var(--ease-soft),
      opacity    var(--dur-2) var(--ease-soft),
      content-visibility var(--dur-3) allow-discrete;
  }
.emo-landing .disc[open]::details-content{
    block-size: auto;
    opacity: 1;
  }}
.emo-landing .spec{
  display: grid;
  gap: var(--space-2) var(--space-5);
  font-size: var(--text-sm);
  color: var(--on-surface-muted);
}
.emo-landing .spec--2col{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.emo-landing .spec--flow{
  display: block;
  columns: 2;
  column-gap: var(--space-5);
}
.emo-landing .spec--flow li{ break-inside: avoid; margin-block-end: var(--space-2); }
@media (max-width: 48rem){.emo-landing .spec--flow{ columns: 1; }}
.emo-landing .spec li{
  position: relative;
  padding-inline-start: var(--space-5);
  line-height: 1.5;
}
.emo-landing .spec li::before{
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.34em;
  inline-size: 0.7em; block-size: 0.7em;
  background: var(--red);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
}
@media (max-width: 40rem){.emo-landing .spec--2col{ grid-template-columns: minmax(0, 1fr); }}
.emo-landing .chip{
  display: inline-flex;
  align-items: center;
  min-block-size: 2.5rem;
  padding-inline: var(--space-4);
  border: 1px solid var(--rule-strong);
  border-radius: var(--r-sm);
  font-family: var(--font-display);
  font-size: var(--text-micro);
  font-weight: var(--weight-medium);
  letter-spacing: 0.06em;
  color: var(--on-surface);
  white-space: nowrap;
}
.emo-landing .chip--quiet{ border-color: var(--rule); color: var(--on-surface-muted); }
.emo-landing .chip-row{ display: flex; flex-wrap: wrap; gap: var(--space-2); }
.emo-landing .trust{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4) var(--space-6);
  padding-block-start: var(--space-5);
  border-block-start: 1px solid var(--rule);
}
.emo-landing .trust__item{
  display: flex;
  align-items: center;
  gap: var(--space-3);
  font-family: var(--font-display);
  font-size: var(--text-micro);
  font-weight: var(--weight-strong);
  letter-spacing: var(--ls-label);
  text-transform: uppercase;
  color: var(--on-surface);
}
.emo-landing .trust__item svg{ flex: none; color: var(--red-ink); }
.emo-landing [data-surface="paper"] .trust__item svg{ color: var(--red); }
@media (max-width: 30rem){.emo-landing .trust{ grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }}
.emo-landing .phase{ border-block-start: 3px solid var(--red); padding-block-start: var(--space-5); }
.emo-landing .phase__label{
  display: flex; align-items: baseline; gap: var(--space-3);
  color: var(--on-surface);
}
.emo-landing .phase__steps{ margin-block-start: var(--space-6); display: grid; gap: var(--space-7); }
.emo-landing .step__n{
  font-family: var(--font-display);
  font-size: var(--text-micro);            
  font-weight: var(--weight-strong);
  letter-spacing: var(--ls-label);
  text-transform: uppercase;               
  color: var(--red);
  font-variant-numeric: tabular-nums;
}
.emo-landing .step__title{ margin-block-start: var(--space-3); color: var(--on-surface); }
.emo-landing .step__text{ margin-block-start: var(--space-3); }
.emo-landing .step__text{ margin-block-start: var(--space-2); color: var(--on-surface-muted); font-size: var(--text-sm); }
.emo-landing .tier{
  display: flex;
  flex-direction: column;
  padding: var(--space-6);
  border: 1px solid var(--rule);
  border-radius: var(--r-md);
  background: var(--surface-raised);
}
.emo-landing .tier--featured{ border-color: var(--red); }
.emo-landing .tier__flag{
  align-self: flex-start;
  margin-block-end: var(--space-4);
  padding: var(--space-1) var(--space-3);
  border-radius: var(--r-xs);
  background: var(--red);
  color: #FFFFFF;
  font-family: var(--font-display);
  font-size: var(--text-micro);
  font-weight: var(--weight-strong);
  letter-spacing: var(--ls-label);
  text-transform: uppercase;
}
.emo-landing .tier__name{ color: var(--on-surface); }
.emo-landing .tier__meta{ margin-block-start: var(--space-2); color: var(--on-surface-muted); font-size: var(--text-sm); }
.emo-landing .tier__list{ margin-block-start: var(--space-5); }
.emo-landing .tier__foot{ margin-block-start: auto; padding-block-start: var(--space-6); }
.emo-landing .media{
  position: relative;
  isolation: isolate;
  overflow: clip;
  border-radius: var(--r-md);
  background: var(--black-raised);
}
.emo-landing .media img{ inline-size: 100%; block-size: 100%; object-fit: cover; }
.emo-landing .media--4x3{ aspect-ratio: 4 / 3; }
.emo-landing .media--16x9{ aspect-ratio: 16 / 9; }
.emo-landing .media--3x2{ aspect-ratio: 3 / 2; }
.emo-landing .media--square{ aspect-ratio: 1 / 1; }
.emo-landing .media--tall{ aspect-ratio: 3 / 4; }
.emo-landing .media--framed{ border: 1px solid var(--rule-strong); }
.emo-landing .media img.crop-top, .emo-landing .bleed-split__media img.crop-top{ object-position: 50% 8%; }
.emo-landing .bleed-split__media img.crop-top{ object-position: 50% 0%; }
.emo-landing .figure__caption{
  margin-block-start: var(--space-3);
  font-size: var(--text-micro);
  color: var(--on-surface-muted);
}
.emo-landing .form{
  display: grid;
  gap: var(--space-5);
  background: var(--surface-raised);
  border: 1px solid var(--rule);
  border-radius: var(--r-md);
  padding: clamp(var(--space-5), 3vw, var(--space-7));
}
.emo-landing .field{ display: grid; gap: var(--space-3); }
.emo-landing .field__label{
  font-family: var(--font-display);
  font-size: var(--text-micro);            
  font-weight: var(--weight-strong);
  letter-spacing: var(--ls-label);
  text-transform: uppercase;
  color: var(--on-surface-muted);
}
.emo-landing .field__req{ color: var(--red-ink); }
.emo-landing [data-surface="paper"] .field__req{ color: var(--red); }
.emo-landing .input, .emo-landing .select, .emo-landing .textarea{
  inline-size: 100%;
  min-block-size: 3.25rem;
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--rule-strong);
  border-radius: var(--r-sm);
  
  background: var(--surface-sunk);
  color: var(--on-surface);
  font-size: var(--text-body);
  transition: border-color var(--dur-2) var(--ease), background-color var(--dur-2) var(--ease);
}
.emo-landing .input::placeholder, .emo-landing .textarea::placeholder{ color: var(--on-surface-dim); }
.emo-landing .input:hover, .emo-landing .select:hover, .emo-landing .textarea:hover{ border-color: var(--on-surface-muted); }
.emo-landing .textarea{ min-block-size: 8rem; padding-block: var(--space-4); resize: vertical; line-height: var(--lh-body); }
.emo-landing .select{
  appearance: none;
  padding-inline-end: var(--space-8);
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%),
                    linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position: calc(100% - 1.35rem) 55%, calc(100% - 1rem) 55%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}
.emo-landing .field__help{ font-size: var(--text-micro); color: var(--on-surface-dim); }
.emo-landing .field-row{ display: grid; gap: var(--space-5); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@supports (grid-template-rows: subgrid){.emo-landing .field-row{ grid-template-rows: auto auto; align-items: start; }
.emo-landing .field-row > .field{ grid-row: span 2; grid-template-rows: subgrid; }}
@media (max-width: 40rem){.emo-landing .field-row{ grid-template-columns: minmax(0, 1fr); }}
.emo-landing .segmented{ display: flex; flex-wrap: wrap; gap: var(--space-2); }
.emo-landing .segmented input{ position: absolute; opacity: 0; pointer-events: none; }
.emo-landing .segmented label{
  display: inline-flex; align-items: center; justify-content: center;
  min-block-size: 3rem; padding-inline: var(--space-5);
  border: 1px solid var(--rule-strong);
  border-radius: var(--r-sm);      
  font-family: var(--font-display);
  font-size: var(--text-micro);
  font-weight: var(--weight-strong);
  letter-spacing: var(--ls-label);
  text-transform: uppercase;
  color: var(--on-surface-muted);
  cursor: pointer;
  transition: background-color var(--dur-2) var(--ease), color var(--dur-2) var(--ease);
}
.emo-landing .segmented input:checked + label{
  background: var(--red); border-color: var(--red); color: #FFFFFF;
  position: relative; z-index: 1;
}
.emo-landing .segmented input:focus-visible + label{ outline: 2px solid var(--focus); outline-offset: 2px; }
.emo-landing .site-header{
  position: sticky;
  inset-block-start: 0;
  z-index: var(--z-header);
  block-size: var(--header-h);
  display: flex;
  align-items: center;
  background: transparent;
  border-block-end: 1px solid transparent;
  color: var(--ink);
}
.emo-landing .site-header::before{
  content: "";
  position: absolute;
  z-index: -2;
  inset-inline: 0;
  inset-block-start: 0;
  block-size: 200%;
  background: linear-gradient(to bottom, #0D0E10E6 0%, #0D0E10A6 42%, #0D0E1000 100%);
  pointer-events: none;
}
.emo-landing .site-header::after{
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: var(--black);
  opacity: 0;
  pointer-events: none;
}
.emo-landing .site-header__inner{
  
  display: flex; align-items: center; gap: var(--space-6);
  padding-block-start: var(--space-4);
  inline-size: 100%;
  max-inline-size: var(--container-wide);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.emo-landing .brand{ display: flex; align-items: center; gap: var(--space-3); flex: none; }
.emo-landing .brand__logo{
  inline-size: 14rem;
  max-inline-size: 100%;
  block-size: auto;
  display: block;
}
.emo-landing .brand--footer .brand__logo{ inline-size: 18rem; }
@media (max-width: 30rem){.emo-landing .brand__logo{ inline-size: 11.5rem; }}
.emo-landing .site-nav{ display: flex; align-items: center; gap: var(--space-6); margin-inline-start: auto; }
.emo-landing .site-nav a{
  font-family: var(--font-display);
  font-size: var(--text-micro);
  font-weight: var(--weight-medium);
  letter-spacing: var(--ls-label);
  text-transform: uppercase;
  color: var(--ink-muted);
  transition: color var(--dur-2) var(--ease);
}
.emo-landing .site-nav a:hover{ color: var(--ink); }
.emo-landing .site-nav a[aria-current="page"]{ color: var(--ink); }
.emo-landing .site-header__tel{
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: var(--weight-strong);
  letter-spacing: 0.02em;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.emo-landing .site-nav a, .emo-landing .site-header__tel, .emo-landing .site-header__cta{ white-space: nowrap; }
@media (max-width: 87.5rem){.emo-landing .site-header__inner{ gap: var(--space-5); }
.emo-landing .site-nav{ gap: var(--space-5); }}
@media (max-width: 82rem){.emo-landing .site-header__tel{ display: none; }}
@media (max-width: 64rem){.emo-landing .site-nav{ display: none; }
.emo-landing .site-header__cta{ display: none; }
.emo-landing .site-header__inner{ gap: var(--space-4); }
.emo-landing .site-header__tel{ margin-inline-start: auto; }}
.emo-landing .actionbar{
  position: fixed;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: var(--z-sticky);
  display: none;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  block-size: var(--stickybar-h);
  background: var(--black-sunk);
  border-block-start: 1px solid var(--rule-on-dark-str);
}
.emo-landing .actionbar .btn{ min-block-size: 100%; border-radius: 0; border: 0; }
.emo-landing .actionbar .btn--secondary{ color: var(--ink); }
@media (max-width: 64rem){.emo-landing .actionbar{ display: grid; }
.emo-landing{ padding-block-end: var(--stickybar-h); }}
.emo-landing .site-footer{
  position: relative;
  isolation: isolate;
  background: var(--black-sunk);
  color: var(--ink);
  padding-block: var(--space-9) var(--space-7);
}
.emo-landing .site-footer::before{
  content: "";
  position: absolute; z-index: -1;
  inset-inline: 0; inset-block-end: 0;
  block-size: min(80%, 30rem);
  background: radial-gradient(100% 100% at 22% 100%, var(--glow) 0%, transparent 66%);
  pointer-events: none;
}
.emo-landing .site-footer a{ color: var(--ink-muted); transition: color var(--dur-2) var(--ease); }
.emo-landing .site-footer a:hover{ color: var(--ink); }
.emo-landing .site-footer__grid{ display: grid; gap: var(--space-7); grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, 1fr)); }
.emo-landing .site-footer__col > * + *{ margin-block-start: var(--space-3); }
.emo-landing .site-footer__bottom{
  margin-block-start: var(--space-8);
  padding-block-start: var(--space-5);
  border-block-start: 1px solid var(--rule-on-dark);
  display: flex; flex-wrap: wrap; gap: var(--space-4); justify-content: space-between;
  font-size: var(--text-micro); color: var(--ink-dim);
}
@media (max-width: 48rem){.emo-landing .site-footer__grid{ grid-template-columns: minmax(0, 1fr); }}
@media (max-width: 30rem){.emo-landing .site-header__tel{ display: none; }}
.emo-landing .actionbar{ grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); }
.emo-landing .actionbar .btn{
  padding-inline: var(--space-4);
  letter-spacing: 0.08em;
  white-space: nowrap;
}
.emo-landing .reviews__head{
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-3) var(--space-5);
  padding-block-end: var(--space-5);
  border-block-end: 1px solid var(--rule);
}
.emo-landing .reviews__head .label{ display: inline-flex; align-items: center; gap: var(--space-3); }
.emo-landing .reviews__head .label svg{ color: var(--red-ink); }
.emo-landing [data-surface="paper"] .reviews__head .label svg{ color: var(--red); }
.emo-landing .reviews{
  display: flex;                          
  gap: var(--space-5);
  margin-block-start: var(--space-6);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding-block-end: var(--space-2);
}
.emo-landing .reviews::-webkit-scrollbar{ display: none; }
.emo-landing .review{
  flex: 0 0 calc((100% - var(--space-5)) / 2);
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-6);
  border: 1px solid var(--rule);
  border-radius: var(--r-md);
  background: var(--surface-raised);
}
.emo-landing .review__stars{ display: flex; gap: 2px; color: var(--red-ink); }
.emo-landing [data-surface="paper"] .review__stars{ color: var(--red); }
.emo-landing .review__stars svg{ inline-size: 1.05rem; block-size: 1.05rem; fill: currentColor; stroke: none; }
.emo-landing .review__text{
  margin: 0;
  color: var(--on-surface);
  font-size: var(--text-body);
  line-height: var(--lh-body);
}
.emo-landing .review__by{
  margin-block-start: auto;
  font-family: var(--font-display);
  font-size: var(--text-micro);          
  font-weight: var(--weight-strong);
  letter-spacing: var(--ls-label);
  text-transform: uppercase;
  color: var(--on-surface);
}
.emo-landing .review__by span{ color: var(--on-surface-dim); }
@media (max-width: 60rem){.emo-landing .review{ flex-basis: 86%; }}
@supports (animation-timeline: scroll()){.emo-landing .site-header{ animation: header-rule    linear both; animation-timeline: scroll(root block); animation-range: 0 6rem; }
.emo-landing .site-header::after{ animation: header-ground  linear both; animation-timeline: scroll(root block); animation-range: 0 6rem; }
.emo-landing .site-header::before{animation: header-scrim   linear both; animation-timeline: scroll(root block); animation-range: 0 6rem; }
.emo-landing .brand__logo{ animation: header-mark    linear both; animation-timeline: scroll(root block); animation-range: 0 6rem; }
@keyframes header-rule{ from { border-block-end-color: transparent; } to { border-block-end-color: var(--rule-strong); } }
@keyframes header-ground{ from { opacity: 0; } to { opacity: 1; } }
@keyframes header-scrim{ from { opacity: 1; } to { opacity: 0; } }
@keyframes header-mark{ from { inline-size: 17rem; } to { inline-size: 14rem; } }
@media (prefers-reduced-motion: reduce){.emo-landing .site-header, .emo-landing .site-header::after, .emo-landing .site-header::before, .emo-landing .brand__logo{ animation: none; }
.emo-landing .site-header::after{ opacity: 1; }
.emo-landing .site-header{ border-block-end-color: var(--rule-strong); }}}
@supports not (animation-timeline: scroll()){.emo-landing .site-header{ background: var(--black); border-block-end-color: var(--rule-strong); }
.emo-landing .site-header::before{ display: none; }}
.emo-landing .choose{ display: grid; gap: var(--space-6); }
.emo-landing .choose__group{ display: grid; gap: var(--space-3); }
.emo-landing .rail__head{
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--space-5);
  padding-block-end: var(--space-5);
  border-block-end: 1px solid var(--rule);
  margin-block-end: var(--space-7);
}
.emo-landing .rail{
  display: flex;
  gap: clamp(var(--space-6), 4vw, var(--space-8));
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  padding-block-end: var(--space-3);
}
.emo-landing .rail::-webkit-scrollbar{ display: none; }
.emo-landing .rail > .phase{ flex: 0 0 clamp(16rem, 24vw, 21rem); scroll-snap-align: start; }
@media (max-width: 60rem){.emo-landing .rail > .phase{ flex-basis: 78%; }}
.emo-landing .carousel__nav{ display: flex; gap: var(--space-2); }
.emo-landing .carousel__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 2.75rem; block-size: 2.75rem;   
  padding: 0;
  border: 1px solid var(--rule-strong);
  border-radius: var(--r-pill);
  background: transparent;
  color: var(--on-surface);
  cursor: pointer;
  transition: border-color var(--dur-2) var(--ease),
              background-color var(--dur-2) var(--ease),
              opacity var(--dur-2) var(--ease);
}
.emo-landing .carousel__btn:hover{ border-color: var(--on-surface); background: color-mix(in srgb, var(--on-surface) 8%, transparent); }
.emo-landing .carousel__btn[disabled]{ opacity: 0.35; cursor: default; }
.emo-landing .carousel__btn[disabled]:hover{ border-color: var(--rule-strong); background: transparent; }
.emo-landing .carousel__btn[data-rev-prev] .icon{ rotate: 180deg; }
.emo-landing .carousel__dots{
  display: flex;
  justify-content: center;
  gap: var(--space-3);
  margin-block-start: var(--space-6);
}
.emo-landing .carousel__dots:empty{ display: none; }
.emo-landing .carousel__dot{
  inline-size: 2.75rem; block-size: 2.75rem;
  padding: 0; border: 0; background: transparent; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
}
.emo-landing .carousel__dot::before{
  content: "";
  inline-size: 8px; block-size: 8px;
  border-radius: var(--r-pill);
  background: var(--on-surface-dim);
  transition: background-color var(--dur-2) var(--ease), scale var(--dur-2) var(--ease);
}
.emo-landing .carousel__dot:hover::before{ background: var(--on-surface-muted); }
.emo-landing .carousel__dot[aria-selected="true"]::before{ background: var(--red); scale: 1.35; }
.emo-landing [data-carousel-idle] .carousel__nav, .emo-landing [data-carousel-idle] .carousel__dots{ display: none; }
.emo-landing .hero{
  position: relative;
  isolation: isolate;
  margin-block-start: calc(-1 * var(--header-h));
  min-block-size: 100svh;
  display: flex;
  align-items: center;
  overflow: clip;
  background: var(--black);
}
.emo-landing .hero__media{ position: absolute; inset: 0; z-index: -2; }
.emo-landing .hero__media picture{ display: block; inline-size: 100%; block-size: 100%; }
.emo-landing .hero__media img{
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  
  object-position: 50% 35%;
}
.emo-landing .hero__media img.crop-bay{ object-position: 50% 42%; }
.emo-landing .hero::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(to right,
      #0D0E10F0 0%, #0D0E10D9 34%, #0D0E10A6 54%, #0D0E1040 66%, #0D0E1000 78%),
    linear-gradient(to top,
      #0D0E10B3 0%, #0D0E1038 24%, #0D0E1000 48%);
}
.emo-landing .hero__inner{
  inline-size: 100%;
  padding-block: calc(var(--header-h) + var(--space-8)) var(--space-7);
}
.emo-landing .hero__grid{
  display: grid;
  grid-template-columns: minmax(0, 1fr) 25rem;
  gap: var(--space-8);
  align-items: start;
}
.emo-landing .hero__title{ color: var(--ink); max-inline-size: 20ch; }
.emo-landing .hero__place{ display: block; color: var(--ink-muted); }
.emo-landing .hero__cta{ margin-block-start: var(--space-6); }
.emo-landing .hero__form{
  display: grid;
  gap: var(--space-4);
  padding: var(--space-6);
  border: 1px solid var(--rule-on-dark-str);
  border-radius: var(--r-md);
  background: color-mix(in srgb, var(--black-raised) 94%, transparent);
  backdrop-filter: blur(10px);
}
.emo-landing .hero__form-title{ color: var(--ink); }
.emo-landing .hero__form--prefill{ gap: 0.75rem; }
.emo-landing .hero__form--prefill .field{ gap: 0.35rem; }
.emo-landing .hero__form--prefill .input{ min-block-size: 2.6rem; }
.emo-landing .hero .trust{ margin-block-start: var(--space-6); }
@media (max-width: 60rem){.emo-landing .hero{ align-items: flex-start; overflow: visible; }
.emo-landing .hero__grid{ grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
.emo-landing .hero__form{ display: grid; }
.emo-landing .hero__title{ max-inline-size: none; }
.emo-landing .hero__inner{ padding-block: calc(var(--header-h) + var(--space-6)) calc(var(--space-6) + var(--stickybar-h)); }
.emo-landing .hero__media img{ object-position: 88% 56%; }
.emo-landing .hero__media img.crop-bay{ object-position: 44% 52%; }
.emo-landing .hero::after{
    background:
      linear-gradient(to top,
        #0D0E10F7 0%, #0D0E10E6 30%, #0D0E10A6 58%, #0D0E1040 78%, #0D0E1000 96%);
  }
.emo-landing .hero__cta{ display: none; }}
.emo-landing .pull{
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-3) var(--space-5);
  font-family: var(--font-display);
  font-size: var(--text-h3);
  font-weight: var(--weight-display);
  letter-spacing: var(--ls-heading);
  color: var(--on-surface);
}
.emo-landing .pull span{ display: inline-flex; align-items: baseline; gap: var(--space-3); }
.emo-landing .pull span::before{
  content: "";
  inline-size: 0.72em;
  block-size: 0.72em;
  background: var(--red);
  translate: 0 0.06em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 12.5 5.5 5.5L20 6'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 12.5 5.5 5.5L20 6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.emo-landing .pillar{ border-block-start: 2px solid var(--red); padding-block-start: var(--space-4); }
.emo-landing .pillar__name{ color: var(--on-surface); }
.emo-landing .pillar__text{ margin-block-start: var(--space-3); color: var(--on-surface-muted); font-size: var(--text-sm); }
.emo-landing .marque{ display: flex; flex-direction: column; gap: var(--space-4); }
.emo-landing .marque__head{ display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); }
.emo-landing .marque__name{ color: var(--on-surface); }
.emo-landing .marque__text{ color: var(--on-surface-muted); font-size: var(--text-sm); }
.emo-landing .legend{ display: grid; gap: var(--space-5); }
.emo-landing .legend__row{ display: flex; align-items: flex-start; gap: var(--space-4); }
.emo-landing .legend__key.icon{
  flex: none;
  inline-size: 1.38rem; block-size: 1.38rem;
  margin-block-start: 0.02em;            
  
  stroke-width: 1.7;
}
.emo-landing .legend__key--now{ color: var(--red); }
.emo-landing .legend__key--soon{ color: var(--warn); }
.emo-landing .legend__key--ok{ color: var(--ok); }
.emo-landing .legend__name{ color: var(--on-surface); font-weight: var(--weight-strong); font-size: var(--text-sm); }
.emo-landing .legend__text{ color: var(--on-surface-muted); font-size: var(--text-micro); line-height: 1.5; }
.emo-landing #schedule .split > *:last-child{
  position: sticky;
  inset-block-start: calc(var(--header-h) + var(--space-6));
  align-self: start;
}
@media (max-width: 60rem){.emo-landing #schedule .split > *:last-child{ position: static; }}
.emo-landing .contact__row{ display: grid; gap: var(--space-2); padding-block: var(--space-5); border-block-start: 1px solid var(--rule); }
.emo-landing .contact__row:first-child{ border-block-start: 0; padding-block-start: 0; }
.emo-landing .contact__k{ font-family: var(--font-display); font-size: var(--text-micro); font-weight: var(--weight-strong); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--on-surface-muted); }
.emo-landing .contact__v{ color: var(--on-surface); font-size: var(--text-lead); line-height: 1.35; }
.emo-landing .contact__v--sm{ font-size: var(--text-body); }
.emo-landing [data-placeholder]{
  color: var(--on-surface-muted);
}
.emo-landing .promise{ display: grid; gap: var(--space-5); max-inline-size: 34rem; }
.emo-landing .promise__line{ font-family: var(--font-display); font-size: var(--text-h2); font-weight: var(--weight-display); line-height: var(--lh-heading); letter-spacing: var(--ls-heading); color: var(--ink); }
.emo-landing .promise__coda{ color: var(--ink-muted); }
.emo-landing .icon{ inline-size: 1.25rem; block-size: 1.25rem; stroke-width: 1.5; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; }
.emo-landing .icon--lg{ inline-size: 1.75rem; block-size: 1.75rem; }
.emo-landing .plate{
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  gap: var(--space-4);
  padding-block-end: var(--space-4);
  border-block-end: 1px solid var(--rule-strong);
  margin-block-end: var(--space-7);
}
.emo-landing .plate__label{ text-wrap: balance; }
.emo-landing .plate__no{
  font-family: var(--font-display);
  font-size: var(--text-h3);
  font-weight: var(--weight-display);
  font-style: italic;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  color: var(--red);
}
.emo-landing [data-surface="dark"] .plate__no, .emo-landing [data-surface="deep"] .plate__no{ color: var(--red-ink); }
.emo-landing .plate__label{
  font-family: var(--font-display);
  font-size: var(--text-micro);
  font-weight: var(--weight-strong);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--on-surface-muted);
}
.emo-landing .bleed-split{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
}
.emo-landing .section--bleed{ padding-block: 0; }
.emo-landing .bleed-split__text{
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-inline-start: max(var(--gutter), (100vw - var(--container)) / 2);
  padding-inline-end: clamp(var(--space-6), 4vw, var(--space-9));
  padding-block: clamp(var(--space-8), 7vw, var(--space-10));
}
.emo-landing .bleed-split__media{
  position: relative;
  block-size: 100%;
  min-block-size: clamp(20rem, 40vw, 34rem);
  max-block-size: 1080px;
  overflow: clip;
}
.emo-landing .bleed-split__media img{ inline-size: 100%; block-size: 100%; object-fit: cover; }
.emo-landing .bleed-split{ overflow-x: clip; }
.js-reveal .emo-landing .bleed-split__media[data-reveal]{
  opacity: 0;
  transform: translateX(var(--space-8));
  transition:
    opacity   var(--dur-3) var(--ease-soft),
    transform var(--dur-4) var(--ease-out);
}
.js-reveal .emo-landing .bleed-split__media[data-reveal].is-visible{
  opacity: 1;
  transform: none;
}
.js-reveal .emo-landing .bleed-split--flip .bleed-split__media[data-reveal], .js-reveal .emo-landing .bleed-split--flip .bleed-split__media[data-reveal]{
  transform: translateX(calc(-1 * var(--space-8)));
}
.emo-landing .bleed-split--flip .bleed-split__media{ order: -1; }
.emo-landing .bleed-split--flip .bleed-split__text{
  padding-inline-start: clamp(var(--space-6), 4vw, var(--space-9));
  padding-inline-end: max(var(--gutter), (100vw - var(--container)) / 2);
}
@media (max-width: 60rem){.emo-landing .bleed-split{ grid-template-columns: minmax(0, 1fr); }
.emo-landing .bleed-split__media{ min-block-size: 0; aspect-ratio: 16 / 10; order: -1; }
.emo-landing .bleed-split__text, .emo-landing .bleed-split--flip .bleed-split__text{
    padding-inline: var(--gutter);
    padding-block: var(--space-7) var(--space-6);
  }}
.emo-landing .band{ position: relative; isolation: isolate; background: var(--black); }
.emo-landing .band__media{ block-size: clamp(18rem, 38vw, 34rem); overflow: clip; }
.emo-landing .band__media img{ inline-size: 100%; block-size: 100%; object-fit: cover; object-position: 50% 58%; }
.emo-landing .band::after{
  content: "";
  position: absolute; inset: 0; z-index: 1;
  background:
    radial-gradient(78% 150% at 22% 52%, #0D0E10F7 0%, #0D0E10D9 34%, #0D0E1000 72%),
    linear-gradient(to top, #0D0E10CC 0%, #0D0E1000 46%),
    linear-gradient(#0D0E1038, #0D0E1038);
}
.emo-landing .band__content{
  position: absolute; inset-block: 0; inset-inline: 0; z-index: 2;
  display: flex; align-items: center;
}
.emo-landing .band__inner{ max-inline-size: 30rem; }
.emo-landing .band__line{
  font-family: var(--font-display);
  font-size: var(--text-h2);
  font-weight: var(--weight-display);
  line-height: var(--lh-heading);
  letter-spacing: var(--ls-heading);
  color: var(--ink);
}
@media (max-width: 48rem){.emo-landing .band__media{ block-size: clamp(20rem, 74vw, 26rem); }
.emo-landing .band::after{
    background:
      radial-gradient(130% 88% at 32% 80%, #0D0E10FA 0%, #0D0E10E8 42%, #0D0E1000 80%),
      linear-gradient(to top, #0D0E10E6 0%, #0D0E1000 64%),
      linear-gradient(#0D0E1040, #0D0E1040);
  }
.emo-landing .band__content{ align-items: flex-end; padding-block-end: var(--space-6); }}
@supports (animation-timeline: view()){.emo-landing .band__media img{ animation: band-drift linear both; animation-timeline: view(); }
.emo-landing .band--plain img{ animation-name: band-drift-plain; }
@keyframes band-drift{ from { object-position: 50% 42%; } to { object-position: 50% 74%; } }
@keyframes band-drift-plain{ from { object-position: 50% 34%; } to { object-position: 50% 66%; } }
@media (prefers-reduced-motion: reduce){.emo-landing .band__media img{ animation: none; }}}
.emo-landing .feature{
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--space-7);
  padding: var(--space-7);
  border: 1px solid var(--rule-strong);
  border-radius: var(--r-md);
  background: var(--surface-raised);
}
.emo-landing .feature__aside{
  grid-column: 1 / -1;
  padding-block-start: var(--space-6);
  border-block-start: 1px solid var(--rule);
}
.emo-landing .feature__promise{
  grid-column: 1 / -1;
  margin-block-start: var(--space-2);
  padding-block-start: var(--space-6);
  border-block-start: 1px solid var(--rule);
}
.emo-landing .feature__no{
  font-family: var(--font-display);
  font-size: clamp(3rem, 5vw, 4.5rem);
  font-weight: var(--weight-display);
  font-style: italic;
  line-height: 0.9;
  color: var(--red-ink);
  font-variant-numeric: tabular-nums;
}
.emo-landing [data-surface="paper"] .feature__no{ color: var(--red); }
@media (max-width: 60rem){.emo-landing .feature{ grid-template-columns: minmax(0, 1fr); gap: var(--space-5); padding: var(--space-6); }
.emo-landing .feature__promise{ padding-block-start: var(--space-5); }}
.emo-landing .index{ border-block-start: 1px solid var(--rule-strong); }
.emo-landing .index .disc{
  border: 0;
  border-block-end: 1px solid var(--rule);
  border-radius: 0;
  background: transparent;
}
.emo-landing .index .disc__summary{ padding-inline: 0; padding-block: var(--space-5); gap: var(--space-6); align-items: center; }
.emo-landing .index .disc__summary:hover{ background: transparent; }
.emo-landing .index .disc__summary:hover .disc__title{ color: var(--red-ink); }
.emo-landing [data-surface="paper"] .index .disc__summary:hover .disc__title{ color: var(--red); }
.emo-landing .index .disc__title{ transition: color var(--dur-2) var(--ease); }
.emo-landing .index .disc__titles{ display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-6); align-items: baseline; }
.emo-landing .index .disc__hint{ margin-block-start: 0; }
.emo-landing .index .disc__panel{ padding-inline: 0; padding-block-end: var(--space-6); border-block-start: 0; padding-block-start: 0; }
.emo-landing .index .disc__panel > *{ max-inline-size: 62rem; }
@media (max-width: 48rem){.emo-landing .index .disc__titles{ grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }}
.emo-landing .texture{
  position: relative;
  isolation: isolate;
  overflow: clip;
  min-block-size: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.emo-landing .texture > img{
  position: absolute; z-index: -2;
  inset-inline: 0; inset-block-start: -15%;
  inline-size: 100%; block-size: 130%;
  
  object-fit: cover; object-position: 50% 62%;
}
.emo-landing .texture::before{
  content: "";
  position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(
    to bottom,
    #0D0E10B8 0%,
    #0D0E10CC 22%,
    #0D0E10E6 52%,
    #0D0E10F0 100%
  );
}
.emo-landing .card, .emo-landing .feature, .emo-landing .marque, .emo-landing .review, .emo-landing .disc, .emo-landing .form{
  background-image: radial-gradient(120% 140% at 0% 0%, #FFFFFF08 0%, #FFFFFF00 58%);
}
.emo-landing [data-surface="paper"] :is(.card, .feature, .marque, .review, .disc, .form){
  background-image: radial-gradient(120% 140% at 0% 0%, #14161A08 0%, #14161A00 58%);
}
@supports (animation-timeline: view()){.emo-landing .sticky-stack{ view-timeline-name: --stack; view-timeline-axis: block; }
.emo-landing .texture > img{
    animation: texture-drift linear both;
    animation-timeline: --stack;
  }
@keyframes texture-drift{
    from { translate: 0 -10%; }
    to   { translate: 0 10%; }
  }
@media (prefers-reduced-motion: reduce){.emo-landing .texture > img{ animation: none; translate: none; }}}
.emo-landing .reviews-band:has(+ .sticky-stack){ padding-block-end: var(--space-7); }
.emo-landing .texture--joins-deep::before{
  background: linear-gradient(
    to bottom,
    #08090A 0%,
    #08090AF7 4%,
    #0B0C0EDB 10%,
    #0D0E10B8 19%,
    #0D0E10CC 40%,
    #0D0E10E6 64%,
    #0D0E10F0 100%
  );
}
.emo-landing .markplate{ border: 1px solid var(--rule); border-radius: var(--r-sm); overflow: clip; background: var(--black); }
.emo-landing .markplate img{ inline-size: 100%; block-size: auto; }
.emo-landing .sec-head--split{
  max-inline-size: none;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-6) var(--space-7);
  align-items: end;
}
.emo-landing .sec-head--split > * + *{ margin-block-start: 0; }
.emo-landing .sec-head--split .t-h2{ max-inline-size: 16ch; }
.emo-landing .sec-head--split .t-lead{ max-inline-size: 46ch; }
@media (max-width: 60rem){.emo-landing .sec-head--split{ grid-template-columns: minmax(0, 1fr); align-items: start; }
.emo-landing .sec-head--split .t-h2, .emo-landing .sec-head--split .t-lead{ max-inline-size: none; }}
.emo-landing .marque{
  gap: var(--space-5);
  background: var(--surface-raised);
  border: 1px solid var(--rule);
  border-radius: var(--r-md);
  padding: clamp(var(--space-5), 2.5vw, var(--space-7));
  transition: border-color var(--dur-2) var(--ease);
}
.emo-landing .marque:hover{ border-color: var(--rule-strong); }
.emo-landing .marque__head{
  align-items: center;
  padding-block-end: var(--space-4);
  border-block-end: 1px solid var(--rule);
}
.emo-landing .marque__id{ display: flex; align-items: center; gap: var(--space-4); min-inline-size: 0; }
.emo-landing .marque__mark{
  flex: none;
  inline-size: auto;
  block-size: 2.5rem;
  max-inline-size: 3.5rem;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.92;
}
.emo-landing [data-surface="paper"] .marque__mark{ color: var(--silver-dim); }
.emo-landing .disc__icon{ flex: none; color: var(--on-surface-dim); }
.emo-landing .index .disc__summary:hover .disc__icon{ color: var(--red-ink); }
.emo-landing [data-surface="paper"] .index .disc__summary:hover .disc__icon{ color: var(--red); }
.emo-landing .disc__icon{ transition: color var(--dur-2) var(--ease); }
.emo-landing .index .disc__panel{ padding-inline-start: calc(1.75rem + var(--space-6)); }
@media (max-width: 48rem){.emo-landing .index .disc__panel{ padding-inline-start: 0; }}
.emo-landing .marque__head{ flex-wrap: wrap; row-gap: var(--space-2); }
.emo-landing .marque__head .label{ margin-inline-start: auto; }
@media (max-width: 30rem){.emo-landing .marque__head .label{ margin-inline-start: 0; }}
.emo-landing .band--plain::after{ content: none; }
.emo-landing .band--plain .band__media{ block-size: clamp(17rem, 36vw, 34rem); }
.emo-landing .band--plain img{ object-position: 50% 50%; }
.emo-landing .band__note{
  position: absolute; inset-block-end: 0; inset-inline-end: 0; z-index: 2;
  padding: var(--space-2) var(--space-4);
  background: #0D0E10CC;
  color: var(--ink-dim);
  font-size: var(--text-micro);
  border-start-start-radius: var(--r-sm);
}
.emo-landing .reviews-band{ position: relative; isolation: isolate; overflow: clip; }
.emo-landing .reviews-band::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(58% 68% at 50% 40%, var(--glow-strong) 0%, transparent 70%);
  pointer-events: none;
}
.emo-landing .reviews__title{
  text-align: center;
  margin-inline: auto;
  max-inline-size: 18ch;
}
.emo-landing .reviews-band .reviews{ margin-block-start: var(--space-8); }
.emo-landing .carousel__controls{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-4);
  margin-block-start: var(--space-6);
}
.emo-landing .carousel__controls .carousel__dots{ margin-block-start: 0; }
.emo-landing .split--even{ align-items: stretch; }
.emo-landing .split--even > .stack{ display: flex; flex-direction: column; }
.emo-landing .split--even > .stack > .cta-row{ margin-block-start: auto; padding-block-start: var(--space-7); }
.emo-landing .sticky-stack{ position: relative; }
.emo-landing .sticky-stack__hold{ block-size: 118svh; }
.emo-landing .sticky-stack > .section--sticky{
  position: sticky;
  inset-block-start: 0;
  z-index: 0;
}
.emo-landing .sticky-stack > .section--overlap::after{ display: none; }
.emo-landing .sticky-stack > .section--overlap{
  position: relative;
  z-index: 1;
  
  
  background:
    linear-gradient(to bottom,
      #0D0E1000 0%, #0D0E1014 30%, #0D0E1052 55%, #0D0E10B3 78%, #0D0E10F2 92%, var(--surface) 100%)
      top center / 100% 58svh no-repeat,
    linear-gradient(var(--surface), var(--surface))
      bottom center / 100% calc(100% - 58svh + 1px) no-repeat;
  
  padding-block-start: calc(58svh + var(--space-7));
}
.js-reveal .emo-landing .texture :is(.plate, .sec-head, .pillar, .principles__coda){
  opacity: 0;
  transform: translateY(1.75rem);
  transition:
    opacity   var(--dur-3) var(--ease-soft) var(--seq, 0ms),
    transform var(--dur-3) var(--ease-out)  var(--seq, 0ms);
}
.js-reveal .emo-landing .texture.is-in :is(.plate, .sec-head, .pillar, .principles__coda){
  opacity: 1;
  transform: none;
}
.js-reveal .emo-landing .texture.is-out :is(.plate, .sec-head, .pillar, .principles__coda){
  opacity: 0;
  transform: translateY(-2.5rem);
}
.emo-landing .texture .plate{ --seq: 0ms; }
.emo-landing .texture .sec-head{ --seq: 110ms; }
.emo-landing .texture .pillar:nth-child(1){ --seq: 240ms; }
.emo-landing .texture .pillar:nth-child(2){ --seq: 350ms; }
.emo-landing .texture .pillar:nth-child(3){ --seq: 460ms; }
.emo-landing .texture .principles__coda{ --seq: 580ms; }
@media (prefers-reduced-motion: reduce){.js-reveal .emo-landing .texture :is(.plate, .sec-head, .pillar, .principles__coda){
    opacity: 1;
    transform: none;
    transition: none;
  }}
.emo-landing .principles__coda{ margin-block-start: var(--space-6); }
@media (max-width: 60rem){.emo-landing .sticky-stack > .section--sticky{ position: static; }
.emo-landing .sticky-stack__hold{ display: none; }
.emo-landing .sticky-stack > .section--overlap{
    background: var(--surface);
    padding-block-start: var(--section-pt);
  }}
.emo-landing #services{ isolation: isolate; }
.emo-landing #services::after{
  block-size: 100%;
  background:
    radial-gradient(44% 34% at 14% 6%,   var(--glow) 0%, transparent 64%),
    radial-gradient(34% 46% at 86% 22%,  var(--glow) 0%, transparent 68%),
    radial-gradient(56% 30% at 30% 63%,  var(--glow) 0%, transparent 72%),
    radial-gradient(28% 36% at 78% 88%,  var(--glow) 0%, transparent 66%);
}

/* Site chrome stays. These pages only replace the content between header and footer. */
body.emo-landing-page #page {
  padding-top: 0 !important;
}
html:has(body.emo-landing-page),
body.emo-landing-page,
body.emo-landing-page #mainWrapper,
body.emo-landing-page #page {
  overflow: visible !important;
}
body.emo-landing-page #mainWrapper {
  background: #0D0E10;
}
html:has(body.emo-landing-page) {
  scroll-behavior: smooth;
  scroll-padding-top: 11rem;
}
.emo-landing .hero {
  margin-block-start: 0;
}
.emo-landing strong,
.emo-landing b {
  margin-left: 0;
  margin-right: 0;
  font-family: inherit;
}
.emo-landing .actionbar {
  z-index: 1000;
}
@media (max-width: 64rem) {
  body.emo-landing-page #footer {
    padding-bottom: 4.5rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  html:has(body.emo-landing-page) { scroll-behavior: auto; }
}

/* Small screens only. The desktop layout is unchanged. */
@media (max-width: 60rem) {
  html:has(body.emo-landing-page),
  body.emo-landing-page,
  body.emo-landing-page #mainWrapper,
  body.emo-landing-page #page {
    overflow-x: hidden !important;
  }

  .emo-landing figure {
    margin: 0;
    max-inline-size: 100%;
  }

  .emo-landing .texture {
    min-block-size: 0;
    overflow: hidden;
  }
  .emo-landing .texture > img {
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
    max-inline-size: none;
    object-fit: cover;
    object-position: 50% 72%;
    animation: none;
    translate: none;
    transform: none;
  }
  .js-reveal .emo-landing .texture :is(.plate, .sec-head, .pillar, .principles__coda) {
    opacity: 1;
    transform: none;
  }

  .emo-landing .btn {
    max-inline-size: 100%;
    height: auto;
    white-space: normal;
    text-align: center;
  }
  .emo-landing .feature .btn,
  .emo-landing .cta-row .btn {
    inline-size: 100%;
  }

  .emo-landing .form,
  .emo-landing .field,
  .emo-landing .field-row,
  .emo-landing .segmented {
    min-inline-size: 0;
    max-inline-size: 100%;
  }
  .emo-landing .field-row {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: none;
  }
  .emo-landing .field-row > .field {
    grid-row: auto;
    grid-template-rows: none;
  }
  .emo-landing .input,
  .emo-landing .select,
  .emo-landing .textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: auto;
    box-sizing: border-box;
    box-shadow: none;
  }
  .emo-landing .segmented label {
    flex: 1 1 calc(50% - var(--space-2));
    min-inline-size: 0;
    padding-inline: var(--space-3);
    text-align: center;
  }

  .emo-landing #schedule {
    padding-block-end: calc(var(--section-pb) + var(--stickybar-h) + 1.5rem);
  }
}

/* Contact form (the same "contacts" form as /contact-us/) inside the schedule section. */
.emo-landing .emo-aan-form .display_name {
  display: none;
}
.emo-landing .emo-aan-form .form_body {
  display: grid;
  gap: 1rem;
}
.emo-landing .emo-aan-form .form-group {
  margin: 0;
  min-width: 0;
}
.emo-landing .emo-aan-form input:not([type="checkbox"]),
.emo-landing .emo-aan-form select,
.emo-landing .emo-aan-form textarea {
  width: 100%;
  box-sizing: border-box;
  height: auto;
  min-height: 3rem;
  padding: 0.75rem 0.9rem;
  border: 1px solid var(--rule-on-light-str);
  border-radius: var(--r-sm);
  background: var(--paper-raised);
  color: var(--ink-dark);
  font-family: var(--font-body);
  font-size: 1rem;
  font-style: normal;
  box-shadow: none;
}
.emo-landing .emo-aan-form textarea {
  min-height: 8rem;
  resize: vertical;
}
.emo-landing .emo-aan-form label,
.emo-landing .emo-aan-form label.bg {
  float: none !important;
  width: auto !important;
  display: block;
  margin: 0 0 0 1.75rem;
  padding: 0;
  color: var(--ink-dark-muted) !important;
  font-family: var(--font-body);
  font-size: 0.95rem;
  line-height: 1.45;
  text-align: left;
}
.emo-landing .emo-aan-form input[type="checkbox"] {
  float: left;
  width: 1.1rem;
  height: 1.1rem;
  margin: 0.2rem 0 0;
  box-shadow: none;
}
.emo-landing .emo-aan-form .btnBox {
  margin-top: 0.5rem;
}
.emo-landing .emo-aan-form .btnBox .btn {
  background: var(--red);
  color: #fff;
  border: 0;
  border-radius: var(--r-sm);
  min-height: 3rem;
  padding: 0.8rem 1.4rem;
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.emo-landing .emo-aan-form .btnBox .btn:disabled {
  opacity: 0.45;
}
.emo-landing .emo-aan-form p,
.emo-landing .emo-aan-form a {
  color: var(--ink-dark-muted);
  font-size: 0.95rem;
  line-height: 1.5;
}
.emo-landing .emo-aan-form a {
  text-decoration: underline;
}
.emo-landing .hero__viewport{
  overflow: hidden;
  min-inline-size: 0;
  transition: height 0.35s ease;
}
.emo-landing .hero__track{
  display: flex;
  align-items: flex-start;
  transition: transform 0.35s ease;
}
.emo-landing .hero__form.is-step-2 .hero__track{ transform: translateX(-100%); }
.emo-landing .hero__step{
  flex: 0 0 100%;
  min-inline-size: 0;
  display: grid;
  gap: var(--space-4);
}
.emo-landing .hero__form .textarea{ min-block-size: 6.5rem; }
.emo-landing .hero__actions{
  display: grid;
  gap: var(--space-3);
}
.emo-landing .hero.is-form-step-2{ align-items: flex-start; }
