/* CWAIN Services stylesheet */
.nav-logo-img { height:56px; width:auto; display:block; transition:opacity .3s; }
.nav-logo-img:hover { opacity:.85; }
.footer-logo-img { height:80px; width:auto; display:block; margin:0 auto 16px; }

:root {
  --black:#080c0e; --deep:#0d1417; --surface:#111820; --surface-2:#17212a;
  --border:rgba(255,255,255,0.07); --gold:#c9a84c; --gold-light:#e8c97a;
  --gold-dim:rgba(201,168,76,0.15); --white:#f0ebe0; --muted:#7a8a94; --text:#c8d4d8;
  --font-serif:"Cormorant Garamond",Georgia,serif;
  --font-sans:"Barlow",sans-serif; --font-mono:"DM Mono",monospace;
  --nav-h:72px; --max-w:1280px; --section-py:clamp(80px,10vw,140px);
  --ease:cubic-bezier(0.16,1,0.3,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;}
body{background:var(--black);color:var(--text);font-family:var(--font-sans);font-weight:300;line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased;}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}

.section-tag{font-family:var(--font-mono);font-size:.7rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:1.5rem;}
.section-headline{font-family:var(--font-serif);font-size:clamp(2.4rem,5vw,4rem);font-weight:300;line-height:1.1;color:var(--white);letter-spacing:-.01em;}
.section-headline em{font-style:italic;color:var(--gold-light);}
.mono{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);}
.section-inner{max-width:var(--max-w);margin:0 auto;padding:var(--section-py) clamp(20px,5vw,60px);}
.section-header{margin-bottom:clamp(48px,6vw,80px);}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:.12s;} .reveal-delay-2{transition-delay:.24s;}
.reveal-delay-3{transition-delay:.36s;} .reveal-delay-4{transition-delay:.48s;}

#navbar{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-h);background:transparent;transition:background .4s,border-color .4s;border-bottom:1px solid transparent;}
#navbar.scrolled{background:rgba(8,12,14,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom-color:var(--border);}
.nav-inner{max-width:var(--max-w);margin:0 auto;padding:0 clamp(20px,5vw,60px);height:100%;display:flex;align-items:center;justify-content:space-between;}
.nav-logo{display:flex;align-items:center;}
.nav-links{display:flex;list-style:none;gap:clamp(24px,3vw,44px);align-items:center;}
.nav-link{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);transition:color .3s;}
.nav-link:hover{color:var(--white);}
.nav-link.nav-cta{color:var(--gold);border:1px solid var(--gold-dim);padding:8px 18px;border-radius:2px;transition:background .3s,color .3s;}
.nav-link.nav-cta:hover{background:var(--gold);color:var(--black);}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.nav-toggle span{display:block;width:24px;height:1.5px;background:var(--white);transition:all .3s;}

#hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding-top:var(--nav-h);}
.hero-bg{position:absolute;inset:0;pointer-events:none;}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(201,168,76,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(201,168,76,.04) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 0%,transparent 80%);}
.hero-gradient{position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 70% 40%,rgba(201,168,76,.06) 0%,transparent 60%),linear-gradient(180deg,var(--black) 0%,var(--deep) 100%);}
.hero-content{position:relative;max-width:var(--max-w);margin:0 auto;padding:clamp(60px,10vw,120px) clamp(20px,5vw,60px) 40px;width:100%;}
.hero-eyebrow{display:flex;align-items:center;gap:16px;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:2rem;}
.eyebrow-line{display:block;width:40px;height:1px;background:var(--gold);opacity:.5;}
.hero-headline{font-family:var(--font-serif);font-size:clamp(3rem,8vw,7rem);font-weight:300;line-height:1;color:var(--white);letter-spacing:-.02em;margin-bottom:2rem;max-width:800px;}
.hero-headline em{font-style:italic;color:var(--gold-light);display:block;}
.hero-sub{max-width:640px;font-size:clamp(1rem,1.4vw,1.1rem);line-height:1.75;color:var(--text);margin-bottom:2.5rem;}
.hero-sub strong{color:var(--white);font-weight:500;}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;}

.btn-primary{display:inline-flex;align-items:center;gap:10px;background:var(--gold);color:var(--black);font-family:var(--font-mono);font-size:.7rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;padding:14px 28px;border-radius:2px;transition:background .3s,transform .2s;}
.btn-primary:hover{background:var(--gold-light);transform:translateY(-1px);}
.btn-ghost{display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--white);font-family:var(--font-mono);font-size:.7rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;padding:14px 28px;border:1px solid var(--border);border-radius:2px;transition:border-color .3s,color .3s;}
.btn-ghost:hover{border-color:rgba(255,255,255,.3);}

.hero-stat-bar{position:relative;max-width:var(--max-w);margin:0 auto;padding:32px clamp(20px,5vw,60px);width:100%;display:flex;align-items:center;border-top:1px solid var(--border);}
.stat{flex:1;display:flex;flex-direction:column;gap:6px;padding:0 24px;}
.stat:first-child{padding-left:clamp(20px,5vw,60px);}
.stat-num{font-family:var(--font-serif);font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:300;color:var(--white);line-height:1;}
.stat-num sup{font-size:.55em;color:var(--gold);vertical-align:super;}
.stat-label{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.stat-divider{width:1px;height:50px;background:var(--border);}
.hero-scroll-cue{position:absolute;bottom:32px;right:clamp(20px,5vw,60px);display:flex;flex-direction:column;align-items:center;gap:12px;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);writing-mode:vertical-rl;}
.scroll-line{display:block;width:1px;height:48px;background:linear-gradient(to bottom,var(--gold) 0%,transparent 100%);animation:scrollPulse 2s ease-in-out infinite;}
@keyframes scrollPulse{0%,100%{opacity:.4;}50%{opacity:1;}}

#gap{background:var(--deep);position:relative;}
#gap::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--gold) 50%,transparent 100%);opacity:.2;}
.gap-layout{display:grid;grid-template-columns:200px 1fr;gap:60px;align-items:start;}
.gap-label{padding-top:12px;}
.gap-label .section-tag{writing-mode:vertical-rl;letter-spacing:.22em;transform:rotate(180deg);margin-bottom:0;}
.gap-columns{display:grid;grid-template-columns:1fr auto 1fr;gap:0;margin:48px 0;}
.gap-card{padding:40px;background:var(--surface);border:1px solid var(--border);border-radius:4px;}
.gap-card h3{font-family:var(--font-serif);font-size:1.4rem;font-weight:400;color:var(--white);margin:16px 0 14px;}
.gap-card p{font-size:.95rem;line-height:1.75;}
.gap-card-icon{width:44px;height:44px;color:var(--muted);}
.gap-card-icon--gold{color:var(--gold);}
.gap-divider-vert{width:1px;background:var(--border);margin:20px 0;flex-shrink:0;}
.gap-quote{border-left:2px solid var(--gold);padding:16px 24px;margin-top:16px;}
.gap-quote blockquote{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.2rem,2.5vw,1.6rem);font-weight:300;color:var(--gold-light);line-height:1.4;}

#expertise{background:var(--black);}
.expertise-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2px;background:var(--border);border:1px solid var(--border);border-radius:4px;overflow:hidden;}
.expertise-card{background:var(--surface);padding:clamp(28px,4vw,44px);position:relative;transition:background .3s;}
.expertise-card:hover{background:var(--surface-2);}
.expertise-card--featured{background:var(--surface-2);border:1px solid var(--gold-dim);}
.expertise-num{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.18em;color:var(--gold);margin-bottom:20px;opacity:.7;}
.expertise-icon{width:48px;height:48px;color:var(--muted);margin-bottom:20px;transition:color .3s;}
.expertise-card:hover .expertise-icon,.expertise-card--featured .expertise-icon{color:var(--gold);}
.expertise-card h3{font-family:var(--font-serif);font-size:1.35rem;font-weight:400;color:var(--white);margin-bottom:12px;}
.expertise-card p{font-size:.9rem;line-height:1.7;margin-bottom:20px;}
.expertise-tag{display:inline-block;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);padding:5px 10px;border-radius:2px;}
.expertise-tag--gold{color:var(--gold);border-color:var(--gold-dim);}

#infrastructure{background:var(--deep);}
.case-study{background:var(--surface);border:1px solid var(--border);border-radius:4px;overflow:hidden;padding:clamp(32px,5vw,60px);position:relative;}
.case-study::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold) 0%,var(--gold-light) 50%,var(--gold) 100%);}
.case-study-label{display:flex;align-items:center;gap:20px;margin-bottom:24px;}
.case-divider{display:block;flex:1;height:1px;background:var(--border);}
.case-title{font-family:var(--font-serif);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:300;color:var(--white);margin-bottom:40px;line-height:1.25;}
.case-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:40px;align-items:center;margin-bottom:40px;}
.case-block-label{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;}
.case-block p{font-size:.9rem;line-height:1.7;}
.case-block--result{border-left:1px solid var(--gold-dim);padding-left:40px;}
.case-arrow{color:var(--gold);opacity:.5;width:60px;flex-shrink:0;}
.case-outcomes{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--border);padding-top:32px;}
.outcome{display:flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;color:var(--text);}
.outcome-icon{color:var(--gold);font-size:.6rem;}

#authority{position:relative;overflow:hidden;background:var(--black);}
.authority-bg{position:absolute;inset:0;background:radial-gradient(ellipse 70% 70% at 50% 50%,rgba(201,168,76,.04) 0%,transparent 70%);}
.authority-inner{display:grid;grid-template-columns:auto 1fr;gap:clamp(40px,6vw,100px);align-items:center;position:relative;}
.authority-number{font-family:var(--font-serif);font-size:clamp(6rem,14vw,16rem);font-weight:300;color:transparent;-webkit-text-stroke:1px rgba(201,168,76,.2);line-height:.9;white-space:nowrap;}
.authority-number sup{font-size:.35em;vertical-align:super;}
.authority-body{font-size:clamp(1rem,1.3vw,1.1rem);line-height:1.8;max-width:600px;margin:1.5rem 0 2rem;}
.authority-tags{display:flex;flex-wrap:wrap;gap:8px;}
.atag{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);padding:7px 14px;border-radius:2px;transition:border-color .3s,color .3s;}
.atag:hover{border-color:var(--gold-dim);color:var(--gold);}

#contact{background:var(--surface);border-top:1px solid var(--border);}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px);align-items:start;}
.contact-sub{font-size:.95rem;line-height:1.7;margin:1.5rem 0 2rem;color:var(--muted);max-width:400px;}
.contact-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.contact-link{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;color:var(--gold);transition:color .3s;}
.contact-link:hover{color:var(--gold-light);}
.contact-dot{color:var(--border);}
.project-form{background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:clamp(28px,4vw,48px);position:relative;}
.project-form::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold) 0%,var(--gold-light) 50%,var(--gold) 100%);border-radius:4px 4px 0 0;}
.form-group{margin-bottom:24px;}
.form-group label{display:block;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.form-group input,.form-group textarea{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:2px;color:var(--white);font-family:var(--font-sans);font-size:.95rem;font-weight:300;padding:13px 16px;outline:none;transition:border-color .3s,box-shadow .3s;resize:vertical;}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(122,138,148,.5);}
.form-group input:focus,.form-group textarea:focus{border-color:rgba(201,168,76,.4);box-shadow:0 0 0 3px rgba(201,168,76,.06);}
.btn-submit{width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--gold);color:var(--black);border:none;cursor:pointer;padding:16px 24px;border-radius:2px;transition:background .3s,transform .2s;margin-top:8px;}
.btn-submit:hover{background:var(--gold-light);transform:translateY(-1px);}
.btn-submit-text{font-family:var(--font-mono);font-size:.7rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;}
.btn-submit-arrow svg{width:40px;height:14px;transition:transform .3s;}
.btn-submit:hover .btn-submit-arrow svg{transform:translateX(4px);}
.form-success{display:none;align-items:center;gap:14px;padding:16px 20px;background:rgba(201,168,76,.08);border:1px solid var(--gold-dim);border-radius:2px;margin-top:16px;}
.form-success.visible{display:flex;}
.form-success svg{width:20px;height:20px;color:var(--gold);flex-shrink:0;}
.form-success p{font-size:.85rem;color:var(--text);line-height:1.5;}

#footer{background:var(--black);border-top:1px solid var(--border);padding:60px clamp(20px,5vw,60px) 40px;}
.footer-inner{max-width:var(--max-w);margin:0 auto;text-align:center;}
.footer-logo{display:flex;justify-content:center;margin-bottom:12px;}
.footer-tagline{font-family:var(--font-serif);font-style:italic;font-size:1.05rem;color:var(--muted);margin-bottom:32px;}
.footer-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:24px;margin-bottom:40px;}
.footer-nav a{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);transition:color .3s;}
.footer-nav a:hover{color:var(--gold);}
.footer-bottom{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.12em;color:rgba(122,138,148,.4);border-top:1px solid var(--border);padding-top:24px;}

@media(max-width:1024px){.gap-layout{grid-template-columns:1fr;}.gap-label .section-tag{writing-mode:horizontal-tb;transform:none;}.authority-inner{grid-template-columns:1fr;}}
@media(max-width:768px){
  .nav-links{display:none;position:fixed;top:var(--nav-h);left:0;right:0;background:rgba(8,12,14,.97);flex-direction:column;padding:32px clamp(20px,5vw,40px);gap:24px;border-bottom:1px solid var(--border);}
  .nav-links.open{display:flex;} .nav-toggle{display:flex;}
  .hero-stat-bar{flex-direction:column;gap:24px;align-items:flex-start;padding-left:clamp(20px,5vw,60px);}
  .stat{padding-left:0!important;} .stat-divider{width:40px;height:1px;}
  .gap-columns{grid-template-columns:1fr;} .gap-divider-vert{width:100%;height:1px;margin:0;}
  .case-grid{grid-template-columns:1fr;} .case-arrow{transform:rotate(90deg);margin:0 auto;}
  .case-block--result{border-left:none;padding-left:0;border-top:1px solid var(--gold-dim);padding-top:24px;}
  .contact-layout{grid-template-columns:1fr;} .expertise-grid{grid-template-columns:1fr;}
  .hero-scroll-cue{display:none;}
}
@media(max-width:480px){.hero-actions{flex-direction:column;}.btn-primary,.btn-ghost{justify-content:center;}}
