/* Mr Smile homepage styles — ordered build: site, front, morph, menu. V1.15 */

/* SOURCE: site.css */
:root{--ms-bg:#070709;--ms-panel:#111115;--ms-white:#f7f6f3;--ms-muted:#aaaab3;--ms-line:rgba(255,255,255,.14);--ms-soft:#d9d8d5;--ms-ease:cubic-bezier(.22,1,.36,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ms-bg);color:var(--ms-white);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}body:not(.home){overflow-x:clip}::selection{background:#ddd;color:#000}img,video{max-width:100%;height:auto}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #fff;outline-offset:4px}.ms-inner{width:min(1260px,calc(100% - 64px));margin-inline:auto}.ms-skip{position:absolute;left:-999px;top:0;z-index:9999}.ms-skip:focus{left:12px;top:12px;background:white;color:black;padding:12px}
.ms-header{position:sticky;top:0;z-index:100;background:rgba(8,8,10,.77);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid rgba(255,255,255,.075)}.admin-bar .ms-header{top:32px}.ms-header-inside{max-width:1400px;margin:auto;min-height:92px;padding:10px 36px;display:flex;align-items:center;gap:28px}.ms-header-brand{flex:none}.ms-header-brand img{display:block;width:155px;height:auto;object-fit:contain}.ms-header-links{margin-left:auto}.ms-menu{display:flex;align-items:center;gap:clamp(15px,2.0vw,33px);list-style:none;padding:0;margin:0}.ms-menu li{position:relative}.ms-menu a{display:block;white-space:nowrap;text-decoration:none;font-size:12px;text-transform:uppercase;font-weight:600;letter-spacing:.12em;transition:opacity .2s}.ms-menu a:hover{opacity:.56}.ms-menu .sub-menu{display:none;position:absolute;top:100%;left:0;background:#151518;list-style:none;padding:15px 18px;min-width:230px}.ms-menu li:hover .sub-menu,.ms-menu li:focus-within .sub-menu{display:block}.ms-menu .sub-menu li{padding:8px 0}.ms-header-cta{border:1px solid rgba(255,255,255,.5);border-radius:50px;padding:12px 22px;text-transform:uppercase;text-decoration:none;font-size:10px;letter-spacing:.13em;white-space:nowrap;transition:background .2s,color .2s}.ms-header-cta:hover{background:#fff;color:#111}.ms-menu-toggle{display:none}
.ms-pagehero{min-height:410px;display:flex;align-items:end;padding:100px 0 72px;position:relative;background:radial-gradient(ellipse at 85% 15%,#27252a 0,transparent 38%),linear-gradient(145deg,#09090b,#141316 65%,#09090b);border-bottom:1px solid var(--ms-line)}.ms-pagehero::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(transparent 97%,rgba(255,255,255,.02) 100%);background-size:100% 5px;opacity:.22}.ms-pagehero .ms-inner{position:relative;z-index:1}.ms-kicker{font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:#bbb9bf;font-weight:700;display:inline-block}.ms-pagehero h1{font-size:clamp(44px,7.5vw,108px);line-height:1.04;max-width:1080px;font-weight:400;letter-spacing:-.065em;margin:25px 0}.ms-pagehero p{font-size:clamp(15px,1.7vw,20px);max-width:720px;color:#d7d5d8;margin:0;font-weight:300}.ms-section{padding:108px 0}.ms-section-label{color:#96949e;letter-spacing:.32em;text-transform:uppercase;font-size:11px}.ms-section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:44px}.ms-section-head h2{font-size:clamp(34px,5vw,75px);line-height:1.1;letter-spacing:-.06em;font-weight:400;max-width:750px;margin:16px 0 0}.ms-section-head p{max-width:390px;color:var(--ms-muted);font-size:15px;margin:0}.ms-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ms-service-card{border:1px solid var(--ms-line);background:#101013;text-decoration:none;display:block;padding:13px 13px 29px;min-width:0;transition:transform .45s var(--ms-ease),border-color .25s,background .25s}.ms-service-card:hover{transform:translateY(-7px);border-color:#aaa; background:#1a191c}.ms-service-image{aspect-ratio:1.34;overflow:hidden;background:#1d1c1e}.ms-service-image img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.68);transition:transform .9s var(--ms-ease),filter .6s}.ms-service-card:hover .ms-service-image img{transform:scale(1.055);filter:saturate(1)}.ms-card-number{display:block;font-size:10px;letter-spacing:.18em;color:#9898a0;margin:27px 15px 15px}.ms-service-card h3{font-size:clamp(20px,2vw,30px);font-weight:400;letter-spacing:-.035em;line-height:1.16;margin:0 15px 12px}.ms-service-card p{margin:0 15px 25px;font-size:14px;color:#aaa9b0;min-height:50px}.ms-arrow-link{margin:0 15px;text-transform:uppercase;font-size:11px;letter-spacing:.13em;border-bottom:1px solid #aaa;padding-bottom:10px;display:inline-flex;gap:12px}.ms-arrow-link span{font-size:17px;line-height:13px}.ms-btn{border-radius:50px;border:1px solid rgba(255,255,255,.5);padding:17px 28px;display:inline-flex;align-items:center;gap:26px;justify-content:space-between;text-decoration:none;text-transform:uppercase;font-size:11px;letter-spacing:.14em;font-weight:700;transition:background .25s,color .25s,transform .25s;min-height:55px}.ms-btn:hover{transform:translateY(-3px)}.ms-btn-light{background:var(--ms-white);color:#050505;border-color:var(--ms-white)}.ms-btn-light:hover{background:#dad8d6}.ms-btn-dark:hover{background:#fff;color:#111}.ms-big-cta{padding:125px 0;background:radial-gradient(ellipse at 90% 80%,#262429,transparent 42%),#131316;border-top:1px solid var(--ms-line)}.ms-big-cta h2{font-size:clamp(44px,7vw,102px);max-width:910px;font-weight:400;line-height:1.08;letter-spacing:-.065em;margin:24px 0}.ms-big-cta p{max-width:660px;color:#bbb;font-size:18px;margin:0 0 35px}
.ms-split{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(35px,6vw,110px);align-items:center}.ms-split img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.ms-split h2{font-size:clamp(34px,4.3vw,70px);font-weight:400;letter-spacing:-.055em;line-height:1.09;margin:20px 0}.ms-split p{color:#bbb9c2;line-height:1.86;font-size:16px}.ms-split .ms-btn{margin-top:20px}.ms-text-content{max-width:860px;margin:0 auto}.ms-text-content>h2,.ms-text-content .wp-block-heading{font-size:clamp(27px,3.4vw,47px);font-weight:400;line-height:1.16;letter-spacing:-.038em;margin:62px 0 21px}.ms-text-content>h2:first-child{margin-top:0}.ms-text-content p,.ms-text-content li{font-size:17px;line-height:1.95;color:#bfbfc4}.ms-text-content a:not(.ms-btn){text-underline-offset:5px}.ms-article-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:clamp(35px,6vw,110px);align-items:start}.ms-prose{max-width:780px}.ms-prose h2,.ms-article-block h2{font-size:clamp(27px,3vw,42px);font-weight:400;letter-spacing:-.035em;line-height:1.19;margin:55px 0 20px}.ms-prose h3{font-size:23px;font-weight:500;margin:40px 0 10px}.ms-prose p,.ms-prose li{font-size:17px;color:#c4c3ca;line-height:1.9;margin:16px 0}.ms-prose .ms-intro{font-size:clamp(18px,2vw,22px);line-height:1.8;color:#e6e5e9;margin-top:0}.ms-prose a{color:#f2f1ed;text-underline-offset:5px}.ms-prose ul{padding-left:24px}.ms-article-block{border-top:1px solid var(--ms-line);padding-top:3px}.ms-evidence{border:1px solid var(--ms-line);padding:24px 30px;margin-top:55px;background:#131317}.ms-evidence h2{font-size:24px;margin:0}.ms-evidence p,.ms-evidence li{font-size:13px;line-height:1.65}.ms-article-aside{position:sticky;top:140px}.ms-article-aside img{width:100%;aspect-ratio:1;object-fit:cover;display:block;margin:0 0 24px}.ms-article-aside h3{font-weight:400;font-size:23px;line-height:1.2;margin:0 0 15px}.ms-article-aside p{font-size:13px;color:#bbb}.ms-article-aside .ms-btn{font-size:10px;width:100%;padding:13px 16px}.ms-faq{border-top:1px solid var(--ms-line)}.ms-faq details{border-bottom:1px solid var(--ms-line);padding:22px 0}.ms-faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;cursor:pointer;font-size:clamp(17px,1.7vw,23px);font-weight:400}.ms-faq summary::-webkit-details-marker{display:none}.ms-faq summary:after{content:"+";font-size:25px;color:#a7a7b0}.ms-faq details[open] summary:after{content:"−"}.ms-faq p{color:#bbb;max-width:880px;font-size:15px;line-height:1.8}.ms-breadcrumb{font-size:12px;color:#96949b;letter-spacing:.06em;padding:17px 0;border-bottom:1px solid var(--ms-line)}.ms-breadcrumb a{text-decoration:none}.ms-breadcrumb a:hover{text-decoration:underline}.ms-note{border-left:2px solid #96949a;margin:34px 0;padding:12px 23px;font-size:13px!important;color:#aaa!important}
.ms-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.ms-gallery figure{margin:0;background:#101014;border:1px solid var(--ms-line);padding:9px}.ms-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.ms-gallery figcaption{font-size:11px;color:#aaa;letter-spacing:.05em;padding:10px 6px 2px}.ms-contact-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-bottom:55px}.ms-contact-card{border:1px solid var(--ms-line);padding:30px;background:#121216}.ms-contact-card h2{font-size:28px;font-weight:400;margin:0 0 8px}.ms-contact-card p{color:#bbb;min-height:48px}.ms-contact-card a{font-size:13px;text-underline-offset:6px}.ms-contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(35px,8vw,120px)}.ms-form label{display:block;color:#c5c5cd;font-size:11px;letter-spacing:.13em;text-transform:uppercase;margin:19px 0 7px}.ms-form input:not([type="checkbox"]),.ms-form select,.ms-form textarea{width:100%;border:1px solid var(--ms-line);padding:16px 18px;background:#141418;border-radius:2px;color:#fff;outline-offset:3px;min-height:54px}.ms-form input:focus,.ms-form select:focus,.ms-form textarea:focus{border-color:#ddd}.ms-consent{display:flex;align-items:flex-start;gap:12px;margin:22px 0;color:#bbb;font-size:13px}.ms-consent input{margin-top:4px}.ms-form .ms-btn{width:100%;cursor:pointer}.ms-form-alert{padding:14px 18px;margin-bottom:14px;border:1px solid #aaa}.ms-honey{position:absolute;left:-99999px}.ms-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.ms-post-card{border:1px solid var(--ms-line);padding:12px 12px 30px;text-decoration:none;display:block;background:#121216}.ms-post-card img,.ms-post-card .ms-placeholder{width:100%;aspect-ratio:1.4;object-fit:cover;background:linear-gradient(130deg,#29272c,#0e0e11);display:block}.ms-post-card span{display:block;font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:#9c9ba1;margin:24px 14px 10px}.ms-post-card h2{font-size:clamp(21px,2.1vw,31px);font-weight:400;letter-spacing:-.035em;line-height:1.2;margin:0 14px 12px}.ms-post-card p{font-size:14px;color:#b4b3b9;line-height:1.75;margin:0 14px}.ms-post-cover{width:100%;max-height:650px;object-fit:cover;margin-bottom:40px}.ms-post-meta{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#a9a7ae;margin:13px 0 33px}.ms-pagination{padding:45px 0;display:flex;justify-content:center;gap:12px}.ms-pagination .page-numbers{display:inline-block;border:1px solid var(--ms-line);padding:10px 16px;text-decoration:none}.ms-pagination .current{background:#fff;color:#000}.ms-footer{background:#050506;border-top:1px solid var(--ms-line);padding:65px 0 22px}.ms-footer-upper{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.ms-footer-upper strong{font-size:10px;text-transform:uppercase;letter-spacing:.25em;color:#aaa;display:block;margin-bottom:18px}.ms-footer-upper a:not(:has(img)){display:block;font-size:13px;color:#c8c7c9;text-decoration:none;margin:7px 0}.ms-footer-upper p{font-size:13px;color:#87858f}.ms-footer-upper img{object-fit:contain;width:180px;height:auto}.ms-footer-bottom{border-top:1px solid var(--ms-line);margin-top:65px;padding-top:23px;display:flex;justify-content:space-between;gap:30px;color:#7e7c83;font-size:11px}
@media(max-width:1050px){.ms-header-cta{display:none}.ms-menu{gap:14px}.ms-header-inside{padding-inline:22px}.ms-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ms-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ms-contact-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.admin-bar .ms-header{top:46px}.ms-inner{width:min(100% - 36px,600px)}.ms-header-inside{min-height:72px;padding:8px 18px}.ms-header-brand img{width:125px}.ms-menu-toggle{display:flex;margin-left:auto;width:42px;height:42px;flex-direction:column;gap:6px;align-items:center;justify-content:center;border:1px solid var(--ms-line);border-radius:50%;background:#17171b}.ms-menu-toggle span{width:18px;height:1px;background:#fff}.ms-header-links{display:none;position:absolute;top:100%;left:0;right:0;background:rgba(8,8,11,.98);padding:25px 24px 40px;max-height:calc(100dvh - 72px);overflow:auto;border-bottom:1px solid var(--ms-line)}.ms-header-links.is-open{display:block}.ms-menu{display:block}.ms-menu>li>a{font-size:19px;padding:12px 0}.ms-menu .sub-menu{display:block;position:static;min-width:0;background:none;padding:0 0 0 15px}.ms-menu .sub-menu a{font-size:13px}.ms-pagehero{min-height:350px;padding:75px 0 55px}.ms-pagehero h1{font-size:clamp(46px,10vw,72px);letter-spacing:-.06em}.ms-section{padding:70px 0}.ms-section-head{display:block}.ms-section-head p{margin-top:20px}.ms-grid,.ms-gallery,.ms-contact-cards,.ms-blog-grid{grid-template-columns:1fr}.ms-service-card p{min-height:auto}.ms-split,.ms-article-layout,.ms-contact-layout{grid-template-columns:1fr}.ms-split img{aspect-ratio:4/3}.ms-article-aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}.ms-article-aside img{margin:0;aspect-ratio:1}.ms-article-aside .ms-btn{grid-column:1/-1}.ms-article-aside h3{font-size:19px}.ms-article-aside p{font-size:12px}.ms-big-cta{padding:80px 0}.ms-footer-upper{grid-template-columns:1fr 1fr;gap:30px}.ms-footer-upper>div:first-child{grid-column:1/-1}.ms-footer-bottom{display:block}.ms-footer-bottom span{display:block;margin-top:8px}.ms-contact-card p{min-height:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
/* Minimal WooCommerce compatibility without overriding cart/checkout accessibility. */
.ms-woo-content .woocommerce{color:var(--ms-white)}.ms-woo-content .woocommerce a{color:inherit}.ms-woo-content .woocommerce input,.ms-woo-content .woocommerce select,.ms-woo-content .woocommerce textarea{background:#fff;color:#111;min-height:43px}.ms-woo-content .woocommerce .button{background:#fff;color:#111;border-radius:30px;padding:15px 23px}.ms-woo-content .woocommerce table.shop_table{border-color:var(--ms-line)}.ms-woo-content .woocommerce .product{color:inherit}
.ms-beforeafter{position:relative;aspect-ratio:4/3;overflow:hidden}.ms-beforeafter img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ms-beforeafter .ms-before-img{clip-path:inset(0 calc(100% - var(--comparison)) 0 0)}.ms-beforeafter:after{content:"";position:absolute;left:var(--comparison);top:0;bottom:0;width:2px;background:#fff;pointer-events:none}.ms-beforeafter input[type=range]{position:absolute;inset:auto 12px 10px;width:calc(100% - 24px);z-index:2;accent-color:#fff;cursor:ew-resize}.ms-form label.ms-consent{display:flex;align-items:flex-start;gap:12px}
/* V1.1 — Light editorial sections on general inner pages to balance cinematic black. */
body.ms-editorial-pages main>.ms-section:nth-of-type(even){background:#f1f0eb!important;color:#1c1b1e;}
body.ms-editorial-pages main>.ms-section:nth-of-type(even) h2,body.ms-editorial-pages main>.ms-section:nth-of-type(even) h3,body.ms-editorial-pages main>.ms-section:nth-of-type(even) a{color:#19191b}
body.ms-editorial-pages main>.ms-section:nth-of-type(even) p,body.ms-editorial-pages main>.ms-section:nth-of-type(even) li{color:#5b5860}
body.ms-editorial-pages main>.ms-section:nth-of-type(even) .ms-kicker{color:#4e4a4d}
body.ms-editorial-pages main>.ms-section:nth-of-type(even) .ms-btn-dark{background:#19191b;color:#fff;border-color:#19191b}
body.ms-editorial-pages main>.ms-section:nth-of-type(even) .ms-service-card,body.ms-editorial-pages main>.ms-section:nth-of-type(even) .ms-contact-card{background:#e5e3dd;border-color:#d2cfc8;color:#181719}
body.ms-editorial-pages main>.ms-section:nth-of-type(even) .ms-faq,body.ms-editorial-pages main>.ms-section:nth-of-type(even) .ms-faq details{border-color:#b6b2ae}
body.ms-editorial-pages main>.ms-section:nth-of-type(even) .ms-service-card .ms-card-number,body.ms-editorial-pages main>.ms-section:nth-of-type(even) .ms-service-card p{color:#66626a}
body.ms-editorial-pages main>.ms-section:nth-of-type(even) .ms-form input,body.ms-editorial-pages main>.ms-section:nth-of-type(even) .ms-form textarea,body.ms-editorial-pages main>.ms-section:nth-of-type(even) .ms-form select{background:#fff;color:#151515;border-color:#c3c0bd}
body.ms-editorial-pages main>.ms-section:nth-of-type(even) .ms-form label{color:#65626a}
body.ms-editorial-pages main>.ms-section:nth-of-type(even) .ms-form .ms-btn{background:#181719;color:#fff}
.ms-menu .sub-menu{border:1px solid #ffffff30;box-shadow:0 17px 43px #0006;border-radius:10px;z-index:3}

/* Mr Smile Core 1.2: safe responsive layout for external embedded forms */
.mrsmile-embed-section{padding:clamp(65px,7vw,110px) 0;background:#f5f3ef;color:#181719}
.mrsmile-embed-section h2{font-size:clamp(40px,5vw,72px);font-weight:400;letter-spacing:-.055em;line-height:1.05;margin:12px 0 33px}
.mrsmile-embed-section p{max-width:650px;line-height:1.75;color:#5d5a5a}
.mrsmile-embed-wrapper{width:100%;max-width:100%;margin-inline:auto;min-width:0;isolation:isolate}
.mrsmile-embed-inner{min-width:0;max-width:100%;overflow-wrap:anywhere}
.mrsmile-embed-inner iframe{display:block;width:100%;max-width:100%;min-height:480px;border:0;border-radius:8px;background:#fff}
.mrsmile-embed-inner form{max-width:100%}
.mrsmile-embed-inner img{max-width:100%;height:auto}
.mrsmile-embed-inner input:not([type=checkbox]),.mrsmile-embed-inner textarea,.mrsmile-embed-inner select{max-width:100%}
.ms-inner .mrsmile-embed-wrapper{margin-top:25px}
@media(max-width:760px){.mrsmile-embed-inner iframe{min-height:580px}.mrsmile-embed-section{padding:60px 0}}

.ms-contact-layout>div{min-width:0}

.ms-contact-layout .ms-form textarea{min-height:154px;resize:vertical;line-height:1.65;max-width:100%;font:inherit;font-size:15px;box-sizing:border-box}


/* SOURCE: front.css */

    :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}


/* SOURCE: page-morph.css */
/* GPU-friendly full-document morph; no navigation AJAX, no DOM replacement. */
.ms-page-morph{position:fixed;z-index:2147483640;inset:0;display:grid;place-items:center;background:#0b0a0d;color:#fff;clip-path:circle(0 at 50% 50%);pointer-events:none;visibility:hidden;transition:clip-path .68s cubic-bezier(.75,0,.18,1),visibility 0s linear .68s;contain:layout style paint}
.ms-page-morph__mark{display:flex;flex-direction:column;align-items:center;gap:14px;opacity:0;transform:translateY(20px);transition:opacity .25s ease,transform .4s ease}
.ms-page-morph__brand{font-size:clamp(30px,5vw,60px);font-weight:400;letter-spacing:-.07em}
.ms-page-morph__brand em{font:italic 1.04em Georgia,serif}
.ms-page-morph__sub{font-size:9px;letter-spacing:.35em;color:#c7c4c8}
html.ms-page-leaving .ms-page-morph,html.ms-page-entering .ms-page-morph{clip-path:circle(150vmax at 50% 50%);visibility:visible;transition:clip-path .68s cubic-bezier(.75,0,.18,1)}
html.ms-page-leaving .ms-page-morph__mark,html.ms-page-entering .ms-page-morph__mark{opacity:1;transform:none}
html.ms-page-revealing .ms-page-morph{clip-path:circle(0 at 50% 50%);visibility:hidden;transition:clip-path .78s cubic-bezier(.7,0,.18,1),visibility 0s linear .78s}
html.ms-page-revealing .ms-page-morph__mark{opacity:0;transition:opacity .35s ease}
@media(prefers-reduced-motion:reduce){.ms-page-morph{display:none!important}}

/* Prevent destination flash if arriving from another Mr Smile page. */
html.ms-page-entering body > :not(.ms-page-morph){visibility:hidden}

/* V1.9 — render the uploaded official logo, not a hard-coded text imitation. */
.ms-page-morph__brand{display:grid;place-items:center;width:min(62vw,360px);min-height:95px}
.ms-page-morph__logo{display:block;max-width:100%;width:auto;height:auto;max-height:130px;object-fit:contain;filter:drop-shadow(0 10px 34px rgba(255,255,255,.12))}
@media(max-width:600px){.ms-page-morph__brand{width:min(69vw,280px);min-height:75px}.ms-page-morph__logo{max-height:100px}}


/* SOURCE: primary-menu.css */
/* V1.10 — WordPress Appearance > Menus > Primary Menu.
   The logo and the Zakazivanje CTA are deliberately untouched. */
.ms-topnav .ms-navlinks {flex:1 1 auto;min-width:0;justify-content:center;}
.ms-topnav .ms-primary-menu,
.ms-nav-drawer .ms-mobile-primary-menu {list-style:none;margin:0;padding:0;}
.ms-topnav .ms-primary-menu {display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:clamp(13px,1.65vw,25px);width:max-content;max-width:none;}
.ms-topnav .ms-primary-menu li {list-style:none;margin:0;padding:0;}
.ms-topnav .ms-primary-menu > li {position:relative;flex:0 0 auto;}
.ms-topnav .ms-primary-menu > li > a {display:flex;align-items:center;gap:5px;white-space:nowrap;line-height:1.3;padding:11px 0;text-decoration:none;}
.ms-topnav .ms-primary-menu .menu-item-has-children > a::after {content:"";display:inline-block;width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.85;}
.ms-topnav .ms-primary-menu .sub-menu {list-style:none;margin:0;padding:9px;display:flex;flex-direction:column;gap:2px;position:absolute;z-index:30;top:calc(100% - 1px);left:-18px;width:max-content;min-width:174px;max-width:min(340px,calc(100vw - 40px));border:1px solid rgba(255,255,255,.19);border-radius:15px;background:rgba(21,21,24,.98);box-shadow:0 22px 48px rgba(0,0,0,.48);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(9px);transition:opacity .2s ease,transform .2s ease,visibility .2s;}
.ms-topnav .ms-primary-menu li:hover > .sub-menu,
.ms-topnav .ms-primary-menu li:focus-within > .sub-menu {opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
.ms-topnav .ms-primary-menu .sub-menu li {position:relative;}
.ms-topnav .ms-primary-menu .sub-menu a {display:flex;align-items:center;justify-content:space-between;gap:12px;white-space:normal!important;line-height:1.45;letter-spacing:.045em!important;padding:10px 12px;border-radius:9px;text-decoration:none;}
.ms-topnav .ms-primary-menu .sub-menu a:hover,
.ms-topnav .ms-primary-menu .sub-menu a:focus-visible {background:rgba(255,255,255,.1);color:#fff;}
.ms-topnav .ms-primary-menu .sub-menu .sub-menu {top:-9px;left:calc(100% - 3px);}
.ms-topnav .ms-primary-menu .current-menu-item > a,
.ms-topnav .ms-primary-menu .current-menu-ancestor > a {color:#fff;text-decoration-thickness:1px;}
.ms-topnav .ms-primary-menu a:focus-visible,
.ms-nav-drawer .ms-mobile-primary-menu a:focus-visible {outline:2px solid #fff;outline-offset:3px;}

/* The same assigned WordPress menu appears inside the existing mobile drawer. */
.ms-nav-drawer .ms-mobile-primary-menu {width:100%;display:flex;flex-direction:column;}
.ms-nav-drawer .ms-mobile-primary-menu li {list-style:none;margin:0;padding:0;}
.ms-nav-drawer .ms-mobile-primary-menu > li > a {display:block;color:#fff;text-decoration:none;font-size:15px;line-height:1.4;padding:12px 5px;border-bottom:1px solid rgba(255,255,255,.13);}
.ms-nav-drawer .ms-mobile-primary-menu .sub-menu {position:static!important;display:block!important;list-style:none;padding:2px 0 7px 15px!important;margin:0 0 2px 6px!important;border:0;border-left:1px solid rgba(255,255,255,.2);border-radius:0;background:none!important;box-shadow:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;width:auto;min-width:0;max-width:none;}
.ms-nav-drawer .ms-mobile-primary-menu .sub-menu a {display:block;color:#ddd;text-decoration:none;font-size:13px!important;line-height:1.4;padding:9px 9px!important;border:0!important;letter-spacing:.025em;}
.ms-nav-drawer .ms-mobile-primary-menu .sub-menu .sub-menu {padding-left:12px!important;}
.ms-nav-drawer .ms-mobile-primary-menu .current-menu-item > a {color:#fff;font-weight:700;}
.ms-nav-drawer {max-height:calc(100dvh - 120px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;}

/* If the visitor's Primary Menu has too many items to fit the pill, switch
   to the same mobile drawer instead of overlapping the logo or CTA. */
body.ms-nav-auto-compact .ms-topnav .ms-navlinks {display:none!important;}
body.ms-nav-auto-compact .ms-topnav .ms-nav-book {margin-left:auto;}
body.ms-nav-auto-compact .ms-topnav .ms-menu-toggle {display:flex!important;flex:none;}
body.ms-nav-auto-compact .ms-nav-drawer {display:flex!important;flex-direction:column;position:fixed;z-index:1000;top:88px;right:24px;left:24px;padding:20px;background:rgba(18,18,20,.98);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:20px;box-shadow:0 23px 65px rgba(0,0,0,.7);color:#fff;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-14px);transition:opacity .3s,transform .3s,visibility .3s;}
body.ms-nav-auto-compact.ms-menu-open .ms-nav-drawer {opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
body.admin-bar.ms-nav-auto-compact .ms-nav-drawer {top:120px;}
@media(max-width:782px){body.admin-bar.ms-nav-auto-compact .ms-nav-drawer{top:134px;}}
@media(prefers-reduced-motion:reduce){.ms-topnav .ms-primary-menu .sub-menu{transition:none;}}

