
:root{--ocean:#05101f;--deep:#0a1c35;--reef:#0d4f8c;--teal:#00c4b4;--coral:#ff5e38;--sand:#f7e8cc;--cream:#fdf6ec;--white:#fff;--text:#1a2a3a;--muted:#6b7f93;--border:rgba(0,0,0,.08);}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;color:var(--text);background:var(--cream);overflow-x:hidden;}
a{text-decoration:none;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:200;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;height:72px;background:rgba(5,16,31,.97);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.07);}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:700;color:#fff;letter-spacing:.02em;}
.nav-logo span{color:var(--teal);}
.nav-links{display:flex;gap:2rem;list-style:none;}
.nav-links a{color:rgba(255,255,255,.8);font-size:.875rem;font-weight:500;letter-spacing:.04em;transition:color .2s;}
.nav-links a:hover,.nav-links a.current{color:var(--teal);}
.nav-cta{background:var(--coral);color:#fff;padding:.5rem 1.4rem;border-radius:40px;font-size:.875rem;font-weight:600;transition:background .2s;}
.nav-cta:hover{background:#e84522;}
@media(max-width:640px){.nav-links,.nav-cta{display:none;}}

/* PAGE HERO */
.page-hero{padding:130px 5vw 4rem;background:var(--ocean);position:relative;overflow:hidden;}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 70% at 60% 50%,rgba(13,79,140,.4),transparent 65%);}
.page-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--teal),transparent);}
.hero-inner{position:relative;z-index:1;max-width:700px;}
.hero-eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--teal);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem;}
.hero-eyebrow::after{content:'';flex:0 0 30px;height:1px;background:var(--teal);}
.page-hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2.5rem,5vw,4rem);font-weight:700;color:#fff;line-height:1.1;margin-bottom:1rem;}
.page-hero h1 em{color:var(--teal);font-style:italic;}
.page-hero p{color:rgba(255,255,255,.55);font-size:1rem;line-height:1.7;max-width:520px;}

/* STATS BAND */
.stats-band{background:white;padding:3rem 5vw;border-bottom:1px solid var(--border);}
.stats-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;max-width:900px;margin:0 auto;text-align:center;}
.stat-item{}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:2.8rem;font-weight:700;color:var(--reef);line-height:1;}
.stat-num span{color:var(--coral);}
.stat-label{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:.35rem;}

/* ABOUT SECTIONS */
.about-intro{padding:5rem 5vw;background:var(--cream);}
.about-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;max-width:1200px;margin:0 auto;}
.about-visual{position:relative;height:480px;border-radius:24px;overflow:hidden;}
.about-bg{width:100%;height:100%;background:linear-gradient(135deg,#0a2e5c 0%,#00b4a6 60%,#1a7f6e 100%);}
.about-accent-circle{position:absolute;width:180px;height:180px;border-radius:50%;border:3px solid rgba(255,94,56,.3);bottom:-40px;right:-40px;background:rgba(255,94,56,.08);}
.about-badge{position:absolute;bottom:2rem;left:2rem;background:rgba(5,16,31,.88);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:1.2rem 1.5rem;color:white;}
.about-badge-num{font-family:'Cormorant Garamond',serif;font-size:2.5rem;font-weight:700;color:var(--teal);line-height:1;}
.about-badge-txt{font-size:.72rem;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.07em;margin-top:.2rem;}
.section-eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--coral);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem;}
.section-eyebrow::after{content:'';flex:0 0 30px;height:1px;background:var(--coral);}
.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:700;color:var(--text);line-height:1.15;margin-bottom:1.25rem;}
.section-title em{color:var(--reef);font-style:italic;}
.about-para{font-size:.95rem;color:var(--muted);line-height:1.85;margin-bottom:1.1rem;}
.feature-list{list-style:none;margin-top:1.5rem;display:flex;flex-direction:column;gap:.75rem;}
.feature-list li{display:flex;align-items:flex-start;gap:.75rem;font-size:.9rem;color:var(--text);line-height:1.5;}
.feature-list li::before{content:'✓';width:22px;height:22px;background:var(--teal);color:var(--ocean);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:900;flex-shrink:0;margin-top:1px;}

/* TEAM */
.team-section{padding:5rem 5vw;background:white;}
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.75rem;margin-top:3rem;}
.team-card{text-align:center;}
.team-avatar{width:100px;height:100px;border-radius:50%;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:700;color:white;position:relative;}
.team-avatar::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--teal);opacity:.4;}
.team-name{font-weight:700;font-size:1rem;margin-bottom:.2rem;}
.team-role{font-size:.78rem;color:var(--teal);font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.6rem;}
.team-bio{font-size:.83rem;color:var(--muted);line-height:1.65;}

/* VALUES */
.values-section{padding:5rem 5vw;background:var(--cream);}
.values-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem;margin-top:3rem;}
.value-card{background:white;border-radius:20px;padding:1.75rem;box-shadow:0 2px 16px rgba(0,0,0,.05);transition:transform .3s,box-shadow .3s;}
.value-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.09);}
.value-icon{font-size:2rem;margin-bottom:1rem;}
.value-title{font-weight:700;font-size:.95rem;margin-bottom:.5rem;}
.value-desc{font-size:.85rem;color:var(--muted);line-height:1.7;}

/* CONTACT SECTION */
.contact-section{padding:5rem 5vw;background:var(--deep);position:relative;overflow:hidden;}
.contact-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 30% 50%,rgba(0,196,180,.1),transparent 65%);}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;position:relative;z-index:1;max-width:1200px;margin:0 auto;}
.contact-info .section-eyebrow{color:var(--teal);}
.contact-info .section-eyebrow::after{background:var(--teal);}
.contact-info .section-title{color:white;}
.contact-info .section-title em{color:var(--teal);}
.contact-info p{color:rgba(255,255,255,.55);font-size:.92rem;line-height:1.8;margin-bottom:2rem;}

.contact-methods{display:flex;flex-direction:column;gap:1rem;}
.contact-method{display:flex;align-items:flex-start;gap:1rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.25rem;}
.cm-icon{font-size:1.5rem;flex-shrink:0;}
.cm-label{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);margin-bottom:.25rem;}
.cm-value{font-size:.95rem;font-weight:600;color:white;margin-bottom:.2rem;}
.cm-sub{font-size:.78rem;color:rgba(255,255,255,.45);}

.hours-table{margin-top:1.5rem;background:rgba(255,255,255,.05);border-radius:14px;overflow:hidden;}
.hours-row{display:flex;justify-content:space-between;padding:.75rem 1.1rem;font-size:.83rem;border-bottom:1px solid rgba(255,255,255,.06);}
.hours-row:last-child{border-bottom:none;}
.hours-day{color:rgba(255,255,255,.55);}
.hours-time{color:white;font-weight:600;}
.hours-time.open{color:var(--teal);}

/* CONTACT FORM */
.contact-form-wrap{}
.form-title{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:700;color:white;margin-bottom:.5rem;}
.form-sub{font-size:.88rem;color:rgba(255,255,255,.45);margin-bottom:2rem;line-height:1.6;}
.form{display:flex;flex-direction:column;gap:1rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form-group{}
.form-label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:.5rem;}
.form-input,.form-select,.form-textarea{width:100%;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.12);border-radius:12px;padding:.8rem 1rem;font-family:'DM Sans',sans-serif;font-size:.9rem;color:white;outline:none;transition:border-color .2s;}
.form-input::placeholder,.form-textarea::placeholder{color:rgba(255,255,255,.3);}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--teal);}
.form-select{color:rgba(255,255,255,.6);}
.form-select option{background:var(--deep);color:white;}
.form-textarea{resize:vertical;min-height:120px;line-height:1.6;}
.form-submit{background:var(--coral);color:white;border:none;padding:1rem 2rem;border-radius:12px;font-family:'DM Sans',sans-serif;font-size:.95rem;font-weight:700;cursor:pointer;letter-spacing:.04em;transition:background .2s,transform .2s;width:100%;}
.form-submit:hover{background:#e84522;transform:translateY(-1px);}
.form-note{font-size:.75rem;color:rgba(255,255,255,.35);text-align:center;}

/* MAP EMBED PLACEHOLDER */
.map-section{background:linear-gradient(135deg,#0a2e5c,#1a6ea8 60%,#00c4b4);height:360px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.map-section::before{content:'';position:absolute;inset:0;background:rgba(5,16,31,.3);}
.map-placeholder{position:relative;z-index:1;text-align:center;color:white;}
.map-placeholder h3{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:700;margin-bottom:.5rem;}
.map-placeholder p{font-size:.9rem;color:rgba(255,255,255,.65);margin-bottom:1.25rem;}
.map-open-btn{display:inline-flex;align-items:center;gap:.5rem;background:white;color:var(--reef);padding:.7rem 1.5rem;border-radius:30px;font-weight:700;font-size:.88rem;transition:transform .2s,box-shadow .2s;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;}
.map-open-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.2);}

/* FAQ */
.faq-section{padding:5rem 5vw;background:var(--cream);}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:3rem;}
.faq-item{background:white;border-radius:16px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.05);}
.faq-q{width:100%;background:none;border:none;padding:1.25rem 1.5rem;text-align:left;font-family:'DM Sans',sans-serif;font-size:.9rem;font-weight:700;color:var(--text);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;}
.faq-q:hover{color:var(--reef);}
.faq-arrow{font-size:.8rem;transition:transform .3s;flex-shrink:0;color:var(--reef);}
.faq-a{display:none;padding:0 1.5rem 1.25rem;font-size:.87rem;color:var(--muted);line-height:1.75;}
.faq-item.open .faq-arrow{transform:rotate(180deg);}
.faq-item.open .faq-a{display:block;}

/* CTA */
.cta-band{background:linear-gradient(135deg,var(--ocean),var(--reef));padding:5rem 5vw;text-align:center;position:relative;overflow:hidden;}
.cta-band::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 50%,rgba(0,196,180,.12),transparent 70%);}
.cta-band h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3rem);color:white;font-weight:700;margin-bottom:1rem;position:relative;}
.cta-band h2 em{color:var(--teal);font-style:italic;}
.cta-band p{color:rgba(255,255,255,.6);font-size:1rem;margin-bottom:2.5rem;position:relative;}
.cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;position:relative;}
.btn-primary{display:inline-block;background:var(--coral);color:#fff;padding:.9rem 2.5rem;border-radius:50px;font-weight:700;font-size:.95rem;letter-spacing:.04em;transition:background .2s,transform .2s;}
.btn-primary:hover{background:#e84522;transform:translateY(-2px);}
.btn-ghost{display:inline-block;background:transparent;color:#fff;padding:.9rem 2.5rem;border-radius:50px;border:1.5px solid rgba(255,255,255,.35);font-weight:600;font-size:.95rem;letter-spacing:.04em;transition:border-color .2s,background .2s;}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.07);}

/* FOOTER */
footer{background:var(--ocean);color:rgba(255,255,255,.6);padding:4rem 5vw 2rem;}
.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:3rem;margin-bottom:3rem;}
.footer-brand .nav-logo{display:block;margin-bottom:1rem;font-size:1.8rem;}
.footer-desc{font-size:.85rem;line-height:1.7;max-width:260px;}
.footer-col h4{color:white;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.25rem;}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:.75rem;}
.footer-links a{color:rgba(255,255,255,.55);font-size:.85rem;transition:color .2s;}
.footer-links a:hover{color:var(--teal);}
.footer-bottom{padding-top:2rem;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;}
.footer-legal{font-size:.78rem;}
.footer-legal a{color:inherit;}
.footer-social{display:flex;gap:.75rem;}
.social-btn{width:34px;height:34px;border-radius:8px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);font-size:.85rem;font-weight:700;transition:background .2s,color .2s;}
.social-btn:hover{background:var(--teal);color:var(--ocean);border-color:var(--teal);}
.phone-bar{display:flex;align-items:center;gap:.75rem;background:rgba(255,255,255,.07);border-radius:10px;padding:.85rem 1rem;margin-top:1.5rem;max-width:260px;}
.phone-bar-num{color:white;font-weight:600;font-size:.95rem;}
.phone-bar-label{font-size:.65rem;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.08em;}

/* REVEAL */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

@media(max-width:900px){
  .about-intro-grid,.contact-grid{grid-template-columns:1fr;}
  .about-visual{height:300px;}
  .faq-grid{grid-template-columns:1fr;}
  .stats-inner{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:640px){
  .team-grid{grid-template-columns:repeat(2,1fr);}
  .values-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;gap:2rem;}
  .form-row{grid-template-columns:1fr;}
}
