:root{--navy:#061b29;--navy2:#0b3047;--gold:#c69a4b;--gold2:#e1c58f;--ink:#11232f;--muted:#66747b;--ivory:#f5f1e8;--paper:#fffdf9;--line:#d9d8d1;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:DM Sans,sans-serif;line-height:1.65}a{text-decoration:none;color:inherit}.wrap{width:min(var(--max),calc(100% - 44px));margin:auto}.top{background:#03121c;color:#bac8cd;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.top .wrap{display:flex;justify-content:space-between;padding:9px 0}.nav{position:sticky;top:0;z-index:50;background:rgba(255,253,249,.95);backdrop-filter:blur(18px);border-bottom:1px solid rgba(6,27,41,.09)}.navin{height:88px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:56px;height:56px}.brand-word{font:800 21px Manrope;letter-spacing:.08em}.brand-word span{color:var(--gold)}.brand-tag{display:block;font:600 7px DM Sans;letter-spacing:.22em;color:var(--muted);margin-top:-2px}.links{display:flex;align-items:center;gap:27px;font-size:12px;font-weight:700}.links a:not(.btn):hover{color:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 21px;border:1px solid var(--ink);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:.25s}.btn:hover{transform:translateY(-2px)}.btn.dark{background:var(--navy);color:#fff;border-color:var(--navy)}.btn.gold{background:var(--gold);color:#fff;border-color:var(--gold)}.btn.light{background:#fff;color:var(--navy);border-color:#fff}.hero{position:relative;min-height:760px;background:radial-gradient(circle at 78% 48%,rgba(37,96,125,.48),transparent 28%),linear-gradient(120deg,#041621,#082a3e 58%,#0c3b55);color:#fff;overflow:hidden}.hero:before{content:"";position:absolute;right:-12vw;top:-22vw;width:65vw;height:65vw;border:1px solid rgba(225,197,143,.22);border-radius:50%;box-shadow:0 0 0 75px rgba(225,197,143,.025),0 0 0 150px rgba(225,197,143,.018)}.hero:after{content:"";position:absolute;right:11%;top:18%;width:320px;height:320px;border:1px solid rgba(225,197,143,.2);border-radius:50%;background:radial-gradient(circle,transparent 0 34%,rgba(198,154,75,.08) 35% 36%,transparent 37% 57%,rgba(255,255,255,.06) 58% 58.5%,transparent 59%)}.hero .wrap{position:relative;z-index:2;min-height:760px;display:flex;align-items:center}.hero-copy{max-width:720px}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--gold2);font-size:10px;font-weight:800;letter-spacing:.24em;text-transform:uppercase}.eyebrow:before{content:"";width:42px;height:1px;background:var(--gold)}h1{font:700 clamp(55px,7vw,94px)/.92 "Playfair Display",serif;letter-spacing:-.05em;margin:24px 0}h1 em{font-style:normal;color:var(--gold2)}.hero-copy>p{font-size:18px;max-width:620px;color:#d5e0e4}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.hero-note{position:absolute;right:0;bottom:55px;width:245px;padding:17px 0 17px 20px;border-left:1px solid rgba(225,197,143,.55);font-size:11px;letter-spacing:.04em;color:#d4dfe2}.hero-note strong{display:block;font:700 22px Manrope;color:#fff;margin-bottom:3px}.band{background:var(--gold);color:#fff}.band .wrap{padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.band strong{font:700 16px Manrope}.band span{font-size:10px;letter-spacing:.14em;text-transform:uppercase}.section{padding:112px 0}.ivory{background:var(--ivory)}.section-head{max-width:800px}.kicker{font-size:10px;font-weight:800;letter-spacing:.21em;text-transform:uppercase;color:#8f6b38}h2{font:700 clamp(39px,4.8vw,64px)/1.04 "Playfair Display",serif;letter-spacing:-.04em;margin:13px 0 19px}.lead{font-size:18px;color:var(--muted);max-width:770px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:55px}.card{background:var(--paper);padding:34px;min-height:260px;position:relative}.card:after{content:"";position:absolute;bottom:29px;left:34px;width:36px;height:2px;background:var(--gold)}.num{font:700 10px Manrope;letter-spacing:.18em;color:var(--gold)}.card h3{font:700 24px Manrope;margin:27px 0 10px}.card p{color:var(--muted);margin:0}.statement{min-height:390px;position:relative;background:linear-gradient(120deg,rgba(4,20,31,.97),rgba(8,42,62,.82)),radial-gradient(circle at 75% 45%,#1f748f,transparent 25%);color:#fff;overflow:hidden}.statement:before{content:"";position:absolute;inset:-20%;background:repeating-conic-gradient(from 8deg,rgba(255,255,255,.04) 0 3deg,transparent 3deg 12deg);mask-image:radial-gradient(circle at 75% 50%,#000 0 24%,transparent 25%)}.statement .wrap{position:relative;z-index:1;min-height:390px;display:flex;align-items:end;justify-content:space-between;gap:50px;padding-bottom:58px}.statement h2{max-width:730px;margin:0}.statement p{max-width:410px;color:#d9e3e6;margin:0}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:55px}.service{background:var(--paper);border:1px solid var(--line);padding:30px;min-height:255px;transition:.25s}.service:hover{transform:translateY(-5px);border-color:#c4a26d;box-shadow:0 18px 40px rgba(6,27,41,.09)}.service-icon{width:44px;height:44px;border:1px solid #c5a36b;color:var(--gold);display:grid;place-items:center;font:700 11px Manrope;margin-bottom:23px}.service h3{font:700 21px Manrope;margin:0 0 9px}.service p{font-size:14px;color:var(--muted);margin:0 0 18px}.arrow{font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:#8a6331}.handover{background:var(--navy);color:#fff;position:relative;overflow:hidden}.handover:after{content:"";position:absolute;right:-150px;top:-130px;width:520px;height:520px;border:1px solid rgba(225,197,143,.16);border-radius:50%;box-shadow:0 0 0 80px rgba(225,197,143,.025),0 0 0 160px rgba(225,197,143,.018)}.handover .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.handover .lead{color:#cad8dc}.handover h2{font-size:clamp(43px,5vw,68px)}.checks{margin-top:30px;border-top:1px solid rgba(255,255,255,.16)}.check{display:flex;gap:18px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.16)}.check b{color:var(--gold2);font:700 10px Manrope}.check strong{font:700 14px Manrope}.handover-visual{min-height:430px;border:1px solid rgba(225,197,143,.25);position:relative;overflow:hidden;background-image:linear-gradient(180deg,rgba(6,20,31,.08) 0%,rgba(6,20,31,.22) 55%,rgba(6,20,31,.75) 100%),url('/public/assets/lady-justice.jpg');background-position:center 12%;background-size:cover;background-repeat:no-repeat;background-blend-mode:multiply}.handover-visual:before{content:"";position:absolute;left:50%;top:42%;width:150px;height:150px;transform:translate(-50%,-50%);border:1px solid var(--gold);border-radius:50%;box-shadow:0 0 0 28px rgba(198,154,75,.04)}.handover-visual:after{content:"HAND IT OVER";position:absolute;left:50%;bottom:22px;transform:translateX(-50%);font:800 11px Manrope;letter-spacing:.25em;color:var(--gold2);white-space:nowrap}.method{display:grid;grid-template-columns:repeat(4,1fr);margin-top:55px;border-top:1px solid var(--line)}.step{padding:25px 25px 15px 0;margin-right:25px;border-right:1px solid var(--line)}.step:last-child{border:0}.step>b{font:700 10px Manrope;letter-spacing:.14em;color:var(--gold)}.step h3{font:700 21px Manrope;margin:15px 0 7px}.step p{font-size:14px;color:var(--muted);margin:0}.ecosystem{display:grid;grid-template-columns:1fr 1fr;margin-top:55px;border:1px solid var(--line)}.eco{padding:48px}.eco:first-child{background:#eee8dc}.eco:last-child{background:var(--navy);color:#fff}.eco h3{font:700 29px Manrope;margin:10px 0}.eco p{color:var(--muted)}.eco:last-child p{color:#cad7da}.contact{background:linear-gradient(135deg,#f7f3eb,#ebe3d4)}.contact-box{display:grid;grid-template-columns:1fr auto;align-items:end;gap:40px;border-top:1px solid var(--ink);padding-top:40px}.footer{background:#03121c;color:#aebbc0;padding:65px 0 24px}.footgrid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:45px}.footer .brand-word{color:#fff}.footer .brand-tag{color:#91a2a9}.footer h4{color:#fff;font:700 12px Manrope;letter-spacing:.12em;text-transform:uppercase}.footer a{display:block;font-size:13px;margin:8px 0}.footer a:hover{color:var(--gold2)}.legal{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.1);margin-top:50px;padding-top:20px;font-size:10px;gap:20px}.reveal{opacity:0;transform:translateY(20px);transition:opacity 0.6s cubic-bezier(0.16,1,0.3,1),transform 0.6s cubic-bezier(0.16,1,0.3,1);will-change:opacity,transform}.reveal.show{opacity:1;transform:translateY(0)}@media(max-width:950px){.links{display:none}.hero-copy{max-width:720px}.hero-note{display:none}.cards{grid-template-columns:1fr}.services{grid-template-columns:1fr 1fr}.handover .wrap{grid-template-columns:1fr;gap:45px}.method{grid-template-columns:1fr 1fr}.step:nth-child(2){border-right:0}.ecosystem{grid-template-columns:1fr}.footgrid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.wrap{width:calc(100% - 30px)}.top{display:none}.navin{height:74px}.brand-mark{width:48px;height:48px}.brand-word{font-size:18px}.hero{min-height:700px}.hero .wrap{min-height:700px}.hero:after{right:-70px;top:26%;width:240px;height:240px}.hero-copy>p{font-size:16px}h1{font-size:52px}.hero-actions .btn{width:100%}.band .wrap{display:block;padding:17px 0}.band span{display:block;margin-top:4px}.section{padding:78px 0}h2{font-size:40px}.services{grid-template-columns:1fr}.statement .wrap{display:block;padding:75px 0}.statement p{margin-top:24px}.method{grid-template-columns:1fr}.step{border-right:0!important;border-bottom:1px solid var(--line);margin:0;padding:24px 0}.eco{padding:32px 25px}.contact-box{grid-template-columns:1fr}.footgrid{grid-template-columns:1fr}.legal{display:block}.legal span{display:block;margin-top:7px}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ===================== Top utility bar: contact + dashboard ===================== */
.top .wrap{flex-wrap:wrap;gap:6px 18px}
.top-contact{display:flex;gap:18px;flex-wrap:wrap}
.top-contact a{color:#bac8cd}
.top-contact a:hover{color:var(--gold2)}
.top-dash{color:var(--gold2)!important;font-weight:700}

/* ===================== Header actions / Dashboard login button ===================== */
.navin{gap:14px}
.nav-actions{display:flex;align-items:center;gap:12px}
.btn.outline{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn.outline:hover{background:var(--navy);color:#fff}

/* ===================== Mobile hamburger + drawer nav ===================== */
.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border:1px solid var(--ink);background:none;cursor:pointer;padding:0}
.hamburger span{display:block;width:20px;height:2px;background:var(--ink);margin:0 auto;transition:.25s}
.hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger[aria-expanded="true"] span:nth-child(2){opacity:0}
.hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.drawer{position:fixed;inset:0;z-index:60;visibility:hidden}
.drawer[data-open="true"]{visibility:visible}
.drawer-backdrop{position:absolute;inset:0;background:rgba(3,18,28,.55);opacity:0;transition:opacity .3s}
.drawer[data-open="true"] .drawer-backdrop{opacity:1}
.drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(340px,84vw);background:var(--paper);box-shadow:-18px 0 40px rgba(6,27,41,.25);padding:26px 26px 34px;display:flex;flex-direction:column;gap:4px;transform:translateX(100%);transition:transform .35s cubic-bezier(.16,1,.3,1);overflow-y:auto}
.drawer[data-open="true"] .drawer-panel{transform:translateX(0)}
.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.drawer-close{width:38px;height:38px;border:1px solid var(--ink);background:none;font-size:18px;cursor:pointer}
.drawer nav{display:flex;flex-direction:column}
.drawer nav a{padding:14px 2px;border-bottom:1px solid var(--line);font-size:15px;font-weight:700}
.drawer .btn{margin-top:18px;width:100%}
.drawer .btn+.btn{margin-top:10px}
body.drawer-lock{overflow:hidden}

/* ===================== Statement section background image ===================== */
.statement.has-bg{background-image:linear-gradient(15deg,rgba(4,20,31,.92) 0%,rgba(4,20,31,.78) 45%,rgba(4,20,31,.68) 100%),var(--statement-img);background-size:cover;background-position:center;background-repeat:no-repeat;background-blend-mode:multiply}

/* ===================== Video accent block ===================== */
.video-accent{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;margin-top:55px}
.video-accent video{width:100%;display:block;border:1px solid var(--line);aspect-ratio:16/9;object-fit:cover;background:#000}
.video-accent .cap{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:10px}

/* ===================== Footer contact block ===================== */
.foot-contact{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);display:grid;gap:8px;font-size:13px;color:#c3cfd4}
.foot-contact a{display:inline;color:#c3cfd4}
.foot-contact a:hover{color:var(--gold2)}
.foot-badge{margin-top:14px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#8398a0}
.footer .brand-mark-black{width:52px;height:52px;object-fit:cover;border-radius:3px}

/* ===================== Page hero (sub-pages: services, legal) ===================== */
.pagehero{position:relative;min-height:360px;display:flex;align-items:center;color:#fff;background-size:cover;background-position:center;overflow:hidden}
.pagehero:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(4,20,31,.94) 0%,rgba(6,27,41,.85) 45%,rgba(8,34,50,.72) 100%);mix-blend-mode:multiply}
.pagehero .wrap{position:relative;z-index:1}
.pagehero .kicker{color:var(--gold2)}
.pagehero h1{font:700 clamp(38px,5.5vw,64px)/1.05 "Playfair Display",serif;letter-spacing:-.03em;margin:14px 0 10px}
.pagehero p{max-width:640px;color:#d5e0e4;font-size:16px}
.breadcrumb{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#aebbc0;margin-bottom:10px}
.breadcrumb a{color:var(--gold2)}

/* ===================== Services / price directory ===================== */
.price-intro{background:var(--ivory);padding:34px;border:1px solid var(--line);margin-top:40px}
.price-intro p{margin:0 0 10px;color:var(--muted);font-size:14px}
.price-intro p:last-child{margin:0}
.price-group{margin-top:64px}
.price-group h2{font:700 26px Manrope;letter-spacing:-.01em;margin:0 0 4px;color:var(--navy)}
.price-group .sub{color:var(--muted);font-size:14px;margin:0 0 20px}
.price-table{width:100%;border-collapse:collapse;font-size:14px}
.price-table th{text-align:left;padding:12px 16px;background:var(--navy);color:#fff;font:700 10px Manrope;letter-spacing:.08em;text-transform:uppercase}
.price-table th:last-child,.price-table td:last-child{text-align:right;white-space:nowrap}
.price-table td{padding:12px 16px;border-bottom:1px solid var(--line)}
.price-table tr:nth-child(even) td{background:#faf8f3}
.price-table td:first-child{color:var(--ink)}
.price-table td:last-child{font-weight:700;color:var(--navy)}
.price-note{margin-top:70px;padding-top:40px;border-top:1px solid var(--line)}
.price-note h3{font:700 18px Manrope;margin:26px 0 8px}
.price-note p{color:var(--muted);font-size:14px;margin:0 0 8px}
.price-note table{width:100%;border-collapse:collapse;font-size:13px;margin-top:10px}
.price-note table th,.price-note table td{padding:9px 14px;border-bottom:1px solid var(--line);text-align:left}
.price-note table th{background:#eee8dc}
.cta-strip{background:var(--navy);color:#fff;padding:50px 0;text-align:center}
.cta-strip h2{font-size:clamp(28px,4vw,40px);margin:0 0 10px}
.cta-strip p{color:#cad8dc;margin:0 0 24px}

/* ===================== Legal document pages ===================== */
.legal-doc{max-width:860px}
.legal-doc h2{font:700 26px Manrope;margin:46px 0 14px}
.legal-doc h2:first-child{margin-top:0}
.legal-doc p{color:var(--ink);font-size:15px;margin:0 0 16px}
.legal-doc table{width:100%;border-collapse:collapse;font-size:13px;margin:18px 0}
.legal-doc table th,.legal-doc table td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.legal-doc table th{background:var(--ivory)}
.legal-doc .updated{color:var(--muted);font-size:13px;margin-bottom:36px}
.legal-doc ol.refs{font-size:13px;color:var(--muted)}
.legal-doc ol.refs li{margin-bottom:6px}

@media(max-width:950px){
  .links{display:none}
  .nav-actions .btn.outline{display:none}
  .hamburger{display:flex}
  .video-accent{grid-template-columns:1fr}
  .top-contact{display:none}
}
/* ===================== Disabled link + hover tooltip (Dashboard Login) ===================== */
.link-disabled{position:relative;cursor:not-allowed;opacity:.5;pointer-events:auto}
.link-disabled:hover,.link-disabled:focus{background:inherit;color:inherit}
.btn.outline.link-disabled:hover{background:transparent;color:var(--navy)}
a.link-disabled{text-decoration:none}
.link-disabled::after{content:attr(data-tooltip);position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(-4px);background:var(--gold);color:var(--navy);font:800 11px Manrope,sans-serif;letter-spacing:.03em;padding:7px 12px;border-radius:4px;white-space:nowrap;box-shadow:0 8px 22px rgba(6,27,41,.45);z-index:80;opacity:0;visibility:hidden;transition:opacity .18s,transform .18s;pointer-events:none}
.link-disabled::before{content:"";position:absolute;top:calc(100% + 5px);left:50%;transform:translateX(-50%);border:5px solid transparent;border-bottom-color:var(--gold);z-index:80;opacity:0;visibility:hidden;transition:opacity .18s;pointer-events:none}
.link-disabled:hover::after,.link-disabled:hover::before,.link-disabled:focus::after,.link-disabled:focus::before{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.link-disabled.tooltip-up::after{top:auto;bottom:calc(100% + 20px);transform:translateX(-50%) translateY(4px)}
.link-disabled.tooltip-up::before{top:auto;bottom:calc(100% + 15px);border-bottom-color:transparent;border-top-color:var(--gold)}
.link-disabled.tooltip-up:hover::after,.link-disabled.tooltip-up:hover::before{transform:translateX(-50%) translateY(0)}

@media(max-width:700px){
  .price-table{font-size:12.5px}
  .price-table th,.price-table td{padding:9px 10px}
  .price-group h2{font-size:22px}
}
@media(max-width:600px){
  .pagehero{min-height:300px}
  .price-intro{padding:22px}
}
/* hero background image */
.hero{background:linear-gradient(100deg,rgba(4,14,22,.95) 0%,rgba(6,23,35,.87) 40%,rgba(8,34,50,.78) 70%,rgba(8,34,50,.7) 100%),url('/public/hero.png');background-position:center 30%;background-size:cover;background-repeat:no-repeat;background-blend-mode:multiply}
