/*
Theme Name: Capital Wings
Theme URI: https://example.com/
Author: Capital Wings Ventures Private Limited
Description: Cinematic scroll-story theme for Capital Wings Ventures Private Limited. Pages: Home, About, Services, Contact. Works with Elementor (header/footer locations and page content are supported).
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: capital-wings
*/
:root{--ivory:#F7F2E8;--orange:#E97832;--orange-ink:#B4501A;--green:#285B45;--dark:#101713;--ink:#1c2a23;--paper:#FBF8F1}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
html.cw-lock{overflow:hidden}
body{margin:0;background:var(--ivory);color:var(--ink);font:400 17px/1.65 Lato,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:Montserrat,system-ui,sans-serif;line-height:1.15;margin:0 0 .5em;color:var(--green)}
h1{font-size:clamp(2.1rem,4.6vw,3.8rem);font-weight:800;letter-spacing:-.01em}
h2{font-size:clamp(1.6rem,3vw,2.5rem);font-weight:700}
h3{font-size:1.2rem;font-weight:600}
p{margin:0 0 1em}
a{color:var(--orange-ink)}
img{max-width:100%;height:auto;display:block}
.wrap{width:min(1120px,100% - 48px);margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.btn{display:inline-block;background:var(--orange);color:var(--dark);font:700 .95rem Montserrat,sans-serif;padding:.95em 1.7em;border-radius:3px;text-decoration:none;border:0;cursor:pointer;transition:background .2s,transform .2s}
.btn:hover{background:#f08b4b;transform:translateY(-2px)}
.btn--sm{padding:.6em 1.2em;font-size:.85rem}
.link{font:600 .95rem Montserrat,sans-serif;color:inherit;text-decoration:none;border-bottom:2px solid var(--orange);padding-bottom:2px}

/* header */
.site-header{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:18px max(24px,4vw);color:var(--ivory);transition:background .3s,padding .3s}
.site-header.solid{background:rgba(16,23,19,.92);backdrop-filter:blur(8px);padding-block:12px}
.brand a{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}
.brand-mark{width:38px;height:38px}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-text strong{font:800 1.1rem Montserrat,sans-serif}
.brand-text small{font-size:.72rem;opacity:.8}
.nav{display:flex;align-items:center;gap:28px}
.menu{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.menu a{color:inherit;text-decoration:none;font:600 .92rem Montserrat,sans-serif;padding:6px 0;border-bottom:2px solid transparent}
.menu a:hover,.menu .current-menu-item a{border-color:var(--orange)}
.menu-btn{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}
.menu-btn span:not(.sr){position:absolute;left:10px;right:10px;height:2px;background:var(--ivory);transition:transform .25s}
.menu-btn span:nth-child(1){top:16px}.menu-btn span:nth-child(2){top:26px}
@media(max-width:820px){
 .menu-btn{display:block}
 .nav{position:fixed;inset:0 0 auto;top:0;padding:90px 24px 28px;flex-direction:column;align-items:flex-start;background:var(--dark);transform:translateY(-110%);transition:transform .35s}
 .menu{flex-direction:column;gap:14px}
 body.menu-open .nav{transform:none}
 .site-header{z-index:60}
 .menu-btn{position:relative;z-index:70}
 .brand{position:relative;z-index:70}
 body.menu-open .menu-btn span:nth-child(1){transform:translateY(5px) rotate(45deg)}
 body.menu-open .menu-btn span:nth-child(2){transform:translateY(-5px) rotate(-45deg)}
}

/* inner pages */
.page-hero{background:var(--green);color:var(--ivory);padding:170px 0 80px}
.page-hero h1{color:var(--ivory);margin-bottom:.3em}
.lede{max-width:56ch;font-size:1.15rem;opacity:.92;margin-top:1.2em}
.uline-static{display:block;width:120px;height:3px;background:var(--orange);position:relative}
.uline-static::after{content:"";position:absolute;right:-9px;top:-7px;width:17px;height:17px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 6px rgba(233,120,50,.25)}
.block{padding:90px 0}
.block--tint{background:#EFE8D8}
.block--green{background:var(--dark);color:var(--ivory)}
.block--green h2,.block--green h3{color:var(--ivory)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split--rev>:first-child{order:2}
.photo img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:4px;box-shadow:0 24px 50px -24px rgba(16,23,19,.55)}
.ticks{list-style:none;padding:0;margin:0 0 1.6em}
.ticks li{padding:.4em 0 .4em 1.8em;position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:.95em;width:.9em;height:2px;background:var(--orange)}
.ico{width:72px;height:72px;border-radius:50%;border:1.5px solid currentColor;display:grid;place-items:center;margin:0 auto 20px}
.ico svg{width:34px;height:34px}
.ico--solid{background:var(--green);border-color:var(--green);color:var(--ivory);margin:0 0 20px}
.steps{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative;counter-reset:s}
.steps::before{content:"";position:absolute;left:0;right:0;top:11px;height:2px;background:rgba(247,242,232,.25)}
.steps li{position:relative;padding-top:44px;counter-increment:s}
.steps li::before{content:counter(s);position:absolute;top:0;left:0;width:24px;height:24px;border-radius:50%;background:var(--orange);color:var(--dark);font:800 .8rem/24px Montserrat,sans-serif;text-align:center}
.why{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0}
.why li{padding:26px 24px;border-left:3px solid var(--orange)}
.details{margin:0 0 32px}
.details dt{font:700 .85rem Montserrat,sans-serif;color:var(--green);margin-top:14px}
.details dd{margin:0}
.form{display:grid;gap:16px;background:var(--paper);padding:36px;border-radius:4px;box-shadow:0 24px 50px -28px rgba(16,23,19,.5);border-top:4px solid var(--orange)}
.form label{display:grid;gap:6px;font:600 .88rem Montserrat,sans-serif;color:var(--green)}
.form input,.form select,.form textarea{font:400 1rem Lato,sans-serif;padding:.8em .9em;border:1.5px solid #c9c2ae;border-radius:3px;background:#fff;color:var(--ink)}
.hp{position:absolute;left:-9999px}
.note{padding:12px 14px;border-radius:3px;margin:0}
.note--ok{background:#dcebdd;color:#1d4a30}.note--err{background:#f6dcd0;color:#7a2d0c}
.plain{padding:150px 0 80px}
.site-footer{background:var(--dark);color:var(--ivory);padding:64px 0 24px}
.site-footer a{color:var(--ivory)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:40px}
.foot-name{font:700 1.1rem Montserrat,sans-serif}.foot-h{font:700 .9rem Montserrat,sans-serif;color:var(--orange)}
.site-footer ul{list-style:none;margin:0;padding:0}
.copy{width:min(1120px,100% - 48px);margin:40px auto 0;padding-top:20px;border-top:1px solid rgba(247,242,232,.18);font-size:.85rem;opacity:.7}
@media(max-width:820px){.split{grid-template-columns:1fr;gap:36px}.split--rev>:first-child{order:0}.steps{grid-template-columns:1fr 1fr}.steps::before{display:none}.foot-grid{grid-template-columns:1fr}.page-hero{padding-top:130px}}

/* ============ HOME STORY: base (static fallback, no JS / reduced motion) ============ */
.story{background:var(--green);color:var(--ivory)}
.story h1,.story h2,.story h3{color:inherit}
.story:not(.cw-live) .desk,.story:not(.cw-live) .tint,.story:not(.cw-live) .dot,.story:not(.cw-live) .shield-big,.story:not(.cw-live) .paper:not(.paper--lead),.story:not(.cw-live) .paper-face{display:none}
.story:not(.cw-live) .hero-copy{padding:170px max(24px,6vw) 80px;max-width:820px;margin:auto;background:none}
.story:not(.cw-live) .papers{background:var(--ivory);color:var(--ink);padding:70px 24px}
.story:not(.cw-live) .paper--lead{max-width:760px;margin:auto}
.story:not(.cw-live) .about-body h2{color:var(--green)}
.story:not(.cw-live) .uline{display:block;width:140px;height:3px;background:var(--orange);margin:0 0 24px}
.story:not(.cw-live) .services-scene{background:var(--ivory);color:var(--ink);padding:20px 0 80px}
.story:not(.cw-live) .track{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;width:min(1120px,100% - 48px);margin:auto}
.story:not(.cw-live) .card{background:var(--paper);border:1px solid #d8d0bb;border-top:4px solid var(--orange);padding:32px 24px;text-align:center;border-radius:4px}
.story:not(.cw-live) .ico{color:var(--green)}
.story:not(.cw-live) .commit{padding:90px max(24px,6vw);max-width:820px;margin:auto}
.card h3{margin-bottom:.4em}
.card p{font-size:.98rem}

/* ============ HOME STORY: live (pinned scroll scene) ============ */
.story.cw-live{position:relative;height:100vh;overflow:hidden;background:var(--dark);--pad:64px;--uy:166px;--uw:260px;--railY:30vh;--cw:320px;--gap:34px}
.cw-live .desk{position:absolute;inset:0;background:var(--desk) center/cover,#3a281c;z-index:0}
.cw-live .desk::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,23,19,.82),rgba(16,23,19,.2) 62%),radial-gradient(ellipse at 70% 50%,transparent 30%,rgba(16,23,19,.6))}
.cw-live .tint{position:absolute;inset:0;background:var(--green);opacity:0;z-index:1}
.cw-live .hero-copy{position:absolute;left:max(24px,6vw);top:50%;transform:translateY(-50%);max-width:min(540px,44vw);z-index:3}
.cw-live .hero-copy h1{color:var(--ivory);font-size:clamp(2rem,4vw,3.4rem)}
.cw-live .hero-copy p{opacity:.9;max-width:44ch}
.cw-live .papers{position:absolute;inset:0;z-index:4;pointer-events:none}
.cw-live .paper{position:absolute;left:0;top:0;width:300px;height:392px;background:linear-gradient(135deg,#fffdf8,#f3ecdc);border-radius:2px;color:var(--ink);padding:30px 28px;overflow:hidden;box-shadow:0 1px 1px rgba(0,0,0,.25),0 8px 14px -4px rgba(0,0,0,.35),0 30px 50px -18px rgba(0,0,0,.6)}
.cw-live .paper--b{background:linear-gradient(135deg,#f1f4ea,#e3eadb)}
.cw-live .paper--d{background:linear-gradient(135deg,#f8efe0,#eadfc6)}
.paper i{display:block;height:5px;background:rgba(40,91,69,.2);margin:0 0 15px;border-radius:2px}
.paper i.s{width:62%}
.paper .bar{display:block;height:26px;background:var(--green);margin:0 0 26px;opacity:.85}
.doc-title{font:700 .78rem Montserrat,sans-serif;color:var(--green);margin:0 0 28px;padding-bottom:12px;border-bottom:2px solid var(--orange)}
.stamp{position:absolute;right:26px;bottom:30px;width:84px;opacity:.85;transform:rotate(-12deg)}
.cw-live .paper-face{position:absolute;inset:0;padding:30px 28px}
.cw-live .paper--lead{pointer-events:auto}
.cw-live .about-body{position:absolute;inset:0;padding:0 var(--pad);opacity:0}
.cw-live .about-body h2{color:var(--green);font-size:clamp(1.8rem,3.6vw,3rem);margin:0;line-height:1.1;position:absolute;left:var(--pad);top:calc(var(--uy) - 70px)}
.cw-live .uline{position:absolute;left:var(--pad);top:var(--uy);width:var(--uw);height:3px;background:var(--orange)}
.cw-live .about-body p,.cw-live .about-body .link{position:relative;top:calc(var(--uy) + 34px)}
.cw-live .about-body p{margin:0 0 1em;max-width:62ch;font-size:clamp(.95rem,1.2vw,1.1rem)}
.cw-live .services-scene{position:absolute;inset:0;z-index:4;opacity:0;pointer-events:none}
.cw-live .rail{position:absolute;left:0;right:0;top:var(--railY);height:2px;background:rgba(247,242,232,.28)}
.cw-live .track{position:absolute;left:0;top:calc(var(--railY) + 36px);display:flex;gap:var(--gap)}
.cw-live .card{width:var(--cw);min-height:300px;flex:none;padding:36px 28px;text-align:center;background:rgba(247,242,232,.07);border:1px solid rgba(247,242,232,.2);border-radius:4px;color:var(--ivory);opacity:.5;transition:opacity .4s,background .4s,color .4s,border-color .4s,transform .4s}
.cw-live .card.on{opacity:1;background:var(--ivory);color:var(--ink);border-color:var(--orange);transform:translateY(-8px)}
.cw-live .card.on h3{color:var(--green)}
.cw-live .card.on .ico{background:var(--orange);border-color:var(--orange);color:var(--dark)}
.cw-live .card .link{color:inherit}
.card--shield.on .ico path{stroke-dasharray:1;animation:draw 1.2s ease forwards}
@keyframes draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.dot{position:absolute;left:0;top:0;width:18px;height:18px;border-radius:50%;background:var(--orange);z-index:8;pointer-events:none}
.dot::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--orange);animation:ping 1.8s ease-out infinite}
@keyframes ping{from{transform:scale(.7);opacity:.9}to{transform:scale(2.2);opacity:0}}
.shield-big{position:absolute;left:0;top:0;width:360px;height:432px;z-index:6;opacity:0;filter:drop-shadow(0 30px 40px rgba(0,0,0,.45))}
.shield-big svg{width:100%;height:100%}
.shield-big .chk{stroke-dasharray:1;stroke-dashoffset:1}
.cw-live .commit{position:absolute;left:52vw;top:50%;transform:translateY(-50%);width:min(38vw,520px);opacity:0;z-index:7}
.cw-live .commit h2{color:var(--ivory)}
@media(max-width:760px){
 .cw-live .hero-copy{left:24px;right:24px;top:14vh;transform:none;max-width:none}
 .cw-live .hero-copy p{display:none}
 .cw-live .paper{width:190px;height:250px;padding:20px 18px}
 .cw-live .commit{left:24px;right:24px;top:56vh;transform:none;width:auto}
 .cw-live .about-body h2{font-size:1.7rem}
 .cw-live .card{min-height:280px;padding:30px 20px}
 .shield-big{width:300px;height:360px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.dot::after{animation:none}}
