/* Finclaris Global — site styles
   Layout: calm single column of wide sections divided by hairlines; one soft blue wash behind the hero; navy text, one indigo accent. Light-only by design. */
:root{
  color-scheme:light;
  --bg:#FCFCFE; --surface:#FFFFFF; --ink:#1C1D3A; --muted:#5E6180; --line:#E7E8F0; --wash:#F4F5FA;
  --logo:#21223F; --accent:#3E4BC9; --soft:#ECEEFB;
  --display:"Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif;
  --body:"Source Sans 3", "Segoe UI", system-ui, sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.65 var(--body)}
img{max-width:100%}
a{color:inherit}
p{margin:0}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(16px, env(safe-area-inset-left, 0px));padding-right:max(16px, env(safe-area-inset-right, 0px))}
h1,h2,h3{font-family:var(--display);line-height:1.15;text-wrap:balance;margin:0;letter-spacing:-.02em;color:var(--ink)}
h2{font-size:clamp(1.75rem,3vw,2.3rem);font-weight:700}
h3{font-size:1.08rem;font-weight:600;letter-spacing:-.005em}
.label{font:600 .74rem/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.muted{color:var(--muted)}
section{padding-block:clamp(64px,9vw,112px);scroll-margin-top:72px}
section + section{border-top:1px solid var(--line)}
.head{display:grid;gap:14px;max-width:640px;margin-bottom:48px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* Logo (text wordmark — swap in an image by editing .logo in index.html) */
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--logo)}
.logo img{display:block;height:28px;width:auto}
.logo .word{font:700 1.18rem/1 var(--display);letter-spacing:.06em;text-transform:uppercase}
.logo small{font:600 .58rem/1 var(--display);letter-spacing:.3em;color:var(--muted);padding-top:3px}

/* Header */
header{position:sticky;top:0;z-index:10;background:rgba(252,252,254,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:16px}
.links{display:flex;gap:32px;font-size:.95rem}
.links a{text-decoration:none;color:var(--muted)}
.links a:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;background:var(--logo);color:#fff;text-decoration:none;font:600 .92rem/1 var(--display);padding:14px 22px;border-radius:8px;border:0;cursor:pointer}
.btn:hover{background:#2F3160}
.btn.link{background:none;color:var(--ink);padding-inline:4px}
.btn.link::after{content:"→";margin-left:8px;transition:transform .2s}
.btn.link:hover::after{transform:translateX(3px)}
@media (max-width:860px){.links{display:none}}
@media (max-width:420px){.logo small{display:none}.nav .btn{padding:11px 16px;font-size:.85rem}}

/* Hero */
.hero{position:relative;overflow:hidden;padding-block:clamp(64px,9vw,120px)}
.hero::before{content:"";position:absolute;inset:-20% -10% auto auto;width:70%;height:120%;background:radial-gradient(closest-side,rgba(126,138,235,.22),transparent),radial-gradient(closest-side at 70% 70%,rgba(140,201,220,.20),transparent);filter:blur(20px);pointer-events:none}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,6vw,80px);align-items:center}
.hero-copy{display:grid;gap:26px;min-width:0}
.hero h1{font-size:clamp(2.3rem,4.8vw,3.6rem);font-weight:700}
.hero h1 span{color:var(--accent)}
.hero .lede{font-size:1.15rem;color:var(--muted);max-width:52ch}
.cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.proof{font-size:.95rem;color:var(--muted)}
.proof b{color:var(--ink);font-weight:600}

.card{background:rgba(255,255,255,.82);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 48px -32px rgba(33,34,63,.28);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:24px;display:grid;gap:18px;min-width:0}
.card-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.card-top h3{font-size:1rem}
.card-top span{font-size:.85rem;color:var(--muted)}
.bar{height:6px;border-radius:999px;background:var(--wash);overflow:hidden}
.bar i{display:block;height:100%;width:58%;background:var(--accent);border-radius:inherit}
.rows{display:grid}
.row{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--line);font-size:.95rem}
.row div{min-width:0}
.row small{display:block;color:var(--muted);font-size:.82rem}
.amt{font-variant-numeric:tabular-nums;font-weight:600}
.st{font-size:.76rem;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--soft);color:var(--accent);white-space:nowrap}
.st.q{background:#FBF2E4;color:#8C5A12}
.note{font-size:.78rem;color:#9799B3}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}}
@media (max-width:440px){.row{grid-template-columns:1fr auto}.row .st{display:none}}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.step{display:grid;gap:10px;align-content:start;min-width:0}
.step .n{font:600 .85rem var(--display);color:var(--accent)}
.step p{color:var(--muted);font-size:.98rem}
.assure{margin-top:48px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted)}
.assure b{color:var(--ink);font-weight:600}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* Services */
.svc{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,6vw,80px)}
.focus{display:grid;gap:16px;align-content:start}
.focus h3{font-size:1.5rem}
.checks{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 28px}
.checks li{padding-left:24px;position:relative;font-size:.98rem}
.checks li::before{content:"";position:absolute;left:0;top:.5em;width:12px;height:7px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
.also{display:grid;align-content:start}
.also div{padding:20px 0;border-bottom:1px solid var(--line);display:grid;gap:4px}
.also div:first-child{padding-top:0}
.also p{color:var(--muted);font-size:.98rem}
@media (max-width:860px){.svc{grid-template-columns:1fr}}
@media (max-width:520px){.checks{grid-template-columns:1fr}}

/* Industries */
.ind{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.ind div{display:grid;gap:8px;align-content:start;border-top:2px solid var(--logo);padding-top:18px;min-width:0}
.ind p{color:var(--muted);font-size:.98rem}
@media (max-width:860px){.ind{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.ind{grid-template-columns:1fr}}

/* US & Canada */
.border{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,80px);align-items:start}
.border .head{margin-bottom:0}
.facts{display:grid;gap:0}
.facts div{display:grid;grid-template-columns:180px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.facts div:first-child{border-top:1px solid var(--line)}
.facts b{font:600 .98rem var(--display)}
.facts span{color:var(--muted)}
@media (max-width:860px){.border{grid-template-columns:1fr}}
@media (max-width:520px){.facts div{grid-template-columns:1fr;gap:2px}}

/* FAQ */
.faq-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,6vw,80px)}
.faq-wrap .head{margin-bottom:0}
details{border-bottom:1px solid var(--line);padding:18px 0}
details:first-child{border-top:1px solid var(--line)}
summary{cursor:pointer;font:600 1.02rem var(--display);list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--accent);font-weight:500}
details[open] summary::after{content:"–"}
details p{margin-top:10px;color:var(--muted);max-width:62ch}
@media (max-width:860px){.faq-wrap{grid-template-columns:1fr}}

/* Contact */
.contact{background:var(--wash)}
.contact .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,80px);align-items:start}
.contact .head{margin-bottom:0}
.direct{display:grid;gap:4px;margin-top:24px;font-weight:600}
.direct a{text-decoration:none}
.direct a:hover{color:var(--accent)}
form{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:28px;min-width:0}
.f{display:grid;gap:6px;min-width:0}
.f.full{grid-column:1/-1}
label{font-size:.88rem;font-weight:600;color:var(--ink)}
input,select,textarea{font:400 1rem var(--body);padding:11px 13px;border-radius:8px;border:1px solid #D9DBE6;background:#fff;color:var(--ink);width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}
textarea{min-height:96px;resize:vertical}
form .btn{justify-self:start}
#formMsg{grid-column:1/-1;font-size:.92rem;color:#8C5A12}
#formMsg.ok{color:#1F7A4D}
@media (max-width:860px){.contact .wrap{grid-template-columns:1fr}}
@media (max-width:520px){form{grid-template-columns:1fr}}

footer{border-top:1px solid var(--line);font-size:.88rem;color:var(--muted)}
footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-block:28px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
