/* Consolidator homepage — styles.css. Phone-first, measured at 375. Fonts self-hosted in /fonts. */
@font-face{font-family:"Cormorant Garamond";src:url(fonts/CormorantGaramond-Medium.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(fonts/CormorantGaramond-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Lato;src:url(fonts/Lato-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Lato;src:url(fonts/Lato-Bold.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --navy:#0F3A5C;--navy-2:#1C4D73;--paper:#FDFCFA;--paper-2:#EEF1F4;
  --gold:#C9A44F;--gold-text:#8E6F28;--muted:#4E5D6B;--rule:#D6D9DD;--on-gold:#15181B;
  --display:"Cormorant Garamond",Georgia,serif;--text:Lato,"Helvetica Neue",Arial,sans-serif;
  --max:1180px;--gutter:20px;--pad:clamp(56px,7vw,104px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--navy);font:17px/1.5 var(--text);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}a:hover{color:var(--gold-text)}
h1,h2{margin:0;font-family:var(--display);font-weight:500;letter-spacing:0;text-wrap:pretty}
p{margin:0}
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.dark{background:var(--navy);color:var(--paper)}
.dark a:hover{color:var(--gold)}
.label{font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-text)}
.dark .label{color:var(--gold)}
.muted{color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border-radius:999px;font-weight:700;font-size:17px}
.btn-gold{background:var(--gold);color:var(--on-gold)}.btn-gold:hover{color:var(--on-gold);background:#D4B265}
.btn-navy{background:var(--navy);color:var(--paper)}.btn-navy:hover{color:var(--paper);background:var(--navy-2)}
.wordmark{font-family:var(--display);font-weight:500;font-size:30px;letter-spacing:.01em;line-height:1;white-space:nowrap}
.wordmark b{font-weight:inherit;color:var(--gold)}

/* header */
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:18px;padding-bottom:18px}
.site-header .wordmark{font-size:clamp(24px,8vw,30px)}
.site-header .signin{padding:9px 14px;border:1px solid rgba(253,252,250,.35);border-radius:999px;font-size:15px;font-weight:700;white-space:nowrap}

/* hero */
.hero{padding-top:clamp(48px,7vw,104px)}
.hero .label{margin-bottom:20px}
.hero h1{font-size:clamp(40px,6.2vw,80px);line-height:1.02;letter-spacing:-.005em;max-width:19ch}
.hero-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px 48px;align-items:end;margin-top:clamp(28px,4vw,48px)}
.hero-lede{font-size:clamp(17px,1.5vw,20px);color:rgba(253,252,250,.78);max-width:52ch}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}
.hero-cta small{font-size:14px;color:rgba(253,252,250,.62);max-width:26ch}
.hero-shot{margin-top:clamp(40px,5vw,72px);padding:10px 10px 0;background:var(--navy-2);border-radius:18px 18px 0 0}
.hero-shot img{display:block;width:100%;aspect-ratio:16/9.5;object-fit:cover;object-position:top;border-radius:10px 10px 0 0;background:var(--paper-2)}

/* six steps */
.steps{padding-top:var(--pad);padding-bottom:var(--pad)}
.steps-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;margin-bottom:clamp(28px,3vw,44px)}
.steps h2{font-size:clamp(34px,4vw,52px);line-height:1.05}
.steps-head p{font-size:15px}
.steps ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 28px;border-top:1px solid var(--rule)}
.steps li{padding:20px 0 24px;border-bottom:1px solid var(--rule)}
.steps .n{font-family:var(--display);font-weight:600;font-size:18px;color:var(--gold-text);margin-bottom:12px}
.steps h3{margin:0 0 6px;font:700 17px/1.3 var(--text)}
.steps li p{font-size:15px;line-height:1.45}

/* two-column feature sections */
.feature{padding-bottom:var(--pad)}
.feature .wrap,.tech .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:36px 64px;align-items:center}
.feature .label,.tech .label{margin-bottom:14px}
.feature h2,.tech h2,.story h2{font-size:clamp(36px,4.2vw,56px);line-height:1.04}
.feature h2,.tech h2{margin-bottom:18px}
.feature p+p,.tech p+p{margin-top:14px}
.feature .copy p,.tech .copy p{max-width:48ch}
.frame{padding:10px;background:var(--paper-2);border-radius:16px}
.frame img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;background:#fff}
.tech{background:var(--paper-2);padding-top:var(--pad);padding-bottom:var(--pad)}
.tech .wrap{gap:40px 64px}
.phone-wrap{display:flex;justify-content:center}
.phone{width:min(100%,300px);aspect-ratio:9/19;padding:10px;background:var(--navy);border-radius:40px;box-shadow:0 30px 60px -30px rgba(15,58,92,.45)}
.phone img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;border-radius:31px;background:#fff}
@media (min-width:700px){.tech .phone-wrap{order:-1}}

/* story */
.story{padding-top:clamp(64px,8vw,120px);padding-bottom:clamp(64px,8vw,120px)}
.story .wrap{max-width:720px;text-align:center}
.story .label{margin-bottom:18px}
.story h2{margin-bottom:22px;line-height:1.06}
.story p+p{margin-top:14px}
.story .btn{margin-top:32px}

/* footer */
.site-footer{padding:40px 0 28px}
.site-footer .top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:28px 40px}
.site-footer .wordmark{margin-bottom:10px}
.site-footer .sub{font-size:14px;color:rgba(253,252,250,.62)}
.site-footer nav{display:flex;flex-wrap:wrap;gap:12px 28px;font-size:15px;font-weight:700}
.site-footer .legal{margin-top:32px;padding-top:18px;border-top:1px solid rgba(253,252,250,.15);font-size:13px;color:rgba(253,252,250,.5)}
