:root{
    --sp-navy:#0A2647;
    --sp-blue-deep:#144272;
    --sp-blue-mid:#205295;
    --sp-blue-accent:#2C74B3;
    --sp-amber:#F2A93B;
    --sp-steel:#8695A4;
    --sp-paper:#F7F9FC;
    --sp-ink:#101F2E;
    --sp-ink-soft:#4A5A68;
    --sp-line:#E1E7EE;
    --sp-white:#FFFFFF;
}

/* PAGE HEAD */
.sp-page-head{background:var(--sp-navy); padding:60px 0 46px;}
.sp-page-head .sp-eyebrow{color:#7FA8D6;}
.sp-page-head h1{color:var(--sp-white); font-size:36px; margin:12px 0 12px; font-family:'Space Grotesk',sans-serif; font-weight:600;}
.sp-page-head p{color:#B9CBE0; font-size:16px; max-width:560px; margin-bottom:26px;}
.sp-page-head .sp-btn-primary{background:var(--sp-amber); color:#3A2405 !important; padding:14px 24px; font-size:14.5px; font-weight:600; display:inline-flex; align-items:center; gap:10px; border:none; cursor:pointer; text-decoration:none !important;}
.sp-page-head .sp-btn-primary:hover{opacity:.9; color:#3A2405 !important;}

/* SERVICE CARDS */
.sp-svc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.sp-svc-card{background:var(--sp-white); border:1px solid var(--sp-line); padding:28px; transition:border-color .15s ease;}
.sp-svc-card:hover{border-color:var(--sp-blue-accent);}
.sp-svc-num{font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--sp-steel); display:block; margin-bottom:16px;}
.sp-svc-card h3{font-size:17px; margin-bottom:10px; font-family:'Space Grotesk',sans-serif; font-weight:600; color:var(--sp-navy);}
.sp-svc-card p{font-size:13.8px; color:var(--sp-ink-soft); margin-bottom:18px;}
.sp-svc-card a{font-size:13.5px; font-weight:600; color:var(--sp-blue-mid); text-decoration:none !important;}
.sp-svc-card a:hover{color:var(--sp-blue-accent);}

@media (max-width:900px){
  .sp-svc-grid{grid-template-columns:1fr;}
  .sp-page-head h1{font-size:27px;}
}

/* HEADER */
.spare-header{
    position:sticky; top:0; z-index:100;
    background:rgba(10,38,71,0.97);
    backdrop-filter:blur(6px); width:100%;
}
.sticky.spare-header{
    position:fixed; top:0; left:0; width:100%; z-index:337;
    background:rgba(10,38,71,0.97);
    backdrop-filter:blur(6px);
}
.sp-top-bar{
    display:flex; align-items:center; justify-content:space-between;
    padding:6px 32px; max-width:1180px; margin:0 auto;
    border-bottom:1px solid rgba(255,255,255,0.08);
}
.sp-top-left span{font-size:12px; color:#7FA8D6; margin-right:20px;}
.sp-top-left span a{color:#7FA8D6; text-decoration:none;}
.sp-top-left span a:hover{color:var(--sp-amber);}
.sp-top-right{display:flex; align-items:center; gap:8px;}
.sp-top-right .sp-social{display:flex; gap:10px; list-style:none; margin:0; padding:0; margin-right:15px;}
.sp-top-right .sp-social li a{color:#7FA8D6; font-size:13px; text-decoration:none;}
.sp-top-right .sp-social li a:hover{color:var(--sp-amber);}

.sp-drop-btn{color:#7FA8D6 !important; padding:0 !important; border:none !important; font-size:12px !important; background:none !important; box-shadow:none !important; cursor:pointer;}
.sp-drop-btn-sm{font-size:12px !important;}
.sp-drop-btn::after{font-size:8px; vertical-align:middle;}
.sp-drop-menu{background:var(--sp-navy) !important; border:1px solid rgba(255,255,255,0.1) !important; border-radius:0 !important; min-width:150px !important; padding:8px 0 !important;}
.sp-drop-item{color:#C7D9EC !important; font-size:13px !important; padding:6px 16px !important; text-decoration:none !important;}
.sp-drop-item:hover{background:var(--sp-blue-deep) !important; color:var(--sp-white) !important;}

.sp-nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 32px; max-width:1180px; margin:0 auto;
}
.sp-logo{display:flex; align-items:center; gap:10px; text-decoration:none !important; flex-shrink:0;}
.sp-logo:hover{text-decoration:none !important;}
.sp-logo img{max-height:38px;}
.sp-logo .sp-mark{
    width:34px; height:34px;
    border:1.5px solid var(--sp-amber);
    display:grid; place-items:center;
    color:var(--sp-amber);
    font-family:'IBM Plex Mono', monospace;
    font-weight:600; font-size:14px; flex-shrink:0;
}
.sp-logo-text{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:19px; color:#fff; text-decoration:none;}
.sp-logo-text:hover{color:#fff;}
.sp-logo-text .sp-sub{display:block; font-family:'IBM Plex Mono', monospace; font-size:9.5px; letter-spacing:1.5px; color:#7FA8D6; font-weight:500; text-transform:uppercase;}

.sp-nav-links{display:flex; gap:34px; align-items:center; list-style:none; margin:0; padding:0;}
.sp-nav-links > li{position:relative;}
.sp-nav-links > li > a{
    color:#C7D9EC; font-size:14.5px; font-weight:500;
    text-decoration:none !important; transition:color .15s; white-space:nowrap;
    display:block;
}
.sp-nav-links > li > a:hover{color:var(--sp-white) !important;}
.sp-nav-links > li > a.active{color:var(--sp-amber) !important;}

.sp-has-child > a::after{content:"\f107"; font-family:"Font Awesome 5 Free"; font-weight:600; margin-left:6px; font-size:10px;}
.sp-sub-menu{
    position:absolute; top:100%; left:0;
    background:var(--sp-navy); min-width:220px;
    padding:10px 0; margin:0; list-style:none;
    opacity:0; visibility:hidden;
    transform:translateY(4px);
    transition:all .2s; z-index:999;
}
.sp-nav-links > li:hover > .sp-sub-menu{
    opacity:1; visibility:visible; transform:translateY(0);
}
.sp-sub-menu li a{
    display:block; padding:7px 20px;
    color:#C7D9EC !important; font-size:13.5px !important;
    text-decoration:none !important;
}
.sp-sub-menu li a:hover{background:var(--sp-blue-deep); color:#fff !important;}

.sp-btn-wa{
    background:var(--sp-amber); color:#3A2405 !important;
    padding:10px 20px; font-size:14px; font-weight:600;
    border:none; cursor:pointer; border-radius:0;
    display:flex; align-items:center; gap:8px; text-decoration:none !important;
    transition:opacity .15s; white-space:nowrap;
}
.sp-btn-wa:hover{opacity:.9; color:#3A2405 !important; text-decoration:none !important;}
.sp-burger{display:none; color:#fff; font-size:26px; cursor:pointer; background:none; border:none;}

/* SIDEBAR */
.sp-sidebar-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.55);z-index:200;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;}
.sp-sidebar-overlay.active{opacity:1;visibility:visible;}
.sp-sidebar{position:fixed;top:0;left:0;width:290px;height:100vh;background:var(--sp-navy);z-index:201;transform:translateX(-100%);transition:transform .3s ease;overflow-y:auto;display:flex;flex-direction:column;}
.sp-sidebar.open{transform:translateX(0);}
.sp-sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid rgba(255,255,255,0.08);flex-shrink:0;}
.sp-sidebar-head .sp-logo{margin:0;}
.sp-sidebar-head .sp-mark{width:30px;height:30px;font-size:12px;}
.sp-sidebar-head .sp-logo-text{font-size:17px;}
.sp-sidebar-head .sp-sub{font-size:8.5px;}
.sp-sidebar-close{background:none;border:none;color:#fff;font-size:30px;cursor:pointer;padding:0;line-height:1;opacity:.7;}
.sp-sidebar-close:hover{opacity:1;}
.sp-nav-links-mobile{list-style:none;padding:0;margin:0;flex:1;}
.sp-nav-links-mobile li a{display:block;padding:14px 24px;color:#C7D9EC;font-size:15px;font-weight:500;text-decoration:none !important;border-bottom:1px solid rgba(255,255,255,0.04);}
.sp-nav-links-mobile li a:hover{background:var(--sp-blue-deep);color:#fff !important;}
.sp-nav-links-mobile li a.active{color:var(--sp-amber) !important;}
.sp-has-child-mobile > a::after{content:"\f107";font-family:"Font Awesome 5 Free";font-weight:600;float:right;transition:transform .2s;}
.sp-has-child-mobile > a.open-sub::after{transform:rotate(180deg);}
.sp-sub-menu-mobile{list-style:none;padding:0;margin:0;display:none;background:rgba(0,0,0,0.12);}
.sp-sub-menu-mobile.open{display:block;}
.sp-sub-menu-mobile li a{padding-left:40px !important;font-size:14px !important;}
.sp-sidebar-foot{padding:16px 24px 24px;flex-shrink:0;}
.sp-sidebar-foot .sp-btn-wa{width:100%;justify-content:center;}

/* HERO */
.sp-hero{background:var(--sp-navy); padding:76px 0 90px; position:relative; overflow:hidden;}
.sp-hero .sp-wrap{display:grid; grid-template-columns:1.05fr 0.95fr; gap:60px; align-items:center;}
.sp-hero h1{font-size:44px; color:#fff; font-weight:700; margin-bottom:20px; letter-spacing:-0.5px; font-family:'Space Grotesk',sans-serif;}
.sp-hero h1 span{color:var(--sp-amber);}
.sp-hero .sp-lead{color:#B9CBE0; font-size:16.5px; max-width:480px; margin-bottom:32px;}
.sp-hero .sp-eyebrow{margin-bottom:18px; color:#7FA8D6;}
.sp-hero .sp-eyebrow::before{background:var(--sp-amber);}
.sp-hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}

/* UTILITY */
.sp-mono{font-family:'IBM Plex Mono', monospace;}
.sp-wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
.sp-eyebrow{
    font-family:'IBM Plex Mono', monospace;
    font-size:12px; letter-spacing:1.5px;
    text-transform:uppercase; color:var(--sp-blue-accent);
    font-weight:600; display:inline-flex; align-items:center; gap:8px;
}
.sp-eyebrow::before{content:""; width:6px; height:6px; background:var(--sp-amber); display:inline-block; border-radius:1px;}
.sp-btn-primary{
    background:var(--sp-amber); color:#3A2405 !important;
    padding:15px 26px; font-size:15px; font-weight:600;
    display:inline-flex; align-items:center; gap:10px;
    border:none; cursor:pointer; transition:opacity .15s;
    text-decoration:none !important;
}
.sp-btn-primary:hover{opacity:.9; color:#3A2405 !important; text-decoration:none !important;}
.sp-btn-ghost{
    background:transparent; color:#fff !important;
    border:1px solid rgba(255,255,255,0.3);
    padding:15px 26px; font-size:15px; font-weight:600;
    display:inline-flex; align-items:center; gap:10px;
    transition:border-color .15s; text-decoration:none !important;
}
.sp-btn-ghost:hover{border-color:#fff; color:#fff !important; text-decoration:none !important;}

/* TERMINAL PANEL */
.sp-term-panel{background:var(--sp-blue-deep); border:1px solid rgba(255,255,255,0.08); padding:22px;}
.sp-term-head{display:flex; justify-content:space-between; align-items:center; padding-bottom:14px; margin-bottom:14px; border-bottom:1px solid rgba(255,255,255,0.1);}
.sp-term-head span{font-family:'IBM Plex Mono', monospace; font-size:11px; color:#7FA8D6; letter-spacing:1px; text-transform:uppercase;}
.sp-term-dots{display:flex; gap:5px;}
.sp-term-dots i{width:6px;height:6px;background:var(--sp-amber); display:block;}
.sp-term-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:rgba(255,255,255,0.08);}
.sp-term-cell{background:var(--sp-blue-deep); padding:16px 14px;}
.sp-term-code{font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--sp-amber); display:block; margin-bottom:6px;}
.sp-term-name{color:#fff; font-size:14px; font-weight:500; margin-bottom:4px;}
.sp-term-count{color:#7FA8D6; font-size:12px;}

/* STATS */
.sp-stats{background:#fff; border-bottom:1px solid var(--sp-line); padding:34px 0;}
.sp-stats .sp-wrap{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center;}
.sp-stat-num{font-family:'Space Grotesk', sans-serif; font-weight:700; font-size:30px; color:var(--sp-navy);}
.sp-stat-label{font-size:13px; color:var(--sp-ink-soft); margin-top:4px;}
.sp-stats .sp-divider{border-left:1px solid var(--sp-line);}

/* SECTION */
section{padding:88px 0;}
.sp-section{padding:88px 0;}
.sp-sec-head{max-width:620px; margin-bottom:52px;}
.sp-sec-head h2{font-size:32px; margin:10px 0 14px; font-family:'Space Grotesk',sans-serif; font-weight:600; color:var(--sp-navy);}
.sp-sec-head p{color:var(--sp-ink-soft); font-size:15.5px;}

/* CATEGORY CARDS */
.sp-cat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.sp-cat-card{background:#fff; border:1px solid var(--sp-line); display:flex; flex-direction:column; transition:border-color .15s;}
.sp-cat-card:hover{border-color:var(--sp-blue-accent);}
.sp-cat-card-top{padding:22px 20px 18px; flex:1;}
.sp-cat-card-head{display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:18px;}
.sp-cat-icon-badge{width:48px; height:48px; border-radius:50%; background:#EAF2FA; color:var(--sp-blue-mid); display:grid; place-items:center; font-size:21px; flex-shrink:0; transition:background .15s,color .15s;}
.sp-cat-card:hover .sp-cat-icon-badge{background:var(--sp-amber); color:#3A2405;}
.sp-cat-code-stamp{font-family:'IBM Plex Mono', monospace; font-size:10.5px; color:var(--sp-steel); border:1px solid var(--sp-line); padding:4px 8px; white-space:nowrap; letter-spacing:0.3px;}
.sp-cat-card h3{font-size:16.5px; margin-bottom:8px; font-family:'Space Grotesk',sans-serif; font-weight:600; color:var(--sp-navy);}
.sp-cat-card p{font-size:13.5px; color:var(--sp-ink-soft);}
.sp-cat-card-cta{border-top:1px solid var(--sp-line); padding:14px 20px; font-size:13px; font-weight:600; color:var(--sp-blue-mid) !important; display:flex; align-items:center; justify-content:space-between; text-decoration:none !important;}
.sp-cat-card-cta:hover{color:var(--sp-blue-accent) !important; background:#F5F9FC; text-decoration:none !important;}

/* WHY */
.sp-why{background:#fff; border-top:1px solid var(--sp-line); border-bottom:1px solid var(--sp-line);}
.sp-why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:0;}
.sp-why-item{padding:0 26px 0 0; border-right:1px solid var(--sp-line);}
.sp-why-item:last-child{border-right:none; padding-right:0;}
.sp-why-num{font-family:'IBM Plex Mono', monospace; color:var(--sp-steel); font-size:12px; margin-bottom:14px; display:block;}
.sp-why-item h3{font-size:16.5px; margin-bottom:10px; font-family:'Space Grotesk',sans-serif; font-weight:600; color:var(--sp-navy);}
.sp-why-item p{font-size:13.8px; color:var(--sp-ink-soft);}

/* PROCESS */
.sp-process-steps{display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative; margin-top:10px;}
.sp-process-steps::before{content:""; position:absolute; top:19px; left:5%; right:5%; height:1px; background:var(--sp-line); z-index:0;}
.sp-p-step{position:relative; z-index:1; padding-right:20px;}
.sp-p-step .sp-p-dot{width:38px; height:38px; background:var(--sp-navy); color:var(--sp-amber); font-family:'IBM Plex Mono', monospace; font-weight:600; font-size:14px; display:grid; place-items:center; margin-bottom:20px;}
.sp-p-step h4{font-size:15.5px; color:var(--sp-navy); margin-bottom:8px; font-family:'IBM Plex Sans'; font-weight:600;}
.sp-p-step p{font-size:13.8px; color:var(--sp-ink-soft);}

/* COVERAGE */
.sp-coverage{background:var(--sp-navy); color:#fff;}
.sp-coverage .sp-sec-head h2{color:#fff;}
.sp-coverage .sp-sec-head p{color:#B9CBE0;}
.sp-coverage .sp-eyebrow{color:#7FA8D6;}
.sp-coverage .sp-eyebrow::before{background:var(--sp-amber);}
.sp-cov-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,0.1);}
.sp-cov-item{background:var(--sp-blue-deep); padding:26px 20px; text-align:center;}
.sp-flag-code{font-family:'IBM Plex Mono', monospace; color:var(--sp-amber); font-size:12px; margin-bottom:10px; display:block;}
.sp-cov-item h4{color:#fff; font-size:16px; font-family:'Space Grotesk';}

/* CTA */
.sp-cta-band{background:var(--sp-amber); color:#3A2405;}
.sp-cta-band .sp-wrap{display:flex; align-items:center; justify-content:space-between; gap:30px; padding:56px 32px; flex-wrap:wrap;}
.sp-cta-band h2{color:#2E1D04; font-size:26px; max-width:480px;}
.sp-cta-band .sp-btn-primary{background:var(--sp-navy); color:#fff !important;}
.sp-cta-band .sp-btn-primary:hover{background:#0D2F52; color:#fff !important;}

/* BRANDS */
.sp-brands{background:#fff; border-top:1px solid var(--sp-line); border-bottom:1px solid var(--sp-line);}
.sp-brand-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:1px; background:var(--sp-line); border:1px solid var(--sp-line);}
.sp-brand-plate{background:var(--sp-paper); padding:22px 10px; text-align:center; font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:15px; color:var(--sp-navy);}

/* FOOTER */
.spare-footer{background:var(--sp-navy); color:#B9CBE0; padding:56px 0 28px;}
.sp-foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,0.1);}
.spare-footer h5{color:#fff; font-size:13px; letter-spacing:1px; text-transform:uppercase; font-family:'IBM Plex Mono', monospace; font-weight:600; margin-bottom:18px;}
.sp-flogo{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:19px; color:#fff; margin-bottom:12px;}
.spare-footer p, .spare-footer a{font-size:14px; color:#9FB6D0;}
.spare-footer ul{list-style:none; padding-left:0;}
.spare-footer li{margin-bottom:10px;}
.spare-footer a:hover{color:#fff !important; text-decoration:none !important;}
.sp-foot-bottom{display:flex; justify-content:space-between; padding-top:22px; font-size:12.5px; color:#7189A6; flex-wrap:wrap; gap:10px;}
.sp-social-icons{display:flex;gap:8px;}
.sp-social-icons ul{list-style:none;display:flex;gap:8px;padding:0;}
.sp-social-icons ul li a{width:34px;height:34px;display:grid;place-items:center;background:rgba(255,255,255,0.1); color:#9FB6D0 !important; font-size:14px; border-radius:50%; transition:all .2s;}
.sp-social-icons ul li a:hover{background:var(--sp-amber) !important; color:#3A2405 !important;}

/* SHOP SEARCH */
.sp-shop-search{flex:1;border:1px solid var(--sp-line);padding:12px 16px;font-size:14.5px;font-family:'IBM Plex Sans',sans-serif;color:var(--sp-ink);background:var(--sp-paper);}
.sp-shop-search:focus{outline:none;border-color:var(--sp-blue-accent);}

/* SCROLL UP */
#scroll_up{position:fixed; bottom:90px; right:26px; z-index:199; width:44px;height:44px;background:var(--sp-navy);color:#fff; display:none; line-height:44px; text-align:center; font-size:18px; cursor:pointer; border-radius:50%; box-shadow:0 4px 16px rgba(0,0,0,0.25); transition:background .15s, transform .15s; text-decoration:none;}
#scroll_up:hover{background:var(--sp-blue-accent);color:#fff; transform:scale(1.05);}

/* BREADCRUMB */
.breadcrumb-area{position:relative; padding:160px 0 80px; background-size:cover; background-position:center;}
.breadcrumb-area .breadcrumb-txt span{font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--sp-amber); letter-spacing:1.5px; text-transform:uppercase;}
.breadcrumb-area .breadcrumb-txt h1{color:#fff; font-size:36px; margin:8px 0 14px; font-family:'Space Grotesk',sans-serif; font-weight:600;}
.breadcrumb-area .breadcrumb-txt ul.breadcumb{list-style:none;padding:0;margin:0;}
.breadcrumb-area .breadcrumb-txt ul.breadcumb li{display:inline-block; color:#B9CBE0; font-size:14px;}
.breadcrumb-area .breadcrumb-txt ul.breadcumb li a{color:#7FA8D6; text-decoration:none;}
.breadcrumb-area .breadcrumb-txt ul.breadcumb li a:hover{color:var(--sp-amber);}
.breadcrumb-area .breadcrumb-txt ul.breadcumb li+li::before{content:"/"; margin:0 10px; color:#7189A6;}
.breadcrumb-area-overlay{position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(10,38,71,0.85);}

/* GALLERY PAGE */
.sp-gallery-tabs{background:var(--sp-white); border-bottom:1px solid var(--sp-line); padding:20px 0;}
.sp-gallery-tab-row{display:flex; gap:10px; flex-wrap:wrap;}
.sp-gallery-tab{font-size:13.5px; font-weight:600; padding:9px 18px; border:1px solid var(--sp-line); color:var(--sp-ink-soft); cursor:pointer; background:var(--sp-white); font-family:'IBM Plex Sans',sans-serif;}
.sp-gallery-tab.active{background:var(--sp-navy); color:var(--sp-white); border-color:var(--sp-navy);}
.sp-gallery-tab:hover:not(.active){border-color:var(--sp-blue-accent); color:var(--sp-blue-accent);}
.sp-gallery-section{padding:50px 0 90px;}
.sp-gallery-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
.sp-gallery-tile{aspect-ratio:1/1; background:var(--sp-navy); position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid var(--sp-line); overflow:hidden;}
.sp-gallery-tile-overlay{position:absolute; inset:0; background:linear-gradient(to top,rgba(10,38,71,0.85) 0%,rgba(10,38,71,0.2) 50%,rgba(10,38,71,0.1) 100%); z-index:1;}
.sp-gallery-tile .sp-gallery-tile-icon{font-size:34px; color:#3D6798; margin-bottom:10px; line-height:1; position:relative; z-index:2;}
.sp-gallery-tile .sp-gallery-tile-icon i{font-size:34px;}
.sp-gallery-tile .sp-gallery-tile-label{font-family:'IBM Plex Mono',monospace; font-size:11px; color:#fff; letter-spacing:0.5px; text-transform:uppercase; position:relative; z-index:2; text-shadow:0 1px 4px rgba(0,0,0,0.5);}
.sp-gallery-tile .sp-gallery-tile-icon + .sp-gallery-tile-label{color:#7FA8D6; text-shadow:none;}
.sp-gallery-tile.big{grid-column:span 2; grid-row:span 2;}
.sp-gallery-tile.big .sp-gallery-tile-icon{font-size:52px;}
.sp-gallery-tile.big .sp-gallery-tile-icon i{font-size:52px;}

@media (max-width: 900px){
  .sp-gallery-grid{grid-template-columns:repeat(2,1fr);}
  .sp-gallery-tile.big{grid-column:span 2; grid-row:span 1;}
}

/* FAQ PAGE */
.sp-faq-section{padding:50px 0 80px;}
.sp-faq-wrap{max-width:900px;margin:0 auto;padding:0 32px;}
.sp-faq-group-title{
  font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--sp-blue-accent); font-weight:600;
  letter-spacing:1px; text-transform:uppercase; margin:38px 0 4px;
}
.sp-faq-group-title:first-child{margin-top:0;}
.sp-faq-item{
  border-bottom:1px solid var(--sp-line); padding:18px 0;
}
.sp-faq-item summary{
  list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between;
  font-size:15.5px; font-weight:500; color:var(--sp-navy);
}
.sp-faq-item summary::-webkit-details-marker{display:none;}
.sp-faq-item summary::marker{display:none;content:'';}
.sp-faq-plus{
  font-family:'IBM Plex Mono',monospace; font-size:18px; color:var(--sp-blue-accent); flex-shrink:0; margin-left:16px;
}
.sp-faq-item[open] .sp-faq-plus{color:var(--sp-amber);}
.sp-faq-item p{font-size:14.5px; color:var(--sp-ink-soft); margin-top:14px; padding-right:30px;}

@media (max-width: 900px){
  .sp-faq-item summary{font-size:14.5px;}
}

/* CONTACT PAGE */
.sp-contact-section{padding:70px 0 90px;}
.sp-contact-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:56px;align-items:flex-start;}
.sp-contact-info-box{border:1px solid var(--sp-line);background:var(--sp-white);}
.sp-contact-info-row{display:flex;gap:16px;padding:20px 22px;border-bottom:1px solid var(--sp-line);}
.sp-contact-info-row:last-child{border-bottom:none;}
.sp-contact-icon{width:38px;height:38px;border-radius:50%;background:#EAF2FA;color:var(--sp-blue-mid);display:grid;place-items:center;font-size:17px;flex-shrink:0;}
.sp-contact-info-row h4{font-size:14px;margin-bottom:4px;font-family:'Space Grotesk',sans-serif;font-weight:600;color:var(--sp-navy);}
.sp-contact-info-row p,.sp-contact-info-row a{font-size:13.8px;color:var(--sp-ink-soft);}
.sp-contact-info-row a:hover{color:var(--sp-blue-accent);text-decoration:none !important;}
.sp-contact-map-box{margin-top:18px;border:1px solid var(--sp-line);background:var(--sp-navy);aspect-ratio:16/7;display:grid;place-items:center;overflow:hidden;}
.sp-contact-map-box iframe{width:100%;height:100%;border:0;}
.sp-map-label{font-family:'IBM Plex Mono',monospace;color:#7FA8D6;font-size:12px;letter-spacing:1px;text-transform:uppercase;}

.sp-contact-form-box{border:1px solid var(--sp-line);background:var(--sp-white);padding:32px;}
.sp-contact-form-box h2{font-size:22px;margin-bottom:6px;font-family:'Space Grotesk',sans-serif;font-weight:600;color:var(--sp-navy);}
.sp-contact-form-sub{font-size:14px;color:var(--sp-ink-soft);margin-bottom:24px;}
.sp-contact-field{margin-bottom:18px;}
.sp-contact-field label{display:block;font-size:13px;font-weight:600;color:var(--sp-ink);margin-bottom:7px;}
.sp-contact-field input,.sp-contact-field select,.sp-contact-field textarea{
  width:100%;border:1px solid var(--sp-line);padding:12px 14px;font-size:14.5px;
  font-family:'IBM Plex Sans',sans-serif;color:var(--sp-ink);background:var(--sp-paper);
}
.sp-contact-field input:focus,.sp-contact-field select:focus,.sp-contact-field textarea:focus{outline:none;border-color:var(--sp-blue-accent);}
.sp-contact-field textarea{resize:vertical;min-height:110px;}
.sp-contact-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
button.sp-contact-btn-submit{background:var(--sp-amber);color:#3A2405;padding:14px 26px;font-size:15px;font-weight:600;border:none;cursor:pointer;width:100%;border-radius:0;}
button.sp-contact-btn-submit:hover{opacity:0.9;background:var(--sp-amber)!important;}
.sp-contact-form-note{font-size:12.5px;color:var(--sp-ink-soft);margin-top:12px;}

@media (max-width: 900px){
  .sp-contact-grid{grid-template-columns:1fr;gap:36px;}
  .sp-contact-field-row{grid-template-columns:1fr;}
}

/* WHATSAPP FLOAT */
.sp-wa-float{position:fixed; bottom:26px; right:26px; z-index:200; background:#25D366; color:#fff; width:58px; height:58px; border-radius:50%; display:grid; place-items:center; box-shadow:0 4px 16px rgba(0,0,0,0.25); font-size:28px; transition:transform .15s; text-decoration:none;}
.sp-wa-float:hover{transform:scale(1.05); color:#fff; text-decoration:none;}

/* FOOTER WIDGETS */
.spare-footer .widget_box.about_widget img{margin-bottom:20px;}
.spare-footer .widget_box h4.widget_title{color:#fff; font-size:16px; margin-bottom:20px; font-family:'Space Grotesk';}
.spare-footer .widget_box .widget_link li{line-height:28px; margin-bottom:0;}
.spare-footer .widget_box .widget_link li a{color:#9FB6D0 !important; font-size:14px;}
.spare-footer .widget_box .widget_link li a:hover{color:#fff !important; padding-left:5px;}
.spare-footer .widget_box.contact_widget p{margin-bottom:8px; color:#9FB6D0; font-size:14px;}
.spare-footer .widget_box.newsletter_box p{margin-bottom:15px; color:#9FB6D0;}
.spare-footer .widget_box.newsletter_box .form_control{background:rgba(255,255,255,0.08); border:none; color:#fff; padding:10px 14px; width:100%; margin-bottom:8px; height:44px;}
.spare-footer .widget_box.newsletter_box .form_control::placeholder{color:#7189A6;}
.spare-footer .widget_box.newsletter_box button[type=submit]{background:var(--sp-amber); color:#3A2405; border:none; padding:10px 20px; font-weight:600; font-size:13px; cursor:pointer;}
.spare-footer .copyright_text p{color:#7189A6; font-size:12.5px; margin:0;}

