/* Existing studio palette and type families; scoped to the new arrangements. */
.sm-section{color:#fff}
.sm-section h1,.sm-section h2,.sm-section h3,.sm-project h3{font-family:'DM Sans',sans-serif;font-weight:400;color:#fff}
.sm-section p,.sm-section a,.sm-project p{font-family:Inter,inter,sans-serif}
.sm-section .elementor-widget:not(:last-child){margin-bottom:24px}
.sm-section p:last-child{margin-bottom:0}
.sm-section a:focus-visible,.sm-project a:focus-visible,#sm-mobile-menu a:focus-visible,.sm-menu-toggle:focus-visible,.sm-menu-close:focus-visible{outline:2px solid currentColor;outline-offset:6px}
.sm-section .elementor-button{border:1px solid #fff;border-radius:0;background:#fff;color:#000;padding:18px 25px;font:400 16px/1.4 Inter,inter,sans-serif}
.sm-section .elementor-button:hover,.sm-section .elementor-button:focus{background:#000;color:#fff}
.sm-hero .sm-hero-title h1{font-family:Inter,inter,sans-serif;font-size:clamp(42px,5.2vw,76px);line-height:1.12;letter-spacing:-.035em}
.sm-hero .sm-hero-copy{max-width:780px}
body.home .sm-hero .elementor-element-156ae5d .content{display:none!important}
body.home .sm-hero .elementor-element-156ae5d .image{padding-top:0!important}
body.home .sm-hero .elementor-element-156ae5d .image img{aspect-ratio:2.4/1;object-fit:cover}
.sm-hero .elementor-element-156ae5d{margin-top:32px}
.sm-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 40px}
.sm-project{min-width:0}
.sm-project-link{display:block;color:#fff!important;text-decoration:none}
.sm-project-image{overflow:hidden;background:#111}
.sm-project-image img{display:block;width:100%;height:auto;aspect-ratio:1.55;object-fit:cover;transition:filter .3s}
.sm-project-link:hover .sm-project-image img{filter:brightness(.8)}
.sm-project-caption{position:relative;background:#000;margin:-36px 0 0 8%;padding:24px 24px 0;min-height:94px}
.sm-project-caption h3{font-size:25px;line-height:1.25;letter-spacing:-.025em;margin:0 0 10px}
.sm-project-category{font:400 11px/1.4 Inter,inter,sans-serif;letter-spacing:2px;text-transform:uppercase;color:#bbb}
.sm-project-summary{margin:14px 24px 0 12%;font-size:16px;line-height:1.65;color:#aaa;max-width:440px}
.sm-projects-selected{gap:48px 40px}
.sm-projects-selected .sm-project-image img{aspect-ratio:1.7}
.sm-projects-selected .sm-project-caption h3{font-size:22px}
.sm-process-list{list-style:none;padding:0!important;margin:0!important;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.sm-process-list li{border-top:1px solid #444;padding-top:18px;color:#fff}
.sm-process-list span{display:block;font:400 12px/1.4 Inter,inter,sans-serif;color:#aaa;margin-bottom:14px}
.sm-process-list h3{font-size:23px;line-height:1.3;margin:0}
.sm-process-list p{font-size:15px;line-height:1.6;color:#aaa;margin-top:10px}
.sm-pov{color:#aaa;font-size:17px;line-height:1.7}
.sm-offers .elementor-column>.elementor-widget-wrap{align-content:flex-start}
.sm-discovery-price{font:400 16px/1.6 Inter,inter,sans-serif;color:#aaa}
.sm-partner{border-top:1px solid #333;padding-top:24px;margin-top:24px}
.sm-section .elementor-widget-shortcode:has(.elementor-shortcode:empty){display:none}
.sm-menu-toggle{display:none}
#sm-mobile-menu{background:#000;color:#fff;border:0;max-width:none;max-height:none;width:100%;height:100%;height:100dvh;margin:0;padding:110px 32px 45px;box-sizing:border-box;font-family:Inter,inter,sans-serif}
#sm-mobile-menu::backdrop{background:#000}
#sm-mobile-menu nav{display:flex;flex-direction:column;gap:24px}
#sm-mobile-menu nav a{color:#fff;font-size:36px;line-height:1.3;text-decoration:none}
.sm-menu-close{position:absolute;right:25px;top:24px;background:none;border:0;color:#fff;font-size:40px;line-height:1;padding:8px;cursor:pointer}
.sm-menu-contact{margin-top:64px;padding-top:28px;border-top:1px solid #333}
.sm-menu-contact p{color:#aaa;margin-bottom:16px}
.sm-menu-contact a{display:block;color:#fff;font-size:16px;line-height:1.6;margin-bottom:12px}
@media(max-width:1024px){
 .sm-navigation-ready #masthead .elementor-widget-navigation-menu,.sm-navigation-ready #masthead .elementor-widget-text-editor{display:none!important}
 .sm-navigation-ready #masthead{position:relative;min-height:100px}
 .sm-navigation-ready .sm-menu-toggle{display:flex;flex-direction:column;gap:6px;position:absolute;right:28px;top:32px;width:44px;height:44px;padding:8px;background:#000;border:0;cursor:pointer;color:#fff;z-index:10}
 .sm-menu-toggle span{display:block;width:28px;height:2px;background:#fff}
 .sm-projects{gap:48px 24px}
}
@media(max-width:767px){
 .sm-projects{grid-template-columns:1fr;gap:40px}
 .sm-project-caption{padding:20px 18px 0;margin-top:-28px}
 .sm-project-caption h3{font-size:23px}
 .sm-project-summary{margin-left:calc(8% + 18px);margin-right:0}
 .sm-process-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 20px}
 .sm-process-list h3{font-size:20px}
 .sm-process-list p{font-size:14px}
 body.home .sm-hero .elementor-element-156ae5d .image img{aspect-ratio:1.45}
 .sm-hero .elementor-element-156ae5d{margin-top:18px}
 .sm-navigation-ready #masthead .ce-site-logo img{max-width:210px}
}
@media(prefers-reduced-motion:reduce){
 .sm-project-image img{transition:none}
 .sm-section,.sm-section *{animation:none!important;transition:none!important}
}
/* The theme's wrapper heading rule otherwise wins over shortcode headings. */
#wrapper .sm-project-caption h3,#wrapper .sm-process-list h3,body .sm-project-caption h3,body .sm-process-list h3{color:#fff!important}
/* Home uses the theme's overlay header; reserve its full height at each breakpoint. */
body.home .sm-hero{padding-top:180px!important}
body.home .sm-hero .sm-hero-title h1{font-family:Inter,inter,sans-serif!important;font-size:clamp(42px,5.2vw,76px)!important;line-height:1.12!important}
@media(max-width:1024px){body.home .sm-hero{padding-top:140px!important}}
body.page-id-3134 .sm-flagships{padding-top:180px!important}
@media(max-width:1024px){body.page-id-3134 .sm-flagships{padding-top:140px!important}}
@media(max-width:767px){body.home .cl-scroll-indicator{display:none!important}}
/* Preserve the dark header when the theme switches from mobile back to desktop. */
@media(min-width:1025px){
 #masthead .ce-nav-menu__layout-horizontal,#masthead ul.ce-nav-menu{background:transparent!important}
 #masthead .ce-nav-menu a.ce-menu-item{color:#fff!important}
}

/* Align the founder text row and give the centred CTA its own breathing room. */
body.home .sm-founder .elementor-inner-section > .elementor-container{align-items:flex-start!important}
body.home .sm-founder .elementor-inner-column > .elementor-widget-wrap{align-content:flex-start!important}
body.home .sm-founder .elementor-widget-text-editor p:first-child{margin-top:0!important}
body.home .sm-founder .elementor-widget-button{margin:48px 0 32px!important;width:100%}
@media(max-width:767px){body.home .sm-founder .elementor-widget-button{margin:32px 0 20px!important}}

/* Equal text-to-text gaps across desktop navigation and the contact block. */
@media(min-width:1025px){
 #masthead .elementor-top-section > .elementor-container{column-gap:54px}
 #masthead .elementor-top-column:nth-child(1){flex:1 1 0;min-width:0;width:auto!important}
 #masthead .elementor-top-column:nth-child(2),#masthead .elementor-top-column:nth-child(3){flex:0 0 auto;width:auto!important}
 #masthead .elementor-widget-navigation-menu{width:auto!important}
 #masthead nav > ul.ce-nav-menu{display:flex;gap:54px}
 #masthead nav > ul.ce-nav-menu > li{margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}
 #masthead nav > ul.ce-nav-menu > li > a.ce-menu-item{padding-left:0!important;padding-right:0!important;white-space:nowrap}
 #masthead .elementor-top-column:nth-child(3) p{white-space:nowrap}
 #masthead .ce-site-logo img{max-width:min(100%,400px)}
}

/* Match the contact widget's existing 26px desktop top inset. */
@media(min-width:1025px){
 #masthead .elementor-widget-navigation-menu{position:relative;top:26px}
}

/* Align the About studio-model heading and first paragraph at the top. */
body.page-id-3424 .elementor-element-a220901 > .elementor-container{align-items:flex-start!important}
body.page-id-3424 .elementor-element-a220901 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:flex-start!important}
body.page-id-3424 .elementor-element-a220905 p:first-child{margin-top:0!important}

/* Home hero: bring visual proof closer to the introductory copy. */
body.home .sm-hero .sm-hero-title{margin-bottom:20px!important}
body.home .sm-hero .sm-hero-copy{margin-bottom:0!important}
body.home .sm-hero .sm-hero-copy p{margin-top:0!important;margin-bottom:0!important}
body.home .sm-hero .elementor-element-156ae5d{margin-top:24px!important}
@media(min-width:1025px){body.home .sm-hero{padding-top:160px!important}}
@media(max-width:767px){
 body.home .sm-hero .sm-hero-title{margin-bottom:18px!important}
 body.home .sm-hero .elementor-element-156ae5d{margin-top:24px!important}
}

/* Lighter grey for the Home studio point of view. */
body.home .sm-founder .sm-pov{color:#c4c4c4!important}

/* Match the Home work CTA spacing to the studio CTA. */
body.home .sm-flagships .elementor-widget-button{margin:48px 0 32px!important;width:100%}
@media(max-width:767px){body.home .sm-flagships .elementor-widget-button{margin:32px 0 20px!important}}

/* A quiet point of view within the About biography column. */
body.page-id-3424 .elementor-element-d4eb0e8 p.sm-about-pov{margin-top:32px;font-size:17px;line-height:1.7;color:#c4c4c4;text-align:left}
@media(max-width:767px){body.page-id-3424 .elementor-element-d4eb0e8 p.sm-about-pov{margin-top:26px;font-size:16px}}

/* Balance the 59 Studio mark against the other experience logos. */
body.page-id-3424 #selected-experience .experience-logo-59 img{transform:scale(1.15);transform-origin:center}

/* Hide the embedded top-edge hairline on the Memoirs courtyard photograph. */
body.postid-3952 .elementor-element-0e660f20 img{clip-path:inset(2px 0 0 0)}

/* Hide the embedded grey top edge on the large Memoirs photograph. */
body.postid-3952 .elementor-element-c9a066a4 img{clip-path:inset(3px 0 0 0)}

/* Crop the embedded bottom strip and white bar from the Fanta reaction still. */
body.postid-3943 .elementor-element-bcbdc3cb img{display:block;width:100%;height:auto!important;aspect-ratio:2048 / 1110;object-fit:cover;object-position:center top;transform:none!important}

/* Hide the white strip embedded in the top of the GNR animation still. */
body.postid-3965 .elementor-element-953e38de img{clip-path:inset(1% 0 0 0)}

/* Hide the thin line embedded in the bottom edge of the LIV stage still. */
body.postid-3946 .elementor-element-ca7d79d6 img{clip-path:inset(0 0 3px 0)}

/* Local cinematic opener test: persistent editorial copy over the existing slider. */
body.home .sm-hero.sm-cinematic{padding:0!important;position:relative;isolation:isolate;background:#000}
body.home .sm-cinematic > .elementor-container{max-width:none!important;width:100%}
body.home .sm-cinematic > .elementor-container > .elementor-column > .elementor-widget-wrap{position:relative;min-height:100svh;box-sizing:border-box;padding:220px max(80px,calc((100vw - 1320px)/2)) 100px!important;display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:flex-end;align-content:flex-start}
body.home .sm-cinematic .sm-hero-title,body.home .sm-cinematic .sm-hero-copy{position:relative;z-index:2;pointer-events:none;width:100%}
body.home .sm-cinematic .sm-hero-title{max-width:1120px;margin-bottom:28px!important}
body.home .sm-cinematic .sm-hero-title h1{font-size:clamp(54px,6.1vw,88px)!important;line-height:1.06!important;letter-spacing:-.035em;text-shadow:0 2px 24px #0003}
body.home .sm-cinematic .sm-hero-copy{max-width:800px;color:#fff}
body.home .sm-cinematic .sm-hero-copy p{color:#fff}
body.home .sm-cinematic .elementor-element-156ae5d{position:absolute!important;inset:0;z-index:0;width:100%;height:100%;margin:0!important;overflow:hidden}
body.home .sm-cinematic .elementor-element-156ae5d > .elementor-widget-container,body.home .sm-cinematic .ce-beas-slider,body.home .sm-cinematic .slider-wrapper,body.home .sm-cinematic .cl-slide,body.home .sm-cinematic .slide-wrapper,body.home .sm-cinematic .image{height:100%!important;width:100%}
body.home .sm-cinematic .elementor-element-156ae5d .image img{display:block;width:100%;height:100%!important;aspect-ratio:auto!important;object-fit:cover;object-position:center}
body.home .sm-cinematic .elementor-element-156ae5d::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.66) 0%,rgba(0,0,0,.12) 32%,rgba(0,0,0,.62) 100%),linear-gradient(90deg,rgba(0,0,0,.38),transparent 85%)}
body.home .sm-ground-zero .sm-early-cta{margin-top:8px}
body.home .sm-ground-zero .sm-early-contact{display:inline-block;color:#fff;font:400 18px/1.5 Inter,inter,sans-serif;text-decoration:none;border-bottom:1px solid #777;padding:0 0 5px}
body.home .sm-ground-zero .sm-early-contact:hover{border-color:#fff}
@media(max-width:1024px){
 .sm-navigation-ready body.home #masthead{position:absolute!important;top:0;left:0;width:100%;z-index:100}
 body.home .sm-cinematic > .elementor-container > .elementor-column > .elementor-widget-wrap{padding:180px 64px 80px!important}
}
@media(max-width:767px){
 body.home .sm-cinematic > .elementor-container > .elementor-column > .elementor-widget-wrap{min-height:100svh;padding:150px 24px 64px!important}
 body.home .sm-cinematic .sm-hero-title{margin-bottom:24px!important}
 body.home .sm-cinematic .sm-hero-title h1{font-size:clamp(38px,10.7vw,56px)!important;line-height:1.08!important}
 body.home .sm-cinematic .sm-hero-copy p{font-size:18px;line-height:1.55}
 body.home .sm-cinematic .elementor-element-156ae5d::after{background:linear-gradient(180deg,rgba(0,0,0,.6),rgba(0,0,0,.25) 25%,rgba(0,0,0,.72) 65%,rgba(0,0,0,.82))}
 body.home .sm-cinematic .swiper-slide[data-swiper-slide-index="1"] img{object-position:42% center}
 body.home .sm-cinematic .swiper-slide[data-swiper-slide-index="2"] img{object-position:55% center}
}

/* Let only the opening section span the theme’s outer gutters. */
body.home .sm-hero.sm-cinematic{width:calc(100% + 30px);margin-left:-15px!important;margin-right:-15px!important}
body.home .sm-cinematic .elementor-element-156ae5d::after{z-index:5}

/* Opener refinement: consistent seed-section grid and shared CTA emphasis. */
body.home .sm-ground-zero{width:calc(100% + 30px);margin-left:-15px!important;margin-right:-15px!important;padding-left:max(80px,calc((100vw - 1320px)/2))!important;padding-right:max(80px,calc((100vw - 1320px)/2))!important}
body.home .sm-ground-zero > .elementor-container{max-width:none!important;align-items:flex-start}
body.home .sm-ground-zero .elementor-widget-text-editor p:first-child{margin-top:0}
body .elementor-widget-button .elementor-button,body .elementor-widget-button .elementor-button-text{font-weight:600!important}
body.home .cl-scroll-indicator .text{color:#fff;text-shadow:0 1px 5px #000}
body.home .cl-scroll-indicator svg{filter:drop-shadow(0 1px 3px #000);animation:sm-scroll-nudge 2.6s ease-in-out infinite}
@keyframes sm-scroll-nudge{0%,100%{transform:translateY(0)}55%{transform:translateY(5px)}}
@media(prefers-reduced-motion:reduce){body.home .cl-scroll-indicator svg{animation:none}}
@media(max-width:1024px){body.home .sm-ground-zero{padding-left:64px!important;padding-right:64px!important}}
@media(max-width:767px){body.home .sm-ground-zero{padding-left:24px!important;padding-right:24px!important}}

/* Centre the early contact action with the same breathing room as the other CTAs. */
body.home .sm-ground-zero .elementor-inner-section > .elementor-container{max-width:none;align-items:flex-start}
body.home .sm-ground-zero .elementor-widget-button{margin:48px 0 32px!important;width:100%}
@media(max-width:767px){body.home .sm-ground-zero .elementor-widget-button{margin:32px 0 20px!important}}

/* Respect the restored testimonial module’s compact mobile typography. */
@media(max-width:767px){body.home .sm-testimonials .ce-testimonial-item .text{font-size:20px!important;line-height:1.4!important}}

/* One restrained social-proof section, with existing carousel and logo assets. */
body.home .sm-social-proof .ce-testimonial-style-beas .content{padding-left:0}
body.home .sm-social-proof .ce-testimonial-style-beas .content > svg{display:none}
body.home .sm-social-proof .ce-testimonial-style-beas .text{padding-bottom:24px;font-size:26px;line-height:1.45}
body.home .sm-social-proof .ce-testimonial-style-beas .data{border:0!important;padding-top:0;padding-right:80px;font-size:16px;line-height:1.6}
body.home .sm-social-proof .ce-testimonial-style-beas .position{color:#aaa}
body.home .sm-social-proof .ce-testimonial-carousel-controls{top:4px;right:0}
body.home .sm-social-proof .ce-testimonial-carousel-controls a{padding:8px;color:#aaa}
body.home .sm-social-proof .ce-testimonial-carousel-controls a:hover{color:#fff}
body.home .sm-social-proof .ce-testimonial-carousel-controls i{font-size:19px}
body.home .sm-social-proof .experience-logo-row{margin-top:24px!important}
body.home .sm-social-proof .experience-logo-row > .elementor-container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px}
body.home .sm-social-proof .experience-logo-row .elementor-column{width:100%!important;min-width:0}
body.home .sm-social-proof .experience-logo{height:52px;display:flex;align-items:center;justify-content:center;margin:0!important}
body.home .sm-social-proof .experience-logo .elementor-widget-container{width:100%}
body.home .sm-social-proof .experience-logo img{max-width:100%;max-height:42px;object-fit:contain;filter:brightness(0) invert(1);opacity:.85}
body.home .sm-social-proof .experience-logo-59 img{width:54px}
body.home .sm-social-proof .experience-logo-nexus img,body.home .sm-social-proof .experience-logo-scene img{width:44px}
body.home .sm-social-proof .elementor-widget-text-editor p{margin:0}
@media(max-width:767px){
 body.home .sm-social-proof .experience-logo-row > .elementor-container{gap:10px 16px}
 body.home .sm-social-proof .experience-logo{height:44px}
 body.home .sm-social-proof .experience-logo img{max-height:34px}
 body.home .sm-social-proof .experience-logo-59 img{width:44px}
 body.home .sm-social-proof .experience-logo-nexus img,body.home .sm-social-proof .experience-logo-scene img{width:36px}
}

/* Single editorial testimonial, aligned to the main content grid. */
body.home .sm-testimonial-editorial{padding-top:90px!important;padding-bottom:70px!important}
body.home .sm-testimonial-editorial .elementor-widget-ce-testimonial-carousel{width:67%;max-width:100%;margin:0!important}
body.home .sm-testimonial-editorial .ce-testimonial-style-beas .text{font-size:28px;line-height:1.5;padding-bottom:28px}
@media(max-width:1024px){body.home .sm-testimonial-editorial .elementor-widget-ce-testimonial-carousel{width:85%}}
@media(max-width:767px){
 body.home .sm-testimonial-editorial{padding-top:48px!important;padding-bottom:40px!important}
 body.home .sm-testimonial-editorial .elementor-widget-ce-testimonial-carousel{width:100%}
 body.home .sm-testimonial-editorial .ce-testimonial-style-beas .text{padding-bottom:24px}
}

/* Full content width for the Home testimonial at every breakpoint. */
body.home .sm-testimonial-editorial .elementor-widget-ce-testimonial-carousel{width:100%}

/* Place testimonial navigation below the attribution. */
body.home .sm-testimonial-editorial .ce-testimonial-style-beas .data{padding-right:0}
body.home .sm-testimonial-editorial .ce-testimonial-carousel-controls{position:static;margin-top:16px;display:flex;justify-content:flex-start;gap:16px}
body.home .sm-testimonial-editorial .ce-testimonial-carousel-controls a{display:inline-flex;align-items:center;justify-content:center;padding:8px 0;min-width:24px}

/* Home and Works: restrained, accessible full-card interaction. */
body:is(.home,.page-id-3134) .sm-project-link { cursor:pointer; }
body.page-id-3134 .sm-project-link { height:100%; }
body.home .sm-project-link { height:auto; }
body:is(.home,.page-id-3134) .sm-project-image { overflow:hidden; }
body:is(.home,.page-id-3134) .sm-project-image img { transition:transform 300ms ease,filter 300ms ease; }
body:is(.home,.page-id-3134) .sm-project-link:hover .sm-project-image img { filter:brightness(1); }
body:is(.home,.page-id-3134) .sm-project-caption h3 { text-decoration:underline; text-decoration-color:transparent; text-decoration-thickness:1px; text-underline-offset:5px; transition:text-decoration-color 300ms ease; }
@media (hover:hover) and (pointer:fine) {
 body:is(.home,.page-id-3134) .sm-project-link:hover .sm-project-image img { transform:scale(1.02); filter:brightness(.96); }
 body:is(.home,.page-id-3134) .sm-project-link:hover h3 { text-decoration-color:currentColor; }
}
body:is(.home,.page-id-3134) .sm-project-link:focus-visible h3 { text-decoration-color:currentColor; }
@media (prefers-reduced-motion:reduce) {
 body:is(.home,.page-id-3134) .sm-project-image img,body:is(.home,.page-id-3134) .sm-project-caption h3 { transition:none; }
 body:is(.home,.page-id-3134) .sm-project-link:hover .sm-project-image img { transform:none; }
}

/* Align Selected experience logos to the editorial column edges. */
body.page-id-3424 #selected-experience .experience-logo{justify-content:flex-start;padding-left:0;text-align:left}
body.page-id-3424 #selected-experience .experience-logo .elementor-widget-container{text-align:left}
body.page-id-3424 #selected-experience .experience-logo-59 img{transform-origin:left center}

/* Header links: restrained underline on hover and keyboard focus. */
#masthead a.ce-menu-item:is(:hover,:focus-visible),
#masthead a[href^="mailto:"]:is(:hover,:focus-visible),
#masthead a[href^="tel:"]:is(:hover,:focus-visible){text-decoration-line:underline!important;text-decoration-thickness:1px!important;text-underline-offset:.22em;text-decoration-skip-ink:auto}

/* Keep footer link interactions monochrome. */
#colophon a:is(:hover,:focus-visible){color:#000!important;text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:.2em;text-decoration-color:currentColor!important}

/* Right-side social links: restrained underline. */
#menu-footer-socials a:is(:hover,:focus-visible){text-decoration-line:underline!important;text-decoration-thickness:1px!important;text-underline-offset:.22em;text-decoration-skip-ink:auto}

/* Homepage logo ticker: full white opacity. */
body.home .sm-ticker-logo img{opacity:1!important}
