
    :root {
      color-scheme: dark;
      --ink: #030304;
      --white: #f7f7f7;
      --muted: #b3b4bd;
      --ease: cubic-bezier(.21,1,.32,1);
    }
    * { box-sizing: border-box; }
    html { min-height: 100%; background: var(--ink); }
    body {
      margin: 0; min-height: 100vh; min-height: 100dvh;
      overflow-x: hidden; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
      font-weight: 400; color: var(--white); background: var(--ink);
    }
    button { font: inherit; }
    .landing {
      position: relative; min-height: 100vh; min-height: 100dvh;
      display: grid; place-items: center; isolation: isolate;
      overflow: hidden; padding: 40px 22px 46px;
      background: radial-gradient(ellipse 70% 65% at 50% 46%, #121419 0%, #08090b 42%, #030304 74%, #000 100%);
    }
    .landing::before {
      content: ''; position: absolute; inset: -25%; z-index: -2; pointer-events: none;
      background: radial-gradient(circle at 50% 48%, rgba(222,231,255,.07), transparent 40%);
    }
    .landing::after {
      content: ''; position: absolute; inset: 0; pointer-events:none; z-index: 7;
      opacity:.17;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");
    }
    .soft-orbit { position: absolute; left:50%; top:50%; width:min(92vw,1110px); height:min(92vw,1110px); border:1px solid rgba(255,255,255,.025); border-radius:50%; transform:translate(-50%,-50%); pointer-events:none; }
    .soft-orbit:nth-of-type(2) { width:min(64vw,760px); height:min(64vw,760px); border-color:rgba(255,255,255,.02); }
    .particle-cloud { position:absolute; inset:0; z-index:0; pointer-events:none; }
    .ambient-star { position:absolute; width:2px; height:2px; border-radius:50%; background:#fff; opacity:.2; box-shadow:0 0 8px 1px #ffffff80; animation:ambient-twinkle var(--speed) ease-in-out infinite alternate; animation-delay:var(--offset); }
    @keyframes ambient-twinkle { from { opacity:.04; transform:scale(.5); } to { opacity:.38; transform:scale(1.3); } }
    .map-frame {
      position:absolute; left:50%; top:49%; z-index:1;
      width:min(95vw,1430px); aspect-ratio:1320/645;
      transform:translate(-50%,-50%) scale(.99);
      transition: transform 2000ms var(--ease), opacity 1800ms ease, filter 1200ms ease;
      pointer-events:none; opacity:1;
    }
    .map-frame::after { content:'';position:absolute;inset:-8%;background:radial-gradient(ellipse at center, transparent 24%, #0303045e 67%, #030304c5 85%); pointer-events:none; }
    #map { width:100%; height:100%; overflow:visible; display:block; }
    .map-path {
      fill:none; stroke:rgba(247,249,255,.91); stroke-width:1.12;
      stroke-linecap:round; stroke-linejoin:round;
      vector-effect:non-scaling-stroke; pathLength:1000;
      stroke-dasharray:1000;stroke-dashoffset:1000;
      filter:drop-shadow(0px 0px 3px rgba(255,255,255,.74)) drop-shadow(0 0 11px rgba(255,255,255,.35));
    }
    .is-animating .map-path {
      animation: trace-coast var(--duration) linear var(--delay) both;
    }
    .is-complete .map-path { stroke-dashoffset:0; }
    @keyframes trace-coast { from{ stroke-dashoffset:1000; } to{ stroke-dashoffset:0; } }
    .spark-halo { fill:#fff; opacity:.23; filter:url(#soft-glow); }
    .spark-core { fill:white; filter:drop-shadow(0 0 6px #fff); }
    .spark-streak { stroke:white; stroke-width:.7; stroke-linecap:round; opacity:.9; }
    .is-complete .map-frame {
      opacity:.29; filter:blur(.25px);
      transform: translate(-50%, -50%) scale(1.11);
    }
    .intro-marker {
      position:absolute; bottom:clamp(42px,7vh,74px); left:50%;z-index:4;
      transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:13px;
      transition:opacity .35s ease,transform .35s ease; white-space:nowrap;pointer-events:none;
    }
    .intro-marker span { font-size:9px; letter-spacing:.5em; text-transform:uppercase; color:#a8a9b0; }
    .loading-track { height:1px; width:138px; background:rgba(255,255,255,.17);overflow:hidden; }
    .loading-line { width:0; height:100%; background:#fff;box-shadow:0 0 12px #fff; }
    .is-animating .loading-line { animation:load-track 5800ms linear both; }
    @keyframes load-track { to { width:100%; } }
    .is-complete .intro-marker { opacity:0;transform:translate(-50%,15px); }
    .brand-panel {
      position:relative; z-index:5; width:min(100%,870px); padding:28px 0;
      display:flex; flex-direction:column; align-items:center; justify-content:center;
      opacity:0; transform:translateY(28px) scale(.98); filter:blur(12px);
      pointer-events:none;
      transition: opacity 1100ms ease 160ms,transform 1500ms var(--ease) 70ms,filter 1200ms ease 70ms;
    }
    .brand-panel::before {content:'';position:absolute;inset:-65px -55px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at center,rgba(0,0,0,.80) 0%,rgba(0,0,0,.58) 42%,rgba(0,0,0,.25) 63%,transparent 83%);}
    .is-complete .brand-panel { opacity:1; transform:translateY(0) scale(1); filter:blur(0); pointer-events:auto; }
    .eyebrow { font-size:9px; font-weight:600; text-transform:uppercase; letter-spacing:.48em; color:#aaaeb9; text-align:center; margin-bottom:27px; padding-left:.48em; }
    .logo-wrap { display:grid; place-items:center; min-height:114px; }
    .brand-logo {grid-area:1/1;opacity:0;transition:opacity .35s ease;display:block; width:clamp(235px,31vw,375px); max-width:85vw; max-height:142px; object-fit:contain;filter:drop-shadow(0 0 18px rgba(255,255,255,.06)); }
    .logo-fallback {grid-area:1/1;display:block;font-size:clamp(38px,5.8vw,67px);font-weight:600;letter-spacing:-.095em;color:#fff;line-height:1;white-space:nowrap;}
    .logo-fallback em {font-weight:400;font-style:normal;margin-left:.15em;letter-spacing:-.08em;}
    .logo-wrap.logo-loaded .brand-logo {opacity:1;}
    .logo-wrap.logo-loaded .logo-fallback {display:none;}
    .hairline { width:1px; height:42px; background:linear-gradient(to bottom,transparent,rgba(255,255,255,.58),transparent); margin:32px 0 25px; }
    .choose-label { margin:0 0 30px; font-size:10px; letter-spacing:.36em; font-weight:600; color:#c3c3cb; text-transform:uppercase; text-align:center; padding-left:.36em; }
    .locations { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px;width:min(100%,780px); }
    .city-button {
      appearance:none; border:1px solid rgba(255,255,255,.28);background:linear-gradient(150deg,rgba(255,255,255,.075),rgba(255,255,255,.018) 60%);
      color:#f7f7f7; min-height:73px; padding:19px 19px;
      text-align:left; display:flex;align-items:center;gap:14px;
      cursor:pointer;position:relative;overflow:hidden;isolation:isolate;
      backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
      transition:background .35s ease,border-color .35s ease,transform .35s var(--ease),box-shadow .35s ease;
    }
    .city-button::before {
      content:'';position:absolute;inset:0;z-index:-1; transform:translateX(-105%) skewX(-25deg);
      background:linear-gradient(90deg,transparent,rgba(255,255,255,.09),transparent); transition:transform 720ms ease;
    }
    .city-button:hover::before,.city-button:focus-visible::before {transform:translateX(105%) skewX(-25deg);}
    .city-button:hover,.city-button:focus-visible,.city-button[aria-pressed="true"] {
      outline:none;background:linear-gradient(140deg,rgba(255,255,255,.12),rgba(255,255,255,.038));
      border-color:rgba(255,255,255,.8);transform:translateY(-4px);box-shadow:0 12px 45px #ffffff0b, inset 0 0 20px #ffffff04;
    }
    .index {color:#797c86;font-size:10px;letter-spacing:.06em;flex:none;}
    .city-name {font-size:11px;letter-spacing:.17em;font-weight:700;flex:1;white-space:nowrap;}
    .arrow { font-size:18px;font-weight:400; opacity:.58; transform:translate(0,0); transition:transform .35s ease,opacity .35s ease; }
    .city-button:hover .arrow,.city-button:focus-visible .arrow {opacity:1;transform:translate(3px,-3px);}
    .selection-message { height:28px; margin:21px 0 0; font-size:11px; letter-spacing:.08em; color:#c2c3cb; text-align:center; opacity:0;transition:opacity .35s; }
    .selection-message.visible { opacity:1; }
    .corner {position:absolute;z-index:5;color:rgba(255,255,255,.33); font-size:9px;letter-spacing:.23em;text-transform:uppercase; }
    .corner.top-left { top:33px;left:35px; }
    .corner.bottom-left { bottom:30px;left:35px; }
    .corner.bottom-right { bottom:30px;right:35px; }
    .corner.top-right {top:22px;right:26px;}
    .utility {
      border:0;background:transparent;color:#a6a8b1;font-size:10px;
      letter-spacing:.16em;text-transform:uppercase; padding:10px 12px;cursor:pointer;
      transition:color .3s ease; position:absolute;z-index:9;right:22px;top:20px;
    }
    .utility:hover,.utility:focus-visible {color:white;outline:1px solid rgba(255,255,255,.27);}
    #replay {display:none;}
    .is-complete #replay {display:block;}
    .is-complete #skip {display:none;}
    @media(max-width:680px) {
      .landing {padding:70px 28px 44px;}
      .map-frame {width:150vw;max-width:none;top:42%;}
      .is-complete .map-frame {opacity:.21;transform:translate(-50%,-50%) scale(1.12);}
      .brand-panel {padding-top:40px;}
      .eyebrow {font-size:8px;letter-spacing:.31em;margin-bottom:23px;}
      .brand-logo {width:min(72vw,300px);max-height:120px;}
      .logo-wrap {min-height:101px;}
      .hairline {height:34px;margin:24px 0 19px;}
      .choose-label {font-size:9px;margin-bottom:22px;}
      .locations {grid-template-columns:1fr;gap:11px;max-width:340px;}
      .city-button {min-height:64px;padding:15px 19px;}
      .corner.top-left {top:32px;left:22px;font-size:8px;}
      .corner.bottom-left {bottom:17px;left:20px;font-size:8px;}
      .corner.bottom-right {bottom:17px;right:20px;font-size:8px;}
      .utility {top:20px;right:13px;font-size:8px;}
      .intro-marker {bottom:12%;}
    }
    @media(max-height:640px) and (min-width:681px) {
      .brand-panel {transform:translateY(26px) scale(.91);}
      .is-complete .brand-panel {transform:scale(.89);}
      .eyebrow {margin-bottom:11px;}
      .hairline {height:20px;margin:13px 0;}
      .choose-label {margin-bottom:14px;}
      .city-button {min-height:60px;}
      .selection-message {margin-top:10px;}
    }
    @media(prefers-reduced-motion:reduce) {
      *,*::before,*::after {animation-duration:.01ms!important;transition-duration:.01ms!important;}
      .map-path {stroke-dashoffset:0;}
    }


    /* ────── Mr Smile: page transitions ────── */
    html { scroll-behavior: smooth; scroll-padding-top: 18px; }
    body.has-intro, body.is-transitioning { overflow: hidden; }
    body.site-ready { overflow-x: clip; }
    .landing { position:fixed; inset:0; z-index:90; width:100%; height:100vh; height:100dvh;
      will-change:transform, opacity, filter; transform-origin:center 48%;
      transition: transform 1250ms cubic-bezier(.28,.8,.2,1), opacity 950ms ease, filter 1100ms ease;
    }
    .landing.is-exiting {transform:scale(1.55); opacity:0; filter:blur(13px);pointer-events:none;}
    .landing[hidden] {display:none;}
    .main-site {
      position:relative; z-index:1; min-height:100vh; background:#060607;
      opacity:0; visibility:hidden; transform:translate3d(0,27vh,0) scale(.975);
      transition:opacity 1080ms ease 180ms, transform 1320ms cubic-bezier(.16,1,.3,1), visibility 0s linear 1320ms;
      will-change:transform,opacity;
    }
    body.site-ready .main-site {opacity:1;visibility:visible;transform:translate3d(0,0,0) scale(1); transition:opacity 1080ms ease 120ms,transform 1320ms cubic-bezier(.16,1,.3,1),visibility 0s;}
    .main-site[aria-hidden="true"] {pointer-events:none;}
    body.site-settled .main-site {will-change:auto;}
    .site-header {position:absolute;z-index:11;left:0;right:0;top:0;display:flex;align-items:center;
      justify-content:space-between;gap:16px;padding:clamp(24px,3vw,47px) clamp(26px,6.2vw,110px);
      pointer-events:none;}
    .site-header > * {pointer-events:auto;}
    .site-logo-wrap {position:relative;display:grid;place-items:center;min-height:45px;min-width:122px;}
    .site-logo {grid-area:1/1;height:clamp(30px,3.7vw,45px);width:auto;max-width:36vw;object-fit:contain;position:relative;z-index:2;}
    .site-logo-fallback {grid-area:1/1;font-size:19px;letter-spacing:-.07em;font-weight:600;color:white;white-space:nowrap;}
    .site-logo-fallback i {font-weight:300;font-style:normal;}
    .site-logo-wrap.logo-loaded .site-logo-fallback {opacity:0;}
    .site-header-right {display:flex;align-items:center;gap:13px;color:#d7d7db;font-size:9px;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;}
    .header-locale-dot {width:5px;height:5px;flex:none;border-radius:50%;background:#fff;box-shadow:0 0 12px #fff9;}
    .site-locale {color:#fff;letter-spacing:.14em;}
    .hero-track {position:relative;height:137vh;height:137dvh;background:#050507;}
    .video-hero {position:sticky;top:0;height:100vh;height:100dvh;overflow:hidden;isolation:isolate;display:flex;align-items:center;justify-content:center;
      background:radial-gradient(ellipse at 62% 34%,#35363d 0%,#121317 40%,#050506 80%);}
    .video-field {position:absolute;inset:0;z-index:-3;overflow:hidden;pointer-events:none;transform:scale(1.09) translate3d(0,var(--hero-move, 0px),0);will-change:transform;}
    .video-bg {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transform:scale(1.045);filter:saturate(.68) contrast(1.13) brightness(.85);
      transition:opacity 1900ms ease,transform 12000ms linear;}
    .video-bg.is-active {opacity:1;transform:scale(1);}
    .video-veil {position:absolute;inset:0;z-index:-2;pointer-events:none;
      background:linear-gradient(90deg,rgba(0,0,0,.77),rgba(0,0,0,.37) 57%,rgba(0,0,0,.30)),
        linear-gradient(to bottom,rgba(0,0,0,.40) 0%,transparent 30%,rgba(0,0,0,.38) 78%,#060607 100%);}
    .video-hero::before {content:'';position:absolute;z-index:-1;pointer-events:none;inset:0;
      background:radial-gradient(ellipse at 46% 52%,transparent 4%,rgba(0,0,0,.24) 68%,rgba(0,0,0,.65) 100%);}
    .video-hero::after {content:'';position:absolute;inset:0;z-index:5;pointer-events:none;opacity:.14;
      background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 110 110' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)' opacity='.18'/%3E%3C/svg%3E");}
    .hero-rule {position:absolute;z-index:4;inset:auto clamp(26px,6.2vw,110px) clamp(26px,4vw,47px);height:1px;background:#ffffff36;}
    .hero-rule::before {content:'01  /  THE TRANSFORMATION';position:absolute;bottom:17px;left:0;color:#d3d3d6;font-size:9px;letter-spacing:.23em;}
    .hero-rule::after {content:'SCROLL TO DISCOVER ↓';position:absolute;bottom:17px;right:0;color:#d3d3d6;font-size:9px;letter-spacing:.23em;}
    .hero-content {width:min(1380px,100%);margin:auto;position:relative;z-index:4;padding:125px clamp(28px,7vw,120px) 120px;
      text-align:center;transform:translate3d(0,var(--content-move,0px),0);opacity:var(--content-opacity,1);
      display:flex;flex-direction:column;align-items:center;justify-content:center;}
    .hero-topline {font-size:clamp(9px,1vw,12px);font-weight:600;letter-spacing:clamp(.12em,.35vw,.31em);line-height:2;text-transform:uppercase;color:#f3f2f1;
      margin:0;}
    .hero-topline {margin:0 0 clamp(21px,2.6vw,39px);}
    .hero-topline b {font-weight:400;color:#b5b4b8;margin:0 .5em;}
    .hero-title {margin:0;max-width:1210px;font-size:clamp(52px,8.1vw,133px);font-weight:400;
      letter-spacing:-.075em;line-height:.97;text-wrap:balance;text-shadow:0 4px 30px #0005;}
    .hero-title strong {font-weight:500;display:block;}
    .hero-title em {font-family:Georgia,'Times New Roman',serif;font-size:1.12em;font-weight:400;letter-spacing:-.09em;font-style:italic;}
    .hero-desc {font-size:clamp(14px,1.5vw,18px);line-height:1.7;font-weight:300;letter-spacing:.045em;color:#d6d4d6;margin:clamp(24px,3.2vw,44px) 0 32px;}
    .discover-link {display:inline-flex;align-items:center;gap:23px;padding:18px 25px;min-width:205px;justify-content:space-between;
      text-transform:uppercase;letter-spacing:.22em;text-decoration:none;color:#fff;font-size:10px;font-weight:600;
      border:1px solid #ffffff8a;background:#ffffff0f;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
      transition:color .35s ease,background .35s ease,transform .35s ease,box-shadow .35s ease;}
    .discover-link span {font-size:19px;font-weight:300;line-height:1;transition:transform .35s ease;}
    .discover-link:hover,.discover-link:focus-visible {background:#fff;color:#09090b;transform:translateY(-4px);box-shadow:0 11px 50px #ffffff23;outline:none;}
    .discover-link:hover span,.discover-link:focus-visible span {transform:translateY(3px);}
    .no-prep-section {position:relative;z-index:7;margin-top:-10vh;padding:clamp(96px,10vw,166px) 0 clamp(88px,9vw,140px);
      border-radius:30px 30px 0 0;background:#09090b;
      box-shadow:0 -42px 100px rgba(0,0,0,.45);overflow:hidden;isolation:isolate;}
    .no-prep-section::before {content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;
      background:radial-gradient(ellipse 42% 40% at 78% 38%,rgba(94,93,101,.16),transparent 75%),
        linear-gradient(90deg,transparent 0%,#ffffff0b 50%,transparent 100%);}
    .section-top-rule {position:absolute;top:0;left:50%;transform:translateX(-50%);height:1px;width:30%;background:linear-gradient(90deg,transparent,#ffffff95,transparent);}
    .no-prep-container {width:min(1450px,100%);padding:0 clamp(26px,6.2vw,110px);margin:0 auto;display:grid;grid-template-columns:1.08fr .92fr;
      gap:clamp(35px,5.2vw,92px);align-items:center;}
    .method-copy {max-width:690px;}
    .method-eyebrow {margin:0 0 22px;display:flex;align-items:center;gap:15px;color:#aaaab1;
      font-size:10px;letter-spacing:.27em;font-weight:600;text-transform:uppercase;}
    .method-eyebrow::before {content:'';height:1px;width:31px;background:#fff;}
    .method-title {margin:0 0 31px;font-weight:400;letter-spacing:-.055em;line-height:1.07;
      font-size:clamp(44px,5vw,82px);text-wrap:balance;}
    .method-title .method-serif {display:block;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-.06em;}
    .method-title .method-author {display:block;margin-top:.33em;font-size:.48em;letter-spacing:-.032em;font-weight:400;color:#d6d4d7;line-height:1.22;}
    .method-accent {height:1px;width:83px;background:linear-gradient(90deg,#fff,transparent);margin:0 0 31px;}
    .method-lead {font-size:clamp(17px,1.6vw,22px);line-height:1.7;font-weight:350;color:#f0eef0;margin:0 0 22px;letter-spacing:-.02em;}
    .method-body {font-size:clamp(14px,1.03vw,16px);line-height:1.95;color:#adaeb5;font-weight:400;margin:0 0 19px;max-width:630px;}
    .method-note {padding-top:18px;margin-top:27px;color:#878891;border-top:1px solid #ffffff1b;font-size:12px;line-height:1.8;max-width:590px;}
    .method-visual {position:relative;min-width:0;min-height:400px;display:grid;place-items:center;transform:translate3d(0,var(--method-move,0px),0);}
    .method-visual::before {content:'';position:absolute;width:100%;aspect-ratio:1;border:1px solid #ffffff18;border-radius:50%;max-width:690px;}
    .method-visual::after {content:'';position:absolute;width:84%;aspect-ratio:1;border:1px solid #ffffff1a;border-radius:50%;max-width:580px;}
    .method-image-halo {position:absolute;width:88%;aspect-ratio:1;max-width:620px;border-radius:50%;filter:blur(55px);
      background:radial-gradient(circle,rgba(179,167,162,.24),rgba(50,50,60,.05) 55%,transparent 75%);}
    .method-image {position:relative;z-index:1;width:100%;height:auto;max-width:700px;object-fit:contain;
      filter:drop-shadow(0 35px 40px #0009);transition:transform 900ms cubic-bezier(.16,1,.3,1);}
    .method-visual:hover .method-image {transform:scale(1.045);}
    .method-visual-number {position:absolute;left:0;bottom:6%;z-index:2;letter-spacing:.3em;color:#c8c7ca;font-size:9px;text-transform:uppercase;}
    .method-visual-number::before {content:'';width:30px;height:1px;background:#ddd;display:inline-block;vertical-align:middle;margin-right:13px;}
    .reveal-up {opacity:0;transform:translateY(60px);transition:opacity 1000ms ease,transform 1300ms cubic-bezier(.16,1,.3,1);}
    .reveal-up.is-visible {opacity:1;transform:translateY(0);}
    .method-visual.reveal-up {transition-delay:170ms;}
    .bottom-signoff {margin:clamp(75px,9vw,130px) auto 0; padding:25px clamp(26px,6.2vw,110px) 0;
      max-width:1450px;border-top:1px solid #ffffff1c;display:flex;justify-content:space-between;gap:20px;
      color:#96969e;font-size:10px;letter-spacing:.18em;text-transform:uppercase;}
    .bottom-signoff span:last-child {color:#ececed;}
    .sr-only {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
    @media(max-width:900px) {
      .no-prep-container {grid-template-columns:1fr;gap:18px;}
      .method-copy {max-width:740px;}
      .method-visual {max-width:650px;width:100%;margin:auto;min-height:unset;}
      .method-image {max-height:550px;}
      .method-title {font-size:clamp(43px,7vw,70px);}
      .hero-title {font-size:clamp(52px,10vw,88px);}
    }
    @media(max-width:600px) {
      .site-header {padding:23px 25px;}
      .site-logo {height:32px;max-width:42vw;}
      .site-logo-wrap {min-width:110px;min-height:36px;}
      .site-header-right {font-size:9px;letter-spacing:.1em;}
      .hero-track {height:118dvh;}
      .hero-content {padding:100px 22px 100px;}
      .hero-topline {font-size:9px;letter-spacing:.095em;max-width:96vw;}
      .hero-topline b {margin:0 .28em;}
      .hero-title {font-size:clamp(47px,12.7vw,78px);line-height:1.04;letter-spacing:-.072em;}
      .hero-title em {font-size:1.08em;}
      .hero-desc {font-size:14px;margin:24px 0 29px;max-width:290px;}
      .discover-link {min-height:52px;padding:16px 22px;}
      .hero-rule {bottom:26px;left:26px;right:26px;}
      .hero-rule::before,.hero-rule::after {font-size:7px;letter-spacing:.12em;}
      .video-veil {background:linear-gradient(to bottom,rgba(0,0,0,.62),rgba(0,0,0,.48) 50%,rgba(0,0,0,.74)),linear-gradient(90deg,#0006,transparent,#0006);}
      .no-prep-section {margin-top:-7vh;padding:74px 0 75px;border-radius:24px 24px 0 0;}
      .no-prep-container {padding:0 27px;gap:19px;}
      .method-visual {width:min(100%,440px);}
      .method-image {max-height:350px;}
      .method-visual-number {bottom:3%;font-size:8px;}
      .method-title {font-size:clamp(43px,11vw,62px);margin-bottom:25px;}
      .method-eyebrow {font-size:9px;margin-bottom:15px;}
      .method-accent {margin-bottom:25px;}
      .method-lead {font-size:18px;}
      .method-body {font-size:14px;line-height:1.87;}
      .bottom-signoff {padding:19px 27px 0;margin-top:55px;font-size:8px;letter-spacing:.09em;}
    }
    @media(prefers-reduced-motion:reduce) {
      .landing, .main-site, .video-bg, .reveal-up {transition-duration:0ms!important;}
      .reveal-up {opacity:1;transform:none;}
      .video-field,.hero-content,.method-visual {transform:none!important;}
      html {scroll-behavior:auto;}
    }
  
/* ════════════════════════════════════════════════════════════════
   MR SMILE / HOMEPAGE V3 — NEW EDITORIAL SECTIONS
   Existing world intro, cinematic video hero and No Prep section preserved.
   ════════════════════════════════════════════════════════════════ */
body.site-settled .main-site { transform:none; }
:root { --ms-off:#efefed; --ms-line:rgba(255,255,255,.16); --ms-black:#070708; }
#main-site a {color:inherit;}
#main-site .ms-container {width:min(1450px,100%);margin-inline:auto;padding-inline:clamp(26px,6.2vw,110px);}
#main-site .ms-kicker {display:flex;align-items:center;gap:15px;margin:0 0 31px;font-size:10px;letter-spacing:.28em;text-transform:uppercase;font-weight:600;color:#a7a7aa;}
#main-site .ms-kicker::before {content:"";width:25px;height:1px;background:currentColor;opacity:.75;}
#main-site .ms-display {font-size:clamp(48px,7.4vw,110px);letter-spacing:-.073em;line-height:.99;font-weight:400;margin:0;text-wrap:balance;}
#main-site .ms-display em {font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.08em;}
#main-site .ms-copy {color:#a9a9ae;font-size:clamp(15px,1.2vw,18px);line-height:1.9;font-weight:350;}
#main-site .ms-cta {display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border:1px solid #ffffff66;text-transform:uppercase;font-weight:600;font-size:10px;letter-spacing:.18em;text-decoration:none;padding:20px 23px;min-height:58px;transition:.3s ease;background:transparent;}
#main-site .ms-cta:hover,#main-site .ms-cta:focus-visible {background:white;color:black;transform:translateY(-3px);outline:none;}
#main-site .ms-cta svg {width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.3;}
#main-site .ms-tag {font-size:10px;font-weight:600;letter-spacing:.25em;text-transform:uppercase;}
#main-site .ms-section {position:relative;overflow:hidden;isolation:isolate;}
#main-site .reveal-next {opacity:0;transform:translateY(45px);transition:opacity .9s ease,transform 1.15s cubic-bezier(.16,1,.3,1);}
#main-site .reveal-next.in-view {opacity:1;transform:translateY(0);}
#main-site .reveal-next:nth-child(2) {transition-delay:.08s;}
#main-site .reveal-next:nth-child(3) {transition-delay:.16s;}

/* Minimal glass navigation floats in only after the hero has been visited */
#main-site .ms-topnav {position:fixed;top:16px;left:50%;z-index:61;transform:translate(-50%,-125%);width:min(calc(100% - 48px),1140px);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 15px 12px 25px;background:rgba(16,16,17,.81);border:1px solid #ffffff28;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border-radius:100px;box-shadow:0 17px 60px #0008;opacity:0;pointer-events:none;transition:transform .65s cubic-bezier(.16,1,.3,1),opacity .5s;}
body.ms-nav-show #main-site .ms-topnav {transform:translate(-50%,0);opacity:1;pointer-events:auto;}
#main-site .ms-topnav-brand {text-decoration:none;color:#fff;display:flex;align-items:center;gap:9px;font-size:18px;font-weight:600;letter-spacing:-.065em;white-space:nowrap;}
#main-site .ms-topnav-brand em {font-family:Georgia,serif;font-weight:400;}
#main-site .ms-navlinks {display:flex;align-items:center;gap:clamp(14px,2vw,30px);}
#main-site .ms-navlinks a {text-decoration:none;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#e0e0e1;transition:color .25s;}
#main-site .ms-navlinks a:hover {color:#fff;}
#main-site .ms-nav-book {font-size:9px;letter-spacing:.13em;text-transform:uppercase;background:#f3f3f3;color:#101010!important;text-decoration:none;border-radius:50px;padding:15px 22px;font-weight:700;white-space:nowrap;transition:background .25s;}
#main-site .ms-nav-book:hover {background:#bebebe;}
#main-site .ms-menu-toggle {display:none;align-items:center;justify-content:center;color:#fff;border:1px solid #ffffff55;background:transparent;border-radius:50%;width:39px;height:39px;font-size:18px;cursor:pointer;}
#main-site .ms-nav-drawer {display:none;}

/* Philosophy chapter */
#main-site .ms-manifesto {background:#0c0c0d;border-top:1px solid #ffffff12;padding:clamp(110px,13vw,210px) 0 clamp(105px,12vw,195px);}
#main-site .ms-manifesto::after {content:"MR SMILE";font-weight:700;font-size:clamp(120px,22vw,360px);position:absolute;z-index:-1;bottom:-.39em;right:-.08em;letter-spacing:-.11em;white-space:nowrap;color:#ffffff06;pointer-events:none;}
#main-site .ms-manifesto-inner {display:grid;grid-template-columns:1fr 2.05fr;gap:5vw;align-items:start;}
#main-site .ms-manifesto .ms-display {max-width:980px;font-size:clamp(61px,8vw,127px);}
#main-site .ms-manifesto .ms-display>span {display:block;}
#main-site .ms-manifesto .ms-display em {color:#d0ced0;}
#main-site .ms-manifesto-foot {display:flex;justify-content:space-between;gap:40px;align-items:end;margin-top:55px;}
#main-site .ms-manifesto-foot .ms-copy {max-width:490px;margin:0;}
#main-site .ms-side-note {writing-mode:vertical-rl;letter-spacing:.28em;font-size:9px;color:#777;white-space:nowrap;margin-top:7px;}

/* Real before/after smile comparison */
#main-site .ms-results {background:#efefed;color:#141416;padding:clamp(95px,10vw,165px) 0 clamp(100px,9vw,155px);}
#main-site .ms-results .ms-kicker {color:#64646a;}
#main-site .ms-results-top {display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:53px;}
#main-site .ms-results .ms-display {max-width:850px;}
#main-site .ms-results .ms-display em {font-size:1.05em;}
#main-site .ms-results-intro {max-width:265px;margin:0;font-size:14px;line-height:1.85;color:#65656a;}
#main-site .ms-showcase {display:grid;grid-template-columns:minmax(0,1.7fr) minmax(225px,.65fr);gap:18px;align-items:stretch;}
#main-site .ms-compare {position:relative;min-height:420px;aspect-ratio:1.74;overflow:hidden;background:#cac6c4;touch-action:pan-y;cursor:ew-resize;user-select:none;--split:50%;--compare-image:none;}
#main-site .ms-ba-img {position:absolute;inset:0;background-image:var(--compare-image);background-size:100% 200%;background-repeat:no-repeat;}
#main-site .ms-ba-after {background-position:50% 100%;}
#main-site .ms-ba-before {background-position:50% 0%;clip-path:inset(0 calc(100% - var(--split)) 0 0);}
#main-site .ms-compare::after {content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 80px #0002;}
#main-site .ms-ba-separator {pointer-events:none;position:absolute;top:0;bottom:0;left:var(--split);width:2px;background:#fff;transform:translateX(-50%);box-shadow:0 0 18px #0008;z-index:2;}
#main-site .ms-ba-knob {pointer-events:none;position:absolute;left:var(--split);top:50%;z-index:3;transform:translate(-50%,-50%);width:66px;height:66px;display:grid;place-items:center;border:1px solid #ffffffb5;border-radius:50%;color:#151516;background:#ffffffed;box-shadow:0 13px 42px #0004;font-size:17px;letter-spacing:.15em;}
#main-site .ms-ba-caption {position:absolute;z-index:3;top:24px;text-transform:uppercase;letter-spacing:.18em;font-size:9px;font-weight:700;color:#fff;text-shadow:0 1px 8px #0009;pointer-events:none;}
#main-site .ms-ba-caption.left {left:25px;}
#main-site .ms-ba-caption.right {right:25px;}
#main-site .ms-compare:focus-visible {outline:3px solid #161616;outline-offset:4px;}
#main-site .ms-gallery-sidebar {background:#151517;color:#f8f8f8;padding:clamp(24px,3vw,42px);display:flex;flex-direction:column;justify-content:space-between;}
#main-site .ms-gallery-id {font-size:11px;letter-spacing:.2em;color:#a1a1a3;}
#main-site .ms-gallery-title {font-family:Georgia,serif;font-style:italic;font-size:clamp(31px,3.5vw,54px);font-weight:400;line-height:1.08;margin:25px 0;letter-spacing:-.055em;}
#main-site .ms-gallery-desc {font-size:13px;line-height:1.85;color:#adadb2;margin:0;}
#main-site .ms-gallery-controls {display:flex;align-items:center;gap:12px;margin-top:35px;}
#main-site .ms-iconbtn {border:1px solid #ffffff65;background:transparent;color:inherit;width:47px;height:47px;display:grid;place-items:center;border-radius:50%;font-size:21px;cursor:pointer;transition:.25s;}
#main-site .ms-iconbtn:hover,#main-site .ms-iconbtn:focus-visible {background:white;color:black;}
#main-site .ms-gallery-counter {font-size:11px;letter-spacing:.2em;margin-left:auto;color:#adadb2;}
#main-site .ms-gallery-bottom {border-top:1px solid #0002;margin-top:23px;padding-top:19px;display:flex;justify-content:space-between;gap:20px;align-items:center;}
#main-site .ms-gallery-bottom span {font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#747478;}
#main-site .ms-gallery-bottom a {text-decoration:none;border-bottom:1px solid #5c5c5c;padding-bottom:5px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:650;}

/* Cards / premium service index */
#main-site .ms-services {background:#090909;padding:clamp(100px,12vw,186px) 0 clamp(100px,11vw,170px);}
#main-site .ms-services-top {display:grid;grid-template-columns:1fr .58fr;gap:55px;align-items:end;margin-bottom:60px;}
#main-site .ms-services-top .ms-copy {max-width:360px;margin:0;}
#main-site .ms-services .ms-display {font-size:clamp(58px,7.5vw,115px);}
#main-site .ms-services-grid {display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:13px;}
#main-site .ms-service {min-width:0;position:relative;border:1px solid #ffffff1b;background:linear-gradient(145deg,#18181a,#0c0c0e 70%);padding:clamp(27px,3.2vw,49px);display:flex;flex-direction:column;justify-content:space-between;min-height:355px;grid-column:span 4;overflow:hidden;text-decoration:none!important;transition:transform .45s cubic-bezier(.16,1,.3,1),border-color .45s ease,background .5s ease;}
#main-site .ms-service:hover {transform:translateY(-8px);border-color:#ffffff7c;background:linear-gradient(145deg,#242427,#101012);}
#main-site .ms-service:nth-child(-n+2) {grid-column:span 6;min-height:460px;}
#main-site .ms-service:last-child {grid-column:span 12;min-height:255px;}
#main-site .ms-service::after {content:"";pointer-events:none;position:absolute;right:-150px;bottom:-245px;height:450px;width:450px;border:1px solid #ffffff0c;border-radius:50%;box-shadow:0 0 0 75px #ffffff04,0 0 0 160px #ffffff03;transition:transform .8s ease;}
#main-site .ms-service:hover::after {transform:scale(1.12) translate(-30px,-15px);}
#main-site .ms-service-number {display:flex;justify-content:space-between;align-items:center;color:#98989b;font-size:11px;letter-spacing:.18em;position:relative;z-index:2;}
#main-site .ms-service-arrow {width:36px;height:36px;display:grid;place-items:center;border:1px solid #ffffff48;border-radius:50%;font-size:16px;color:#ddd;transition:.3s;}
#main-site .ms-service:hover .ms-service-arrow {color:#000;background:white;transform:rotate(45deg);}
#main-site .ms-service-head {position:relative;z-index:2;}
#main-site .ms-service-title {font-size:clamp(30px,3.7vw,58px);letter-spacing:-.06em;line-height:1.07;font-weight:400;margin:0 0 17px;max-width:530px;}
#main-site .ms-service:nth-child(n+3) .ms-service-title {font-size:clamp(31px,3vw,46px);}
#main-site .ms-service:last-child .ms-service-title {font-size:clamp(43px,4.8vw,72px);}
#main-site .ms-service-title em {font-family:Georgia,serif;font-weight:400;}
#main-site .ms-service-desc {font-size:14px;line-height:1.75;color:#a7a7ae;margin:0;max-width:410px;}
#main-site .ms-service-mark {position:absolute;right:6%;top:25%;font-size:clamp(80px,15vw,225px);font-family:Georgia,serif;font-style:italic;letter-spacing:-.09em;color:#ffffff07;pointer-events:none;}
#main-site .ms-service:last-child .ms-service-head {display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;}

/* Immersive original laboratory film */
#main-site .ms-lab {height:clamp(650px,90dvh,1050px);background:#151515;display:grid;align-items:center;}
#main-site .ms-lab-media {position:absolute;inset:0;z-index:-3;}
#main-site .ms-lab-media video {width:100%;height:100%;object-fit:cover;filter:saturate(.83) contrast(1.1);}
#main-site .ms-lab::after {content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#000d,#0005 65%,#0006),linear-gradient(0deg,#070708 0%,transparent 27%,#0005 100%);}
#main-site .ms-lab-content {position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;}
#main-site .ms-lab .ms-display {font-size:clamp(72px,11vw,172px);line-height:.86;max-width:900px;}
#main-site .ms-lab .ms-display em {display:block;font-size:.95em;}
#main-site .ms-lab .ms-copy {color:#f0edef;max-width:460px;margin:34px 0 34px;font-size:16px;}
#main-site .ms-lab-bottom {position:absolute;bottom:43px;left:0;right:0;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.23em;color:#e1e0e0;}

/* Process - off white step-by-step rhythm */
#main-site .ms-process {background:#e9e8e5;color:#121215;padding:clamp(95px,12vw,185px) 0;}
#main-site .ms-process-layout {display:grid;grid-template-columns:.82fr 1.1fr;gap:clamp(55px,9vw,160px);align-items:start;}
#main-site .ms-process .ms-kicker {color:#77777c;}
#main-site .ms-process h2 {font-size:clamp(54px,6vw,95px);margin:0 0 32px;}
#main-site .ms-process-lead {font-size:16px;line-height:1.8;color:#626267;max-width:410px;}
#main-site .ms-process-left {position:sticky;top:140px;}
#main-site .ms-process-left .ms-cta {margin-top:27px;border-color:#16161670;}
#main-site .ms-process-left .ms-cta:hover {background:#171718;color:white;}
#main-site .ms-step {display:grid;grid-template-columns:84px 1fr;gap:20px;padding:35px 0 42px;border-top:1px solid #17171938;}
#main-site .ms-step:last-child {border-bottom:1px solid #17171938;}
#main-site .ms-step-no {font-size:11px;letter-spacing:.1em;color:#777;}
#main-site .ms-step h3 {font-size:clamp(27px,3vw,42px);font-weight:400;letter-spacing:-.05em;margin:0 0 14px;}
#main-site .ms-step p {font-size:14px;line-height:1.9;color:#67676b;margin:0;max-width:480px;}

/* Oversized handoff moment */
#main-site .ms-moment {min-height:690px;height:clamp(690px,92dvh,950px);background:#17171a;display:grid;place-items:center;text-align:center;}
#main-site .ms-moment-bg {position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#0007,#0005),url('https://mrsmile.dental/wp-content/uploads/2026/03/circle-6.webp') center center / cover no-repeat;opacity:.63;filter:saturate(.88);transform:scale(1.035);}
#main-site .ms-moment::after {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0008,transparent 30%,#0006),radial-gradient(ellipse,rgba(0,0,0,.40),rgba(0,0,0,.69) 78%);}
#main-site .ms-moment .ms-container {display:flex;flex-direction:column;align-items:center;position:relative;z-index:2;}
#main-site .ms-moment .ms-display {font-size:clamp(72px,11.5vw,169px);line-height:.9;}
#main-site .ms-moment .ms-display span,#main-site .ms-moment .ms-display em {display:block;}
#main-site .ms-moment .ms-display em {font-size:1.05em;}
#main-site .ms-moment .ms-copy {max-width:440px;margin:33px auto;color:#f1f1f1;}

/* FAQs */
#main-site .ms-faq {background:#0a0a0b;padding:clamp(90px,11vw,180px) 0;}
#main-site .ms-faq-layout {display:grid;grid-template-columns:.82fr 1.15fr;gap:clamp(50px,10vw,160px);}
#main-site .ms-faq .ms-display {font-size:clamp(54px,6.5vw,104px);}
#main-site .ms-faq-side .ms-copy {max-width:330px;margin-top:35px;}
#main-site .ms-faq details {border-top:1px solid #ffffff38;}
#main-site .ms-faq details:last-child {border-bottom:1px solid #ffffff38;}
#main-site .ms-faq summary {list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:27px 0;font-size:clamp(16px,1.6vw,21px);line-height:1.45;font-weight:400;}
#main-site .ms-faq summary::-webkit-details-marker {display:none;}
#main-site .ms-faq summary::after {content:"+";font-size:30px;font-weight:200;line-height:1;flex:none;color:#d6d6d6;transition:transform .3s;}
#main-site .ms-faq details[open] summary::after {transform:rotate(45deg);}
#main-site .ms-faq details p {padding:0 40px 32px 0;margin:0;max-width:620px;color:#a6a6ab;line-height:1.85;font-size:14px;}
#main-site .ms-faq-footer {margin-top:42px;}

/* Collaboration showcase */
#main-site .ms-collab {background:#dcdad7;color:#141416;padding:clamp(90px,11vw,155px) 0;}
#main-site .ms-collab .ms-kicker {color:#6f6f74;}
#main-site .ms-collab .ms-display {font-size:clamp(56px,7vw,109px);}
#main-site .ms-collab-top {display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:65px;}
#main-site .ms-collab .ms-copy {max-width:360px;color:#626268;margin:0;}
#main-site .ms-collab-grid {display:grid;grid-template-columns:1fr 1fr;gap:16px;}
#main-site .ms-collab-card {position:relative;overflow:hidden;padding:clamp(30px,4vw,55px);min-height:330px;background:#c6c4c0;border:1px solid #10101017;display:flex;flex-direction:column;justify-content:space-between;}
#main-site .ms-collab-card:nth-child(2) {background:#161618;color:#f7f7f7;}
#main-site .ms-collab-card .ms-tag {color:#666;}
#main-site .ms-collab-card:nth-child(2) .ms-tag {color:#aaa;}
#main-site .ms-collab-card h3 {font-weight:400;font-size:clamp(40px,4vw,65px);letter-spacing:-.065em;line-height:1.02;margin:20px 0;position:relative;z-index:2;}
#main-site .ms-collab-card p {font-size:14px;line-height:1.75;max-width:390px;color:#626264;position:relative;z-index:2;}
#main-site .ms-collab-card:nth-child(2) p {color:#b9b9bf;}
#main-site .ms-collab-card a {text-decoration:none;font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:8px;align-self:start;position:relative;z-index:2;}

/* locations and conversion */
#main-site .ms-contact {padding:clamp(100px,11vw,180px) 0 65px;background:#080809;}
#main-site .ms-contact-top {display:grid;grid-template-columns:1.25fr .6fr;gap:70px;align-items:end;margin-bottom:76px;}
#main-site .ms-contact .ms-display {font-size:clamp(59px,8.7vw,140px);}
#main-site .ms-contact-top .ms-copy {max-width:370px;}
#main-site .ms-contact .ms-cta {margin-top:21px;}
#main-site .ms-location-grid {display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff5a;border-bottom:1px solid #ffffff5a;}
#main-site .ms-location {position:relative;padding:45px clamp(23px,3vw,45px) 46px 0;min-height:240px;border-right:1px solid #ffffff28;}
#main-site .ms-location:not(:first-child) {padding-left:clamp(23px,3vw,45px);}
#main-site .ms-location:last-child {border-right:0;}
#main-site .ms-location::before {content:"";height:3px;width:0;position:absolute;top:-2px;left:0;background:white;transition:width .5s;}
#main-site .ms-location.is-selected::before {width:calc(100% - 20px);}
#main-site .ms-location small {font-size:9px;letter-spacing:.24em;color:#89898e;text-transform:uppercase;}
#main-site .ms-location h3 {font-weight:400;font-size:clamp(34px,4vw,60px);line-height:1.2;letter-spacing:-.06em;margin:28px 0 15px;}
#main-site .ms-location p {font-size:13px;color:#a9a9ad;line-height:1.65;margin:0 0 20px;max-width:255px;}
#main-site .ms-location a {display:inline-block;font-size:10px;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid #ffffffa0;padding-bottom:7px;}
#main-site .ms-footer {padding:55px 0 38px;background:#080809;}
#main-site .ms-footer-grid {display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:65px;align-items:start;}
#main-site .ms-footer-logo {width:min(215px,80%);max-height:105px;object-fit:contain;display:block;margin-bottom:27px;}
#main-site .ms-footer-sig {margin:0;max-width:380px;color:#909096;font-size:13px;line-height:1.9;}
#main-site .ms-footer-title {font-size:10px;text-transform:uppercase;letter-spacing:.25em;color:#7c7c82;margin:0 0 25px;}
#main-site .ms-footer-links {display:flex;flex-direction:column;gap:15px;}
#main-site .ms-footer-links a {font-size:13px;color:#d4d4d7;text-decoration:none;width:fit-content;}
#main-site .ms-footer-links a:hover {text-decoration:underline;}
#main-site .ms-footer-base {border-top:1px solid #ffffff20;padding-top:29px;margin-top:85px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;color:#88888e;font-size:10px;letter-spacing:.15em;text-transform:uppercase;}
#main-site .ms-footer-base a {text-decoration:none;}

@media(max-width:1050px){
 #main-site .ms-services-top {grid-template-columns:1fr .8fr;}
 #main-site .ms-navlinks {gap:13px;}
 #main-site .ms-navlinks a {font-size:9px;}
 #main-site .ms-service:nth-child(n+3) {grid-column:span 6;}
 #main-site .ms-service:last-child {grid-column:span 12;}
 #main-site .ms-service:last-child .ms-service-head {grid-template-columns:1fr 1fr;}
}
@media(max-width:800px){
 #main-site .ms-manifesto-inner,#main-site .ms-process-layout,#main-site .ms-faq-layout,#main-site .ms-contact-top {grid-template-columns:1fr;gap:45px;}
 #main-site .ms-manifesto .ms-side-note {display:none;}
 #main-site .ms-results-top,#main-site .ms-collab-top {flex-direction:column;align-items:start;gap:25px;}
 #main-site .ms-results-intro {max-width:490px;}
 #main-site .ms-showcase {grid-template-columns:1fr;}
 #main-site .ms-gallery-sidebar {min-height:270px;}
 #main-site .ms-gallery-sidebar .ms-gallery-title {margin:16px 0 13px;}
 #main-site .ms-gallery-controls {margin-top:15px;}
 #main-site .ms-services-top {grid-template-columns:1fr;gap:24px;}
 #main-site .ms-process-left {position:static;}
 #main-site .ms-process h2 {max-width:520px;}
 #main-site .ms-location-grid {grid-template-columns:1fr;}
 #main-site .ms-location,#main-site .ms-location:not(:first-child) {padding:30px 0;border-right:0;border-bottom:1px solid #ffffff2b;min-height:auto;}
 #main-site .ms-location:last-child {border:0;}
 #main-site .ms-location h3 {margin:14px 0;}
 #main-site .ms-footer-grid {grid-template-columns:1fr 1fr;}
 #main-site .ms-footer-grid>div:first-child {grid-column:span 2;}
 #main-site .ms-navlinks {display:none;}
 #main-site .ms-topnav {padding:9px 9px 9px 18px;}
 #main-site .ms-topnav .ms-nav-book {margin-left:auto;padding:13px 16px;}
 #main-site .ms-menu-toggle {display:flex;flex:none;}
 #main-site .ms-nav-drawer {display:flex;flex-direction:column;position:fixed;z-index:60;top:76px;right:24px;left:24px;padding:20px;background:rgba(18,18,20,.97);border:1px solid #ffffff35;backdrop-filter:blur(25px);border-radius:20px;opacity:0;pointer-events:none;transform:translateY(-14px);transition:.3s;box-shadow:0 23px 65px #000b;}
 body.ms-menu-open #main-site .ms-nav-drawer {opacity:1;pointer-events:auto;transform:translateY(0);}
 #main-site .ms-nav-drawer a {text-decoration:none;font-size:16px;padding:15px 5px;border-bottom:1px solid #ffffff1f;}
 #main-site .ms-nav-drawer a:last-child {border-bottom:0;}
}
@media(max-width:600px){
 #main-site .ms-manifesto {padding:91px 0 100px;}
 #main-site .ms-manifesto .ms-display {font-size:clamp(63px,13.5vw,97px);}
 #main-site .ms-manifesto-foot {flex-direction:column;align-items:start;gap:28px;margin-top:35px;}
 #main-site .ms-results {padding:86px 0 95px;}
 #main-site .ms-results-top {margin-bottom:33px;}
 #main-site .ms-display {font-size:clamp(49px,12.5vw,82px);}
 #main-site .ms-compare {min-height:unset;aspect-ratio:1.25;}
 #main-site .ms-ba-knob {width:51px;height:51px;font-size:14px;}
 #main-site .ms-gallery-sidebar {padding:26px;min-height:250px;}
 #main-site .ms-gallery-id {font-size:10px;}
 #main-site .ms-services {padding:95px 0;}
 #main-site .ms-services-grid {grid-template-columns:1fr;}
 #main-site .ms-service,#main-site .ms-service:nth-child(n),#main-site .ms-service:last-child {grid-column:span 1;min-height:310px;}
 #main-site .ms-service:nth-child(-n+2) {min-height:340px;}
 #main-site .ms-service:last-child .ms-service-head {display:block;}
 #main-site .ms-service-title,#main-site .ms-service:nth-child(n+3) .ms-service-title {font-size:42px;}
 #main-site .ms-lab {height:750px;}
 #main-site .ms-lab .ms-display {font-size:clamp(80px,17vw,125px);}
 #main-site .ms-lab-bottom {bottom:24px;font-size:8px;letter-spacing:.1em;}
 #main-site .ms-process {padding:95px 0;}
 #main-site .ms-process-layout {gap:35px;}
 #main-site .ms-process h2 {font-size:clamp(52px,12vw,75px);}
 #main-site .ms-step {grid-template-columns:48px 1fr;gap:12px;padding:30px 0;}
 #main-site .ms-step h3 {font-size:31px;}
 #main-site .ms-moment {height:700px;min-height:700px;}
 #main-site .ms-moment .ms-display {font-size:clamp(64px,14.5vw,100px);}
 #main-site .ms-faq {padding:90px 0;}
 #main-site .ms-faq summary {padding:23px 0;}
 #main-site .ms-collab {padding:90px 0;}
 #main-site .ms-collab-grid {grid-template-columns:1fr;}
 #main-site .ms-collab-card {min-height:320px;}
 #main-site .ms-contact {padding:95px 0 50px;}
 #main-site .ms-contact .ms-display {font-size:clamp(67px,15vw,98px);}
 #main-site .ms-footer {padding-bottom:25px;}
 #main-site .ms-footer-grid {gap:40px 25px;}
 #main-site .ms-footer-base {margin-top:50px;font-size:9px;}
 #main-site .ms-topnav {width:calc(100% - 22px);top:9px;}
 #main-site .ms-topnav-brand {font-size:16px;}
 #main-site .ms-topnav .ms-nav-book {font-size:8px;padding:12px 13px;}
}
@media(prefers-reduced-motion:reduce){#main-site .reveal-next {opacity:1;transform:none;transition:none;}#main-site .ms-moment-bg {transform:none;}}

/* V1.1 – slower, deliberate cinematic transition with reveal after zoom */
.landing{transition:transform 2800ms cubic-bezier(.2,.76,.15,1),opacity 1550ms ease-in 830ms,filter 2000ms ease 350ms;}
.landing.is-exiting{transform:scale(2.12);opacity:0;filter:blur(19px)}
.main-site{transition:opacity 1800ms ease 760ms,transform 2450ms cubic-bezier(.12,1,.22,1) 550ms,visibility 0s linear 3000ms;transform:translate3d(0,38vh,0) scale(.94)}
body.site-ready .main-site{transition:opacity 1900ms ease 650ms,transform 2400ms cubic-bezier(.12,1,.22,1) 520ms,visibility 0s;}
#main-site .ms-nav-about{position:relative;display:flex;align-items:center;height:100%}
#main-site .ms-nav-about-menu{display:flex;flex-direction:column;position:absolute;top:100%;left:-21px;min-width:157px;background:#19191c;border:1px solid #ffffff3b;border-radius:13px;padding:10px;opacity:0;pointer-events:none;transform:translateY(9px);transition:.25s ease;box-shadow:0 20px 42px #0008}
#main-site .ms-nav-about:hover .ms-nav-about-menu,#main-site .ms-nav-about:focus-within .ms-nav-about-menu{opacity:1;pointer-events:auto;transform:translateY(0)}
#main-site .ms-nav-about-menu a{padding:10px 12px!important;display:block!important}
@media(prefers-reduced-motion:reduce){.landing,.main-site,body.site-ready .main-site{transition:none!important}}

#main-site .ms-contact .mrsmile-embed-section{background:#efede8;border-radius:20px;padding:clamp(26px,5vw,65px);margin-top:50px;color:#181719}
#main-site .ms-contact .mrsmile-embed-section h2{color:#181719}
#main-site .ms-contact .mrsmile-embed-section p{color:#59575b}


/* ═══════ MR SMILE V1.3 — FLUID WORLD INTRO / ONE CTA / EXPERIENCE FIRST ═══════ */
/* Animate major coastlines individually, the tiny fragments as one layer.
   Large per-path blur filters were repainting more than a hundred SVG paths per frame. */
.map-path { filter:none; }
#coastlines {filter:none;}
.is-complete #coastlines {filter:drop-shadow(0 0 2px rgba(255,255,255,.35));}
#minor-coasts {opacity:0;}
#minor-coasts .map-path {stroke-dashoffset:0;}
.is-animating #minor-coasts .map-path {animation:none!important;}
.is-animating #minor-coasts {animation:ms-minor-landmass 900ms ease 3550ms both;}
.is-complete #minor-coasts {opacity:1;}
@keyframes ms-minor-landmass {from{opacity:0}to{opacity:1}}
.spark-core {filter:none;}
.spark-halo {filter:none;opacity:.18;}
.ambient-star:nth-child(n+12) {animation:none;opacity:.13;box-shadow:none;}
@media(max-width:700px) { .ambient-star {animation:none;box-shadow:none;} #coastlines,.is-complete #coastlines {filter:none;} .spark-halo,.spark-streak {display:none;} }

/* Three cities are identity, not a city-selection gate. */
.brand-panel {max-width:920px;}
.intro-cities {display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:clamp(9px,2.3vw,26px);
 color:#fff;font-size:clamp(18px,2.75vw,34px);letter-spacing:-.035em;font-weight:300;text-align:center;margin:0 0 42px;line-height:1.3;}
.intro-cities i {font:normal 300 .72em/1 Georgia,serif;color:#85858c;}
.intro-continue {appearance:none;min-width:min(320px,100%);min-height:62px;display:inline-flex;align-items:center;justify-content:space-between;gap:64px;
 border:1px solid #f3f3f3;background:#f4f2ef;color:#111112;padding:18px 25px;cursor:pointer;
 text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:700;
 transition:background .3s ease,color .3s ease,transform .3s ease,border-color .3s ease;}
.intro-continue span {font-size:19px;font-weight:300;}
.intro-continue:hover,.intro-continue:focus-visible {background:#151517;border-color:#e3e1dc;color:#fff;transform:translateY(-3px);outline:2px solid transparent;box-shadow:0 0 0 2px #fff8;}
.choose-label {margin-bottom:20px;}
/* Lock body + scrolling root until the cinematic handoff is completely settled. */
body.has-intro,body.is-transitioning {overflow:hidden!important;}
html.ms-intro-scroll-lock {scroll-behavior:auto!important;overscroll-behavior:none;overflow:hidden;}
body.is-transitioning .main-site {pointer-events:none;}
.landing {transform:translate3d(0,0,0) scale(1);filter:none!important;transition:transform 2050ms cubic-bezier(.17,.76,.17,1),opacity 1720ms ease 280ms!important;}
.landing.is-exiting {transform:translate3d(0,0,0) scale(1.31);opacity:0;filter:none!important;}
.main-site {transform:translate3d(0,24vh,0) scale(.992);transition:opacity 1600ms ease 280ms,transform 2100ms cubic-bezier(.16,1,.3,1),visibility 0s linear 2100ms;}
body.site-ready .main-site {transition:opacity 1600ms ease 240ms,transform 2100ms cubic-bezier(.16,1,.3,1),visibility 0s;}

/* New page sequence: full-screen HERO -> off-white WHY MR SMILE -> dark NO PREP. */
#main-site .ms-process {z-index:8;position:relative;margin-top:-8vh;padding-top:clamp(95px,9vw,135px);
 border-radius:clamp(22px,3vw,40px) clamp(22px,3vw,40px) 0 0;box-shadow:0 -30px 90px rgba(0,0,0,.23);}
.no-prep-section {margin-top:0;z-index:7;border-radius:0;}
#main-site .ms-experience-intro {display:flex;justify-content:space-between;align-items:end;gap:38px;margin-bottom:45px;border-bottom:1px solid #19191a3d;padding-bottom:30px;}
#main-site .ms-experience-intro p {font-size:10px;letter-spacing:.23em;font-weight:650;color:#66666a;white-space:nowrap;margin:0;}
#main-site .ms-experience-intro span {max-width:630px;font-size:clamp(20px,2.3vw,34px);line-height:1.38;letter-spacing:-.04em;font-weight:400;}
#main-site .ms-experience-intro em {font-family:Georgia,serif;font-weight:400;}
#main-site .ms-process-benefits {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-bottom:clamp(60px,8vw,110px);}
#main-site .ms-process-benefits>div {padding:25px clamp(12px,2vw,29px) 22px 0;border-top:1px solid #12121466;}
#main-site .ms-process-benefits>div+div {padding-left:clamp(15px,2vw,32px);border-left:1px solid #12121425;}
#main-site .ms-process-benefits span {display:block;font-size:9px;letter-spacing:.2em;color:#727276;font-weight:700;margin:0 0 18px;}
#main-site .ms-process-benefits strong {display:block;font-size:clamp(19px,2.4vw,30px);letter-spacing:-.06em;line-height:1.1;font-weight:450;margin-bottom:12px;}
#main-site .ms-process-benefits p {font-size:13px;line-height:1.7;color:#68686a;margin:0;}
#main-site .ms-process h2 {font-size:clamp(54px,5.8vw,93px);}
#main-site .ms-process .ms-step {content-visibility:auto;contain-intrinsic-size:auto 170px;}
@media(max-width:760px){
 .intro-cities {gap:8px 14px;margin-bottom:36px;font-size:clamp(19px,5.2vw,26px);}
 .intro-continue {min-width:min(290px,100%);}
 .brand-panel {padding-inline:7px;}
 #main-site .ms-process {margin-top:-5vh;padding-top:80px;}
 #main-site .ms-experience-intro {display:block;margin-bottom:36px;}
 #main-site .ms-experience-intro p {margin-bottom:17px;}
 #main-site .ms-process-benefits {grid-template-columns:1fr;margin-bottom:57px;}
 #main-site .ms-process-benefits>div,#main-site .ms-process-benefits>div+div {padding:21px 0;border-left:0;}
 #main-site .ms-process-benefits strong {font-size:24px;}
 #main-site .ms-process h2 {font-size:clamp(50px,10.7vw,73px);}
}
@media(prefers-reduced-motion:reduce){
 .landing,.main-site,body.site-ready .main-site {transition:none!important;}
 .intro-continue:hover {transform:none;}
}
/* Allow the editorial steps' sticky heading to track the viewport, without creating an overflow scroller. */
#main-site .ms-process {overflow:clip;}

/* V1.4 — Glass navigation visible from the FIRST frame of the video hero. */
#main-site .ms-topnav { top:20px; }
#main-site .site-header { display:none; } /* shared glass header replaces old video-hero header */
.admin-bar #main-site .ms-topnav { top:52px; }
@media (max-width:782px) { .admin-bar #main-site .ms-topnav { top:66px; } }
@media (max-width:600px) {
  #main-site .ms-topnav {top:20px;}
  #main-site .ms-nav-drawer { top:88px; }
  .admin-bar #main-site .ms-nav-drawer { top:134px; }
}
/* Smooth entrance together with the hero; no wait for scroll. */
body.site-ready #main-site .ms-topnav {transition-delay:.24s;}
/* Release the transform containing block so position:fixed really sticks to the viewport. */
body.site-settled .main-site {transform:none!important;}

/* V1.6: hero button hover specificity overrides generic #main-site a { color:inherit }. */
#main-site .video-hero .discover-link:hover,
#main-site .video-hero .discover-link:focus-visible,
#main-site .video-hero .discover-link:hover span,
#main-site .video-hero .discover-link:focus-visible span{color:#08090b!important;}
/* Keep the Results sidebar headline entirely within its dark card at any viewport width. */
#main-site .ms-showcase > *,#main-site .ms-gallery-sidebar,#main-site .ms-gallery-sidebar>div{min-width:0;max-width:100%;}
#main-site .ms-gallery-sidebar .ms-gallery-title{font-size:clamp(24px,2.15vw,34px);max-width:100%;letter-spacing:-.065em;overflow-wrap:anywhere;word-break:normal;hyphens:auto;text-wrap:balance;}
@media(max-width:1050px){#main-site .ms-gallery-sidebar .ms-gallery-title{font-size:clamp(24px,2.8vw,32px);}}
@media(max-width:690px){#main-site .ms-gallery-sidebar .ms-gallery-title{font-size:clamp(29px,7.2vw,40px);}}

/* V1.8: independent PRE/POSLE image pairs from Mr Smile Core. */
#main-site .ms-compare.ms-compare-paired .ms-ba-img{background-size:cover;background-position:center center}
#main-site .ms-compare.ms-compare-paired .ms-ba-after{background-image:var(--compare-after)}
#main-site .ms-compare.ms-compare-paired .ms-ba-before{background-image:var(--compare-before)}
#main-site .ms-gallery-case-name{font-size:clamp(15px,1.6vw,19px);color:#ece9e6;font-weight:500;line-height:1.4;margin:0 0 12px}
#main-site .ms-gallery-empty{padding:50px;background:#161618;color:#fff;grid-column:1/-1}

/* V1.9 — shared official WordPress logo, fluid and constrained in the homepage glass nav. */
#main-site .ms-topnav-brand .ms-global-brand-img{display:block;width:auto;max-width:155px;height:38px;object-fit:contain;object-position:left center}
@media(max-width:600px){#main-site .ms-topnav-brand .ms-global-brand-img{max-width:108px;height:32px}}

/* V1.11 — Do not show the world-map intro again within this tab session.
   The html flag is written in <head>, before paint. The JS unlocks the hero. */
html.ms-intro-seen .landing { display:none !important; }
html.ms-intro-seen #main-site {
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  transition:none !important;
  will-change:auto !important;
}

/* V1.14: preserve the uploaded logo’s intrinsic ratio at all responsive sizes. */
.brand-logo,.ms-footer-logo{height:auto}
