
:root {
  --v4-navy: #102d46;
  --v4-navy2: #1c4a68;
  --v4-cream: #f6f1e9;
  --v4-warm: #ead8c8;
  --v4-copper: #c17d57;
  --v4-ink: #142e42;
  --v4-muted: #6b7479;
  --v4-ease: cubic-bezier(.22,1,.36,1);
}
body { background: var(--v4-cream); }
.fa-solid,.fa-brands,.fa-regular { font-style: normal; }
.v4-mark { color: var(--v4-copper); }
.v4-hero { padding: 24px 0 34px; background:var(--v4-cream); }
.v4-hero-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: stretch; }
.v4-hero-panel {
  display:flex; align-items:center; position:relative; overflow:hidden; isolation:isolate;
  background: radial-gradient(circle at 97% 7%,#345778 0%,#173b59 30%,#102e48 74%);
  color:white; min-height:535px; padding:clamp(30px,4.5vw,66px);
}
.v4-hero-panel:before {
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.38;
  background-image: repeating-linear-gradient(120deg,transparent 0 34px,rgba(255,255,255,.035) 35px 36px);
  mask-image:linear-gradient(130deg,transparent,black);
}
.v4-hero-orbit {
  position:absolute;z-index:-1;right:-32%;bottom:-30%;height:110%;width:auto;pointer-events:none;
  color:#f3bc92; opacity:.65;
}
.v4-hero-panel-inner { max-width:565px; width:100%; z-index:1; }
.v4-eyebrow {
  display:inline-flex;gap:10px;align-items:center;margin-bottom:28px;
  font-size:12px;font-weight:750;letter-spacing:.17em;color:#eac7ad;
}
.v4-eyebrow .fa-solid { font-size:16px;color:#ffc6a0; }
.v4-hero-title {
  color:#fff; font-family:"DM Sans","Segoe UI",sans-serif;
  font-size:clamp(40px,4.7vw,70px); font-weight:700;letter-spacing:-.07em;
  line-height:1.06; text-wrap:balance;max-width:560px;
}
.v4-hero-title > span,.v4-hero-title > em { display:block; }
.v4-hero-title > em {
  font:400 .88em/1.15 "Fraunces",Georgia,serif;
  letter-spacing:-.06em;color:#f4bb96;margin-top:9px;
}
.v4-hero-description {
  max-width:470px;margin-top:25px;
  font-size:17px;line-height:1.7;color:#d7e1e8;
}
.v4-hero-actions { display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:29px; }
.v4-btn {
  display:inline-flex;align-items:center;justify-content:center;gap:22px;
  min-height:53px;padding:13px 19px;border:1px solid transparent;
  background:var(--v4-navy);color:#fff;font-weight:700;font-size:15px;
  line-height:1.3;border-radius:7px;white-space:nowrap;
  transition:transform .27s var(--v4-ease), background .27s var(--v4-ease);
}
.v4-btn:hover { transform:translateY(-3px); }
.v4-btn .fa-solid { font-size:14px; }
.v4-btn-light { background:#f6ede3;color:var(--v4-navy); }
.v4-btn-light:hover { background:#fff; }
.v4-hero-link {
  display:inline-flex;gap:12px;min-height:48px;align-items:center;color:#fff;
  font-size:15px;font-weight:650;transition:color .22s;
}
.v4-hero-link:hover { color:#ffcba4; }
.v4-hero-link .fa-solid { transition:transform .3s var(--v4-ease); }
.v4-hero-link:hover .fa-solid { transform:translateX(4px); }
.v4-hero-media { height:535px;display:grid;grid-template-columns:1.42fr .83fr;gap:5px;position:relative;overflow:hidden;background:#bdc9cc; }
.v4-media-main,.v4-media-side,.v4-media-tile { min-width:0;min-height:0;overflow:hidden;position:relative; }
.v4-media-main img,.v4-media-tile img {
  display:block;width:100%;height:100%;object-fit:cover;
  filter:saturate(1.09) contrast(1.035);
  transition:transform .95s var(--v4-ease);
}
.v4-media-main img { object-position:46% center; }
.v4-media-main:hover img,.v4-media-tile:hover img { transform:scale(1.06); }
.v4-media-side { display:grid;grid-template-rows:1fr 1fr;gap:5px; }
.v4-media-tile { display:block; }
.v4-media-tile:after { content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(9,30,48,.7));pointer-events:none; }
.v4-media-tile span {
  position:absolute;z-index:2;bottom:15px;left:13px;right:14px;color:white;
  display:flex;justify-content:space-between;align-items:center;gap:6px;
  font-size:14px;font-weight:700;text-shadow:0 1px 4px #0008;
}
.v4-media-tile span i { font-size:13px; }
.v4-media-corner {
  position:absolute;top:13px;left:14px;z-index:2;
  width:38px;height:38px;border:1px solid rgba(255,255,255,.65);background:#ffffffc9;
  color:var(--v4-navy);display:grid;place-items:center;border-radius:50%;
  font-weight:700;backdrop-filter:blur(4px);
}
.v4-media-corner i { font-size:18px; }


.v4-shortcuts { background:#fbf9f5;border-block:1px solid #e6e0d8; }
.v4-shortcuts-inner { display:grid;grid-template-columns:repeat(3,minmax(0,1fr)); }
.v4-shortcuts-inner a {
  position:relative;display:flex;align-items:center;gap:16px;padding:22px 25px;
  min-height:86px;border-left:1px solid #e1ded8;
  color:var(--v4-ink);transition:background .28s,color .28s;
}
.v4-shortcuts-inner a:last-child { border-right:1px solid #e1ded8; }
.v4-shortcuts-inner a:hover { background:#eaeff1; color:#174b71; }
.v4-shortcuts-inner a > .fa-solid:first-child {
  flex:0 0 auto;display:grid;place-items:center;
  width:44px;height:44px;border:1px solid #cad8dc;border-radius:13px;
  color:#15476a;background:#e8eff0;font-size:20px;
  transition:transform .36s var(--v4-ease);
}
.v4-shortcuts-inner a:hover > .fa-solid:first-child { transform:translateY(-4px); }
.v4-shortcuts-inner span { font-size:16px;font-weight:700;letter-spacing:-.02em; }
.v4-shortcut-arrow { margin-left:auto;color:var(--v4-copper);font-size:13px; }


.v4-services {
  position:relative;overflow:hidden;
  padding:clamp(65px,7vw,105px) 0 clamp(70px,8vw,112px);
  background:#f0f3f2;
  background-image:radial-gradient(circle at 10% 18%,#dfe7e8 0%,transparent 36%),
    radial-gradient(circle at 92% 92%,#e6ddd4 0%,transparent 40%);
}
.v4-services:before {
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.24;
  background-image:radial-gradient(#8e9daa55 0.8px,transparent 0.8px);background-size:17px 17px;
  mask-image:linear-gradient(90deg,transparent 0%,black 100%);
}
.v4-services > .shell { position:relative;z-index:1; }
.v4-section-head { display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px; }
.v4-section-head h2 {
  color:var(--v4-navy);font:700 clamp(32px,3.55vw,51px)/1.1 "DM Sans",sans-serif;
  letter-spacing:-.065em;
}
.v4-section-head p { margin-top:6px;font-size:16px;color:var(--v4-muted); }
.v4-section-link {
  display:inline-flex;align-items:center;gap:13px;min-height:44px;padding:6px 0;
  color:#18486a;font-size:15px;font-weight:750;white-space:nowrap;border-bottom:1px solid #a9b7bd;
  transition:color .2s,border-color .2s;
}
.v4-section-link:hover { color:var(--v4-copper);border-color:var(--v4-copper); }
.v4-section-link i { font-size:13px;transition:transform .28s var(--v4-ease); }
.v4-section-link:hover i { transform:translateX(4px); }
.v4-services-grid {
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(235px,auto);
  gap:16px;
}
.v4-service-card {
  position:relative;overflow:hidden;isolation:isolate;min-width:0;
  color:#fff;background:#244a62;border-radius:13px;display:block;
  box-shadow:0 8px 32px #102d4512;transform:translateZ(0);
}
.v4-service-card:nth-child(4n+1) { grid-column:span 7; }
.v4-service-card:nth-child(4n+2) { grid-column:span 5; }
.v4-service-card:nth-child(4n+3) { grid-column:span 5; }
.v4-service-card:nth-child(4n+4) { grid-column:span 7; }
.v4-service-card > img {
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .75s var(--v4-ease);filter:saturate(1.04) contrast(1.06);
}
.v4-service-card:hover > img,.v4-service-card:focus-visible > img { transform:scale(1.05); }
.v4-service--digital > img { object-position:60% 45%; }
.v4-service--rental > img { object-position:center 46%; }
.v4-service--neon > img { object-position:center 28%; }
.v4-service--design > img { object-position:center 45%; }
.v4-service-shade {
  position:absolute;inset:0;background:linear-gradient(90deg,#102b43f5 0%,#102b43db 36%,#102b4349 78%,#102b433b 100%);
  transition:background .4s;z-index:1;
}
.v4-service-card:nth-child(even) .v4-service-shade {
  background:linear-gradient(90deg,#0c2e47f2 0%,#102d43c8 40%,#102d433d 100%);
}
.v4-service-card:nth-child(3) .v4-service-shade { background:linear-gradient(90deg,#2a2521eb,#2a25219b 50%,#1b1b1b33 100%); }
.v4-service-content { position:relative;z-index:2;height:100%;min-height:235px;max-width:420px;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:25px 27px 25px; }
.v4-service-icon {
  display:grid;place-items:center;width:44px;height:44px;margin-bottom:auto;
  background:#fff; color:var(--v4-navy);border-radius:12px;font-size:20px;
}
.v4-service-content strong { display:block;font-size:clamp(22px,2.1vw,29px);letter-spacing:-.055em;line-height:1.17;font-weight:700;text-wrap:balance; }
.v4-service-content small { font-size:14px;font-weight:500;line-height:1.45;color:#e8eef1; }
.v4-service-action {
  position:absolute;right:23px;bottom:23px;z-index:2;
  display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid #ffffff7d;
  font-size:14px;transition:transform .26s,background .26s;
}
.v4-service-card:hover .v4-service-action { transform:translate(3px,-3px);background:#ffffff40; }
.v4-empty { font-size:17px;color:#465461;padding:35px 0; }


.v4-about { position:relative;isolation:isolate;overflow:hidden;background:#e9ebe9; }
.v4-about-photo { position:absolute;inset:0 0 0 auto;width:58%;z-index:-1;overflow:hidden; }
.v4-about-photo img { width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:contrast(1.03) saturate(.92); }
.v4-about-photo:after {
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,#e9ebe9 0%,#e9ebe9df 19%,#e9ebe949 55%,transparent 100%);
}
.v4-about-shell { display:flex;align-items:center;min-height:450px;padding-block:68px; }
.v4-about-copy {
  position:relative;width:min(60%,700px);
  padding:26px 42px 33px 0;z-index:1;
  background:linear-gradient(90deg,#e9ebe9 0%,#e9ebe9ed 77%,transparent);
}
.v4-about-label { color:#31627e;font-size:12px;font-weight:780;letter-spacing:.15em;display:flex;gap:9px;align-items:center; }
.v4-about-label i { color:var(--v4-copper);font-size:14px; }
.v4-about h2 { font:700 clamp(35px,4vw,57px)/1.13 "DM Sans",sans-serif;letter-spacing:-.065em;color:var(--v4-navy);margin-top:15px;max-width:580px; }
.v4-about p { color:#58656b;font-size:16px;line-height:1.67;max-width:500px;margin-top:17px; }
.v4-about-chips { display:flex;flex-wrap:wrap;gap:9px;margin:25px 0 13px; }
.v4-about-chips span { display:inline-flex;gap:7px;align-items:center;padding:8px 11px;font-size:12px;font-weight:700;color:#2a5367;background:#ffffffb0;border:1px solid #d1dcdf;border-radius:8px; }
.v4-about-chips i { color:#ad7155;font-size:13px; }


.v4-products { padding:clamp(68px,7vw,106px) 0;background:#faf8f4; }
.v4-products-grid { display:grid;grid-template-columns:1.05fr .95fr;gap:21px; }
.v4-product { display:block;overflow:hidden;position:relative;min-width:0;height:clamp(280px,31vw,410px);background:#d2d8d4;border-radius:13px;color:#fff; }
.v4-product img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--v4-ease); }
.v4-product:hover img { transform:scale(1.055); }
.v4-product-overlay { position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#0b2a4006 30%,#082740b3 100%); }
.v4-product-caption { position:absolute;bottom:24px;left:25px;right:25px;display:flex;align-items:center;gap:14px; }
.v4-product-caption strong { font-size:clamp(24px,2.75vw,36px);font-weight:700;letter-spacing:-.056em;line-height:1.15; }
.v4-product-symbol {
  display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;
  background:#ffffffeb;border-radius:13px;color:var(--v4-navy);font-size:20px;
}
.v4-product-cta { margin-left:auto;display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border:1px solid #ffffffaa;border-radius:50%;font-size:14px;transition:transform .3s; }
.v4-product:hover .v4-product-cta { transform:translate(3px,-3px); }


.v4-contact { position:relative;isolation:isolate;background:#123751;color:#fff;overflow:hidden; }
.v4-contact:before {
  content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;
  background:radial-gradient(circle at 8% 90%,#32617c 0%,transparent 54%);
}
.v4-contact-media { position:absolute;right:0;top:0;bottom:0;width:51%;z-index:-1;overflow:hidden; }
.v4-contact-media img { width:100%;height:100%;object-fit:cover;object-position:50% 36%;filter:saturate(.7) contrast(1.12); }
.v4-contact-media:after { content:"";position:absolute;inset:0;background:linear-gradient(90deg,#123751 0%,#123751dd 23%,#1237517b 72%,#12375166); }
.v4-contact-shell { padding-block:clamp(62px,6.7vw,92px);display:flex;align-items:center;min-height:318px; }
.v4-contact-copy { position:relative;z-index:1;max-width:645px; }
.v4-contact-symbol { display:grid;place-items:center;width:46px;height:46px;border:1px solid #ffffff55;background:#ffffff19;border-radius:13px;color:#f0bd9f;font-size:20px;margin-bottom:18px; }
.v4-contact h2 { font-size:clamp(31px,4vw,57px);letter-spacing:-.058em;line-height:1.17;color:#fff;font-weight:680; }
.v4-contact p { margin-top:10px;font-size:17px;color:#d8e4e9; }
.v4-contact .v4-btn { margin-top:25px; }
.site-footer { background:#102a41; }


.v4-reveal { opacity:1; }
@media (max-width: 1080px) {
  .v4-hero-panel { min-height:480px;padding:35px; }
  .v4-hero-media { height:480px; }
  .v4-hero-title { font-size:clamp(39px,4.5vw,55px); }
  .v4-hero-description { font-size:16px; }
  .v4-service-content { padding:23px; }
}
@media (max-width:900px) {
  .v4-hero-grid { grid-template-columns:1fr; }
  .v4-hero-panel { min-height:0;padding:clamp(30px,6vw,47px); }
  .v4-hero-orbit { right:-10%;bottom:-70%;height:135%; }
  .v4-hero-title { font-size:clamp(39px,6.5vw,60px); }
  .v4-hero-media { height:360px; grid-template-columns:1.55fr .85fr; }
  .v4-services-grid { grid-auto-rows:220px;gap:13px; }
  .v4-service-content { min-height:220px; }
  .v4-about-shell { min-height:390px; }
  .v4-about-copy { width:68%; }
}
@media (max-width:700px) {
  .v4-hero { padding:0 0 22px; }
  .v4-hero-panel { min-height:0;padding:34px 25px 35px; }
  .v4-eyebrow { margin-bottom:17px;font-size:11px; }
  .v4-hero-title { font-size:clamp(32px,8.5vw,42px);letter-spacing:-.052em;line-height:1.075; }
  .v4-hero-title > em { font-size:.93em;margin-top:4px; }
  .v4-hero-description { font-size:16px;line-height:1.56;margin-top:16px; }
  .v4-hero-actions { margin-top:19px;gap:9px 15px; }
  .v4-btn { font-size:14px;min-height:48px;padding:11px 14px;gap:12px; }
  .v4-hero-link { font-size:14px;min-height:48px; }
  .v4-hero-media { height:235px;grid-template-columns:1.5fr .86fr; }
  .v4-media-corner { top:8px;left:8px;width:29px;height:29px; }
  .v4-media-corner i { font-size:13px; }
  .v4-media-tile span { bottom:9px;left:8px;right:8px;font-size:12px; }
  .v4-shortcuts-inner { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .v4-shortcuts-inner a { flex-direction:column;gap:7px;padding:14px 6px;min-height:106px;text-align:center;justify-content:center; }
  .v4-shortcuts-inner a > .fa-solid:first-child { width:39px;height:39px;font-size:18px;border-radius:11px; }
  .v4-shortcuts-inner span { font-size:13px;line-height:1.3; }
  .v4-shortcut-arrow { display:none; }
  .v4-services { padding:63px 0 70px; }
  .v4-section-head { display:flex;align-items:flex-end;gap:12px;margin-bottom:22px; }
  .v4-section-head h2 { font-size:clamp(29px,8vw,39px); }
  .v4-section-head p { font-size:14px;margin-top:5px; }
  .v4-section-link { font-size:12px;gap:7px;white-space:normal;max-width:110px;text-align:right;line-height:1.4; }
  .v4-services-grid { display:grid;grid-template-columns:1fr;grid-auto-rows:190px;gap:12px; }
  .v4-service-card:nth-child(n) { grid-column:auto; }
  .v4-service-content { min-height:190px;max-width:100%;padding:19px 20px; }
  .v4-service-content strong { font-size:clamp(22px,6.2vw,27px);padding-right:28px; }
  .v4-service-content small { font-size:14px; }
  .v4-service-icon { width:38px;height:38px;font-size:18px; }
  .v4-service-action { right:17px;bottom:17px;width:33px;height:33px; }
  .v4-service-shade { background:linear-gradient(90deg,#102b43ee,#102b439b 58%,#102b4326); }
  .v4-about-photo { width:100%;opacity:.33; }
  .v4-about-photo:after { background:linear-gradient(90deg,#e9ebe9b8,#e9ebe9aa); }
  .v4-about-shell { padding-block:66px;min-height:0; }
  .v4-about-copy { width:100%;padding:22px 14px 23px;background:#f0f1eee9;border:1px solid #ffffff7e;border-radius:12px; }
  .v4-about h2 { font-size:clamp(31px,8.3vw,42px);line-height:1.13; }
  .v4-about p { font-size:16px;line-height:1.6; }
  .v4-about-chips { gap:6px;margin-top:19px; }
  .v4-about-chips span { font-size:11px;padding:7px; }
  .v4-about .v4-section-link { margin-top:9px;max-width:none;text-align:left;font-size:14px; }
  .v4-products { padding:65px 0 73px; }
  .v4-products-grid { grid-template-columns:1fr;gap:15px; }
  .v4-product { height:270px; }
  .v4-product-caption { left:18px;right:18px;bottom:19px;gap:11px; }
  .v4-product-caption strong { font-size:26px; }
  .v4-product-symbol { width:40px;height:40px;flex-basis:40px;font-size:18px; }
  .v4-product-cta { width:37px;height:37px;flex-basis:37px; }
  .v4-contact-media { width:100%;opacity:.37; }
  .v4-contact-media:after { background:linear-gradient(90deg,#123751f2,#123751e2); }
  .v4-contact-shell { padding-block:65px;min-height:0; }
  .v4-contact h2 { font-size:clamp(32px,8.8vw,43px); }
  .v4-contact p { font-size:16px; }
}
@media(max-width:365px) {
  .v4-hero-panel { padding:27px 17px 31px; }
  .v4-hero-title { font-size:clamp(31px,8.6vw,36px); }
  .v4-hero-media { height:215px; }
  .v4-shortcuts-inner span { font-size:12px; }
  .v4-products .v4-section-head p { max-width:170px; }
  .v4-about-chips { display:grid;grid-template-columns:1fr 1fr; }
}
@media(prefers-reduced-motion:reduce) {
  .v4-service-card img,.v4-product img,.v4-media-main img,.v4-media-tile img,
  .v4-shortcuts-inner a,.v4-btn,.v4-service-action,.v4-product-cta {
    transition:none!important;animation:none!important;transform:none!important;
  }
}



.v4-service-content small { font-size:15px; }
@media(max-width:700px) {
  .v4-shortcuts-inner span { font-size:14px; }
  .v4-service-card:nth-child(n) { min-height:185px; }
  .v4-service-card:first-child { min-height:215px; }
  .v4-service-card .v4-service-content { min-height:185px; }
  .v4-service-card:first-child .v4-service-content { min-height:215px; }
  .v4-service-content small { font-size:15px; }
  .v4-about-chips span { font-size:12px; }
  .v4-btn { font-size:15px; }
}
@media(max-width:365px) {
  .v4-shortcuts-inner span { font-size:13px; }
}
