
:root{
  --ink:#101b18;
  --ink-soft:#4d5b56;
  --paper:#fbfbf9;
  --deep:#0a3733;
  --seal:#12877f;
  --rule:#d8ddd7;
  --serif:'Tiro Devanagari Sanskrit',Georgia,serif;
  --sans:'Archivo','Helvetica Neue',Arial,sans-serif;
  --dev:'Tiro Devanagari Sanskrit',serif;
  --pad:6vw;
  --mark:#101b18;
  --mark-soft:#b7bfba;
  --dot:#12877f;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--serif);font-size:19px;line-height:1.55;
}
svg{display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--seal);outline-offset:4px}
.wrap{width:100%;max-width:1400px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}

.seal .ro{fill:none;stroke:var(--mark-soft);stroke-width:1.4}
.seal .ri{fill:none;stroke:var(--mark);stroke-width:4}
.seal .gl{font-family:var(--dev);fill:var(--mark)}
.seal .bd{fill:var(--dot)}
.dark,.teal{--mark:#fbfbf9;--mark-soft:rgba(251,251,249,.42);--dot:#5fd0c0}

header{position:absolute;top:0;left:0;right:0;z-index:20}
header .bar{display:flex;align-items:center;height:96px;gap:14px}
header .seal{width:34px;height:34px}
header .name{font-size:23px;letter-spacing:.04em}
header a.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
header .link{
  margin-left:auto;font-family:var(--sans);font-size:14px;text-decoration:none;
  border-bottom:1px solid var(--seal);padding-bottom:3px;
}

.panel{min-height:92vh;display:flex;align-items:center;padding:110px 0}
.panel.short{min-height:0;padding:130px 0}
.dark{background:var(--ink);color:var(--paper)}
.teal{background:var(--deep);color:var(--paper)}

.display{
  font-family:var(--serif);font-weight:400;letter-spacing:-.016em;line-height:1.0;
  font-size:clamp(52px,10.5vw,158px);margin:0;
}
.mid{
  font-family:var(--serif);font-weight:400;letter-spacing:-.012em;line-height:1.08;
  font-size:clamp(34px,5.6vw,82px);margin:0;
}
.sub{
  font-size:clamp(19px,1.9vw,27px);color:var(--ink-soft);max-width:34ch;margin:34px 0 0;
  line-height:1.45;
}
.dark .sub,.teal .sub{color:rgba(251,251,249,.68)}
.tag{font-family:var(--sans);font-size:13px;letter-spacing:.14em;color:var(--seal);margin:0 0 30px}
.teal .tag,.dark .tag{color:#5fd0c0}

#hero .seal{width:clamp(96px,13vw,176px);height:clamp(96px,13vw,176px);margin-bottom:clamp(36px,5vw,64px)}
#hero .sub{max-width:38ch}

.word{display:grid;grid-template-columns:auto 1fr;gap:clamp(40px,7vw,110px);align-items:center;width:100%}
.word .seal{width:clamp(150px,24vw,340px);height:clamp(150px,24vw,340px)}
.word .roman{font-family:var(--serif);font-size:clamp(26px,3vw,42px);letter-spacing:.02em;margin:0 0 16px;color:rgba(251,251,249,.62)}
@media (max-width:820px){.word{grid-template-columns:1fr;gap:38px}}

.claims{width:100%}
.claims .line{
  border-top:1px solid var(--rule);padding:clamp(22px,3.4vw,44px) 0;
  display:flex;align-items:baseline;gap:clamp(20px,4vw,60px);
}
.claims .line:last-child{border-bottom:1px solid var(--ink)}
.claims .txt{
  font-family:var(--serif);font-weight:400;line-height:1;letter-spacing:-.014em;
  font-size:clamp(34px,6.4vw,96px);
}
.claims .own{
  font-family:var(--sans);font-size:13px;color:var(--ink-soft);margin-left:auto;
  text-align:right;letter-spacing:.02em;flex:none;
}
.claims .line.answer .txt{color:var(--seal)}
@media (max-width:700px){.claims .own{display:none}}

.method{display:grid;grid-template-columns:repeat(4,1fr);gap:0;width:100%;border-top:1px solid rgba(251,251,249,.24)}
.method .item{padding:clamp(34px,3.4vw,52px) clamp(22px,2.2vw,38px) clamp(38px,4.4vw,62px) 0;border-right:1px solid rgba(251,251,249,.15)}
.method .item:last-child{border-right:none}
.method h3{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.3vw,50px);margin:0 0 18px;line-height:1.06;letter-spacing:-.008em}
.method p{font-size:clamp(18px,1.55vw,23px);color:rgba(251,251,249,.66);margin:0;line-height:1.5}
@media (max-width:900px){
  .method{grid-template-columns:1fr 1fr}
  .method .item:nth-child(2){border-right:none}
}
@media (max-width:560px){
  .method{grid-template-columns:1fr}
  .method .item{border-right:none;border-bottom:1px solid rgba(251,251,249,.15)}
  .method .item:last-child{border-bottom:none}
}

.two{display:grid;grid-template-columns:1fr 1fr;width:100%;border-top:1px solid var(--ink)}
.two .half{padding:clamp(36px,4vw,64px) clamp(30px,4vw,70px) clamp(44px,5vw,80px) 0}
.two .half+.half{border-left:1px solid var(--rule);padding-left:clamp(30px,4vw,70px);padding-right:0}
.two h3{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.8vw,58px);line-height:1.04;margin:0 0 22px;letter-spacing:-.01em}
.two p{font-size:19px;color:var(--ink-soft);margin:0;max-width:30ch;line-height:1.5}
@media (max-width:820px){
  .two{grid-template-columns:1fr}
  .two .half+.half{border-left:none;border-top:1px solid var(--rule);padding-left:0;padding-top:clamp(36px,4vw,64px)}
}
.keyline{
  margin-top:clamp(46px,6vw,86px);border-top:1px solid var(--ink);padding-top:34px;
  display:flex;gap:clamp(24px,3vw,46px);align-items:flex-start;
}
.keyline .seal{width:62px;height:62px;flex:none}
.keyline p{font-size:clamp(21px,2.3vw,32px);line-height:1.34;margin:0;max-width:26ch;letter-spacing:-.005em}

#close{text-align:center;justify-content:center}
#close .seal{width:clamp(96px,12vw,160px);height:clamp(96px,12vw,160px);margin:0 auto clamp(34px,4vw,56px)}
#close .sub{margin-left:auto;margin-right:auto}
.mailto{
  display:inline-block;margin-top:44px;font-family:var(--sans);font-size:clamp(15px,1.5vw,19px);
  text-decoration:none;border-bottom:1px solid rgba(251,251,249,.45);padding-bottom:6px;
}
.mailto:hover{border-bottom-color:#fff}

footer{padding:38px 0 46px;font-family:var(--sans);font-size:13px;color:var(--ink-soft)}
footer .row{display:flex;flex-wrap:wrap;gap:22px;align-items:center}
footer .row span:last-child{margin-left:auto}

.enter{opacity:0;transform:translateY(12px);animation:rise .9s cubic-bezier(.2,.7,.3,1) forwards}
.d1{animation-delay:.12s}.d2{animation-delay:.26s}
@keyframes rise{to{opacity:1;transform:none}}
.draw .ro,.draw .ri{stroke-dasharray:400;stroke-dashoffset:400;animation:draw 1.6s cubic-bezier(.3,.7,.2,1) forwards}
.draw .ri{animation-delay:.2s}
@keyframes draw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .enter{opacity:1;transform:none;animation:none}
  .draw .ro,.draw .ri{stroke-dasharray:none;stroke-dashoffset:0;animation:none}
}


/* ---- nav ---- */
.nav{margin-left:auto;display:flex;align-items:center;gap:clamp(18px,2.4vw,34px)}
.nav a{font-family:var(--sans);font-size:14px;text-decoration:none;padding-bottom:3px;border-bottom:1px solid transparent}
.nav a:hover{border-bottom-color:var(--seal)}
.nav a.link{border-bottom:1px solid var(--seal)}
@media (max-width:560px){.nav{gap:16px}.nav a{font-size:13px}}

/* ---- sub pages ---- */
.page{min-height:100vh;display:flex;align-items:center;padding:150px 0 90px}
.duo{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,6vw,96px);width:100%;align-items:start}
.lead h1{font-family:var(--serif);font-weight:400;font-size:clamp(36px,5.2vw,74px);line-height:1.04;letter-spacing:-.014em;margin:0}
.lead .sub{margin-top:26px;max-width:36ch}
.points{list-style:none;margin:clamp(30px,3.4vw,46px) 0 0;padding:0}
.points li{
  padding:clamp(14px,1.5vw,20px) 0;border-top:1px solid var(--rule);
  font-size:clamp(18px,1.55vw,22px);line-height:1.42;color:var(--ink-soft);max-width:42ch;
}
.points li:last-child{border-bottom:1px solid var(--rule)}
.aside{
  background:var(--deep);color:var(--paper);padding:clamp(32px,3.4vw,50px);
  --mark:#fbfbf9;--mark-soft:rgba(251,251,249,.42);--dot:#5fd0c0;
}
.aside .seal{width:44px;height:44px;margin-bottom:clamp(22px,2.4vw,32px)}
.aside h2{font-family:var(--serif);font-weight:400;font-size:clamp(25px,2.5vw,34px);line-height:1.12;margin:0;letter-spacing:-.008em}
.aside .points li{border-top-color:rgba(251,251,249,.22);color:rgba(251,251,249,.74);font-size:clamp(17px,1.4vw,19px);max-width:none}
.aside .points li:last-child{border-bottom-color:rgba(251,251,249,.22)}
.status{
  font-family:var(--sans);font-size:14px;line-height:1.5;color:rgba(251,251,249,.62);
  margin:clamp(26px,3vw,38px) 0 0;
}
.cta{
  display:inline-block;margin-top:20px;font-family:var(--sans);font-size:clamp(15px,1.4vw,18px);
  text-decoration:none;border-bottom:1px solid rgba(251,251,249,.45);padding-bottom:6px;
}
.cta:hover{border-bottom-color:#fff}
.signin{margin-top:clamp(30px,3.4vw,44px);padding-top:clamp(18px,2vw,24px);border-top:1px solid rgba(251,251,249,.22)}
.signin .status{margin:0}
.cta.login{padding:10px 18px;border:1px solid rgba(251,251,249,.55);margin-top:14px}
.cta.login:hover{border-color:#fff;background:rgba(251,251,249,.06)}
@media (max-width:860px){
  .page{padding:132px 0 70px}
  .duo{grid-template-columns:1fr;gap:44px}
}

/* ---- page titles on sub pages ---- */
.pagetitle{
  font-family:var(--sans);font-weight:500;font-size:clamp(13px,1.2vw,15px);
  letter-spacing:.2em;text-transform:uppercase;color:var(--seal);
  margin:0 0 clamp(26px,3vw,40px);
}
.statement{
  font-family:var(--serif);font-weight:400;font-size:clamp(36px,5.2vw,74px);
  line-height:1.04;letter-spacing:-.014em;margin:0;
}
.lead .sub{margin-top:26px;max-width:36ch}
.nav a.current{border-bottom-color:var(--seal);color:var(--ink)}

/* ---- links at the close of the home page ---- */
.closelinks{display:flex;gap:clamp(20px,3vw,40px);justify-content:center;margin:40px 0 0;flex-wrap:wrap}
.closelinks a{
  font-family:var(--sans);font-size:clamp(15px,1.4vw,18px);text-decoration:none;
  border-bottom:1px solid rgba(251,251,249,.45);padding-bottom:6px;
}
.closelinks a:hover{border-bottom-color:#fff}

/* ---- registration form ---- */
button.cta{background:none;border:none;border-bottom:1px solid rgba(251,251,249,.45);cursor:pointer;color:inherit;font-family:var(--sans)}
.reg{margin-top:clamp(22px,2.6vw,32px)}
.reg[hidden]{display:none}
.field{margin-bottom:20px}
.field label{
  display:block;font-family:var(--sans);font-size:12.5px;letter-spacing:.06em;
  color:rgba(251,251,249,.58);margin-bottom:7px;
}
.field input{
  width:100%;background:none;border:none;border-bottom:1px solid rgba(251,251,249,.35);
  color:var(--paper);font-family:var(--serif);font-size:21px;padding:4px 0 9px;border-radius:0;
}
.field input:focus{outline:none;border-bottom-color:#5fd0c0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.reg .send{
  margin-top:8px;font-family:var(--sans);font-size:14px;letter-spacing:.12em;
  color:var(--paper);background:none;border:1px solid rgba(251,251,249,.5);
  padding:13px 30px;cursor:pointer;
}
.reg .send:hover{background:var(--paper);color:var(--deep)}
.reg .send[disabled]{opacity:.5;cursor:default}
.formnote{
  font-family:var(--sans);font-size:13.5px;line-height:1.5;
  color:rgba(251,251,249,.6);margin:16px 0 0;
}
.formnote.err{color:#ffb4a2}
.confirmed{margin-top:clamp(24px,2.8vw,34px);border-top:1px solid rgba(251,251,249,.24);padding-top:26px}
.confirm-head{
  font-family:var(--serif);font-size:clamp(25px,2.5vw,34px);line-height:1.1;
  margin:0;color:#8fe3d3;
}

/* ---- not found ---- */
.notfound{text-align:center}
.notfound .pagetitle{margin-top:34px}
.notfound .sub{margin-left:auto;margin-right:auto}
.notfound .closelinks{justify-content:center}
