:root{
  --bg:#F5F5DC;
  --surface:rgba(75, 0, 130, 0.1);
  --surface-weak:rgba(75, 0, 130, 0.05);
  --text:#36454F;
  --muted:#666666;
  --gold:#c79b3c;
  --gold-light:#e0c97c;
  --border:rgba(54,69,79,.2);
  --radius:24px;
  --max-width:1200px;
  --purple-dark:#4B0082;
  --purple-mid:#6A0DAD;
  --purple-light:#9D4EDD;
  --purple-pale:#E0AAFF;
  --gradient-purple:linear-gradient(135deg, #6A0DAD 0%, #9D4EDD 50%, #E0AAFF 100%);
  --gradient-purple-gold:linear-gradient(135deg, #6A0DAD 0%, #c79b3c 100%);
  --gradient-gold-purple:linear-gradient(135deg, #c79b3c 0%, #9D4EDD 100%);
  font-family:'Lato',sans-serif;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; background:var(--bg); color:var(--text); line-height:1.6; min-height:100vh;}
img,svg{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
button,input,textarea{font:inherit;}
nav{position:sticky; top:0; z-index:10; --backdrop-filter:blur(16px); background:rgba(245,245,220,.9); border-bottom:1px solid var(--border);}
.section-inner{max-width:1200px; margin:0 auto; padding:0 24px;}
nav{padding:1rem 24px;}
.nav-logo{font-family:'Playfair Display',serif; font-size:1.1rem; letter-spacing:.05em; font-weight:700;}
.nav-logo span{color:var(--gold);}
.nav-links{display:flex; flex-wrap:wrap; gap:1rem; align-items:center; list-style:none; margin:0; padding:0;}
.nav-links li{margin:0;}
.nav-links a{color:var(--text); transition:.25s; font-size:.95rem;}
.nav-links a:hover{color:var(--gold-light);}
.nav-cta{padding:.75rem 1.2rem; border:1px solid var(--gold); border-radius:999px; background:linear-gradient(135deg, rgba(199,155,60,.15), rgba(106,13,173,.1)); transition:.3s;}
.nav-cta:hover{background:linear-gradient(135deg, rgba(199,155,60,.25), rgba(106,13,173,.2)); border-color:var(--purple-light);}
#hero{min-height:calc(100vh - 72px); padding:80px 0; position:relative; overflow:hidden; background:linear-gradient(180deg, rgba(224,170,255,.08) 0%, rgba(106,13,173,.04) 100%);}
.hero-bg-shapes{position:absolute; inset:0; pointer-events:none;}
.hero-shape-1{position:absolute; top:-80px; left:-120px; width:320px; height:320px; background:linear-gradient(135deg, rgba(106,13,173,.15), rgba(157,78,221,.08)); border-radius:50%; filter:blur(12px);}
.hero-shape-2{position:absolute; right:-100px; bottom:-60px; width:240px; height:240px; background:linear-gradient(135deg, var(--surface), rgba(157,78,221,.15)); border-radius:50%; filter:blur(10px);}
.hero-dots{position:absolute; inset:0; display:grid; grid-template-columns:repeat(8,1fr); gap:16px; padding:60px;}
.hero-dots span{width:8px; height:8px; background:var(--border); border-radius:50%;}
.hero-inner{position:relative; display:grid; grid-template-columns:1.5fr 1fr; gap:48px; align-items:center; padding-top:80px;}
.hero-eyebrow{font-size:.95rem; letter-spacing:.12em; text-transform:uppercase; opacity:.75; margin-bottom:1rem;}
.hero-title{font-family:'Playfair Display',serif; font-size:clamp(3rem,5vw,5rem); line-height:1.02; max-width:13ch; margin:0 0 1rem;}
.hero-title em{font-style:italic; color:var(--gold-light);}
.hero-sub{max-width:640px; color:var(--muted); margin-bottom:1.75rem;}
.hero-btns{display:flex; gap:1rem; flex-wrap:wrap;}
.btn-primary,.btn-ghost{display:inline-flex; align-items:center; justify-content:center; min-width:210px; border-radius:999px; padding:.95rem 1.35rem; border:1px solid transparent; transition:.3s;}
.btn-primary{background:var(--gold); color:#080808; transition:.3s;}
.btn-primary:hover{transform:translateY(-2px); background:var(--gradient-gold-purple); color:#fff;}
.btn-ghost{border-color:var(--border); color:var(--text); background:var(--surface); transition:.3s;}
.btn-ghost:hover{background:linear-gradient(135deg, rgba(75,0,130,.2), rgba(157,78,221,.2)); border-color:var(--purple-light);}
.hero-right{display:grid; gap:1rem;}
.hero-stat-card{display:flex; gap:1rem; align-items:center; padding:1.2rem; background:linear-gradient(135deg, rgba(75,0,130,.12), rgba(157,78,221,.08)); border:1px solid rgba(157,78,221,.3); border-radius:28px; transition:.3s;}
.hero-stat-card:hover{border-color:var(--purple-light); background:linear-gradient(135deg, rgba(75,0,130,.18), rgba(157,78,221,.12));}
.hero-stat-icon{font-size:1.7rem; width:3rem; height:3rem; display:grid; place-items:center; background:linear-gradient(135deg, rgba(199,155,60,.15), rgba(157,78,221,.1)); border-radius:18px;}
.hero-stat-label{font-size:.88rem; color:var(--muted);}
.hero-stat-value{font-weight:700; margin-top:.25rem;}
.hero-tagline{margin-top:1rem; color:var(--gold); letter-spacing:.12em; text-transform:uppercase; font-size:.9rem;}
.section-eyebrow{font-size:1.95rem; letter-spacing:.14em; text-transform:uppercase; color:var(--purple-light); margin-bottom:.75rem;}
.section-eyebrow-gold{color:var(--gold);}
.section-title{font-family:'Playfair Display',serif; font-size:clamp(2.1rem,4vw,3.2rem); margin:0 0 1rem; line-height:1.05;}
.section-title-light{color:rgb(175, 108, 238); opacity:.95;}
.divider-gold{width:80px; height:3px; border-radius:999px; background:var(--gradient-gold-purple); margin-bottom:2rem;}
.about-grid{display:grid; grid-template-columns:1.2fr .8fr; gap:2rem; align-items:start;}
.about-text{color:var(--muted); margin-bottom:1rem;}
.about-pillars{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1.5rem;}
.pillar{background:linear-gradient(135deg, rgba(75,0,130,.12), rgba(157,78,221,.08)); border:1px solid rgba(157,78,221,.3); padding:1rem 1.1rem; border-radius:22px; transition:.3s;}
.pillar:hover{border-color:var(--purple-light); background:linear-gradient(135deg, rgba(75,0,130,.18), rgba(157,78,221,.12));}
.pillar-title{font-weight:700; margin-bottom:.5rem;}
.pillar-desc{color:var(--muted); font-size:.95rem;}
.mv-block{background:linear-gradient(135deg, rgba(75,0,130,.12), rgba(157,78,221,.08)); border:1px solid rgba(157,78,221,.3); border-radius:26px; padding:1.3rem; margin-bottom:1rem; transition:.3s;}
.mv-block:hover{border-color:var(--purple-light); background:linear-gradient(135deg, rgba(75,0,130,.18), rgba(157,78,221,.12));}
.mv-icon{font-size:1.8rem; margin-bottom:.85rem;}
.mv-label{font-size:.85rem; letter-spacing:.12em; text-transform:uppercase; color:var(--purple-light);}
.mv-title{font-size:1.35rem; margin:0.5rem 0 0.75rem; background:var(--gradient-gold-purple); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;}
.mv-text{color:var(--muted); line-height:1.8;}
.mv-divider{height:1px; background:var(--border); margin:1.5rem 0;}
.services-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1.25rem; margin-top:2rem;}
.service-card{padding:1.35rem; border-radius:26px; background:linear-gradient(135deg, rgba(75,0,130,.12), rgba(157,78,221,.08)); border:1px solid rgba(157,78,221,.3); transition:.3s;}
.service-card:hover{border-color:var(--purple-light); background:linear-gradient(135deg, rgba(75,0,130,.18), rgba(157,78,221,.12));}
.service-icon-wrap{font-size:1.6rem; margin-bottom:1rem;}
.service-title{font-weight:700; margin-bottom:.75rem;}
.service-desc{color:var(--muted); font-size:.95rem;}
.studio-grid{display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:2rem;}
.studio-badge{display:inline-flex; align-items:center; gap:.5rem; padding:.65rem 1rem; border-radius:999px; background:linear-gradient(135deg, rgba(75,0,130,.12), rgba(157,78,221,.08)); color:var(--purple-light); border:1px solid rgba(157,78,221,.3);}
.studio-desc{color:var(--muted);}
.studio-services{margin-top:1.6rem; padding-left:1.25rem; color:var(--muted); display:grid; gap:.5rem;}
.studio-services li{position:relative; padding-left:1rem;}
.studio-services li::before{content:'✓'; position:absolute; left:0; color:var(--purple-light);}
.studio-right{display:grid; gap:1rem;}
.studio-type-card{display:grid; grid-template-columns:auto 1fr; gap:1rem; align-items:flex-start; background:linear-gradient(135deg, rgba(75,0,130,.12), rgba(157,78,221,.08)); border:1px solid rgba(157,78,221,.3); padding:1.25rem; border-radius:24px; transition:.3s;}
.studio-type-card:hover{border-color:var(--purple-light); background:linear-gradient(135deg, rgba(75,0,130,.18), rgba(157,78,221,.12));}
.stc-icon{font-size:1.8rem;}
.stc-label{font-weight:700; margin-bottom:.35rem;}
.stc-desc{color:var(--muted); font-size:.95rem;}
.impact-layout{display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:center; margin-top:2rem;}
.impact-circle-wrap{position:relative; min-height:420px; width:100%; max-width:520px; margin:auto;}
.impact-ring{position:absolute; inset:0; border:2px solid var(--purple-light); border-radius:50%; box-shadow:0 0 0 24px var(--surface);}
.impact-center{position:absolute; inset:35%; display:grid; place-items:center; text-align:center; padding:1.2rem; border:1px solid var(--border); border-radius:32px; background:rgba(245,245,220,.9);}
.impact-center-text{font-size:1.5rem; font-weight:700; margin-bottom:.35rem;}
.impact-center-sub{font-size:.95rem; color:var(--muted);}
.impact-node{position:absolute; display:flex; flex-direction:column; align-items:center; gap:.2rem; transform:translate(-50%,-50%);}
.impact-node span{display:block; text-align:center;}
.in-letter{font-size:1rem; font-weight:700; background:var(--gradient-gold-purple); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;}
.in-word{font-size:.9rem; color:var(--text);}
.impact-node-1{left:50%; top:5%;}
.impact-node-2{left:91%; top:25%;}
.impact-node-3{left:91%; top:72%;}
.impact-node-4{left:50%; top:92%;}
.impact-node-5{left:9%; top:72%;}
.impact-node-6{left:9%; top:25%;}
.impact-steps{display:grid; gap:1rem;}
.impact-step{display:grid; grid-template-columns:56px 1fr; gap:1rem; align-items:flex-start; padding:1rem 1.2rem; border-radius:24px; background:linear-gradient(135deg, rgba(106,13,173,.06), rgba(157,78,221,.04)); border:1px solid rgba(157,78,221,.15);}
.is-letter{font-size:1.5rem; font-weight:700; background:var(--gradient-gold-purple); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;}
.is-word{font-weight:700;}
.is-desc{color:var(--muted); margin-top:.4rem;}
.collective-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(180px,1fr)); gap:1rem; margin-top:2rem;}
.collective-card{padding:1.25rem; border-radius:24px; background:linear-gradient(135deg, rgba(106,13,173,.06), rgba(157,78,221,.04)); border:1px solid rgba(157,78,221,.15); transition:.3s;}
.collective-card:hover{background:linear-gradient(135deg, rgba(106,13,173,.12), rgba(157,78,221,.08)); border-color:var(--purple-light);}
.cc-icon{font-size:1.8rem; margin-bottom:.75rem; background:var(--gradient-gold-purple); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;}
.cc-title{font-weight:700; margin-bottom:.4rem;}
.cc-sub{color:var(--muted); font-size:.95rem;}
.campaigns-grid{display:grid; gap:1.25rem; margin-top:2rem;}
.campaign-card{padding:1.3rem; border-radius:28px; background:linear-gradient(135deg, rgba(106,13,173,.06), rgba(157,78,221,.04)); border:1px solid rgba(157,78,221,.15); transition:.3s;}
.campaign-card:hover{background:linear-gradient(135deg, rgba(106,13,173,.12), rgba(157,78,221,.08)); border-color:var(--purple-light);}
.cc-card-icon{font-size:1.9rem; margin-bottom:1rem; background:var(--gradient-gold-purple); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;}
.cc-card-title{font-weight:700; margin-bottom:.75rem;}
.cc-card-desc{color:var(--muted); margin-bottom:1rem;}
.cc-card-tag{font-size:.9rem; color:var(--purple-light);}
.case-study{display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin-top:2rem;}
.case-image{padding:1.6rem; border-radius:32px; background:linear-gradient(180deg, rgba(199,155,60,.15), rgba(157,78,221,.08)); border:1px solid rgba(157,78,221,.15);}
.case-badge{display:inline-block; margin-bottom:1rem; padding:.55rem 1rem; border-radius:999px; background:linear-gradient(135deg, rgba(157,78,221,.15), rgba(199,155,60,.1)); color:var(--purple-dark); border:1px solid rgba(157,78,221,.3);}
.case-title-display{font-size:1.95rem; line-height:1.05; margin-bottom:.75rem;}
.case-subtitle{color:var(--muted);}
.case-content{display:grid; gap:1rem;}
.case-section{padding:1rem; border-radius:24px; background:linear-gradient(135deg, rgba(106,13,173,.06), rgba(157,78,221,.04)); border:1px solid rgba(157,78,221,.15);}
.case-section-label{font-size:.85rem; letter-spacing:.12em; text-transform:uppercase; color:var(--purple-light); margin-bottom:.5rem;}
.case-section-text{color:var(--muted); line-height:1.8;}
.case-outcomes{display:flex; gap:.75rem; flex-wrap:wrap;}
.outcome-pill{display:flex; align-items:center; gap:.75rem; padding:.85rem 1rem; border-radius:22px; background:linear-gradient(135deg, rgba(106,13,173,.08), rgba(157,78,221,.05)); border:1px solid rgba(157,78,221,.2);}
.outcome-num{font-size:1.3rem;}
.outcome-label{color:var(--muted); font-weight:700;}
.founder-grid{display:grid; grid-template-columns:320px 1fr; gap:2rem; align-items:start; margin-top:2rem;}
.founder-portrait{background:linear-gradient(135deg, rgba(106,13,173,.08), rgba(157,78,221,.05)); border:1px solid rgba(157,78,221,.2); border-radius:32px; padding:1.5rem;}
.founder-portrait-inner{text-align:center;}
.fp-avatar{width:100px; height:100px; margin:0 auto 1rem; display:grid; place-items:center; border-radius:50%; background:rgba(199,155,60,.15); overflow:hidden;}
.fp-avatar img{width:100%; height:100%; object-fit:cover; display:block;}
.fp-name{font-weight:700; margin-bottom:.25rem;}
.fp-role{color:var(--muted); margin-bottom:1rem;}
.founder-tags{display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center;}
.ftag{padding:.45rem .75rem; border-radius:999px; background:linear-gradient(135deg, rgba(106,13,173,.08), rgba(157,78,221,.05)); border:1px solid rgba(157,78,221,.15); font-size:.85rem;}
.founder-bio{color:var(--muted); margin-bottom:1rem; line-height:1.8;}
.founder-philosophy{padding:1.35rem; border-radius:26px; background:linear-gradient(135deg, rgba(106,13,173,.1), rgba(157,78,221,.06)); border:1px solid rgba(157,78,221,.2); color:#49065e; font-style:italic; line-height:1.8;}
.founder-philosophy cite{display:block; margin-top:.9rem; text-align:right; font-size:.9rem; color:var(--purple-light); font-style:normal;}
.clients-track{display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem;}
.client-pill{display:flex; align-items:center; gap:.75rem; padding:.85rem 1rem; border-radius:999px; background:linear-gradient(135deg, rgba(106,13,173,.06), rgba(157,78,221,.04)); border:1px solid rgba(157,78,221,.15);}
.client-dot{width:.6rem; height:.6rem; border-radius:50%; background:var(--purple-light);}
.contact-grid{display:grid; grid-template-columns:1fr 420px; gap:2rem; align-items:start;}
.contact-title{font-size:2.8rem; line-height:1.05; margin:0 0 1rem;}
.contact-tagline{color:var(--muted); margin-bottom:1.75rem;}
.contact-details{display:grid; gap:1rem;}
.contact-item{display:flex; gap:1rem; align-items:flex-start; padding:1rem; border-radius:24px; background:linear-gradient(135deg, rgba(106,13,173,.08), rgba(157,78,221,.05)); border:1px solid rgba(157,78,221,.2);}
.contact-icon-wrap{font-size:1.5rem; padding-top:.25rem;}
.contact-item-label{font-size:.85rem; text-transform:uppercase; letter-spacing:.12em; color:var(--purple-light); margin-bottom:.35rem;}
.contact-item-value{color:var(--text);}
.contact-form{display:grid; gap:1rem; padding:1.2rem; border-radius:32px; background:linear-gradient(135deg, rgba(106,13,173,.08), rgba(157,78,221,.05)); border:1px solid rgba(157,78,221,.2);}
.form-label{display:block; margin-bottom:.5rem; font-size:.95rem;}
.form-input,.form-textarea{width:100%; border:1px solid rgba(255,255,255,.12); border-radius:18px; background:rgba(255,255,255,.03); color:var(--text); padding:.95rem 1rem;}
.form-input::placeholder,.form-textarea::placeholder{color:rgba(255,255,255,.5);}
.form-textarea{min-height:160px; resize:none;}
.form-submit{border:none; border-radius:999px; padding:1rem 1.2rem; background:var(--gold); color:#080808; cursor:pointer; font-weight:700; transition:.25s;}
.form-submit:hover{transform:translateY(-2px); background:var(--gradient-gold-purple); color:#fff; box-shadow:0 8px 24px rgba(106,13,173,.3);}
footer{padding:2rem 0; text-align:center; color:var(--muted);}
.footer-logo{font-weight:700; margin-bottom:.5rem;}
.footer-logo span{color:var(--gold);}
.footer-tagline{margin-bottom:.5rem;}
.footer-copy{font-size:.95rem;}
.rates-hero{padding:60px 0; text-align:center;}
.rates-hero-inner{display:grid; grid-template-columns:1fr; gap:2rem; max-width:1200px; margin:0 auto; padding:0 24px; align-items:center;}
.rates-hero-content{text-align:left;}
.rates-hero-title{font-family:'Playfair Display',serif; font-size:clamp(2.8rem,5vw,4.5rem); margin:0.5rem 0 1rem;}
.rates-lead{max-width:100%; color:var(--muted); line-height:1.9;}
.rates-hero-image{display:flex; align-items:center; justify-content:center; width:100%; max-width:400px; margin:0 auto;}
.rates-hero-image img{width:100%; height:auto; border-radius:32px; box-shadow:0 10px 40px rgba(0,0,0,.1); object-fit:cover;}
@media (min-width: 768px){
  .rates-hero-inner{grid-template-columns:1fr 1fr; gap:3rem;}
  .rates-hero{padding:80px 0;}
}
@media (min-width: 1024px){
  .rates-hero-inner{gap:4rem;}
  .rates-hero{padding:100px 0 80px;}
}
.rates-card-grid{display:grid; gap:1.25rem; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); margin-top:2rem;}
.rates-card{padding:1.35rem; border-radius:28px; background:linear-gradient(135deg, rgba(75,0,130,.12), rgba(157,78,221,.08)); border:1px solid rgba(157,78,221,.3); transition:.3s;}
.rates-card:hover{border-color:var(--purple-light); background:linear-gradient(135deg, rgba(75,0,130,.18), rgba(157,78,221,.12));}
.rates-card-title{font-weight:700; margin-bottom:.75rem; background:var(--gradient-gold-purple); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;}
.rates-card-copy{color:var(--muted); line-height:1.8;}
.rates-table{width:100%; border-collapse:collapse; margin-top:1.5rem; background:#fff;}
.rates-table th,.rates-table td{border:1px solid var(--border); padding:1rem; text-align:left; vertical-align:top;}
.rates-table th{background:rgba(199,155,60,.08); color:var(--text); font-weight:700;}
.rates-table tbody tr:nth-child(even){background:rgba(199,155,60,.04);}
.rates-table-caption{caption-side:top; text-align:left; font-weight:700; margin-bottom:.75rem; color:var(--text);}
.rates-details{display:grid; gap:1.25rem; margin-top:1.5rem;}
.rates-grid{display:grid; gap:1.25rem; margin-top:1.5rem;}
.rates-policy{margin-top:1.5rem; display:grid; gap:1rem;}
.cta-block{display:flex; justify-content:center; margin:2rem 0;}
.cta-block .rates-card{max-width:720px; margin:auto; text-align:center;}
.cta-block .btn-primary,.cta-block .btn-ghost{margin:0.75rem 0.5rem;}
.policy-list{margin:0; padding-left:1.25rem; color:var(--muted);}
.policy-list li{margin-bottom:.65rem;}
@media (max-width: 960px){
  .hero-inner,.about-grid,.studio-grid,.impact-layout,.case-study,.founder-grid,.contact-grid{grid-template-columns:1fr;}
  .nav-links{justify-content:center;}
}
@media (max-width: 760px){
  .section-inner{padding:0 18px;}
  .hero-dots{display:none;}
  .hero-btns{flex-direction:column;}
  .impact-center{inset:20%;}
} 