/* Public-site presentation layer. Keep UIDScanner 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.scrolled{background:rgba(7,27,42,.94);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}

@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}
}

@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}
  .page-symbol{transform:none}
  /* Logo rotation is brand geometry, not motion. */
  .tiam-slanted-t,.logo-mark{transform:rotate(45deg)!important}
}
