:root {
    --gsm-navy: #08294b;
    --gsm-navy-2: #031c36;
    --gsm-gold: #bd852d;
    --gsm-gold-light: #e1b15e;
    --gsm-red: #e31d2b;
    --gsm-text: #0b2442;
    --gsm-muted: #5e6977;
    --gsm-border: #e4e7eb;
    --gsm-surface: #ffffff;
    --gsm-soft: #f6f4ef;
    --gsm-font-sans: Inter, Arial, Helvetica, sans-serif;
    --gsm-font-serif: Georgia, 'Times New Roman', serif;
    --bs-primary: var(--gsm-navy);
    --bs-primary-rgb: 8, 41, 75;
    --bs-secondary: var(--gsm-gold);
}
html { scroll-behavior: smooth; }
body.gemstar-theme { margin:0; color:var(--gsm-text); background:#fff; font-family:var(--gsm-font-sans); font-size:15px; }
a { color:inherit; }
.gsm-header { background:rgba(255,255,255,.97); box-shadow:0 1px 12px rgba(8,41,75,.08); z-index:1030; }
.gsm-navbar { min-height:84px; }
.gsm-brand img { max-height:58px; width:auto; }
.gsm-main-menu { gap:1.35rem; }
.gsm-main-menu .nav-link { padding:1.9rem .15rem 1.55rem; text-transform:uppercase; font-size:.76rem; font-weight:700; letter-spacing:.03em; color:#0f1720; border-bottom:2px solid transparent; }
.gsm-main-menu .nav-link:hover,.gsm-main-menu .nav-link.active { color:var(--gsm-gold); border-color:var(--gsm-gold); }
.dropdown-menu { border:0; border-radius:.5rem; padding:.65rem; }
.dropdown-item { border-radius:.35rem; padding:.65rem .8rem; }
.btn-gsm-primary { --bs-btn-color:#fff; --bs-btn-bg:var(--gsm-navy); --bs-btn-border-color:var(--gsm-navy); --bs-btn-hover-color:#fff; --bs-btn-hover-bg:#0b365f; --bs-btn-hover-border-color:#0b365f; text-transform:uppercase; font-weight:700; letter-spacing:.03em; }
.btn-outline-gsm { color:var(--gsm-navy); border:1px solid var(--gsm-navy); background:#fff; text-transform:uppercase; font-weight:700; }
.btn-outline-gsm:hover { color:#fff; background:var(--gsm-navy); }
.gsm-login-btn { padding:.72rem 1rem; box-shadow:0 5px 14px rgba(8,41,75,.16); }
.gsm-hero { background:radial-gradient(circle at 70% 35%, rgba(219,179,115,.24), transparent 28%),linear-gradient(105deg,#fbfaf7,#efece4); overflow:hidden; }
.min-vh-hero { min-height:535px; }
.gsm-eyebrow { color:var(--gsm-gold); font-weight:700; text-transform:uppercase; letter-spacing:.12em; font-size:.78rem; }
.gsm-hero h1 { margin-top:.65rem; font-size:clamp(2.55rem,5vw,4.35rem); line-height:.92; text-transform:uppercase; font-weight:800; letter-spacing:.015em; color:var(--gsm-navy); }
.gsm-hero h1 span { display:block; color:var(--gsm-gold); }
.gsm-hero h1 em { display:block; text-transform:none; font-family:var(--gsm-font-serif); font-weight:400; font-size:1.18em; color:var(--gsm-navy); margin-top:.2rem; }
.gsm-hero .lead { max-width:560px; font-size:1rem; color:#172332; }
.gsm-hero-visual { min-height:430px; position:relative; }
.gsm-visual-card { position:absolute; border-radius:10px; border:1px solid rgba(0,0,0,.12); box-shadow:0 24px 38px rgba(11,26,43,.2); display:flex; align-items:center; justify-content:center; text-align:center; font-family:var(--gsm-font-serif); color:#fff; font-size:1.5rem; background:linear-gradient(145deg,#7b1f16,#d8a238); }
.gsm-visual-catalog { width:34%; height:75%; left:5%; top:8%; transform:rotate(-8deg); }
.gsm-visual-web { width:55%; height:65%; right:4%; top:8%; background:linear-gradient(145deg,#3a2b26,#b9844c); transform:rotate(3deg); }
.gsm-visual-social { width:23%; height:55%; right:4%; bottom:2%; border-radius:24px; background:linear-gradient(145deg,#111827,#be7f31); }
.gsm-intro h2,.gsm-catalogs h2,.gsm-cta h2 { font-family:var(--gsm-font-serif); color:var(--gsm-navy); }
.gsm-intro h2 em { color:var(--gsm-gold); font-weight:400; }
.gsm-intro p { color:var(--gsm-muted); }
.gsm-service-card { position:relative; overflow:hidden; border:1px solid var(--gsm-border); border-radius:8px; padding:1.4rem 1.4rem 7.4rem; background:#fff; box-shadow:0 3px 10px rgba(10,35,60,.03); }
.gsm-service-card .gsm-icon { width:48px; height:48px; border-radius:50%; display:grid; place-items:center; background:var(--gsm-navy); color:var(--gsm-gold-light); font-size:1.25rem; float:left; margin-right:.8rem; }
.gsm-service-card h3 { min-height:55px; font:1.34rem/1.1 var(--gsm-font-serif); color:var(--gsm-navy); margin:.15rem 0 1rem; }
.gsm-service-card p { clear:both; font-size:.84rem; min-height:90px; color:#24364a; }
.gsm-service-card>a { color:var(--gsm-gold); text-transform:uppercase; font-weight:700; font-size:.75rem; text-decoration:none; }
.gsm-service-art { position:absolute; height:95px; left:0; right:0; bottom:0; background:linear-gradient(130deg,#f1eee7,#d5b277); clip-path:polygon(0 30%,100% 0,100% 100%,0 100%); }
.gsm-print-digital { color:#fff; background:linear-gradient(100deg,var(--gsm-navy-2),#06446f); border-radius:8px; width:calc(100% - 48px); margin-left:auto; margin-right:auto; padding:1.5rem 0; }
.gsm-print-digital h2 { font-family:var(--gsm-font-serif); }
.gsm-print-digital h2 span { color:var(--gsm-gold-light); }
.gsm-campaign-strip { display:flex; align-items:center; gap:12px; justify-content:center; }
.gsm-campaign-strip div { flex:1; min-height:145px; border-radius:8px; display:grid; place-items:center; text-transform:uppercase; font-weight:800; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); }
.gsm-campaign-strip div:nth-child(3) { background:#6a243a; }
.gsm-campaign-strip div:nth-child(4) { background:#9b2327; }
.gsm-campaign-strip div:nth-child(5) { background:#74552a; }
.gsm-catalog-card { text-align:center; }
.gsm-catalog-cover { height:220px; border-radius:6px; background:linear-gradient(145deg,#133d32,#b22228); box-shadow:0 9px 18px rgba(0,0,0,.14); display:grid; place-items:center; color:#fff; font-family:var(--gsm-font-serif); font-size:2.6rem; }
.gsm-catalog-card h3 { margin:.65rem 0; color:var(--gsm-navy); font:1rem/1.1 var(--gsm-font-serif); }
.gsmCatalogSwiper { padding:4px 34px 12px; }
.gsmCatalogSwiper .swiper-button-next,.gsmCatalogSwiper .swiper-button-prev { width:36px;height:36px;border-radius:50%;background:#f3efe7;color:var(--gsm-navy); }
.gsmCatalogSwiper .swiper-button-next:after,.gsmCatalogSwiper .swiper-button-prev:after { font-size:14px;font-weight:800; }
.gsm-stats { background:linear-gradient(100deg,var(--gsm-navy),#06446f); color:#fff; padding:1.15rem 0; }
.gsm-stats .col-6>div { min-height:70px; display:flex; flex-direction:column; justify-content:center; border-right:1px solid rgba(255,255,255,.28); }
.gsm-stats .col-6:last-child>div { border-right:0; }
.gsm-stats strong { color:var(--gsm-gold-light); font:1.8rem var(--gsm-font-serif); }
.gsm-stats span { font-size:.8rem; }
.gsm-cta { background:linear-gradient(90deg,#f2e9dc,#fff,#f2e9dc); }
.gsm-footer { color:#fff; background:linear-gradient(110deg,#05284a,#003863); }
.gsm-footer-main { padding-top:1.25rem; padding-bottom:1rem; }
.gsm-footer-brand img { background:#fff; padding:3px; max-height:58px; width:auto; }
.gsm-footer p,.gsm-footer li,.gsm-footer a { font-size:.82rem; color:#fff; text-decoration:none; }
.gsm-footer h6 { font-weight:700; margin-bottom:.8rem; }
.gsm-footer-links,.gsm-footer-contact { list-style:none; padding:0; margin:0; }
.gsm-footer-links li { margin:.34rem 0; }
.gsm-footer-contact li { margin:.45rem 0; }
.gsm-footer-contact i { color:var(--gsm-gold-light); width:20px; }
.gsm-footer-contact span { margin-left:20px; }
.gsm-socials { display:flex; gap:8px; }
.gsm-socials a { width:30px;height:30px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:grid;place-items:center; }
.gsm-footer-bottom { border-top:1px solid rgba(255,255,255,.18); padding:.55rem 0; font-size:.72rem; }
.gsm-client-area { min-height:65vh; background:#f7f8fa; }
.gsm-client-area>.container { background:#fff; }
@media (max-width:991.98px) { .gsm-navbar { min-height:70px; } .gsm-brand img{max-height:48px}.min-vh-hero{min-height:auto}.gsm-hero-visual{min-height:340px}.gsm-main-menu{gap:0}.gsm-print-digital{width:calc(100% - 24px)} }
@media (max-width:767.98px) { .gsm-hero h1{font-size:2.55rem}.gsm-hero-visual{min-height:280px}.gsm-service-card{padding-bottom:6.5rem}.gsm-campaign-strip{flex-wrap:wrap}.gsm-campaign-strip div{flex:1 1 42%;min-height:90px}.gsm-campaign-strip>span{display:none}.gsm-stats .col-6:nth-child(2)>div{border-right:0}.gsm-stats .col-6>div{margin:.3rem 0}.gsm-catalog-cover{height:180px} }

/* Content Builder 2.0 */
.content-slider { width:100%; overflow:hidden; }
.content-slider-hero .content-slide,
.content-slider-banner .content-slide { min-height:520px; background-size:cover; background-position:center; position:relative; display:flex; align-items:center; }
.content-slider-banner .content-slide { min-height:320px; }
.content-slide-overlay { position:absolute; inset:0; background:rgba(0,0,0,var(--content-overlay,0)); pointer-events:none; }
.content-slide-inner { position:relative; z-index:2; width:min(1180px, calc(100% - 48px)); margin:0 auto; padding:60px 0; }
.content-slide.position-left .content-slide-inner { text-align:left; }
.content-slide.position-center .content-slide-inner { text-align:center; }
.content-slide.position-right .content-slide-inner { text-align:right; }
.content-slide.align-center { text-align:center; }
.content-slide.align-right { text-align:right; }
.content-slide h2 { font-size:clamp(2rem,4vw,4.25rem); max-width:800px; margin-bottom:1rem; }
.content-slide.position-center h2 { margin-left:auto; margin-right:auto; }
.content-slide.position-right h2 { margin-left:auto; }
.content-slide-copy { max-width:680px; margin-bottom:1.5rem; }
.content-slide.position-center .content-slide-copy { margin-left:auto; margin-right:auto; }
.content-slide.position-right .content-slide-copy { margin-left:auto; }
.content-slider-content .content-slide,
.content-slider-cards .content-slide,
.content-slider-logos .content-slide,
.content-slider-testimonials .content-slide { height:auto; padding:16px; }
.content-builder-section { position:relative; }
.gsm-mega-menu { position:static; }
.gsm-mega-dropdown { width:min(1100px,calc(100vw - 40px)); left:50%!important; transform:translateX(-50%); padding:24px; }
@media(max-width:991.98px){.content-slider-hero .content-slide{min-height:440px}.gsm-mega-dropdown{width:auto;transform:none}.gsm-mobile-menu .dropdown-menu{position:static!important;transform:none!important;border:0;box-shadow:none!important;padding-left:1rem}}

/* Database-driven footer menus */
.gsm-footer .gsm-footer-links .nav-link,
.gsm-footer .gsm-footer-legal .nav-link { padding:0; display:inline; }
.gsm-footer .gsm-footer-links .nav-item,
.gsm-footer .gsm-footer-legal .nav-item { list-style:none; }
.gsm-footer .gsm-footer-legal { align-items:center; }
