
/*
Theme Name: Mojster40
Author: Roman Mulič s.p.
Description: Stabilna tema za hišnega mojstra in IT storitve s polished herojem.
Version: 15.8.20
Text Domain: mojster40
*/
:root{--primary:#0f2a44;--primary2:#16395d;--accent:#d4af37;--bg:#ffffff;--text:#1f1f1f;--muted:#f5f7fa;--border:rgba(15,42,68,.12);--shadow:0 18px 40px rgba(15,42,68,.10);--radius:18px;--card-bg:linear-gradient(180deg,#ffffff 0%,#f8fbfd 100%);--card-border:rgba(15,42,68,.10);--card-shadow:0 14px 30px rgba(15,42,68,.08);--card-title:#1b2430;--card-text:rgba(27,36,48,.80);--card-icon-bg:linear-gradient(180deg,#ffffff 0%,#eef3f7 100%);--card-icon-color:#1b4f95;--card-highlight-line:rgba(212,175,55,.96)}
html[data-theme="dark"]{--bg:#0b1220;--text:#eef2f6;--muted:#172030;--border:rgba(255,255,255,.10);--shadow:0 18px 40px rgba(0,0,0,.35);--card-bg:linear-gradient(180deg,#1a2536 0%,#121a28 100%);--card-border:rgba(255,255,255,.10);--card-shadow:0 22px 50px rgba(0,0,0,.35);--card-title:#f4f7fb;--card-text:rgba(232,238,246,.90);--card-icon-bg:rgba(255,255,255,.08);--card-icon-color:#f4f7fb;--card-highlight-line:rgba(212,175,55,.95)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);line-height:1.65}a{color:inherit}img{max-width:100%;display:block;height:auto}.container{max-width:1200px;margin:0 auto;padding:0 1rem}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(15,42,68,.96);color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(255,255,255,.05)}.site-header__inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;min-height:78px}.site-brand{display:inline-flex;align-items:center;text-decoration:none}.site-brand img{width:190px;height:auto}.main-nav ul{display:flex;gap:1rem;list-style:none;margin:0;padding:0;justify-content:center;flex-wrap:wrap}.main-nav a{text-decoration:none;font-weight:700;color:#fff}.main-nav a:hover,.main-nav .current-menu-item>a{color:var(--accent)}.site-actions{display:flex;align-items:center;gap:.75rem;justify-content:flex-end}.theme-toggle{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.10);color:#fff;padding:.6rem .8rem;border-radius:999px;cursor:pointer}.phone-cta,.hero-buttons a,.cta-buttons a{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none;font-weight:800;border-radius:999px;padding:.85rem 1.15rem}.phone-cta,.hero-buttons__primary,.cta-buttons a:first-child{background:var(--accent);color:#111}.hero-buttons__secondary,.cta-buttons a:last-child{background:#fff;color:var(--primary);box-shadow:0 10px 22px rgba(0,0,0,.10)}.hero-buttons__tertiary,.hero-buttons a.hero-buttons__tertiary{background:transparent !important;color:#fff !important;border:1.5px solid rgba(255,255,255,.44) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12);}.hero-buttons__secondary:hover,.hero-buttons a.hero-buttons__secondary:hover{background:#f6f8fb}.hero-buttons__tertiary:hover,.hero-buttons a.hero-buttons__tertiary:hover{background:rgba(255,255,255,.08) !important;color:#fff !important}
.hero{background:linear-gradient(135deg,var(--primary) 0%,var(--primary2) 100%);color:#fff;padding:1rem 0 3rem;overflow:hidden}.hero-shell{width:min(100%,1760px);margin:0 auto;padding:0 12px}.hero-media{position:relative;border-radius:30px;overflow:hidden;box-shadow:0 26px 70px rgba(0,0,0,.24)}.hero-media img{width:100%;max-height:690px;object-fit:cover;object-position:center center}.hero-media::before,.hero-media::after{content:"";position:absolute;inset:0;pointer-events:none}.hero-media::before{background:linear-gradient(to right,rgba(15,42,68,.42) 0%,rgba(15,42,68,.18) 8%,rgba(15,42,68,0) 15%,rgba(15,42,68,0) 85%,rgba(15,42,68,.18) 92%,rgba(15,42,68,.42) 100%)}.hero-media::after{background:linear-gradient(to bottom,rgba(15,42,68,.22) 0%,rgba(15,42,68,.08) 8%,rgba(15,42,68,0) 16%,rgba(15,42,68,0) 66%,rgba(15,42,68,.56) 84%,rgba(15,42,68,.86) 100%)}.hero-overlay{position:absolute;inset:0;z-index:3}.hero-overlay svg{position:absolute;inset:0;width:100%;height:100%;z-index:3}.hero-line{stroke:rgba(255,255,255,.96);stroke-width:2.4;fill:none;stroke-linecap:round}.hero-dot{fill:#d4af37;stroke:#fff4be;stroke-width:2.4}.hero-dot-ring{fill:none;stroke:rgba(255,255,255,.72);stroke-width:2.2}.hero-marker{position:absolute;max-width:320px;z-index:4}.hero-card{position:relative;min-height:118px;background:linear-gradient(180deg,rgba(243,247,250,.78) 0%,rgba(232,238,243,.60) 100%);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border:1px solid rgba(255,255,255,.50);box-shadow:0 18px 40px rgba(15,42,68,.12),inset 0 1px 0 rgba(255,255,255,.42);border-radius:22px;padding:1.2rem 1.35rem 1.05rem;overflow:hidden}.hero-card::after{content:"";position:absolute;inset:10px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);border-radius:18px;pointer-events:none}.hero-card::before{display:none}.hero-card strong,.hero-card span{position:relative;z-index:1}.hero-card strong{display:block;color:#1b4f95;font-size:1.42rem;line-height:1.08;margin-bottom:.38rem;font-weight:800;letter-spacing:-.02em}.hero-card span{display:block;color:rgba(15,42,68,.84);font-size:1rem;line-height:1.34;font-weight:600}.hero-marker--furniture{left:5.4%;top:6.2%;max-width:260px}.hero-marker--plumbing{left:22.3%;top:56.2%;max-width:300px}.hero-marker--electric{left:74.8%;top:24.2%;max-width:270px}.hero-mobile-labels{display:none;gap:.75rem;padding:1rem 0 0}.hero-mobile-card{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:1rem;color:#fff;font-weight:800}.hero-copy{padding:1.8rem 0 0}.hero-copy-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,320px);gap:2.25rem;align-items:start}.hero-copy-main{max-width:760px}.hero-copy h1{font-size:clamp(2.4rem,4.25vw,4.2rem);line-height:1.01;margin:0 0 1rem;max-width:760px;color:#fff;letter-spacing:-.025em}.hero-copy p{max-width:700px;font-size:1.08rem;margin:0;color:rgba(255,255,255,.93)}.hero-cta-stack{justify-self:end;width:100%;max-width:320px;padding-top:.3rem}.hero-buttons{display:flex;flex-direction:column;gap:.9rem;margin:0}.hero-buttons a{width:100%;min-height:56px}.trust-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:2rem}.trust-pill{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:.8rem .9rem;font-weight:700;text-align:center}
.section{padding:3.5rem 0}.section-header{max-width:900px;margin:0 0 1.55rem}.section-eyebrow{display:inline-flex;align-items:center;justify-content:center;min-height:48px;background:linear-gradient(180deg,#f2f6fa 0%,#e8eef5 100%);color:var(--primary);font-weight:900;padding:.72rem 1.2rem;border-radius:999px;margin-bottom:1.05rem;font-size:1.06rem;letter-spacing:-.012em;border:1px solid rgba(15,42,68,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 10px 24px rgba(15,42,68,.06)}.section h2{font-size:clamp(1.65rem,3vw,2.4rem);line-height:1.15;margin:0 0 .75rem}.section-intro{margin:0;color:rgba(31,31,31,.82);font-size:1.08rem;line-height:1.7}.services-grid{display:grid;gap:1.35rem;grid-template-columns:repeat(3,minmax(0,1fr))}.it-grid{display:grid;gap:1.35rem;grid-template-columns:repeat(4,minmax(0,1fr))}.proof-grid{display:grid;gap:1.35rem;grid-template-columns:repeat(4,minmax(0,1fr))}.proof-card{min-height:unset}.proof-card strong,.proof-card p,.proof-card .card-link__hint{max-width:none}.card{position:relative;background:linear-gradient(180deg,#ffffff 0%,#fbfcfe 100%);border:1px solid rgba(15,42,68,.10);border-radius:24px;box-shadow:0 14px 28px rgba(15,42,68,.06);padding:1.55rem 1.35rem 1.45rem 1.45rem;display:flex;flex-direction:column;gap:1rem;min-height:256px;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease;overflow:hidden}.card::before{content:"";position:absolute;left:0;top:22px;width:5px;height:72px;border-radius:0 999px 999px 0;background:linear-gradient(180deg,rgba(212,175,55,.96) 0%,rgba(212,175,55,.45) 100%);box-shadow:0 8px 18px rgba(212,175,55,.18)}.card::after{content:"";position:absolute;inset:1px;border-radius:23px;pointer-events:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.86)}.card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(15,42,68,.10);border-color:rgba(15,42,68,.18)}.card-icon{position:absolute;top:8px;right:8px;width:126px;height:126px;border-radius:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#1b4f95;font-size:1.5rem;border:0;box-shadow:none;padding:0;flex:0 0 auto;opacity:1;pointer-events:none}.card strong,.card p,.card .card-link__hint{position:relative;z-index:1;max-width:calc(100% - 98px)}.card strong{font-size:1.54rem;line-height:1.12;letter-spacing:-.024em;color:var(--card-title)}.card p{margin:0;color:var(--card-text);font-size:1.15rem;line-height:1.65}.it-card.highlight{background:linear-gradient(135deg,var(--primary) 0%,var(--primary2) 100%);color:#fff;border-color:transparent;box-shadow:0 24px 54px rgba(6,18,33,.28)}.it-card.highlight::before{background:linear-gradient(180deg,var(--accent) 0%,rgba(212,175,55,.35) 100%);box-shadow:0 10px 22px rgba(212,175,55,.16)}.it-card.highlight .card-icon{background:transparent;border:0;color:#fff;box-shadow:none}.it-card.highlight strong{color:#fff}.it-card.highlight p{color:rgba(255,255,255,.94)}
.card--link .card-link{display:flex;flex-direction:column;gap:1rem;min-height:100%;color:inherit;text-decoration:none;position:relative;z-index:1}
.card--link .card-link__hint{margin-top:auto;display:inline-flex;align-items:center;gap:.45rem;font-size:.94rem;font-weight:800;color:var(--primary);opacity:.88}
.card--link .card-link__hint::after{content:'→';font-size:1rem;line-height:1;transition:transform .2s ease}
.card--link:hover .card-link__hint::after{transform:translateX(3px)}
html[data-theme="dark"] .card--link .card-link__hint{color:#f2c94c}
.faq-list{display:grid;gap:.85rem}.faq-item{background:var(--muted);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:1rem 1.1rem}.faq-item strong,.faq-item h3{display:block;margin:0 0 .45rem;font-size:1.05rem;line-height:1.3;color:var(--card-title)}.faq-item p{margin:0}.cta-panel{background:linear-gradient(135deg,var(--primary) 0%,var(--primary2) 100%);color:#fff;border-radius:22px;padding:1.5rem;box-shadow:var(--shadow);margin:0 0 1.25rem}.cta-panel h2{margin:0 0 .6rem;font-size:clamp(1.55rem,3vw,2.2rem)}.cta-panel p{margin:0 0 1rem;color:rgba(255,255,255,.92);max-width:780px}.cta-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.map-wrap iframe{width:100%;height:360px;border:0;border-radius:18px;box-shadow:var(--shadow)}.contact-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0 0 1.1rem}.contact-mini__item{background:var(--muted);border:1px solid var(--border);border-radius:16px;padding:1rem;box-shadow:var(--shadow)}.contact-mini__item strong{display:block;margin:0 0 .35rem}.site-footer{background:var(--muted);padding:1.5rem 0;font-size:.96rem;border-top:1px solid var(--border)}.whatsapp{position:fixed;right:20px;bottom:20px;background:#25d366;color:#fff;padding:12px 16px;border-radius:999px;text-decoration:none;font-weight:800;box-shadow:0 10px 20px rgba(0,0,0,.18);z-index:999}
@media (max-width:1320px){.services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.it-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card{min-height:230px}.card strong{font-size:1.38rem}.card p{font-size:1.08rem}.section-eyebrow{font-size:1rem;padding:.64rem 1.08rem;min-height:44px}}
@media (max-width:980px){.site-header__inner{grid-template-columns:1fr auto}.main-nav{grid-column:1/-1}.main-nav ul{justify-content:flex-start}.hero-copy-layout{grid-template-columns:1fr;gap:1.4rem}.hero-copy-main,.hero-copy h1,.hero-copy p{max-width:100%}.hero-cta-stack{justify-self:start;max-width:340px;padding-top:0}.trust-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-mini{grid-template-columns:1fr}.hero-marker{max-width:230px}.hero-copy h1{font-size:clamp(2rem,5vw,3rem)}.services-grid,.it-grid,.proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-brand img{width:160px}.hero-media img{max-height:560px}.card{min-height:220px;padding:1.25rem 1.15rem 1.15rem 1.2rem}.card::before{top:20px;height:64px}.card strong{font-size:1.28rem}.card p{font-size:1.06rem;line-height:1.58}.section-eyebrow{font-size:.98rem;padding:.6rem 1rem;min-height:42px}}
@media (max-width:760px){.hero-overlay{display:none}.hero-mobile-labels{display:grid}.site-header__inner{padding:.85rem 0;align-items:flex-start}.phone-cta{width:100%}.hero-buttons,.cta-buttons{flex-direction:column}.hero-buttons a,.cta-buttons a{width:100%}.hero-copy{padding:1.35rem 0 0}.trust-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.trust-pill{padding:.66rem .72rem;font-size:.92rem;line-height:1.25}.services-grid,.it-grid,.proof-grid{grid-template-columns:1fr}.site-brand img{width:145px}.whatsapp{left:16px;right:16px;bottom:16px;text-align:center}.card{min-height:auto;padding:1.1rem 1rem 1.05rem 1.1rem;border-radius:20px}.card::before{top:18px;height:56px;width:4px}.card-icon{top:4px;right:4px;width:96px;height:96px;border-radius:0;padding:0}.card strong,.card p,.card .card-link__hint{max-width:calc(100% - 78px)}.card strong{font-size:1.24rem}.card p{font-size:1.05rem;line-height:1.58}.section-eyebrow{font-size:.95rem;padding:.56rem .94rem;min-height:40px}}


.site-main{padding:2.5rem 0}.site-main > .container{max-width:1100px}.site-main .entry-content,.site-main article{max-width:100%}
.page-hero{position:relative;background:linear-gradient(135deg,var(--primary) 0%,var(--primary2) 100%);color:#fff;padding:1rem 0 3rem;overflow:hidden}.page-hero__shell{width:min(100%,1760px);margin:0 auto;padding:0 12px}.page-hero__media{position:relative;min-height:340px;border-radius:30px;overflow:hidden;box-shadow:0 26px 70px rgba(0,0,0,.24);background:linear-gradient(135deg,var(--primary) 0%,var(--primary2) 100%)}.page-hero__media img{width:100%;height:340px;object-fit:cover}.page-hero__media::before{content:"";position:absolute;inset:0;background:linear-gradient(to right,rgba(15,42,68,.28) 0%,rgba(15,42,68,0) 12%,rgba(15,42,68,0) 88%,rgba(15,42,68,.28) 100%)}.page-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(15,42,68,.12) 0%,rgba(15,42,68,0) 12%,rgba(15,42,68,0) 68%,rgba(15,42,68,.78) 100%)}.page-hero__copy{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:2rem 0 2.5rem}.page-hero__copy h1{margin:0;max-width:900px;font-size:clamp(2rem,4vw,3.4rem);line-height:1.02;color:#fff;letter-spacing:-.025em}.page-hero--simple .page-hero__media{display:flex;align-items:flex-end}.page-hero--simple .page-hero__copy{position:relative;padding:3.2rem 0 3.4rem}.hero{position:relative}.hero-copy{position:relative;z-index:1}.hero-media{background:#dfe6ec}.hero-line{stroke:rgba(255,255,255,.9)}.hero-dot{fill:#f2c94c;stroke:#fff;stroke-width:2.2}.hero-dot-ring{stroke:rgba(255,255,255,.78)}
@media (max-width:980px){.page-hero__media,.page-hero__media img{height:300px;min-height:300px}}
@media (max-width:760px){.page-hero__media,.page-hero__media img{height:240px;min-height:240px}.page-hero__copy h1{font-size:clamp(1.7rem,7vw,2.4rem)}}

.main-nav .menu,.main-nav ul{display:flex;gap:1rem;list-style:none;margin:0;padding:0;justify-content:center;flex-wrap:wrap}.main-nav li{margin:0}.main-nav a{display:inline-flex;align-items:center;min-height:44px}.site-header a,.site-header button{position:relative;z-index:2}

html[data-theme="dark"] .section-intro{color:rgba(232,238,246,.82)}
html[data-theme="dark"] .section-eyebrow{background:linear-gradient(180deg,rgba(255,255,255,.11) 0%,rgba(255,255,255,.07) 100%);color:#fff;border-color:rgba(255,255,255,.10);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 18px rgba(0,0,0,.18)}

html[data-theme="dark"] .card{background:linear-gradient(180deg,#182335 0%,#121b29 100%);border-color:rgba(255,255,255,.10);box-shadow:0 18px 36px rgba(0,0,0,.28)}
html[data-theme="dark"] .card::before{background:linear-gradient(180deg,rgba(212,175,55,.94) 0%,rgba(212,175,55,.30) 100%);box-shadow:0 10px 22px rgba(212,175,55,.14)}
html[data-theme="dark"] .card::after{box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
html[data-theme="dark"] .card:hover{border-color:rgba(255,255,255,.18);box-shadow:0 24px 54px rgba(0,0,0,.36)}
html[data-theme="dark"] .card-icon{box-shadow:none;background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.10)}


.card-icon img,.card-icon svg{display:block;width:100%;height:100%;max-width:92px;max-height:92px;object-fit:contain;opacity:.11;filter:grayscale(1) saturate(0) contrast(1.05)}
.card-icon:has(img),.card-icon:has(svg){font-size:0;line-height:0}
.card-icon svg *[stroke]{stroke:currentColor !important}
.card-icon svg *[fill]:not([fill="none"]){fill:currentColor !important}
.card-icon svg [fill="none"]{fill:none !important}


.page-contact-intro{max-width:760px;font-size:1.08rem;color:rgba(255,255,255,.92);margin:1rem 0 0}
.page-contact__grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.7fr);gap:1.5rem;align-items:start}.page-contact__main,.page-contact__sidebar,.page-contact__form-card,.page-contact__help-card,.page-contact__map-card{background:linear-gradient(180deg,#ffffff 0%,#f9fbfd 100%);border:1px solid rgba(15,42,68,.10);border-radius:24px;box-shadow:0 18px 38px rgba(15,42,68,.07)}.page-contact__main{padding:1.7rem 1.7rem 1.55rem}.page-contact__main h2,.page-contact__form-card h2,.page-contact__help-card h2{margin:0 0 .8rem;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.15}.page-contact__sidebar{padding:1.35rem}.page-contact__sidebar h3{margin:0 0 1rem;font-size:1.3rem;line-height:1.2}.page-contact__prose p{margin:0 0 1rem;color:rgba(31,31,31,.82);font-size:1.07rem;line-height:1.78}.contact-mini--stack{grid-template-columns:1fr!important;margin:0}.contact-mini--stack .contact-mini__item{background:#fff;border:1px solid rgba(15,42,68,.09);box-shadow:none;padding:1rem 1.05rem}.contact-mini--stack .contact-mini__item span,.contact-mini--stack .contact-mini__item a{color:rgba(31,31,31,.84);text-decoration:none}.page-contact__form-wrap{padding-top:0}.page-contact__form-card{padding:1.7rem}.page-contact__help-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:1.5rem;padding-top:0}.page-contact__help-card{padding:1.7rem}.page-contact__map-card{overflow:hidden;padding:0}.page-contact__map-card iframe{height:100%;min-height:320px;border:0}.ds-form-placeholder{margin-top:1rem;padding:1rem 1.1rem;background:#fff7e6;border:1px solid rgba(212,175,55,.4);border-radius:16px;color:#5f4b12}.ds-contact-form{margin-top:24px}.ds-form-grid{display:grid;gap:18px}.ds-form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ds-field{margin-bottom:18px}.ds-field label{display:block;margin-bottom:10px;font-size:15px;line-height:1.4;font-weight:700;color:#122b46}.ds-contact-form input[type="text"],.ds-contact-form input[type="email"],.ds-contact-form input[type="tel"],.ds-contact-form input[type="file"],.ds-contact-form select,.ds-contact-form textarea{width:100%;border:1px solid rgba(18,43,70,.12);border-radius:18px;background:#f8fafc;color:#1f2937;padding:16px 18px;font-size:17px;line-height:1.5;box-shadow:inset 0 1px 0 rgba(255,255,255,.7);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.ds-contact-form textarea{min-height:170px;resize:vertical}.ds-contact-form input[type="text"]:focus,.ds-contact-form input[type="email"]:focus,.ds-contact-form input[type="tel"]:focus,.ds-contact-form input[type="file"]:focus,.ds-contact-form select:focus,.ds-contact-form textarea:focus{outline:none;border-color:rgba(210,171,54,.9);box-shadow:0 0 0 4px rgba(210,171,54,.12);background:#fff}.ds-contact-form input[type="file"]{padding:14px 16px;font-size:15px;line-height:1.4;cursor:pointer}.ds-contact-form small{display:block;margin-top:8px;font-size:13px;color:#5b6b7f}.ds-contact-form .wpcf7-quiz{max-width:220px;font-weight:700;text-align:center;letter-spacing:.02em}.ds-field-checkbox{margin-top:6px}.ds-field-checkbox .wpcf7-list-item{margin:0}.ds-field-checkbox label,.ds-field-checkbox .wpcf7-list-item-label{font-size:14px;font-weight:500;color:#44556b}.ds-form-actions{margin-top:24px}.ds-submit{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 26px;border:0;border-radius:999px;background:#d4ab2f;color:#122b46;font-size:16px;font-weight:800;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,background-color .2s ease;box-shadow:0 10px 24px rgba(212,171,47,.22)}.ds-submit:hover{transform:translateY(-1px);background:#e0b739}.ds-submit:active{transform:translateY(0)}.ds-contact-form .wpcf7-not-valid-tip{margin-top:8px;font-size:13px}.ds-contact-form .wpcf7-response-output{margin:20px 0 0;padding:14px 16px;border-radius:16px;font-size:14px}.page-template-page-contact .site-main{padding-bottom:3rem}
html[data-theme="dark"] .page-contact__main,html[data-theme="dark"] .page-contact__sidebar,html[data-theme="dark"] .page-contact__form-card,html[data-theme="dark"] .page-contact__help-card,html[data-theme="dark"] .page-contact__map-card{background:linear-gradient(180deg,#152133 0%,#111927 100%);border-color:rgba(255,255,255,.09);box-shadow:0 22px 44px rgba(0,0,0,.32)}html[data-theme="dark"] .page-contact__prose p,html[data-theme="dark"] .contact-mini--stack .contact-mini__item span,html[data-theme="dark"] .contact-mini--stack .contact-mini__item a,html[data-theme="dark"] .ds-field-checkbox label,html[data-theme="dark"] .ds-field-checkbox .wpcf7-list-item-label{color:rgba(232,238,246,.9)}html[data-theme="dark"] .contact-mini--stack .contact-mini__item{background:#121a28;border-color:rgba(255,255,255,.08)}html[data-theme="dark"] .ds-field label{color:#eef2f6}html[data-theme="dark"] .ds-contact-form input[type="text"],html[data-theme="dark"] .ds-contact-form input[type="email"],html[data-theme="dark"] .ds-contact-form input[type="tel"],html[data-theme="dark"] .ds-contact-form input[type="file"],html[data-theme="dark"] .ds-contact-form select,html[data-theme="dark"] .ds-contact-form textarea{background:#0f1724;border-color:rgba(255,255,255,.10);color:#eef2f6;box-shadow:none}html[data-theme="dark"] .ds-contact-form input[type="text"]:focus,html[data-theme="dark"] .ds-contact-form input[type="email"]:focus,html[data-theme="dark"] .ds-contact-form input[type="tel"]:focus,html[data-theme="dark"] .ds-contact-form input[type="file"]:focus,html[data-theme="dark"] .ds-contact-form select:focus,html[data-theme="dark"] .ds-contact-form textarea:focus{background:#111d2e}html[data-theme="dark"] .ds-form-placeholder{background:#2d2510;color:#f3e6b1;border-color:rgba(212,175,55,.35)}
@media (max-width: 980px){.page-contact__grid,.page-contact__help-grid{grid-template-columns:1fr}.page-contact__sidebar{order:2}.page-contact__main{order:1}.page-contact__map-card iframe{min-height:280px}}
@media (max-width: 767px){.ds-form-grid-2{grid-template-columns:1fr}.ds-contact-form input[type="text"],.ds-contact-form input[type="email"],.ds-contact-form input[type="tel"],.ds-contact-form input[type="file"],.ds-contact-form select,.ds-contact-form textarea{font-size:16px;padding:15px 16px}.ds-submit{width:100%}.page-contact__main,.page-contact__sidebar,.page-contact__form-card,.page-contact__help-card{padding:1.2rem}.page-contact-intro{font-size:1rem}}



 .hero-buttons .hero-buttons__tertiary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 22px;
  border-radius:999px;
  border:1px solid rgba(15,42,68,.12);
  background:linear-gradient(180deg,#ffffff 0%,#f4f7fb 100%);
  color:var(--primary);
  font-weight:800;
  text-decoration:none;
  box-shadow:0 14px 28px rgba(15,42,68,.08), inset 0 1px 0 rgba(255,255,255,.9);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
 .hero-buttons .hero-buttons__tertiary:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 36px rgba(15,42,68,.12), inset 0 1px 0 rgba(255,255,255,.95);
  border-color:rgba(15,42,68,.18);
  background:#fff;
}
.card-icon__text{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  font-size:1.45rem;
  line-height:1;
}
.card-icon__placeholder{
  opacity:.72;
}
html[data-theme="dark"] .hero-buttons .hero-buttons__tertiary{
  background:linear-gradient(180deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,.08) 100%);
  color:#fff;
  border-color:rgba(255,255,255,.16);
  box-shadow:none;
}
html[data-theme="dark"] .hero-buttons .hero-buttons__tertiary:hover{
  background:linear-gradient(180deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,.10) 100%);
  border-color:rgba(255,255,255,.22);
}
@media (max-width:760px){
   .hero-buttons .hero-buttons__tertiary{width:100%;}
}


.service-page__layout{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(280px,.62fr);gap:1.5rem;align-items:start}
.service-page__main,.service-page__card{background:linear-gradient(180deg,#ffffff 0%,#f9fbfd 100%);border:1px solid rgba(15,42,68,.10);border-radius:24px;box-shadow:0 18px 38px rgba(15,42,68,.07)}
.service-page__main{padding:1.7rem}
.service-page__main h2{margin:1.7rem 0 .75rem;font-size:clamp(1.45rem,2.3vw,1.95rem);line-height:1.18}
.service-page__main h2:first-child{margin-top:0}
.service-page__main h3{margin:1.2rem 0 .55rem;font-size:1.15rem;line-height:1.24}
.service-page__main p,.service-page__main li{color:rgba(31,31,31,.84);font-size:1.08rem;line-height:1.8}
.service-page__main ul{margin:.4rem 0 1rem 1.15rem;padding:0}
.service-page__sidebar{display:grid;gap:1rem}
.service-page__card{padding:1.35rem}
.service-page__card h3{margin:0 0 .65rem;font-size:1.25rem;line-height:1.2}
.service-page__card p{margin:0 0 1rem;color:rgba(31,31,31,.82);font-size:1.02rem;line-height:1.7}
.service-page .cta-buttons{display:flex;flex-direction:column}
@media (max-width:980px){.service-page__layout{grid-template-columns:1fr}}
@media (max-width:767px){.service-page__main,.service-page__card{padding:1.2rem}.service-page__main p,.service-page__main li{font-size:1.04rem;line-height:1.72}}
html[data-theme="dark"] .service-page__main,html[data-theme="dark"] .service-page__card{background:linear-gradient(180deg,#152133 0%,#111927 100%);border-color:rgba(255,255,255,.09);box-shadow:0 22px 44px rgba(0,0,0,.32)}
html[data-theme="dark"] .service-page__main p,html[data-theme="dark"] .service-page__main li,html[data-theme="dark"] .service-page__card p{color:rgba(232,238,246,.9)}


/* Menu redesign v15.3.0 */
.site-header{overflow:visible}
.site-header__inner{grid-template-columns:auto 1fr auto;gap:1.25rem;min-height:84px}
.main-nav--desktop{display:block}
.menu-toggle{display:none;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);cursor:pointer}
.menu-toggle span{display:block;width:20px;height:2px;background:#fff;border-radius:2px;margin:3px 0}
.main-nav .menu,.main-nav ul{display:flex;gap:.4rem;list-style:none;margin:0;padding:0;justify-content:center;flex-wrap:nowrap}
.main-nav .menu>li{position:relative}
.main-nav .menu>li>a{display:inline-flex;align-items:center;min-height:48px;padding:.8rem 1rem;border-radius:14px;font-weight:800;color:#fff;text-decoration:none;transition:background .2s ease,color .2s ease,transform .2s ease}
.main-nav .menu>li:hover>a,.main-nav .menu>li.current-menu-item>a,.main-nav .menu>li.current-menu-ancestor>a{background:rgba(255,255,255,.08);color:#fff}
.main-nav .menu-item-has-children>a::after{content:"▾";font-size:.8rem;margin-left:.45rem;opacity:.8}
.main-nav .menu>li::after{content:'';position:absolute;left:0;right:0;top:100%;height:16px}.main-nav .sub-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:280px;display:block;opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none;background:#fff;color:#122b46;border:1px solid rgba(18,43,70,.08);border-radius:20px;box-shadow:0 24px 60px rgba(9,21,37,.18);padding:.65rem;z-index:1002}
.main-nav .sub-menu li{display:block}
.main-nav .sub-menu a{display:flex;align-items:flex-start;min-height:0;padding:.8rem .95rem;border-radius:14px;color:#16304b;font-weight:700;line-height:1.3;text-decoration:none}
.main-nav .sub-menu a:hover{background:#f4f7fb;color:#0f2a44}
.main-nav .menu>li:hover>.sub-menu,.main-nav .menu>li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.site-actions{gap:.65rem}
.phone-cta{white-space:nowrap}
.mobile-drawer{position:fixed;inset:0;z-index:1200;pointer-events:none}
.mobile-drawer__backdrop{position:absolute;inset:0;background:rgba(7,16,28,.42);opacity:0;transition:opacity .25s ease}
.mobile-drawer__panel{position:absolute;top:0;right:0;width:min(92vw,380px);height:100%;background:#0f2a44;color:#fff;transform:translateX(100%);transition:transform .28s ease;box-shadow:-18px 0 42px rgba(0,0,0,.24);display:flex;flex-direction:column;padding:1rem 1rem 1.25rem}
.mobile-drawer.is-open{pointer-events:auto}
.mobile-drawer.is-open .mobile-drawer__backdrop{opacity:1}
.mobile-drawer.is-open .mobile-drawer__panel{transform:translateX(0)}
.mobile-drawer__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.2rem 0 1rem;border-bottom:1px solid rgba(255,255,255,.08)}
.menu-close{width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;font-size:1.8rem;line-height:1;cursor:pointer}
.main-nav--mobile{padding:1rem 0;overflow:auto}
.main-nav--mobile .menu,.main-nav--mobile ul{display:block}
.main-nav--mobile .menu>li{border-bottom:1px solid rgba(255,255,255,.08)}
.main-nav--mobile .menu>li>a{display:flex;justify-content:space-between;padding:1rem .2rem;border-radius:0;background:none;color:#fff;min-height:0}
.main-nav--mobile .menu-item-has-children>a::after{content:""}
.main-nav--mobile .sub-menu{position:static;opacity:1;visibility:visible;transform:none;pointer-events:auto;display:block;min-width:0;background:transparent;border:0;box-shadow:none;padding:0 0 .75rem .9rem}
.main-nav--mobile .sub-menu a{padding:.7rem .2rem;color:rgba(255,255,255,.84);border-radius:0}
.main-nav--mobile .sub-menu a:hover{background:transparent;color:#fff}
.mobile-drawer__footer{margin-top:auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08)}
body.menu-open{overflow:hidden}
@media (max-width:1180px){
  .main-nav .menu>li>a{padding:.78rem .82rem;font-size:.95rem}
  .phone-cta{display:none}
}
@media (max-width:980px){
  .site-header__inner{grid-template-columns:auto 1fr auto;align-items:center}
  .main-nav--desktop{display:none}
  .theme-toggle{display:none}
  .menu-toggle{display:inline-flex}
  .site-actions{justify-content:flex-end}
}
@media (max-width:760px){
  .site-header__inner{padding:.8rem 0;min-height:72px}
  .site-brand img{width:150px}
}

/* Menu persistence + card hover polish v15.3.3 */
.main-nav .menu>li:hover>a,.main-nav .menu>li:focus-within>a{background:rgba(255,255,255,.08);color:#fff}
.main-nav .sub-menu{transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.card,.card .card-icon,.card strong,.card p,.card .card-link__hint,.card .card-link__hint::after{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease,color .22s ease,opacity .22s ease}
.card--link:hover,.card--link:focus-within,.services-grid .card:hover,.services-grid .card:focus-within,.it-grid .card:hover,.it-grid .card:focus-within{background:linear-gradient(135deg,var(--primary) 0%,var(--primary2) 100%);color:#fff;border-color:transparent;box-shadow:0 24px 54px rgba(6,18,33,.28);transform:translateY(-4px)}
.card--link:hover::before,.card--link:focus-within::before,.services-grid .card:hover::before,.services-grid .card:focus-within::before,.it-grid .card:hover::before,.it-grid .card:focus-within::before{background:linear-gradient(180deg,var(--accent) 0%,rgba(212,175,55,.35) 100%);box-shadow:0 10px 22px rgba(212,175,55,.16)}
.card--link:hover::after,.card--link:focus-within::after,.services-grid .card:hover::after,.services-grid .card:focus-within::after,.it-grid .card:hover::after,.it-grid .card:focus-within::after{box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.card--link:hover .card-icon,.card--link:focus-within .card-icon,.services-grid .card:hover .card-icon,.services-grid .card:focus-within .card-icon,.it-grid .card:hover .card-icon,.it-grid .card:focus-within .card-icon{background:transparent;border:0;color:#fff;box-shadow:none}
.card--link:hover strong,.card--link:focus-within strong,.services-grid .card:hover strong,.services-grid .card:focus-within strong,.it-grid .card:hover strong,.it-grid .card:focus-within strong{color:#fff}
.card--link:hover p,.card--link:focus-within p,.services-grid .card:hover p,.services-grid .card:focus-within p,.it-grid .card:hover p,.it-grid .card:focus-within p{color:rgba(255,255,255,.94)}
.card--link:hover .card-icon img,.card--link:focus-within .card-icon img,.services-grid .card:hover .card-icon img,.services-grid .card:focus-within .card-icon img,.it-grid .card:hover .card-icon img,.it-grid .card:focus-within .card-icon img,.card--link:hover .card-icon svg,.card--link:focus-within .card-icon svg,.services-grid .card:hover .card-icon svg,.services-grid .card:focus-within .card-icon svg,.it-grid .card:hover .card-icon svg,.it-grid .card:focus-within .card-icon svg{opacity:.22;filter:brightness(0) invert(1) saturate(0) contrast(1.05)}
.card--link:hover .card-icon__text,.card--link:focus-within .card-icon__text,.services-grid .card:hover .card-icon__text,.services-grid .card:focus-within .card-icon__text,.it-grid .card:hover .card-icon__text,.it-grid .card:focus-within .card-icon__text,.card--link:hover .card-icon__placeholder,.card--link:focus-within .card-icon__placeholder,.services-grid .card:hover .card-icon__placeholder,.services-grid .card:focus-within .card-icon__placeholder,.it-grid .card:hover .card-icon__placeholder,.it-grid .card:focus-within .card-icon__placeholder{opacity:.2;color:rgba(255,255,255,.92)}
.card--link:hover .card-link__hint,.card--link:focus-within .card-link__hint,.services-grid .card:hover .card-link__hint,.services-grid .card:focus-within .card-link__hint,.it-grid .card:hover .card-link__hint,.it-grid .card:focus-within .card-link__hint{color:#fff;opacity:1}
.card--link:hover .card-link__hint::after,.card--link:focus-within .card-link__hint::after,.services-grid .card:hover .card-link__hint::after,.services-grid .card:focus-within .card-link__hint::after,.it-grid .card:hover .card-link__hint::after,.it-grid .card:focus-within .card-link__hint::after{transform:translateX(3px)}


/* Subpage hero full-bleed + adaptive contrast v15.3.5 */
.page-hero{background:transparent;padding:0;overflow:visible}
.page-hero__shell{width:100%;max-width:none;padding:0}
.page-hero__media{min-height:380px;height:clamp(320px,42vw,520px);border-radius:0;box-shadow:none;background:var(--primary);width:100%}
.page-hero__media img{width:100%;height:100%;min-height:inherit;object-fit:cover;display:block}
.page-hero__media::before,.page-hero__media::after{display:none}
.page-hero__copy{top:0;bottom:0;display:flex;align-items:flex-end;padding:0 0 2.6rem}
.page-hero__copy .container{width:100%}
.page-hero__copy h1,.page-hero__copy .page-contact-intro,.page-hero__copy .section-eyebrow{transition:color .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease}
.page-hero--image-dark .page-hero__copy h1{color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.28)}
.page-hero--image-dark .page-contact-intro{color:rgba(255,255,255,.96);text-shadow:0 2px 14px rgba(0,0,0,.24)}
.page-hero--image-dark .section-eyebrow{background:rgba(255,255,255,.18);color:#fff;border-color:rgba(255,255,255,.22);box-shadow:none;backdrop-filter:blur(8px)}
.page-hero--image-light .page-hero__copy h1{color:#122b46;text-shadow:0 1px 0 rgba(255,255,255,.35)}
.page-hero--image-light .page-contact-intro{color:rgba(18,43,70,.92);text-shadow:none}
.page-hero--image-light .section-eyebrow{background:rgba(255,255,255,.72);color:#122b46;border-color:rgba(18,43,70,.12);box-shadow:0 10px 26px rgba(15,42,68,.08);backdrop-filter:blur(8px)}
.page-hero--simple{background:linear-gradient(135deg,var(--primary) 0%,var(--primary2) 100%);padding:1rem 0 3rem}
.page-hero--simple .page-hero__shell{width:min(100%,1760px);padding:0 12px}
.page-hero--simple .page-hero__media{border-radius:30px;box-shadow:0 26px 70px rgba(0,0,0,.24);height:auto;min-height:340px}
.page-hero--simple .page-hero__copy{position:relative;top:auto;bottom:auto;display:block;padding:3.2rem 0 3.4rem}
.page-hero--simple .page-hero__copy h1{color:#fff;text-shadow:none}
.page-hero--simple .page-contact-intro{color:rgba(255,255,255,.92)}
@media (max-width:980px){.page-hero__media{min-height:300px;height:38vw}.page-hero__copy{padding:0 0 2rem}}
@media (max-width:760px){.page-hero__media{min-height:240px;height:56vw}.page-hero__copy{padding:0 0 1.4rem}.page-hero__copy h1{font-size:clamp(1.7rem,7vw,2.4rem)}}


/* Subpage hero overlay text block v15.3.5 */
.page-hero{background:transparent;padding:0;overflow:visible}
.page-hero__shell{width:100%;max-width:none;padding:0}
.page-hero__media{position:relative;min-height:380px;height:clamp(320px,42vw,520px);border-radius:0;box-shadow:none;background:var(--primary);width:100%}
.page-hero__media img{width:100%;height:100%;min-height:inherit;object-fit:cover;display:block}
.page-hero__media::before,.page-hero__media::after{display:none}
.page-hero__copy{position:absolute;inset:0;display:flex;align-items:flex-end;padding:0 0 2.8rem;z-index:2}
.page-hero__copy .container{width:100%;position:relative}
.page-hero__copy .container::before{content:'';position:absolute;left:0;bottom:-14px;width:min(760px,62vw);height:calc(100% + 28px);background:linear-gradient(90deg,rgba(11,35,58,.78) 0%,rgba(11,35,58,.72) 58%,rgba(11,35,58,.36) 84%,rgba(11,35,58,0) 100%);border-radius:0 28px 28px 0;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);box-shadow:0 18px 44px rgba(0,0,0,.16);pointer-events:none}
.page-hero__copy .section-eyebrow,.page-hero__copy h1,.page-hero__copy .page-contact-intro{position:relative;z-index:1}
.page-hero__copy .section-eyebrow{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.20);box-shadow:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.page-hero__copy h1{margin:0;max-width:860px;font-size:clamp(2rem,4vw,3.4rem);line-height:1.02;color:#fff;letter-spacing:-.025em;text-shadow:0 2px 18px rgba(0,0,0,.22)}
.page-hero__copy .page-contact-intro{max-width:760px;color:rgba(255,255,255,.96);text-shadow:0 2px 16px rgba(0,0,0,.20)}
.page-hero--image-light .page-hero__copy h1,.page-hero--image-dark .page-hero__copy h1{color:#fff}
.page-hero--image-light .page-contact-intro,.page-hero--image-dark .page-contact-intro{color:rgba(255,255,255,.96)}
.page-hero--image-light .section-eyebrow,.page-hero--image-dark .section-eyebrow{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.20);box-shadow:none}
.page-hero--simple{background:linear-gradient(135deg,var(--primary) 0%,var(--primary2) 100%);padding:1rem 0 3rem}
.page-hero--simple .page-hero__shell{width:min(100%,1760px);padding:0 12px}
.page-hero--simple .page-hero__media{border-radius:30px;box-shadow:0 26px 70px rgba(0,0,0,.24);height:auto;min-height:340px}
.page-hero--simple .page-hero__copy{position:relative;inset:auto;display:block;padding:3.2rem 0 3.4rem}
.page-hero--simple .page-hero__copy .container::before{display:none}
.page-hero--simple .page-hero__copy h1{color:#fff;text-shadow:none}
.page-hero--simple .page-contact-intro{color:rgba(255,255,255,.92)}
@media (max-width:980px){.page-hero__media{min-height:300px;height:38vw}.page-hero__copy{padding:0 0 2rem}.page-hero__copy .container::before{width:min(700px,72vw)}}
@media (max-width:760px){.page-hero__media{min-height:240px;height:58vw}.page-hero__copy{padding:0 0 1.2rem}.page-hero__copy .container::before{left:12px;right:12px;width:auto;border-radius:24px;background:linear-gradient(180deg,rgba(11,35,58,.76) 0%,rgba(11,35,58,.72) 62%,rgba(11,35,58,.38) 100%)}.page-hero__copy h1{font-size:clamp(1.7rem,7vw,2.4rem)}.page-hero__copy .page-contact-intro{max-width:none}}


/* v15.3.6 stronger subpage hero text overlay */
.page-hero:not(.page-hero--simple) .page-hero__copy{position:absolute;inset:0;display:flex;align-items:flex-end;padding:0 0 3rem;z-index:4}
.page-hero:not(.page-hero--simple) .page-hero__copy .container{position:relative;width:100%;padding-top:2rem;padding-bottom:1rem}
.page-hero:not(.page-hero--simple) .page-hero__copy .container::before{content:"";position:absolute;left:0;bottom:-18px;width:min(860px,72vw);height:calc(100% + 36px);background:linear-gradient(90deg,rgba(7,24,40,.86) 0%,rgba(7,24,40,.80) 52%,rgba(7,24,40,.58) 76%,rgba(7,24,40,.18) 92%,rgba(7,24,40,0) 100%);border-radius:0 30px 30px 0;box-shadow:0 22px 54px rgba(0,0,0,.20);pointer-events:none}
.page-hero:not(.page-hero--simple) .page-hero__copy .section-eyebrow,.page-hero:not(.page-hero--simple) .page-hero__copy h1,.page-hero:not(.page-hero--simple) .page-hero__copy .page-contact-intro{position:relative;z-index:2;color:#fff !important}
.page-hero:not(.page-hero--simple) .page-hero__copy h1{max-width:860px;text-shadow:0 2px 20px rgba(0,0,0,.28)}
.page-hero:not(.page-hero--simple) .page-hero__copy .page-contact-intro{max-width:760px;color:rgba(255,255,255,.96) !important;text-shadow:0 2px 18px rgba(0,0,0,.24)}
.page-hero:not(.page-hero--simple) .page-hero__copy .section-eyebrow{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
@media (max-width:980px){.page-hero:not(.page-hero--simple) .page-hero__copy .container::before{width:min(760px,82vw)}}
@media (max-width:760px){.page-hero:not(.page-hero--simple) .page-hero__copy{padding:0 0 1.6rem}.page-hero:not(.page-hero--simple) .page-hero__copy .container{padding-bottom:.75rem}.page-hero:not(.page-hero--simple) .page-hero__copy .container::before{width:100%;height:calc(100% + 20px);bottom:-10px;background:linear-gradient(180deg,rgba(7,24,40,.72) 0%,rgba(7,24,40,.72) 72%,rgba(7,24,40,.18) 100%);border-radius:0}.page-hero:not(.page-hero--simple) .page-hero__copy h1{font-size:clamp(1.8rem,7vw,2.45rem)}}


/* v15.3.7 subpage SEO-first hero layout */
.page-hero-intro{background:#fff;padding:2.1rem 0 1.15rem;color:#122b46}
.page-hero-intro__container{max-width:1180px}
.page-hero-intro .section-eyebrow{margin-bottom:.9rem}
.page-hero-intro h1{margin:0;max-width:980px;font-size:clamp(2.05rem,4.1vw,3.7rem);line-height:1.03;letter-spacing:-.026em;color:#122b46}
.page-hero-intro .page-contact-intro{margin:.95rem 0 0;max-width:860px;font-size:1.1rem;line-height:1.65;color:#44556b}
.page-hero--image-only{background:transparent;padding:0 0 1.6rem;overflow:visible}
.page-hero--image-only .page-hero__shell{width:100%;max-width:none;padding:0}
.page-hero--image-only .page-hero__media{position:relative;min-height:280px;height:clamp(260px,34vw,500px);border-radius:0;box-shadow:none;background:#d9dde4}
.page-hero--image-only .page-hero__media img{width:100%;height:100%;display:block;object-fit:cover}
.page-hero--image-only .page-hero__copy,.page-hero--image-only .page-hero__media::before,.page-hero--image-only .page-hero__media::after{display:none !important}
@media (max-width:980px){.page-hero-intro{padding:1.7rem 0 .95rem}.page-hero-intro h1{font-size:clamp(1.9rem,5vw,3rem)}.page-hero-intro .page-contact-intro{font-size:1.02rem}.page-hero--image-only .page-hero__media{height:38vw;min-height:240px}}
@media (max-width:760px){.page-hero-intro{padding:1.2rem 0 .85rem}.page-hero-intro h1{font-size:clamp(1.72rem,7.4vw,2.45rem)}.page-hero-intro .page-contact-intro{font-size:.98rem;line-height:1.58}.page-hero--image-only{padding:0 0 1rem}.page-hero--image-only .page-hero__media{height:56vw;min-height:210px}}


/* v15.3.8 editorial service hero */
.page-hero-intro{background:#fff;padding:2rem 0 .55rem;color:#122b46}
.page-hero-intro__container{max-width:1180px}
.page-hero-intro .section-eyebrow{margin-bottom:.8rem}
.page-hero-intro h1{max-width:980px}
.page-hero-intro .page-contact-intro{max-width:860px;margin:.8rem 0 0}
.page-hero--image-only{background:#fff;padding:0 0 1.6rem}
.page-hero--image-only .page-hero__shell{width:min(100%,1320px);max-width:1320px;margin:0 auto;padding:0 20px}
.page-hero--image-only .page-hero__media{position:relative;min-height:0;height:clamp(240px,28vw,360px);border-radius:24px;overflow:hidden;box-shadow:0 24px 50px rgba(15,42,68,.10);background:#dde5ec}
.page-hero--image-only .page-hero__media img{height:100%;width:100%;object-fit:cover;object-position:center center;display:block}
.page-hero--image-only .page-hero__media::before,.page-hero--image-only .page-hero__media::after,.page-hero--image-only .page-hero__copy{display:none!important}
@media (max-width:980px){
  .page-hero-intro{padding:1.6rem 0 .45rem}
  .page-hero--image-only{padding:0 0 1.2rem}
  .page-hero--image-only .page-hero__shell{padding:0 18px}
  .page-hero--image-only .page-hero__media{height:clamp(220px,34vw,300px);border-radius:20px}
}
@media (max-width:760px){
  .page-hero-intro{padding:1.15rem 0 .35rem}
  .page-hero--image-only{padding:0 0 1rem}
  .page-hero--image-only .page-hero__shell{padding:0 14px}
  .page-hero--image-only .page-hero__media{height:clamp(200px,52vw,260px);border-radius:16px}
}


/* v15.4.0 service hero spacing + visible edge fade */
.page-hero-intro{padding:2rem 0 1.2rem}
.page-hero-intro .page-contact-intro{margin:.9rem 0 0}
.page-hero--image-only{background:#fff;padding:0 0 1.8rem}
.page-hero--image-only .page-hero__shell{width:min(100%,1320px);max-width:1320px;margin:0 auto;padding:0 20px}
.page-hero--image-only .page-hero__media{position:relative;min-height:0;height:clamp(240px,28vw,360px);border-radius:24px;overflow:hidden;box-shadow:none;background:#dde5ec;isolation:isolate}
.page-hero--image-only .page-hero__media::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;
  background:
    linear-gradient(to top, rgba(255,255,255,.98) 0%, rgba(255,255,255,.88) 5%, rgba(255,255,255,0) 18%),
    linear-gradient(to bottom, rgba(255,255,255,.98) 0%, rgba(255,255,255,.88) 5%, rgba(255,255,255,0) 18%),
    linear-gradient(to right, rgba(255,255,255,.98) 0%, rgba(255,255,255,.88) 5%, rgba(255,255,255,0) 15%),
    linear-gradient(to left, rgba(255,255,255,.98) 0%, rgba(255,255,255,.88) 5%, rgba(255,255,255,0) 15%),
    radial-gradient(circle at top left, rgba(255,255,255,.95) 0%, rgba(255,255,255,0) 20%),
    radial-gradient(circle at top right, rgba(255,255,255,.95) 0%, rgba(255,255,255,0) 20%),
    radial-gradient(circle at bottom left, rgba(255,255,255,.95) 0%, rgba(255,255,255,0) 20%),
    radial-gradient(circle at bottom right, rgba(255,255,255,.95) 0%, rgba(255,255,255,0) 20%);
}
.page-hero--image-only .page-hero__media::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;box-shadow:inset 0 0 60px rgba(255,255,255,.55)}
.page-hero--image-only .page-hero__media img{height:100%;width:100%;object-fit:cover;object-position:center center;display:block}
@media (max-width:980px){
  .page-hero-intro{padding:1.6rem 0 .95rem}
  .page-hero--image-only{padding:0 0 1.4rem}
}
@media (max-width:760px){
  .page-hero-intro{padding:1.15rem 0 .8rem}
  .page-hero--image-only{padding:0 0 1.1rem}
  .page-hero--image-only .page-hero__media::before{
    background:
      linear-gradient(to top, rgba(255,255,255,.99) 0%, rgba(255,255,255,.92) 7%, rgba(255,255,255,0) 22%),
      linear-gradient(to bottom, rgba(255,255,255,.99) 0%, rgba(255,255,255,.92) 7%, rgba(255,255,255,0) 22%),
      linear-gradient(to right, rgba(255,255,255,.99) 0%, rgba(255,255,255,.92) 7%, rgba(255,255,255,0) 18%),
      linear-gradient(to left, rgba(255,255,255,.99) 0%, rgba(255,255,255,.92) 7%, rgba(255,255,255,0) 18%),
      radial-gradient(circle at top left, rgba(255,255,255,.97) 0%, rgba(255,255,255,0) 24%),
      radial-gradient(circle at top right, rgba(255,255,255,.97) 0%, rgba(255,255,255,0) 24%),
      radial-gradient(circle at bottom left, rgba(255,255,255,.97) 0%, rgba(255,255,255,0) 24%),
      radial-gradient(circle at bottom right, rgba(255,255,255,.97) 0%, rgba(255,255,255,0) 24%);
  }
  .page-hero--image-only .page-hero__media::after{box-shadow:inset 0 0 42px rgba(255,255,255,.62)}
}


/* v15.4.2 subpage hero spacing + fade edges */
.page-hero-intro{background:#fff;padding:2.2rem 0 1.55rem;color:#122b46}
.page-hero-intro__container{max-width:1180px}
.page-hero-intro .section-eyebrow{margin-bottom:.9rem}
.page-hero-intro h1{margin:0;max-width:980px;font-size:clamp(2.05rem,4.1vw,3.7rem);line-height:1.03;letter-spacing:-.026em;color:#122b46}
.page-hero-intro .page-contact-intro{margin:1rem 0 0;max-width:860px;font-size:1.08rem;line-height:1.68;color:#44556b}
.page-hero--image-only{background:#fff;padding:0 0 1.9rem}
.page-hero--image-only .page-hero__shell{width:min(100%,1320px);max-width:1320px;margin:0 auto;padding:0 20px}
.page-hero--image-only .page-hero__media{position:relative;min-height:0;height:clamp(240px,28vw,360px);border-radius:22px;overflow:hidden;box-shadow:none;background:#fff;isolation:isolate}
.page-hero--image-only .page-hero__media img{height:100%;width:100%;object-fit:cover;object-position:center center;display:block}
.page-hero--image-only .page-hero__media::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background:
linear-gradient(to right,#fff 0%,rgba(255,255,255,.88) 4%,rgba(255,255,255,0) 14%,rgba(255,255,255,0) 86%,rgba(255,255,255,.88) 96%,#fff 100%),
linear-gradient(to bottom,#fff 0%,rgba(255,255,255,.82) 5%,rgba(255,255,255,0) 16%,rgba(255,255,255,0) 84%,rgba(255,255,255,.82) 95%,#fff 100%);
}
.page-hero--image-only .page-hero__media::after,.page-hero--image-only .page-hero__copy{display:none!important}
@media (max-width:980px){
  .page-hero-intro{padding:1.8rem 0 1.25rem}
  .page-hero--image-only{padding:0 0 1.4rem}
  .page-hero--image-only .page-hero__media{height:clamp(220px,34vw,300px);border-radius:18px}
}
@media (max-width:760px){
  .page-hero-intro{padding:1.2rem 0 1rem}
  .page-hero-intro h1{font-size:clamp(1.72rem,7.4vw,2.45rem)}
  .page-hero-intro .page-contact-intro{font-size:.98rem;line-height:1.58}
  .page-hero--image-only{padding:0 0 1.1rem}
  .page-hero--image-only .page-hero__shell{padding:0 14px}
  .page-hero--image-only .page-hero__media{height:clamp(200px,54vw,260px);border-radius:16px}
  .page-hero--image-only .page-hero__media::before{background:
    linear-gradient(to right,#fff 0%,rgba(255,255,255,.94) 5%,rgba(255,255,255,0) 14%,rgba(255,255,255,0) 86%,rgba(255,255,255,.94) 95%,#fff 100%),
    linear-gradient(to bottom,#fff 0%,rgba(255,255,255,.90) 6%,rgba(255,255,255,0) 16%,rgba(255,255,255,0) 84%,rgba(255,255,255,.90) 94%,#fff 100%);
  }
}


/* v15.4.3 final service hero container + visible white edge fade */
.page-hero-intro{padding:2rem 0 1.45rem}
.page-hero-intro .page-contact-intro{margin:1rem 0 0;max-width:860px}
.page-hero--image-only{background:#fff;padding:0 0 1.9rem}
.page-hero--image-only .page-hero__shell{
  width:min(100%,1180px);
  max-width:1180px;
  margin:0 auto;
  padding:0 20px;
}
.page-hero--image-only .page-hero__media{
  position:relative;
  min-height:0;
  height:clamp(230px,26vw,340px);
  border-radius:22px;
  overflow:hidden;
  background:#eef2f6;
  box-shadow:none;
  isolation:isolate;
}
.page-hero--image-only .page-hero__media img{
  width:100%;height:100%;display:block;object-fit:cover;object-position:center center;
}
.page-hero--image-only .page-hero__media::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(to right, rgba(255,255,255,.98) 0%, rgba(255,255,255,.84) 7%, rgba(255,255,255,0) 17%),
    linear-gradient(to left, rgba(255,255,255,.98) 0%, rgba(255,255,255,.84) 7%, rgba(255,255,255,0) 17%),
    linear-gradient(to bottom, rgba(255,255,255,.96) 0%, rgba(255,255,255,.78) 8%, rgba(255,255,255,0) 18%),
    linear-gradient(to top, rgba(255,255,255,.96) 0%, rgba(255,255,255,.78) 8%, rgba(255,255,255,0) 18%),
    radial-gradient(circle at top left, rgba(255,255,255,.96) 0%, rgba(255,255,255,0) 22%),
    radial-gradient(circle at top right, rgba(255,255,255,.96) 0%, rgba(255,255,255,0) 22%),
    radial-gradient(circle at bottom left, rgba(255,255,255,.96) 0%, rgba(255,255,255,0) 22%),
    radial-gradient(circle at bottom right, rgba(255,255,255,.96) 0%, rgba(255,255,255,0) 22%);
}
.page-hero--image-only .page-hero__media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  box-shadow:inset 0 0 46px rgba(255,255,255,.52);
}
@media (max-width:980px){
  .page-hero-intro{padding:1.6rem 0 1.1rem}
  .page-hero--image-only{padding:0 0 1.5rem}
  .page-hero--image-only .page-hero__shell{width:min(100%,1080px);padding:0 18px}
  .page-hero--image-only .page-hero__media{height:clamp(220px,31vw,300px);border-radius:18px}
}
@media (max-width:760px){
  .page-hero-intro{padding:1.15rem 0 .95rem}
  .page-hero--image-only{padding:0 0 1.15rem}
  .page-hero--image-only .page-hero__shell{padding:0 14px}
  .page-hero--image-only .page-hero__media{height:clamp(200px,52vw,250px);border-radius:16px}
  .page-hero--image-only .page-hero__media::before{
    background:
      linear-gradient(to right, rgba(255,255,255,.99) 0%, rgba(255,255,255,.90) 9%, rgba(255,255,255,0) 20%),
      linear-gradient(to left, rgba(255,255,255,.99) 0%, rgba(255,255,255,.90) 9%, rgba(255,255,255,0) 20%),
      linear-gradient(to bottom, rgba(255,255,255,.98) 0%, rgba(255,255,255,.86) 10%, rgba(255,255,255,0) 22%),
      linear-gradient(to top, rgba(255,255,255,.98) 0%, rgba(255,255,255,.86) 10%, rgba(255,255,255,0) 22%),
      radial-gradient(circle at top left, rgba(255,255,255,.97) 0%, rgba(255,255,255,0) 24%),
      radial-gradient(circle at top right, rgba(255,255,255,.97) 0%, rgba(255,255,255,0) 24%),
      radial-gradient(circle at bottom left, rgba(255,255,255,.97) 0%, rgba(255,255,255,0) 24%),
      radial-gradient(circle at bottom right, rgba(255,255,255,.97) 0%, rgba(255,255,255,0) 24%);
  }
  .page-hero--image-only .page-hero__media::after{box-shadow:inset 0 0 34px rgba(255,255,255,.56)}
}


/* v15.4.4 mobile spacing + less intrusive WhatsApp */
@media (max-width: 767px){
  .service-page__layout.section{padding-top:.9rem !important; padding-bottom:2rem !important;}
  .page-hero--image-only{padding:0 0 .55rem !important;}
  .page-hero-intro{padding:1.05rem 0 .7rem !important;}
  .page-hero-intro .page-contact-intro{margin:.7rem 0 0 !important;}
  .whatsapp{display:none !important;}
}
@media (min-width: 768px){
  .whatsapp{right:18px;bottom:18px;padding:10px 14px;font-size:.95rem;box-shadow:0 8px 18px rgba(0,0,0,.14);opacity:.94}
}


/* v15.4.5 mobile hero cleanup */
@media (max-width: 767px){
  .hero-mobile-labels{display:none !important;}
  .hero-copy{padding-top:1rem !important;}
  .hero-shell{padding-left:12px !important;padding-right:12px !important;}
  .hero-media{border-radius:22px !important;}
  .hero-media img{height:64vw !important; min-height:300px !important; max-height:none !important; object-position:center center !important;}
  .hero{padding-bottom:2.1rem !important;}
  .whatsapp{display:none !important; opacity:0 !important; visibility:hidden !important; pointer-events:none !important;}
}


/* v15.4.6 mobile hero cleanup hard override */
@media screen and (max-width: 991px){
  body .hero-mobile-labels,
  body .hero .hero-mobile-labels,
  body .hero-mobile-card{display:none !important;}
  body .whatsapp{display:none !important; opacity:0 !important; visibility:hidden !important; pointer-events:none !important;}
}
@media screen and (max-width: 767px){
  body .hero{padding-bottom:1.15rem !important;}
  body .hero-copy{padding-top:.7rem !important;}
  body .hero-media img{height:72vw !important; min-height:340px !important; max-height:none !important; object-position:center center !important;}
}


/* v15.4.7 inline WhatsApp CTA on service pages */
.service-page__sidebar .cta-buttons{display:flex;flex-direction:column;gap:14px}
.service-page__sidebar .cta-buttons > a{width:100%;justify-content:center;text-align:center}
.service-page__sidebar .cta-buttons__wa{
  background:#25d366 !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:0 10px 18px rgba(37,211,102,.22);
}
.service-page__sidebar .cta-buttons__wa:hover{
  background:#1fbe59 !important;
  transform:translateY(-1px);
}
@media (max-width:760px){
  .service-page__sidebar .cta-buttons{gap:12px}
  .service-page__sidebar .cta-buttons__wa{display:flex !important;visibility:visible !important;opacity:1 !important}
}


/* v15.4.8 service sidebar secondary CTA fix */
.service-page__sidebar .cta-buttons__secondary{
  background:#fff !important;
  color:var(--primary) !important;
  box-shadow:0 10px 22px rgba(0,0,0,.10);
  border:1px solid rgba(15,42,68,.06);
}
.service-page__sidebar .cta-buttons__secondary:hover{
  background:#f6f8fb !important;
  transform:translateY(-1px);
}

/* v15.5.0 final service hero edge-fade fix */
.page-hero-intro--service{
  background:#fff !important;
  padding:2rem 0 .35rem !important;
}
.page-hero-intro--service .section-eyebrow{margin-bottom:.75rem !important;}
.page-hero-intro--service .page-contact-intro{margin:.75rem 0 0 !important;}
.page-hero--image-only{
  background:#fff !important;
  padding:0 0 1.25rem !important;
}
.page-hero--image-only .page-hero__shell{
  width:min(100%,1320px) !important;
  max-width:1320px !important;
  margin:0 auto !important;
  padding:0 20px !important;
}
.page-hero--image-only .page-hero__media{
  position:relative !important;
  min-height:260px !important;
  height:clamp(260px,29vw,370px) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
  background:transparent !important;
  isolation:isolate;
}
.page-hero--image-only .page-hero__media::before,
.page-hero--image-only .page-hero__media::after,
.page-hero--image-only .page-hero__copy{
  display:none !important;
  content:none !important;
}
.page-hero--image-only .page-hero__media img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center center !important;
  -webkit-mask-image:
    linear-gradient(to right, transparent 0, #000 28px, #000 calc(100% - 28px), transparent 100%),
    linear-gradient(to bottom, transparent 0, #000 28px, #000 calc(100% - 28px), transparent 100%);
  -webkit-mask-composite: source-in;
          mask-image:
    linear-gradient(to right, transparent 0, #000 28px, #000 calc(100% - 28px), transparent 100%),
    linear-gradient(to bottom, transparent 0, #000 28px, #000 calc(100% - 28px), transparent 100%);
          mask-composite: intersect;
}

@media (max-width:980px){
  .page-hero-intro--service{padding:1.6rem 0 .3rem !important;}
  .page-hero--image-only{padding:0 0 1.05rem !important;}
  .page-hero--image-only .page-hero__shell{padding:0 18px !important;}
  .page-hero--image-only .page-hero__media{
    min-height:230px !important;
    height:clamp(230px,34vw,310px) !important;
  }
  .page-hero--image-only .page-hero__media img{
    -webkit-mask-image:
      linear-gradient(to right, transparent 0, #000 22px, #000 calc(100% - 22px), transparent 100%),
      linear-gradient(to bottom, transparent 0, #000 22px, #000 calc(100% - 22px), transparent 100%);
            mask-image:
      linear-gradient(to right, transparent 0, #000 22px, #000 calc(100% - 22px), transparent 100%),
      linear-gradient(to bottom, transparent 0, #000 22px, #000 calc(100% - 22px), transparent 100%);
  }
}

@media (max-width:760px){
  .page-hero-intro--service{
    padding:1.15rem 0 .2rem !important;
  }
  .page-hero--image-only{
    padding:0 0 .8rem !important;
  }
  .page-hero--image-only .page-hero__shell{
    padding:0 14px !important;
  }
  .page-hero--image-only .page-hero__media{
    min-height:220px !important;
    height:clamp(220px,56vw,290px) !important;
  }
  .page-hero--image-only .page-hero__media img{
    -webkit-mask-image:
      linear-gradient(to right, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%),
      linear-gradient(to bottom, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%);
            mask-image:
      linear-gradient(to right, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%),
      linear-gradient(to bottom, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%);
  }
}


/* v15.6.0 unified subpage hero */
.subpage-hero{position:relative;background:linear-gradient(135deg,var(--primary) 0%,var(--primary2) 100%);padding:1.05rem 0 2.15rem;overflow:hidden}
.subpage-hero::before{content:"";position:absolute;inset:auto auto -120px -80px;width:320px;height:320px;border-radius:999px;background:radial-gradient(circle,rgba(255,255,255,.16) 0%,rgba(255,255,255,0) 70%);pointer-events:none}
.subpage-hero::after{content:"";position:absolute;top:-100px;right:-80px;width:280px;height:280px;border-radius:999px;background:radial-gradient(circle,rgba(255,255,255,.10) 0%,rgba(255,255,255,0) 72%);pointer-events:none}
.subpage-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:28px;align-items:center}
.subpage-hero__content{color:#fff;padding:1.2rem 0 .8rem}
.subpage-hero__content .section-eyebrow{margin-bottom:.95rem;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.18);box-shadow:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.subpage-hero__content h1{margin:0;max-width:760px;color:#fff;font-size:clamp(2rem,4vw,3.35rem);line-height:1.03;letter-spacing:-.028em}
.subpage-hero__intro{margin:1rem 0 0;max-width:760px;color:rgba(255,255,255,.92);font-size:1.06rem;line-height:1.7}
.subpage-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.35rem}
.subpage-hero__actions .btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.85rem 1.2rem;border-radius:999px;font-weight:700;text-decoration:none;transition:transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease}
.subpage-hero__actions .btn:hover{transform:translateY(-1px)}
.subpage-hero__actions .btn-primary{background:#fff;color:#123355;box-shadow:0 16px 36px rgba(0,0,0,.18)}
.subpage-hero__actions .btn-primary:hover{color:#123355;background:#fff}
.subpage-hero__actions .btn-secondary{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.34)}
.subpage-hero__actions .btn-secondary:hover{background:rgba(255,255,255,.08);color:#fff}
.subpage-hero__visual{position:relative;min-height:250px;height:clamp(250px,29vw,350px);border-radius:28px;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,.06) 100%);box-shadow:0 28px 56px rgba(2,14,29,.22);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background-size:cover;background-position:center center}
.subpage-hero__visual img{width:100%;height:100%;display:block;object-fit:cover;object-position:center center}
.subpage-hero__visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,24,40,.04) 0%,rgba(7,24,40,.16) 100%);pointer-events:none}
.subpage-hero--no-image .subpage-hero__visual{display:flex;align-items:center;justify-content:center}
.subpage-hero__placeholder{width:100%;height:100%;background:
  radial-gradient(circle at 24% 26%,rgba(255,255,255,.22) 0 7px,transparent 8px),
  radial-gradient(circle at 73% 36%,rgba(255,255,255,.18) 0 9px,transparent 10px),
  radial-gradient(circle at 58% 72%,rgba(255,255,255,.15) 0 11px,transparent 12px),
  linear-gradient(135deg,rgba(255,255,255,.20) 0%,rgba(255,255,255,.08) 48%,rgba(255,255,255,.03) 100%)
}
.subpage-hero--contact .subpage-hero__visual,.subpage-hero--default .subpage-hero__visual,.subpage-hero--service .subpage-hero__visual{max-width:100%}
@media (max-width:1080px){.subpage-hero__grid{grid-template-columns:minmax(0,1fr) minmax(280px,.82fr);gap:22px}.subpage-hero__content h1{font-size:clamp(1.9rem,4.7vw,2.95rem)}.subpage-hero__intro{font-size:1rem;line-height:1.62}.subpage-hero__visual{height:clamp(220px,31vw,300px)}}
@media (max-width:820px){.subpage-hero{padding:.9rem 0 1.5rem}.subpage-hero__grid{grid-template-columns:1fr;gap:16px}.subpage-hero__content{padding:.7rem 0 .2rem}.subpage-hero__visual{order:-1;height:clamp(210px,54vw,290px);border-radius:22px}.subpage-hero__content h1{font-size:clamp(1.8rem,7vw,2.45rem)}.subpage-hero__intro{margin-top:.8rem}}
@media (max-width:560px){.subpage-hero{padding:.75rem 0 1.2rem}.subpage-hero__visual{height:56vw;min-height:190px;border-radius:18px}.subpage-hero__actions{gap:10px}.subpage-hero__actions .btn{width:100%}}



/* Proof cards full-width text + service icon edge alignment v15.7.6 */


/* Proof cards full-width override v15.7.7 */
.proof-card.card strong,
.proof-card.card p,
.proof-card.card .card-link__hint{
    max-width:none !important;
}
.proof-card.card{
    padding-right:1.35rem;
}
@media (max-width:980px){
    .proof-card.card{
        padding-right:1.15rem;
    }
}
@media (max-width:760px){
    .proof-card.card{
        padding-right:1rem;
    }
}


/* ACF content sections v15.8.1 */
.page-sections{display:grid;gap:1.6rem}
.content-section{background:linear-gradient(180deg,#ffffff 0%,#fbfcfe 100%);border:1px solid rgba(15,42,68,.08);border-radius:22px;padding:1.5rem 1.45rem;box-shadow:0 10px 24px rgba(15,42,68,.05)}
.content-section--highlight{background:linear-gradient(180deg,#f8fbff 0%,#eef4fb 100%);border-color:rgba(15,42,68,.12)}
.content-section--compact{padding:1.15rem 1.2rem}
.content-section h2{margin:0 0 .8rem;font-size:clamp(1.3rem,2.1vw,1.8rem);line-height:1.15;color:#122b46}
.content-section__prose > :first-child{margin-top:0}
.content-section__prose > :last-child{margin-bottom:0}
.content-section__prose p,.content-section__prose li{font-size:1.06rem;line-height:1.7}
.content-section__prose ul,.content-section__prose ol{padding-left:1.2rem}
.content-section__prose a{text-decoration:underline;text-underline-offset:2px}
.page-contact__main .page-sections,.service-page__main .page-sections,.page-generic-content .page-sections{margin-top:0}
html[data-theme="dark"] .content-section{background:linear-gradient(180deg,#172030 0%,#111927 100%);border-color:rgba(255,255,255,.08);box-shadow:none}
html[data-theme="dark"] .content-section--highlight{background:linear-gradient(180deg,#1b2a41 0%,#152238 100%)}
html[data-theme="dark"] .content-section h2{color:#f4f7fb}
@media (max-width:760px){.page-sections{gap:1rem}.content-section{padding:1.15rem 1rem;border-radius:18px}.content-section h2{font-size:1.24rem}}


/* Final merged ACF + visual polish v15.8.2 */


/* Mobile service card watermark fix v15.8.3
   Desktop remains unchanged. On mobile the watermark is pushed into the edge
   and the text is allowed to use more card width. */
@media (max-width: 760px){
  .services-grid .card,
  .it-grid .card{
    overflow:hidden;
  }

  .services-grid .card .card-icon,
  .it-grid .card .card-icon{
    top:-26px !important;
    right:-30px !important;
    width:104px !important;
    height:104px !important;
    padding:8px 8px 0 0 !important;
    opacity:1 !important;
  }

  .services-grid .card .card-icon img,
  .it-grid .card .card-icon img{
    max-width:82px !important;
    max-height:82px !important;
    opacity:.095 !important;
  }

  .services-grid .card strong,
  .services-grid .card p,
  .services-grid .card .card-link__hint,
  .it-grid .card strong,
  .it-grid .card p,
  .it-grid .card .card-link__hint{
    max-width:calc(100% - 46px) !important;
  }

  .services-grid .card:hover .card-icon img,
  .services-grid .card:focus-within .card-icon img,
  .it-grid .card:hover .card-icon img,
  .it-grid .card:focus-within .card-icon img{
    opacity:.18 !important;
  }
}

@media (max-width: 420px){
  .services-grid .card .card-icon,
  .it-grid .card .card-icon{
    top:-30px !important;
    right:-34px !important;
    width:98px !important;
    height:98px !important;
  }

  .services-grid .card .card-icon img,
  .it-grid .card .card-icon img{
    max-width:76px !important;
    max-height:76px !important;
  }

  .services-grid .card strong,
  .services-grid .card p,
  .services-grid .card .card-link__hint,
  .it-grid .card strong,
  .it-grid .card p,
  .it-grid .card .card-link__hint{
    max-width:calc(100% - 34px) !important;
  }
}


/* Custom logo + mobile icon fix v15.8.4 */


/* Final balanced mobile service card watermark layout v15.8.6
   Ikona ostane lepo umeščena v kartico, besedilni blok pa je namensko ožji,
   da se naslov/opis na mobilni verziji ne prekrivata z watermark ikono. */
@media (max-width:760px){
  .services-grid .card,
  .it-grid .card{
    position:relative;
    overflow:hidden;
    padding:1.15rem 1rem 1.08rem 1.1rem !important;
  }

  .services-grid .card .card-icon,
  .it-grid .card .card-icon{
    top:12px !important;
    right:12px !important;
    width:106px !important;
    height:106px !important;
    padding:0 !important;
    display:flex !important;
    align-items:flex-start !important;
    justify-content:flex-end !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    pointer-events:none !important;
  }

  .services-grid .card .card-icon img,
  .it-grid .card .card-icon img{
    max-width:88px !important;
    max-height:88px !important;
    opacity:.11 !important;
    filter:grayscale(1) saturate(0) contrast(1.05) !important;
  }

  .services-grid .card strong,
  .services-grid .card p,
  .services-grid .card .card-link__hint,
  .it-grid .card strong,
  .it-grid .card p,
  .it-grid .card .card-link__hint{
    max-width:calc(100% - 126px) !important;
  }

  .services-grid .card:hover .card-icon img,
  .services-grid .card:focus-within .card-icon img,
  .it-grid .card:hover .card-icon img,
  .it-grid .card:focus-within .card-icon img{
    opacity:.24 !important;
    filter:brightness(0) invert(1) saturate(0) contrast(1.05) !important;
  }
}

@media (max-width:420px){
  .services-grid .card .card-icon,
  .it-grid .card .card-icon{
    top:12px !important;
    right:10px !important;
    width:96px !important;
    height:96px !important;
  }

  .services-grid .card .card-icon img,
  .it-grid .card .card-icon img{
    max-width:80px !important;
    max-height:80px !important;
  }

  .services-grid .card strong,
  .services-grid .card p,
  .services-grid .card .card-link__hint,
  .it-grid .card strong,
  .it-grid .card p,
  .it-grid .card .card-link__hint{
    max-width:calc(100% - 112px) !important;
  }
}


/* v15.8.8 SVG direct output + balanced card icon alignment */


/* v15.8.11 accessibility iframe title + hero.jpg fallback */


/* v15.8.13 hero centering + iframe title fix from v15.8.8 base */
.hero-media{margin-left:auto;margin-right:auto;}
.hero-media img{object-position:center center;}


/* v15.8.16 service card clickable + icon rebalance */
.card.card--link{
  color:inherit;
  text-decoration:none;
  cursor:pointer;
}
.card.card--link:focus-visible{
  outline:3px solid rgba(212,175,55,.85);
  outline-offset:4px;
}
.services-grid .card .card-icon,
.it-grid .card .card-icon{
  top:8px !important;
  right:-2px !important;
  width:126px !important;
  height:126px !important;
  padding:0 !important;
  align-items:center !important;
  justify-content:center !important;
  pointer-events:none !important;
}
.services-grid .card .card-icon img,
.services-grid .card .card-icon svg,
.it-grid .card .card-icon img,
.it-grid .card .card-icon svg{
  max-width:92px !important;
  max-height:92px !important;
}
.services-grid .card strong,
.services-grid .card p,
.services-grid .card .card-link__hint,
.it-grid .card strong,
.it-grid .card p,
.it-grid .card .card-link__hint{
  max-width:calc(100% - 104px) !important;
}
@media (max-width:760px){
  .services-grid .card .card-icon,
  .it-grid .card .card-icon{
    top:10px !important;
    right:6px !important;
    width:96px !important;
    height:96px !important;
  }
  .services-grid .card .card-icon img,
  .services-grid .card .card-icon svg,
  .it-grid .card .card-icon img,
  .it-grid .card .card-icon svg{
    max-width:78px !important;
    max-height:78px !important;
  }
  .services-grid .card strong,
  .services-grid .card p,
  .services-grid .card .card-link__hint,
  .it-grid .card strong,
  .it-grid .card p,
  .it-grid .card .card-link__hint{
    max-width:calc(100% - 104px) !important;
  }
}
@media (max-width:420px){
  .services-grid .card .card-icon,
  .it-grid .card .card-icon{
    top:10px !important;
    right:4px !important;
    width:90px !important;
    height:90px !important;
  }
  .services-grid .card .card-icon img,
  .services-grid .card .card-icon svg,
  .it-grid .card .card-icon img,
  .it-grid .card .card-icon svg{
    max-width:72px !important;
    max-height:72px !important;
  }
  .services-grid .card strong,
  .services-grid .card p,
  .services-grid .card .card-link__hint,
  .it-grid .card strong,
  .it-grid .card p,
  .it-grid .card .card-link__hint{
    max-width:calc(100% - 96px) !important;
  }
}


/* v15.8.17 card link behavior + IT icon spacing */
.services-grid .card.card--link,
.it-grid .card.card--link{
  text-decoration:none;
  color:inherit;
}
.services-grid .card.card--link strong,
.services-grid .card.card--link p,
.it-grid .card.card--link strong,
.it-grid .card.card--link p{
  text-decoration:none !important;
}
.services-grid .card .card-link__hint,
.it-grid .card .card-link__hint{
  text-decoration:none !important;
  position:relative;
  z-index:5;
}
.card-mobile-overlay{
  display:none;
}
@media (min-width:761px){
  .services-grid .card .card-mobile-overlay,
  .it-grid .card .card-mobile-overlay{
    display:none !important;
  }
  .services-grid .card .card-link__hint,
  .it-grid .card .card-link__hint{
    pointer-events:auto;
  }
}
@media (max-width:760px){
  .services-grid .card.card--link,
  .it-grid .card.card--link{
    cursor:pointer;
  }
  .services-grid .card .card-mobile-overlay,
  .it-grid .card .card-mobile-overlay{
    display:block;
    position:absolute;
    inset:0;
    z-index:4;
    text-indent:-9999px;
    overflow:hidden;
  }
  .services-grid .card .card-link__hint,
  .it-grid .card .card-link__hint{
    z-index:5;
  }
}


/* v15.8.18 restore desktop Preberi več + mobile full-card tap */
.services-grid .card.card--link,
.it-grid .card.card--link{
  text-decoration:none !important;
  color:inherit;
}
.services-grid .card.card--link strong,
.services-grid .card.card--link p,
.it-grid .card.card--link strong,
.it-grid .card.card--link p{
  text-decoration:none !important;
}
.services-grid .card .card-link__hint,
.it-grid .card .card-link__hint{
  display:inline-flex !important;
  align-items:center;
  gap:.45rem;
  width:max-content;
  margin-top:auto;
  text-decoration:none !important;
  position:relative;
  z-index:6;
  pointer-events:auto;
}
.services-grid .card .card-mobile-overlay,
.it-grid .card .card-mobile-overlay{
  display:none !important;
}
@media (max-width:760px){
  .services-grid .card .card-mobile-overlay,
  .it-grid .card .card-mobile-overlay{
    display:block !important;
    position:absolute;
    inset:0;
    z-index:4;
    text-indent:-9999px;
    overflow:hidden;
    background:transparent;
  }
  .services-grid .card .card-link__hint,
  .it-grid .card .card-link__hint{
    z-index:6;
  }
}


/* v15.8.20 dark mode service icon visibility fix
   In dark theme the watermark icons must remain visible before hover,
   without the pale square background behind them. */
html[data-theme="dark"] .services-grid .card .card-icon,
html[data-theme="dark"] .it-grid .card .card-icon{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  color:rgba(255,255,255,.92) !important;
}
html[data-theme="dark"] .services-grid .card .card-icon img,
html[data-theme="dark"] .services-grid .card .card-icon svg,
html[data-theme="dark"] .it-grid .card .card-icon img,
html[data-theme="dark"] .it-grid .card .card-icon svg{
  opacity:.24 !important;
  filter:brightness(0) invert(1) saturate(0) contrast(1.05) !important;
}
html[data-theme="dark"] .services-grid .card .card-icon svg *[stroke],
html[data-theme="dark"] .it-grid .card .card-icon svg *[stroke]{
  stroke:currentColor !important;
}
html[data-theme="dark"] .services-grid .card .card-icon svg *[fill]:not([fill="none"]),
html[data-theme="dark"] .it-grid .card .card-icon svg *[fill]:not([fill="none"]){
  fill:currentColor !important;
}
html[data-theme="dark"] .services-grid .card:hover .card-icon img,
html[data-theme="dark"] .services-grid .card:focus-within .card-icon img,
html[data-theme="dark"] .services-grid .card:hover .card-icon svg,
html[data-theme="dark"] .services-grid .card:focus-within .card-icon svg,
html[data-theme="dark"] .it-grid .card:hover .card-icon img,
html[data-theme="dark"] .it-grid .card:focus-within .card-icon img,
html[data-theme="dark"] .it-grid .card:hover .card-icon svg,
html[data-theme="dark"] .it-grid .card:focus-within .card-icon svg{
  opacity:.32 !important;
  filter:brightness(0) invert(1) saturate(0) contrast(1.08) !important;
}
@media (max-width:760px){
  html[data-theme="dark"] .services-grid .card .card-icon img,
  html[data-theme="dark"] .services-grid .card .card-icon svg,
  html[data-theme="dark"] .it-grid .card .card-icon img,
  html[data-theme="dark"] .it-grid .card .card-icon svg{
    opacity:.22 !important;
  }
}
