/* Responsive enhancements preserve the approved desktop brand and content. */
.hero-picture{position:absolute;inset:0;display:block;overflow:hidden}
.hero-picture img{width:100%;height:100%;object-fit:cover}
.mobile-menu{display:none}
.mobile-menu:not([open])>.mobile-menu-navigation{display:none}
img{max-width:100%}
button,summary,a{touch-action:manipulation}
#home .reveal{opacity:1;transform:none;animation:none}
#menu-toggle{min-width:44px;min-height:44px}
.mobile-menu summary{min-height:44px;min-width:56px;align-items:center;justify-content:center;padding:8px 12px;border:1px solid var(--line);border-radius:3px;font:600 14px/1.5 'Libre Franklin',sans-serif}
.mobile-menu summary:after{content:'☰';margin-left:10px}
.mobile-menu[open] summary:after{content:'×'}
@media(max-width:1023px) and (min-width:768px){
 .canva-header>div{gap:16px}
 .canva-header nav{gap:16px}
 .canva-header [data-template-id="header-cta"]{padding:12px;font-size:12px!important}
 .service-page header{gap:18px}
 .service-page header nav{gap:14px}
 .service-page header .brand-name{font-size:20px}
 .service-page header .brand-name small{font-size:7px;letter-spacing:.5px}
}
@media(max-width:767px){
 html{scroll-padding-top:90px}
 .canva-header{background:#fff!important;backdrop-filter:none}
 .canva-header>div{height:72px;gap:12px}
 .canva-header [data-template-id="header-cta"]{display:none!important}
 #mobile-nav{max-height:calc(100dvh - 72px);overflow-y:auto}
 #mobile-nav a{min-height:44px;display:flex;align-items:center}
 #home>.relative{padding-top:40px;padding-bottom:28px}
 #home h1{margin-top:20px}
 #home h1 span{font-size:clamp(28px,7.2vw,36px)!important;line-height:1.14!important}
 #home [data-template-id="hero-copy"]{font-size:16px!important;line-height:1.6!important;margin-top:20px}
 #home .mt-9{margin-top:24px;gap:16px}
 #home [data-template-id="hero-cta"]{font-size:14px!important;width:100%;justify-content:center;text-align:center;padding:14px 12px;min-height:48px}
 #home [data-template-id="hero-secondary"]{min-height:44px;display:flex;align-items:center}
 #home .mt-24{margin-top:36px}
 [data-template-id="hero-eyebrow"]{font-size:10px!important;letter-spacing:.15em}
 .canva-section h2{font-size:28px!important;line-height:1.25!important}
 .canva-section h3{font-size:24px!important;line-height:1.3!important}
 .canva-button{max-width:100%;white-space:normal;min-height:44px}
 .audience-opt,.fit-opt{min-height:48px}
 .service-page header{position:relative;min-height:80px;padding:16px 5%;flex-wrap:nowrap;gap:12px}
 .service-page header>.desktop-navigation{display:none}
 .service-page .mobile-menu{display:block;border:0;margin-left:auto;flex-shrink:0;scroll-margin:0}
 .service-page .brand{gap:8px;min-width:0}
 .service-page header .logo-window{width:72px}
 .service-page header .brand-name{font-size:20px}
 .service-page header .brand-name small{font-size:6px;letter-spacing:.6px}
 .mobile-menu-navigation{position:absolute;z-index:30;top:100%;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;width:auto;background:white;padding:16px 5%;border-top:1px solid var(--line);box-shadow:0 12px 24px #0f1e3320;max-height:calc(100dvh - 80px);overflow-y:auto;gap:8px!important}
 .mobile-menu-navigation>a,.mobile-menu-navigation summary{min-height:44px;padding:10px 12px;font-size:15px!important}
 .mobile-menu-navigation .nav-services{border:0}
 .mobile-menu-navigation .nav-services>div{position:static;box-shadow:none;border:0;border-left:2px solid var(--teal);margin-left:12px;padding:0 6px;min-width:0}
 .mobile-menu-navigation .nav-services summary{justify-content:space-between}
 .mobile-menu-navigation .nav-services summary:after{content:none}
 .mobile-menu-navigation .nav-services a{min-height:44px}
 .mobile-menu-navigation .button{justify-content:center;gap:14px;margin-top:8px}
 .service-page .hero-content{padding:40px 6%}
 .service-hero h1{font-size:38px;line-height:1.12}
 .service-hero h1 em{font-size:30px;line-height:1.2}
 .service-hero .hero-intro{font-size:16px;line-height:1.65}
 .service-page .button{white-space:normal;min-height:48px;font-size:13px}
 .service-hero .button,.page-cta .button{max-width:100%;justify-content:center;text-align:center;gap:16px}
 .service-section h2,.page-cta h2{font-size:29px}
 .service-section h3{font-size:22px}
 .service-section .engagement strong{overflow-wrap:anywhere}
 .service-page footer{align-items:flex-start;gap:20px}
}
@media(max-width:359px){
 .canva-header [data-template-id="logo-tagline"]{font-size:6px!important;letter-spacing:.13em}
 .service-page header .brand-name{font-size:16px}
 .service-page header .brand-name small{font-size:5px;letter-spacing:.4px}
 .service-page header .logo-window{width:54px}
 .mobile-menu summary{padding:8px;min-width:48px;font-size:12px}
 .mobile-menu summary:after{margin-left:5px}
}
