/* ==========================================================================
   CodeHubMarket design system
   Sized for comfortable reading at 100% browser zoom.
   ========================================================================== */
:root{
 --blue:#2358ed;--blue-dark:#1a45c4;--blue-soft:#eef3ff;--blue-line:#d6e1ff;
 --violet:#6d5ae6;--violet-soft:#f1efff;--green:#1f9d6b;--green-soft:#e8f6ef;
 --navy:#0f1b33;--text:#4f5d74;--muted:#6b778c;--line:#e3e8ef;--line-strong:#cfd7e3;
 --soft:#f5f7fb;--cream:#faf9f6;--white:#fff;
 --radius:18px;--radius-sm:12px;--radius-xs:9px;
 --shadow-sm:0 2px 8px rgba(15,27,51,.05);
 --shadow:0 14px 40px rgba(15,27,51,.08);
 --shadow-lg:0 30px 70px rgba(15,27,51,.14);
 --header-h:84px;
 --font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans Arabic",Tahoma,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}
body{margin:0;color:var(--navy);background:var(--white);font-family:var(--font);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
button,input,textarea,select{font:inherit;color:inherit}
button,a,input,textarea,select{touch-action:manipulation}
button{cursor:pointer}
img,svg{max-width:100%}
h1,h2,h3{line-height:1.1;letter-spacing:-.03em;margin:0 0 18px;font-weight:700;color:var(--navy)}
h1{font-size:clamp(2.6rem,5vw,4.4rem)}
h2{font-size:clamp(2rem,3.6vw,3rem)}
h3{font-size:1.3rem;letter-spacing:-.015em}
p{color:var(--text);margin:0 0 20px}
strong{color:var(--navy)}
.container{width:min(1240px,calc(100% - 64px));margin-inline:auto}
.narrow{max-width:880px}
.section{padding-block:104px}
.soft{background:var(--soft)}
.lead{font-size:1.25rem;line-height:1.7;color:var(--text)}
.muted{font-size:.9rem;color:var(--muted)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;font-size:.8rem;letter-spacing:.14em;color:var(--blue);font-weight:750;margin-bottom:16px}
.skip{position:absolute;top:-100px;inset-inline-start:20px;z-index:200;background:var(--white);padding:12px 18px;border-radius:var(--radius-xs);box-shadow:var(--shadow)}
.skip:focus{top:12px}
:focus-visible{outline:3px solid #6f9bff;outline-offset:3px;border-radius:6px}
[hidden]{display:none!important}

/* ---------- Buttons & links ---------- */
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--blue);border:1.5px solid var(--blue);color:#fff;padding:15px 28px;border-radius:var(--radius-sm);font-size:1rem;font-weight:650;line-height:1.3;box-shadow:0 6px 16px rgba(35,88,237,.22);transition:transform .2s,box-shadow .2s,background .2s,color .2s;text-decoration:none;white-space:nowrap}
.button:hover{transform:translateY(-2px);background:var(--blue-dark);border-color:var(--blue-dark);box-shadow:0 12px 26px rgba(35,88,237,.3);text-decoration:none}
.button span{font-size:1.1em;line-height:1;transition:transform .2s}
.button:hover span{transform:translateX(3px)}
html[dir=rtl] .button:hover span{transform:translateX(-3px)}
.button.outline{background:var(--white);color:var(--blue);border-color:var(--blue-line);box-shadow:none}
.button.outline:hover{background:var(--blue-soft);border-color:var(--blue)}
.button.white{background:#fff;border-color:#fff;color:var(--blue);box-shadow:0 10px 24px rgba(0,0,0,.15)}
.button.white:hover{background:#f0f4ff}
.button.small{padding:11px 20px;font-size:.94rem}
.text-link{display:inline-flex;align-items:center;gap:8px;font-weight:650;font-size:.97rem}
.text-link span{transition:transform .2s}
.text-link:hover span{transform:translate(2px,-2px)}
.actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}

/* ---------- Header & navigation ---------- */
/* picture{} is used only to offer WebP; display:contents keeps it out of layout. */
picture{display:contents}
.header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.88);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid transparent;transition:border-color .25s,box-shadow .25s,background .25s}
.header.scrolled{background:rgba(255,255,255,.96);border-bottom-color:var(--line);box-shadow:0 6px 24px rgba(15,27,51,.06)}
.nav{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:28px;position:relative}
.brand{display:block;width:200px;flex-shrink:0}
.brand img{width:100%;height:auto;display:block}
.nav>nav{display:flex;align-items:center;justify-content:space-between;flex:1;gap:24px}
.nav-links{position:relative;display:flex;align-items:center;gap:34px;margin-inline:auto}
.nav-link{position:relative;display:block;padding:10px 0;color:var(--text);font-size:1rem;font-weight:600;white-space:nowrap;transition:color .2s}
.nav-link::after{content:'';position:absolute;left:0;right:0;bottom:2px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--blue),var(--violet));transform:scaleX(0);transition:transform .25s ease,opacity .25s;opacity:.35}
.nav-link:hover{color:var(--navy);text-decoration:none}
.nav-link:hover::after{transform:scaleX(1)}
.nav-link.active{color:var(--blue)}
.nav-link.active::after{transform:scaleX(1);opacity:1}
.nav-actions{display:flex;align-items:center;gap:14px}
.language-link{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;color:var(--navy);font-size:.95rem;font-weight:600;white-space:nowrap;border:1px solid var(--line);transition:border-color .2s,background .2s}
.language-link svg{width:18px;height:18px;color:var(--muted)}
.language-link:hover{text-decoration:none;border-color:var(--blue-line);background:var(--blue-soft)}
.nav-cta{box-shadow:0 6px 16px rgba(35,88,237,.22)}
.menu-toggle{display:none;width:48px;height:48px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--white);align-items:center;justify-content:center;padding:0}
.menu-icon{position:relative;width:20px;height:14px;display:block}
.menu-icon i{position:absolute;left:0;width:100%;height:2px;border-radius:2px;background:var(--navy);transition:transform .25s,opacity .2s,top .25s}
.menu-icon i:nth-child(1){top:0}.menu-icon i:nth-child(2){top:6px}.menu-icon i:nth-child(3){top:12px}
.menu-toggle[aria-expanded=true] .menu-icon i:nth-child(1){top:6px;transform:rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-icon i:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true] .menu-icon i:nth-child(3){top:6px;transform:rotate(-45deg)}

/* Services dropdown */
.nav-item{display:flex;align-items:center}
.has-menu .nav-link{padding-inline-end:0}
.nav-item.active .submenu-toggle{color:var(--blue)}
.submenu-toggle{display:grid;place-items:center;width:26px;height:26px;margin-inline-start:4px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);transition:background .2s,color .2s}
.submenu-toggle svg{width:16px;height:16px;transition:transform .25s}
.submenu-toggle:hover{background:var(--soft);color:var(--navy)}
.has-menu:hover .submenu-toggle svg,.has-menu.open .submenu-toggle svg{transform:rotate(180deg)}
.has-menu:hover .submenu-toggle,.has-menu.open .submenu-toggle{color:var(--blue)}
.mega-menu{position:absolute;top:calc(100% + 18px);left:50%;z-index:70;width:min(720px,calc(100vw - 48px));padding:14px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 60px rgba(15,27,51,.16);opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:opacity .2s,transform .2s,visibility .2s}
.mega-menu::before{content:'';position:absolute;left:0;right:0;top:-18px;height:18px}
.has-menu:hover .mega-menu,.has-menu.open .mega-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.mega-link{display:flex;align-items:flex-start;gap:14px;padding:14px;border-radius:14px;color:var(--navy);transition:background .2s}
.mega-link:hover{background:var(--soft);text-decoration:none}
.mega-link .art-symbol{flex-shrink:0;width:44px;height:44px;border-radius:12px}
.mega-link .art-symbol svg{width:22px;height:22px}
.mega-link:nth-child(3n+2) .art-symbol{background:var(--violet-soft);color:var(--violet)}
.mega-link:nth-child(3n) .art-symbol{background:var(--green-soft);color:var(--green)}
.mega-link:hover .art-symbol{transform:none}
.mega-link strong{display:block;font-size:1rem;margin-bottom:2px}
.mega-link:hover strong{color:var(--blue)}
.mega-link small{display:block;font-size:.88rem;line-height:1.5;color:var(--text)}
/* ---------- Notices ---------- */
.notice{background:var(--green-soft);color:#14633c;border:1px solid #c5e8d6;border-radius:var(--radius-sm);padding:16px 20px;margin-block:22px;font-weight:550}
.error{background:#fff1f1;color:#a12a2a;border:1px solid #f6d0d0;padding:13px 16px;border-radius:var(--radius-xs);font-size:.95rem}

/* ---------- Home hero ---------- */
.home-hero{position:relative;overflow:hidden;background:radial-gradient(900px 500px at 85% 20%,#e4ecff 0,transparent 60%),radial-gradient(700px 400px at 0% 100%,#f1efff 0,transparent 60%),var(--cream)}
.home-hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:72px;align-items:center;min-height:640px;padding-block:72px 48px}
.availability{display:inline-flex;align-items:center;gap:10px;font-size:.8rem;font-weight:750;letter-spacing:.14em;color:var(--navy);background:var(--white);border:1px solid var(--line);padding:8px 16px;border-radius:999px;margin-bottom:28px;box-shadow:var(--shadow-sm)}
.availability i,.status-dot{flex-shrink:0;width:8px;height:8px;display:inline-block;border-radius:50%;background:#2fb47c;box-shadow:0 0 0 4px rgba(47,180,124,.16)}
.home-hero-grid h1,.home-hero-grid h2{font-size:clamp(2.8rem,5vw,4.5rem);line-height:1.04;letter-spacing:-.045em;margin-bottom:26px;max-width:680px}
.home-hero-grid h1 em,.home-hero-grid h2 em{font-style:normal;background:linear-gradient(100deg,var(--blue),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}
.home-hero-grid .lead{max-width:560px;margin-bottom:36px}
.hero-secondary{display:inline-flex;align-items:center;gap:8px;font-size:1rem;color:var(--navy);font-weight:650;padding:15px 8px}
.hero-secondary span{transition:transform .2s}
.hero-secondary:hover span{transform:translateX(3px)}
.hero-promises{display:flex;flex-wrap:wrap;gap:12px 26px;font-size:.95rem;color:var(--text);margin-top:34px}
.hero-promises span{display:inline-flex;align-items:center;gap:6px}

/* Hero slider */
.hero-slides{display:grid}
.slide{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s}
.slide.current{opacity:1;visibility:visible}
.slide .hero-copy>*{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .7s cubic-bezier(.2,.75,.25,1),filter .6s ease}
.slide.current .hero-copy>*{opacity:1;transform:none}
.slide.current .hero-copy>:nth-child(2){transition-delay:.08s}
.slide.current .hero-copy>:nth-child(3){transition-delay:.16s}
.slide.current .hero-copy>:nth-child(4){transition-delay:.24s}
.slide.current .hero-copy>:nth-child(5){transition-delay:.32s}
.slide .studio-visual,.slide .hero-mock{opacity:0;transform:translateX(24px) scale(.98);transition:opacity .8s ease .12s,transform .9s cubic-bezier(.2,.75,.25,1) .12s,filter .8s ease .12s}
.slide.current .studio-visual,.slide.current .hero-mock{opacity:1;transform:none}
.hero-mock{position:relative;min-width:0;padding-block:52px 40px;isolation:isolate;direction:ltr}
.hero-mock .mock-window{max-width:none;height:330px;border-bottom:1px solid #d9e1f0;border-radius:16px;box-shadow:var(--shadow-lg);transform:rotate(-2deg)}
.hero-mock .mock-side{width:110px}
.hero-mock .mock-stats span{height:46px}
.hero-mock .mock-lines{font-size:.95rem;line-height:2.15;padding:20px 22px}
.hero-chip{position:absolute;z-index:2;display:flex;align-items:center;gap:12px;padding:12px 18px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.hero-chip>span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--blue-soft);color:var(--blue);font-weight:700;font-size:.95rem}
.hero-chip strong{display:block;font-size:.95rem}
.hero-chip small{display:block;font-size:.8rem;color:var(--muted)}
.hero-chip-top{top:12px;right:-14px;transform:rotate(4deg)}
.hero-chip-bottom{bottom:6px;left:-24px;transform:rotate(-2deg)}
.hero-chip-bottom>span{background:var(--green-soft);color:var(--green)}
.hero-controls{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:28px;padding-bottom:40px}
.hero-tabs{display:flex;gap:28px;flex:1;max-width:680px}
.hero-tabs button{flex:1;min-width:0;padding:6px 0;background:none;border:0;color:var(--muted);font-size:.97rem;font-weight:650;text-align:start;transition:color .2s}
.hero-tabs button:hover{color:var(--navy)}
.hero-tabs button[aria-pressed=true]{color:var(--navy)}
.hero-tab-label{display:flex;align-items:center;gap:8px;white-space:nowrap}
.hero-tab-label b{font-size:.78rem;color:#a3adbf}
.hero-tabs button[aria-pressed=true] .hero-tab-label b{color:var(--blue)}
.hero-tab-bar{display:block;height:3px;margin-top:10px;border-radius:3px;background:rgba(15,27,51,.1);overflow:hidden}
.hero-tab-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--violet));transform:scaleX(0);transform-origin:left center}
html[dir=rtl] .hero-tab-bar i{transform-origin:right center;background:linear-gradient(270deg,var(--blue),var(--violet))}
.hero-arrows{display:flex;gap:10px}
.hero-arrows button{display:grid;place-items:center;width:46px;height:46px;padding:0;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--navy);box-shadow:var(--shadow-sm);transition:background .2s,color .2s,border-color .2s,transform .2s}
.hero-arrows button:hover{background:var(--blue);border-color:var(--blue);color:#fff;transform:translateY(-2px)}
.hero-arrows svg{width:19px;height:19px}
html[dir=rtl] .hero-arrows .previous svg,html[dir=rtl] .hero-arrows .next svg{transform:scaleX(-1)}
.hero-arrows .icon-play,.is-paused .hero-arrows .icon-pause{display:none}
.is-paused .hero-arrows .icon-play{display:block}
.hero-arrows .pause svg{width:16px;height:16px}
/* Hero illustration (decorative) */
.studio-visual{position:relative;min-width:0;padding-block:44px 34px;isolation:isolate;direction:ltr}
.orbit{position:absolute;border:1px solid #dbe2f1;border-radius:50%;z-index:-1;inset:-35px -25px;transform:rotate(-20deg)}
.orbit-two{inset:20px -40px;transform:rotate(30deg)}
.visual-label{position:absolute;top:0;left:24px;font-size:.72rem;letter-spacing:.12em;font-weight:700;display:flex;align-items:center;gap:8px;color:var(--navy)}
.studio-window{border:1px solid #d4dbea;border-radius:16px;box-shadow:var(--shadow-lg);transform:rotate(-2.5deg);background:#fff;overflow:hidden}
.window-bar{height:42px;background:#f8fafc;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 16px;color:#8990a0;font-size:.75rem}
.window-bar i{display:inline-block;width:9px;height:9px;background:#cdd4e0;border-radius:50%;margin-right:5px}
.window-bar i:first-child{background:#f0a59a}.window-bar i:nth-child(2){background:#ecd08f}.window-bar i:last-child{background:#94d1b3}
.window-bar small{font-size:.72rem}
.canvas-content{padding:24px 30px 20px}
.canvas-nav{display:flex;align-items:center;justify-content:space-between;font-size:.8rem}
.canvas-nav b{letter-spacing:-.05em;font-size:1.15rem}
.canvas-nav b span{color:var(--blue)}
.canvas-nav>span{color:#a2a8b5}
.canvas-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10px;align-items:center;padding-block:36px 26px}
.tiny-label{font-size:.6rem;letter-spacing:.16em;font-weight:700;color:var(--muted)}
.canvas-grid h2{font-size:2.3rem;margin:12px 0 18px;line-height:1.02}
.canvas-grid h2 em{color:var(--blue);font-style:normal}
.canvas-button{display:inline-flex;gap:14px;justify-content:space-between;background:var(--blue);border-radius:6px;color:#fff;font-size:.72rem;padding:9px 13px;font-weight:600}
.abstract-art{height:210px;position:relative;display:flex;align-items:center;justify-content:center;transform:rotate(-18deg)}
.abstract-art div{position:absolute;width:118px;height:152px;background:linear-gradient(135deg,#7eacff,#2358ed 65%,#183ead);border-radius:60px 60px 18px 18px;box-shadow:12px 14px 22px rgba(28,70,168,.18);transform:skewY(-10deg)}
.abstract-art div:first-child{transform:translate(-30px,-20px) skewY(-10deg);background:linear-gradient(135deg,#d8d1ff,#9a8bf5)}
.abstract-art div:nth-child(2){transform:translate(-12px,-7px) skewY(-10deg);background:linear-gradient(135deg,#95b7ff,#4c7cec)}
.abstract-art div:nth-child(3){transform:translate(10px,10px) skewY(-10deg)}
.abstract-art>span{position:absolute;color:#eff3ff;font-size:72px;transform:translate(20px,10px)}
.canvas-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;color:#8990a0;font-size:.62rem;letter-spacing:.14em}
.code-note{position:absolute;bottom:0;left:-28px;display:flex;align-items:center;gap:14px;background:#fff;box-shadow:var(--shadow);border:1px solid var(--line);padding:14px 20px;border-radius:14px;transform:rotate(2deg)}
.code-note>span{background:var(--blue-soft);padding:8px 10px;color:var(--blue);border-radius:9px;font-weight:700;font-size:.9rem}
.code-note strong,.code-note small{display:block}
.code-note strong{font-size:.95rem}
.code-note small{font-size:.8rem;color:var(--muted)}
.design-note{position:absolute;right:-16px;top:70px;background:#fff;padding:11px 16px;box-shadow:var(--shadow);border:1px solid var(--line);border-radius:12px;font-size:.8rem;font-weight:600;transform:rotate(6deg)}
.design-note span{font-size:1.1rem;color:var(--violet);margin-right:5px}

/* Capability strip: scrolling ribbon of services */
.capability-strip{border-block:1px solid var(--line);background:var(--white);padding-block:22px;overflow:hidden}
.capability-inner{display:flex;align-items:center;gap:32px}
.capability-label{flex-shrink:0;font-size:.8rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);padding-inline-end:32px;border-inline-end:1px solid var(--line);white-space:nowrap}
.capability-marquee{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.capability-track{display:flex;width:max-content;animation:marquee 32s linear infinite}
.capability-strip:hover .capability-track{animation-play-state:paused}
html[dir=rtl] .capability-track{animation-name:marquee-rtl}
.capability-list{display:flex;gap:14px;list-style:none;margin:0;padding:0 14px 0 0}
html[dir=rtl] .capability-list{padding:0 0 0 14px}
.capability-list li{display:inline-flex;align-items:center;gap:10px;padding:8px 18px 8px 8px;border:1px solid var(--line);border-radius:999px;background:var(--soft);font-size:1rem;font-weight:650;white-space:nowrap}
html[dir=rtl] .capability-list li{padding:8px 8px 8px 18px}
.capability-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--white);color:var(--blue);box-shadow:var(--shadow-sm)}
.capability-list li:nth-child(3n+2) .capability-icon{color:var(--violet)}
.capability-list li:nth-child(3n) .capability-icon{color:var(--green)}
.capability-icon svg{width:18px;height:18px}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes marquee-rtl{to{transform:translateX(50%)}}

/* ---------- Section headings ---------- */
.section-heading{text-align:center;max-width:780px;margin:0 auto 60px}
.section-heading h2{font-size:clamp(2.2rem,4vw,3.3rem);line-height:1.08;letter-spacing:-.04em;margin-bottom:18px;text-wrap:balance}
.section-heading p{font-size:1.15rem;line-height:1.7;max-width:580px;margin-inline:auto;margin-bottom:0}
/* Gradient accent for the second phrase of section titles */
.section h2 em,.faq-grid h2 em{font-style:normal;background:linear-gradient(100deg,var(--blue),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.faq-grid h2{font-size:clamp(2.2rem,4vw,3.3rem);letter-spacing:-.04em;text-wrap:balance}
/* Numbered pill label above section titles */
.section-label{display:inline-flex;align-items:center;gap:10px;padding:5px 16px 5px 5px;background:var(--white);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow-sm);margin-bottom:22px}
html[dir=rtl] .section-label{padding:5px 5px 5px 16px}
.section-label b{display:grid;place-items:center;min-width:28px;height:28px;padding-inline:6px;border-radius:999px;background:var(--blue);color:#fff;font-size:.75rem;letter-spacing:0;font-weight:750}
/* Split heading: title on one side, supporting text and link on the other */
.heading-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,400px);align-items:end;gap:72px;text-align:start;max-width:none}
.heading-split h2{margin-bottom:0;max-width:680px}
.heading-aside{padding-inline-start:26px;border-inline-start:3px solid var(--blue-line);padding-block:4px}
.heading-aside p{font-size:1.12rem;line-height:1.7;margin:0;max-width:none}
.heading-aside .text-link{margin-top:14px}

/* ---------- Grids & cards ---------- */
.grid{display:grid;gap:24px}
.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .3s,transform .3s,border-color .3s}
.card-body{padding:28px 30px 30px;display:flex;flex-direction:column;flex:1}
.catalog-card{display:flex;flex-direction:column;position:relative}
.catalog-card:hover{transform:translateY(-4px);border-color:var(--blue-line);box-shadow:var(--shadow)}
.catalog-grid{align-items:stretch;gap:26px}
.catalog-grid .catalog-card{height:100%;border-radius:20px}
.catalog-grid .catalog-card--software{border-top:3px solid #4773ed}
.catalog-grid .catalog-card--source{border-top:3px solid #7358d9}
.catalog-grid .catalog-card--software .product-art{background:linear-gradient(135deg,#e8f0ff,#def5f2)}
.catalog-grid .catalog-card--source .product-art{background:linear-gradient(135deg,#eeeaff,#e3f2ff)}
.catalog-grid .catalog-card--source .catalog-tags li{background:#f6f3ff;border-color:#e7e1fb;color:#5e4c9c}
.catalog-grid .catalog-card--software .catalog-tags li{background:#f1f6ff}
.catalog-grid .card-body{padding:24px 25px 25px}
.catalog-grid .card-body>.eyebrow{display:flex;align-items:center;min-height:20px;color:#6a7890;font-size:.72rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.catalog-grid .card-body h3{min-height:2.8em;margin-bottom:10px;font-size:1.27rem;line-height:1.35}
.catalog-grid .card-body>p{display:-webkit-box;min-height:5.1em;margin-bottom:17px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3}
.catalog-grid .product-art{height:210px}
.catalog-grid .product-art img{transition:transform .4s ease}
.catalog-grid .catalog-card:hover .product-art img{transform:scale(1.035)}
.catalog-grid .catalog-tags{min-height:32px;margin-bottom:18px}
.catalog-card-price{display:flex;align-items:baseline;gap:6px;margin:0 0 14px;font-size:1.32rem}
.catalog-card-price span{color:var(--muted);font-size:.78rem;font-weight:650}
.catalog-card-actions{padding-top:16px}
.catalog-card-visit{width:100%;min-height:47px;justify-content:space-between;border-radius:11px;padding:11px 15px;font-size:.91rem;box-shadow:0 5px 14px rgba(35,88,237,.15)}
.catalog-grid .catalog-card-actions--dual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.catalog-card-button{position:relative;z-index:1;width:100%;min-height:46px;padding:10px 12px;border-radius:11px;font-size:.88rem;white-space:normal;text-align:center}
.catalog-card-button span{font-size:1rem}
.catalog-card-read-more{color:var(--navy);border-color:var(--line-strong)}
.catalog-card-read-more:hover{background:var(--soft);border-color:var(--blue-line);color:var(--blue)}
.catalog-card--source .catalog-card-read-more{color:#5947ac;border-color:#ded8f6}
.catalog-card--source .catalog-card-read-more:hover{background:#f6f3ff;border-color:#bdb0ee}
.catalog-card--source .catalog-card-buy-now{background:#6751cf;border-color:#6751cf;box-shadow:0 5px 14px rgba(103,81,207,.18)}
.catalog-card--source .catalog-card-buy-now:hover{background:#5640b9;border-color:#5640b9}
.catalog-card--source .catalog-card-visit{border-color:#6751cf;background:#6751cf;box-shadow:0 5px 14px rgba(103,81,207,.18)}
.catalog-card--source .catalog-card-visit:hover{background:#5640b9;border-color:#5640b9}
.catalog-card-no-link{display:block;width:100%;padding:12px;border-radius:10px;background:#f4f6fa;color:var(--muted);font-size:.82rem;text-align:center}
.catalog-grid .card-body h3 a:focus-visible::after{outline:3px solid #6f9bff;outline-offset:-4px;border-radius:16px}
.catalog-grid .catalog-card-actions{margin-top:auto}
.card-body>.eyebrow{font-size:.74rem;color:var(--muted);margin-bottom:10px}
.card-body h3{font-size:1.4rem;margin-bottom:12px}
.card-body h3 a{color:var(--navy)}
.card-body h3 a::after{content:'';position:absolute;inset:0}
.card-body h3 a:hover{text-decoration:none}
.card-body p{font-size:1rem;line-height:1.7;margin-bottom:24px}
.card-body>.text-link{position:relative;margin-top:auto;border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between}
.catalog-tags{display:flex;align-items:center;flex-wrap:wrap;gap:7px;list-style:none;margin:0 0 18px;padding:0}
.catalog-tags li{padding:5px 10px;border:1px solid #e0e8f5;border-radius:999px;background:#f6f8fc;color:#52617a;font-size:.76rem;font-weight:650;line-height:1.3}
.catalog-card-actions{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}
.catalog-card-actions>a{position:relative;z-index:1}
.catalog-card-actions>.text-link{display:flex;justify-content:space-between;flex:1;min-width:max-content;padding:0;border:0}
.catalog-card-actions .button{padding:9px 12px;font-size:.82rem}
.detail-tags{margin:20px 0}
.product-art{height:200px;background:linear-gradient(135deg,#dff6ff,#e2e7ff);position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden}
.product-art img{width:100%;height:100%;object-fit:cover}
.art-services{height:auto;justify-content:flex-start;padding:30px 30px 0;background:transparent}
.art-symbol{width:58px;height:58px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);border-radius:16px;transition:transform .3s}
.art-symbol svg{width:30px;height:30px}
.catalog-card:hover .art-symbol{transform:scale(1.06) rotate(-4deg)}
.catalog-card:nth-child(3n+2) .art-symbol{background:var(--violet-soft);color:var(--violet)}
.catalog-card:nth-child(3n) .art-symbol{background:var(--green-soft);color:var(--green)}
.product-art:not(.art-services) .art-symbol{position:absolute;inset-inline-start:24px;bottom:20px;z-index:2;background:#fff}
.price{display:block;color:var(--blue);font-size:1.5rem;font-weight:750;margin-bottom:16px}
.badge{display:inline-block;background:var(--blue-soft);color:var(--blue);border-radius:999px;padding:5px 13px;font-size:.82rem;font-weight:650;text-transform:capitalize;white-space:nowrap}

/* Digital shelf */
.shelf-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.shelf-card{display:flex;flex-direction:column;overflow:hidden;background:var(--white);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s,border-color .3s}
.shelf-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--blue-line)}
.shelf-preview{position:relative;height:250px;display:flex;align-items:flex-end;justify-content:center;padding:36px 40px 0;overflow:hidden;background:radial-gradient(circle at 20% 0%,#dfe8ff,transparent 60%),linear-gradient(135deg,#eef3ff,#e6f6ff)}
.shelf-source .shelf-preview{background:radial-gradient(circle at 80% 0%,#e7e1ff,transparent 60%),linear-gradient(135deg,#f3f0ff,#eef3ff)}
.shelf-tag{position:absolute;top:18px;inset-inline-start:20px;z-index:1;display:inline-flex;align-items:center;gap:8px;padding:6px 13px;border-radius:999px;background:rgba(255,255,255,.88);font-size:.8rem;font-weight:650;color:var(--navy);box-shadow:var(--shadow-sm)}
.mock-window{direction:ltr;width:100%;max-width:440px;height:180px;background:#fff;border:1px solid #d9e1f0;border-bottom:0;border-radius:14px 14px 0 0;box-shadow:0 -6px 30px rgba(35,88,237,.12);overflow:hidden;transition:transform .4s}
.shelf-card:hover .mock-window{transform:translateY(-6px)}
.mock-bar{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;background:#f7f9fc;border-bottom:1px solid var(--line)}
.mock-bar i{width:8px;height:8px;border-radius:50%;background:#f0a59a}
.mock-bar i:nth-child(2){background:#ecd08f}
.mock-bar i:nth-child(3){background:#94d1b3}
.mock-bar small{margin-left:10px;font-size:.72rem;color:var(--muted);font-family:ui-monospace,Consolas,monospace}
.mock-app{display:flex;height:calc(100% - 30px)}
.mock-side{width:84px;padding:14px 12px;background:var(--navy);display:flex;flex-direction:column;gap:10px}
.mock-side b{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,var(--blue),var(--violet));margin-bottom:6px}
.mock-side span{height:7px;border-radius:4px;background:rgba(255,255,255,.22)}
.mock-side span:first-of-type{background:rgba(255,255,255,.6);width:80%}
.mock-main{flex:1;padding:14px 16px;display:flex;flex-direction:column;gap:12px}
.mock-stats{display:flex;gap:8px}
.mock-stats span{flex:1;height:34px;border-radius:8px;background:var(--blue-soft);position:relative}
.mock-stats span::after{content:'';position:absolute;left:8px;top:9px;width:40%;height:6px;border-radius:3px;background:var(--blue)}
.mock-stats span:nth-child(2){background:var(--violet-soft)}
.mock-stats span:nth-child(2)::after{background:var(--violet)}
.mock-stats span:nth-child(3){background:var(--green-soft)}
.mock-stats span:nth-child(3)::after{background:var(--green)}
.mock-chart{flex:1;display:flex;align-items:flex-end;gap:8px;border-bottom:1px solid var(--line)}
.mock-chart i{flex:1;border-radius:4px 4px 0 0;background:linear-gradient(var(--blue),#8fb1ff);height:40%}
.mock-chart i:nth-child(2){height:62%}
.mock-chart i:nth-child(3){height:48%}
.mock-chart i:nth-child(4){height:75%}
.mock-chart i:nth-child(5){height:58%}
.mock-chart i:nth-child(6){height:88%}
.mock-chart i:nth-child(7){height:100%;background:linear-gradient(var(--violet),#b7abff)}
.mock-code{background:#101a33;border-color:#1d2a4a}
.mock-code .mock-bar{background:#16213f;border-color:#1d2a4a}
.mock-code .mock-bar small{color:#8592b3}
.mock-lines{padding:14px 16px;font-family:ui-monospace,"Cascadia Code",Consolas,monospace;font-size:.8rem;line-height:1.9;color:#cdd6f0;text-align:left}
.mock-lines p{margin:0;color:inherit;white-space:nowrap}
.mock-lines b{display:inline-block;width:26px;color:#4b5878;font-weight:400}
.mock-lines .k{color:#c792ea}
.mock-lines .v{color:#82aaff}
.mock-lines .s{color:#c3e88d}
.mock-lines .f{color:#ffcb6b}
.cursor{display:inline-block;width:7px;height:14px;margin-left:2px;vertical-align:-2px;background:#82aaff;animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}
.shelf-body{display:flex;flex-direction:column;flex:1;padding:32px 36px 36px}
.shelf-title{display:flex;align-items:center;gap:16px;margin-bottom:14px}
.shelf-title h3{font-size:1.6rem;margin:0}
.shelf-icon{flex-shrink:0;display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--blue-soft);color:var(--blue)}
.shelf-source .shelf-icon{background:var(--violet-soft);color:var(--violet)}
.shelf-icon svg{width:26px;height:26px}
.shelf-body>p{font-size:1.02rem;line-height:1.7;margin-bottom:20px}
.shelf-points{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:12px}
.shelf-points li{display:flex;align-items:flex-start;gap:12px;font-size:.98rem;color:var(--navy)}
.shelf-points li::before{content:'✓';flex-shrink:0;display:grid;place-items:center;width:22px;height:22px;margin-top:2px;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:.75rem;font-weight:700}
.shelf-body .button{margin-top:auto;align-self:flex-start}
.shelf-products{margin-top:28px}

/* Process timeline (dark section) */
.process-section{position:relative;overflow:hidden;background:radial-gradient(700px 400px at 10% 0%,rgba(35,88,237,.35),transparent 60%),radial-gradient(600px 400px at 95% 100%,rgba(109,90,230,.3),transparent 60%),var(--navy);color:#fff}
.process-section .section-heading h2{color:#fff}
.process-section .section-heading p{color:#b9c4dc}
.process-section .section-label{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#cfdcff;box-shadow:none}
.process-section h2 em{background:linear-gradient(100deg,#8fb1ff,#b7abff);-webkit-background-clip:text;background-clip:text;color:transparent}
.process-timeline{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.process-timeline::before{content:'';position:absolute;top:32px;left:12.5%;right:12.5%;height:2px;background:linear-gradient(90deg,var(--blue),var(--violet));opacity:.7}
.process-step{display:flex;flex-direction:column;align-items:center}
.process-marker{position:relative;z-index:1;margin-bottom:24px}
.process-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--violet));color:#fff;box-shadow:0 0 0 8px rgba(35,88,237,.2),0 12px 28px rgba(0,0,0,.3);transition:transform .3s}
.process-icon svg{width:28px;height:28px}
.process-step:hover .process-icon{transform:scale(1.08)}
.process-card{flex:1;width:100%;text-align:center;padding:26px 24px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);transition:transform .3s,border-color .3s,background .3s}
.process-step:hover .process-card{transform:translateY(-4px);border-color:rgba(143,177,255,.45);background:rgba(255,255,255,.08)}
.process-step-no{display:block;font-size:.76rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:#8fb1ff;margin-bottom:10px}
html[dir=rtl] .process-step-no{letter-spacing:0}
.process-card h3{color:#fff;font-size:1.2rem;margin-bottom:10px}
.process-card p{color:#b9c4dc;font-size:.97rem;line-height:1.7;margin:0}
.process-outcome{display:block;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);font-size:.92rem;font-weight:600;color:#e6ecff;line-height:1.5}
.process-outcome b{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#7fd9b0;margin-bottom:4px}
html[dir=rtl] .process-outcome b{letter-spacing:0}
.process-cta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px 28px;margin-top:52px;padding:22px 28px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius)}
.process-cta p{margin:0;color:#dfe7ff;font-size:1.05rem;text-align:center}
/* FAQ */
.faq-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:88px;align-items:start}
.faq-grid>div:first-child{position:sticky;top:calc(var(--header-h) + 32px)}
.faq-grid>div:first-child p{font-size:1.1rem}
.faq-intro>p{margin-bottom:26px;max-width:460px}
.faq-facts{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.faq-facts li{display:flex;align-items:center;gap:14px;font-size:1rem;font-weight:600;color:var(--navy);line-height:1.45}
.faq-facts li span{flex-shrink:0;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--white);border:1px solid var(--line);color:var(--blue);box-shadow:var(--shadow-sm)}
.faq-facts li:nth-child(2) span{color:var(--violet)}
.faq-facts li:nth-child(3) span{color:var(--green)}
.faq-facts svg{width:20px;height:20px}
.faq-list{display:flex;flex-direction:column;gap:14px}
.faq-list details{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);transition:border-color .2s,box-shadow .2s}
.faq-list details:hover{border-color:var(--blue-line)}
.faq-list details[open]{border-color:var(--blue-line);box-shadow:var(--shadow)}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px;padding:18px 24px 18px 28px;cursor:pointer;list-style:none;font-weight:650;font-size:1.08rem;line-height:1.45;border-radius:var(--radius);transition:color .2s}
html[dir=rtl] .faq-list summary{padding:18px 28px 18px 24px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:hover,.faq-list details[open] summary{color:var(--blue)}
.faq-question{flex:1;min-width:0}
/* Plus / minus icon drawn with two bars so it is always optically centred */
.faq-icon{position:relative;flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--blue-soft);border:1px solid var(--blue-line);transition:background .25s,border-color .25s,transform .25s}
.faq-icon::before,.faq-icon::after{content:'';position:absolute;top:50%;left:50%;width:14px;height:2px;margin:-1px 0 0 -7px;border-radius:2px;background:var(--blue);transition:transform .3s ease,background .25s}
.faq-icon::after{transform:rotate(90deg)}
.faq-list summary:hover .faq-icon{border-color:var(--blue)}
.faq-list details[open] .faq-icon{background:var(--blue);border-color:var(--blue);transform:rotate(180deg)}
.faq-list details[open] .faq-icon::before,.faq-list details[open] .faq-icon::after{background:#fff}
.faq-list details[open] .faq-icon::after{transform:rotate(90deg) scaleX(0)}
.faq-list details p{font-size:1rem;line-height:1.8;margin:0 28px;padding:18px 0 24px;border-top:1px solid var(--line);max-width:none;animation:faqIn .3s ease}
@keyframes faqIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* CTA */
.cta{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:36px;padding:64px;border-radius:24px;background:linear-gradient(120deg,#1d47d6,var(--blue) 45%,var(--violet));color:#fff;box-shadow:0 30px 60px rgba(35,88,237,.25)}
.cta::before{content:'';position:absolute;width:420px;height:420px;border-radius:50%;inset-inline-end:-120px;top:-180px;border:1px solid rgba(255,255,255,.18);box-shadow:0 0 0 60px rgba(255,255,255,.04),0 0 0 120px rgba(255,255,255,.03)}
.cta>*{position:relative}
.cta h2{color:#fff;font-size:clamp(2rem,3.4vw,2.8rem);max-width:640px}
.cta .eyebrow{color:#cfdcff}
.cta p{color:#dfe7ff;font-size:1.1rem;max-width:600px;margin:0}
.cta .button{flex-shrink:0}

/* ---------- Footer ---------- */
.site-footer{background:var(--soft);border-top:1px solid var(--line);padding-top:64px}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr));gap:48px 64px;align-items:start}
.footer-logo-link{display:inline-block}
.footer-logo{width:200px;max-width:100%;height:auto;display:block;margin-bottom:20px}
.footer-brand p{font-size:.98rem;line-height:1.75;max-width:440px;margin:0}
.footer-links{display:flex;flex-direction:column;gap:12px;min-width:0;padding-top:6px}
.footer-links strong{font-size:.95rem;font-weight:700;color:var(--navy);margin-bottom:4px}
.footer-links a{width:fit-content;max-width:100%;color:var(--text);font-size:.98rem}
.footer-links a:hover{color:var(--blue)}
.social-links{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:22px 0 0}
.social-links a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--white);border:1px solid var(--line);color:var(--navy);transition:transform .2s,background .2s,color .2s,border-color .2s}
.social-links svg{width:17px;height:17px}
.social-links a:hover{transform:translateY(-2px);color:var(--brand-fg,#fff);border-color:transparent;background:var(--brand,var(--blue));text-decoration:none}
/* Brand colours, shared by the footer icons and the admin settings form */
.social-whatsapp{--brand:#25d366}.social-linkedin{--brand:#0a66c2}.social-facebook{--brand:#1877f2}
.social-instagram{--brand:linear-gradient(45deg,#f9a825,#e1306c 50%,#833ab4)}
.social-x,.social-github,.social-tiktok,.social-threads,.social-medium{--brand:#111}
.social-youtube{--brand:#ff0000}.social-snapchat{--brand:#fffc00;--brand-fg:#111}.social-telegram{--brand:#26a5e4}
.social-pinterest{--brand:#e60023}.social-discord{--brand:#5865f2}.social-reddit{--brand:#ff4500}
.social-behance{--brand:#1769ff}.social-dribbble{--brand:#ea4c89}.social-upwork{--brand:#14a800}.social-fiverr{--brand:#1dbf73}
/* Admin settings: social network fields */
.admin-social-count{font-size:.85rem;font-weight:650;color:var(--blue);background:var(--blue-soft);padding:5px 12px;border-radius:999px}
.admin-fields.admin-social-fields{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.admin-social-label{display:flex;align-items:center;gap:10px}
.admin-social-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--brand,var(--blue));color:var(--brand-fg,#fff)}
.admin-social-icon svg{width:16px;height:16px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px 24px;border-top:1px solid var(--line);margin-top:48px;padding-block:22px;font-size:.92rem;color:var(--muted)}
.footer-meta,.footer-legal{display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px}
.footer-legal a{color:var(--text)}
.footer-legal a:hover{color:var(--blue)}
.back-top{position:fixed;bottom:24px;inset-inline-end:24px;z-index:40;display:grid;place-items:center;width:50px;height:50px;border:0;border-radius:14px;background:var(--navy);color:#fff;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s,transform .25s,visibility .25s,background .2s}
.back-top svg{width:22px;height:22px}
.back-top.visible{opacity:1;visibility:visible;transform:none}
.back-top:hover{background:var(--blue)}

/* ---------- Inner page heads ---------- */
.page-head{padding-block:80px 56px;position:relative}
.page-head::after{content:'';position:absolute;inset-inline:0;bottom:0;height:1px;background:var(--line)}
.page-head h1{font-size:clamp(2.6rem,5vw,4rem);margin-bottom:16px}
.page-head p{max-width:660px;font-size:1.2rem;line-height:1.7;margin:0}
.page-head+.section{padding-top:48px}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:.92rem;margin-bottom:28px;color:var(--muted)}
.breadcrumbs a{color:var(--text)}
.breadcrumbs a:hover{color:var(--blue)}

/* Catalog */
.catalog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:36px;flex-wrap:wrap}
.catalog-tabs{display:flex;gap:4px;flex-wrap:wrap;padding:5px;background:var(--soft);border:1px solid var(--line);border-radius:14px}
.catalog-tabs a{padding:10px 20px;border-radius:10px;color:var(--text);font-size:.97rem;font-weight:600}
.catalog-tabs a:hover{color:var(--navy);text-decoration:none;background:rgba(255,255,255,.7)}
.catalog-tabs a[aria-current=page]{color:#fff;background:var(--blue);box-shadow:0 6px 14px rgba(35,88,237,.25)}
.empty{text-align:center;padding:72px 32px;border:1.5px dashed var(--line-strong);border-radius:var(--radius);background:var(--soft)}
.empty-icon{display:inline-grid;place-items:center;width:76px;height:76px;border-radius:22px;background:var(--white);box-shadow:var(--shadow-sm);font-size:1.8rem;font-weight:700;color:var(--blue);margin-bottom:22px}
.empty h2{font-size:clamp(1.7rem,3vw,2.2rem)}
.empty p{max-width:540px;margin-inline:auto;font-size:1.05rem}

/* Detail */
.detail{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:64px;align-items:start}
.detail h1{font-size:clamp(2.5rem,4.4vw,3.8rem)}
.detail-image{width:100%;border-radius:var(--radius);margin-block:16px 28px;border:1px solid var(--line)}
.detail-panel{position:sticky;top:calc(var(--header-h) + 24px);padding:32px;background:var(--soft)}
.detail-panel:hover{transform:none}
.detail-panel p{font-size:1rem}
.detail-panel .button{display:flex;width:100%;margin:12px 0}
.prose{line-height:1.85;overflow-wrap:anywhere}
.prose p,.prose{font-size:1.06rem}
.prose h2{font-size:1.8rem;margin-top:44px}
.service-inclusions{margin-top:44px;padding:32px;border:1px solid var(--line);border-radius:var(--radius)}
.service-inclusions h2{font-size:1.6rem}
.service-inclusions ul{list-style:none;padding:0;margin:0 0 22px}
.service-inclusions li{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line);font-size:1.05rem}
.service-inclusions li::before{content:'✓';flex-shrink:0;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:.85rem;font-weight:700}
.contact-note{margin-top:32px;padding:26px 28px;border-inline-start:4px solid var(--blue);background:var(--blue-soft);border-radius:var(--radius-sm)}
.contact-note h3{font-size:1.2rem;margin-bottom:8px}
.contact-note p{font-size:1rem;margin:0}

/* ---------- Service detail ---------- */
.card-points{list-style:none;margin:-8px 0 24px;padding:0;display:grid;gap:9px}
.card-points li{display:flex;align-items:flex-start;gap:10px;font-size:.94rem;color:var(--navy);line-height:1.5}
.card-points li::before{content:'✓';flex-shrink:0;display:grid;place-items:center;width:20px;height:20px;margin-top:1px;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:.7rem;font-weight:700}
.service-hero{background:radial-gradient(800px 420px at 90% 10%,#e4ecff 0,transparent 60%),radial-gradient(600px 380px at 0% 100%,#f1efff 0,transparent 60%),var(--cream);border-bottom:1px solid var(--line)}
.service-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.85fr);gap:72px;align-items:center;padding-block:64px 88px}
.service-hero-title{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.service-hero-title .art-symbol{width:56px;height:56px;border-radius:16px;background:#fff;box-shadow:var(--shadow-sm)}
.service-hero-title .eyebrow{margin:0}
.service-hero h1{font-size:clamp(2.7rem,5vw,4.2rem);line-height:1.05;letter-spacing:-.045em;margin-bottom:20px}
.service-hero .lead{max-width:600px;margin-bottom:32px}
.service-receive{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:var(--shadow-lg)}
.service-receive-title{display:block;font-size:.8rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:10px}
.service-receive ul{list-style:none;margin:0 0 16px;padding:0}
.service-receive li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line);font-size:1rem;font-weight:600;color:var(--navy);line-height:1.5}
.service-receive li::before{content:'✓';flex-shrink:0;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--blue);color:#fff;font-size:.75rem;font-weight:700}
.service-receive .muted{margin:0}
.service-overview{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:80px;align-items:start}
.service-overview h2,.service-split h2{font-size:clamp(2.2rem,4vw,3.2rem);letter-spacing:-.04em;text-wrap:balance}
.service-overview h2 em,.service-split h2 em{font-style:normal;background:linear-gradient(100deg,var(--blue),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}
.service-overview-text p{font-size:1.08rem;line-height:1.85}
.service-overview-text .prose{margin-top:8px;padding-top:24px;border-top:1px solid var(--line)}
.include-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.include-card{position:relative;padding:30px 28px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s,border-color .3s}
.include-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--blue-line)}
.include-number{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--blue-soft);color:var(--blue);font-weight:750;font-size:.95rem;margin-bottom:20px}
.include-card:nth-child(3n+2) .include-number{background:var(--violet-soft);color:var(--violet)}
.include-card:nth-child(3n) .include-number{background:var(--green-soft);color:var(--green)}
.include-card h3{font-size:1.2rem;margin-bottom:8px}
.include-card p{font-size:.98rem;line-height:1.7;margin:0}
.service-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.service-for .about-checklist{margin-top:8px}
.service-steps ol{list-style:none;margin:8px 0 0;padding:0;counter-reset:svc}
.service-steps li{position:relative;display:flex;gap:20px;padding-bottom:26px}
.service-steps li:last-child{padding-bottom:0}
.service-steps li::before{counter-increment:svc;content:counter(svc,decimal-leading-zero);flex-shrink:0;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--blue);color:#fff;font-weight:750;font-size:.95rem;box-shadow:0 8px 18px rgba(35,88,237,.22);position:relative;z-index:1}
.service-steps li:not(:last-child)::after{content:'';position:absolute;top:52px;bottom:4px;inset-inline-start:23px;border-inline-start:2px dashed var(--blue-line)}
.service-steps strong{display:block;font-size:1.15rem;margin:10px 0 4px}
.service-steps p{font-size:1rem;margin:0}

/* ---------- About ---------- */
.section.pt-sm{padding-top:32px}
.section.pt-0{padding-top:0}
.about-hero{position:relative;overflow:hidden;background:radial-gradient(800px 420px at 90% 10%,#e4ecff 0,transparent 60%),radial-gradient(600px 380px at 0% 100%,#f1efff 0,transparent 60%),var(--cream);border-bottom:1px solid var(--line)}
.about-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.9fr);gap:72px;align-items:center;padding-block:96px}
.about-hero h1{font-size:clamp(2.7rem,5vw,4.3rem);line-height:1.05;letter-spacing:-.045em;text-wrap:balance;margin-bottom:24px}
.about-hero h1 em,.about-story h2 em,.about-transparency h2 em{font-style:normal;background:linear-gradient(100deg,var(--blue),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}
.about-hero .lead{max-width:620px;margin-bottom:34px}
.about-facts{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:var(--shadow-lg)}
.about-facts-title{display:block;font-size:.8rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.about-facts ul{list-style:none;margin:0;padding:0}
.about-facts li{display:flex;gap:16px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line)}
.about-facts li:last-child{border-bottom:0;padding-bottom:0}
.about-facts li>span{flex-shrink:0;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--blue-soft);color:var(--blue)}
.about-facts li:nth-child(2)>span{background:var(--green-soft);color:var(--green)}
.about-facts li:nth-child(3)>span{background:var(--violet-soft);color:var(--violet)}
.about-facts li:nth-child(4)>span{background:#fff4e5;color:#c77700}
.about-facts svg{width:22px;height:22px}
.about-facts strong{display:block;font-size:1.02rem;margin-bottom:2px}
.about-facts small{display:block;font-size:.93rem;color:var(--text);line-height:1.55}
.about-story{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:80px;align-items:start}
.about-story h2{font-size:clamp(2.2rem,4vw,3.3rem);letter-spacing:-.04em;margin:0}
.about-story-text p{font-size:1.08rem;line-height:1.85}
.about-story-text p:last-child{margin-bottom:0}
.about-quote{font-size:clamp(1.3rem,2.2vw,1.6rem)!important;line-height:1.5!important;font-weight:600;color:var(--navy)!important;padding-inline-start:24px;border-inline-start:4px solid var(--blue);margin-bottom:28px!important}
.value-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.value-card{padding:32px 28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s,border-color .3s}
.value-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--blue-line)}
.value-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--blue);color:#fff;margin-bottom:22px;box-shadow:0 8px 18px rgba(35,88,237,.25)}
.value-card:nth-child(2) .value-icon{background:var(--violet);box-shadow:0 8px 18px rgba(109,90,230,.25)}
.value-card:nth-child(3) .value-icon{background:var(--green);box-shadow:0 8px 18px rgba(31,157,107,.25)}
.value-card:nth-child(4) .value-icon{background:var(--navy);box-shadow:0 8px 18px rgba(15,27,51,.2)}
.value-icon svg{width:26px;height:26px}
.value-card h3{font-size:1.2rem;margin-bottom:10px}
.value-card p{font-size:.98rem;line-height:1.7;margin:0}
.about-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.about-service{display:flex;gap:18px;align-items:center;padding:22px 24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);color:var(--navy);transition:transform .25s,box-shadow .25s,border-color .25s}
.about-service:hover{text-decoration:none;transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--blue-line)}
.about-service .art-symbol{flex-shrink:0;width:52px;height:52px;border-radius:14px}
.about-service:nth-child(3n+2) .art-symbol{background:var(--violet-soft);color:var(--violet)}
.about-service:nth-child(3n) .art-symbol{background:var(--green-soft);color:var(--green)}
.about-service strong{display:block;font-size:1.08rem;margin-bottom:2px}
.about-service small{display:block;font-size:.93rem;color:var(--text);line-height:1.5}
.about-transparency{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:center}
.about-transparency h2{font-size:clamp(2.2rem,4vw,3.3rem);letter-spacing:-.04em;text-wrap:balance}
.about-transparency p{font-size:1.1rem;margin:0}
.about-checklist{list-style:none;margin:0;padding:12px 30px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.about-checklist li{display:flex;gap:14px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--line);font-size:1.02rem;line-height:1.65;color:var(--text)}
.about-checklist li:last-child{border-bottom:0}
.about-checklist li::before{content:'✓';flex-shrink:0;display:grid;place-items:center;width:26px;height:26px;margin-top:1px;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:.85rem;font-weight:700}
/* ---------- Contact ---------- */


.contact-steps{list-style:none;padding:0;margin:32px 0 0;display:grid;gap:18px;counter-reset:step}
.contact-steps li{display:flex;gap:16px;align-items:flex-start;font-size:1.02rem;color:var(--text)}
.contact-steps li::before{counter-increment:step;content:counter(step);flex-shrink:0;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--blue-soft);color:var(--blue);font-weight:750;font-size:.95rem}
.contact-steps strong{display:block;color:var(--navy)}

/* ---------- Forms ---------- */
.form{padding:40px;box-shadow:var(--shadow)}
.form:hover{transform:none}
.form label{display:block;font-size:.95rem;font-weight:650;margin-bottom:20px;color:var(--navy)}
.form input,.form textarea,.form select,select{display:block;width:100%;padding:13px 16px;border:1px solid var(--line-strong);border-radius:var(--radius-xs);margin-top:8px;background:#fcfdff;color:var(--navy);font-size:1rem;font-weight:400;transition:border-color .2s,box-shadow .2s,background .2s}
.form input:hover,.form textarea:hover,.form select:hover{border-color:#b5c1d4}
.form input:focus,.form textarea:focus,.form select:focus,select:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(35,88,237,.12)}
.form textarea{resize:vertical;min-height:120px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form .button{width:100%;margin-top:6px;padding-block:16px}
.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}

/* ---------- Error page ---------- */
.error-page{text-align:center;padding-block:120px}
.error-code{display:block;font-size:clamp(6rem,16vw,10rem);font-weight:800;line-height:1;letter-spacing:-.06em;background:linear-gradient(120deg,var(--blue),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:12px}
.error-page p{font-size:1.15rem;max-width:520px;margin-inline:auto;margin-bottom:32px}
.error-page .actions{justify-content:center}

/* ---------- Legal / information pages ---------- */
.policy-hero{background:linear-gradient(115deg,#f6f8fc,#eef3fb);border-bottom:1px solid var(--line);padding:36px 0 60px;position:relative;overflow:hidden}
.policy-hero::after{content:'';position:absolute;width:380px;height:380px;inset-inline-end:8%;top:15px;border:1px solid #d9e3f3;border-radius:50%;box-shadow:0 0 0 45px rgba(229,236,246,.25),0 0 0 90px rgba(229,236,246,.19);pointer-events:none}
.policy-hero .container{position:relative;z-index:1}
.policy-hero .breadcrumbs{margin-bottom:36px}
.policy-hero h1{font-size:clamp(2.6rem,4.6vw,4rem);margin-bottom:20px}
.policy-hero p{max-width:700px;font-size:1.2rem;line-height:1.75;margin-bottom:24px}
.policy-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.9rem}
.policy-dot{width:7px;height:7px;border-radius:50%;background:var(--blue)}
.meta-divider{height:14px;width:1px;background:var(--line-strong);margin-inline:6px}
.policy-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:72px;padding-block:64px 104px;align-items:start}
.policy-sidebar{position:sticky;top:calc(var(--header-h) + 32px)}
.policy-sidebar>.eyebrow{color:var(--muted);font-size:.76rem;margin-bottom:16px}
.policy-pages{display:flex;flex-direction:column;gap:6px}
.policy-pages a{padding:13px 16px;border-radius:var(--radius-xs);font-size:1rem;font-weight:600;color:var(--text);display:flex;justify-content:space-between;gap:10px;border:1px solid transparent}
.policy-pages a:hover{background:var(--soft);text-decoration:none}
.policy-pages a[aria-current=page]{background:var(--blue-soft);color:var(--blue);border-color:var(--blue-line)}
.policy-pages a span{opacity:.7}
.policy-toc{border-top:1px solid var(--line);margin-top:28px;padding-top:26px}
.policy-toc h2{font-size:.95rem;letter-spacing:0;margin-bottom:14px}
.policy-toc a{display:flex;align-items:baseline;gap:13px;font-size:.95rem;line-height:1.55;color:var(--text);padding-block:8px}
.policy-toc a:hover{color:var(--blue)}
.policy-toc a span{font-size:.8rem;color:#98a4b7;font-variant-numeric:tabular-nums}
.policy-help{display:flex;justify-content:space-between;gap:12px;font-size:.95rem;font-weight:600;border-top:1px solid var(--line);padding-top:22px;margin-top:22px}
.policy-content{min-width:0}
.policy-summary{display:flex;gap:20px;border:1px solid var(--blue-line);background:#f7faff;border-radius:var(--radius);padding:28px 30px;margin-bottom:16px}
.policy-summary-icon{width:48px;height:48px;flex-shrink:0;display:grid;place-items:center;background:#e3ebff;border-radius:13px;color:var(--blue)}
.policy-summary-icon svg{width:24px;height:24px}
.policy-summary h2{font-size:1.15rem;letter-spacing:-.01em;margin-bottom:8px}
.policy-summary p{font-size:1.02rem;line-height:1.8;margin:0}
.policy-section{scroll-margin-top:calc(var(--header-h) + 24px);display:grid;grid-template-columns:40px minmax(0,1fr);gap:18px;padding-block:36px;border-bottom:1px solid var(--line)}
.policy-number{font-size:.9rem;font-weight:700;color:#8a9ab2;padding-top:6px;font-variant-numeric:tabular-nums}
.policy-section h2{font-size:1.55rem;letter-spacing:-.02em;margin-bottom:14px}
.policy-section p{font-size:1.06rem;line-height:1.9;margin:0}
.policy-contact{margin-top:40px;padding:34px;background:var(--soft);border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;gap:28px}
.policy-contact h2{font-size:1.45rem;margin-bottom:10px}
.policy-contact p{font-size:1rem;line-height:1.75;margin:0}
.policy-contact .eyebrow{font-size:.74rem;margin-bottom:12px}
.policy-contact .button{flex-shrink:0}

/* ---------- Admin ---------- */
.admin-body{background:var(--soft)}
.admin-body .header{background:#fff;border-bottom-color:var(--line)}
.admin-topbar-links{display:flex;align-items:center;gap:14px}
.admin-topbar-links a{font-weight:600;font-size:.97rem}
.admin-shell{display:flex;gap:36px;padding-block:40px 80px;align-items:flex-start}
.admin-main{min-width:0;flex:1}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* App shell: fixed dark sidebar + content frame */
.admin-app{--sidebar-w:264px;background:#f4f6fa}
.admin-sidebar{position:fixed;inset-block:0;inset-inline-start:0;z-index:80;width:var(--sidebar-w);display:flex;flex-direction:column;padding:22px 16px;background:linear-gradient(180deg,#0f1b33,#121f3d);color:#c5cee0;overflow-y:auto}
.admin-logo{display:flex;align-items:center;gap:12px;padding:4px 10px 24px;color:#fff;font-size:1.15rem;font-weight:750;letter-spacing:-.02em}
.admin-logo:hover{text-decoration:none}
.admin-logo img{width:40px;height:40px;border-radius:11px;background:#fff;padding:3px;object-fit:contain}
.admin-logo b{display:block;font-size:.72rem;font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:#8fb1ff}
.admin-menu{display:flex;flex-direction:column;gap:2px;flex:1}
.admin-menu-label{display:block;padding:18px 12px 8px;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#6c7a96}
.admin-menu a,.admin-sidebar-foot a,.admin-sidebar-foot button{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border:0;border-radius:11px;background:none;color:#c5cee0;font-size:.97rem;font-weight:600;text-align:start;transition:background .2s,color .2s}
.admin-menu svg,.admin-sidebar-foot svg{width:20px;height:20px;flex-shrink:0;opacity:.85}
.admin-menu a:hover,.admin-sidebar-foot a:hover,.admin-sidebar-foot button:hover{background:rgba(255,255,255,.07);color:#fff;text-decoration:none}
.admin-menu a[aria-current=page]{background:linear-gradient(100deg,var(--blue),#4a6cf5);color:#fff;box-shadow:0 8px 18px rgba(35,88,237,.35)}
.admin-menu a[aria-current=page] svg{opacity:1}
.admin-count{margin-inline-start:auto;min-width:22px;padding:2px 7px;border-radius:999px;background:#ef4c5a;color:#fff;font-size:.75rem;font-style:normal;font-weight:700;text-align:center}
.admin-sidebar-foot{display:grid;gap:2px;margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}
.admin-sidebar-foot form{margin:0}
.admin-sidebar-foot button:hover{color:#ffb4bb}
.admin-frame{margin-inline-start:var(--sidebar-w);min-height:100vh;display:flex;flex-direction:column}
.admin-topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:16px;height:72px;padding-inline:36px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.admin-topbar-title{display:flex;flex-direction:column;line-height:1.25}
.admin-topbar-title span{font-size:.78rem;font-weight:650;color:var(--muted)}
.admin-topbar-title strong{font-size:1.12rem}
.admin-topbar-actions{display:flex;align-items:center;gap:14px;margin-inline-start:auto}
.admin-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--violet));color:#fff;font-weight:750}
.admin-menu-toggle{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:#fff;align-items:center;justify-content:center;padding:0}
.admin-overlay{position:fixed;inset:0;z-index:75;background:rgba(15,27,51,.45)}
.admin-app .admin-main{flex:1;width:100%;max-width:none;padding:32px 40px 64px}
.admin-app .notice{margin-top:0}

/* Page headings */
.admin-page-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;margin-bottom:24px}
.admin-page-head h1{font-size:clamp(1.8rem,2.6vw,2.3rem);margin-bottom:4px}
.admin-page-head p{margin:0;color:var(--muted)}
.admin-back{display:inline-block;margin-bottom:8px;font-size:.92rem;font-weight:600;color:var(--muted)}
.admin-back:hover{color:var(--blue)}

/* Dashboard */
.admin-welcome{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;padding:32px 36px;margin-bottom:24px;border-radius:22px;background:linear-gradient(120deg,#1d47d6,var(--blue) 45%,var(--violet));color:#fff;box-shadow:0 20px 40px rgba(35,88,237,.22)}
.admin-welcome::after{content:'';position:absolute;width:300px;height:300px;inset-inline-end:-90px;top:-150px;border-radius:50%;border:1px solid rgba(255,255,255,.18);box-shadow:0 0 0 50px rgba(255,255,255,.04)}
.admin-welcome>*{position:relative;z-index:1}
.admin-welcome h1{color:#fff;font-size:clamp(1.9rem,3vw,2.4rem);margin-bottom:6px}
.admin-welcome p{color:#dfe7ff;margin:0}
.admin-welcome-date{display:block;font-size:.85rem;font-weight:650;color:#cfdcff;margin-bottom:6px}
.admin-welcome-actions{display:flex;gap:12px;flex-wrap:wrap}
.admin-ghost{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.35);box-shadow:none}
.admin-ghost:hover{background:rgba(255,255,255,.2);border-color:#fff}
.admin-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:24px}
.admin-stat{display:flex;align-items:center;gap:18px;padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm)}
.admin-stat-icon{flex-shrink:0;display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:var(--green-soft);color:var(--green)}
.admin-stat-1 .admin-stat-icon{background:var(--blue-soft);color:var(--blue)}
.admin-stat-2 .admin-stat-icon{background:#fff4e5;color:#c77700}
.admin-stat-icon svg{width:26px;height:26px}
.admin-stat div>span{display:block;font-size:.9rem;font-weight:600;color:var(--muted);text-transform:capitalize}
.admin-stat strong{display:block;font-size:2rem;line-height:1.2;letter-spacing:-.03em}
.admin-stat small{display:block;font-size:.82rem;color:var(--muted)}
.admin-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;margin-bottom:24px}
.admin-panel{padding:26px 28px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm)}
.admin-form .admin-panel,.admin-grid+.admin-panel{margin-bottom:20px}
.admin-panel-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.admin-panel-head h2{font-size:1.2rem;letter-spacing:-.01em;margin:0}
.admin-panel-head .muted{display:block;margin-top:2px}
.admin-sections{list-style:none;margin:0;padding:0}
.admin-sections li{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.admin-sections li:last-child{border-bottom:0;padding-bottom:0}
.admin-section-icon{flex-shrink:0;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--blue-soft);color:var(--blue)}
.admin-sections li:nth-child(2) .admin-section-icon{background:var(--violet-soft);color:var(--violet)}
.admin-sections li:nth-child(3) .admin-section-icon{background:var(--green-soft);color:var(--green)}
.admin-sections li:nth-child(4) .admin-section-icon{background:#fff4e5;color:#c77700}
.admin-section-icon svg{width:21px;height:21px}
.admin-section-text{flex:1;min-width:0}
.admin-section-text strong{display:block;font-size:1rem}
.admin-section-text small{display:block;font-size:.86rem;color:var(--muted)}
.admin-section-count{font-size:.92rem;color:var(--muted);white-space:nowrap}
.admin-section-count b{font-size:1.1rem;color:var(--navy)}
.admin-section-actions{display:flex;align-items:center;gap:10px}
.admin-section-actions a{font-size:.9rem;font-weight:650}
.admin-add{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--blue-soft);font-size:1.1rem!important;line-height:1}
.admin-add:hover{background:var(--blue);color:#fff;text-decoration:none}
.admin-enquiry-list{list-style:none;margin:0;padding:0}
.admin-enquiry-list li{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.admin-enquiry-list li:last-child{border-bottom:0}
.admin-enquiry-list li>div{flex:1;min-width:0}
.admin-enquiry-list strong{display:block;font-size:.98rem}
.admin-enquiry-list small{display:block;font-size:.86rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-initial{flex-shrink:0;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#dfe8ff,#ece8ff);color:var(--blue);font-weight:750}
.admin-empty{text-align:center;padding:28px 16px}
.admin-empty>span{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--soft);color:var(--muted);margin-bottom:14px}
.admin-empty>span svg{width:26px;height:26px}
.admin-empty strong{display:block;font-size:1.05rem;margin-bottom:4px}
.admin-empty p{font-size:.94rem;color:var(--muted);max-width:360px;margin:0 auto}
.admin-empty-large{padding:56px 24px}
.admin-empty-large p{margin-bottom:22px}
.admin-progress{width:220px;height:8px;border-radius:999px;background:var(--soft);overflow:hidden}
.admin-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),#3fc28e)}
.admin-checklist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}
.admin-checklist li{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;font-size:.95rem;font-weight:600}
.admin-checklist li>span:nth-child(2){flex:1}
.admin-checklist li a{font-size:.88rem;white-space:nowrap}
.admin-checklist li em{font-style:normal;font-size:.85rem;color:var(--green);font-weight:700}
.admin-checklist li.is-done{background:#f7fbf9;color:var(--muted)}
.admin-check{flex-shrink:0;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:2px solid var(--line-strong);color:#fff;font-size:.75rem;font-weight:700}
.is-done .admin-check{background:var(--green);border-color:var(--green)}
.admin-check-info{border-color:#f0c36d;color:#c77700}

/* Status pills */
.status-pill{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font-size:.8rem;font-weight:700;background:var(--soft);color:var(--text);white-space:nowrap}
.status-pill::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}
.status-new{background:#e8efff;color:var(--blue)}
.status-contacted{background:var(--violet-soft);color:var(--violet)}
.status-progress{background:#fff4e5;color:#b86e00}
.status-closed{background:#eef0f3;color:#5d6778}
.status-published{background:var(--green-soft);color:var(--green)}
.status-draft{background:#fff4e5;color:#b86e00}

/* Content table */
.admin-table td{vertical-align:middle}
.admin-item-title{display:block;font-weight:650;color:var(--navy)}
.admin-item-title:hover{color:var(--blue)}
.admin-item-meta{display:block;font-size:.84rem;color:var(--muted);margin-top:2px}
.admin-actions-col{width:1%;white-space:nowrap;text-align:end}
.admin-row-actions{display:flex;justify-content:flex-end;gap:6px}
.admin-row-actions .inline{margin:0}
.admin-icon-btn{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--text);transition:background .2s,color .2s,border-color .2s}
.admin-icon-btn svg{width:17px;height:17px}
.admin-icon-btn:hover{background:var(--blue-soft);border-color:var(--blue-line);color:var(--blue);text-decoration:none}
.admin-icon-btn.danger{color:#c0303c}
.admin-icon-btn.danger:hover{background:#fff1f1;border-color:#f6d0d0;color:#a12a2a;text-decoration:none}
.catalog-admin-tools{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.catalog-bulk-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#fff}
.catalog-select-all,.catalog-bulk-action,.catalog-admin-filter{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.84rem;font-weight:700}
.catalog-bulk-bar select,.catalog-admin-filter select{height:40px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);font:inherit;font-size:.9rem;font-weight:600}
.catalog-bulk-bar [data-admin-selected]{color:var(--muted);font-size:.84rem;font-weight:650}
.catalog-admin-search{flex:1;min-width:min(100%,220px)}
.catalog-admin-search input{width:100%;height:46px;padding:0 16px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--navy);font:inherit}
.catalog-admin-search input:focus,.catalog-bulk-bar select:focus,.catalog-admin-filter select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(35,88,237,.12)}
.catalog-admin-count{margin:0;color:var(--muted);font-size:.86rem;font-weight:650}
.catalog-admin-list{display:grid;gap:12px}
.catalog-admin-item{display:grid;grid-template-columns:auto 72px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm)}
.catalog-admin-item:has(input:checked){border-color:#bfd0f7;box-shadow:0 0 0 3px rgba(35,88,237,.08)}
.catalog-admin-check{display:grid;place-items:center}
.catalog-admin-check input,.catalog-select-all input{width:18px;height:18px;accent-color:var(--blue)}
.catalog-switch{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:#8a5a12;font:inherit;font-size:.78rem;font-weight:750;white-space:nowrap}
.catalog-switch-track{position:relative;width:36px;height:22px;border-radius:999px;background:#e4e8f0}
.catalog-switch-track i{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(15,27,51,.2);transition:transform .18s}
.catalog-switch.is-active{color:#187445}
.catalog-switch.is-active .catalog-switch-track{background:#3dae78}
.catalog-switch.is-active .catalog-switch-track i{transform:translateX(14px)}
.catalog-admin-item[hidden]{display:none}
.catalog-admin-thumb{display:grid;place-items:center;width:72px;height:52px;overflow:hidden;border-radius:10px;background:linear-gradient(135deg,#e8f0ff,#def5f2);color:var(--blue)}
.catalog-admin-thumb img{width:100%;height:100%;object-fit:cover}
.catalog-admin-thumb svg{width:22px;height:22px}
.catalog-admin-titleline{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.catalog-admin-titleline .admin-item-title{flex:1;min-width:0}
.button:disabled{opacity:.45;cursor:not-allowed}
.catalog-admin-slug,.catalog-admin-ar,.catalog-admin-meta{margin:2px 0 0;color:var(--muted);font-size:.84rem}
.catalog-admin-ar{color:#52617a;direction:rtl;text-align:left;unicode-bidi:isolate}
.catalog-admin-meta{display:flex;flex-wrap:wrap;gap:6px 10px}
.catalog-admin-meta b{color:var(--navy)}
.catalog-admin-meta .is-missing{color:#b86e00;font-weight:700}
.catalog-admin-none{margin-top:12px;text-align:center;color:var(--muted)}
.admin-link-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.admin-link-card{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fbfcff}
.admin-link-card h3{margin:0;font-size:1rem}
.admin-link-card p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.5}
a.admin-stat{color:inherit;text-decoration:none}
a.admin-stat:hover{border-color:var(--blue-line);box-shadow:var(--shadow)}
.admin-enquiry-link{display:flex;align-items:center;gap:14px;width:100%;color:inherit}
.admin-enquiry-link:hover{text-decoration:none}
.admin-enquiry-link>span:nth-child(2){flex:1;min-width:0}
.admin-enquiry-link strong,.admin-enquiry-link small{display:block}
.admin-enquiry-link small{color:var(--muted);font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Enquiries */
.admin-enquiries{display:grid;gap:18px}
.admin-enquiry{padding:24px 26px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm)}
.admin-enquiry header{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.admin-enquiry-who{flex:1;min-width:0}
.admin-enquiry-who strong{display:block;font-size:1.02rem}
.admin-enquiry-who span{display:block;font-size:.9rem;color:var(--muted);overflow-wrap:anywhere}
.admin-enquiry h3{font-size:1.1rem;margin-bottom:8px}
.admin-enquiry-message{font-size:.97rem;line-height:1.75;margin:0 0 18px;padding:16px 18px;background:var(--soft);border-radius:12px;overflow-wrap:anywhere}
.admin-enquiry time{font-size:.86rem;color:var(--muted)}
.admin-contact-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin:18px 0}
.admin-contact-details>div{min-width:0;padding:12px 14px;background:#f8faff;border:1px solid var(--line);border-radius:10px;overflow-wrap:anywhere}
.admin-contact-details span{display:block;color:var(--muted);font-size:.78rem;font-weight:650;margin-bottom:3px}
.admin-contact-details strong,.admin-contact-details a{font-size:.93rem}
.admin-contact-subject{grid-column:1/-1}
.admin-contact-message h2{font-size:.95rem;letter-spacing:0;margin:14px 0 8px}
.admin-enquiry-form{padding-top:18px;border-top:1px solid var(--line)}
.admin-enquiry-edit-grid{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,2fr);gap:16px}
.admin-enquiry-edit-grid label{display:block;color:var(--navy);font-size:.88rem;font-weight:650}
.admin-enquiry-edit-grid label small{display:block;color:var(--muted);font-weight:400;line-height:1.45;margin-top:3px}
.admin-enquiry-edit-grid select,.admin-enquiry-edit-grid textarea{display:block;width:100%;margin-top:7px;padding:11px 13px;border:1px solid var(--line-strong);border-radius:10px;background:#fff;color:var(--navy);font:inherit}
.admin-enquiry-edit-grid textarea{resize:vertical;line-height:1.55}
.admin-enquiry-edit-grid select:focus,.admin-enquiry-edit-grid textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(35,88,237,.12)}
.admin-enquiry-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px}
.admin-enquiry-controls>span{color:var(--muted);font-size:.82rem}
.status-reviewed{background:#e9e2ff;color:#5c3aa8}
.status-waiting{background:#fff5d9;color:#8b6500}
.status-hold{background:#fff0e5;color:#a45519}
.status-completed{background:#e4f7ed;color:#187445}
.status-rejected{background:#ffebeb;color:#a12a2a}

/* Contact request inbox */
.enquiries-eyebrow{display:block;margin-bottom:5px;color:var(--blue);font-size:.7rem;font-weight:800;letter-spacing:.15em}
.admin-page-head:has(.enquiries-eyebrow){margin-bottom:14px}
.enquiry-status-overview{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.enquiry-status-summary{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:999px;background:#edf1f7;color:#4b5a70;font-size:.78rem;font-weight:650}
.enquiry-status-summary b{font-variant-numeric:tabular-nums}
.enquiry-status-summary.status-new{background:#e8efff;color:var(--blue)}
.enquiry-filters{display:grid;grid-template-columns:minmax(220px,1fr) minmax(170px,230px) auto auto;align-items:center;gap:12px;margin-bottom:15px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm)}
.enquiry-search{position:relative;display:block;min-width:0}
.enquiry-search svg{position:absolute;top:50%;inset-inline-start:13px;width:17px;height:17px;transform:translateY(-50%);color:#8996aa;pointer-events:none}
.admin-main .enquiry-search input,.admin-main .enquiry-filter-status select{display:block;width:100%;height:42px;margin:0;padding:9px 12px;border:1px solid #e0e6f0;border-radius:9px;background:#fbfcff;color:var(--navy);font:inherit;font-size:.87rem}
.admin-main .enquiry-search input{padding-inline-start:39px}
.admin-main .enquiry-search input:focus,.admin-main .enquiry-filter-status select:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px rgba(35,88,237,.1)}
.enquiry-filter-status{display:grid;grid-template-columns:auto minmax(110px,1fr);align-items:center;gap:9px;color:var(--muted);font-size:.8rem;font-weight:650}
.enquiry-filter-count{justify-self:end;color:var(--muted);font-size:.82rem;font-weight:650;white-space:nowrap}
.enquiry-filter-empty{margin-top:12px;padding:28px;text-align:center}
.enquiry-filter-empty strong{color:var(--navy)}
.enquiry-filter-empty p{margin:5px 0 0;color:var(--muted);font-size:.9rem}
.admin-enquiries{gap:11px}
.admin-enquiries>[hidden]{display:none}
.admin-enquiry{padding:0;overflow:hidden;border-color:#e2e8f1;border-radius:15px;transition:border-color .2s,box-shadow .2s}
.admin-enquiry:hover{border-color:#cbd8ef;box-shadow:0 8px 24px rgba(15,27,51,.07)}
.admin-enquiry[open]{border-color:#bfd0f7;box-shadow:0 12px 30px rgba(35,88,237,.08)}
.admin-enquiry-summary{position:relative;display:flex;align-items:center;gap:14px;min-height:96px;padding:17px 22px;cursor:pointer;list-style:none}
.admin-enquiry-summary::-webkit-details-marker{display:none}
.admin-enquiry-summary::marker{content:''}
.admin-enquiry-summary::after{content:'';flex:0 0 10px;width:10px;height:10px;margin-inline-start:4px;border-right:2px solid #8391a6;border-bottom:2px solid #8391a6;transform:rotate(45deg) translateY(-2px);transition:transform .22s,border-color .2s}
.admin-enquiry[open]>.admin-enquiry-summary::after{border-color:var(--blue);transform:rotate(225deg) translate(-2px,-1px)}
.admin-enquiry-summary:focus-visible{outline:3px solid #6f9bff;outline-offset:-3px}
.admin-enquiry-summary>.admin-initial{width:42px;height:42px;font-size:.98rem}
.admin-enquiry-summary-main{flex:1;min-width:0}
.admin-enquiry-summary-top{display:flex;align-items:center;gap:12px;min-width:0}
.admin-enquiry-summary-top>strong{overflow:hidden;color:var(--navy);font-size:1rem;text-overflow:ellipsis;white-space:nowrap}
.admin-enquiry-summary-date{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.76rem;white-space:nowrap}
.admin-enquiry-summary-date>span::after{content:'·';margin-inline-start:8px;color:#a6b0bf}
.admin-enquiry-summary-date time{font-size:inherit;color:inherit}
.admin-enquiry-summary-subject{display:block;overflow:hidden;margin-top:3px;color:#34445c;font-size:.86rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}
.admin-enquiry-preview{display:block;overflow:hidden;margin-top:3px;color:#75839a;font-size:.82rem;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}
.admin-enquiry-summary>.status-pill{align-self:flex-start;margin-top:2px;font-size:.76rem}
.admin-enquiry-summary-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.enquiry-language-badge{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:#f7f9fc;color:#526179;font-size:.7rem;font-weight:700;white-space:nowrap}
.enquiry-phone-country{display:block;margin-top:4px;color:var(--blue);font-size:.82rem;font-weight:650}
.admin-enquiry-summary-subject[dir=rtl],.admin-enquiry-preview[dir=rtl],.admin-enquiry-message[dir=rtl]{text-align:right;unicode-bidi:plaintext}
.admin-enquiry-panel{display:grid;grid-template-rows:0fr;border-top:1px solid transparent;transition:grid-template-rows .28s ease,border-color .2s}
.admin-enquiry[open]>.admin-enquiry-panel{grid-template-rows:1fr;border-top-color:var(--line)}
.admin-enquiry-panel-inner{min-height:0;overflow:hidden;padding:0 24px}
.admin-enquiry[open]>.admin-enquiry-panel>.admin-enquiry-panel-inner{padding:4px 24px 23px}
.admin-enquiry .admin-contact-details{margin-top:16px}
.admin-enquiry .admin-enquiry-form{margin-top:4px}
.admin-enquiry-edit{margin-top:16px;border:1px solid var(--line);border-radius:12px;background:#fbfcff}
.admin-enquiry-edit>summary{padding:12px 15px;color:var(--navy);font-size:.88rem;font-weight:700;cursor:pointer}
.admin-enquiry-edit[open]>summary{border-bottom:1px solid var(--line)}
.admin-enquiry-edit-form{padding:15px}
.admin-enquiry-edit-form .admin-enquiry-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px}
.admin-enquiry-edit-form input,.admin-enquiry-edit-form textarea{display:block;width:100%;margin-top:7px;padding:11px 13px;border:1px solid var(--line-strong);border-radius:10px;background:#fff;color:var(--navy);font:inherit}
.admin-enquiry-edit-form input:focus,.admin-enquiry-edit-form textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(35,88,237,.1)}
.admin-enquiry-edit-form .admin-edit-message{grid-column:1/-1}
.admin-enquiry-delete{display:flex;justify-content:flex-end;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.button.danger-outline{color:#c0303c;border-color:#f3c9cd;background:#fff;box-shadow:none}
.button.danger-outline:hover{background:#fff1f1;border-color:#c0303c;color:#a12a2a}
.rich-editor{margin-top:7px;border:1px solid var(--line-strong);border-radius:11px;background:#fff;overflow:hidden}
.rich-editor:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px rgba(35,88,237,.1)}
.rich-editor-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:8px;border-bottom:1px solid var(--line);background:#f7f9fc}
.rich-editor-toolbar button{min-width:32px;min-height:32px;padding:5px 8px;border:1px solid transparent;border-radius:7px;background:transparent;color:#33435c;font-family:inherit;font-size:.8rem;line-height:1.2;font-weight:600}
.rich-editor-toolbar button:hover,.rich-editor-toolbar button:focus-visible{border-color:var(--blue-line);background:#fff;color:var(--blue);outline:none}
.rich-editor-toolbar button[data-rich-command="bold"]{font-weight:800}
.rich-editor-toolbar button[data-rich-command="italic"]{font-style:italic}
.rich-editor-toolbar button[data-rich-command="underline"]{text-decoration:underline}
.rich-editor-surface{min-height:155px;max-height:420px;overflow:auto;padding:12px 14px;color:var(--navy);font-size:.94rem;font-weight:400;line-height:1.65}
.rich-editor-surface:focus{outline:none}
.rich-editor-surface[hidden],.rich-editor-toolbar[hidden],.rich-editor textarea[hidden],.rich-editor [data-rich-initial][hidden]{display:none!important}
.rich-editor-surface:empty::before{content:"Write a private note or response draft…";color:#8996aa}
.rich-editor-surface h2,.rich-editor-surface h3{margin:10px 0 6px}
.rich-editor-surface blockquote{margin:8px 0;padding:6px 12px;border-inline-start:3px solid var(--blue-line);color:var(--muted)}
.rich-editor-surface ul,.rich-editor-surface ol{padding-inline-start:24px}
.enquiry-pagination{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:14px 16px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--muted);font-size:.86rem}
.enquiry-pagination>div{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.enquiry-pagination .button{padding:8px 11px;font-size:.82rem}
.enquiry-pagination [aria-current=page]{pointer-events:none}
@media(max-width:700px){
 .enquiry-filters{grid-template-columns:minmax(0,1fr) auto;padding:10px}
 .enquiry-search{grid-column:1/-1}
 .enquiry-filter-status{grid-template-columns:auto minmax(110px,1fr)}
 .enquiry-filters>.button{justify-self:end}
 .enquiry-filter-count{grid-column:1/-1;justify-self:start}
 .admin-enquiry-summary{align-items:flex-start;gap:10px;padding:15px}
 .admin-enquiry-summary>.admin-initial{width:36px;height:36px;font-size:.88rem}
 .admin-enquiry-summary-top{align-items:flex-start;flex-direction:column;gap:1px}
 .admin-enquiry-summary-date{font-size:.7rem}
 .admin-enquiry-summary>.status-pill{font-size:.69rem;padding:4px 8px}
 .admin-enquiry-summary-badges{flex-direction:column;align-items:flex-end;gap:5px}
 .admin-enquiry-panel-inner{padding-inline:16px}
 .admin-enquiry[open]>.admin-enquiry-panel>.admin-enquiry-panel-inner{padding:2px 16px 18px}
 .admin-enquiry-edit-form .admin-enquiry-edit-grid{grid-template-columns:1fr}
 .admin-enquiry-edit-form .admin-edit-message{grid-column:auto}
 .enquiry-pagination{align-items:flex-start;flex-direction:column}
 .enquiry-pagination>div{width:100%}
}
@media(prefers-reduced-motion:reduce){.admin-enquiry-panel,.admin-enquiry-summary::after{transition:none}}

/* Forms */
.admin-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.admin-form label{display:block;font-size:.92rem;font-weight:650;color:var(--navy)}
.admin-form label small{font-weight:500;color:var(--muted)}
.admin-field-full{grid-column:1/-1}
.admin-form input,.admin-form textarea,.admin-form select{display:block;width:100%;margin-top:7px;padding:12px 14px;border:1px solid var(--line-strong);border-radius:10px;background:#fcfdff;color:var(--navy);font-size:.98rem;font-weight:400;transition:border-color .2s,box-shadow .2s,background .2s}
.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(35,88,237,.12)}
.admin-form textarea{resize:vertical}
.catalog-image-field{min-width:0}
.catalog-image-field-head{display:grid;gap:4px;margin-bottom:10px}
.catalog-image-field-head strong{color:var(--navy);font-size:.92rem}
.catalog-image-field-head small,.catalog-image-controls>small{color:var(--muted);font-size:.81rem;line-height:1.5}
.catalog-image-uploader{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(210px,.8fr);align-items:center;gap:20px;padding:15px;border:1px solid #e0e7f2;border-radius:15px;background:linear-gradient(135deg,#f9fbff,#f4f7fc)}
.catalog-image-preview{position:relative;display:grid;place-items:center;min-width:0;aspect-ratio:16/9;overflow:hidden;border:1px solid #dbe3f0;border-radius:11px;background:linear-gradient(135deg,#e8efff,#def4f1)}
.catalog-image-preview>img{width:100%;height:100%;object-fit:cover}
.catalog-image-placeholder{display:grid;gap:5px;padding:18px;text-align:center}
.catalog-image-placeholder b{color:#435674;font-size:.95rem}
.catalog-image-placeholder small{color:#7c8ba3;font-size:.8rem}
.catalog-image-controls{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:9px}
.catalog-image-choose{cursor:pointer}
.catalog-image-controls input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}
.catalog-image-controls input[type=file]:focus-visible+.catalog-image-choose{outline:3px solid #6f9bff;outline-offset:3px}
.catalog-image-file-name{max-width:100%;overflow:hidden;color:var(--navy);font-size:.83rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}
.catalog-image-url-label{margin-top:13px}
.catalog-crop-dialog{width:min(720px,calc(100% - 28px));max-width:none;max-height:calc(100dvh - 32px);overflow:auto;padding:0;border:1px solid #dce4f0;border-radius:20px;background:#fff;color:var(--navy);box-shadow:0 28px 90px rgba(15,27,51,.28)}
.catalog-crop-dialog::backdrop{background:rgba(17,28,49,.68);backdrop-filter:blur(4px)}
.catalog-crop-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 17px}
.catalog-crop-head .eyebrow{margin:0 0 5px;color:var(--blue);font-size:.68rem;font-weight:800;letter-spacing:.14em}
.catalog-crop-head h2{margin:0 0 4px;font-size:1.35rem}
.catalog-crop-head p{margin:0;color:var(--muted);font-size:.87rem}
.catalog-crop-close{display:grid;flex:0 0 36px;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#526179;font-size:1.55rem;line-height:1}
.catalog-crop-close:hover{background:#f2f5fb;color:var(--navy)}
.catalog-crop-frame{position:relative;width:calc(100% - 48px);max-height:56vh;aspect-ratio:16/9;margin:0 24px;overflow:hidden;border:1px solid #dfe6f1;border-radius:12px;background-color:#eef2f8;background-image:linear-gradient(45deg,#e2e8f0 25%,transparent 25%),linear-gradient(-45deg,#e2e8f0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e2e8f0 75%),linear-gradient(-45deg,transparent 75%,#e2e8f0 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;cursor:grab;touch-action:none}
.catalog-crop-frame.is-dragging{cursor:grabbing}
.catalog-crop-frame img{position:absolute;max-width:none;user-select:none;-webkit-user-drag:none;pointer-events:none}
.catalog-crop-zoom{display:grid;grid-template-columns:auto minmax(0,1fr) 54px;align-items:center;gap:12px;margin:17px 24px 20px;color:#475773;font-size:.83rem;font-weight:700}
.catalog-crop-zoom input{width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;accent-color:var(--blue)}
.catalog-crop-zoom input:focus{outline:none;box-shadow:none}
.catalog-crop-zoom output{color:var(--blue);font-variant-numeric:tabular-nums;text-align:end}
.catalog-crop-actions{display:flex;justify-content:flex-end;gap:10px;padding:15px 24px 20px;border-top:1px solid var(--line);background:#fafbfe}
.catalog-crop-actions .button{padding:10px 17px}
.admin-form-bar{position:sticky;bottom:0;z-index:5;display:flex;justify-content:flex-end;gap:12px;margin:4px 0 28px;padding:14px 0;background:linear-gradient(transparent,#f4f6fa 30%)}
.admin-form-bar-inline{position:static;margin:18px 0 0;padding:0;background:none}
/* Admin sign-in */
.login-shell{display:grid;grid-template-columns:1fr 1fr;max-width:1040px;margin:24px auto 40px;background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:var(--shadow-lg)}
.login-brand{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:56px 52px;background:linear-gradient(140deg,#1d47d6,var(--blue) 45%,var(--violet));color:#fff}
.login-brand>*{position:relative;z-index:1}
.login-badge{align-self:flex-start;display:inline-flex;align-items:center;gap:9px;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);font-size:.85rem;font-weight:650;margin-bottom:28px}
.login-brand h2{color:#fff;font-size:clamp(2rem,3vw,2.5rem);line-height:1.12;margin-bottom:16px;text-wrap:balance}
.login-brand h2 em{font-style:normal;color:#cfdcff}
.login-brand p{color:#dfe7ff;font-size:1.05rem;margin-bottom:28px}
.login-brand ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.login-brand li{display:flex;align-items:center;gap:12px;font-weight:600}
.login-brand li span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.18);font-size:.8rem}
.login-orb{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.18);pointer-events:none;z-index:0}
.login-orb-one{width:360px;height:360px;right:-140px;top:-140px;box-shadow:0 0 0 50px rgba(255,255,255,.04),0 0 0 100px rgba(255,255,255,.03)}
.login-orb-two{width:220px;height:220px;left:-90px;bottom:-110px;background:rgba(255,255,255,.06)}
.login-form{padding:56px 52px;display:flex;flex-direction:column}
.login-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--blue-soft);color:var(--blue);margin-bottom:22px}
.login-icon svg{width:28px;height:28px}
.login-form h1{font-size:2.2rem;margin-bottom:6px}
.login-sub{color:var(--muted);margin-bottom:28px}
.login-form .error{margin-bottom:20px}
.login-form label{font-size:.95rem;font-weight:650;margin-bottom:8px}
.input-icon{position:relative;margin-bottom:20px}
.input-icon>svg{position:absolute;top:50%;inset-inline-start:15px;width:19px;height:19px;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.input-icon input{width:100%;padding:14px 16px 14px 46px;border:1px solid var(--line-strong);border-radius:12px;background:#fcfdff;font-size:1rem;transition:border-color .2s,box-shadow .2s,background .2s}
.input-icon input:hover{border-color:#b5c1d4}
.input-icon input:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(35,88,237,.12)}
.input-icon:focus-within>svg{color:var(--blue)}
.input-icon input[type=password],.input-icon input[name=password]{padding-inline-end:50px}
.password-toggle{position:absolute;top:50%;inset-inline-end:8px;transform:translateY(-50%);display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:9px;background:transparent;color:var(--muted)}
.password-toggle:hover{background:var(--soft);color:var(--navy)}
.password-toggle[aria-pressed=true]{color:var(--blue);background:var(--blue-soft)}
.password-toggle svg{width:19px;height:19px}
.login-recaptcha-note{margin:0 0 16px;font-size:.9rem;color:var(--muted)}
.recaptcha-keys{margin-top:22px}
.login-submit{width:100%;margin-top:8px;padding-block:16px}
.login-back{align-self:center;margin-top:22px;font-size:.95rem;font-weight:600;color:var(--text)}
.login-back:hover{color:var(--blue)}
.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
table{border-collapse:collapse;width:100%;text-align:start}
th,td{padding:16px 22px;border-bottom:1px solid var(--line);font-size:1rem;text-align:start}
th{background:#fafbfd;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}
tr:last-child td{border-bottom:0}
tbody tr:hover td{background:#fafcff}
.heading-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.heading-row h1,.heading-row h3{margin:0}
.inline{display:inline;margin-inline-start:18px}
.danger{background:none;border:none;color:#c0303c;font-weight:600;padding:0}
.danger:hover{text-decoration:underline}

/* ---------- Reveal animation ---------- */
@keyframes float{50%{transform:translateY(-9px)}}

/* ---------- RTL ---------- */
html[dir=rtl] body{text-align:right}
html[dir=rtl] .section-heading{text-align:center}
html[dir=rtl] .section-heading.heading-split{text-align:right}
html[dir=rtl] h1,html[dir=rtl] h2,html[dir=rtl] h3,html[dir=rtl] .eyebrow,html[dir=rtl] .availability{letter-spacing:0}
html[dir=rtl] .hero-secondary:hover span{transform:translateX(-3px)}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
 .brand{width:180px}
 .nav{gap:18px}
 .nav-links{gap:22px}
 .nav-link{font-size:.96rem}
 .nav-actions{gap:10px}
 .home-hero-grid{gap:48px}
 .policy-layout{grid-template-columns:230px minmax(0,1fr);gap:44px}
}
@media (max-width:980px){
 :root{--header-h:74px}
 .menu-toggle{display:inline-flex}
 .nav>nav{position:absolute;top:calc(100% + 1px);inset-inline:-32px;flex-direction:column;align-items:stretch;gap:18px;padding:18px 32px 28px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 24px 40px rgba(15,27,51,.1);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .22s,transform .22s,visibility .22s;max-height:calc(100vh - var(--header-h));overflow-y:auto}
 .nav>nav.open{opacity:1;visibility:visible;transform:none}
 .nav-links{flex-direction:column;align-items:stretch;gap:2px;margin:0;padding:0;background:none;border:0;border-radius:0}
 .nav-link{padding:14px 16px;font-size:1.08rem;border-radius:12px}
 .nav-link::after{left:16px;right:auto;bottom:7px;width:28px}
 .nav-link:hover{background:var(--soft)}
 .nav-link:hover::after{transform:scaleX(0)}
 .nav-link.active{background:none}
 .nav-link.active::after{transform:scaleX(1)}
 html[dir=rtl] .nav-link::after{left:auto;right:16px}
 .nav-item{flex-wrap:wrap}
 .has-menu .nav-link{flex:1;padding-inline-end:16px}
 .submenu-toggle{width:44px;height:44px;margin:0;border-radius:12px;background:var(--soft)}
 .has-menu:hover .submenu-toggle svg{transform:none}
 .has-menu.open .submenu-toggle svg{transform:rotate(180deg)}
 .mega-menu,.has-menu:hover .mega-menu{position:static;width:100%;padding:4px 0 8px;border:0;border-radius:0;box-shadow:none;opacity:1;visibility:visible;transform:none;display:none}
 .has-menu.open .mega-menu{display:block;transform:none;left:auto}
 .mega-menu::before{display:none}
 .mega-grid{grid-template-columns:1fr;gap:0}
 .mega-link{align-items:center;padding:10px 16px}
 .mega-link small{display:none}
 .mega-link .art-symbol{width:38px;height:38px}
 .nav-actions{flex-direction:column;align-items:stretch;gap:12px;padding-top:16px;border-top:1px solid var(--line)}
 .language-link{justify-content:center;padding:13px}
 .nav-cta{padding:15px}
 .home-hero-grid{grid-template-columns:1fr;min-height:0;padding-block:48px 40px;gap:48px}
 .hero-mock{width:min(100%,540px);justify-self:center}
 .home-hero-grid h1{max-width:720px}
 .studio-visual{width:min(100%,540px);justify-self:center}
 .section{padding-block:76px}
 .three{grid-template-columns:repeat(2,minmax(0,1fr))}
 .four{grid-template-columns:repeat(2,minmax(0,1fr))}
 .heading-split{grid-template-columns:1fr;gap:24px}
 .heading-aside{max-width:600px}
 .faq-grid{grid-template-columns:1fr;gap:36px}
 .faq-grid>div:first-child{position:static}
 .cta{flex-direction:column;align-items:flex-start;padding:48px}
 .contact-grid,.detail{grid-template-columns:1fr;gap:40px}
 .detail-panel{position:static}
 .value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-hero-grid,.service-overview,.service-split{grid-template-columns:1fr;gap:40px}
 .service-hero-grid{padding-block:48px 64px}
 .include-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .process-timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px}
 .process-timeline::before{display:none}
 .about-hero-grid,.about-story,.about-transparency{grid-template-columns:1fr;gap:40px}
 .about-hero-grid{padding-block:64px}
 .about-services{grid-template-columns:repeat(2,minmax(0,1fr))}
 .footer-grid{grid-template-columns:1fr 1fr;gap:40px 32px}
 .footer-brand{grid-column:1/-1}
 .footer-brand p{max-width:600px}
 .policy-layout{grid-template-columns:1fr;gap:32px;padding-block:36px 72px}
 .policy-sidebar{position:static}
 .policy-sidebar>.eyebrow,.policy-toc,.policy-help{display:none}
 .policy-pages{flex-direction:row;gap:8px;border-bottom:1px solid var(--line);padding-bottom:22px}
 .policy-pages a{flex:1;justify-content:center;text-align:center;padding:12px 10px;font-size:.95rem}
 .policy-pages a span{display:none}
 .policy-hero::after{inset-inline-end:-190px}
 .admin-shell{flex-direction:column}
 .admin-sidebar{transform:translateX(-100%);transition:transform .25s ease;box-shadow:20px 0 40px rgba(15,27,51,.25)}
 html[dir=rtl] .admin-sidebar{transform:translateX(100%)}
 .admin-app.sidebar-open .admin-sidebar{transform:none}
 .admin-frame{margin-inline-start:0}
 .admin-menu-toggle{display:inline-flex}
 .admin-topbar{padding-inline:20px}
 .admin-app .admin-main{padding:24px 20px 56px}
 .admin-stats{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
 .admin-link-cards{grid-template-columns:1fr}
 .catalog-admin-item{grid-template-columns:auto 56px minmax(0,1fr)}
 .catalog-admin-thumb{width:56px;height:44px}
 .catalog-admin-item .admin-row-actions{grid-column:2 / -1;justify-self:start}
 .admin-grid{grid-template-columns:1fr}
 .admin-checklist{grid-template-columns:1fr}
 .login-shell{grid-template-columns:1fr;max-width:520px;margin-top:8px}
 .admin-main{width:100%}
 .login-brand{display:none}
}
@media (max-width:620px){
 body{font-size:16px}
 .container{width:calc(100% - 32px)}
 .nav>nav{inset-inline:-16px;padding-inline:16px}
 .brand{width:160px}
 .section{padding-block:60px}
 .lead{font-size:1.1rem}
 .home-hero-grid{padding-block:36px 28px}
 .hero-controls{flex-direction:column;align-items:stretch;gap:18px;padding-bottom:28px}
 .hero-tabs{gap:14px;max-width:none}
 .hero-tabs button{font-size:.88rem}
 .hero-tab-label b{display:none}
 .hero-arrows{justify-content:center}
 .hero-mock{max-width:360px}
 .hero-mock .mock-window{height:250px}
 .hero-mock .mock-side{width:76px}
 .hero-mock .mock-lines{font-size:.72rem;line-height:2;padding:14px}
 .hero-chip{padding:9px 12px;gap:9px}
 .hero-chip>span{width:30px;height:30px;font-size:.8rem}
 .hero-chip strong{font-size:.82rem}
 .hero-chip small{display:none}
 .hero-chip-top{right:-4px}
 .hero-chip-bottom{left:-4px}
 .home-hero-grid h1{font-size:2.6rem}
 .actions .button{width:100%}
 .hero-secondary{width:100%;justify-content:center}
 .studio-visual{max-width:360px}
 .canvas-content{padding:18px}
 .canvas-grid{padding-block:24px 18px}
 .canvas-grid h2{font-size:1.7rem}
 .abstract-art{transform:scale(.72) rotate(-18deg);height:150px}
 .code-note{left:-4px;padding:10px 14px}
 .design-note{right:-4px;top:60px}
 .orbit{inset:-15px 0}.orbit-two{inset:20px -10px}
 .three,.four,.shelf-grid,.form-row{grid-template-columns:1fr}
 .catalog-image-uploader{grid-template-columns:1fr;gap:13px;padding:11px}
 .catalog-image-controls{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px}
 .catalog-image-controls>small{grid-column:1/-1}
 .catalog-image-file-name{min-width:0}
 .catalog-crop-head{padding:18px 17px 14px}
 .catalog-crop-frame{width:calc(100% - 34px);margin-inline:17px;max-height:48vh}
 .catalog-crop-zoom{grid-template-columns:auto minmax(0,1fr) 48px;gap:8px;margin:15px 17px 17px}
 .catalog-crop-actions{padding:12px 17px 16px}
 .footer-grid{grid-template-columns:1fr 1fr;gap:32px 20px}
 .footer-logo{width:170px}
 .footer-links a{font-size:.94rem}
 .value-grid,.about-services,.include-grid{grid-template-columns:1fr}
 .service-receive{padding:24px}
 .process-timeline{grid-template-columns:1fr;gap:0}
 .process-step{display:grid;grid-template-columns:52px minmax(0,1fr);gap:16px;align-items:start;padding-bottom:24px}
 .process-step:last-child{padding-bottom:0}
 .process-marker{margin:0;height:100%;display:flex;justify-content:center}
 .process-step:not(:last-child) .process-marker::after{content:'';position:absolute;top:58px;bottom:-24px;left:50%;width:2px;margin-left:-1px;background:linear-gradient(var(--blue),var(--violet));opacity:.6}
 .process-icon{width:52px;height:52px;box-shadow:0 0 0 6px rgba(35,88,237,.2)}
 .process-icon svg{width:24px;height:24px}
 .process-card{text-align:start;padding:20px}
 .process-cta{flex-direction:column;padding:22px}
 .process-cta .button{width:100%}
 .capability-inner{flex-direction:column;align-items:stretch;gap:14px}
 .capability-label{border:0;padding:0;text-align:center}
 .shelf-preview{height:236px;padding:62px 20px 0}
 .shelf-body{padding:26px 22px 28px}
 .shelf-title h3{font-size:1.35rem}
 .shelf-body .button{align-self:stretch}
 .about-hero-grid{padding-block:48px}
 .about-facts{padding:24px}
 .about-checklist{padding:6px 20px}
 .cta{padding:34px 26px;border-radius:20px}
 .cta .button{width:100%}
 .form{padding:26px 22px}
 .catalog-tabs{width:100%}
 .catalog-tabs a{flex:1;text-align:center;padding:10px 12px}
 .empty{padding:48px 22px}
 .faq-list summary{padding:16px 18px 16px 20px;min-height:68px;font-size:1rem}
 html[dir=rtl] .faq-list summary{padding:16px 20px 16px 18px}
 .faq-list details p{margin:0 20px}
 .page-head{padding-block:52px 40px}
 .footer-bottom{flex-direction:column;align-items:flex-start;padding-bottom:96px}
 .footer-legal{gap:8px 18px}
 .site-footer{padding-top:48px}
 .policy-hero h1{font-size:2.5rem}
 .policy-meta .meta-divider{display:none}
 .policy-summary{padding:22px 20px;gap:14px}
 .policy-section{grid-template-columns:28px minmax(0,1fr);gap:10px;padding-block:28px}
 .policy-section h2{font-size:1.3rem}
 .policy-contact{display:block;padding:26px}
 .policy-contact .button{margin-top:20px;width:100%}
 .login-form{padding:36px 24px}
 .admin-topbar-links .badge{display:none}
 .admin-topbar-links a{white-space:nowrap}
 .admin-topbar-actions .button{display:none}
 .admin-fields{grid-template-columns:1fr}
 .admin-welcome{padding:26px 22px}
 .admin-panel{padding:22px 18px}
 .admin-progress{width:100%}
 .admin-section-text small{display:none}
 .admin-enquiry{padding:20px 18px}
 .admin-contact-details{grid-template-columns:1fr}
 .admin-contact-subject{grid-column:auto}
 .admin-enquiry-edit-grid{grid-template-columns:1fr}
 .error-page{padding-block:80px}
}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .js .reveal{opacity:1;transform:none}
 .capability-track{width:auto}
 .capability-list{flex-wrap:wrap;gap:10px;padding:0}
 .capability-list[aria-hidden]{display:none}
 .capability-marquee{-webkit-mask-image:none;mask-image:none}
}

/* Nav contact button icon */
.nav-cta-icon{width:18px;height:18px;flex-shrink:0}
.section-label b svg{width:15px;height:15px}

/* Admin settings page */
.settings-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start}
.settings-nav{position:sticky;top:96px;display:grid;gap:6px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm)}
.settings-nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;color:var(--navy);transition:background .2s}
.settings-nav a:hover{background:var(--soft);text-decoration:none}
.settings-nav a[aria-current=true]{background:var(--blue-soft)}
.settings-nav strong{display:block;font-size:.97rem}
.settings-nav small{display:block;font-size:.8rem;color:var(--muted)}
.settings-nav-icon{flex-shrink:0;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--soft);color:var(--muted)}
.settings-nav a[aria-current=true] .settings-nav-icon{background:var(--blue);color:#fff}
.settings-nav-icon svg{width:18px;height:18px}
.settings-content{min-width:0}
.settings-section{scroll-margin-top:96px;margin-bottom:20px}
.settings-section-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:22px}
.settings-section-head>div{flex:1;min-width:0}
.settings-section-head h2{font-size:1.25rem;margin:0 0 4px}
.settings-section-head p{margin:0;font-size:.94rem;color:var(--muted)}
.settings-section-icon{flex-shrink:0;display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:var(--blue-soft);color:var(--blue)}
.settings-section-icon svg{width:22px;height:22px}
.settings-icon-warn{background:#fff4e5;color:#c77700}
.settings-label{display:flex;justify-content:space-between;align-items:center;font-size:.92rem;font-weight:650;margin-bottom:8px}
.admin-form .settings-input{margin-bottom:0;max-width:560px}
.admin-form .settings-input input{margin-top:0;padding-inline-start:46px}
.admin-form .admin-fields .settings-input{max-width:none}
.social-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.social-filter button{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--text);font-size:.9rem;font-weight:650}
.social-filter button span{min-width:22px;padding:1px 7px;border-radius:999px;background:var(--soft);font-size:.78rem;text-align:center}
.social-filter button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}
.social-filter button[aria-pressed=true] span{background:rgba(255,255,255,.18)}
.social-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:14px}
.social-tile{position:relative;overflow:hidden;padding:16px 16px 14px;border:1px solid var(--line);border-radius:14px;background:#fcfdff;transition:border-color .2s,box-shadow .2s,background .2s}
.social-tile[hidden]{display:none}
.social-tile::before{content:'';position:absolute;inset:0 0 auto;height:3px;background:var(--brand,var(--blue));opacity:0;transition:opacity .2s}
.social-tile.is-filled{background:#fff;box-shadow:var(--shadow-sm)}
.social-tile.is-filled::before{opacity:1}
.social-tile:focus-within{border-color:var(--blue-line);box-shadow:0 0 0 4px rgba(35,88,237,.08)}
.social-tile-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.social-tile-head label{flex:1;font-size:.97rem;font-weight:650;color:var(--navy)}
.social-tile-head .admin-social-icon{width:32px;height:32px}
.social-status{padding:3px 10px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:.75rem;font-weight:700}
.is-filled .social-status{background:var(--green-soft);color:var(--green)}
.social-tile-input{position:relative}
.admin-form .social-tile-input input{margin:0;padding:10px 12px;font-size:.92rem;background:#fff}
.social-tile-input:has(.social-open) input{padding-inline-end:44px}
.social-open{position:absolute;top:50%;inset-inline-end:6px;transform:translateY(-50%);display:grid;place-items:center;width:32px;height:32px;border-radius:8px;color:var(--blue);font-weight:700}
.social-open:hover{background:var(--blue-soft);text-decoration:none}
.social-empty-note{margin:8px 0 0;color:var(--muted);font-size:.94rem}
.admin-form textarea[data-seo-input]{margin-top:0}
.settings-counter{font-size:.82rem;font-weight:600;color:var(--muted)}
.settings-counter.is-over{color:#c0303c}
.seo-preview{margin-top:18px;padding:18px 20px;border:1px dashed var(--line-strong);border-radius:14px;background:#fff;font-family:Arial,Helvetica,sans-serif}
.seo-preview-label{display:block;margin-bottom:12px;font-family:var(--font);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.seo-preview-site{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.seo-preview-site img{width:26px;height:26px;border-radius:50%;border:1px solid var(--line);padding:2px;background:#fff}
.seo-preview-site strong{display:block;font-size:.88rem;color:#202124;font-weight:400}
.seo-preview-site small{display:block;font-size:.78rem;color:#4d5156}
.seo-preview-title{display:block;font-size:1.2rem;color:#1a0dab;line-height:1.35;margin-bottom:4px}
.seo-preview-text{margin:0;font-size:.88rem;line-height:1.55;color:#4d5156;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.settings-savebar{position:sticky;bottom:16px;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 28px;padding:14px 16px 14px 22px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 16px 40px rgba(15,27,51,.12)}
.settings-save-status{display:flex;align-items:center;gap:10px;font-size:.94rem;font-weight:600;color:var(--muted)}
.settings-save-status i{width:9px;height:9px;border-radius:50%;background:var(--green)}
.settings-savebar.is-dirty .settings-save-status{color:#b86e00}
.settings-savebar.is-dirty .settings-save-status i{background:#f0a020;box-shadow:0 0 0 4px rgba(240,160,32,.18)}
@media (max-width:1100px){
 .settings-layout{grid-template-columns:1fr}
 .settings-nav{position:static;grid-template-columns:repeat(4,minmax(0,1fr))}
 .settings-nav small{display:none}
}
@media (max-width:620px){
 .settings-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
 .settings-section-head{flex-wrap:wrap}
 .settings-savebar{padding:12px}
 .settings-save-status span{font-size:.85rem}
}

/* About: our story */
.about-story{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:72px;align-items:center}
.about-story-intro h2{margin-bottom:28px}
.story-quote{position:relative;overflow:hidden;margin:0;padding:34px 32px 28px;border-radius:22px;background:linear-gradient(135deg,#1d47d6,var(--blue) 50%,var(--violet));color:#fff;box-shadow:0 24px 50px rgba(35,88,237,.25)}
.story-quote::after{content:'';position:absolute;width:260px;height:260px;inset-inline-end:-90px;top:-120px;border-radius:50%;border:1px solid rgba(255,255,255,.18);box-shadow:0 0 0 46px rgba(255,255,255,.04)}
.story-quote-mark{position:absolute;inset-inline-start:22px;top:-6px;font-family:Georgia,serif;font-size:7rem;line-height:1;color:rgba(255,255,255,.18)}
.story-quote blockquote{position:relative;z-index:1;margin:22px 0 24px;font-size:clamp(1.2rem,1.9vw,1.45rem);line-height:1.55;font-weight:600}
.story-quote figcaption{position:relative;z-index:1;display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px solid rgba(255,255,255,.2)}
.story-quote-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.16);font-size:.85rem;font-weight:800;letter-spacing:.04em}
.story-quote figcaption strong{display:block;color:#fff;font-size:1rem}
.story-quote figcaption small{display:block;color:#cfdcff;font-size:.86rem}
.about-story-body>p{font-size:1.08rem;line-height:1.85}
.story-highlights{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:12px}
.story-highlights li{display:flex;align-items:center;gap:16px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm);transition:transform .25s,border-color .25s,box-shadow .25s}
.story-highlights li:hover{transform:translateX(4px);border-color:var(--blue-line);box-shadow:var(--shadow)}
html[dir=rtl] .story-highlights li:hover{transform:translateX(-4px)}
.story-highlights li>span{flex-shrink:0;display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:var(--blue-soft);color:var(--blue)}
.story-highlights li:nth-child(2)>span{background:var(--violet-soft);color:var(--violet)}
.story-highlights li:nth-child(3)>span{background:var(--green-soft);color:var(--green)}
.story-highlights svg{width:22px;height:22px}
.story-highlights strong{display:block;font-size:1.02rem}
.story-highlights small{display:block;font-size:.93rem;color:var(--text);line-height:1.5}
@media (max-width:980px){.about-story{grid-template-columns:1fr;gap:36px}}
@media (max-width:620px){.story-quote{padding:28px 22px 22px}}

/* Floating WhatsApp button */
.whatsapp-float{position:fixed;bottom:24px;inset-inline-end:24px;z-index:45;display:flex;align-items:center;color:#fff;animation:waIn .7s cubic-bezier(.34,1.56,.64,1) .6s both}
.whatsapp-float:hover{text-decoration:none}
.whatsapp-float-button{position:relative;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:linear-gradient(145deg,#2fe07a,#1ebe5d);box-shadow:0 12px 28px rgba(30,190,93,.45);transition:transform .25s,box-shadow .25s}
.whatsapp-float-button::before,.whatsapp-float-button::after{content:'';position:absolute;inset:0;border-radius:50%;border:2px solid #25d366;animation:waPulse 2.4s ease-out infinite;pointer-events:none}
.whatsapp-float-button::after{animation-delay:1.2s}
.whatsapp-float-button svg{position:relative;z-index:1;width:30px;height:30px;animation:waWiggle 5s ease-in-out 2s infinite}
.whatsapp-float:hover .whatsapp-float-button,.whatsapp-float:focus-visible .whatsapp-float-button{transform:scale(1.08);box-shadow:0 16px 34px rgba(30,190,93,.55)}
.whatsapp-float-label{position:absolute;inset-inline-end:calc(100% + 14px);top:50%;padding:10px 16px;border-radius:999px;background:#fff;color:var(--navy);font-size:.92rem;font-weight:650;white-space:nowrap;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translate(8px,-50%);transition:opacity .25s,transform .25s,visibility .25s;animation:waLabel 5s ease 2.4s 1 both}
html[dir=rtl] .whatsapp-float-label{transform:translate(-8px,-50%)}
.whatsapp-float-label::after{content:'';position:absolute;top:50%;inset-inline-end:-5px;width:10px;height:10px;margin-top:-5px;background:#fff;transform:rotate(45deg);border-radius:2px}
.whatsapp-float:hover .whatsapp-float-label,.whatsapp-float:focus-visible .whatsapp-float-label{opacity:1;visibility:visible;transform:translate(0,-50%);animation:none}
.whatsapp-float~.back-top{bottom:98px;inset-inline-end:29px}
@keyframes waIn{from{opacity:0;transform:scale(.3) translateY(30px)}to{opacity:1;transform:none}}
@keyframes waPulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.75);opacity:0}}
@keyframes waWiggle{0%,86%,100%{transform:rotate(0)}88%{transform:rotate(-14deg)}90%{transform:rotate(12deg)}92%{transform:rotate(-8deg)}94%{transform:rotate(6deg)}96%{transform:rotate(0)}}
@keyframes waLabel{0%{opacity:0;visibility:visible;transform:translate(8px,-50%)}10%,85%{opacity:1;visibility:visible;transform:translate(0,-50%)}100%{opacity:0;visibility:hidden;transform:translate(8px,-50%)}}
@media (max-width:620px){
 .whatsapp-float{bottom:18px;inset-inline-end:16px}
 .whatsapp-float-button{width:54px;height:54px}
 .whatsapp-float-button svg{width:27px;height:27px}
 .whatsapp-float~.back-top{bottom:84px;inset-inline-end:18px}
}


/* ==========================================================================
   Animations
   ========================================================================== */
:root{--dir:1}
html[dir=rtl]{--dir:-1}
/* Scroll reveal: elements get .anim + a type class from site.js, then .in when visible */
.anim{opacity:0}
.anim.in{animation:var(--anim-name,animFadeUp) .85s cubic-bezier(.2,.75,.25,1) var(--anim-delay,0s) both}
.anim-fade-up{--anim-name:animFadeUp}
.anim-fade-left{--anim-name:animFadeLeft}
.anim-fade-right{--anim-name:animFadeRight}
.anim-zoom-in{--anim-name:animZoomIn}
.anim-pop{--anim-name:animPop}
.anim-flip-up{--anim-name:animFlipUp}
.anim-fade-in{--anim-name:animFadeIn}
.anim-blur-up{--anim-name:animBlurUp}
.anim-draw{opacity:1}
.anim-draw::before{transform:scaleX(0);transform-origin:left center}
html[dir=rtl] .anim-draw::before{transform-origin:right center}
.anim-draw.in::before{animation:animDraw 1.4s cubic-bezier(.65,0,.35,1) .3s forwards}
@keyframes animFadeUp{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
@keyframes animFadeLeft{from{opacity:0;transform:translateX(calc(48px * var(--dir)))}to{opacity:1;transform:none}}
@keyframes animFadeRight{from{opacity:0;transform:translateX(calc(-48px * var(--dir)))}to{opacity:1;transform:none}}
@keyframes animZoomIn{from{opacity:0;transform:scale(.9) translateY(18px)}to{opacity:1;transform:none}}
@keyframes animPop{0%{opacity:0;transform:scale(.55)}70%{opacity:1;transform:scale(1.07)}100%{opacity:1;transform:none}}
@keyframes animFlipUp{from{opacity:0;transform:perspective(900px) rotateX(22deg) translateY(36px)}to{opacity:1;transform:none}}
@keyframes animFadeIn{from{opacity:0}to{opacity:1}}
@keyframes animBlurUp{from{opacity:0;transform:translateY(20px);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
@keyframes animDraw{to{transform:scaleX(1)}}

/* Header slides down on page load */
.header{animation:headerIn .7s cubic-bezier(.2,.75,.25,1) both}
@keyframes headerIn{from{transform:translateY(-100%);opacity:0}to{transform:none;opacity:1}}

/* Gradient headline text slowly shimmers */
.home-hero-grid h1 em,.section h2 em,.faq-grid h2 em,.about-hero h1 em,.about-story h2 em,.about-transparency h2 em,.service-overview h2 em,.service-split h2 em,.contact-hero h1 em{background-image:linear-gradient(100deg,var(--blue),var(--violet),#3b82f6,var(--blue));background-size:250% auto;animation:gradientShift 7s ease-in-out infinite alternate}
.process-section h2 em{background-image:linear-gradient(100deg,#8fb1ff,#b7abff,#8fb1ff);background-size:250% auto;animation:gradientShift 7s ease-in-out infinite alternate}
@keyframes gradientShift{from{background-position:0% 50%}to{background-position:100% 50%}}

/* Light sweep across buttons on hover */
.button{position:relative;overflow:hidden;isolation:isolate}
.button::after{content:'';position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(110deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-20deg);transition:left .7s ease;pointer-events:none;z-index:-1}
.button.outline::after,.button.white::after{background:linear-gradient(110deg,transparent,rgba(35,88,237,.12),transparent)}
.button:hover::after{left:130%}

/* Dropdown and mobile menu items cascade in */
.has-menu:hover .mega-link,.has-menu.open .mega-link{animation:animMenuIn .45s cubic-bezier(.2,.75,.25,1) both}
.mega-link:nth-child(2){animation-delay:.04s!important}.mega-link:nth-child(3){animation-delay:.08s!important}.mega-link:nth-child(4){animation-delay:.12s!important}.mega-link:nth-child(5){animation-delay:.16s!important}.mega-link:nth-child(6){animation-delay:.2s!important}
@keyframes animMenuIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (max-width:980px){
 .nav>nav.open .nav-links>*,.nav>nav.open .nav-actions>*{animation:animMobileIn .4s cubic-bezier(.2,.75,.25,1) both}
 .nav>nav.open .nav-links>:nth-child(2){animation-delay:.04s}.nav>nav.open .nav-links>:nth-child(3){animation-delay:.08s}.nav>nav.open .nav-links>:nth-child(4){animation-delay:.12s}.nav>nav.open .nav-links>:nth-child(5){animation-delay:.16s}
 .nav>nav.open .nav-actions>*{animation-delay:.22s}
}
@keyframes animMobileIn{from{opacity:0;transform:translateX(calc(-20px * var(--dir)))}to{opacity:1;transform:none}}

/* Hero illustrations float gently */
.studio-window{--r:-2.5deg;animation:floatRot 7s ease-in-out infinite}
.hero-mock .mock-window{--r:-2deg;animation:floatRot 7.5s ease-in-out infinite}
.code-note{--r:2deg;animation:floatRot 5s ease-in-out .6s infinite}
.design-note{--r:6deg;animation:floatRot 5.5s ease-in-out 1.2s infinite}
.hero-chip-top{--r:4deg;animation:floatRot 5s ease-in-out .4s infinite}
.hero-chip-bottom{--r:-2deg;animation:floatRot 5.6s ease-in-out 1s infinite}
.abstract-art>span{animation:spinSlow 18s linear infinite}
@keyframes floatRot{0%,100%{transform:rotate(var(--r)) translateY(0)}50%{transform:rotate(var(--r)) translateY(-10px)}}
@keyframes spinSlow{from{rotate:0deg}to{rotate:360deg}}

/* Hero slider: a different entrance for each slide */
.slide[data-effect=slide] .hero-copy>*{transform:translateX(calc(-64px * var(--dir)))}
.slide[data-effect=slide] .hero-mock{transform:translateX(calc(110px * var(--dir))) rotate(5deg)}
.slide[data-effect=zoom] .hero-copy>*{transform:scale(.86);filter:blur(8px)}
.slide[data-effect=zoom] .hero-mock{transform:scale(.72) rotate(-8deg);filter:blur(12px)}
.slide[data-effect=rise] .studio-visual{transform:translateY(40px) scale(.96)}
.slide[data-effect].current .hero-copy>*,.slide[data-effect].current .studio-visual,.slide[data-effect].current .hero-mock{transform:none;filter:none}
.slide[data-effect=zoom].current .hero-chip{animation:chipPop .7s cubic-bezier(.34,1.56,.64,1) .55s both,floatRot 5s ease-in-out 1.3s infinite}
.slide[data-effect=slide].current .hero-chip{animation:chipPop .7s cubic-bezier(.34,1.56,.64,1) .65s both,floatRot 5.4s ease-in-out 1.4s infinite}
@keyframes chipPop{from{opacity:0;transform:rotate(var(--r)) scale(.4)}to{opacity:1;transform:rotate(var(--r)) scale(1)}}

@media (prefers-reduced-motion:reduce){
 .anim{opacity:1}
 .anim-draw::before{transform:none}
}

/* Settings: one social network per row */
.admin-form .social-tiles,.social-tiles{grid-template-columns:1fr;gap:10px}
.social-tile{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:center;gap:18px;padding:12px 16px}
.social-tile::before{inset:0 auto 0 0;width:3px;height:auto}
html[dir=rtl] .social-tile::before{inset:0 0 0 auto}
.social-tile-head{margin:0}
@media (max-width:760px){.social-tile{grid-template-columns:1fr;gap:10px}}

/* Settings: SEO */
.settings-hint{display:block;margin-top:6px;font-size:.84rem;color:var(--muted);line-height:1.55}
.seo-group{padding-top:22px;margin-top:22px;border-top:1px solid var(--line)}
.settings-section-head+.seo-group{padding-top:0;margin-top:0;border-top:0}
.seo-group-title{font-size:1rem;letter-spacing:-.01em;margin:0 0 14px}
.seo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.seo-field-full{grid-column:1/-1}
.admin-form .seo-grid input,.admin-form .seo-grid textarea{margin-top:0}
.keyword-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.keyword-chips:empty{display:none}
.keyword-chips span{padding:4px 11px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:.82rem;font-weight:650}
.robots-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.robots-option{position:relative;display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border:1.5px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s,background .2s}
.robots-option input{position:absolute;opacity:0;pointer-events:none}
.robots-option:has(input:checked){border-color:var(--blue);background:#f7faff;box-shadow:0 0 0 4px rgba(35,88,237,.08)}
.robots-option:has(input:focus-visible){outline:3px solid #6f9bff;outline-offset:2px}
.robots-option-icon{flex-shrink:0;display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:var(--green-soft);color:var(--green)}
.robots-option-hide{background:#fff4e5;color:#c77700}
.robots-option-icon svg{width:20px;height:20px}
.robots-option strong{display:block;font-size:.97rem}
.robots-option small{display:block;font-size:.85rem;color:var(--muted);line-height:1.5;margin-top:2px}
.share-preview{margin-top:18px}
.share-card{max-width:520px;overflow:hidden;border:1px solid #dadde1;border-radius:12px;background:#f0f2f5;font-family:Arial,Helvetica,sans-serif}
.share-card-image{display:grid;place-items:center;aspect-ratio:1.91/1;background:#e4e6eb center/cover no-repeat;color:#8a8d91;font-size:.85rem}
.share-card-image span{display:flex;flex-direction:column;align-items:center;gap:6px}
.share-card-image svg{width:30px;height:30px}
.share-card-image[style*=background-image] span{display:none}
.share-card-body{padding:10px 14px 12px;border-top:1px solid #dadde1}
.share-card-body small{display:block;font-size:.75rem;color:#65676b;letter-spacing:.02em}
.share-card-body strong{display:block;margin:3px 0 2px;font-size:1rem;color:#050505;font-weight:700}
.share-card-body p{margin:0;font-size:.85rem;color:#65676b;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}

/* Settings: security and active devices */
.sessions-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:12px;margin-bottom:14px}
.sessions-head .seo-group-title{margin-bottom:0}
.session-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.session-item{display:flex;align-items:center;gap:16px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fcfdff}
.session-item.is-current{border-color:var(--blue-line);background:#f7faff}
.session-icon{flex-shrink:0;display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:var(--soft);color:var(--navy)}
.is-current .session-icon{background:var(--blue);color:#fff}
.session-icon svg{width:24px;height:24px}
.session-info{flex:1;min-width:0}
.session-info>strong{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:1rem}
.session-badge{padding:2px 10px;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:.75rem;font-weight:700}
.session-meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:6px;font-size:.86rem;color:var(--text)}
.session-meta span{display:inline-flex;align-items:center;gap:6px}
.session-meta svg{width:15px;height:15px;color:var(--muted)}
.session-activity i{width:8px;height:8px;border-radius:50%;background:#b6bfcc}
.session-activity.is-live{color:var(--green);font-weight:650}
.session-activity.is-live i{background:var(--green);box-shadow:0 0 0 3px rgba(31,157,107,.18)}
.session-agent{display:block;margin-top:6px;font-size:.76rem;color:#9aa4b5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:ui-monospace,Consolas,monospace}
.session-current{flex-shrink:0;font-size:.85rem;font-weight:650;color:var(--blue)}
.button.danger-outline{color:#c0303c;border-color:#f3c9cd}
.button.danger-outline:hover{background:#fff1f1;border-color:#c0303c;color:#a12a2a}
.session-note{display:flex;align-items:flex-start;gap:8px;margin:14px 0 0}
.session-note svg{flex-shrink:0;width:16px;height:16px;margin-top:2px}
.password-form{margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}
.password-form .seo-group-title{margin-bottom:2px}
.password-form .admin-fields{margin-top:16px}
@media (max-width:760px){
 .seo-grid,.robots-options{grid-template-columns:1fr}
 .session-item{flex-wrap:wrap}
 .session-item>form,.session-current{margin-inline-start:64px}
}
/* Information center refinement */
@media(min-width:1101px){.header .nav{display:grid;grid-template-columns:minmax(235px,1fr) auto minmax(235px,1fr);gap:18px}.header .nav>nav{display:contents}.header .nav-links{justify-content:center;margin:0;gap:26px}.header .nav-actions{justify-self:end;justify-content:flex-end}.header .nav-link{text-align:center}}
.policy-hero{background:#f5f7fc;border-bottom:1px solid #e1e7f1;padding-block:32px 50px}.policy-hero::after{border-color:#dce4f3;opacity:.65}.policy-hero h1{letter-spacing:-.045em;font-weight:700;font-size:clamp(2.5rem,4.8vw,4.2rem)}.policy-hero p{max-width:690px;font-size:1.1rem;line-height:1.8;color:#53657e}.policy-meta{font-size:.8rem;color:#5e708c}.policy-layout{grid-template-columns:240px minmax(0,1fr);gap:48px;padding-top:44px}.policy-sidebar{padding:22px 18px;background:#fff;border:1px solid #e4e9f2;border-radius:16px;box-shadow:0 6px 24px #15233b04}.policy-sidebar>.eyebrow{padding-inline:12px;font-size:.68rem;color:#687a95}.policy-pages a{font-size:.9rem;border-radius:9px;padding:12px}.policy-toc{margin-top:20px;padding-top:20px}.policy-toc a{padding:9px 10px;font-size:.82rem;border-radius:6px}.policy-toc a:hover,.policy-toc a:focus-visible{background:#f2f6fd;text-decoration:none}.policy-help{font-size:.8rem;padding-inline:10px}.policy-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.policy-highlight{padding:23px 21px;border:1px solid #e0e6f0;background:#fff;border-radius:14px;box-shadow:0 5px 16px #15233b03}.policy-highlight>span{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:#edf3ff;color:#2358ed;border-radius:8px;font-size:.68rem;font-weight:700;margin-bottom:17px}.policy-highlight h2{font-size:1rem;font-weight:650;letter-spacing:-.015em;line-height:1.4;margin-bottom:10px}.policy-highlight p{font-size:.86rem;line-height:1.8;color:#61718a;margin:0}.policy-summary{border-radius:12px;box-shadow:none;background:#f0f5ff;border-color:#dbe5f7;padding:24px;margin-bottom:10px}.policy-summary h2{font-size:1rem}.policy-summary p{font-size:.93rem;line-height:1.85}.policy-section{padding-block:34px;gap:20px;border-bottom-color:#e3e9f1}.policy-section h2{font-size:1.4rem;line-height:1.4;font-weight:650;letter-spacing:-.02em}.policy-section p{font-size:1rem;line-height:1.95;color:#55667f;max-width:75ch}.policy-number{color:#54749c;font-size:.76rem}.policy-contact{background:#132d51;color:#fff;border:0;border-radius:16px;padding:32px;box-shadow:none}.policy-contact h2{color:#fff;font-size:1.4rem}.policy-contact p{color:#d5dfed;font-size:.94rem}.policy-contact .eyebrow{color:#a9c7ff}.policy-contact .button{background:#fff;color:#1844ae;border-color:#fff}.policy-contact .button:hover{background:#edf3ff}html[dir=rtl] .policy-hero h1,html[dir=rtl] .policy-section h2{letter-spacing:0}
@media(max-width:900px){.policy-layout{grid-template-columns:1fr;gap:24px}.policy-sidebar{padding:0;border:0;box-shadow:none;border-radius:0}.policy-pages{padding-bottom:0;border:0}.policy-toc{display:block;border:1px solid #e3e9f1;border-radius:12px;padding:18px;margin-top:18px;background:#fafbfd}.policy-toc h2{margin-bottom:8px}.policy-toc a{display:inline-flex;gap:8px;margin-inline-end:8px;font-size:.8rem;padding:7px}.policy-highlights{gap:12px}.policy-highlight{padding:19px 16px}.policy-hero{padding-block:25px 36px}}
@media(max-width:600px){.policy-highlights{grid-template-columns:1fr;gap:10px}.policy-highlight{position:relative;padding:19px 20px;padding-inline-start:68px}.policy-highlight>span{position:absolute;inset-inline-start:20px;top:21px;margin:0}.policy-highlight h2{margin-bottom:5px}.policy-highlight p{font-size:.86rem}.policy-hero p{font-size:1rem}.policy-meta{font-size:.75rem}.policy-summary{padding:20px 18px}.policy-section{gap:12px;padding-block:27px}.policy-section p{font-size:.95rem;line-height:1.9}.policy-contact{padding:26px}.policy-toc a{display:flex;margin:0}.policy-pages a{font-size:.8rem}.policy-layout{padding-top:25px}}

/* Contact page */
.contact-header{padding-block:44px 120px;text-align:center;background:radial-gradient(700px 360px at 50% 0%,#e6edff 0,transparent 70%),var(--cream);border-bottom:1px solid var(--line)}
.contact-header .breadcrumbs{justify-content:center;margin-bottom:28px}
.contact-kicker{display:inline-block;margin-bottom:16px;padding:6px 14px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:.82rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
html[dir=rtl] .contact-kicker{letter-spacing:0}
.contact-header h1{max-width:760px;margin:0 auto 16px;font-size:clamp(2.4rem,4.6vw,3.6rem);line-height:1.08;letter-spacing:-.04em;text-wrap:balance}
.contact-header h1 em{font-style:normal;color:var(--blue)}
.contact-header .lead{max-width:620px;margin:0 auto}
.contact-section{position:relative;z-index:2;margin-top:-80px;padding-bottom:96px}
.contact-shell{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 30px 70px rgba(15,27,51,.12);overflow:hidden}
.contact-panel{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:30px;padding:40px 36px;background:linear-gradient(160deg,#13224a 0%,#0f1b33 55%,#1a2b63 100%);color:#c9d3e8}
.contact-panel>*:not(.contact-panel-orb){position:relative;z-index:1}
.contact-panel h2{color:#fff;font-size:1.45rem;margin-bottom:10px}
.contact-panel-top p{margin:0;color:#aab6cf;font-size:.97rem;line-height:1.7}
.contact-methods{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.contact-methods li{display:flex;align-items:center;gap:14px}
.contact-method-icon{flex-shrink:0;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#fff}
.contact-method-icon svg{width:20px;height:20px}
.contact-methods small{display:block;font-size:.78rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:#8a97b3}
html[dir=rtl] .contact-methods small{letter-spacing:0}
.contact-methods a,.contact-methods li>div>span{display:block;color:#fff;font-weight:600;font-size:1rem;overflow-wrap:anywhere}
.contact-methods a:hover{color:#9fbaff;text-decoration:none}
.contact-process{padding-top:26px;border-top:1px solid rgba(255,255,255,.1)}
.contact-process h3{color:#fff;font-size:1rem;margin-bottom:14px}
.contact-process ol{list-style:none;margin:0;padding:0;display:grid;gap:14px;counter-reset:cstep}
.contact-process li{position:relative;padding-inline-start:38px;font-size:.9rem;line-height:1.55}
.contact-process li::before{counter-increment:cstep;content:counter(cstep);position:absolute;inset-inline-start:0;top:0;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--blue);color:#fff;font-size:.78rem;font-weight:750}
.contact-process strong{display:block;color:#fff;font-size:.95rem}
.contact-process span{color:#aab6cf}
.contact-panel-social{margin-top:auto}
.contact-panel-social small{display:block;margin-bottom:10px;font-size:.78rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:#8a97b3}
.contact-panel-social ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.contact-panel-social a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#fff;transition:background .2s,transform .2s}
.contact-panel-social a:hover{background:var(--blue);transform:translateY(-2px);text-decoration:none}
.contact-panel-social svg{width:17px;height:17px}
.contact-panel-orb{position:absolute;border-radius:50%;pointer-events:none}
.contact-panel-orb-one{width:260px;height:260px;inset-inline-end:-110px;bottom:-110px;background:radial-gradient(circle,rgba(35,88,237,.55),transparent 70%)}
.contact-panel-orb-two{width:160px;height:160px;inset-inline-end:40px;bottom:60px;border:1px solid rgba(255,255,255,.08)}
.contact-form-pane{padding:40px 44px}
.contact-form-title{margin-bottom:26px}
.contact-form-title h2{font-size:1.45rem;margin-bottom:4px}
.contact-form-title p{margin:0;font-size:.92rem;color:var(--muted)}
.contact-form-pane .error{margin-bottom:18px}
.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.contact-field-full{grid-column:1/-1}
.contact-field>span{display:block;margin-bottom:8px;font-size:.9rem;font-weight:650;color:var(--navy)}
.contact-field input,.contact-field textarea{display:block;width:100%;padding:13px 15px;border:1px solid var(--line-strong);border-radius:10px;background:#fbfcfe;color:var(--navy);font-size:1rem;transition:border-color .2s,box-shadow .2s,background .2s}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#a3adbd}
.contact-field input:hover,.contact-field textarea:hover{border-color:#b5c1d4}
.contact-field input:focus,.contact-field textarea:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(35,88,237,.12)}
.contact-field textarea{resize:vertical;min-height:150px}
.required{color:#e0435a;font-weight:700}
.contact-form-foot{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.contact-privacy{display:flex;align-items:flex-start;gap:10px;margin:0;max-width:440px;font-size:.86rem;color:var(--muted);line-height:1.6}
.contact-privacy svg{flex-shrink:0;width:17px;height:17px;margin-top:2px}
.contact-submit{flex-shrink:0;display:inline-flex;gap:10px;padding-inline:28px}
.contact-submit svg{width:18px;height:18px}
html[dir=rtl] .contact-submit svg{transform:scaleX(-1)}
@media (max-width:980px){
 .contact-shell{grid-template-columns:1fr}
 .contact-form-pane{order:-1}
 .contact-panel{gap:26px}
}
@media (max-width:620px){
 .contact-header{padding-block:28px 96px}
 .contact-section{margin-top:-64px;padding-bottom:64px}
 .contact-shell{border-radius:18px}
 .contact-form-pane{padding:26px 20px}
 .contact-panel{padding:30px 22px}
 .contact-fields{grid-template-columns:1fr;gap:16px}
 .contact-form-foot{flex-direction:column;align-items:stretch}
 .contact-submit{justify-content:center}
}
html[dir=rtl] .contact-field input[name=phone],html[dir=rtl] .contact-field input[type=email]{direction:ltr;text-align:right}

/* Contact: phone input with country code */
.phone-field>label>span{display:block;margin-bottom:8px;font-size:.9rem;font-weight:650;color:var(--navy)}
.phone-input{position:relative;display:flex;align-items:stretch;border:1px solid var(--line-strong);border-radius:10px;background:#fbfcfe;transition:border-color .2s,box-shadow .2s,background .2s;direction:ltr}
.phone-input:hover{border-color:#b5c1d4}
.phone-input:focus-within,.phone-field.is-open .phone-input{border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(35,88,237,.12)}
.phone-country{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:0 12px 0 10px;border:0;border-right:1px solid var(--line);border-radius:10px 0 0 10px;background:transparent;color:var(--navy);font-size:.95rem;font-weight:650;transition:background .2s}
.phone-country:hover,.phone-field.is-open .phone-country{background:var(--soft)}
.phone-country svg{width:15px;height:15px;color:var(--muted);transition:transform .2s}
.phone-field.is-open .phone-country svg{transform:rotate(180deg)}
.phone-iso{display:inline-grid;place-items:center;min-width:30px;height:22px;padding:0 6px;border-radius:6px;background:var(--blue-soft);color:var(--blue);font-size:.72rem;font-weight:800;letter-spacing:.04em}
.phone-dial{font-variant-numeric:tabular-nums}
.contact-field .phone-input input[type=tel]{flex:1;min-width:0;border:0;background:transparent;box-shadow:none;padding:13px 15px;direction:ltr;text-align:left}
.contact-field .phone-input input[type=tel]:focus{box-shadow:none;background:transparent}
.phone-menu{position:absolute;top:calc(100% + 8px);left:-1px;z-index:30;width:min(340px,calc(100vw - 48px));background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 50px rgba(15,27,51,.18);overflow:hidden;animation:animMenuIn .2s ease both}
.phone-menu[hidden]{display:none}
.phone-search{position:relative;padding:10px;border-bottom:1px solid var(--line)}
.phone-search svg{position:absolute;left:22px;top:50%;width:16px;height:16px;transform:translateY(-50%);color:var(--muted)}
.contact-field .phone-search input{padding:10px 12px 10px 36px;font-size:.92rem;border-radius:9px}
.phone-list{list-style:none;margin:0;padding:6px;max-height:280px;overflow-y:auto;overscroll-behavior:contain}
.phone-list li{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;cursor:pointer;font-size:.92rem;color:var(--navy)}
.phone-list li:hover,.phone-list li.is-active{background:var(--soft)}
.phone-list li[aria-selected=true]{background:var(--blue-soft);color:var(--blue);font-weight:650}
.phone-list .phone-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[dir=rtl] .phone-list .phone-name{direction:rtl;text-align:right}
.phone-list .phone-dial{color:var(--muted);font-size:.86rem}
.phone-list li[aria-selected=true] .phone-dial{color:var(--blue)}
.phone-list .phone-empty{justify-content:center;color:var(--muted);cursor:default}

/* Country flags (local font, used only for flag emoji characters) */
@font-face{font-family:'Twemoji Country Flags';src:url('../fonts/TwemojiCountryFlags.woff2') format('woff2');unicode-range:U+1F1E6-1F1FF,U+1F3F4,U+E0062-E0063,U+E0065,U+E0067,U+E006C,U+E006E,U+E0073-E0074,U+E0077,U+E007F;font-display:swap}
.phone-iso{min-width:0;height:auto;padding:0;background:none;font-family:'Twemoji Country Flags','Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;font-size:1.35rem;line-height:1;letter-spacing:0}
.phone-list .phone-iso{font-size:1.25rem;width:26px;text-align:center}

/* Contact: Service or product dropdown */
.subject-field>label>span{display:block;margin-bottom:8px;font-size:.9rem;font-weight:650;color:var(--navy)}
.subject-input{position:relative;display:flex;align-items:center;border:1px solid var(--line-strong);border-radius:10px;background:#fbfcfe;transition:border-color .2s,box-shadow .2s,background .2s}
.subject-input:hover{border-color:#b5c1d4}
.subject-input:focus-within,.subject-field.is-open .subject-input{border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(35,88,237,.12)}
.subject-icon{flex-shrink:0;display:grid;place-items:center;width:30px;height:30px;margin-inline-start:9px;border-radius:8px;background:var(--blue-soft);color:var(--blue)}
.subject-icon svg{width:17px;height:17px}
.contact-field .subject-input input{flex:1;min-width:0;border:0;background:transparent;box-shadow:none;padding:13px 10px}
.contact-field .subject-input input:focus{box-shadow:none;background:transparent}
.subject-toggle{flex-shrink:0;display:grid;place-items:center;width:38px;height:38px;margin-inline-end:4px;border:0;border-radius:8px;background:transparent;color:var(--muted);transition:background .2s,color .2s}
.subject-toggle:hover{background:var(--soft);color:var(--navy)}
.subject-toggle svg{width:17px;height:17px;transition:transform .2s}
.subject-field.is-open .subject-toggle svg{transform:rotate(180deg)}
.subject-menu{position:absolute;top:calc(100% + 8px);inset-inline:-1px;z-index:30;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 50px rgba(15,27,51,.18);overflow:hidden;animation:animMenuIn .2s ease both}
.subject-menu[hidden]{display:none}
.subject-menu ul{list-style:none;margin:0;padding:6px;max-height:320px;overflow-y:auto;overscroll-behavior:contain}
.subject-group{padding:10px 10px 6px;font-size:.72rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
html[dir=rtl] .subject-group{letter-spacing:0}
.subject-group[hidden],.subject-menu li[hidden]{display:none}
.subject-menu [role=option]{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:10px;cursor:pointer;font-size:.95rem;color:var(--navy);transition:background .15s}
.subject-menu [role=option]:hover,.subject-menu [role=option].is-active{background:var(--soft)}
.subject-menu [role=option][aria-selected=true]{background:var(--blue-soft);color:var(--blue);font-weight:650}
.subject-menu [role=option][aria-selected=true]::after{content:'✓';margin-inline-start:auto;font-weight:700}
.subject-option-icon{flex-shrink:0;display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--soft);color:var(--blue)}
.subject-menu [role=option][aria-selected=true] .subject-option-icon{background:#fff}
.subject-option-icon svg{width:17px;height:17px}
.subject-empty{padding:12px 10px;font-size:.88rem;color:var(--muted)}

/* Settings page polish */
.admin-avatar{overflow:hidden;text-decoration:none}
.admin-avatar:hover{text-decoration:none;box-shadow:0 0 0 4px rgba(35,88,237,.12)}
.admin-avatar img{width:100%;height:100%;object-fit:cover}
.settings-page-head{position:relative;overflow:hidden;margin-bottom:25px;padding:26px 30px;border:1px solid #dce6fb;border-radius:20px;background:radial-gradient(500px 220px at 100% 0%,rgba(99,132,255,.13),transparent 75%),linear-gradient(110deg,#fff,#f5f8ff)}
.settings-page-head h1{margin:3px 0 5px}
.settings-page-head p{margin:0;max-width:680px;color:#61718a}
.settings-eyebrow{color:var(--blue);font-size:.72rem;font-weight:800;letter-spacing:.14em}
.settings-layout{grid-template-columns:245px minmax(0,1fr);gap:22px}
.settings-nav{gap:5px;padding:10px;border-radius:16px}
.settings-nav a{min-width:0;padding:10px;border:1px solid transparent}
.settings-nav a[aria-current=true]{border-color:#dce6ff}
.settings-nav small{line-height:1.35}
.settings-content>.admin-panel,.settings-form>.admin-panel{padding:26px}
.settings-section{border-color:#e5eaf2;box-shadow:0 7px 24px rgba(15,27,51,.035)}
.settings-section-head{align-items:center}
.settings-section-head h2{letter-spacing:-.02em}
.settings-section-head p{line-height:1.65}
.social-tile-head{gap:11px}
.social-status{background:#f0f2f6}
.social-status.is-enabled{background:var(--green-soft);color:var(--green)}
.social-tile.is-filled .social-status:not(.is-enabled){background:#fff2e8;color:#a85b0c}
.social-switch{position:relative;display:inline-flex!important;align-items:center;flex:0 0 auto;width:44px;height:26px;margin:0!important;cursor:pointer}
.social-switch input{position:absolute;width:1px;height:1px;margin:0!important;opacity:0}
.social-switch>span{width:44px;height:26px;border:1px solid #cbd3df;border-radius:999px;background:#e7eaf0;transition:background .2s,border-color .2s,box-shadow .2s}
.social-switch>span::after{content:'';position:absolute;top:4px;inset-inline-start:4px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #15233b33;transition:transform .2s}
.social-switch input:checked+span{border-color:var(--blue);background:var(--blue)}
.social-switch input:checked+span::after{transform:translateX(18px)}
html[dir=rtl] .social-switch input:checked+span::after{transform:translateX(-18px)}
.social-switch input:focus-visible+span{outline:3px solid #6f9bff;outline-offset:2px}
.profile-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.9fr);align-items:center;gap:24px 36px}
.profile-identity{display:flex;align-items:center;gap:18px;min-width:0}
.profile-photo-wrap{flex:0 0 92px;width:92px;height:92px}
.profile-photo{display:grid;width:92px;height:92px;place-items:center;border:3px solid #fff;border-radius:50%;background:#edf2ff;box-shadow:0 0 0 1px #dfe6f2,0 8px 18px #15233b12;color:var(--blue);font-size:2rem;font-weight:750;object-fit:cover}
.profile-photo-initial{display:grid}
.profile-photo-controls{display:grid;justify-items:start;gap:7px}
.profile-photo-controls>strong{color:var(--navy)}
.profile-photo-controls>small,.profile-email-field>.settings-hint{color:var(--muted);font-size:.84rem;line-height:1.5}
.profile-upload-button{cursor:pointer}
.profile-photo-controls input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}
.profile-photo-controls input[type=file]:focus-visible+.profile-upload-button{outline:3px solid #6f9bff;outline-offset:2px}
.profile-email-field{min-width:0}
.profile-email-field input{display:block;width:100%;padding:12px 14px;border:1px solid var(--line-strong);border-radius:10px;background:#fcfdff;color:var(--navy)}
.profile-email-field input:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(35,88,237,.12)}
.profile-editor>.admin-form-bar{grid-column:1/-1;margin-top:0;padding-top:18px;border-top:1px solid var(--line)}
.settings-savebar{backdrop-filter:blur(12px)}
.password-form{padding:22px;border:1px solid var(--line);border-radius:14px;background:#fbfcff}
.password-form .admin-form-bar{margin-bottom:0}
@media(max-width:1100px){
 .settings-layout{grid-template-columns:1fr}
 .settings-nav{position:sticky;top:70px;z-index:8;grid-template-columns:repeat(3,minmax(0,1fr));box-shadow:0 8px 22px rgba(15,27,51,.08)}
 .settings-nav small{display:block}
}
@media(max-width:720px){
 .settings-nav{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
 .profile-editor{grid-template-columns:1fr}
 .profile-editor>.admin-form-bar{grid-column:auto}
 .settings-page-head{padding:22px}
 .settings-content>.admin-panel,.settings-form>.admin-panel{padding:22px}
}
@media(max-width:480px){
 .settings-page-head{padding:20px 18px;border-radius:15px}
 .settings-nav{gap:4px;padding:7px}
 .settings-nav a{gap:8px;padding:8px 7px}
 .settings-nav-icon{width:32px;height:32px}
 .settings-nav strong{font-size:.88rem}
 .settings-nav small{font-size:.7rem}
 .profile-identity{align-items:flex-start;gap:13px}
 .profile-photo-wrap,.profile-photo{width:76px;height:76px;flex-basis:76px}
 .social-tile{grid-template-columns:1fr;gap:10px}
 .social-tile-head{gap:8px}
}

/* Contact form validation and submission confirmation */
.phone-limit{display:block;margin-top:7px;color:var(--muted);font-size:.78rem;line-height:1.4}
.phone-field:has(input:invalid) .phone-input{border-color:#d94a57}
.contact-success-dialog{position:fixed;inset:0;width:min(460px,calc(100% - 32px));margin:auto;padding:38px 34px 32px;border:1px solid #e2e9f4;border-radius:22px;background:#fff;color:var(--navy);text-align:center;box-shadow:0 24px 80px rgba(12,27,52,.22),0 0 0 100vmax rgba(12,27,52,.48)}
.contact-success-dialog:not([open]){display:none}
.contact-success-dialog::backdrop{background:rgba(12,27,52,.48);backdrop-filter:blur(3px)}
.contact-success-icon{display:grid;place-items:center;width:66px;height:66px;margin:0 auto 18px;border-radius:50%;background:var(--green-soft);color:var(--green)}
.contact-success-icon svg{width:32px;height:32px}
.contact-success-dialog h2{margin:0 0 9px;color:var(--navy);font-size:1.65rem;letter-spacing:-.03em}
.contact-success-dialog p{margin:0 auto 23px;max-width:36ch;color:#62718a;font-size:.98rem;line-height:1.75}
.contact-success-close{min-width:190px;justify-content:center}
@media(max-width:520px){.contact-success-dialog{padding:30px 22px 24px;border-radius:18px}.contact-success-dialog h2{font-size:1.4rem}}

/* ==========================================================================
   Services listing page
   ========================================================================== */
.services-hero{position:relative;overflow:hidden;padding-block:84px 72px;background:radial-gradient(640px 360px at 0% 0%,rgba(35,88,237,.09),transparent 65%),radial-gradient(560px 360px at 100% 100%,rgba(109,90,230,.08),transparent 65%),var(--soft);border-bottom:1px solid var(--line)}
.services-hero-inner{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.85fr);align-items:center;gap:56px}
.services-hero h1{font-size:clamp(2.5rem,4.6vw,3.9rem);line-height:1.06;letter-spacing:-.04em;margin-bottom:20px;text-wrap:balance}
.services-hero h1 em{font-style:normal;background:linear-gradient(100deg,var(--blue),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}
.services-hero-copy>p{max-width:600px;font-size:1.16rem;line-height:1.75;margin-bottom:30px}
.services-hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.services-hero-points{list-style:none;margin:0;padding:10px;display:grid;gap:4px;background:var(--white);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}
.services-hero-points li{display:flex;gap:15px;align-items:flex-start;padding:17px 16px;border-radius:14px;transition:background .25s}
.services-hero-points li:hover{background:var(--soft)}
.services-hero-points li+li{border-top:1px solid var(--line)}
.services-hero-points li>span{flex-shrink:0;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--blue-soft);color:var(--blue)}
.services-hero-points li:nth-child(2)>span{background:var(--violet-soft);color:var(--violet)}
.services-hero-points li:nth-child(3)>span{background:var(--green-soft);color:var(--green)}
.services-hero-points svg{width:22px;height:22px}
.services-hero-points b{display:block;color:var(--navy);font-size:1rem;margin-bottom:3px}
.services-hero-points small{display:block;color:var(--muted);font-size:.9rem;line-height:1.55}
.services-section{padding-top:64px}
.services-toolbar{margin-bottom:34px}
.services-toolbar-note{margin:0;max-width:420px;color:var(--muted);font-size:.95rem;line-height:1.6}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.service-tile{position:relative;display:flex;flex-direction:column;padding:28px 28px 26px;background:var(--white);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s,border-color .3s}
.service-tile::before{content:'';position:absolute;inset:0 0 auto;height:3px;border-radius:20px 20px 0 0;background:linear-gradient(90deg,var(--blue),var(--violet));opacity:0;transition:opacity .3s}
.service-tile:hover{transform:translateY(-5px);border-color:var(--blue-line);box-shadow:var(--shadow)}
.service-tile:hover::before{opacity:1}
.service-tile:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px rgba(35,88,237,.14)}
.service-tile-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
.service-tile-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--blue-soft);color:var(--blue);transition:transform .3s}
.service-tile-icon svg{width:28px;height:28px}
.service-tile:nth-child(3n+2) .service-tile-icon{background:var(--violet-soft);color:var(--violet)}
.service-tile:nth-child(3n) .service-tile-icon{background:var(--green-soft);color:var(--green)}
.service-tile:hover .service-tile-icon{transform:scale(1.06) rotate(-4deg)}
.service-tile-no{color:#c3cbd8;font-size:1.6rem;font-weight:750;letter-spacing:-.03em;font-variant-numeric:tabular-nums;transition:color .3s}
.service-tile:hover .service-tile-no{color:var(--blue-line)}
.service-tile h2{font-size:1.32rem;line-height:1.3;letter-spacing:-.02em;margin-bottom:10px}
.service-tile h2 a{color:var(--navy)}
.service-tile h2 a::after{content:'';position:absolute;inset:0;border-radius:20px}
.service-tile h2 a:hover{text-decoration:none}
.service-tile h2 a:focus-visible{outline:none}
.service-tile>p{font-size:.98rem;line-height:1.7;margin-bottom:20px}
.service-tile-points{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:9px}
.service-tile-points li{display:flex;align-items:flex-start;gap:10px;color:var(--navy);font-size:.93rem;line-height:1.5}
.service-tile-points li::before{content:'✓';flex-shrink:0;display:grid;place-items:center;width:20px;height:20px;margin-top:1px;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:.68rem;font-weight:700}
.service-tile-link{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:18px;border-top:1px solid var(--line);color:var(--blue);font-size:.95rem;font-weight:650}
.service-tile-link i{font-style:normal;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--blue-soft);transition:transform .25s,background .25s,color .25s}
.service-tile:hover .service-tile-link i{transform:translateX(4px);background:var(--blue);color:#fff}
html[dir=rtl] .service-tile-link i{transform:scaleX(-1)}
html[dir=rtl] .service-tile:hover .service-tile-link i{transform:scaleX(-1) translateX(4px)}
html[dir=rtl] .services-hero h1,html[dir=rtl] .service-tile h2{letter-spacing:0}
.services-process{padding-block:88px;background:var(--soft);border-block:1px solid var(--line)}
.services-process .section-heading{margin-bottom:48px}
.services-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;counter-reset:step}
.services-steps li{position:relative;padding:26px 24px;background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm)}
.services-steps li:not(:last-child)::after{content:'';position:absolute;top:44px;inset-inline-end:-21px;width:22px;height:2px;background:linear-gradient(90deg,var(--blue),var(--violet));opacity:.5}
.services-step-no{display:inline-grid;place-items:center;min-width:40px;height:40px;margin-bottom:18px;padding-inline:8px;border-radius:12px;background:linear-gradient(135deg,var(--blue),var(--violet));color:#fff;font-size:.88rem;font-weight:750;box-shadow:0 8px 18px rgba(35,88,237,.22)}
.services-steps h3{font-size:1.1rem;margin-bottom:8px}
.services-steps p{margin:0;font-size:.94rem;line-height:1.65}
@media (max-width:1080px){
 .services-hero-inner{grid-template-columns:1fr;gap:40px}
 .services-hero-points{max-width:640px}
 .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .services-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
 .services-steps li::after{display:none}
}
@media (max-width:700px){
 .services-hero{padding-block:52px 44px}
 .services-hero-actions .button{flex:1 1 100%}
 .services-section{padding-top:44px}
 .services-toolbar-note{max-width:none}
 .services-grid,.services-steps{grid-template-columns:1fr}
 .service-tile{padding:24px 22px 22px}
 .services-process{padding-block:60px}
}

/* Admin "Test connection" results */
.connection-test{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.connection-test-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px}
.connection-test-bar .settings-hint{margin:0}
.connection-test-bar .button svg{width:17px;height:17px}
.connection-test-bar .button:disabled{opacity:.7;cursor:progress}
.connection-test-results{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}
.connection-test-results li{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.connection-test-results li>span{flex-shrink:0;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-size:.8rem;font-weight:800;color:#fff}
.connection-test-results b{display:block;color:var(--navy);font-size:.92rem}
.connection-test-results small{display:block;color:var(--text);font-size:.86rem;line-height:1.55;overflow-wrap:anywhere}
.connection-test-results .is-ok{border-color:#cdebdc;background:var(--green-soft)}
.connection-test-results .is-ok>span{background:var(--green)}
.connection-test-results .is-warn{border-color:#f3e0b5;background:#fff8e8}
.connection-test-results .is-warn>span{background:#c98a0b}
.connection-test-results .is-fail{border-color:#f3c9cd;background:#fff1f1}
.connection-test-results .is-fail>span{background:#c0303c}

/* Services mega menu: "see all" footer link */
.mega-all{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px;padding:14px 16px;border-top:1px solid var(--line);border-radius:0 0 12px 12px;background:var(--soft);color:var(--text);font-size:.9rem}
.mega-all b{flex-shrink:0;color:var(--blue);font-weight:650}
.mega-all i{font-style:normal;display:inline-block;transition:transform .2s}
.mega-all:hover{text-decoration:none}
.mega-all:hover i{transform:translateX(3px)}
html[dir=rtl] .mega-all i{transform:scaleX(-1)}
html[dir=rtl] .mega-all:hover i{transform:scaleX(-1) translateX(3px)}
@media (max-width:1080px){.mega-all{margin:4px 16px 0;padding:10px 12px;border-radius:10px}.mega-all span{display:none}}

/* Home page "Recent software / projects" sections and admin home-page badge */
.catalog-admin-meta .is-home{color:#9a6b00;font-weight:700}

/* ==========================================================================
   Admin content editor (add / edit software & source code)
   ========================================================================== */
.content-editor{display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:24px}
.content-editor-main{min-width:0}
.content-editor-nav{position:sticky;top:0;z-index:4;display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px;padding:6px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm)}
.content-editor-nav a{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:10px;color:var(--text);font-size:.9rem;font-weight:650}
.content-editor-nav a:hover{background:var(--soft);color:var(--navy);text-decoration:none}
.content-editor-nav b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-size:.75rem}
.content-section{scroll-margin-top:84px}
.content-section-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.content-section-icon{flex-shrink:0;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--blue-soft);color:var(--blue)}
.content-section-icon svg{width:21px;height:21px}
.content-section-head h2{margin:0 0 3px;font-size:1.15rem;letter-spacing:-.01em}
.content-section-head p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5}
.field-label{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.field-label small{font-weight:500;color:var(--muted);font-size:.8rem}
.field-label .req{font-style:normal;color:#c0303c}
.lang-tag{display:inline-grid;place-items:center;min-width:28px;height:20px;padding-inline:6px;border-radius:6px;background:#eef3ff;color:var(--blue);font-size:.68rem;font-weight:800;letter-spacing:.06em}
.lang-tag-ar{background:#eefaf4;color:var(--green)}
.char-count{display:block;margin-top:5px;color:var(--muted);font-size:.76rem;font-weight:500;text-align:end}
.content-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.content-image-grid .catalog-image-uploader{grid-template-columns:1fr;gap:12px;padding:12px}
.content-image-grid .catalog-image-controls{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 10px}
.content-image-grid .catalog-image-controls>small{grid-column:1/-1}
.catalog-image-choose svg{width:16px;height:16px}
.content-image-url{margin-top:10px;font-size:.88rem}
.content-image-url summary{cursor:pointer;color:var(--blue);font-weight:650;list-style-position:inside}
.content-image-url input{margin-top:8px}
.content-price{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:12px}
.content-hint-box{display:flex;align-items:flex-start;gap:10px;align-self:end;padding:12px 14px;border-radius:12px;background:var(--soft);border:1px solid var(--line)}
.content-hint-box svg{flex-shrink:0;width:18px;height:18px;margin-top:2px;color:var(--blue)}
.content-hint-box p{margin:0;font-size:.85rem;line-height:1.55}
.admin-link-card{gap:14px;padding:18px;background:#fbfcff}
.admin-link-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.admin-link-card-labels{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:.72rem;font-weight:750}
.badge-req{background:#fff1f1;color:#b4232f}
.badge-opt{background:var(--soft);color:var(--muted)}
.content-editor-side{position:sticky;top:16px;display:grid;gap:16px}
.content-side-card{padding:20px}
.content-side-card h2{margin:0 0 14px;font-size:1rem}
.content-status{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;margin-bottom:14px;border-radius:12px;background:var(--soft);border:1px solid var(--line)}
.content-status label{position:relative;cursor:pointer}
.content-status input{position:absolute;opacity:0;pointer-events:none}
.content-status span{display:grid;gap:1px;padding:9px 10px;border-radius:9px;text-align:center;transition:background .2s,box-shadow .2s}
.content-status b{font-size:.9rem;color:var(--navy)}
.content-status small{font-size:.74rem;font-weight:500;color:var(--muted)}
.content-status input:checked+span{background:#fff;box-shadow:0 2px 8px rgba(15,27,51,.1)}
.content-status input[value=published]:checked+span b{color:var(--green)}
.content-status input:focus-visible+span{outline:3px solid #6f9bff;outline-offset:1px}
.content-switch{display:flex!important;align-items:flex-start;gap:12px;padding:12px;margin-bottom:14px;border:1px solid var(--line);border-radius:12px;cursor:pointer}
.content-switch input{position:absolute;opacity:0;pointer-events:none}
.content-switch-track{flex-shrink:0;position:relative;width:40px;height:22px;margin-top:2px;border-radius:999px;background:#cfd7e3;transition:background .2s}
.content-switch-track i{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s}
.content-switch input:checked+.content-switch-track{background:var(--blue)}
.content-switch input:checked+.content-switch-track i{transform:translateX(18px)}
html[dir=rtl] .content-switch-track i{left:auto;right:3px}
html[dir=rtl] .content-switch input:checked+.content-switch-track i{transform:translateX(-18px)}
.content-switch input:focus-visible+.content-switch-track{outline:3px solid #6f9bff;outline-offset:2px}
.content-switch b{display:block;font-size:.9rem}
.content-switch small{display:block;margin-top:2px;font-size:.8rem;line-height:1.45}
.content-type{margin-bottom:16px}
.content-side-actions{display:grid;grid-template-columns:1fr auto;gap:8px}
.content-side-actions .button{padding:12px 16px}
.content-side-actions .button svg{width:17px;height:17px}
.content-checklist{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.content-checklist li{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.9rem}
.content-checklist li::before{content:'';flex-shrink:0;width:18px;height:18px;border:2px solid var(--line-strong);border-radius:50%;transition:background .2s,border-color .2s}
.content-checklist li.is-done{color:var(--navy)}
.content-checklist li.is-done::before{border-color:var(--green);background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5 9.5 17 19 7.5'/%3E%3C/svg%3E") center/12px no-repeat}
.content-checklist small{color:var(--muted);font-size:.74rem}
.content-preview{overflow:hidden;margin-bottom:8px;border:1px solid var(--line);border-radius:14px;background:#fff}
.content-preview-image{display:grid;place-items:center;aspect-ratio:16/9;background:linear-gradient(135deg,#e8f0ff,#def5f2);color:#7c8ba3;font-size:.82rem}
.content-preview-image img{width:100%;height:100%;object-fit:cover}
.content-preview-body{display:grid;gap:6px;padding:14px}
.content-preview-eyebrow{color:#6a7890;font-size:.68rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.content-preview-eyebrow:empty,.content-preview-price:empty,.content-preview-tags:empty{display:none}
.content-preview-body strong{font-size:1rem;line-height:1.35}
.content-preview-body p{display:-webkit-box;margin:0;overflow:hidden;font-size:.83rem;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3}
.content-preview .is-empty{color:#a3aec0}
.content-preview-tags{display:flex;flex-wrap:wrap;gap:5px}
.content-preview-tags span{padding:2px 8px;border-radius:999px;background:#f1f6ff;color:#3d5ba8;font-size:.7rem;font-weight:650}
.content-preview-price{font-weight:750;color:var(--navy);font-size:.95rem}
.content-editor-bar{display:none}
@media (max-width:1180px){
 .content-editor{grid-template-columns:1fr}
 .content-editor-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr));order:-1}
 .content-preview-card{display:none}
 .content-side-actions{display:none}
 .content-editor-bar{display:flex;grid-column:1/-1}
}
@media (max-width:760px){
 .content-editor-side{grid-template-columns:1fr}
 .content-image-grid,.admin-link-card-labels{grid-template-columns:1fr}
 .content-editor-nav{overflow-x:auto;flex-wrap:nowrap}
 .content-editor-nav a{flex-shrink:0}
}
.home-recent{padding-block:80px}
.section.soft+.home-recent:not(.soft){padding-top:88px}
.home-recent-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px 40px;flex-wrap:wrap;margin-bottom:36px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.home-recent-head>div{max-width:640px}
.home-recent-head .eyebrow{margin-bottom:12px}
.home-recent-head h2{margin:0 0 10px;font-size:clamp(2rem,3.4vw,2.7rem)}
.home-recent-head p{margin:0;font-size:1.06rem;line-height:1.65}
.home-recent-all{flex-shrink:0}
.home-recent-grid{display:grid;gap:26px}
.home-recent-grid--2,.home-recent-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
.home-recent-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
/* A single featured item: wide card with the image beside the details */
.home-recent-grid--1 .catalog-card{flex-direction:row;align-items:center;min-height:0}
.home-recent-grid--1 .product-art{flex:0 0 55%;align-self:center;height:auto;aspect-ratio:16/9}
.home-recent-grid--1 .product-art img{object-fit:contain}
.home-recent-grid--1 .catalog-card:hover .product-art img{transform:none}
.home-recent-grid--1 .card-body{justify-content:center;padding:36px 40px}
.home-recent-grid--1 .card-body h3{min-height:0;font-size:1.7rem}
.home-recent-grid--1 .card-body>p{min-height:0;-webkit-line-clamp:4;line-clamp:4;font-size:1.04rem}
.home-recent-grid--1 .catalog-tags{min-height:0}
.home-recent-grid--1 .catalog-card-actions{margin-top:8px}
.home-recent-grid--1 .catalog-card-actions--dual{max-width:420px}
@media (max-width:1080px){
 .home-recent-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-recent-grid--1 .catalog-card{flex-direction:column;min-height:0}
 .home-recent-grid--1 .catalog-card{align-items:stretch}
 .home-recent-grid--1 .product-art{flex:none;align-self:stretch;height:auto;aspect-ratio:16/9}
 .home-recent-grid--1 .card-body{padding:26px 26px 28px}
}
@media (max-width:700px){
 .home-recent{padding-block:56px}
 .home-recent-head{margin-bottom:26px;padding-bottom:22px}
 .home-recent-all{width:100%}
 .home-recent-grid--2,.home-recent-grid--3{grid-template-columns:1fr}
 .home-recent-grid--1 .card-body h3{font-size:1.35rem}
}

/* Styled confirmation dialog (replaces the browser's confirm box) */
.confirm-dialog{width:min(460px,calc(100% - 32px));max-width:none;padding:0;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--navy);box-shadow:0 30px 80px rgba(15,27,51,.28)}
.confirm-dialog[open]{animation:confirmIn .18s ease-out}
.confirm-dialog::backdrop{background:rgba(17,28,49,.55);backdrop-filter:blur(3px)}
@keyframes confirmIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.confirm-dialog-body{display:flex;align-items:flex-start;gap:16px;padding:26px 26px 20px}
.confirm-dialog-icon{flex-shrink:0;display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--blue-soft);color:var(--blue)}
.confirm-dialog-icon svg{width:23px;height:23px}
.confirm-dialog--danger .confirm-dialog-icon{background:#fff1f1;color:#c0303c}
.confirm-dialog--warning .confirm-dialog-icon{background:#fff8e8;color:#b77b00}
.confirm-dialog h2{margin:2px 0 6px;font-size:1.15rem;line-height:1.35;letter-spacing:-.01em}
.confirm-dialog-message{margin:0;color:var(--text);font-size:.93rem;line-height:1.6}
.confirm-dialog-items{list-style:none;margin:12px 0 0;padding:10px 12px;display:grid;gap:5px;max-height:180px;overflow:auto;border-radius:10px;background:var(--soft);border:1px solid var(--line)}
.confirm-dialog-items li{font-size:.86rem;font-weight:600;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.confirm-dialog-items li::before{content:'•';margin-inline-end:8px;color:var(--muted)}
.confirm-dialog-items .is-more{color:var(--muted);font-weight:500}
.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 26px 22px;border-top:1px solid var(--line);background:#fbfcff;border-radius:0 0 20px 20px}
.confirm-dialog-actions .button{padding:11px 20px;font-size:.94rem}
.confirm-dialog--danger [data-ok]{background:#c0303c;border-color:#c0303c;box-shadow:0 6px 16px rgba(192,48,60,.25)}
.confirm-dialog--danger [data-ok]:hover{background:#a12a2a;border-color:#a12a2a}
.confirm-dialog--warning [data-ok]{background:#b77b00;border-color:#b77b00;box-shadow:0 6px 16px rgba(183,123,0,.22)}
.confirm-dialog--warning [data-ok]:hover{background:#9a6700;border-color:#9a6700}
@media (max-width:520px){.confirm-dialog-actions{flex-direction:column-reverse}.confirm-dialog-actions .button{width:100%}}

/* Catalog cards: always show the whole 16:9 cover image (no cropping) */
.catalog-grid .product-art{height:auto;aspect-ratio:16/9}
.catalog-grid .product-art img{object-fit:contain}
.catalog-grid .catalog-card:hover .product-art img{transform:none}

/* ==========================================================================
   Product page
   ========================================================================== */
.pd-hero{padding-block:44px 80px;background:linear-gradient(180deg,var(--soft) 0%,var(--white) 100%);border-bottom:1px solid var(--line)}
.pd-hero .breadcrumbs{margin-bottom:32px}
.pd-hero .breadcrumbs [aria-current]{color:var(--navy);font-weight:600}
.pd-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:56px;align-items:start}
.pd-media{position:sticky;top:calc(var(--header-h) + 24px)}
.pd-frame{position:relative;padding:14px;border-radius:26px;background:linear-gradient(135deg,#e6f1ff,#efeaff);border:1px solid var(--blue-line);box-shadow:var(--shadow)}
.pd-frame img{display:block;width:100%;height:auto;border-radius:16px;background:var(--white)}
.pd-frame .art-symbol{display:grid;place-items:center;min-height:340px}
.pd-frame .art-symbol svg{width:96px;height:96px;color:var(--blue)}
.pd-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.pd-chip{display:inline-flex;align-items:center;padding:6px 13px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:.8rem;font-weight:700;line-height:1.3}
.pd-chip.alt{background:var(--violet-soft);color:var(--violet)}
.pd-info h1{font-size:clamp(2rem,3.4vw,3.1rem);margin-bottom:16px;overflow-wrap:anywhere}
.pd-info .lead{font-size:1.1rem;line-height:1.75;margin-bottom:22px}
.pd-info .catalog-tags{margin-bottom:26px}
.pd-buy{padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-sm)}
.pd-price{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;padding-bottom:18px;margin-bottom:20px;border-bottom:1px dashed var(--line-strong)}
.pd-price span{color:var(--muted);font-size:.9rem;font-weight:600}
.pd-price strong{color:var(--navy);font-size:2rem;font-weight:750;letter-spacing:-.02em;line-height:1.2}
.pd-price strong.on-request{color:var(--blue);font-size:1.3rem}
.pd-actions{display:flex;flex-wrap:wrap;gap:12px}
.pd-actions .button{flex:1 1 190px}
.pd-ask{display:flex;justify-content:center;gap:6px;margin-top:16px;color:var(--navy);font-size:.95rem;font-weight:650}
.pd-ask:hover{color:var(--blue)}
.pd-trust{display:grid;gap:10px;list-style:none;margin:22px 0 0;padding:20px 0 0;border-top:1px solid var(--line)}
.pd-trust li{display:flex;align-items:center;gap:10px;color:var(--text);font-size:.94rem;line-height:1.5}
.pd-trust svg{flex:none;width:22px;height:22px;padding:4px;border-radius:50%;background:var(--green-soft);color:var(--green)}
.pd-body{padding-block:88px}.pd-body+.section{padding-top:0}
.pd-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:64px;align-items:start}
.pd-details h2{margin-bottom:26px}
.pd-specs{position:sticky;top:calc(var(--header-h) + 24px);padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow)}
.pd-specs h2{font-size:1.3rem;letter-spacing:-.015em;margin-bottom:8px}
.pd-specs dl{display:grid;margin:0}
.pd-spec{display:flex;align-items:center;gap:14px;padding-block:14px;border-top:1px solid var(--line)}
.pd-spec:first-child{border-top:0}
.pd-spec>div{min-width:0}
.pd-spec-icon{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--blue-soft);color:var(--blue)}
.pd-spec-icon svg{width:20px;height:20px}
.pd-spec dt{color:var(--muted);font-size:.76rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;line-height:1.4}
.pd-spec dd{margin:2px 0 0;color:var(--navy);font-weight:650;line-height:1.45;overflow-wrap:anywhere}
.pd-spec dd .text-link{font-size:.95rem}
.pd-help{margin-top:10px;padding-top:20px;border-top:1px solid var(--line)}
.pd-help p{font-size:.93rem;line-height:1.65;margin-bottom:16px}
.pd-help .button{width:100%}
.pd-layout.no-body{grid-template-columns:1fr}
.pd-layout.no-body .pd-specs{position:static;display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:8px 40px;align-items:center}
.pd-layout.no-body .pd-specs h2{grid-column:1/-1}
.pd-layout.no-body .pd-specs dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.pd-layout.no-body .pd-spec:nth-child(2){border-top:0}
.pd-layout.no-body .pd-help{margin:0;padding:0 0 0;border:0;padding-inline-start:40px;border-inline-start:1px solid var(--line)}
body:has(.whatsapp-float) .footer-bottom{padding-bottom:104px}
@media (max-width:1100px){
 .pd-grid{gap:40px}
 .pd-layout{grid-template-columns:minmax(0,1fr) 330px;gap:40px}
}
@media (max-width:980px){
 .pd-grid{grid-template-columns:1fr;gap:32px}
 .pd-media{position:static;max-width:760px}
 .pd-layout{grid-template-columns:1fr;gap:48px}
 .pd-specs{position:static}
 .pd-layout.no-body .pd-specs{grid-template-columns:1fr}
 .pd-layout.no-body .pd-help{padding:20px 0 0;border:0;border-top:1px solid var(--line);margin-top:10px}
}
@media (max-width:620px){
 .pd-hero{padding-block:24px 48px}
 .pd-hero .breadcrumbs{margin-bottom:20px;font-size:.85rem;gap:6px}
 .pd-frame{padding:8px;border-radius:18px}
 .pd-frame img{border-radius:12px}
 .pd-frame .art-symbol{min-height:220px}
 .pd-info .lead{font-size:1.02rem}
 .pd-buy{padding:20px 18px}
 .pd-price strong{font-size:1.7rem}
 .pd-actions .button{flex-basis:100%}
 .pd-body{padding-block:56px}
 .pd-specs{padding:22px 18px}
 .pd-layout.no-body .pd-specs dl{grid-template-columns:1fr}
 .pd-layout.no-body .pd-spec:nth-child(2){border-top:1px solid var(--line)}
}
