/* ==========================================================================
   EverSummit Solutions — Kamila Monteiro
   Premium editorial. Midnight navy gradient, brushed silver, white text.
   Cormorant Garamond (display) + Inter (body) + Great Vibes (script tagline).
   Mobile-first, fast, accessible.
   ========================================================================== */

/* ---------- fonts ----------
   Loaded via HTML link tags with font-display: swap.
   Cormorant Garamond: high-contrast serif for headings and the name.
   Inter: clean sans for body.
   Great Vibes: brush script for the tagline. */

/* ---------- self-hosted fonts ----------
   Cormorant Garamond (display), Inter (body), Great Vibes (script tagline).
   Files live in assets/fonts; no external font requests at all. */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/cormorant-400.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/cormorant-500.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/cormorant-600.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('/assets/fonts/cormorant-italic.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/inter-400.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/inter-500.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/inter-600.woff2') format('woff2')}
@font-face{font-family:'Great Vibes';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/great-vibes.woff2') format('woff2')}

/* ---------- tokens ---------- */
:root{
  /* ground */
  --navy-0:#050D21; --navy-1:#0A1A38; --navy-2:#0F2342;
  --navy-gradient:linear-gradient(180deg, #0A1A38 0%, #050D21 100%);
  /* silver */
  --silver-0:#E8ECF2; --silver-1:#B9C2D0; --silver-2:#8A9496;
  --silver-gradient:linear-gradient(135deg, #E8ECF2 0%, #B9C2D0 40%, #8A9496 100%);
  /* text */
  --white:#FFFFFF; --off-white:#F4F6FA;
  --ink:#E8ECF2;
  --ink-2:#B9C2D0;
  /* accents */
  --rule:rgba(185,194,208,.15); --rule-strong:rgba(185,194,208,.3);
  --focus:#4A9EFF;
  --shadow-portrait:0 2px 4px rgba(5,13,33,.3),0 18px 44px -20px rgba(5,13,33,.6);
  --maxw:1240px; --gut:clamp(20px,4vw,56px);
  --sans:'Inter',ui-sans-serif,system-ui,sans-serif;
  --serif:'Cormorant Garamond','Playfair Display',Georgia,serif;
  --script:'Great Vibes',cursive;
  /* type scale */
  --step--2:.78rem; --step--1:.9rem; --step-0:clamp(1.06rem,1.02rem + .2vw,1.19rem);
  --step-1:clamp(1.14rem,1.06rem + .35vw,1.35rem);
  --step-2:clamp(1.3rem,1.1rem + .8vw,1.75rem);
  --step-3:clamp(1.7rem,1.3rem + 1.4vw,2.4rem);
  --step-4:clamp(2.1rem,1.4rem + 2.6vw,3.4rem);
  --step-5:clamp(2.9rem,1.6rem + 5.4vw,5.4rem);
  --ease:cubic-bezier(.16,1,.3,1);
  --sec-y:clamp(72px,9vw,148px);
  --head-h:128px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--navy-gradient);color:var(--ink);
  font-family:var(--sans);font-size:var(--step-0);line-height:1.65;
  -webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;
  overflow-x:hidden;
}
img,picture,svg{max-width:100%}
img{height:auto;display:block}
a{color:var(--silver-1);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--white)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:2px}
::selection{background:rgba(185,194,208,.3);color:var(--white)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;color:var(--silver-0);line-height:1.08;margin:0 0 .5em;letter-spacing:-.012em}
h1{font-size:var(--step-5)}
h2{font-size:var(--step-4)}
h3{font-size:var(--step-2)}
h4{font-size:var(--step-1)}
p{margin:0 0 1em;max-width:66ch}
strong{font-weight:600}
em{font-style:italic}
ul,ol{margin:0 0 1em;padding-left:1.15em}
li{margin:0 0 .35em}
.skip{position:absolute;left:-9999px;top:0;background:var(--silver-0);color:var(--navy-0);padding:12px 20px;z-index:200;font-weight:600}
.skip:focus{left:8px;top:8px;color:var(--navy-0)}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}
.narrow{max-width:760px;margin-inline:auto}
.i{width:1.15em;height:1.15em;flex:0 0 auto;display:inline-block;vertical-align:-.18em}

/* ---------- section rhythm ---------- */
.section{padding-block:var(--sec-y)}
.section--tight{padding-block:clamp(48px,5vw,84px)}
.section--navy2{background:var(--navy-2)}
.section--silver{background:var(--silver-gradient);color:var(--navy-0)}
.section--silver h2,.section--silver h3{color:var(--navy-0)}
.section--silver p{color:var(--navy-0)}
.rule-top{border-top:1px solid var(--rule)}

/* labels */
.label{
  font-family:var(--sans);font-size:var(--step--2);font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--silver-2);
  margin:0 0 .9rem;display:block;
}
.label--silver{color:var(--silver-0)}

.lead{font-size:var(--step-1);line-height:1.55;color:var(--ink);max-width:60ch}
.section--silver .lead{color:var(--navy-0)}

/* wide small caps utility for "SOLUTIONS", "LICENSED INSURANCE BROKER", "PROTECTION FOR EVERY STAGE OF LIFE" */
.smallcaps{
  font-family:var(--serif);font-weight:500;
  letter-spacing:.22em;text-transform:uppercase;
  font-size:var(--step--1);color:var(--silver-1);
}
.smallcaps--wide{letter-spacing:.32em;font-size:var(--step--2)}
.smallcaps--silver{color:var(--silver-0)}

/* brush script tagline */
.script-tagline{
  font-family:var(--script);font-size:clamp(2rem,1.4rem + 2.6vw,3.6rem);
  color:var(--silver-0);line-height:1.15;font-weight:400;
}
.script-tagline--white{color:var(--white)}
.script-tagline--silver{color:var(--silver-1)}

/* silver gradient text for headings/dividers */
.silver-text{
  background:var(--silver-gradient);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.silver-rule{
  border:0;height:1px;
  background:var(--silver-gradient);
  margin-block:clamp(18px,2.4vw,32px);
}

/* ---------- header ---------- */
.site-head{position:sticky;top:0;z-index:60;background:var(--navy-1);border-bottom:1px solid transparent;transition:border-color .18s linear,background .18s linear}
.site-head.is-stuck{border-bottom-color:var(--rule);background:var(--navy-1)}
.site-head__bar{display:flex;align-items:center;gap:28px;min-height:var(--head-h)}
.brand{display:block;flex:0 0 auto;text-decoration:none;padding-block:12px}
.brand img{width:166px;height:auto;display:block}
.nav{display:flex;align-items:center;gap:22px;margin-left:auto}
.nav a{color:var(--ink-2);text-decoration:none;font-size:var(--step--1);font-weight:500;letter-spacing:.02em;min-height:44px;display:inline-flex;align-items:center}
.nav a:hover,.nav a[aria-current="page"]{color:var(--silver-0)}
.nav .head-cta{color:var(--navy-0);background:var(--silver-0);border:1px solid var(--silver-0);padding:10px 20px;border-radius:2px;font-weight:600}
.nav .head-cta:hover{background:var(--white);color:var(--navy-0);border-color:var(--white)}
.nav-toggle{display:none;background:transparent;border:1px solid var(--rule-strong);color:var(--ink);padding:10px 16px;border-radius:2px;font-family:var(--sans);font-size:var(--step--1);font-weight:600;cursor:pointer;min-height:44px;align-items:center;gap:8px}
.nav-toggle svg{width:18px;height:18px}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;padding-block:clamp(60px,8vw,120px);background:var(--navy-gradient)}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,72px);align-items:center;position:relative;z-index:2}
.hero__copy{max-width:640px}
.hero h1{font-size:clamp(2.6rem,1.4rem + 5vw,4.8rem);line-height:1.02;letter-spacing:-.015em;margin-bottom:.35em;color:var(--silver-0)}
.hero h1 em{font-style:italic;color:var(--silver-1)}
.hero__lead{font-size:var(--step-1);line-height:1.55;color:var(--ink-2);max-width:46ch;margin-bottom:2rem}
.hero__meta{list-style:none;padding:0;margin:2.4rem 0 0;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:8px 28px;font-size:var(--step--1);color:var(--ink-2)}
.hero__meta li{display:flex;align-items:center;gap:8px;padding-block:12px;border-bottom:1px solid var(--rule);margin:0;flex:1 1 auto}
.hero__meta .i{color:var(--silver-1);width:18px;height:18px;flex:0 0 auto}
.hero__meta a{color:var(--silver-0);text-decoration:none;font-weight:600}
.hero__meta a:hover{color:var(--white)}
.hero__figure{position:relative;justify-self:center;width:100%;max-width:420px}
.hero__figure img{width:100%;height:auto;display:block;border-radius:50%;border:2px solid var(--silver-2);box-shadow:var(--shadow-portrait);position:relative;z-index:2}
.hero__figure .silver-ring{position:absolute;inset:-14px;border-radius:50%;border:1px solid var(--silver-2);z-index:1;opacity:.55}
.hero__figure .silver-ring2{position:absolute;inset:-28px;border-radius:50%;border:1px solid var(--silver-2);z-index:1;opacity:.25}
.hero__caption{margin-top:20px;font-size:var(--step--1);color:var(--silver-2);text-align:center;line-height:1.4;position:relative;z-index:2}
.hero__mountain{position:absolute;bottom:0;left:0;right:0;height:clamp(120px,18vw,260px);z-index:1;pointer-events:none}
.hero__mountain svg{width:100%;height:100%;display:block;opacity:.55}

/* Decorative silver rings extend 28px past their figure; on narrow screens
   that pushed 8px of horizontal scroll on the About hero. Hidden under 560px. */
@media (max-width:560px){
  .hero__figure .silver-ring,.hero__figure .silver-ring2{display:none}
}

/* ---------- buttons ---------- */
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:2.2rem}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:48px;padding:12px 28px;border-radius:2px;border:1px solid transparent;
  font-family:var(--sans);font-size:var(--step--1);font-weight:600;letter-spacing:.02em;
  text-decoration:none;cursor:pointer;transition:background .16s linear,color .16s linear,border-color .16s linear;
}
.btn--primary{background:var(--silver-0);color:var(--navy-0);border-color:var(--silver-0)}
.btn--primary:hover{background:var(--white);border-color:var(--white);color:var(--navy-0)}
.btn--secondary{background:transparent;color:var(--silver-0);border-color:var(--silver-2)}
.btn--secondary:hover{background:var(--silver-0);color:var(--navy-0);border-color:var(--silver-0)}
.btn--silver{background:var(--silver-gradient);color:var(--navy-0);border-color:transparent}
.btn--silver:hover{filter:brightness(1.1);color:var(--navy-0)}
.btn .i{width:18px;height:18px}

/* ---------- service rows ---------- */
.svc{list-style:none;padding:0;margin:clamp(28px,3.4vw,48px) 0 0;border-top:1px solid var(--rule)}
.svc__row{display:grid;grid-template-columns:56px minmax(0,1fr);gap:18px 28px;padding-block:clamp(22px,2.8vw,34px);border-bottom:1px solid var(--rule);margin:0}
.svc__row .i{width:32px;height:32px;color:var(--silver-1);margin-top:.15em}
.svc__row h3{margin-bottom:.35em;color:var(--silver-0)}
.svc__row p{margin-bottom:.9em;color:var(--ink-2);max-width:62ch}
.svc__list{grid-column:2;list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:4px 22px}
.svc__list li{font-size:var(--step--1);color:var(--ink-2);padding-block:4px;margin:0;display:flex;gap:8px;align-items:flex-start}
.svc__list li::before{content:"";flex:0 0 auto;width:6px;height:6px;margin-top:.55em;border-radius:50%;background:var(--silver-2)}

/* ---------- facts list ---------- */
.facts{list-style:none;padding:0;margin:2rem 0 0;border-top:1px solid var(--rule)}
.facts li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;padding-block:16px;border-bottom:1px solid var(--rule);margin:0;font-size:var(--step--1)}
.facts .i{color:var(--silver-1);width:20px;height:20px;margin-top:.15em}
.facts strong{color:var(--ink);font-weight:600}

/* ---------- quote band ---------- */
.quote-band{padding-block:clamp(72px,8vw,132px);background:var(--navy-2);color:var(--silver-0);text-align:center}
.quote-band blockquote{margin:0 auto;max-width:36ch}
.quote-band p{
  font-family:var(--serif);font-style:italic;font-size:clamp(1.4rem,1.05rem + 1.4vw,2.4rem);
  line-height:1.24;color:var(--silver-0);margin:0 0 1.2em;text-wrap:balance;
}
.quote-band cite{display:block;font-style:normal;font-family:var(--sans);font-size:var(--step--1);color:var(--silver-2);letter-spacing:.1em;text-transform:uppercase}
.quote-band .btn-row{justify-content:center;margin-top:2.4rem}

/* ---------- philosophy split ---------- */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,4vw,72px);align-items:start}
.split--wide{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}

/* ---------- form ---------- */
.form{margin-top:clamp(26px,3vw,42px)}
.form__note{font-size:var(--step--1);color:var(--silver-2);margin:0 0 1.4rem;max-width:56ch}
.grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 20px}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:2px}
.field label{font-size:var(--step--1);font-weight:600;color:var(--ink);letter-spacing:.01em}
.field input,.field select,.field textarea{
  font-family:var(--sans);font-size:var(--step-0);color:var(--white);
  background:rgba(255,255,255,.04);border:1px solid var(--rule-strong);border-radius:2px;
  padding:13px 15px;width:100%;transition:border-color .16s linear,background .16s linear;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--silver-0);background:rgba(255,255,255,.07)}
.field textarea{resize:vertical;min-height:120px}
.field select{appearance:none;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 1l5 5 5-5' stroke='%23B9C2D0' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;padding-right:40px}
.field--error input,.field--error select,.field--error textarea{border-color:#E08A8A;background:rgba(224,138,138,.06)}
.field__error{display:none;font-size:var(--step--2);color:#E08A8A;font-weight:600}
.field--error .field__error{display:block}
.form-consent{display:flex;align-items:flex-start;gap:11px;margin-top:18px;font-size:var(--step--1);color:var(--ink-2);line-height:1.5}
.form-consent input{margin-top:.22em;flex:0 0 auto;width:20px;height:20px;accent-color:var(--silver-0)}
.form__status{font-size:var(--step--1);margin:16px 0 0;min-height:1.4em;font-weight:600}
.form__status.is-on{color:var(--silver-0)}
.form__status a{color:var(--silver-0);font-weight:600}

/* ---------- faq ---------- */
.faq{margin-top:clamp(26px,3vw,44px);border-top:1px solid var(--rule)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{
  list-style:none;cursor:pointer;padding:22px 44px 22px 0;position:relative;
  font-family:var(--serif);font-size:var(--step-1);font-weight:500;color:var(--silver-0);
  line-height:1.3;min-height:44px;display:flex;align-items:center;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--white)}
.faq summary::after{
  content:"";position:absolute;right:6px;top:50%;width:14px;height:14px;
  margin-top:-7px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M1 7h12M7 1v12' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M1 7h12M7 1v12' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:transform .2s var(--ease);
}
.faq details[open] summary::after{transform:rotate(135deg)}
.faq details p{margin:0;padding:0 0 24px;color:var(--ink-2);max-width:62ch}

/* ---------- closing call ---------- */
.close{padding-block:clamp(72px,8vw,132px);background:var(--navy-2);color:var(--silver-0);text-align:center}
.close h2{color:var(--silver-0);max-width:18ch;margin-inline:auto}
.close p{color:var(--ink-2);max-width:48ch;margin-inline:auto;font-size:var(--step-1)}
.close .phone{display:inline-block;font-family:var(--serif);font-size:clamp(1.9rem,1.3rem + 2.4vw,3rem);color:var(--silver-0);text-decoration:none;margin:1.2rem 0 2rem}
.close .phone:hover{color:var(--white)}
.close .btn-row{justify-content:center}

/* ---------- footer ---------- */
.site-foot{background:var(--navy-0);color:var(--silver-1);padding-block:clamp(52px,6vw,86px) 34px;border-top:1px solid var(--rule)}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px)}
.foot-logo{width:200px;height:auto;margin-bottom:22px;filter:brightness(1.1)}
.site-foot h2{color:var(--silver-0);font-size:var(--step-2);margin-bottom:.5em}
.site-foot h3{color:var(--silver-2);font-family:var(--sans);font-size:var(--step--2);font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1em}
.site-foot p{color:var(--silver-2);max-width:40ch;font-size:var(--step--1)}
.foot-list{list-style:none;padding:0;margin:0;font-size:var(--step--1)}
.foot-list li{display:flex;gap:10px;align-items:center;padding-block:7px;margin:0;min-height:44px}
.foot-list a{color:var(--silver-1);display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.foot-list a:hover{color:var(--white)}
.foot-social{display:flex;gap:14px;margin-top:20px}
.foot-social a{color:var(--silver-2);width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--rule);border-radius:2px}
.foot-social a:hover{color:var(--white);border-color:var(--silver-2)}
.foot-social svg{width:20px;height:20px}
.disclaimer{font-size:var(--step--2);line-height:1.6;color:var(--silver-2);max-width:100ch;margin-top:clamp(32px,4vw,56px);padding-top:26px;border-top:1px solid var(--rule);columns:2;column-gap:clamp(28px,4vw,64px)}
.disclaimer p{margin:0 0 .9em;max-width:none;break-inside:avoid}
.legal-row{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:20px;font-size:var(--step--2);color:var(--silver-2)}
.legal-row a{color:var(--silver-1);text-decoration:none}
.legal-row a:hover{color:var(--white)}

/* ---------- motion ---------- */
.js .reveal{opacity:0;transform:translateY(14px)}
.js .reveal.is-in{opacity:1;transform:none;transition:opacity .52s var(--ease),transform .52s var(--ease)}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .js .reveal{opacity:1;transform:none}
}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .hero__grid{grid-template-columns:1fr;gap:38px}
  .hero h1{max-width:18ch}
  .hero__figure{max-width:380px}
  .split,.split--wide{grid-template-columns:1fr}
  .svc__row{grid-template-columns:52px minmax(0,1fr);row-gap:18px}
  .svc__list{grid-column:2}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-grid>div:first-child{grid-column:1/-1}
  .disclaimer{columns:1}
}
@media (max-width:820px){
  .nav-toggle{display:inline-flex}
  .nav{
    position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;
    background:var(--navy-1);border-bottom:1px solid var(--rule);padding:8px var(--gut) 18px;margin:0;display:none;
  }
  .nav.is-open{display:flex}
  .nav a{padding:12px 0;border-bottom:1px solid var(--rule);min-height:44px;display:flex;align-items:center}
  .nav .head-cta{border:0;padding:12px 0}
}
@media (max-width:560px){
  :root{--head-h:110px}
  .hero h1{max-width:none}
  .brand img{width:140px}
  .foot-grid{grid-template-columns:1fr}
  .btn{width:100%;justify-content:center}
  .btn-row{flex-direction:column;align-items:stretch}
  .close .btn-row,.quote-band .btn-row{flex-direction:column;align-items:stretch}
  .foot-logo{width:170px}
  .disclaimer{columns:1}
}
@media print{
  .site-head,.foot-social,.btn,.btn-row{display:none}
  body{background:#fff;color:#000}
  .section--navy2,.close,.site-foot{background:#fff;color:#000}
}

/* footer mountain strip: snow-capped range at the foot of every page */
.foot-mountain{margin-top:clamp(40px,5vw,64px);height:clamp(70px,9vw,130px);opacity:.28;pointer-events:none}
.foot-mountain img{width:100%;height:100%;object-fit:cover;object-position:center bottom;display:block}
