:root{
  --orange:#F4A259;
  --orange-dark:#E08A3C;
  --orange-deep:#C97A34;
  --orange-light:#FBEFD5;
  --accent:#F7C436;
  --danger:#EC221F;
  --white:#FFFFFF;
  --black:#000000;
  --gray-bg:#F4F4F4;
  --gray-dark:#374151;
  --charcoal:#33281F;
  --gray-mid:#757575;
  --border:#E7E1D3;
  --wordmark:#4A4A4A;
  --ink:#20160F;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  color:var(--gray-dark);
  background:var(--white);
  line-height:1.5;
}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1160px;margin:0 auto;padding:0 32px;}
.eyebrow{
  font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--orange-dark);margin-bottom:16px;display:inline-block;
}
.eyebrow.on-dark{color:var(--accent);}
.eyebrow.on-orange{color:var(--ink);opacity:.75;}
h1,h2,h3{font-weight:800;letter-spacing:-0.02em;color:var(--ink);}
.italic-sub{font-style:italic;font-weight:500;color:var(--gray-mid);}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:15px 28px;border-radius:10px;font-weight:700;font-size:15px;
  border:2px solid transparent;cursor:pointer;transition:transform .15s ease, opacity .15s ease;
}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--orange);color:var(--white);}
.btn-primary:hover{background:var(--orange-dark);box-shadow:0 10px 24px rgba(224,138,60,.35);}
.btn-cream{background:var(--orange-light);color:var(--ink);}
.btn-cream:hover{background:var(--white);box-shadow:0 10px 24px rgba(32,22,15,.18);}
.btn-outline{background:transparent;border-color:var(--orange);color:var(--orange-dark);}
.btn-outline:hover{background:var(--orange);color:var(--white);}
.btn-outline-cream{background:transparent;border-color:rgba(255,255,255,.75);color:var(--white);}
.btn-outline-cream:hover{background:rgba(255,255,255,.15);}

/* header */
header{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--border);
}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:96px;}
.logo-lockup{display:flex;align-items:center;gap:10px;height:44px;}
.logo-lockup svg{height:42px;width:auto;}
nav{display:flex;align-items:center;gap:40px;}
nav .links{display:flex;gap:34px;}
nav .links a{font-weight:600;font-size:15px;color:var(--gray-dark);position:relative;padding:4px 0;}
nav .links a:hover{color:var(--orange-dark);}
nav .links a.active{color:var(--ink);}
nav .links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--orange);}

/* big home hero */
.hero{
  position:relative;overflow:hidden;
  background:linear-gradient(170deg,#EA9548 0%, #F4A259 45%, #F7B36E 100%);
  padding:96px 0 120px;
}
.hero::before, .hero::after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.10);}
.hero::before{width:520px;height:520px;left:-180px;bottom:-260px;}
.hero::after{width:320px;height:320px;left:120px;bottom:-220px;background:rgba(255,255,255,.08);}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.hero h1{font-size:50px;line-height:1.08;color:var(--white);max-width:560px;}
.hero .sub{margin-top:22px;font-size:18px;max-width:480px;color:#FFF3DE;font-style:italic;font-weight:500;}
.hero .props{list-style:none;margin:28px 0 36px;padding:0;}
.hero .props li{display:flex;align-items:center;gap:10px;font-style:italic;font-weight:500;color:#FFEFD0;font-size:15px;margin-bottom:10px;}
.hero .props li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--white);flex:none;}
.hero .cta-row{display:flex;gap:14px;flex-wrap:wrap;}
.hero-visual{position:relative;display:flex;align-items:center;justify-content:center;}
.hero-visual::before{content:"";position:absolute;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 70%);}
.button-render{position:relative;width:440px;height:auto;filter:drop-shadow(0 26px 34px rgba(32,22,15,.38)) drop-shadow(0 6px 12px rgba(32,22,15,.22));}

/* reusable breathing light glow, overlaid on the render's light aperture */
.render-glow-wrap{position:relative;display:inline-block;line-height:0;}
.render-glow-wrap img{display:block;}
.render-glow{
  position:absolute;left:31%;top:22%;width:34%;height:24%;
  border-radius:50%;pointer-events:none;filter:blur(9px);
  mix-blend-mode:screen;animation:breathe 3.4s ease-in-out infinite;
}
.render-glow.glow-orange{background:radial-gradient(circle, rgba(244,162,89,1) 0%, rgba(244,162,89,0) 72%);}
.render-glow.glow-green{background:radial-gradient(circle, rgba(61,190,92,1) 0%, rgba(61,190,92,0) 72%);}
@keyframes breathe{0%,100%{opacity:.4;transform:scale(.88);}50%{opacity:1;transform:scale(1.18);}}

/* smaller interior page hero */
.page-hero{
  position:relative;overflow:hidden;
  background:linear-gradient(170deg,#EA9548 0%, #F4A259 45%, #F7B36E 100%);
  padding:76px 0 88px;
}
.page-hero::before{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.10);width:420px;height:420px;left:-160px;bottom:-240px;}
.page-hero .wrap{position:relative;}
.page-hero h1{font-size:42px;color:var(--white);max-width:640px;}
.page-hero p{margin-top:18px;font-size:17px;max-width:560px;color:#FFF3DE;font-style:italic;font-weight:500;}
.eyebrow.on-hero{color:#FFE8C2;}

/* stats band */
.stats{background:var(--gray-bg);border-bottom:1px solid var(--border);}
.stats .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:44px 32px;}
.stat{text-align:center;}
.stat .num{font-size:30px;font-weight:800;color:var(--ink);}
.stat .label{font-size:14px;color:var(--gray-mid);margin-top:6px;font-weight:600;}

/* section generic */
section{padding:96px 0;}
.section-head{max-width:640px;margin-bottom:56px;}
.section-head h2{font-size:36px;line-height:1.2;}
.section-head p{margin-top:14px;font-size:17px;color:var(--gray-mid);}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}

/* problem / fix */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.compare .card{padding:32px;border-radius:16px;}
.compare .problem{background:var(--gray-bg);border:1px solid var(--border);}
.compare .fix{background:var(--orange);color:var(--white);}
.compare h3{font-size:20px;margin-bottom:14px;}
.compare .fix h3{color:var(--white);}
.compare ul{list-style:none;}
.compare li{position:relative;padding-left:22px;margin-bottom:12px;font-size:15px;color:var(--gray-dark);}
.compare .fix li{color:var(--white);}
.compare li::before{content:"—";position:absolute;left:0;color:var(--gray-mid);}
.compare .fix li::before{content:"✓";color:var(--white);font-weight:700;}

/* color variant showcase */
.color-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;max-width:620px;margin:0 auto;}
.color-card{background:var(--gray-bg);border:1px solid var(--border);border-radius:20px;padding:36px 24px 28px;text-align:center;transition:transform .3s ease, box-shadow .3s ease;}
.color-card:hover{transform:translateY(-6px);box-shadow:0 16px 32px rgba(32,22,15,.08);}
.color-card img{width:170px;height:auto;margin:0 auto 20px;filter:drop-shadow(0 16px 20px rgba(32,22,15,.2));}
.color-card .label{font-weight:700;color:var(--ink);font-size:14px;}
.color-card .swatch{width:12px;height:12px;border-radius:50%;display:inline-block;margin-right:8px;vertical-align:middle;}

/* feature cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.card{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:32px;}
.icon-circle{width:52px;height:52px;border-radius:50%;background:var(--orange);display:flex;align-items:center;justify-content:center;margin-bottom:22px;}
.icon-circle svg{width:24px;height:24px;stroke:var(--white);}
.card h3{font-size:19px;margin-bottom:10px;color:var(--ink);}
.card p{font-size:15px;color:var(--gray-mid);}

/* segments - dark */
.segments{background:var(--charcoal);color:var(--white);}
.segments .section-head h2{color:var(--white);}
.segments .section-head p{color:#D8CBBB;}
.seg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.seg-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:30px;}
.seg-card .icon-circle{background:var(--orange);}
.seg-card h3{color:var(--white);font-size:18px;margin-bottom:8px;}
.seg-card p{color:#C9BBA9;font-size:14px;}

/* light teaser / two-col */
.split-section{background:var(--orange-light);}
.split-section .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.split-section h2{font-size:32px;margin-bottom:16px;}
.split-section p{font-size:16px;color:var(--gray-dark);margin-bottom:14px;}
.milestone-list{list-style:none;margin-top:22px;}
.milestone-list li{display:flex;gap:12px;font-size:15px;margin-bottom:14px;color:var(--gray-dark);}
.milestone-list li b{color:var(--ink);}
.dot{width:8px;height:8px;border-radius:50%;background:var(--orange-dark);margin-top:7px;flex:none;}

/* team */
.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;}
.team-card{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:32px;}
.team-card .avatar{width:56px;height:56px;border-radius:50%;background:var(--orange);color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;margin-bottom:18px;}
.team-card h3{font-size:19px;margin-bottom:4px;}
.team-card .role{color:var(--orange-dark);font-weight:700;font-size:13px;letter-spacing:.03em;text-transform:uppercase;margin-bottom:12px;}
.team-card p{font-size:15px;color:var(--gray-mid);}

/* closing CTA */
.closing{
  position:relative;overflow:hidden;
  background:var(--orange-light);
  padding:100px 0;text-align:center;color:var(--ink);
}
.closing::before{content:"";position:absolute;border-radius:50%;background:rgba(244,162,89,.18);width:460px;height:460px;left:-160px;bottom:-260px;}
.closing .wrap{position:relative;}
.closing h2{color:var(--ink);font-size:38px;margin-bottom:16px;}
.closing p{font-style:italic;font-weight:500;color:var(--gray-dark);font-size:17px;max-width:520px;margin:0 auto 34px;}
.closing .cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:28px;}
.closing .contact-line{font-size:15px;color:var(--gray-dark);font-weight:600;}

/* contact page specifics */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.contact-card{background:var(--gray-bg);border:1px solid var(--border);border-radius:16px;padding:20px 24px;display:flex;align-items:center;gap:16px;margin-bottom:16px;}
.contact-card .icon-circle{margin-bottom:0;flex:none;}
.contact-card .lbl{font-size:13px;color:var(--gray-mid);font-weight:600;}
.contact-card .val{font-size:16px;font-weight:700;color:var(--ink);}
.form{display:flex;flex-direction:column;gap:16px;}
.form label{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:6px;display:block;}
.form input,.form textarea{
  width:100%;padding:13px 14px;border-radius:10px;border:1px solid var(--border);
  background:var(--gray-bg);font-family:inherit;font-size:15px;color:var(--ink);
}
.form textarea{min-height:120px;resize:vertical;}
.form input:focus,.form textarea:focus{outline:2px solid var(--orange);background:var(--white);}
.form-note{font-size:13px;color:var(--gray-mid);margin-top:4px;}

/* footer — brand orange */
footer{background:var(--orange);color:var(--white);padding:64px 0 28px;}
footer .top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.25);}
footer .brand-col svg{height:38px;width:auto;margin-bottom:16px;}
footer .brand-col p{font-size:14px;max-width:280px;color:rgba(255,255,255,.85);}
footer h4{color:var(--orange-light);opacity:1;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:18px;}
footer .links a{display:block;font-size:14px;margin-bottom:10px;color:var(--white);}
footer .links a:hover{opacity:.75;}
footer .bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;font-size:13px;color:rgba(255,255,255,.8);flex-wrap:wrap;gap:10px;}
footer .bottom .tag{color:var(--white);letter-spacing:.05em;font-weight:700;}

/* legal page */
.legal-nav{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:8px;}
.legal-nav a{
  padding:10px 18px;border-radius:999px;border:1px solid var(--border);
  font-size:14px;font-weight:600;color:var(--gray-dark);background:var(--gray-bg);
}
.legal-nav a:hover{border-color:var(--orange);color:var(--orange-dark);}
.legal-block{max-width:760px;margin:0 auto 72px;scroll-margin-top:110px;}
.legal-block h2{font-size:28px;margin-bottom:8px;}
.legal-block .updated{font-size:13px;color:var(--gray-mid);margin-bottom:24px;display:block;}
.legal-block h3{font-size:17px;margin:26px 0 10px;color:var(--ink);}
.legal-block p{font-size:15px;color:var(--gray-dark);margin-bottom:14px;line-height:1.7;}
.legal-block ul{margin:0 0 14px 20px;}
.legal-block li{font-size:15px;color:var(--gray-dark);margin-bottom:8px;line-height:1.6;}
.legal-note{
  background:var(--gray-bg);border:1px solid var(--border);border-radius:12px;
  padding:16px 20px;font-size:14px;color:var(--gray-mid);margin-bottom:48px;max-width:760px;margin-left:auto;margin-right:auto;
}

/* motion */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease, transform .7s ease;}
.reveal.is-visible{opacity:1;transform:translateY(0);}
.cards .card, .seg-grid .seg-card, .team-grid .team-card, .compare .card{transition:transform .3s ease, box-shadow .3s ease;}
.cards .card:hover, .seg-grid .seg-card:hover, .team-grid .team-card:hover{transform:translateY(-6px);box-shadow:0 16px 32px rgba(32,22,15,.08);}
.icon-circle{transition:transform .3s ease;}
.card:hover .icon-circle, .seg-card:hover .icon-circle, .team-card:hover .icon-circle{transform:scale(1.08) rotate(-4deg);}
nav .links a{transition:color .2s ease;}
.logo-lockup{transition:transform .25s ease;}
.logo-lockup:hover{transform:scale(1.03);}
@keyframes floaty{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}
.float{animation:floaty 6s ease-in-out infinite;}
@keyframes fadeInUp{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
.hero .eyebrow,.hero h1,.hero .sub,.hero .props,.hero .cta-row{animation:fadeInUp .8s ease both;}
.hero h1{animation-delay:.05s;}
.hero .sub{animation-delay:.15s;}
.hero .props{animation-delay:.25s;}
.hero .cta-row{animation-delay:.35s;}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition