/* Concept C — Sunrise: the road to recovery as a sunrise. Bright amber, coral and sky on warm cream; rounded and friendly. */
:root{
  --bg:#fff8ef; --bg-alt:#ffefdc; --card:#fff;
  --ink:#2b1d3a; --body:#33283f; --muted:#655a70;
  --accent:#e2513a; --accent-2:#ffb21e; --sky:#2f8be0; --on-accent:#fff;
  --line:#f6dfc6; --line-strong:#e8c49f; --shadow:rgba(226,81,58,.45);
  --font-d:"Bricolage Grotesque",system-ui,sans-serif; --font-b:"Nunito Sans",system-ui,sans-serif; --dw:700;
  --radius:28px; --head-h:84px; --head-bg:rgba(255,248,239,.9); --menu-bg:#fff8ef;
  --nav-hover:rgba(226,81,58,.1); --tag-bg:#e2efff; --tag:#1a5fa6; --tag2-bg:#ffe7b8; --tag2:#7a4700;
  --fee-bg:linear-gradient(150deg,#2b1d3a,#4a2549); --fee-eyebrow:#ffb21e; --foot-bg:#2b1d3a; --focus:rgba(226,81,58,.25);
  --cta-eyebrow:#fff3c4;
}
h1,h2{letter-spacing:-.03em}
.site-head{backdrop-filter:blur(12px)}
.brand-mark{width:38px;height:auto}
.brand-word{display:flex;flex-direction:column;line-height:1;color:var(--ink)}
.brand-word b{font:800 1.45rem/1 var(--font-d);letter-spacing:-.02em}
.brand-word b::first-letter{color:inherit}
.brand-word small{font:700 .64rem/1 var(--font-b);letter-spacing:.3em;text-transform:uppercase;margin-top:5px;color:var(--accent)}
.site-foot .brand-word{color:#fff}.site-foot .brand-word small{color:var(--accent-2)}
.btn{background:linear-gradient(135deg,#ff7a45,#e2513a);box-shadow:0 10px 24px -12px rgba(226,81,58,.8)}
.btn-soft{background:#fff;color:var(--ink);border-color:var(--line-strong);box-shadow:none}
.eyebrow{color:var(--accent)}

/* Home hero: dawn sky */
.hero{position:relative;overflow:hidden;padding:clamp(48px,7vw,96px) 0 clamp(70px,9vw,120px)}
.sky{position:absolute;inset:0;background:linear-gradient(180deg,#bfe1ff 0%,#ffe1c2 46%,#ffd29a 72%,#fff8ef 100%)}
.sun{position:absolute;left:58%;top:62%;width:clamp(260px,34vw,520px);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,#fff6c8 0%,#ffd45a 40%,rgba(255,170,60,.0) 70%);animation:rise 3.5s cubic-bezier(.2,.7,.2,1) both,pulse 7s 3.5s ease-in-out infinite}
@keyframes rise{from{top:95%;opacity:.3}to{top:62%;opacity:1}}
@keyframes pulse{50%{transform:translate(-50%,-50%) scale(1.06)}}
.ray{position:absolute;left:58%;top:62%;width:140vmax;height:140vmax;transform:translate(-50%,-50%);background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.28) 0 4deg,transparent 4deg 18deg);-webkit-mask:radial-gradient(circle,#000 0,transparent 55%);mask:radial-gradient(circle,#000 0,transparent 55%);animation:turn 120s linear infinite}
.r2,.r3{display:none}
@keyframes turn{to{transform:translate(-50%,-50%) rotate(360deg)}}
.hero-in{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,70px);align-items:center}
.hero h1{font-size:clamp(3.2rem,7.6vw,6.4rem);line-height:.98;font-weight:800}
.glow{background:linear-gradient(100deg,#e2513a 10%,#ff8a2a 55%,#f0a500 90%);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.05em}
.hero .lede{font-size:clamp(1.15rem,1.7vw,1.4rem);color:var(--ink);font-weight:600;max-width:540px}
.window{position:relative;margin:0;aspect-ratio:1;border-radius:50%;padding:12px;background:conic-gradient(from 200deg,#ffb21e,#ff7a45,#f25c7a,#ffb21e);box-shadow:0 0 0 14px rgba(255,255,255,.55),0 0 90px 20px rgba(255,190,70,.55),0 40px 70px -30px rgba(120,50,20,.5)}
.window img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:60% center;border:8px solid #fff}

/* services */
.motto-sec{background:var(--bg)}
.services{gap:28px}
.service{border:0;box-shadow:0 20px 40px -30px rgba(120,50,20,.5)}
.service:nth-child(1) .ic{background:#e2513a}
.service:nth-child(2) .ic{background:#2f8be0}
.service:nth-child(3) .ic{background:#f0a500}
.service .ic{-webkit-mask:none;mask:none;border-radius:22px;display:grid;place-items:center;border:5px solid #fff;transform:rotate(-6deg)}
.service .ic::before{inset:14px;background:#fff;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.service .more{color:var(--accent)}

/* the winding path */
.path-sec{background:linear-gradient(180deg,#fff8ef,#ffeeda)}
.path{position:relative;max-width:980px;margin:0 auto 40px}
.path-line{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible}
.path-line path{fill:none;stroke:#ff9a3d;stroke-width:6;stroke-linecap:round}
.psteps{list-style:none;margin:0;padding:0;position:relative;display:grid;gap:clamp(36px,6vw,70px)}
.pstep{display:flex;align-items:center;gap:22px;width:56%}
.pstep:nth-child(odd){margin-right:auto;flex-direction:row-reverse;text-align:right}
.pstep:nth-child(even){margin-left:auto}
.pdot{flex:none;display:grid;place-items:center;width:74px;height:74px;border-radius:50%;background:linear-gradient(135deg,#ffb21e,#e2513a);color:#fff;font:800 2rem/1 var(--font-d);border:6px solid #fff;box-shadow:0 14px 30px -14px rgba(226,81,58,.8)}
.pcard{background:#fff;border-radius:24px;padding:24px 28px;box-shadow:0 22px 40px -30px rgba(120,50,20,.55)}
.pcard h3{font-size:1.45rem}
.pcard p:last-child{margin:0;font-size:1rem}
.rule{margin:0 auto 34px;text-align:center;font-size:1.25rem;font-family:var(--font-d);font-weight:600;color:var(--ink);max-width:820px}
.rule span{display:block;font:800 .8rem/1 var(--font-b);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}

/* testimonials on warm gradient */
.warm-sec{background:linear-gradient(135deg,#ff7a45 0%,#f25c7a 55%,#8a4fd1 120%);color:#fff}
.warm-sec h2,.warm-sec .eyebrow{color:#fff}
.warm-sec .slide blockquote{color:#fff;font-weight:600}
.warm-sec .slide figcaption strong{color:#fff3c4}
.warm-sec .slide figcaption span{color:rgba(255,255,255,.9)}
.warm-sec .dots button{background:rgba(255,255,255,.45)}
.warm-sec .dots button.on{background:#fff}
.warm-sec .prev,.warm-sec .next{background:rgba(255,255,255,.18)!important;border-color:rgba(255,255,255,.5)!important;color:#fff}
.slide blockquote{font-family:var(--font-d)}

/* meet Kevin */
.meet{display:grid;grid-template-columns:260px 1fr;gap:clamp(30px,6vw,80px);align-items:center;margin-bottom:64px}
.ring{margin:0;width:240px;aspect-ratio:1;border-radius:50%;padding:8px;background:conic-gradient(#ffb21e,#e2513a,#f25c7a,#2f8be0,#ffb21e)}
.ring img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:top;border:6px solid #fff;background:#fff}
.facts{gap:18px}
.fact{border:0;background:#fff;border-radius:24px;padding:24px;box-shadow:0 20px 40px -32px rgba(120,50,20,.5)}
.fact dt{margin-top:0;background:linear-gradient(100deg,#e2513a,#f0a500);-webkit-background-clip:text;background-clip:text;color:transparent}

/* inner page hero */
.phero{overflow:hidden;padding:clamp(40px,6vw,72px) 0 clamp(50px,6vw,84px);background:linear-gradient(180deg,#cfe8ff 0%,#ffe4c8 60%,#fff8ef 100%)}
.phero::before{content:"";position:absolute;right:8%;bottom:-180px;width:460px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff3b0,rgba(255,190,80,0) 68%)}
.phero-bg{display:none}
.phero-in{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(28px,5vw,64px);align-items:center}
.phero h1{font-weight:800;font-size:clamp(2.5rem,5.6vw,4.4rem)}
.phero .lede{color:var(--ink);font-weight:600}
.phero-fig{margin:0;aspect-ratio:1;border-radius:50%;padding:9px;background:conic-gradient(from 200deg,#ffb21e,#ff7a45,#f25c7a,#ffb21e);box-shadow:0 0 0 10px rgba(255,255,255,.55),0 0 70px 14px rgba(255,190,70,.5)}
.phero-fig img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:6px solid #fff}

.card,.step,.tq,.partner,.cform,.cline,.post-card,.topic{border:0;box-shadow:0 18px 40px -32px rgba(120,50,20,.55)}
.cards .card:nth-child(4n+1) .ic{background:#e2513a}
.cards .card:nth-child(4n+2) .ic{background:#2f8be0}
.cards .card:nth-child(4n+3) .ic{background:#f0a500}
.cards .card:nth-child(4n+4) .ic{background:#f25c7a}
.step-num span{background:linear-gradient(135deg,#ffb21e,#e2513a);font-weight:800}
.subs div{background:#fff8ef}
.hope-band{background:linear-gradient(120deg,#ffb21e,#ff7a45 45%,#f25c7a)}
.hope-band p{font-weight:800;text-shadow:0 2px 20px rgba(140,40,20,.25)}
.fee-card{background:linear-gradient(150deg,#2b1d3a,#4a2549)}
.chk{background:linear-gradient(135deg,#ffb21e,#e2513a)}
.tq:nth-child(3n+1){background:#fff}
.tq:nth-child(3n+2){background:#fff4e2}
.tq:nth-child(3n){background:#eef6ff}
.tq-title{font-weight:700}
.pull{border-left:0;background:linear-gradient(135deg,#fff1dc,#ffe3e3)}
.pull p{font-weight:600}
.cline .ico{background:linear-gradient(135deg,#ffb21e,#e2513a)}
.topic summary{font-weight:700}
.cta-band{background:linear-gradient(180deg,rgba(43,29,58,.25),rgba(43,29,58,.7)),url(/assets/img/clouds.jpg) center/cover}
.cta-band h2{font-weight:800;font-size:clamp(2.6rem,6vw,4.4rem)}
.cta-band .btn-light{background:#fff;color:var(--ink);box-shadow:none}
.logo-track img{filter:none}

@media (max-width:980px){
  .hero-in,.phero-in{grid-template-columns:1fr}
  .window{max-width:400px;margin-inline:auto;width:100%}
  .phero-fig{max-width:320px}
  .sun{left:50%;top:70%}
  .pstep,.pstep:nth-child(odd){width:auto;flex-direction:row;text-align:left;margin:0}
  .path-line{display:none}
  .meet{grid-template-columns:1fr}
  .ring{width:180px}
}
@media (max-width:640px){
  .pdot{width:58px;height:58px;font-size:1.6rem}
  .pstep{align-items:flex-start}
  .phero-fig{display:none}
}
