/* Existing Birdseye theme and original fonts are loaded before these restoration rules. */
:root{color-scheme:dark;--ink:#d5d5d5;--purple:#62547e}*{box-sizing:border-box}body.restore-v2{height:auto;background:#222;color:var(--ink);font-family:Catamaran,Arial,sans-serif;font-size:18px;line-height:1.35}img{max-width:100%;height:auto}button,input,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #7ec6ee;outline-offset:4px}a{color:inherit}h1,h2,h3{font-family:Montserrat,Arial,sans-serif}h1{font-size:54px;font-weight:400;line-height:1.18;margin:0 0 30px}h2{font-size:25px;font-weight:400;line-height:1.3}p{font-family:inherit;font-size:inherit;line-height:inherit;margin:0 0 28px}hr{border:0;border-top:1px solid #5557;margin:36px 0}.center{text-align:center}.page-main{padding-top:68px}.overlay-header .page-main{padding-top:0}.content-width{max-width:1200px;width:100%;margin:auto;padding:0 40px}.reference-section{position:relative;padding:70px 0}.black{background:#000}.charcoal{background:#262626}.paper{background:#fff;color:#2a2a2a}.paper h1,.paper h2{color:#2a2a2a}.source-copy{margin:0 0 30px;overflow-wrap:anywhere}.source-copy font[size="1"]{font-size:13px}.source-copy font[size="3"]{font-size:16px}.source-copy font[size="4"]{font-size:18px}.source-copy font[size="5"]{font-size:24px}.source-copy font[size="6"]{font-size:32px}.source-copy font[size="7"]{font-size:48px}.source-copy a{text-decoration:underline}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px}.source-button{display:inline-block;background:#000;color:#fff;padding:15px 36px;border:1px solid #000;font:13px/1.2 Montserrat,Arial,sans-serif;text-decoration:none;margin:10px 0}.source-button:hover{background:#333}.light-button{background:#fff;color:#111;border-color:#fff}.light-button:hover{background:#ddd}.outline-button{background:transparent;color:inherit;border-color:currentColor}.text-link{text-decoration:underline}.line-button{display:inline-block;background:#06c755;color:#fff;padding:9px 15px;font:700 14px/1.2 Arial,sans-serif}.recovery-note{font:12px/1.6 Tahoma,Arial,sans-serif;color:#ddd;margin:12px 0 24px;letter-spacing:0}
/* Original full-width navigation with five primary items on wide screens. */
.birdseye-header{padding:16px 40px;background:#000;color:#fff;border-color:#fff;z-index:50}.birdseye-header .container{display:flex;align-items:center;justify-content:space-between;overflow:visible;max-height:none}.birdseye-header .logo{display:block;flex:none;width:54px;height:46px}.birdseye-header .logo img{display:block;width:auto;height:46px;visibility:visible;max-width:54px}.birdseye-header .desktop-nav{display:block;float:none;width:auto}.birdseye-header .desktop-nav>.wsite-menu-default{display:flex;align-items:center;list-style:none;margin:0;padding:0;white-space:nowrap;float:none}.desktop-nav li{position:relative;float:none;margin:0}.desktop-nav>.wsite-menu-default>li>a,.desktop-nav>.wsite-menu-default>li>button{display:block;padding:10px 20px;color:inherit;font:14px/1.15 Montserrat,Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;background:transparent;border:1px solid transparent}.desktop-nav a[aria-current="page"]{border-color:currentColor!important}.desktop-nav .icon-caret{display:none}.desktop-nav .wsite-menu-wrap{display:none;position:absolute;top:100%;left:0;min-width:200px;background:#000;color:#fff;border:1px solid #aaa;z-index:60}.desktop-nav .wsite-menu-wrap ul{display:block;float:none;list-style:none;min-width:200px;margin:0;padding:0;white-space:normal}.desktop-nav .wsite-menu-wrap li{display:block;margin:0}.desktop-nav .wsite-menu-wrap a{display:block;padding:11px 15px;color:#fff;font:12px/1.3 Montserrat,Arial,sans-serif;letter-spacing:.5px;text-transform:uppercase}.desktop-nav .wsite-menu-wrap a:hover{background:#292929}.desktop-nav li:hover>.wsite-menu-wrap,.desktop-nav li:focus-within>.wsite-menu-wrap,.desktop-nav .more-open>.wsite-menu-wrap{display:block}.desktop-nav .wsite-menu-wrap .wsite-menu-wrap{left:auto;right:100%;top:0}.desktop-nav .restore-more>.wsite-menu-wrap{left:auto;right:0}.desktop-nav .compact-menu-copy{display:none!important}.overlay-header:not(.affix) .birdseye-header{background:transparent;color:#222;border-color:#222;padding-top:25px;padding-bottom:25px}.birdseye-header .hamburger{display:none}.mobile-nav{display:none!important}.footer-wrap{background:#222;position:relative}.footer-wrap .container{padding:0}.footer-wrap .wsite-footer{max-width:1200px;margin:auto;padding:60px 40px}.footer-wrap h2{font-size:20px}.footer-wrap .paragraph{font:14px/1.6 Montserrat,Arial,sans-serif}.footer-wrap .wsite-social{display:flex;gap:10px}.wsite-social-item-inner{display:inline-block;width:19px;height:23px;background-size:contain;background-repeat:no-repeat;background-position:center}.wsite-social-facebook .wsite-social-item-inner{background-image:url(reference-media/social-facebook.png)}.wsite-social-twitter .wsite-social-item-inner{background-image:url(reference-media/social-x.png)}.wsite-social-linkedin .wsite-social-item-inner{background-image:url(reference-media/social-linkedin.png)}.wsite-social-mail .wsite-social-item-inner{background-image:url(reference-media/social-mail.png)}
.reference-hero{height:600px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#333 url(media/intro-poster.jpg) center/cover no-repeat}.reference-hero .hero-copy{position:relative;z-index:2;text-align:center;padding-top:60px}.reference-hero h1{font-size:72px;font-weight:400;line-height:1.25;color:#fff;text-transform:uppercase;letter-spacing:0;margin:0}.hero-video{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;opacity:.8;pointer-events:none}.reference-hero:after{content:"";position:absolute;inset:0;background:#ffffff18;pointer-events:none}.hero-classroom{background-image:url(reference-media/classroom-venue-wide.jpg)}.hero-bow{background-image:url(reference-media/bow-product.jpg)}.hero-bow:after{backdrop-filter:blur(8px);background:#4444}.bold-hero h1{font-weight:700}.reference-hero small{font-size:.6em}.short-hero{height:240px}.course-duration{display:block;color:red;font-size:34px;margin-top:20px}.home-source{min-height:900px;background:#777 url(reference-media/classroom-venue-wide.jpg) center/cover fixed no-repeat;padding:0 0 65px;color:#111}.home-heading{padding-top:225px;text-align:center}.home-heading h1{font:400 72px/1.15 Montserrat,Arial,sans-serif;letter-spacing:0;margin:0}.home-heading p{font:700 20px/1.25 Montserrat,Arial,sans-serif;margin:55px 0 0}.home-actions{display:flex;justify-content:space-around;gap:30px;margin:95px 0 115px}.home-actions .source-button{margin:0}.home-columns{display:grid;grid-template-columns:52% 28%;justify-content:space-between;gap:25px}.home-columns>aside>h2{font-size:20px;font-weight:700;color:#111;margin:0 0 65px}.local-video{display:block;width:100%;aspect-ratio:16/9;background:#000}.home-columns .video-embed{margin-bottom:12px}.video-embed iframe{display:block;width:100%;height:335px;border:0;background:#111}.home-columns .video-embed iframe{height:330px}.home-columns .recovery-note{color:#fff;background:#0009;padding:6px 10px}.home-poster{display:block;margin:22px 0}.home-poster img{display:block;width:100%}.source-calendar{background:#374151;color:#fff;font:12px/1.5 Arial,sans-serif}.calendar-title{font-size:16px;padding:14px 15px 7px}.calendar-controls{display:flex;gap:8px;padding:0 15px 10px}.calendar-controls button{border:0;color:#bfc4cf;background:transparent;padding:2px;font:12px Arial,sans-serif}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);background:#626979;color:#d8dbe0}.calendar-grid>span{padding:5px 0;text-align:center;min-height:29px}.calendar-grid .day-name{font-size:10px;color:#bbc1ce}.calendar-grid .today{background:#374151;color:#fff;border:1px solid #c8cfdf}.calendar-note{font:11px/1.5 Tahoma,sans-serif;padding:8px;background:#374151;color:#ddd}
.bow-surface{padding-top:60px;background:#545779;isolation:isolate}.bow-surface:before{content:"";position:absolute;inset:0;background:url(reference-media/bow-product.jpg) center/cover fixed;filter:blur(30px);opacity:.72;z-index:-1}.bow-title{font-size:48px;text-align:center;color:#ddd;margin:0 0 135px}.bow-release{text-align:center;font-size:30px;margin-bottom:205px}.demo-poster{margin-bottom:32px}.demo-poster>img{display:block;width:100%;background:#000}.demo-poster .recovery-note{background:#000a;padding:12px;margin:0}.bow-product{display:block;margin:30px 0 160px}.bow-product>img{width:100%;display:block}.patent-title{text-align:center;font-size:24px;margin:0 0 40px}.patent-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;align-items:start}.patent-grid img{width:100%;display:block}.wide-photo{display:block;width:100%;margin-bottom:60px}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.product-grid h1{font-size:25px}.product-price{font-size:27px;line-height:1.5}.product-price del{color:#777}.product-price em{color:red;font-size:16px}.product-grid label{display:block}.product-grid input{display:block;width:110px;padding:8px;background:transparent;border:1px solid #777;color:#eee;margin:8px 0 25px}.product-grid #cart-panel{border-top:1px solid #666;margin-top:30px;padding-top:25px}.product-grid #clear-cart{display:block;margin-top:15px;border:1px solid #aaa;background:transparent;color:#fff;padding:7px 12px}.lab-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 30px;align-items:center;margin-bottom:120px}.lab-grid img{max-height:250px;object-fit:contain;justify-self:center}.about-copy{padding:0 0 90px;font:18px/1.25 Catamaran,Arial,sans-serif}.source-gallery{margin:40px 0}.gallery-main{display:block;width:100%;max-height:670px;object-fit:contain;background:#000}.gallery-thumbs{display:flex;gap:4px;margin-top:12px;flex-wrap:wrap}.gallery-thumbs button{padding:0;border:1px solid transparent;background:none;width:75px;height:64px}.gallery-thumbs button[aria-pressed="true"]{border-color:#c5c5c5}.gallery-thumbs img{width:100%;height:100%;object-fit:cover}.biography{gap:50px}.biography .source-copy{line-height:1.5}.course-texture{background:#26545e url(reference-media/course-background-recording-detail.jpg) center/cover fixed no-repeat;color:#fff}.course-photo{background:#292929}.registration-title{text-align:center;font-size:48px;font-weight:700;margin:40px 0 100px}.course-posters{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 26px}.course-posters h2{font-size:24px;font-style:italic;text-align:center;min-height:60px;margin-bottom:10px}.course-posters img{display:block;width:100%;max-width:390px;margin:auto}.course-posters article:last-child{grid-column:2}.course-subtitle{text-align:center;font-size:24px;margin:30px 0 40px}.main-poster{max-width:540px;margin:0 auto 50px}.main-poster img{display:block;width:100%}.course-topics{text-align:left;max-width:850px;margin:70px auto}.syllabus{display:block;max-width:780px;width:100%;margin:50px auto}.day-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:80px 0}.day-columns h2{font-size:24px}.day-columns .source-copy{font-size:18px}.venue-link{font-size:24px;margin:70px 0 40px}.venue-photo{width:100%;display:block;margin:30px 0 65px}.partners-title{text-align:center;margin:120px 0 35px;font-size:24px}.partner-strip{display:block;width:100%;height:auto}.archive-links{display:flex;gap:25px;flex-wrap:wrap}.download-surface{background:#7790a3;padding:150px 0}.download-art{gap:40px;align-items:center}.download-art img{width:100%;display:block}.download-surface .recovery-note{margin-top:40px}.knowledge-surface{background:var(--purple);padding-top:30px}.knowledge-title{text-align:center;font-size:56px;margin:0 0 55px}.knowledge-subtitle{text-align:center;font:24px/1.3 Montserrat,sans-serif;margin:0 0 35px}.knowledge-surface hr{margin:0 0 15px}.knowledge-lead{text-align:center;font-size:36px;margin:0 0 30px}.knowledge-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px}.knowledge-grid iframe{height:340px}.paper .source-copy{font-family:Montserrat,sans-serif;font-size:18px;line-height:1.75}.paper h2{margin:60px 0 30px}.map-layout{align-items:start;gap:30px}.map-embed{display:block;width:100%;height:280px;border:0;background:#e4e3df}.route-map{display:block;max-width:360px;width:100%;margin:auto}.map-layout .source-button{margin-top:30px}.hotel-section{margin-bottom:65px}.hotel-section>h2{text-align:center;font-size:48px;font-weight:700;margin-bottom:55px}.hotel-photo{display:block;width:100%;margin:20px 0 40px}.hotel-section .source-copy{font-family:Montserrat,sans-serif;font-size:24px;line-height:1.3}.hotel-section .source-copy font{font:inherit!important;color:inherit!important}.contact-surface{background:#2e3b3d}.contact-line{display:grid;grid-template-columns:225px 1fr;gap:30px;align-items:start}.contact-line .qr-link>img{display:block;width:100%}.contact-line .source-copy{font-size:32px;line-height:1.1}.contact-line a{font-weight:600}.contact-location{display:grid;grid-template-columns:2.3fr 1fr;gap:40px;margin:25px 0 90px}.contact-location img{width:100%}#contact-form{width:100%;max-width:400px;margin:35px 0 5px}#contact-form label{display:block;font:32px/1.3 Montserrat,sans-serif;color:#ddd;margin-top:8px}#contact-form label span{color:#e34232}.name-row{display:flex;gap:18px}#contact-form input,#contact-form textarea{width:100%;background:transparent;color:#fff;border:1px solid #9bafb1;padding:10px 16px;border-radius:0;font:16px/1.4 Catamaran,sans-serif}#contact-form input::placeholder{color:#abb7b7}#contact-form textarea{height:200px;resize:vertical}#contact-form .source-button{margin-top:20px}.form-explanation{font:12px/1.7 Tahoma,sans-serif;color:#cbd5d5;margin:12px 0}#contact-result{border-top:1px solid #777;padding-top:20px;font-size:16px}.reference-status{position:fixed;z-index:80;left:14px;bottom:14px;display:flex;background:#fff;color:#222;box-shadow:0 2px 12px #0003;font:12px/1.4 Tahoma,sans-serif}.reference-status button{border:0;background:none;color:inherit;font:inherit;padding:10px}.reference-status #hide-status{font-size:18px;padding:4px 10px}dialog{margin:auto;background:#fff;color:#222;width:min(560px,calc(100vw - 30px));padding:30px;border:0;font:15px/1.8 Tahoma,sans-serif}dialog h2{color:#222;font:24px/1.4 Tahoma,sans-serif;margin-bottom:20px}dialog p{font:inherit}dialog button{padding:9px 25px;border:0;color:white;background:#222}dialog::backdrop{background:#0009}
@media(max-width:1240px) and (min-width:768px){.desktop-nav .wide-menu-item{display:none!important}.desktop-nav .compact-menu-copy{display:block!important}.birdseye-header .desktop-nav>.wsite-menu-default>li>a,.birdseye-header .desktop-nav>.wsite-menu-default>li>button{padding:10px 18px}.home-heading h1{font-size:68px}.home-columns{grid-template-columns:52% 31%}}
@media(max-width:767px){body.restore-v2{font-size:17px}.content-width{padding:0 20px}.page-main{padding-top:56px}.reference-section{padding:45px 0}.birdseye-header,.overlay-header:not(.affix) .birdseye-header{height:56px;padding:8px 20px;background:#000;color:#fff}.birdseye-header .logo,.birdseye-header .logo img{height:40px}.birdseye-header .desktop-nav{display:none}.birdseye-header .hamburger{display:block;position:absolute;right:0;top:5px;width:28px;height:24px}.hamburger span{background:#fff}.mobile-nav{display:block!important;position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;background:#000!important;color:#fff!important;z-index:70!important;transform:translateX(100%);visibility:hidden;transition:transform .18s,visibility .18s;overflow:auto!important;padding:60px 25px 40px!important}.nav-open .mobile-nav{transform:translateX(0);visibility:visible}.mobile-nav>.hamburger{position:absolute;right:24px;top:20px}.mobile-nav ul{list-style:none;padding:0;margin:0}.mobile-nav li{position:relative;margin:0!important}.mobile-nav a{display:block;font:14px/1.4 Montserrat,sans-serif;padding:12px 30px 12px 10px;text-transform:uppercase;letter-spacing:.6px}.mobile-nav a[aria-current="page"]{background:#252525}.mobile-nav .wsite-menu-wrap{position:static!important;background:#111!important;display:none!important;margin-left:15px!important;transform:none!important}.mobile-nav .wsite-menu-wrap.open{display:block!important}.mobile-nav .icon-caret{display:block;position:absolute;right:0;top:5px;padding:12px;width:35px;color:#ddd;cursor:pointer}.mobile-nav .wsite-menu-wrap a{font-size:12px}.footer-wrap .wsite-footer{padding:40px 20px}.footer-wrap h2{font-size:18px}.reference-hero{height:400px}.reference-hero h1{font-size:36px;line-height:1.25}.reference-hero .hero-copy{padding-top:50px}.short-hero{height:250px}.course-duration{font-size:23px}.home-source{background-attachment:scroll}.home-heading{padding-top:155px}.home-heading h1{font-size:34px;overflow-wrap:anywhere}.home-heading p{font-size:15px;margin-top:35px}.home-actions{flex-direction:column;align-items:center;gap:35px;margin:60px 0 75px}.home-columns{display:block}.home-columns>aside{margin-top:65px}.home-columns>aside>h2{margin-bottom:30px;font-size:19px}.video-embed iframe,.home-columns .video-embed iframe,.knowledge-grid iframe{height:auto;aspect-ratio:16/9}.home-poster{max-width:380px;margin:25px auto}.source-calendar{max-width:380px;margin:auto}.calendar-note{max-width:380px;margin:0 auto 30px}.two-columns,.knowledge-grid,.product-grid,.lab-grid,.map-layout,.contact-location{grid-template-columns:1fr;gap:30px}.bow-title{font-size:34px;margin-bottom:70px}.bow-release{font-size:22px;margin-bottom:95px}.bow-product{margin-bottom:75px}.patent-grid{grid-template-columns:1fr 1fr;gap:12px}.product-price{font-size:23px}.lab-grid{grid-template-columns:1fr 1fr;gap:40px 20px}.source-gallery{margin:25px 0}.gallery-main{max-height:400px}.biography{display:block}.registration-title{font-size:32px;margin:15px 0 45px}.course-posters{grid-template-columns:1fr;gap:45px}.course-posters article:last-child{grid-column:auto}.course-posters h2{min-height:0;font-size:22px}.course-posters img{max-width:390px}.course-texture{background-attachment:scroll}.day-columns{grid-template-columns:1fr;margin:40px 0;gap:20px}.source-copy font[size="7"]{font-size:34px}.source-copy font[size="6"]{font-size:28px}.source-copy font[size="5"]{font-size:21px}.source-copy font[size="1"]{font-size:14px}.venue-link{font-size:18px;overflow-wrap:anywhere}.partners-title{margin-top:60px}.partner-strip{min-height:0}.download-surface{padding:55px 0}.knowledge-title{font-size:37px;margin-bottom:30px}.knowledge-subtitle{font-size:20px}.knowledge-lead{font-size:25px}.knowledge-grid{gap:18px}.hotel-section>h2{font-size:30px;margin-bottom:30px}.hotel-section .source-copy{font-size:18px;line-height:1.5}.contact-line{grid-template-columns:130px 1fr;gap:20px}.contact-line .source-copy{font-size:20px;overflow-wrap:anywhere}.contact-location{margin-bottom:45px}#contact-form label{font-size:25px}.about-copy{padding-bottom:35px}.source-copy{line-height:1.5}.archive-links{display:block}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.hero-video{display:none}}

/* Restore visibility normally handled by Weebly runtime. */
body.restore-v2 .birdseye-header .logo,body.restore-v2 .birdseye-header .desktop-nav{opacity:1}.mobile-nav{max-height:none!important}

.home-source{background-image:linear-gradient(to bottom,rgba(255,255,255,.55),rgba(255,255,255,.2)),url(reference-media/classroom-venue-wide.jpg)}

body.overlay-header:has(.hero-logo):not(.affix) .birdseye-header{color:#fff;text-shadow:0 1px 4px #000}

.hero-classroom:after{background:#0004}@media(max-width:767px){#navMobile .wsite-menu-wrap:not(.open){display:none!important}#navMobile .wsite-menu-wrap.open{display:block!important;max-height:none!important}.reference-hero h1{overflow-wrap:anywhere}.mobile-nav li>a{min-height:42px}}

.contact-line .source-copy font{font-size:inherit!important}

/* The source theme clips flyouts at the edge of each navigation list. */
.birdseye-header .desktop-nav>.wsite-menu-default,
.birdseye-header .desktop-nav .wsite-menu-wrap>ul{overflow:visible!important}
.birdseye-header .desktop-nav .wsite-menu-wrap{background:#000!important;color:#fff!important}
.birdseye-header .desktop-nav .wsite-menu-wrap .wsite-menu-wrap{background:#000!important;left:auto!important;right:calc(100% - 1px)!important;top:0!important}

.short-hero .hero-copy{padding-top:0}.contact-line .source-copy{margin-top:-12px}.contact-surface hr{max-width:560px;margin:36px auto}.contact-location{margin-top:25px}

/* Course overview follows the four-photo and four-video arrangement in the recording. */
.demo-poster video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#000}
.gallery-stage{position:relative}
.gallery-stage .gallery-main-link{display:block}
.gallery-stage>button{position:absolute;top:10px;z-index:2;width:34px;height:32px;padding:0;border:1px solid #ffffffa8;background:#0009;color:#fff;font:22px/1 Arial,sans-serif}
.gallery-stage>button:hover,.gallery-stage>button:focus-visible{background:#000}
.gallery-stage .gallery-play{left:10px;font-size:13px}
.gallery-stage .gallery-next{right:10px}
.gallery-stage .gallery-prev{right:49px}
.reference-hero.hero-metal{height:510px;background-image:url(media/metal-hero-poster.jpg);background-position:center;background-size:cover}
.reference-hero.hero-metal .hero-video{opacity:1;--hero-video-opacity:1}
.reference-hero.hero-metal:after{background:transparent}
.reference-hero.hero-metal h1{font-size:62px;font-weight:300}
.course-overview{isolation:isolate;overflow:hidden;background:#534a47;padding-top:70px;padding-bottom:75px}
.course-overview:before{content:"";position:absolute;inset:-45px;z-index:-1;background:url(reference-media/course-overview-audience.jpg) center/cover no-repeat;filter:blur(28px);opacity:.72}
.course-overview-title{text-align:center;font-size:32px;line-height:1.3;margin:0 0 38px;color:#fff;white-space:nowrap}
.course-overview-grid,.course-overview-videos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.course-overview-grid img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.course-overview-link{text-align:center;margin:38px 0 24px;padding-top:20px;border-top:1px solid #ddd5}
.course-overview-link .source-button{margin:0;min-width:175px}
.course-overview-videos .video-embed iframe{width:100%;height:auto;aspect-ratio:16/10}
@media(max-width:767px){.course-overview{padding:42px 0 55px}.course-overview-title{font-size:25px;white-space:normal;margin-bottom:30px}.course-overview-grid,.course-overview-videos{grid-template-columns:1fr;gap:20px}.course-overview-link{margin:30px 0 20px}.course-overview-videos .video-embed iframe{aspect-ratio:16/9}}

/* These hero frames come from the owner's recording of the Weebly pages. */
.reference-hero.recorded-course-landing{height:auto;aspect-ratio:2600/980;background-image:url(reference-media/course-landing-hero-recorded.jpg);background-position:center;background-size:cover}
.reference-hero.recorded-restorative{height:auto;aspect-ratio:2600/1510;background-image:url(reference-media/course-restorative-hero-recorded.jpg);background-position:center;background-size:cover}
.reference-hero.recorded-botox{height:auto;aspect-ratio:2600/1305;background-image:url(reference-media/course-botox-hero-recorded.jpg);background-position:center;background-size:cover}
.reference-hero.recorded-course-landing:after,.reference-hero.recorded-restorative:after,.reference-hero.recorded-botox:after{background:transparent}
.reference-hero.recorded-course-landing .hero-copy,.reference-hero.recorded-restorative .hero-copy,.reference-hero.recorded-botox .hero-copy{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.reference-hero.recorded-implant{background-image:url(reference-media/course-implant-hero-recorded.jpg);background-position:65% center}
.course-poster-pair{display:grid;grid-template-columns:1fr 1fr;gap:35px;max-width:1110px;margin:0 auto 55px;align-items:start}
.course-poster-pair img{display:block;width:100%;height:auto}

/* Soft movement is layered onto the recovered layout without delaying navigation. */
.motion-enabled .page-main{animation:page-fade-in .48s ease-out both}
.motion-enabled .reference-hero .hero-copy{animation:hero-fade-in .65s .08s ease-out both}
.motion-enabled .hero-video{animation:video-fade-in .7s ease-out both}
.motion-enabled .motion-reveal{opacity:0;transform:translateY(18px);transition:opacity .62s ease-out,transform .62s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
.motion-enabled .motion-reveal.is-visible{opacity:1;transform:none}
.motion-enabled img.scroll-photo{opacity:0;transform:translateY(22px) scale(.975);transition:opacity .62s ease,transform .72s cubic-bezier(.2,.7,.2,1);transition-delay:var(--photo-delay,0ms)}
.motion-enabled img.scroll-photo.is-in-view{opacity:1;transform:none}
.motion-enabled .scroll-hero{opacity:.18;transition:opacity .65s ease}
.motion-enabled .scroll-hero.is-in-view{opacity:1}
.motion-enabled .poster-link:hover img.scroll-photo.is-in-view,.motion-enabled .home-poster:hover img.scroll-photo.is-in-view,.motion-enabled .bow-product:hover img.scroll-photo.is-in-view{transform:scale(1.025)}
.motion-enabled.page-leaving .page-main,.motion-enabled.page-leaving .birdseye-header,.motion-enabled.page-leaving .footer-wrap{animation:none;opacity:0;transition:opacity .18s ease-in}
.source-button,.line-button,.gallery-stage>button,.gallery-thumbs button,.calendar-controls button,.desktop-nav a,.desktop-nav button,.mobile-nav a{transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease,opacity .22s ease,transform .22s ease}
.source-button:hover,.line-button:hover,.gallery-stage>button:hover{transform:translateY(-2px);box-shadow:0 5px 16px #0004}
.source-button:active,.line-button:active,.gallery-stage>button:active{transform:translateY(0)}
.poster-link,.home-poster,.bow-product{overflow:hidden}
.poster-link img,.home-poster img,.bow-product img{transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.poster-link:hover img,.home-poster:hover img,.bow-product:hover img{transform:scale(1.025)}
.gallery-thumbs button:hover{opacity:.75;transform:translateY(-2px)}
.gallery-main{transition:opacity .3s ease}
.gallery-main-link{position:relative}
.gallery-main-link .gallery-previous{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain;pointer-events:none}
.scroll-progress{position:fixed;top:0;left:0;z-index:900;width:100%;height:3px;background:linear-gradient(90deg,#73519f,#d4c0ff 70%,#fff);box-shadow:0 0 12px #a986dfaa;transform:scaleX(0);transform-origin:left;pointer-events:none}
.scroll-progress[hidden]{display:none}
@media(min-width:768px){
 .desktop-nav .wsite-menu-wrap{display:block;visibility:hidden;opacity:0;transform:translateY(9px);pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s}
 .birdseye-header .desktop-nav .restore-more>.wsite-menu-wrap{left:auto!important;right:0!important}
 .desktop-nav li:hover>.wsite-menu-wrap,.desktop-nav li:focus-within>.wsite-menu-wrap,.desktop-nav .more-open>.wsite-menu-wrap{display:block;visibility:visible;opacity:1;transform:none;pointer-events:auto;transition-delay:0s}
}
@keyframes page-fade-in{from{opacity:0}to{opacity:1}}
@keyframes hero-fade-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes video-fade-in{from{opacity:0}to{opacity:var(--hero-video-opacity,.8)}}
@media(prefers-reduced-motion:reduce){.motion-reveal,.scroll-photo,.scroll-hero{opacity:1!important;transform:none!important}.page-main,.reference-hero .hero-copy,.hero-video{animation:none!important}.source-button,.line-button,.gallery-stage>button,.gallery-thumbs button,.poster-link img,.home-poster img,.bow-product img,.desktop-nav .wsite-menu-wrap,.scroll-photo,.scroll-hero{transition:none!important}}
@media print{.scroll-photo,.scroll-hero{opacity:1!important;transform:none!important}}
@media(max-width:767px){
 .reference-hero.recorded-course-landing,.reference-hero.recorded-restorative,.reference-hero.recorded-botox{height:400px;aspect-ratio:auto}
 .reference-hero.recorded-course-landing{background-image:url(reference-media/course-landing-mobile-recorded.jpg)}
 .reference-hero.recorded-restorative{background-image:url(reference-media/course-restorative-mobile-recorded.jpg)}
 .reference-hero.recorded-botox{background-image:url(reference-media/course-botox-mobile-recorded.jpg)}
 .reference-hero.recorded-course-landing:after,.reference-hero.recorded-restorative:after,.reference-hero.recorded-botox:after{background:#0008}
 .reference-hero.recorded-course-landing .hero-copy,.reference-hero.recorded-restorative .hero-copy,.reference-hero.recorded-botox .hero-copy{position:relative;width:auto;height:auto;padding:50px 20px 0;overflow:visible;clip-path:none;white-space:normal}
 .course-poster-pair{grid-template-columns:1fr;gap:25px}
}

/* First-entry brand reveal, inspired by the black and violet PPFACEBOW page. */
.site-intro{display:none;position:fixed;inset:0;z-index:1000;place-items:center;overflow:hidden;color:#fff;background:radial-gradient(ellipse at 50% 42%,#29213e 0,#0c0a12 48%,#030305 100%);font-family:Montserrat,Arial,sans-serif}
.intro-pending .site-intro{display:grid;animation:intro-appear .25s ease-out both,intro-exit .35s 5.1s ease-in forwards}
.intro-finishing .site-intro{animation:intro-exit .35s ease-in forwards}
.site-intro:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 38%,#b9a8ee16 49%,transparent 61%);transform:translateX(-100%);animation:intro-light-sweep 1.25s .22s ease-out both}
.intro-orbit{position:absolute;width:min(790px,92vw);aspect-ratio:1.65;border:1px solid #9782ce38;border-radius:50%;box-shadow:0 0 60px #5b40923a,inset 0 0 65px #5b409221;transform:rotate(-14deg);animation:intro-orbit-in 1.1s ease-out both}
.intro-orbit:before,.intro-orbit:after{content:"";position:absolute;border-radius:50%;inset:9% 5%;border:1px solid #c9b9f51f;transform:rotate(20deg)}
.intro-orbit:after{inset:22% -4%;border-color:#c9b9f517;transform:rotate(-24deg)}
.intro-content{position:relative;z-index:1;text-align:center;width:100%;padding:24px;animation:intro-content-in .75s .08s cubic-bezier(.2,.7,.2,1) both}
.intro-logo{display:block;width:70px;height:70px;object-fit:contain;margin:0 auto 24px;filter:drop-shadow(0 0 20px #c0a9f08c)}
.intro-name{font-size:clamp(29px,6.7vw,86px);font-weight:300;line-height:1.1;letter-spacing:.105em;white-space:nowrap;text-shadow:0 0 32px #d2c3fd38}
.intro-name span{font-weight:500;color:#d1c3f3;background:linear-gradient(110deg,#fcfbff 8%,#a891da 48%,#f4efff 86%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.intro-tagline{margin-top:25px;color:#c8c1d7;font-size:clamp(9px,1vw,12px);font-weight:400;letter-spacing:.35em}
.intro-line{width:min(440px,76vw);height:2px;margin:38px auto 0;background:#ffffff1f;overflow:hidden}
.intro-line:after{content:"";display:block;width:38%;height:100%;background:linear-gradient(90deg,#5f468e,#f2ebff,#7b60b0);transform:translateX(-110%);box-shadow:0 0 12px #d4bbff;animation:intro-progress 1.15s .18s ease-in-out infinite}
@keyframes intro-appear{from{opacity:0}to{opacity:1}}
@keyframes intro-content-in{from{opacity:0;transform:translateY(18px);filter:blur(7px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes intro-orbit-in{from{opacity:0;transform:rotate(-30deg) scale(.78)}to{opacity:1;transform:rotate(-14deg) scale(1)}}
@keyframes intro-light-sweep{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@keyframes intro-progress{to{transform:translateX(290%)}}
@keyframes intro-exit{to{opacity:0;visibility:hidden;pointer-events:none}}
@media(max-width:767px){.intro-logo{width:58px;height:58px;margin-bottom:20px}.intro-name{letter-spacing:.055em}.intro-tagline{letter-spacing:.19em;margin-top:18px}.intro-line{margin-top:30px}}
@media(prefers-reduced-motion:reduce){.intro-pending .site-intro{display:none!important}}

/* Softer controls keep the violet PPFACEBOW palette across the site. */
.source-button{min-height:44px;padding:14px 30px;border-radius:14px;border-color:#c0a9e273;background:linear-gradient(135deg,#171421,#49365e);box-shadow:inset 0 1px 0 #ffffff25,0 8px 22px #0005;letter-spacing:.02em;text-align:center}
.source-button:hover{background:linear-gradient(135deg,#30243d,#6a4f87);border-color:#dec9ff;box-shadow:inset 0 1px 0 #ffffff38,0 12px 27px #0006,0 0 18px #a578d13d}
.source-button.light-button{color:#231a31;background:linear-gradient(135deg,#fff,#dfd1f5);border-color:#fff;box-shadow:0 8px 22px #0003}
.source-button.light-button:hover{background:linear-gradient(135deg,#fff,#cdb7eb)}
.source-button.outline-button{color:#fff;background:#ffffff0d;border-color:#d5c2edb3;backdrop-filter:blur(6px)}
.source-button.outline-button:hover{background:#8267a84d;border-color:#e7d7ff}
.line-button{border:1px solid #72e7a1;border-radius:999px;background:linear-gradient(135deg,#06b94e,#0a9a46);box-shadow:0 8px 20px #003d1f66;text-decoration:none}
.line-button:hover{background:linear-gradient(135deg,#10d15c,#0baa4c)}
.gallery-stage>button{width:36px;height:36px;border-radius:11px;border-color:#ffffff8c;background:#171322b8;box-shadow:0 4px 12px #0007;backdrop-filter:blur(8px)}
.gallery-stage>button:hover,.gallery-stage>button:focus-visible{background:#594371e8;border-color:#e2ceff}
.gallery-stage .gallery-prev{right:54px}.gallery-stage .gallery-next{right:10px}
.gallery-thumbs button{border-radius:10px;overflow:hidden;transition:border-color .22s ease,box-shadow .22s ease,opacity .22s ease,transform .22s ease}
.gallery-thumbs button[aria-pressed="true"]{border-color:#d7b7ff;box-shadow:0 0 0 2px #8e6cb05c}
.gallery-thumbs img{border-radius:8px}
.calendar-controls button{min-width:28px;min-height:28px;padding:4px 8px;border-radius:9px;color:#e8e2f0}
.calendar-controls button:hover{background:#d3b8ff30;color:#fff}
.desktop-nav>.wsite-menu-default>li>a,.desktop-nav>.wsite-menu-default>li>button{border-radius:11px}
.desktop-nav>.wsite-menu-default>li>a:hover,.desktop-nav>.wsite-menu-default>li>button:hover{background:#b59bd42c}
.desktop-nav .wsite-menu-wrap{border-radius:12px;border-color:#c0a9e277;box-shadow:0 12px 28px #0009}
.desktop-nav .wsite-menu-wrap a{border-radius:8px}
.desktop-nav .wsite-menu-wrap a:hover{background:#604877}
.mobile-nav a,.mobile-nav .icon-caret{border-radius:10px}
#contact-form input,#contact-form textarea{border-radius:12px}
.reference-status{border-radius:12px;overflow:hidden}.reference-status button:hover{background:#e9def6}
dialog{border-radius:18px}dialog button{border-radius:10px;background:#4b3762}
.source-button:focus-visible,.gallery-stage>button:focus-visible,.calendar-controls button:focus-visible,.desktop-nav button:focus-visible{outline-color:#dfc6ff}

/* Typography stays readable while headings and paragraphs enter the page. */
body.restore-v2{font-family:Catamaran,"Noto Sans Thai",Thonburi,Tahoma,Arial,sans-serif;font-kerning:normal;text-rendering:optimizeLegibility}
h1,h2,h3{font-family:Montserrat,"Noto Sans Thai",Thonburi,Arial,sans-serif}
main h1,main h2,main h3{text-wrap:balance;letter-spacing:.008em}
main .source-copy{line-height:1.5}
main .source-copy a{text-decoration-thickness:1px;text-underline-offset:3px;transition:color .2s ease,text-decoration-color .2s ease}
main .source-copy a:hover{color:#d5b6fa}
main .paper .source-copy a:hover{color:#684486}
::selection{background:#8d6ab5;color:#fff}
.motion-enabled .text-motion{opacity:0;transform:translateY(9px);transition:opacity .54s ease,transform .58s cubic-bezier(.2,.7,.2,1);transition-delay:var(--text-delay,0ms)}
.motion-enabled .source-copy.text-motion,.motion-enabled .source-copy>font.text-motion{transform:none;transition:opacity .58s ease;transition-delay:var(--text-delay,0ms)}
.motion-enabled :is(h1,h2,h3).text-motion{transform:translateY(18px);filter:blur(3px);transition:opacity .68s ease,transform .7s cubic-bezier(.2,.7,.2,1),filter .7s ease;transition-delay:var(--text-delay,0ms)}
.motion-enabled .text-motion.is-visible{opacity:1;transform:none;filter:none}
@media(prefers-reduced-motion:reduce){.motion-enabled .text-motion{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}}
@media print{.text-motion{opacity:1!important;transform:none!important;filter:none!important}}

/* A clean route illustration accompanies the live navigation map. */
.route-figure{margin:0}
.route-map-link{display:block;overflow:hidden;border-radius:18px;box-shadow:0 16px 40px #0003;background:#f7f5ef}
.route-figure .route-map{display:block;width:100%;max-width:none;height:auto;margin:0;transition:transform .45s ease}
.route-map-link:hover .route-map{transform:scale(1.025)}
.route-figure figcaption{padding:12px 4px 0;color:#dce2e3;font:13px/1.5 Catamaran,"Noto Sans Thai",Thonburi,Tahoma,sans-serif}
.route-figure figcaption .text-link{display:inline;font:inherit;color:#e8d4ff;text-decoration:underline;text-underline-offset:3px}
.contact-map-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:28px;align-items:start;margin:0 0 35px}
.contact-map-layout .map-embed{height:320px;border-radius:18px;box-shadow:0 16px 40px #0003}
.contact-map-layout>div>.text-link{display:inline-block;margin-top:12px;color:#e8d4ff}
@media(max-width:767px){.contact-map-layout{grid-template-columns:1fr;gap:26px}.contact-map-layout .map-embed{height:280px}}
@media(prefers-reduced-motion:reduce){.route-figure .route-map{transition:none}.route-map-link:hover .route-map{transform:none}}

/* Current hotel information, with each reservation handled by the hotel. */
.lodging-surface{background:linear-gradient(145deg,#252a35,#252432 55%,#23272d);color:#f4f1f5}
.lodging-intro{max-width:760px;margin:0 auto 48px;text-align:center}
.lodging-eyebrow{margin:0 0 12px;color:#c9afea;font:600 12px/1.5 Montserrat,sans-serif;letter-spacing:.26em}
.lodging-intro h2{margin:0 0 18px;font:500 clamp(26px,3.5vw,44px)/1.22 Montserrat,"Noto Sans Thai",Thonburi,sans-serif}
.lodging-intro>p:last-child{margin:0;color:#d9d3e0;font:18px/1.6 Catamaran,"Noto Sans Thai",Thonburi,sans-serif}
.hotel-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.hotel-card{min-width:0;overflow:hidden;border:1px solid #ffffff26;border-radius:22px;background:#ffffff0c;box-shadow:0 16px 40px #0003;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.hotel-card:hover{transform:translateY(-5px);border-color:#c4a4e277;box-shadow:0 22px 48px #0005}
.hotel-card-image{display:block;overflow:hidden;background:#494251}
.hotel-card-image img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .5s ease,opacity .4s ease}
.hotel-card:hover .hotel-card-image img{transform:scale(1.04)}
.hotel-card-content{padding:26px 28px 25px}
.hotel-card h2{font:600 clamp(20px,2vw,25px)/1.35 Montserrat,"Noto Sans Thai",Thonburi,sans-serif;margin:0 0 14px;color:#fff;text-wrap:balance}
.hotel-address{margin:0 0 12px;color:#cbb2e4;font:15px/1.55 Catamaran,"Noto Sans Thai",Thonburi,sans-serif}
.hotel-summary{margin:0 0 23px;color:#e5dfe8;font:17px/1.55 Catamaran,"Noto Sans Thai",Thonburi,sans-serif}
.hotel-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.hotel-actions .source-button{margin:0;padding:12px 20px;font:600 14px/1.3 Montserrat,"Noto Sans Thai",Thonburi,sans-serif}
.hotel-official-link{color:#efe8f4;font:14px/1.5 Catamaran,"Noto Sans Thai",Thonburi,sans-serif;text-decoration:underline;text-underline-offset:4px}
.hotel-photo-credit{margin:23px 0 0;color:#b8aebe;font:12px/1.5 Catamaran,"Noto Sans Thai",Thonburi,sans-serif}
.hotel-photo-credit a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media(max-width:767px){.lodging-intro{margin-bottom:32px}.hotel-list{grid-template-columns:1fr;gap:22px}.hotel-card-content{padding:22px}.hotel-card-image img{aspect-ratio:16/10}}
@media(prefers-reduced-motion:reduce){.hotel-card,.hotel-card-image img{transition:none}.hotel-card:hover,.hotel-card:hover .hotel-card-image img{transform:none}}

/* One type system for the entire English-language site. */
body.restore-v2 :is(p,li,td,.source-copy,.source-copy font,.recovery-note,.calendar-note,.form-explanation,.reference-status,dialog,dialog p){font-family:Catamaran,Arial,sans-serif}
body.restore-v2 :is(h1,h2,h3,nav a,nav button,.source-button,.line-button,.calendar-title,#contact-form label){font-family:Montserrat,Arial,sans-serif}
