/* yourcopywritingally.com — style.css
   DESIGN: MEGA MENU nav + DIAGONAL EDITORIAL hero — Site 18, new in 18-site series
   DM Serif Display (new) + DM Sans (new) — BOTH NEW in series
   Palette: Sage #3D6B4F · Ivory #F9F6F0 · French Navy #1A2B3C · Ochre #C8A840 · Stone #8C8275
   CSS prefix: ca-   JS: CAW
   HERO: DIAGONAL EDITORIAL — left sage panel, diagonal clip separator, right ivory panel
   Location: Loireauxence, Loire-Atlantique, Pays de la Loire, France
*/

@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:wght@300;400;500;600;700&display=swap');

:root {
  --ca-sage:    #3D6B4F;
  --ca-sage2:   #2E5139;
  --ca-sage-lo: rgba(61,107,79,.08);
  --ca-ivory:   #F9F6F0;
  --ca-ivory2:  #EDE8DC;
  --ca-ivory3:  #DDD8CE;
  --ca-navy:    #1A2B3C;
  --ca-navy2:   #0E1A25;
  --ca-ochre:   #C8A840;
  --ca-ochre2:  #A88A2A;
  --ca-stone:   #8C8275;
  --ca-ink:     #1E1E1E;
  --ca-line:    rgba(26,43,60,.1);
  --ca-line2:   rgba(26,43,60,.05);
  --ca-inv:     rgba(249,246,240,.12);
  --nav-h:      70px;
  --ease:       cubic-bezier(.16,1,.3,1);
  --dur:        .18s;
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { font-size:16px; scroll-behavior:smooth; }
body { font-family:'DM Sans',system-ui,sans-serif; background:var(--ca-ivory); color:var(--ca-ink); line-height:1.72; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
img  { display:block; max-width:100%; height:auto; }
a    { color:inherit; text-decoration:none; }
button { cursor:pointer; border:none; background:none; font-family:inherit; }
ul,ol  { list-style:none; }
p { margin-bottom:.85rem; }
p:last-child { margin-bottom:0; }
h1,h2,h3,h4 { font-family:'DM Serif Display',Georgia,serif; font-weight:400; line-height:.94; }

/* ── Labels ── */
.ca-eyebrow { font-family:'DM Sans',sans-serif; font-size:.48rem; font-weight:700; letter-spacing:.26em; text-transform:uppercase; color:var(--ca-sage); display:flex; align-items:center; gap:.5rem; }
.ca-eyebrow::before { content:''; width:24px; height:1px; background:var(--ca-sage); }
.ca-eyebrow-inv { color:var(--ca-ivory3); }
.ca-eyebrow-inv::before { background:var(--ca-ivory3); }
.ca-chip { display:inline-block; background:var(--ca-sage-lo); color:var(--ca-sage); font-family:'DM Sans',sans-serif; font-size:.46rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; padding:.2rem .65rem; border:1px solid rgba(61,107,79,.2); }

/* ── Buttons ── */
.ca-btn-sage { display:inline-flex; align-items:center; gap:.35rem; font-family:'DM Sans',sans-serif; font-size:.58rem; font-weight:700; background:var(--ca-sage); color:var(--ca-ivory); padding:.8rem 1.9rem; letter-spacing:.05em; text-transform:uppercase; transition:background var(--dur); white-space:nowrap; }
.ca-btn-sage:hover { background:var(--ca-sage2); }
.ca-btn-navy { display:inline-flex; align-items:center; gap:.35rem; font-family:'DM Sans',sans-serif; font-size:.58rem; font-weight:700; background:var(--ca-navy); color:var(--ca-ivory); padding:.8rem 1.9rem; letter-spacing:.05em; text-transform:uppercase; transition:background var(--dur); white-space:nowrap; }
.ca-btn-navy:hover { background:var(--ca-navy2); }
.ca-btn-ochre { display:inline-flex; align-items:center; gap:.35rem; font-family:'DM Sans',sans-serif; font-size:.58rem; font-weight:700; background:var(--ca-ochre); color:var(--ca-navy); padding:.8rem 1.9rem; letter-spacing:.05em; text-transform:uppercase; transition:background var(--dur); white-space:nowrap; }
.ca-btn-ochre:hover { background:var(--ca-ochre2); color:var(--ca-ivory); }
.ca-btn-out { display:inline-flex; align-items:center; gap:.35rem; font-family:'DM Sans',sans-serif; font-size:.58rem; font-weight:700; background:transparent; color:var(--ca-ivory); padding:.78rem 1.7rem; border:1.5px solid var(--ca-inv); letter-spacing:.05em; text-transform:uppercase; transition:all var(--dur); white-space:nowrap; }
.ca-btn-out:hover { border-color:var(--ca-ochre); color:var(--ca-ochre); }
.ca-btn-out-dark { display:inline-flex; align-items:center; gap:.35rem; font-family:'DM Sans',sans-serif; font-size:.58rem; font-weight:700; background:transparent; color:var(--ca-navy); padding:.78rem 1.7rem; border:1.5px solid var(--ca-line); letter-spacing:.05em; text-transform:uppercase; transition:all var(--dur); white-space:nowrap; }
.ca-btn-out-dark:hover { border-color:var(--ca-sage); color:var(--ca-sage); }
.ca-fwd { font-family:'DM Sans',sans-serif; font-size:.56rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ca-sage); display:inline-flex; align-items:center; gap:.25rem; transition:gap var(--dur); }
.ca-fwd:hover { gap:.42rem; }
.ca-fwd-ochre { color:var(--ca-ochre); }

/* ══════════════════════════════════════════════════════
   MEGA MENU NAVIGATION — new pattern in 18-site series
   Full-width services panel dropdown
   ══════════════════════════════════════════════════════ */
.ca-nav { position:fixed; top:0; left:0; right:0; z-index:200; height:var(--nav-h); background:var(--ca-ivory); border-bottom:1px solid var(--ca-line); transition:box-shadow .3s; }
.ca-nav.ca-nav-up { box-shadow:0 2px 24px rgba(26,43,60,.08); }
.ca-nav-rail { height:100%; max-width:1440px; margin:0 auto; padding:0 3rem; display:flex; align-items:center; gap:0; }
/* Logo */
.ca-logo { display:flex; align-items:center; gap:.5rem; flex-shrink:0; margin-right:2rem; }
.ca-logo-icon { width:28px; height:28px; background:var(--ca-sage); border-radius:50%; display:flex; align-items:center; justify-content:center; }
.ca-logo-icon span { font-family:'DM Serif Display',serif; font-size:.75rem; font-style:italic; color:var(--ca-ivory); }
.ca-logo-text { display:flex; flex-direction:column; }
.ca-logo-main { font-family:'DM Serif Display',serif; font-size:.88rem; font-style:italic; color:var(--ca-navy); line-height:1; }
.ca-logo-sub  { font-family:'DM Sans',sans-serif; font-size:.36rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--ca-ochre); }
/* Nav links */
.ca-nav-links { display:flex; align-items:center; flex:1; gap:0; }
.ca-nav-a { font-family:'DM Sans',sans-serif; font-size:.54rem; font-weight:600; padding:.35rem .9rem; letter-spacing:.04em; text-transform:uppercase; color:var(--ca-stone); transition:color var(--dur); white-space:nowrap; position:relative; }
.ca-nav-a:hover { color:var(--ca-navy); }
.ca-nav-a.ca-cur { color:var(--ca-sage); }
.ca-nav-a.ca-cur::after { content:''; position:absolute; bottom:-2px; left:.9rem; right:.9rem; height:2px; background:var(--ca-sage); }
/* Mega trigger */
.ca-mega-trigger { position:relative; }
.ca-mega-btn { font-family:'DM Sans',sans-serif; font-size:.54rem; font-weight:600; padding:.35rem .9rem; letter-spacing:.04em; text-transform:uppercase; color:var(--ca-stone); cursor:pointer; display:flex; align-items:center; gap:.18rem; transition:color var(--dur); background:none; border:none; white-space:nowrap; }
.ca-mega-btn:hover { color:var(--ca-navy); }
.ca-mega-btn::after { content:'▾'; font-size:.38rem; opacity:.5; transition:transform .2s; }
.ca-mega-trigger.ca-mega-on .ca-mega-btn::after { transform:rotate(180deg); }
.ca-mega-trigger.ca-mega-on .ca-mega-btn { color:var(--ca-sage); }
/* MEGA PANEL — full width */
.ca-mega-panel { position:fixed; top:var(--nav-h); left:0; right:0; background:var(--ca-navy); border-bottom:2px solid var(--ca-sage); box-shadow:0 24px 60px rgba(26,43,60,.2); opacity:0; pointer-events:none; transform:translateY(-8px); transition:opacity .22s,transform .22s; z-index:199; }
.ca-mega-trigger.ca-mega-on .ca-mega-panel { opacity:1; pointer-events:auto; transform:none; }
.ca-mega-inner { max-width:1440px; margin:0 auto; padding:2.5rem 3rem; display:grid; grid-template-columns:repeat(3,1fr); gap:0; }
.ca-mega-item { padding:1rem 1.5rem 1rem 0; border-right:1px solid rgba(249,246,240,.07); }
.ca-mega-item:last-child { border:none; }
.ca-mega-item:first-child { padding-left:0; }
.ca-mega-ico { width:16px; height:16px; color:var(--ca-sage); margin-bottom:.4rem; }
.ca-mega-nm { font-family:'DM Sans',sans-serif; font-size:.72rem; font-weight:700; color:var(--ca-ivory); margin-bottom:.14rem; transition:color var(--dur); }
.ca-mega-desc { font-family:'DM Sans',sans-serif; font-size:.6rem; font-weight:300; color:rgba(249,246,240,.35); line-height:1.6; }
.ca-mega-item:hover .ca-mega-nm { color:var(--ca-ochre); }
.ca-mega-footer { max-width:1440px; margin:0 auto; padding:.8rem 3rem; border-top:1px solid rgba(249,246,240,.07); display:flex; align-items:center; gap:2rem; }
.ca-mega-footer-txt { font-family:'DM Sans',sans-serif; font-size:.6rem; color:rgba(249,246,240,.3); }
/* Nav right */
.ca-nav-right { display:flex; align-items:center; gap:.5rem; margin-left:auto; flex-shrink:0; }
.ca-nav-cta { font-family:'DM Sans',sans-serif; font-size:.52rem; font-weight:700; padding:.32rem 1rem; background:var(--ca-sage); color:var(--ca-ivory); letter-spacing:.05em; text-transform:uppercase; transition:background var(--dur); }
.ca-nav-cta:hover { background:var(--ca-sage2); }
/* Burger */
.ca-burger { display:none; flex-direction:column; gap:5px; padding:8px; }
.ca-bbar { width:20px; height:1.5px; background:var(--ca-navy); border-radius:1px; transition:transform .2s,opacity .2s; }
.ca-burger.ca-bopen .ca-bbar:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.ca-burger.ca-bopen .ca-bbar:nth-child(2) { opacity:0; }
.ca-burger.ca-bopen .ca-bbar:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }
.ca-mob-menu { position:fixed; inset:0; z-index:199; background:var(--ca-navy); padding:calc(var(--nav-h)+2rem) 2.5rem 2rem; opacity:0; pointer-events:none; transition:opacity .22s; overflow-y:auto; }
.ca-mob-menu.ca-mob-on { opacity:1; pointer-events:auto; }
.ca-mob-a { display:block; font-family:'DM Serif Display',serif; font-size:2.2rem; font-style:italic; color:rgba(249,246,240,.4); padding:.2rem 0; border-bottom:1px solid rgba(249,246,240,.06); transition:color .15s; }
.ca-mob-a:hover { color:var(--ca-ivory); }

/* ══════════════════════════════════════════════════════
   DIAGONAL EDITORIAL HERO — new pattern in series
   CSS clip-path diagonal separator between left sage + right ivory
   ══════════════════════════════════════════════════════ */
.ca-hero { min-height:100vh; padding-top:var(--nav-h); position:relative; overflow:hidden; display:flex; }
/* Left sage panel */
.ca-hero-lft { background:var(--ca-sage); flex:0 0 55%; display:flex; flex-direction:column; justify-content:center; padding:6rem 5rem 6rem 5rem; position:relative; clip-path:polygon(0 0, 100% 0, 88% 100%, 0% 100%); }
/* Decorative oversized italic text behind */
.ca-hero-lft::before { content:'Ally'; font-family:'DM Serif Display',serif; font-size:min(40vw,32rem); font-style:italic; color:rgba(249,246,240,.05); position:absolute; bottom:-3rem; right:-3rem; line-height:1; pointer-events:none; font-weight:400; }
.ca-hero-eyebrow { margin-bottom:2rem; }
.ca-hero-h1 { font-family:'DM Serif Display',serif; font-size:clamp(4rem,8vw,10rem); color:var(--ca-ivory); letter-spacing:-.01em; line-height:.86; font-weight:400; position:relative; z-index:1; margin-bottom:.8rem; }
.ca-hero-h1 em { font-style:italic; color:var(--ca-ochre); }
.ca-hero-lead { font-family:'DM Sans',sans-serif; font-size:.96rem; font-weight:300; color:rgba(249,246,240,.55); max-width:40ch; line-height:1.86; position:relative; z-index:1; margin-bottom:2.5rem; }
.ca-hero-btns { display:flex; gap:.6rem; flex-wrap:wrap; position:relative; z-index:1; }
.ca-hero-kpi { display:flex; gap:3rem; margin-top:4rem; position:relative; z-index:1; }
.ca-kpi { }
.ca-kpi-n { font-family:'DM Serif Display',serif; font-size:3.2rem; font-style:italic; color:var(--ca-ivory); line-height:1; }
.ca-kpi-l { font-family:'DM Sans',sans-serif; font-size:.44rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:rgba(249,246,240,.3); }
/* Right ivory panel — overlaps diagonal */
.ca-hero-rgt { flex:0 0 52%; background:var(--ca-ivory); margin-left:-7%; display:flex; flex-direction:column; justify-content:center; padding:6rem 4rem 6rem 9rem; position:relative; z-index:1; }
.ca-hero-svc-grid { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; }
.ca-hero-svc-tile { background:var(--ca-ivory2); border:1px solid var(--ca-line); padding:1.1rem; text-decoration:none; color:inherit; transition:border-color var(--dur),background var(--dur); display:flex; flex-direction:column; gap:.3rem; }
.ca-hero-svc-tile:hover { border-color:var(--ca-sage); background:var(--ca-ivory); }
.ca-hst-ico { width:16px; height:16px; color:var(--ca-sage); }
.ca-hst-nm { font-family:'DM Sans',sans-serif; font-size:.6rem; font-weight:700; color:var(--ca-navy); text-transform:uppercase; letter-spacing:.04em; }
.ca-hst-pr { font-family:'DM Serif Display',serif; font-size:1.4rem; font-style:italic; color:var(--ca-sage); }
.ca-hst-del { font-family:'DM Sans',sans-serif; font-size:.46rem; font-weight:500; color:var(--ca-stone); text-transform:uppercase; letter-spacing:.06em; }
.ca-hero-rgt-cta { margin-top:.7rem; }

/* ── Ticker ── */
.ca-ticker { background:var(--ca-ochre); padding:.5rem 0; overflow:hidden; }
.ca-tick-run { display:flex; gap:2rem; white-space:nowrap; animation:ca-tick 30s linear infinite; }
@keyframes ca-tick { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.ca-tick-item { font-family:'DM Sans',sans-serif; font-size:.68rem; font-weight:700; color:rgba(26,43,60,.45); letter-spacing:.08em; text-transform:uppercase; }
.ca-tick-item b { color:rgba(26,43,60,.75); }

/* ── Services card grid ── (UNIQUE — first card-driven services in 18-site series) */
.ca-svc-sect { padding:7rem 3rem; background:var(--ca-ivory); }
.ca-svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:3rem; }
.ca-svc-card { background:var(--ca-ivory2); border:1px solid var(--ca-line); padding:2rem; display:flex; flex-direction:column; position:relative; overflow:hidden; transition:all var(--dur); }
.ca-svc-card::before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--ca-sage); transform:scaleY(0); transform-origin:bottom; transition:transform .35s ease; }
.ca-svc-card:hover::before { transform:scaleY(1); }
.ca-svc-card:hover { background:var(--ca-ivory); transform:translateY(-2px); box-shadow:0 8px 28px rgba(26,43,60,.07); }
.ca-svc-card-ico { width:22px; height:22px; color:var(--ca-sage); margin-bottom:.8rem; }
.ca-svc-card-n { font-family:'DM Sans',sans-serif; font-size:.46rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--ca-sage); margin-bottom:.1rem; }
.ca-svc-card-nm { font-family:'DM Serif Display',serif; font-size:1.5rem; color:var(--ca-navy); line-height:1.1; margin-bottom:.4rem; }
.ca-svc-card-del { font-family:'DM Sans',sans-serif; font-size:.52rem; font-weight:600; color:var(--ca-stone); text-transform:uppercase; letter-spacing:.08em; margin-bottom:.6rem; }
.ca-svc-card-desc { font-family:'DM Sans',sans-serif; font-size:.8rem; font-weight:300; color:var(--ca-stone); line-height:1.86; flex:1; margin-bottom:1.2rem; }
.ca-svc-card-foot { display:flex; align-items:center; justify-content:space-between; padding-top:.8rem; border-top:1px solid var(--ca-line2); }
.ca-svc-card-price { font-family:'DM Serif Display',serif; font-size:1.9rem; font-style:italic; color:var(--ca-navy); }

/* ── Testimonials — HORIZONTAL SCROLL (new pattern) ── */
.ca-tmon-sect { padding:7rem 0; background:var(--ca-navy); overflow:hidden; }
.ca-tmon-hd { padding:0 3rem 3rem; }
.ca-tmon-h2 { font-family:'DM Serif Display',serif; font-size:clamp(2.5rem,6vw,7rem); color:var(--ca-ivory); line-height:.88; }
.ca-tmon-h2 em { font-style:italic; color:var(--ca-ochre); }
.ca-tmon-track { display:flex; gap:1rem; padding:0 3rem 2rem; overflow-x:auto; scrollbar-width:none; scroll-snap-type:x mandatory; }
.ca-tmon-track::-webkit-scrollbar { display:none; }
.ca-tmon-card { background:rgba(249,246,240,.05); border:1px solid rgba(249,246,240,.08); padding:2.2rem; min-width:360px; max-width:400px; scroll-snap-align:start; flex-shrink:0; transition:border-color var(--dur); }
.ca-tmon-card:hover { border-color:rgba(200,168,64,.3); }
.ca-tmon-q { font-family:'DM Serif Display',serif; font-size:1.05rem; font-style:italic; color:var(--ca-ivory); line-height:1.55; margin-bottom:1.4rem; }
.ca-tmon-q::before { content:'\201C'; color:var(--ca-ochre); font-size:1.3rem; line-height:0; vertical-align:-.2rem; margin-right:.08rem; }
.ca-tmon-stars { font-size:.6rem; color:var(--ca-ochre); letter-spacing:.08rem; margin-bottom:.6rem; }
.ca-tmon-nm { font-family:'DM Sans',sans-serif; font-size:.66rem; font-weight:700; color:var(--ca-ivory); }
.ca-tmon-rl { font-family:'DM Sans',sans-serif; font-size:.52rem; font-weight:300; color:rgba(249,246,240,.3); }
.ca-tmon-nav { padding:0 3rem; display:flex; gap:.5rem; }
.ca-tmon-dot { width:6px; height:6px; border-radius:50%; background:rgba(249,246,240,.15); cursor:pointer; transition:background var(--dur); }
.ca-tmon-dot.ca-dot-on { background:var(--ca-ochre); }

/* ── About ── */
.ca-about-sect { padding:8rem 3rem; background:var(--ca-ivory2); }
.ca-about-inner { max-width:1300px; margin:0 auto; display:grid; grid-template-columns:1.4fr 1fr; gap:7rem; align-items:center; }
.ca-about-img-col { position:relative; }
.ca-about-ph { width:100%; aspect-ratio:4/5; background:var(--ca-ivory); border:1px solid var(--ca-line); }
.ca-about-photo { width:100%; aspect-ratio:4/5; object-fit:cover; }
.ca-about-badge { position:absolute; top:1.5rem; right:-1.5rem; background:var(--ca-sage); padding:1.2rem 1.4rem; text-align:center; }
.ca-about-badge-n { font-family:'DM Serif Display',serif; font-size:2rem; font-style:italic; color:var(--ca-ivory); line-height:1; }
.ca-about-badge-l { font-family:'DM Sans',sans-serif; font-size:.4rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:rgba(249,246,240,.5); }
.ca-about-txt h2 { font-family:'DM Serif Display',serif; font-size:clamp(2.5rem,5vw,6rem); color:var(--ca-navy); line-height:.88; margin-bottom:1.2rem; }
.ca-about-txt h2 em { font-style:italic; color:var(--ca-sage); }
.ca-about-txt p { font-family:'DM Sans',sans-serif; font-size:.88rem; font-weight:300; color:var(--ca-stone); line-height:1.92; }
.ca-about-facts { display:grid; grid-template-columns:1fr 1fr; gap:.35rem; margin-top:1.5rem; }
.ca-about-fact { border-left:2px solid var(--ca-ochre); padding:.3rem .75rem; }
.ca-about-fact-l { font-family:'DM Sans',sans-serif; font-size:.42rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ca-ochre); }
.ca-about-fact-v { font-family:'DM Sans',sans-serif; font-size:.78rem; font-weight:600; color:var(--ca-navy); }

/* ── Process — magazine column style ── */
.ca-proc-sect { padding:7rem 3rem; background:var(--ca-ivory); }
.ca-proc-h2 { font-family:'DM Serif Display',serif; font-size:clamp(2.5rem,6vw,7rem); color:var(--ca-navy); line-height:.88; margin-bottom:.5rem; }
.ca-proc-h2 em { font-style:italic; color:var(--ca-sage); }
.ca-proc-sub { font-family:'DM Sans',sans-serif; font-size:.88rem; font-weight:300; color:var(--ca-stone); max-width:40ch; line-height:1.82; margin-bottom:3.5rem; }
.ca-proc-cols { display:grid; grid-template-columns:repeat(5,1fr); gap:0; border-left:1px solid var(--ca-line); }
.ca-proc-col { padding:1.5rem 1.5rem 1.5rem 0; border-right:1px solid var(--ca-line); }
.ca-proc-n { font-family:'DM Serif Display',serif; font-size:4rem; font-style:italic; color:var(--ca-ivory2); line-height:1; margin-bottom:.2rem; }
.ca-proc-nm { font-family:'DM Sans',sans-serif; font-size:.56rem; font-weight:700; color:var(--ca-sage); text-transform:uppercase; letter-spacing:.12em; margin-bottom:.5rem; }
.ca-proc-d { font-family:'DM Sans',sans-serif; font-size:.72rem; font-weight:300; color:var(--ca-stone); line-height:1.82; }

/* ── FAQ — two column ── */
.ca-faq-sect { padding:7rem 3rem; background:var(--ca-ivory2); }
.ca-faq-h2 { font-family:'DM Serif Display',serif; font-size:clamp(2.5rem,6vw,7rem); color:var(--ca-navy); line-height:.88; margin-bottom:3rem; }
.ca-faq-h2 em { font-style:italic; color:var(--ca-sage); }
.ca-faq-cols { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.ca-faq-item { border-bottom:1px solid var(--ca-line2); }
.ca-faq-btn { width:100%; display:flex; justify-content:space-between; align-items:center; gap:1.5rem; padding:1rem 0; cursor:pointer; background:none; border:none; text-align:left; }
.ca-faq-q { font-family:'DM Sans',sans-serif; font-size:.84rem; font-weight:600; color:var(--ca-navy); line-height:1.4; }
.ca-faq-tog { font-family:'DM Serif Display',serif; font-size:1.2rem; color:var(--ca-stone); flex-shrink:0; transition:transform .2s,color .2s; }
.ca-faq-item.ca-faq-on .ca-faq-tog { transform:rotate(45deg); color:var(--ca-sage); }
.ca-faq-ans { max-height:0; overflow:hidden; transition:max-height .38s ease; }
.ca-faq-item.ca-faq-on .ca-faq-ans { max-height:280px; }
.ca-faq-ans-txt { font-family:'DM Sans',sans-serif; font-size:.8rem; font-weight:300; color:var(--ca-stone); line-height:1.88; padding:0 0 1rem; }

/* ── Pricing ── */
.ca-price-sect { padding:7rem 3rem; background:var(--ca-ivory); }
.ca-price-h2 { font-family:'DM Serif Display',serif; font-size:clamp(2.5rem,6vw,7rem); color:var(--ca-navy); line-height:.88; margin-bottom:3rem; }
.ca-price-h2 em { font-style:italic; color:var(--ca-sage); }
.ca-price-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.ca-price-card { background:var(--ca-ivory2); border:1px solid var(--ca-line); padding:2rem; display:flex; flex-direction:column; position:relative; overflow:hidden; }
.ca-price-card::after { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--ca-sage); transform:scaleX(0); transform-origin:left; transition:transform .35s ease; }
.ca-price-card:hover::after { transform:scaleX(1); }
.ca-price-card:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(26,43,60,.06); }
.ca-pc-svc { font-family:'DM Sans',sans-serif; font-size:.44rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--ca-sage); margin-bottom:.1rem; }
.ca-pc-del { font-family:'DM Sans',sans-serif; font-size:.52rem; color:var(--ca-stone); margin-bottom:.8rem; }
.ca-pc-price { font-family:'DM Serif Display',serif; font-size:3.5rem; font-style:italic; color:var(--ca-navy); line-height:1; }
.ca-pc-unit { font-family:'DM Sans',sans-serif; font-size:.46rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--ca-stone); margin-bottom:1.2rem; }
.ca-pc-incl-h { font-family:'DM Sans',sans-serif; font-size:.44rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ca-stone); margin-bottom:.4rem; }
.ca-pc-row { display:flex; gap:.3rem; font-family:'DM Sans',sans-serif; font-size:.68rem; font-weight:300; color:var(--ca-stone); padding:.15rem 0; border-bottom:1px solid var(--ca-line2); line-height:1.5; }
.ca-pc-row:last-child { border:none; }
.ca-pc-row::before { content:'—'; font-size:.6rem; color:var(--ca-sage); flex-shrink:0; }
.ca-pc-cta { margin-top:auto; padding-top:1.2rem; }

/* ── Builder ── */
.ca-build-pg { padding:calc(var(--nav-h)+4rem) 3rem 6rem; min-height:100vh; background:var(--ca-ivory); }
.ca-build-h1 { font-family:'DM Serif Display',serif; font-size:clamp(3.5rem,9vw,11rem); color:var(--ca-navy); line-height:.84; margin-bottom:.5rem; }
.ca-build-h1 em { font-style:italic; color:var(--ca-sage); }
.ca-build-sub { font-family:'DM Sans',sans-serif; font-size:.88rem; font-weight:300; color:var(--ca-stone); max-width:48ch; margin-bottom:3.5rem; line-height:1.82; }
.ca-build-cols { display:grid; grid-template-columns:1.6fr 1fr; gap:4rem; }
.ca-bstep { margin-bottom:2.5rem; }
.ca-bstep-hd { display:flex; align-items:center; gap:.5rem; margin-bottom:.8rem; padding-bottom:.5rem; border-bottom:2px solid var(--ca-line); }
.ca-bstep-n { font-family:'DM Serif Display',serif; font-size:2rem; font-style:italic; color:var(--ca-ivory2); line-height:1; }
.ca-bstep-lbl { font-family:'DM Sans',sans-serif; font-size:.48rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--ca-stone); }
.ca-pick-row { display:grid; grid-template-columns:1fr auto; gap:1rem; align-items:center; padding:.8rem .5rem; border-bottom:1px solid var(--ca-line2); cursor:pointer; user-select:none; transition:background var(--dur); }
.ca-pick-row:hover { background:var(--ca-ivory2); }
.ca-pick-row.ca-picked { background:var(--ca-sage-lo); border-left:2px solid var(--ca-sage); padding-left:.35rem; }
.ca-pick-lft { display:flex; align-items:flex-start; gap:.6rem; }
.ca-pick-disc { width:13px; height:13px; border:2px solid var(--ca-line); flex-shrink:0; margin-top:3px; border-radius:50%; display:flex; align-items:center; justify-content:center; transition:all var(--dur); }
.ca-pick-row.ca-picked .ca-pick-disc { background:var(--ca-sage); border-color:var(--ca-sage); }
.ca-pick-row.ca-picked .ca-pick-disc::after { content:''; width:4px; height:4px; background:#fff; border-radius:50%; }
.ca-pick-nm { font-family:'DM Sans',sans-serif; font-size:.84rem; font-weight:700; color:var(--ca-navy); }
.ca-pick-row.ca-picked .ca-pick-nm { color:var(--ca-sage2); }
.ca-pick-sub { font-family:'DM Sans',sans-serif; font-size:.56rem; color:var(--ca-stone); }
.ca-pick-pr { font-family:'DM Serif Display',serif; font-size:1.4rem; font-style:italic; color:var(--ca-navy); white-space:nowrap; }
.ca-pick-row.ca-picked .ca-pick-pr { color:var(--ca-sage); }
.ca-add-item { display:flex; justify-content:space-between; align-items:center; background:var(--ca-ivory2); border:1.5px solid var(--ca-line); padding:.7rem 1rem; cursor:pointer; user-select:none; transition:border-color var(--dur); margin-bottom:.3rem; }
.ca-add-item:hover { border-color:var(--ca-sage); }
.ca-add-item.ca-addon-on { border-color:var(--ca-sage); background:var(--ca-sage-lo); }
.ca-add-lft { display:flex; align-items:center; gap:.5rem; }
.ca-add-cb { width:13px; height:13px; border:1.5px solid var(--ca-line); display:flex; align-items:center; justify-content:center; transition:all var(--dur); flex-shrink:0; }
.ca-add-item.ca-addon-on .ca-add-cb { background:var(--ca-sage); border-color:var(--ca-sage); }
.ca-add-item.ca-addon-on .ca-add-cb::after { content:'\2713'; font-size:.52rem; color:#fff; font-weight:900; font-family:sans-serif; }
.ca-add-lb { font-family:'DM Sans',sans-serif; font-size:.8rem; font-weight:600; color:var(--ca-navy); }
.ca-add-pr { font-family:'DM Serif Display',serif; font-size:1rem; font-style:italic; color:var(--ca-navy); }
.ca-add-item.ca-addon-on .ca-add-pr { color:var(--ca-sage); }
.ca-hrs-box { background:var(--ca-ivory2); border:1.5px solid var(--ca-line); padding:1.1rem; }
.ca-hrs-title { font-family:'DM Sans',sans-serif; font-size:.84rem; font-weight:700; color:var(--ca-navy); }
.ca-hrs-sub { font-family:'DM Sans',sans-serif; font-size:.6rem; color:var(--ca-stone); margin-bottom:.8rem; }
.ca-hrs-row { display:flex; align-items:center; gap:.9rem; }
.ca-hrs-num { font-family:'DM Serif Display',serif; font-size:2.5rem; font-style:italic; color:var(--ca-sage); min-width:2ch; text-align:center; line-height:1; }
.ca-hrs-slider { -webkit-appearance:none; appearance:none; flex:1; height:2px; background:var(--ca-ivory3); outline:none; cursor:pointer; }
.ca-hrs-slider::-webkit-slider-thumb { -webkit-appearance:none; width:13px; height:13px; background:var(--ca-sage); cursor:pointer; border-radius:50%; }
/* Summary */
.ca-sum-panel { background:var(--ca-navy); padding:2rem; position:sticky; top:calc(var(--nav-h)+1.5rem); }
.ca-sum-hd { font-family:'DM Sans',sans-serif; font-size:.44rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:rgba(249,246,240,.2); padding-bottom:.6rem; border-bottom:1px solid rgba(249,246,240,.07); margin-bottom:.6rem; }
.ca-sum-body { min-height:48px; margin-bottom:.6rem; }
.ca-sum-row { display:flex; justify-content:space-between; gap:1rem; font-family:'DM Sans',sans-serif; font-size:.68rem; color:rgba(249,246,240,.35); padding:.2rem 0; border-bottom:1px solid rgba(249,246,240,.05); }
.ca-sum-rv { font-family:'DM Serif Display',serif; font-size:.92rem; font-style:italic; color:var(--ca-ivory); white-space:nowrap; }
.ca-sum-empty { font-family:'DM Sans',sans-serif; font-size:.68rem; color:rgba(249,246,240,.18); font-style:italic; }
.ca-sum-total { display:flex; justify-content:space-between; align-items:baseline; border-top:1px solid rgba(249,246,240,.1); padding-top:.7rem; margin-top:.3rem; }
.ca-sum-tlbl { font-family:'DM Sans',sans-serif; font-size:.42rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(249,246,240,.2); }
.ca-sum-tv { font-family:'DM Serif Display',serif; font-size:3rem; font-style:italic; color:var(--ca-ochre); line-height:1; }
.ca-sum-go { width:100%; background:var(--ca-sage); color:var(--ca-ivory); font-family:'DM Sans',sans-serif; font-size:.68rem; font-weight:700; padding:.85rem; border:none; cursor:pointer; transition:background var(--dur); margin-top:1rem; letter-spacing:.07em; text-transform:uppercase; }
.ca-sum-go:hover { background:var(--ca-sage2); }
.ca-sum-go:disabled { opacity:.2; pointer-events:none; }

/* ── Checkout ── */
.ca-co-pg { padding:calc(var(--nav-h)+4rem) 3rem 6rem; min-height:100vh; background:var(--ca-ivory); }
.ca-co-h1 { font-family:'DM Serif Display',serif; font-size:clamp(3rem,8vw,10rem); color:var(--ca-navy); line-height:.84; margin-bottom:.5rem; }
.ca-co-h1 em { font-style:italic; color:var(--ca-sage); }
.ca-co-sub { font-family:'DM Sans',sans-serif; font-size:.88rem; font-weight:300; color:var(--ca-stone); margin:.4rem 0 2.5rem; max-width:48ch; line-height:1.82; }
.ca-co-cols { display:grid; grid-template-columns:1.4fr 1fr; gap:4rem; align-items:start; }
.ca-field { display:flex; flex-direction:column; gap:.16rem; margin-bottom:.6rem; }
.ca-flbl { font-family:'DM Sans',sans-serif; font-size:.44rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--ca-stone); }
.ca-inp,.ca-sel,.ca-ta { background:#fff; border:1.5px solid var(--ca-line); padding:.74rem 1rem; color:var(--ca-ink); font-family:'DM Sans',sans-serif; font-size:.86rem; outline:none; width:100%; transition:border-color var(--dur); }
.ca-inp:focus,.ca-sel:focus,.ca-ta:focus { border-color:var(--ca-sage); }
.ca-pair { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; }
.ca-tos-row { display:flex; gap:.5rem; align-items:flex-start; font-family:'DM Sans',sans-serif; font-size:.72rem; font-weight:300; color:var(--ca-stone); cursor:pointer; margin-bottom:.9rem; line-height:1.65; }
.ca-tos-row a { color:var(--ca-sage); }
.ca-tos-row input { accent-color:var(--ca-sage); flex-shrink:0; margin-top:3px; }
.ca-pay-btn { width:100%; background:var(--ca-sage); color:var(--ca-ivory); font-family:'DM Sans',sans-serif; font-size:.84rem; font-weight:700; padding:1rem; border:none; cursor:pointer; transition:background var(--dur); display:flex; align-items:center; justify-content:space-between; letter-spacing:.05em; text-transform:uppercase; }
.ca-pay-btn:hover { background:var(--ca-sage2); }
.ca-order-panel { background:var(--ca-navy); padding:2rem; position:sticky; top:calc(var(--nav-h)+1.5rem); }
.ca-order-h { font-family:'DM Sans',sans-serif; font-size:.42rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:rgba(249,246,240,.2); padding-bottom:.5rem; border-bottom:1px solid rgba(249,246,240,.07); margin-bottom:.5rem; }
.ca-order-row { display:flex; justify-content:space-between; gap:1rem; font-family:'DM Sans',sans-serif; font-size:.68rem; color:rgba(249,246,240,.35); padding:.2rem 0; border-bottom:1px solid rgba(249,246,240,.05); }
.ca-order-val { font-family:'DM Serif Display',serif; font-size:.92rem; font-style:italic; color:var(--ca-ivory); }
.ca-order-tv { font-family:'DM Serif Display',serif; font-size:3rem; font-style:italic; color:var(--ca-ochre); line-height:1; }

/* ── Masthead ── */
.ca-mast { min-height:42vh; display:flex; align-items:center; padding:calc(var(--nav-h)+5rem) 3rem 4.5rem; background:var(--ca-navy); position:relative; overflow:hidden; }
.ca-mast-inner { max-width:1100px; position:relative; z-index:1; }
.ca-mast-h1 { font-family:'DM Serif Display',serif; font-size:clamp(4rem,14vw,16rem); color:var(--ca-ivory); line-height:.82; }
.ca-mast-h1 em { font-style:italic; color:var(--ca-ochre); }
.ca-mast-sub { font-family:'DM Sans',sans-serif; font-size:.9rem; font-weight:300; color:rgba(249,246,240,.4); max-width:48ch; line-height:1.88; margin-top:.7rem; }

/* ── Service page ── */
.ca-svcpg { padding:5rem 3rem 8rem; background:var(--ca-ivory); }
.ca-svcpg-cols { display:grid; grid-template-columns:1.8fr 1fr; gap:5rem; }
.ca-svcpg-txt p { font-family:'DM Sans',sans-serif; font-size:.88rem; font-weight:300; color:var(--ca-stone); line-height:1.92; margin-bottom:.9rem; }
.ca-svcpg-txt h3 { font-family:'DM Serif Display',serif; font-size:1.7rem; color:var(--ca-navy); margin:2.5rem 0 .6rem; line-height:1.1; }
.ca-svcpg-hl { border-left:2px solid var(--ca-sage); padding:.7rem 1.1rem; background:var(--ca-sage-lo); margin-bottom:.5rem; font-family:'DM Sans',sans-serif; font-size:.8rem; color:var(--ca-ink); line-height:1.65; }
.ca-price-panel { background:var(--ca-navy); padding:2rem; margin-bottom:1rem; }
.ca-pp-lbl { font-family:'DM Sans',sans-serif; font-size:.42rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:rgba(249,246,240,.22); }
.ca-pp-val { font-family:'DM Serif Display',serif; font-size:4.5rem; font-style:italic; color:var(--ca-ochre); line-height:1; }
.ca-pp-del { font-family:'DM Sans',sans-serif; font-size:.52rem; color:rgba(249,246,240,.28); letter-spacing:.1em; text-transform:uppercase; font-weight:600; margin-bottom:1.5rem; }
.ca-incl-panel { background:var(--ca-ivory2); border:1px solid var(--ca-line); padding:1.3rem; }
.ca-incl-h { font-family:'DM Sans',sans-serif; font-size:.42rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--ca-sage); margin-bottom:.6rem; }
.ca-incl-r { display:flex; gap:.3rem; font-family:'DM Sans',sans-serif; font-size:.74rem; font-weight:300; color:var(--ca-stone); padding:.16rem 0; border-bottom:1px solid var(--ca-line2); }
.ca-incl-r:last-child { border:none; }
.ca-incl-r::before { content:'—'; font-size:.6rem; color:var(--ca-sage); flex-shrink:0; }

/* ── Legal ── */
.ca-legal-pg { padding:calc(var(--nav-h)+3rem) 3rem 6rem; background:var(--ca-ivory); }
.ca-legal-doc { max-width:780px; }
.ca-legal-doc h2 { font-family:'DM Serif Display',serif; font-size:1.5rem; color:var(--ca-navy); margin:2.5rem 0 .5rem; padding-top:2rem; border-top:1px solid var(--ca-line); }
.ca-legal-doc h2:first-child { margin-top:0; padding-top:0; border:none; }
.ca-legal-doc p { font-family:'DM Sans',sans-serif; font-size:.84rem; font-weight:300; color:var(--ca-stone); line-height:1.92; margin-bottom:1rem; }
.ca-legal-doc ul { font-family:'DM Sans',sans-serif; font-size:.84rem; font-weight:300; color:var(--ca-stone); padding-left:1.5rem; list-style:disc; margin-bottom:1rem; line-height:1.82; }
.ca-legal-doc a { color:var(--ca-sage); }
.ca-legal-meta { font-family:'DM Sans',sans-serif; font-size:.66rem; color:var(--ca-stone); margin-bottom:2.5rem; padding-bottom:1rem; border-bottom:1px solid var(--ca-line); }

/* ── Footer — 4-col ── */
.ca-footer { background:var(--ca-navy2); padding:6rem 3rem 3rem; }
.ca-footer-grid { display:grid; grid-template-columns:2.2fr 1fr 1fr 1.2fr; gap:3rem; padding-bottom:4rem; border-bottom:1px solid rgba(249,246,240,.05); margin-bottom:2rem; }
.ca-footer-logo { font-family:'DM Serif Display',serif; font-size:1.1rem; font-style:italic; color:var(--ca-ivory); margin-bottom:.5rem; }
.ca-footer-blurb { font-family:'DM Sans',sans-serif; font-size:.68rem; font-weight:300; color:rgba(249,246,240,.25); max-width:22ch; line-height:1.72; margin-bottom:1rem; }
.ca-footer-biz { font-family:'DM Sans',sans-serif; font-size:.58rem; color:rgba(249,246,240,.14); line-height:2.2; }
.ca-footer-biz a { color:rgba(249,246,240,.14); transition:color var(--dur); }
.ca-footer-biz a:hover { color:var(--ca-ochre); }
.ca-footer-col-h { font-family:'DM Sans',sans-serif; font-size:.44rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:rgba(249,246,240,.18); margin-bottom:.9rem; }
.ca-footer-nav { display:flex; flex-direction:column; gap:.5rem; }
.ca-footer-nav a { font-family:'DM Sans',sans-serif; font-size:.68rem; font-weight:300; color:rgba(249,246,240,.22); transition:color var(--dur); }
.ca-footer-nav a:hover { color:var(--ca-ochre); }
.ca-footer-btm { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; }
.ca-footer-copy { font-family:'DM Sans',sans-serif; font-size:.56rem; color:rgba(249,246,240,.1); }
.ca-footer-leg { display:flex; gap:1.2rem; }
.ca-footer-leg a { font-family:'DM Sans',sans-serif; font-size:.56rem; color:rgba(249,246,240,.1); transition:color var(--dur); }
.ca-footer-leg a:hover { color:var(--ca-ochre); }

/* ── Cookie ── */
.ca-cookie { position:fixed; bottom:0; left:0; right:0; z-index:300; background:var(--ca-navy); border-top:2px solid var(--ca-sage); padding:.6rem 2.5rem; display:flex; align-items:center; justify-content:center; gap:2rem; flex-wrap:wrap; transition:transform .3s; }
.ca-cookie.ca-ck-gone { transform:translateY(110%); pointer-events:none; }
.ca-ck-txt { font-family:'DM Sans',sans-serif; font-size:.66rem; font-weight:300; color:rgba(249,246,240,.5); }
.ca-ck-txt a { color:var(--ca-ochre); }
.ca-ck-btns { display:flex; gap:.4rem; flex-shrink:0; }
.ca-ck-yes { background:var(--ca-sage); color:var(--ca-ivory); font-family:'DM Sans',sans-serif; font-size:.56rem; font-weight:700; padding:.28rem .85rem; border:none; cursor:pointer; letter-spacing:.05em; text-transform:uppercase; }
.ca-ck-no  { background:transparent; color:rgba(249,246,240,.4); font-family:'DM Sans',sans-serif; font-size:.56rem; padding:.28rem .7rem; border:1px solid rgba(249,246,240,.12); cursor:pointer; letter-spacing:.05em; text-transform:uppercase; }

/* ── Chat ── */
.ca-chat-fab { position:fixed; bottom:4.5rem; right:2rem; z-index:299; width:48px; height:48px; background:var(--ca-sage); border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; border:none; box-shadow:0 4px 18px rgba(61,107,79,.35); transition:transform .2s; }
.ca-chat-fab:hover { transform:scale(1.08); }
.ca-chat-fab svg { width:18px; height:18px; color:var(--ca-ivory); }
.ca-chat-win { position:fixed; bottom:7rem; right:2rem; z-index:299; width:295px; background:var(--ca-ivory); border:1px solid var(--ca-line); border-top:2px solid var(--ca-sage); box-shadow:0 20px 60px rgba(26,43,60,.14); opacity:0; pointer-events:none; transform:translateY(6px) scale(.97); transform-origin:bottom right; transition:opacity .2s,transform .2s; }
.ca-chat-win.ca-chat-on { opacity:1; pointer-events:auto; transform:none; }
.ca-chat-top { padding:.75rem 1rem; border-bottom:1px solid var(--ca-line2); display:flex; align-items:center; justify-content:space-between; background:var(--ca-ivory2); }
.ca-chat-dot { width:7px; height:7px; background:var(--ca-sage); border-radius:50%; animation:ca-pulse 2s infinite; }
@keyframes ca-pulse { 0%,100%{opacity:1} 50%{opacity:.35} }
.ca-chat-who-n { font-family:'DM Serif Display',serif; font-size:.88rem; font-style:italic; color:var(--ca-navy); }
.ca-chat-who-c { font-family:'DM Sans',sans-serif; font-size:.48rem; color:var(--ca-stone); }
.ca-chat-x { background:none; border:none; color:var(--ca-stone); cursor:pointer; font-size:.74rem; }
.ca-chat-log { padding:.7rem; height:155px; overflow-y:auto; display:flex; flex-direction:column; gap:.35rem; }
.ca-chat-msg { max-width:92%; padding:.38rem .82rem; font-family:'DM Sans',sans-serif; font-size:.68rem; font-weight:300; line-height:1.55; }
.ca-chat-msg--bot { background:var(--ca-ivory2); color:var(--ca-stone); align-self:flex-start; border-left:2px solid var(--ca-sage); }
.ca-chat-msg--me  { background:var(--ca-navy); color:var(--ca-ivory); font-weight:600; align-self:flex-end; }
.ca-chat-form { display:flex; border-top:1px solid var(--ca-line2); }
.ca-chat-inp { flex:1; background:none; border:none; padding:.52rem .82rem; font-family:'DM Sans',sans-serif; font-size:.68rem; color:var(--ca-ink); outline:none; }
.ca-chat-send { background:var(--ca-sage); color:var(--ca-ivory); border:none; padding:0 .82rem; font-family:'DM Sans',sans-serif; font-size:.56rem; font-weight:700; cursor:pointer; letter-spacing:.05em; text-transform:uppercase; }

/* ── Confirm ── */
.ca-confirm-wrap { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:4rem 2rem; background:var(--ca-ivory); padding-top:var(--nav-h); }
.ca-confirm-box { max-width:440px; width:100%; background:var(--ca-ivory2); border-top:3px solid var(--ca-sage); padding:3.5rem; text-align:center; }

/* ── Reveal ── */
.ca-rev { opacity:0; transform:translateY(12px); transition:opacity .5s ease,transform .5s ease; }
.ca-rev.ca-vis { opacity:1; transform:none; }
.ca-d1{transition-delay:.08s}.ca-d2{transition-delay:.16s}.ca-d3{transition-delay:.24s}

/* ── Responsive ── */
@media(max-width:1100px) {
  .ca-nav-links { display:none; }
  .ca-burger { display:flex; }
  .ca-hero { flex-direction:column; }
  .ca-hero-lft { flex:none; clip-path:none; padding:4rem 2.5rem 5rem; }
  .ca-hero-rgt { flex:none; margin-left:0; padding:3rem 2.5rem; }
  .ca-svc-grid { grid-template-columns:1fr 1fr; }
  .ca-tmon-card { min-width:300px; }
  .ca-about-inner { grid-template-columns:1fr; gap:3rem; }
  .ca-proc-cols { grid-template-columns:1fr 1fr; }
  .ca-faq-cols { grid-template-columns:1fr; }
  .ca-price-grid { grid-template-columns:1fr 1fr; }
  .ca-footer-grid { grid-template-columns:1fr 1fr; }
  .ca-build-cols,.ca-co-cols { grid-template-columns:1fr; }
  .ca-svcpg-cols { grid-template-columns:1fr; }
}
@media(max-width:720px) {
  .ca-svc-grid { grid-template-columns:1fr; }
  .ca-price-grid { grid-template-columns:1fr; }
  .ca-footer-grid { grid-template-columns:1fr; }
  .ca-pair { grid-template-columns:1fr; }
  .ca-hero-svc-grid { grid-template-columns:1fr 1fr; }
}
