/* Thin Blue Line Notary — production stylesheet.
   Apple-inspired system: SF Pro type (Inter off-Apple), neutral greys, generous
   whitespace, pill buttons, soft rounded cards, frosted-glass chrome.
   Brand ultramarine stays the single accent. Class names are unchanged. */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");

:root{
/* Neutral scale remapped to Apple greys (inline styles reference these tokens) */
--char-950:#1D1D1F;--char-900:#1D1D1F;--char-800:#333336;--char-700:#424245;--char-600:#515154;
--char-500:#6E6E73;--char-400:#86868B;--char-300:#A1A1A6;--char-200:#D2D2D7;--char-150:#E8E8ED;
--char-100:#EDEDF2;--char-050:#F5F5F7;--char-000:#FFFFFF;
--blue-900:#051445;--blue-800:#061B87;--blue-700:#0824AE;--blue-600:#1A3AD4;--blue-500:#3A57F0;
--blue-200:#CDD6FF;--blue-050:#F2F4FF;
--green-600:#1C6E47;--green-050:#E8F3ED;--red-600:#A32218;--red-050:#FBEBE9;
--accent:var(--blue-700);--accent-hover:var(--blue-600);--accent-lit:var(--blue-500);
--text-strong:var(--char-950);--text-body:var(--char-950);--text-muted:var(--char-500);
--text-faint:var(--char-400);--text-inverse-muted:var(--char-300);
--surface-page:#FFFFFF;--surface-card:#FFFFFF;--surface-sunken:var(--char-050);--surface-ink:#000000;
--border-hairline:var(--char-200);--border-quiet:var(--char-150);--border-strong:var(--char-200);--border-inverse:rgba(255,255,255,.16);
--font-display:-apple-system,BlinkMacSystemFont,"SF Pro Display","Inter","Helvetica Neue",Helvetica,Arial,sans-serif;
--font-sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter","Helvetica Neue",Helvetica,Arial,sans-serif;
--font-mono:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter","Helvetica Neue",Helvetica,Arial,sans-serif;
--container:1080px;--gutter:40px;
--radius-card:22px;--radius-field:12px;--radius-pill:980px;
--ease:cubic-bezier(.28,.11,.32,1);
--shadow-1:0 1px 2px rgba(0,0,0,.04);
--shadow-3:0 20px 48px -18px rgba(0,0,0,.22);
--scrim-bottom:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.66) 100%);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-page);color:var(--text-body);font:400 17px/1.47 var(--font-sans);letter-spacing:-.022em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01"}
h1,h2,h3,h4,p,figure,ul,ol{margin:0}
img{max-width:100%;display:block}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--accent-lit);outline-offset:3px;border-radius:6px}
::selection{background:var(--blue-200);color:var(--char-950)}
.wrap{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.eyebrow{font:600 14px/1.3 var(--font-sans);letter-spacing:-.01em;color:var(--text-muted)}
.rule{width:40px;height:3px;border-radius:2px;background:var(--accent-lit);border:0}

/* Header — frosted glass bar */
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.72);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.08)}
.site-header .wrap{display:flex;align-items:center;gap:28px;height:60px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.brand:hover{text-decoration:none}
.brand img{width:34px;height:34px}
.brand-name{display:flex;flex-direction:column;gap:2px}
.brand-name b{font:700 15px/1 var(--font-display);letter-spacing:.01em;color:var(--char-950)}
.brand-name span{font:500 10px/1 var(--font-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--text-muted)}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{padding:8px 12px;font:400 14px/1.3 var(--font-sans);letter-spacing:-.01em;text-decoration:none;color:rgba(0,0,0,.8);border-radius:var(--radius-pill);transition:color .2s var(--ease),background-color .2s var(--ease)}
.nav a:hover{color:#000;text-decoration:none}
.nav a[aria-current="page"]{color:#000;font-weight:600}
.header-cta{display:flex;align-items:center;gap:16px;flex:none}
.header-cta .btn{height:34px;padding:0 16px;font-size:13px}
.header-cta .btn svg{display:none}
.tel{display:flex;align-items:center;gap:6px;white-space:nowrap;font:500 14px/1.3 var(--font-sans);color:var(--char-950);text-decoration:none;flex:none}
.tel:hover{color:var(--accent);text-decoration:none}
.menu-btn{display:none;margin-left:auto;background:rgba(0,0,0,.05);border:0;border-radius:var(--radius-pill);padding:8px 14px;cursor:pointer;font:500 14px var(--font-sans);color:var(--char-950)}

/* Buttons — pills */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;flex:none;height:44px;padding:0 22px;border:1px solid transparent;border-radius:var(--radius-pill);font:400 15px/1 var(--font-sans);letter-spacing:-.01em;text-decoration:none;cursor:pointer;transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}
.btn:hover{text-decoration:none}
.btn:active{transform:scale(.98)}
.btn-lg{height:50px;padding:0 28px;font-size:17px}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-hover);color:#fff}
.btn-secondary{background:transparent;color:var(--accent);border-color:var(--accent)}
.btn-secondary:hover{background:var(--accent);color:#fff}
.btn-inverse{background:rgba(255,255,255,.12);color:#fff;border-color:transparent}
.btn-inverse:hover{background:rgba(255,255,255,.2);color:#fff}
.btn-block{width:100%}

/* Sections */
section{padding:120px 0}
.sec-ink{background-color:var(--surface-ink);color:var(--text-inverse-muted)}
/* Replace the guilloche texture with a quiet brand glow */
.sec-ink[style*="pattern-guilloche"]{background-image:radial-gradient(ellipse 70% 90% at 85% 0%,rgba(58,87,240,.28) 0%,rgba(8,36,174,.10) 45%,rgba(0,0,0,0) 75%)!important}
.sec-sunken{background:var(--surface-sunken)}
.sec-card{background:var(--surface-card)}
.sec-tight{padding:88px 0}
h1.display{font:600 64px/1.06 var(--font-display);letter-spacing:-.03em;color:var(--char-950);text-wrap:balance}
.sec-ink h1.display,.sec-ink h2{color:#F5F5F7}
h2{font:600 48px/1.08 var(--font-display);letter-spacing:-.028em;color:var(--char-950);text-wrap:balance}
h3{font:600 21px/1.24 var(--font-display);letter-spacing:-.02em;color:var(--char-950)}
.lede{font:400 21px/1.42 var(--font-sans);letter-spacing:-.018em;color:var(--text-muted);max-width:52ch;text-wrap:pretty}
.sec-ink .lede{color:var(--char-300)}
.sec-ink .eyebrow{color:var(--char-300)}
.sec-head{display:flex;flex-direction:column;gap:14px;margin-bottom:48px}

/* Cards — soft, borderless tiles; grey on white sections, white on grey */
.card{background:var(--surface-sunken);border:0;border-radius:var(--radius-card);padding:32px}
.sec-sunken .card,.sec-sunken .svc{background:var(--surface-card)}
.card-rule{border-top:0}
.grid{display:grid;gap:20px}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.svc{display:flex;flex-direction:column;gap:12px;background:var(--surface-sunken);border:0;border-radius:var(--radius-card);padding:32px;text-decoration:none;color:inherit;transition:box-shadow .35s var(--ease),transform .35s var(--ease)}
a.svc:hover{box-shadow:var(--shadow-3);transform:scale(1.015);text-decoration:none;color:inherit}
.svc .price{display:flex;align-items:baseline;gap:8px;padding-top:16px;border-top:1px solid var(--border-quiet);margin-top:auto}
.svc .price b{font:600 19px/1 var(--font-display);letter-spacing:-.02em;color:var(--char-950)}
.svc .price span{font:400 13px/1.35 var(--font-sans);color:var(--text-faint)}

/* Rounded media */
.split figure{border-radius:28px!important;box-shadow:none!important}

/* Credentials */
.creds{display:flex;flex-wrap:wrap;gap:10px 24px;list-style:none;padding:0}
.creds li{display:flex;align-items:center;gap:7px;font:500 14px/1.35 var(--font-sans);letter-spacing:-.01em;color:var(--char-950)}
.sec-ink .creds li,.site-footer .creds li{color:#F5F5F7}
.creds svg{flex:none;color:var(--accent-lit)}

/* Fee tables */
.rate{display:flex;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid var(--border-quiet)}
.rate:last-child{border-bottom:0}
.rate .l{flex:1;display:flex;flex-direction:column;gap:2px}
.rate .l b{font:500 15px/1.45 var(--font-sans);color:var(--char-950)}
.rate .l span{font:400 13px/1.4 var(--font-sans);color:var(--text-muted)}
.rate .v{font:500 15px/1.45 var(--font-mono);font-variant-numeric:tabular-nums;color:var(--char-950);white-space:nowrap}
.rate .v.muted{color:var(--text-muted)}
.callout{background:var(--blue-050);border:0;padding:18px 22px;border-radius:16px}
.callout b{display:block;font:600 15px/1.4 var(--font-sans);color:var(--char-950);margin-bottom:4px}
.callout p{font:400 14px/1.55 var(--font-sans);color:var(--text-body)}

/* Forms */
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
.field label{font:600 14px/1.35 var(--font-sans);color:var(--char-950)}
.field .hint{font:400 13px/1.4 var(--font-sans);color:var(--text-muted)}
.field input,.field select,.field textarea{width:100%;padding:0 16px;height:50px;font:400 17px/1.4 var(--font-sans);letter-spacing:-.02em;color:var(--char-950);background:#fff;border:1px solid var(--border-strong);border-radius:var(--radius-field);outline:none;-webkit-appearance:none;appearance:none;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236E6E73' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.field textarea{height:auto;padding:13px 16px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent-lit);box-shadow:0 0 0 4px rgba(58,87,240,.18)}
.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 18px}
.choice{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border:1px solid var(--border-strong);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .2s var(--ease),background-color .2s var(--ease),box-shadow .2s var(--ease)}
.choice:has(input:checked){border-color:var(--accent);background:var(--blue-050);box-shadow:0 0 0 1px var(--accent)}
.choice input{margin:3px 0 0;accent-color:var(--accent);flex:none;width:auto;height:auto;padding:0;border:0;box-shadow:none;-webkit-appearance:auto;appearance:auto}
.choice b{display:block;font:600 15px/1.4 var(--font-sans);color:var(--char-950)}
.choice span{font:400 13px/1.4 var(--font-sans);color:var(--text-muted)}
.choices{display:flex;flex-direction:column;gap:10px}
.more{border:0;border-radius:14px;padding:16px 20px;margin:0 0 22px;background:var(--surface-sunken)}
.card .more{background:var(--surface-card)}
.more summary{cursor:pointer;list-style:none;font:600 15px/1.4 var(--font-sans);color:var(--char-950)}
.more summary::-webkit-details-marker{display:none}
.more summary::before{content:"+ ";color:var(--accent);font-weight:600}
.more[open] summary::before{content:"\2212 "}
.more summary span{display:block;font:400 13px/1.4 var(--font-sans);color:var(--text-muted);margin-top:2px;margin-left:14px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Footer */
.site-footer{background:#161617;color:var(--text-inverse-muted);padding:64px 0 28px;border-top:1px solid rgba(255,255,255,.06)}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px}
.site-footer h4{font:600 13px/1.35 var(--font-sans);letter-spacing:-.01em;color:#F5F5F7;margin-bottom:12px}
.site-footer a{color:var(--text-inverse-muted);text-decoration:none;font:400 13px/2.1 var(--font-sans);display:block}
.site-footer a:hover{color:#fff;text-decoration:underline}
.foot-contact a,.foot-contact span{display:flex;align-items:center;gap:8px;font:400 13px/2 var(--font-sans);color:#F5F5F7}
.foot-legal{font:400 12px/1.6 var(--font-sans);color:var(--char-400);margin-top:22px;max-width:88ch}
.foot-bar{border-top:1px solid var(--border-inverse);margin-top:28px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font:400 12px/1.5 var(--font-sans);color:var(--char-400)}
.foot-bar a{display:inline;color:var(--char-400)}

/* Prose (legal pages) */
.prose{max-width:68ch}
.prose h2{font:600 28px/1.2 var(--font-display);letter-spacing:-.02em;margin:40px 0 12px}
.prose h3{font:600 19px/1.3 var(--font-sans);margin:26px 0 8px}
.prose p,.prose li{font:400 17px/1.6 var(--font-sans);color:var(--text-body);margin-bottom:12px}
.prose ul{padding-left:20px}

@media (max-width:1080px){.site-header .wrap{gap:16px}.nav a{padding:8px 9px}}
@media (max-width:900px){
:root{--gutter:20px}
h1.display{font-size:44px!important;letter-spacing:-.025em}h2{font-size:34px}
.lede{font-size:19px}
section{padding:80px 0}
.sec-tight{padding:64px 0}
.card,.svc{padding:26px;border-radius:18px}
.foot-grid{grid-template-columns:1fr 1fr}
.site-header .wrap{height:52px}
.nav{display:none;position:absolute;top:52px;left:0;right:0;flex-direction:column;background:rgba(255,255,255,.94);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.08);padding:8px 20px 18px;gap:0}
.nav.open{display:flex}
.nav a{padding:14px 0;border-radius:0;border-bottom:1px solid var(--border-quiet);font-size:17px}
.nav a:last-child{border-bottom:0}
.menu-btn{display:block}
.header-cta .btn{display:none}
.hero-grid,.split{grid-template-columns:1fr !important}
.hero-seal{display:none!important}
}
@media (max-width:560px){h1.display{font-size:38px!important}h2{font-size:30px}.foot-grid{grid-template-columns:1fr}.tel span{display:none}}

/* Sticky mobile action bar — frosted */
.mobile-bar{display:none}
@media (max-width:900px){
body{padding-bottom:64px}
.mobile-bar{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgba(255,255,255,.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-top:1px solid rgba(0,0,0,.08);padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px))}
.mobile-bar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:7px 4px;font:500 11px/1.2 var(--font-sans);color:var(--accent);border-radius:12px;text-decoration:none}
.mobile-bar a.primary{background:var(--accent);color:#fff}
.mobile-bar a svg{width:20px;height:20px}
}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
