:root{
    --pink:#e91e63;
    --pink-dark:#bd174f;
    --rose:#fff1f7;
    --purple:#7b2cbf;
    --purple-dark:#3b1455;
    --teal:#0f766e;
    --teal-soft:#e7f7f4;
    --ink:#231329;
    --muted:#66516e;
    --soft:#fff8fb;
    --paper:#ffffff;
    --line:rgba(82,37,103,.13);
    --shadow:0 24px 80px rgba(76,29,90,.13);
    --shadow-soft:0 14px 44px rgba(76,29,90,.10);
    --radius-lg:32px;
    --radius-md:24px;
    --radius-sm:16px;
}

*{box-sizing:border-box;}
[hidden]{display:none!important;}

html{scroll-behavior:smooth;}

body{
    margin:0;
    font-family:Segoe UI,Arial,sans-serif;
    color:var(--ink);
    background:
        radial-gradient(circle at 8% 8%, rgba(233,30,99,.13), transparent 31%),
        radial-gradient(circle at 92% 10%, rgba(15,118,110,.12), transparent 29%),
        radial-gradient(circle at 82% 78%, rgba(123,44,191,.10), transparent 34%),
        linear-gradient(135deg,#fff8fb 0%,#f8f2ff 46%,#eefbf8 100%);
    min-height:100vh;
    overflow-x:hidden;
}

body::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    background-image:linear-gradient(rgba(123,44,191,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(123,44,191,.035) 1px,transparent 1px);
    background-size:42px 42px;
    mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),transparent 72%);
    z-index:-1;
}

a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul{list-style:none;margin:0;padding:0;}
p{margin:0;}
button,input,textarea{font:inherit;}

.container-custom{
    width:min(1180px,calc(100% - 56px));
    margin:0 auto;
}

.skip-link{
    position:absolute;
    top:-120px;
    left:18px;
    z-index:999;
    background:var(--ink);
    color:white;
    padding:12px 16px;
    border-radius:12px;
    transition:.2s ease;
}
.skip-link:focus{top:18px;}

.glass{
    background:rgba(255,255,255,.76);
    border:1px solid rgba(255,255,255,.88);
    box-shadow:var(--shadow-soft);
    backdrop-filter:blur(18px);
}

.section-soft{position:relative;}
.section-soft::after{
    content:"";
    position:absolute;
    inset:auto 0 0 0;
    height:1px;
    background:linear-gradient(90deg,transparent,var(--line),transparent);
    opacity:.85;
}

.site-header{
    position:sticky;
    top:0;
    z-index:50;
    width:100%;
    margin:0;
    padding:14px 0 0;
    background:
        radial-gradient(circle at 8% 8%, rgba(233,30,99,.10), transparent 31%),
        radial-gradient(circle at 92% 10%, rgba(15,118,110,.09), transparent 29%),
        linear-gradient(135deg,rgba(255,248,251,.96) 0%,rgba(248,242,255,.96) 46%,rgba(238,251,248,.96) 100%);
    backdrop-filter:blur(14px);
    transition:.25s ease;
}
.site-header.scrolled{
    box-shadow:0 1px 0 rgba(82,37,103,.08);
}
.header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    padding:14px 0;
}
.brand{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:max-content;
}
.site-logo{
    width:111px;
    height:81px;
    object-fit:contain;
}
.brand-copy{display:grid;gap:1px;}
.brand-copy strong{
    color:var(--pink);
    font-weight:800;
    font-size:1.38rem;
    letter-spacing:-.03em;
}
.brand-copy small{
    color:var(--purple-dark);
    font-size:.78rem;
    font-weight:700;
    opacity:.82;
}
.desktop-nav{
    display:flex;
    align-items:center;
    gap:8px;
    padding:7px;
    border-radius:999px;
    background:rgba(255,255,255,.62);
    border:1px solid rgba(123,44,191,.08);
}
.nav-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:0 15px;
    border-radius:999px;
    color:var(--muted);
    font-weight:700;
    font-size:.94rem;
    transition:.2s ease;
}
.nav-link:hover,.nav-link.active{
    color:var(--pink);
    background:rgba(233,30,99,.09);
}
.header-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 18px;
    border-radius:999px;
    color:white;
    background:linear-gradient(135deg,var(--pink),var(--purple));
    font-weight:800;
    box-shadow:0 14px 30px rgba(233,30,99,.22);
    transition:.2s ease;
}
.header-cta:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(233,30,99,.28);}
.mobile-toggle{display:none;}
.mobile-nav{display:none;}

.btn-primary,.btn-secondary,.footer-cta,.card-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:48px;
    padding:13px 24px;
    border-radius:999px;
    font-weight:800;
    transition:.2s ease;
}
.btn-primary{
    border:0;
    cursor:pointer;
    color:white;
    background:linear-gradient(135deg,var(--pink),var(--purple));
    box-shadow:0 15px 36px rgba(233,30,99,.24);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 46px rgba(233,30,99,.30);}
.btn-secondary{
    color:var(--pink);
    border:1.5px solid rgba(233,30,99,.26);
    background:rgba(255,255,255,.62);
}
.btn-secondary:hover{background:var(--pink);color:white;transform:translateY(-2px);}

.hero-section{padding:88px 0 76px;overflow:hidden;}
.hero-grid{
    display:grid;
    grid-template-columns:minmax(0,.96fr) minmax(360px,1.04fr);
    gap:clamp(32px,5vw,68px);
    align-items:center;
}
.hero-text h1,.page-hero h1{
    margin:0;
    font-family:"Playfair Display",Georgia,serif;
    color:var(--pink);
    font-size:clamp(2.8rem,5.2vw,5.2rem);
    line-height:1.02;
    letter-spacing:-.035em;
    max-width:760px;
}
.hero-text p,.page-hero p,.section-heading p{
    margin-top:24px;
    max-width:650px;
    color:var(--muted);
    font-size:1.05rem;
    line-height:1.75;
}
.hero-buttons{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap;}
.hero-visual{position:relative;display:grid;align-items:center;}
.hero-photo-card{
    position:relative;
    width:100%;
    min-height:clamp(390px,42vw,540px);
    overflow:hidden;
    border-radius:34px;
    background:var(--paper);
    box-shadow:0 28px 90px rgba(76,29,90,.18);
}
.hero-photo-card::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,transparent 52%,rgba(35,19,41,.34));
    pointer-events:none;
}
.hero-photo{
    width:100%;
    height:100%;
    min-height:inherit;
    object-fit:cover;
}
.hero-photo-caption{
    position:absolute;
    z-index:2;
    left:28px;
    bottom:24px;
    padding:0;
}
.hero-photo-caption h3{
    margin:0;
    color:white;
    font-size:clamp(1.25rem,2.2vw,1.85rem);
    line-height:1.15;
    font-weight:900;
    letter-spacing:-.02em;
    text-shadow:0 3px 18px rgba(35,19,41,.45);
}

.features-section,.impact-section,.cta-section,.about-preview,.page-section,.statement-section{padding:clamp(58px,7vw,88px) 0;}
.compact-section{padding-top:24px;}
.section-heading{text-align:center;margin:0 auto 48px;max-width:760px;}
.section-heading span{color:var(--teal);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;}
.section-heading h2,.split-section h2,.statement-card h2{
    margin:14px 0 0;
    font-family:"Playfair Display",Georgia,serif;
    color:var(--purple);
    font-size:clamp(2.15rem,4.6vw,3.85rem);
    line-height:1.02;
    letter-spacing:-.04em;
}
.section-heading p{margin-left:auto;margin-right:auto;font-size:1rem;}
.align-left{text-align:left;margin-left:0;}
.align-left p{margin-left:0;}

.features-grid,.impact-grid,.work-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:clamp(18px,2.2vw,26px);
}
.feature-card,.impact-card,.work-card,.content-panel,.contact-card,.statement-card{
    position:relative;
    overflow:hidden;
    padding:clamp(24px,2.6vw,34px);
    border-radius:var(--radius-md);
}
.feature-card::before,.work-card::before,.content-panel::before,.contact-card::before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:4px;
    background:linear-gradient(90deg,var(--pink),var(--teal));
    opacity:.82;
}
.feature-card,.impact-card,.work-card{transition:.22s ease;}
.feature-card:hover,.impact-card:hover,.work-card:hover{transform:translateY(-7px);box-shadow:var(--shadow);}
.feature-icon{
    display:inline-flex;
    width:54px;
    height:54px;
    align-items:center;
    justify-content:center;
    margin-bottom:22px;
    border-radius:18px;
    color:var(--pink);
    background:linear-gradient(135deg,#ffe4f0,#f3e8ff);
    border:1px solid rgba(233,30,99,.10);
    font-weight:800;
}
.feature-card h3,.work-card h3,.content-panel h2,.contact-card h2,.process-item h3{
    color:var(--pink);
    margin:0 0 12px;
    font-size:1.22rem;
    line-height:1.22;
    font-weight:800;
    letter-spacing:-.02em;
}
.feature-card p,.work-card p,.content-panel p,.contact-card p,.statement-card p,.process-item p{
    color:var(--muted);
    line-height:1.75;
    font-size:.98rem;
}

.split-section{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:clamp(24px,4vw,42px);
    align-items:center;
}
.equal-panels{align-items:stretch;}
.equal-panels .content-panel{display:flex;flex-direction:column;justify-content:center;min-height:260px;}
.content-panel{padding:38px;border-radius:var(--radius-lg);}
.founder-section{align-items:stretch;}
.founder-photo-card{
    position:relative;
    overflow:hidden;
    min-height:520px;
    border-radius:var(--radius-lg);
    background:var(--paper);
    box-shadow:var(--shadow-soft);
}
.founder-photo-card img{
    width:100%;
    height:100%;
    min-height:inherit;
    object-fit:cover;
    object-position:center top;
}
.founder-section .content-panel{
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.text-link,.card-link{
    color:var(--teal);
    font-weight:800;
    padding:0;
    min-height:0;
    margin-top:22px;
}
.text-link:hover,.card-link:hover{color:var(--pink);transform:translateX(3px);}

.impact-grid{grid-template-columns:repeat(4,1fr);}
.impact-card{text-align:center;padding:34px 22px;}
.impact-card h3{
    color:var(--pink);
    font-size:clamp(2.25rem,4vw,3.3rem);
    line-height:1;
    font-weight:900;
    letter-spacing:-.055em;
    margin:0 0 10px;
}
.impact-card p{color:var(--muted);font-weight:800;}

.cta-card,.statement-card{
    padding:clamp(30px,5vw,58px);
    border-radius:36px;
    text-align:center;
}
.cta-card h2{
    margin:16px auto 0;
    max-width:820px;
    font-family:"Playfair Display",Georgia,serif;
    color:var(--pink);
    font-size:clamp(2.1rem,4.4vw,4rem);
    line-height:1.02;
    letter-spacing:-.045em;
}
.cta-card p{max-width:740px;margin:22px auto 30px;color:var(--muted);line-height:1.8;}
.page-hero{padding:88px 0 52px;}
.page-hero h1{font-size:clamp(2.7rem,5.6vw,5.35rem);max-width:980px;}
.work-grid{grid-template-columns:repeat(2,1fr);}
.work-card{min-height:245px;display:flex;flex-direction:column;}
.work-card span{
    display:inline-flex;
    width:max-content;
    margin-bottom:18px;
    color:var(--teal);
    background:rgba(15,118,110,.09);
    border:1px solid rgba(15,118,110,.12);
    border-radius:999px;
    padding:7px 12px;
    font-size:.75rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    font-weight:800;
}
.work-card .card-link{margin-top:auto;padding-top:22px;}

.statement-card{max-width:980px;margin:0 auto;}
.statement-card p{margin:22px auto 0;max-width:680px;font-size:1.05rem;}
.process-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:38px;align-items:start;}
.process-list{display:grid;gap:16px;}
.process-item{display:grid;grid-template-columns:62px 1fr;gap:18px;align-items:start;padding:24px;border-radius:22px;}
.process-item strong{
    display:grid;
    place-items:center;
    width:52px;
    height:52px;
    color:white;
    border-radius:17px;
    background:linear-gradient(135deg,var(--pink),var(--purple));
    font-weight:900;
}

.contact-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:28px;align-items:start;}
.contact-card{border-radius:30px;padding:34px;}
.contact-list{display:grid;gap:14px;margin-top:22px;}
.contact-list li{
    display:grid;
    grid-template-columns:42px 1fr;
    gap:12px;
    align-items:start;
    padding:0 0 16px;
    border-bottom:1px solid var(--line);
}
.contact-list li:last-child{border-bottom:0;padding-bottom:0;}
.contact-list li > div{
    display:grid;
    gap:6px;
}
.contact-list strong{color:var(--ink);font-size:.9rem;font-weight:500;}
.contact-list a{color:var(--pink);font-weight:500;}
.footer-contact a{color:var(--pink);}
.contact-icon,
.footer-contact-icon,
.footer-link-icon,
.footer-title-icon{
    display:inline-grid;
    place-items:center;
    flex:0 0 auto;
}
.contact-icon,
.footer-contact-icon{
    width:34px;
    height:34px;
    border-radius:12px;
    color:var(--teal);
    background:rgba(15,118,110,.09);
}
.contact-icon svg,
.footer-contact-icon svg,
.footer-link-icon svg,
.footer-title-icon svg{
    width:18px;
    height:18px;
    fill:currentColor;
}
.contact-form{display:grid;gap:18px;margin-top:22px;}
.form-row{display:grid;gap:8px;}
.form-row label{font-size:.86rem;color:var(--purple-dark);font-weight:600;}
.form-field{
    width:100%;
    padding:15px 16px;
    border:1px solid var(--line);
    border-radius:16px;
    outline:none;
    background:rgba(255,255,255,.84);
    color:var(--ink);
    transition:.2s ease;
}
.form-field::placeholder{color:rgba(102,81,110,.62);}
.form-field:focus{border-color:rgba(233,30,99,.58);box-shadow:0 0 0 4px rgba(233,30,99,.10);background:white;}
.form-button{justify-self:start;}
.form-alert{
    margin:16px 0 0;
    padding:14px 16px;
    border-radius:16px;
    font-weight:800;
}
.form-alert.success{
    background:#e7f7f4;
    color:var(--teal);
}
.form-alert.error{
    background:#fff1f0;
    color:#b42318;
}

.site-footer{
    margin-top:54px;
    background:rgba(255,255,255,.84);
    border-top:1px solid rgba(255,255,255,.9);
    box-shadow:0 -20px 70px rgba(76,29,90,.10);
}
.footer-grid{
    display:grid;
    grid-template-columns:1.15fr .72fr .95fr;
    gap:clamp(24px,3vw,38px);
    padding:clamp(42px,5vw,58px) 0 46px;
}
.footer-logo{
    width:112px;
    height:82px;
    object-fit:contain;
    margin-bottom:16px;
}
.footer-brand-block h3{color:var(--pink);font-size:1.55rem;font-weight:400;letter-spacing:0;margin:0;}
.footer-brand-block p,.footer-action-card p{color:var(--muted);line-height:1.7;margin-top:10px;}
.footer-title{
    display:flex;
    align-items:center;
    gap:9px;
    margin:0 0 16px;
    color:var(--purple);
    font-size:1rem;
    font-weight:400;
}
.footer-links{display:grid;gap:10px;}
.footer-links a{
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:var(--muted);
    font-weight:400;
    transition:.2s ease;
}
.footer-links a:hover,.footer-contact a:hover{color:var(--pink);}
.footer-link-icon{
    width:26px;
    height:26px;
    border-radius:9px;
    color:var(--teal);
    background:rgba(15,118,110,.08);
}
.footer-title-icon{
    width:28px;
    height:28px;
    border-radius:10px;
    color:var(--pink);
    background:rgba(233,30,99,.1);
}
.footer-contact{display:grid;gap:12px;}
.footer-contact li{
    display:grid;
    grid-template-columns:34px 1fr;
    gap:10px;
    align-items:start;
}
.footer-contact li > div{
    display:grid;
    gap:4px;
}
.footer-contact a{font-weight:400;}
.footer-contact span{font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--teal);font-weight:400;}
.footer-contact strong{color:var(--muted);font-weight:400;}
.footer-action-card{padding:24px;border-radius:24px;background:linear-gradient(135deg,rgba(233,30,99,.08),rgba(15,118,110,.08));border:1px solid rgba(123,44,191,.10);}
.footer-cta{margin-top:18px;background:var(--teal-soft);color:var(--teal);}
.footer-cta:hover{background:var(--teal);color:white;transform:translateY(-2px);}
.footer-bottom{
    display:flex;
    justify-content:center;
    gap:12px;
    flex-wrap:wrap;
    padding:18px 24px;
    border-top:1px solid var(--line);
    color:var(--muted);
    font-size:.9rem;
    font-weight:400;
}

body.reveal-ready .reveal-up{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease;}
body.reveal-ready .reveal-up.show-card{opacity:1;transform:translateY(0);}
.delay-1{transition-delay:.08s;}
.delay-2{transition-delay:.16s;}
.delay-3{transition-delay:.24s;}

.menu-fade-enter-active,.menu-fade-leave-active{transition:opacity .18s ease, transform .18s ease;}
.menu-fade-enter-from,.menu-fade-leave-to{opacity:0;transform:translateY(-8px);}

@media(max-width:1100px){
    .features-grid,.impact-grid{grid-template-columns:repeat(2,1fr);}
    .desktop-nav{gap:4px;}
    .nav-link{padding:0 12px;}
}
@media(max-width:940px){
    .container-custom{width:min(100% - 36px,1180px);}
    .header-cta,.desktop-nav{display:none;}
    .mobile-toggle{
        display:grid;
        place-items:center;
        width:46px;
        height:46px;
        border:1px solid rgba(233,30,99,.18);
        border-radius:16px;
        background:rgba(255,255,255,.78);
        cursor:pointer;
    }
    .mobile-toggle span{display:block;width:21px;height:2px;margin:3px 0;border-radius:999px;background:var(--pink);transition:.2s ease;}
    .menu-open .mobile-toggle span:nth-child(1){transform:translateY(8px) rotate(45deg);}
    .menu-open .mobile-toggle span:nth-child(2){opacity:0;}
    .menu-open .mobile-toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
    .mobile-nav{
        display:grid;
        gap:8px;
        padding:0 18px 18px;
    }
    .mobile-nav .nav-link{justify-content:flex-start;padding:12px 14px;border-radius:14px;}
    .mobile-nav-cta{margin-top:8px;width:100%;}
    .hero-section{padding:70px 0 62px;}
    .hero-grid,.split-section,.contact-layout,.process-grid{grid-template-columns:1fr;}
    .hero-text{text-align:center;}
    .hero-text p,.page-hero p{margin-left:auto;margin-right:auto;}
    .hero-buttons{justify-content:center;}
    .hero-text h1,.page-hero h1{max-width:820px;margin-left:auto;margin-right:auto;}
    .hero-visual{max-width:760px;margin:10px auto 0;}
    .work-grid,.footer-grid{grid-template-columns:1fr 1fr;}
    .align-left{text-align:center;margin-left:auto;}
    .align-left p{margin-left:auto;}
}
@media(max-width:680px){
    .site-header{width:100%;top:0;margin-top:0;padding-top:10px;}
    .container-custom{width:min(100% - 28px,1180px);}
    .brand-copy strong{font-size:1.18rem;}
    .brand-copy small{font-size:.72rem;}
    .site-logo{width:96px;height:72px;}
    .hero-text h1,.page-hero h1{font-size:clamp(2.28rem,11vw,3rem);line-height:1.04;letter-spacing:-.025em;}
    .hero-text p,.page-hero p,.section-heading p{font-size:1rem;line-height:1.75;}
    .hero-buttons .btn-primary,.hero-buttons .btn-secondary{width:100%;}
    .hero-photo-card{min-height:360px;border-radius:26px;}
    .founder-photo-card{min-height:430px;border-radius:24px;}
    .hero-photo-caption{left:18px;bottom:16px;}
    .hero-photo-caption h3{font-size:1.05rem;}
    .features-section,.impact-section,.cta-section,.about-preview,.page-section,.statement-section{padding:58px 0;}
    .features-grid,.impact-grid,.work-grid,.footer-grid{grid-template-columns:1fr;}
    .feature-card,.impact-card,.work-card,.content-panel,.contact-card,.statement-card,.cta-card{padding:26px;border-radius:22px;}
    .cta-card h2,.section-heading h2,.split-section h2,.statement-card h2{font-size:2.15rem;}
    .page-hero{padding:64px 0 36px;}
    .form-button{width:100%;}
    .footer-bottom{display:grid;text-align:center;}
}
