/*
Theme Name: Bridge Cove Inc.
Theme URI: https://bridgecove.ca
Author: Bridge Cove Inc.
Description: Static corporate theme for Bridge Cove Inc. - Global Funding Advisory
Version: 2.0
License: All Rights Reserved
Text Domain: bridgecove
*/

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700;800&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  --primary: hsl(160, 100%, 16%);
  --primary-fg: hsl(45, 60%, 92%);
  --secondary: hsl(145, 54%, 34%);
  --secondary-fg: #ffffff;
  --accent: hsl(37, 94%, 61%);
  --accent-fg: hsl(0, 0%, 7%);
  --background: #ffffff;
  --foreground: hsl(0, 0%, 7%);
  --card: #ffffff;
  --muted-fg: hsl(0, 0%, 40%);
  --border: hsl(45, 30%, 82%);
  --green-tint: hsl(155, 30%, 90%);
  --radius: 0.5rem;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter',sans-serif;color:var(--foreground);background:var(--background);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:'Playfair Display',serif}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}
ul{list-style:none;padding:0}
.container{max-width:1200px;margin:0 auto;padding:0 2rem}

/* NAV */
.site-nav{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.site-nav .container{display:flex;align-items:center;justify-content:space-between;padding-top:.25rem;padding-bottom:.25rem}
.nav-logo{display:flex;align-items:center;height:4rem;overflow:hidden}
.nav-logo img{height:200px;max-width:none;margin-top:1rem}
.nav-links{display:flex;align-items:center;gap:2rem}
.nav-links a{font-size:15px;font-weight:500;transition:color .2s}
.nav-links a:hover,.nav-links a.active{color:var(--secondary)}
.nav-cta{background:var(--accent);color:var(--accent-fg);font-weight:600;padding:.75rem 1.25rem;border-radius:var(--radius);font-size:15px;transition:all .2s}
.nav-cta:hover{opacity:.9;transform:scale(1.04)}
.nav-toggle{display:none;background:none;border:none;cursor:pointer}
.mobile-menu{display:none;flex-direction:column;gap:.75rem;padding:1rem 2rem 1.5rem;background:#fff}
.mobile-menu a{font-size:18px;font-weight:500;padding:.5rem 0}
.mobile-menu .nav-cta{text-align:center}
@media(max-width:768px){.nav-links{display:none}.nav-toggle{display:block}.mobile-menu.open{display:flex}}

/* HERO */
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--primary),var(--secondary));min-height:85vh;display:flex;align-items:center}
.hero-bg{position:absolute;inset:0;opacity:.15}
.hero-bg img{width:100%;height:100%;object-fit:cover}
.hero .container{position:relative;z-index:10;padding:5rem 2rem}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.hero h1{font-size:52px;line-height:1.2;font-weight:700;color:var(--primary-fg);margin-bottom:1.5rem}
.hero h1 span{color:var(--accent)}
.hero p{font-size:18px;color:hsla(45,60%,92%,.8);margin-bottom:2rem;max-width:32rem}
.hero-btns{display:flex;flex-wrap:wrap;gap:1rem}
.btn-accent{background:var(--accent);color:var(--accent-fg);font-weight:600;padding:1rem 1.5rem;border-radius:var(--radius);font-size:18px;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s;border:none;cursor:pointer}
.btn-accent:hover{opacity:.9;transform:scale(1.04)}
.btn-outline{border:2px solid hsla(45,60%,92%,.4);color:var(--primary-fg);font-weight:600;padding:1rem 1.5rem;border-radius:var(--radius);font-size:18px;background:transparent;transition:all .2s;cursor:pointer}
.btn-outline:hover{background:hsla(45,60%,92%,.1)}
.hero-img{display:none}
.hero-img img{border-radius:1rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);width:100%}
@media(min-width:1024px){.hero-img{display:block}}
@media(max-width:768px){.hero-grid{grid-template-columns:1fr}.hero h1{font-size:36px}}

/* TRUST */
.trust-section{position:relative;padding:6rem 0;overflow:hidden}
.trust-bg{position:absolute;inset:0}
.trust-bg img{width:100%;height:100%;object-fit:cover}
.trust-bg .overlay{position:absolute;inset:0;background:hsla(160,100%,16%,.9)}
.trust-section .container{position:relative;z-index:10}
.trust-section h2{font-size:40px;line-height:1.3;font-weight:700;color:var(--primary-fg);text-align:center;margin-bottom:1rem}
.trust-section>.container>p{font-size:18px;color:hsla(45,60%,92%,.8);text-align:center;max-width:42rem;margin:0 auto 4rem}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.trust-card{text-align:center;padding:1.5rem;background:hsla(45,60%,92%,.05);backdrop-filter:blur(8px);border-radius:.75rem;border:1px solid hsla(45,60%,92%,.1)}
.trust-icon{width:4rem;height:4rem;border-radius:50%;background:hsla(37,94%,61%,.2);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}
.trust-icon svg{width:28px;height:28px;color:var(--accent)}
.trust-card h3{font-size:20px;font-weight:600;color:var(--primary-fg);margin-bottom:.5rem}
.trust-card p{font-size:15px;color:hsla(45,60%,92%,.7)}
@media(max-width:768px){.trust-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.trust-grid{grid-template-columns:1fr}}

/* HOW WE HELP */
.how-section{padding:6rem 0;background:var(--green-tint)}
.how-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.how-img-wrap{position:relative}
.how-img-wrap img{border-radius:1rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1);width:100%}
.how-badge{position:absolute;bottom:-1.5rem;right:-1.5rem;background:var(--accent);color:var(--accent-fg);border-radius:.75rem;padding:1rem 1.5rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}
.how-badge .num{font-family:'Playfair Display',serif;font-size:24px;font-weight:700}
.how-badge .lbl{font-size:15px}
.how-section h2{font-size:40px;line-height:1.3;font-weight:700;color:var(--foreground);margin-bottom:2.5rem}
.help-cards{display:flex;flex-direction:column;gap:1.5rem}
.help-card{display:flex;gap:1.25rem;padding:1.25rem;border-radius:.75rem;border:1px solid var(--border);background:var(--background);transition:all .3s}
.help-card:hover{border-color:hsla(145,54%,34%,.4);box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}
.help-card-icon{width:3rem;height:3rem;border-radius:var(--radius);background:hsla(145,54%,34%,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.help-card-icon svg{width:24px;height:24px;color:var(--secondary)}
.help-card h3{font-family:'Playfair Display',serif;font-size:18px;font-weight:600;color:var(--foreground);margin-bottom:.25rem}
.help-card p{font-size:15px;color:var(--muted-fg)}
@media(max-width:1024px){.how-grid{grid-template-columns:1fr}.how-badge{display:none}}

/* INDUSTRIES */
.industries-section{padding:6rem 0;background:var(--card)}
.industries-section h2{font-size:40px;font-weight:700;text-align:center;margin-bottom:1rem}
.industries-section>.container>p{font-size:18px;color:var(--muted-fg);text-align:center;max-width:42rem;margin:0 auto 4rem}
.industries-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.industry-card{position:relative;border-radius:1rem;overflow:hidden;height:18rem;cursor:pointer}
.industry-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.industry-card:hover img{transform:scale(1.1)}
.industry-card .overlay{position:absolute;inset:0;background:linear-gradient(to top,hsla(160,100%,16%,.9),hsla(160,100%,16%,.4) 50%,transparent)}
.industry-card .label{position:absolute;bottom:0;left:0;right:0;padding:1.5rem}
.industry-card h3{font-size:20px;font-weight:700;color:var(--primary-fg);margin-bottom:.25rem}
.industry-card p{font-size:15px;color:hsla(45,60%,92%,.8)}
@media(max-width:768px){.industries-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.industries-grid{grid-template-columns:1fr}}

/* PROCESS */
.process-section{position:relative;padding:6rem 0;overflow:hidden}
.process-bg{position:absolute;inset:0}
.process-bg img{width:100%;height:100%;object-fit:cover}
.process-bg .overlay{position:absolute;inset:0;background:hsla(160,100%,16%,.9)}
.process-section .container{position:relative;z-index:10}
.process-section h2{font-size:40px;font-weight:700;color:var(--primary-fg);text-align:center;margin-bottom:4rem}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.process-step{text-align:center;padding:1.5rem;position:relative}
.process-step .num{font-family:'Playfair Display',serif;font-size:48px;font-weight:700;color:hsla(37,94%,61%,.5);margin-bottom:.5rem}
.process-step h3{font-size:20px;font-weight:600;color:var(--primary-fg);margin-bottom:.5rem}
.process-step p{font-size:15px;color:hsla(45,60%,92%,.7)}
.process-arrow{display:none;position:absolute;top:2.5rem;right:-.75rem;color:hsla(37,94%,61%,.6)}
@media(min-width:769px){.process-arrow{display:block}}
@media(max-width:768px){.process-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.process-grid{grid-template-columns:1fr}}

/* GLOBAL REACH */
.global-section{position:relative;padding:6rem 0;overflow:hidden}
.global-bg{position:absolute;inset:0}
.global-bg img{width:100%;height:100%;object-fit:cover}
.global-bg .overlay{position:absolute;inset:0;background:hsla(160,100%,16%,.85)}
.global-section .container{position:relative;z-index:10}
.global-section h2{font-size:40px;font-weight:700;color:var(--primary-fg);text-align:center;margin-bottom:1rem}
.global-section>.container>p{font-size:18px;color:hsla(45,60%,92%,.8);text-align:center;max-width:42rem;margin:0 auto 3rem}
.region-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}
.region-tag{background:hsla(45,60%,92%,.1);backdrop-filter:blur(8px);border:1px solid hsla(45,60%,92%,.2);border-radius:.75rem;padding:1rem 2rem;display:flex;align-items:center;gap:.75rem}
.region-tag svg{width:20px;height:20px;color:var(--accent)}
.region-tag span{color:var(--primary-fg);font-weight:600}

/* CTA */
.cta-section{position:relative;padding:6rem 0;overflow:hidden}
.cta-bg{position:absolute;inset:0}
.cta-bg img{width:100%;height:100%;object-fit:cover}
.cta-bg .overlay{position:absolute;inset:0;background:hsla(145,54%,34%,.9)}
.cta-section .container{position:relative;z-index:10;text-align:center}
.cta-section h2{font-size:40px;font-weight:700;color:var(--secondary-fg);margin-bottom:1.5rem}

/* PAGE HERO */
.page-hero{background:linear-gradient(135deg,var(--primary),var(--secondary));padding:6rem 0}
.page-hero h1{font-size:52px;font-weight:700;color:var(--primary-fg);margin-bottom:1.5rem}
.page-hero p{font-size:18px;color:hsla(45,60%,92%,.8);max-width:42rem}
@media(max-width:768px){.page-hero h1{font-size:36px}}

/* MISSION */
.mission-section{position:relative;padding:6rem 0;overflow:hidden}
.mission-bg{position:absolute;inset:0}
.mission-bg img{width:100%;height:100%;object-fit:cover}
.mission-bg .overlay{position:absolute;inset:0;background:hsla(160,100%,16%,.85)}
.mission-box{max-width:48rem;margin:0 auto;background:hsla(45,60%,92%,.1);backdrop-filter:blur(8px);border-radius:1rem;padding:3rem;border:1px solid hsla(45,60%,92%,.2);text-align:center;position:relative;z-index:10}
.mission-box h2{font-size:40px;font-weight:700;color:var(--primary-fg);margin-bottom:1.5rem}
.mission-box p{font-size:18px;color:hsla(45,60%,92%,.8);line-height:1.8}

/* DIFFERENTIATORS */
.diff-section{padding:6rem 0;background:var(--background)}
.diff-section h2{font-size:40px;font-weight:700;text-align:center;margin-bottom:4rem}
.diff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.diff-card{text-align:center;padding:2rem;background:var(--green-tint);border-radius:1rem;box-shadow:0 1px 3px rgba(0,0,0,.1);border:1px solid var(--border)}
.diff-icon{width:4rem;height:4rem;border-radius:50%;background:hsla(145,54%,34%,.1);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}
.diff-icon svg{width:28px;height:28px;color:var(--secondary)}
.diff-card h3{font-size:20px;font-weight:600;margin-bottom:.75rem}
.diff-card p{font-size:15px;color:var(--muted-fg)}
@media(max-width:768px){.diff-grid{grid-template-columns:1fr}}

/* SERVICES */
.service-block{padding:4rem 0}
.service-block.alt{background:var(--green-tint)}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;max-width:1200px;margin:0 auto}
.service-grid.reverse .service-text{order:2}
.service-grid.reverse .service-img{order:1}
.service-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}
.service-header-icon{width:3rem;height:3rem;border-radius:var(--radius);background:hsla(145,54%,34%,.1);display:flex;align-items:center;justify-content:center}
.service-header-icon svg{width:24px;height:24px;color:var(--secondary)}
.service-header h2{font-size:30px;font-weight:700}
.service-block p.desc{font-size:18px;color:var(--muted-fg);margin-bottom:1.5rem}
.service-items{display:flex;flex-direction:column;gap:.75rem}
.service-items li{display:flex;align-items:center;gap:.75rem;font-size:18px}
.service-items li svg{width:18px;height:18px;color:var(--accent);flex-shrink:0}
.service-img-wrap{position:relative;border-radius:1rem;overflow:hidden;box-shadow:0 20px 25px -5px rgba(0,0,0,.1)}
.service-img-wrap img{width:100%;height:20rem;object-fit:cover;transition:transform .5s}
.service-img-wrap:hover img{transform:scale(1.05)}
.service-img-wrap .img-overlay{position:absolute;inset:0;background:linear-gradient(to top,hsla(160,100%,16%,.3),transparent)}
@media(max-width:1024px){.service-grid{grid-template-columns:1fr}.service-grid.reverse .service-text,.service-grid.reverse .service-img{order:unset}}

/* GF PAGE */
.gf-hero{position:relative;padding:6rem 0;overflow:hidden}
.gf-hero-bg{position:absolute;inset:0}
.gf-hero-bg img{width:100%;height:100%;object-fit:cover}
.gf-hero-bg .overlay{position:absolute;inset:0;background:hsla(160,100%,16%,.85)}
.gf-hero .container{position:relative;z-index:10}
.gf-hero h1{font-size:52px;font-weight:700;color:var(--primary-fg);margin-bottom:1.5rem}
.gf-hero p{font-size:18px;color:hsla(45,60%,92%,.8);max-width:42rem}
@media(max-width:768px){.gf-hero h1{font-size:36px}}
.regions-section{padding:6rem 0;background:var(--card)}
.regions-section h2{font-size:40px;font-weight:700;text-align:center;margin-bottom:4rem}
.regions-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.region-card{background:var(--green-tint);border-radius:.75rem;padding:2rem;border:1px solid var(--border);transition:all .3s}
.region-card:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1);transform:translateY(-4px)}
.region-card .rc-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}
.region-card .rc-header svg{width:24px;height:24px;color:var(--accent)}
.region-card h3{font-size:20px;font-weight:600}
.region-card p{font-size:18px;color:var(--muted-fg)}
@media(max-width:768px){.regions-grid{grid-template-columns:1fr}}
.gf-stats{position:relative;padding:6rem 0;overflow:hidden}
.gf-stats-bg{position:absolute;inset:0}
.gf-stats-bg img{width:100%;height:100%;object-fit:cover}
.gf-stats-bg .overlay{position:absolute;inset:0;background:hsla(160,100%,16%,.8)}
.gf-stats .container{position:relative;z-index:10}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.stat-card{text-align:center;padding:2rem}
.stat-card svg{width:36px;height:36px;color:var(--accent);margin:0 auto 1rem}
.stat-card .val{font-family:'Playfair Display',serif;font-size:30px;font-weight:700;color:var(--primary-fg);margin-bottom:.25rem}
.stat-card .lbl{font-size:15px;color:hsla(45,60%,92%,.7)}
@media(max-width:768px){.stats-grid{grid-template-columns:1fr}}

/* CTA BAR */
.cta-bar{padding:6rem 0;background:var(--secondary);text-align:center}
.cta-bar h2{font-size:40px;font-weight:700;color:var(--secondary-fg);margin-bottom:1.5rem}

/* CONTACT */
.contact-section{padding:6rem 0;background:var(--background)}
.contact-form{max-width:48rem;margin:0 auto;background:var(--green-tint);border-radius:1rem;padding:2rem 3rem;border:1px solid var(--border);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}
.form-group{margin-bottom:1.5rem}
.form-group label{display:block;font-size:15px;font-weight:600;margin-bottom:.5rem}
.form-control{width:100%;padding:.75rem 1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--card);font-family:'Inter',sans-serif;font-size:18px;transition:all .2s;outline:none}
.form-control:focus{box-shadow:0 0 0 2px hsla(145,54%,34%,.3)}
textarea.form-control{resize:vertical}
.btn-submit{width:100%;padding:1rem;border:none;border-radius:var(--radius);background:var(--accent);color:var(--accent-fg);font-family:'Inter',sans-serif;font-size:18px;font-weight:600;cursor:pointer;transition:all .2s}
.btn-submit:hover{background:var(--secondary);color:var(--secondary-fg);transform:scale(1.02)}
.btn-submit:disabled{opacity:.6;cursor:not-allowed}
.contact-note{text-align:center;margin-top:2rem;font-size:18px;color:var(--muted-fg)}
.contact-note span{color:var(--secondary);font-weight:600}
@media(max-width:768px){.form-row{grid-template-columns:1fr}.contact-form{padding:1.5rem}}

/* FOOTER */
.site-footer{background:var(--primary);color:var(--primary-fg);padding:4rem 0}
.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2.5rem;margin-bottom:3rem}
.site-footer h4{font-family:'Playfair Display',serif;font-size:20px;font-weight:700;color:var(--accent);margin-bottom:1rem}
.site-footer h5{font-family:'Playfair Display',serif;font-size:18px;font-weight:600;margin-bottom:1rem}
.site-footer p,.site-footer a{font-size:15px;opacity:.8}
.site-footer a:hover{color:var(--accent);opacity:1}
.footer-links{display:flex;flex-direction:column;gap:.5rem}
.footer-bottom{border-top:1px solid hsla(45,60%,92%,.2);padding-top:1.5rem;text-align:center}
.footer-bottom p{font-size:15px;opacity:.6}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}

/* SCROLL REVEAL */
.sr{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}
.sr.visible{opacity:1;transform:translateY(0)}

/* 404 */
.page-404{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:4rem 2rem}
.page-404 h1{font-size:52px;font-weight:700;margin-bottom:1rem}
.page-404 p{font-size:18px;color:var(--muted-fg);margin-bottom:2rem}

/* Toast */
.toast{position:fixed;top:2rem;right:2rem;z-index:9999;background:var(--primary);color:var(--primary-fg);padding:1rem 1.5rem;border-radius:var(--radius);box-shadow:0 10px 25px rgba(0,0,0,.2);transform:translateX(120%);transition:transform .4s ease}
.toast.show{transform:translateX(0)}

/* Stagger delays for child elements */
.sr-delay-1{transition-delay:.1s}
.sr-delay-2{transition-delay:.2s}
.sr-delay-3{transition-delay:.3s}
.sr-delay-4{transition-delay:.45s}
.sr-delay-5{transition-delay:.5s}

/* Button hover scale */
.btn-accent:hover{opacity:.9;transform:scale(1.04)}
.btn-outline:hover{transform:scale(1.02)}

/* Service image hover */
.service-img-wrap img{transition:transform .5s ease}
.service-img-wrap:hover img{transform:scale(1.05)}

/* Industry card image zoom - 0.5s to match Lovable */
.industry-card img{transition:transform .5s ease}
