:root { --slate: #1c2b3a; --slate-mid: #2e4057; --slate-lt: #3d5570; --slate-pale: #eaf0f6; --gold: #c07d2a; --gold-br: #d4943a; --gold-pl: #e8c97a; --gold-bg: #fdf8f0; --body-bg: #f5f2ec; --alt-bg: #ede8e0; --white: #ffffff; --heading: #1a2530; --body-txt: #526070; --border: rgba(28,43,58,.12); --border-gold: rgba(192,125,42,.25); --sh-sm: 0 1px 3px rgba(0,0,0,.06), 0 2px 8px rgba(0,0,0,.04); --sh-md: 0 3px 16px rgba(0,0,0,.09), 0 1px 4px rgba(0,0,0,.05); --f-display: 'Georgia', 'Times New Roman', 'Palatino Linotype', serif; --f-body: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif; --f-cond: 'Arial Narrow', 'Franklin Gothic Medium', Impact, Arial, sans-serif; --fs-xs: 0.78rem; --fs-sm: 0.875rem; --fs-base: 1.0625rem; --fs-md: 1.125rem; --fs-lg: 1.25rem; --fs-xl: 1.5rem; --fs-2xl: 2rem; --fs-3xl: 2.75rem; --t: 0.22s ease; }
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html  { scroll-behavior:smooth; -webkit-font-smoothing:antialiased; }
body  { font-family:var(--f-body); font-size:var(--fs-base); line-height:1.78; color:var(--heading); background:var(--body-bg); overflow-x:hidden; }
img   { max-width:100%; display:block; }
a     { color:inherit; text-decoration:none; }
button{ cursor:pointer; font-family:inherit; }
ul,ol { list-style:none; }
.skip { position:absolute; left:-9999px; top:0; z-index:9999; background:var(--gold); color:var(--slate); padding:.5rem 1.2rem; font-weight:700; font-size:var(--fs-sm); }
.skip:focus { left:0; }
.img-ph { position:relative; display:block; width:100%; overflow:hidden; background:#c0cdd8; }
.img-ph::before { content:''; position:absolute; inset:0; background:repeating-linear-gradient(
45deg, rgba(28,43,58,.07) 0, rgba(28,43,58,.07) 1px, transparent 0, transparent 26px); pointer-events:none; }
.img-ph::after { content:attr(data-label); position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:var(--f-cond); font-size:var(--fs-xs); font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(28,43,58,.38); text-align:center; padding:1.2rem; line-height:1.5; pointer-events:none; }
.img-ph--hero { padding-top:56.25%; }
.img-ph--card { padding-top:66%; }
.img-ph--sq   { padding-top:100%; }
.img-ph img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; z-index:1; }
.img-ph:has(img)::before,
.img-ph:has(img)::after { display:none; }
figure img { display:block; width:100%; height:100%; object-fit:cover; }
figure { display:block; width:100%; overflow:hidden; }
.img-content { display:block; width:100%; height:480px; overflow:hidden; }
.img-content img { width:100%; height:100%; object-fit:cover; display:block; }
@media (max-width:860px) { .img-content { height:320px; }
 }
@media (max-width:540px) { .img-content { height:240px; }
 }
.img-wrap         { position:relative; }
.img-wrap-accent  { position:absolute; bottom:-1.3rem; right:-1.3rem; width:100px; height:100px; background:var(--gold); z-index:-1; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.container { max-width:1300px; margin:0 auto; padding:0 2.5rem; }
section    { padding:5.5rem 0; }
.bg-alt    { background:var(--alt-bg); }
.bg-white  { background:var(--white); }
.bg-gold   { background:var(--gold-bg); border-top:2px solid var(--border-gold); }
.bg-slate  { background:var(--slate); }
.tc        { text-align:center; }
.eyebrow { font-family:var(--f-cond); font-size:var(--fs-xs); font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--slate-mid); display:flex; align-items:center; gap:.75rem; margin-bottom:1rem; }
.eyebrow::before { content:''; display:block; width:28px; height:2px; background:var(--gold); flex-shrink:0; }
.eyebrow--c      { justify-content:center; }
.eyebrow--gold   { color:var(--gold); }
h2.ht { font-family:var(--f-display); font-size:clamp(1.85rem,3vw,2.75rem); font-weight:400; color:var(--heading); line-height:1.18; margin-bottom:1.1rem; }
h2.ht--light { color:var(--white); }
.lead     { font-size:var(--fs-base); line-height:1.82; color:var(--body-txt); max-width:600px; }
.bodytext { font-size:var(--fs-base); line-height:1.82; color:var(--body-txt); margin-bottom:1.1rem; }
.btn { display:inline-block; font-family:var(--f-cond); font-size:var(--fs-xs); font-weight:700; letter-spacing:.17em; text-transform:uppercase; padding:.95rem 2.3rem; border:none; cursor:pointer; line-height:1; transition:background var(--t), color var(--t), transform var(--t), box-shadow var(--t); }
.btn--gold   { background:var(--gold); color:var(--white); box-shadow:0 2px 10px rgba(192,125,42,.32); }
.btn--gold:hover   { background:var(--gold-br); transform:translateY(-2px); box-shadow:0 6px 18px rgba(192,125,42,.42); }
.btn--ghost  { background:transparent; color:rgba(255,255,255,.88); border:1.5px solid rgba(255,255,255,.38); }
.btn--ghost:hover  { border-color:var(--gold-pl); color:var(--gold-pl); }
.btn--slate  { background:var(--slate); color:var(--white); box-shadow:0 2px 10px rgba(28,43,58,.28); }
.btn--slate:hover  { background:var(--slate-mid); transform:translateY(-2px); }
.btn--outline{ background:transparent; color:var(--body-txt); border:1px solid var(--border); }
.btn--outline:hover{ border-color:var(--gold); color:var(--slate); }
#site-header { position:fixed; top:0; left:0; right:0; z-index:200; background:rgba(28,43,58,.97); backdrop-filter:blur(8px); border-bottom:1px solid var(--border-gold); transition:box-shadow var(--t); }
#site-header.scrolled { box-shadow:0 4px 24px rgba(0,0,0,.28); }
.header-inner { max-width:1340px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding:0 2rem; height:68px; gap:1rem; }
.logo { font-family:var(--f-cond); font-size:1.5rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--white); flex-shrink:0; }
.logo span { color:var(--gold-pl); }
#main-nav { display:flex; gap:0; align-items:center; flex:1; justify-content:center; }
#main-nav a { font-family:var(--f-cond); font-size:var(--fs-xs); font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:rgba(255,255,255,.6); padding:.55rem .9rem; position:relative; transition:color var(--t); white-space:nowrap; }
#main-nav a::after { content:''; position:absolute; bottom:0; left:.9rem; right:.9rem; height:1px; background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .25s; }
#main-nav a:hover, #main-nav a.active { color:var(--gold-pl); }
#main-nav a:hover::after, #main-nav a.active::after { transform:scaleX(1); }
.header-right  { display:flex; align-items:center; gap:1.2rem; flex-shrink:0; }
.lang-sw       { display:flex; align-items:center; gap:.38rem; font-family:var(--f-cond); font-size:var(--fs-xs); font-weight:700; letter-spacing:.12em; }
.lang-sw a     { color:rgba(255,255,255,.38); transition:color var(--t); }
.lang-sw a:hover, .lang-sw a.act { color:var(--gold-pl); }
.lang-sw .sep  { color:rgba(255,255,255,.16); font-size:.55rem; }
.hdr-phone     { font-size:var(--fs-xs); color:rgba(255,255,255,.44); transition:color var(--t); white-space:nowrap; }
.hdr-phone:hover { color:var(--gold-pl); }
.burger { display:none; flex-direction:column; gap:5px; background:none; border:none; padding:.4rem; min-width:34px; min-height:34px; justify-content:center; align-items:center; }
.burger span { display:block; width:22px; height:2px; background:rgba(255,255,255,.72); transition:transform .3s, opacity .3s; transform-origin:center; }
.burger[aria-expanded="true"] span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2) { opacity:0; }
.burger[aria-expanded="true"] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
#mobile-nav { display:none; flex-direction:column; position:fixed; top:68px; left:0; right:0; bottom:0; background:var(--slate); overflow-y:auto; z-index:190; padding:1.5rem 2rem 3rem; }
#mobile-nav.open { display:flex; }
#mobile-nav a { display:block; font-family:var(--f-cond); font-size:1.1rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.6); padding:1rem 0; border-bottom:1px solid rgba(255,255,255,.08); transition:color var(--t); }
#mobile-nav a:hover, #mobile-nav a.active { color:var(--gold-pl); }
.mob-lang { display:flex; gap:1.5rem; margin-top:2rem; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.1); }
.mob-lang a { font-family:var(--f-cond); font-size:.85rem; font-weight:700; letter-spacing:.13em; color:rgba(255,255,255,.4); border-bottom:none !important; }
.mob-lang a.act { color:var(--gold-pl); }
.mob-contact { margin-top:1.5rem; font-size:.9rem; color:rgba(255,255,255,.35); line-height:1.75; }
.mob-contact a { color:var(--gold-pl); font-weight:600; }
.hero { min-height:100vh; display:grid; grid-template-columns:1fr 1fr; overflow:hidden; position:relative; background:var(--slate); }
.hero::before { content:''; position:absolute; inset:0; z-index:1; background:radial-gradient(ellipse at 24% 62%, rgba(192,125,42,.1) 0%, transparent 58%); pointer-events:none; }
.hero-left { display:flex; flex-direction:column; justify-content:center; padding:10rem 4rem 6rem 6rem; position:relative; z-index:2; }
.hero-tag  { font-family:var(--f-cond); font-size:var(--fs-xs); font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); display:flex; align-items:center; gap:.75rem; margin-bottom:1.8rem; }
.hero-tag::before { content:''; display:block; width:32px; height:1px; background:var(--gold); }
.hero h1   { font-family:var(--f-display); font-size:clamp(2.4rem,4vw,3.8rem); font-weight:400; line-height:1.13; color:var(--white); margin-bottom:1.7rem; }
.hero h1 em{ font-style:normal; color:var(--gold-pl); }
.hero-desc { font-size:var(--fs-md); line-height:1.8; color:rgba(255,255,255,.6); max-width:430px; margin-bottom:2.7rem; }
.hero-cta  { display:flex; gap:1rem; flex-wrap:wrap; }
.hero-right { position:relative; overflow:hidden; }
.hero-slider  { position:absolute; inset:0; z-index:0; }
.hs-slide     { position:absolute; inset:0; opacity:0; transition:opacity 1.4s ease-in-out; }
.hs-slide.active { opacity:1; }
.hs-slide img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.07); transition:transform 7s ease-out; }
.hs-slide.active img { transform:scale(1); }
.hs-ph { position:absolute; inset:0; background:#1a2d42; }
.hs-ph::before { content:''; position:absolute; inset:0; background:repeating-linear-gradient(45deg,rgba(232,201,122,.05) 0,rgba(232,201,122,.05) 1px,transparent 0,transparent 32px); }
.hs-ph::after { content:attr(data-label); position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:var(--f-cond); font-size:var(--fs-xs); font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(232,201,122,.35); text-align:center; padding:2rem; line-height:1.5; }
.hero-overlay { position:absolute; inset:0; z-index:2; pointer-events:none; background: linear-gradient(to right, var(--slate) 0%, rgba(28,43,58,.3) 38%, transparent 65%),
linear-gradient(to top,   rgba(28,43,58,.72) 0%, transparent 42%); }
.hs-caption { position:absolute; bottom:5.2rem; left:2rem; z-index:5; font-family:var(--f-cond); font-size:var(--fs-xs); font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.48); transition:opacity .5s; }
.hs-dots    { position:absolute; bottom:1.9rem; left:50%; transform:translateX(-50%); z-index:5; display:flex; gap:.6rem; }
.hs-dot     { width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.28); border:none; padding:0; cursor:pointer; transition:background .4s, transform .4s; }
.hs-dot.active { background:var(--gold); transform:scale(1.45); }
.hs-dot:hover:not(.active) { background:rgba(255,255,255,.62); }
.hero-stats   { position:absolute; bottom:3rem; right:3rem; z-index:5; display:flex; flex-direction:column; gap:1.4rem; }
.stat         { text-align:right; }
.stat-num     { font-family:var(--f-display); font-size:2.3rem; font-weight:400; color:var(--gold-pl); line-height:1; }
.stat-label   { font-size:.67rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.42); margin-top:.28rem; }
.page-hero { background:var(--slate); padding:9rem 0 0; min-height:480px; display:flex; align-items:flex-end; position:relative; overflow:hidden; }
.page-hero-img { position:absolute; inset:0; z-index:0; }
.page-hero-img .img-ph,
.page-hero-img figure { position:absolute; inset:0; padding-top:0; height:100%; width:100%; margin:0; }
.page-hero-img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.page-hero-img::after { content:''; position:absolute; inset:0; z-index:1; background: linear-gradient(to bottom, rgba(28,43,58,.55) 0%, rgba(28,43,58,.45) 60%, rgba(28,43,58,.65) 100%),
linear-gradient(to right, rgba(28,43,58,.5) 0%, transparent 60%); }
.page-hero-content { position:relative; z-index:2; width:100%; padding-bottom:4.5rem; }
.page-hero h1 { font-family:var(--f-display); font-size:clamp(2.1rem,3.8vw,3.3rem); font-weight:400; color:var(--white); line-height:1.15; margin-bottom:1rem; text-shadow:0 2px 12px rgba(0,0,0,.3); }
.page-hero .lead { color:rgba(255,255,255,.72); text-shadow:0 1px 6px rgba(0,0,0,.25); }
.page-hero .eyebrow { text-shadow:0 1px 4px rgba(0,0,0,.2); }
.split { display:grid; grid-template-columns:1fr 1fr; gap:5.5rem; align-items:center; }
.card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:3.5rem; }
.svc-card  { background:var(--white); border:1px solid var(--border); padding:2.4rem 2.2rem; transition:box-shadow var(--t), transform var(--t), border-color var(--t); }
.svc-card:hover { box-shadow:var(--sh-md); transform:translateY(-3px); border-color:rgba(192,125,42,.3); }
.svc-icon  { font-size:1.2rem; margin-bottom:1.2rem; width:44px; height:44px; background:var(--slate-pale); display:flex; align-items:center; justify-content:center; color:var(--slate); }
.svc-card h3 { font-family:var(--f-cond); font-size:.95rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--heading); margin-bottom:.75rem; }
.svc-card p  { font-size:var(--fs-base); line-height:1.78; color:var(--body-txt); }
.process-band { background:var(--slate-mid); padding:5.5rem 0; position:relative; overflow:hidden; }
.process-band::before { content:''; position:absolute; top:-30%; right:-5%; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle, rgba(192,125,42,.1) 0%, transparent 70%); }
.process-band .eyebrow { color:var(--gold); }
.process-band .lead    { color:rgba(255,255,255,.55); }
.steps-grid { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid rgba(232,201,122,.18); margin-top:3.5rem; }
.step { padding:2.2rem 2rem; border-right:1px solid rgba(232,201,122,.14); }
.step:last-child { border-right:none; }
.step-num { font-family:var(--f-display); font-size:2.8rem; font-weight:400; color:rgba(232,201,122,.18); line-height:1; margin-bottom:.8rem; }
.step h4  { font-family:var(--f-cond); font-size:.82rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.82); margin-bottom:.6rem; }
.step p   { font-size:var(--fs-base); line-height:1.72; color:rgba(255,255,255,.46); }
.values-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5px; background:var(--border); margin-top:3.5rem; }
.value-card  { background:var(--alt-bg); padding:1.9rem 1.75rem; transition:background var(--t); }
.value-card:hover { background:var(--white); }
.value-num   { font-family:var(--f-display); font-size:2rem; font-weight:400; color:var(--gold); line-height:1; margin-bottom:.5rem; }
.value-card h4 { font-family:var(--f-cond); font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--heading); margin-bottom:.55rem; }
.value-card p  { font-size:var(--fs-base); line-height:1.67; color:var(--body-txt); }
.locations { display:flex; gap:2.5rem; flex-wrap:wrap; margin-top:2rem; }
.location  { border-left:2px solid var(--gold); padding-left:1rem; }
.loc-name  { font-family:var(--f-cond); font-size:.8rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--heading); margin-bottom:.18rem; }
.loc-det   { font-size:var(--fs-sm); color:var(--body-txt); }
.svc-detail { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--border); }
.sd-item    { padding:2.8rem 2.6rem; border-bottom:1px solid var(--border); border-right:1px solid var(--border); }
.sd-item:nth-child(even)      { border-right:none; }
.sd-item:nth-last-child(-n+2) { border-bottom:none; }
.sd-icon { font-size:1.5rem; color:var(--gold); margin-bottom:1.1rem; display:block; }
.sd-item h3 { font-family:var(--f-display); font-size:var(--fs-xl); font-weight:500; color:var(--heading); margin-bottom:.8rem; }
.sd-item p  { font-size:var(--fs-base); line-height:1.82; color:var(--body-txt); }
.sd-item ul { margin-top:.9rem; }
.sd-item ul li { font-size:var(--fs-base); color:var(--body-txt); padding:.22rem 0 .22rem 1rem; position:relative; }
.sd-item ul li::before { content:'–'; position:absolute; left:0; color:var(--gold); }
.partner-card { border:1px solid var(--border); background:var(--white); overflow:hidden; margin-bottom:2rem; transition:box-shadow var(--t); }
.partner-card:hover { box-shadow:var(--sh-md); }
.partner-head { background:var(--slate); padding:1.9rem 2.4rem; display:flex; align-items:center; gap:1.5rem; border-bottom:2px solid var(--gold); }
.partner-logo { width:52px; height:52px; flex-shrink:0; background:var(--gold); display:flex; align-items:center; justify-content:center; font-family:var(--f-cond); font-size:.6rem; font-weight:700; letter-spacing:.08em; color:var(--slate); text-align:center; line-height:1.2; }
.partner-head h3 { font-family:var(--f-display); font-size:var(--fs-xl); font-weight:400; color:var(--white); margin-bottom:.2rem; }
.partner-head span { font-size:var(--fs-xs); font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); }
.partner-body { padding:2.2rem 2.4rem; }
.partner-body > p { font-size:var(--fs-base); line-height:1.82; color:var(--body-txt); margin-bottom:1.8rem; }
.partner-tags { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.8rem; }
.p-tag { font-family:var(--f-cond); font-size:.67rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:.28rem .85rem; border:1px solid var(--border); color:var(--body-txt); background:var(--alt-bg); }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); margin-top:1.8rem; }
.prod-tile    { background:var(--alt-bg); transition:background var(--t); overflow:hidden; }
.prod-tile:hover { background:var(--white); }
.prod-tile-img { position:relative; width:100%; padding-top:70%; overflow:hidden; background:#c0cdd8; }
.prod-tile-img::before { content:''; position:absolute; inset:0; background:repeating-linear-gradient(45deg,rgba(28,43,58,.06) 0,rgba(28,43,58,.06) 1px,transparent 0,transparent 22px); }
.prod-tile-img::after { content:attr(data-label); position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:var(--f-cond); font-size:.65rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:rgba(28,43,58,.35); text-align:center; padding:.8rem; line-height:1.4; }
.prod-tile-img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; z-index:1; }
.prod-tile-img:has(img)::before,
.prod-tile-img:has(img)::after { display:none; }
.prod-tile-body { padding:1.4rem 1.2rem; }
.prod-icon { font-size:1.5rem; margin-bottom:.5rem; display:block; }
.prod-tile h4 { font-family:var(--f-cond); font-size:.8rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--heading); margin-bottom:.4rem; }
.prod-tile p  { font-size:var(--fs-sm); line-height:1.65; color:var(--body-txt); }
.partner-meta { display:flex; gap:2.5rem; flex-wrap:wrap; padding:1.4rem 0; border-top:1px solid rgba(0,0,0,.08); border-bottom:1px solid rgba(0,0,0,.08); margin:1.6rem 0 1.4rem; }
.pm-item { min-width:140px; }
.pm-label { font-family:var(--f-cond); font-size:.65rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--body-txt); margin-bottom:.22rem; }
.pm-value { font-size:var(--fs-sm); font-weight:700; color:var(--heading); }
.partner-link { font-family:var(--f-cond); font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); transition:color var(--t); }
.partner-link:hover { color:var(--gold-br); }
.placeholder-card { border:1px dashed rgba(192,125,42,.3); padding:3rem; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; min-height:190px; background:rgba(192,125,42,.025); }
.placeholder-card p { font-size:var(--fs-base); color:var(--body-txt); line-height:1.75; max-width:380px; margin-top:.7rem; }
.cta-band { background:var(--slate); border:1px solid var(--border-gold); padding:2.8rem 3rem; display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; margin-top:4rem; }
.cta-band p { font-size:var(--fs-md); line-height:1.75; color:rgba(255,255,255,.55); max-width:550px; margin:0; }
.cta-band strong { color:var(--gold-pl); font-weight:600; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:start; }
.form-group   { margin-bottom:1.35rem; }
.form-group label { display:block; font-family:var(--f-cond); font-size:var(--fs-xs); font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--body-txt); margin-bottom:.45rem; }
.form-group input,
.form-group select,
.form-group textarea { width:100%; background:var(--white); border:1px solid rgba(28,43,58,.15); padding:.87rem 1rem; font-family:var(--f-body); font-size:var(--fs-base); color:var(--heading); outline:none; appearance:none; transition:border-color var(--t); border-radius:0; }
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus { border-color:var(--gold); }
.form-group textarea { resize:vertical; min-height:132px; }
.form-row  { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.hp-field  { position:absolute; left:-9999px; opacity:0; pointer-events:none; }
.form-note { font-size:var(--fs-sm); color:var(--body-txt); margin-bottom:1.2rem; line-height:1.65; }
.form-note a { color:var(--gold); }
.form-msg  { display:none; margin-top:1rem; padding:1rem; font-size:var(--fs-sm); line-height:1.6; }
.form-msg--ok  { background:rgba(192,125,42,.12); border-left:3px solid var(--gold); color:var(--heading); font-weight:700; }
.form-msg--err { background:rgba(180,0,0,.07); border-left:3px solid #c00; color:#700; }
.contact-info h3 { font-family:var(--f-display); font-size:var(--fs-2xl); font-weight:400; color:var(--heading); margin-bottom:1rem; }
.contact-info > p { font-size:var(--fs-base); line-height:1.82; color:var(--body-txt); margin-bottom:2rem; }
.contact-details  { display:flex; flex-direction:column; gap:1.15rem; }
.contact-row { display:flex; gap:1rem; align-items:flex-start; }
.contact-icon { width:35px; height:35px; flex-shrink:0; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; color:var(--gold); font-size:.87rem; }
.contact-text { font-size:var(--fs-base); line-height:1.6; color:var(--heading); }
.contact-text strong { display:block; font-family:var(--f-cond); font-size:var(--fs-xs); font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--body-txt); margin-bottom:.18rem; }
.contact-text a:hover { color:var(--gold); }
.note-box  { margin-top:2.2rem; padding:1.6rem; background:var(--alt-bg); border-left:3px solid var(--gold); }
.note-box p{ font-size:var(--fs-sm); line-height:1.78; color:var(--body-txt); margin:0; }
.note-box strong { font-weight:700; color:var(--heading); }
.legal-wrap { max-width:800px; padding-top:1rem; }
.legal-wrap h2 { font-family:var(--f-display); font-size:var(--fs-xl); font-weight:500; color:var(--heading); margin:2.2rem 0 .75rem; }
.legal-wrap h3 { font-family:var(--f-cond); font-size:.85rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--heading); margin:1.5rem 0 .55rem; }
.legal-wrap p  { font-size:var(--fs-base); line-height:1.82; color:var(--body-txt); margin-bottom:.95rem; }
.legal-wrap ul { padding-left:1.3rem; list-style:disc; margin-bottom:.95rem; }
.legal-wrap ul li { font-size:var(--fs-base); line-height:1.78; color:var(--body-txt); margin-bottom:.32rem; }
.legal-wrap a  { color:var(--gold); }
footer { background:var(--slate); border-top:2px solid var(--border-gold); padding:3.5rem 0 2rem; }
.footer-inner { max-width:1300px; margin:0 auto; padding:0 2.5rem; display:grid; grid-template-columns:2fr 1fr 1fr 1.5fr; gap:3rem; margin-bottom:2.5rem; }
.footer-logo  { font-family:var(--f-cond); font-size:1.22rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--white); display:block; margin-bottom:.9rem; }
.footer-logo span { color:var(--gold-pl); }
.footer-brand p   { font-size:var(--fs-sm); line-height:1.72; color:rgba(255,255,255,.36); max-width:240px; }
.footer-col h5 { font-family:var(--f-cond); font-size:var(--fs-xs); font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin-bottom:1rem; }
.footer-col a  { display:block; font-size:var(--fs-sm); color:rgba(255,255,255,.42); margin-bottom:.5rem; transition:color var(--t); }
.footer-col a:hover { color:rgba(255,255,255,.82); }
.footer-col a.legal { margin-top:.8rem; color:rgba(255,255,255,.24); font-size:.77rem; }
.footer-col a.legal:hover { color:rgba(255,255,255,.55); }
.footer-col p  { font-size:var(--fs-sm); color:rgba(255,255,255,.4); line-height:1.72; }
.footer-col p a{ color:rgba(255,255,255,.4); }
.footer-col p a:hover { color:var(--gold-pl); }
.footer-contact-block { display:flex; flex-direction:column; gap:0; }
.footer-contact-block a { display:block !important; font-size:var(--fs-sm); color:rgba(255,255,255,.42); margin-bottom:0 !important; padding:0; line-height:1.9; transition:color var(--t); }
.footer-contact-block a:hover { color:rgba(255,255,255,.82); }
.footer-addr { display:block; margin-top:.75rem; font-size:var(--fs-sm); color:rgba(255,255,255,.42); line-height:1.9; }
.footer-bottom { max-width:1300px; margin:0 auto; padding:1.5rem 2.5rem 0; border-top:1px solid rgba(255,255,255,.08); }
.footer-bottom p { font-size:.75rem; color:rgba(255,255,255,.26); }
@keyframes fadeUp { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:translateY(0)} }
.fade-up   { animation:fadeUp .55s ease both; }
.d1 { animation-delay:.1s; }
.d2 { animation-delay:.22s; }
.d3 { animation-delay:.34s; }
@media (max-width:1100px) { .footer-inner  { grid-template-columns:1fr 1fr; gap:2.5rem; }
.values-grid   { grid-template-columns:1fr 1fr; }
#main-nav a    { padding:.55rem .7rem; font-size:.72rem; }
.hero-left     { padding:9rem 3rem 5rem 4rem; }
 }
@media (max-width:860px) { #main-nav    { display:none !important; }
.hdr-phone   { display:none; }
.burger      { display:flex; }
.hero        { grid-template-columns:1fr; }
.hero-right  { display:none; }
.hero-left   { padding:8rem 1.8rem 4rem; }
.split         { grid-template-columns:1fr; gap:3rem; }
.contact-grid  { grid-template-columns:1fr; gap:3rem; }
.card-grid     { grid-template-columns:1fr; gap:1rem; }
.steps-grid    { grid-template-columns:1fr; }
.step          { border-right:none; border-bottom:1px solid rgba(232,201,122,.14); }
.step:last-child{ border-bottom:none; }
.svc-detail    { grid-template-columns:1fr; }
.sd-item       { border-right:none; }
.sd-item:nth-last-child(-n+2) { border-bottom:1px solid var(--border); }
.sd-item:last-child           { border-bottom:none; }
.product-grid  { grid-template-columns:1fr 1fr; }
.partner-meta  { flex-direction:column; gap:1rem; }
.cta-band      { flex-direction:column; }
.form-row      { grid-template-columns:1fr; }
.page-hero-img { display:none; }
.values-grid   { grid-template-columns:1fr 1fr; }
.footer-inner  { grid-template-columns:1fr; gap:1.8rem; padding:0 1.5rem; }
.footer-bottom { padding:1.5rem 1.5rem 0; }
.container     { padding:0 1.5rem; }
 }
@media (max-width:540px) { .hero-left    { padding:7rem 1.3rem 3.5rem; }
.hero h1      { font-size:2.3rem; }
.hero-cta     { flex-direction:column; }
section       { padding:3.5rem 0; }
.product-grid { grid-template-columns:1fr; }
.values-grid  { grid-template-columns:1fr; }
 }
.matomo-optout-wrap { margin:1.5rem 0; padding:1.4rem 1.6rem; background:var(--alt-bg); border-left:3px solid var(--gold); }
.matomo-optout-wrap #matomo-opt-out { font-size:var(--fs-sm); line-height:1.72; color:var(--body-txt); }