/* Samfoundation Cinematic — Phase 12.1 Mobile Polish */

/* Strong, readable hierarchy on dark surfaces */
.sam-dark-section .sam-title,
.sam-dark-section .sam-section-head h2,
.sam-launch-section .sam-title,
.sam-testimonial-section .sam-title,
.sam-home #team .sam-title,
.sam-home #team .sam-section-head h2,
.sam-p12-section.is-dark h1,
.sam-p12-section.is-dark h2,
.sam-p12-section.is-dark h3,
.sam-p12-final h1,
.sam-p12-final h2,
.sam-p12-final h3,
.sam-p12-system-page h1,
.sam-p12-system-page h2,
.sam-p12-system-page h3,
.sam-p12-system-hero h1,
.sam-p12-system-hero h2,
.sam-p12-system-hero h3{color:#f7f8fb!important}

.sam-dark-section .sam-copy,
.sam-dark-section .sam-section-head p,
.sam-launch-section p,
.sam-testimonial-section p,
.sam-home #team .sam-copy,
.sam-p12-section.is-dark p,
.sam-p12-final p,
.sam-p12-system-page p{color:rgba(245,247,251,.7)!important}

/* Keep the two homepage editorial sections intentionally dark and fully readable. */
.sam-home #solutions,
.sam-home .sam-blog-section{background:#050608;color:#fff}
.sam-home #solutions .sam-title,
.sam-home #solutions .sam-section-head h2,
.sam-home .sam-blog-section .sam-title,
.sam-home .sam-blog-section .sam-section-head h2{color:#fff!important}
.sam-home #solutions .sam-copy,
.sam-home #solutions .sam-section-head p,
.sam-home .sam-blog-section .sam-copy,
.sam-home .sam-blog-section .sam-section-head p{color:rgba(245,247,251,.68)!important}

/* Give the specialist section a coherent dark editorial treatment. */
.sam-home #team{background:#0b0d12;color:#fff}
.sam-home #team:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 88% 12%,rgba(255,177,22,.12),transparent 28%),linear-gradient(120deg,rgba(255,255,255,.025),transparent 42%)}
.sam-home #team>.sam-container{position:relative;z-index:1}
.sam-home #team .sam-team-card{background:#14171f;border-color:rgba(255,255,255,.1);box-shadow:0 22px 52px rgba(0,0,0,.28)}
.sam-home #team .sam-team-card h3{color:#fff}
.sam-home #team .sam-team-card p{color:rgba(255,255,255,.62)}

/* Image-led service cards */
.sam-service-card-visual{display:grid;grid-template-rows:180px 1fr;min-height:485px;padding:0}
.sam-service-media{position:relative;display:block;overflow:hidden;background:#171a20}
.sam-service-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(12,14,19,.64))}
.sam-service-media img{width:100%;height:100%;object-fit:cover;filter:grayscale(78%) contrast(1.06);transition:transform .7s ease,filter .45s ease}
.sam-service-card-visual:hover .sam-service-media img{transform:scale(1.055);filter:grayscale(30%)}
.sam-service-card-body{position:relative;display:flex;flex-direction:column;padding:25px 24px 27px}
.sam-service-card-body .sam-service-icon{position:absolute;right:21px;top:-35px;z-index:2;margin:0;background:#11141a;border-color:rgba(255,177,22,.48);box-shadow:0 14px 30px rgba(0,0,0,.28)}
.sam-service-card-body .sam-card-no{top:17px;right:auto;left:24px}
.sam-service-card-body h3{margin-top:46px;font-size:1.65rem}
.sam-service-card-body .sam-text-link{margin-top:auto;padding-top:22px}

/* Image-led package cards */
.sam-package-card-visual{display:flex;flex-direction:column;padding:0}
.sam-package-media{position:relative;height:185px;margin:0;overflow:hidden;background:#e6e6e6}
.sam-package-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,14,19,.03),rgba(13,14,19,.3))}
.sam-package-media img{width:100%;height:100%;object-fit:cover;filter:grayscale(80%);transition:transform .7s ease,filter .45s ease}
.sam-package-card-visual:hover .sam-package-media img{transform:scale(1.05);filter:grayscale(25%)}
.sam-package-card-body{display:flex;flex:1;flex-direction:column;padding:25px 24px 27px}
.sam-package-card-body ul{flex:1}
.sam-package-card-visual .sam-package-badge{z-index:2}

/* Compact footer is mobile-only. */
.sam-footer-mobile{display:none}

@media(max-width:900px){
  .sam-nav-shell{max-height:calc(100svh - 78px);overflow-y:auto;overscroll-behavior:contain}
  .sam-nav-shell.is-open{animation:samP121MenuIn .22s ease both}
  .sam-menu a{min-height:44px;display:flex;align-items:center}
  .sam-section-head{align-items:flex-start;flex-direction:column}
  .sam-section-head>div{width:100%}
  .sam-section-head .sam-copy{max-width:60ch}
  .sam-service-grid,.sam-package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:700px){
  html{scroll-padding-top:76px}
  body{font-size:15px}
  .sam-container{width:calc(100% - 28px)}
  .sam-section,.sam-p12-section{padding:68px 0}
  .sam-section-head,.sam-center-head{margin-bottom:30px;text-align:left}
  .sam-center-head .sam-kicker{justify-content:flex-start}
  .sam-title,.sam-p12-section-head h2,.sam-p12-split h2{font-size:clamp(2.55rem,12.2vw,3.75rem);line-height:.9;letter-spacing:-.01em}
  .sam-kicker,.sam-p12-eyebrow{font-size:.72rem;letter-spacing:.13em}
  .sam-copy,.sam-section-head p{font-size:.93rem;line-height:1.75}

  /* Header and navigation */
  .sam-header-inner{min-height:70px}
  .sam-header-v8 .sam-container{width:calc(100% - 20px)}
  .sam-header-v8 .sam-logo-mark{width:40px;height:40px;flex-basis:40px}
  .sam-header-v8 .sam-brand-copy{max-width:180px}
  .sam-header-v8 .sam-brand-copy strong{font-size:.9rem}
  .sam-menu-toggle{width:42px;height:42px;padding:10px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.035)}
  .sam-nav-shell{padding:8px 16px 18px;border-radius:0 0 18px 18px}
  .sam-menu{gap:1px}
  .sam-menu a{padding:11px 3px;font-size:.82rem}

  /* Mobile header must become fixed after the scroll threshold, even when the desktop option is disabled. */
  .sam-header-v8.is-stuck,
  .sam-sticky-enabled .sam-header-v8.is-stuck{position:fixed!important;z-index:1000;left:0;right:0;top:0!important;width:100%;background:rgba(8,9,13,.97)!important;box-shadow:0 12px 30px rgba(0,0,0,.32);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);animation:samHeaderIn .28s ease both}
  /* WordPress keeps the admin-bar body class even when its mobile toolbar is hidden; never leave a phantom gap above the sticky header. */
  body.admin-bar .sam-header-v8.is-stuck{top:0!important}

  /* Hero */
  .sam-hero,.sam-hero-content{min-height:100svh}
  .sam-hero-content{padding-top:108px;padding-bottom:118px}
  .sam-hero-copy{max-width:none}
  .sam-hero-copy h1{max-width:8.3ch;font-size:clamp(3.45rem,16.5vw,5.25rem);line-height:.84}
  .sam-hero-copy p{max-width:34ch;font-size:.94rem;line-height:1.75}
  .sam-hero-actions{display:grid;grid-template-columns:1fr;max-width:330px}
  .sam-hero-actions .sam-btn{width:100%}
  .sam-pills{gap:7px}
  .sam-pills span{padding:7px 9px;font-size:.61rem}
  .sam-hero-controls{bottom:22px}
  .sam-hero-arrows{display:none}
  .sam-hero-dots{width:100%;justify-content:flex-start}
  .sam-hero-dots button{width:24px}
  .sam-hero-dots button.is-active{width:45px}

  /* Cards and additional imagery */
  .sam-service-grid,.sam-package-grid,.sam-solution-grid,.sam-team-grid,.sam-project-grid,.sam-post-grid{grid-template-columns:1fr;gap:16px}
  .sam-service-card-visual{grid-template-rows:168px 1fr;min-height:450px;border-radius:18px}
  .sam-service-card-body{padding:23px 21px 24px}
  .sam-service-card-body .sam-card-no{left:21px}
  .sam-service-card-body .sam-service-icon{right:18px}
  .sam-service-media img,.sam-package-media img,.sam-solution-card>img,.sam-team-card>img,.sam-project-card img{filter:grayscale(28%) contrast(1.02)}
  .sam-service-card-body h3{font-size:1.58rem}
  .sam-package-card-visual,.sam-solution-card,.sam-team-card,.sam-post-card{border-radius:18px}
  .sam-package-media{height:170px}
  .sam-package-card-body{padding:22px 20px 24px}
  .sam-package-card h3{font-size:1.72rem}
  .sam-solution-card>img{height:220px}
  .sam-team-card>img{height:300px}
  .sam-project-card{aspect-ratio:1/1.04;border-radius:18px}
  .sam-post-card>img,.sam-post-card>a>img{height:220px}

  /* Media sections */
  .sam-about-media{min-height:440px;padding-top:15px}
  .sam-about-main{margin-left:22px;width:80%;border-radius:16px}
  .sam-about-small{left:0;width:68%;border-radius:14px}
  .sam-year-badge{top:102px;width:86px;height:86px}
  .sam-experience-card{min-height:420px;border-radius:18px}
  .sam-experience-circle{width:230px;margin-top:-36px;padding:32px 28px}
  .sam-platform-grid{margin-top:50px;gap:30px}
  .sam-inline-photo{width:100%;height:175px;margin-top:20px;border-radius:15px;filter:grayscale(30%)}
  .sam-launch-media{min-height:390px;border-radius:18px}
  .sam-testimonial-section{min-height:540px}

  /* Compact controls */
  .sam-filter{flex-wrap:nowrap;gap:18px;margin-inline:-14px;padding:0 14px 8px;overflow-x:auto;scrollbar-width:none}
  .sam-filter::-webkit-scrollbar{display:none}
  .sam-filter button{flex:0 0 auto;min-height:40px}
  .sam-stats{padding:50px 0}
  .sam-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 12px}
  .sam-stat strong{font-size:2.8rem}
  .sam-mini-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .sam-mini-stats>div{padding:14px 10px}
  .sam-mini-stats strong{font-size:1.15rem}
  .sam-mini-stats span{font-size:.7rem}
  .sam-accordion-item{border-radius:14px}
  .sam-accordion-item>button{min-height:58px;padding:17px 18px}
  .sam-accordion-body>div{padding:0 18px 19px}

  /* Phase 12 production pages */
  .sam-p12-hero{padding:118px 0 62px}
  .sam-p12-hero h1{font-size:clamp(3.35rem,16.5vw,5.3rem);line-height:.84}
  .sam-p12-actions{display:grid;grid-template-columns:1fr}
  .sam-p12-actions .sam-btn{width:100%}
  .sam-p12-hero-card,.sam-p12-tabpanel,.sam-p12-search-panel,.sam-p12-editorial-card{border-radius:18px}
  .sam-p12-card{min-height:0;border-radius:18px}
  .sam-p12-split-media{min-height:390px}
  .sam-p12-split-media>img{border-radius:17px}
  .sam-p12-process{border-radius:18px}

  /* Truly minimal mobile footer */
  .sam-footer-cta{padding:22px 0}
  .sam-footer-cta-inner{gap:15px}
  .sam-footer-cta h2{font-size:1.85rem;line-height:.95}
  .sam-footer-cta .sam-btn{width:100%;min-height:46px}
  .sam-footer-main{padding:24px 0 14px}
  .sam-footer-main:before{display:none}
  .sam-footer-grid{display:none!important}
  .sam-footer-mobile{display:grid;gap:16px}
  .sam-footer-mobile-brand{display:flex;align-items:center;gap:10px;color:#fff}
  .sam-footer-mobile-brand .sam-logo-mark{width:34px;height:34px;flex-basis:34px}
  .sam-footer-mobile-brand strong{font-family:"Barlow Condensed",Impact,sans-serif;font-size:.94rem;letter-spacing:.055em;text-transform:uppercase}
  .sam-footer-mobile-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
  .sam-footer-mobile-links a{display:grid;place-items:center;min-height:38px;padding:7px 4px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:rgba(255,255,255,.025);color:rgba(255,255,255,.7);font-size:.68rem;text-transform:uppercase}
  .sam-footer-mobile-email{color:rgba(255,255,255,.62);font-size:.76rem;word-break:break-word}
  .sam-footer-bottom{display:grid;grid-template-columns:1fr;gap:8px;margin-top:17px;padding-top:14px;font-size:.67rem}
  .sam-legal-menu{order:2;display:flex;gap:12px;overflow-x:auto;padding-bottom:2px;white-space:nowrap;scrollbar-width:none}
  .sam-legal-menu::-webkit-scrollbar{display:none}
  .sam-back-top{right:auto;left:14px;bottom:14px;width:42px;height:42px}
}

@media(max-width:380px){
  .sam-container{width:calc(100% - 20px)}
  .sam-title,.sam-p12-section-head h2,.sam-p12-split h2{font-size:2.45rem}
  .sam-footer-mobile-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sam-mini-stats{grid-template-columns:1fr}
}

@keyframes samP121MenuIn{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}

/* Phase 24: compact footer contact block. */
@media(max-width:860px){.sam-footer-mobile-contact{display:flex;flex-wrap:wrap;gap:8px 16px}.sam-footer-mobile-phone{color:rgba(255,255,255,.82);font-size:.76rem;white-space:nowrap}}
