/*
Theme Name: GeneratePress Dows Light
Template: generatepress
Version: 1.0.0
Text Domain: generatepress-dows-light
*/

:root { --dows-bg:#000; --dows-panel:#101114; --dows-text:#fff; --dows-muted:#9ca3af; --dows-accent:#00d2d3; }
body.home, body.blog, body.archive, body.search { background:var(--dows-bg); color:var(--dows-text); }

/* CSS-only neon hero: compositor-friendly transforms, no canvas, video, or scripts. */
.dows-hero { position:relative; display:grid; min-height:min(760px,calc(100vh - 72px)); overflow:hidden; place-items:center; isolation:isolate; padding:110px 20px 80px; background:radial-gradient(circle at 50% 42%,#003f3e 0,#001917 26%,#020b0c 58%,#000 100%); }
.dows-hero::before,.dows-hero::after { position:absolute; z-index:-1; content:""; pointer-events:none; }.dows-hero::before { width:min(1100px,125vw); aspect-ratio:1; border-radius:50%; background:repeating-conic-gradient(from 15deg,rgba(0,229,210,.65) 0deg 1deg,transparent 1deg 12deg); -webkit-mask:radial-gradient(circle,transparent 0 15%,#000 16% 45%,transparent 46%); mask:radial-gradient(circle,transparent 0 15%,#000 16% 45%,transparent 46%); opacity:.75; animation:dows-spin 34s linear infinite; }.dows-hero::after { inset:0; background-image:radial-gradient(#00d2d3 1px,transparent 1.5px); background-size:74px 74px; opacity:.3; }
.dows-hero__orbit { position:absolute; z-index:-1; width:min(720px,92vw); aspect-ratio:1; border:1px solid rgba(0,210,211,.4); border-radius:50%; box-shadow:0 0 80px rgba(0,210,211,.22),inset 0 0 80px rgba(0,210,211,.15); animation:dows-pulse 4.5s ease-in-out infinite; }.dows-hero__core { position:absolute; z-index:-1; width:130px; aspect-ratio:1; border:12px solid #00d2d3; border-radius:50%; box-shadow:0 0 35px #00d2d3,0 0 90px rgba(0,210,211,.65); animation:dows-pulse 3.2s ease-in-out infinite reverse; }
.dows-hero__content { max-width:1020px; text-align:center; animation:dows-rise .8s ease both; }.dows-hero__eyebrow { margin:0 0 12px; color:#84d7d7; font-size:12px; font-weight:700; letter-spacing:.22em; }.dows-hero h1 { margin:0; color:#fff; font-size:clamp(50px,10vw,108px); font-weight:900; letter-spacing:.02em; line-height:.95; text-shadow:0 0 28px rgba(0,210,211,.35); }.dows-hero h2 { margin:34px 0 20px; color:#fff; font-size:clamp(26px,4.4vw,48px); line-height:1.1; }.dows-hero h2 span { color:#00d2d3; }.dows-hero__content > p:not(.dows-hero__eyebrow) { max-width:780px; margin:0 auto; color:#e6ffff; font-size:clamp(18px,2.2vw,27px); line-height:1.45; }.dows-hero__cta { display:inline-block; margin-top:34px; padding:14px 30px; border:1px solid #00d2d3; border-radius:999px; background:linear-gradient(135deg,#00a6ae,#005e67); color:#fff; font-size:18px; font-weight:700; text-decoration:none; box-shadow:0 0 24px rgba(0,210,211,.5); transition:transform .2s ease,box-shadow .2s ease; }.dows-hero__cta:hover { color:#fff; transform:translateY(-2px); box-shadow:0 0 35px rgba(0,210,211,.8); }
.dows-hero__dot { position:absolute; z-index:-1; width:8px; aspect-ratio:1; border-radius:50%; background:#00d2d3; box-shadow:0 0 12px #00d2d3; animation:dows-float 7s ease-in-out infinite; }.dows-hero__dot--one { top:24%; left:12%; }.dows-hero__dot--two { top:38%; right:16%; animation-delay:-2s; }.dows-hero__dot--three { bottom:23%; left:21%; animation-delay:-4s; }.dows-hero__dot--four { right:27%; bottom:15%; animation-delay:-6s; }
@keyframes dows-spin { to { transform:rotate(360deg); } } @keyframes dows-pulse { 50% { transform:scale(1.06); opacity:.65; } } @keyframes dows-float { 50% { transform:translate3d(0,-24px,0); } }

/* Compact GeneratePress header and navigation. */
.site-header { border-bottom:1px solid #20242a; background:#070a10; }
.site-header .inside-header { display:flex; min-height:72px; max-width:1200px; margin:auto; padding:12px 20px; align-items:center; justify-content:space-between; }
.site-header .site-branding, .site-header .site-logo { margin:0; }
.site-header .site-logo a { display:flex; align-items:center; }
.site-header .site-logo img { display:block; width:auto; max-width:180px; max-height:46px; object-fit:contain; }
.site-header .site-title a, .site-header .site-description { color:#fff; }
.main-navigation, .main-navigation ul ul { background:#070a10; }
.main-navigation .inside-navigation { display:flex; max-width:1200px; min-height:52px; margin:auto; padding:0 20px; align-items:center; }
.main-navigation .main-nav > ul { display:flex; flex-wrap:wrap; align-items:center; }
.main-navigation .main-nav ul li a, .main-navigation .menu-toggle { color:#fff; line-height:52px; padding:0 14px; }
.main-navigation .main-nav ul li:hover > a, .main-navigation .main-nav ul li.current-menu-item > a { color:var(--dows-accent); background:transparent; }
.main-navigation .main-nav ul ul { border:1px solid #20242a; box-shadow:none; }

/* Homepage partners: static markup, no remote fonts or images. */
.dows-partners { background:var(--dows-bg); padding:clamp(40px,8vh,80px) 20px; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; content-visibility:auto; contain-intrinsic-size:1px 400px; }
.dows-partners *, .dows-blog * { box-sizing:border-box; }
.dows-partners__inner { max-width:1200px; margin:auto; }
.dows-partners__head { margin:0 0 clamp(32px,5vh,48px); text-align:center; }
.dows-partners h2 { margin:0 0 16px; color:#fff; font-size:clamp(28px,5vw,48px); line-height:1.2; }
.dows-partners p { max-width:600px; margin:auto; color:var(--dows-muted); font-size:clamp(16px,3vw,18px); line-height:1.5; }
.dows-partners__grid { display:grid; grid-template-columns:1fr; gap:2px; overflow:hidden; border:2px solid var(--dows-accent); border-radius:4px; background:var(--dows-accent); }
.dows-partners__card { display:flex; min-height:120px; align-items:center; justify-content:center; padding:30px; background:#fff; transition:background-color .2s ease; }
.dows-partners__card:hover { background:#f9fafb; }
.dows-partners__logo { display:flex; max-width:100%; align-items:center; justify-content:center; gap:8px; opacity:.72; filter:grayscale(100%); transition:opacity .2s ease,filter .2s ease,transform .2s ease; }
.dows-partners__card:hover .dows-partners__logo { opacity:1; filter:none; transform:scale(1.04); }
.dows-partners__name { color:#4b5563; font-size:20px; font-weight:600; line-height:1; }
.dows-partners svg { display:block; max-width:100%; height:auto; }
.dows-partners__head, .dows-partners__card { animation:dows-rise .55s ease both; }
.dows-partners__card:nth-child(1) { animation-delay:.08s; }
.dows-partners__card:nth-child(2) { animation-delay:.16s; }
.dows-partners__card:nth-child(3) { animation-delay:.24s; }
.dows-partners__card:nth-child(4) { animation-delay:.32s; }
@keyframes dows-rise { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }

/* Simple, low-cost blog styling. No effects, images, or extra template queries. */
.dows-blog { max-width:900px; margin:0 auto; padding:48px 20px; }
.dows-blog__title { margin:0 0 28px; color:#fff; font-size:clamp(28px,5vw,44px); }
.dows-blog .inside-article { margin-bottom:16px; padding:28px; border:1px solid #20242a; border-radius:8px; background:var(--dows-panel); box-shadow:none; }
.dows-blog .entry-title a, .dows-blog .entry-title { color:#fff; text-decoration:none; }
.dows-blog .entry-meta, .dows-blog .entry-meta a, .dows-blog .entry-summary, .dows-blog .entry-summary p, .dows-blog .entry-content { color:var(--dows-muted); }
.dows-blog .read-more, .dows-blog .read-more:hover { color:var(--dows-accent); }
.dows-blog .post-image { display:none; }
@media (min-width:600px) { .dows-partners__grid { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px) { .dows-partners__grid { grid-template-columns:repeat(4,1fr); } }
@media (max-width:768px) {
 .site-header .inside-header { min-height:64px; }
 .site-header .site-logo img { max-width:145px; max-height:40px; }
 .main-navigation .inside-navigation { padding:0; }
 .main-navigation .menu-toggle { width:100%; text-align:left; }
 .main-navigation .main-nav > ul { display:block; }
 .main-navigation .main-nav ul li a { line-height:46px; }
}
@media (prefers-reduced-motion:reduce) { .dows-hero::before,.dows-hero__orbit,.dows-hero__core,.dows-hero__dot,.dows-partners__head, .dows-partners__card { animation:none; } .dows-partners__logo { transition:none; } }

/* Exact homepage partnerships section: static CSS/SVG and no network or DB work. */
.wp-perf-section { width:100%; padding:clamp(40px,8vh,80px) 20px; background:#000; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; content-visibility:auto; contain-intrinsic-size:1px 400px; contain:layout paint style; }
.wp-perf-section * { box-sizing:border-box; }
.wp-perf-container { width:100%; max-width:1200px; margin:0 auto; }
.wp-perf-header { margin:0 0 clamp(32px,5vh,48px); text-align:center; animation:dows-rise .55s ease both; }
.wp-perf-header h2 { margin:0 0 16px; color:#fff; font-size:clamp(28px,5vw,48px); font-weight:700; line-height:1.2; }
.wp-perf-header p { max-width:600px; margin:0 auto; color:#9ca3af; font-size:clamp(16px,3vw,18px); line-height:1.5; }
.wp-perf-grid { display:grid; grid-template-columns:1fr; gap:2px; overflow:hidden; border:2px solid #00d2d3; border-radius:4px; background:#00d2d3; transform:translateZ(0); }
.wp-perf-card { display:flex; width:100%; min-height:120px; padding:30px; align-items:center; justify-content:center; background:#fff; transition:background-color .2s ease; animation:dows-rise .55s ease both; }
.wp-perf-card:nth-child(1) { animation-delay:.08s; }.wp-perf-card:nth-child(2) { animation-delay:.16s; }.wp-perf-card:nth-child(3) { animation-delay:.24s; }.wp-perf-card:nth-child(4) { animation-delay:.32s; }
.wp-perf-card:hover { background:#f9fafb; }.wp-perf-logo { display:flex; max-width:100%; gap:8px; align-items:center; justify-content:center; opacity:.7; filter:grayscale(100%); transition:opacity .3s ease,filter .3s ease,transform .3s cubic-bezier(.4,0,.2,1); }
.wp-perf-card:hover .wp-perf-logo { opacity:1; filter:grayscale(0); transform:scale(1.05); }.wp-perf-text { color:#4b5563; font-size:20px; font-weight:600; line-height:1; }.wp-perf-logo svg { display:block; max-width:100%; height:auto; }
@media (min-width:600px) { .wp-perf-grid { grid-template-columns:repeat(2,1fr); } } @media (min-width:1024px) { .wp-perf-grid { grid-template-columns:repeat(4,1fr); } } @media (prefers-reduced-motion:reduce) { .wp-perf-header,.wp-perf-card { animation:none; }.wp-perf-logo { transition:none; } }

/* Reference-matched standalone homepage header and WebGL hero. */
body.home #page { background:#000; }.tr-page { position:relative; min-height:100vh; overflow:hidden; background:#000909; color:#fff; font-family:Arial,Helvetica,sans-serif; }.tr-page a { text-decoration:none; }.tr-page #tr-reactor { position:fixed; inset:0; z-index:0; background:radial-gradient(circle at 50% 40%,#002d2b,#000909 58%,#000); pointer-events:none; }.tr-page #tr-reactor canvas { width:100%!important; height:100%!important; }.tr-header { position:relative; z-index:5; padding:0 18px; }.tr-nav { display:flex; max-width:1618px; min-height:64px; margin:0 auto; padding:0 30px; align-items:center; gap:28px; border:1px solid rgba(0,229,255,.25); border-top:0; border-radius:0 0 40px 40px; background:rgba(1,15,15,.72); box-shadow:0 10px 30px rgba(0,0,0,.35); }.tr-brand { display:flex; align-items:center; gap:12px; margin-right:auto; color:#fff; letter-spacing:.1em; font-size:21px; }.tr-mark { color:#00e5ff; font-size:38px; font-weight:900; line-height:1; text-shadow:0 0 12px #00e5ff; }.tr-links { display:flex; align-items:center; gap:18px; }.tr-links > a,.tr-services > a { color:#94a3b8; font-size:16px; font-weight:600; white-space:nowrap; }.tr-links > a:hover,.tr-services > a:hover { color:#fff; }.tr-services { position:relative; }.tr-dropdown { position:absolute; top:25px; left:-18px; display:none; width:235px; padding:10px; border:1px solid rgba(0,229,255,.25); border-radius:12px; background:rgba(2,20,20,.97); box-shadow:0 16px 35px rgba(0,0,0,.5); }.tr-services:hover .tr-dropdown,.tr-services:focus-within .tr-dropdown { display:block; }.tr-dropdown a { display:block; padding:9px; color:#cbd5e1; font-size:14px; }.tr-dropdown a:hover { border-radius:7px; background:rgba(0,229,255,.12); color:#fff; }.tr-cta { display:inline-block; padding:11px 28px; border:1px solid #00e5ff; border-radius:999px; background:linear-gradient(#00cfe1,#006975); color:#fff; font-size:16px; font-weight:700; white-space:nowrap; box-shadow:0 0 17px rgba(0,229,255,.6); }.tr-hero { position:relative; z-index:1; display:flex; min-height:calc(100vh - 64px); padding:170px 20px 100px; flex-direction:column; align-items:center; text-align:center; pointer-events:none; }.tr-hero h1 { margin:0; color:#fff; font-size:clamp(58px,9vw,106px); font-weight:900; letter-spacing:.01em; line-height:.95; text-shadow:0 0 18px rgba(0,229,255,.45); }.tr-hero h2 { max-width:1100px; margin:125px 0 18px; font-size:clamp(28px,4vw,46px); line-height:1.1; }.tr-hero h2 span { color:#00e5ff; }.tr-hero p { max-width:1000px; margin:0; font-size:clamp(20px,2.1vw,30px); line-height:1.5; }.tr-hero .tr-cta { margin-top:40px; pointer-events:auto; } @media(max-width:1050px){.tr-links{display:none}.tr-nav{border-radius:0 0 26px 26px}.tr-brand{margin-right:0}.tr-nav .tr-cta{margin-left:auto}} @media(max-width:600px){.tr-nav{padding:0 15px;gap:10px}.tr-brand{font-size:16px}.tr-mark{font-size:28px}.tr-hero{padding-top:120px}.tr-hero h2{margin-top:100px}.tr-nav>.tr-cta{padding:9px 15px;font-size:14px}}

/* Global page repair: one header, no GeneratePress menu/sidebar, dark readable content. */
.tr-page > .tr-header { display:none; }.dows-page { max-width:960px; min-height:70vh; margin:0 auto; padding:80px 24px; color:#d5e4e7; background:#070c10; }.dows-page article { padding:34px; border:1px solid #173036; border-radius:12px; background:#0c1418; }.dows-page h1 { margin-top:0; color:#fff; }.dows-page a { color:#00d2d3; }.dows-page__content { line-height:1.75; } body.page .site-content,body.page .content-area,body.page .site-main { width:100%; margin:0; padding:0; } body.page .widget-area { display:none; }

/* Hero framing follows the supplied desktop and narrow-screen reference exactly. */
.tr-hero { padding-top:150px; overflow:hidden; }
.tr-hero h1 { font-size:106px; white-space:nowrap; }
.tr-hero h2 { width:1100px; max-width:none; font-size:46px; white-space:nowrap; }
.tr-hero p { width:1000px; max-width:none; font-size:30px; }
@media (max-width:600px) { .tr-hero { min-height:485px; padding-top:72px; } .tr-hero h1 { font-size:106px; } }

/* Static homepage sections modelled on the supplied screenshots. */
.tr-section,.tr-automation,.tr-faq { position:relative; z-index:1; padding:90px 5%; background:#000f0f; color:#fff; font-family:Arial,Helvetica,sans-serif; }.tr-section h2,.tr-faq h2 { margin:0 0 22px; text-align:center; font-size:clamp(42px,5vw,70px); text-transform:none; }.tr-section h2 span,.tr-faq h2 span { color:#00d8ef; }.tr-intro,.tr-faq>p { max-width:700px; margin:0 auto 55px; color:#93aabe; text-align:center; font-size:20px; line-height:1.55; }.tr-card-row { display:flex; gap:32px; overflow-x:auto; scroll-snap-type:x mandatory; padding:20px 5px 30px; scrollbar-color:#00d2d3 #001717; }.tr-solution { position:relative; flex:0 0 min(410px,86vw); min-height:580px; padding:55px 38px 40px; border:1px solid #006b71; border-radius:28px; background:linear-gradient(155deg,rgba(0,211,220,.22),rgba(0,9,11,.96) 55%),radial-gradient(circle at top,#24405d,#071012 65%); text-align:center; scroll-snap-align:center; }.tr-solution i { display:grid; width:88px; height:88px; margin:0 auto 34px; place-items:center; border:1px solid #00cbd6; border-radius:25px; background:#09272b; color:#70f5ff; font-size:42px; font-style:normal; }.tr-solution h3 { margin:0; font-size:30px; }.tr-solution p { color:#c4d1da; font-size:19px; line-height:1.55; }.tr-solution a,.tr-portfolio a { position:absolute; right:38px; bottom:38px; left:38px; padding:16px; border:1px solid #00b9c7; border-radius:999px; color:#00dded; font-weight:800; letter-spacing:.06em; text-align:center; text-transform:uppercase; }.tr-portfolio { background:#001313; }.tr-portfolio-grid { display:grid; max-width:1250px; margin:auto; gap:60px; grid-template-columns:repeat(2,minmax(0,1fr)); }.tr-portfolio-grid article { position:relative; min-height:560px; padding:30px; border:1px solid #005c60; border-radius:30px; background:#031c1c; }.tr-shot { display:grid; height:270px; place-items:center; border-radius:20px; color:#fff; font-size:42px; font-weight:900; }.tr-shot--one { background:linear-gradient(145deg,#dde4e4,#566a6b); }.tr-shot--two { background:radial-gradient(circle at 70% 40%,#4e69b4,#142055 55%,#110a33); }.tr-portfolio h3 { font-size:28px; }.tr-portfolio p { color:#9ab1bb; font-size:18px; line-height:1.5; }.tr-automation { display:grid; gap:10%; grid-template-columns:1fr 1fr; background:linear-gradient(130deg,#14003c,#02020b 45%,#001212); }.tr-automation__visual { display:flex; min-height:440px; padding:35px; flex-direction:column; justify-content:space-between; border-radius:28px; background:linear-gradient(135deg,rgba(0,180,255,.6),rgba(11,20,56,.4)),radial-gradient(circle at 25% 80%,#7bf4ff 0 3%,transparent 4%),#0e2b58; }.tr-automation__visual b { font-size:42px; }.tr-automation__visual span { font-size:34px; }.tr-automation em { display:inline-block; padding:7px 15px; border:1px solid #6344ff; border-radius:999px; color:#fff; font-style:normal; }.tr-automation h2 { font-size:clamp(36px,4vw,64px); line-height:1.08; }.tr-automation p { color:#d7e2eb; font-size:20px; line-height:1.5; }.tr-faq { background:#000b0b; }.tr-faq details { max-width:1080px; margin:18px auto; border:1px solid #00575c; border-radius:16px; background:#001414; }.tr-faq summary { display:flex; padding:25px 30px; justify-content:space-between; color:#fff; cursor:pointer; font-family:monospace; font-size:21px; font-weight:700; }.tr-faq summary b { color:#00d8ef; font-size:28px; }.tr-faq details p { padding:0 30px 25px; color:#b5cad3; font-size:18px; } @media(max-width:760px){.tr-portfolio-grid,.tr-automation{grid-template-columns:1fr}.tr-section,.tr-automation,.tr-faq{padding:70px 20px}.tr-automation__visual{min-height:320px}.tr-faq summary{font-size:16px;padding:20px}.tr-portfolio-grid article{min-height:520px}}
