/* House Media — Mobile-first public site, 2026-11.
   Retains the existing violet / midnight brand, with accessible tap targets. */
.site-menu-toggle,.site-mobile-menu,.nav-cta-mobile{display:none}
.site-mobile-menu[hidden]{display:none!important}
.site-menu-open{overscroll-behavior-y:contain}
@media(max-width:800px){
 html{scroll-padding-top:76px}
 body{min-width:0;max-width:100%;overflow-x:clip}
 body.site-menu-open{overflow:hidden}
 .wrap{width:calc(100% - 40px);max-width:1200px}
 .nav{z-index:110}
 .navinner{min-height:70px;gap:10px}
 .brand{min-width:0;flex:none}
 .brand-logo{width:155px;max-width:36vw;max-height:46px}
 .links{display:none!important}
 .nav .nav-contact{
   margin-left:auto;flex:none;
   min-height:44px;min-width:0;max-width:calc(100% - 175px);
   padding:11px 15px;border-radius:11px;
   font-size:13px;line-height:1.2;letter-spacing:0;
   gap:8px;white-space:nowrap;
 }
 .nav-cta-desktop{display:none}
 .nav-cta-mobile{display:inline}
 .site-menu-toggle{
   display:inline-flex;align-items:center;justify-content:center;
   flex:none;gap:8px;height:46px;min-width:52px;
   padding:0 13px;background:#171324;border:1px solid #58416E;
   border-radius:11px;color:#F0EAF7;
   font:700 13px/1 'Rajdhani',sans-serif;letter-spacing:.02em;
   cursor:pointer;touch-action:manipulation;
 }
 .site-menu-toggle[aria-expanded="true"]{border-color:#B99BDC;background:#302046}
 .site-menu-icon{position:relative;display:block;width:19px;height:17px;flex:none}
 .site-menu-icon::before,.site-menu-icon::after{
   content:"";position:absolute;left:0;width:19px;height:2px;
   background:currentColor;border-radius:3px;transition:transform .22s,top .22s;
 }
 .site-menu-icon::before{top:4px}
 .site-menu-icon::after{top:12px}
 .site-menu-toggle[aria-expanded="true"] .site-menu-icon::before{top:8px;transform:rotate(45deg)}
 .site-menu-toggle[aria-expanded="true"] .site-menu-icon::after{top:8px;transform:rotate(-45deg)}
 .site-menu-toggle:focus-visible{outline:2px solid #B99BDC;outline-offset:3px}
 .site-mobile-menu:not([hidden]){
   display:block;position:absolute;left:0;right:0;top:100%;
   z-index:111;background:#0D0E1BEF;
   border-top:1px solid #594072;border-bottom:1px solid #594072;
   box-shadow:0 25px 45px #000A;backdrop-filter:blur(18px);
   max-height:calc(100dvh - 70px);overflow-y:auto;
   overscroll-behavior:contain;
 }
 .site-mobile-menu-inner{width:calc(100% - 40px);margin:auto;padding:12px 0 calc(24px + env(safe-area-inset-bottom,0px))}
 .site-mobile-menu a{
   display:flex;align-items:center;justify-content:space-between;
   min-height:53px;padding:13px 12px;border-bottom:1px solid #ffffff13;
   font:700 17px/1.3 'Rajdhani',sans-serif;color:#EBE7F4;letter-spacing:.01em;
 }
 .site-mobile-menu a span{color:#B28DD7;font-size:19px}
 .site-mobile-menu a:focus-visible{outline:2px solid #B48AE4;outline-offset:-2px}
 .site-mobile-menu .site-mobile-menu-contact{
   margin-top:15px;min-height:52px;border:1px solid #8764AC;
   border-radius:12px;background:#39215F;padding:13px 16px;color:#FFF;
 }
 .hero{
   min-height:clamp(590px,calc(100svh - 70px),780px);
   align-items:center;
   background-position:center;
 }
 .hero .wrap{padding:78px 0 104px}
 .hero h1{
   font-size:clamp(36px,6.9vw,56px);
   line-height:1.12;letter-spacing:-.052em;
   max-width:780px;margin:18px 0 21px;
   overflow-wrap:anywhere;
 }
 .hero p{max-width:580px;font-size:clamp(16px,2.9vw,19px);line-height:1.52}
 .hero .actions{gap:11px;margin-top:28px}
 .hero .actions .btn{min-height:50px;padding:13px 20px;line-height:1.35}
 .section{padding:76px 0}
 .sectionhead{display:grid;grid-template-columns:1fr;gap:13px;margin-bottom:28px}
 .sectionhead h2,.contact h2{margin:13px 0 4px;max-width:100%;line-height:1.13}
 .sectionhead p{max-width:600px;margin:0}
 .grid,.projects{grid-template-columns:1fr}
 .grid{gap:14px}
 .card{min-height:0;padding:25px 24px 23px;border-radius:17px}
 .card h3{margin:21px 0 11px;font-size:clamp(21px,3.1vw,27px)}
 .card p{font-size:16px;line-height:1.5}
 .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
 .step h3{margin:17px 0 8px}
 .step p{font-size:15px}
 .contact{padding:80px 0}
 .contact p{font-size:17px}
 .webcases-toolbar{display:block;margin:2px 0 22px}
 .webcases-filters{
   display:flex;flex-wrap:nowrap;align-items:center;
   gap:9px;width:100%;min-width:0;max-width:100%;
   overflow-x:auto;overflow-y:hidden;padding:2px 2px 13px;
   -webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;
   overscroll-behavior-x:contain;
 }
 .webcases-filter{
   flex:0 0 auto;min-height:46px;padding:11px 17px;
   font-size:15px;white-space:nowrap;
   scroll-snap-align:start;touch-action:manipulation;
 }
 .webcases-filter:focus-visible{outline:2px solid #BDA2DB;outline-offset:2px}
 .webcases-count{display:block;margin-top:1px;font-size:14px}
 .webcases-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .webcase{min-width:0;border-radius:17px}
 .webcase-visual{height:auto;aspect-ratio:16 / 10;min-height:160px}
 .webcase-info{min-width:0;padding:19px 20px 21px}
 .webcase-topline{min-width:0;flex-wrap:wrap}
 .webcase-category,.webcase-host{min-width:0;overflow-wrap:anywhere}
 .webcase-info h3{overflow-wrap:anywhere}
 .whatsapp-float{width:55px;height:55px;right:16px;bottom:calc(17px + env(safe-area-inset-bottom,0px))}
 .whatsapp-float svg{width:29px;height:29px}
 .site-footer .footer-bottom{gap:12px}
 .site-footer .footer-panel-link{min-height:44px}
}
@media(max-width:620px){
 .wrap{width:calc(100% - 36px)}
 .navinner{min-height:66px}
 .brand-logo{width:144px;max-width:36vw}
 .hero{min-height:clamp(575px,calc(100svh - 66px),740px)}
 .hero .wrap{padding:66px 0 96px}
 .hero h1{font-size:clamp(32px,8.5vw,44px);line-height:1.12;letter-spacing:-.055em}
 .hero .eyebrow{font-size:11px;line-height:1.5;letter-spacing:.16em}
 .hero p{font-size:17px;max-width:37ch}
 .hero .actions{display:grid;grid-template-columns:1fr;gap:10px;width:100%}
 .hero .actions .btn{width:100%;white-space:normal;text-align:center;font-size:15px;padding:13px 15px}
 .section{padding:62px 0}
 .sectionhead h2,.contact h2{font-size:clamp(28px,7.3vw,39px)}
 .sectionhead p{font-size:16px;line-height:1.55}
 .steps{grid-template-columns:1fr;gap:17px}
 .step{padding:16px 0 0}
 .step h3{font-size:22px}
 .grid{gap:12px}
 .card{padding:23px 20px;min-height:0}
 .card h3{margin:22px 0 9px;font-size:22px}
 .card p{font-size:15px;line-height:1.55}
 .webcases-grid{grid-template-columns:1fr;gap:14px}
 .webcase-visual{aspect-ratio:16/10;min-height:180px;height:auto}
 .webcase-visual-overlay{padding:18px}
 .webcase-serial{top:18px;left:18px}
 .webcase-visual-title{font-size:clamp(21px,5.3vw,27px)}
 .webcase-info{padding:18px 18px 20px}
 .webcase-info p{font-size:15px;line-height:1.5}
 .webcases-filter{font-size:14px;min-height:46px;padding:11px 15px}
 .contact{padding:73px 0}
 .contact .btn{width:min(100%,380px);min-height:52px;font-size:15px;text-align:center}
 .site-footer .footer-content{gap:28px 18px;padding-top:42px}
 .site-footer .footer-column a{display:inline-flex;align-items:center;min-height:35px;font-size:14px;line-height:1.35}
 .site-footer .footer-contact-link{white-space:normal}
 .site-footer .footer-panel-link{margin-left:0}
 .hm-lead-modal{padding:0;place-items:stretch}
 .hm-lead-dialog{
   width:100%;max-width:none;height:100dvh;max-height:100dvh;
   border-radius:0;border:0;box-shadow:none;
   padding:calc(22px + env(safe-area-inset-top,0px)) 20px calc(28px + env(safe-area-inset-bottom,0px));
   overscroll-behavior:contain;
 }
 .hm-lead-dialog h2{font-size:clamp(23px,6vw,30px)}
 .hm-lead-fields{grid-template-columns:1fr;gap:14px}
 .hm-lead-fields label{gap:9px;font-size:14px;min-width:0}
 .hm-lead-fields .full{grid-column:1}
 .hm-lead-fields input,.hm-lead-fields select{
   min-height:50px;font-size:16px;line-height:1.35;
   border-radius:11px;padding:12px 13px;
 }
 .hm-lead-submit{min-height:52px;font-size:15px}
 .hm-lead-close{float:right;width:46px;height:46px;font-size:25px}
 .hm-lead-consent{font-size:13px;line-height:1.5}
}
@media(max-width:390px){
 .wrap{width:calc(100% - 32px)}
 .brand-logo{width:132px;max-width:36vw}
 .navinner{gap:7px}
 .nav .nav-contact{padding:11px 11px;font-size:12px;min-height:44px}
 .site-menu-toggle{min-width:45px;height:44px;padding:0 10px}
 .site-menu-text{display:none}
 .hero h1{font-size:clamp(30px,8.1vw,35px);letter-spacing:-.055em}
 .hero .wrap{padding:64px 0 90px}
 .eyebrow{overflow-wrap:anywhere}
 .contact .btn{padding:13px}
 .webcases-filters{gap:7px}
 .webcase-visual{min-height:165px}
 .site-footer .footer-content{grid-template-columns:1fr;gap:23px}
 .site-footer .footer-brand-column{grid-column:1}
 .site-footer .footer-bottom{flex-wrap:wrap;gap:10px}
 .site-footer .footer-panel-link{margin-left:0}
}
@media(hover:none){
 .site-mobile-menu a:active{background:#2A1D3A}
 .webcase:hover,.card:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
 .site-menu-icon::before,.site-menu-icon::after{transition:none}
}
