.elementor-kit-7{--e-global-color-primary:#16707F;--e-global-color-secondary:#0E141B;--e-global-color-text:#3A4652;--e-global-color-accent:#4AB0C1;--e-global-color-1ff26a6:#FFFFFF;--e-global-color-5e2a3c1:#03C0D0;--e-global-color-8ec5fcb:#000000;--e-global-color-ebd327c:#47AFBD;--e-global-color-25b9883:#0E1419;--e-global-color-alpaper:#FFFFFF;--e-global-color-alpalt0:#F3F6F8;--e-global-color-alline0:#DCE3E8;--e-global-color-almuted:#B8C2CC;--e-global-color-alpanel:#16202A;--e-global-color-alfootr:#080C10;--e-global-color-aldline:#2A3540;--e-global-color-alsocdk:#35414D;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:900;--e-global-typography-secondary-font-family:"Roboto";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:700;background-color:#FFFFFF;color:#0E141B;font-family:"Roboto", Sans-serif;font-size:18px;font-weight:400;line-height:1.65em;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1132px;}.e-con{--container-max-width:1132px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:960px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:760px){.elementor-kit-7{font-size:17px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ===== Alanis site: global helpers (layout values live in the Elementor widgets) ===== */
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.elementor-kit-7 a{color:inherit}
:focus-visible{outline:3px solid #4AB0C1;outline-offset:3px}
.al-sec{scroll-margin-top:72px}
.admin-bar .al-sec{scroll-margin-top:104px}

/* headings: highlighted words (<em>) and the nickname */
.al-h em{font-style:normal;color:var(--e-global-color-primary)}
.al-dark .al-h em{color:var(--e-global-color-accent)}
.al-h1 .al-nick{color:var(--e-global-color-primary)}
.al-logo .al-i{color:var(--e-global-color-accent)}

/* text blocks */
.elementor.elementor .e-con .elementor-widget.al-lead{max-width:60ch}
.al-text p{margin:0 0 18px}
.al-text p:last-child{margin-bottom:0}
.al-ol ol{margin:0 0 0 22px;padding:0}
.al-ol li{padding:4px 0}
.al-src a{text-decoration:underline}
.al-prose a{color:var(--e-global-color-primary);text-decoration:underline;text-underline-offset:2px}
.al-prose strong{color:var(--e-global-color-secondary)}
.al-src a:hover{color:#fff}

/* buttons */
.al-btn .elementor-button,.al-social .elementor-button{transition:transform .15s,border-color .15s}
.al-btn .elementor-button:hover{transform:translateY(-1px)}
.al-textlink .elementor-button{text-underline-offset:3px}

/* hero photo fills the column like the design */
.al-hero-grid > .al-hero-photo{align-self:stretch;height:100%}
.al-hero-photo img{width:100%;height:100%;min-height:520px;object-fit:cover;object-position:center top;display:block}
.al-hero{overflow:hidden}

/* square photos */
.al-sq img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}

/* video */
.al-video{border-radius:16px;overflow:hidden;background:#0E141B}

/* header menu: "Book Alanis" item as a button */
.al-nav .elementor-nav-menu--main .al-menu-btn > a.elementor-item{background:var(--e-global-color-accent);color:var(--e-global-color-secondary)!important;border-radius:8px;padding:10px 18px!important;font-weight:700;font-size:15px;transition:transform .15s}
.al-nav .elementor-nav-menu--main .al-menu-btn > a.elementor-item:hover{transform:translateY(-1px)}
.al-nav .elementor-nav-menu--dropdown .al-menu-btn > a{display:inline-flex!important;width:auto;background:var(--e-global-color-accent)!important;color:var(--e-global-color-secondary)!important;border-radius:8px;font-weight:700;margin:6px 16px 10px;padding:10px 18px!important}
.al-nav .elementor-menu-toggle{border:2px solid #fff;border-radius:8px}

/* bio: handwritten goal - the widget keeps the image's shape, so the caption never slides under it (phones, slow loading) */
.elementor.elementor .e-con .elementor-widget.al-goal{width:100%;max-width:620px;margin-inline:auto;aspect-ratio:1372/385}
.elementor.elementor .elementor-widget.al-goal img{display:block;width:100%;height:100%;object-fit:contain}

/* bio: justified text (desktop) */
.al-just p{-webkit-hyphens:auto;hyphens:auto}

/* Beyond Esports: portrait photo pair */
.al-portrait img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}

/* Watch & Listen link cards */
.al-lcard{transition:border-color .15s,transform .15s,box-shadow .15s;text-decoration:none}
.al-lcard:not(.al-lcard-plain):hover{border-color:var(--e-global-color-accent)!important;transform:translateY(-2px);box-shadow:0 10px 24px rgba(14,20,27,.08)}
.al-lcard:hover .elementor-heading-title{text-decoration:none}
.al-lcard-plain:hover h3.elementor-heading-title{color:var(--e-global-color-primary)!important}
.al-lcard .al-lcard-arrow .elementor-icon{transition:transform .15s}
.al-lcard:hover .al-lcard-arrow .elementor-icon{transform:translateX(2px)}

@media (max-width:760px){
  .al-just p{-webkit-hyphens:manual;hyphens:manual}
}
@media (max-width:960px){
  .al-svc-hero img{object-position:50% 30%!important}
  .al-hero-grid > .al-hero-photo{height:auto}
  .al-hero-photo img{min-height:0;height:auto;aspect-ratio:1/1}
}
/* services page: photo crops, podcast clip */
.al-43 img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.al-pos-top img{object-position:50% 22%}
.al-pos-mid img{object-position:50% 45%}
.al-pos-low img{object-position:50% 78%}
.al-pos-shoot img{object-position:50% 38%}
.al-video-sq video{aspect-ratio:1/1;object-fit:cover;display:block;width:100%}
.al-worked-strip .elementor-heading-title{white-space:nowrap}

/* round 3: Beyond Esports piano photo, new studio photo, media icons, copyright link */
.al-45 img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.al-pos-piano img{object-position:40% 55%}
.al-pos-shoot2 img{object-position:50% 30%}
.al-copy a{text-decoration:underline;text-underline-offset:2px}
.al-copy a:hover{color:#fff}
.al-social-icons .elementor-social-icon{transition:transform .15s,background-color .15s}

/* achievements: medal on a glowing round stage */
.elementor .e-grid > .e-con.al-medal-stage{justify-self:center}
.al-medal-stage{position:relative;aspect-ratio:1/1;overflow:visible;box-shadow:0 0 0 14px rgba(74,176,193,.05),0 0 80px rgba(74,176,193,.18)}
.al-medal-stage::before{content:"";position:absolute;inset:-26px;border-radius:50%;border:1px dashed rgba(74,176,193,.35);pointer-events:none;animation:alSpin 60s linear infinite}
.al-medal img{display:block;margin-inline:auto;filter:drop-shadow(0 22px 28px rgba(0,0,0,.55)) drop-shadow(0 0 36px rgba(230,190,110,.22));animation:alFloat 6s ease-in-out infinite;transform-origin:50% 0}
.al-medal-tag{position:absolute!important;left:50%;bottom:-16px;transform:translateX(-50%);white-space:nowrap;box-shadow:0 8px 20px rgba(0,0,0,.35)}
@keyframes alFloat{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-10px) rotate(2deg)}}
@keyframes alSpin{to{transform:rotate(360deg)}}

/* al-sq-tablet: keep square photos a comfortable size on tablets */
@media (min-width:761px) and (max-width:960px){
  .elementor .e-grid > .elementor-widget.al-sq,
  .elementor .e-grid > .elementor-widget.al-video-sq,
  .elementor .e-grid > .elementor-widget.al-45{width:100%;max-width:560px;justify-self:center}
}
@media (prefers-reduced-motion:reduce){
  .al-medal img,.al-medal-stage::before{animation:none}
  .al-btn .elementor-button,.al-social .elementor-button{transition:none}
}/* End custom CSS */