/* Marketing-specific layout primitives that extend colors_and_type.css */
.cc-shell{min-height:100vh;background:var(--color-canvas);}
.cc-container{max-width:1200px;margin:0 auto;padding:0 32px;}

/* Top nav */
.cc-nav{position:sticky;top:0;z-index:20;background:rgba(245,245,245,0.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--color-hairline);}
.cc-nav-inner{display:flex;align-items:center;height:64px;gap:32px;}
.cc-brand{font:300 22px/1 var(--font-display);color:var(--color-ink);letter-spacing:-0.4px;text-decoration:none;}
.cc-menu{display:flex;gap:24px;margin-left:28px;flex-wrap:nowrap;}
.cc-menu a{font:500 15px/1.4 var(--font-body);color:var(--color-ink);text-decoration:none;cursor:pointer;white-space:nowrap;}
.cc-menu a:hover{color:var(--color-muted);}
.cc-nav-right{margin-left:auto;display:flex;gap:16px;align-items:center;}
.cc-signin{font:500 15px/1 var(--font-body);color:var(--color-ink);text-decoration:none;cursor:pointer;}

/* Buttons */
.cc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:500 15px/1 var(--font-body);height:40px;padding:0 20px;border-radius:9999px;border:none;cursor:pointer;text-decoration:none;transition:background 200ms cubic-bezier(0.22,1,0.36,1),color 200ms;}
.cc-btn-primary{background:var(--color-primary);color:var(--color-on-primary);}
.cc-btn-primary:hover{background:var(--color-primary-active);}
.cc-btn-outline{background:transparent;color:var(--color-ink);border:1px solid var(--color-hairline-strong);}
.cc-btn-outline:hover{background:rgba(12,10,9,0.06);}
.cc-btn-tertiary{background:transparent;color:var(--color-ink);height:auto;padding:0;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;}
.cc-btn-icon-end::after{content:"→";margin-left:4px;}

/* Eyebrows */
.cc-eyebrow{font:600 18px/1.4 var(--font-body);letter-spacing:0.96px;text-transform:uppercase;color:var(--color-muted);}

/* Bands */
.cc-band{padding:96px 0;}
.cc-band-soft{background:var(--color-canvas-soft);}
.cc-band-dark{background:var(--color-canvas-deep);color:var(--color-on-dark);}
.cc-band-dark .cc-eyebrow{color:var(--color-on-dark-soft);}
.cc-band-dark h2, .cc-band-dark h3{color:var(--color-on-dark);}
.cc-band-dark p{color:var(--color-on-dark-soft);}
.cc-cta-band.cc-band-dark p{color:var(--color-on-dark-soft);}
.cc-band-dark .cc-btn-outline{color:var(--color-on-dark);border-color:rgba(255,255,255,0.32);}
.cc-band-dark .cc-btn-outline:hover{background:rgba(255,255,255,0.1);}

/* Hero */
.cc-hero{position:relative;padding:120px 0 96px;overflow:hidden;}
.cc-hero-inner{position:relative;z-index:1;max-width:920px;}
.cc-hero h1{margin-bottom:28px;max-width:880px;}
.cc-hero-sub{font:400 18px/1.55 var(--font-body);letter-spacing:0.16px;color:var(--color-body);max-width:560px;margin-bottom:36px;}
.cc-hero-ctas{display:flex;gap:12px;flex-wrap:wrap;}

/* Atmospheric orbs */
.cc-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:0.6;pointer-events:none;}
.cc-orb-mint{background:var(--color-gradient-mint);}
.cc-orb-peach{background:var(--color-gradient-peach);}
.cc-orb-lavender{background:var(--color-gradient-lavender);}
.cc-orb-sky{background:var(--color-gradient-sky);}
.cc-orb-rose{background:var(--color-gradient-rose);}

/* Section heads */
.cc-section-head{margin-bottom:48px;max-width:720px;}
.cc-section-head h3{margin-top:14px;}
.cc-section-head p{margin-top:16px;color:var(--color-body);font-size:18px;line-height:1.55;}

/* Cards */
.cc-card{background:var(--color-surface-card);border:1px solid var(--color-hairline);border-radius:16px;padding:24px;transition:box-shadow 240ms cubic-bezier(0.22,1,0.36,1);}
.cc-card:hover{box-shadow:0 4px 16px rgba(0,0,0,0.04);}
.cc-card h4{font:300 24px/1.2 var(--font-display);color:var(--color-ink);margin-bottom:8px;letter-spacing:0;}
.cc-card .cc-card-body{font:400 15px/1.55 var(--font-body);letter-spacing:0.15px;color:var(--color-body);}
.cc-card .cc-card-foot{margin-top:18px;}

.cc-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.cc-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}

/* Atmospheric orb card */
.cc-orb-card{position:relative;background:var(--color-canvas-soft);border-radius:24px;padding:48px;overflow:hidden;border:1px solid var(--color-hairline);}
.cc-orb-card .cc-orb{filter:blur(60px);}

/* Hairline list */
.cc-hairline-list{list-style:none;margin:0;padding:0;}
.cc-hairline-list li{display:flex;justify-content:space-between;align-items:baseline;padding:18px 0;border-top:1px solid var(--color-hairline);font:400 16px/1.5 var(--font-body);letter-spacing:0.16px;}
.cc-hairline-list li:first-child{border-top:none;padding-top:0;}
.cc-hairline-list li .lbl{color:var(--color-ink);}
.cc-hairline-list li .val{color:var(--color-muted);font-size:15px;}

/* Quote */
.cc-quote{font:300 32px/1.3 var(--font-display);letter-spacing:-0.32px;color:var(--color-ink);max-width:780px;}
.cc-quote-attr{margin-top:24px;font:400 15px/1.5 var(--font-body);letter-spacing:0.15px;color:var(--color-muted);}

/* Footer */
.cc-footer{background:var(--color-canvas);padding:64px 32px 48px;border-top:1px solid var(--color-hairline);}
.cc-footer-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:48px;}
.cc-footer-col h5{font:600 12px/1.4 var(--font-body);letter-spacing:0.96px;text-transform:uppercase;color:var(--color-muted);margin-bottom:16px;font-family:var(--font-body);}
.cc-footer-col a{display:block;font:400 15px/1.8 var(--font-body);letter-spacing:0.15px;color:var(--color-body);text-decoration:none;}
.cc-footer-col a:hover{color:var(--color-ink);}
.cc-footer-meta{max-width:1200px;margin:64px auto 0;display:flex;justify-content:space-between;font:400 14px/1.5 var(--font-body);color:var(--color-muted);padding-top:32px;border-top:1px solid var(--color-hairline);}

/* CTA band */
.cc-cta-band{position:relative;padding:120px 32px;text-align:center;overflow:hidden;}
.cc-cta-band h3{margin:0 auto;max-width:780px;}
.cc-cta-band p{max-width:560px;margin:20px auto 32px;color:var(--color-body);font-size:18px;}

/* Badges */
.cc-badge{display:inline-flex;align-items:center;background:var(--color-surface-strong);color:var(--color-ink);font:600 12px/1.4 var(--font-body);letter-spacing:0.96px;text-transform:uppercase;border-radius:9999px;padding:4px 10px;}

/* Preview format chips + download cards */
.cc-fmt{display:inline-flex;align-items:center;font:600 11px/1 var(--font-body);letter-spacing:0.9px;text-transform:uppercase;border-radius:9999px;padding:6px 11px;border:1px solid transparent;}
.cc-fmt-pdf{background:#faf2ee;color:#9a4a28;border-color:#eddacf;}
.cc-fmt-xls{background:#eef6f0;color:#2f6b47;border-color:#d5e8dc;}
.cc-preview-card{transition:box-shadow 240ms cubic-bezier(0.22,1,0.36,1),border-color 240ms cubic-bezier(0.22,1,0.36,1),transform 240ms cubic-bezier(0.22,1,0.36,1);}
.cc-preview-card:hover{box-shadow:0 8px 28px rgba(0,0,0,0.07);border-color:var(--color-hairline-strong);transform:translateY(-2px);}
.cc-preview-card:hover .cc-preview-arrow{transform:translateY(3px);}

/* Page sections */
.cc-page-section{padding:96px 0;}

/* Mini illustration: stacked card */
.cc-stack{position:relative;height:300px;}
.cc-stack .layer{position:absolute;background:var(--color-surface-card);border:1px solid var(--color-hairline);border-radius:16px;box-shadow:0 4px 16px rgba(0,0,0,0.04);padding:18px;font:400 14px/1.5 var(--font-body);color:var(--color-body);}
.cc-stack .layer.l1{top:0;left:0;right:40px;height:120px;}
.cc-stack .layer.l2{top:60px;left:30px;right:10px;height:160px;}
.cc-stack .layer.l3{top:140px;left:60px;right:-20px;height:140px;}
