
:root{
  --navy:#16243F; --navy-2:#101B30; --navy-3:#0B1426; --navy-soft:#26385A;
  --ink:#16243F; --muted:#586176; --muted-2:#8A92A3;
  --bg:#FFFFFF; --bg-2:#F4F6F9; --bg-3:#E8ECF1;
  --gold:#B89253; --gold-bright:#CBAA55; --gold-deep:#947431;
  --oxblood:#7C2D2D;
  --line:rgba(22,36,63,.10); --line-2:rgba(22,36,63,.16);
  --line-light:rgba(255,255,255,.13);
  --on-navy:#EDF0F5; --on-navy-soft:rgba(237,240,245,.72);
  --maxw:1200px;
  --serif:'Libre Caslon Display',Georgia,serif;
  --serif-text:'Libre Caslon Text',Georgia,serif;
  --sans:'Source Sans 3',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.55}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.serif{font-family:var(--serif)}
.skip{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:10px 16px;z-index:200}
.skip:focus{left:8px;top:8px}

/* eyebrow + labels */
.eyebrow{display:inline-flex;align-items:center;gap:14px;white-space:nowrap;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep)}
.eyebrow::before{content:'';width:30px;height:1.5px;background:var(--gold)}
.eyebrow.light{color:var(--gold-bright)}
.eyebrow.center::after{content:'';width:30px;height:1.5px;background:var(--gold)}
.tlabel{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-weight:700;font-size:15px;
  padding:14px 26px;border:1.5px solid transparent;border-radius:3px;cursor:pointer;white-space:nowrap;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}
.btn--gold{background:var(--gold);color:var(--navy)}
.btn--gold:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(184,146,83,.34)}
.btn--navy{background:var(--navy);color:#fff}
.btn--navy:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(16,27,48,.28)}
.btn--ghost-l{background:transparent;border-color:rgba(237,240,245,.34);color:var(--on-navy)}
.btn--ghost-l:hover{background:rgba(237,240,245,.08);border-color:rgba(237,240,245,.6)}
.btn--ghost-d{background:transparent;border-color:var(--line-2);color:var(--navy)}
.btn--ghost-d:hover{background:rgba(22,36,63,.04);border-color:var(--navy)}

/* utility bar */
.util{background:var(--navy-2);color:var(--on-navy-soft)}
.util .wrap{display:flex;justify-content:space-between;align-items:center;height:40px;font-size:12px;letter-spacing:.04em;white-space:nowrap}
.util .l .sep{color:var(--gold);margin:0 11px}
.util .r{display:flex;align-items:center;gap:18px}
.util .r .tel{color:var(--gold-bright);font-weight:600;letter-spacing:.02em}

/* nav */
.nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:88px;gap:24px}
.brand{display:flex;align-items:center;gap:14px}
.brand-mark{height:50px;width:auto;flex:0 0 auto}
.brand .bt b{font-family:var(--serif);font-size:23px;letter-spacing:.005em;display:block;line-height:1;color:var(--navy)}
.brand .bt small{display:block;font-size:9.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-2);margin-top:6px;white-space:nowrap}
.menu{display:flex;align-items:center;gap:32px}
.menu a{font-size:15px;font-weight:600;color:var(--ink);position:relative;padding:4px 0}
.menu a::after{content:'';position:absolute;left:0;right:100%;bottom:-3px;height:1.5px;background:var(--gold);transition:right .25s ease}
.menu a:hover::after{right:0}
.nav-r{display:flex;align-items:center;gap:18px}
.hamb{display:none;background:none;border:1px solid var(--line-2);width:46px;height:46px;border-radius:3px;cursor:pointer;align-items:center;justify-content:center}
.hamb span,.hamb span::before,.hamb span::after{content:'';display:block;width:20px;height:2px;background:var(--navy);position:relative}
.hamb span::before{position:absolute;top:-6px}.hamb span::after{position:absolute;top:6px}

/* hero */
.hero{position:relative;background:var(--navy);color:var(--on-navy);overflow:hidden}
.hero::after{content:'';position:absolute;inset:0;background:radial-gradient(120% 90% at 18% 8%,rgba(255,255,255,.05),transparent 60%);pointer-events:none}
.hero .seal-wm{position:absolute;right:-130px;top:50%;transform:translateY(-50%);width:600px;height:600px;color:var(--gold);opacity:.17;z-index:1;pointer-events:none}
.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.04fr .96fr;gap:48px;align-items:center;padding:70px 40px 0}
.hero-l{padding-bottom:84px;display:flex;flex-direction:column;align-items:flex-start}
.hero h1{font-family:var(--serif);font-weight:400;font-size:50px;line-height:1.1;letter-spacing:-.005em;color:#fff;margin:24px 0 0;max-width:540px}
.hero h1 .sig{position:relative;white-space:nowrap}
.hero h1 .sig svg{position:absolute;left:-2%;bottom:-14px;width:104%;height:22px;overflow:visible}
.hero h1 .sig path{fill:none;stroke:var(--gold-bright);stroke-width:3;stroke-linecap:round;
  stroke-dasharray:560;stroke-dashoffset:0;animation:draw 1.4s cubic-bezier(.4,0,.1,1) .4s both}
@keyframes draw{from{stroke-dashoffset:560}to{stroke-dashoffset:0}}
.hero .lede{font-family:var(--serif-text);font-size:19.5px;line-height:1.58;color:var(--on-navy-soft);margin:34px 0 0;max-width:470px}
.hero .cta{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.hero .trust{display:flex;align-items:center;gap:16px;margin-top:34px;flex-wrap:wrap;font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--on-navy-soft)}
.hero .trust i{width:5px;height:5px;border-radius:50%;background:var(--gold);display:inline-block}

/* portrait */
.portrait{position:relative;display:flex;align-items:flex-end;justify-content:center;min-height:540px}
.portrait::before{content:'';position:absolute;z-index:0;width:360px;height:440px;left:50%;top:30px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(38,56,90,.9),transparent 76%)}
.portrait img{position:relative;z-index:2;width:auto;max-width:100%;max-height:495px;height:auto;display:block;
  filter:drop-shadow(0 22px 28px rgba(7,12,24,.5))}
.portrait .ground{position:absolute;z-index:1;bottom:2px;left:50%;transform:translateX(-50%);width:250px;height:38px;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.45),transparent 70%)}

/* credentials strip */
.creds{background:var(--bg);border-bottom:1px solid var(--line)}
.creds .wrap{display:grid;grid-template-columns:repeat(4,1fr);padding:0}
.creds .c{padding:28px 30px;border-left:1px solid var(--line)}
.creds .c:first-child{border-left:0;padding-left:0}
.creds .c:last-child{padding-right:0}
.creds .c .tlabel{display:block;margin-bottom:9px}
.creds .c b{font-family:var(--serif-text);font-weight:700;font-size:19px;color:var(--navy);line-height:1.2}

/* section heads */
.sec{padding:104px 0}
.shead{margin-bottom:48px}
.shead.row{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
.shead h2{font-family:var(--serif);font-weight:400;font-size:43px;line-height:1.08;letter-spacing:-.005em;margin-top:18px;max-width:640px}
.shead.light h2{color:#fff}

/* router */
.router{background:var(--bg-2);border-bottom:1px solid var(--line)}
.doors{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.door{position:relative;display:block;padding:38px 36px 64px;background:var(--bg);border:1px solid var(--line);border-radius:5px;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.door:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(16,27,48,.12);border-color:var(--line-2)}
.door .num{font-family:var(--serif);font-size:30px;color:var(--gold);line-height:1}
.door .tlabel{display:block;margin:18px 0 10px}
.door h3{font-family:var(--serif);font-weight:400;font-size:27px;line-height:1.12;color:var(--navy)}
.door p{font-size:15.5px;color:var(--muted);margin-top:10px;max-width:340px;line-height:1.55}
.door .arr{position:absolute;right:34px;bottom:30px;color:var(--navy);transition:transform .18s ease}
.door:hover .arr{transform:translateX(5px)}

/* corporate */
.corp{position:relative;background:var(--navy);color:var(--on-navy);overflow:hidden}
.corp .seal-wm{position:absolute;left:-160px;bottom:-220px;width:600px;height:600px;color:#fff;opacity:.05;pointer-events:none}
.corp .wrap{position:relative;z-index:2}
.corp-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:64px;align-items:start}
.corp h2{color:#fff}
.corp .lede{font-family:var(--serif-text);font-size:18px;color:var(--on-navy-soft);margin:22px 0 0;max-width:360px;line-height:1.55}
.corp .btn{margin-top:30px}
.verts{border-top:1px solid var(--line-light)}
.vrow{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:24px;padding:24px 6px;border-bottom:1px solid var(--line-light);transition:padding-left .2s ease,background .2s ease}
.vrow:hover{padding-left:14px;background:rgba(237,240,245,.03)}
.vrow .num{font-family:var(--serif);font-size:22px;color:var(--gold-bright)}
.vrow .nm{font-family:var(--serif-text);font-weight:700;font-size:22px;color:#fff;display:block}
.vrow .ds{font-size:14.5px;color:var(--on-navy-soft);margin-top:3px;display:block}
.vrow .arr{color:var(--gold-bright)}
.terms{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:60px;padding-top:44px;border-top:1px solid var(--line-light)}
.term .tlabel{color:var(--gold-bright);display:block;margin-bottom:13px}
.term b{font-family:var(--serif-text);font-weight:700;font-size:21px;color:#fff;display:block}
.term p{font-size:14.5px;color:var(--on-navy-soft);margin-top:9px;line-height:1.55}

/* services */
.slist{border-top:1px solid var(--line)}
.srow{display:grid;grid-template-columns:46px 1.5fr 1fr auto;align-items:center;gap:28px;padding:28px 6px;border-bottom:1px solid var(--line);transition:padding-left .2s ease,background .2s ease}
.srow:hover{padding-left:14px;background:var(--bg-2)}
.srow .num{font-family:var(--serif);font-size:21px;color:var(--gold)}
.srow .nm{font-family:var(--serif-text);font-weight:700;font-size:23px;color:var(--navy);line-height:1.15}
.srow .ds{font-size:15px;color:var(--muted)}
.srow .fee{font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--navy);text-align:right;white-space:nowrap}
.srow .fee b{color:var(--gold-deep);font-family:var(--serif-text);font-size:18px}
.fnote{font-size:13.5px;color:var(--muted);margin-top:26px;line-height:1.7;max-width:780px}
.fnote b{color:var(--navy)}

/* reviews */
.revs{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rev-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line);margin-top:8px}
.rev{padding:40px 44px 40px 0;border-right:1px solid var(--line)}
.rev:last-child{border-right:0;padding-left:44px;padding-right:0}
.rev .q{font-family:var(--serif-text);font-style:italic;font-size:21px;line-height:1.5;color:var(--ink)}
.rev .cite{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:20px}
.rev .ph{color:var(--muted-2)}

/* final cta */
.fcta{position:relative;background:var(--navy-2);color:var(--on-navy);overflow:hidden;text-align:center}
.fcta .seal-wm{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:520px;height:520px;color:#fff;opacity:.05;pointer-events:none}
.fcta .wrap{position:relative;z-index:2;padding:92px 40px}
.fcta h2{font-family:var(--serif);font-weight:400;font-size:46px;line-height:1.06;color:#fff;margin-top:18px}
.fcta p{font-family:var(--serif-text);font-size:19px;color:var(--on-navy-soft);margin:18px auto 0;max-width:520px}
.fcta .tel{font-family:var(--serif);font-size:34px;color:var(--gold-bright);margin-top:28px;letter-spacing:.01em}
.fcta .cta{display:flex;gap:16px;justify-content:center;margin-top:30px;flex-wrap:wrap}

/* footer */
.foot{background:var(--navy-3);color:var(--on-navy-soft)}
.foot .wrap{padding:72px 40px 0}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:46px}
.foot .fb b{font-family:var(--serif);font-weight:400;font-size:23px;color:#fff;display:block}
.foot .fb .tlabel{color:var(--gold-bright);display:block;margin:8px 0 18px}
.foot .fb p{font-size:14.5px;line-height:1.75;margin-top:10px}
.foot h4{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:18px;font-weight:700}
.foot ul{list-style:none}
.foot li{margin-bottom:11px}
.foot li a{font-size:14.5px;transition:color .15s}
.foot li a:hover{color:var(--gold-bright)}
.foot .tel-l{color:var(--gold-bright);font-weight:600}
.fbot{margin-top:60px;border-top:1px solid var(--line-light);padding:24px 0 30px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;font-size:12px;color:rgba(237,240,245,.5);letter-spacing:.03em}
.fbot a{color:var(--gold-bright)}

@media(max-width:1000px){
  .menu{display:none}.hamb{display:flex}
  .hero .wrap{grid-template-columns:1fr;gap:0;padding-top:56px}
  .hero-l{padding-bottom:40px}
  .portrait{min-height:540px}
  .corp-grid{grid-template-columns:1fr;gap:40px}
  .hero h1{font-size:52px}
  .creds .wrap{grid-template-columns:repeat(2,1fr)}
  .creds .c:nth-child(3){border-left:0;padding-left:0}
  .creds .c{padding:24px 22px}
}
@media(max-width:860px){
  .menu{display:none}.hamb{display:flex}
  .sec{padding:74px 0}
  .doors,.terms,.rev-grid{grid-template-columns:1fr}
  .term,.rev{border-right:0}
  .rev{padding:30px 0!important;border-bottom:1px solid var(--line)}
  .fgrid{grid-template-columns:1fr 1fr}
  .srow{grid-template-columns:30px 1fr auto;gap:14px}
  .srow .ds{grid-column:2/4}
}
@media(max-width:560px){
  .wrap{padding:0 22px}.hero h1{font-size:40px}
  .util .l{display:none}.creds .wrap{grid-template-columns:1fr 1fr}
  .shead.row{flex-direction:column;align-items:flex-start;gap:18px}
}


/* ============ INTERIOR PAGES ============ */
.menu a.active{color:var(--navy)}
.menu a.active::after{right:0}
.page-hero{position:relative;background:var(--navy);color:var(--on-navy);overflow:hidden}
.page-hero .seal-wm{position:absolute;right:-150px;top:50%;transform:translateY(-50%);width:560px;height:560px;color:var(--gold);opacity:.1;pointer-events:none}
.page-hero .wrap{position:relative;z-index:2;padding:60px 40px 68px}
.breadcrumb{display:flex;gap:9px;align-items:center;font-size:12.5px;color:var(--on-navy-soft);flex-wrap:wrap}
.breadcrumb a:hover{color:var(--gold-bright)}
.breadcrumb span{color:rgba(237,240,245,.4)}
.page-hero h1{font-family:var(--serif);font-weight:400;font-size:46px;line-height:1.09;letter-spacing:-.005em;color:#fff;margin-top:18px;max-width:780px}
.page-hero .sub{font-family:var(--serif-text);font-size:19px;line-height:1.55;color:var(--on-navy-soft);margin-top:22px;max-width:620px}
.page-hero .cta{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}

.fgridx{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.fcard{background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:32px 28px;transition:transform .18s ease,box-shadow .18s ease}
.fcard:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(16,27,48,.1)}
.fcard .num{font-family:var(--serif);font-size:26px;color:var(--gold);line-height:1}
.fcard h3{font-family:var(--serif-text);font-weight:700;font-size:20px;color:var(--navy);margin:16px 0 9px}
.fcard p{font-size:15px;color:var(--muted);line-height:1.55}

.doclist{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
.doclist .di{display:flex;gap:14px;align-items:flex-start;padding:17px 0;border-bottom:1px solid var(--line)}
.doclist .di svg{flex:0 0 auto;color:var(--gold);margin-top:3px}
.doclist .di b{font-family:var(--serif-text);font-weight:700;font-size:17px;color:var(--navy);display:block}
.doclist .di span{font-size:14px;color:var(--muted)}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.step{padding-top:24px;border-top:2px solid var(--gold)}
.step .n{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)}
.step h3{font-family:var(--serif-text);font-weight:700;font-size:21px;color:var(--navy);margin:10px 0 9px}
.step p{font-size:15px;color:var(--muted);line-height:1.55}

.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.panel{background:var(--bg-2);border:1px solid var(--line);border-radius:6px;padding:38px 36px}
.panel h3{font-family:var(--serif);font-weight:400;font-size:26px;color:var(--navy);margin-bottom:8px}
.panel .tlabel{display:block;margin-bottom:16px}
.panel ul{list-style:none;margin-top:6px}
.panel li{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-top:1px solid var(--line);font-size:15.5px;color:#2b3344}
.panel li:first-child{border-top:0}
.panel li svg{flex:0 0 auto;color:var(--gold);margin-top:3px}

.prose{max-width:720px;margin:0 auto;font-size:18px;line-height:1.72;color:#2b3344}
.prose>p{margin:0 0 22px}
.prose h2{font-family:var(--serif);font-weight:400;font-size:30px;color:var(--navy);margin:46px 0 16px;line-height:1.2}
.prose h3{font-family:var(--serif-text);font-weight:700;font-size:21px;color:var(--navy);margin:32px 0 12px}
.prose ul,.prose ol{margin:0 0 22px;padding-left:22px}
.prose li{margin-bottom:10px}
.prose strong{color:var(--navy)}
.prose a{color:var(--gold-deep);text-decoration:underline;text-underline-offset:2px}
.prose blockquote{margin:30px 0;padding:8px 0 8px 26px;border-left:3px solid var(--gold);font-family:var(--serif-text);font-style:italic;font-size:20px;color:var(--navy)}
.prose .lead{font-family:var(--serif-text);font-size:21px;line-height:1.6;color:#3a4252;margin-bottom:28px}
.prose .callout{background:var(--bg-2);border:1px solid var(--line);border-radius:6px;padding:24px 26px;margin:30px 0;font-size:16px;line-height:1.6}
.prose .callout b{color:var(--navy)}

.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.post-card{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line);border-radius:5px;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}
.post-card:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(16,27,48,.12)}
.post-card .thumb{height:7px;background:linear-gradient(90deg,var(--gold),var(--gold-deep))}
.post-card .pc-body{padding:28px 26px;display:flex;flex-direction:column;flex:1}
.post-card .cat{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)}
.post-card h3{font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.2;color:var(--navy);margin:12px 0 10px}
.post-card p{font-size:15px;color:var(--muted);line-height:1.55;flex:1}
.post-card .pc-meta{font-size:12.5px;color:var(--muted-2);margin-top:18px;letter-spacing:.02em}

.art-meta{display:flex;gap:14px;align-items:center;font-size:13px;color:var(--on-navy-soft);margin-top:18px;flex-wrap:wrap}
.art-meta .cat{color:var(--gold-bright);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:11px}

.midcta{background:var(--navy);color:var(--on-navy);text-align:center}
.midcta .wrap{padding:74px 40px}
.midcta h2{font-family:var(--serif);font-weight:400;font-size:36px;color:#fff}
.midcta p{font-size:18px;color:var(--on-navy-soft);margin:16px auto 28px;max-width:540px}

@media(max-width:860px){
  .fgridx,.steps,.blog-grid{grid-template-columns:1fr}
  .doclist{grid-template-columns:1fr;gap:0}
  .split{grid-template-columns:1fr;gap:34px}
  .page-hero h1{font-size:37px}
  .contact-grid{grid-template-columns:1fr!important;gap:34px!important}
  .frow{grid-template-columns:1fr!important}
}

/* ---- contact forms ---- */
.contact-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:48px;align-items:start}
.formcard{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:34px 32px;box-shadow:0 10px 30px rgba(16,27,48,.06)}
.seg{display:flex;border:1px solid var(--line-2);border-radius:4px;overflow:hidden;margin-bottom:26px}
.seg button{flex:1;padding:12px;border:0;background:var(--bg);font-family:var(--sans);font-weight:600;font-size:14.5px;color:var(--muted);cursor:pointer;transition:background .15s,color .15s}
.seg button.on{background:var(--navy);color:#fff}
.field{margin-bottom:18px}
.field label{display:block;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--navy);margin-bottom:7px}
.field input,.field select,.field textarea{width:100%;padding:12px 14px;border:1.5px solid var(--line-2);border-radius:4px;font-family:var(--sans);font-size:15px;color:var(--ink);background:var(--bg);transition:border-color .15s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold)}
.field textarea{min-height:96px;resize:vertical}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field .err{color:var(--oxblood);font-size:12.5px;margin-top:6px;display:none}
.field.invalid input,.field.invalid select{border-color:var(--oxblood)}
.field.invalid .err{display:block}
.hpot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-note{font-size:12.5px;color:var(--muted-2);margin-top:6px}
.success{display:none;text-align:center;padding:40px 10px}
.success.show{display:block}
.success svg{color:#1f5d3a;margin:0 auto 16px;display:block}
.success h3{font-family:var(--serif);font-weight:400;font-size:26px;color:var(--navy);margin-bottom:8px}
.success p{font-size:15.5px;color:var(--muted)}
.info-panel{background:var(--bg-2);border:1px solid var(--line);border-radius:6px;padding:30px 28px}
.info-panel>.tlabel{display:block;margin-bottom:6px}
.info-panel .row{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}
.info-panel .row:last-child{border-bottom:0}
.info-panel .ic{color:var(--gold);flex:0 0 auto;margin-top:2px}
.info-panel b{font-family:var(--serif-text);font-weight:700;font-size:16px;color:var(--navy);display:block;margin-bottom:3px}
.info-panel .row span{font-size:14.5px;color:var(--muted);line-height:1.5}
.info-panel a{color:var(--gold-deep)}


/* ---- pricing + faq + about ---- */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}
.tier{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:34px 30px;position:relative}
.tier.feat{border-color:var(--gold);box-shadow:0 18px 44px rgba(184,146,83,.16)}
.tier .badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--navy);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;border-radius:3px;white-space:nowrap}
.tier h3{font-family:var(--serif);font-weight:400;font-size:25px;color:var(--navy)}
.tier .tsub{font-size:14px;color:var(--muted);margin-top:4px}
.tier .price{font-family:var(--serif);font-size:48px;color:var(--navy);margin:18px 0 2px;line-height:1}
.tier .price small{font-size:16px;color:var(--muted);font-family:var(--sans)}
.tier .add{font-size:13.5px;color:var(--gold-deep);font-weight:600;margin-top:8px}
.tier ul{list-style:none;margin:22px 0 26px}
.tier li{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px solid var(--line);font-size:14.5px;color:#2b3344}
.tier li:first-child{border-top:0}
.tier li svg{color:var(--gold);flex:0 0 auto;margin-top:2px}
.ptable{width:100%;border-collapse:collapse;margin-top:6px;border:1px solid var(--line)}
.ptable th{text-align:left;background:var(--navy);color:#fff;font-size:12px;letter-spacing:.07em;text-transform:uppercase;padding:14px 18px;font-weight:600}
.ptable td{padding:16px 18px;border-bottom:1px solid var(--line);font-size:14.5px;color:#2b3344;vertical-align:top}
.ptable tr:last-child td{border-bottom:0}
.ptable .svc{font-family:var(--serif-text);font-weight:700;color:var(--navy)}
.ptable .svc small{display:block;font-family:var(--sans);font-weight:400;color:var(--muted);font-size:13px;margin-top:3px}
.ptable .fee{color:var(--gold-deep);font-weight:600;white-space:nowrap}
.faq{max-width:820px;margin:0 auto}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:20px 0;font-family:var(--serif-text);font-weight:700;font-size:18px;color:var(--navy);display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';color:var(--gold);font-size:24px;line-height:1;flex:0 0 auto}
.faq details[open] summary::after{content:'\2212'}
.faq details p{padding:0 0 22px;font-size:16px;color:var(--muted);line-height:1.62;max-width:740px}
.about-portrait{display:flex;justify-content:center;align-items:flex-end;background:var(--navy);border-radius:6px;overflow:hidden;min-height:420px;position:relative}
.about-portrait img{max-height:440px;width:auto;filter:drop-shadow(0 16px 24px rgba(7,12,24,.4));position:relative;z-index:1}
.about-portrait .seal-wm{position:absolute;width:380px;height:380px;color:var(--gold);opacity:.12;top:40px;left:50%;transform:translateX(-50%)}
.e404{text-align:center;padding:40px 0}
.e404 .big{font-family:var(--serif);font-size:140px;line-height:.9;color:#fff;letter-spacing:-.02em}
.e404 .big span{color:var(--gold-bright)}
@media(max-width:860px){.tiers{grid-template-columns:1fr}.ptable th,.ptable td{padding:12px 12px;font-size:13px}.e404 .big{font-size:90px}}