*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth; overflow-x:hidden;}
body{
  background:#FAF8F4;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  font-family:'Hanken Grotesk',system-ui,sans-serif;
  color:#0B0B0F;
  overflow-x:hidden;
}
::selection{background:#C8A35A;color:#0B0B0F}

:root{
  --accent:#C8A35A;
  --accent-2:#E4C98A;
  --ink:#0B0B0F;
  --ink-soft:#1B1B22;
  --paper:#FAF8F4;
  --paper-2:#F2EEE6;
  --muted:#6E6A62;
  --line:rgba(11,11,15,0.10);
}

@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes spinslow{to{transform:rotate(360deg)}}

a{color:inherit}

/* reveal animation, applied via JS */
[data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1)}
[data-reveal].is-visible{opacity:1;transform:translateY(0)}

.italic{font-style:italic}
.accent-text{color:var(--accent)}

/* buttons */
.btn{
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:15px;
  font-weight:700;
  border-radius:999px;
  cursor:pointer;
  border:none;
  font-family:inherit;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.btn-dark{background:var(--ink); color:var(--paper); padding:15px 26px;}
.btn-dark:hover{transform:translateY(-2px)}
.btn-lg{padding:15px 26px; font-size:15.5px; box-shadow:0 12px 30px -12px rgba(11,11,15,0.5);}
.btn-lg:hover{box-shadow:0 18px 40px -14px rgba(11,11,15,0.55)}
.btn-outline{color:var(--ink); padding:15px 22px; border:1px solid var(--line); background:transparent;}
.btn-outline:hover{background:rgba(255,255,255,0.7)}
.btn-accent{background:var(--accent); color:var(--ink); padding:14px; justify-content:center;}
.btn-accent:hover{transform:translateY(-2px)}
.btn-line{border:1px solid var(--ink); color:var(--ink); padding:14px; background:transparent; justify-content:center;}
.btn-line:hover{background:var(--paper-2)}

/* NAV */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 40px;
  transition:background .35s ease, box-shadow .35s ease, padding .35s ease;
  background:transparent;
}
.nav.is-scrolled{
  background:rgba(250,248,244,0.82);
  backdrop-filter:blur(12px);
  box-shadow:0 1px 0 rgba(11,11,15,0.07);
  padding:10px 40px;
}
.nav-brand{display:flex; align-items:center; text-decoration:none;}
.nav-brand-logo{height:54px; width:auto; max-width:min(320px, 46vw); display:block;}
.nav-right{display:flex; align-items:center; gap:36px;}
.nav-links{display:flex; align-items:center; gap:30px;}
.nav-links a{text-decoration:none; color:var(--ink); font-size:14.5px; font-weight:500; opacity:.78;}
.nav-links a:hover{opacity:1}
.nav .btn-dark{font-size:14px; padding:11px 20px;}

/* HERO */
.hero{position:relative; padding:170px 40px 90px; max-width:1280px; margin:0 auto; overflow:visible;}
.hero-orb{position:absolute; top:-80px; right:-120px; width:620px; height:620px; pointer-events:none; opacity:.9;}
.hero-orb-glow{
  position:absolute; inset:0; border-radius:50%;
  background:radial-gradient(40% 40% at 35% 30%, rgba(228,201,138,0.55), transparent 70%), radial-gradient(45% 45% at 70% 65%, rgba(200,163,90,0.45), transparent 72%);
  filter:blur(8px); animation:floaty 9s ease-in-out infinite;
}
.hero-orb-rings{position:absolute; inset:0; width:100%; height:100%; opacity:.5;}
.hero-orb-spin{position:absolute; inset:0; width:100%; height:100%; animation:spinslow 60s linear infinite;}
.hero-content{position:relative; max-width:840px;}
.eyebrow-pill{
  display:inline-flex; align-items:center; gap:9px; padding:7px 14px;
  border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,0.6);
  backdrop-filter:blur(6px); font-size:12.5px; font-weight:600; letter-spacing:0.04em;
  text-transform:uppercase; color:var(--muted); margin-bottom:30px;
}
.eyebrow-pill .dot{width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 4px rgba(200,163,90,0.2);}
.hero-title{
  font-family:'Newsreader',serif; font-weight:400; font-size:clamp(46px,7vw,94px);
  line-height:0.99; letter-spacing:-0.025em; margin-bottom:26px;
}
.hero-sub{
  font-family:'Newsreader',serif; font-weight:300; font-size:clamp(19px,2.1vw,25px);
  line-height:1.5; color:var(--ink-soft); max-width:580px; margin-bottom:38px;
}
.hero-ctas{display:flex; align-items:center; gap:16px; flex-wrap:wrap;}
.hero-note{margin-top:30px; font-size:13.5px; color:var(--muted); display:flex; align-items:center; gap:8px;}

/* TRUST STRIP */
.trust-strip{border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:30px 40px; background:rgba(242,238,230,0.5);}
.trust-strip-inner{max-width:1280px; margin:0 auto; display:flex; align-items:center; gap:24px 40px; flex-wrap:wrap; justify-content:center; text-align:center;}
.trust-label{font-size:12.5px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:var(--muted); white-space:nowrap;}
.trust-brand{display:inline-flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink);}
.trust-brand-mark{width:46px; height:46px; border-radius:12px; background:var(--ink); display:inline-flex; align-items:center; justify-content:center;}
.trust-brand-mark img{display:block; object-fit:contain;}
.trust-brand-text{display:flex; flex-direction:column; align-items:flex-start; line-height:1.15;}
.trust-brand-name{font-size:19px; font-weight:700; letter-spacing:-0.02em;}
.trust-brand-sub{font-size:12px; color:var(--muted);}
.trust-divider{width:1px; height:34px; background:var(--line); display:inline-block;}
.trust-next{display:inline-flex; align-items:center; gap:8px; padding:11px 16px; border:1.5px dashed rgba(11,11,15,0.22); border-radius:12px; font-size:13.5px; font-weight:600; color:var(--muted);}

/* SECTIONS, generic */
.section{max-width:1280px; margin:0 auto; padding:100px 40px;}
.section-tight{padding:30px 40px 20px;}
.section-faq{max-width:980px; padding:40px 40px 110px;}
.kicker{font-size:13px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:var(--accent);}
.kicker-light{color:var(--accent-2);}
.h2{font-family:'Newsreader',serif; font-weight:400; font-size:clamp(34px,4.6vw,58px); line-height:1.02; letter-spacing:-0.02em; margin-top:14px;}
.h2-light{color:var(--paper);}

.section-head{display:flex; align-items:flex-end; justify-content:space-between; gap:30px; flex-wrap:wrap; margin-bottom:54px;}
.section-head-note{max-width:340px; font-size:15.5px; line-height:1.6; color:var(--muted);}
.section-head-simple{max-width:640px; margin-bottom:56px;}
.section-head-center{text-align:center; max-width:640px; margin:0 auto 56px;}
.section-head-note-center{font-size:15.5px; line-height:1.6; color:var(--muted); margin-top:16px;}

/* CARDS (services) */
.cards-3{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.card{border-radius:22px; padding:34px 30px 30px; min-height:330px; display:flex; flex-direction:column; position:relative; overflow:hidden;}
.card-dark{background:var(--ink); color:var(--paper);}
.card-light{background:#fff; border:1px solid var(--line); transition:transform .25s ease, box-shadow .25s ease;}
.card-light:hover{transform:translateY(-4px); box-shadow:0 24px 50px -28px rgba(11,11,15,0.4);}
.card-glow{position:absolute; top:-40px; right:-40px; width:180px; height:180px; border-radius:50%; background:radial-gradient(circle at 40% 40%, rgba(200,163,90,0.5), transparent 70%);}
.card-icon{width:48px; height:48px; border-radius:13px; display:flex; align-items:center; justify-content:center; margin-bottom:22px; position:relative;}
.card-icon-dark{background:rgba(228,201,138,0.14); border:1px solid rgba(228,201,138,0.3);}
.card-icon-light{background:var(--paper-2);}
.card-title{font-family:'Newsreader',serif; font-weight:400; font-size:27px; letter-spacing:-0.01em; margin:0 0 12px; position:relative;}
.card-text{font-size:14.5px; line-height:1.6; color:var(--muted); position:relative;}
.card-text-dark{color:rgba(250,248,244,0.66);}
.card-list{list-style:none; margin-top:auto; padding-top:22px; display:flex; flex-direction:column; gap:11px; position:relative;}
.card-list li{display:flex; gap:10px; align-items:center; font-size:13.5px; color:var(--ink-soft);}
.card-list-dark li{color:rgba(250,248,244,0.82);}
.card-list svg{flex:none;}

.tag-row{display:flex; flex-wrap:wrap; gap:10px; margin-top:24px;}
.tag{font-size:13px; font-weight:600; color:var(--muted); padding:9px 16px; border:1px solid var(--line); border-radius:999px; background:#fff;}

/* PROCESS */
.process-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--line);}
.process-step{padding:30px 26px; border-right:1px solid var(--line);}
.process-step-last{border-right:none;}
.process-grid .process-step:first-child{padding-left:0;}
.process-grid .process-step:last-child{padding-right:0;}
.process-num{font-family:'Newsreader',serif; font-style:italic; font-size:34px; color:var(--accent); margin-bottom:18px;}
.process-title{font-size:18px; font-weight:700; margin-bottom:9px; letter-spacing:-0.01em;}
.process-text{font-size:14px; line-height:1.6; color:var(--muted);}

/* AI band */
.band-dark{background:var(--ink); color:var(--paper); padding:96px 40px; position:relative; overflow:hidden;}
.band-glow{position:absolute; top:-160px; left:-100px; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle at 50% 50%, rgba(200,163,90,0.22), transparent 68%);}
.band-inner{max-width:1280px; margin:0 auto; position:relative; display:grid; grid-template-columns:1.1fr 1fr; gap:64px; align-items:center;}
.band-text{font-size:16px; line-height:1.65; color:rgba(250,248,244,0.7); max-width:480px; margin-top:22px;}
.stat-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.stat-card{background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.1); border-radius:18px; padding:26px;}
.stat-num{font-family:'Newsreader',serif; font-size:42px; line-height:1; color:var(--accent-2);}
.stat-text{margin-top:10px; font-size:13.5px; color:rgba(250,248,244,0.62); line-height:1.5;}

/* TRANSPARENCY PANEL */
.panel{background:#fff; border:1px solid var(--line); border-radius:32px; padding:60px 50px; position:relative; overflow:hidden;}
.panel-glow{position:absolute; top:-90px; right:-70px; width:340px; height:340px; border-radius:50%; background:radial-gradient(circle at 50% 50%, rgba(200,163,90,0.16), transparent 68%); pointer-events:none;}
.panel-head{position:relative; max-width:560px;}
.panel-text{font-size:16px; line-height:1.65; color:var(--muted); max-width:500px; margin-top:16px;}
.panel-grid{position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:48px;}
.panel-item{border-top:2px solid var(--accent); padding-top:18px;}
.panel-item-icon{width:38px; height:38px; border-radius:10px; background:var(--paper-2); display:flex; align-items:center; justify-content:center; margin-bottom:16px;}
.panel-item-title{font-size:17px; font-weight:700; letter-spacing:-0.01em; margin-bottom:8px;}
.panel-item-text{font-size:13.5px; line-height:1.6; color:var(--muted);}

/* PRICING */
.pricing-grid{display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:22px; align-items:stretch;}
.price-card{border-radius:24px; padding:38px 34px; display:flex; flex-direction:column; position:relative;}
.price-card-dark{background:var(--ink); color:var(--paper); overflow:hidden;}
.price-card-light{background:#fff; border:1px solid var(--line);}
.price-badges{display:flex; align-items:center; gap:8px; flex-wrap:wrap; position:relative;}
.price-badge{display:inline-flex; align-items:center; padding:6px 12px; border-radius:999px; background:rgba(228,201,138,0.15); border:1px solid rgba(228,201,138,0.35); font-size:11.5px; font-weight:700; letter-spacing:0.05em; text-transform:uppercase; color:var(--accent-2);}
.price-badge-accent{background:var(--accent); border:none; color:var(--ink); gap:6px;}
.price-badge-muted{align-self:flex-start; background:var(--paper-2); border:none; color:var(--muted);}
.price-amount{margin:26px 0 6px; display:flex; align-items:flex-end; gap:10px; position:relative; flex-wrap:wrap;}
.price-from{font-size:15px; color:rgba(250,248,244,0.6); margin-bottom:14px;}
.price-value{font-family:'Newsreader',serif; font-size:72px; line-height:0.9; letter-spacing:-0.02em;}
.price-value-light{font-family:'Newsreader',serif; font-size:60px; line-height:0.95; letter-spacing:-0.02em;}
.price-alt{font-size:18px; color:rgba(250,248,244,0.55); margin-bottom:16px;}
.price-note{font-size:14px; color:rgba(250,248,244,0.6); position:relative;}
.price-note-light{font-size:14px; color:var(--muted);}
.price-divider{height:1px; background:rgba(255,255,255,0.12); margin:26px 0; position:relative;}
.price-divider-light{height:1px; background:var(--line); margin:26px 0;}
.price-list{list-style:none; display:flex; flex-direction:column; gap:13px; margin-bottom:30px;}
.price-list li{display:flex; gap:11px; font-size:14.5px;}
.price-list svg{flex:none; margin-top:2px;}
.price-list-dark li{color:rgba(250,248,244,0.85);}
.price-cta{margin-top:auto;}

.guarantee{margin-top:22px; background:rgba(200,163,90,0.12); border:1px solid rgba(200,163,90,0.45); border-radius:24px; padding:30px 34px; display:flex; align-items:center; gap:24px; flex-wrap:wrap; justify-content:center; text-align:center;}
.guarantee-icon{width:56px; height:56px; flex:none; border-radius:50%; background:var(--ink); display:flex; align-items:center; justify-content:center;}
.guarantee-text{max-width:620px;}
.guarantee-title{font-family:'Newsreader',serif; font-weight:400; font-size:27px; letter-spacing:-0.01em; margin-bottom:7px;}
.guarantee-sub{font-size:15px; line-height:1.6; color:var(--muted);}

/* FAQ */
.faq-list{border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line); padding:24px 0;}
.faq-q{display:flex; align-items:center; justify-content:space-between; cursor:pointer; list-style:none; font-size:18.5px; font-weight:600; letter-spacing:-0.01em;}
.faq-plus{font-family:'Newsreader',serif; font-size:26px; color:var(--accent);}
.faq-a{margin-top:14px; font-size:15px; line-height:1.65; color:var(--muted); max-width:760px;}

/* CONTACT */
.section-contact{padding:0 40px 100px;}
.contact-panel{--contact-pad-x:60px; --contact-form-frame:14px; max-width:1280px; margin:0 auto; background:var(--ink); border-radius:32px; padding:72px var(--contact-pad-x); position:relative; overflow:hidden;}
.contact-glow{position:absolute; top:-120px; left:-60px; width:560px; height:560px; border-radius:50%; background:radial-gradient(circle at 50% 50%, rgba(200,163,90,0.26), transparent 65%);}
.contact-grid{position:relative; display:grid; grid-template-columns:1fr; gap:34px;}
.contact-copy{max-width:920px;}
.contact-title{font-family:'Newsreader',serif; font-weight:400; color:var(--paper); font-size:clamp(36px,4.6vw,60px); line-height:1.0; letter-spacing:-0.025em;}
.contact-text{color:rgba(250,248,244,0.66); font-size:17px; line-height:1.6; max-width:720px; margin:22px 0 30px;}
.contact-links{display:flex; flex-direction:column; gap:14px;}
.contact-link{text-decoration:none; display:inline-flex; align-items:center; gap:11px; color:var(--paper); font-size:15px; font-weight:600;}
.contact-link-static{color:rgba(250,248,244,0.7);}
.contact-link-icon{width:38px; height:38px; flex:none; border-radius:11px; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.14); display:inline-flex; align-items:center; justify-content:center;}

.contact-form-wrap{position:relative; width:calc(100% + ((var(--contact-pad-x) - var(--contact-form-frame)) * 2)); margin-left:calc((var(--contact-pad-x) - var(--contact-form-frame)) * -1);}
.contact-form-card{display:flex; flex-direction:column; align-items:center; text-align:center; gap:12px; margin-bottom:22px;}
.contact-success-title{font-family:'Newsreader',serif; font-weight:400; font-size:28px; letter-spacing:-0.01em;}
.contact-success-text{font-size:15px; line-height:1.6; color:rgba(250,248,244,0.7); max-width:560px;}
.contact-form-embed{width:100%; height:1980px; border:0; border-radius:24px; background:#fff; display:block; overflow:hidden;}
.contact-disclaimer{font-size:12px; color:rgba(250,248,244,0.65); text-align:center; margin-top:14px;}
.contact-disclaimer a{color:var(--paper); font-weight:600;}

/* FOOTER */
.footer{border-top:1px solid var(--line); padding:56px 40px 40px;}
.footer-grid{max-width:1280px; margin:0 auto; display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px;}
.footer-brand{display:inline-flex; align-items:center; text-decoration:none; color:var(--ink); margin-bottom:16px;}
.footer-brand-img{height:30px; width:auto; display:block;}
.footer-tagline{font-size:14.5px; line-height:1.6; color:var(--muted); max-width:300px;}
.footer-domain{font-size:14px; color:var(--ink); font-weight:600; margin-top:16px;}
.footer-heading{font-size:12px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--muted); margin-bottom:16px;}
.footer-links{display:flex; flex-direction:column; gap:11px;}
.footer-links a{text-decoration:none; color:var(--ink); font-size:14.5px; opacity:.8;}
.footer-links a:hover{opacity:1}
.footer-bottom{max-width:1280px; margin:40px auto 0; padding-top:24px; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:13px; color:var(--muted);}

/* Responsive */
@media (max-width: 980px){
  .nav-links{display:none;}
  .nav-brand-logo{height:42px; max-width:260px;}
  .hero{overflow-x:hidden;}
  .cards-3{grid-template-columns:1fr;}
  .process-grid{grid-template-columns:1fr 1fr;}
  .panel-grid{grid-template-columns:1fr 1fr;}
  .band-inner{grid-template-columns:1fr;}
  .pricing-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width: 600px){
  .hero{padding:140px 20px 60px;}
  .section{padding:70px 20px;}
  .nav{padding:14px 20px;}
  .process-grid{grid-template-columns:1fr;}
  .process-step{border-right:none; border-bottom:1px solid var(--line);}
  .panel-grid{grid-template-columns:1fr;}
  .panel{padding:40px 26px;}
  .stat-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .contact-panel{--contact-pad-x:26px; --contact-form-frame:10px; padding:48px var(--contact-pad-x);}
  .contact-form-embed{height:2140px; border-radius:14px;}
}
