/* =============================================================
   XELBARONTO · Line Art Minimal
   1. Variables  2. Reset  3. Typography  4. Layout
   5. Buttons    6. Header  7. Flip Menu  8. Hero
   9. Divider    10. Cards  11. Quote      12. Sections
   13. Contact Cards  14. Footer  15. Forms  16. FAQ
   17. Legal/TOC 18. Timeline 19. Cookie Consent 20. Anim/Resp
   ============================================================= */


:root{
  --xc-bg:#faf6f0;
  --xc-bg-alt:#f2ebe0;
  --xc-surface:#fffdfa;
  --xc-ink:#2a2621;
  --xc-ink-soft:#5c554b;
  --xc-ink-faint:#8d8474;
  --xc-line:#ddd1bd;
  --xc-line-strong:#c4b295;
  --xc-accent:#a8562f;
  --xc-accent-dark:#7f3f22;
  --xc-accent-soft:#f0dccb;
  --xc-sage:#6f7c5f;
  --xc-footer-bg:#221c17;
  --xc-footer-ink:#e9e0d3;
  --xc-footer-line:#3a322a;

  --xc-radius-sm:6px;
  --xc-radius-md:14px;
  --xc-radius-lg:26px;
  --xc-radius-full:999px;

  --xc-shadow-sm:0 1px 2px rgba(42,38,33,0.07), 0 1px 1px rgba(42,38,33,0.04);
  --xc-shadow-md:0 8px 24px rgba(42,38,33,0.09), 0 2px 6px rgba(42,38,33,0.06);
  --xc-shadow-lg:0 20px 48px rgba(42,38,33,0.14), 0 6px 16px rgba(42,38,33,0.08);

  --xc-font-head:'Wix Madefor Display', sans-serif;
  --xc-font-body:'Wix Madefor Text', sans-serif;
}


*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--xc-font-body);
  color:var(--xc-ink);
  background:var(--xc-bg);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;background:none;border:none;}
ul{list-style:none;}
input,textarea{font-family:inherit;}


h1,h2,h3,h4{font-family:var(--xc-font-head);font-weight:700;color:var(--xc-ink);line-height:1.15;letter-spacing:-0.01em;}
h1{font-size:clamp(2.4rem,4.5vw + 1rem,4.2rem);font-weight:800;}
h2{font-size:clamp(1.7rem,2.6vw + 1rem,2.6rem);}
h3{font-size:clamp(1.2rem,1.2vw + 1rem,1.5rem);}
h4{font-size:1.05rem;}
p{color:var(--xc-ink-soft);}
.xc-eyebrow{
  font-family:var(--xc-font-head);
  font-size:0.8rem;
  font-weight:600;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--xc-accent);
  margin-bottom:0.9rem;
  position:relative;
  display:inline-block;
  padding-bottom:0.5rem;
}
.xc-eyebrow::after{
  content:"";
  position:absolute;
  left:0;bottom:0;
  width:32px;height:1px;
  background:var(--xc-accent);
}
.xc-center{text-align:center;}
.xc-center.xc-eyebrow::after{left:50%;transform:translateX(-50%);}


.xc-container{width:100%;max-width:1220px;margin:0 auto;padding:0 24px;}
.xc-section{padding:88px 0;position:relative;}
.xc-narrow{max-width:640px;}


.xc-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 28px;
  border-radius:var(--xc-radius-full);
  font-weight:600;font-size:0.95rem;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
  min-height:48px;
  border:1px solid transparent;
  white-space:nowrap;
}
.xc-btn-primary{
  background:linear-gradient(135deg, var(--xc-accent), var(--xc-accent-dark));
  color:#fff8f0;
  box-shadow:var(--xc-shadow-md);
}
.xc-btn-primary:hover{transform:translateY(-2px);box-shadow:var(--xc-shadow-lg);}
.xc-btn-outline{
  border:1px solid var(--xc-line-strong);
  color:var(--xc-ink);
  background:transparent;
}
.xc-btn-outline:hover{border-color:var(--xc-accent);color:var(--xc-accent);transform:translateY(-2px);}
.xc-btn-lg{padding:16px 34px;font-size:1rem;}


.xc-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(250,246,240,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--xc-line);
  transition:transform .45s ease;
}
.xc-header.xc-nav-hidden{transform:translateY(-100%);}
.xc-flip-scene{perspective:1800px;}
.xc-flip-card{position:relative;transform-style:preserve-3d;transition:transform .75s cubic-bezier(.65,.05,.36,1);}
.xc-flip-front,.xc-flip-back{backface-visibility:hidden;-webkit-backface-visibility:hidden;}
.xc-header-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 24px;
  gap:24px;
}
.xc-logo{display:flex;align-items:center;gap:10px;font-family:var(--xc-font-head);font-weight:700;font-size:1.15rem;}
.xc-nav-desktop{display:none;gap:32px;}
.xc-nav-desktop a{font-size:0.95rem;font-weight:500;color:var(--xc-ink-soft);position:relative;padding-bottom:4px;transition:color .25s ease;}
.xc-nav-desktop a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--xc-accent);transition:width .3s ease;}
.xc-nav-desktop a:hover,.xc-nav-desktop a.xc-nav-active{color:var(--xc-ink);}
.xc-nav-desktop a:hover::after,.xc-nav-desktop a.xc-nav-active::after{width:100%;}
.xc-nav-cta{display:none;}
.xc-burger{width:44px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid var(--xc-line-strong);border-radius:var(--xc-radius-sm);transition:border-color .25s ease;}
.xc-burger:hover{border-color:var(--xc-accent);}
.xc-burger span{width:20px;height:1px;background:var(--xc-ink);transition:all .3s ease;}


.xc-flip-back{
  position:absolute;inset:0;
  transform:rotateX(180deg);
  background:var(--xc-ink);
  min-height:100vh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  z-index:2;
}
.xc-flip-close{
  position:absolute;top:20px;right:20px;
  width:44px;height:44px;
  border:1px solid var(--xc-footer-line);
  border-radius:var(--xc-radius-sm);
  color:var(--xc-footer-ink);font-size:1.1rem;
  display:flex;align-items:center;justify-content:center;
  transition:border-color .25s ease, color .25s ease;
}
.xc-flip-close:hover{border-color:var(--xc-accent);color:var(--xc-accent);}
.xc-mobile-nav{display:flex;flex-direction:column;gap:28px;text-align:center;}
.xc-mobile-nav a{font-family:var(--xc-font-head);font-size:1.6rem;font-weight:600;color:var(--xc-footer-ink);transition:color .25s ease;}
.xc-mobile-nav a:hover{color:var(--xc-accent);}


.xc-hero{padding:150px 0 80px;position:relative;}
.xc-hero-grid{display:grid;grid-template-columns:1fr;gap:48px;align-items:center;}
.xc-hero-text{max-width:640px;}
.xc-hero-lead{margin:20px 0 32px;font-size:1.08rem;}
.xc-hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:28px;}
.xc-hero-note{
  display:flex;align-items:flex-start;gap:12px;
  padding:16px 18px;
  border:1px solid var(--xc-line);
  border-left:2px solid var(--xc-accent);
  border-radius:var(--xc-radius-sm);
  background:var(--xc-surface);
  font-size:0.9rem;color:var(--xc-ink-soft);
}
.xc-hero-note i{color:var(--xc-accent);margin-top:2px;}
.xc-hero-visual{position:relative;}
.xc-hero-frame{
  border:1px solid var(--xc-line-strong);
  border-radius:var(--xc-radius-lg);
  overflow:hidden;
  box-shadow:var(--xc-shadow-lg);
  aspect-ratio:4/3.2;
}
.xc-hero-frame img{width:100%;height:100%;object-fit:cover;}
.xc-hero-tag{
  position:absolute;bottom:-24px;left:-16px;
  background:var(--xc-surface);
  border:1px solid var(--xc-line-strong);
  border-radius:var(--xc-radius-md);
  padding:14px 20px;
  box-shadow:var(--xc-shadow-md);
  font-family:var(--xc-font-head);font-weight:800;font-size:1.6rem;color:var(--xc-accent);
  display:flex;flex-direction:column;line-height:1.1;
}
.xc-hero-tag span{font-family:var(--xc-font-body);font-size:0.72rem;font-weight:500;color:var(--xc-ink-soft);text-transform:uppercase;letter-spacing:0.06em;margin-top:2px;}


.xc-strip{
  height:52px;
  background-image:repeating-linear-gradient(90deg, var(--xc-line-strong) 0, var(--xc-line-strong) 1px, transparent 1px, transparent 26px);
  background-position:center;
  position:relative;
}
.xc-strip::before{
  content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--xc-line);transform:translateY(-50%);
}
.xc-strip-alt{background-image:repeating-linear-gradient(90deg, var(--xc-accent-soft) 0, var(--xc-accent-soft) 1px, transparent 1px, transparent 18px);}


.xc-intro-grid{display:grid;grid-template-columns:1fr;gap:48px;}
.xc-intro-copy p{margin-top:16px;}
.xc-intro-list{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--xc-line);}
.xc-intro-item{
  display:flex;align-items:center;gap:18px;
  padding:18px 0;border-bottom:1px solid var(--xc-line);
  font-weight:600;color:var(--xc-ink);
}
.xc-intro-item span{font-family:var(--xc-font-head);color:var(--xc-accent);font-weight:700;min-width:32px;}

.xc-method-grid{display:grid;grid-template-columns:1fr;gap:28px;margin-top:56px;}
.xc-card{
  background:var(--xc-surface);
  border:1px solid var(--xc-line);
  border-radius:var(--xc-radius-md);
  padding:32px;
  box-shadow:var(--xc-shadow-sm);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
  opacity:0;transform:translateY(24px);
}
.xc-card.visible{opacity:1;transform:translateY(0);}
.xc-card:hover{transform:translateY(-6px);box-shadow:var(--xc-shadow-lg);border-color:var(--xc-line-strong);}
.xc-card-icon{
  width:52px;height:52px;border-radius:var(--xc-radius-sm);
  border:1px solid var(--xc-accent-soft);
  display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;color:var(--xc-accent);
  margin-bottom:20px;
}
.xc-card h3{margin-bottom:12px;}
.xc-card p{font-size:0.96rem;margin-bottom:20px;}
.xc-card-img{border-radius:var(--xc-radius-sm);width:100%;aspect-ratio:16/10;object-fit:cover;border:1px solid var(--xc-line);}
.xc-card-b{margin-top:0;}
.xc-card-c,.xc-card-e{}


.xc-quote-section{padding:40px 0 88px;}
.xc-pullquote{
  max-width:820px;margin:0 auto;text-align:center;position:relative;
  background:var(--xc-accent-soft);
  border-radius:var(--xc-radius-lg);
  padding:64px 48px 48px;
  border:1px solid var(--xc-line-strong);
}
.xc-quote-mark{
  font-family:var(--xc-font-head);
  font-size:5rem;color:var(--xc-accent);
  position:absolute;top:8px;left:50%;transform:translateX(-50%);
  line-height:1;opacity:0.7;
}
.xc-pullquote p{
  font-family:var(--xc-font-head);
  font-size:clamp(1.3rem,1.8vw + 0.8rem,1.9rem);
  color:var(--xc-ink);font-weight:600;line-height:1.4;
  margin-bottom:20px;
}
.xc-pullquote cite{font-style:normal;font-size:0.85rem;color:var(--xc-ink-faint);letter-spacing:0.04em;text-transform:uppercase;}
.xc-quote-alt .xc-pullquote{background:var(--xc-surface);}


.xc-async-grid,.xc-audit-grid,.xc-audience-grid,.xc-about-grid,.xc-approach-grid,.xc-format-grid,.xc-included-grid,.xc-directions-grid{
  display:grid;grid-template-columns:1fr;gap:44px;align-items:center;
}
.xc-async-visual img,.xc-audit-visual img,.xc-audience-visual img,.xc-about-visual img,.xc-approach-visual img,.xc-format-visual img,.xc-included-visual img,.xc-directions-visual img{
  border-radius:var(--xc-radius-lg);border:1px solid var(--xc-line-strong);box-shadow:var(--xc-shadow-md);aspect-ratio:4/3;object-fit:cover;width:100%;
}
.xc-compare{display:grid;grid-template-columns:1fr;gap:20px;margin-top:28px;}
.xc-compare-col{
  border:1px solid var(--xc-line);border-radius:var(--xc-radius-md);padding:24px;background:var(--xc-surface);
}
.xc-compare-col h4{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:1rem;}
.xc-compare-col h4 i{color:var(--xc-accent);}
.xc-compare-col ul{display:flex;flex-direction:column;gap:10px;}
.xc-compare-col li{position:relative;padding-left:18px;font-size:0.92rem;color:var(--xc-ink-soft);}
.xc-compare-col li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:1px;background:var(--xc-accent);}

.xc-audit-steps{margin:26px 0;display:flex;flex-direction:column;gap:16px;}
.xc-audit-steps li{display:flex;gap:16px;align-items:flex-start;color:var(--xc-ink-soft);font-size:0.97rem;}
.xc-audit-steps span{
  min-width:30px;height:30px;border-radius:50%;border:1px solid var(--xc-accent);color:var(--xc-accent);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--xc-font-head);font-size:0.9rem;flex-shrink:0;
}

.xc-curriculum-lead{max-width:600px;margin:16px auto 0;}
.xc-curriculum-list{max-width:820px;margin:56px auto 0;border-top:1px solid var(--xc-line);}
.xc-curriculum-item{display:flex;gap:24px;padding:26px 0;border-bottom:1px solid var(--xc-line);align-items:flex-start;}
.xc-curriculum-num{font-family:var(--xc-font-head);font-weight:800;font-size:1.4rem;color:var(--xc-accent-soft);-webkit-text-stroke:1px var(--xc-accent);color:transparent;min-width:52px;}
.xc-curriculum-item h3{margin-bottom:6px;font-size:1.15rem;}
.xc-curriculum-item p{font-size:0.94rem;}
.xc-curriculum-cta{text-align:center;margin-top:48px;}

.xc-values-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-top:48px;}
.xc-values-item{
  border:1px solid var(--xc-line);border-radius:var(--xc-radius-md);padding:28px;background:var(--xc-surface);
  transition:box-shadow .3s ease, transform .3s ease;
}
.xc-values-item:hover{box-shadow:var(--xc-shadow-md);transform:translateY(-4px);}
.xc-values-item h3{margin:16px 0 8px;font-size:1.05rem;}
.xc-values-item p{font-size:0.92rem;}

.xc-included-list{display:flex;flex-direction:column;gap:20px;margin-top:24px;}
.xc-included-item{display:flex;gap:16px;align-items:flex-start;}
.xc-included-item i{color:var(--xc-accent);font-size:1.2rem;margin-top:4px;min-width:24px;}
.xc-included-item h4{margin-bottom:4px;}
.xc-included-item p{font-size:0.92rem;}

.xc-directions-list{display:flex;flex-direction:column;gap:20px;margin-top:24px;}
.xc-directions-item{display:flex;gap:16px;align-items:flex-start;}
.xc-directions-item i{color:var(--xc-accent);font-size:1.1rem;margin-top:4px;min-width:22px;}
.xc-directions-item h4{margin-bottom:4px;}
.xc-directions-item p{font-size:0.92rem;}

.xc-module-row{display:grid;grid-template-columns:60px 1fr;gap:20px;padding:32px 0;border-bottom:1px solid var(--xc-line);}
.xc-module-row:first-of-type{border-top:1px solid var(--xc-line);margin-top:48px;}
.xc-module-num{font-family:var(--xc-font-head);font-weight:800;font-size:1.5rem;color:var(--xc-accent);}
.xc-module-body h3{margin-bottom:10px;}
.xc-module-body p{font-size:0.96rem;}

.xc-final-cta{background:var(--xc-bg-alt);border-top:1px solid var(--xc-line);border-bottom:1px solid var(--xc-line);}
.xc-final-cta-inner{text-align:center;max-width:640px;margin:0 auto;}
.xc-final-cta-inner p{margin:16px 0 30px;}


.xc-cc-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-top:48px;}
.xc-cc-card{
  border:1px solid var(--xc-line);border-radius:var(--xc-radius-md);padding:32px;text-align:center;background:var(--xc-surface);
  transition:box-shadow .3s ease, transform .3s ease, border-color .3s ease;
}
.xc-cc-card:hover{transform:translateY(-4px);box-shadow:var(--xc-shadow-md);border-color:var(--xc-line-strong);}
.xc-cc-icon{
  width:56px;height:56px;border-radius:50%;border:1px solid var(--xc-accent-soft);
  display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:1.3rem;color:var(--xc-accent);
}
.xc-cc-card h3{margin-bottom:8px;}
.xc-cc-card p{font-size:0.9rem;margin-bottom:12px;}
.xc-cc-card a{font-weight:600;color:var(--xc-accent);border-bottom:1px solid var(--xc-accent);padding-bottom:2px;transition:opacity .25s ease;}
.xc-cc-card a:hover{opacity:0.7;}


.xc-footer{background:var(--xc-footer-bg);color:var(--xc-footer-ink);padding:80px 0 32px;margin-top:0;}
.xc-footer-grid{display:grid;grid-template-columns:1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid var(--xc-footer-line);}
.xc-footer-brand p{color:var(--xc-ink-faint);font-size:0.9rem;margin-top:14px;max-width:280px;}
.xc-logo-footer{color:var(--xc-footer-ink);}
.xc-footer-col h4{color:var(--xc-footer-ink);font-size:0.85rem;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:18px;}
.xc-footer-col a{display:block;color:var(--xc-ink-faint);font-size:0.92rem;margin-bottom:12px;transition:color .25s ease;}
.xc-footer-col a:hover{color:var(--xc-accent);}
.xc-footer-col p{color:var(--xc-ink-faint);font-size:0.92rem;margin-bottom:10px;display:flex;gap:8px;align-items:flex-start;}
.xc-footer-col p i{color:var(--xc-accent);margin-top:3px;}
.xc-footer-bottom{display:flex;flex-direction:column;gap:8px;padding-top:32px;font-size:0.82rem;color:var(--xc-ink-faint);}


.xc-contact-split{padding:0 0 88px;}
.xc-contact-split-grid{display:grid;grid-template-columns:1fr;}
.xc-contact-map{min-height:340px;border-bottom:1px solid var(--xc-line);}
.xc-contact-map iframe{width:100%;height:100%;min-height:340px;filter:grayscale(15%);}
.xc-contact-form-wrap{padding:56px 24px;max-width:600px;margin:0 auto;width:100%;}
.xc-contact-form-wrap h2{margin-bottom:8px;}
.xc-form-note{font-size:0.85rem;margin-bottom:28px;}
.xc-form-row{margin-bottom:20px;display:flex;flex-direction:column;gap:8px;}
.xc-form-row label{font-size:0.88rem;font-weight:600;color:var(--xc-ink);}
.xc-form-row input[type="text"],.xc-form-row input[type="email"],.xc-form-row input[type="tel"],.xc-form-row textarea{
  border:1px solid var(--xc-line-strong);
  border-radius:var(--xc-radius-sm);
  padding:13px 16px;
  background:var(--xc-surface);
  font-size:0.95rem;color:var(--xc-ink);
  transition:border-color .25s ease, box-shadow .25s ease;
  min-height:48px;
}
.xc-form-row textarea{min-height:120px;resize:vertical;}
.xc-form-row input:focus,.xc-form-row textarea:focus{outline:none;border-color:var(--xc-accent);box-shadow:0 0 0 3px var(--xc-accent-soft);}
.xc-form-checkbox{flex-direction:row;align-items:flex-start;gap:12px;}
.xc-form-checkbox input{width:20px;height:20px;margin-top:2px;accent-color:var(--xc-accent);flex-shrink:0;}
.xc-form-checkbox label{font-weight:400;font-size:0.86rem;color:var(--xc-ink-soft);}
.xc-form-checkbox a{color:var(--xc-accent);text-decoration:underline;}
.xc-form-submit{width:100%;margin-top:8px;}


.xc-faq-container{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:14px;}
.xc-faq-item{border:1px solid var(--xc-line);border-radius:var(--xc-radius-md);overflow:hidden;background:var(--xc-surface);transition:border-color .25s ease;}
.xc-faq-item:hover{border-color:var(--xc-line-strong);}
.xc-faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;padding:22px 26px;font-family:var(--xc-font-head);font-weight:600;font-size:1rem;text-align:left;gap:16px;}
.xc-faq-q i{color:var(--xc-accent);transition:transform .3s ease;flex-shrink:0;}
.xc-faq-item.xc-faq-open .xc-faq-q i{transform:rotate(45deg);}
.xc-faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease, padding .4s ease;padding:0 26px;}
.xc-faq-item.xc-faq-open .xc-faq-a{max-height:400px;padding:0 26px 24px;}
.xc-faq-a p{font-size:0.95rem;}


.xc-directions-item i.fa-train-subway,.xc-directions-item i.fa-train,.xc-directions-item i.fa-square-parking,.xc-directions-item i.fa-person-walking{}


.xc-legal-hero{padding:150px 0 40px;}
.xc-legal-updated{color:var(--xc-ink-faint);font-size:0.9rem;margin-top:10px;}
.xc-legal-layout{display:grid;grid-template-columns:1fr;gap:40px;padding-bottom:100px;align-items:start;}
.xc-toc-toggle{
  display:flex;align-items:center;justify-content:space-between;
  width:100%;padding:16px 20px;border:1px solid var(--xc-line-strong);border-radius:var(--xc-radius-sm);
  font-weight:600;background:var(--xc-surface);
}
.xc-toc{
  border:1px solid var(--xc-line);border-radius:var(--xc-radius-md);padding:24px;background:var(--xc-surface);
  display:none;
}
.xc-toc.xc-toc-open{display:block;}
.xc-toc nav{display:flex;flex-direction:column;gap:4px;}
.xc-toc a{padding:9px 12px;font-size:0.9rem;border-radius:var(--xc-radius-sm);color:var(--xc-ink-soft);border-left:2px solid transparent;transition:all .25s ease;}
.xc-toc a:hover{color:var(--xc-ink);background:var(--xc-bg-alt);}
.xc-toc a.xc-toc-active{color:var(--xc-accent);border-left-color:var(--xc-accent);background:var(--xc-accent-soft);font-weight:600;}
.xc-legal-content section{margin-bottom:44px;scroll-margin-top:110px;}
.xc-legal-content h2{margin-bottom:14px;font-size:1.3rem;}
.xc-legal-content p{margin-bottom:12px;font-size:0.96rem;}
.xc-legal-content ul{margin:12px 0 12px 0;display:flex;flex-direction:column;gap:8px;}
.xc-legal-content ul li{position:relative;padding-left:18px;font-size:0.95rem;color:var(--xc-ink-soft);}
.xc-legal-content ul li::before{content:"";position:absolute;left:0;top:10px;width:8px;height:1px;background:var(--xc-accent);}

.xc-impressum{padding-bottom:100px;}
.xc-impressum h2{margin:44px 0 16px;font-size:1.25rem;padding-top:8px;border-top:1px solid var(--xc-line);padding-top:24px;}
.xc-impressum h2:first-of-type{border-top:none;margin-top:24px;padding-top:0;}
.xc-impressum p{margin-bottom:14px;font-size:0.96rem;}
.xc-legal-table{width:100%;border-collapse:collapse;margin-bottom:16px;border:1px solid var(--xc-line);border-radius:var(--xc-radius-sm);overflow:hidden;}
.xc-legal-table tr{border-bottom:1px solid var(--xc-line);}
.xc-legal-table tr:last-child{border-bottom:none;}
.xc-legal-table th,.xc-legal-table td{text-align:left;padding:12px 16px;font-size:0.92rem;}
.xc-legal-table th{width:38%;color:var(--xc-ink);font-weight:600;background:var(--xc-bg-alt);}
.xc-legal-table td{color:var(--xc-ink-soft);}


.xc-thanks-section{padding:150px 0 100px;}
.xc-thanks-inner{max-width:600px;margin:0 auto;text-align:center;}
.xc-thanks-inner .xc-btn{margin-top:28px;}
.xc-timeline{margin-top:64px;display:flex;flex-direction:column;gap:0;text-align:left;position:relative;padding-left:8px;}
.xc-timeline-item{display:flex;gap:20px;padding-bottom:40px;position:relative;}
.xc-timeline-item:last-child{padding-bottom:0;}
.xc-timeline-item::before{content:"";position:absolute;left:21px;top:44px;bottom:0;width:1px;background:var(--xc-line-strong);}
.xc-timeline-item:last-child::before{display:none;}
.xc-timeline-icon{
  width:44px;height:44px;border-radius:50%;border:1px solid var(--xc-line-strong);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--xc-surface);
  color:var(--xc-ink-faint);
}
.xc-timeline-done .xc-timeline-icon{border-color:var(--xc-accent);color:var(--xc-accent);}
.xc-timeline-active .xc-timeline-icon{background:var(--xc-accent);border-color:var(--xc-accent);color:#fff;box-shadow:var(--xc-shadow-md);}
.xc-timeline-upcoming .xc-timeline-icon{color:var(--xc-ink-faint);}
.xc-timeline-text h3{font-size:1.05rem;margin-bottom:4px;}
.xc-timeline-text p{font-size:0.9rem;}
.xc-timeline-upcoming .xc-timeline-text h3,.xc-timeline-upcoming .xc-timeline-text p{color:var(--xc-ink-faint);}


.xc-cookie-pill{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%);
  background:var(--xc-ink);color:#fdf9f3;
  border-radius:var(--xc-radius-full);
  padding:14px 14px 14px 24px;
  display:flex;align-items:center;gap:16px;
  box-shadow:var(--xc-shadow-lg);
  z-index:2000;max-width:calc(100vw - 32px);
  transition:all .5s cubic-bezier(.65,.05,.36,1);
}
.xc-cookie-pill p{color:#e8e0d3;font-size:0.85rem;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.xc-cookie-pill-actions{display:flex;gap:8px;flex-shrink:0;}
.xc-cookie-btn{padding:9px 16px;border-radius:var(--xc-radius-full);font-size:0.82rem;font-weight:600;white-space:nowrap;transition:all .25s ease;}
.xc-cookie-btn-ghost{color:#e8e0d3;border:1px solid #4a3f34;}
.xc-cookie-btn-ghost:hover{border-color:var(--xc-accent);color:var(--xc-accent);}
.xc-cookie-btn-solid{background:var(--xc-accent);color:#fff;}
.xc-cookie-btn-solid:hover{background:var(--xc-accent-dark);}

.xc-cookie-modal{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%);
  width:min(560px, calc(100vw - 32px));
  background:var(--xc-surface);color:var(--xc-ink);
  border-radius:var(--xc-radius-lg);
  border:1px solid var(--xc-line-strong);
  box-shadow:var(--xc-shadow-lg);
  padding:32px;z-index:2000;
  display:none;
}
.xc-cookie-modal.xc-open{display:block;}
.xc-cookie-modal h3{margin-bottom:10px;}
.xc-cookie-modal>p{font-size:0.9rem;margin-bottom:20px;color:var(--xc-ink-soft);}
.xc-cookie-cat{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 0;border-bottom:1px solid var(--xc-line);}
.xc-cookie-cat:last-of-type{border-bottom:none;}
.xc-cookie-cat h4{font-size:0.95rem;margin-bottom:4px;}
.xc-cookie-cat p{font-size:0.82rem;color:var(--xc-ink-faint);}
.xc-cookie-switch{position:relative;width:44px;height:24px;flex-shrink:0;margin-top:4px;}
.xc-cookie-switch input{opacity:0;width:0;height:0;}
.xc-cookie-switch span{position:absolute;inset:0;background:var(--xc-line-strong);border-radius:var(--xc-radius-full);transition:background .25s ease;cursor:pointer;}
.xc-cookie-switch span::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .25s ease;}
.xc-cookie-switch input:checked+span{background:var(--xc-accent);}
.xc-cookie-switch input:checked+span::before{transform:translateX(20px);}
.xc-cookie-switch input:disabled+span{opacity:0.5;cursor:not-allowed;}
.xc-cookie-modal-actions{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap;}


[data-animate]{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease;}
[data-animate].visible{opacity:1;transform:translateY(0);}


@media(min-width:640px){
  .xc-cc-grid{grid-template-columns:repeat(3,1fr);}
  .xc-values-grid{grid-template-columns:repeat(2,1fr);}
  .xc-compare{grid-template-columns:repeat(2,1fr);}
  .xc-cookie-pill p{white-space:normal;}
}
@media(min-width:860px){
  .xc-legal-layout{grid-template-columns:260px 1fr;}
  .xc-toc{display:block;position:sticky;top:110px;}
  .xc-toc-toggle{display:none;}
}
@media(min-width:960px){
  .xc-nav-desktop{display:flex;}
  .xc-nav-cta{display:inline-flex;}
  .xc-burger{display:none;}
  .xc-hero-grid{grid-template-columns:1.05fr 0.95fr;gap:64px;}
  .xc-intro-grid{grid-template-columns:1.1fr 0.9fr;}
  .xc-method-grid{grid-template-columns:repeat(3,1fr);}
  .xc-card-b{margin-top:60px;}
  .xc-card-d{margin-top:-20px;}
  .xc-async-grid,.xc-audit-grid,.xc-audience-grid,.xc-about-grid,.xc-approach-grid,.xc-format-grid,.xc-included-grid,.xc-directions-grid{
    grid-template-columns:1fr 1fr;
  }
  .xc-audit-grid{grid-template-columns:1.1fr 0.9fr;}
  .xc-audit-grid .xc-audit-copy{order:1;}
  .xc-audit-grid .xc-audit-visual{order:2;}
  .xc-audience-grid{grid-template-columns:0.9fr 1.1fr;}
  .xc-values-grid{grid-template-columns:repeat(4,1fr);}
  .xc-contact-split-grid{grid-template-columns:1fr 1fr;}
  .xc-contact-map{min-height:auto;border-bottom:none;border-right:1px solid var(--xc-line);}
  .xc-contact-map iframe{min-height:100%;}
  .xc-module-row{grid-template-columns:80px 1fr;}
}
@media(min-width:1180px){
  .xc-hero-tag{left:-40px;}
}
@media(max-width:959px){
  .xc-flip-card{min-height:72px;}
}
</style>