/* Viikinkikone site shell, front page and service pages. */
:root,
:root[data-theme="dark"],
html[data-theme="dark"]{
  --vk-bg:#0b0d0f;
  --vk-surface:#14171a;
  --vk-surface-raised:#1a1e22;
  --vk-text:#f3f1ed;
  --vk-text-muted:#a7aaad;
  --vk-accent:#c98a60;
  --vk-accent2:#e0a77e;
  --vk-accent-contrast:#17100c;
  --vk-border:#2b3034;
  --vk-border-strong:#41474c;
  --vk-header-bg:#0b0d0f;
  --vk-header-glass:rgba(11,13,15,0.96);
  --vk-header-text:#f3f1ed;
  --vk-header-link:#c8cbcd;
  --vk-header-link-hover:#ffffff;
  --vk-sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --vk-radius:8px;
  --vk-card-radius:10px;
  --vk-card-pad:24px;
  --vk-card-lift:2px;
  --vk-card-shadow:0 12px 30px rgba(0,0,0,0.16);
  --vk-card-shadow-hover:0 16px 38px rgba(0,0,0,0.22);
  --vk-card-border-hover:#4b3a30;
  --vk-shadow-soft:0 10px 28px rgba(0,0,0,0.2);
  --vk-shadow-hover:0 14px 34px rgba(0,0,0,0.25);
  --vk-btn-radius:7px;
  --vk-btn-pad-y:12px;
  --vk-btn-pad-x:18px;
  --vk-ease:cubic-bezier(0.2,0.8,0.2,1);
  --vk-dur-short:150ms;
  --vk-dur-med:220ms;
  --vk-lift-1:1px;
  --vk-glow:rgba(201,138,96,0.22);
  --vk-content:1240px;
  --vk-reading:760px;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  min-width:320px;
  scroll-behavior:smooth;
  scroll-padding-top:92px;
  background:var(--vk-bg);
}

body{
  min-width:320px;
  margin:0;
  overflow-x:hidden;
  background:var(--vk-bg);
  color:var(--vk-text);
  font-family:var(--vk-sans);
  font-size:16px;
  line-height:1.65;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

body:not(.vk-valkyra){
  background:
    linear-gradient(90deg,rgba(255,255,255,0.012) 1px,transparent 1px) 50% 0/160px 100%,
    var(--vk-bg);
}

body.vk-cart-open,
body.vk-nav-open{
  overflow:hidden;
}

img,
svg,
video{
  max-width:100%;
}

img{
  height:auto;
}

button,
input,
textarea,
select{
  font:inherit;
}

a{
  color:var(--vk-accent2);
  text-underline-offset:3px;
}

a:hover{
  color:#f0bd96;
}

:focus-visible{
  outline:2px solid var(--vk-accent2);
  outline-offset:3px;
}

[hidden]{
  display:none !important;
}

.screen-reader-text{
  position:absolute !important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.screen-reader-text:focus{
  top:8px;
  left:8px;
  z-index:10000;
  width:auto;
  height:auto;
  margin:0;
  padding:10px 14px;
  clip:auto;
  color:#111;
  background:#fff;
}

.vk-wrap,
.vk-container{
  width:min(var(--vk-content),calc(100% - clamp(32px,6vw,96px)));
  margin-inline:auto;
}

/* Header */
.vk-header{
  position:sticky;
  top:0;
  z-index:100;
  border-bottom:1px solid rgba(255,255,255,0.09);
  background:var(--vk-header-glass);
  color:var(--vk-header-text);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.admin-bar .vk-header{
  top:32px;
}

.vk-header.vk-scrolled{
  box-shadow:0 8px 24px rgba(0,0,0,0.18);
}

.vk-header-inner{
  display:flex;
  align-items:center;
  min-height:72px;
  gap:22px;
}

.vk-brand{
  position:relative;
  z-index:101;
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
  min-width:176px;
}

.vk-brand .custom-logo-link{
  display:inline-flex;
  align-items:center;
}

.vk-brand .custom-logo{
  display:block;
  width:auto;
  max-width:46px;
  max-height:46px;
}

.vk-brand-text{
  color:var(--vk-header-text);
  font-size:16px;
  font-weight:750;
  letter-spacing:-0.015em;
  text-decoration:none;
}

.vk-brand-text:hover{
  color:#fff;
}

.vk-nav{
  display:flex;
  justify-content:center;
  flex:1 1 auto;
  min-width:0;
}

.vk-nav-list{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2px;
  margin:0;
  padding:0;
  list-style:none;
}

.vk-nav-list li{
  margin:0;
}

.vk-nav-list .vk-nav-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:9px 11px;
  border-radius:6px;
  color:var(--vk-header-link);
  font-size:14px;
  font-weight:650;
  line-height:1.1;
  text-decoration:none;
  transition:background-color var(--vk-dur-short) ease,color var(--vk-dur-short) ease;
}

.vk-nav-list .vk-nav-link:hover,
.vk-nav-list .vk-nav-link:focus-visible{
  color:var(--vk-header-link-hover);
  background:#191d20;
}

.vk-nav-list .vk-nav-link[aria-current="page"]{
  color:#fff;
}

.vk-nav-list .vk-nav-link[aria-current="page"]::after{
  content:"";
  position:absolute;
  right:11px;
  bottom:4px;
  left:11px;
  height:2px;
  background:var(--vk-accent);
}

.vk-header-actions{
  position:relative;
  z-index:101;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex:0 0 auto;
  min-width:176px;
}

.vk-cart-btn,
.vk-hamburger,
.vk-mini-cart__close{
  appearance:none;
  border:0;
  font:inherit;
  cursor:pointer;
}

.vk-cart-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:9px 11px;
  border:1px solid var(--vk-border-strong);
  border-radius:7px;
  background:#121518;
  color:var(--vk-text);
  font-size:14px;
  font-weight:680;
}

.vk-cart-btn:hover{
  border-color:#625044;
  background:#1a1e21;
}

.vk-cart-ic{
  display:inline-flex;
}

.vk-cart-ic svg{
  display:block;
}

.vk-cart-count{
  display:inline-grid;
  place-items:center;
  min-width:20px;
  height:20px;
  padding:0 5px;
  border-radius:10px;
  background:var(--vk-accent);
  color:var(--vk-accent-contrast);
  font-size:11px;
  font-weight:800;
}

.vk-hamburger{
  display:none;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  width:44px;
  height:44px;
  border:1px solid var(--vk-border-strong);
  border-radius:7px;
  background:#121518;
}

.vk-hamburger__line{
  width:20px;
  height:2px;
  background:var(--vk-text);
  transition:transform var(--vk-dur-med) ease,opacity var(--vk-dur-short) ease;
}

.vk-hamburger.is-open .vk-hamburger__line:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}

.vk-hamburger.is-open .vk-hamburger__line:nth-child(2){
  opacity:0;
}

.vk-hamburger.is-open .vk-hamburger__line:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}

/* Mini cart */
.vk-cart-overlay{
  position:fixed;
  inset:0;
  z-index:110;
  background:rgba(0,0,0,0.66);
  opacity:0;
  transition:opacity var(--vk-dur-med) ease;
}

.vk-cart-overlay.is-open{
  opacity:1;
}

.vk-mini-cart{
  position:fixed;
  top:0;
  right:0;
  bottom:0;
  z-index:120;
  display:flex;
  flex-direction:column;
  width:min(430px,100%);
  border-left:1px solid var(--vk-border);
  background:#101316;
  color:var(--vk-text);
  box-shadow:-20px 0 54px rgba(0,0,0,0.36);
  transform:translateX(100%);
  transition:transform var(--vk-dur-med) var(--vk-ease);
}

.vk-mini-cart.is-open{
  transform:translateX(0);
}

.vk-mini-cart__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:72px;
  padding:14px 20px;
  border-bottom:1px solid var(--vk-border);
}

.vk-mini-cart__title{
  font-size:19px;
  font-weight:750;
}

.vk-mini-cart__close{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:6px;
  background:transparent;
  color:var(--vk-text);
  font-size:22px;
}

.vk-mini-cart__close:hover{
  background:#1c2023;
}

.vk-mini-cart__body{
  flex:1 1 auto;
  padding:20px;
  overflow:auto;
}

.vk-mini-cart__body .woocommerce-mini-cart{
  margin:0;
  padding:0;
  list-style:none;
}

.vk-mini-cart__body .woocommerce-mini-cart-item{
  position:relative;
  min-height:92px;
  margin:0;
  padding:0 30px 18px 82px;
  border-bottom:1px solid var(--vk-border);
}

.vk-mini-cart__body .woocommerce-mini-cart-item + .woocommerce-mini-cart-item{
  margin-top:18px;
}

.vk-mini-cart__body .woocommerce-mini-cart-item img{
  position:absolute;
  top:0;
  left:0;
  width:66px;
  height:66px;
  object-fit:contain;
  border-radius:6px;
  background:#efede8;
}

.vk-mini-cart__body .remove_from_cart_button{
  position:absolute;
  top:0;
  right:0;
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:5px;
  color:var(--vk-text-muted) !important;
  text-decoration:none;
}

.vk-mini-cart__body .remove_from_cart_button:hover{
  color:#fff !important;
  background:#252a2e;
}

.vk-mini-cart__body .quantity{
  display:block;
  margin-top:6px;
  color:var(--vk-text-muted);
  font-size:13px;
}

.vk-mini-cart__body .woocommerce-mini-cart__total{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin:24px 0 0;
  padding-top:18px;
  border-top:1px solid var(--vk-border);
}

.vk-mini-cart__body .woocommerce-mini-cart__buttons{
  display:none;
}

.vk-mini-cart__foot{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
  padding:18px 20px max(20px,env(safe-area-inset-bottom));
  border-top:1px solid var(--vk-border);
}

/* Shared page structure */
.vk-main{
  min-height:55vh;
  padding:24px 0 64px;
}

.vk-front-page-surface .vk-main,
.vk-shop-template .vk-main,
.vk-services-page .vk-main{
  padding-top:0;
}

.vk-front-page-surface .vk-main > .vk-content,
.vk-shop-template .vk-main > .vk-content,
.vk-services-page .vk-main > .vk-content{
  width:100%;
  max-width:none;
}

.vk-content{
  overflow-wrap:anywhere;
}

.vk-content h1,
.vk-content h2,
.vk-content h3,
.vk-content h4{
  margin-top:0;
  color:var(--vk-text);
  font-weight:730;
  letter-spacing:-0.025em;
  line-height:1.16;
  text-wrap:balance;
}

.vk-content h1{
  margin-bottom:24px;
  font-size:clamp(38px,5vw,64px);
  letter-spacing:-0.045em;
}

.vk-content h2{
  margin-bottom:18px;
  font-size:clamp(28px,3.4vw,43px);
}

.vk-content h3{
  margin-bottom:12px;
  font-size:clamp(20px,2vw,27px);
}

.vk-content p{
  margin-top:0;
  margin-bottom:1.25em;
}

.vk-muted{
  color:var(--vk-text-muted);
}

.vk-content > article:not(.vk-service-page){
  max-width:var(--vk-reading);
  margin-inline:auto;
}

.vk-content > article img{
  max-width:100%;
}

.vk-content :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  width:100%;
  min-height:46px;
  padding:10px 12px;
  border:1px solid var(--vk-border-strong);
  border-radius:6px;
  background:#111416;
  color:var(--vk-text);
}

.vk-content textarea{
  min-height:130px;
  resize:vertical;
}

.vk-content label{
  color:var(--vk-text);
  font-weight:650;
}

.vk-content table{
  width:100%;
  border-collapse:collapse;
}

.vk-content th,
.vk-content td{
  padding:13px 15px;
  border-bottom:1px solid var(--vk-border);
  text-align:left;
}

.vk-content th{
  color:var(--vk-text);
  font-weight:700;
}

.vk-actions,
.vk-hero-actions,
.vk-final-choice-actions,
.vk-inline-links{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.vk-btn,
.vk-cta,
.vk-content .wp-element-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:var(--vk-btn-pad-y) var(--vk-btn-pad-x);
  border:1px solid var(--vk-border-strong);
  border-radius:var(--vk-btn-radius);
  background:#181c1f;
  color:var(--vk-text) !important;
  font-weight:720;
  letter-spacing:-0.01em;
  line-height:1.2;
  text-align:center;
  text-decoration:none !important;
  cursor:pointer;
  transition:background-color var(--vk-dur-short) ease,border-color var(--vk-dur-short) ease,color var(--vk-dur-short) ease;
}

.vk-btn:hover,
.vk-cta:hover,
.vk-content .wp-element-button:hover{
  border-color:#655044;
  background:#202529;
  color:#fff !important;
}

.vk-btn-primary,
.vk-content .wp-block-button:not(.is-style-outline) .wp-element-button{
  border-color:var(--vk-accent);
  background:var(--vk-accent);
  color:var(--vk-accent-contrast) !important;
}

.vk-btn-primary:hover,
.vk-content .wp-block-button:not(.is-style-outline) .wp-element-button:hover{
  border-color:var(--vk-accent2);
  background:var(--vk-accent2);
  color:var(--vk-accent-contrast) !important;
}

.vk-btn-secondary,
.vk-btn-ghost,
.vk-content .is-style-outline .wp-element-button{
  border-color:var(--vk-border-strong);
  background:transparent;
  color:var(--vk-text) !important;
}

.vk-breadcrumbs{
  margin:0 0 26px;
  color:var(--vk-text-muted);
  font-size:13px;
}

.vk-front-page-surface .vk-breadcrumbs{
  display:none;
}

.vk-services-page .vk-breadcrumbs{
  width:min(var(--vk-content),calc(100% - clamp(32px,6vw,96px)));
  margin:18px auto;
}

.vk-breadcrumbs__list{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0;
  padding:0;
  list-style:none;
}

.vk-breadcrumbs__item{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:0;
}

.vk-breadcrumbs__item + .vk-breadcrumbs__item::before{
  content:"/";
  color:#5f6569;
}

.vk-breadcrumbs a{
  color:var(--vk-text-muted);
  text-decoration:none;
}

.vk-breadcrumbs a:hover{
  color:var(--vk-text);
}

/* Front page */
.vk-section{
  width:min(var(--vk-content),calc(100% - clamp(32px,6vw,96px)));
  margin-inline:auto;
  padding:clamp(64px,8vw,104px) 0;
}

.vk-section + .vk-section{
  border-top:1px solid rgba(255,255,255,0.055);
}

.vk-eyebrow,
.vk-path-label,
.vk-service-kicker{
  margin:0 0 14px;
  color:var(--vk-accent2);
  font-size:11px;
  font-weight:760;
  letter-spacing:0.17em;
  line-height:1.35;
  text-transform:uppercase;
}

.vk-home-hero{
  position:relative;
  min-height:min(760px,calc(100svh - 72px));
  display:grid;
  align-items:center;
  padding:clamp(72px,9vw,128px) 0;
  border-bottom:1px solid var(--vk-border);
  background:
    linear-gradient(90deg,transparent 0 65%,rgba(255,255,255,0.018) 65% 65.1%,transparent 65.1%),
    radial-gradient(700px 420px at 10% 20%,rgba(201,138,96,0.12),transparent 74%),
    #0d1012;
}

.vk-home-hero-inner{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,0.65fr);
  align-items:center;
  gap:clamp(42px,7vw,96px);
  width:min(var(--vk-content),calc(100% - clamp(32px,6vw,96px)));
  margin-inline:auto;
}

.vk-home-hero-copy h1{
  max-width:900px;
  margin:0;
  font-size:clamp(44px,6.5vw,82px);
  font-weight:740;
  letter-spacing:-0.058em;
  line-height:0.98;
}

.vk-hero-desc{
  max-width:760px;
  margin:26px 0 0;
  color:#b6b8ba;
  font-size:clamp(17px,1.7vw,20px);
  line-height:1.62;
}

.vk-home-hero .vk-hero-actions{
  margin-top:30px;
}

.vk-hero-trust{
  display:flex;
  gap:10px 26px;
  margin:32px 0 0;
  padding:20px 0 0;
  border-top:1px solid var(--vk-border);
  color:var(--vk-text-muted);
  font-size:13px;
  list-style:none;
}

.vk-hero-trust li{
  position:relative;
  margin:0;
  padding-left:14px;
}

.vk-hero-trust li::before{
  content:"";
  position:absolute;
  top:0.67em;
  left:0;
  width:5px;
  height:5px;
  background:var(--vk-accent);
}

.vk-capability-panel{
  padding:26px;
  border:1px solid var(--vk-border-strong);
  border-radius:9px;
  background:#111416;
  box-shadow:0 24px 60px rgba(0,0,0,0.2);
}

.vk-capability-label{
  margin:0 0 6px;
  color:var(--vk-text-muted);
  font-size:11px;
  font-weight:750;
  letter-spacing:0.16em;
  text-transform:uppercase;
}

.vk-capability-panel dl{
  margin:0 0 18px;
}

.vk-capability-panel dl > div{
  padding:17px 0;
  border-bottom:1px solid var(--vk-border);
}

.vk-capability-panel dt{
  margin-bottom:3px;
  color:var(--vk-text);
  font-size:14px;
  font-weight:720;
}

.vk-capability-panel dd{
  margin:0;
  color:var(--vk-text-muted);
  font-size:13px;
}

.vk-text-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  color:var(--vk-accent2) !important;
  font-size:14px;
  font-weight:720;
  text-decoration:none !important;
}

.vk-text-link:hover{
  color:#f0c19d !important;
}

.vk-section-head{
  max-width:820px;
  margin:0 0 clamp(32px,5vw,52px);
}

.vk-section-head h2{
  margin:0;
}

.vk-section-head > p:last-child:not(.vk-eyebrow),
.vk-section-head-split > p{
  margin:16px 0 0;
  color:var(--vk-text-muted);
  font-size:16px;
}

.vk-section-head-split{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(260px,0.7fr);
  align-items:end;
  gap:clamp(28px,6vw,80px);
  max-width:none;
}

.vk-section-head-split > p{
  margin:0 0 4px;
}

.vk-path-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border:1px solid var(--vk-border);
  border-radius:10px;
  overflow:hidden;
}

.vk-path-card{
  min-width:0;
  padding:clamp(28px,4vw,46px);
  background:#121518;
}

.vk-path-card + .vk-path-card{
  border-left:1px solid var(--vk-border);
  background:#15191c;
}

.vk-path-card-content{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  height:100%;
}

.vk-path-card h3{
  max-width:540px;
  margin:0;
  font-size:clamp(27px,3vw,39px);
  line-height:1.12;
}

.vk-path-card h3 + p{
  max-width:570px;
  margin:18px 0 0;
  color:var(--vk-text-muted);
}

.vk-path-links{
  width:100%;
  margin:30px 0 32px;
  padding:0;
  border-top:1px solid var(--vk-border);
  list-style:none;
}

.vk-path-links li{
  margin:0;
  border-bottom:1px solid var(--vk-border);
}

.vk-path-links a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:50px;
  color:var(--vk-text) !important;
  font-size:14px;
  font-weight:660;
  text-decoration:none !important;
}

.vk-path-links a::after{
  content:"→";
  color:var(--vk-accent2);
}

.vk-path-card .vk-btn{
  margin-top:auto;
}

.vk-showcase-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.vk-showcase-card{
  min-width:0;
  overflow:hidden;
  border:1px solid var(--vk-border);
  border-radius:9px;
  background:#121518;
}

.vk-showcase-media{
  aspect-ratio:4/3;
  overflow:hidden;
  border-bottom:1px solid var(--vk-border);
  background:#eae7e1;
}

.vk-showcase-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.vk-showcase-copy{
  padding:21px 22px 24px;
}

.vk-showcase-copy h3,
.vk-showcase-copy p{
  margin:0;
}

.vk-showcase-copy h3{
  font-size:20px;
}

.vk-showcase-copy p{
  margin-top:9px;
  color:var(--vk-text-muted);
  font-size:14px;
}

.vk-process-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin:0;
  padding:0;
  border-block:1px solid var(--vk-border);
  list-style:none;
}

.vk-process-step{
  min-width:0;
  padding:30px 30px 34px;
}

.vk-process-step + .vk-process-step{
  border-left:1px solid var(--vk-border);
}

.vk-process-num,
.vk-step-number{
  display:block;
  margin:0 0 36px;
  color:var(--vk-accent2);
  font-size:12px;
  font-weight:780;
  letter-spacing:0.12em;
}

.vk-process-step h3,
.vk-process-step p{
  margin:0;
}

.vk-process-step h3{
  font-size:21px;
}

.vk-process-step p{
  margin-top:10px;
  color:var(--vk-text-muted);
  font-size:14px;
}

.vk-process-actions{
  display:flex;
  gap:12px 30px;
  margin-top:26px;
  flex-wrap:wrap;
}

.vk-expertise-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,0.65fr);
  gap:clamp(42px,8vw,110px);
}

.vk-expertise-copy h2{
  margin-bottom:24px;
}

.vk-expertise-copy > p:not(.vk-eyebrow){
  max-width:760px;
  color:#c2c3c4;
  font-size:17px;
}

.vk-inline-links{
  margin-top:28px;
}

.vk-inline-links a{
  min-height:44px;
  color:var(--vk-accent2);
  font-weight:700;
  text-decoration:none;
}

.vk-expertise-facts{
  border-top:1px solid var(--vk-border-strong);
}

.vk-expertise-facts > div{
  display:grid;
  gap:5px;
  padding:22px 0;
  border-bottom:1px solid var(--vk-border);
}

.vk-expertise-facts strong{
  color:var(--vk-text);
  font-size:15px;
}

.vk-expertise-facts span{
  color:var(--vk-text-muted);
  font-size:14px;
}

.vk-testimonial-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.vk-testimonial-card{
  display:flex;
  flex-direction:column;
  min-height:250px;
  margin:0;
  padding:28px;
  border:1px solid var(--vk-border);
  border-radius:8px;
  background:#121518;
}

.vk-testimonial-card blockquote{
  margin:0;
  color:var(--vk-text);
  font-size:17px;
  line-height:1.6;
}

.vk-testimonial-card figcaption{
  display:flex;
  flex-direction:column;
  gap:2px;
  margin-top:auto;
  padding-top:28px;
  color:var(--vk-text-muted);
  font-size:13px;
}

.vk-testimonial-card figcaption strong{
  color:var(--vk-text);
  font-size:14px;
}

.vk-faq-list{
  border-top:1px solid var(--vk-border-strong);
}

.vk-faq-list details{
  border-bottom:1px solid var(--vk-border);
}

.vk-faq-list summary{
  position:relative;
  padding:22px 48px 22px 0;
  color:var(--vk-text);
  font-size:17px;
  font-weight:690;
  cursor:pointer;
  list-style:none;
}

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

.vk-faq-list summary::after{
  content:"+";
  position:absolute;
  top:18px;
  right:4px;
  color:var(--vk-accent2);
  font-size:24px;
  font-weight:400;
}

.vk-faq-list details[open] summary::after{
  content:"−";
}

.vk-faq-list details p{
  max-width:800px;
  margin:0;
  padding:0 0 24px;
  color:var(--vk-text-muted);
}

.vk-final-choice{
  margin-top:clamp(40px,6vw,80px);
  padding:clamp(70px,9vw,116px) clamp(20px,5vw,72px);
  border-block:1px solid var(--vk-border);
  background:#111416;
  text-align:center;
}

.vk-final-choice-inner{
  max-width:850px;
  margin-inline:auto;
}

.vk-final-choice h2{
  margin:0;
  font-size:clamp(33px,5vw,56px);
}

.vk-final-choice h2 + p{
  max-width:680px;
  margin:19px auto 0;
  color:var(--vk-text-muted);
  font-size:17px;
}

.vk-final-choice-actions{
  justify-content:center;
  margin:30px 0 12px;
}

.vk-front-page-surface .vk-footer{
  margin-top:0;
}

/* Service pages: content remains editable in Gutenberg. */
.vk-service-hero{
  padding:clamp(70px,9vw,116px) clamp(20px,5vw,72px);
  border-block:1px solid var(--vk-border);
  background:
    linear-gradient(90deg,transparent 0 70%,rgba(255,255,255,0.018) 70% 70.1%,transparent 70.1%),
    radial-gradient(660px 340px at 12% 16%,rgba(201,138,96,0.1),transparent 72%),
    #0e1113;
}

.vk-service-hero-inner{
  width:min(1120px,100%);
  margin-inline:auto;
}

.vk-service-hero h1{
  max-width:860px;
  margin:0;
  font-size:clamp(44px,7vw,76px);
}

.vk-service-lead{
  max-width:740px;
  margin:22px 0 0;
  color:var(--vk-text-muted);
  font-size:clamp(17px,2vw,21px);
}

.vk-service-actions{
  display:flex;
  gap:10px;
  margin-top:29px;
  flex-wrap:wrap;
}

.vk-service-editor{
  width:min(1120px,calc(100% - clamp(32px,6vw,96px)));
  margin-inline:auto;
  padding:clamp(58px,8vw,96px) 0 0;
}

.vk-service-editor > *{
  margin-block-start:0;
  margin-block-end:clamp(30px,5vw,56px);
}

.vk-service-intro{
  max-width:800px;
}

.vk-service-intro p{
  color:var(--vk-text-muted);
  font-size:18px;
}

.vk-service-choice-grid,
.vk-service-feature-grid,
.vk-service-process{
  gap:14px;
}

.vk-service-card,
.vk-service-feature,
.vk-service-process > .wp-block-column{
  padding:clamp(24px,3vw,34px);
  border:1px solid var(--vk-border);
  border-radius:8px;
  background:#121518;
}

.vk-service-card{
  display:flex;
  flex-direction:column;
}

.vk-service-card .wp-block-buttons{
  margin-top:auto;
  padding-top:20px;
}

.vk-service-card p,
.vk-service-card li,
.vk-service-feature p,
.vk-service-process p{
  color:var(--vk-text-muted);
}

.vk-service-table{
  overflow-x:auto;
  border:1px solid var(--vk-border);
  border-radius:7px;
}

.vk-service-table table{
  min-width:580px;
  margin:0;
}

.vk-service-cta{
  padding:clamp(30px,5vw,52px);
  border:1px solid var(--vk-border-strong);
  border-radius:8px;
  background:#15191c;
  text-align:center;
}

.vk-service-cta .wp-block-buttons{
  justify-content:center;
}

/* Footer */
.vk-footer{
  margin-top:clamp(54px,7vw,88px);
  padding:42px 0 max(24px,env(safe-area-inset-bottom));
  border-top:1px solid var(--vk-border);
  background:#0e1113;
  color:var(--vk-text);
}

.vk-footer__inner{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:40px;
}

.vk-footer__left{
  max-width:450px;
}

.vk-footer__brand{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--vk-text);
  text-decoration:none;
}

.vk-footer__logo{
  width:30px;
  height:30px;
  object-fit:contain;
}

.vk-footer__name{
  font-weight:760;
}

.vk-footer__meta{
  display:flex;
  flex-direction:column;
  gap:2px;
  margin-top:14px;
  color:var(--vk-text-muted);
  font-size:13px;
}

.vk-footer__link,
.vk-footer__navlink{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  color:var(--vk-text-muted);
  text-decoration:none;
}

.vk-footer__link:hover,
.vk-footer__navlink:hover{
  color:var(--vk-text);
}

.vk-footer__right{
  display:flex;
  justify-content:flex-end;
  gap:0 22px;
  max-width:560px;
  flex-wrap:wrap;
}

.vk-footer__legal{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--vk-border);
  color:var(--vk-text-muted);
  font-size:12px;
}

/* Valkyra keeps its light sub-brand while sharing the same accessible shell. */
body.vk-valkyra .vk-header{
  border-bottom-color:var(--vk-border);
  background:var(--vk-header-glass);
}

body.vk-valkyra .vk-nav-list .vk-nav-link:hover,
body.vk-valkyra .vk-nav-list .vk-nav-link:focus-visible{
  background:rgba(184,116,70,0.08);
  color:var(--vk-header-link-hover);
}

body.vk-valkyra :is(.vk-cart-btn,.vk-hamburger){
  border-color:var(--vk-border);
  background:#fff;
  color:var(--vk-text);
}

body.vk-valkyra .vk-hamburger__line{
  background:var(--vk-text);
}

body.vk-valkyra :is(.vk-mini-cart,.vk-mini-cart__body,.vk-mini-cart__foot){
  background:#fff;
  color:var(--vk-text);
}

body.vk-valkyra :is(.vk-mini-cart__head,.vk-mini-cart__foot){
  border-color:var(--vk-border);
}

body.vk-valkyra .vk-mini-cart__close{
  color:var(--vk-text);
}

body.vk-valkyra .vk-mini-cart__close:hover{
  background:#f4eee6;
}

/* Content must never depend on JavaScript animation state. */
[data-vk-reveal],
[data-vk-reveal].vk-in{
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
}

@media (max-width:1040px){
  .vk-brand,
  .vk-header-actions{
    min-width:auto;
  }

  .vk-brand-text{
    display:none;
  }

  .vk-home-hero-inner{
    grid-template-columns:minmax(0,1.25fr) minmax(280px,0.75fr);
    gap:40px;
  }

  .vk-showcase-grid,
  .vk-testimonial-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .vk-testimonial-card:last-child{
    grid-column:1/-1;
    min-height:210px;
  }
}

@media (max-width:800px){
  .admin-bar .vk-header{
    top:46px;
  }

  .vk-header-inner{
    min-height:64px;
  }

  .vk-brand{
    flex:1 1 auto;
  }

  .vk-brand .custom-logo{
    max-width:40px;
    max-height:40px;
  }

  .vk-hamburger{
    display:flex;
  }

  .vk-nav{
    position:fixed;
    inset:0;
    z-index:90;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:90px 24px 40px;
    background:#0b0d0f;
    opacity:0;
    pointer-events:none;
    transform:translateY(-8px);
    transition:opacity var(--vk-dur-med) ease,transform var(--vk-dur-med) ease;
  }

  body.vk-valkyra .vk-nav{
    background:#faf6ee;
  }

  .vk-nav.is-open{
    opacity:1;
    pointer-events:auto;
    transform:none;
  }

  .vk-nav-list{
    flex-direction:column;
    gap:6px;
  }

  .vk-nav-list .vk-nav-link{
    justify-content:center;
    min-width:240px;
    min-height:52px;
    padding:12px 20px;
    font-size:20px;
  }

  .vk-nav-list .vk-nav-link[aria-current="page"]::after{
    right:30px;
    left:30px;
  }

  .vk-home-hero{
    min-height:auto;
  }

  .vk-home-hero-inner,
  .vk-section-head-split,
  .vk-expertise-grid{
    grid-template-columns:1fr;
  }

  .vk-section-head-split{
    gap:16px;
  }

  .vk-section-head-split > p{
    max-width:700px;
  }

  .vk-capability-panel{
    max-width:620px;
  }

  .vk-path-grid,
  .vk-process-grid{
    grid-template-columns:1fr;
  }

  .vk-path-card + .vk-path-card,
  .vk-process-step + .vk-process-step{
    border-top:1px solid var(--vk-border);
    border-left:0;
  }

  .vk-path-card .vk-btn{
    margin-top:0;
  }

  .vk-process-num{
    margin-bottom:24px;
  }

  .vk-footer__inner{
    flex-direction:column;
  }

  .vk-footer__right{
    justify-content:flex-start;
  }

  .vk-service-choice-grid,
  .vk-service-feature-grid,
  .vk-service-process{
    flex-direction:column;
  }
}

@media (max-width:620px){
  .vk-wrap,
  .vk-container,
  .vk-section,
  .vk-home-hero-inner,
  .vk-services-page .vk-breadcrumbs,
  .vk-service-editor{
    width:calc(100% - 24px);
  }

  .vk-cart-label{
    display:none;
  }

  .vk-home-hero{
    padding:62px 0 54px;
  }

  .vk-home-hero-copy h1{
    font-size:clamp(40px,12.5vw,58px);
  }

  .vk-home-hero .vk-hero-actions,
  .vk-home-hero .vk-hero-actions .vk-btn,
  .vk-final-choice-actions,
  .vk-final-choice-actions .vk-btn,
  .vk-service-actions,
  .vk-service-actions .vk-btn{
    width:100%;
  }

  .vk-hero-trust{
    flex-direction:column;
    gap:8px;
  }

  .vk-section{
    padding:58px 0;
  }

  .vk-showcase-grid,
  .vk-testimonial-grid{
    grid-template-columns:1fr;
  }

  .vk-testimonial-card:last-child{
    grid-column:auto;
  }

  .vk-path-card,
  .vk-process-step,
  .vk-testimonial-card{
    padding:24px;
  }

  .vk-service-hero{
    padding:58px 18px;
  }

  .vk-service-hero h1{
    font-size:clamp(40px,12.5vw,58px);
  }

  .vk-footer__right{
    flex-direction:column;
  }
}

@media (max-width:360px){
  .vk-cart-btn{
    padding-inline:8px;
  }

  .vk-header-inner{
    gap:8px;
  }
}

@media (prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto;
  }

  *,
  *::before,
  *::after{
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.01ms !important;
  }
}
