:root{
  --paper:#F2ECD8;
  --paper-dark:#E8DFC4;
  --ink:#2B2620;
  --forest:#1F4D3A;
  --forest-dark:#153529;
  --gold:#C08A2E;
  --terracotta:#A6552F;
  --line: rgba(43,38,32,0.18);
}

*{box-sizing:border-box; margin:0; padding:0;}

html{scroll-behavior:smooth;}

body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Noto Sans Devanagari','Space Mono',sans-serif;
  line-height:1.6;
  background-image:
    radial-gradient(circle at 1px 1px, rgba(43,38,32,0.06) 1px, transparent 0);
  background-size: 22px 22px;
}

.display{font-family:'Tiro Devanagari Hindi', serif;}
.mono{font-family:'Space Mono', monospace;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}

/* ===== Chain / survey-tape divider ===== */
.tape{
  display:flex; align-items:center; gap:6px;
  padding: 0 6vw;
  opacity:0.6;
}
.tape .seg{flex:1; height:2px; background: repeating-linear-gradient(90deg, var(--ink) 0 8px, transparent 8px 16px);}
.tape .num{font-family:'Space Mono', monospace; font-size:11px; letter-spacing:0.15em; color:var(--forest-dark); white-space:nowrap;}

/* ===== Header ===== */
header{
  position:sticky; top:0; z-index:50;
  background:var(--paper);
  border-bottom:1px solid var(--line);
}

.nav{
  max-width:1160px; margin:0 auto; padding:16px 6vw;
  display:flex; align-items:center; justify-content:space-between;
}

.brand{display:flex; align-items:center; gap:12px;}

.brand-mark{
  width:44px;height:44px;border-radius:50%;
  border:2px solid var(--forest);
  display:flex;align-items:center;justify-content:center;
  font-family:'Tiro Devanagari Hindi',serif; font-weight:700; font-size:16px;
  color:var(--forest);
  overflow:hidden;
}

.brand-mark img{width:100%; height:100%; object-fit:cover; object-position:center 18%;}

.brand-name{font-family:'Tiro Devanagari Hindi',serif; font-size:19px; font-weight:700; color:var(--forest-dark);}
.brand-sub{font-size:11px; letter-spacing:0.08em; color:var(--terracotta); font-family:'Space Mono',monospace;}

nav.links{display:flex; gap:28px; font-size:15px;}
nav.links a{position:relative; padding:4px 0; color:var(--ink);}
nav.links a:hover{color:var(--forest);}

.nav-cta{
  background:var(--forest); color:var(--paper); padding:9px 18px;
  border-radius:2px; font-size:14px; font-weight:600;
  border:1px solid var(--forest-dark);
}
.nav-cta:hover{background:var(--forest-dark);}

.menu-btn{display:none; background:none; border:none; font-size:24px; color:var(--forest-dark); cursor:pointer;}

/* ===== Hero ===== */
.hero{
  max-width:1160px; margin:0 auto; padding: 64px 6vw 40px;
  display:grid; grid-template-columns: 1.15fr 0.85fr; gap:48px; align-items:center;
}

.eyebrow{
  font-family:'Space Mono', monospace; font-size:12px; letter-spacing:0.18em;
  color:var(--terracotta); text-transform:uppercase; margin-bottom:18px;
  display:flex; align-items:center; gap:10px;
}

.eyebrow::before{content:''; width:26px; height:1px; background:var(--terracotta);}

h1.hero-title{
  font-family:'Tiro Devanagari Hindi', serif;
  font-size:clamp(34px, 4.6vw, 58px);
  line-height:1.15; color:var(--forest-dark); font-weight:700;
  margin-bottom:20px;
}

h1.hero-title .accent{color:var(--terracotta); font-style:italic;}

.hero-desc{font-size:17px; color:#463F34; max-width:520px; margin-bottom:30px;}

.hero-actions{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:36px;}

.btn-primary{
  background:var(--forest); color:var(--paper); padding:14px 26px;
  font-size:15px; font-weight:600; border-radius:2px; border:1px solid var(--forest-dark);
  display:inline-flex; align-items:center; gap:8px;
}
.btn-primary:hover{background:var(--forest-dark);}

.btn-ghost{
  padding:14px 26px; font-size:15px; font-weight:600; border-radius:2px;
  border:1px solid var(--ink); color:var(--ink);
}
.btn-ghost:hover{background:rgba(43,38,32,0.06);}

.hero-stats{display:flex; gap:36px; padding-top:26px; border-top:1px solid var(--line);}

.stat-num{font-family:'Space Mono',monospace; font-size:26px; font-weight:700; color:var(--forest-dark);}
.stat-label{font-size:12.5px; color:#635B4C; margin-top:2px;}

/* ===== Seal / signature element ===== */
.seal-wrap{display:flex; justify-content:center; align-items:center; position:relative;}

.seal{
  width:min(320px, 78vw); aspect-ratio:1/1; border-radius:50%;
  border: 3px double var(--forest);
  display:flex; align-items:center; justify-content:center;
  position:relative; background:var(--paper-dark);
  box-shadow: 0 0 0 1px var(--paper), 0 14px 30px -14px rgba(31,77,58,0.4);
}

.seal::before{
  content:'';
  position:absolute; inset:14px; border-radius:50%;
  border:1px dashed rgba(31,77,58,0.5);
}

.seal-inner{text-align:center; padding:20px;}

.seal-photo-wrap{
  position:absolute; inset:22px; border-radius:50%; overflow:hidden;
  background:var(--paper-dark);
}

.seal-photo-wrap img{width:100%; height:100%; object-fit:cover; object-position:center 18%; filter:grayscale(12%) contrast(1.03);}

.seal-initials{
  font-family:'Tiro Devanagari Hindi', serif; font-weight:700;
  font-size:52px; color:var(--forest-dark); line-height:1;
}

.seal-name{font-size:14px; font-weight:600; margin-top:10px; color:var(--ink);}
.seal-role{font-family:'Space Mono',monospace; font-size:10px; letter-spacing:0.08em; color:var(--terracotta); margin-top:6px;}

.seal-caption{text-align:center; margin-top:22px;}
.seal-caption .n{font-family:'Tiro Devanagari Hindi',serif; font-size:18px; font-weight:700; color:var(--forest-dark);}
.seal-caption .r{font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.08em; color:var(--terracotta); margin-top:4px;}

.seal-orbit-text{
  position:absolute; inset:0; animation: spin 22s linear infinite;
}

@keyframes spin{ to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce){ .seal-orbit-text{animation:none;} }

/* ===== Section shell ===== */
section{max-width:1160px; margin:0 auto; padding:70px 6vw;}

.section-head{margin-bottom:44px; max-width:640px;}
.section-tag{font-family:'Space Mono',monospace; font-size:12px; letter-spacing:0.15em; color:var(--terracotta); text-transform:uppercase; margin-bottom:12px;}
.section-title{font-family:'Tiro Devanagari Hindi',serif; font-size:clamp(26px,3vw,36px); color:var(--forest-dark); font-weight:700;}
.section-desc{color:#463F34; margin-top:12px; font-size:15.5px;}

/* ===== About ===== */
.about-grid{display:grid; grid-template-columns: 0.9fr 1.1fr; gap:50px; align-items:start;}

.about-card{
  background:var(--paper-dark); border:1px solid var(--line); padding:26px;
  border-left:3px solid var(--forest);
}

.about-card h3{font-family:'Tiro Devanagari Hindi',serif; font-size:19px; color:var(--forest-dark); margin-bottom:10px;}

.about-list{display:flex; flex-direction:column; gap:18px;}

.about-item{display:flex; gap:16px;}

.about-badge{
  font-family:'Space Mono',monospace; font-size:11px; color:var(--forest);
  border:1px solid var(--forest); border-radius:50%; width:34px; height:34px;
  display:flex; align-items:center; justify-content:center; flex-shrink:0; font-weight:700;
}

.about-item p{font-size:15px; color:#463F34;}
.about-item strong{color:var(--ink); display:block; margin-bottom:3px; font-size:15.5px;}

/* ===== Services ===== */
.service-cols{display:grid; grid-template-columns:1fr 1fr; gap:30px;}

.service-col{background:#fff; border:1px solid var(--line);}

.service-col-head{
  padding:22px 24px; display:flex; align-items:center; gap:14px;
  border-bottom:1px solid var(--line);
}

.service-col.lic .service-col-head{background:var(--forest); color:var(--paper);}
.service-col.amin .service-col-head{background:var(--terracotta); color:var(--paper);}

.service-col-head .icon{font-size:22px;}
.service-col-head h3{font-family:'Tiro Devanagari Hindi',serif; font-size:19px; font-weight:700;}
.service-col-head span{display:block; font-family:'Space Mono',monospace; font-size:10.5px; letter-spacing:0.1em; opacity:0.85; margin-top:2px;}

ul.service-list{list-style:none; padding:22px 24px;}
ul.service-list li{
  padding:12px 0; border-bottom:1px dashed var(--line);
  display:flex; gap:12px; font-size:15px; color:#3A342A;
}

ul.service-list li:last-child{border-bottom:none;}
ul.service-list li::before{content:'—'; color:var(--gold); font-weight:700; flex-shrink:0;}

/* ===== Process ===== */
.process-strip{
  display:grid; grid-template-columns:repeat(4,1fr); gap:0;
  border:1px solid var(--line); background:#fff;
}

.process-step{padding:26px 22px; border-right:1px solid var(--line); position:relative;}
.process-step:last-child{border-right:none;}
.process-step .mono{font-size:12px; color:var(--terracotta); display:block; margin-bottom:10px;}
.process-step h4{font-family:'Tiro Devanagari Hindi',serif; font-size:16.5px; color:var(--forest-dark); margin-bottom:6px;}
.process-step p{font-size:13.5px; color:#635B4C;}

/* ===== Contact ===== */
.contact-wrap{
  background:var(--forest-dark); color:var(--paper);
  border-radius:2px; padding:50px 6vw; display:grid; grid-template-columns:1fr 1fr; gap:40px;
  background-image: radial-gradient(circle at 1px 1px, rgba(242,236,216,0.06) 1px, transparent 0);
  background-size: 20px 20px;
}

.contact-wrap h2{font-family:'Tiro Devanagari Hindi',serif; font-size:30px; margin-bottom:14px;}
.contact-wrap p{color:#D8D2BE; font-size:15px; margin-bottom:28px; max-width:420px;}

.contact-details{display:flex; flex-direction:column; gap:20px;}
.contact-row{display:flex; gap:14px; align-items:flex-start;}

.contact-row .ico{
  width:38px; height:38px; border:1px solid rgba(242,236,216,0.4); border-radius:50%;
  display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:16px;
}

.contact-row strong{display:block; font-size:15px; margin-bottom:2px;}
.contact-row span{font-size:14px; color:#C9C2AB;}

.contact-form{background:var(--paper); padding:30px; color:var(--ink);}
.contact-form h3{font-family:'Tiro Devanagari Hindi',serif; font-size:20px; margin-bottom:6px; color:var(--forest-dark);}
.contact-form p.note{font-size:13px; color:#635B4C; margin-bottom:20px;}

.field{margin-bottom:16px;}
.field label{display:block; font-size:12.5px; font-weight:600; margin-bottom:6px; color:var(--forest-dark);}
.field input, .field select, .field textarea{
  width:100%; padding:11px 12px; border:1px solid var(--line); background:#fff;
  font-family:'Noto Sans Devanagari',sans-serif; font-size:14.5px; color:var(--ink);
}

.field textarea{resize:vertical; min-height:80px;}

.submit-btn{
  width:100%; background:var(--terracotta); color:#fff; border:none; padding:13px;
  font-size:15px; font-weight:700; cursor:pointer; border-radius:2px;
}

.submit-btn:hover{background:#8a4626;}

.form-status{margin-top:12px; font-size:13.5px;}

/* ===== Footer ===== */
footer{border-top:1px solid var(--line); padding:26px 6vw; text-align:center;}
footer p{font-size:13px; color:#635B4C;}

/* ===== WhatsApp float ===== */
.wa-float{
  position:fixed; bottom:22px; right:22px; z-index:60;
  background:#1F4D3A; color:#fff; width:56px; height:56px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:26px;
  box-shadow:0 10px 24px -8px rgba(0,0,0,0.4);
  border:2px solid var(--paper);
}

.wa-float:hover{background:var(--forest-dark);}

/* ===== Focus visibility ===== */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:2px solid var(--terracotta); outline-offset:2px;
}

/* ===== Responsive ===== */
@media (max-width: 860px){
  nav.links{display:none;}
  .menu-btn{display:block;}
  .hero{grid-template-columns:1fr; padding-top:36px;}
  .seal-wrap{order:-1;}
  .about-grid{grid-template-columns:1fr;}
  .service-cols{grid-template-columns:1fr;}
  .process-strip{grid-template-columns:1fr 1fr;}
  .process-step{border-bottom:1px solid var(--line);}
  .contact-wrap{grid-template-columns:1fr;}
}

@media (max-width:520px){
  .process-strip{grid-template-columns:1fr;}
  .hero-stats{flex-wrap:wrap; row-gap:16px;}
}