/*
Theme Name: Insure With You
Theme URI: https://insurewithyou.example
Author: Insure With You
Description: Lead-generation theme for the Insure With You insurance agency. Mobile-first, fast, with a built-in 60-second quote-capture form that stores leads in your dashboard and emails you instantly.
Version: 1.0
License: GPL-2.0-or-later
Requires at least: 6.0
Tested up to: 6.7
Text Domain: insure-with-you
*/

:root{
  --ink:#13241f;--green:#1d7a5f;--green-deep:#0f5141;--green-soft:#e6f1ec;
  --coral:#ff6f4d;--coral-deep:#e85a39;--amber:#ffc24b;--cream:#fbf5ea;--sand:#f2e7d3;
  --white:#ffffff;--text:#283832;--muted:#5f6f68;--line:#e3dccb;
  --shadow:0 20px 50px -20px rgba(15,81,65,.35);--shadow-sm:0 8px 24px -12px rgba(15,81,65,.30);
  --r:18px;--display:'Fraunces',Georgia,serif;--body:'Hanken Grotesk',-apple-system,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--text);background:var(--cream);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}

header{position:sticky;top:0;z-index:60;background:rgba(251,245,234,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:1.35rem;color:var(--ink);letter-spacing:-.02em}
.logo .mark{width:34px;height:34px;border-radius:10px;background:var(--green);display:grid;place-items:center;color:#fff;font-weight:900;box-shadow:var(--shadow-sm)}
.logo .mark svg{width:20px;height:20px}
.navlinks{display:flex;gap:30px;align-items:center;font-weight:500;font-size:.95rem}
.navlinks ul{display:flex;gap:30px;align-items:center;list-style:none;margin:0;padding:0}
.navlinks a{color:var(--text);transition:color .2s}
.navlinks a:hover{color:var(--green)}
.nav-cta{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:#fff;padding:11px 20px;border-radius:999px;font-weight:600;font-size:.92rem;transition:transform .2s,background .2s}
.nav-cta:hover{background:var(--green);transform:translateY(-1px)}
.burger{display:none;background:none;border:none;cursor:pointer}
@media(max-width:860px){
  .navlinks{display:none;position:absolute;top:74px;left:0;right:0;background:var(--cream);flex-direction:column;padding:18px 24px;gap:14px;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
  .navlinks.open{display:flex}
  .navlinks ul{flex-direction:column;gap:14px;align-items:flex-start}
  .burger{display:block}
}

.hero{padding:64px 0 80px;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;top:-160px;right:-180px;width:540px;height:540px;background:radial-gradient(circle,rgba(29,122,95,.16),transparent 65%);border-radius:50%}
.hero::after{content:"";position:absolute;bottom:-120px;left:-120px;width:380px;height:380px;background:radial-gradient(circle,rgba(255,111,77,.14),transparent 65%);border-radius:50%}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center;position:relative;z-index:2}
.pill{display:inline-flex;align-items:center;gap:8px;background:var(--green-soft);color:var(--green-deep);padding:7px 14px;border-radius:999px;font-weight:600;font-size:.82rem;margin-bottom:22px}
.pill .dot{width:8px;height:8px;border-radius:50%;background:var(--coral);animation:pulse 1.8s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,111,77,.5)}50%{box-shadow:0 0 0 7px rgba(255,111,77,0)}}
h1{font-family:var(--display);font-weight:600;font-size:clamp(2.6rem,5.2vw,4.1rem);line-height:1.02;letter-spacing:-.03em;color:var(--ink)}
h1 em{font-style:italic;color:var(--green)}
.hero p.sub{font-size:1.18rem;color:var(--muted);margin:22px 0 30px;max-width:480px}
.hero-trust{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:34px}
.stars{color:var(--amber);font-size:1.05rem;letter-spacing:2px}
.hero-trust .t-item{font-size:.9rem;color:var(--muted)}
.hero-trust .t-item b{color:var(--ink);font-weight:700}
.reveal{opacity:0;transform:translateY(18px);animation:rise .8s forwards}
@keyframes rise{to{opacity:1;transform:none}}
.d1{animation-delay:.05s}.d2{animation-delay:.18s}.d3{animation-delay:.3s}.d4{animation-delay:.42s}

.quote{background:var(--white);border-radius:26px;box-shadow:var(--shadow);padding:30px;position:relative;border:1px solid var(--line)}
.quote-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.quote-top h3{font-family:var(--display);font-size:1.32rem;color:var(--ink);font-weight:600}
.secs{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:700;color:var(--green);background:var(--green-soft);padding:5px 11px;border-radius:999px}
.qsub{font-size:.9rem;color:var(--muted);margin-bottom:18px}
.progress{height:6px;background:var(--sand);border-radius:99px;overflow:hidden;margin-bottom:24px}
.progress span{display:block;height:100%;width:33%;background:linear-gradient(90deg,var(--green),var(--coral));border-radius:99px;transition:width .45s cubic-bezier(.4,0,.2,1)}
.step{display:none;animation:fade .4s}
.step.active{display:block}
@keyframes fade{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
.qlabel{font-weight:700;color:var(--ink);font-size:1.05rem;margin-bottom:4px}
.qhint{font-size:.85rem;color:var(--muted);margin-bottom:16px}
.prod-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.prod{display:flex;align-items:center;gap:12px;padding:16px;border:1.5px solid var(--line);border-radius:14px;cursor:pointer;transition:all .2s;background:var(--cream)}
.prod:hover{border-color:var(--green);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.prod .ico{width:40px;height:40px;border-radius:11px;background:var(--green-soft);display:grid;place-items:center;font-size:1.3rem;flex-shrink:0}
.prod b{display:block;color:var(--ink);font-size:.98rem}
.prod span{font-size:.78rem;color:var(--muted)}
.prod.bundle{grid-column:1/-1;background:linear-gradient(100deg,var(--ink),var(--green-deep));border-color:transparent}
.prod.bundle b,.prod.bundle span{color:#fff}
.prod.bundle .ico{background:rgba(255,255,255,.15)}
.prod.bundle .save{margin-left:auto;background:var(--amber);color:var(--ink);font-weight:800;font-size:.72rem;padding:4px 9px;border-radius:999px}
.field{margin-bottom:14px}
.field label{display:block;font-weight:600;font-size:.88rem;color:var(--ink);margin-bottom:6px}
.field input,.field select{width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:12px;font-family:var(--body);font-size:1rem;background:var(--cream);transition:border .2s}
.field input:focus,.field select:focus{outline:none;border-color:var(--green);background:#fff}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.consent{display:flex;gap:10px;align-items:flex-start;margin:6px 0 18px;font-size:.74rem;color:var(--muted);line-height:1.45}
.consent input{margin-top:3px;width:16px;height:16px;flex-shrink:0;accent-color:var(--green)}
.btn{width:100%;border:none;cursor:pointer;font-family:var(--body);font-weight:700;font-size:1.02rem;padding:15px;border-radius:13px;background:var(--coral);color:#fff;transition:all .2s;box-shadow:0 10px 24px -10px rgba(232,90,57,.7)}
.btn:hover{background:var(--coral-deep);transform:translateY(-2px)}
.btn.ghost{background:transparent;color:var(--muted);box-shadow:none;font-weight:600;padding:10px;font-size:.9rem}
.btn.ghost:hover{color:var(--ink);transform:none}
.row-btn{display:flex;gap:10px;align-items:center}
.row-btn .btn{flex:1}
.row-btn .btn.ghost{flex:0 0 auto;width:auto;padding:10px 14px}
.success{text-align:center;padding:10px 4px}
.success .check{width:72px;height:72px;border-radius:50%;background:var(--green-soft);display:grid;place-items:center;margin:6px auto 18px;animation:pop .5s}
@keyframes pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.1)}100%{transform:scale(1);opacity:1}}
.success .check svg{width:36px;height:36px;stroke:var(--green)}
.success h4{font-family:var(--display);font-size:1.5rem;color:var(--ink);margin-bottom:8px}
.success p{color:var(--muted);margin-bottom:18px}
.success .speed{background:var(--green-soft);color:var(--green-deep);font-weight:600;font-size:.85rem;padding:11px;border-radius:12px;margin-bottom:16px}

.strip{background:var(--ink);color:#dfeae5;padding:26px 0}
.strip-in{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.strip .lbl{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;opacity:.65;font-weight:600}
.carriers{display:flex;gap:28px;flex-wrap:wrap;align-items:center;font-family:var(--display);font-weight:600;font-size:1.05rem;opacity:.95}

.sec{padding:90px 0}
.eyebrow{display:inline-block;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:var(--coral);margin-bottom:14px}
.sec h2{font-family:var(--display);font-weight:600;font-size:clamp(2rem,4vw,2.9rem);line-height:1.08;letter-spacing:-.02em;color:var(--ink);max-width:680px}
.sec .lede{font-size:1.1rem;color:var(--muted);max-width:560px;margin-top:16px}
.center{text-align:center}
.center h2,.center .lede{margin-left:auto;margin-right:auto}

.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:54px}
.stp{background:var(--white);border-radius:var(--r);padding:30px;border:1px solid var(--line);position:relative;transition:transform .25s,box-shadow .25s}
.stp:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.stp .num{font-family:var(--display);font-size:2.4rem;font-weight:700;color:var(--green-soft);line-height:1;position:absolute;top:22px;right:26px}
.stp .si{width:50px;height:50px;border-radius:14px;background:var(--green);display:grid;place-items:center;font-size:1.5rem;margin-bottom:18px;box-shadow:var(--shadow-sm)}
.stp h3{font-family:var(--display);font-size:1.3rem;color:var(--ink);margin-bottom:8px}
.stp p{color:var(--muted);font-size:.96rem}

.prods{background:var(--white)}
.pcards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:50px}
.pc{border:1px solid var(--line);border-radius:var(--r);padding:30px;background:var(--cream);transition:all .25s;cursor:pointer}
.pc:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--green)}
.pc .pico{font-size:2rem;margin-bottom:16px}
.pc h3{font-family:var(--display);font-size:1.4rem;color:var(--ink);margin-bottom:8px}
.pc p{color:var(--muted);font-size:.95rem;margin-bottom:16px}
.pc ul{list-style:none;font-size:.9rem}
.pc li{padding:6px 0;color:var(--text);display:flex;gap:9px;align-items:center}
.pc li::before{content:"\2713";color:var(--green);font-weight:800}
.pc .go{margin-top:18px;font-weight:700;color:var(--green);font-size:.92rem;display:inline-flex;gap:6px;align-items:center}
.pc.feat{background:linear-gradient(155deg,var(--ink),var(--green-deep));border:none}
.pc.feat h3,.pc.feat .pico{color:#fff}
.pc.feat p{color:#c9dcd4}
.pc.feat li{color:#eaf2ef}
.pc.feat li::before{color:var(--amber)}
.pc.feat .go{color:var(--amber)}
.pc.feat .tag{display:inline-block;background:var(--amber);color:var(--ink);font-weight:800;font-size:.72rem;padding:4px 10px;border-radius:999px;margin-bottom:14px}

.why{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.why-list{margin-top:30px;display:grid;gap:20px}
.wl{display:flex;gap:16px}
.wl .wi{width:46px;height:46px;border-radius:13px;background:var(--green-soft);display:grid;place-items:center;font-size:1.3rem;flex-shrink:0}
.wl h4{font-family:var(--display);font-size:1.18rem;color:var(--ink);margin-bottom:3px}
.wl p{color:var(--muted);font-size:.94rem}
.why-visual{background:linear-gradient(160deg,var(--green),var(--green-deep));border-radius:28px;padding:42px;color:#fff;position:relative;overflow:hidden}
.why-visual::after{content:"";position:absolute;bottom:-80px;right:-60px;width:260px;height:260px;background:radial-gradient(circle,rgba(255,194,75,.35),transparent 70%)}
.why-visual .big{font-family:var(--display);font-size:3.6rem;font-weight:700;line-height:1}
.why-visual .bl{font-size:1rem;opacity:.9;margin:6px 0 28px}
.why-visual .mini{display:grid;grid-template-columns:1fr 1fr;gap:18px;position:relative;z-index:2}
.why-visual .mini div b{font-family:var(--display);font-size:1.7rem;display:block}
.why-visual .mini div span{font-size:.85rem;opacity:.85}

.social{background:var(--ink);color:#fff;overflow:hidden}
.social .eyebrow{color:var(--amber)}
.social h2{color:#fff}
.social .lede{color:#bcd0c8}
.handles{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.handle{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);padding:10px 16px;border-radius:999px;font-weight:600;font-size:.92rem;transition:all .2s}
.handle:hover{background:var(--coral);border-color:var(--coral);transform:translateY(-2px)}
.feed{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:46px}
.post{aspect-ratio:4/5;border-radius:16px;overflow:hidden;position:relative;cursor:pointer;background:var(--green-deep);transition:transform .25s}
.post:hover{transform:scale(1.03)}
.post:hover .ov{opacity:1}
.post .bg{position:absolute;inset:0;display:grid;place-items:center;font-size:2.6rem}
.post.p1{background:linear-gradient(145deg,#1d7a5f,#0f5141)}
.post.p2{background:linear-gradient(145deg,#ff6f4d,#e85a39)}
.post.p3{background:linear-gradient(145deg,#ffc24b,#e89c1a)}
.post.p4{background:linear-gradient(145deg,#2a4f45,#13241f)}
.post .ov{position:absolute;inset:0;background:rgba(15,36,31,.78);opacity:0;transition:opacity .25s;display:flex;flex-direction:column;justify-content:flex-end;padding:16px;font-size:.82rem}
.post .ov .likes{display:flex;gap:14px;margin-top:8px;font-weight:700;font-size:.8rem;opacity:.95}
.post .tt{position:absolute;top:12px;right:12px;background:rgba(0,0,0,.4);border-radius:8px;padding:3px 8px;font-size:.7rem;font-weight:700}

.revs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:50px}
.rev{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:28px}
.rev .stars{margin-bottom:14px}
.rev p{font-size:1rem;color:var(--text);margin-bottom:18px}
.rev .who{display:flex;align-items:center;gap:12px}
.rev .av{width:42px;height:42px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:700;font-family:var(--display)}
.rev .who b{display:block;font-size:.92rem;color:var(--ink)}
.rev .who span{font-size:.8rem;color:var(--muted)}

.faq{max-width:760px;margin:50px auto 0}
.qa{border-bottom:1px solid var(--line)}
.qa summary{cursor:pointer;list-style:none;padding:22px 0;font-family:var(--display);font-size:1.18rem;color:var(--ink);font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:16px}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";font-size:1.6rem;color:var(--green);transition:transform .25s;line-height:1}
.qa[open] summary::after{transform:rotate(45deg)}
.qa p{padding:0 0 22px;color:var(--muted);font-size:.98rem;max-width:660px}

.band{background:linear-gradient(120deg,var(--coral),var(--coral-deep));color:#fff;border-radius:32px;padding:60px;text-align:center;position:relative;overflow:hidden;margin:0 24px}
.band::before{content:"";position:absolute;top:-100px;left:-60px;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%);border-radius:50%}
.band h2{font-family:var(--display);font-size:clamp(2rem,4vw,2.8rem);color:#fff;font-weight:600;position:relative}
.band p{font-size:1.1rem;opacity:.95;margin:14px auto 28px;max-width:480px;position:relative}
.band .btn{display:inline-block;width:auto;padding:16px 38px;background:var(--ink);box-shadow:0 14px 30px -12px rgba(0,0,0,.5);position:relative}
.band .btn:hover{background:var(--green-deep)}

footer.site{background:var(--ink);color:#aebfb8;padding:64px 0 30px;margin-top:90px}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:46px}
footer.site .logo{color:#fff;margin-bottom:14px}
footer.site .fp{font-size:.9rem;max-width:260px;color:#9fb1a9}
.fsoc{display:flex;gap:10px;margin-top:18px}
.fsoc a{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.08);display:grid;place-items:center;transition:background .2s}
.fsoc a:hover{background:var(--coral)}
.fsoc svg{width:18px;height:18px;fill:#fff}
footer.site h5{color:#fff;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px;font-weight:700}
footer.site ul{list-style:none;display:grid;gap:10px;font-size:.92rem}
footer.site ul a:hover{color:#fff}
.fbot{border-top:1px solid rgba(255,255,255,.1);padding-top:24px;font-size:.78rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px}
.fbot .disc{max-width:780px;color:#7f928b;line-height:1.6}

/* Generic WP page/post content */
.page-hero{padding:70px 0 10px}
.page-hero h1{font-size:clamp(2.2rem,4vw,3.2rem)}
.page-content{max-width:760px;margin:0 auto;padding:30px 24px 80px;font-size:1.08rem;color:var(--text)}
.page-content h2{font-family:var(--display);color:var(--ink);margin:32px 0 12px;font-size:1.7rem}
.page-content h3{font-family:var(--display);color:var(--ink);margin:24px 0 10px;font-size:1.3rem}
.page-content p{margin-bottom:18px}
.page-content a{color:var(--green);text-decoration:underline}
.page-content ul,.page-content ol{margin:0 0 18px 22px}
.page-content img{border-radius:14px;margin:18px 0}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1180px;margin:40px auto 80px;padding:0 24px}
.pcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:transform .2s,box-shadow .2s}
.pcard:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.pcard .pcbody{padding:24px}
.pcard h2{font-family:var(--display);font-size:1.3rem;color:var(--ink);margin-bottom:8px}
.pcard p{color:var(--muted);font-size:.95rem}

@media(max-width:920px){
  .hero-grid,.why{grid-template-columns:1fr;gap:42px}
  .steps3,.pcards,.revs,.posts{grid-template-columns:1fr}
  .feed{grid-template-columns:1fr 1fr}
  .fgrid{grid-template-columns:1fr 1fr}
  .band{padding:42px 26px;margin:0 16px}
}
@media(max-width:520px){
  .prod-grid,.two{grid-template-columns:1fr}
  .feed,.fgrid{grid-template-columns:1fr}
  .quote{padding:22px}
  .sec{padding:64px 0}
}
