:root{
  --navy:#0B2038;
  --navy-2:#12304F;
  --paper:#FFFFFF;
  --ink:#16232F;
  --ink-soft:#4B5A68;
  --gold:#A9791F;
  --gold-soft:#EFE1C0;
  --green:#1F6F4A;
  --line:#DDE3E8;
  --radius:10px;

  /* registrar identity colors */
  --c-navy:#0B2038;   --c-navy-bg:#E7ECF1;
  --c-teal:#0E7C6B;   --c-teal-bg:#E1F3EF;
  --c-gold:#A9791F;   --c-gold-bg:#F7EDD8;
  --c-coral:#C1502E;  --c-coral-bg:#FAE7DF;
  --c-plum:#6B3F82;   --c-plum-bg:#EFE4F3;
  --c-forest:#2E7D46; --c-forest-bg:#E2F1E5;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'IBM Plex Sans', system-ui, sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.55;
}
h1,h2,h3{
  font-family:'Fraunces', Georgia, serif;
  font-weight:600;
  color:var(--navy);
  margin:0 0 .5em;
}
h1{font-size:clamp(2rem,4vw,2.9rem); line-height:1.1; letter-spacing:-.01em;}
h2{font-size:clamp(1.5rem,3vw,2rem);}
h3{font-size:1.05rem; margin-bottom:.3em;}
p{margin:0 0 1em;}
a{color:var(--navy);}
.wrap{max-width:1120px; margin:0 auto; padding:0 24px;}

.skip-link{position:absolute; left:-999px; top:0; background:var(--navy); color:#fff; padding:10px 16px; z-index:100;}
.skip-link:focus{left:12px; top:12px;}
.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
a:focus-visible, button:focus-visible, input:focus-visible{outline:2px solid var(--navy); outline-offset:2px;}

/* Header */
.site-header{border-bottom:1px solid var(--line); background:var(--paper); position:sticky; top:0; z-index:50; transition:box-shadow .2s;}
.site-header.is-scrolled{box-shadow:0 2px 12px rgba(11,32,56,.08);}
.header-row{display:flex; align-items:center; justify-content:space-between; height:72px;}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--navy);}
.brand-mark{
  font-family:'IBM Plex Mono', monospace;
  font-weight:600; font-size:.72rem; letter-spacing:.06em;
  background:var(--navy); color:#fff; padding:5px 8px; border-radius:4px;
}
.brand-text{font-family:'Fraunces', serif; font-weight:600; font-size:1.08rem;}
.site-nav{display:flex; gap:28px;}
.site-nav a{text-decoration:none; font-size:.94rem; color:var(--ink-soft); font-weight:500;}
.site-nav a:hover{color:var(--navy);}

/* Hero */
.hero{background:var(--navy); color:#fff; padding:64px 0 88px; position:relative; overflow:hidden;}
.hero::after{
  content:""; position:absolute; inset:0;
  background-image:repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 64px);
  pointer-events:none;
}
.hero-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:start; position:relative;}
.eyebrow{
  font-family:'IBM Plex Mono', monospace; font-size:.78rem; letter-spacing:.04em;
  color:var(--gold-soft); margin-bottom:14px;
}
.hero h1{color:#fff;}
.hero-sub{color:#C7D2DC; font-size:1.08rem; max-width:46ch;}
.trust-strip{list-style:none; margin:22px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:10px;}
.trust-strip li{
  font-size:.78rem; color:var(--gold-soft); border:1px solid rgba(239,225,192,.35);
  border-radius:999px; padding:6px 12px; font-weight:500;
}

.status-card{
  background:#fff; color:var(--ink); border-radius:var(--radius);
  padding:26px; box-shadow:0 24px 48px rgba(0,0,0,.25);
}
.status-card-head{display:flex; gap:12px; align-items:flex-start; margin-bottom:20px;}
.seal{
  flex:0 0 auto; width:34px; height:34px; border-radius:50%;
  background:var(--gold-soft); color:var(--gold);
  display:flex; align-items:center; justify-content:center; font-weight:700;
  border:1px solid var(--gold);
}
.status-card-title{font-family:'Fraunces', serif; font-weight:600; font-size:1.1rem; margin:0;}
.status-card-note{margin:2px 0 0; font-size:.85rem; color:var(--ink-soft);}

.field-label{font-size:.82rem; font-weight:600; color:var(--ink-soft); text-transform:none; margin-bottom:6px; display:block;}
.field-row{display:flex; gap:8px;}
#pan-input{
  flex:1; padding:12px 14px; border:1.5px solid var(--line); border-radius:8px;
  font-family:'IBM Plex Mono', monospace; font-size:.95rem; letter-spacing:.02em;
}
#pan-input:focus{outline:2px solid var(--navy); outline-offset:1px; border-color:var(--navy);}
.btn-copy{
  padding:0 18px; border-radius:8px; border:1.5px solid var(--navy); background:var(--navy); color:#fff;
  font-weight:600; font-size:.9rem; cursor:pointer;
}
.btn-copy:hover{background:var(--navy-2);}
.field-hint{font-size:.8rem; color:var(--ink-soft); margin:8px 0 0;}

.registrar-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:10px;}
.reg-btn{
  display:flex; align-items:center; gap:9px;
  padding:9px 12px 9px 9px; border-radius:8px; border:1.5px solid var(--line); background:#fff;
  text-decoration:none; color:var(--ink); font-weight:600; font-size:.88rem;
  border-left-width:4px; transition:border-color .15s, background .15s, transform .1s;
}
.reg-btn:hover{background:#F4F6F8; transform:translateY(-1px);}
.reg-btn-label{flex:1;}
.reg-btn .arrow{font-weight:700; opacity:.55;}
.reg-btn-chip{
  flex:0 0 auto; width:22px; height:22px; border-radius:6px; display:flex; align-items:center; justify-content:center;
  font-family:'IBM Plex Mono', monospace; font-weight:600; font-size:.72rem;
}

/* registrar identity — applied to .reg-btn and .reg-card */
.c-navy{border-left-color:var(--c-navy);} .c-navy .reg-btn-chip, .c-navy .reg-card-chip{background:var(--c-navy-bg); color:var(--c-navy);}
.c-teal{border-left-color:var(--c-teal);} .c-teal .reg-btn-chip, .c-teal .reg-card-chip{background:var(--c-teal-bg); color:var(--c-teal);}
.c-gold{border-left-color:var(--c-gold);} .c-gold .reg-btn-chip, .c-gold .reg-card-chip{background:var(--c-gold-bg); color:var(--c-gold);}
.c-coral{border-left-color:var(--c-coral);} .c-coral .reg-btn-chip, .c-coral .reg-card-chip{background:var(--c-coral-bg); color:var(--c-coral);}
.c-plum{border-left-color:var(--c-plum);} .c-plum .reg-btn-chip, .c-plum .reg-card-chip{background:var(--c-plum-bg); color:var(--c-plum);}
.c-forest{border-left-color:var(--c-forest);} .c-forest .reg-btn-chip, .c-forest .reg-card-chip{background:var(--c-forest-bg); color:var(--c-forest);}
.c-navy.reg-card{border-top-color:var(--c-navy);}
.c-teal.reg-card{border-top-color:var(--c-teal);}
.c-gold.reg-card{border-top-color:var(--c-gold);}
.c-coral.reg-card{border-top-color:var(--c-coral);}
.c-plum.reg-card{border-top-color:var(--c-plum);}
.c-forest.reg-card{border-top-color:var(--c-forest);}

/* Sections */
.section{padding:72px 0;}
.section.alt{background:#F7F8F9;}
.section-lead{max-width:64ch; color:var(--ink-soft); font-size:1.02rem;}
.verified-note{font-size:.85rem; color:var(--ink-soft); margin-top:-8px;}
.verified-note a{color:var(--navy); border-bottom:1px solid var(--gold);}

.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:32px;}
.reg-card{
  border:1.5px solid var(--line); border-top-width:4px; border-radius:var(--radius); padding:22px;
  display:flex; flex-direction:column; gap:10px; background:#fff;
}
.reg-card-chip{
  width:34px; height:34px; border-radius:8px; display:flex; align-items:center; justify-content:center;
  font-family:'Fraunces', serif; font-weight:600; font-size:1rem; margin-bottom:2px;
}
.reg-card .reg-name{font-family:'Fraunces', serif; font-weight:600; font-size:1.15rem; color:var(--navy); margin:0;}
.reg-card .reg-desc{color:var(--ink-soft); font-size:.92rem; margin:0; flex:1;}
.reg-card .reg-link{
  align-self:flex-start; text-decoration:none; font-weight:600; font-size:.9rem;
  color:var(--navy); border-bottom:1.5px solid var(--gold); padding-bottom:2px;
}
.reg-card .reg-link:hover{color:var(--gold);}

/* ticker-stripe divider — a nod to a stock ticker, using each registrar's color */
.ticker-stripe{display:flex; height:5px;}
.ticker-stripe span{flex:1; background:var(--c-navy);}
.ticker-stripe span:nth-child(2){background:var(--c-teal);}
.ticker-stripe span:nth-child(3){background:var(--c-gold);}
.ticker-stripe span:nth-child(4){background:var(--c-coral);}
.ticker-stripe span:nth-child(5){background:var(--c-plum);}
.ticker-stripe span:nth-child(6){background:var(--c-forest);}

.steps{list-style:none; margin:32px 0 0; padding:0; display:grid; gap:26px;}
.steps li{display:flex; gap:18px; align-items:flex-start;}
.step-num{
  flex:0 0 auto; width:36px; height:36px; border-radius:50%; background:var(--navy); color:#fff;
  display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono', monospace; font-weight:600;
}
.step-num.c-navy{background:var(--c-navy);}
.step-num.c-teal{background:var(--c-teal);}
.step-num.c-gold{background:var(--c-gold);}
.step-num.c-coral{background:var(--c-coral);}
.steps p{color:var(--ink-soft); margin:0;}

.faq-list{margin-top:28px; display:flex; flex-direction:column; gap:10px;}
.faq-list details{border:1.5px solid var(--line); border-left-width:3px; border-radius:8px; padding:16px 18px; background:#fff; transition:border-color .15s;}
.faq-list details[open]{border-left-color:var(--gold);}
.faq-list summary{font-weight:600; cursor:pointer; font-size:1rem;}
.faq-list p{margin-top:10px; color:var(--ink-soft);}

/* Footer */
.site-footer{background:var(--navy); color:#B7C2CD; padding:36px 0;}
.disclaimer{font-size:.82rem; line-height:1.6; max-width:90ch;}
.footer-meta{font-size:.8rem; color:#7E8E9C; margin:0;}

@media (max-width:880px){
  .hero-grid{grid-template-columns:1fr;}
  .cards{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .header-row{height:64px;}
  .site-nav{gap:16px;}
  .cards{grid-template-columns:1fr;}
  .registrar-grid{grid-template-columns:1fr;}
}
