/* Code Canvas Creations — main.css */
:root{--gold:#C9A96E;--gold-l:#E8D5A3;--gold-d:#8B6914;--black:#070707;--deep:#0C0C0C;--s1:#111111;--s2:#161616;--s3:#1C1C1C;--text:#EAE2D4;--dim:#777777;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Jost',sans-serif}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--black);color:var(--text);font-family:var(--sans);font-weight:300;overflow-x:hidden;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit;transition:color .3s}
ul{list-style:none}

/* ── Grain ── */
body::after{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.03'/%3E%3C/svg%3E");pointer-events:none;z-index:999;opacity:.45}

/* ── Cursor ── */
#ccc-cursor{width:6px;height:6px;background:var(--gold);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transform:translate(-50%,-50%)}
#ccc-cursor-ring{width:30px;height:30px;border:1px solid rgba(201,169,110,.4);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:all .14s ease}

/* ── NAV ── */
.ccc-nav{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:24px 56px;z-index:100;background:linear-gradient(to bottom,rgba(7,7,7,.97),transparent);transition:background .3s}
.ccc-nav.scrolled{background:rgba(7,7,7,.97)}
.ccc-nav-logo{font-family:var(--serif);font-size:18px;font-weight:600;letter-spacing:4px;color:var(--gold);text-transform:uppercase}
.ccc-nav-logo span{color:var(--text);font-weight:300}
.ccc-nav-menu{display:flex;gap:36px}
.ccc-nav-menu a{color:var(--dim);font-size:11px;letter-spacing:2.5px;text-transform:uppercase;transition:color .3s}
.ccc-nav-menu a:hover,.ccc-nav-menu a.current-menu-item{color:var(--gold)}
.ccc-nav-cta{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);border:1px solid rgba(201,169,110,.35);padding:9px 22px;transition:all .3s}
.ccc-nav-cta:hover{background:rgba(201,169,110,.07)}
.ccc-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.ccc-hamburger span{width:24px;height:1px;background:var(--gold);display:block;transition:all .3s}

/* ── Mobile Overlay ── */
.ccc-mobile-overlay{position:fixed;inset:0;background:rgba(7,7,7,.97);z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;transform:translateX(100%);transition:transform .35s ease}
.ccc-mobile-overlay.open{transform:translateX(0)}
.ccc-mobile-close{position:absolute;top:28px;right:32px;background:none;border:none;font-size:20px;color:var(--dim);cursor:pointer}
.ccc-mobile-nav{display:flex;flex-direction:column;align-items:center;gap:20px}
.ccc-mobile-nav a{font-size:24px;font-family:var(--serif);font-weight:300;color:var(--text);letter-spacing:2px;transition:color .3s}
.ccc-mobile-nav a:hover{color:var(--gold)}

/* ── Buttons ── */
.ccc-btn-primary{display:inline-block;background:linear-gradient(135deg,var(--gold-d),var(--gold));color:var(--black);font-family:var(--sans);font-size:10px;letter-spacing:2.5px;text-transform:uppercase;padding:15px 34px;font-weight:500;transition:opacity .3s;border:none}
.ccc-btn-primary:hover{opacity:.85;color:var(--black)}
.ccc-btn-outline{display:inline-block;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);border:1px solid rgba(201,169,110,.35);padding:15px 28px;transition:all .3s}
.ccc-btn-outline:hover{background:rgba(201,169,110,.07);border-color:var(--gold);color:var(--gold)}
.ccc-btn-ghost{color:var(--dim);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;transition:color .3s;display:inline-flex;align-items:center;gap:8px}
.ccc-btn-ghost:hover{color:var(--gold)}

/* ── Section labels / titles ── */
.ccc-sec-label,.ccc-sec-title{--serif:'Cormorant Garamond',Georgia,serif}
.ccc-sec-label{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:12px;margin-bottom:14px}
.ccc-sec-label::before{content:'';width:28px;height:1px;background:var(--gold)}
.ccc-sec-title{font-family:var(--serif);font-size:clamp(32px,4.2vw,54px);font-weight:300;line-height:1.1;margin-bottom:16px}
.ccc-sec-title em{font-style:italic;color:var(--gold-l)}

/* ── HERO ── */
.ccc-hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:140px 56px 80px;position:relative;overflow:hidden;border-bottom:1px solid rgba(201,169,110,.1)}
.ccc-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 75% 50%,rgba(201,169,110,.07) 0%,transparent 70%),radial-gradient(ellipse 40% 40% at 20% 80%,rgba(201,169,110,.04) 0%,transparent 60%)}
.ccc-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(201,169,110,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(201,169,110,.025) 1px,transparent 1px);background-size:80px 80px}
.ccc-hero-tag{font-size:10px;letter-spacing:4.5px;text-transform:uppercase;color:var(--gold);margin-bottom:28px;display:flex;align-items:center;gap:14px;position:relative;z-index:1}
.ccc-hero-tag::before{content:'';width:36px;height:1px;background:var(--gold)}
.ccc-hero-title{font-family:var(--serif);font-size:clamp(48px,7vw,92px);font-weight:300;line-height:1.03;max-width:860px;margin-bottom:28px;position:relative;z-index:1}
.ccc-hero-title em{font-style:italic;color:var(--gold-l)}
.ccc-hero-subtitle{font-size:14px;line-height:2;color:var(--dim);max-width:520px;margin-bottom:48px;position:relative;z-index:1}
.ccc-hero-actions{display:flex;gap:20px;align-items:center;position:relative;z-index:1}
.ccc-hero-stats{position:absolute;right:56px;bottom:80px;display:flex;flex-direction:column;gap:24px;z-index:1;text-align:right}
.ccc-stat-n{font-family:var(--serif);font-size:36px;font-weight:300;color:var(--gold);line-height:1}
.ccc-stat-l{font-size:9px;letter-spacing:2.5px;color:var(--dim);text-transform:uppercase;margin-top:4px}
.ccc-stat-div{width:1px;height:36px;background:rgba(201,169,110,.2);align-self:flex-end}

/* ── Hero animations ── */
.ccc-anim-1{animation:cccUp .9s ease .1s both}
.ccc-anim-2{animation:cccUp .9s ease .25s both}
.ccc-anim-3{animation:cccUp .9s ease .4s both}
.ccc-anim-4{animation:cccUp .9s ease .55s both}
.ccc-anim-5{animation:cccUp .9s ease .7s both}
@keyframes cccUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

/* ── Marquee ── */
.ccc-marquee-wrap{border-top:1px solid rgba(201,169,110,.12);border-bottom:1px solid rgba(201,169,110,.12);padding:18px 0;overflow:hidden;background:rgba(201,169,110,.02)}
.ccc-marquee{display:flex;gap:60px;white-space:nowrap;animation:cccMarquee 22s linear infinite}
.ccc-marquee-item{font-size:10px;letter-spacing:3.5px;text-transform:uppercase;color:var(--dim);flex-shrink:0;display:flex;align-items:center;gap:20px}
.ccc-marquee-item::after{content:'✦';color:var(--gold);font-size:8px}
@keyframes cccMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── Services ── */
.ccc-services{padding:120px 56px}
.ccc-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(201,169,110,.12)}
.ccc-svc-card{background:var(--deep);padding:48px 38px;position:relative;overflow:hidden;transition:background .4s}
.ccc-svc-card:hover{background:rgba(201,169,110,.04)}
.ccc-svc-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--gold),transparent);transform:scaleX(0);transition:transform .4s}
.ccc-svc-card:hover::before{transform:scaleX(1)}
.ccc-svc-num{font-family:var(--serif);font-size:48px;font-weight:300;color:rgba(201,169,110,.13);position:absolute;top:22px;right:26px;line-height:1}
.ccc-svc-icon{width:44px;height:44px;border:1px solid rgba(201,169,110,.3);display:flex;align-items:center;justify-content:center;font-size:18px;margin-bottom:22px;transition:border-color .3s}
.ccc-svc-card:hover .ccc-svc-icon{border-color:var(--gold)}
.ccc-svc-name{font-family:var(--serif);font-size:22px;font-weight:400;margin-bottom:12px}
.ccc-svc-desc{font-size:12px;line-height:1.85;color:var(--dim)}
.ccc-svc-stat{margin-top:18px;padding-top:16px;border-top:1px solid rgba(201,169,110,.1)}
.ccc-svc-stat-n{font-family:var(--serif);font-size:28px;font-weight:300;color:var(--gold);line-height:1}
.ccc-svc-stat-l{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--dim);margin-top:4px}

/* ── Process ── */
.ccc-process{padding:120px 56px;background:var(--s1)}
.ccc-process-steps{display:flex;gap:0;margin-top:64px;position:relative}
.ccc-process-steps::before{content:'';position:absolute;top:26px;left:26px;right:26px;height:1px;background:linear-gradient(to right,var(--gold-d),rgba(201,169,110,.2))}
.ccc-step{flex:1;padding:0 26px}
.ccc-step-dot{width:52px;height:52px;border:1px solid rgba(201,169,110,.4);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:16px;color:var(--gold);margin-bottom:26px;background:var(--s1);position:relative;z-index:1;transition:all .3s}
.ccc-step:hover .ccc-step-dot{background:rgba(201,169,110,.1);border-color:var(--gold)}
.ccc-step-title{font-family:var(--serif);font-size:20px;margin-bottom:10px}
.ccc-step-desc{font-size:11px;line-height:1.85;color:var(--dim)}

/* ── Case Studies ── */
.ccc-cs-section{padding:100px 56px;background:var(--s1)}
.ccc-cs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(201,169,110,.1)}
.ccc-cs-card{background:var(--black);overflow:hidden;transition:background .35s}
.ccc-cs-card:hover{background:var(--s2)}
.ccc-cs-visual{height:200px;background:var(--s3);position:relative;overflow:hidden}
.ccc-cs-vgrid{position:absolute;inset:0;background-image:linear-gradient(rgba(201,169,110,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(201,169,110,.05) 1px,transparent 1px);background-size:28px 28px}
.ccc-cs-vmetric{position:absolute;bottom:20px;left:22px}
.ccc-cs-vn{font-family:var(--serif);font-size:44px;font-weight:300;color:var(--gold);line-height:1}
.ccc-cs-vl{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--dim);margin-top:3px}
.ccc-cs-body{padding:26px 22px}
.ccc-cs-name{font-family:var(--serif);font-size:22px;font-weight:400;margin-bottom:4px}
.ccc-cs-ind{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:var(--dim);margin-bottom:10px}
.ccc-cs-sum{font-size:12px;line-height:1.8;color:var(--dim);margin-bottom:16px}
.ccc-cs-results{display:flex;gap:18px;padding-top:14px;border-top:1px solid rgba(201,169,110,.08)}
.ccc-cs-rn{font-family:var(--serif);font-size:22px;font-weight:300;color:var(--gold);line-height:1}
.ccc-cs-rl{font-size:8px;letter-spacing:1.5px;text-transform:uppercase;color:var(--dim);margin-top:3px}

/* ── Stats bar ── */
.ccc-stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(201,169,110,.1);border-top:1px solid rgba(201,169,110,.1);border-bottom:1px solid rgba(201,169,110,.1)}
.ccc-sb-item{background:var(--s1);padding:38px 20px;text-align:center}
.ccc-sb-n{font-family:var(--serif);font-size:44px;font-weight:300;color:var(--gold);line-height:1}
.ccc-sb-l{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:var(--dim);margin-top:8px}

/* ── Team ── */
.ccc-team{padding:100px 56px}
.ccc-team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(201,169,110,.1)}
.ccc-member{background:var(--black);overflow:hidden;transition:background .35s}
.ccc-member:hover{background:var(--s2)}
.ccc-member-av{height:240px;background:var(--s3);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.ccc-member-photo{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.ccc-member-initials{font-family:var(--serif);font-size:52px;font-weight:300;color:rgba(201,169,110,.25);line-height:1}
.ccc-member-info{padding:22px}
.ccc-member-name{font-family:var(--serif);font-size:20px;font-weight:400;margin-bottom:4px}
.ccc-member-role{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.ccc-member-bio{font-size:11px;line-height:1.8;color:var(--dim)}

/* ── CTA ── */
.ccc-cta{padding:120px 56px;text-align:center;position:relative;overflow:hidden}
.ccc-cta-bg{position:absolute;inset:0;background:radial-gradient(ellipse 70% 55% at 50% 50%,rgba(201,169,110,.06) 0%,transparent 70%)}
.ccc-cta-title{font-family:var(--serif);font-size:clamp(40px,5.5vw,70px);font-weight:300;line-height:1.08;margin:18px auto 20px;max-width:700px;position:relative;z-index:1}
.ccc-cta-title em{font-style:italic;color:var(--gold-l)}
.ccc-cta-sub{font-size:13px;color:var(--dim);margin-bottom:48px;position:relative;z-index:1}
.ccc-cta-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;position:relative;z-index:1}

/* ── Form ── */
.ccc-fld{margin-bottom:16px}
.ccc-flbl{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--dim);margin-bottom:7px;display:block}
.ccc-finput{width:100%;background:var(--s3);border:1px solid rgba(201,169,110,.15);color:var(--text);font-family:var(--sans);font-size:13px;font-weight:300;padding:13px 15px;outline:none;transition:border-color .3s;-webkit-appearance:none;appearance:none}
.ccc-finput:focus{border-color:rgba(201,169,110,.5)}
.ccc-finput::placeholder{color:rgba(119,119,119,.5)}

/* ── Footer ── */
.ccc-footer{padding:60px 56px 38px;border-top:1px solid rgba(201,169,110,.1)}
.ccc-footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:56px;margin-bottom:52px}
.ccc-footer-logo{font-family:var(--serif);font-size:24px;font-weight:600;color:var(--gold);letter-spacing:4px;margin-bottom:14px}
.ccc-footer-tagline{font-size:12px;color:var(--dim);line-height:1.8;max-width:260px}
.ccc-footer-col-title{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.ccc-footer-links{display:flex;flex-direction:column;gap:10px}
.ccc-footer-links a,.ccc-footer-links span{font-size:12px;color:var(--dim);transition:color .3s;line-height:1.6}
.ccc-footer-links a:hover{color:var(--gold)}
.ccc-footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:26px;border-top:1px solid rgba(201,169,110,.08);flex-wrap:wrap;gap:12px}
.ccc-footer-copy{font-size:10px;color:var(--dim)}
.ccc-footer-social{display:flex;gap:10px}
.ccc-social-btn{width:34px;height:34px;border:1px solid rgba(201,169,110,.2);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--dim);transition:all .3s}
.ccc-social-btn:hover{border-color:var(--gold);color:var(--gold)}

/* ── Scroll Reveal ── */
.ccc-rv{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease}
.ccc-rv.ccc-vis{opacity:1;transform:translateY(0)}
.ccc-d1{transition-delay:.12s}.ccc-d2{transition-delay:.24s}.ccc-d3{transition-delay:.36s}

/* ── Responsive ── */
@media(max-width:1024px){
  .ccc-nav{padding:20px 32px}
  .ccc-services-grid{grid-template-columns:1fr 1fr}
  .ccc-process-steps{flex-direction:column;gap:28px}
  .ccc-process-steps::before{display:none}
  .ccc-cs-grid{grid-template-columns:1fr 1fr}
  .ccc-team-grid{grid-template-columns:1fr 1fr}
  .ccc-stats-bar{grid-template-columns:1fr 1fr}
  .ccc-footer-top{grid-template-columns:1fr 1fr;gap:36px}
  .ccc-hero-stats{display:none}
}
@media(max-width:768px){
  .ccc-nav-menu,.ccc-nav-cta{display:none}
  .ccc-hamburger{display:flex}
  .ccc-hero{padding:120px 24px 60px}
  .ccc-hero-title{font-size:clamp(36px,8vw,56px)}
  .ccc-services,.ccc-process,.ccc-cs-section,.ccc-team,.ccc-cta{padding:60px 24px}
  .ccc-services-grid,.ccc-cs-grid,.ccc-team-grid{grid-template-columns:1fr}
  .ccc-stats-bar{grid-template-columns:1fr 1fr}
  .ccc-footer{padding:40px 24px 28px}
  .ccc-footer-top{grid-template-columns:1fr}
}
