/* Public-site presentation layer. Keep TTACScanner styles isolated in scanner.css. */
:root{
  --public-ink:#10292d;
  --public-muted:#5d7073;
  --public-line:#dbe7e4;
  --public-surface:#ffffff;
  --public-soft:#f4f8f7;
  --public-mint:#4fe3ac;
  --public-mint-dark:#11785a;
  --public-navy:#071b2a;
  --public-radius:22px;
  --public-shadow:0 18px 52px rgba(7,36,42,.08);
}

html{scroll-behavior:smooth}
body{
  font-family:Vazirmatn,Tahoma,"Segoe UI",Arial,sans-serif;
  font-feature-settings:"ss01" 1,"tnum" 1;
  text-rendering:optimizeLegibility;
}

body.public-page{background:var(--public-soft);color:var(--public-ink)}
body.public-page .site-header,
body.public-page .site-header.scrolled{background:rgba(7,27,42,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
body.public-page .nav{min-height:78px}
body.public-page #main-nav a{font-weight:550}

.tiam-slanted-t,.logo-mark{
  transform:rotate(45deg);
  font-family:Arial,sans-serif;
  font-weight:800;
}

:focus-visible{
  outline:3px solid var(--public-mint);
  outline-offset:4px;
  border-radius:8px;
}

.page-main{padding-top:78px;background:var(--public-soft);color:var(--public-ink);min-height:70vh}
.page-hero{
  position:relative;
  overflow:hidden;
  padding:96px 0 80px;
  background:linear-gradient(135deg,#061c2a 0%,#0a3040 54%,#0c4944 100%);
  color:#fff;
}
.page-hero:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to left,transparent,rgba(0,0,0,.72),transparent);
}
.page-hero:after{
  content:"";
  position:absolute;
  width:430px;
  height:430px;
  border:1px solid rgba(92,228,179,.22);
  border-radius:50%;
  left:-120px;
  top:-180px;
  box-shadow:0 0 0 70px rgba(92,228,179,.04),0 0 0 140px rgba(92,228,179,.025);
}
.page-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:64px;align-items:center;position:relative;z-index:1}
.page-hero .eyebrow{letter-spacing:0;font-weight:650;color:#86e9c5}
.page-hero h1{font-size:clamp(2.25rem,5vw,4.65rem);line-height:1.28;letter-spacing:-.035em;margin:.55rem 0 1.2rem;max-width:840px}
.page-hero .lead{max-width:760px;color:#c8d9d9;font-size:clamp(1rem,1.25vw,1.12rem);line-height:2.05}
.page-symbol{
  width:190px;
  height:190px;
  display:grid;
  place-items:center;
  border:1px solid rgba(108,231,188,.35);
  border-radius:42% 58% 55% 45%;
  background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.035));
  font:800 4.4rem/1 Arial,sans-serif;
  color:#65e5b8;
  transform:rotate(-8deg);
  box-shadow:0 28px 80px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.12);
}

.page-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-top:72px;padding-bottom:80px}
.content-card{
  position:relative;
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:22px;
  padding:34px;
  border:1px solid var(--public-line);
  border-radius:var(--public-radius);
  background:var(--public-surface);
  box-shadow:0 8px 28px rgba(10,45,49,.045);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.content-card:hover{transform:translateY(-3px);border-color:#c8ddd7;box-shadow:var(--public-shadow)}
.card-number{font:750 .78rem/1 Vazirmatn,Tahoma,sans-serif;color:var(--public-mint-dark);background:#e8f8f2;width:42px;height:42px;border-radius:13px;display:grid;place-items:center}
.content-card h2{margin:0 0 12px;font-size:clamp(1.2rem,2vw,1.4rem);line-height:1.55;letter-spacing:-.015em}
.content-card p{margin:0;color:var(--public-muted);line-height:2;max-width:62ch}
.content-card ul{list-style:none;padding:15px 0 0;margin:0}
.content-card li{display:flex;align-items:flex-start;gap:10px;padding:7px 0;color:#334f52;line-height:1.8}
.content-card li span{color:#168b67;font-weight:800;margin-top:.08em}
.pending-note{grid-column:1/-1;border-inline-start:4px solid #d9a51c;background:#fff9e8;padding:22px 26px;border-radius:16px;color:#5f4b16}
.pending-note p{margin:8px 0 0;line-height:1.9}

.page-cta{padding:62px 0;background:#eaf5f1;border-top:1px solid #d9e9e4}
.page-cta .shell{display:flex;justify-content:space-between;gap:32px;align-items:center}
.page-cta h2{margin:6px 0 0;font-size:clamp(1.55rem,3vw,2.45rem);line-height:1.5;letter-spacing:-.02em}
body.public-page footer{margin-top:0}
body.public-page footer p{line-height:1.9}

/* Public product navigation */
#main-nav .product-menu{position:relative;color:inherit}
#main-nav .product-menu summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:7px;
  color:inherit;
  font-weight:550;
  white-space:nowrap;
}
#main-nav .product-menu summary::-webkit-details-marker{display:none}
#main-nav .product-menu summary span{font-size:.78em;transition:transform .18s ease}
#main-nav .product-menu[open] summary span{transform:rotate(180deg)}
#main-nav .product-menu-panel{
  position:absolute;
  top:calc(100% + 18px);
  right:0;
  width:min(340px,88vw);
  padding:10px;
  border:1px solid rgba(145,205,190,.22);
  border-radius:18px;
  background:rgba(6,28,40,.98);
  box-shadow:0 24px 62px rgba(0,0,0,.26);
  backdrop-filter:blur(18px);
  z-index:30;
}
#main-nav .product-menu-panel:before{
  content:"";
  position:absolute;
  top:-7px;
  right:26px;
  width:13px;
  height:13px;
  transform:rotate(45deg);
  background:#082332;
  border-left:1px solid rgba(145,205,190,.22);
  border-top:1px solid rgba(145,205,190,.22);
}
#main-nav .product-menu-panel a{
  display:block;
  padding:14px 15px;
  border-radius:12px;
  color:#fff;
  text-decoration:none;
}
#main-nav .product-menu-panel a:hover{background:rgba(79,227,172,.1)}
#main-nav .product-menu-panel strong{display:block;font-size:.94rem;margin-bottom:4px}
#main-nav .product-menu-panel small{display:block;color:#a9c6c5;line-height:1.65;font-size:.76rem;font-weight:400}

/* Product value proposition shared by the home and product pages */
.value-suite{
  padding:88px 0;
  background:linear-gradient(180deg,#f7fbfa 0%,#eef7f4 100%);
  border-top:1px solid #e0ece8;
  border-bottom:1px solid #d9e8e3;
  color:var(--public-ink);
}
.value-suite-head{max-width:850px;margin-bottom:42px}
.value-suite-head .eyebrow{color:var(--public-mint-dark);font-weight:700}
.value-suite-head h2{margin:.45rem 0 1rem;font-size:clamp(2rem,4vw,3.65rem);line-height:1.35;letter-spacing:-.03em}
.value-suite-head>p:last-child{margin:0;color:var(--public-muted);line-height:2.05;font-size:1.03rem;max-width:78ch}
.value-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.value-card{
  position:relative;
  min-height:245px;
  padding:25px 23px;
  border:1px solid var(--public-line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 28px rgba(10,45,49,.035);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.value-card:hover{transform:translateY(-4px);box-shadow:var(--public-shadow);border-color:#c2ddd5}
.value-card>span{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#e8f8f2;color:#11785a;font-weight:800;font-size:.76rem}
.value-card h3{margin:22px 0 9px;font-size:1.13rem;line-height:1.55}
.value-card p{margin:0;color:var(--public-muted);font-size:.9rem;line-height:1.95}
.value-card.emphasis{background:linear-gradient(145deg,#082534,#0b433f);border-color:#0c4e47;color:#fff}
.value-card.emphasis>span{background:rgba(79,227,172,.15);color:#7ff0c7}
.value-card.emphasis p{color:#c1d6d4}
.value-outcome{margin-top:22px;display:flex;gap:16px;align-items:flex-start;padding:24px 28px;border-radius:18px;background:#071b2a;color:#fff}
.value-outcome strong{color:#65e5b8;white-space:nowrap}
.value-outcome p{margin:0;color:#c7d8d8;line-height:1.9}

@media(max-width:1100px){
  .value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:960px){
  .page-hero-grid{grid-template-columns:minmax(0,1fr) 160px;gap:36px}
  .page-symbol{width:145px;height:145px;font-size:3.4rem}
}

@media(max-width:800px){
  .page-main{padding-top:72px}
  .page-hero{padding:62px 0 56px}
  .page-hero-grid{grid-template-columns:1fr;gap:34px}
  .page-symbol{width:116px;height:116px;font-size:2.9rem;border-radius:34px}
  .page-content{grid-template-columns:1fr;padding-top:38px;padding-bottom:54px;gap:16px}
  .content-card{grid-template-columns:42px minmax(0,1fr);padding:24px 18px;gap:14px;border-radius:18px}
  .page-cta{padding:44px 0}
  .page-cta .shell{align-items:flex-start;flex-direction:column}
  #main-nav .product-menu{width:100%}
  #main-nav .product-menu summary{justify-content:space-between;width:100%;padding:12px 0}
  #main-nav .product-menu-panel{position:static;width:100%;margin-top:4px;box-shadow:none;background:rgba(255,255,255,.045);border-radius:14px}
  #main-nav .product-menu-panel:before{display:none}
  .value-suite{padding:58px 0}
  .value-suite-head{margin-bottom:28px}
  .value-grid{grid-template-columns:1fr;gap:12px}
  .value-card{min-height:0;padding:22px 20px}
  .value-outcome{flex-direction:column;gap:7px;padding:21px}
}

@media(max-width:420px){
  .page-hero h1{font-size:2.15rem}
  .content-card{grid-template-columns:1fr}
  .card-number{width:38px;height:38px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal,.content-card{transition:none!important;animation:none!important}
  .content-card:hover{transform:none}
  .value-card{transition:none!important}
  .value-card:hover{transform:none}
  .page-symbol{transform:none}
  /* Logo rotation is brand geometry, not motion. */
  .tiam-slanted-t,.logo-mark{transform:rotate(45deg)!important}
}
