/*
Theme Name:   Astra Child – SoftHouse
Theme URI:    https://wpastra.com/
Description:  Child theme of Astra for a software-house website. Design system, hero slider, sticky transparent header, footer and one-click page/Elementor content setup.
Author:       Your Company
Template:     astra
Version:      1.0.0
Text Domain:  astra-child-softhouse
*/

/* ==========================================================================
   1. DESIGN TOKENS  (change colours/font here – one place)
   ========================================================================== */
:root{
  --sh-navy:#0A1020; --sh-navy-2:#101A33; --sh-indigo:#1B2A4A;
  --sh-accent:#FFB400; --sh-accent-2:#FFC93D; --sh-cyan:#22D3EE; --sh-violet:#818CF8;
  --sh-bg:#F6F7FB; --sh-white:#fff; --sh-text:#0F172A; --sh-muted:#5B6579; --sh-line:#E3E7F0;
  --sh-radius:18px; --sh-radius-sm:12px;
  --sh-shadow:0 10px 30px rgba(10,16,32,.08); --sh-shadow-lg:0 22px 50px rgba(10,16,32,.16);
  --sh-font:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --sh-header-h:84px;
}

/* ==========================================================================
   2. ONE FONT EVERYWHERE (icon fonts are intentionally NOT touched)
   ========================================================================== */
html{scroll-behavior:smooth}
body,h1,h2,h3,h4,h5,h6,p,a,li,span,button,input,textarea,select,label,
.elementor-widget-container,.elementor-heading-title,.elementor-button,
.main-header-menu a,.site-title,.ast-builder-menu .menu-link{font-family:var(--sh-font)!important}
body{color:var(--sh-text);background:#fff;-webkit-font-smoothing:antialiased}
.elementor-heading-title{letter-spacing:-.02em;line-height:1.12}
img{max-width:100%;height:auto}
.ast-container,.site-content .ast-container{max-width:none;padding:0}
.entry-content>.elementor{margin:0}
.ast-separate-container .ast-article-single:not(.ast-related-post){padding:0;background:transparent}
.ast-page-builder-template .site-content>.ast-container{padding:0}
#primary{margin:0;padding:0}

/* ==========================================================================
   3. STICKY TRANSPARENT HEADER  (works with/without Astra's own settings)
   ========================================================================== */
#masthead,.site-header{position:fixed!important;top:0;left:0;right:0;width:100%;z-index:999;background:transparent!important;transition:background .3s ease,box-shadow .3s ease}
.admin-bar #masthead{top:32px}
@media(max-width:782px){.admin-bar #masthead{top:46px}}
#masthead .main-header-bar,#masthead .ast-primary-header-bar,#masthead .ast-main-header-bar-alignment{background:transparent!important;border:0!important;box-shadow:none!important;transition:background .3s ease,backdrop-filter .3s ease}
#masthead .ast-primary-header-bar,#masthead .main-header-bar{min-height:var(--sh-header-h)}
body.sh-scrolled #masthead .main-header-bar,body.sh-scrolled #masthead .ast-primary-header-bar{background:rgba(10,16,32,.88)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 8px 28px rgba(0,0,0,.25)!important}
#masthead .site-title a,#masthead .site-title a:hover{color:#fff;font-weight:800;font-size:1.45rem;letter-spacing:-.02em;display:inline-flex;align-items:center;gap:.55rem}
#masthead .site-title a::before{content:"";width:34px;height:34px;border-radius:10px;background:var(--sh-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A1020' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 7l-5 5 5 5M16 7l5 5-5 5'/%3E%3C/svg%3E") center/62% no-repeat}
#masthead .site-description{display:none}
#masthead .main-header-menu>.menu-item>.menu-link,#masthead .ast-builder-menu .menu-link{color:#fff;font-weight:600;font-size:.95rem;padding:0 .95rem;transition:color .2s}
#masthead .main-header-menu>.menu-item:hover>.menu-link,#masthead .main-header-menu>.current-menu-item>.menu-link,#masthead .main-header-menu>.current-menu-ancestor>.menu-link{color:var(--sh-accent)}
#masthead .main-header-menu>.menu-item.sh-cta>.menu-link{background:var(--sh-accent);color:var(--sh-navy)!important;border-radius:999px;padding:.7rem 1.35rem;line-height:1.1;margin-left:.6rem;font-weight:700;transition:transform .2s,box-shadow .2s}
#masthead .main-header-menu>.menu-item.sh-cta>.menu-link:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(255,180,0,.35)}
#masthead .sub-menu{background:var(--sh-navy-2);border:1px solid #243459;border-radius:14px;box-shadow:var(--sh-shadow-lg);padding:.5rem;min-width:260px}
#masthead .sub-menu .menu-link{color:#E5E9F5;border:0;border-radius:10px;padding:.65rem .9rem;font-weight:500}
#masthead .sub-menu .menu-item:hover>.menu-link{background:#1B2A4A;color:var(--sh-accent)}
/* mobile header / menu */
#masthead .menu-toggle,#masthead .ast-button-wrap .menu-toggle,#masthead .ast-mobile-menu-trigger-minimal{color:#fff}
#masthead .ast-mobile-svg{fill:#fff}
.ast-mobile-header-content,.ast-header-break-point .main-header-menu,.ast-header-break-point .ast-mobile-header-content{background:var(--sh-navy)!important}
.ast-header-break-point .main-header-menu .menu-link{color:#fff;border-color:#1f2c4d}
.ast-header-break-point .main-header-menu>.menu-item.sh-cta>.menu-link{display:inline-block;margin:1rem}
.ast-header-break-point #masthead .main-header-bar-navigation{max-height:calc(100svh - var(--sh-header-h));overflow:auto}

/* ==========================================================================
   4. SECTIONS & TYPOGRAPHY HELPERS (classes are set on Elementor containers)
   ========================================================================== */
.sh-sec{padding:clamp(56px,8vw,110px) 24px}
.sh-sec--light{background:var(--sh-bg)}
.sh-sec--dark{background:linear-gradient(160deg,var(--sh-navy) 0%,var(--sh-indigo) 100%)}
.sh-sec--dark .elementor-heading-title,.sh-sec--dark .sh-lead,.sh-sec--dark .elementor-widget-text-editor{color:#fff}
.sh-sec--dark .sh-lead,.sh-sec--dark .elementor-widget-text-editor p{color:#B8C2DA}
.sh-sec .e-con-inner{gap:clamp(20px,3vw,40px)}
.sh-eyebrow .elementor-heading-title{font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sh-accent)}
.sh-sec:not(.sh-sec--dark) .sh-eyebrow .elementor-heading-title{color:#B57F00}
.sh-title .elementor-heading-title{font-size:clamp(1.9rem,3.6vw,3rem);font-weight:800}
.sh-lead,.sh-lead p{font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.7;color:var(--sh-muted);max-width:720px}
.sh-center{text-align:center}.sh-center .sh-lead{margin-inline:auto}
.sh-head{display:flex;flex-direction:column;gap:14px;max-width:760px}
.sh-head.sh-center{margin-inline:auto;align-items:center}

/* Buttons */
.sh-btn .elementor-button{background:var(--sh-accent);color:var(--sh-navy);font-weight:700;border-radius:999px;padding:15px 30px;font-size:1rem;line-height:1;transition:transform .2s,box-shadow .2s,background .2s}
.sh-btn .elementor-button:hover{background:var(--sh-accent-2);transform:translateY(-2px);box-shadow:0 12px 26px rgba(255,180,0,.35);color:var(--sh-navy)}
.sh-btn--ghost .elementor-button{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4)}
.sh-btn--ghost .elementor-button:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff;box-shadow:none}
.sh-sec:not(.sh-sec--dark) .sh-btn--ghost .elementor-button{color:var(--sh-navy);border-color:var(--sh-navy)}
.sh-sec:not(.sh-sec--dark) .sh-btn--ghost .elementor-button:hover{background:var(--sh-navy);color:#fff}
.sh-btns{display:flex;gap:14px;flex-wrap:wrap}

/* Cards */
.sh-card{background:#fff;border:1px solid var(--sh-line);border-radius:var(--sh-radius);padding:32px;box-shadow:var(--sh-shadow);transition:transform .25s,box-shadow .25s,border-color .25s}
.sh-card:hover{transform:translateY(-6px);box-shadow:var(--sh-shadow-lg);border-color:var(--sh-accent)}
.sh-card .elementor-icon-box-wrapper{text-align:left;flex-direction:column;align-items:flex-start;gap:0}
.sh-card .elementor-icon-box-icon{margin:0 0 20px!important}
.sh-card .elementor-icon{width:58px;height:58px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:rgba(255,180,0,.14);color:#B57F00;font-size:26px}
.sh-card .elementor-icon svg{width:26px;height:26px;fill:currentColor}
.sh-card .elementor-icon-box-title,.sh-card .elementor-icon-box-title a{font-size:1.2rem;font-weight:700;color:var(--sh-text);margin-bottom:10px}
.sh-card .elementor-icon-box-description{color:var(--sh-muted);line-height:1.65;font-size:.98rem}
.sh-card--dark{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);box-shadow:none}
.sh-card--dark .elementor-icon-box-title,.sh-card--dark .elementor-icon-box-title a{color:#fff}
.sh-card--dark .elementor-icon-box-description{color:#B8C2DA}
.sh-card .elementor-image-box-img img{border-radius:var(--sh-radius-sm);width:100%}
.sh-card .elementor-image-box-wrapper{text-align:left}
.sh-card .elementor-image-box-title{font-size:1.2rem;font-weight:700;margin:18px 0 8px}
.sh-card .elementor-image-box-description{color:var(--sh-muted);line-height:1.65}
.sh-card.sh-work{padding:14px 14px 26px;overflow:hidden}
.sh-card.sh-work .elementor-image-box-content{padding:0 12px}

/* Stats */
.sh-stat{text-align:center;padding:10px}
.sh-stat .elementor-counter-number-wrapper{font-size:clamp(2.2rem,4vw,3.4rem);font-weight:800;color:var(--sh-accent);justify-content:center}
.sh-stat .elementor-counter-title{color:#B8C2DA;font-weight:500;margin-top:6px}

/* Stat cards (dark sections) */
.sh-stat-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:var(--sh-radius);padding:22px 10px}

/* Icon list */
.sh-list .elementor-icon-list-icon i{color:var(--sh-accent)}
.sh-list .elementor-icon-list-icon svg{fill:var(--sh-accent)}
.sh-list .elementor-icon-list-text{font-weight:500}
.sh-compare{border-radius:var(--sh-radius);padding:34px;background:#fff;border:1px solid var(--sh-line)}
.sh-compare--us{background:linear-gradient(160deg,var(--sh-navy),var(--sh-indigo));border-color:transparent;box-shadow:var(--sh-shadow-lg)}
.sh-compare--us .elementor-heading-title,.sh-compare--us .elementor-icon-list-text{color:#fff}
.sh-compare:not(.sh-compare--us) .elementor-icon-list-icon i{color:#c0392b}
.sh-compare:not(.sh-compare--us) .elementor-icon-list-icon svg{fill:#c0392b}
.sh-compare .elementor-heading-title{font-size:1.3rem;font-weight:800;margin-bottom:6px}

/* Accordion (FAQ) */
.sh-faq .elementor-accordion-item{border:1px solid var(--sh-line);border-radius:14px;margin-bottom:12px;overflow:hidden;background:#fff}
.sh-faq .elementor-tab-title{padding:20px 24px;font-weight:700}
.sh-faq .elementor-tab-title a{color:var(--sh-text)}
.sh-faq .elementor-tab-title.elementor-active a{color:#B57F00}
.sh-faq .elementor-tab-content{padding:0 24px 22px;color:var(--sh-muted);line-height:1.7;border:0}

/* ==========================================================================
   5. HOW WE WORK (5 numbered steps joined by a line)
   ========================================================================== */
.sh-steps{position:relative}
.sh-steps::before{content:"";position:absolute;left:5%;right:5%;top:30px;height:2px;background:linear-gradient(90deg,transparent,var(--sh-accent) 15%,var(--sh-accent) 85%,transparent);opacity:.45}
.sh-step{position:relative;text-align:left}
.sh-step__num .elementor-heading-title{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--sh-navy);color:var(--sh-accent);border:2px solid var(--sh-accent);font-size:1.15rem;font-weight:800;letter-spacing:0;position:relative;z-index:1;box-shadow:0 0 0 8px #fff}
.sh-sec--light .sh-step__num .elementor-heading-title{box-shadow:0 0 0 8px var(--sh-bg)}
.sh-step .sh-step__title .elementor-heading-title{font-size:1.1rem;font-weight:700;margin-top:6px}
.sh-step .elementor-widget-text-editor{color:var(--sh-muted);line-height:1.65;font-size:.95rem}
@media(max-width:1024px){
  .sh-steps::before{left:29px;right:auto;top:30px;bottom:30px;width:2px;height:auto;background:linear-gradient(180deg,transparent,var(--sh-accent) 8%,var(--sh-accent) 92%,transparent)}
  .sh-step{padding-left:84px;min-height:60px}
  .sh-step__num{position:absolute;left:0;top:0}
}

/* ==========================================================================
   6. HERO SLIDER  (JS in assets/js/site.js builds arrows + lines)
   ========================================================================== */
.sh-hero{position:relative;width:100%;height:100vh;height:100svh;min-height:520px;overflow:hidden;background:radial-gradient(1200px 600px at 80% 20%,#1d2f5c 0%,transparent 60%),linear-gradient(160deg,var(--sh-navy) 0%,#0d1730 100%);padding:0!important}
.sh-hero::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:34px 34px;pointer-events:none;mask-image:linear-gradient(180deg,#000,transparent 85%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%)}
.sh-hero>.e-con-inner{height:100%;max-width:none;width:100%;padding:0;display:block;position:static}
.sh-slide{position:absolute!important;inset:0;width:100%;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s;z-index:1;padding:calc(var(--sh-header-h) + 8px) 24px 112px;display:flex;align-items:center;justify-content:center}
.sh-slide.is-active{opacity:1;visibility:visible;z-index:2}
.sh-slide__in{width:100%;max-width:1200px;margin:0 auto;align-items:center}
.sh-slide__text{display:flex;flex-direction:column;gap:20px}
.sh-slide__text .elementor-heading-title{color:#fff}
.sh-slide__text h1.elementor-heading-title,.sh-slide__text h2.elementor-heading-title{font-size:clamp(1.7rem,min(4.6vw,7.2vh),4rem);font-weight:800;line-height:1.08}
.sh-slide__text .sh-lead,.sh-slide__text .sh-lead p{color:#C4CDE3;max-width:560px;font-size:clamp(.95rem,min(1.3vw,2.6vh),1.15rem);margin:0}
.sh-slide__art img{width:100%;max-height:min(58vh,520px);object-fit:contain;filter:drop-shadow(0 30px 50px rgba(0,0,0,.45))}
/* text enters from the left, art from the right on the active slide */
.sh-slide .sh-slide__text>*{opacity:0;transform:translateY(26px)}
.sh-slide .sh-slide__art{opacity:0;transform:translateX(60px) scale(.94)}
.sh-slide.is-active .sh-slide__text>*{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease}
.sh-slide.is-active .sh-slide__text>*:nth-child(1){transition-delay:.15s}.sh-slide.is-active .sh-slide__text>*:nth-child(2){transition-delay:.3s}
.sh-slide.is-active .sh-slide__text>*:nth-child(3){transition-delay:.45s}.sh-slide.is-active .sh-slide__text>*:nth-child(4){transition-delay:.6s}
.sh-slide.is-active .sh-slide__art{opacity:1;transform:none;transition:opacity .9s ease .25s,transform .9s cubic-bezier(.2,.8,.2,1) .25s}
/* controls: ALWAYS inside the hero, pinned to the bottom (never below the fold) */
.sh-hero__ui{position:absolute;left:0;right:0;bottom:max(26px,env(safe-area-inset-bottom));z-index:5;display:flex;align-items:center;justify-content:center;gap:18px;padding:0 24px}
.sh-arrow{width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);background:rgba(255,255,255,.06);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .2s,border-color .2s,transform .2s}
.sh-arrow:hover,.sh-arrow:focus-visible{background:var(--sh-accent);border-color:var(--sh-accent);color:var(--sh-navy);transform:scale(1.06)}
.sh-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.sh-lines{display:flex;gap:10px;align-items:center}
.sh-line{position:relative;width:clamp(36px,9vw,76px);height:18px;padding:0;border:0;background:transparent;cursor:pointer}
.sh-line::before{content:"";position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;border-radius:3px;background:rgba(255,255,255,.28)}
.sh-line i{position:absolute;left:0;top:50%;height:3px;margin-top:-1.5px;border-radius:3px;background:var(--sh-accent);width:0}
.sh-line.is-done i{width:100%}
.sh-line.is-active i{animation:shfill var(--sh-delay,7s) linear forwards}
.sh-hero.is-paused .sh-line.is-active i{animation-play-state:paused}
@keyframes shfill{from{width:0}to{width:100%}}
/* short / landscape phones & tablets: keep everything visible without scrolling */
@media(max-width:1024px){
  .sh-slide__in{flex-direction:column!important;text-align:left;gap:18px}
  .sh-slide__in>.e-con{width:100%!important}
  .sh-slide__art{order:-1;max-width:min(78%,420px);margin-inline:auto}
  .sh-slide__art img{max-height:30vh;max-height:30svh}
}
@media(max-width:600px){
  .sh-slide{padding:calc(var(--sh-header-h) - 6px) 20px 100px;align-items:flex-start;padding-top:calc(var(--sh-header-h) + 4px)}
  .sh-slide__text{gap:14px}.sh-slide__art img{max-height:26svh}
  .sh-btns{gap:10px}.sh-slide .sh-btn .elementor-button{padding:13px 22px;font-size:.92rem}
}
@media(max-height:560px) and (orientation:landscape){
  :root{--sh-header-h:64px}
  .sh-slide{padding:calc(var(--sh-header-h) + 4px) 28px 74px}
  .sh-slide__in{flex-direction:row!important;gap:24px}
  .sh-slide__in>.e-con{width:50%!important}
  .sh-slide__art{order:0;max-width:none}.sh-slide__art img{max-height:56vh}
  .sh-slide__text{gap:10px}.sh-slide__text .sh-lead{display:none}
  .sh-hero__ui{bottom:14px}.sh-arrow{width:40px;height:40px}
}
/* editor: show every slide stacked so each one can be edited */
.elementor-editor-active .sh-hero{height:auto}
.elementor-editor-active .sh-slide{position:relative!important;opacity:1;visibility:visible;padding-bottom:40px;border-bottom:2px dashed rgba(255,255,255,.2)}
.elementor-editor-active .sh-slide .sh-slide__text>*,.elementor-editor-active .sh-slide .sh-slide__art{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.sh-slide,.sh-slide *{transition:none!important;animation:none!important}}

/* ==========================================================================
   7. INNER PAGE HERO
   ========================================================================== */
.sh-pagehero{padding:calc(var(--sh-header-h) + clamp(50px,8vw,100px)) 24px clamp(50px,7vw,90px);background:radial-gradient(900px 420px at 85% 0%,#1d2f5c 0%,transparent 60%),linear-gradient(160deg,var(--sh-navy),#0d1730);position:relative;overflow:hidden}
.sh-pagehero .elementor-heading-title{color:#fff}
.sh-pagehero h1.elementor-heading-title{font-size:clamp(2rem,4.6vw,3.6rem);font-weight:800}
.sh-pagehero .sh-lead,.sh-pagehero .sh-lead p{color:#C4CDE3}

/* Reveal on scroll (JS adds .sh-reveal; nothing is hidden without JS) */
.sh-js .sh-reveal:not(.sh-in){opacity:0;transform:translateY(26px)}
.sh-reveal{transition:opacity .7s ease,transform .7s ease}
.elementor-editor-active .sh-reveal{opacity:1!important;transform:none!important}

/* Work cards/CTA band */
.sh-cta-band{background:linear-gradient(120deg,var(--sh-accent) 0%,var(--sh-accent-2) 100%);border-radius:28px;padding:clamp(34px,5vw,64px)!important;margin:0 auto}
.sh-cta-band .elementor-heading-title{color:var(--sh-navy);font-weight:800}
.sh-cta-band .sh-lead,.sh-cta-band .sh-lead p{color:#3b3000}
.sh-cta-band .sh-btn .elementor-button{background:var(--sh-navy);color:#fff}
.sh-cta-band .sh-btn .elementor-button:hover{background:#000;color:#fff}
.sh-cta-wrap{padding:0 24px clamp(56px,8vw,100px)}

/* Contact / Fluent Form */
.sh-formcard{background:#fff;border:1px solid var(--sh-line);border-radius:var(--sh-radius);padding:clamp(24px,4vw,44px);box-shadow:var(--sh-shadow)}
.sh-formcard .ff-el-form-control{border:1.5px solid var(--sh-line);border-radius:12px;padding:14px 16px;background:var(--sh-bg);font-size:1rem}
.sh-formcard .ff-el-form-control:focus{border-color:var(--sh-accent);background:#fff;box-shadow:0 0 0 4px rgba(255,180,0,.18);outline:0}
.sh-formcard .ff-el-input--label label{font-weight:600;color:var(--sh-text)}
.sh-formcard .ff-btn-submit{background:var(--sh-accent)!important;color:var(--sh-navy)!important;border-radius:999px!important;font-weight:700;padding:15px 34px!important;border:0;transition:transform .2s,box-shadow .2s}
.sh-formcard .ff-btn-submit:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(255,180,0,.35)}

/* ==========================================================================
   8. FOOTER (rendered by the child theme on Astra's astra_footer_before hook)
   ========================================================================== */
#colophon{display:none!important}
.sh-footer{background:var(--sh-navy);color:#B8C2DA;padding:clamp(48px,6vw,84px) 24px 0;font-size:.97rem}
.sh-footer a{color:#B8C2DA;text-decoration:none;transition:color .2s}
.sh-footer a:hover{color:var(--sh-accent)}
.sh-footer__grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:clamp(28px,4vw,56px)}
.sh-footer__brand{font-size:1.5rem;font-weight:800;color:#fff;display:inline-flex;align-items:center;gap:.55rem;margin-bottom:16px}
.sh-footer__brand::before{content:"";width:34px;height:34px;border-radius:10px;background:var(--sh-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A1020' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 7l-5 5 5 5M16 7l5 5-5 5'/%3E%3C/svg%3E") center/62% no-repeat}
.sh-footer h3{color:#fff;font-size:1rem;font-weight:700;margin:0 0 18px;letter-spacing:.02em}
.sh-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.sh-footer__contact li{display:flex;gap:10px;align-items:flex-start}
.sh-social{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}
.sh-social a{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;color:#fff;transition:background .2s,border-color .2s,transform .2s}
.sh-social a:hover{background:var(--sh-accent);border-color:var(--sh-accent);color:var(--sh-navy);transform:translateY(-3px)}
.sh-social svg{width:20px;height:20px;fill:currentColor}
.sh-footer__bar{max-width:1200px;margin:clamp(36px,5vw,64px) auto 0;padding:22px 0;border-top:1px solid #1d2a4a;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.88rem}
@media(max-width:900px){.sh-footer__grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.sh-footer__grid{grid-template-columns:1fr}.sh-footer__bar{flex-direction:column;text-align:center}}

/* Cookie Compliance (Hu-manity) light touch: match brand */
#cookie-notice{font-family:var(--sh-font)!important}
#cookie-notice .cn-button.bootstrap,#cookie-notice .cn-button{border-radius:999px}
