:root{
  --navy:#06111d;
  --navy2:#0b2033;
  --navy3:#0e2d49;
  --blue:#0b4c8f;
  --red:#d91443;
  --gold:#b9934e;
  --paper:#ffffff;
  --stone:#f7f4ef;
  --soft:#f7f9fc;
  --text:#07121f;
  --muted:#53697f;
  --line:rgba(7,18,31,.10);
  --shadow:0 24px 60px rgba(7,18,31,.12);
  --shadow-strong:0 36px 90px rgba(7,18,31,.20);
  --radius:24px;
}

/* =====================================================
   BASE
===================================================== */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,Manrope,"Segoe UI",Arial,sans-serif;
  color:var(--text);
  background:#fff;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.wrap{width:min(1180px,92%);margin:auto}
.center,
.section-head.center{
  text-align:left;
  max-width:820px;
  margin:0 0 52px;
}

/* =====================================================
   TOP BAR + HEADER
===================================================== */
.topbar{
  background:#040b13;
  color:#fff;
  font-size:12px;
  font-weight:800;
}
.topbar-inner{
  height:38px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.social{display:flex;gap:10px}
.social a{
  width:22px;
  height:22px;
  border:1px solid rgba(255,255,255,.25);
  display:grid;
  place-items:center;
  border-radius:50%;
}

.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(255,255,255,.985);
  border-bottom:1px solid var(--line);
  box-shadow:0 10px 30px rgba(7,18,31,.05);
}
.nav{
  min-height:98px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:34px;
}
.brand img{
  width:188px!important;
  max-width:188px!important;
  height:auto!important;
  filter:drop-shadow(0 8px 14px rgba(7,18,31,.08));
}
.nav nav.main-nav{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:34px;
  font-weight:700;
}
.nav-menu{
  display:flex;
  align-items:center;
  gap:26px;
  white-space:nowrap;
}
.nav-actions{
  display:flex;
  align-items:center;
  gap:16px;
  padding-left:24px;
  margin-left:2px;
  border-left:1px solid rgba(7,18,31,.10);
  white-space:nowrap;
}
.nav nav a{color:#092039;position:relative}
.nav nav a:not(.btn){padding:10px 0}
.nav nav a:not(.btn):after{
  content:"";
  position:absolute;
  left:0;
  bottom:4px;
  width:0;
  height:2px;
  background:linear-gradient(90deg,var(--red),var(--blue));
  border-radius:10px;
  transition:.25s;
}
.nav nav a:hover,
.nav nav a.active{color:var(--red)}
.nav nav a:hover:after,
.nav nav a.active:after{width:100%}
.nav nav.main-nav a:not(.btn){
  font-size:15px;
  font-weight:800;
  letter-spacing:-.01em;
}
.phone,
.nav-actions .phone{
  font-size:15px;
  font-weight:900;
  color:#083c68!important;
}
.menu-toggle{
  display:none;
  background:var(--navy);
  color:#fff;
  border:0;
  border-radius:10px;
  padding:10px 13px;
  font-size:18px;
}

/* =====================================================
   BUTTONS
===================================================== */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  padding:15px 25px;
  font-weight:900;
  border:1px solid transparent;
  transition:.25s ease;
  box-shadow:0 15px 32px rgba(7,18,31,.12);
  cursor:pointer;
}
.btn.small{padding:13px 22px}
.nav-actions .btn.small{
  min-width:142px;
  padding:14px 22px;
}
.btn.primary,
.btn.primary:visited,
.nav-actions .btn.primary,
.nav-actions .btn.primary:visited{
  background:linear-gradient(135deg,var(--red),#b80f35);
  color:#fff;
  border:1px solid transparent;
}
.btn.primary:hover,
.btn.primary:focus,
.btn.primary:active,
.nav-actions .btn.primary:hover,
.nav-actions .btn.primary:focus,
.nav-actions .btn.primary:active{
  background:#ffffff;
  color:var(--blue);
  border-color:var(--red);
  outline:none;
}
.btn.primary:hover *,
.btn.primary:focus *,
.btn.primary:active *,
.nav-actions .btn.primary:hover *,
.nav-actions .btn.primary:focus *,
.nav-actions .btn.primary:active *{
  color:var(--gold);
}
.btn.ghost{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.38);
  color:#fff;
}
.btn.minimal{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.25);
  color:#fff;
}
.btn:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 45px rgba(7,18,31,.18);
}

.eyebrow{
  display:inline-flex;
  background:var(--red);
  color:#fff!important;
  border-radius:999px;
  padding:10px 18px;
  text-transform:uppercase;
  letter-spacing:.10em;
  font-size:11px;
  font-weight:900;
  line-height:1;
}

/* =====================================================
   HOME HERO
===================================================== */
.signature-hero{
  position:relative;
  min-height:720px;
  background:
    linear-gradient(90deg,rgba(4,11,19,.93) 0%,rgba(7,18,31,.82) 46%,rgba(7,18,31,.42) 100%),
    var(--hero) center center/cover no-repeat;
  overflow:hidden;
  color:#fff;
}
.signature-hero:before{
  content:"";
  position:absolute;
  left:-6%;
  right:-6%;
  bottom:-1px;
  height:120px;
  background:#fff;
  clip-path:polygon(0 65%,34% 35%,64% 50%,100% 28%,100% 100%,0 100%);
  z-index:1;
}
.signature-hero:after{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:54%;
  height:56px;
  background:linear-gradient(100deg,transparent 0 9%,rgba(217,20,67,.62) 10%,rgba(185,147,78,.18) 48%,transparent 76%);
  transform:skewY(-7deg);
  opacity:.55;
}
.hero-bgmark{display:none!important}
.hero-layout{
  position:relative;
  z-index:2;
  min-height:690px;
  display:grid;
  grid-template-columns:minmax(0,690px) 440px;
  align-items:center;
  gap:74px;
}
.hero-copy h1{
  font-size:clamp(44px,5.4vw,74px)!important;
  line-height:.98!important;
  letter-spacing:-.065em!important;
  color:#fff!important;
  margin:26px 0 22px!important;
  max-width:760px!important;
  font-weight:900!important;
  text-shadow:0 18px 40px rgba(0,0,0,.35);
}
.hero-copy p{
  font-size:19px;
  line-height:1.62;
  color:rgba(242,247,252,.92)!important;
  max-width:660px;
  font-weight:550;
  text-shadow:0 10px 24px rgba(0,0,0,.25);
}
.hero-actions{
  display:flex;
  gap:15px;
  flex-wrap:wrap;
  margin-top:30px;
}

/* Hero right card */
.signature-hero .hero-feature-card{
  align-self:end;
  width:min(100%,440px);
  max-width:440px;
  margin-bottom:104px;
  padding:30px 32px 28px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.28);
  border-top:4px solid var(--red);
  background:
    linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.08) 44%,rgba(6,17,29,.56)),
    rgba(6,17,29,.42);
  box-shadow:0 34px 88px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.18);
  backdrop-filter:blur(16px);
  color:#fff;
}
.signature-hero .hero-feature-card .feature-kicker,
.signature-hero .hero-feature-card > span{
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  margin:0 0 18px;
  text-align:center;
  color:rgba(255,255,255,.86)!important;
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.signature-hero .hero-feature-card h3{
  font-size:28px;
  line-height:1.1;
  margin:0 0 18px;
  color:#fff;
  font-weight:900;
}
.material-tags,
.feature-points{
  list-style:none;
  margin:0;
  padding:0;
}
.signature-hero .material-tags{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:0 0 22px;
  width:100%;
}
.signature-hero .material-tags li{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 6px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.30);
  background:rgba(255,255,255,.13);
  color:#fff;
  font-size:13px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}
.signature-hero .hero-feature-card p{
  max-width:100%;
  margin:0 auto 20px;
  text-align:center;
  color:rgba(245,248,252,.88)!important;
  font-size:15px;
  line-height:1.6;
}
.signature-hero .feature-points{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin:0;
  padding:18px 0 0;
  border-top:1px solid rgba(255,255,255,.18);
}
.signature-hero .feature-points li{
  position:relative;
  padding-left:28px;
  color:rgba(255,255,255,.88);
  font-size:14px;
  font-weight:850;
}
.signature-hero .feature-points li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:-1px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:var(--red);
  color:#fff;
  font-size:12px;
  line-height:18px;
  text-align:center;
  font-weight:900;
}

/* =====================================================
   FLOATING BAND
===================================================== */
.signature-band{
  position:relative;
  margin-top:-72px;
  z-index:5;
  background:#fff;
}
.band-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  background:linear-gradient(180deg,#fff,#fbfcfd);
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.band-grid div{
  padding:28px 30px;
  border-right:1px solid rgba(7,18,31,.08);
}
.band-grid div:last-child{border-right:0}
.band-grid b{
  display:block;
  color:var(--red);
  font-size:12px;
  margin-bottom:8px;
  letter-spacing:.10em;
}
.band-grid span{
  display:block;
  color:#0a3d68;
  font-size:18px;
  font-weight:900;
  line-height:1.2;
}

/* =====================================================
   GENERAL SECTIONS
===================================================== */
section{padding:90px 0}
.craft-section,
.process-section,
.gallery-signature{padding:105px 0}
.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:74px;
  align-items:center;
}
.section-head,
.align-left .section-head{
  text-align:left;
  max-width:820px;
  margin:0 0 48px;
}
.section-head-title,
.section-head h2,
.area-layout h2,
.cta h2{
  font-size:clamp(38px,4.8vw,64px);
  line-height:1.02;
  letter-spacing:-.06em;
  margin:22px 0;
  color:var(--text);
  font-weight:900;
  text-align:left;
}
.content,
.section-head p{
  color:var(--muted);
  font-size:17px;
  line-height:1.75;
}
.section-head h2:after,
.section-head-title:after{
  content:"";
  display:block;
  width:78px;
  height:3px;
  margin-top:20px;
  margin-left:0;
  margin-right:0;
  border-radius:30px;
  background:linear-gradient(90deg,var(--red),var(--blue));
}
.ticks{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:28px;
}
.ticks span{
  background:linear-gradient(180deg,#fff,#f8f5ef);
  border:1px solid var(--line);
  border-left:4px solid var(--red);
  border-radius:16px;
  padding:17px 18px;
  font-weight:900;
  color:#0a3d68;
  box-shadow:0 16px 38px rgba(7,18,31,.07);
}
.image-stack{position:relative;min-height:520px}
.image-stack .main-img{
  height:470px;
  width:86%;
  object-fit:cover;
  border-radius:28px;
  box-shadow:var(--shadow-strong);
  margin-left:auto;
}
.image-stack .float-img{
  position:absolute;
  left:0;
  bottom:0;
  width:52%;
  height:260px;
  object-fit:cover;
  border:12px solid #fff;
  border-radius:24px;
  box-shadow:var(--shadow-strong);
}

/* =====================================================
   SERVICES
===================================================== */
.services-showcase{
  padding:105px 0;
  background:linear-gradient(180deg,#fff 0%,var(--stone) 100%);
  position:relative;
  overflow:hidden;
}
.services-showcase:before{
  content:"";
  position:absolute;
  left:-10%;
  right:-10%;
  top:25%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(185,147,78,.22),transparent);
  transform:rotate(-3deg);
}
.service-signature-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
  position:relative;
}
.signature-card{
  display:block;
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  overflow:hidden;
  box-shadow:var(--shadow);
  transition:.25s;
}
.signature-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-strong);
}
.signature-card img{
  height:255px;
  width:100%;
  object-fit:cover;
  filter:saturate(.95) contrast(1.02);
}
.signature-card div{padding:28px}
.signature-card span{
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--red);
  font-weight:900;
}
.signature-card h3{
  font-size:26px;
  color:#0a3d68;
  margin:10px 0;
  font-weight:900;
  letter-spacing:-.035em;
}
.signature-card p{
  color:#5b6f82;
  line-height:1.7;
  margin:0;
}

/* =====================================================
   PROCESS
===================================================== */
.process-section{background:linear-gradient(180deg,#fff,#fbfcfd)}
.process-lane{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  position:relative;
}
.process-lane:before{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:58px;
  height:2px;
  background:linear-gradient(90deg,var(--red),var(--gold),var(--blue));
  opacity:.75;
}
.step{
  position:relative;
  z-index:2;
  min-height:245px;
  background:linear-gradient(145deg,#06121f,#0a2035);
  border:1px solid rgba(255,255,255,.10);
  border-top:3px solid var(--red);
  border-radius:22px;
  padding:34px 30px;
  color:#fff;
  box-shadow:0 26px 60px rgba(7,18,31,.16);
}
.step b{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(185,147,78,.10);
  border:1px solid rgba(185,147,78,.34);
  color:#d5aa5c;
  font-size:22px;
  margin-bottom:24px;
  font-weight:900;
}
.step h3{
  color:#fff!important;
  font-size:21px;
  margin:0 0 14px;
  font-weight:900;
}
.step p{
  color:rgba(232,240,248,.86)!important;
  line-height:1.65;
  margin:0;
  font-size:15px;
}

/* =====================================================
   DIFFERENCE
===================================================== */
.difference-section{
  padding:clamp(88px,8vw,120px) 0;
  background:
    radial-gradient(circle at 88% 18%,rgba(11,76,143,.05),transparent 26%),
    linear-gradient(180deg,#ffffff 0%,#fbfaf7 100%);
}
.difference-section .section-head{max-width:780px}
.difference-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  margin-top:36px;
}
.difference-card{
  min-height:238px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:28px;
  border:1px solid var(--line);
  border-radius:20px;
  background:linear-gradient(180deg,#fff,#fbfcfd);
  box-shadow:0 20px 52px rgba(7,18,31,.08);
}
.difference-card b{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(217,20,67,.09);
  color:var(--red);
  font-size:14px;
  font-weight:900;
}
.difference-card h3{
  margin:20px 0 10px;
  color:#0a3d68;
  font-size:23px;
  line-height:1.12;
  font-weight:900;
  letter-spacing:-.035em;
}
.difference-card p{
  margin:0;
  color:var(--muted);
  line-height:1.7;
}
.difference-proof{
  display:grid;
  grid-template-columns:320px 1fr;
  align-items:center;
  gap:34px;
  margin-top:24px;
  padding:28px 34px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 14% 20%,rgba(255,255,255,.10),transparent 26%),
    linear-gradient(135deg,#06111d 0%,#0b2033 100%);
  color:#fff;
  box-shadow:0 28px 70px rgba(7,18,31,.16);
  overflow:hidden;
  position:relative;
}
.difference-proof:after{
  content:"";
  position:absolute;
  right:-80px;
  top:-80px;
  width:220px;
  height:220px;
  border:26px solid rgba(255,255,255,.045);
  border-radius:50%;
}
.difference-year{
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
}
.difference-year .since-label{
  color:#d5aa5c;
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.difference-year strong{
  color:#fff;
  font-size:clamp(44px,5.2vw,72px);
  line-height:.9;
  letter-spacing:-.055em;
}
.difference-year span,
.difference-year .since-area{
  max-width:140px;
  color:rgba(255,255,255,.78);
  font-size:14px;
  font-weight:900;
  line-height:1.25;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.difference-proof p{
  max-width:760px;
  margin:0;
  color:rgba(232,240,248,.88);
  font-size:16px;
  line-height:1.75;
}

/* =====================================================
   SLABS
===================================================== */
.slabs-preview,
.slabs-page{
  background:linear-gradient(180deg,#fff,#f8fafc);
  padding:100px 0;
}
.split-head{
  display:grid;
  grid-template-columns:.9fr .7fr;
  gap:60px;
  align-items:end;
  max-width:100%;
}
.split-head p{margin-bottom:8px}
/* SLABS HEADER - SAME ALIGNMENT AS DIFFERENCE SECTION */

.slabs-preview .slabs-head{
  max-width:820px;
  margin:0 0 56px;
  text-align:left;
  display:block;
}

.slabs-preview .slabs-head .eyebrow{
  display:inline-flex;
  margin-bottom:22px;
}

.slabs-preview .slabs-head h2{
  max-width:760px;
  margin:22px 0;
}

.slabs-preview .slabs-head p{
  max-width:760px;
  margin:0;
}
.slab-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.slab-grid.preview{grid-template-columns:repeat(3,minmax(0,1fr))}
.slab-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--shadow);
  transition:.25s;
}
.slab-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-strong);
}
.slab-card img{
  width:100%;
  height:260px;
  object-fit:cover;
  filter:saturate(.96) contrast(1.02);
}
.slab-body{padding:24px}
.slab-top{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
}
.slab-top span{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--red);
  font-weight:900;
}
.status{
  font-size:11px;
  text-transform:uppercase;
  border-radius:999px;
  padding:7px 10px;
  background:#eef4f9;
  color:#0a3d68;
}
.status.available{background:rgba(20,134,83,.12);color:#0f6a42}
.status.reserved{background:rgba(185,147,78,.16);color:#805d1c}
.status.sold{background:rgba(217,20,67,.12);color:#a60f30}
.slab-card h3{
  font-size:24px;
  letter-spacing:-.035em;
  color:#0a3d68;
  margin:12px 0 8px;
}
.slab-card p{
  color:var(--muted);
  line-height:1.55;
  margin:7px 0;
}
.center-action{margin-top:34px;text-align:center}
.slab-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:30px;
}
.filter-pills{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.filter-pills button{
  border:1px solid var(--line);
  background:#fff;
  border-radius:999px;
  padding:11px 15px;
  font-weight:900;
  color:#0a3d68;
  cursor:pointer;
}
.filter-pills button.active,
.filter-pills button:hover{
  background:var(--red);
  color:#fff;
  border-color:var(--red);
}
#slabSearch{max-width:360px;margin:0}
.slab-detail-hero{
  padding:90px 0;
  background:linear-gradient(180deg,#fff,var(--stone));
}
.slab-detail-layout{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:44px;
  align-items:center;
}
.slab-detail-layout img{
  border-radius:28px;
  box-shadow:var(--shadow-strong);
  width:100%;
  height:min(640px,62vh);
  object-fit:cover;
}
.slab-detail-panel{
  background:#fff;
  border:1px solid var(--line);
  border-radius:26px;
  padding:36px;
  box-shadow:var(--shadow);
}
.slab-detail-panel h1{
  font-size:clamp(40px,5vw,62px);
  line-height:1;
  letter-spacing:-.06em;
  margin:22px 0 16px;
}
.slab-detail-panel p{
  color:var(--muted);
  line-height:1.7;
}
.slab-specs{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  margin:26px 0;
}
.slab-specs span{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:15px;
  padding:14px;
  color:#0a3d68;
  font-weight:900;
}
.slab-specs b{
  display:block;
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.1em;
  margin-bottom:6px;
}

/* =====================================================
   GALLERY
===================================================== */
.gallery-signature{background:linear-gradient(180deg,var(--stone),#fff)}
.gallery-signature .section-head{max-width:790px}
.masonry{columns:4 220px;column-gap:18px}
.masonry a{
  display:block;
  break-inside:avoid;
  margin:0 0 18px;
}
.masonry img{
  width:100%;
  border-radius:18px;
  border:1px solid var(--line);
  box-shadow:0 22px 55px rgba(7,18,31,.12);
  transition:.25s;
}
.masonry img:hover{transform:scale(1.018) translateY(-3px)}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.gallery-grid img{
  border-radius:18px;
  height:240px;
  width:100%;
  object-fit:cover;
  box-shadow:0 18px 42px rgba(8,31,55,.10);
}

/* =====================================================
   SERVICE AREAS
===================================================== */
.service-area-signature{
  padding:100px 0;
  background:linear-gradient(135deg,#050d17 0%,#071726 56%,#0b2033 100%);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.service-area-signature:before{
  content:"";
  position:absolute;
  left:10%;
  right:10%;
  top:25%;
  height:90px;
  border-top:3px solid rgba(217,20,67,.30);
  border-radius:50%;
  transform:rotate(-4deg);
}
.area-layout{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:70px;
  align-items:center;
  position:relative;
}
.area-layout h2{color:#fff!important}
.area-layout p{
  color:rgba(232,240,248,.88)!important;
  font-size:18px;
  line-height:1.7;
}
.area-map{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}
.area-map span{
  background:linear-gradient(180deg,#fff,#f8f5ef);
  color:#0a3d68;
  border-radius:16px;
  padding:19px 22px;
  font-weight:900;
  box-shadow:0 18px 44px rgba(0,0,0,.16);
  position:relative;
}
.area-map span:after{
  content:"›";
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  font-size:25px;
  color:rgba(10,61,104,.36);
  font-family:Arial,sans-serif;
}

/* =====================================================
   FAQ
===================================================== */
/* =====================================================
   FAQ
===================================================== */

.faq-section{
    background:
        radial-gradient(circle at 86% 18%,rgba(11,76,143,.05),transparent 28%),
        linear-gradient(180deg,#fff,#f7f4ef);
    padding:100px 0;
}

/* ---------- HEADER ---------- */

.faq-section .section-head{
    max-width:760px;
    margin:0 0 60px;
    text-align:left;
}

.faq-section .eyebrow{
    display:inline-flex;
    margin-bottom:18px;
}

.faq-section .section-head h2{
    max-width:760px;
    margin:0 0 24px;
}

.faq-section .section-head h2::after{
    margin:22px 0 0;
}

.faq-section .section-head p{
    max-width:700px;
    margin:0;
    text-align:left;
}

/* ---------- GRID ---------- */

.faq-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:18px;
    max-width:1120px;
    margin:40px auto 0;
}

.faq-grid.wide{
    max-width:1120px;
}

.faq-grid details{
    width:100%;
    min-height:84px;
}

/* ---------- CARD ---------- */

.faq-grid details{
    width:100%;
    min-height:74px;
    background:linear-gradient(180deg,#ffffff,#fbfcfd);
    border:1px solid rgba(7,18,31,.09);
    border-radius:18px;
    box-shadow:0 18px 45px rgba(7,18,31,.08);
    overflow:hidden;
    transition:all .25s ease;
}

.faq-grid details:hover{
    transform:translateY(-3px);
    border-color:rgba(217,20,67,.22);
    box-shadow:0 26px 60px rgba(7,18,31,.12);
}
.faq-grid summary{
    position:relative;
    display:flex;
    align-items:center;
    min-height:84px;
    padding:0 68px 0 24px;
    color:#083d69;
    font-size:15px;
    font-weight:800;
    line-height:1.45;
    cursor:pointer;
    list-style:none;
}

.faq-grid summary::-webkit-details-marker{
    display:none;
}

/* ---------- ICON ---------- */

.faq-grid summary:after{
    content:"+";
    position:absolute;
    right:22px;
    top:50%;
    transform:translateY(-50%);
    width:30px;
    height:30px;
    border-radius:50%;
    border:1px solid rgba(217,20,67,.15);
    background:#fff;
    color:var(--red);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    font-weight:900;
    transition:.25s;
}

.faq-grid details:hover summary:after,
.faq-grid details[open] summary:after{
    background:var(--red);
    color:#fff;
}

.faq-grid details:hover summary:after{
    background:var(--red);
    color:#fff;
}

.faq-grid details[open] summary:after{
    content:"−";
    background:var(--red);
    color:#fff;
}

/* ---------- ANSWER ---------- */

.faq-grid p{
    margin:0;
    padding:0 22px 24px;
    color:var(--muted);
    font-size:15px;
    line-height:1.75;
}

/* ---------- BUTTON ---------- */

.faq-section .center-action{
    text-align:center;
    margin-top:42px;
}

/* ---------- RESPONSIVE ---------- */

@media (max-width:980px){

    .faq-grid{
        grid-template-columns:1fr;
        max-width:700px;
        gap:18px;
    }

}









/* =====================================================
   INNER PAGES
===================================================== */
.page-hero{
  min-height:700px;
  background:
    linear-gradient(
      90deg,
      rgba(4,11,19,.72) 0%,
      rgba(7,18,31,.45) 45%,
      rgba(7,18,31,.18) 100%
    ),
    var(--hero) 85% 20% / cover no-repeat;

  display:grid;
  align-items:center;
  color:#fff!important;
  position:relative;
  overflow:hidden;
  z-index:1;
}

.page-hero:after{
  content:"";
  position:absolute;
  left:-6%;
  right:-6%;
  bottom:-1px;
  height:135px;
  background:#fff;
  clip-path:polygon(
    0 65%,
    34% 35%,
    64% 50%,
    100% 28%,
    100% 100%,
    0 100%
  );
  z-index:3;
  pointer-events:none;
}

.page-hero .wrap{
  position:relative;
  z-index:5;
  text-align:left;
  padding-top:90px;
  padding-bottom:150px;
}

.page-hero h1{
  font-size:clamp(40px,5vw,68px)!important;
  letter-spacing:-.06em!important;
  line-height:1.02!important;
  margin:20px 0!important;
  color:#fff!important;
  opacity:1!important;
  text-shadow:0 16px 34px rgba(0,0,0,.35);
  font-weight:900!important;
  text-align:left;
}

.page-hero p{
  font-size:19px;
  line-height:1.62;
  max-width:760px;
  color:rgba(242,247,252,.90)!important;
  opacity:1!important;
  text-shadow:0 10px 24px rgba(0,0,0,.25);
  text-align:left;
}

.page-hero .eyebrow{
  color:#fff!important;
  background:var(--red)!important;
}

.page-hero *{
  opacity:1!important;
}
.cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--shadow);
  transition:.25s;
}
.card:hover{
  transform:translateY(-5px);
  box-shadow:var(--shadow-strong);
}
.card img{
  height:220px;
  width:100%;
  object-fit:cover;
}
.card-body{padding:24px}
.card h3{
  color:#0a3d68;
  font-size:25px;
  font-weight:900;
  letter-spacing:-.03em;
}
.card p{
  color:#526a86;
  line-height:1.7;
}
.learn{
  color:var(--red);
  font-weight:900;
}
.dark{
  background:linear-gradient(135deg,#050d17 0%,#071726 56%,#0b2033 100%)!important;
  color:#fff!important;
}
.dark h2,
.dark h3{color:#fff!important}
.dark p{color:rgba(232,240,248,.86)!important}
.dark .card{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.13);
  box-shadow:none;
}
.dark .card h3{color:#fff!important}
.dark .card p{color:rgba(232,240,248,.86)!important}
.area-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.area{
  background:#fff;
  color:#0a3d68;
  border-radius:16px;
  padding:20px;
  font-weight:900;
}

/* =====================================================
   CONTACT / FORMS
===================================================== */
.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:36px;
}
.contact-card,
.form-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  padding:32px;
  box-shadow:var(--shadow);
}
input,
textarea,
select{
  width:100%;
  border:1px solid #d7e2ed;
  border-radius:14px;
  padding:15px;
  margin-bottom:14px;
  font:inherit;
}
textarea{min-height:140px}
input:focus,
textarea:focus,
select:focus{
  outline:none;
  border-color:rgba(11,76,143,.42);
  box-shadow:0 0 0 4px rgba(11,76,143,.10);
}

/* =====================================================
   CTA + FOOTER
===================================================== */
.cta{
  padding:90px 0;
  background:linear-gradient(180deg,#f8fafc,#fff);
}
.cta-box{
  background:linear-gradient(135deg,#07121f 0%,#0c2b45 62%,#06111d 100%);
  color:#fff;
  border-radius:26px;
  padding:54px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  box-shadow:var(--shadow-strong);
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
}
.cta-box:after{
  content:"";
  position:absolute;
  right:-70px;
  top:-70px;
  width:250px;
  height:250px;
  border:28px solid rgba(255,255,255,.06);
  border-radius:50%;
}
.cta h2{
  font-size:clamp(34px,4vw,50px);
  color:#fff!important;
}
.cta p{
  color:rgba(232,240,248,.86)!important;
  margin:0;
}
footer{
  background:linear-gradient(180deg,#040b13,#02070d);
  color:#fff;
  padding:70px 0 35px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1.2fr;
  gap:58px;
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:28px;
}
.footer-logo{
  width:150px;
  background:#fff;
  border-radius:14px;
  padding:10px;
}
.footer-grid p,
.footer-grid a{
  display:block;
  color:rgba(230,238,247,.82);
  line-height:1.55;
  margin:10px 0;
}
.footer-grid h4{color:#fff}
.footer-social{
  display:flex;
  gap:12px;
  margin-top:15px;
}
.footer-social a{
  font-weight:900;
  color:#fff;
}
.seo-footer{
  margin-top:40px;
  border-top:1px solid rgba(255,255,255,.10);
  padding-top:22px;
  color:#aac1d8;
  font-size:13px;
  line-height:1.7;
}

/* =====================================================
   RESPONSIVE
===================================================== */
@media(max-width:1180px){
  .hero-layout{
    grid-template-columns:minmax(0,650px) 410px;
    gap:52px;
  }
  .signature-hero .hero-feature-card{
    width:min(100%,410px);
    max-width:410px;
  }
  .signature-hero .material-tags li{font-size:12px}
}

@media(max-width:1120px){
  .nav{gap:22px}
  .brand img{
    width:168px!important;
    max-width:168px!important;
  }
  .nav-menu{gap:18px}
  .nav-actions{
    gap:12px;
    padding-left:18px;
  }
  .nav nav.main-nav a:not(.btn),
  .nav-actions .phone{font-size:14px}
  .nav-actions .btn.small{
    min-width:132px;
    padding:13px 18px;
  }
}

@media(max-width:1050px){
  .hero-layout,
  .split-head,
  .slab-detail-layout{
    grid-template-columns:1fr;
  }
  .signature-hero .hero-feature-card{display:none}
  .slab-toolbar{
    align-items:flex-start;
    flex-direction:column;
  }
  #slabSearch{max-width:100%}
  .slab-grid,
  .slab-grid.preview,
  .difference-grid,
  .faq-grid{
    grid-template-columns:1fr 1fr;
  }
  .difference-proof{grid-template-columns:1fr}
}

@media(max-width:950px){
  .topbar{display:none}
  .menu-toggle{display:block}
  .nav{
    height:auto;
    min-height:82px;
  }
  .brand img{
    width:150px!important;
    max-width:150px!important;
  }
  .nav nav.main-nav{
    display:none;
    position:absolute;
    left:4%;
    right:4%;
    top:96px;
    background:#fff;
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
    flex-direction:column;
    align-items:flex-start;
    gap:18px;
  }
  .nav nav.main-nav.open{display:flex}
  .nav-menu,
  .nav-actions{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
    width:100%;
  }
  .nav-actions{
    border-left:0;
    border-top:1px solid rgba(7,18,31,.10);
    padding-left:0;
    padding-top:16px;
    margin-left:0;
  }
  .nav-actions .btn.small{width:100%}
  .signature-hero{min-height:660px}
  .hero-layout{min-height:620px}
  .hero-copy h1{font-size:44px!important}
  .signature-band{margin-top:-45px}
  .band-grid,
  .service-signature-grid,
  .process-lane,
  .footer-grid,
  .cards,
  .gallery-grid,
  .area-grid,
  .split,
  .area-layout,
  .contact-grid{
    grid-template-columns:1fr;
  }
  .band-grid div{
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .process-lane:before{display:none}
  .ticks{grid-template-columns:1fr}
  .image-stack{min-height:auto}
  .image-stack .main-img{
    width:100%;
    height:360px;
  }
  .image-stack .float-img{display:none}
  .cta-box{
    display:block;
    padding:34px;
  }
  .footer-grid{gap:26px}
  .page-hero{min-height:520px}
}

@media(max-width:700px){
  .slab-grid,
  .slab-grid.preview,
  .difference-grid,
  .faq-grid{
    grid-template-columns:1fr;
  }
  .signature-hero{min-height:650px}
  .hero-layout{min-height:610px}
  .section-head,
  .section-head.center,
  .center{
    text-align:left;
    margin-bottom:34px;
  }
  .difference-proof{padding:24px}
  .difference-year strong{font-size:56px}
  .slab-specs{grid-template-columns:1fr}
  .slab-card img{height:230px}
  .slab-detail-layout img{height:360px}
}

@media(max-width:600px){
  .wrap{width:min(100% - 30px,1180px)}
  .signature-hero{min-height:610px}
  .hero-layout{min-height:570px}
  .hero-copy h1{font-size:36px!important}
  .hero-copy p{font-size:16px}
  .section-head-title,
  .section-head h2,
  .area-layout h2{font-size:34px}
  .craft-section,
  .process-section,
  .gallery-signature,
  section{padding:70px 0}
  .gallery-grid img{height:210px}
  .hero-actions .btn{width:100%}
  .cta h2{font-size:32px}
  .page-hero{min-height:500px}
  .page-hero .wrap{padding-top:50px;padding-bottom:95px}
  .page-hero:after{height:95px}
  .page-hero h1{font-size:34px!important}
  .page-hero p{font-size:16px}
  .masonry{columns:1}
  .area-map{grid-template-columns:1fr}
}

/* CTA FINAL FIX */

.cta-box{
    display:grid;
    grid-template-columns:minmax(0,1fr) 300px;
    align-items:center;
    gap:48px;
}

.cta-copy{
    max-width:720px;
}

.cta-benefits{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:22px;
}

.cta-benefits span{
    display:inline-flex;
    align-items:center;
    padding:9px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.14);
    color:#fff;
    font-size:13px;
    font-weight:800;
}

.cta-action{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    justify-content:center;
    gap:14px;
}

.cta-main-btn{
    width:260px;
    padding:18px 24px;
    text-align:center;
}

.cta-phone{
    display:block;
    color:#fff;
    font-size:20px;
    font-weight:900;
    text-decoration:none;
}

.cta-note{
    display:block;
    color:rgba(255,255,255,.72);
    font-size:13px;
}

@media(max-width:950px){
    .cta-box{
        grid-template-columns:1fr;
    }

    .cta-action{
        align-items:flex-start;
    }
}

/* =====================================================
   CTA FINAL REFINEMENT
===================================================== */

.cta-main-btn{
    width:290px;
    padding:20px 30px;
    font-size:17px;
    font-weight:900;
    border-radius:16px;
}

.cta-phone{
    display:block;
    color:#fff;
    font-size:30px;
    font-weight:900;
    letter-spacing:-0.03em;
    text-decoration:none;
    line-height:1;
}

.cta-phone:hover{
    color:#fff;
}

.cta-note{
    display:block;
    color:rgba(255,255,255,.72);
    font-size:13px;
}

.cta-benefits{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:24px;
}

.cta-benefits span{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:11px 16px;
    border-radius:999px;
    background:rgba(255,255,255,.09);
    border:1px solid rgba(255,255,255,.16);
    color:#fff;
    font-size:13px;
    font-weight:900;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}

@media(max-width:950px){
    .cta-main-btn{
        width:100%;
        max-width:320px;
    }

    .cta-phone{
        font-size:26px;
    }
}

/* =====================================================
   HOME HERO SLIDER
===================================================== */

.hero-slider{
    transition:background-image .8s ease;
}

.hero-slider::before{
    pointer-events:none;
}

.hero-slider .hero-copy,
.hero-slider .hero-feature-card{
    transition:opacity .45s ease, transform .45s ease;
}

.hero-slider.is-changing .hero-copy{
    opacity:0;
    transform:translateY(22px);
}

.hero-slider.is-changing .hero-feature-card{
    opacity:0;
    transform:translateX(28px);
}

.hero-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:8;
    width:46px;
    height:46px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.24);
    background:rgba(6,17,29,.34);
    color:#fff;
    font-size:34px;
    line-height:1;
    display:grid;
    place-items:center;
    cursor:pointer;
    opacity:0;
    transition:.25s ease;
    backdrop-filter:blur(10px);
}

.hero-slider:hover .hero-arrow{
    opacity:1;
}

.hero-prev{
    left:24px;
}

.hero-next{
    right:24px;
}

.hero-arrow:hover{
    background:var(--red);
    border-color:var(--red);
}

.hero-dots{
    position:absolute;
    left:50%;
    bottom:78px;
    transform:translateX(-50%);
    z-index:9;
    display:flex;
    gap:10px;
}

.hero-dot{
    width:11px;
    height:11px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.55);
    background:rgba(255,255,255,.18);
    cursor:pointer;
    transition:.25s ease;
}

.hero-dot.active{
    width:34px;
    border-radius:999px;
    background:var(--red);
    border-color:var(--red);
}

@media(max-width:1050px){
    .hero-arrow{
        display:none;
    }

    .hero-dots{
        bottom:42px;
    }
}

/* =====================================================
   ABOUT PAGE PREMIUM
===================================================== */

.about-page-hero{
  min-height:700px;
}

.about-intro{
  padding:55px 0 105px;
  background:
    radial-gradient(circle at 88% 18%,rgba(11,76,143,.05),transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#fbfaf7 100%);
}

.about-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 520px;
  gap:72px;
  align-items:center;
}

.about-copy h2{
  font-size:clamp(38px,4.8vw,64px);
  line-height:1.02;
  letter-spacing:-.06em;
  margin:22px 0;
  color:var(--text);
  font-weight:900;
}

.about-copy h2:after{
  content:"";
  display:block;
  width:78px;
  height:3px;
  margin-top:20px;
  border-radius:30px;
  background:linear-gradient(90deg,var(--red),var(--blue));
}

.about-copy p{
  color:var(--muted);
  font-size:17px;
  line-height:1.75;
  margin:0 0 18px;
}

.about-highlights{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:30px;
}

.about-highlights span{
  background:linear-gradient(180deg,#fff,#f8f5ef);
  border:1px solid var(--line);
  border-left:4px solid var(--red);
  border-radius:16px;
  padding:17px 18px;
  font-weight:900;
  color:#0a3d68;
  box-shadow:0 16px 38px rgba(7,18,31,.07);
}

.about-image-card{
  position:relative;
}

.about-image-card img{
  width:100%;
  height:560px;
  object-fit:cover;
  border-radius:28px;
  box-shadow:var(--shadow-strong);
}

.about-image-badge{
  position:absolute;
  left:-28px;
  bottom:34px;
  width:220px;
  padding:24px;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-strong);
}

.about-image-badge strong{
  display:block;
  color:var(--red);
  font-size:30px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.04em;
}

.about-image-badge span{
  display:block;
  margin-top:8px;
  color:#0a3d68;
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.about-stats-section{
  padding:0 0 90px;
  background:#fbfaf7;
}

.about-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:var(--shadow);
  overflow:hidden;
}

.about-stats div{
  padding:32px 28px;
  border-right:1px solid rgba(7,18,31,.08);
}

.about-stats div:last-child{
  border-right:0;
}

.about-stats strong{
  display:block;
  color:var(--red);
  font-size:34px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.04em;
  margin-bottom:10px;
}

.about-stats span{
  display:block;
  color:#0a3d68;
  font-size:14px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.about-values{
  padding:105px 0;
}

.about-value-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}

.about-value-card{
  min-height:255px;
  padding:30px;
  border-radius:22px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 24px 60px rgba(0,0,0,.12);
  transition:.25s ease;
}

.about-value-card:hover{
  transform:translateY(-6px);
  background:rgba(255,255,255,.11);
}

.about-value-card b{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(217,20,67,.18);
  border:1px solid rgba(217,20,67,.32);
  color:#fff;
  font-weight:900;
  margin-bottom:24px;
}

.about-value-card h3{
  margin:0 0 12px;
  color:#fff!important;
  font-size:24px;
  font-weight:900;
  letter-spacing:-.035em;
}

.about-value-card p{
  margin:0;
  color:rgba(232,240,248,.86)!important;
  line-height:1.7;
}

.about-process{
  padding:105px 0;
  background:linear-gradient(180deg,#fff,#f8fafc);
}

.about-timeline{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  position:relative;
}

.about-timeline:before{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:36px;
  height:2px;
  background:linear-gradient(90deg,var(--red),var(--gold),var(--blue));
  opacity:.55;
}

.about-timeline-item{
  position:relative;
  z-index:2;
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  padding:30px;
  box-shadow:var(--shadow);
}

.about-timeline-item span{
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,var(--red),#b80f35);
  color:#fff;
  font-size:20px;
  font-weight:900;
  margin-bottom:24px;
  box-shadow:0 18px 38px rgba(217,20,67,.22);
}

.about-timeline-item h3{
  margin:0 0 12px;
  color:#0a3d68;
  font-size:23px;
  font-weight:900;
  letter-spacing:-.035em;
}

.about-timeline-item p{
  margin:0;
  color:var(--muted);
  line-height:1.65;
}

/* =====================================================
   ABOUT RESPONSIVE
===================================================== */

@media(max-width:1050px){
  .about-intro-grid{
    grid-template-columns:1fr;
  }

  .about-image-card img{
    height:430px;
  }

  .about-value-grid,
  .about-timeline,
  .about-stats{
    grid-template-columns:repeat(2,1fr);
  }

  .about-timeline:before{
    display:none;
  }

  .about-stats div:nth-child(2){
    border-right:0;
  }

  .about-stats div{
    border-bottom:1px solid rgba(7,18,31,.08);
  }

  .about-stats div:nth-child(3),
  .about-stats div:nth-child(4){
    border-bottom:0;
  }
}

@media(max-width:700px){
  .about-intro,
  .about-values,
  .about-process{
    padding:75px 0;
  }

  .about-highlights,
  .about-value-grid,
  .about-timeline,
  .about-stats{
    grid-template-columns:1fr;
  }

  .about-image-card img{
    height:360px;
  }

  .about-image-badge{
    left:18px;
    right:18px;
    bottom:18px;
    width:auto;
  }

  .about-stats div{
    border-right:0!important;
    border-bottom:1px solid rgba(7,18,31,.08)!important;
  }

  .about-stats div:last-child{
    border-bottom:0!important;
  }
}

/* =====================================================
   SLABS PAGINATION
===================================================== */

.slab-pagination{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    margin-top:50px;
    flex-wrap:wrap;
}

.slab-pagination button{
    min-width:46px;
    height:46px;
    padding:0 18px;
    border-radius:12px;
    border:1px solid var(--line);
    background:#fff;
    color:#0a3d68;
    font-weight:800;
    cursor:pointer;
    transition:.25s;
    box-shadow:0 10px 25px rgba(7,18,31,.05);
}

.slab-pagination button:hover{
    background:var(--red);
    border-color:var(--red);
    color:#fff;
}

.slab-pagination button.active{
    background:var(--red);
    border-color:var(--red);
    color:#fff;
}

.slab-pagination button:disabled{
    opacity:.45;
    cursor:default;
    background:#f3f5f8;
    color:#9aa6b2;
}

/* =====================================================
   SLAB DETAIL LIGHTBOX
===================================================== */

.slab-lightbox-trigger{
    position:relative;
    display:block;
    width:100%;
    padding:0;
    border:0;
    background:transparent;
    cursor:pointer;
    border-radius:28px;
    overflow:hidden;
    box-shadow:var(--shadow-strong);
}

.slab-lightbox-trigger img{
    width:100%;
    height:min(640px,62vh);
    object-fit:cover;
    border-radius:28px;
    transition:.35s ease;
}

.slab-lightbox-trigger:hover img{
    transform:scale(1.025);
}

.slab-lightbox-trigger span{
    position:absolute;
    left:24px;
    bottom:24px;
    padding:12px 18px;
    border-radius:999px;
    background:rgba(6,17,29,.72);
    color:#fff;
    font-size:13px;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
    backdrop-filter:blur(10px);
}

.slab-lightbox{
    position:fixed;
    inset:0;
    z-index:9999;
    display:none;
    align-items:center;
    justify-content:center;
    padding:34px;
    background:rgba(2,7,13,.86);
}

.slab-lightbox.open{
    display:flex;
}

.slab-lightbox img{
    max-width:min(1200px,92vw);
    max-height:82vh;
    object-fit:contain;
    border-radius:18px;
    box-shadow:0 35px 90px rgba(0,0,0,.45);
}

.slab-lightbox p{
    position:absolute;
    left:50%;
    bottom:28px;
    transform:translateX(-50%);
    margin:0;
    color:#fff;
    font-weight:900;
}

.slab-lightbox-close{
    position:absolute;
    top:24px;
    right:28px;
    width:46px;
    height:46px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.25);
    background:rgba(255,255,255,.08);
    color:#fff;
    font-size:32px;
    line-height:1;
    cursor:pointer;
}

.slab-lightbox-close:hover{
    background:var(--red);
}

/* =====================================================
   CONTACT PAGE PREMIUM
===================================================== */

.contact-premium{
  padding:95px 0 105px;
  background:
    radial-gradient(circle at 88% 12%,rgba(11,76,143,.06),transparent 28%),
    linear-gradient(180deg,#fff,#fbfaf7);
}

.contact-premium-grid{
  display:grid;
  grid-template-columns:1fr 520px;
  gap:70px;
  align-items:start;
}

.contact-info-panel h2,
.contact-map-card h2{
  font-size:clamp(38px,4.8vw,64px);
  line-height:1.02;
  letter-spacing:-.06em;
  margin:22px 0;
  color:var(--text);
  font-weight:900;
}

.contact-info-panel h2:after,
.contact-map-card h2:after{
  content:"";
  display:block;
  width:78px;
  height:3px;
  margin-top:20px;
  border-radius:30px;
  background:linear-gradient(90deg,var(--red),var(--blue));
}

.contact-info-panel p,
.contact-map-card p{
  color:var(--muted);
  font-size:17px;
  line-height:1.75;
  max-width:720px;
}

.selected-slab-notice{
  margin:28px 0;
  padding:20px 22px;
  border-radius:18px;
  background:#fff;
  border:1px solid var(--line);
  border-left:4px solid var(--red);
  box-shadow:0 18px 45px rgba(7,18,31,.08);
}

.selected-slab-notice strong{
  display:block;
  color:var(--red);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:8px;
}

.selected-slab-notice span{
  color:#0a3d68;
  font-weight:900;
}

.contact-detail-list{
  display:grid;
  gap:14px;
  margin-top:30px;
}

.contact-detail-list a,
.contact-detail-list div{
  display:block;
  padding:20px 22px;
  border-radius:18px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 18px 45px rgba(7,18,31,.07);
}

.contact-detail-list b{
  display:block;
  color:var(--red);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:8px;
}

.contact-detail-list span{
  display:block;
  color:#0a3d68;
  font-weight:900;
  line-height:1.45;
}

.contact-socials{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:22px;
}

.contact-socials a{
  padding:12px 18px;
  border-radius:999px;
  border:1px solid var(--line);
  color:#0a3d68;
  font-weight:900;
  background:#fff;
}

.contact-form-premium{
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  padding:34px;
  box-shadow:var(--shadow-strong);
}

.form-title span{
  color:var(--red);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.form-title h3{
  color:#0a3d68;
  font-size:32px;
  line-height:1;
  letter-spacing:-.045em;
  margin:10px 0 24px;
  font-weight:900;
}

.contact-form-premium input,
.contact-form-premium textarea,
.contact-form-premium select{
  background:#f8fafc;
}

.contact-form-premium input[readonly]{
  background:#fff7f8;
  border-color:rgba(217,20,67,.25);
  color:#0a3d68;
  font-weight:900;
}

.contact-form-premium .btn{
  width:100%;
  margin-top:4px;
}

.contact-map-section{
  padding:0 0 105px;
  background:#fbfaf7;
}

.contact-map-card{
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:36px;
  align-items:center;
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  padding:34px;
  box-shadow:var(--shadow);
}

.contact-map-card iframe{
  width:100%;
  min-height:380px;
  border:0;
  border-radius:22px;
  box-shadow:0 18px 45px rgba(7,18,31,.08);
}

@media(max-width:1050px){
  .contact-premium-grid,
  .contact-map-card{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .contact-premium{
    padding:75px 0;
  }

  .contact-form-premium,
  .contact-map-card{
    padding:24px;
  }

  .contact-map-card iframe{
    min-height:320px;
  }
}

.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-message{padding:14px 16px;border-radius:8px;font-weight:700;line-height:1.45}.form-message.success{background:#e9f7ef;color:#176b3a;border:1px solid #b7e1c7}.form-message.error{background:#fff1f1;color:#9b2424;border:1px solid #efc1c1}
