/* =============================================
   AlpTech Forensics — Premium Design System
   Inspired by beast-code.com / westsideelectricalnw.com
   Professional Dark Tech Aesthetic
   ============================================= */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;0,9..40,800;1,9..40,400&family=Space+Mono:wght@400;700&display=swap');

:root {
  --bg:          #081425;
  --bg2:         #0b1c35;
  --bg3:         #102544;
  --surface:     rgba(16, 37, 68, 0.88);
  --surface2:    rgba(11, 28, 53, 0.78);
  --line:        rgba(110, 175, 255, 0.14);
  --line-bright: rgba(110, 175, 255, 0.32);
  --text:        #f4f8ff;
  --text-dim:    #c7d7f7;
  --text-faint:  #9aa8bc;
  --accent:      #3f87ff;
  --accent-glow: rgba(63, 135, 255, 0.24);
  --accent-alt:  #2b6fe6;
  --shadow-card: 0 16px 34px rgba(0,0,0,.20), 0 1px 0 rgba(255,255,255,.04) inset;
  --shadow-hover:0 22px 52px rgba(0,0,0,.28), 0 1px 0 rgba(255,255,255,.06) inset;
  --shadow-btn:  0 4px 20px rgba(63,135,255,.32);
  --radius:    18px;
  --radius-sm: 12px;
  --radius-lg: 28px;
  --max:       1400px;
  --font-body: 'DM Sans', system-ui, sans-serif;
  --font-mono: 'Space Mono', monospace;
}

*,*::before,*::after{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{
  font-family:var(--font-body);
  background-color:var(--bg);
  background-image:
    radial-gradient(ellipse 80% 50% at 50% -10%,rgba(30,90,200,.14),transparent),
    radial-gradient(ellipse 60% 40% at 80% 60%,rgba(10,50,120,.10),transparent);
  background-attachment:fixed;
  color:var(--text);
  line-height:1.65;
  min-height:100vh;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(var(--max),calc(100% - 48px));margin:0 auto}

/* topbar removed */

/* ── HEADER ── */
.header{
  position:sticky;top:0;z-index:100;
  background:rgba(8,20,37,.82);
  backdrop-filter:blur(24px) saturate(1.4);
  -webkit-backdrop-filter:blur(24px) saturate(1.4);
  border-bottom:1px solid var(--line);
}
.header .container{
  display:flex;align-items:center;justify-content:space-between;
  padding:0;gap:20px;height:72px;
}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;flex-shrink:0}
.brand img{width:44px;height:44px;object-fit:contain}
.brand .name{
  font-family:var(--font-mono);font-size:10px;color:var(--text-faint);
  letter-spacing:.20em;text-transform:uppercase;line-height:1;margin-bottom:4px;
}
.brand .title{font-size:17px;font-weight:800;line-height:1;letter-spacing:-.03em;color:#fff}

.nav{display:flex;gap:2px;align-items:center}
.nav a{
  padding:8px 13px;border-radius:10px;font-size:13px;font-weight:600;
  color:var(--text-dim);transition:all .2s ease;white-space:nowrap;letter-spacing:-.01em;
}
.nav a:hover{background:rgba(43,143,255,.10);color:#fff}
.nav a.active,.nav a.is-active{background:rgba(43,143,255,.14);color:#fff;position:relative}
.nav a.active::after,.nav a.is-active::after{
  content:'';position:absolute;bottom:6px;left:14px;right:14px;
  height:2px;border-radius:999px;background:var(--accent);opacity:.8;
}
.menu-toggle{
  display:none;background:rgba(255,255,255,.06);border:1px solid var(--line);
  color:var(--text);padding:9px 16px;border-radius:var(--radius-sm);
  font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;transition:background .2s;
}
.menu-toggle:hover{background:rgba(255,255,255,.10)}

/* ── HERO ── */
.hero,.page-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero-bg,.page-hero .bg{
  position:absolute;inset:0;
  background:url('../../images/hero-poster.png') center/cover no-repeat;opacity:.08;
}
.hero-video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;z-index:0;opacity:.18;
}
.hero::after,.page-hero::after{
  content:'';position:absolute;inset:0;
  pointer-events:none;z-index:1;opacity:.35;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
}
.hero-overlay,.page-hero .overlay{
  position:absolute;inset:0;z-index:0;
  background:
    linear-gradient(135deg,rgba(3,8,18,.96) 0%,rgba(5,15,35,.82) 50%,rgba(8,20,45,.70) 100%),
    radial-gradient(ellipse 70% 80% at 0% 50%,rgba(20,80,180,.18),transparent 55%);
}
.hero .container{
  position:relative;z-index:2;padding:100px 0 80px;
  display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:start;
}
.page-hero .container{position:relative;z-index:2;padding:56px 0 44px}

.badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 16px;border:1px solid rgba(43,143,255,.30);border-radius:999px;
  background:rgba(43,143,255,.08);color:#7bbfff;
  font-family:var(--font-mono);font-size:11px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(8px);
}
.badge::before{
  content:'';width:6px;height:6px;border-radius:50%;
  background:var(--accent);box-shadow:0 0 8px var(--accent);flex-shrink:0;
}

.hero h1{
  font-size:clamp(36px,4.6vw,58px);line-height:1.04;letter-spacing:-.04em;
  color:#fff;margin:20px 0 20px;font-weight:800;max-width:14ch;
}
.page-hero h1,.section h2{
  font-size:clamp(26px,2.8vw,40px);line-height:1.08;letter-spacing:-.035em;
  margin:0 0 12px;color:#fff;font-weight:800;
}
.hero p,.page-hero p{font-size:15.5px;color:var(--text-dim);max-width:680px;margin:0;line-height:1.75}
.lead{font-size:15px;color:var(--text-dim);max-width:780px;margin:0;line-height:1.75}
.section-header p,.section-header .lead{font-size:15px;color:var(--text-dim);max-width:600px;line-height:1.75}

.hero-points{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 36px;padding:0;list-style:none}
.hero-points li{
  padding:8px 14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);
  border-radius:999px;color:var(--text-dim);font-size:12.5px;font-weight:600;
  letter-spacing:.01em;transition:border-color .2s,color .2s;
}
.hero-points li:hover{border-color:rgba(43,143,255,.30);color:var(--text)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}

/* ── BUTTONS ── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 22px;border-radius:var(--radius-sm);font-family:var(--font-body);
  font-weight:700;font-size:13.5px;letter-spacing:-.01em;
  transition:all .22s ease;border:1px solid transparent;cursor:pointer;white-space:nowrap;
}
.btn-primary{background:var(--accent);color:#fff;border-color:rgba(255,255,255,.08);box-shadow:var(--shadow-btn)}
.btn-primary:hover{background:#1d7ff0;transform:translateY(-2px);box-shadow:0 8px 32px rgba(43,143,255,.44)}
.btn-secondary{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);color:var(--text-dim)}
.btn-secondary:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.22);color:var(--text);transform:translateY(-1px)}

/* ── HERO SIDE CARD ── */
.hero-card{
  background:rgba(8,18,36,.88);border:1px solid var(--line);
  padding:28px;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);
  backdrop-filter:blur(12px);position:relative;overflow:hidden;
}
.hero-card::before{
  content:'';position:absolute;top:0;right:0;width:200px;height:200px;
  border-radius:50%;background:radial-gradient(circle,rgba(43,143,255,.10),transparent 65%);pointer-events:none;
}
.hero-card h3,.card .meta-title{
  font-family:var(--font-mono);font-size:10px;color:var(--accent);
  letter-spacing:.18em;text-transform:uppercase;margin:0 0 14px;font-weight:700;
}
.hero-card .quote{
  font-size:18px;font-weight:700;line-height:1.48;color:#ddeeff;letter-spacing:-.02em;
  border-left:3px solid var(--accent);padding-left:16px;margin-bottom:18px;
}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.metric-box{
  padding:16px;border-radius:var(--radius-sm);
  background:rgba(255,255,255,.04);border:1px solid var(--line);transition:border-color .2s;
}
.metric-box:hover{border-color:var(--line-bright)}
.metric-box strong{display:block;font-size:14px;font-weight:700;margin-bottom:6px;color:#e8f2ff;letter-spacing:-.01em}
.muted{color:var(--text-dim)}
.metric-box .muted{font-size:12.5px;line-height:1.6}

/* ── SECTIONS ── */
.section{padding:88px 0}
.section-tight{padding:64px 0}
.section-alt{
  background:
    linear-gradient(180deg,rgba(8,18,38,.55),rgba(5,12,28,.40)),
    repeating-linear-gradient(0deg,transparent,transparent 39px,rgba(43,143,255,.022) 40px);
}
.section-header{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;flex-wrap:wrap;margin-bottom:36px}

.eyebrow{
  font-family:var(--font-mono);font-size:11px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;
  display:flex;align-items:center;gap:10px;
}
.eyebrow::before{content:'//';opacity:.55;font-size:10px}

/* ── CARDS ── */
.grid{display:grid;gap:20px}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:24px;box-shadow:var(--shadow-card);transition:all .28s ease;position:relative;
}
.card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(43,143,255,.20),transparent);
  border-radius:var(--radius) var(--radius) 0 0;opacity:0;transition:opacity .28s;
}
.card:hover{transform:translateY(-4px);border-color:var(--line-bright);box-shadow:var(--shadow-hover)}
.card:hover::before{opacity:1}
.card.clickable{overflow:hidden}
.card.clickable a.cover-link{position:absolute;inset:0;z-index:2;cursor:pointer}
.card.clickable .link{pointer-events:none}
.card.clickable h3,.card.clickable p,.card.clickable .meta-title,.card.clickable .eyebrow,
.card.clickable img,.card.clickable .home-card-fallback,
.card.clickable .service-card-fallback,.card.clickable .patent-card-fallback,
.card.clickable .news-card-fallback{pointer-events:none}
.card h3{font-size:20px;line-height:1.22;margin:0 0 12px;color:#fff;font-weight:700;letter-spacing:-.025em}
.card p{margin:0;color:var(--text-dim);font-size:14.5px;line-height:1.75}
.card .link{
  display:inline-flex;align-items:center;gap:6px;margin-top:18px;
  font-weight:700;font-size:13px;color:var(--accent);position:relative;z-index:3;
  letter-spacing:.01em;transition:gap .2s,color .2s;
}
.card .link::after{content:'→';font-size:14px;transition:transform .2s}
.card.clickable:hover .link{color:#fff;gap:8px}
.card.clickable:hover .link::after{transform:translateX(2px)}
.icon-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent);margin-bottom:12px}

/* ── CARD IMAGES ── */
.home-card-image,.service-card-image,.patent-card-image,.news-card-image{
  width:100%;height:210px;object-fit:cover;border-radius:var(--radius-sm);
  margin-bottom:18px;border:1px solid var(--line);background:rgba(255,255,255,.03);transition:opacity .25s;
}
.patent-card-image,.news-card-image{height:230px}
.home-card-fallback,.service-card-fallback,.patent-card-fallback,.news-card-fallback{
  width:100%;height:210px;border-radius:var(--radius-sm);margin-bottom:18px;
  border:1px solid var(--line);background:linear-gradient(135deg,rgba(43,143,255,.06),rgba(5,14,30,.60));
  display:flex;align-items:center;justify-content:center;
}
.patent-card-fallback,.news-card-fallback{height:230px}

.home-card-copy,.service-card-copy,.patent-card-copy,.news-card-copy{display:flex;flex-direction:column;min-height:160px}
.home-card-copy h3,.service-card-copy h3,.patent-card-copy h3,.news-card-copy h3{
  min-height:54px;line-height:1.28;margin-bottom:10px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.home-card-copy p,.service-card-copy p,.patent-card-copy p,.news-card-copy p{
  min-height:88px;margin-bottom:14px;line-height:1.72;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;
}
.home-card-copy .link,.service-card-copy .link,.patent-card-copy .link,.news-card-copy .link{margin-top:auto}

/* ── FEATURE LIST ── */
.feature-list{display:grid;gap:12px;margin:24px 0 0;padding:0;list-style:none}
.feature-list li{
  padding:16px 20px 16px 44px;background:rgba(255,255,255,.03);
  border:1px solid var(--line);border-radius:var(--radius-sm);font-size:14.5px;
  color:var(--text-dim);line-height:1.7;position:relative;transition:border-color .2s,background .2s;
}
.feature-list li::before{
  content:'✓';position:absolute;left:18px;top:50%;transform:translateY(-50%);
  font-family:var(--font-mono);font-size:12px;color:var(--accent);font-weight:700;
}
.feature-list li:hover{background:rgba(43,143,255,.05);border-color:rgba(43,143,255,.20)}
.feature-list li strong{color:var(--text)}

/* ── SPLIT ── */
.split{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}

/* ── CTA BAND ── */
.cta-band{
  padding:36px;border-radius:var(--radius-lg);
  background:linear-gradient(135deg,rgba(16,50,100,.90),rgba(5,18,40,.95)),
    radial-gradient(ellipse at right,rgba(43,143,255,.18),transparent 55%);
  border:1px solid rgba(43,143,255,.22);display:flex;
  justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;
  box-shadow:var(--shadow-card);
}

/* ── TIMELINE ── */
.timeline{display:grid;gap:3px;counter-reset:timeline}
.timeline .step{
  padding:22px 24px 22px 68px;border-radius:var(--radius-sm);
  background:rgba(255,255,255,.03);border:1px solid var(--line);
  font-size:14.5px;color:var(--text-dim);position:relative;
  counter-increment:timeline;transition:border-color .2s,background .2s;
}
.timeline .step::before{
  content:counter(timeline,decimal-leading-zero);
  position:absolute;left:22px;top:50%;transform:translateY(-50%);
  font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--accent);letter-spacing:.05em;
}
.timeline .step:hover{background:rgba(43,143,255,.05);border-color:rgba(43,143,255,.22)}
.timeline .step strong{display:block;font-size:15px;font-weight:700;margin-bottom:6px;color:var(--text);letter-spacing:-.02em}

/* ── KPI STRIP ── */
.kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.kpi{padding:24px;border-radius:var(--radius);background:rgba(255,255,255,.03);border:1px solid var(--line)}
.kpi strong{display:block;font-size:32px;line-height:1;margin-bottom:8px;color:#fff;font-weight:800;letter-spacing:-.04em}

/* ── TABLE-LIKE ── */
.table-like{display:grid;gap:12px}
.row-item{
  display:grid;grid-template-columns:200px 1fr;gap:20px;
  padding:20px 22px;border-radius:var(--radius-sm);
  background:rgba(255,255,255,.03);border:1px solid var(--line);
  font-size:14.5px;transition:border-color .2s;
}
.row-item:hover{border-color:var(--line-bright)}
.row-item .label{color:var(--accent);font-weight:700;font-size:13px;font-family:var(--font-mono);letter-spacing:.03em}

/* ── FAQ ── */
.faq{display:grid;gap:10px}
.faq details{
  background:rgba(255,255,255,.03);border:1px solid var(--line);
  border-radius:var(--radius-sm);padding:18px 22px;transition:border-color .2s;
}
.faq details[open]{border-color:rgba(43,143,255,.25);background:rgba(43,143,255,.04)}
.faq summary{
  cursor:pointer;font-weight:700;font-size:15px;color:var(--text);list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-size:18px;color:var(--accent);flex-shrink:0;transition:transform .2s}
.faq details[open] summary::after{content:'−'}
.faq details p{color:var(--text-dim);margin:14px 0 0;font-size:14.5px;line-height:1.8}

/* ── CONTACT ── */
.contact-card{padding:28px;border-radius:var(--radius);background:rgba(255,255,255,.03);border:1px solid var(--line)}
.contact-list{display:grid;gap:10px;padding:0;list-style:none;margin:0}
.contact-list li{padding:14px 18px;border-radius:var(--radius-sm);background:rgba(255,255,255,.03);font-size:14.5px;border:1px solid var(--line)}

/* ── FORMS ── */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
input,textarea,select{
  width:100%;padding:14px 16px;border-radius:var(--radius-sm);
  border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);
  font:inherit;font-size:14.5px;transition:border-color .2s,background .2s;outline:none;
}
input:focus,textarea:focus,select:focus{border-color:rgba(43,143,255,.45);background:rgba(43,143,255,.04)}
input::placeholder,textarea::placeholder{color:var(--text-faint)}
textarea{min-height:160px;resize:vertical}

/* ── MISC ── */
.notice{padding:16px 20px;border-radius:var(--radius-sm);background:rgba(255,255,255,.03);border:1px solid var(--line);color:var(--text-dim);font-size:14px}
.helper-note{font-size:13px;color:#7bbfff;line-height:1.7}
.breadcrumbs{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:var(--text-dim);font-size:12.5px;font-family:var(--font-mono);margin-bottom:16px}
.breadcrumbs span{opacity:.5}
.section-anchor{scroll-margin-top:90px}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.reveal.show{opacity:1;transform:none}
.page-hero .breadcrumbs,.page-hero .eyebrow,.page-hero h1,.page-hero p{position:relative;z-index:2}

/* ── FOOTER ── */
.footer{
  padding:0;border-top:1px solid var(--line);
  background:linear-gradient(180deg,rgba(3,7,16,.98),rgba(2,5,12,1)),
    radial-gradient(circle at 80% 100%,rgba(43,143,255,.06),transparent 35%);
}
.footer .container{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;flex-wrap:wrap}
.footer-brand{max-width:480px}
.footer-brand strong{display:block;font-size:15px;color:#fff;margin-bottom:8px}
.footer-nav{display:flex;gap:14px;flex-wrap:wrap;color:var(--text-dim);font-size:13.5px}
.footer-nav a{padding:6px 0;transition:color .2s}
.footer-nav a:hover{color:var(--text)}

/* ── FOOTER PRO ── */
.footer .container.footer-pro{display:block!important;justify-content:initial!important;align-items:initial!important;flex-wrap:nowrap!important;gap:0!important}
.footer-pro{padding-top:56px;padding-bottom:24px}
.footer-pro-wrap{display:grid;grid-template-columns:280px minmax(0,1fr);gap:56px;align-items:center;width:100%}
.footer-pro-left{display:flex;flex-direction:column;gap:18px}
.footer-pro-brand{display:flex;flex-direction:column;gap:6px}
.footer-pro-kicker{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:700}
.footer-pro-title{margin:0;font-size:28px;line-height:1.1;font-weight:800;color:#fff;letter-spacing:-.03em}
.footer-pro-text{margin:0;font-size:14.5px;line-height:1.85;color:var(--text-dim)}
.footer-pro-contact{display:grid;gap:10px;margin-top:4px}
.footer-pro-contact a,.footer-pro-contact div{color:var(--text);font-size:14px;line-height:1.7}
.footer-pro-contact a:hover{color:var(--accent)}
.footer-pro-right{
  justify-self:end;width:min(100%,900px);min-height:220px;
  display:flex;align-items:center;justify-content:space-between;gap:28px;
  padding:36px 40px;border-radius:var(--radius-lg);
  background:linear-gradient(135deg,rgba(10,30,60,.88),rgba(4,14,32,.78)),
    radial-gradient(circle at right center,rgba(43,143,255,.16),transparent 38%);
  border:1px solid rgba(43,143,255,.18);box-shadow:0 8px 40px rgba(0,0,0,.22);
  overflow:hidden;position:relative;
}
.footer-pro-right::after{
  content:'';position:absolute;inset:auto -80px -80px auto;width:240px;height:240px;
  border-radius:50%;background:radial-gradient(circle,rgba(43,143,255,.10),transparent 65%);pointer-events:none;
}
.footer-pro-cta{position:relative;z-index:1;max-width:620px}
.footer-pro-cta h2{margin:0;font-size:clamp(32px,3.8vw,54px);line-height:1.06;letter-spacing:-.04em;color:#fff;font-weight:800}
.footer-pro-cta p{margin:14px 0 0;color:var(--text-dim);font-size:15px;line-height:1.80}
.footer-pro-action{position:relative;z-index:1;flex:0 0 auto;margin-left:auto}
.footer-pro-round{
  width:88px;height:88px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.14);background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(228,240,255,.88));
  color:#071428;font-size:36px;line-height:1;transition:all .22s ease;box-shadow:0 10px 28px rgba(0,0,0,.22);
}
.footer-pro-round:hover{transform:translateY(-2px) rotate(10deg);box-shadow:0 16px 36px rgba(0,0,0,.30)}
.footer-pro-bottom{
  margin-top:36px;padding-top:18px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
}
.footer-pro-copy,.footer-pro-links a{font-size:13px;color:var(--text-faint);line-height:1.7;font-family:var(--font-mono)}
.footer-pro-links{display:flex;gap:20px;flex-wrap:wrap}
.footer-pro-links a:hover{color:var(--text-dim)}

/* ── HOME-SPECIFIC OVERRIDES ── */
.hero .container{align-items:flex-start;column-gap:56px}
.hero .container>div:first-child{max-width:800px;padding-right:12px}
.hero h1{max-width:760px}
.hero p{max-width:720px}
.hero-card{width:min(100%,520px);margin-top:-10px;margin-left:48px}

.home-card-image{
  width:100%;aspect-ratio:16/9;height:auto;max-height:190px;
  object-fit:cover;object-position:center;border-radius:var(--radius-sm);
  margin-bottom:16px;border:1px solid var(--line);background:rgba(255,255,255,.03);
}
.home-card-fallback{
  width:100%;aspect-ratio:16/9;max-height:190px;border-radius:var(--radius-sm);
  margin-bottom:16px;border:1px solid var(--line);
  background:linear-gradient(135deg,rgba(43,143,255,.06),rgba(5,14,30,.60));
  display:flex;align-items:center;justify-content:center;
}
.home-card-copy{display:flex;flex-direction:column;min-height:160px}
.home-card-copy h3{min-height:58px;line-height:1.3;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.home-card-copy p{min-height:96px;margin-bottom:16px;line-height:1.75;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.home-card-copy .link{margin-top:auto}
.home-news-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.home-news-grid .card{display:flex;flex-direction:column;min-height:100%}

/* Teacher Showcase */
.teacher-showcase{position:relative;overflow:hidden}
.teacher-showcase::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at top right,rgba(43,143,255,.10),transparent 30%),
    linear-gradient(135deg,rgba(255,255,255,.025),rgba(255,255,255,.008));
}
.teacher-showcase-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);gap:24px;align-items:stretch}
.teacher-showcase-main{
  padding:36px;background:linear-gradient(180deg,rgba(10,22,44,.94),rgba(6,15,32,.98));
  border:1px solid var(--line);border-radius:var(--radius);
}
.teacher-showcase-main h2{margin-bottom:16px;max-width:20ch;line-height:1.1;font-size:clamp(22px,2.5vw,34px)}
.teacher-showcase-main>p{max-width:780px;line-height:1.85;color:var(--text-dim)}
.teacher-showcase-note{
  margin-top:18px;padding:14px 18px;border-radius:var(--radius-sm);
  background:rgba(43,143,255,.06);border:1px solid rgba(43,143,255,.18);
  color:var(--text-dim);line-height:1.8;font-size:14px;
}
.teacher-showcase-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0 26px}
.teacher-showcase-point{padding:16px;border-radius:var(--radius-sm);background:rgba(255,255,255,.03);border:1px solid var(--line);transition:border-color .2s}
.teacher-showcase-point:hover{border-color:var(--line-bright)}
.teacher-showcase-point strong{display:block;margin-bottom:6px;color:#fff;font-size:14px;font-weight:700}
.teacher-showcase-point span{display:block;color:var(--text-dim);line-height:1.7;font-size:13.5px}
.teacher-showcase-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}
.teacher-showcase-side{display:grid;gap:18px}
.teacher-showcase-side .card{min-height:100%}
.teacher-kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.teacher-kpi-box{padding:16px;border-radius:var(--radius-sm);background:rgba(255,255,255,.03);border:1px solid var(--line)}
.teacher-kpi-box strong{display:block;color:#fff;font-size:22px;font-weight:800;line-height:1;margin-bottom:8px;letter-spacing:-.03em}
.teacher-kpi-box span{display:block;color:var(--text-dim);font-size:12.5px;line-height:1.65}
.teacher-flow-list{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:4px}
.teacher-flow-list li{
  display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:flex-start;
  padding:14px 0;border-bottom:1px solid var(--line);color:var(--text-dim);font-size:14px;
}
.teacher-flow-list li:last-child{border-bottom:none;padding-bottom:0}
.teacher-flow-step{
  width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--accent);
  background:rgba(43,143,255,.12);border:1px solid rgba(43,143,255,.25);flex-shrink:0;
}

/* Split-three layout */
.section.section-alt .split-three-align{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.section.section-alt .split-three-align>.split-main{grid-column:1/span 2;min-width:0}
.section.section-alt .split-three-align>.split-side{grid-column:3;width:100%;margin:0;min-width:0}
.section.section-alt .split-three-align>.split-side h3{line-height:1.22;margin-bottom:14px}
.section.section-alt .split-three-align>.split-side p{line-height:1.75;margin-bottom:18px}
.section.section-alt .split-three-align>.split-side .hero-grid{margin-top:18px}
.section.section-alt .split-three-align>.split-side .metric-box{min-height:148px}
.patent-empty{max-width:100%}

/* ── RESPONSIVE ── */
@media(max-width:1200px){
  .hero-card{margin-left:0;width:100%}
  .hero .container>div:first-child,.hero h1,.hero p{max-width:100%}
  .home-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .teacher-showcase-grid{grid-template-columns:1fr}
  .footer-pro-wrap{grid-template-columns:1fr;gap:28px}
  .footer-pro-right{justify-self:stretch;width:100%;min-height:auto}
}
@media(max-width:980px){
  .hero .container,.split,.grid-3,.grid-2,.kpi-strip,.form-grid{grid-template-columns:1fr}
  .row-item{grid-template-columns:1fr}
  .section.section-alt .split-three-align{grid-template-columns:1fr}
  .section.section-alt .split-three-align>.split-main,
  .section.section-alt .split-three-align>.split-side{grid-column:auto}
  .hero-card{margin-top:0;margin-left:0;width:100%}
  .nav{
    display:none;position:absolute;left:16px;right:16px;top:80px;
    background:rgba(5,11,22,.98);padding:12px;border-radius:var(--radius);
    border:1px solid var(--line);box-shadow:var(--shadow-hover);backdrop-filter:blur(20px);
  }
  .nav.show{display:flex;flex-direction:column}
  .nav a.active::after,.nav a.is-active::after{display:none}
  .menu-toggle{display:inline-flex}
  .hero .container{padding:92px 0 72px}
}
@media(max-width:820px){
  .footer-pro-right{padding:28px 24px;flex-direction:column;align-items:flex-start}
  .footer-pro-cta{max-width:100%}
  .footer-pro-cta h2{font-size:36px}
  .footer-pro-action{align-self:flex-end;margin-left:0}
}
@media(max-width:767px){
  .container{width:min(var(--max),calc(100% - 32px))}
  .hero-actions{width:100%}
  .hero-actions .btn{width:100%;justify-content:center}
  .home-card-copy,.service-card-copy,.patent-card-copy,.news-card-copy{min-height:auto}
  .home-card-copy h3,.service-card-copy h3,.patent-card-copy h3,.news-card-copy h3,
  .home-card-copy p,.service-card-copy p,.patent-card-copy p,.news-card-copy p{min-height:auto}
  .home-card-image,.home-card-fallback{max-height:none}
  .home-news-grid{grid-template-columns:1fr}
  .teacher-showcase-main{padding:22px}
  .teacher-showcase-points,.teacher-kpi-grid{grid-template-columns:1fr}
  .footer-pro{padding-top:40px}
  .footer-pro-title{font-size:22px}
  .footer-pro-cta h2{font-size:28px}
  .footer-pro-round{width:72px;height:72px;font-size:30px}
}
@media(max-width:991px),(prefers-reduced-motion:reduce){
  .reveal{opacity:1!important;visibility:visible!important;transform:none!important;filter:none!important;transition:none!important;animation:none!important}
  .show{opacity:1!important;visibility:visible!important;transform:none!important}
  .page-hero,.page-hero *,.section,.section *,.card,.card *,
  .news-grid-4,.news-grid-4 *,.news-detail-grid,.news-detail-grid *,
  .news-main-content,.news-main-content *{
    opacity:1!important;visibility:visible!important;transform:none!important;filter:none!important;animation:none!important;
  }
}

.page-hero .container{padding:52px 0 40px}
.split,.news-detail-grid{gap:28px}
.card h2{margin-bottom:14px}
.card p,.card li{line-height:1.80}
@media(max-width:991px){.page-hero .container{padding:40px 0 30px}}

/* ============================================================
   PAGE-SPECIFIC STYLES — Consolidated from inline blocks
   ============================================================ */

/* ── NEWS DETAILS ── */
.page-hero.news-detail-hero .container { padding: 18px 0 14px; }
.page-hero.news-detail-hero h1 { max-width: 1020px; margin-bottom: 10px; line-height: 1.08; font-size: clamp(2rem, 4vw, 3.4rem); }
.page-hero.news-detail-hero p { max-width: 980px; margin-bottom: 0; line-height: 1.6; }

.news-meta-row { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0 0; }
.news-meta-badge {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 14px; border-radius: 999px;
  background: rgba(43,143,255,.10); border: 1px solid rgba(43,143,255,.22);
  color: #d9e7ff; font-size: 12.5px; font-family: var(--font-mono); letter-spacing: .03em;
}

.news-detail-section { padding-top: 12px; }
.news-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 28px; align-items: start; }
.news-detail-main { min-width: 0; }
.news-detail-sidebar { position: sticky; top: 88px; align-self: start; display: grid; gap: 18px; }

.news-detail-image {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: none;
  object-fit: initial;
  object-position: center top;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: transparent;
}
.news-main-card { margin-top: 18px; }
.news-main-content { line-height: 1.9; color: rgba(231, 239, 255, .92); word-break: break-word; }
.news-main-content > *:first-child { margin-top: 0; }
.news-main-content h2, .news-main-content h3 { scroll-margin-top: 100px; line-height: 1.25; letter-spacing: -0.015em; }
.news-main-content h2 { margin: 34px 0 16px; font-size: clamp(1.4rem, 2vw, 1.8rem); }
.news-main-content h3 { margin: 26px 0 12px; font-size: clamp(1.12rem, 1.6vw, 1.28rem); color: #f1f5ff; }
.news-main-content p { margin: 0 0 18px; }
.news-main-content ul, .news-main-content ol { margin: 0 0 22px 0; padding-left: 22px; display: grid; gap: 10px; }
.news-main-content li { line-height: 1.8; }
.news-main-content blockquote {
  margin: 24px 0; padding: 18px 22px;
  border-left: 3px solid var(--accent);
  background: rgba(43,143,255,.06); border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  color: #eaf2ff;
}
.news-main-content a { color: #8fc7ff; text-decoration: underline; text-underline-offset: 3px; }
.news-main-content code {
  display: inline-block; padding: 2px 8px; border-radius: 8px;
  background: rgba(43,143,255,.10); border: 1px solid rgba(43,143,255,.20);
  font-family: var(--font-mono); font-size: .9em;
}

.news-toc-card {
  position: relative; overflow: hidden; padding: 22px 20px;
  border-radius: var(--radius); background: linear-gradient(180deg, rgba(10,26,52,.96), rgba(6,16,34,.96));
  border: 1px solid rgba(43,143,255,.18); box-shadow: 0 12px 32px rgba(0,0,0,.22);
}
.news-toc-card::before {
  content: ''; position: absolute; inset: 0 0 auto 0; height: 80px;
  background: linear-gradient(180deg, rgba(43,143,255,.08), transparent);
  pointer-events: none;
}
.news-toc-card h3 { position: relative; margin: 0 0 16px; line-height: 1.2; }
.news-toc-scroll { max-height: calc(100vh - 210px); overflow: auto; padding-right: 6px; scrollbar-width: thin; scrollbar-color: rgba(43,143,255,.4) transparent; }
.news-toc-scroll::-webkit-scrollbar { width: 6px; }
.news-toc-scroll::-webkit-scrollbar-track { background: transparent; }
.news-toc-scroll::-webkit-scrollbar-thumb { background: rgba(43,143,255,.35); border-radius: 999px; }
.news-toc-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.news-toc-item { margin: 0; }
.news-toc-link {
  display: grid; grid-template-columns: 32px minmax(0,1fr); align-items: start; gap: 12px;
  color: var(--text); text-decoration: none; padding: 11px 13px; border-radius: var(--radius-sm);
  background: rgba(255,255,255,.03); border: 1px solid var(--line);
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.news-toc-link:hover { transform: translateY(-1px); background: rgba(43,143,255,.08); border-color: rgba(43,143,255,.24); }
.news-toc-index {
  display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px; border-radius: 10px;
  background: rgba(43,143,255,.12); border: 1px solid rgba(43,143,255,.22);
  color: var(--accent); font-family: var(--font-mono); font-size: 11px; font-weight: 700;
}
.news-toc-text { display: block; line-height: 1.55; font-size: 14.5px; }
.news-toc-item.toc-level-h3 .news-toc-link { grid-template-columns: 26px minmax(0,1fr); margin-left: 18px; padding: 9px 11px; }
.news-toc-item.toc-level-h3 .news-toc-index { width: 26px; height: 26px; border-radius: 8px; font-size: 10px; }
.news-toc-item.toc-level-h3 .news-toc-text { font-size: 13.5px; opacity: .9; }

.news-actions-card { display: flex; flex-direction: column; gap: 14px; }
.news-doc-link { display: inline-flex; align-items: center; justify-content: center; width: 100%; }

.news-related-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.news-related-list li a {
  display: block; padding: 13px 16px; border-radius: var(--radius-sm);
  background: rgba(255,255,255,.03); border: 1px solid var(--line);
  color: var(--text); text-decoration: none; line-height: 1.55;
  transition: border-color .2s, background .2s;
}
.news-related-list li a:hover { background: rgba(43,143,255,.06); border-color: rgba(43,143,255,.22); }
.news-related-list li a span { display: block; color: var(--text-dim); font-size: 13px; margin-top: 5px; }

.news-support-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 24px; }
.news-support-box { padding: 22px; border-radius: var(--radius-sm); background: rgba(255,255,255,.03); border: 1px solid var(--line); }
.news-support-box h3 { margin: 0 0 10px; }
.news-mini-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.news-mini-list li { padding: 13px 16px; border-radius: var(--radius-sm); background: rgba(255,255,255,.03); border: 1px solid var(--line); }

.page-hero.news-detail-hero .container,
.page-hero.news-detail-hero .container *,
.news-detail-section, .news-detail-section *,
.news-detail-main, .news-detail-main *,
.news-detail-sidebar, .news-detail-sidebar * {
  opacity: 1 !important; visibility: visible !important;
  transform: none !important; filter: none !important; animation: none !important;
}

@media (max-width: 1100px) {
  .page-hero.news-detail-hero .container { padding: 16px 0 12px; }
  .news-detail-grid { grid-template-columns: 1fr; }
  .news-detail-sidebar { position: static; order: 2; }
  .news-toc-scroll { max-height: none; overflow: visible; padding-right: 0; }
  .news-support-grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .page-hero.news-detail-hero h1 { font-size: clamp(1.7rem, 8vw, 2.5rem); }
  .page-hero.news-detail-hero p { font-size: 16px; }
  .news-detail-image { max-height: none; }
  .news-toc-card { padding: 18px 16px; }
  .news-toc-link { grid-template-columns: 28px minmax(0,1fr); gap: 10px; padding: 10px 11px; }
  .news-toc-index { width: 28px; height: 28px; }
}

/* ── CONTACT PAGE ── */
.form-alert { border-radius: var(--radius-sm); padding: 14px 16px; margin-bottom: 16px; line-height: 1.6; }
.form-alert.success { background: rgba(22,101,52,.30); border: 1px solid rgba(34,197,94,.35); color: #eafff1; }
.form-alert.error { background: rgba(127,29,29,.30); border: 1px solid rgba(248,113,113,.35); color: #fff1f2; }
.contact-card input, .contact-card textarea { width: 100%; }
.contact-card textarea { min-height: 170px; resize: vertical; }
.honeypot-wrap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.kvkk-box { margin-top: 16px; padding: 16px 18px; border-radius: var(--radius-sm); background: rgba(255,255,255,.03); border: 1px solid var(--line); }
.kvkk-check { display: flex; align-items: flex-start; gap: 12px; color: var(--text-dim); font-size: 14px; line-height: 1.8; }
.kvkk-check input { width: 18px; height: 18px; margin-top: 4px; flex: 0 0 auto; }
.kvkk-check a { color: var(--accent); }
.kvkk-check a:hover { color: #fff; }

/* ── MATH TECH PAGE ── */
.math-focus-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(320px,.8fr); gap: 24px; }
.math-stack { display: grid; gap: 24px; }
.math-app-card, .math-side-card, .math-generator-card, .math-result-card { padding: 28px; }
.math-select-dark {
  appearance: none;
  background: linear-gradient(180deg, rgba(10,20,40,.96), rgba(6,14,28,.96)),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%232b8fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat, no-repeat;
  background-position: center right 14px, center right 14px;
  background-size: auto, 16px 16px;
  color: #eef6ff; border: 1px solid rgba(43,143,255,.22);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 8px 20px rgba(0,0,0,.18);
  padding-right: 44px;
}
.math-select-dark:hover { border-color: rgba(43,143,255,.38); }
.math-select-dark:focus { border-color: rgba(43,143,255,.7); box-shadow: 0 0 0 3px rgba(43,143,255,.16), inset 0 1px 0 rgba(255,255,255,.05); }
.math-select-dark option { background: #0b1c35; color: #eef6ff; }
.math-lead-tight { color: var(--text-dim); line-height: 1.8; }
.math-output-block { display: grid; gap: 12px; }
.math-support-grid { display: grid; gap: 14px; }
.math-support-box { padding: 16px 18px; border-radius: var(--radius-sm); background: rgba(255,255,255,.03); border: 1px solid var(--line); }
.math-support-box h3 { margin: 0 0 8px; font-size: 18px; color: #fff; }
.math-support-box p { margin: 0; color: var(--text-dim); line-height: 1.7; }
.math-compact-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.math-compact-list li { padding: 11px 12px; border-radius: var(--radius-sm); background: rgba(255,255,255,.03); border: 1px solid var(--line); color: var(--text-dim); }
.math-generator-result { display: none; margin-top: 18px; }
.math-generator-items { display: grid; gap: 16px; margin-top: 14px; }
.math-generator-feedback { margin-top: 12px; color: var(--text-dim); line-height: 1.7; }
.math-generator-limit-note { margin: 14px 0 18px; padding: 14px 16px; border-radius: var(--radius-sm); background: rgba(255,255,255,.03); border: 1px solid var(--line); color: var(--text-dim); line-height: 1.7; }
.math-generator-limit-note.is-warning { background: rgba(120,83,13,.22); border-color: rgba(245,158,11,.40); color: #ffecbf; }
.math-generator-limit-note.is-danger { background: rgba(107,33,44,.26); border-color: rgba(248,113,113,.40); color: #ffd6dd; }
.math-generator-limit-note.is-ok { background: rgba(20,83,45,.20); border-color: rgba(74,222,128,.32); color: #d7ffe5; }
.math-feedback-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.math-result-answer { margin-top: 6px; }
.math-subtle-note { margin-top: 8px; color: var(--text-dim); font-size: 14px; line-height: 1.7; }
.math-convert-box { padding: 18px; border-radius: var(--radius-sm); background: rgba(255,255,255,.03); border: 1px solid var(--line); margin-top: 18px; }
.math-convert-box strong { display: block; margin-bottom: 6px; color: #fff; }
#math-question { scrollbar-width: thin; scrollbar-color: rgba(43,143,255,.5) rgba(6,14,28,.92); }
#math-question::-webkit-scrollbar { width: 10px; }
#math-question::-webkit-scrollbar-track { background: rgba(6,14,28,.92); border-radius: 10px; }
#math-question::-webkit-scrollbar-thumb { background: rgba(43,143,255,.5); border-radius: 10px; border: 2px solid rgba(6,14,28,.92); }
#math-question::-webkit-scrollbar-thumb:hover { background: rgba(43,143,255,.75); }
@media (max-width: 1100px) { .math-focus-grid { grid-template-columns: 1fr; } }

/* ── SERVICE DETAILS ── */
.service-detail-image { width: 100%; max-height: 520px; object-fit: cover; border-radius: var(--radius); border: 1px solid var(--line); background: rgba(255,255,255,.03); }
.service-detail-grid { display: grid; grid-template-columns: minmax(0,1.3fr) 320px; gap: 32px; align-items: start; }
.service-detail-main { min-width: 0; }
.service-detail-sidebar { position: sticky; top: 110px; align-self: start; }
.service-actions-card { display: flex; flex-direction: column; gap: 14px; }
.service-doc-link { display: inline-flex; align-items: center; justify-content: center; width: 100%; }
.service-main-card { margin-top: 24px; }
.service-main-content { line-height: 1.95; white-space: pre-wrap; word-break: break-word; }
.service-support-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 24px; }
.service-support-box { padding: 22px; border-radius: var(--radius-sm); background: rgba(255,255,255,.03); border: 1px solid var(--line); }
.service-support-box h3 { margin: 0 0 10px; }
.service-mini-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.service-mini-list li { padding: 13px 16px; border-radius: var(--radius-sm); background: rgba(255,255,255,.03); border: 1px solid var(--line); }
@media (max-width: 1100px) {
  .service-detail-grid { grid-template-columns: 1fr; }
  .service-detail-sidebar { position: static; }
  .service-support-grid { grid-template-columns: 1fr; }
}

/* ── NEWS GRID PAGE ── */
.page-hero.news-grid-hero .container { padding: 24px 0 20px; }
.page-hero.news-grid-hero h1 { max-width: 1180px; margin-bottom: 12px; line-height: 1.08; }
.page-hero.news-grid-hero p { max-width: 940px; margin-bottom: 0; }
.news-grid-section { padding-top: 18px; }
.news-grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 20px; }
.news-grid-4 .card { display: flex; flex-direction: column; min-height: 100%; }
.news-card-image {
  width: 100%; aspect-ratio: 16/9; height: auto; max-height: 180px;
  object-fit: cover; object-position: center; border-radius: var(--radius-sm);
  margin-bottom: 16px; border: 1px solid var(--line); background: rgba(255,255,255,.03);
}
.news-card-fallback {
  width: 100%; aspect-ratio: 16/9; max-height: 180px; border-radius: var(--radius-sm);
  margin-bottom: 16px; border: 1px solid var(--line);
  background: linear-gradient(135deg, rgba(43,143,255,.06), rgba(5,14,30,.60));
  display: flex; align-items: center; justify-content: center;
}
.news-card-copy { display: flex; flex-direction: column; min-height: 168px; }
.news-card-copy h3 { min-height: 64px; line-height: 1.3; margin-bottom: 12px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.news-card-copy p { min-height: 110px; line-height: 1.8; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 14px; }
.news-card-copy .link { margin-top: auto; }
@media (max-width: 1200px) { .news-grid-4 { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 767px) {
  .page-hero.news-grid-hero .container { padding: 18px 0 16px; }
  .news-grid-4 { grid-template-columns: 1fr; }
  .news-card-copy h3, .news-card-copy p { min-height: auto; }
  .news-card-image, .news-card-fallback { max-height: none; }
}

/* ── PRACTICE AREA ── */
.service-card-image { width: 100%; height: 210px; object-fit: cover; border-radius: var(--radius-sm); margin-bottom: 18px; border: 1px solid var(--line); background: rgba(255,255,255,.03); }
.service-card-fallback { width: 100%; height: 210px; border-radius: var(--radius-sm); margin-bottom: 18px; border: 1px solid var(--line); background: linear-gradient(135deg, rgba(43,143,255,.06), rgba(5,14,30,.60)); display: flex; align-items: center; justify-content: center; }

/* ── CASE / PATENTS PAGE ── */
.patent-card-image { width: 100%; height: 230px; object-fit: cover; border-radius: var(--radius-sm); margin-bottom: 18px; border: 1px solid var(--line); background: rgba(255,255,255,.03); }
.patent-card-fallback { width: 100%; height: 230px; border-radius: var(--radius-sm); margin-bottom: 18px; border: 1px solid var(--line); background: linear-gradient(135deg, rgba(43,143,255,.06), rgba(5,14,30,.60)); display: flex; align-items: center; justify-content: center; }

/* ── NAVIGATION CTA BUTTON & HAMBURGER UPGRADE ── */
.nav-cta {
  display: inline-flex !important;
  align-items: center;
  padding: 9px 18px !important;
  margin-left: 8px;
  background: var(--accent) !important;
  color: #fff !important;
  border-radius: var(--radius-sm) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: -0.01em;
  transition: all .22s ease !important;
  box-shadow: 0 4px 16px rgba(43,143,255,.28);
  border: 1px solid rgba(255,255,255,.10) !important;
}
.nav-cta:hover {
  background: #1d7ff0 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 22px rgba(43,143,255,.40) !important;
}
.nav-cta.active, .nav-cta.is-active {
  background: #1d7ff0 !important;
}
.nav-cta::after { display: none !important; }

/* Hamburger bars */
.menu-toggle-bars {
  display: flex; flex-direction: column;
  gap: 5px; width: 20px;
}
.menu-toggle-bars span {
  display: block; width: 100%; height: 2px;
  background: var(--text); border-radius: 2px;
  transition: all .22s ease;
}

/* ── CONTACT CHANNELS ── */
.contact-info-card { display: flex; flex-direction: column; }
.contact-channels { display: grid; gap: 10px; margin-bottom: 20px; }
.contact-channel {
  display: flex; align-items: center; gap: 16px;
  padding: 14px 18px; border-radius: var(--radius-sm);
  background: rgba(255,255,255,.03); border: 1px solid var(--line);
  color: var(--text); text-decoration: none;
  transition: border-color .2s, background .2s, transform .2s;
}
.contact-channel:not(.contact-channel--static):hover {
  border-color: rgba(43,143,255,.30);
  background: rgba(43,143,255,.06);
  transform: translateX(4px);
}
.contact-channel--static { cursor: default; }
.contact-channel-icon {
  width: 40px; height: 40px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: rgba(43,143,255,.12); border: 1px solid rgba(43,143,255,.22);
  border-radius: 10px; font-size: 16px; color: var(--accent);
}
.contact-channel-label {
  display: block; font-family: var(--font-mono);
  font-size: 10px; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: var(--text-faint); margin-bottom: 3px;
}
.contact-channel-value { display: block; font-size: 14.5px; color: var(--text); font-weight: 500; }
.contact-note {
  margin-top: auto; padding: 14px 16px;
  border-radius: var(--radius-sm);
  background: rgba(43,143,255,.05); border: 1px solid rgba(43,143,255,.16);
  color: var(--text-dim); font-size: 13.5px; line-height: 1.75;
}
.contact-note strong { display: block; color: var(--text); margin-bottom: 4px; }

/* ── ABOUT PAGE — KPI STRIP UPGRADE ── */
.kpi { position: relative; overflow: hidden; }
.kpi::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, var(--accent), transparent);
  opacity: .5;
}
.kpi strong { 
  font-family: var(--font-mono); 
  background: linear-gradient(135deg, #fff, #7bbfff);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ── PAGE HERO ENHANCEMENT ── */
.page-hero .container {
  position: relative; z-index: 2;
}
.page-hero::before {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(43,143,255,.30), transparent);
}

/* ── SECTION DIVIDER ── */
.section + .section,
.section + .section-alt,
.section-alt + .section {
  position: relative;
}

/* ── ENHANCED CTA BAND ── */
.cta-band h2 {
  font-size: clamp(22px, 2.4vw, 32px);
  letter-spacing: -0.03em;
  margin: 0 0 8px;
}



/* ── SMOOTH LINK TRANSITIONS ON ALL CARDS ── */
a { transition: color .18s ease; }

/* ── SCROLLBAR GLOBAL ── */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(43,143,255,.25); border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: rgba(43,143,255,.45); }
* { scrollbar-width: thin; scrollbar-color: rgba(43,143,255,.25) transparent; }

/* ── SELECTION COLOR ── */
::selection { background: rgba(43,143,255,.28); color: #fff; }

/* ── FOCUS VISIBLE ── */
:focus-visible {
  outline: 2px solid rgba(43,143,255,.65);
  outline-offset: 3px;
  border-radius: 4px;
}

/* === From page-case-details.php === */

  .patent-detail-image{
    width:100%;
    max-height:520px;
    object-fit:cover;
    border-radius:24px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.04);
  }

  .patent-detail-grid{
    display:grid;
    grid-template-columns:minmax(0, 1.3fr) 320px;
    gap:32px;
    align-items:start;
  }

  .patent-detail-main{
    min-width:0;
  }

  .patent-detail-sidebar{
    position:sticky;
    top:110px;
    align-self:start;
  }

  .patent-actions-card{
    display:flex;
    flex-direction:column;
    gap:14px;
  }

  .patent-doc-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
  }

  .patent-main-card{
    margin-top:24px;
  }

  .patent-main-content{
    line-height:1.95;
    white-space:pre-wrap;
    word-break:break-word;
  }

  .patent-support-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
    margin-top:24px;
  }

  .patent-support-box{
    padding:22px;
    border-radius:22px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
  }

  .patent-support-box h3{
    margin:0 0 10px;
  }

  .patent-mini-list{
    display:grid;
    gap:12px;
    margin:0;
    padding:0;
    list-style:none;
  }

  .patent-mini-list li{
    padding:14px 16px;
    border-radius:16px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.06);
  }

  @media (max-width: 1100px){
    .patent-detail-grid{
      grid-template-columns:1fr;
    }

    .patent-detail-sidebar{
      position:static;
    }

    .patent-support-grid{
      grid-template-columns:1fr;
    }
  }

/* ════════════════════════════════════════════════════════
   GÖRSEL İYİLEŞTİRMELER — Final Revize
   ════════════════════════════════════════════════════════ */

/* ── Animasyonlu hero giriş ── */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes pulseGlow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(43,143,255,0); }
  50%       { box-shadow: 0 0 0 8px rgba(43,143,255,0.12); }
}

@media (min-width: 992px) {
  .hero .badge        { animation: fadeUp .55s ease both; animation-delay: .05s; }
  .hero h1            { animation: fadeUp .60s ease both; animation-delay: .15s; }
  .hero p             { animation: fadeUp .60s ease both; animation-delay: .25s; }
  .hero .lead         { animation: fadeUp .60s ease both; animation-delay: .30s; }
  .hero-points        { animation: fadeUp .60s ease both; animation-delay: .38s; }
  .hero-actions       { animation: fadeUp .60s ease both; animation-delay: .46s; }
  .hero-card          { animation: fadeUp .70s ease both; animation-delay: .30s; }
}

/* ── Badge pulse ── */
.badge { animation: pulseGlow 3s ease-in-out infinite; }

/* ── Card image overlay efekti ── */
.card.clickable { overflow: hidden; }
.card.clickable .home-card-image,
.card.clickable .service-card-image,
.card.clickable .patent-card-image,
.card.clickable .news-card-image,
.card.clickable .news-card-image {
  transition: transform .4s ease, opacity .25s;
}
.card.clickable:hover .home-card-image,
.card.clickable:hover .service-card-image,
.card.clickable:hover .patent-card-image,
.card.clickable:hover .news-card-image {
  transform: scale(1.04);
}

/* ── Section başlıklarına ince accent çizgi ── */
.section-header > div > .eyebrow + h2,
.section-header > div > h2 {
  position: relative;
}

/* ── Timeline güçlendirme ── */
.timeline { position: relative; }
.timeline::before {
  content: '';
  position: absolute;
  left: 31px; top: 0; bottom: 0;
  width: 1px;
  background: linear-gradient(180deg, var(--accent), transparent);
  opacity: .25;
  pointer-events: none;
}

/* ── Metric box hover efekti ── */
.metric-box {
  transition: border-color .25s, background .25s, transform .25s;
}
.metric-box:hover {
  transform: translateY(-2px);
  background: rgba(43,143,255,.07);
}

/* ── CTA band iç glow ── */
.cta-band {
  position: relative;
  overflow: hidden;
}
.cta-band::before {
  content: '';
  position: absolute;
  top: -60px; right: -60px;
  width: 200px; height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(43,143,255,.18), transparent 65%);
  pointer-events: none;
}

/* ── Nav active link altı animasyon ── */
.nav a {
  position: relative;
}
.nav a::before {
  content: '';
  position: absolute;
  bottom: 6px; left: 14px; right: 14px;
  height: 2px; border-radius: 999px;
  background: var(--accent);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .22s ease;
  opacity: .7;
}
.nav a:hover::before { transform: scaleX(1); }
.nav a.active::before,
.nav a.is-active::before { transform: scaleX(1); }
/* Eski ::after ile çakışmasın */
.nav a.active::after,
.nav a.is-active::after { display: none !important; }

/* ── Feature list numaralı görünüm ── */
.feature-list { counter-reset: feat; }
.feature-list li { counter-increment: feat; }
.feature-list li::before {
  content: counter(feat, decimal-leading-zero);
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--accent);
  position: absolute;
  left: 18px; top: 50%;
  transform: translateY(-50%);
}

/* ── Card üst çizgi rengi ── */
.card { --card-line-color: rgba(43,143,255,.20); }
.card:hover::before {
  background: linear-gradient(90deg, transparent, var(--card-line-color), transparent);
}

/* ── Section alt-background ızgara efekti ── */
.section-alt {
  background:
    linear-gradient(180deg,rgba(8,18,38,.55),rgba(5,12,28,.40)),
    radial-gradient(ellipse 80% 40% at 50% 0%, rgba(43,143,255,.07), transparent 60%),
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent 79px,
      rgba(43,143,255,.018) 80px
    ),
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 79px,
      rgba(43,143,255,.018) 80px
    );
}

/* ── Header brand güçlendirme ── */
.brand .title {
  background: linear-gradient(90deg, #fff 60%, #7bbfff);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ── Quote bloğu (hero card) ── */
.hero-card .quote {
  position: relative;
  font-style: italic;
}
.hero-card .quote::before {
  content: '"';
  position: absolute;
  top: -12px; left: -4px;
  font-size: 52px;
  line-height: 1;
  color: var(--accent);
  opacity: .18;
  font-style: normal;
  pointer-events: none;
}

/* ── Eyebrow // prefix rengi ── */
.eyebrow::before { color: var(--accent); opacity: .75; }

/* ── Btn primary shimmer ── */
@keyframes shimmer {
  0%   { background-position: -200% center; }
  100% { background-position:  200% center; }
}
.btn-primary {
  background-size: 200% auto;
  background-image: linear-gradient(
    90deg,
    var(--accent) 0%,
    #5ba8ff 40%,
    var(--accent) 60%,
    var(--accent-alt) 100%
  );
}
.btn-primary:hover {
  animation: shimmer .8s linear;
}

/* ── Footer CTA büyük başlık gradient ── */
.footer-pro-cta h2 {
  background: linear-gradient(135deg, #fff 50%, #7bbfff);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ── Page hero vertical glow line sol kenar ── */
.page-hero {
  border-left: 3px solid transparent;
  border-image: linear-gradient(180deg, var(--accent), transparent) 1;
}

/* ── Derin lacivert arka plan sinyal noktaları (dekoratif) ── */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  will-change: auto;
  background-image:
    radial-gradient(1px 1px at 20% 30%, rgba(43,143,255,.35) 0%, transparent 100%),
    radial-gradient(1px 1px at 75% 15%, rgba(43,143,255,.25) 0%, transparent 100%),
    radial-gradient(1px 1px at 55% 70%, rgba(43,143,255,.20) 0%, transparent 100%),
    radial-gradient(1px 1px at 88% 55%, rgba(43,143,255,.18) 0%, transparent 100%);
  pointer-events: none;
  z-index: 0;
  opacity: .6;
}
body > * { position: relative; z-index: 1; }

/* ── Nav CTA pulse ── */
.nav-cta {
  animation: pulseGlow 4s ease-in-out infinite;
}

/* ── Breadcrumb separator ── */
.breadcrumbs span { margin: 0 2px; }


/* ── HOME LIVE COUNTER RIBBON ── */
.home-counter-ribbon{
  position:sticky;
  top:72px;
  z-index:92;
  padding:12px 0 13px;
  background:
    linear-gradient(180deg,rgba(5,13,28,.92),rgba(5,13,28,.72)),
    radial-gradient(circle at 18% 50%,rgba(63,135,255,.18),transparent 35%),
    radial-gradient(circle at 82% 50%,rgba(66,214,255,.11),transparent 34%);
  backdrop-filter:blur(20px) saturate(1.35);
  -webkit-backdrop-filter:blur(20px) saturate(1.35);
  border-bottom:1px solid rgba(84,154,255,.22);
  box-shadow:0 18px 42px rgba(0,0,0,.20),0 1px 0 rgba(255,255,255,.035) inset;
}
.home-counter-shell{
  width:min(var(--max),calc(100% - 48px));
  margin:0 auto;
  position:relative;
  display:grid;
  grid-template-columns:190px 1fr;
  gap:14px;
  align-items:center;
  padding:10px;
  border-radius:20px;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(14,35,67,.64),rgba(8,20,39,.58));
  border:1px solid rgba(94,165,255,.24);
  box-shadow:
    0 16px 38px rgba(0,0,0,.20),
    0 0 34px rgba(63,135,255,.08),
    inset 0 1px 0 rgba(255,255,255,.05);
}
.home-counter-shell::before{
  content:'';
  position:absolute;
  inset:-1px;
  padding:1px;
  border-radius:20px;
  pointer-events:none;
  background:conic-gradient(from var(--counter-angle,0deg),transparent 0 18%,rgba(63,135,255,.72) 25%,rgba(72,224,255,.45) 34%,transparent 46% 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:.78;
  animation:homeCounterBorder 8s linear infinite;
}
.home-counter-shell::after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.055),transparent);
  transform:translateX(-120%);
  animation:homeCounterSweep 9s ease-in-out infinite;
}
@property --counter-angle{
  syntax:'<angle>';
  initial-value:0deg;
  inherits:false;
}
@keyframes homeCounterBorder{to{--counter-angle:360deg}}
@keyframes homeCounterSweep{0%,72%{transform:translateX(-120%);opacity:0}82%{opacity:.75}100%{transform:translateX(120%);opacity:0}}
.home-counter-label{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:10px;
  min-height:54px;
  padding:0 14px;
  border-radius:15px;
  background:rgba(4,14,30,.42);
  border:1px solid rgba(110,175,255,.14);
  color:#dceaff;
  font-family:var(--font-mono);
  font-size:10px;
  line-height:1.25;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.home-counter-pulse{
  width:9px;
  height:9px;
  border-radius:999px;
  flex:0 0 auto;
  background:#49a0ff;
  box-shadow:0 0 0 0 rgba(73,160,255,.55),0 0 16px rgba(73,160,255,.9);
  animation:homeCounterPulse 2.2s ease-out infinite;
}
@keyframes homeCounterPulse{70%{box-shadow:0 0 0 10px rgba(73,160,255,0),0 0 16px rgba(73,160,255,.7)}100%{box-shadow:0 0 0 0 rgba(73,160,255,0),0 0 16px rgba(73,160,255,.9)}}
.home-counter-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
}
.home-counter-item{
  position:relative;
  overflow:hidden;
  min-height:54px;
  padding:10px 12px 9px;
  border-radius:15px;
  background:
    linear-gradient(180deg,rgba(24,57,101,.72),rgba(10,26,50,.64)),
    radial-gradient(circle at 20% 0%,rgba(72,224,255,.13),transparent 45%);
  border:1px solid rgba(110,175,255,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease;
}
.home-counter-item::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,rgba(83,169,255,.20),transparent);
  transform:translateX(-110%);
  opacity:0;
}
.home-counter-item:hover{
  transform:translateY(-2px);
  border-color:rgba(104,189,255,.44);
  box-shadow:0 12px 26px rgba(0,0,0,.20),0 0 22px rgba(63,135,255,.13),inset 0 1px 0 rgba(255,255,255,.06);
}
.home-counter-name{
  display:block;
  color:#a9c1e9;
  font-size:10px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.home-counter-value{
  display:block;
  margin-top:4px;
  color:#fff;
  font-size:clamp(22px,1.85vw,32px);
  line-height:1;
  font-weight:900;
  letter-spacing:-.04em;
  text-shadow:0 0 18px rgba(85,165,255,.26);
  font-variant-numeric:tabular-nums;
}
.home-counter-item.is-counting-up{
  border-color:rgba(87,198,255,.62);
  box-shadow:0 0 0 1px rgba(80,185,255,.18),0 0 30px rgba(66,175,255,.28),inset 0 1px 0 rgba(255,255,255,.08);
}
.home-counter-item.is-counting-up::before{
  animation:homeCounterItemSweep .8s ease-out 1;
}
.home-counter-item.is-counting-up .home-counter-value{
  animation:homeCounterValuePop .58s ease-out 1;
}
@keyframes homeCounterItemSweep{0%{transform:translateX(-110%);opacity:0}30%{opacity:1}100%{transform:translateX(110%);opacity:0}}
@keyframes homeCounterValuePop{0%{transform:translateY(4px) scale(.96);color:#cfe2ff}55%{transform:translateY(-1px) scale(1.045);color:#ffffff}100%{transform:translateY(0) scale(1);color:#ffffff}}

@media(max-width:1200px){
  .home-counter-shell{grid-template-columns:1fr;padding:9px}
  .home-counter-label{min-height:42px;justify-content:center}
  .home-counter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:991px){
  .home-counter-ribbon{top:72px;padding:9px 0}
  .home-counter-shell{width:min(100% - 28px,760px);border-radius:16px}
  .home-counter-shell::before{border-radius:16px}
  .home-counter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-counter-item{min-height:50px}
}
@media(max-width:560px){
  .home-counter-ribbon{position:relative;top:auto;padding:8px 0}
  .home-counter-grid{grid-template-columns:1fr 1fr;gap:7px}
  .home-counter-label{font-size:9.5px;min-height:38px}
  .home-counter-name{font-size:9px;letter-spacing:.05em}
  .home-counter-value{font-size:22px}
}

/* ─────────────────────────────────────────────────────────────
   HOME FULL VIEWPORT LAYOUT + COUNTER HIDE ANIMATION
   Scope: only index.php via body.home-page. Other pages, including
   Matematik Teknolojileri, keep their existing layout behavior.
   ───────────────────────────────────────────────────────────── */
body.home-page{
  overflow-x:hidden;
}

.home-page .header{
  background:rgba(5,13,28,.72);
  border-bottom-color:rgba(100,170,255,.18);
  box-shadow:0 18px 42px rgba(0,0,0,.20);
}
.home-page .header .container{
  width:min(100% - 56px,1860px);
  max-width:none;
  height:74px;
}

.home-page .home-counter-ribbon{
  position:fixed;
  left:0;
  right:0;
  top:74px;
  z-index:95;
  padding:12px 0;
  transform:translateY(0) scale(1);
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  will-change:transform,opacity;
  transition:
    transform .58s cubic-bezier(.22,1,.36,1),
    opacity .42s ease,
    visibility .42s ease;
}
body.home-page.is-home-counter-hidden .home-counter-ribbon{
  transform:translateY(calc(-100% - 20px)) scale(.985);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.home-page .home-counter-shell{
  width:min(100% - 56px,1860px);
  max-width:none;
  grid-template-columns:220px 1fr;
}
.home-page .home-counter-grid{
  grid-template-columns:repeat(6,minmax(0,1fr));
}

.home-page .hero{
  min-height:calc(100svh - 74px);
  display:grid;
  align-items:stretch;
  border-bottom-color:rgba(100,170,255,.18);
}
.home-page .hero-bg{
  opacity:.10;
  transform:scale(1.02);
}
.home-page .hero-video{
  opacity:.30;
  filter:saturate(1.18) contrast(1.08);
}
.home-page .hero-overlay{
  background:
    linear-gradient(90deg,rgba(2,8,18,.94) 0%,rgba(5,18,38,.84) 42%,rgba(3,28,41,.70) 100%),
    radial-gradient(circle at 18% 36%,rgba(63,135,255,.20),transparent 34%),
    radial-gradient(circle at 82% 54%,rgba(64,220,255,.11),transparent 36%);
}
.home-page .hero::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(4,12,26,.15),rgba(4,12,26,.72)),
    repeating-linear-gradient(90deg,rgba(255,255,255,.028) 0 1px,transparent 1px 92px);
  opacity:.34;
}
.home-page .hero .container{
  width:min(100% - 56px,1860px);
  max-width:none;
  min-height:calc(100svh - 74px);
  padding:clamp(188px,17vh,250px) 0 clamp(76px,9vh,118px);
  grid-template-columns:minmax(0,1.18fr) minmax(420px,.82fr);
  gap:clamp(38px,4.4vw,88px);
  align-items:center;
}
.home-page .hero .container>div:first-child{
  max-width:1040px;
  padding-right:0;
}
.home-page .hero h1{
  max-width:15.5ch;
  font-size:clamp(46px,5.15vw,88px);
  line-height:.99;
  letter-spacing:-.065em;
  margin-top:24px;
}
.home-page .hero p{
  max-width:900px;
  font-size:16.5px;
}
.home-page .hero .lead{
  max-width:1040px;
}
.home-page .hero-points{
  max-width:940px;
}
.home-page .hero-card{
  justify-self:end;
  width:100%;
  max-width:560px;
  padding:32px;
  background:linear-gradient(180deg,rgba(9,22,44,.78),rgba(7,17,34,.66));
  border-color:rgba(110,175,255,.18);
  box-shadow:0 34px 80px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.05);
}

.home-page .section>.container,
.home-page .section-tight>.container{
  width:min(100% - 72px,1760px);
  max-width:none;
}

@media (min-width:1600px){
  .home-page .nav a{padding-left:15px;padding-right:15px;}
  .home-page .brand .title{font-size:18px;}
}

@media (max-width:1280px){
  .home-page .header .container,
  .home-page .home-counter-shell,
  .home-page .hero .container{
    width:min(100% - 40px,1180px);
  }
  .home-page .home-counter-shell{grid-template-columns:1fr;}
  .home-page .home-counter-label{justify-content:center;min-height:42px;}
  .home-page .home-counter-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .home-page .hero .container{
    grid-template-columns:1fr;
    padding-top:clamp(214px,22vh,270px);
  }
  .home-page .hero-card{justify-self:start;max-width:860px;}
}

@media (max-width:980px){
  .home-page .header .container,
  .home-page .home-counter-shell,
  .home-page .hero .container,
  .home-page .section>.container,
  .home-page .section-tight>.container{
    width:min(100% - 32px,920px);
  }
  .home-page .home-counter-ribbon{top:72px;}
  .home-page .hero .container{
    padding-top:clamp(210px,25vh,260px);
    padding-bottom:70px;
  }
  .home-page .hero h1{
    font-size:clamp(38px,8vw,58px);
    max-width:100%;
  }
}

@media (max-width:560px){
  .home-page .home-counter-ribbon{
    position:relative;
    top:auto;
    padding:8px 0;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  .home-page .home-counter-shell{
    width:min(100% - 24px,520px);
  }
  .home-page .hero{
    min-height:auto;
  }
  .home-page .hero .container{
    min-height:auto;
    padding:64px 0 56px;
  }
}

/* ─────────────────────────────────────────────────────────────
   SITE-WIDE FULL WIDTH LAYOUT REFINEMENT
   Purpose: apply the wide, screen-filling corporate layout to
   standard pages without changing the mobile API, database flow,
   teacher engine, or PHP business logic.
   ───────────────────────────────────────────────────────────── */
:root{
  --wide-shell:1860px;
  --wide-content:1760px;
}

/* Standard pages: make header and main content use the viewport more like a full landing page. */
body:not(.home-page) .header .container{
  width:min(100% - 56px,var(--wide-shell));
  max-width:none;
}

body:not(.home-page) .page-hero .container,
body:not(.home-page) .section > .container,
body:not(.home-page) .section-tight > .container{
  width:min(100% - 72px,var(--wide-content));
  max-width:none;
}

body:not(.home-page) .page-hero .container{
  padding:clamp(58px,6.4vh,96px) 0 clamp(42px,5vh,72px);
}

body:not(.home-page) .page-hero p{
  max-width:880px;
}

body:not(.home-page) .section-header p,
body:not(.home-page) .section-header .lead{
  max-width:760px;
}

body:not(.home-page) .grid-3,
body:not(.home-page) .grid-2{
  gap:clamp(20px,1.7vw,30px);
}

body:not(.home-page) .card{
  padding:clamp(24px,1.8vw,32px);
}

/* Footer: widen the whole footer shell and extend the "Tüm Sorularınız İçin" panel. */
.footer .container.footer-pro{
  width:min(100% - 72px,var(--wide-content));
  max-width:none;
}

.footer-pro{
  padding-top:clamp(58px,5.2vw,86px);
}

.footer-pro-wrap{
  grid-template-columns:minmax(260px,360px) minmax(0,1fr);
  gap:clamp(56px,7vw,128px);
  align-items:center;
}

.footer-pro-right{
  justify-self:stretch;
  width:100%;
  max-width:none;
  min-height:clamp(238px,16vw,292px);
  padding:clamp(38px,3.8vw,66px) clamp(42px,5vw,82px);
}

.footer-pro-cta{
  max-width:860px;
}

.footer-pro-cta p{
  max-width:840px;
}

.footer-pro-action{
  margin-left:clamp(24px,4vw,72px);
}

@media (min-width:1600px){
  .footer-pro-title{
    font-size:32px;
  }
  .footer-pro-cta h2{
    font-size:clamp(46px,3.45vw,66px);
  }
}

@media (max-width:1280px){
  body:not(.home-page) .header .container,
  body:not(.home-page) .page-hero .container,
  body:not(.home-page) .section > .container,
  body:not(.home-page) .section-tight > .container,
  .footer .container.footer-pro{
    width:min(100% - 40px,1180px);
  }

  .footer-pro-wrap{
    grid-template-columns:1fr;
    gap:32px;
  }

  .footer-pro-right{
    min-height:auto;
  }
}

@media (max-width:760px){
  body:not(.home-page) .header .container,
  body:not(.home-page) .page-hero .container,
  body:not(.home-page) .section > .container,
  body:not(.home-page) .section-tight > .container,
  .footer .container.footer-pro{
    width:min(100% - 28px,720px);
  }

  .footer-pro-right{
    padding:30px 24px;
    flex-direction:column;
    align-items:flex-start;
    gap:24px;
  }

  .footer-pro-action{
    margin-left:0;
    align-self:flex-end;
  }
}

/* ─────────────────────────────────────────────────────────────
   COMPACT WIDE LAYOUT REFINEMENT
   Purpose: keep the full-width page structure, but reduce the
   oversized bottom CTA/footer proportions and make home service
   and system cards align with the 4-card publication layout.
   ───────────────────────────────────────────────────────────── */

/* Bottom contact band: still wide, but no longer visually oversized. */
.home-page .section-tight,
body:not(.home-page) .section-tight{
  padding-top:clamp(42px,4vw,64px);
  padding-bottom:clamp(42px,4vw,64px);
}

.home-page .section-tight > .container.cta-band,
body:not(.home-page) .section-tight > .container.cta-band,
.cta-band{
  padding:clamp(22px,2vw,30px) clamp(28px,3vw,44px);
  border-radius:24px;
  gap:clamp(16px,2vw,28px);
}

.cta-band h2{
  font-size:clamp(22px,1.9vw,30px) !important;
  line-height:1.18;
  letter-spacing:-.035em;
}

.cta-band .lead,
.cta-band p{
  max-width:920px;
  font-size:14px;
  line-height:1.72;
}

.cta-band .hero-actions{
  gap:10px;
}

.cta-band .btn{
  padding:11px 20px;
  font-size:13px;
  border-radius:14px;
}

/* Footer: compact proportions for wide screens. */
.footer .container.footer-pro{
  width:min(100% - 72px,var(--wide-content));
  max-width:none;
}

.footer-pro{
  padding-top:clamp(38px,3.4vw,56px);
  padding-bottom:20px;
}

.footer-pro-wrap{
  grid-template-columns:minmax(220px,320px) minmax(0,1fr);
  gap:clamp(32px,4.5vw,76px);
  align-items:center;
}

.footer-pro-left{
  gap:12px;
}

.footer-pro-brand{
  gap:5px;
}

.footer-pro-kicker{
  font-size:9px;
  letter-spacing:.16em;
}

.footer-pro-title{
  max-width:300px;
  font-size:clamp(20px,1.55vw,26px);
  line-height:1.08;
}

.footer-pro-contact{
  gap:6px;
  margin-top:2px;
}

.footer-pro-contact a,
.footer-pro-contact div{
  font-size:13px;
  line-height:1.55;
}

.footer-pro-right{
  justify-self:stretch;
  width:100%;
  max-width:none;
  min-height:clamp(154px,10.5vw,190px);
  padding:clamp(26px,2.4vw,40px) clamp(34px,3.8vw,62px);
  border-radius:24px;
  gap:clamp(18px,2.2vw,32px);
}

.footer-pro-cta{
  max-width:840px;
}

.footer-pro-cta h2{
  font-size:clamp(28px,2.6vw,44px);
  line-height:1.04;
  letter-spacing:-.045em;
}

.footer-pro-cta p{
  max-width:840px;
  margin-top:10px;
  font-size:13.5px;
  line-height:1.7;
}

.footer-pro-action{
  margin-left:clamp(18px,3vw,52px);
}

.footer-pro-round{
  width:72px;
  height:72px;
  font-size:30px;
}

.footer-pro-bottom{
  margin-top:28px;
  padding-top:14px;
}

.footer-pro-copy,
.footer-pro-links a{
  font-size:12px;
  line-height:1.65;
}

.footer-pro-links{
  gap:16px;
}

/* Home services and systems: match the 4-card publication grid without changing card cover behavior. */
.home-page .home-service-grid,
.home-page .home-patent-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
}

.home-page .home-service-grid .card,
.home-page .home-patent-grid .card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:22px;
}

.home-page .home-service-grid .home-card-image,
.home-page .home-patent-grid .home-card-image,
.home-page .home-service-grid .home-card-fallback,
.home-page .home-patent-grid .home-card-fallback{
  width:100%;
  aspect-ratio:16/9;
  height:auto;
  max-height:190px;
  object-fit:cover;
  object-position:center;
  margin-bottom:16px;
}

.home-page .home-service-grid .home-card-copy,
.home-page .home-patent-grid .home-card-copy{
  display:flex;
  flex-direction:column;
  min-height:156px;
}

.home-page .home-service-grid .home-card-copy h3,
.home-page .home-patent-grid .home-card-copy h3{
  min-height:52px;
  font-size:18px;
  line-height:1.28;
  margin-bottom:10px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.home-page .home-service-grid .home-card-copy p,
.home-page .home-patent-grid .home-card-copy p{
  min-height:92px;
  font-size:13.5px;
  line-height:1.7;
  margin-bottom:14px;
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.home-page .home-service-grid .home-card-copy .link,
.home-page .home-patent-grid .home-card-copy .link{
  margin-top:auto;
}

@media (max-width:1420px){
  .home-page .home-service-grid,
  .home-page .home-patent-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:1280px){
  .footer-pro-wrap{
    grid-template-columns:1fr;
    gap:28px;
  }

  .footer-pro-right{
    min-height:auto;
  }
}

@media (max-width:760px){
  .home-page .section-tight > .container.cta-band,
  body:not(.home-page) .section-tight > .container.cta-band,
  .cta-band{
    padding:24px 20px;
    border-radius:20px;
  }

  .cta-band .btn{
    width:100%;
  }

  .footer-pro{
    padding-top:34px;
  }

  .footer-pro-right{
    padding:26px 22px;
    flex-direction:column;
    align-items:flex-start;
    gap:22px;
  }

  .footer-pro-cta h2{
    font-size:28px;
  }

  .footer-pro-round{
    width:64px;
    height:64px;
    font-size:28px;
  }

  .footer-pro-action{
    margin-left:0;
    align-self:flex-end;
  }

  .home-page .home-service-grid,
  .home-page .home-patent-grid{
    grid-template-columns:1fr;
  }

  .home-page .home-service-grid .card,
  .home-page .home-patent-grid .card{
    padding:20px;
  }

  .home-page .home-service-grid .home-card-copy,
  .home-page .home-patent-grid .home-card-copy,
  .home-page .home-service-grid .home-card-copy h3,
  .home-page .home-patent-grid .home-card-copy h3,
  .home-page .home-service-grid .home-card-copy p,
  .home-page .home-patent-grid .home-card-copy p{
    min-height:auto;
  }
}


/* ─────────────────────────────────────────────────────────────
   LISTING PAGES 4-CARD GRID REFINEMENT
   Applies the same compact 4-card card logic from the home page to
   Hizmetler and Sistemler ve Fikirler listing pages without changing
   detail pages, API endpoints or database logic.
   ───────────────────────────────────────────────────────────── */
.grid-4.listing-card-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
  align-items:stretch;
}

.listing-card-grid .card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:22px;
}

.listing-card-grid .service-card-image,
.listing-card-grid .patent-card-image,
.listing-card-grid .service-card-fallback,
.listing-card-grid .patent-card-fallback{
  width:100%;
  aspect-ratio:16/9;
  height:auto;
  max-height:190px;
  object-fit:cover;
  object-position:center;
  margin-bottom:16px;
  border-radius:var(--radius-sm);
}

.listing-card-grid .service-card-copy,
.listing-card-grid .patent-card-copy{
  display:flex;
  flex-direction:column;
  min-height:156px;
}

.listing-card-grid .service-card-copy h3,
.listing-card-grid .patent-card-copy h3{
  min-height:52px;
  font-size:18px;
  line-height:1.28;
  margin-bottom:10px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.listing-card-grid .service-card-copy p,
.listing-card-grid .patent-card-copy p{
  min-height:92px;
  font-size:13.5px;
  line-height:1.7;
  margin-bottom:14px;
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.listing-card-grid .service-card-copy .link,
.listing-card-grid .patent-card-copy .link{
  margin-top:auto;
}

.listing-card-grid .card > .eyebrow[style]{
  margin-bottom:10px !important;
  min-height:18px;
}

@media (max-width:1420px){
  .grid-4.listing-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:760px){
  .grid-4.listing-card-grid{
    grid-template-columns:1fr;
  }

  .listing-card-grid .card{
    padding:20px;
  }

  .listing-card-grid .service-card-copy,
  .listing-card-grid .patent-card-copy,
  .listing-card-grid .service-card-copy h3,
  .listing-card-grid .patent-card-copy h3,
  .listing-card-grid .service-card-copy p,
  .listing-card-grid .patent-card-copy p{
    min-height:auto;
  }

  .listing-card-grid .service-card-image,
  .listing-card-grid .patent-card-image,
  .listing-card-grid .service-card-fallback,
  .listing-card-grid .patent-card-fallback{
    max-height:none;
  }
}

/* Sistemler ve Fikirler içerik revizyonu - 4'lü teknik değer kartları */
.grid-4.systems-value-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
}
.systems-value-grid .card{
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.systems-value-grid .card h3{
  margin-top:8px;
  margin-bottom:10px;
}
.systems-value-grid .card p{
  margin-bottom:0;
}
@media (max-width:1200px){
  .grid-4.systems-value-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:720px){
  .grid-4.systems-value-grid{grid-template-columns:1fr;}
}


/* ─────────────────────────────────────────────────────────────
   REFINED CONTENT PATCH — LISTING GRID + FAQ WIDTH
   ───────────────────────────────────────────────────────────── */
.grid-4.service-listing-grid,
.grid-4.patent-listing-grid{
  grid-template-columns: repeat(4, minmax(0,1fr));
}

.faq{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  align-items:start;
}

.faq details:first-child{
  grid-column:1 / -1;
}

.faq details{
  min-height:72px;
}

.faq summary{
  font-size:15.5px;
  line-height:1.45;
}

.faq details p{
  font-size:14.5px;
  line-height:1.85;
}

.teacher-entry-badge{
  white-space:nowrap;
}

@media (max-width:1420px){
  .grid-4.service-listing-grid,
  .grid-4.patent-listing-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:900px){
  .faq{
    grid-template-columns:1fr;
  }
  .faq details:first-child{
    grid-column:auto;
  }
}

@media (max-width:760px){
  .grid-4.service-listing-grid,
  .grid-4.patent-listing-grid{
    grid-template-columns:1fr;
  }
}

/* ─────────────────────────────────────────────────────────────
   NEWS DETAIL IMAGE — single visible poster box
   Amaç: Detay sayfasında CSS kaynaklı iç içe kutu görüntüsünü kaldırmak.
   Görsel, dış haber görsel alanının tamamına hizalanır; ayrıca iç border,
   gölge, padding veya ikinci arka plan üretilmez. Böylece görünen alan
   yalnızca kapak görselinin kendisi olur.
   ───────────────────────────────────────────────────────────── */
.news-detail-image-frame {
  width: 100%;
  height: clamp(315px, 24vw, 420px);
  margin: 0 0 20px;
  padding: 0;
  display: block;
  overflow: hidden;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: transparent;
  box-shadow: none;
}

.news-detail-image {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: fill;
  object-position: center center;
  border: 0;
  border-radius: inherit;
  box-shadow: none;
  background: transparent;
}

@media (min-width: 1720px) {
  .news-detail-image-frame {
    height: 425px;
  }
}

@media (max-width: 1100px) {
  .news-detail-image-frame {
    height: clamp(290px, 42vw, 390px);
  }
}

@media (max-width: 720px) {
  .news-detail-image-frame {
    height: auto;
    margin-bottom: 16px;
  }

  .news-detail-image {
    width: 100%;
    height: auto;
    object-fit: contain;
  }
}

/* ─────────────────────────────────────────────────────────────
   NEWS DETAIL IMAGE — no external frame/card
   Amaç: Uzmanlık yayını detayındaki kapak görselinin arkasında ikinci bir
   çerçeve/kart görünmesi engellenir. Dış alan yalnızca ölçü konteyneri olarak
   kalır; görünen tek yüzey kapak görselinin kendisidir.
   ───────────────────────────────────────────────────────────── */
.news-detail-image-frame {
  width: 100% !important;
  height: clamp(315px, 24vw, 420px) !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: var(--radius) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.news-detail-image-frame::before,
.news-detail-image-frame::after {
  content: none !important;
  display: none !important;
}

.news-detail-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: fill !important;
  object-position: center center !important;
  border: 0 !important;
  border-radius: var(--radius) !important;
  background: transparent !important;
  box-shadow: none !important;
}

@media (min-width: 1720px) {
  .news-detail-image-frame {
    height: 420px !important;
  }
}

@media (max-width: 1100px) {
  .news-detail-image-frame {
    height: clamp(290px, 42vw, 390px) !important;
  }
}

@media (max-width: 720px) {
  .news-detail-image-frame {
    height: auto !important;
    margin-bottom: 16px !important;
  }

  .news-detail-image {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
}


/* ─────────────────────────────────────────────────────────────
   NEWS DETAIL COVER — direct image stage + generated cover crop
   Amaç: Uzmanlık yayını detayında CSS/kart kaynaklı dış yüzeyi tamamen
   kaldırmak ve 1600x900 başlıklı PNG kapaklarda görselin kendi dış
   tasarım çerçevesini kırpmak. Fotoğraf/WebP kapaklar doğal tam alan
   görünümünü korur.
   ───────────────────────────────────────────────────────────── */
.news-detail-cover {
  width: 100% !important;
  height: clamp(315px, 24vw, 420px) !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: var(--radius) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.news-detail-cover .news-detail-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  border: 0 !important;
  border-radius: inherit !important;
  background: transparent !important;
  box-shadow: none !important;
}

.news-detail-cover .news-detail-image--generated-cover {
  width: 112% !important;
  height: 112% !important;
  transform: translate(-5.35%, -5.35%) !important;
  object-fit: fill !important;
  object-position: center center !important;
  border-radius: 0 !important;
}

.news-detail-image-frame {
  display: contents !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.news-detail-image-frame::before,
.news-detail-image-frame::after {
  content: none !important;
  display: none !important;
}

@media (min-width: 1720px) {
  .news-detail-cover {
    height: 420px !important;
  }
}

@media (max-width: 1100px) {
  .news-detail-cover {
    height: clamp(290px, 42vw, 390px) !important;
  }
}

@media (max-width: 720px) {
  .news-detail-cover {
    height: auto !important;
    margin-bottom: 16px !important;
  }

  .news-detail-cover .news-detail-image,
  .news-detail-cover .news-detail-image--generated-cover {
    width: 100% !important;
    height: auto !important;
    transform: none !important;
    object-fit: contain !important;
    border-radius: var(--radius) !important;
  }
}

/* ── HOME COUNTER RIBBON HIDE FIX ── */
.home-counter-ribbon{
  transition:
    transform .58s cubic-bezier(.22,1,.36,1),
    opacity .42s ease,
    visibility .42s ease;
  will-change:transform,opacity;
}
body.is-home-counter-hidden .home-counter-ribbon,
body.home-page.is-home-counter-hidden .home-counter-ribbon{
  transform:translateY(calc(-100% - 22px)) scale(.985);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
@media(max-width:560px){
  body.is-home-counter-hidden .home-counter-ribbon,
  body.home-page.is-home-counter-hidden .home-counter-ribbon{
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
}

/* ── HOME: BUGÜNÜN TEKNİK NOTU ── */
.home-page .hero-card{
  max-width:720px;
  padding:26px;
}
.home-page .hero .container{
  grid-template-columns:minmax(0,1.06fr) minmax(520px,.94fr);
  gap:clamp(30px,3.2vw,64px);
}
.home-page .corporate-frame-compact{
  position:relative;
  z-index:2;
}
.home-page .corporate-frame-compact h3{
  margin-bottom:12px;
}
.home-page .corporate-frame-compact .quote{
  font-size:16px;
  line-height:1.46;
  margin-bottom:14px;
  padding-left:14px;
}
.home-page .hero-grid{
  margin-top:16px;
  gap:10px;
}
.home-page .metric-box{
  padding:13px;
}
.home-page .metric-box strong{
  font-size:13.5px;
  margin-bottom:5px;
}
.home-page .metric-box .muted{
  font-size:12px;
  line-height:1.55;
}
.daily-tech-note{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:16px;
  align-items:center;
  margin:0 0 20px;
  padding:16px 17px;
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(112,184,255,.28);
  background:
    linear-gradient(135deg,rgba(9,32,63,.88),rgba(6,19,41,.74) 52%,rgba(11,37,66,.86)),
    radial-gradient(circle at 18% 22%,rgba(72,156,255,.28),transparent 36%);
  box-shadow:
    0 22px 52px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.08);
}
.daily-tech-note::before{
  content:'';
  position:absolute;
  inset:-1px;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 0%,transparent 28%,rgba(116,209,255,.26) 42%,rgba(255,215,128,.14) 50%,transparent 64%,transparent 100%);
  transform:translateX(-80%);
  animation:dailyNoteSweep 6.2s cubic-bezier(.2,.8,.2,1) infinite;
}
.daily-tech-note::after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 44px),
    linear-gradient(180deg,rgba(255,255,255,.05),transparent 48%);
  opacity:.32;
  mix-blend-mode:screen;
}
.daily-tech-note-mark{
  position:relative;
  width:52px;
  height:52px;
  border-radius:18px;
  display:grid;
  place-items:center;
  border:1px solid rgba(116,190,255,.38);
  background:rgba(7,20,42,.62);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 0 26px rgba(43,143,255,.18);
}
.daily-tech-note-mark::before,
.daily-tech-note-mark::after{
  content:'';
  position:absolute;
  border-radius:50%;
  inset:9px;
  border:1px solid rgba(86,170,255,.34);
  animation:dailyNoteOrbit 4.8s linear infinite;
}
.daily-tech-note-mark::after{
  inset:15px;
  border-color:rgba(255,215,128,.34);
  animation-duration:3.6s;
  animation-direction:reverse;
}
.daily-tech-note-mark span{
  width:12px;
  height:12px;
  border-radius:50%;
  background:#58afff;
  box-shadow:0 0 0 7px rgba(88,175,255,.13),0 0 24px rgba(88,175,255,.68);
  animation:dailyNotePulse 2.2s ease-in-out infinite;
}
.daily-tech-note-content{
  position:relative;
  z-index:2;
  min-width:0;
}
.daily-tech-note-kicker{
  display:block;
  font-family:var(--font-mono);
  font-size:9.5px;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#73b9ff;
  margin-bottom:6px;
}
.daily-tech-note-content strong{
  display:block;
  color:#f5f9ff;
  font-size:16.5px;
  line-height:1.28;
  letter-spacing:-.025em;
  margin-bottom:7px;
}
.daily-tech-note-content p{
  margin:0;
  max-width:none;
  color:rgba(212,228,250,.86);
  font-size:12.5px;
  line-height:1.62;
}
.daily-tech-note-content em{
  display:inline-flex;
  align-items:center;
  margin-top:10px;
  padding:5px 9px;
  border-radius:999px;
  border:1px solid rgba(116,190,255,.22);
  background:rgba(43,143,255,.11);
  color:#a9d7ff;
  font-family:var(--font-mono);
  font-size:9.5px;
  font-style:normal;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
@keyframes dailyNoteSweep{
  0%,56%{transform:translateX(-88%);opacity:0;}
  66%{opacity:1;}
  100%{transform:translateX(88%);opacity:0;}
}
@keyframes dailyNotePulse{
  0%,100%{transform:scale(.92);opacity:.82;}
  50%{transform:scale(1.08);opacity:1;}
}
@keyframes dailyNoteOrbit{
  to{transform:rotate(360deg);}
}
@media (max-width:1280px){
  .home-page .hero .container{
    grid-template-columns:1fr;
  }
  .home-page .hero-card{
    max-width:900px;
    justify-self:start;
  }
}
@media (max-width:640px){
  .daily-tech-note{
    grid-template-columns:1fr;
    gap:12px;
    padding:15px;
  }
  .daily-tech-note-mark{
    width:44px;
    height:44px;
    border-radius:15px;
  }
  .daily-tech-note-content strong{
    font-size:15px;
  }
}
@media (prefers-reduced-motion: reduce){
  .daily-tech-note::before,
  .daily-tech-note-mark::before,
  .daily-tech-note-mark::after,
  .daily-tech-note-mark span{
    animation:none;
  }
}

/* ─────────────────────────────────────────────────────────────
   MATEMATİK TEKNOLOJİLERİ HERO HİZALAMA DÜZELTMESİ
   Bu bölüm sadece page-math-tech.php için çalışır. Sayaç paneli,
   içerik analitiği, teknik notlar, uzmanlık görselleri ve diğer
   sayfa yerleşimlerine müdahale etmez.
   ───────────────────────────────────────────────────────────── */
.math-tech-page .page-hero .container{
  width:min(100% - 112px, var(--wide-content, 1760px));
  max-width:none;
  margin-left:clamp(28px, 3.8vw, 72px);
  margin-right:auto;
  padding-top:clamp(42px, 5.4vh, 76px);
  padding-bottom:clamp(34px, 4.8vh, 62px);
}

.math-tech-page .page-hero h1{
  max-width:none;
  width:min(100%, 1420px);
  margin-bottom:14px;
  line-height:1.06;
}

.math-tech-page .page-hero p{
  max-width:min(100%, 1180px);
  width:min(100%, 1180px);
  line-height:1.72;
}

@media (max-width: 991px){
  .math-tech-page .page-hero .container{
    width:min(100% - 32px, var(--wide-content, 1760px));
    margin-left:auto;
    margin-right:auto;
    padding-top:38px;
    padding-bottom:30px;
  }

  .math-tech-page .page-hero h1,
  .math-tech-page .page-hero p{
    width:100%;
    max-width:100%;
  }
}

/* ─────────────────────────────────────────────────────────────
   MATEMATİK TEKNOLOJİLERİ — HERO CTA + ÜSTTE İKİLİ ÇALIŞMA ALANI
   Bu blok sadece page-math-tech.php üzerinde çalışır. Sayaç paneli,
   teknik notlar, içerik analitiği, terimler sözlüğü ve site.js
   davranışlarına müdahale etmez.
   ───────────────────────────────────────────────────────────── */
.math-tech-page .math-tech-hero-layout{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.34fr) minmax(360px,.66fr);
  gap:clamp(24px,3.2vw,58px);
  align-items:center;
}

.math-tech-page .math-tech-hero-copy{
  min-width:0;
}

.math-tech-page .math-tech-hero-copy h1{
  max-width:none;
  width:100%;
}

.math-tech-page .math-tech-hero-copy p{
  max-width:min(100%, 1280px);
  width:100%;
}

.math-tech-page .math-tech-hero-cta{
  min-width:0;
  align-self:stretch;
  display:flex;
  align-items:center;
}

.math-tech-page .teacher-entry-card{
  position:relative;
  overflow:hidden;
  width:100%;
  border-radius:var(--radius);
  border:1px solid rgba(80,150,255,.28);
  background:
    radial-gradient(circle at 12% 0%, rgba(72,149,255,.24), transparent 35%),
    linear-gradient(145deg, rgba(18,54,101,.92), rgba(9,24,48,.90));
  box-shadow:0 18px 42px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06);
  padding:clamp(22px,2.2vw,30px);
}

.math-tech-page .teacher-entry-card::before{
  content:'';
  position:absolute;
  inset:-40% auto auto -20%;
  width:260px;
  height:260px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(73,148,255,.22), transparent 64%);
  pointer-events:none;
}

.math-tech-page .teacher-entry-card::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, transparent 0%, rgba(255,255,255,.07) 42%, transparent 72%);
  opacity:.26;
  transform:translateX(-42%);
  pointer-events:none;
}

.math-tech-page .teacher-entry-topline,
.math-tech-page .teacher-entry-main,
.math-tech-page .teacher-entry-actions{
  position:relative;
  z-index:1;
}

.math-tech-page .teacher-entry-topline{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:20px;
}

.math-tech-page .teacher-entry-eyebrow{
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#cfe3ff;
}

.math-tech-page .teacher-entry-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid rgba(113,184,255,.32);
  background:rgba(43,143,255,.18);
  color:#e8f4ff;
  font-family:var(--font-mono);
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.math-tech-page .teacher-entry-main h3{
  margin:0 0 10px;
  color:#fff;
  font-size:clamp(22px,2vw,30px);
  line-height:1.1;
  letter-spacing:-.035em;
}

.math-tech-page .teacher-entry-main p{
  max-width:none;
  margin:0;
  color:var(--text-dim);
  line-height:1.72;
  font-size:14.5px;
}

.math-tech-page .teacher-entry-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}

.math-tech-page .teacher-entry-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 18px;
  border-radius:12px;
  font-weight:800;
  font-size:13.5px;
  text-decoration:none;
  transition:transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}

.math-tech-page .teacher-entry-btn:hover{
  transform:translateY(-1px);
}

.math-tech-page .teacher-entry-btn--primary{
  background:#fff;
  color:#071225;
  border:1px solid rgba(255,255,255,.55);
}

.math-tech-page .teacher-entry-btn--secondary{
  background:rgba(255,255,255,.06);
  color:#eaf3ff;
  border:1px solid rgba(255,255,255,.16);
}

.math-tech-page .teacher-entry-btn--secondary:hover{
  border-color:rgba(113,184,255,.42);
  background:rgba(43,143,255,.16);
}

.math-tech-page .math-tech-main-section{
  padding-top:clamp(48px,5vw,86px);
}

.math-tech-page .math-tech-workspace{
  display:grid;
  gap:24px;
}

.math-tech-page .math-primary-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:24px;
  align-items:start;
}

.math-tech-page .math-secondary-row{
  display:grid;
  grid-template-columns:minmax(0,1.22fr) minmax(320px,.78fr);
  gap:24px;
  align-items:start;
}

.math-tech-page .math-primary-row > .card,
.math-tech-page .math-secondary-row > .card,
.math-tech-page .math-secondary-row > aside.card{
  min-width:0;
}

.math-tech-page .math-generator-card{
  align-self:start;
}

.math-tech-page .math-generator-card .teacher-grid-3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

@media (max-width:1280px){
  .math-tech-page .math-tech-hero-layout{
    grid-template-columns:1fr;
  }
  .math-tech-page .math-tech-hero-cta{
    align-self:auto;
  }
  .math-tech-page .math-primary-row,
  .math-tech-page .math-secondary-row{
    grid-template-columns:1fr;
  }
}

@media (max-width:760px){
  .math-tech-page .teacher-entry-topline,
  .math-tech-page .teacher-entry-actions{
    align-items:flex-start;
    flex-direction:column;
  }
  .math-tech-page .teacher-entry-btn{
    width:100%;
  }
  .math-tech-page .math-generator-card .teacher-grid-2,
  .math-tech-page .math-generator-card .teacher-grid-3{
    grid-template-columns:1fr;
  }
}

/* ─────────────────────────────────────────────────────────────
   MATEMATİK TEKNOLOJİLERİ — ÇALIŞMA ALANI DENGE VE SAYAÇ ÇAKIŞMA DÜZELTMESİ
   Yalnızca page-math-tech.php üzerinde çalışır. Ana sayaç, içerik analitiği,
   teknik notlar ve diğer sayfa düzenlerine müdahale etmez.
   ───────────────────────────────────────────────────────────── */
.math-tech-page .home-counter-ribbon{
  position:relative;
  top:auto;
  z-index:8;
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.math-tech-page.is-home-counter-hidden .home-counter-ribbon{
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.math-tech-page .page-hero{
  isolation:isolate;
}
.math-tech-page .math-tech-hero-layout{
  align-items:stretch;
}
.math-tech-page .math-tech-hero-cta{
  align-items:center;
}
.math-tech-page .math-tech-main-section{
  padding-top:clamp(36px,4.2vw,72px);
}
.math-tech-page .math-tech-column-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:24px;
  align-items:start;
}
.math-tech-page .math-left-column,
.math-tech-page .math-right-column{
  min-width:0;
  display:grid;
  gap:24px;
  align-content:start;
}
.math-tech-page .math-left-column > .card,
.math-tech-page .math-right-column > .card,
.math-tech-page .math-right-column > aside.card{
  min-width:0;
  width:100%;
}
.math-tech-page .math-result-card{
  margin-top:0;
}
.math-tech-page .math-generator-result{
  margin-top:18px;
}
.math-tech-page .math-generated-solution .math-generated-answer{
  margin-top:8px;
  padding-top:0;
}
.math-tech-page .math-generated-section-title--solution{
  margin-top:14px;
}
.math-tech-page .math-generated-solution-body{
  margin-top:8px;
  color:#d8e7ff;
  line-height:1.85;
}
@media (max-width:1280px){
  .math-tech-page .math-tech-column-layout{
    grid-template-columns:1fr;
  }
}
@media (max-width:760px){
  .math-tech-page .math-tech-main-section{
    padding-top:28px;
  }
}
