/* Small, progressive enhancements to the established black and gold identity. */
.btn,.header-contact{position:relative;border-radius:5px;isolation:isolate;box-shadow:inset 0 1px 0 #fff6,inset 0 -2px 0 #634b24,0 3px 0 #4a371b,0 8px 18px #0005;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}
.btn:not(.btn-line){background:linear-gradient(160deg,#ead294 0%,#d6b76d 32%,#c4a052 68%,#ddc080 100%);border-color:#dfc280;color:#141008;text-shadow:0 1px 0 #fff3}
.btn-line,.header-contact{background:linear-gradient(155deg,#29251b 0%,#15140f 50%,#0c0c0a 100%);border-color:#8f7848;color:#f4ecda;box-shadow:inset 0 1px 0 #e5cd9033,inset 0 -2px 0 #080807,0 3px 0 #080807,0 8px 20px #0005}
.btn span[aria-hidden],.header-contact span{transition:transform .2s ease}
.btn:focus-visible,.header-contact:focus-visible{outline:2px solid #f3d995;outline-offset:6px}
.btn:active,.header-contact:active{transform:translateY(2px);box-shadow:inset 0 1px 3px #0003,0 1px 0 #4a371b,0 3px 8px #0004}
.btn[disabled],.btn[aria-disabled=true]{transform:none;box-shadow:none;cursor:not-allowed}
.hero.hero-premium .btn-sand{background:linear-gradient(160deg,#ead294,#d6b76d 32%,#c4a052 68%,#ddc080);border-color:#dfc280;color:#141008}
.hero.hero-premium .btn-sand:hover{background:linear-gradient(160deg,#f2dda5,#dfc37f 32%,#d0ac60 68%,#e8cc8c);border-color:#ebd49c}
.hero.hero-premium .btn-line{background:linear-gradient(155deg,#29251bf2,#15140fe8 50%,#0c0c0ae8);border-color:#9a8150}

/* Self-contained service cards also recover spacing if an older SEO CSS is cached. */
.seo-services{position:relative;padding:8px 0;background:linear-gradient(180deg,#10100e,#080808);border-block:1px solid #393123}
.seo-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-top:30px;padding-bottom:30px}
.seo-service-card,.seo-service-card:first-child,.seo-service-card:last-child{position:relative;display:flex;flex-direction:column;min-width:0;padding:28px 26px 24px;border:1px solid #443a28;border-radius:7px;background:linear-gradient(145deg,#1b1a16,#11110f 65%,#14120d);box-shadow:inset 0 1px 0 #e6cd8b0d,0 12px 26px #0003;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.seo-service-number{position:static;display:block;margin:0 0 24px;color:#c6a763;font-size:10px;line-height:1.5;letter-spacing:1.6px}
.seo-service-card h2{margin:0 0 14px;color:#f3f0e8;font-size:clamp(22px,2.1vw,28px);line-height:1.2;letter-spacing:-.035em}
.seo-service-card p{margin:0 0 28px;max-width:34em;color:#c0bcb1;font-size:12px;line-height:1.85}
.seo-service-action{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:auto;padding-top:18px;border-top:1px solid #3c3425;color:#e1c787;font-size:11px;line-height:1.6;font-weight:500}
.seo-service-action>span{flex-shrink:0;font-size:17px;transition:transform .25s ease}
.seo-service-card:focus-visible{outline:2px solid #efd18a;outline-offset:5px}
.seo-guide-card,.policy-hub-card{transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.text-link{transition:color .2s ease,border-color .2s ease}

@media(hover:hover) and (pointer:fine){
 .btn:hover,.header-contact:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 #fff6,inset 0 -2px 0 #634b24,0 5px 0 #4a371b,0 12px 24px #0007}
 .btn-line:hover,.header-contact:hover{background:linear-gradient(155deg,#393020,#201b13 55%,#11100c);border-color:#c5a45f;box-shadow:inset 0 1px 0 #e5cd9040,inset 0 -2px 0 #080807,0 5px 0 #080807,0 12px 24px #0007}
 .btn:hover span[aria-hidden],.header-contact:hover span{transform:translate(2px,-2px)}
 .seo-service-card:hover,.seo-guide-card:hover,.policy-hub-card:hover{transform:translateY(-4px);border-color:#a68b50;box-shadow:inset 0 1px 0 #e6cd8b12,0 17px 35px #0006}
 .seo-service-card:hover .seo-service-action>span,.seo-guide-card:hover .seo-service-action>span{transform:translate(3px,-3px)}
 .btn:active,.header-contact:active{transform:translateY(2px);box-shadow:inset 0 1px 3px #0003,0 1px 0 #4a371b,0 3px 8px #0004}
}

/* Content has no hidden/pending state; animation is added only when it enters view. */
@media(prefers-reduced-motion:no-preference){
 .kova-motion-enter{animation:kova-premium-rise .64s cubic-bezier(.2,.7,.2,1) both}
 @keyframes kova-premium-rise{from{opacity:.45;translate:0 16px}to{opacity:1;translate:0 0}}
}
@media(max-width:950px){.seo-service-grid{gap:14px}.seo-service-card,.seo-service-card:first-child,.seo-service-card:last-child{padding:24px 20px}.seo-service-card h2{font-size:23px}}
@media(max-width:700px){.seo-service-grid{grid-template-columns:1fr;gap:14px;padding-top:24px;padding-bottom:24px}.seo-service-card,.seo-service-card:first-child,.seo-service-card:last-child{padding:25px 23px}.seo-service-number{margin-bottom:16px}.seo-service-card h2{font-size:25px}.seo-service-card p{max-width:44em;margin-bottom:22px;font-size:12px}.seo-service-action{padding-top:15px}}
@media(prefers-reduced-motion:reduce){.btn,.header-contact,.btn span[aria-hidden],.header-contact span,.seo-service-card,.seo-service-action>span,.seo-guide-card,.policy-hub-card,.text-link{transition:none!important}.btn:hover,.header-contact:hover,.seo-service-card:hover,.seo-guide-card:hover,.policy-hub-card:hover,.btn:active,.header-contact:active{transform:none}.kova-motion-enter{animation:none!important;opacity:1!important;translate:none!important}}

/* Fixed vector shapes prevent phone fonts from substituting colourful emoji. */
.kova-icon{display:inline-block;width:18px;height:18px;min-width:18px;flex:0 0 18px;vertical-align:-.22em;overflow:visible;pointer-events:none}
.menu-toggle .kova-icon{width:24px;height:24px;vertical-align:middle}
.menu-toggle{min-width:44px;min-height:44px;color:#d9bd79}
.card-button,.gallery-arrow,.gallery-open{align-items:center;justify-content:center}
.card-button .kova-icon,.gallery-arrow .kova-icon{vertical-align:middle}
.feature-list li::before{content:"";width:12px;height:12px;display:block;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M6%2018%2018%206M6%206h12v12%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M6%2018%2018%206M6%206h12v12%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
