
:root{--teal:#2f6b60;--teal2:#65aaa0;--teal3:#dcece8;--ink:#123b35;--paper:#f7f9f8;--white:#fff;--slate:#64736e;--line:#d9e2df;--gold:#c59a59;--dark:#092a26}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:#17312d;font-family:Inter,sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
.wrap{max-width:1220px;margin:auto;padding:0 34px}
nav{height:78px;background:rgba(250,249,245,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
nav .wrap{height:100%;display:flex;align-items:center;justify-content:space-between}
.brand img{width:138px;height:auto}
.links{display:flex;gap:36px;color:#53635e;font-size:15px}
.links a{transition:.2s}.links a:hover{color:var(--teal)}
.cta{background:var(--teal);color:white;padding:13px 22px;border-radius:4px;font-weight:700;font-size:14px}
@media(max-width:900px){.links{display:none}.wrap{padding:0 20px}}
.crumb{max-width:1220px;margin:auto;padding:17px 34px;font-size:14px;color:var(--slate)}
.crumb b{color:var(--ink)}

.hero{max-width:1220px;margin:0 auto;border-radius:0 0 18px 18px;min-height:650px;position:relative;overflow:hidden;background:#102f2a}
.hero-media{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(7,36,32,.98) 0%,rgba(7,36,32,.94) 31%,rgba(7,36,32,.55) 50%,rgba(7,36,32,.08) 72%,rgba(7,36,32,0) 100%),url("../../images/client-final/8070a75639c02097.jpg");background-size:cover;background-position:center}
.hero-grid{position:absolute;inset:0;opacity:.22;background-image:linear-gradient(rgba(120,207,194,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(120,207,194,.3) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(90deg,black,transparent 80%)}
.hero-content{position:relative;z-index:2;min-height:650px;display:flex;align-items:center}
.hero-copy{max-width:620px;color:white;padding:45px 0}
.eyebrow{font:500 12px 'IBM Plex Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:#75c3b8;margin-bottom:20px;display:flex;align-items:center;gap:10px}
.eyebrow:before{content:"";width:30px;height:1px;background:#75c3b8}
h1{font:600 clamp(42px,5.4vw,72px)/1.02 'Space Grotesk',sans-serif;letter-spacing:-.045em;color:white;max-width:680px}
.hero-copy p{margin-top:22px;max-width:570px;font-size:17px;color:rgba(255,255,255,.82)}
.actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.primary{background:#6eb1a7;color:#0d302b;padding:14px 23px;border-radius:4px;font-weight:700}
.secondary{border:1px solid rgba(255,255,255,.35);color:white;padding:14px 23px;border-radius:4px}
.property-focus{position:absolute;right:6%;top:19%;width:320px;height:220px;border:1px solid rgba(121,215,201,.55);border-radius:12px;box-shadow:0 0 45px rgba(65,193,177,.12);background:rgba(7,35,31,.22);backdrop-filter:blur(3px)}
.property-focus:before{content:"";position:absolute;left:50%;top:50%;width:118px;height:90px;transform:translate(-50%,-50%);border:2px solid #73c6bb;border-radius:4px;box-shadow:0 0 0 9px rgba(115,198,187,.09),0 0 35px rgba(115,198,187,.22)}
.property-focus:after{content:"PROPERTY";position:absolute;left:50%;top:50%;transform:translate(-50%,48px);font:500 10px 'IBM Plex Mono',monospace;letter-spacing:.12em;color:#8ad0c6}
.focus-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:#78c8bd;box-shadow:0 0 16px #78c8bd;animation:pulse 2s infinite}
.d1{left:27%;top:30%}.d2{right:21%;top:43%}.d3{left:36%;bottom:20%}
@keyframes pulse{50%{transform:scale(1.8);opacity:.45}}

.intro{padding:54px 0 22px}
.intro-card{max-width:980px;margin:auto;background:linear-gradient(135deg,#e5f1ee,#f4f8f7);border:1px solid #d3e4e0;border-left:4px solid var(--teal);border-radius:0 12px 12px 0;padding:26px 30px;font-size:19px;color:#173b35}
.section{padding:76px 0;border-top:1px solid var(--line)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:34px}
.kicker{font:500 11px 'IBM Plex Mono',monospace;letter-spacing:.15em;text-transform:uppercase;color:var(--teal);margin-bottom:10px}
h2{font:600 clamp(30px,3.5vw,45px)/1.08 'Space Grotesk',sans-serif;letter-spacing:-.035em;color:var(--ink)}
.section-head p{max-width:430px;color:var(--slate);font-size:15px}

.question-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.q-card{position:relative;min-height:230px;border:1px solid var(--line);border-radius:16px;background:white;padding:28px;overflow:hidden;transition:.3s;display:flex;flex-direction:column;justify-content:space-between}
.q-card:hover{transform:translateY(-5px);border-color:#8fc5bd;box-shadow:0 18px 45px rgba(19,59,53,.08)}
.q-num{font:500 11px 'IBM Plex Mono',monospace;color:#7b8b86}
.q-card h3{font:600 25px 'Space Grotesk',sans-serif;color:var(--ink);max-width:510px}
.q-card p{color:var(--slate);font-size:15px;max-width:520px}
.q-icon{position:absolute;right:25px;top:22px;width:42px;height:42px;border-radius:50%;background:var(--teal3);display:grid;place-items:center;color:var(--teal);font-weight:700}
@media(max-width:760px){.question-grid{grid-template-columns:1fr}.property-focus{display:none}}

.process{background:#0b302b;color:white;border-radius:20px;padding:34px;overflow:hidden}
.process-top{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:30px}
.process h2{color:white}.process-top p{color:#a9c4bf;max-width:430px}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.step{min-height:190px;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:20px;background:rgba(255,255,255,.035);transition:.25s;cursor:pointer}
.step:hover,.step.active{background:rgba(106,177,167,.15);border-color:#68b2a7;transform:translateY(-4px)}
.step .n{font:500 11px 'IBM Plex Mono';color:#78c8bd}
.step h3{color:white;font-size:18px;margin:34px 0 9px}.step p{color:#a9c4bf;font-size:13px}
.stepbar{height:2px;background:rgba(255,255,255,.12);margin:27px 0 0;position:relative}
.stepbar span{display:block;width:20%;height:100%;background:#6eb1a7;transition:.35s}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}}@media(max-width:560px){.steps{grid-template-columns:1fr}}

.arch{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:center}
.arch-visual{border:1px solid var(--line);border-radius:18px;background:white;padding:24px;min-height:390px;position:relative;overflow:hidden}
.arch-flow{display:flex;align-items:center;gap:8px;position:absolute;left:30px;right:30px;top:120px}
.node{flex:1;min-width:0;text-align:center;border:1px solid #d7e5e1;background:#f8fbfa;border-radius:12px;padding:17px 8px;transition:.3s}
.node:hover{background:#e4f2ef;border-color:#6eaca1;transform:translateY(-4px)}
.node strong{display:block;font:600 14px 'Space Grotesk',sans-serif;color:var(--ink)}.node small{display:block;margin-top:5px;font-size:11px;color:var(--slate)}
.arrow{color:var(--teal);font-size:20px}
.dash{position:absolute;left:12%;right:12%;bottom:32px;height:88px;border:1px solid #a9d1ca;border-radius:12px;background:#eef7f4;display:flex;align-items:center;justify-content:space-around;color:var(--ink);font-size:12px}
.dash span{font:500 10px 'IBM Plex Mono';color:var(--slate);display:block;margin-top:3px}
.arch-copy h3{font:600 29px 'Space Grotesk',sans-serif;color:var(--ink);margin-bottom:12px}.arch-copy p{color:var(--slate);font-size:15px}
.arch-points{margin-top:22px;display:grid;gap:10px}.arch-point{display:flex;gap:12px;align-items:flex-start}
.tick{width:22px;height:22px;border-radius:50%;background:var(--teal3);color:var(--teal);display:grid;place-items:center;font-size:12px;flex:none}
@media(max-width:800px){.arch{grid-template-columns:1fr}.arch-flow{position:relative;top:auto;left:auto;right:auto;flex-wrap:wrap}.arch-visual{min-height:460px}.dash{bottom:20px;left:5%;right:5%}}

.docs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.doc{background:white;border:1px solid var(--line);border-radius:15px;padding:24px;min-height:170px;transition:.25s}
.doc:hover{transform:translateY(-5px);box-shadow:0 15px 35px rgba(19,59,53,.08);border-color:#91c7bf}
.doc-icon{font-size:25px;color:var(--teal);margin-bottom:30px}.doc h3{font:600 18px 'Space Grotesk',sans-serif;color:var(--ink);margin-bottom:7px}.doc p{font-size:13px;color:var(--slate)}
@media(max-width:900px){.docs{grid-template-columns:1fr 1fr}}@media(max-width:560px){.docs{grid-template-columns:1fr}}

.benefit-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:stretch}
.benefit-lead{background:var(--ink);border-radius:18px;padding:35px;color:white;display:flex;flex-direction:column;justify-content:space-between}
.benefit-lead h2{color:white}.benefit-lead p{color:#b7cbc7;margin-top:15px}
.benefits{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.benefit{background:white;border:1px solid var(--line);border-radius:14px;padding:24px;transition:.25s}
.benefit:hover{border-color:#7dbab0;background:#f8fcfb;transform:translateY(-3px)}
.benefit b{display:block;color:var(--ink);font:600 18px 'Space Grotesk',sans-serif;margin-bottom:8px}.benefit span{color:var(--slate);font-size:14px}
@media(max-width:800px){.benefit-wrap{grid-template-columns:1fr}}

.dashboard{display:grid;grid-template-columns:1.25fr .75fr;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:white}
.screen{min-height:330px;background:linear-gradient(145deg,#092f2a,#123f38);padding:28px;position:relative;color:white}
.screen-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:12px;height:100%}
.panel{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);border-radius:10px;padding:15px}
.panel-title{font:500 10px 'IBM Plex Mono';color:#8fc8c0;text-transform:uppercase;letter-spacing:.08em}
.line{height:7px;border-radius:8px;background:rgba(255,255,255,.1);margin-top:13px}.line.short{width:58%}.line.mid{width:76%}
.chart{height:120px;display:flex;align-items:end;gap:8px;margin-top:20px}.bar{width:13%;background:#65aaa0;border-radius:5px 5px 0 0;display:block}
.dash-copy2{padding:38px}.dash-copy2 h3{font:600 29px 'Space Grotesk',sans-serif;color:var(--ink);margin-bottom:12px}.dash-copy2 p{color:var(--slate);font-size:15px}
.mini{display:flex;gap:20px;margin-top:24px;flex-wrap:wrap}.mini b{font:600 18px 'Space Grotesk',sans-serif;color:var(--teal);display:block}.mini span{font-size:11px;color:var(--slate)}
@media(max-width:800px){.dashboard{grid-template-columns:1fr}}

.faq{max-width:900px}details{background:white;border-top:1px solid var(--line);padding:18px 0}details:last-child{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;font:600 18px 'Space Grotesk',sans-serif;color:var(--ink);display:flex;justify-content:space-between}
summary::-webkit-details-marker{display:none}summary:after{content:"+";color:var(--teal);font-size:24px;font-weight:400}details[open] summary:after{content:"–"}
details p{padding-top:12px;color:var(--slate);font-size:14px;max-width:720px}

.related{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.related a{background:white;border:1px solid var(--line);padding:22px;border-radius:14px;font:600 16px 'Space Grotesk',sans-serif;color:var(--ink);transition:.2s}
.related a:hover{border-color:#75b5aa;transform:translateY(-3px)}
@media(max-width:800px){.related{grid-template-columns:1fr 1fr}}@media(max-width:520px){.related{grid-template-columns:1fr}}

.close{background:linear-gradient(135deg,#0b302b,#174b43);padding:75px 20px;text-align:center;color:white;margin-top:30px}
.close h2{color:white;max-width:650px;margin:0 auto 22px}.close p{color:#b7cbc7;max-width:620px;margin:0 auto 26px}
.legal-opinion-template-footer{padding:32px;text-align:center;background:#eaf0ee;color:#6d7c77;font-size:12px}

.feature-row{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:stretch}
.feature-copy{background:white;border:1px solid var(--line);border-radius:18px;padding:34px;display:flex;flex-direction:column;justify-content:center}
.feature-copy h3{font:600 32px/1.1 'Space Grotesk',sans-serif;color:var(--ink);letter-spacing:-.03em;margin-bottom:12px}
.feature-copy p{font-size:15px;color:var(--slate);max-width:500px}
.feature-visual{min-height:300px;border-radius:18px;background:#0d302c;border:1px solid #1b5149;position:relative;overflow:hidden;padding:24px}
.visual-grid{position:absolute;inset:0;opacity:.16;background-image:linear-gradient(rgba(120,207,194,.45) 1px,transparent 1px),linear-gradient(90deg,rgba(120,207,194,.45) 1px,transparent 1px);background-size:34px 34px}
.visual-title{position:relative;font:500 10px 'IBM Plex Mono';letter-spacing:.13em;text-transform:uppercase;color:#79c8be}
.property-map{position:absolute;left:13%;right:13%;top:20%;bottom:15%;border:1px solid rgba(120,207,194,.3);border-radius:10px;transform:rotate(-2deg)}
.house{position:absolute;width:90px;height:62px;background:linear-gradient(145deg,#dcece8,#86bdb3);border-radius:5px;box-shadow:0 12px 25px rgba(0,0,0,.18)}
.house:after{content:"";position:absolute;left:16px;right:16px;bottom:9px;height:18px;border:1px solid rgba(18,59,53,.35)}
.house.a{left:15%;top:28%;transform:rotate(-4deg)}.house.b{right:18%;top:42%;width:105px;height:70px}.house.c{left:39%;bottom:16%;width:78px;height:54px}
.pin{position:absolute;width:10px;height:10px;border-radius:50%;background:#75c6bc;box-shadow:0 0 18px #75c6bc;animation:pulse 2s infinite}
.pin.p1{left:28%;top:38%}.pin.p2{right:28%;top:51%}.pin.p3{left:50%;bottom:25%}
.link-line{position:absolute;height:1px;background:#70bcb2;transform-origin:left center;opacity:.8}
.l1{left:30%;top:41%;width:34%;transform:rotate(-8deg)}.l2{left:50%;top:48%;width:24%;transform:rotate(20deg)}.l3{left:49%;bottom:28%;width:22%;transform:rotate(-18deg)}
.visual-chip{position:absolute;right:18px;bottom:16px;background:rgba(5,35,31,.86);border:1px solid rgba(117,198,188,.35);border-radius:9px;padding:10px 12px;color:#b8ddd7;font-size:11px}
.fragment{display:flex;gap:12px;align-items:center;justify-content:center;height:240px;position:relative;z-index:2}
.doc-frag{width:112px;height:132px;border:1px solid rgba(143,200,192,.35);border-radius:10px;background:rgba(255,255,255,.06);padding:15px;transition:.3s}
.doc-frag:hover{transform:translateY(-8px);border-color:#75c6bc;background:rgba(117,198,188,.12)}
.doc-frag b{display:block;color:#d8eeea;font:600 13px 'Space Grotesk',sans-serif;margin-bottom:12px}.doc-frag span{display:block;height:5px;background:rgba(255,255,255,.16);margin:7px 0;border-radius:4px}.doc-frag span:nth-child(3){width:72%}.doc-frag span:nth-child(4){width:48%}
.merge{position:absolute;left:50%;top:52%;width:120px;height:120px;transform:translate(-50%,-50%);border:1px solid #75c6bc;border-radius:50%;box-shadow:0 0 0 16px rgba(117,198,188,.05),0 0 45px rgba(117,198,188,.14);animation:orbit 5s linear infinite}
.merge:after{content:"STRUCTURE";position:absolute;inset:0;display:grid;place-items:center;color:#a9d8d1;font:500 9px 'IBM Plex Mono';letter-spacing:.12em}
@keyframes orbit{to{transform:translate(-50%,-50%) rotate(360deg)}}
.assurance-visual{display:flex;align-items:center;justify-content:center;gap:10px;height:245px;position:relative;z-index:2}
.assure-node{width:118px;height:88px;border:1px solid rgba(117,198,188,.4);border-radius:12px;background:rgba(255,255,255,.055);display:flex;align-items:center;justify-content:center;text-align:center;color:#d8eeea;font:600 13px 'Space Grotesk',sans-serif;transition:.3s}
.assure-node:hover{transform:scale(1.06);border-color:#75c6bc;background:rgba(117,198,188,.12)}
.assure-arrow{color:#75c6bc;font-size:23px}
.assure-center{position:absolute;left:50%;top:50%;width:78px;height:78px;transform:translate(-50%,-50%);border-radius:50%;border:1px solid #75c6bc;background:#123f38;display:grid;place-items:center;color:#b9e1da;font:500 9px 'IBM Plex Mono';text-align:center;letter-spacing:.08em;box-shadow:0 0 32px rgba(117,198,188,.16)}
@media(max-width:820px){.feature-row{grid-template-columns:1fr}.feature-visual{min-height:320px}}


.content-svg{position:absolute;inset:36px 20px 10px;width:calc(100% - 40px);height:calc(100% - 46px)}
.feature-visual{min-height:350px}
.visual-title{position:relative;z-index:4}
.visual-property,.visual-challenge,.visual-nirnai{background:linear-gradient(145deg,#092f2a,#123f38)!important}
.visual-property:after,.visual-challenge:after,.visual-nirnai:after{content:"";position:absolute;inset:auto 18px 16px auto;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,rgba(117,198,188,.16),transparent 68%);pointer-events:none}
@media(max-width:820px){.content-svg{inset:38px 12px 8px;width:calc(100% - 24px);height:calc(100% - 46px)}}


/* Architecture — stronger contrast and more graphic-led */
.arch-visual{
  background:linear-gradient(145deg,#06241f 0%,#0b3831 58%,#0e453c 100%);
  border:1px solid #2f776c;
  box-shadow:0 20px 55px rgba(7,45,39,.16);
  min-height:410px;
  position:relative;
}
.arch-visual:before{
  content:"";
  position:absolute;inset:0;
  background-image:linear-gradient(rgba(111,195,184,.10) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(111,195,184,.10) 1px,transparent 1px);
  background-size:30px 30px;
  opacity:.65;
}
.arch-visual:after{
  content:"";
  position:absolute;width:250px;height:250px;left:50%;top:50%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(107,198,187,.16),rgba(107,198,187,0) 68%);
  pointer-events:none;
}
.arch-flow{
  position:relative;z-index:3;
  display:grid;
  grid-template-columns:1fr 42px 1fr 42px 1fr 42px 1fr;
  align-items:center;
  gap:0;
  left:auto;right:auto;top:auto;
  padding:72px 24px 0;
}
.arch-flow .node{
  min-height:128px;
  display:flex;flex-direction:column;justify-content:center;
  border:1px solid rgba(132,218,207,.38);
  background:rgba(255,255,255,.075);
  color:white;
  box-shadow:0 10px 30px rgba(0,0,0,.14);
}
.arch-flow .node:hover{
  background:rgba(107,198,187,.18);
  border-color:#7bd2c6;
  box-shadow:0 0 28px rgba(107,198,187,.16);
}
.arch-flow .node strong{color:#f3fbf9;font-size:16px}
.arch-flow .node small{color:#a9d3cd;line-height:1.45}
.arch-flow .arrow{color:#78cbbf;font-size:27px;text-align:center;filter:drop-shadow(0 0 7px rgba(120,203,191,.35))}
.arch-flow .node:before{
  content:"";
  width:34px;height:34px;border-radius:9px;
  margin:0 auto 12px;
  border:1px solid rgba(124,210,199,.55);
  background:rgba(107,198,187,.12);
  box-shadow:inset 0 0 15px rgba(107,198,187,.08);
}
.arch-flow .node:nth-of-type(1):before{content:"▤";display:grid;place-items:center;color:#8dd4c9;font-size:17px}
.arch-flow .node:nth-of-type(2):before{content:"✦";display:grid;place-items:center;color:#8dd4c9;font-size:17px}
.arch-flow .node:nth-of-type(3):before{content:"⌕";display:grid;place-items:center;color:#8dd4c9;font-size:19px}
.arch-flow .node:nth-of-type(4):before{content:"✓";display:grid;place-items:center;color:#8dd4c9;font-size:17px}
.arch-visual .dash{
  z-index:4;
  left:9%;right:9%;bottom:25px;height:68px;
  background:rgba(4,30,26,.82);
  border:1px solid rgba(117,198,188,.42);
  color:#eef9f6;
  box-shadow:0 8px 25px rgba(0,0,0,.16);
}
.arch-visual .dash b{color:#f3fbf9;font-size:11px}.arch-visual .dash span{color:#91c9c1}
@media(max-width:800px){
  .arch-flow{grid-template-columns:1fr;gap:10px;padding:48px 20px 110px}
  .arch-flow .arrow{transform:rotate(90deg);height:18px}
  .arch-flow .node{min-height:84px}
  .arch-visual{min-height:610px}
}

/* Documents — visual previews + hover illumination */
.docs{
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.doc{
  position:relative;
  min-height:300px;
  padding:0;
  overflow:hidden;
  cursor:pointer;
  background:#fff;
}
.doc:hover{
  transform:translateY(-7px);
  border-color:#69aaa0;
  box-shadow:0 20px 45px rgba(18,59,53,.12);
}
.doc-preview{
  height:154px;
  margin:0;
  position:relative;
  overflow:hidden;
  background:linear-gradient(145deg,#eaf5f2,#d6eae6);
  border-bottom:1px solid #d4e5e1;
}
.doc-preview:before{
  content:"";
  position:absolute;inset:0;
  background-image:linear-gradient(rgba(47,107,96,.055) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(47,107,96,.055) 1px,transparent 1px);
  background-size:18px 18px;
}
.doc-sheet{
  position:absolute;
  left:50%;top:18px;
  width:116px;height:128px;
  transform:translateX(-50%) rotate(-3deg);
  background:#fff;
  border:1px solid #c5dad5;
  border-radius:5px;
  box-shadow:0 12px 25px rgba(18,59,53,.12);
  padding:14px 12px;
  transition:.35s;
}
.doc:hover .doc-sheet{transform:translateX(-50%) rotate(0) translateY(-5px);box-shadow:0 18px 30px rgba(18,59,53,.18)}
.doc-sheet:before{
  content:"";
  position:absolute;right:0;top:0;
  width:26px;height:26px;
  background:linear-gradient(135deg,#dcece8 50%,#fff 51%);
}
.doc-line{height:5px;background:#d2e4e0;border-radius:5px;margin:9px 0}
.doc-line.dark{background:#6eaaa1;width:62%}.doc-line.mid{width:82%}.doc-line.short{width:46%}
.doc-stamp{
  position:absolute;right:13px;bottom:13px;
  width:33px;height:33px;border-radius:50%;
  display:grid;place-items:center;
  color:#2f6b60;border:1px solid #8bbdb5;
  background:#e4f2ef;font-weight:700;font-size:13px;
  transition:.3s;
}
.doc:hover .doc-stamp{background:#2f6b60;color:white;box-shadow:0 0 20px rgba(47,107,96,.28)}
.doc .doc-body{padding:21px 24px 22px}
.doc .doc-icon{display:none}
.doc h3{margin-bottom:7px}.doc p{line-height:1.5}
.doc-hover{
  position:absolute;left:0;right:0;bottom:0;
  height:3px;background:linear-gradient(90deg,#2f6b60,#78c8bd);
  transform:scaleX(0);transform-origin:left;
  transition:.35s;
}
.doc:hover .doc-hover{transform:scaleX(1)}
@media(max-width:900px){.docs{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.docs{grid-template-columns:1fr}}



/* V3 — seamless FAQ surface */
.faq-section,
section.faq-section,
.faq-wrap{
  background:
    radial-gradient(900px 360px at 8% 100%, rgba(196,218,211,.26), transparent 68%),
    radial-gradient(760px 320px at 94% 8%, rgba(199,154,86,.055), transparent 68%),
    linear-gradient(180deg,#f7f6f1 0%,#f5f4ef 50%,#f7f5f0 100%) !important;
  border:0 !important;
  box-shadow:none !important;
}

.faq-section::before,
.faq-section::after{
  display:none !important;
}

/* Remove the white container behind all FAQ rows. */
.faq-list,
.faq-items,
.faq-accordion{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

/* Each question sits directly on the continuous page surface. */
.faq-item,
.faq-row{
  background:transparent !important;
  border:0 !important;
  border-bottom:1px solid rgba(21,56,51,.13) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  transition:background .2s ease,border-color .2s ease;
}

.faq-item:first-child,
.faq-row:first-child{
  border-top:1px solid rgba(21,56,51,.13) !important;
}

.faq-item:hover,
.faq-row:hover{
  background:rgba(255,255,255,.28) !important;
  border-color:rgba(185,138,66,.34) !important;
  box-shadow:none !important;
}

/* Keep the expanded answer integrated into the same surface. */
.faq-item .answer,
.faq-item .faq-answer,
.faq-row .answer,
.faq-row .faq-answer{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

/* More breathing room so the FAQ feels editorial rather than boxed. */
.faq-item > *,
.faq-row > *{
  position:relative;
  z-index:1;
}

.faq-item button,
.faq-row button{
  background:transparent !important;
  border:0 !important;
}

/* Premium gold, but restrained. */
.faq-section .eyebrow,
.faq-section .section-kicker{
  color:#b98a42 !important;
}

.faq-section h2{
  color:#123f38 !important;
}

.faq-section h2::after{
  content:"";
  display:block;
  width:58px;
  height:3px;
  margin-top:16px;
  background:linear-gradient(90deg,#b98a42,#d9bd86);
  border-radius:4px;
}


/* V5 — seamless FAQ surface: no white cards, no patch */
.faq-section{
  background:linear-gradient(180deg,#f7f6f1 0%,#f6f5f0 52%,#f7f5f0 100%) !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
.faq-section .faq{
  max-width:900px;
  background:transparent !important;
}
.faq-section .faq details,
.faq-section .faq details:last-child{
  background:transparent !important;
  background-color:transparent !important;
  border-top:1px solid rgba(21,56,51,.11) !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:22px 0 !important;
}
.faq-section .faq details:last-child{
  border-bottom:1px solid rgba(21,56,51,.11) !important;
}
.faq-section .faq details[open]{
  background:transparent !important;
  box-shadow:none !important;
}
.faq-section .faq summary{
  background:transparent !important;
  color:#123f38 !important;
}
.faq-section .faq details p{
  background:transparent !important;
  color:#60736e !important;
}
.faq-section .faq summary:after{
  color:#b98a42 !important;
}
.faq-section .faq details:hover{
  background:rgba(199,154,86,.022) !important;
}
.faq-section .section-head{
  background:transparent !important;
}
.faq-section .kicker{
  color:#b98a42 !important;
}
.faq-section h2{
  color:#123f38 !important;
}
.faq-section h2:after{
  content:"";
  display:block;
  width:58px;
  height:3px;
  margin-top:16px;
  background:linear-gradient(90deg,#b98a42,#d9bd86);
  border-radius:4px;
}

/* Navigation CTA pair */
.nav-ctas{
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
}
.nav-ctas .cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:116px;
  padding:12px 18px;
  white-space:nowrap;
}
.nav-ctas .nav-demo{
  background:linear-gradient(135deg,#d2aa62,#b98a42) !important;
  border:1px solid #d2aa62 !important;
  color:#102f2b !important;
  box-shadow:0 7px 18px rgba(199,154,86,.18);
}
.nav-ctas .nav-talk{
  background:transparent !important;
  border:1px solid rgba(199,154,86,.72) !important;
  color:#245e54 !important;
}
.nav-ctas .cta:hover{
  transform:translateY(-1px);
}
.nav-ctas .nav-demo:hover{
  background:linear-gradient(135deg,#dfba76,#c3954e) !important;
}
@media(max-width:900px){
  .nav-ctas{display:none}
}


/* FINAL CONTEXTUAL CONTRAST PASS
   Section hierarchy:
   GOLD kicker → GREEN headline → GOLD rule.
   Outcome strip:
   GREEN value → GOLD descriptor.
   No single outcome is permanently gold.
*/
section .section-head .kicker{
  color:var(--v7-gold)!important;
  font-family:"IBM Plex Mono",monospace!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
section .section-head h2{
  color:var(--v7-green)!important;
  font-family:"Space Grotesk",Inter,sans-serif!important;
  font-weight:800!important;
}
section .section-head h2::after{
  background:linear-gradient(90deg,var(--v7-gold),var(--v7-gold-light))!important;
}
.outcome-item b{
  color:var(--v7-green)!important;
  font-family:"Space Grotesk",Inter,sans-serif!important;
  font-weight:800!important;
}
.outcome-item span{
  color:var(--v7-gold)!important;
  font-family:"IBM Plex Mono",monospace!important;
  font-weight:800!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}
.outcome-item:hover b{color:var(--v7-green)!important}




/* NIRNAI WORLD-CLASS FINISH — refined green + antique-gold system */
:root{
  --gold:#c79a52;--gold2:#e0bd7c;--gold3:#f2dfb8;
  --gold-deep:#9a6b2f;--ink:#123b35;--dark:#072b26;
  --paper:#f6f7f4;--line:#d8e0dc;
}
body{background:linear-gradient(180deg,#f8f9f6 0%,#f3f6f3 100%);color:#17312d}
nav{box-shadow:0 1px 0 rgba(197,154,89,.16),0 8px 28px rgba(9,42,38,.045)}
.links a{position:relative}.links a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:linear-gradient(90deg,var(--gold),var(--gold2));transition:.25s}.links a:hover:after{right:0}.links a:hover{color:var(--gold-deep)}
.cta{background:linear-gradient(135deg,#2d675c,#1d5148);border:1px solid rgba(224,189,124,.5);box-shadow:0 8px 20px rgba(20,72,62,.14);transition:.25s}.cta:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(20,72,62,.18)}
.crumb{letter-spacing:.01em}.crumb b{color:var(--gold-deep)}
.hero{min-height:680px;border-radius:0 0 22px 22px;box-shadow:0 22px 60px rgba(9,42,38,.14)}
.hero-media{background-position:center;background-size:cover}
.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(224,189,124,.8) 18%,rgba(224,189,124,.2) 62%,transparent 100%);z-index:4}
.hero-grid{opacity:.28}.hero-content{position:relative;z-index:5}.hero-copy{max-width:650px}
.eyebrow{color:var(--gold2)!important;border-color:rgba(224,189,124,.55)!important;background:rgba(199,154,82,.09)!important;box-shadow:inset 0 0 0 1px rgba(224,189,124,.08),0 8px 24px rgba(0,0,0,.08)}
.hero h1{font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:-.045em;line-height:.98;text-wrap:balance;text-shadow:0 3px 22px rgba(0,0,0,.28)}
.hero h1:after{content:"";display:block;width:92px;height:3px;margin-top:24px;background:linear-gradient(90deg,var(--gold2),rgba(224,189,124,0));border-radius:99px}
.hero p{max-width:570px;color:#edf5f2!important;text-shadow:0 2px 16px rgba(0,0,0,.25)}
.primary{background:linear-gradient(135deg,#d2a45d,#b8833d)!important;color:#102e29!important;border:1px solid rgba(255,231,181,.72)!important;box-shadow:0 10px 25px rgba(153,105,45,.22)!important;font-weight:700!important;transition:.25s}.primary:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(153,105,45,.28)!important}
.secondary{border-color:rgba(224,189,124,.65)!important;color:#f3e2c0!important;background:rgba(7,36,32,.28)!important;backdrop-filter:blur(8px);transition:.25s}.secondary:hover{background:rgba(199,154,82,.12)!important;border-color:var(--gold2)!important}
.intro-card{border-color:rgba(197,154,89,.28)!important;box-shadow:0 18px 45px rgba(9,42,38,.07),inset 0 1px 0 rgba(255,255,255,.8);position:relative}.intro-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--gold2),var(--gold-deep));border-radius:18px 0 0 18px}
.section{position:relative}.section:not(:first-of-type):before{content:"";position:absolute;top:0;left:50%;width:min(1160px,calc(100% - 68px));height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(197,154,89,.32),transparent)}
.kicker{color:var(--gold-deep)!important;letter-spacing:.14em!important;font-weight:700!important}.section-head h2{font-family:'Space Grotesk',sans-serif;letter-spacing:-.035em;color:var(--ink);position:relative}.section-head h2:after{content:"";display:block;width:54px;height:2px;margin-top:13px;background:linear-gradient(90deg,var(--gold),transparent)}
.section-head p{color:#65746f}
.feature-copy,.doc,.related a,.faq details,.dashboard{box-shadow:0 14px 35px rgba(9,42,38,.055);border-color:rgba(18,59,53,.12)!important}
.feature-copy{position:relative;overflow:hidden}.feature-copy:after{content:"";position:absolute;right:-50px;top:-50px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(199,154,82,.16),transparent 68%);pointer-events:none}
.q-num{color:var(--gold-deep)!important;font-weight:700;letter-spacing:.16em}.feature-copy h3{color:var(--ink)}
.feature-visual{border-color:rgba(224,189,124,.32)!important;box-shadow:0 22px 50px rgba(9,42,38,.14)}
.arch-visual{border-color:rgba(224,189,124,.46)!important;box-shadow:0 24px 60px rgba(7,45,39,.18)}
.arch-flow .node{border-color:rgba(224,189,124,.38)}.arch-flow .node:hover{border-color:var(--gold2);box-shadow:0 0 30px rgba(199,154,82,.13)}
.arch-flow .arrow{color:var(--gold2);filter:drop-shadow(0 0 7px rgba(224,189,124,.28))}.arch-flow .node:before{border-color:rgba(224,189,124,.52);background:rgba(199,154,82,.1)}
.doc:hover{border-color:rgba(199,154,82,.58)!important;transform:translateY(-6px)}
.doc-stamp{color:var(--gold-deep)!important;border-color:rgba(199,154,82,.5)!important;background:rgba(199,154,82,.1)!important}
.dashboard{overflow:hidden}.screen{background:linear-gradient(145deg,#06241f,#0c3b33 62%,#17483f)}.panel{border-color:rgba(224,189,124,.16)}.panel-title{color:#e1bf7f!important}.bar{background:linear-gradient(180deg,#e0bd7c,#b7833d)!important}
.dash-copy2 h3{color:var(--ink)}.mini b{color:var(--gold-deep)!important}.mini div{padding-right:22px;border-right:1px solid rgba(197,154,89,.2)}.mini div:last-child{border-right:0}
.related a{position:relative;overflow:hidden}.related a:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--gold2),var(--gold-deep));transform:scaleY(0);transform-origin:center;transition:.25s}.related a:hover:before{transform:scaleY(1)}.related a:hover{border-color:rgba(199,154,82,.48)!important;box-shadow:0 16px 34px rgba(9,42,38,.08)}
summary:after{color:var(--gold-deep)!important}details[open]{border-color:rgba(197,154,89,.4)}
.close{background:radial-gradient(circle at 80% 20%,rgba(199,154,82,.16),transparent 28%),linear-gradient(135deg,#062a25,#174b43);border-top:1px solid rgba(224,189,124,.38);position:relative;overflow:hidden}.close:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold2),transparent)}.close h2{font-family:'Space Grotesk',sans-serif;letter-spacing:-.035em}.close p{color:#d0ded9}.close .primary{display:inline-flex}
.legal-opinion-template-footer{border-top:1px solid rgba(197,154,89,.18)}
@media(max-width:800px){.hero{min-height:620px}.hero h1{font-size:46px}.section-head h2{font-size:34px}.mini div{border-right:0;border-bottom:1px solid rgba(197,154,89,.16);padding-bottom:12px;width:100%}.mini div:last-child{border-bottom:0}}



/* V6 — aligned to approved Vetting typography, spacing and CTA language */
:root{--lo-ink:#083B35;--lo-ink2:#0F4D45;--lo-teal:#197A6B;--lo-teal2:#2D9A89;--lo-paper:#FAFCFB;--lo-gold:#B98535;--lo-slate:#49635E;--lo-muted:#607671;--lo-line:#D7E3DF;--lo-dark:#062D29}
body{background:var(--lo-paper)!important;color:#17332F!important;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-size:16px!important;line-height:1.68!important;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:"Space Grotesk",Inter,sans-serif!important;color:var(--lo-ink)!important;font-weight:650!important;letter-spacing:-.025em!important}p{color:var(--lo-slate)}
nav{background:rgba(250,252,251,.94)!important;border-bottom:1px solid var(--lo-line)!important}.links a{color:var(--lo-slate)!important}.links a:hover{color:var(--lo-teal)!important}.nav-ctas{display:flex;align-items:center;gap:9px}.nav-ctas .cta{padding:11px 17px!important;border-radius:7px!important;font-size:.84rem!important;min-width:112px;text-align:center}.nav-ctas .nav-demo{background:var(--lo-teal)!important;color:#fff!important;border:1px solid var(--lo-teal)!important}.nav-ctas .nav-talk{background:transparent!important;color:var(--lo-teal)!important;border:1px solid rgba(25,122,107,.48)!important;box-shadow:none!important}.nav-ctas .cta:hover{transform:translateY(-2px)!important}
.hero h1{font-family:"Space Grotesk",Inter,sans-serif!important;font-weight:650!important;letter-spacing:-.035em!important}.hero .actions{display:flex!important;gap:11px!important;flex-wrap:wrap!important;margin-top:30px!important}.hero-primary{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:7px;background:#D5B06C;color:#083B35;font-weight:700;font-size:.88rem;transition:.2s}.hero-primary:hover{transform:translateY(-2px);background:#E0BF80}.hero-secondary{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:7px;border:1px solid rgba(255,255,255,.42);color:#fff;font-weight:700;font-size:.88rem;transition:.2s}.hero-secondary:hover{background:rgba(255,255,255,.08);border-color:#fff}
.outcome-strip{background:#F1F7F5;border-top:1px solid var(--lo-line);border-bottom:1px solid var(--lo-line)}.outcome-grid{display:grid;grid-template-columns:repeat(4,1fr)}.outcome-item{padding:25px 24px;border-right:1px solid var(--lo-line)}.outcome-item:first-child{border-left:1px solid var(--lo-line)}.outcome-item b{display:block;font-family:"Space Grotesk";font-size:1.25rem;color:var(--lo-ink);letter-spacing:-.02em}.outcome-item span{display:block;margin-top:3px;font-size:.74rem;color:var(--lo-muted);text-transform:uppercase;letter-spacing:.08em;font-family:"IBM Plex Mono",monospace}
.revised-section{padding-top:105px!important;padding-bottom:105px!important}.section-head h2{font-family:"Space Grotesk"!important;font-weight:650!important}.section-head .kicker,.kicker{font-family:"IBM Plex Mono",monospace!important;text-transform:uppercase!important;letter-spacing:.11em!important;font-size:.68rem!important;color:var(--lo-teal)!important}.lo-flow{display:grid;grid-template-columns:repeat(5,1fr);margin-top:42px;border:1px solid var(--lo-line);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 18px 50px rgba(8,59,53,.08)}.lo-step{padding:28px 23px 30px;border-right:1px solid var(--lo-line);min-height:220px;transition:.22s;background:#fff}.lo-step:last-child{border-right:0}.lo-step.active,.lo-step:hover{background:#F1F7F5}.lo-no{font:600 .66rem "IBM Plex Mono";letter-spacing:.1em;color:var(--lo-gold);display:block;margin-bottom:24px}.lo-step h3{font-size:1.18rem!important;margin-bottom:9px}.lo-step p{font-size:.88rem;line-height:1.6;color:var(--lo-slate)}.assurance-note{margin-top:16px;padding:14px 18px;border-radius:9px;background:#083B35;color:#DDEDE9;font:500 .74rem "IBM Plex Mono";letter-spacing:.04em;text-align:center}
#dashboard{padding-top:105px!important;padding-bottom:105px!important}.dash-copy2 h3{font-family:"Space Grotesk"!important}.dash-copy2 p{color:var(--lo-slate)!important}
.related-mini{padding:72px 0;background:#F1F7F5;border-top:1px solid var(--lo-line);border-bottom:1px solid var(--lo-line)}.related-heading h3{font-size:1.55rem;margin-top:8px}.related-links{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.related-links a{background:#fff;border:1px solid var(--lo-line);border-radius:12px;padding:18px 20px;transition:.2s}.related-links a:hover{border-color:var(--lo-teal);transform:translateY(-2px)}.related-links b{display:block;font-family:"Space Grotesk";font-size:1rem;color:var(--lo-ink)}.related-links span{display:block;margin-top:4px;color:var(--lo-muted);font-size:.78rem}
.revised-faq{padding-top:100px!important;padding-bottom:100px!important}.revised-faq .faq{max-width:900px}.revised-faq details{border-top:1px solid var(--lo-line)!important;padding:20px 0!important}.revised-faq details:last-child{border-bottom:1px solid var(--lo-line)!important}.revised-faq summary{font-family:"Space Grotesk"!important;font-weight:600!important;color:var(--lo-ink)!important}.revised-faq summary:after{color:var(--lo-gold)!important}.revised-faq details p{color:var(--lo-slate)!important}
.close-section{background:var(--lo-dark)!important;padding:92px 0!important;text-align:center}.close-section h2{color:#fff!important;font-family:"Space Grotesk"!important;font-size:clamp(2rem,4vw,3.1rem)!important;max-width:780px!important;margin:0 auto 16px!important}.close-section p{color:#CDE4DF!important;max-width:660px!important;margin:0 auto 25px!important}.close-actions{display:flex;justify-content:center}.close-section .btn-primary{background:#2D9A89!important;color:#fff!important;padding:13px 22px!important;border-radius:7px!important;font-family:Inter,sans-serif!important;font-weight:700!important}.close-section .btn-primary:hover{background:#197A6B!important;transform:translateY(-2px)}footer{background:#EAF1EF!important;color:var(--lo-muted)!important;padding:34px 0!important;font-size:.78rem!important}
@media(max-width:900px){.nav-ctas{display:none!important}.outcome-grid{grid-template-columns:repeat(2,1fr)}.outcome-item:nth-child(2){border-right:0}.lo-flow{grid-template-columns:1fr}.lo-step{border-right:0;border-bottom:1px solid var(--lo-line);min-height:0}.lo-step:last-child{border-bottom:0}.related-links{grid-template-columns:1fr}}
@media(max-width:650px){.outcome-grid{grid-template-columns:1fr 1fr}.outcome-item{padding:20px 14px}.outcome-item:nth-child(odd){border-left:1px solid var(--lo-line)}.outcome-item:nth-child(even){border-right:0}.outcome-item b{font-size:1.05rem}.outcome-item span{font-size:.62rem}.revised-section,#dashboard,.revised-faq{padding-top:75px!important;padding-bottom:75px!important}.lo-flow{margin-top:28px}.hero-primary,.hero-secondary{width:100%}}



/* =============================================================
   NIRNAI LEGAL OPINION — FINAL APPROVED VISUAL SYSTEM
   Gold kicker -> green headline -> gold rule -> readable support
   Single CTA: Book a Demo (brand green)
   ============================================================= */
:root{
  --n-green:#0A5147;
  --n-green-deep:#063B35;
  --n-teal:#2D9A89;
  --n-gold:#B8873F;
  --n-gold-light:#E1C17D;
  --n-ink:#123B35;
  --n-muted:#4C6660;
  --n-line:#D8E4DF;
  --n-paper:#F6F7F4;
}

/* Make the page hierarchy unmistakable. */
.section-head,
.revised-section .section-head,
.faq-section .section-head{
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.72fr)!important;
  gap:52px!important;
  align-items:end!important;
  margin-bottom:42px!important;
}

.kicker,
.eyebrow,
.section-kicker,
.section-label{
  color:var(--n-gold)!important;
  font-family:'IBM Plex Mono',monospace!important;
  font-size:.70rem!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}

.section-head h2,
.revised-section h2,
.faq-section h2,
.section h2{
  color:var(--n-green)!important;
  font-family:'Space Grotesk',Inter,sans-serif!important;
  font-weight:850!important;
  letter-spacing:-.045em!important;
  line-height:1.04!important;
  font-size:clamp(2.35rem,4vw,3.55rem)!important;
  text-shadow:none!important;
}

.section-head h2:after,
.revised-section h2:after,
.faq-section h2:after,
.section h2:after{
  content:""!important;
  display:block!important;
  width:78px!important;
  height:4px!important;
  margin-top:18px!important;
  border-radius:99px!important;
  background:linear-gradient(90deg,var(--n-gold),var(--n-gold-light))!important;
}

.section-head p,
.revised-section .section-head p,
.faq-section .section-head p{
  color:var(--n-muted)!important;
  font-family:'Inter',sans-serif!important;
  font-size:1.03rem!important;
  font-weight:500!important;
  line-height:1.65!important;
}

/* Header: ONLY Book a Demo. Green, as approved. */
.nav-ctas{
  display:flex!important;
  align-items:center!important;
  gap:0!important;
}
.nav-ctas .nav-talk{display:none!important;}
.nav-ctas .nav-demo,
.nav-cta-group .navcta-primary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:128px!important;
  padding:12px 19px!important;
  border-radius:8px!important;
  background:linear-gradient(135deg,#2D9A89,#19796B)!important;
  color:#fff!important;
  border:1px solid #19796B!important;
  box-shadow:0 8px 22px rgba(25,121,107,.20)!important;
  font-family:'Inter',sans-serif!important;
  font-weight:800!important;
  text-decoration:none!important;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease!important;
}
.nav-ctas .nav-demo:hover,
.nav-cta-group .navcta-primary:hover{
  transform:translateY(-2px)!important;
  background:linear-gradient(135deg,#39A997,#1D7F71)!important;
  box-shadow:0 12px 28px rgba(25,121,107,.28)!important;
}

/* HERO: force readable headline over image. */
.hero{
  min-height:680px!important;
  background:#063B35!important;
}
.hero-media{
  z-index:0!important;
  background-position:center center!important;
  background-size:cover!important;
}
.hero:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,
    rgba(4,31,28,.96) 0%,
    rgba(4,31,28,.91) 28%,
    rgba(4,31,28,.68) 47%,
    rgba(4,31,28,.24) 70%,
    rgba(4,31,28,.04) 100%)!important;
}
.hero-grid{z-index:2!important;opacity:.16!important;}
.hero-content{
  z-index:5!important;
  min-height:680px!important;
  position:relative!important;
  display:flex!important;
  align-items:center!important;
}
.hero-copy{
  max-width:690px!important;
  padding:60px 0!important;
  position:relative!important;
  z-index:6!important;
}
.hero .eyebrow{
  display:inline-block!important;
  color:var(--n-gold-light)!important;
  background:rgba(184,135,63,.12)!important;
  border:1px solid rgba(225,193,125,.42)!important;
  border-radius:999px!important;
  padding:8px 12px!important;
  margin-bottom:20px!important;
}
.hero h1{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  color:#FFFFFF!important;
  font-family:'Space Grotesk',Inter,sans-serif!important;
  font-size:clamp(3.4rem,6.4vw,6.25rem)!important;
  line-height:.94!important;
  font-weight:850!important;
  letter-spacing:-.055em!important;
  max-width:720px!important;
  text-shadow:0 4px 28px rgba(0,0,0,.42)!important;
  position:relative!important;
  z-index:7!important;
}
.hero h1:after{
  content:""!important;
  display:block!important;
  width:96px!important;
  height:4px!important;
  margin-top:25px!important;
  border-radius:99px!important;
  background:linear-gradient(90deg,var(--n-gold-light),rgba(225,193,125,0))!important;
}
.hero-copy p{
  color:#F3F8F6!important;
  font-family:'Inter',sans-serif!important;
  font-size:1.12rem!important;
  font-weight:500!important;
  line-height:1.65!important;
  max-width:620px!important;
  text-shadow:0 2px 16px rgba(0,0,0,.34)!important;
}
.hero .actions{display:none!important;}

/* Outcome strip: premium proof, not another generic section. */
.outcome-strip{
  background:#F2F6F4!important;
  border-top:1px solid rgba(184,135,63,.22)!important;
  border-bottom:1px solid var(--n-line)!important;
}
.outcome-item b{
  color:var(--n-green)!important;
  font-family:'Space Grotesk',Inter,sans-serif!important;
  font-weight:850!important;
}
.outcome-item span{color:var(--n-gold)!important;font-weight:800!important;}

/* APPROACH: interactive gold tabs / stages. */
.lo-flow{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:12px!important;
  margin-top:30px!important;
}
.lo-flow .lo-step,
.lo-flow .flow-step,
.lo-flow .step,
.lo-flow > div{
  position:relative!important;
  min-height:190px!important;
  padding:24px 20px!important;
  border:1px solid #D4E2DD!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,#FFFFFF,#F6FAF8)!important;
  box-shadow:0 8px 24px rgba(7,59,53,.045)!important;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease!important;
}
.lo-flow .lo-step:hover,
.lo-flow .flow-step:hover,
.lo-flow .step:hover,
.lo-flow > div:hover,
.lo-flow .active{
  transform:translateY(-7px)!important;
  border-color:var(--n-gold)!important;
  background:linear-gradient(145deg,#FFFDF8,#F8F0DF)!important;
  box-shadow:0 18px 38px rgba(7,59,53,.11),0 0 0 1px rgba(184,135,63,.10)!important;
}
.lo-flow h3,
.lo-flow b{
  color:var(--n-green)!important;
  font-family:'Space Grotesk',Inter,sans-serif!important;
  font-weight:850!important;
  transition:color .2s ease!important;
}
.lo-flow .lo-step:hover h3,
.lo-flow .lo-step:hover b,
.lo-flow .flow-step:hover h3,
.lo-flow .flow-step:hover b,
.lo-flow .step:hover h3,
.lo-flow .step:hover b,
.lo-flow > div:hover h3,
.lo-flow > div:hover b{
  color:var(--n-gold)!important;
}
.lo-flow p,
.lo-flow span{color:var(--n-muted)!important;line-height:1.55!important;}
.lo-flow .lo-num,
.lo-flow .num,
.lo-flow .step-no{
  color:var(--n-gold)!important;
  font-family:'IBM Plex Mono',monospace!important;
  font-weight:800!important;
}

/* If the existing markup uses .lo-card rather than .lo-step. */
.lo-card,.process-step,.arch-tab,.tab,.tabs button{
  transition:transform .22s ease,border-color .22s ease,color .22s ease,background .22s ease,box-shadow .22s ease!important;
  font-weight:800!important;
}
.process-step:hover,.arch-tab:hover,.tab:hover,.tabs button:hover,
.process-step.active,.arch-tab.active,.tab.active,.tabs button.active{
  color:var(--n-gold)!important;
  border-color:var(--n-gold)!important;
  background:#FFF9EE!important;
  box-shadow:0 10px 26px rgba(184,135,63,.12)!important;
}

/* Dashboard — real proof should dominate. */
#dashboard .section-head h2{color:var(--n-green)!important;}
#dashboard .dashboard-panel,
#dashboard .dashboard-wrap,
#dashboard .dashboard-card{
  border-color:#D7E3DF!important;
}
#dashboard .dashboard-panel:hover,
#dashboard .dashboard-card:hover{
  border-color:rgba(184,135,63,.72)!important;
}

/* Related assurance: compact, not another content block. */
.compact-related{
  padding:28px 0!important;
  background:#F3F6F4!important;
  border-top:1px solid var(--n-line)!important;
  border-bottom:1px solid var(--n-line)!important;
}
.related-line{display:flex;align-items:center;justify-content:space-between;gap:30px;}
.related-kicker{font:800 .68rem 'IBM Plex Mono',monospace;letter-spacing:.15em;color:var(--n-gold);}
.related-items{display:flex;gap:10px;flex-wrap:wrap;}
.related-items a{
  display:inline-flex!important;
  padding:9px 14px!important;
  border:1px solid #D3E1DC!important;
  border-radius:999px!important;
  color:var(--n-green)!important;
  background:#fff!important;
  font-family:'Inter',sans-serif!important;
  font-weight:750!important;
  transition:.2s ease!important;
}
.related-items a:hover{
  color:var(--n-gold)!important;
  border-color:var(--n-gold)!important;
  background:#FFF9EE!important;
  transform:translateY(-2px)!important;
}

/* FAQ: same gold/green hierarchy and interaction. */
.faq-section .faq details:hover{border-color:rgba(184,135,63,.62)!important;}
.faq-section .faq summary{color:var(--n-green)!important;font-weight:800!important;}
.faq-section .faq summary:after{color:var(--n-gold)!important;}

/* No visible section numbering. */
.section-number,.section-no,.section-count,.section-num,.numbering{display:none!important;}

@media(max-width:900px){
  .section-head,.revised-section .section-head,.faq-section .section-head{grid-template-columns:1fr!important;gap:14px!important;}
  .lo-flow{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .related-line{align-items:flex-start;flex-direction:column;gap:14px;}
}
@media(max-width:600px){
  .hero{min-height:620px!important;}
  .hero-content{min-height:620px!important;}
  .hero h1{font-size:clamp(3rem,13vw,4.4rem)!important;}
  .hero-copy{padding:42px 0!important;}
  .lo-flow{grid-template-columns:1fr!important;}
}



/* ================================================================
   NIRNAI LEGAL OPINION — APPROVED GOLD / GREEN SYSTEM V7
   Exact rule: GOLD kicker -> GREEN section headline -> GOLD rule.
   Hero is the exception: WHITE headline + GOLD accent for image contrast.
   Single CTA: BOOK A DEMO in NirnAI green.
   ================================================================ */
:root{
  --v7-green:#0A5147;
  --v7-deep:#063B35;
  --v7-teal:#2D9A89;
  --v7-gold:#B8873F;
  --v7-gold-light:#E1C17D;
  --v7-paper:#F6F7F4;
  --v7-line:#D8E4DF;
  --v7-muted:#536C66;
}

/* ALL SECTION KICKERS = GOLD */
.section .kicker,
.revised-section .kicker,
.faq-section .kicker,
.dashboard .kicker,
.section-head .kicker,
.section-head .eyebrow,
.section-kicker,
.section-label{
  color:var(--v7-gold)!important;
  font-family:"IBM Plex Mono",monospace!important;
  font-weight:800!important;
  font-size:.72rem!important;
  line-height:1.2!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}

/* ALL SECTION HEADLINES = GREEN */
.section .section-head h2,
.revised-section .section-head h2,
.faq-section .section-head h2,
#dashboard .section-head h2,
#approach .section-head h2{
  color:var(--v7-green)!important;
  font-family:"Space Grotesk",Inter,sans-serif!important;
  font-weight:800!important;
  font-size:clamp(2.45rem,4.1vw,3.65rem)!important;
  line-height:1.04!important;
  letter-spacing:-.048em!important;
  text-shadow:none!important;
}

/* GOLD RULE UNDER EVERY SECTION HEADLINE */
.section .section-head h2::after,
.revised-section .section-head h2::after,
.faq-section .section-head h2::after,
#dashboard .section-head h2::after,
#approach .section-head h2::after{
  content:""!important;
  display:block!important;
  width:82px!important;
  height:4px!important;
  margin-top:18px!important;
  border-radius:99px!important;
  background:linear-gradient(90deg,var(--v7-gold),var(--v7-gold-light))!important;
}

.section-head p{
  color:var(--v7-muted)!important;
  font-family:"Inter",sans-serif!important;
  font-size:1.02rem!important;
  line-height:1.65!important;
}

/* HERO: clear image / readable headline. */
.hero{position:relative!important;overflow:hidden!important}
.hero::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,rgba(4,42,37,.94) 0%,rgba(4,42,37,.78) 34%,rgba(4,42,37,.24) 62%,rgba(4,42,37,.04) 100%)!important;
}
.hero-content,.hero .wrap,.hero-copy{position:relative!important;z-index:3!important}
.hero h1{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  color:#fff!important;
  font-family:"Space Grotesk",Inter,sans-serif!important;
  font-weight:800!important;
  font-size:clamp(3.2rem,6vw,5.7rem)!important;
  line-height:.98!important;
  letter-spacing:-.055em!important;
  max-width:760px!important;
  text-shadow:0 3px 24px rgba(0,0,0,.25)!important;
}
.hero .eyebrow{
  color:var(--v7-gold-light)!important;
  font-family:"IBM Plex Mono",monospace!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
}
.hero .eyebrow::before{background:var(--v7-gold-light)!important}
.hero-copy p{color:rgba(255,255,255,.90)!important;font-size:1.08rem!important;line-height:1.62!important}
.hero .actions{display:none!important}

/* SINGLE TOP-RIGHT CTA — GREEN */
.nav-ctas{display:flex!important;gap:0!important}
.nav-ctas .nav-talk,
.nav-ctas .nav-cta-secondary,
.nav-ctas a[href*="talk"]{display:none!important}
.nav-ctas .nav-demo,
.nav-ctas .cta,
.nav-ctas a[href*="demo"]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:132px!important;
  padding:13px 22px!important;
  border-radius:7px!important;
  background:linear-gradient(135deg,#2D9A89,#19796B)!important;
  color:#fff!important;
  border:1px solid #19796B!important;
  font-family:"Inter",sans-serif!important;
  font-weight:800!important;
  box-shadow:0 9px 24px rgba(25,121,107,.22)!important;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease!important;
}
.nav-ctas .nav-demo:hover,
.nav-ctas .cta:hover,
.nav-ctas a[href*="demo"]:hover{
  background:linear-gradient(135deg,#36A593,#19796B)!important;
  transform:translateY(-2px)!important;
  box-shadow:0 13px 30px rgba(25,121,107,.30)!important;
}

/* PROCESS / TABS: no visible numbering; GOLD interactive state. */
.lo-no{display:none!important}
.lo-flow{border:1px solid var(--v7-line)!important;box-shadow:0 18px 50px rgba(8,59,53,.08)!important}
.lo-step{
  position:relative!important;
  background:#fff!important;
  border-right:1px solid var(--v7-line)!important;
  transition:transform .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease!important;
}
.lo-step h3{
  color:var(--v7-green)!important;
  font-family:"Space Grotesk",Inter,sans-serif!important;
  font-weight:800!important;
  transition:color .2s ease!important;
}
.lo-step:hover,.lo-step.active{
  background:linear-gradient(180deg,#fffaf0 0%,#f7f0df 100%)!important;
  border-color:var(--v7-gold)!important;
  box-shadow:inset 0 3px 0 var(--v7-gold),0 14px 30px rgba(8,59,53,.08)!important;
  transform:translateY(-5px)!important;
}
.lo-step:hover h3,.lo-step.active h3{color:var(--v7-gold)!important}
.lo-step p{color:#5A716B!important}
.assurance-note{
  background:var(--v7-deep)!important;
  border:1px solid rgba(184,135,63,.35)!important;
  color:#E8F0ED!important;
}

/* OUTCOME STRIP: uniform hierarchy — green value, gold descriptor. */
.outcome-item{transition:background .22s ease,box-shadow .22s ease}
.outcome-item:hover{background:linear-gradient(180deg,rgba(225,184,94,.10),rgba(225,184,94,.02));box-shadow:inset 0 3px 0 var(--v7-gold)}

.outcome-item b{color:var(--v7-green)!important;font-family:"Space Grotesk",Inter,sans-serif!important;font-weight:800!important}
.outcome-item:first-child b{color:var(--v7-green)!important}
.outcome-item span{color:var(--v7-gold)!important;font-family:"IBM Plex Mono",monospace!important;font-weight:800!important;letter-spacing:.09em!important;text-transform:uppercase!important}

/* Dashboard visual: gold details + green frame. */
.dashboard{border-color:var(--v7-line)!important}
.dashboard .screen{border-color:rgba(184,135,63,.28)!important}
.dashboard .panel-title{color:var(--v7-gold)!important}
.dashboard .badge,.dashboard .status,.dashboard .accent{color:var(--v7-gold)!important}

/* FAQ: same hierarchy and gold interaction. */
.faq-section .faq summary{color:var(--v7-green)!important;font-family:"Space Grotesk",Inter,sans-serif!important;font-weight:800!important}
.faq-section .faq summary::after{color:var(--v7-gold)!important}
.faq-section .faq details:hover{background:rgba(184,135,63,.045)!important}
.faq-section .faq details[open] summary{color:var(--v7-gold)!important}

@media(max-width:900px){
  .section-head{grid-template-columns:1fr!important;gap:16px!important}
  .lo-flow{grid-template-columns:1fr 1fr!important}
}
@media(max-width:560px){
  .section .section-head h2,.revised-section .section-head h2,.faq-section .section-head h2{font-size:2.35rem!important}
  .lo-flow{grid-template-columns:1fr!important}
  .hero h1{font-size:3rem!important}
}



/* =========================================================
   NIRNAI LEGAL OPINION — COMPACT / DIGITAL REVIEW CARD V8
   15–20% tighter vertical rhythm while preserving hierarchy.
   Hero follows the approved NirnAI gold/green visual language.
   ========================================================= */

/* --- Global vertical compression --- */
.section.revised-section,
#dashboard,
.revised-faq{padding-top:84px!important;padding-bottom:84px!important}
.outcome-item{padding:21px 22px!important}
.related-mini{padding:58px 0!important}

/* --- Hero: ~18% shorter, with the headline treatment preserved --- */
.hero{min-height:550px!important}
.hero-content{min-height:550px!important}
.hero-copy{max-width:690px!important;padding:48px 0!important}
.hero h1{
  font-size:clamp(3.05rem,5.25vw,4.7rem)!important;
  line-height:.96!important;
  letter-spacing:-.055em!important;
  max-width:680px!important;
}
.hero h1:after{margin-top:20px!important;width:78px!important;height:3px!important}
.hero p{max-width:560px!important;font-size:.98rem!important;line-height:1.52!important}

/* --- Digital property/legal review card --- */
.legal-review-card{
  position:absolute;
  z-index:6;
  top:50%;
  right:4.2%;
  transform:translateY(-50%);
  width:min(360px,31%);
  padding:20px 20px 17px;
  border:1px solid rgba(173,232,220,.55);
  border-radius:18px;
  background:
    linear-gradient(145deg,rgba(247,252,250,.88),rgba(218,239,234,.72));
  box-shadow:
    0 28px 70px rgba(0,25,22,.34),
    inset 0 1px 0 rgba(255,255,255,.78),
    0 0 0 1px rgba(255,255,255,.08);
  backdrop-filter:blur(16px) saturate(125%);
  -webkit-backdrop-filter:blur(16px) saturate(125%);
  color:#123b35;
}
.legal-review-card:before{
  content:"";
  position:absolute;
  inset:8px;
  border:1px solid rgba(47,107,96,.12);
  border-radius:13px;
  pointer-events:none;
}
.lrc-head{
  display:flex;
  align-items:center;
  gap:9px;
  position:relative;
  padding:2px 1px 14px;
  font:800 .77rem/1 "IBM Plex Mono",monospace;
  letter-spacing:.12em;
  color:#0A5147;
}
.lrc-head small{
  margin-left:auto;
  padding:5px 7px;
  border-radius:999px;
  background:rgba(10,81,71,.08);
  color:#2f6b60;
  font-size:.57rem;
  letter-spacing:.1em;
}
.lrc-pulse{
  width:7px;height:7px;border-radius:50%;
  background:#3ca99a;
  box-shadow:0 0 0 5px rgba(60,169,154,.11);
}
.lrc-row{
  position:relative;
  display:grid;
  grid-template-columns:25px 1fr 18px;
  align-items:center;
  gap:9px;
  min-height:43px;
  margin:6px 0;
  padding:8px 10px;
  border:1px solid rgba(38,93,84,.12);
  border-radius:9px;
  background:rgba(255,255,255,.48);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.62);
  font-size:.78rem;
  color:#294740;
}
.lrc-icon{
  width:23px;height:23px;
  display:grid;place-items:center;
  border-radius:6px;
  color:#0A7669;
  background:rgba(65,166,151,.10);
  font-family:"Space Grotesk",sans-serif;
  font-weight:700;
}
.lrc-row b{
  color:#0A7669;
  font-size:.82rem;
}
.lrc-signoff{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:11px;
  padding:12px 11px;
  border-radius:10px;
  background:linear-gradient(135deg,rgba(10,81,71,.96),rgba(16,111,97,.91));
  color:white;
  box-shadow:0 10px 22px rgba(6,59,53,.18);
}
.lrc-shield{
  width:29px;height:29px;flex:0 0 29px;
  display:grid;place-items:center;
  border:1px solid rgba(208,239,233,.55);
  border-radius:9px;
  color:#d9f1ec;
  font-weight:800;
  background:rgba(255,255,255,.08);
}
.lrc-signoff strong{
  display:block;
  font:800 .68rem/1.2 "IBM Plex Mono",monospace;
  letter-spacing:.08em;
}
.lrc-signoff span{
  display:block;
  margin-top:4px;
  color:#cce7e1;
  font-size:.66rem;
}
.lrc-footer{
  position:relative;
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:12px 2px 0;
  color:#60756f;
  font:500 .6rem/1.3 "IBM Plex Mono",monospace;
  letter-spacing:.03em;
}
.lrc-status{color:#0A7669;font-weight:700}

/* Keep the headline left of the card on wide screens */
@media(min-width:901px){
  .hero-copy{padding-right:60px!important}
}

/* --- Process compression --- */
.lo-flow{
  margin-top:34px!important;
}
.lo-step{
  min-height:180px!important;
  padding:23px 20px 24px!important;
}
.lo-no{margin-bottom:18px!important}
.lo-step h3{font-size:1.08rem!important;margin-bottom:7px!important}
.lo-step p{font-size:.82rem!important;line-height:1.52!important}
.assurance-note{margin-top:13px!important;padding:12px 16px!important}

/* --- Visibility/dashboard compression --- */
#dashboard .section-head{margin-bottom:26px!important}
#dashboard .dashboard{transform:scale(.96);transform-origin:top center;margin-bottom:-20px}
#dashboard .dash-copy2{padding-top:0!important}
#dashboard .mini{margin-top:18px!important}

/* --- Related assurance: cleaner, smaller, requested services --- */
.compact-related .related-line{gap:22px!important}
.compact-related .related-items{gap:10px!important}
.compact-related .related-items a{
  padding:10px 16px!important;
  border-radius:999px!important;
  font-size:.78rem!important;
}
.related-kicker{
  font-size:.66rem!important;
  letter-spacing:.13em!important;
}

/* --- FAQ compression --- */
.revised-faq .section-head{margin-bottom:22px!important}
.revised-faq details{padding:16px 0!important}
.revised-faq summary{font-size:.98rem!important}
.revised-faq details p{font-size:.84rem!important;line-height:1.5!important;margin-top:8px!important}

/* --- Footer slightly tighter --- */
.legal-opinion-template-footer{padding:27px 0!important}

/* --- Responsive card treatment --- */
@media(max-width:1100px){
  .legal-review-card{right:3%;width:340px}
  .hero-copy{max-width:620px!important}
}
@media(max-width:900px){
  .hero{min-height:590px!important}
  .hero-content{min-height:590px!important}
  .hero-copy{padding:38px 0 30px!important}
  .legal-review-card{
    top:auto;
    bottom:20px;
    right:20px;
    transform:none;
    width:330px;
    max-width:calc(100% - 40px);
  }
  .hero-copy{max-width:100%!important;padding-right:0!important}
  .hero h1{font-size:clamp(3rem,9vw,4.5rem)!important}
}
@media(max-width:600px){
  .section.revised-section,#dashboard,.revised-faq{padding-top:66px!important;padding-bottom:66px!important}
  .hero{min-height:650px!important}
  .hero-content{min-height:650px!important;align-items:flex-start!important}
  .hero-copy{padding-top:34px!important}
  .hero h1{font-size:clamp(2.65rem,13vw,3.8rem)!important}
  .legal-review-card{
    left:18px;right:18px;bottom:16px;width:auto;max-width:none;
    padding:16px 15px 14px;
  }
  .lrc-row{min-height:39px;margin:4px 0;padding:7px 8px;font-size:.72rem}
  .lrc-signoff{padding:10px}
  .lrc-footer{font-size:.55rem}
  #dashboard .dashboard{transform:none;margin-bottom:0}
  .compact-related .related-line{align-items:center!important}
}



/* =========================================================
   CROSS-PAGE UNIFORMITY — Legal Opinion aligned to Valuation
   Same grid, type hierarchy, rhythm and interaction language.
   ========================================================= */
:root{
  --nirnai-green:#123A35;
  --nirnai-green-dark:#073B35;
  --nirnai-teal:#2F6B60;
  --nirnai-gold:#C79A56;
  --nirnai-gold-deep:#956625;
  --nirnai-gold-pale:#F5EBDD;
  --nirnai-line:rgba(18,58,53,.12);
  --nirnai-slate:#5B6C67;
}
body{background:#F7F9F8;color:#14231F;font-family:Inter,sans-serif}
h1,h2,h3,h4{font-family:"Space Grotesk",sans-serif}
.wrap{max-width:1240px!important;padding:0 42px!important}

/* Navigation */
nav{height:76px!important;background:rgba(247,249,248,.92)!important;border-bottom:1px solid var(--nirnai-line)!important}
nav .wrap{height:76px!important}
.brand img{width:130px!important}
.links{gap:26px!important;color:#596B66!important;font-size:.88rem!important}
.links a:hover{color:var(--nirnai-green)!important}
.nav-ctas{display:flex!important;align-items:center!important;gap:0!important}
.nav-ctas .cta,
.nav-ctas .nav-demo{
  background:var(--nirnai-teal)!important;color:#fff!important;border:1px solid var(--nirnai-teal)!important;
  padding:12px 22px!important;border-radius:4px!important;font-weight:700!important;font-size:.84rem!important;
  box-shadow:none!important;min-width:0!important;
}
.nav-ctas .nav-demo:hover{background:#0D3B35!important}

/* Breadcrumb */
.crumb{max-width:1240px!important;padding:16px 42px 0!important;font-size:.8rem!important;color:var(--nirnai-slate)!important}
.crumb a{color:var(--nirnai-teal)!important}

/* Hero: same proportions and headline language as Valuation */
.hero{
  max-width:1240px!important;min-height:610px!important;margin:16px auto 0!important;
  border-radius:14px!important;box-shadow:0 18px 60px rgba(8,43,39,.12)!important;
}
.hero-content{min-height:610px!important}
.hero-copy{max-width:620px!important;padding:30px 0!important}
.hero .eyebrow{
  font-family:"IBM Plex Mono",monospace!important;font-size:.68rem!important;
  letter-spacing:.11em!important;color:#9ED3C8!important;margin-bottom:18px!important;
}
.hero .eyebrow:before{background:var(--nirnai-gold)!important;width:28px!important}
.hero h1{
  font-family:"Space Grotesk",sans-serif!important;
  font-size:clamp(2.8rem,5vw,5rem)!important;line-height:1.01!important;
  letter-spacing:-.045em!important;font-weight:800!important;color:#fff!important;
  text-shadow:0 3px 24px rgba(0,0,0,.42)!important;max-width:620px!important;
}
.hero h1 .gold,.hero h1 .serif{
  font-family:"Playfair Display",serif!important;color:#D1A65C!important;font-weight:600!important;
  letter-spacing:-.035em!important;text-shadow:0 3px 22px rgba(0,0,0,.45)!important;
}
.hero-copy p,.hero p{
  color:#F1F6F4!important;max-width:550px!important;font-size:1.06rem!important;
  line-height:1.55!important;text-shadow:0 2px 14px rgba(0,0,0,.35)!important;
}

/* Digital legal review card — floating document UI, not a physical paper metaphor */
.legal-review-card{
  right:5%!important;width:330px!important;padding:18px 18px 15px!important;
  border:1px solid rgba(173,232,220,.46)!important;border-radius:14px!important;
  background:linear-gradient(145deg,rgba(247,252,250,.82),rgba(218,239,234,.62))!important;
  box-shadow:0 28px 70px rgba(0,25,22,.34),inset 0 1px 0 rgba(255,255,255,.78)!important;
  backdrop-filter:blur(18px) saturate(125%)!important;
}
.lrc-head{font-size:.70rem!important;padding-bottom:11px!important;color:#0A5147!important}
.lrc-row{min-height:40px!important;margin:5px 0!important;padding:7px 9px!important;font-size:.73rem!important}
.lrc-signoff{margin-top:9px!important;padding:10px!important}
.lrc-signoff strong{font-size:.64rem!important}
.lrc-signoff span{font-size:.61rem!important}
.lrc-footer{padding-top:10px!important;font-size:.56rem!important}

/* Compact outcomes: same restrained strip language */
.outcome-strip{background:#F1F7F5!important;border-top:1px solid var(--nirnai-line)!important;border-bottom:1px solid var(--nirnai-line)!important}
.outcome-grid{max-width:1240px!important}
.outcome-item{padding:19px 22px!important;border-color:var(--nirnai-line)!important}
.outcome-item b{font-family:"Space Grotesk",sans-serif!important;font-size:1.12rem!important;color:var(--nirnai-green)!important;font-weight:800!important}
.outcome-item span{
  margin-top:3px!important;color:var(--nirnai-gold-deep)!important;font-family:"IBM Plex Mono",monospace!important;
  font-size:.62rem!important;font-weight:800!important;letter-spacing:.09em!important;text-transform:uppercase!important;
}

/* Shared section rhythm — 15–20% tighter than the original legal page */
section.section,#process,#dashboard,.related-section,#faq{padding:66px 0!important}
.section-head,.section-intro{margin-bottom:30px!important}
.section-head,.section-intro{gap:60px!important}
.section-head h2,.section-intro h2{
  font-family:"Space Grotesk",sans-serif!important;font-size:clamp(2rem,3.4vw,3.15rem)!important;
  line-height:1.06!important;font-weight:850!important;letter-spacing:-.035em!important;color:var(--nirnai-green)!important;
}
.section-head h2:after,.section-intro h2:after{
  content:"";display:block;width:62px;height:3px;margin-top:14px;border-radius:3px;
  background:linear-gradient(90deg,var(--nirnai-gold),rgba(199,154,86,.16))!important;
}
.section-head .kicker,.section-intro .kicker,.kicker{
  font-family:"IBM Plex Mono",monospace!important;color:var(--nirnai-gold-deep)!important;
  font-size:.68rem!important;font-weight:800!important;letter-spacing:.12em!important;
}
.section-head p,.section-intro p{color:var(--nirnai-slate)!important;font-size:.95rem!important;line-height:1.55!important}

/* Process now follows Valuation's interactive pattern */
#process .section-intro{margin-bottom:28px!important}
.approach-interactive{
  border:1px solid var(--nirnai-line);border-radius:18px;background:#fff;overflow:hidden;
  box-shadow:0 18px 50px rgba(8,43,39,.07);
}
.approach-tabs{
  display:grid;grid-template-columns:repeat(5,1fr);
  border-bottom:1px solid var(--nirnai-line);background:#F7F9F8;
}
.approach-tab{
  appearance:none;border:0;border-right:1px solid var(--nirnai-line);background:transparent;
  color:var(--nirnai-green);padding:18px 16px;text-align:left;cursor:pointer;transition:.22s ease;
}
.approach-tab:last-child{border-right:0}
.approach-tab:hover{background:var(--nirnai-gold-pale)}
.approach-tab.is-active{background:#fff;box-shadow:inset 0 -3px 0 var(--nirnai-gold)}
.tab-num{
  display:block;color:var(--nirnai-gold-deep)!important;font:800 .66rem/1 "Space Grotesk",sans-serif;
  letter-spacing:.1em;margin-bottom:9px;
}
.tab-title{display:block;color:var(--nirnai-green)!important;font:800 .91rem/1.25 "Space Grotesk",sans-serif}
.approach-details{min-height:178px}
.approach-panel{display:none;padding:28px 32px}
.approach-panel.is-active{display:block}
.approach-panel h3{margin:0 0 7px;color:var(--nirnai-green)!important;font-size:1.38rem}
.approach-panel p{margin:0;max-width:680px;color:#38534E;font-size:.94rem;line-height:1.58}
.assurance-chip{
  display:inline-flex;align-items:center;gap:10px;margin-top:18px;padding:9px 13px;
  border:1px solid rgba(149,102,37,.28);border-radius:999px;background:var(--nirnai-gold-pale);
}
.assurance-chip strong{color:var(--nirnai-green);font-size:.70rem;letter-spacing:.08em}
.assurance-chip span{color:#6D5A3A;font-size:.76rem}
.assurance-line{
  display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;
  border-top:1px solid var(--nirnai-line);background:#FBFCFB;
}
.assurance-line .mono{color:var(--nirnai-gold-deep)!important;font-weight:800;letter-spacing:.1em;font-size:.66rem}
.assurance-line>span:last-child{color:var(--nirnai-green);font-size:.78rem;font-weight:700}

/* Dashboard */
#dashboard .section-head{margin-bottom:26px!important}
#dashboard .dashboard{transform:none!important;margin-bottom:0!important}
.dashboard{border:1px solid var(--nirnai-line);border-radius:18px!important;overflow:hidden;background:#fff;box-shadow:0 14px 40px rgba(18,58,53,.045)}
.screen{min-height:330px!important}
.dash-copy2{padding:34px!important}
.dash-copy2 h3{font-size:1.65rem!important;font-weight:800!important}
.dash-copy2 p{font-size:.93rem!important}

/* Related Assurance — same full section treatment as Valuation */
.related-section{
  position:relative;overflow:hidden;
  background:radial-gradient(circle at 92% 15%,rgba(199,154,86,.10),transparent 30%),linear-gradient(180deg,#F7F9F8,#F2F7F5)!important;
  border-top:1px solid var(--nirnai-line);border-bottom:1px solid var(--nirnai-line);
}
.related-section .related{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.related-section .related a{
  position:relative;background:#fff;border:1px solid rgba(199,154,86,.32);border-radius:14px;
  padding:20px 22px;font:700 1rem "Space Grotesk",sans-serif;color:var(--nirnai-green);
  transition:.25s;box-shadow:0 8px 25px rgba(18,58,53,.035);overflow:hidden;
}
.related-section .related a:before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:4px;
  background:linear-gradient(180deg,var(--nirnai-gold),#e1c487);
}
.related-section .related a span{float:right;color:var(--nirnai-gold-deep);font-size:1.1rem}
.related-section .related a:hover{transform:translateY(-4px);border-color:var(--nirnai-gold);box-shadow:0 15px 35px rgba(18,58,53,.09)}

/* FAQ */
.revised-faq{padding-top:66px!important;padding-bottom:66px!important}
.revised-faq .faq{max-width:900px}
.revised-faq .section-head{margin-bottom:22px!important}
.revised-faq details{border-top:1px solid var(--nirnai-line)!important;padding:17px 0!important;background:transparent!important}
.revised-faq details:last-child{border-bottom:1px solid var(--nirnai-line)!important}
.revised-faq summary{font:700 .98rem "Space Grotesk",sans-serif!important;color:var(--nirnai-green)!important}
.revised-faq summary:after{color:var(--nirnai-gold-deep)!important}
.revised-faq details p{font-size:.84rem!important;line-height:1.5!important;color:var(--nirnai-slate)!important;margin-top:8px!important}

/* Closing CTA */
.close{margin-top:0!important;padding:64px 20px!important;background:linear-gradient(135deg,#0b302b,#174b43)!important}
.close h2{font:800 clamp(2rem,4vw,3.1rem)/1.05 "Space Grotesk",sans-serif!important;color:#fff!important;max-width:720px;margin:0 auto 16px}
.close p{color:#b8d7d1!important;margin:0 auto!important;max-width:580px}
.legal-opinion-template-footer{padding:27px 0!important;background:#EAF0EE!important;color:#6D7C77!important;font-size:.72rem!important}

/* The shared site footer must retain the dark-green shell on this page. */
body.client-final-legalOpinion .nirnai-global-footer {
  background: #153833 !important;
  color: #dde8e4 !important;
}

/* Responsive */
@media(max-width:900px){
  .hero{min-height:590px!important}.hero-content{min-height:590px!important}
  .hero-copy{padding:36px 0 30px!important}
  .legal-review-card{top:auto;bottom:18px;right:20px;transform:none;width:330px;max-width:calc(100% - 40px)}
  .hero-copy{max-width:100%!important;padding-right:0!important}
  .approach-tabs{grid-template-columns:repeat(3,1fr)}
  .approach-tab:nth-child(3){border-right:0}
  .approach-tab:nth-child(n+4){border-top:1px solid var(--nirnai-line)}
  .related-section .related{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .wrap{padding:0 20px!important}.crumb{padding-left:20px!important;padding-right:20px!important}
  .hero{min-height:650px!important}.hero-content{min-height:650px!important;align-items:flex-start!important}
  .hero-copy{padding-top:34px!important}
  .hero h1{font-size:clamp(2.65rem,13vw,3.8rem)!important}
  .legal-review-card{left:18px;right:18px;bottom:16px;width:auto;max-width:none;padding:15px 14px 13px}
  .lrc-row{min-height:38px!important;font-size:.70rem!important}
  .approach-tabs{grid-template-columns:1fr 1fr}
  .approach-tab:nth-child(3){border-right:1px solid var(--nirnai-line)}
  .approach-tab:nth-child(2n){border-right:0}
  .assurance-line{align-items:flex-start;flex-direction:column}
  .related-section .related{grid-template-columns:1fr}
}


.client-inline-legalOpinion-1{height:45%}

.client-inline-legalOpinion-2{height:65%}

.client-inline-legalOpinion-3{height:52%}

.client-inline-legalOpinion-4{height:80%}

.client-inline-legalOpinion-5{height:70%}

.client-inline-legalOpinion-6{height:92%}

/* Production cleanup for the client handoff. */
[data-client-onclick],[data-client-onchange],[data-client-oninput]{cursor:pointer}
