/* Site wide UX, accessibility and responsive enhancements */

/* Personal text brand only. No visible logo mark. */
.logo-dot{display:none!important}
.nav-logo,.footer-logo{font-size:1.18rem!important;gap:0!important;letter-spacing:-.025em!important;line-height:1!important}
.nav-logo::before,.nav-logo::after,.footer-logo::before,.footer-logo::after{display:none!important;content:none!important}
.nav-logo{font-family:var(--serif,Georgia,serif)!important;font-weight:560!important;color:var(--ink,#102331)!important}
.footer-logo{font-family:var(--serif,Georgia,serif)!important;font-weight:560!important;color:#fff!important}

/* Editorial headings stay readable on wide screens instead of turning into poster-sized blocks. */
.page-hero h1,.case-hero-authentic h1{font-size:clamp(2.35rem,4.2vw,3.55rem)!important;line-height:1.04!important;letter-spacing:-.022em!important}
.page-hero h1{max-width:820px!important}
.case-hero-authentic h1{max-width:760px!important}
h1.long-title{font-size:clamp(2.15rem,3.7vw,3.25rem)!important;max-width:800px!important}

/* Strong keyboard and touch behaviour. */
a,button,input,select,textarea,summary{touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #55c8a6!important;outline-offset:3px!important}
.btn,.nav-links a,.hero-analyst-links a,.project-link,.text-link,.menu-button{min-height:44px}
.project-link,.text-link{display:inline-flex;align-items:center}

/* Softer motion and clearer interaction without visual noise. */
.energy-case-card,.pricing-card,.engagement-card,.project-case,.sample-card,.case-index-card,.experience-visual-card{transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.energy-case-card:hover,.pricing-card:hover,.engagement-card:hover,.project-case:hover,.sample-card:hover,.case-index-card:hover,.experience-visual-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(7,31,53,.12)}
.energy-case-media img,.services-hero-media img,.experience-visual-card img{transition:transform .45s ease}
.energy-case-card:hover .energy-case-media img,.services-hero-media:hover img,.experience-visual-card:hover img{transform:scale(1.025)}

/* Scroll progress gives long case pages a quiet live state. */
.site-progress{position:fixed;z-index:9999;top:0;left:0;width:100%;height:3px;pointer-events:none;background:transparent}
.site-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,#1e5f91,#149a72);transform-origin:left center}

/* Mobile action bar. Hidden on desktop and on form/resume pages by JS. */
.mobile-action-bar{display:none}

/* Regional experience visual system. */
.regional-hero{position:relative;overflow:hidden;background:#071f35!important;border-bottom:0!important}
.regional-hero .case-hero-media{position:absolute;inset:0;z-index:0}
.regional-hero .case-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.regional-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(7,31,53,.97) 0%,rgba(7,31,53,.84) 52%,rgba(7,31,53,.48) 100%)}
.regional-hero>.container{position:relative;z-index:2}
.regional-hero .case-label{color:#55c8a6!important}
.regional-hero h1{color:#fff!important;max-width:920px!important}
.regional-hero .case-deck{color:#d9e6ec!important;max-width:850px!important}

.experience-visual-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:30px}
.experience-visual-card{position:relative;display:block;min-height:270px;overflow:hidden;border:1px solid #d4e3de;border-radius:12px;background:#0b2a47;color:#fff;text-decoration:none;box-shadow:0 12px 32px rgba(7,31,53,.10)}
.experience-visual-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.experience-visual-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,31,53,.92) 0%,rgba(7,31,53,.42) 58%,rgba(7,31,53,.08) 100%)}
.experience-visual-copy{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:20px}
.experience-visual-copy span{display:inline-flex;margin-bottom:9px;padding:6px 9px;border:1px solid rgba(85,200,166,.38);border-radius:999px;background:rgba(20,154,114,.18);color:#dffaf0;font:700 11px/1 Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.experience-visual-copy h2{margin:0 0 6px;color:#fff;font-size:1.35rem;line-height:1.1}
.experience-visual-copy p{margin:0;color:#d8e5ea;font-size:.9rem;line-height:1.45}

/* Repair legacy pill text if it appears on any older page. */
.case-meta-line span{color:#102331!important;background:rgba(255,255,255,.94)!important;border-color:rgba(16,35,49,.18)!important}

/* Improve long tables and reading widths on small screens. */
.judgement-table{max-width:100%}
.prose p,.case-story p,.hero-lede{overflow-wrap:anywhere}

/* Lower rendering cost below the fold while keeping anchor navigation stable. */
@supports(content-visibility:auto){main>.section:nth-of-type(n+2){content-visibility:auto;contain-intrinsic-size:1px 760px}}

@media(max-width:1050px){
  .experience-visual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){
  .page-hero h1,.case-hero-authentic h1,h1.long-title{font-size:clamp(2rem,9.5vw,2.75rem)!important}
  body.has-mobile-actions{padding-bottom:76px}
  .mobile-action-bar{position:fixed;z-index:9998;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px;border:1px solid rgba(212,227,222,.95);border-radius:14px;background:rgba(247,250,248,.94);box-shadow:0 14px 38px rgba(7,31,53,.18);backdrop-filter:blur(14px)}
  .mobile-action-bar a{min-height:46px;display:flex;align-items:center;justify-content:center;border-radius:9px;text-decoration:none;font:700 14px/1 Inter,sans-serif}
  .mobile-action-bar a:first-child{border:1px solid #1e5f91;color:#1e5f91;background:#fff}
  .mobile-action-bar a:last-child{border:1px solid #149a72;color:#fff;background:#149a72}
  .experience-visual-grid{grid-template-columns:1fr;gap:14px}
  .experience-visual-card{min-height:230px}
  .regional-hero::after{background:linear-gradient(180deg,rgba(7,31,53,.78),rgba(7,31,53,.96))}
  .judgement-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:normal}
  .nav-links a,.menu-button{min-height:48px}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .energy-case-card:hover,.pricing-card:hover,.engagement-card:hover,.project-case:hover,.sample-card:hover,.case-index-card:hover,.experience-visual-card:hover{transform:none}
  .energy-case-card:hover .energy-case-media img,.services-hero-media:hover img,.experience-visual-card:hover img{transform:none}
}
