/*
Theme Name: SK Digital Matrix Theme
Author: SK Digital Matrix
Description: Eigenständiges Premium-Theme mit editierbarer Homepage, Produkten, Magazin und Kontaktformular für SK Digital Matrix.
Version: 1.2.2
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: sk-digitalworks
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
@font-face {
    font-family:Inter;
    src:url('assets/fonts/InterVariable.woff2') format('woff2');
    font-weight:100 900;
    font-display:swap
}

@font-face {
    font-family:Montserrat;
    src:url('assets/fonts/Montserrat-300.woff2') format('woff2');
    font-weight:300;
    font-display:swap
}

@font-face {
    font-family:Montserrat;
    src:url('assets/fonts/Montserrat-500.woff2') format('woff2');
    font-weight:500;
    font-display:swap
}

@font-face {
    font-family:Montserrat;
    src:url('assets/fonts/Montserrat-600.woff2') format('woff2');
    font-weight:600;
    font-display:swap
}

@font-face {
    font-family:Montserrat;
    src:url('assets/fonts/Montserrat-700.woff2') format('woff2');
    font-weight:700;
    font-display:swap
}

:root {
    --bg:#020b12;
    --panel:#071b2b;
    --ink:#f4f5f6;
    --muted:#d1d6de;
    --gold:#f5c963;
    --gold-bright:#ffe6a5;
    --gold-deep:#91601d;
    --cyan:#4ac7ff;
    --blue:#138ee0;
    --purple:#b647ff;
    --line:rgba(213,179,100,.28);
    --radius:14px;
    --pill:999px;
    --gold-gradient:linear-gradient(130deg,#ffe6a5,#b97e26 45%,#f7ce70);
    --glow-gold:0 0 10px #e5ad4560,inset 0 0 10px #d99b2630;
    --glow-blue:0 0 12px #24b7ff55,inset 0 0 14px #279fe945;
    --duration:240ms;
    --ease:cubic-bezier(.2,.8,.2,1);
    --max:1440px
}

* {
    box-sizing:border-box
}

html {
    scroll-behavior:smooth
}

body {
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:Inter,Arial,sans-serif;
    font-size:clamp(12px,1.28vw,18px);
    line-height:1.4
}

img {
    max-width:100%;
    height:auto
}

a {
    color:inherit;
    text-decoration:none
}

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

button,a {
    -webkit-tap-highlight-color:transparent
}

button {
    cursor:pointer
}

button:disabled {
    cursor:not-allowed;
    opacity:.6
}

h1,h2,h3,p {
    margin:0
}

ul,ol {
    padding:0;
    margin:0;
    list-style:none
}

h1,h2,h3 {
    line-height:1.12;
    letter-spacing:-.035em
}

p {
    color:var(--muted)
}

.container {
    width:90%;
    max-width:var(--max);
    margin:auto
}

.narrow {
    max-width:1000px
}

.icon {
    display:block;
    flex:none;
    width:1.35em;
    height:1.35em;
    filter:invert(1);
    object-fit:contain
}

.gold-text {
    color:var(--gold-bright)
}

.cyan-text {
    color:var(--cyan);
    text-shadow:0 0 20px #219ac344
}

.eyebrow {
    font-size:.76em;
    font-weight:750;
    letter-spacing:.24em;
    color:var(--gold);
    line-height:1.35
}

.section {
    border-top:1px solid var(--line);
    padding:1.15vw 0
}

.section-heading {
    display:flex;
    gap:1em;
    align-items:end;
    margin-bottom:.75em
}

.section-heading h2 {
    font-size:clamp(22px,2.4vw,36px);
    font-weight:650;
    margin-top:.22em;
    letter-spacing:-.035em
}

.heading-line {
    height:1px;
    flex:1;
    min-width:0;
    background:var(--line);
    margin-bottom:.38em
}

.button {
    --accent:var(--gold);
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.75em;
    min-height:2.8em;
    padding:.6em 1.3em;
    border:1px solid var(--accent);
    border-radius:var(--pill);
    background:linear-gradient(180deg,#182634d9,#020a11ef);
    box-shadow:var(--glow-gold),inset 0 1px 2px #ffedb3;
    overflow:hidden;
    font-size:.88em;
    font-weight:550;
    line-height:1.2;
    color:var(--ink);
    isolation:isolate;
    transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease),background var(--duration) var(--ease);
    white-space:normal;
    text-align:center
}

.button--gold {
    border-width:1.5px;
    color:#fff1d2
}

.button--cyan {
    --accent:var(--cyan);
    box-shadow:var(--glow-blue),inset 0 1px 2px #b9f1ff;
    background:linear-gradient(180deg,#103f5e,#04121ed9)
}

.button .icon {
    width:1.35em;
    height:1.35em
}

.button .arrow {
    width:1.1em;
    height:1.1em;
    transition:transform var(--duration) var(--ease)
}

.reactive {
    --px:50%;
    --py:50%;
    transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease),border-color var(--duration) var(--ease)
}

.button::before,.social-card::before {
    content:'';
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:radial-gradient(circle at var(--px) var(--py),#fff4 0,transparent 55%);
    opacity:0;
    transition:opacity var(--duration)
}

.button::after {
    content:'';
    position:absolute;
    inset:-30% auto -30% -40%;
    width:22%;
    background:linear-gradient(90deg,transparent,#fff6,transparent);
    transform:skewX(-25deg);
    pointer-events:none;
    z-index:-1
}

.button:hover::after {
    animation:shine .75s var(--ease)
}

.button:hover::before,.social-card:hover::before {
    opacity:1
}

.button:hover {
    transform:translateY(-2px);
    box-shadow:0 0 22px color-mix(in srgb,var(--accent) 45%,transparent),inset 0 0 15px #fff2
}

.button:hover .arrow {
    transform:translateX(3px)
}

.reactive:active {
    transform:translateY(1px) scale(.98)
}

.ripple {
    position:absolute;
    width:16px;
    height:16px;
    border-radius:50%;
    background:#fff5;
    pointer-events:none;
    animation:ripple .65s ease-out forwards
}

a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible {
    outline:3px solid #74daff;
    outline-offset:4px
}

.skip-link {
    position:fixed;
    top:-120px;
    left:12px;
    z-index:100;
    background:#fff;
    color:#000;
    padding:12px 18px
}

.skip-link:focus {
    top:12px
}

.site-header {
    position:relative;
    z-index:10;
    background:#020a12e8;
    border-bottom:1px solid var(--line)
}

.header-inner {
    max-width:1600px;
    width:92%;
    margin:auto;
    min-height:clamp(58px,5.8vw,88px);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1em
}

.brand {
    display:block;
    flex:none;
    width:clamp(170px,22vw,290px);
    height:clamp(50px,5vw,76px);
    overflow:hidden
}

.brand img {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain
}

.primary-nav {
    border-radius:999px;
    background:#061a2bd9;
    box-shadow:inset 0 1px 8px #4c9fcc26;
    border:1px solid #31435070
}

.menu {
    display:flex;
    align-items:center
}

.primary-nav .menu a {
    display:flex;
    gap:.7em;
    align-items:center;
    font-size:.82em;
    padding:.7em 1em;
    min-height:36px;
    border:1px solid transparent;
    border-radius:999px;
    white-space:nowrap
}

.primary-nav .current,.primary-nav .current-menu-item>a {
    border-color:var(--gold)!important;
    box-shadow:var(--glow-blue),inset 0 1px 4px #ffe5ac;
    background:#071522
}

.primary-nav .menu a:hover {
    background:#173548
}

.primary-nav .icon {
    width:1.55em;
    height:1.55em
}

.header-cta .button {
    font-size:.76em;
    padding:.7em 1.2em
}

.menu-toggle {
    display:none
}

.hero {
    position:relative;
    min-height:32vw;
    max-height:550px;
    overflow:hidden;
    background:#020b12
}

.hero-art {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center
}

.hero::after {
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,#020b123b,transparent 68%);
    pointer-events:none
}

.hero-inner {
    position:relative;
    z-index:1;
    padding-top:1.6vw;
    padding-bottom:1.1vw
}

.hero-copy {
    width:48%;
    max-width:760px
}

.hero h1 {
    font-size:clamp(35px,4.15vw,66px);
    font-weight:660;
    line-height:.97;
    margin-top:.2em;
    letter-spacing:-.045em
}

.hero h1>span {
    display:block
}

.hero h1 .light {
    font-weight:350
}

.hero h1 strong {
    font-weight:750
}

.hero h1 .gold-text {
    font-weight:760
}

.hero-description {
    max-width:34em;
    font-size:1.04em;
    line-height:1.22;
    margin-top:.55em;
    color:#eef0f2;
    text-shadow:0 1px 4px #000
}

.hero-buttons {
    display:flex;
    flex-wrap:wrap;
    gap:.9em;
    margin-top:.8em
}

.hero-buttons .button {
    min-height:3em
}

.trust-points {
    display:flex;
    gap:2.4em;
    margin-top:1.1em;
    max-width:67%
}

.trust-point {
    display:flex;
    align-items:center;
    gap:.8em;
    min-width:0
}

.trust-point p {
    font-size:.77em;
    line-height:1.35
}

.trust-point strong,.trust-point p>span {
    display:block
}

.trust-point strong {
    font-weight:550;
    color:#fff
}

.orb {
    --orb-color:var(--cyan);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:none;
    width:4em;
    height:4em;
    border:1px solid var(--orb-color);
    border-radius:50%;
    background:radial-gradient(ellipse at 28% 10%,#2987ba55 0,#081622 50%,#01050b 80%);
    box-shadow:0 0 10px color-mix(in srgb,var(--orb-color) 60%,transparent),inset 0 1px 3px #e5efff,inset 0 -3px 8px #000;
    position:relative
}

.orb .icon {
    width:54%;
    height:54%;
    filter:invert(1) drop-shadow(0 0 4px #6bcbff77)
}

.orb--gold {
    --orb-color:var(--gold);
    background:radial-gradient(ellipse at 28% 10%,#72552e66,#09121a 50%,#01050b 80%)
}

.orb--gold .icon {
    filter:invert(85%) sepia(51%) saturate(592%) hue-rotate(333deg) brightness(109%)
}

.trust-point .orb {
    width:3em;
    height:3em
}

.products-section {
    background:#04111add
}

.products-heading {
    display:flex;
    align-items:center;
    gap:1em;
    justify-content:space-between
}

.products-heading .section-heading {
    flex:1
}

.products-heading .button {
    font-size:.72em;
    margin-bottom:.6em;
    flex:none
}

.product-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1.1em
}

.product-card {
    --accent:var(--cyan);
    position:relative;
    height:clamp(228px,23.4vw,375px);
    border:1px solid var(--accent);
    border-radius:var(--radius);
    background:#071b2b;
    box-shadow:0 0 14px color-mix(in srgb,var(--accent) 20%,transparent),inset 0 0 20px #137da222;
    overflow:hidden;
    isolation:isolate
}

.product-card--gold {
    --accent:#efb64d
}

.product-card--purple {
    --accent:#b43cff
}

.card-art {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .6s var(--ease)
}

.product-card::before {
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,#010a13d9 0,#020b1280 53%,transparent 88%);
    z-index:1;
    pointer-events:none
}

.product-card:hover {
    box-shadow:0 0 22px color-mix(in srgb,var(--accent) 35%,transparent);
    transform:translateY(-3px)
}

.product-card:hover .card-art {
    transform:scale(1.04)
}

.product-copy {
    position:relative;
    z-index:2;
    padding:1em 1.05em
}

.product-copy .orb {
    --orb-color:var(--accent);
    width:4em;
    height:4em;
    font-size:.85em;
    margin-bottom:.5em
}

.product-copy h3 {
    font-size:1.15em;
    letter-spacing:-.025em;
    line-height:1.15;
    margin-bottom:.4em
}

.product-copy p {
    max-width:66%;
    font-size:.9em;
    color:#e1e3e7;
    line-height:1.35;
    text-shadow:0 1px 3px #000
}

.card-link::after {
    content:'';
    position:absolute;
    inset:0;
    z-index:1
}

.status {
    display:inline-flex;
    border:1px solid #d4dded60;
    color:#e6edf5;
    background:#071522dc;
    border-radius:999px;
    padding:.25em .65em;
    font-size:.67em;
    letter-spacing:.02em
}

.product-copy .status {
    position:absolute;
    top:1.3em;
    right:1em
}

.card-bottom {
    position:absolute;
    bottom:.9em;
    left:1em;
    right:.8em;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.5em;
    z-index:2;
    pointer-events:none
}

.chips {
    display:flex;
    gap:.35em;
    flex-wrap:wrap
}

.chips span {
    font-size:.6em;
    padding:.55em .8em;
    border:1px solid color-mix(in srgb,var(--accent) 60%,transparent);
    border-radius:999px;
    background:#020c15b8;
    white-space:nowrap;
    box-shadow:inset 0 0 8px color-mix(in srgb,var(--accent) 15%,transparent)
}

.card-arrow {
    width:2em;
    height:2em;
    border:1px solid var(--accent);
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#020911a8
}

.card-arrow .icon {
    width:1em;
    height:1em
}

.panel {
    background:linear-gradient(130deg,#10334b66,#061a2bca);
    border:1px solid #518eae88;
    border-radius:var(--radius);
    box-shadow:inset 0 1px 2px #b9e0f770
}

.service-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:.75em
}

.service-card {
    display:flex;
    align-items:center;
    gap:.7em;
    padding:.55em .7em;
    min-height:7.6vw;
    position:relative
}

.service-card .orb {
    font-size:1em;
    width:4em;
    height:4em
}

.service-card h3 {
    font-size:.96em;
    font-weight:600;
    letter-spacing:0;
    margin-bottom:.3em
}

.service-card p {
    font-size:.75em;
    line-height:1.35
}

.small-arrow {
    position:absolute;
    right:.3em;
    top:42%;
    background:#0c263bcc;
    border:1px solid #51798a50;
    border-radius:50%;
    padding:.18em
}

.small-arrow .icon {
    width:.8em;
    height:.8em
}

.service-card>div {
    padding-right:.55em
}

.service-card:hover {
    border-color:var(--cyan);
    box-shadow:var(--glow-blue);
    transform:translateY(-2px)
}

.process-section {
    background:#03101a
}

.process-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:1em;
    padding:.2em 0 .6em
}

.process-grid li {
    display:flex;
    align-items:center;
    gap:.9em;
    min-width:0;
    position:relative
}

.process-orb {
    font-size:1.3em;
    border-width:2px;
    outline:1px solid #6fbdda44;
    outline-offset:4px
}

.process-orb .icon {
    filter:invert(85%) sepia(51%) saturate(592%) hue-rotate(333deg) brightness(109%)
}

.process-grid li:not(:last-child)::after {
    content:'';
    position:absolute;
    top:41%;
    height:1px;
    width:10%;
    right:-.8em;
    background:var(--cyan);
    box-shadow:0 0 5px 1px #00bdff
}

.process-grid h3 {
    font-size:.88em;
    letter-spacing:0;
    font-weight:600;
    border-bottom:1px solid #53bded8a;
    padding-bottom:.7em;
    box-shadow:0 2px 4px -3px #10caff
}

.step-number {
    display:inline-block;
    margin-right:.8em;
    color:#fff
}

.process-grid p {
    font-size:.77em;
    margin-top:.7em;
    line-height:1.35
}

.why-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1.5em
}

.office-image {
    width:100%;
    height:14.3vw;
    max-height:228px;
    min-height:135px;
    object-fit:cover;
    border:1px solid #53718677;
    border-radius:5px
}

.reason-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1.2em 1.6em
}

.reason {
    display:flex;
    gap:1em;
    align-items:center
}

.reason .orb {
    width:3.6em;
    height:3.6em
}

.reason h3 {
    font-size:.77em;
    font-weight:550;
    letter-spacing:0;
    margin-bottom:.4em
}

.reason p {
    font-size:.75em;
    line-height:1.35
}

.landscape {
    background-color:#020b12;
    background-image:linear-gradient(180deg,#020b12f0 0%,#020b12df 30%,#020b12c2 48%,#020b1270 68%,#020b123d 84%,#020b1226 100%),var(--landscape);
    background-size:100% 100%,140% auto;
    background-position:53% top;
    background-repeat:no-repeat
}

.social-section {
    padding-bottom:7.2vw
}

/* One continuous landscape and overlay; both foreground sections stay transparent. */
.landscape>.social-section,.landscape>.cta-section {
    background:transparent
}

.landscape>.cta-section {
    border-top-color:transparent
}

.social-grid {
    width:85%;
    margin:auto;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1em
}

.social-card {
    --social:#e859da;
    position:relative;
    display:flex;
    align-items:center;
    gap:1.5em;
    min-height:6.8vw;
    padding:.7em 1.1em;
    border:1px solid var(--social);
    border-radius:12px;
    background:linear-gradient(110deg,#4c153a99,#090a24b8);
    box-shadow:inset 0 1px 3px #ffd6fb,0 0 10px color-mix(in srgb,var(--social) 35%,transparent);
    overflow:hidden
}

.social-card--youtube {
    --social:#ff4848;
    background:linear-gradient(110deg,#711419aa,#191032bb)
}

.social-card--tiktok {
    --social:#51c6fb;
    background:linear-gradient(110deg,#133b52aa,#111825cc)
}

.social-icon {
    display:grid;
    place-items:center;
    width:3.7em;
    height:3.7em;
    flex:none;
    border-radius:.8em;
    background:linear-gradient(135deg,#6730f5,#ed06bd 60%,#ffb631);
    box-shadow:0 0 14px #ff30c8
}

.social-icon .icon {
    width:70%;
    height:70%
}

.social-card--youtube .social-icon {
    background:#ff112b;
    box-shadow:0 0 14px #ff142b
}

.social-card--tiktok .social-icon {
    background:#020811;
    box-shadow:-3px -2px 8px #10cdf477,3px 2px 8px #ff326a77
}

.social-card--tiktok .icon {
    filter:invert(1) drop-shadow(-1px -1px 0 #1ddfff) drop-shadow(1px 1px 0 #fe245c)
}

.social-card h3 {
    font-size:.95em;
    font-weight:600;
    letter-spacing:0;
    margin-bottom:.25em
}

.social-card p {
    font-size:.75em;
    max-width:13em;
    line-height:1.3
}

.social-card small {
    display:block;
    font-size:.65em;
    color:var(--gold);
    margin-top:.3em
}

.social-arrow {
    margin-left:auto;
    border-radius:50%;
    border:1px solid #ffffff30;
    padding:.2em
}

.social-arrow .icon {
    width:1em;
    height:1em
}

.social-card[href]:hover {
    transform:translateY(-4px);
    box-shadow:0 0 25px color-mix(in srgb,var(--social) 45%,transparent)
}

.social-card--pending .social-arrow {
    opacity:.3
}

.cta-section {
    min-height:18.5vw;
    padding:2vw 0 3vw;
    background:#010a1240
}

.cta-grid {
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:3em;
    align-items:center
}

.cta-section h2 {
    font-size:clamp(29px,3.6vw,54px);
    font-weight:330;
    margin-top:.3em;
    line-height:1.1
}

.cta-section h2>span,.cta-section h2>strong {
    display:block
}

.cta-section h2 strong {
    font-weight:650
}

.cta-action p {
    font-size:.87em;
    line-height:1.4;
    max-width:28em
}

.cta-action .button {
    margin-top:1.1em;
    font-size:.94em;
    padding:.85em 1.8em;
    box-shadow:0 0 18px #f0b94666,inset 0 1px 4px #ffe6a5
}

.site-footer {
    border-top:1px solid #38607470;
    background:linear-gradient(145deg,#06121b,#000409);
    min-height:21vw;
    padding:1.2vw 0 3vw
}

.footer-grid {
    display:flex;
    gap:1.7em;
    align-items:start;
    justify-content:space-between
}

.site-footer .brand {
    width:clamp(160px,20vw,300px);
    height:5.8vw;
    max-height:80px;
    min-height:54px
}

.footer-claim {
    font-size:.65em;
    max-width:21em;
    margin-top:.3em;
    color:#b8c1cb
}

.footer-nav {
    padding-top:1.8em;
    flex:1
}

.footer-nav .menu {
    gap:1.5em;
    flex-wrap:wrap;
    justify-content:center
}

.footer-nav .menu a {
    font-size:.63em
}

.footer-social {
    display:flex;
    gap:.8em;
    padding-top:1.7em
}

.footer-social .icon {
    width:1.3em;
    height:1.3em
}

.copyright {
    font-size:.65em;
    padding-top:2.4em;
    white-space:nowrap
}

.inner-page {
    min-height:65vh;
    padding:2.5em 0 5em;
    background:radial-gradient(ellipse at 85% 0,#1432484d,transparent 60%)
}

.inner-page h1 {
    font-size:clamp(34px,4.5vw,64px);
    margin:.25em 0 .5em;
    max-width:20em
}

.breadcrumbs {
    display:flex;
    flex-wrap:wrap;
    gap:.8em;
    font-size:.8em;
    color:#aabccc;
    margin-bottom:2em
}

.breadcrumbs a:hover,.prose a,.contact-details a {
    color:var(--cyan)
}

.page-intro {
    font-size:1.12em;
    max-width:55em;
    margin-bottom:1.7em;
    line-height:1.55
}

.prose {
    line-height:1.7;
    overflow-wrap:anywhere
}

.prose>*+* {
    margin-top:1em
}

.prose h2 {
    font-size:1.7em
}

.prose h3 {
    font-size:1.25em
}

.prose ul,.prose ol {
    padding-left:1.5em;
    list-style:revert
}

.prose img {
    border-radius:12px
}

.prose a {
    text-decoration:underline
}

.inner-page .prose {
    margin-bottom:2em
}

.service-details {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1.5em;
    margin-top:2em;
    margin-bottom:2em
}

.service-details section {
    padding:2em
}

.service-details h2 {
    font-size:1.8em;
    margin:1em 0 .4em
}

.service-details .button {
    margin-top:1.5em
}

.product-controls {
    display:flex;
    align-items:end;
    gap:1em;
    margin:2em 0
}

.product-controls label {
    flex:1
}

.product-controls .button {
    min-height:3em
}

.all-products {
    row-gap:1.5em
}

.all-products .product-card:not(:has(.card-art)) {
    background:radial-gradient(ellipse at 100% 15%,#183a5466,#071523)
}

[hidden] {
    display:none!important
}

.product-detail-grid {
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:3em;
    align-items:start
}

.product-detail-image {
    margin-top:4em;
    border-radius:16px;
    border:1px solid #426276;
    box-shadow:0 0 35px #15536b33
}

.status--detail {
    font-size:.85em;
    margin-bottom:1em
}

.back-link {
    margin-top:3em;
    color:var(--cyan)
}

.blog-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1.5em
}

.blog-card {
    padding:1.5em
}

.blog-card img {
    width:100%;
    aspect-ratio:16/10;
    object-fit:cover;
    margin-bottom:1em;
    border-radius:8px
}

.blog-card h2 {
    font-size:1.6em;
    margin:.7em 0
}

.blog-card .button {
    margin-top:1.5em
}

.contact-form {
    padding:2em;
    display:grid;
    gap:1.2em;
    margin-top:2em
}

.form-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1em
}

label {
    display:block;
    color:#e4e9f0;
    font-size:.9em
}

input:not([type=checkbox]):not([type=hidden]),textarea,select {
    display:block;
    width:100%;
    margin-top:.5em;
    padding:.9em 1em;
    background:#020d18;
    color:#fff;
    border:1px solid #587083;
    border-radius:8px;
    min-height:44px
}

textarea {
    resize:vertical
}

.consent {
    display:flex;
    align-items:start;
    gap:.8em;
    line-height:1.5
}

.consent input {
    width:20px;
    height:20px;
    flex:none;
    accent-color:var(--gold);
    margin:1px 0
}

.consent a {
    color:var(--cyan);
    text-decoration:underline
}

.contact-form .button {
    justify-self:start
}

.form-notice {
    padding:1em;
    border-left:3px solid var(--gold);
    background:#30281b88
}

.honeypot {
    position:absolute;
    left:-10000px;
    width:1px;
    height:1px;
    overflow:hidden
}

.contact-details {
    margin-top:1em
}

body.admin-bar .site-header {
    top:0
}

.wp-block-image img {
    height:auto
}

.navigation.pagination {
    margin-top:2em
}

.page-numbers {
    margin-right:.7em
}

@keyframes shine {
    to {
        left:130%
    }

}

@keyframes ripple {
    to {
        transform:scale(26);
        opacity:0
    }

}

@media(min-width:1600px) {
    .hero {
        min-height:510px
    }

    .hero-inner {
        padding-top:26px;
        padding-bottom:20px
    }

    .section {
        padding:18px 0
    }

    .service-card {
        min-height:118px
    }

    .office-image {
        height:225px
    }

    .social-card {
        min-height:107px
    }

    .social-section {
        padding-bottom:114px
    }

    .cta-section {
        min-height:285px;
        padding:32px 0 48px
    }

    .site-footer {
        min-height:325px
    }

    .product-card {
        height:370px
    }

}

@media(max-width:1100px) and (min-width:761px) {
    .header-inner {
        width:94%;
        gap:.4em
    }

    .brand {
        width:21vw
    }

    .primary-nav .menu a {
        padding:.65em .75em
    }

    .primary-nav .icon {
        width:1.4em;
        height:1.4em
    }

    .header-cta .button {
        font-size:.7em
    }

    .hero-description {
        font-size:1em
    }

    .trust-points {
        max-width:69%;
        gap:1.4em
    }

    .service-card .orb {
        width:3.7em;
        height:3.7em
    }

    .social-card {
        gap:1em;
        padding:.7em .8em
    }

    .social-grid {
        width:85%
    }

    .footer-grid {
        gap:1em
    }

    .footer-nav .menu {
        gap:1em
    }

    .reason-grid {
        gap:1em
    }

    .process-grid {
        gap:.8em
    }

    .process-grid li {
        gap:.8em
    }

}

@media(max-width:760px) {
    body {
        font-size:15px
    }

    .container {
        width:90%
    }

    .header-inner {
        min-height:76px;
        width:90%;
        flex-wrap:wrap;
        gap:0
    }

    .brand {
        width:160px;
        height:72px
    }

    .menu-toggle {
        display:inline-flex;
        min-width:86px;
        font-size:12px;
        padding:.65em .85em
    }

    .header-cta {
        display:none
    }

    .primary-nav {
        display:none;
        width:100%;
        margin:0 0 1em;
        border-radius:14px
    }

    .primary-nav.is-open {
        display:block
    }

    .primary-nav .menu {
        display:grid;
        grid-template-columns:1fr
    }

    .primary-nav .menu a {
        padding:1em;
        font-size:14px;
        min-height:48px;
        border-radius:8px
    }

    .hero {
        min-height:610px;
        max-height:none
    }

    .hero-art {
        object-position:68% top;
        opacity:.68
    }

    .hero::after {
        background:linear-gradient(180deg,#020a12e8 0,#020a12c9 40%,#020a1250 65%,#020a12da 100%)
    }

    .hero-inner {
        padding:28px 0 24px
    }

    .hero-copy {
        width:100%;
        max-width:520px
    }

    .hero .eyebrow {
        font-size:9px;
        letter-spacing:.2em
    }

    .hero h1 {
        font-size:clamp(31px,7.8vw,53px);
        line-height:1.02;
        margin-top:14px
    }

    .hero-description {
        font-size:14px;
        line-height:1.45;
        max-width:29em;
        margin-top:15px
    }

    .hero-buttons {
        gap:12px;
        margin-top:20px
    }

    .hero-buttons .button {
        font-size:12px;
        min-height:44px;
        padding:.8em 1em
    }

    .trust-points {
        max-width:100%;
        flex-wrap:wrap;
        gap:16px;
        margin-top:40px
    }

    .trust-point {
        flex-basis:100%;
        gap:12px
    }

    .trust-point .orb {
        width:40px;
        height:40px
    }

    .trust-point p {
        font-size:12px
    }

    .trust-point p>span {
        display:inline
    }

    .trust-point strong {
        display:inline;
        margin-right:.3em
    }

    .section {
        padding:24px 0
    }

    .section-heading {
        margin-bottom:18px
    }

    .section-heading h2 {
        font-size:25px;
        line-height:1.16;
        margin-top:7px
    }

    .eyebrow {
        font-size:10px
    }

    .products-heading {
        display:block
    }

    .products-heading .button {
        font-size:12px;
        min-height:44px;
        margin-bottom:18px
    }

    .product-grid {
        grid-template-columns:1fr;
        gap:18px
    }

    .product-card {
        height:310px;
        min-width:0
    }

    .product-copy {
        padding:19px
    }

    .product-copy h3 {
        font-size:19px;
        margin-top:2px
    }

    .product-copy p {
        font-size:13px;
        max-width:66%;
        line-height:1.45
    }

    .product-copy .orb {
        width:54px;
        height:54px;
        margin-bottom:10px
    }

    .product-copy .status {
        font-size:10px;
        right:14px;
        top:14px
    }

    .card-bottom {
        left:17px;
        right:14px;
        bottom:16px;
        gap:4px
    }

    .chips {
        gap:4px
    }

    .chips span {
        font-size:9px;
        padding:7px 8px
    }

    .card-arrow {
        width:32px;
        height:32px
    }

    .service-grid {
        grid-template-columns:1fr 1fr;
        gap:12px
    }

    .service-card {
        min-height:155px;
        padding:15px 12px;
        flex-direction:column;
        align-items:start;
        gap:12px
    }

    .service-card .orb {
        width:52px;
        height:52px
    }

    .service-card h3 {
        font-size:14px
    }

    .service-card p {
        font-size:12px;
        line-height:1.4
    }

    .small-arrow {
        top:27px;
        right:10px
    }

    .small-arrow .icon {
        width:14px;
        height:14px
    }

    .process-grid {
        grid-template-columns:1fr;
        gap:24px;
        padding:10px 0
    }

    .process-grid li {
        gap:24px;
        align-items:center
    }

    .process-orb {
        width:66px;
        height:66px;
        flex:none
    }

    .process-grid h3 {
        font-size:15px;
        padding-bottom:12px
    }

    .process-grid p {
        font-size:13px;
        line-height:1.45;
        margin-top:10px
    }

    .process-grid li:not(:last-child)::after {
        width:1px;
        height:18px;
        top:auto;
        bottom:-21px;
        left:32px;
        right:auto
    }

    .why-grid {
        grid-template-columns:1fr;
        gap:24px
    }

    .office-image {
        height:190px;
        min-height:0;
        max-height:none
    }

    .reason-grid {
        grid-template-columns:1fr;
        gap:22px
    }

    .reason {
        gap:17px;
        align-items:start
    }

    .reason .orb {
        width:50px;
        height:50px
    }

    .reason h3 {
        font-size:14px;
        margin-bottom:7px
    }

    .reason p {
        font-size:13px;
        line-height:1.4
    }

    .landscape {
        background-size:100% 100%,auto 150%;
        background-position:53% top
    }

    .social-section {
        padding-bottom:55px
    }

    .social-grid {
        width:100%;
        grid-template-columns:1fr;
        gap:16px
    }

    .social-card {
        min-height:95px;
        padding:16px;
        gap:20px
    }

    .social-icon {
        width:52px;
        height:52px
    }

    .social-card h3 {
        font-size:16px
    }

    .social-card p {
        font-size:12px;
        max-width:20em
    }

    .social-card small {
        font-size:10px
    }

    .social-arrow .icon {
        width:18px;
        height:18px
    }

    .cta-section {
        min-height:0;
        padding:35px 0 45px;
        background:#010a1260
    }

    .cta-grid {
        grid-template-columns:1fr;
        gap:24px
    }

    .cta-section h2 {
        font-size:clamp(26px,7vw,40px);
        margin-top:13px
    }

    .cta-action p {
        font-size:13px;
        line-height:1.5
    }

    .cta-action .button {
        font-size:13px;
        min-height:48px;
        margin-top:20px
    }

    .site-footer {
        min-height:0;
        padding:26px 0 40px
    }

    .footer-grid {
        display:grid;
        grid-template-columns:1fr;
        gap:18px
    }

    .site-footer .brand {
        width:190px;
        height:85px;
        min-height:0;
        max-height:none
    }

    .footer-claim {
        font-size:12px;
        max-width:none
    }

    .footer-nav {
        padding:0
    }

    .footer-nav .menu {
        justify-content:start;
        gap:12px 22px
    }

    .footer-nav .menu a {
        font-size:12px;
        display:block;
        padding:6px 0;
        min-height:32px
    }

    .footer-social {
        padding:0;
        gap:18px
    }

    .footer-social a {
        padding:8px
    }

    .footer-social .icon {
        width:24px;
        height:24px
    }

    .copyright {
        font-size:11px;
        white-space:normal;
        padding:0
    }

    .inner-page {
        padding:24px 0 45px
    }

    .inner-page h1 {
        font-size:34px
    }

    .breadcrumbs {
        font-size:12px;
        margin-bottom:25px
    }

    .page-intro {
        font-size:15px
    }

    .product-controls {
        flex-direction:column;
        align-items:stretch;
        gap:14px
    }

    .product-controls label {
        width:100%
    }

    .product-detail-grid {
        grid-template-columns:1fr;
        gap:20px
    }

    .product-detail-image {
        margin-top:0
    }

    .service-details {
        grid-template-columns:1fr;
        gap:18px
    }

    .service-details section {
        padding:24px
    }

    .blog-grid {
        grid-template-columns:1fr
    }

    .contact-form {
        padding:18px;
        gap:16px
    }

    .form-grid {
        grid-template-columns:1fr;
        gap:16px
    }

    .consent {
        font-size:12px
    }

    input:not([type=checkbox]):not([type=hidden]),textarea,select {
        font-size:16px
    }

    .contact-form .button {
        font-size:14px;
        min-height:48px
    }

    .prose {
        font-size:15px
    }

    .all-products .product-card {
        height:325px
    }

}

@media(max-width:359px) {
    .hero-buttons {
        display:grid;
        grid-template-columns:1fr;
        max-width:240px
    }

    .hero {
        min-height:675px
    }

    .service-grid {
        grid-template-columns:1fr
    }

    .service-card {
        min-height:100px;
        flex-direction:row;
        align-items:center;
        padding:15px;
        gap:14px
    }

    .service-card>div {
        padding-right:12px
    }

    .product-card {
        height:335px
    }

    .chips span {
        font-size:8px;
        padding:7px 6px
    }

    .product-copy p {
        max-width:70%
    }

    .product-copy h3 {
        font-size:17px
    }

    .social-card {
        gap:13px
    }

}

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

    *,*::before,*::after {
        animation:none!important;
        transition:none!important
    }

    .reactive:hover,.reactive:active,.button:hover,.product-card:hover {
        transform:none!important
    }

    .ripple {
        display:none
    }

    .product-card:hover .card-art {
        transform:none
    }

}

/* Reference alignment: source logo mark plus accessible horizontal wordmark. */
.brand {
    display:flex;
    flex-direction:column;
    justify-content:center;
    overflow:visible
}

.brand-lockup {
    display:flex;
    align-items:center;
    gap:5px
}

.brand-symbol {
    position:relative;
    width:65px;
    height:30px;
    overflow:hidden;
    flex:none
}

.brand-symbol img {
    position:absolute!important;
    width:116px!important;
    height:58px!important;
    max-width:none;
    left:-30px;
    top:-9px;
    object-fit:contain
}

.brand-name {
    font-size:11px;
    letter-spacing:2.5px;
    color:#fff;
    white-space:nowrap;
    font-weight:550
}

.brand-tagline {
    font-size:5px;
    letter-spacing:1.65px;
    color:#d8b363;
    white-space:nowrap;
    margin-top:2px
}

.product-copy {
    position:static
}

.product-copy .orb,.product-copy h3,.product-copy p {
    position:relative;
    z-index:2
}

.product-copy h3 {
    position:static
}

.card-link::after {
    inset:0;
    z-index:4
}

.product-copy .status {
    z-index:3
}

.card-link:focus-visible::after {
    outline:3px solid #74daff;
    outline-offset:-4px;
    border-radius:var(--radius)
}

@media(min-width:761px) {
    .header-inner {
        min-height:5.7vw;
        max-height:88px
    }

    .primary-nav .menu a {
        font-size:.94em;
        padding:.65em .8em
    }

    .header-cta .button {
        font-size:.84em;
        min-height:2.9em
    }

    .hero h1 {
        font-size:clamp(36px,4.4vw,66px);
        font-weight:600;
        letter-spacing:-.035em
    }

    .hero h1 .light {
        font-weight:310
    }

    .hero-description {
        max-width:31em
    }

    .hero-buttons .button {
        font-size:.96em
    }

    .trust-points {
        gap:2em
    }

    .section-heading h2 {
        margin-top:.1em;
        letter-spacing:-.025em;
        font-weight:600
    }

    .section-heading {
        margin-bottom:.4em
    }

    .section {
        padding:1vw 0
    }

    .product-grid {
        margin:0 -.8em
    }

    .product-card {
        height:clamp(220px,23.4vw,375px)
    }

    .product-copy h3 {
        font-weight:620
    }

    .product-copy p {
        max-width:67%;
        font-size:.94em
    }

    .product-copy .orb {
        width:4.3em;
        height:4.3em
    }

    .chips {
        flex-wrap:nowrap;
        gap:.4em
    }

    .chips span {
        font-size:.62em;
        padding:.6em .65em
    }

    .service-card {
        min-height:7.4vw;
        padding:.6em .65em
    }

    .service-card .orb {
        width:4.3em;
        height:4.3em
    }

    .service-card h3 {
        font-weight:550
    }

    .process-grid h3 {
        font-weight:500
    }

    .process-grid li {
        gap:1.2em
    }

    .process-grid p {
        font-size:.8em
    }

    .process-section,.why-section {
        background-image:linear-gradient(#020c14ec,#020c14ef),url('assets/images/mountains.webp');
        background-size:cover;
        background-position:center 75%
    }

    .social-card {
        gap:1.2em;
        padding:.6em .9em
    }

    .social-card p {
        font-size:.78em
    }

    .social-card small {
        font-size:.59em;
        margin-top:.2em
    }

    .social-grid {
        width:85%
    }

    .social-section {
        padding-bottom:6.6vw
    }

    .cta-action .button {
        font-size:1em
    }

    .footer-grid .brand {
        height:50px;
        min-height:50px
    }

    .footer-nav {
        padding-top:1.3em
    }

    .footer-nav .menu a {
        font-size:.7em
    }

    .copyright {
        font-size:.72em;
        padding-top:1.6em
    }

    .brand-symbol {
        width:66px;
        height:32px
    }

    .brand-name {
        font-size:clamp(10px,1.25vw,19px)
    }

    .brand-tagline {
        font-size:clamp(4px,.53vw,8px)
    }

    .site-footer .brand-tagline {
        letter-spacing:1.15px
    }

    .site-footer .brand-name {
        font-size:clamp(10px,1.12vw,17px)
    }

}

@media(min-width:1300px) {
    .brand-symbol {
        width:92px;
        height:43px
    }

    .brand-symbol img {
        width:162px!important;
        height:81px!important;
        left:-42px;
        top:-13px
    }

    .brand-tagline {
        letter-spacing:2.1px
    }

    .footer-grid .brand {
        height:72px;
        min-height:72px
    }

    .primary-nav .menu a {
        padding:.7em 1em
    }

}

@media(max-width:760px) {
    .brand-lockup {
        gap:3px
    }

    .brand-symbol {
        width:51px;
        height:28px
    }

    .brand-symbol img {
        width:98px!important;
        height:49px!important;
        left:-25px;
        top:-7px
    }

    .brand-name {
        font-size:10px;
        letter-spacing:1.4px
    }

    .brand-tagline {
        font-size:4px;
        letter-spacing:1.1px
    }

    .site-footer .brand {
        height:50px;
        width:200px
    }

    .site-footer .brand-name {
        font-size:12px
    }

    .product-copy .status {
        top:14px;
        right:14px
    }

}

.product-surface {
    position:absolute;
    inset:0;
    z-index:2;
    display:block
}

.product-copy,.product-copy h3 {
    position:relative
}

.product-surface:focus-visible {
    outline-offset:-4px;
    border-radius:var(--radius)
}

.brand-symbol {
    height:26px
}

@media(min-width:761px) {
    .header-inner {
        width:90%
    }

    .hero h1 {
        line-height:.9
    }

    .hero-inner {
        padding-top:1.6vw
    }

    .trust-points {
        margin-top:1.2em
    }

    .services-section {
        padding-top:.8vw;
        padding-bottom:.8vw
    }

    .services-section .section-heading {
        margin-bottom:.25em
    }

    .services-section .eyebrow {
        line-height:1.15
    }

    .services-section .section-heading h2 {
        font-size:clamp(21px,2.3vw,36px)
    }

    .process-section {
        padding-bottom:1.8vw
    }

}

@media(min-width:1300px) {
    .brand-symbol {
        height:37px
    }

}

@media(max-width:760px) {
    .brand-symbol {
        height:23px
    }

}

.gold-text {
    background:linear-gradient(180deg,#fff4cf 15%,#f4cb73 65%,#dc9d3b);
    background-clip:text;
    -webkit-background-clip:text;
    color:transparent
}

.hero h1,.section-heading h2,.cta-section h2,.inner-page h1 {
    font-family:Montserrat,Inter,Arial,sans-serif
}

.hero h1 {
    font-weight:580
}

.section-heading h2 {
    font-weight:600
}

.social-card small {
    position:absolute;
    bottom:4px;
    right:10px;
    font-size:.6em
}

.social-card {
    padding-bottom:.7em
}

@media(min-width:761px) {
    .hero h1 {
        font-size:clamp(36px,4.15vw,66px);
        line-height:.94;
        margin-top:.12em
    }

    .hero h1 .light {
        font-weight:350
    }

    .section-heading h2 {
        font-size:clamp(20px,2.22vw,36px);
        font-weight:600
    }

    .cta-section h2 {
        font-size:clamp(29px,3.6vw,54px)
    }

}

.hero h1 {
    font-weight:500
}

.hero h1 .light {
    font-weight:300
}

.hero h1 strong,.hero h1 .gold-text {
    font-weight:700
}

@media(min-width:761px) {
    .process-section {
        padding-bottom:2.8vw
    }

    .why-section {
        padding-bottom:.7vw
    }

}

.inner-page h1 {
    overflow-wrap:anywhere;
    hyphens:auto
}

.product-detail-grid>div {
    min-width:0
}

/* Reference typography: individual weights, spacing and wraps, local OFL fonts. */
.section-heading h2 { font-family:Inter,Arial,sans-serif;font-weight:600;letter-spacing:-.025em; }
.heading-light { font-weight:300; }
.hero-description { font-weight:400; }
.product-copy h3 { font-weight:600; }
.product-copy p { font-weight:400; }
.cta-section h2 { font-weight:300;letter-spacing:-.04em; }
.cta-section h2 strong { font-weight:700; }
@media(min-width:761px) {
    .container { width:89.4%; }
    .hero h1 { font-size:clamp(36px,4.3vw,66px);line-height:.92;letter-spacing:-.038em; }
    .hero-buttons .button { padding-inline:1.45em;font-weight:500; }
    .trust-points { gap:1.7em; }
    .section-heading h2 { font-size:clamp(20px,2.4vw,36px); }
    .product-grid { margin:0 -1.15em;gap:.95em; }
    .product-copy p { line-height:1.32;max-width:72%; }
    .chips span { font-size:.64em;padding:.65em .7em; }
    .product-copy .orb { width:4.3em;height:4.3em;margin-bottom:.5em; }
    .service-card .orb { width:4.6em;height:4.6em; }
    .process-grid li:not(:last-child)::after { height:8px;top:calc(41% - 4px);background:transparent url('assets/icons/connector.svg') center/100% 8px no-repeat;box-shadow:none;filter:drop-shadow(0 0 3px #00bdff); }
    .process-section,.why-section { background-image:linear-gradient(#020c14d9,#020c14df),url('assets/images/mountains.webp'); }
    .product-card::before { background:linear-gradient(90deg,#010a13d4 0,#020b1259 48%,transparent 83%); }
    .social-card p { font-size:.82em;line-height:1.32; }
    .social-card h3 { font-weight:500; }
    .social-grid { grid-template-columns:1fr 1.13fr .96fr; }
    .social-card p { font-size:.78em; }
    .cta-grid { grid-template-columns:1.3fr .7fr; }
    .cta-action { position:relative;top:1.5em;width:calc(100% + 2em); }
    .cta-action p { max-width:none; }
    .cta-action .button { min-height:3.8em;padding:1.1em 1.5em;font-weight:500;font-size:.97em; }
    .service-card { background:linear-gradient(135deg,#16436366,#052033d9);border-color:#3d9fd19c;box-shadow:0 0 7px #168ec51a,inset 0 1px 3px #b9e0f75a,inset 0 -5px 15px #1687c21a; }
    .process-section,.why-section { background-size:140% auto;background-position:center bottom; }
    .footer-claim { display:none; }
    .products-section { padding-bottom:calc(1vw - 2px); }
    .process-section { padding-bottom:calc(2.8vw - 5px); }
    .why-section { padding-bottom:calc(.7vw - 2px); }
    .social-section { padding-bottom:calc(6.6vw - 5px); }
    .site-footer { min-height:calc(21vw + 5px); }
    .site-footer .container { width:91.5%; }
    .footer-nav .menu { justify-content:flex-start; }
    .site-footer .brand-symbol { width:54px;height:24px; }
    .site-footer .brand-symbol img { width:100px!important;height:50px!important;left:-26px;top:-8px; }
    .site-footer .brand-name { font-size:clamp(10px,1.12vw,17px); }
    .copyright { font-size:.65em; }
}
@media(min-width:900px) and (max-width:1100px) {
    .header-inner { width:92.5%;margin-left:5.3%;margin-right:2.2%; }
    .header-inner .brand { width:18.8vw; }
    .header-cta .button { font-size:.76em;font-weight:500;padding-inline:1em; }
}

/* Calm premium interaction system. Light only moves in response to input. */
@property --edge-angle {
    syntax:'<angle>';
    inherits:false;
    initial-value:0deg;
}
.reactive {
    --rx:0deg;
    --ry:0deg;
    position:relative;
    transition:transform 320ms var(--ease),box-shadow 320ms var(--ease),border-color 320ms var(--ease),background-color 320ms var(--ease);
}
.primary-nav a,.service-card { --accent:var(--cyan); }
.button--gold { --accent:var(--gold); }
.button--gold { background:linear-gradient(180deg,#43361b9c,#07121cd9 55%,#01090fee);box-shadow:0 0 12px #dca54765,inset 0 1px 2px #ffedb3,inset 0 -2px 10px #765b2e44; }
.product-card--gold { --accent:#efb64d; }
.product-card--purple { --accent:#b43cff; }
.motion-border {
    position:absolute;
    inset:0;
    z-index:5;
    padding:1px;
    border-radius:inherit;
    background:conic-gradient(from var(--edge-angle),transparent 0deg 235deg,color-mix(in srgb,var(--accent) 45%,transparent) 270deg,#fff3d6 296deg,transparent 325deg);
    -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor;
    mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
    mask-composite:exclude;
    opacity:0;
    pointer-events:none;
}
.product-card:focus-within .motion-border,.reactive:focus-visible>.motion-border {
    animation:edge-pass 1400ms var(--ease) both;
}
.button::after {
    z-index:3;
    opacity:0;
    background:linear-gradient(90deg,transparent,#ffe6a538,transparent);
}
.button:focus-visible::after { animation:premium-sweep 1150ms var(--ease) both; }
.button:focus-visible::before,.social-card:focus-visible::before { opacity:.65; }
.reactive:focus-visible,.product-card:focus-within {
    box-shadow:0 0 18px color-mix(in srgb,var(--accent) 32%,transparent),inset 0 1px 3px #fff6;
}
.primary-nav .menu a { overflow:hidden; }
.primary-nav .current,.primary-nav .current-menu-item>a {
    background:linear-gradient(180deg,#18405a8c,#040e18);
    box-shadow:0 0 9px #3fbfff40,inset 0 1px 3px #fff0c9,inset 0 -2px 7px #168bbe55;
}
.orb {
    border-color:color-mix(in srgb,var(--orb-color) 72%,#fff);
    background:radial-gradient(ellipse at 28% 6%,#60beee55 0,#071724 40%,#01070d 75%);
    box-shadow:0 0 9px color-mix(in srgb,var(--orb-color) 40%,transparent),0 2px 5px #0009,inset 0 1px 2px #e5efff,inset 0 -4px 10px #000;
}
.orb::after {
    content:'';position:absolute;inset:3px;border-radius:50%;
    border:1px solid color-mix(in srgb,var(--orb-color) 23%,transparent);pointer-events:none;
}
.orb--gold { background:radial-gradient(ellipse at 28% 6%,#ba945555,#08131d 42%,#01070d 75%); }
.orb .icon { width:58%;height:58%;transition:transform 380ms var(--ease); }
.trust-point .orb .icon { width:63%;height:63%; }
.process-orb .icon { filter:invert(85%) sepia(51%) saturate(592%) hue-rotate(333deg) brightness(109%); }
.social-card { --accent:var(--social);box-shadow:0 0 12px color-mix(in srgb,var(--social) 34%,transparent),inset 0 1px 2px #fff8,inset 0 -1px 9px color-mix(in srgb,var(--social) 14%,transparent); }
.social-card--instagram { background:linear-gradient(115deg,#762877b8,#331236c4 50%,#111024dd); }
.social-card--youtube { background:linear-gradient(115deg,#871921b3,#3e1729c4 48%,#111024dd); }
.social-card--tiktok { background:linear-gradient(115deg,#194d69b3,#11263bc9 60%,#25132bb8);box-shadow:-2px 0 11px #39c9ee3b,2px 0 10px #fb457629,inset 0 1px 2px #b8e6ff; }
.social-icon { transition:transform 380ms var(--ease),box-shadow 380ms var(--ease); }
.ripple { z-index:6;background:color-mix(in srgb,var(--accent) 32%,transparent);border:1px solid color-mix(in srgb,var(--accent) 42%,transparent);animation:premium-ripple 760ms ease-out forwards; }
.product-surface { position:absolute;border-radius:inherit;overflow:hidden; }
.button.is-pressed,.reactive.is-pressed,.reactive:active {
    transform:translateY(1px) scale(.987);
    box-shadow:inset 0 2px 8px #0008,0 0 10px color-mix(in srgb,var(--accent) 26%,transparent);
}
@media(hover:hover) and (pointer:fine) {
    .reactive:hover:not(.product-surface):not(:disabled) {
        transform:perspective(900px) translateY(-1.5px) rotateX(var(--rx)) rotateY(var(--ry));
    }
    .reactive:hover>.motion-border { animation:edge-pass 1400ms var(--ease) both; }
    .button:hover::after { animation:premium-sweep 1150ms var(--ease) both; }
    .button:hover,.service-card:hover,.product-card:hover {
        box-shadow:0 0 17px color-mix(in srgb,var(--accent) 33%,transparent),inset 0 1px 3px #fff8;
    }
    .button:hover .arrow { transform:translateX(2px); }
    .reactive:hover .orb .icon { transform:translateY(-1px) rotate(-2deg); }
    .product-card:hover .card-art { transform:scale(1.018); }
    .social-card:hover { box-shadow:0 0 20px color-mix(in srgb,var(--social) 42%,transparent),inset 0 1px 2px #fff9; }
    .social-card--tiktok:hover { box-shadow:-3px 0 17px #39c9ee55,3px 0 17px #fb457646,inset 0 1px 2px #b8e6ff; }
    .social-card:hover .social-icon { transform:translateY(-1px); }
    .reactive.is-pressed:hover,.button:active:hover { transform:translateY(1px) scale(.987); }
}
@media(hover:none) {
    .button:hover,.product-card:hover,.social-card[href]:hover { transform:none; }
    .button:hover::after { animation:none; }
    .product-card:hover .card-art,.button:hover .arrow { transform:none; }
    .reactive.is-pressed,.button:active { transform:scale(.987); }
}
@keyframes edge-pass {
    0% { --edge-angle:-40deg;opacity:0; }
    20% { opacity:.8; }
    80% { opacity:.65; }
    100% { --edge-angle:320deg;opacity:0; }
}
@keyframes premium-sweep {
    0% { left:-40%;opacity:0; }
    20% { opacity:.7; }
    100% { left:130%;opacity:0; }
}
@keyframes premium-ripple {
    from { transform:scale(.6);opacity:.7; }
    to { transform:scale(28);opacity:0; }
}
@media(prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    *,*::before,*::after { animation:none!important;transition:none!important; }
    .reactive:hover,.reactive:active,.reactive.is-pressed,.button:hover,.product-card:hover,.social-card[href]:hover { transform:none!important; }
    .reactive:hover .icon,.product-card:hover .card-art,.social-card:hover .social-icon { transform:none!important; }
    .motion-border,.ripple,.button::after { display:none!important; }
}
