/* ================================================================
   Globoforce UK Limited — Main Stylesheet
   Design System: Midnight Navy + Amber Gold
   Fonts: Syne (headings) + DM Sans (body)
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&display=swap');

/* === CSS VARIABLES === */
:root {
  --bg-dark:      #070D1B;
  --bg-mid:       #0D1829;
  --bg-surface:   #111E35;
  --bg-card:      #142240;
  --color-primary:       #F59E0B;
  --color-primary-dark:  #D97706;
  --color-primary-light: #FDE68A;
  --color-accent:        #3B82F6;
  --color-text:          #CBD5E1;
  --color-text-muted:    #64748B;
  --color-heading:       #F8FAFC;
  --color-border:        rgba(255,255,255,0.07);
  --color-border-hover:  rgba(245,158,11,0.3);
  --font-heading: 'Syne', sans-serif;
  --font-body:    'DM Sans', sans-serif;
  --transition:   0.3s cubic-bezier(0.4,0,0.2,1);
  --radius:       8px;
  --radius-lg:    16px;
  --shadow-card:  0 4px 24px rgba(0,0,0,0.45);
  --max-width:    1200px;
}

/* === RESET === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;}
body{font-family:var(--font-body);background:var(--bg-dark);color:var(--color-text);line-height:1.6;overflow-x:hidden;}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button{cursor:pointer;border:none;background:none;font-family:var(--font-body);}
input,textarea,select{font-family:var(--font-body);}

/* === TYPOGRAPHY === */
h1,h2,h3,h4,h5{font-family:var(--font-heading);color:var(--color-heading);line-height:1.15;letter-spacing:-0.02em;}
h1{font-size:clamp(2.4rem,5.5vw,4.25rem);font-weight:800;}
h2{font-size:clamp(1.9rem,3.5vw,2.875rem);font-weight:700;}
h3{font-size:clamp(1.2rem,2.2vw,1.625rem);font-weight:700;}
h4{font-size:1.075rem;font-weight:600;}
p{margin-bottom:1rem;color:var(--color-text);font-size:1.05rem;line-height:1.78;}
p:last-child{margin-bottom:0;}
.text-primary{color:var(--color-primary);}
.text-muted{color:var(--color-text-muted);}
.lead{font-size:1.175rem;line-height:1.7;color:var(--color-text);}

/* === LAYOUT === */
.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem;}
.section{padding:5.5rem 0;}
.section-sm{padding:3rem 0;}
.section-label{display:inline-flex;align-items:center;gap:.5rem;font-size:.73rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--color-primary);margin-bottom:1rem;}
.section-label::before{content:'';display:block;width:22px;height:2px;background:var(--color-primary);}
.section-header{margin-bottom:3rem;}
.section-header p{max-width:580px;color:var(--color-text-muted);}
.center-header{text-align:center;}
.center-header p{margin:0 auto;}

/* === GRID === */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;}

/* === BUTTONS === */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 2rem;border-radius:var(--radius);font-family:var(--font-body);font-size:.9375rem;font-weight:600;transition:var(--transition);cursor:pointer;border:none;text-decoration:none;line-height:1;}
.btn-primary{background:var(--color-primary);color:#070D1B;}
.btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 8px 24px rgba(245,158,11,.3);}
.btn-outline{background:transparent;color:var(--color-heading);border:1.5px solid var(--color-border);}
.btn-outline:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-2px);}
.btn svg{width:18px;height:18px;flex-shrink:0;}

/* === CARDS === */
.card{background:var(--bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;transition:var(--transition);}
.card:hover{border-color:var(--color-border-hover);transform:translateY(-4px);box-shadow:var(--shadow-card);}
.card-icon{width:50px;height:50px;background:rgba(245,158,11,.1);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;color:var(--color-primary);}
.card-icon svg{width:26px;height:26px;}

/* === GEO PATTERN (background grid) === */
.geo-bg{position:relative;overflow:hidden;}
.geo-bg::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(245,158,11,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(245,158,11,.025) 1px,transparent 1px);background-size:56px 56px;pointer-events:none;}

/* === DIAGONAL DIVIDERS === */
.clip-bottom{clip-path:polygon(0 0,100% 0,100% 90%,0 100%);padding-bottom:7rem;}
.clip-top{clip-path:polygon(0 10%,100% 0,100% 100%,0 100%);padding-top:8rem;margin-top:-5rem;}

/* === NAVIGATION === */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;transition:var(--transition);}
.site-header.scrolled{background:rgba(7,13,27,.96);backdrop-filter:blur(20px);border-bottom:1px solid var(--color-border);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:70px;}
.nav-logo a{display:flex;align-items:center;gap:.75rem;text-decoration:none;}
.logo-mark{width:38px;height:38px;background:var(--color-primary);border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:800;font-size:1.175rem;color:#070D1B;flex-shrink:0;}
.logo-text{font-family:var(--font-heading);font-weight:700;font-size:1.05rem;color:var(--color-heading);line-height:1.2;}
.logo-text span{display:block;font-size:.62rem;font-weight:400;color:var(--color-text-muted);letter-spacing:.1em;text-transform:uppercase;margin-top:1px;}
.nav-links{display:flex;align-items:center;gap:.125rem;}
.nav-links>li>a{display:block;padding:.5rem .875rem;font-size:.9rem;font-weight:500;color:var(--color-text);border-radius:6px;transition:var(--transition);}
.nav-links>li>a:hover,.nav-links>li>a.active{color:var(--color-primary);background:rgba(245,158,11,.08);}
.nav-cta{background:var(--color-primary)!important;color:#070D1B!important;font-weight:600!important;padding:.5rem 1.25rem!important;}
.nav-cta:hover{background:var(--color-primary-dark)!important;}
.has-dropdown{position:relative;}
.dropdown{display:none;position:absolute;top:calc(100% + .5rem);left:0;background:var(--bg-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.5rem;min-width:200px;box-shadow:0 12px 40px rgba(0,0,0,.5);}
.has-dropdown:hover .dropdown{display:block;}
.dropdown li a{display:block;padding:.55rem .875rem;font-size:.875rem;color:var(--color-text);border-radius:4px;transition:var(--transition);}
.dropdown li a:hover{background:rgba(245,158,11,.08);color:var(--color-primary);}
.nav-toggle{display:none;flex-direction:column;gap:5px;padding:4px;background:none;border:none;}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--color-heading);border-radius:2px;transition:var(--transition);}

/* === FOOTER === */
.site-footer{background:#040812;border-top:1px solid var(--color-border);padding:4.5rem 0 2rem;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:3rem;margin-bottom:3rem;}
.footer-brand p{color:var(--color-text-muted);font-size:.9rem;margin-top:1rem;line-height:1.75;}
.footer-logo{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;}
.footer-heading{font-family:var(--font-heading);font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-heading);margin-bottom:1.25rem;}
.footer-links li{margin-bottom:.6rem;}
.footer-links li a{color:var(--color-text-muted);font-size:.9rem;transition:var(--transition);}
.footer-links li a:hover{color:var(--color-primary);}
.footer-contact-item{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.875rem;font-size:.875rem;color:var(--color-text-muted);}
.footer-contact-item svg{flex-shrink:0;width:16px;height:16px;color:var(--color-primary);margin-top:2px;}
.footer-contact-item a{color:var(--color-text-muted);transition:var(--transition);}
.footer-contact-item a:hover{color:var(--color-primary);}
.footer-divider{height:1px;background:var(--color-border);margin-bottom:2rem;}
.footer-bottom{display:flex;flex-direction:column;gap:.4rem;}
.footer-bottom p,.footer-bottom a{font-size:.78rem;color:var(--color-text-muted);}
.footer-legal-links{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:.5rem;}
.footer-legal-links a{font-size:.78rem;color:var(--color-text-muted);transition:var(--transition);}
.footer-legal-links a:hover{color:var(--color-primary);}

/* === ANIMATIONS === */
.fade-up{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s ease;}
.fade-up.visible{opacity:1;transform:translateY(0);}
.fade-up:nth-child(2){transition-delay:.1s;}
.fade-up:nth-child(3){transition-delay:.2s;}
.fade-up:nth-child(4){transition-delay:.3s;}
.fade-up:nth-child(5){transition-delay:.4s;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.5;transform:scale(1.5);}}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes spin-slow{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}

/* === MARQUEE === */
.marquee-track{overflow:hidden;background:rgba(245,158,11,.04);border-top:1px solid rgba(245,158,11,.08);border-bottom:1px solid rgba(245,158,11,.08);padding:.9rem 0;}
.marquee-inner{display:flex;gap:3rem;animation:marquee 35s linear infinite;white-space:nowrap;}
.marquee-item{display:inline-flex;align-items:center;gap:.75rem;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);flex-shrink:0;}
.marquee-dot{width:4px;height:4px;background:var(--color-primary);border-radius:50%;}

/* === STATS === */
.stat-number{font-family:var(--font-heading);font-size:2.875rem;font-weight:800;color:var(--color-primary);line-height:1;margin-bottom:.25rem;}
.stat-label{font-size:.85rem;color:var(--color-text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.06em;}

/* === TAG / BADGE === */
.tag{display:inline-block;padding:.25rem .75rem;background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.2);border-radius:100px;font-size:.73rem;font-weight:700;color:var(--color-primary);letter-spacing:.05em;text-transform:uppercase;}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.2);border-radius:100px;padding:.375rem 1rem;font-size:.78rem;font-weight:700;color:var(--color-primary);letter-spacing:.05em;margin-bottom:1.5rem;}
.hero-badge::before{content:'';width:7px;height:7px;background:var(--color-primary);border-radius:50%;animation:pulse 2s infinite;}

/* === PAGE HERO === */
.page-hero{background:var(--bg-mid);padding:7.5rem 0 4.5rem;position:relative;overflow:hidden;}
.page-hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(245,158,11,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(245,158,11,.025) 1px,transparent 1px);background-size:56px 56px;}
.breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--color-text-muted);margin-bottom:1.5rem;}
.breadcrumb a{color:var(--color-primary);}
.breadcrumb-sep{color:var(--color-border);}

/* === FORMS === */
.form-group{margin-bottom:1.25rem;}
.form-label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text);margin-bottom:.45rem;}
.form-required{color:var(--color-primary);}
.form-input,.form-textarea,.form-select{width:100%;background:var(--bg-mid);border:1.5px solid var(--color-border);border-radius:var(--radius);padding:.8rem 1rem;font-size:.9375rem;color:var(--color-heading);transition:var(--transition);outline:none;}
.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(245,158,11,.1);}
.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted);}
.form-textarea{resize:vertical;min-height:140px;}
.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:16px;padding-right:2.5rem;}
.form-select option{background:var(--bg-mid);}

/* === COOKIE BANNER === */
.cookie-banner{position:fixed;bottom:1.5rem;left:1.5rem;right:1.5rem;max-width:460px;background:var(--bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;z-index:9999;box-shadow:0 12px 48px rgba(0,0,0,.6);display:none;}
.cookie-banner.show{display:block;}
.cookie-banner p{font-size:.875rem;color:var(--color-text-muted);margin-bottom:1rem;}
.cookie-banner a{color:var(--color-primary);}
.cookie-actions{display:flex;gap:.75rem;flex-wrap:wrap;}
.cookie-actions .btn{padding:.625rem 1.25rem;font-size:.875rem;}

/* === MAP === */
.map-wrapper{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border);height:420px;}
.map-wrapper iframe{width:100%;height:100%;border:none;filter:grayscale(30%) invert(1) hue-rotate(180deg);}

/* === PROCESS STEPS === */
.process-step{display:flex;gap:1.5rem;padding:1.75rem;background:var(--bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:var(--transition);}
.process-step:hover{border-color:var(--color-border-hover);}
.step-num{flex-shrink:0;width:46px;height:46px;background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.25);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:800;font-size:.85rem;color:var(--color-primary);}

/* === TECH TAGS === */
.tech-tag{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-surface);border:1px solid var(--color-border);border-radius:100px;font-size:.875rem;font-weight:500;color:var(--color-text);transition:var(--transition);}
.tech-tag:hover{border-color:var(--color-primary);color:var(--color-primary);}
.tech-cloud{display:flex;flex-wrap:wrap;gap:.75rem;}

/* === ACCORDION === */
.accordion-item{border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:.75rem;overflow:hidden;}
.accordion-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;background:var(--bg-surface);font-family:var(--font-heading);font-size:1rem;font-weight:600;color:var(--color-heading);cursor:pointer;text-align:left;transition:var(--transition);}
.accordion-trigger:hover{color:var(--color-primary);}
.accordion-icon{width:20px;height:20px;flex-shrink:0;transition:transform .3s ease;color:var(--color-primary);}
.accordion-item.open .accordion-icon{transform:rotate(45deg);}
.accordion-body{max-height:0;overflow:hidden;transition:max-height .4s ease;}
.accordion-item.open .accordion-body{max-height:600px;}
.accordion-body-inner{padding:1.25rem 1.5rem 1.5rem;background:var(--bg-mid);}
.accordion-body-inner p{font-size:.9375rem;color:var(--color-text-muted);}

/* === LEGAL PAGES === */
.legal-content{max-width:820px;margin:0 auto;}
.legal-content h2{font-size:1.45rem;margin-top:2.5rem;margin-bottom:1rem;padding-top:2rem;border-top:1px solid var(--color-border);}
.legal-content h2:first-of-type{border-top:none;padding-top:0;margin-top:0;}
.legal-content h3{font-size:1.1rem;margin-top:1.75rem;margin-bottom:.75rem;}
.legal-content ul,.legal-content ol{padding-left:1.5rem;margin-bottom:1rem;}
.legal-content ul{list-style:disc;}
.legal-content ol{list-style:decimal;}
.legal-content li{color:var(--color-text);font-size:.9875rem;line-height:1.8;margin-bottom:.5rem;}
.legal-content table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.875rem;}
.legal-content th,.legal-content td{padding:.75rem 1rem;text-align:left;border:1px solid var(--color-border);}
.legal-content th{background:var(--bg-surface);color:var(--color-heading);font-weight:600;}
.legal-content td{color:var(--color-text);}
.legal-info-box{background:var(--bg-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-primary);border-radius:var(--radius);padding:1.25rem 1.5rem;margin-bottom:2rem;}
.legal-info-box p{font-size:.875rem;color:var(--color-text-muted);}
.legal-info-box strong{color:var(--color-text);}

/* === CONTACT PAGE === */
.contact-info-block{background:var(--bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;}
.contact-info-item{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:flex-start;}
.contact-info-item:last-child{margin-bottom:0;}
.contact-info-icon{width:42px;height:42px;flex-shrink:0;background:rgba(245,158,11,.1);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--color-primary);}
.contact-info-icon svg{width:20px;height:20px;}
.contact-info-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:.25rem;}
.contact-info-value{font-size:.9375rem;color:var(--color-heading);}
.contact-info-value a{color:var(--color-heading);transition:var(--transition);}
.contact-info-value a:hover{color:var(--color-primary);}

/* === CTA SECTION === */
.cta-section{background:linear-gradient(135deg,#1a2f0a 0%,#0D1829 60%);border-top:1px solid rgba(245,158,11,.1);border-bottom:1px solid rgba(245,158,11,.1);padding:5rem 0;position:relative;overflow:hidden;}
.cta-section::before{content:'';position:absolute;top:-50%;right:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(245,158,11,.08) 0%,transparent 60%);pointer-events:none;}

/* === HERO SPECIFIC === */
.hero-section{min-height:100vh;display:flex;align-items:center;background:var(--bg-dark);position:relative;overflow:hidden;padding-top:70px;}
.hero-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(245,158,11,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(245,158,11,.03) 1px,transparent 1px);background-size:56px 56px;}
.hero-glow{position:absolute;top:20%;left:-5%;width:600px;height:600px;background:radial-gradient(circle,rgba(245,158,11,.06) 0%,transparent 55%);pointer-events:none;animation:float 8s ease-in-out infinite;}
.hero-glow-2{position:absolute;bottom:10%;right:-5%;width:400px;height:400px;background:radial-gradient(circle,rgba(59,130,246,.06) 0%,transparent 55%);pointer-events:none;animation:float 10s ease-in-out infinite reverse;}
.hero-inner{position:relative;z-index:2;}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.5rem;}
.hero-meta{display:flex;gap:2rem;flex-wrap:wrap;margin-top:3rem;padding-top:3rem;border-top:1px solid var(--color-border);}
.hero-meta-item{display:flex;align-items:center;gap:.75rem;}
.hero-meta-icon{width:36px;height:36px;background:rgba(245,158,11,.1);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--color-primary);}
.hero-meta-icon svg{width:18px;height:18px;}
.hero-meta-label{font-size:.75rem;color:var(--color-text-muted);font-weight:500;}
.hero-meta-value{font-size:.95rem;font-weight:600;color:var(--color-heading);}
.hero-visual{position:relative;}
.hero-card{background:var(--bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;animation:float 6s ease-in-out infinite;}
.hero-card-sm{position:absolute;background:var(--bg-surface);border:1px solid rgba(245,158,11,.2);border-radius:var(--radius);padding:1rem 1.25rem;font-size:.8rem;box-shadow:0 8px 32px rgba(0,0,0,.4);}

/* === INDUSTRY CARDS === */
.industry-card{background:var(--bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;transition:var(--transition);position:relative;overflow:hidden;}
.industry-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--color-primary);transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
.industry-card:hover::before{transform:scaleX(1);}
.industry-card:hover{border-color:var(--color-border-hover);transform:translateY(-4px);}

/* === DIVIDERS === */
.amber-line{display:block;width:44px;height:3px;background:var(--color-primary);border-radius:2px;margin-bottom:1.5rem;}
.section-divider{height:1px;background:var(--color-border);margin:0;}

/* === RESPONSIVE === */
@media(max-width:1024px){.grid-4{grid-template-columns:repeat(2,1fr);}.footer-grid{grid-template-columns:1fr 1fr;gap:2rem;}}
@media(max-width:900px){
  .nav-links{display:none;position:fixed;top:70px;left:0;right:0;bottom:0;background:var(--bg-dark);flex-direction:column;align-items:flex-start;gap:0;padding:1.5rem;overflow-y:auto;z-index:999;}
  .nav-links.open{display:flex;}
  .nav-links>li{width:100%;}
  .nav-links>li>a{padding:.875rem .5rem;font-size:1.05rem;border-radius:0;border-bottom:1px solid var(--color-border);width:100%;}
  .nav-cta{text-align:center;display:block;margin-top:1rem;border:none!important;}
  .dropdown{position:static;box-shadow:none;border:none;background:transparent;padding-left:1rem;display:none;}
  .has-dropdown.open .dropdown{display:block;}
  .nav-toggle{display:flex;}
  .hero-visual{display:none;}
}
@media(max-width:768px){
  .section{padding:3.5rem 0;}
  .grid-2,.grid-3{grid-template-columns:1fr;}
  .clip-bottom{clip-path:none;padding-bottom:3.5rem;}
  .clip-top{clip-path:none;padding-top:3.5rem;margin-top:0;}
  .footer-grid{grid-template-columns:1fr;}
  .hero-actions{flex-direction:column;}
  .hero-meta{gap:1.25rem;}
}
@media(max-width:480px){.grid-4{grid-template-columns:1fr;}}

/* === UTILITIES === */
.text-center{text-align:center;}
.flex{display:flex;}
.flex-center{display:flex;align-items:center;justify-content:center;}
.align-center{align-items:center;}
.gap-1{gap:.5rem;}.gap-2{gap:1rem;}.gap-3{gap:1.5rem;}
.mt-1{margin-top:.5rem;}.mt-2{margin-top:1rem;}.mt-3{margin-top:1.5rem;}.mt-4{margin-top:2rem;}
.mb-2{margin-bottom:1rem;}.mb-3{margin-bottom:1.5rem;}.mb-4{margin-bottom:2rem;}
.relative{position:relative;}.overflow-hidden{overflow:hidden;}
.w-full{width:100%;}.hidden{display:none;}
.success-msg{display:none;padding:1rem 1.25rem;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.25);border-radius:var(--radius);color:#4ade80;font-size:.9rem;margin-top:1rem;}
