/* Global reset and theme variables */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root { --navy:#111844;--blue:#4B5694;--sky:#7288AE;--cream:#EAE0CF;--white:#ffffff;--dark:#0b1030; }
body { font-family:'DM Sans',sans-serif; background:var(--navy); color:var(--white); overflow-x:hidden; font-size:18px; scroll-behavior:smooth; }
html { scroll-behavior:smooth; }

/* INDEX PAGE STYLES */
.index-page nav { position:fixed; top:0; left:0; right:0; z-index:1200; display:flex; align-items:center; padding:1.1rem 4rem; background:rgba(17,24,68,0.97); backdrop-filter:blur(12px); border-bottom:1px solid rgba(114,136,174,0.2); }
.index-page nav .nav-toggle { display:none; }
.index-page .nav-logo { text-decoration:none; display:flex; align-items:baseline; gap:0.3rem; margin-left:auto; }
/* Common header nav styling (applies to nav.site-nav) */
.site-nav { position:fixed; top:0; left:0; right:0; z-index:1200; display:flex; align-items:center; padding:1.1rem 4rem; background:rgba(17,24,68,0.96); backdrop-filter:blur(10px); border-bottom:1px solid rgba(114,136,174,0.12); }
.site-nav .nav-toggle { display:none; }
.site-nav .nav-logo { text-decoration:none; display:flex; align-items:center; gap:0.3rem; margin-left:auto; }
.nav-logo .logo-img { height: 56px; width:auto; display:block; }
.site-nav .nav-logo .lt1, .site-nav .nav-logo .logo-text .lt1,
.site-nav .nav-logo .lt2, .site-nav .nav-logo .logo-text .lt2 { font-family:'Cormorant Garamond',serif; font-size:1.4rem; font-weight:600; letter-spacing:0.02em; }
.site-nav .nav-logo .lt1, .site-nav .nav-logo .logo-text .lt1 { color:var(--white); }
.site-nav .nav-logo .lt2, .site-nav .nav-logo .logo-text .lt2 { color:var(--cream); }
.site-nav .nav-logo .lt3, .site-nav .nav-logo .logo-text .lt3 { font-size:0.7rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--sky); font-weight:400; margin-left:0.5rem; align-self:center; }
.site-nav ul { list-style:none; display:flex; gap:2rem; align-items:center; margin:0; }
.site-nav ul li { white-space:nowrap; }
.site-nav ul a { text-decoration:none; color:rgba(255,255,255,0.85); font-size:1.05rem; font-weight:400; letter-spacing:0.02em; transition:color 0.18s; }
.site-nav ul a:hover, .site-nav ul a.active { color:var(--cream); }
.index-page .nav-logo .lt1, .index-page .nav-logo .lt2 { font-family:'Cormorant Garamond',serif; font-size:1.4rem; font-weight:600; letter-spacing:0.02em; }
.index-page .nav-logo .lt1 { color:var(--white); }
.index-page .nav-logo .lt2 { color:var(--cream); }
.index-page .nav-logo .lt3 { font-size:0.7rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--sky); font-weight:400; margin-left:0.5rem; align-self:center; }
.index-page nav ul { list-style:none; display:flex; gap:2rem; align-items:center; flex:0 1 auto; margin:0; }
.index-page nav ul li { white-space:nowrap; }
.index-page nav ul a { text-decoration:none; color:rgba(255,255,255,0.85); font-size:1.05rem; font-weight:400; letter-spacing:0.02em; transition:color 0.18s; }
.index-page nav ul a:hover, .index-page nav ul a.active { color:var(--cream); }
.index-page .nav-cta { padding:0.75rem 1.9rem; background:var(--cream); color:var(--navy) !important; font-weight:500 !important; font-size:1.2rem !important; letter-spacing:0.06em !important; transition:background 0.2s !important; }
.index-page .nav-cta:hover { background:var(--white) !important; }
.index-page .hero { min-height:100vh; padding:7rem 4rem 4rem; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:5rem; background:linear-gradient(135deg,var(--dark) 0%,var(--navy) 50%,#1a2460 100%); position:relative; overflow:hidden; }
.index-page .hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 70% 50%, rgba(75,86,148,0.25) 0%, transparent 65%); pointer-events:none; }
.index-page .hero-text { position:relative; z-index:1; }
.index-page .eyebrow { display:flex; align-items:center; gap:0.75rem; font-size:0.8rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--cream); margin-bottom:1.5rem; opacity:0.85; }
.index-page .eyebrow::before { content:''; display:block; width:28px; height:1px; background:var(--cream); }
.index-page .hero h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(3rem,5.5vw,5.5rem); font-weight:500; line-height:1.07; margin-bottom:1.75rem; color:var(--white); }
.index-page .hero h1 em { font-style:italic; color:var(--cream); }
.index-page .hero p { font-size:1.15rem; color:rgba(255,255,255,0.65); line-height:1.85; max-width:480px; margin-bottom:2.75rem; font-weight:300; }
.index-page .cta-row { display:flex; gap:1rem; flex-wrap:wrap; }
.index-page .cta-row { display:flex; gap:1rem; flex-wrap:wrap; align-items:center; }
.index-page .btn-primary, .index-page .btn-secondary, .index-page .btn-cream, .index-page .btn-outline { display:inline-block; padding:0.85rem 2rem; text-decoration:none; letter-spacing:0.07em; text-transform:uppercase; font-size:0.75rem; font-weight:500; transition:all 0.25s ease; border:none; cursor:pointer; white-space:nowrap; }
.index-page .btn-primary { background:var(--cream); color:var(--navy); }
.index-page .btn-primary:hover { background:var(--white); transform:translateY(-1px); }
.index-page .btn-secondary, .index-page .btn-outline { background:transparent; border:1px solid rgba(234,224,207,0.5); color:var(--cream); font-weight:400; }
.index-page .btn-secondary:hover, .index-page .btn-outline:hover { border-color:var(--cream); background:rgba(234,224,207,0.1); }
.index-page .btn-cream { background:var(--cream); color:var(--navy); }
.index-page .btn-cream:hover { background:var(--white); }
.index-page .hero-visual { position:relative; z-index:1; }
.index-page .hero-img-box { width:100%; aspect-ratio:4/5; background:rgba(75,86,148,0.25); border:1px solid rgba(114,136,174,0.3); display:flex; align-items:center; justify-content:center; font-size:7rem; overflow:hidden; position:relative; }
.index-page .hero-img-box img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.index-page .hero-badge { position:absolute; bottom:-1.5rem; left:-1.5rem; background:var(--blue); padding:1.5rem 2rem; min-width:150px; border-left:3px solid var(--cream); }
.index-page .hero-badge .big { font-family:'Cormorant Garamond',serif; font-size:2.75rem; font-weight:600; display:block; line-height:1; color:var(--cream); }
.index-page .hero-badge .sm { font-size:0.8rem; letter-spacing:0.08em; text-transform:uppercase; color:rgba(255,255,255,0.7); margin-top:0.3rem; display:block; }
.index-page .standfor { padding:7rem 4rem; background:var(--dark); display:grid; grid-template-columns:1fr 1.6fr; gap:6rem; align-items:start; border-top:1px solid rgba(114,136,174,0.12); }
.index-page .standfor-intro { position:sticky; top:7rem; }
.index-page .sec-label { font-size:0.8rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--cream); margin-bottom:0.75rem; opacity:0.85; }
.index-page .sec-title { font-family:'Cormorant Garamond',serif; font-size:clamp(2.5rem,4.5vw,4rem); font-weight:500; margin-bottom:1.25rem; line-height:1.05; color:var(--white); }
.index-page .sec-sub { font-size:1rem; color:rgba(255,255,255,0.45); font-weight:300; line-height:1.9; max-width:340px; }
.index-page .pillars { display:grid; grid-template-columns:1fr 1fr; gap:0; }
.index-page .pillar { padding:2.75rem 2rem; border:1px solid rgba(114,136,174,0.1); border-bottom:none; border-right:none; position:relative; transition:background 0.25s; }
.index-page .pillar:nth-child(odd) { border-left:none; }
.index-page .pillar:nth-child(even) { border-left:1px solid rgba(114,136,174,0.1); }
.index-page .pillar:nth-child(3), .index-page .pillar:nth-child(4) { border-bottom:1px solid rgba(114,136,174,0.1); }
.index-page .pillar::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:transparent; transition:background 0.25s; }
.index-page .pillar:hover::before { background:var(--cream); }
.index-page .pillar:hover { background:rgba(75,86,148,0.1); }
.index-page .pillar .pnum { font-family:'Cormorant Garamond',serif; font-size:3.5rem; color:rgba(234,224,207,0.1); line-height:1; margin-bottom:1.25rem; letter-spacing:-0.02em; }
.index-page .pillar h3 { font-family:'Cormorant Garamond',serif; font-size:1.35rem; font-weight:500; margin-bottom:0.75rem; color:var(--cream); letter-spacing:0.01em; line-height:1.25; }
.index-page .pillar p { font-size:0.95rem; color:rgba(255,255,255,0.45); line-height:1.85; font-weight:300; }
.index-page .why { padding:6rem 4rem; background:var(--navy); display:grid; grid-template-columns:1fr 1.4fr; gap:6rem; align-items:center; }
.index-page .why > div:first-child h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(2rem,3.5vw,3rem); font-weight:500; color:var(--white); margin-bottom:0.75rem; line-height:1.2; }
.index-page .why > div:first-child > p { font-size:1.05rem; color:rgba(255,255,255,0.55); font-weight:300; line-height:1.85; }
.index-page .why-list { display:flex; flex-direction:column; gap:1.5rem; }
.index-page .wi { display:flex; align-items:flex-start; gap:1rem; }
.index-page .wi-dot { width:8px; height:8px; background:var(--cream); border-radius:50%; flex-shrink:0; margin-top:0.55rem; }
.index-page .wi p { font-size:1.05rem; color:rgba(255,255,255,0.6); line-height:1.85; font-weight:300; margin:0; }
.index-page .wi p strong { color:var(--cream); font-weight:500; display:block; margin-bottom:0.2rem; }
.index-page .cta-banner { padding:5rem 4rem; background:var(--blue); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:2rem; }
.index-page .cta-banner h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(2.25rem,4.5vw,3.5rem); font-weight:500; color:var(--white); max-width:720px; line-height:1.1; letter-spacing:-0.02em; }
.index-page .cta-banner h2 em { font-style:italic; color:var(--cream); }
.index-page .cta-banner .cta-row { display:flex; gap:1.25rem; flex-wrap:wrap; justify-content:center; }
.index-page .cta-banner .btn-outline { border-color:rgba(234,224,207,0.4); color:var(--cream); }

/* Shared section container */
.section-container { max-width:1280px; margin:0 auto; padding:0 4rem; }

.index-page .section-header { margin-bottom:4rem; }
.index-page .section-label { font-size:0.75rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--cream); margin-bottom:1rem; opacity:0.8; display:block; }
.index-page .section-header h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(2.5rem,5vw,3.75rem); font-weight:500; color:var(--white); line-height:1.1; }

/* Hero updates */
.index-page .hero { min-height:100vh; padding:7rem 4rem 2rem; display:grid; grid-template-columns:1fr 1.3fr; align-items:center; gap:6rem; background:linear-gradient(135deg,var(--dark) 0%,var(--navy) 50%,#1a2460 100%); position:relative; overflow:hidden; }
.index-page .hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 70% 50%, rgba(75,86,148,0.15) 0%, transparent 65%); pointer-events:none; z-index:0; }
.index-page .hero-content { position:relative; z-index:1; max-width:580px; }
.index-page .hero .eyebrow { font-size:0.75rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--cream); margin-bottom:2.5rem; opacity:0.85; font-weight:400; }
.index-page .hero h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(3.25rem,6vw,4.8rem); font-weight:500; line-height:1.1; margin-bottom:1.5rem; color:var(--white); letter-spacing:-0.015em; }
.index-page .hero-subtitle { font-size:1.05rem; color:rgba(255,255,255,0.65); line-height:1.8; margin-bottom:2.5rem; font-weight:300; }
.index-page .hero-visual { position:relative; z-index:1; display:flex; align-items:flex-end; }
.index-page .hero-image-wrapper { position:relative; width:100%; }
.index-page .hero-image { width:100%; height:100%; min-height:500px; object-fit:cover; object-position:center; display:block; border:none; }
.index-page .hero-stat { position:absolute; bottom:2rem; right:2rem; background:var(--blue); padding:1.75rem 3rem; border-left:3px solid var(--cream); box-shadow:0 10px 40px rgba(2,6,23,0.4); }
.index-page .stat-value { font-family:'Cormorant Garamond',serif; font-size:2.75rem; font-weight:600; display:block; color:var(--cream); line-height:1; }
.index-page .stat-label { font-size:0.75rem; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.85); margin-top:0.6rem; display:block; font-weight:500; }

/* Mission section */
.index-page .mission-section { padding:5rem 4rem; background:var(--navy); min-height:auto; }
.index-page .mission-container { max-width:1280px; margin:0 auto; display:grid; grid-template-columns:0.9fr 1.2fr; gap:5rem; align-items:start; }
.index-page .mission-title { position:relative; }
.index-page .mission-title .section-label { display:block; margin-bottom:0.75rem; }
.index-page .mission-title h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(2.25rem,4.5vw,3.5rem); font-weight:500; color:var(--white); line-height:1.15; margin-bottom:0; }
.index-page .mission-content { display:flex; flex-direction:column; gap:1.5rem; }
.index-page .mission-content p { font-size:1rem; color:rgba(255,255,255,0.65); line-height:1.8; font-weight:300; }

/* Expertise section */
.index-page .expertise-section { padding:7rem 4rem; background:var(--dark); }
.index-page .expertise-section .section-container { max-width:1280px; margin:0 auto; }
.index-page .expertise-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:3rem; margin-top:3rem; }
.index-page .expertise-item { padding:3.5rem 3rem; background:rgba(75,86,148,0.08); border:1px solid rgba(114,136,174,0.12); transition:all 0.3s cubic-bezier(0.25,0.46,0.45,0.94); }
.index-page .expertise-item:hover { background:rgba(75,86,148,0.16); border-color:rgba(114,136,174,0.25); transform:translateY(-3px); box-shadow:0 8px 24px rgba(2,6,23,0.3); }
.index-page .expertise-item h3 { font-family:'Cormorant Garamond',serif; font-size:1.4rem; font-weight:500; color:var(--cream); margin-bottom:1rem; line-height:1.25; }
.index-page .expertise-item p { font-size:1rem; color:rgba(255,255,255,0.58); line-height:1.8; font-weight:300; }

/* Approach section */
.index-page .approach-section { padding:7rem 4rem; background:var(--navy); }
.index-page .approach-section .section-container { max-width:1280px; margin:0 auto; }
.index-page .approach-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:4rem 6rem; margin-top:3rem; }
.index-page .approach-item { display:flex; gap:3.5rem; align-items:flex-start; }
.index-page .approach-number { font-family:'Cormorant Garamond',serif; font-size:4rem; font-weight:500; color:rgba(234,224,207,0.12); flex-shrink:0; line-height:1; }
.index-page .approach-item h3 { font-family:'Cormorant Garamond',serif; font-size:1.4rem; font-weight:500; color:var(--cream); margin-bottom:0.75rem; line-height:1.25; }
.index-page .approach-item p { font-size:1.05rem; color:rgba(255,255,255,0.6); line-height:1.85; font-weight:300; margin:0; }

/* Difference section */
.index-page .difference-section { padding:7rem 4rem; background:var(--dark); }
.index-page .difference-section .section-container { max-width:1280px; margin:0 auto; }
.index-page .difference-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:3.5rem; margin-top:3rem; }
.index-page .difference-item { padding:3.5rem; background:rgba(75,86,148,0.08); border:1px solid rgba(114,136,174,0.12); transition:all 0.3s ease; }
.index-page .difference-item:hover { background:rgba(75,86,148,0.12); border-color:rgba(114,136,174,0.2); }
.index-page .difference-item h3 { font-family:'Cormorant Garamond',serif; font-size:1.35rem; font-weight:500; color:var(--cream); margin-bottom:1rem; line-height:1.25; }
.index-page .difference-item p { font-size:1rem; color:rgba(255,255,255,0.58); line-height:1.8; font-weight:300; margin:0; }

/* Footer social icons */
.footer-social { display:flex; gap:1rem; align-items:center; }
.footer-social a { color:rgba(255,255,255,0.75); display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:6px; transition:background 0.15s, color 0.15s; }
.footer-social a svg { width:20px; height:20px; display:block; }
.footer-social a:hover { background:rgba(255,255,255,0.04); color:var(--cream); }

footer { background:var(--dark); border-top:1px solid rgba(114,136,174,0.2); padding:2rem 4rem; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; }
footer .footer-left { display:flex; flex-direction:column; align-items:flex-start; gap:0.75rem; }
footer .footer-left .nav-logo { margin:0; }
footer .footer-left .logo-img { height:46px; }
footer p { margin:0; font-size:0.85rem; color:rgba(255,255,255,0.35); }

@media (max-width: 900px) {
  .index-page .hero { grid-template-columns:1fr; padding:6rem 1.5rem 0; gap:3rem; }
  .index-page .hero-content { max-width:100%; }
  .index-page .hero h1 { font-size:3rem; }
  .index-page .hero-subtitle { margin-bottom:2rem; }
  .index-page .hero-visual { width:100%; }
  .index-page .hero-image { max-height:50vh; }
  .index-page .hero-stat { position:absolute; bottom:2rem; right:2rem; }
  .index-page .mission-section { padding:3.5rem 1.5rem; }
  .index-page .mission-container { grid-template-columns:1fr; gap:2.5rem; }
  .index-page .mission-title { position:static; }
  .index-page .mission-title h2 { font-size:2.25rem; }
  .index-page .mission-content { gap:1.25rem; }
  .index-page .mission-content p { font-size:0.95rem; }
  .index-page .expertise-section { padding:5rem 1.5rem; }
  .index-page .expertise-grid { grid-template-columns:1fr; gap:2rem; }
  .index-page .expertise-item { padding:2.5rem 2rem; }
  .index-page .approach-section { padding:5rem 1.5rem; }
  .index-page .approach-section .section-container { padding:0; }
  .index-page .approach-grid { grid-template-columns:1fr; gap:2.5rem; }
  .index-page .approach-item { gap:2.5rem; }
  .index-page .approach-number { font-size:3rem; }
  .index-page .approach-item h3 { font-size:1.2rem; margin:0 0 0.5rem 0; flex-basis:100%; }
  .index-page .approach-item p { font-size:1rem; margin:0; }
  .index-page .difference-section { padding:5rem 1.5rem; }
  .index-page .difference-grid { grid-template-columns:1fr; gap:2.5rem; }
  .index-page .difference-item { padding:2.5rem; }
  .index-page .difference-item h3 { font-size:1.2rem; }
  .index-page .difference-item p { font-size:0.95rem; }
  .index-page .section-header { margin-bottom:2.5rem; }
  .index-page .section-header h2 { font-size:2.25rem; }
  .index-page .cta-banner { padding:4rem 1.5rem; }
  footer { flex-direction:column; align-items:center; text-align:center; padding:2rem 1.5rem; }
  footer .footer-left { align-items:center; }
  footer p { width:100%; }
}

/* Back to top button */
#back-to-top { position:fixed; right:1.25rem; bottom:1.25rem; width:44px; height:44px; border-radius:50%; background:var(--cream); color:var(--navy); border:none; display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 6px 20px rgba(2,6,23,0.5); z-index:1400; opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity 0.18s, transform 0.18s, visibility 0.18s; }
#back-to-top.show { opacity:1; visibility:visible; transform:translateY(0); }

@media (max-width: 900px) {
  .index-page nav { padding:1rem 1.5rem; }
  .index-page nav ul { gap:1.25rem; }
  .index-page nav .nav-toggle { display:block; background:none; border:none; color:var(--cream); font-size:1.6rem; cursor:pointer; }
  .index-page nav ul { display:none; position:absolute; top:calc(100% + 0.5rem); left:1.25rem; right:1.25rem; background:rgba(17,24,68,0.98); flex-direction:column; padding:0.75rem 0.5rem; gap:0.35rem; border-radius:10px; box-shadow:0 8px 30px rgba(2,6,23,0.6); z-index:1100; }
  .index-page nav ul { transform:none; }
  .index-page nav.open ul { display:flex; }
  .index-page nav ul a { font-size:1.05rem; padding:0.6rem 0.9rem; border-radius:6px; }
  /* backdrop element inserted dynamically by JS */
  .nav-backdrop { position:fixed; inset:0; background:rgba(2,6,23,0.45); z-index:1000; }
  .index-page .hero { grid-template-columns:1fr; padding:6rem 1.5rem 3rem; gap:2.5rem; }
  .index-page .hero-img-box { aspect-ratio:4/3; }
  .index-page .hero-badge { left:0; bottom:-1rem; }
  .index-page .stats-bar { grid-template-columns:1fr 1fr; padding:2rem 1.5rem; gap:1.5rem; }
  .index-page .stat { border-right:none; }
  .index-page .standfor { padding:4rem 1.5rem; grid-template-columns:1fr; gap:2.5rem; }
  .index-page .standfor-intro { position:static; }
  .index-page .sec-sub { max-width:100%; }
  .index-page .why { padding:4rem 1.5rem; }
  .index-page .why { grid-template-columns:1fr; gap:2.5rem; }
  .index-page .why-list { gap:1rem; }
  .index-page .cta-banner { padding:3rem 1.5rem; }
  .index-page footer { padding:2rem 1.5rem; flex-direction:column; text-align:center; }
}

@media (max-width: 1200px) {
  .index-page .hero { gap:3rem; }
  .work-page .pgrid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 600px) {
  body { font-size:16px; }
  .index-page nav { padding:0.85rem 1rem; }
  .index-page .hero { padding:7rem 1rem 0; gap:2rem; }
  .index-page .hero h1 { font-size:2.25rem; line-height:1.1; }
  .index-page .hero-subtitle { font-size:1rem; margin-bottom:1.75rem; line-height:1.7; }
  .index-page .eyebrow { margin-top:0.5rem; margin-bottom:1.5rem; }
  .index-page .cta-row { gap:0.75rem; }
  .index-page .cta-row a { padding:0.75rem 1.5rem; font-size:0.75rem; }
  .index-page .hero-image { max-height:40vh; }
  .index-page .hero-stat { padding:1.25rem 2rem; }
  .index-page .stat-value { font-size:2rem; }
  .index-page .mission-section { padding:3.5rem 1rem; }
  .index-page .mission-container { gap:2rem; }
  .index-page .mission-title h2 { font-size:1.75rem; }
  .index-page .mission-content { gap:1rem; }
  .index-page .mission-content p { font-size:0.95rem; }
  .index-page .expertise-section { padding:3.5rem 1rem; }
  .index-page .expertise-grid { gap:1.5rem; }
  .index-page .expertise-item { padding:2rem 1.5rem; }
  .index-page .expertise-item h3 { font-size:1.15rem; margin-bottom:0.75rem; }
  .index-page .expertise-item p { font-size:0.9rem; }
  .index-page .approach-section { padding:3.5rem 1rem; }
  .index-page .approach-grid { gap:2rem; }
  .index-page .approach-item { gap:2rem; }
  .index-page .approach-number { font-size:2.75rem; }
  .index-page .approach-item h3 { font-size:1.1rem; margin:0 0 0.5rem 0; flex-basis:100%; }
  .index-page .approach-item p { font-size:0.95rem; margin:0; }
  .index-page .difference-section { padding:3.5rem 1rem; }
  .index-page .difference-grid { gap:2rem; }
  .index-page .difference-item { padding:2rem 1.5rem; }
  .index-page .difference-item h3 { font-size:1.1rem; margin-bottom:0.75rem; }
  .index-page .difference-item p { font-size:0.9rem; }
  .index-page .section-header h2 { font-size:1.85rem; }
  .index-page .section-label { margin-bottom:0.75rem; }
  .index-page .cta-banner { padding:3rem 1rem; }
  .index-page .cta-banner h2 { font-size:1.85rem; }
  .index-page .nav-cta { padding:0.5rem 1rem; font-size:0.9rem !important; }
}

/* Team & Work mobile nav behavior — generic site-nav rules only.
   Page-specific overrides live in each page's own @media block below
   so they appear AFTER the base rules and correctly win the cascade. */
@media (max-width: 900px) {
  .site-nav .nav-toggle { display:block; background:none; border:none; color:var(--cream); font-size:1.6rem; cursor:pointer; }
  .site-nav ul { display:none; position:absolute; top:calc(100% + 0.5rem); left:1.25rem; right:1.25rem; background:rgba(17,24,68,0.98); flex-direction:column; padding:0.75rem 0.5rem; gap:0.35rem; border-radius:10px; box-shadow:0 8px 30px rgba(2,6,23,0.6); z-index:1100; transform:none; }
  .site-nav.open ul { display:flex; }
  .site-nav ul a { font-size:1.05rem; padding:0.6rem 0.9rem; border-radius:6px; }
  /* backdrop element inserted dynamically by JS */
  .nav-backdrop { cursor:pointer; }
}

@media (max-width: 480px) {
  .team-page .t-avatar { width:100px; height:100px; font-size:2rem; }
  .team-page .t-avatar-box { width:100px; height:100px; }
  .team-page .t-name { font-size:1.35rem; }
  .work-page .pcard .thumb { font-size:3rem; }
}

/* TEAM PAGE STYLES */
.team-page .site-nav { position:fixed; top:0; left:0; right:0; z-index:1200; display:flex; align-items:center; padding:1.1rem 4rem; background:rgba(17,24,68,0.96); backdrop-filter:blur(12px); border-bottom:1px solid rgba(114,136,174,0.25); }
.team-page .site-nav .nav-toggle { display:none; }
.team-page .nav-logo { text-decoration:none; display:flex; align-items:baseline; gap:0.6rem; margin-left:auto; }
.team-page .nav-logo .logo-icon { width:36px; height:36px; background:var(--cream); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.team-page .nav-logo .logo-icon svg { width:22px; height:22px; }
.team-page .nav-logo .logo-text { display:flex; flex-direction:column; line-height:1.1; }
.team-page .nav-logo .logo-text .lt1 { font-family:'Cormorant Garamond',serif; font-size:1.4rem; font-weight:600; color:var(--white); letter-spacing:0.02em; }
.team-page .nav-logo .logo-text .lt2 { font-size:1.4rem; font-weight:600; color:var(--cream); letter-spacing:0.02em; }
.team-page .site-nav ul { list-style:none; display:flex; gap:2rem; align-items:center; }
.team-page .site-nav ul a { text-decoration:none; color:rgba(255,255,255,0.75); font-size:1.05rem; font-weight:400; letter-spacing:0.04em; transition:color 0.2s; }
.team-page .site-nav ul a:hover, .team-page .site-nav ul a.active { color:var(--cream); }
.team-page .nav-cta { padding:0.55rem 1.5rem; background:var(--cream); color:var(--navy) !important; font-weight:500 !important; font-size:0.8rem !important; letter-spacing:0.06em !important; }
.team-page .nav-cta:hover { background:var(--white) !important; }
.team-page .page-header { padding:9rem 4rem 5.5rem; background:linear-gradient(135deg,var(--dark) 0%,var(--navy) 60%,#1a2460 100%); border-bottom:1px solid rgba(114,136,174,0.2); display:grid; grid-template-columns:1.1fr 1fr; gap:6rem; align-items:end; }
.team-page .page-header h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(2.75rem,5vw,4.75rem); font-weight:500; line-height:1.05; color:var(--white); margin-bottom:1.25rem; }
.team-page .page-header h1 em { font-style:italic; color:var(--cream); }
.team-page .ph-sub { font-size:1.05rem; color:rgba(255,255,255,0.5); line-height:1.9; font-weight:300; max-width:520px; }
.team-page .ph-right { display:flex; flex-direction:column; gap:0; border-left:1px solid rgba(114,136,174,0.2); }
.team-page .ph-fact { padding:1.5rem 2rem; border-bottom:1px solid rgba(114,136,174,0.15); transition:background 0.2s; }
.team-page .ph-fact:last-child { border-bottom:none; }
.team-page .ph-fact:hover { background:rgba(75,86,148,0.12); }
.team-page .ph-val { font-family:'Cormorant Garamond',serif; font-size:1.9rem; font-weight:500; color:var(--cream); display:block; line-height:1; margin-bottom:0.25rem; }
.team-page .ph-label { font-size:0.75rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--sky); display:block; margin-bottom:0.4rem; font-weight:500; }
.team-page .ph-desc { font-size:0.9rem; color:rgba(255,255,255,0.38); font-weight:300; line-height:1.6; display:block; }
.team-page .about-section { padding:4.5rem 4rem; display:grid; grid-template-columns:1fr 1fr; gap:4.5rem; align-items:start; }
.team-page .about-text { display:flex; flex-direction:column; }
.team-page .about-text .sec-label { font-size:0.8rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--cream); margin-bottom:0.75rem; opacity:0.85; }
.team-page .about-text h2 { font-family:'Cormorant Garamond',serif; font-size:2.75rem; font-weight:500; color:var(--white); margin-bottom:1.25rem; line-height:1.2; }
.team-page .about-text p { font-size:1.05rem; color:rgba(255,255,255,0.6); line-height:1.85; font-weight:300; margin-bottom:0.75rem; }
.team-page .about-text p:last-child { margin-bottom:0; }
.team-page .about-visual { display:flex; flex-direction:column; gap:1.25rem; }
.team-page .about-founders-img-wrap { width:100%; aspect-ratio:4/3; border:1px solid rgba(114,136,174,0.2); overflow:hidden; }
.team-page .about-founders-img { width:100%; height:100%; display:block; object-fit:cover; object-position:center top; }
.team-page .about-quote { background:rgba(75,86,148,0.15); border:1px solid rgba(114,136,174,0.2); border-left:3px solid var(--cream); padding:2rem; }
.team-page .about-quote p { font-family:'Cormorant Garamond',serif; font-size:1.3rem; font-style:italic; color:rgba(255,255,255,0.8); line-height:1.7; }
.team-page .about-quote cite { font-size:0.82rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--sky); margin-top:0.75rem; display:block; font-style:normal; }
.team-page .team-section { padding:7rem 4rem; background:var(--dark); }
.team-page .team-section h2 { font-family:'Cormorant Garamond',serif; font-size:2.75rem; font-weight:500; color:var(--white); margin-bottom:0.5rem; }
.team-page .team-section .sub { font-size:1.1rem; color:rgba(255,255,255,0.45); font-weight:300; margin-bottom:3rem; }
.team-page .team-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2.5rem; }
.team-page .tmember { border:1px solid rgba(114,136,174,0.2); overflow:hidden; }
.team-page .tmember .t-top { padding:2.5rem; display:flex; gap:2rem; align-items:flex-start; border-bottom:1px solid rgba(114,136,174,0.2); }
.team-page .t-avatar-box { flex-shrink:0; width:130px; height:130px; border-radius:50%; overflow:hidden; border:2px solid rgba(234,224,207,0.25); }
.team-page .t-avatar-img { width:100%; height:100%; object-fit:cover; display:block; }
.team-page .t-avatar { width:130px; height:130px; border-radius:50%; background:var(--blue); display:flex; align-items:center; justify-content:center; font-size:2.75rem; border:2px solid rgba(234,224,207,0.25); }
.team-page .t-role { font-size:0.88rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--sky); margin-bottom:0.4rem; }
.team-page .t-name { font-family:'Cormorant Garamond',serif; font-size:1.6rem; font-weight:500; color:var(--cream); margin-bottom:0.5rem; }
.team-page .t-tags { display:flex; gap:0.5rem; flex-wrap:wrap; }
.team-page .t-tag { font-size:0.62rem; padding:0.2rem 0.65rem; background:rgba(114,136,174,0.2); color:var(--sky); letter-spacing:0.06em; text-transform:uppercase; }
.team-page .tmember .t-bio { padding:2.5rem; }
.team-page .tmember .t-bio p { font-size:1.1rem; color:rgba(255,255,255,0.55); line-height:1.9; font-weight:300; margin-bottom:0.9rem; }
.team-page .tmember .t-bio p:last-child { margin-bottom:0; }
.team-page .contact-section { padding:7rem 4rem; display:grid; grid-template-columns:1fr 1.1fr; gap:6rem; align-items:start; }
.team-page .contact-section h2 { font-family:'Cormorant Garamond',serif; font-size:2.75rem; font-weight:500; color:var(--white); margin-bottom:1rem; line-height:1.2; }
.team-page .contact-section > div > p { font-size:1.05rem; color:rgba(255,255,255,0.55); line-height:1.85; font-weight:300; margin-bottom:2.5rem; }
.team-page .detail-block { display:flex; flex-direction:column; gap:1.25rem; }
.team-page .drow { display:flex; gap:1rem; align-items:flex-start; }
.team-page .dicon { font-size:1.05rem; flex-shrink:0; margin-top:0.1rem; }
.team-page .dlabel { font-size:0.88rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--sky); margin-bottom:0.15rem; }
.team-page .dval { font-size:1.05rem; color:rgba(255,255,255,0.75); font-weight:300; }
.team-page .form-box h3 { font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:500; color:var(--white); margin-bottom:2rem; }
.team-page .frow { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1rem; }
.team-page .fg { display:flex; flex-direction:column; margin-bottom:1rem; }
.team-page .fg label { font-size:0.88rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--sky); margin-bottom:0.5rem; font-weight:500; }
.team-page .fg input, .team-page .fg textarea, .team-page .fg select { padding:0.875rem 1rem; font-size:1.05rem; border:1px solid rgba(114,136,174,0.3); background:rgba(75,86,148,0.1); font-family:'DM Sans',sans-serif; font-weight:300; color:var(--white); outline:none; transition:border-color 0.2s; }
.team-page .fg input::placeholder, .team-page .fg textarea::placeholder { color:rgba(255,255,255,0.3); }
.team-page .fg input:focus, .team-page .fg textarea:focus, .team-page .fg select:focus { border-color:var(--cream); }
.team-page .fg select { color:rgba(255,255,255,0.7); }
.team-page .fg select option { background:var(--navy); color:var(--white); }
.team-page .fg textarea { resize:vertical; min-height:120px; }
.team-page .btn-submit { width:100%; padding:1rem; background:var(--cream); color:var(--navy); border:none; cursor:pointer; font-size:1.1rem; font-weight:500; letter-spacing:0.08em; text-transform:uppercase; font-family:'DM Sans',sans-serif; transition:background 0.2s; }
.team-page .btn-submit:hover { background:var(--white); }
.team-page .form-note { font-size:0.88rem; color:rgba(255,255,255,0.3); margin-top:0.75rem; text-align:center; line-height:1.6; }
.team-page .form-success { display:none; text-align:center; padding:3rem 1rem; }
.team-page .form-success .big-check { font-size:3rem; margin-bottom:1rem; }
.team-page .form-success h3 { font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:500; color:var(--cream); margin-bottom:0.5rem; }
.team-page .form-success p { font-size:1.05rem; color:rgba(255,255,255,0.5); font-weight:300; }
#success-modal { position:fixed !important; inset:0 !important; display:none !important; align-items:center !important; justify-content:center !important; z-index:2000 !important; background:rgba(11,16,48,0.4) !important; backdrop-filter:blur(8px) !important; }
#success-modal.show { display:flex !important; animation:fadeIn 0.3s ease-out; }
@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
.modal-overlay { position:absolute; inset:0; background:transparent; cursor:pointer; }
.modal-content { position:relative; z-index:1; background:linear-gradient(135deg, rgba(17,24,68,0.95) 0%, rgba(17,24,68,0.85) 100%); border:1px solid rgba(114,136,174,0.25); padding:4rem 3.5rem; text-align:center; max-width:520px; border-radius:8px; box-shadow:0 25px 80px rgba(2,6,23,0.5), inset 0 1px 1px rgba(255,255,255,0.1); backdrop-filter:blur(12px); }
.modal-content .big-check { font-size:4rem; margin-bottom:1.5rem; animation:popIn 0.5s cubic-bezier(0.34,1.56,0.64,1); }
@keyframes popIn { 0% { transform:scale(0.3); opacity:0; } 70% { transform:scale(1.1); } 100% { transform:scale(1); opacity:1; } }
.modal-content h3 { font-family:'Cormorant Garamond',serif; font-size:2.25rem; font-weight:500; color:var(--cream); margin-bottom:1rem; line-height:1.2; letter-spacing:-0.02em; }
.modal-content p { font-size:1.05rem; color:rgba(255,255,255,0.65); font-weight:300; line-height:1.9; margin-bottom:2.5rem; }
.modal-content .btn-submit { width:100%; padding:1rem 1.5rem; font-size:0.95rem; letter-spacing:0.08em; border-radius:4px; transition:all 0.3s ease; background:var(--cream); color:var(--navy); font-weight:500; }
.modal-content .btn-submit:hover { background:var(--white); transform:translateY(-2px); box-shadow:0 8px 24px rgba(234,224,207,0.3); }
.team-page footer { background:var(--dark); border-top:1px solid rgba(114,136,174,0.2); padding:2rem 4rem; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; }
.team-page footer p { font-size:0.85rem; color:rgba(255,255,255,0.35); }
.team-page footer nav { position:static; }
.team-page footer nav ul { list-style:none; display:flex; gap:1.5rem; }
.team-page footer nav ul a { text-decoration:none; color:rgba(255,255,255,0.4); font-size:0.85rem; transition:color 0.2s; }
.team-page footer nav ul a:hover { color:var(--cream); }
@media (max-width: 900px) {
  .team-page .site-nav { padding:1rem 1.5rem; }
  .team-page .site-nav .nav-toggle { display:block; }
  .team-page .site-nav ul { display:none; gap:0.35rem; align-items:stretch; }
  .team-page .site-nav.open ul { display:flex; }
  .team-page .page-header { padding:7rem 1.5rem 3rem; grid-template-columns:1fr; gap:2.5rem; }
  .team-page .ph-right { border-left:none; border-top:1px solid rgba(114,136,174,0.2); flex-direction:row; flex-wrap:wrap; }
  .team-page .ph-fact { flex:1 1 calc(50% - 2px); border-bottom:none; border-right:1px solid rgba(114,136,174,0.15); padding:1.25rem 1.5rem; }
  .team-page .ph-fact:last-child { border-right:none; }
  .team-page .about-section { grid-template-columns:1fr; padding:4rem 1.5rem; gap:3rem; align-items:start; }
  .team-page .about-founders-img-wrap { flex:none; min-height:0; }
  .team-page .about-founders-img { height:auto; }
  .team-page .team-section { padding:4rem 1.5rem; }
  .team-page .team-grid { grid-template-columns:1fr; }
  .team-page .tmember .t-top { flex-direction:column; gap:1rem; }
  .team-page .contact-section { grid-template-columns:1fr; padding:4rem 1.5rem; gap:3rem; }
  .team-page .frow { grid-template-columns:1fr; }
  .team-page footer { padding:2rem 1.5rem; flex-direction:column; text-align:center; }
}

/* WORK PAGE STYLES */
.work-page .site-nav { position:fixed; top:0; left:0; right:0; z-index:1200; display:flex; align-items:center; padding:1.1rem 4rem; background:rgba(17,24,68,0.96); backdrop-filter:blur(12px); border-bottom:1px solid rgba(114,136,174,0.25); }
.work-page .site-nav .nav-toggle { display:none; }
.work-page .nav-logo { text-decoration:none; display:flex; align-items:baseline; gap:0.6rem; margin-left:auto; }
.work-page .nav-logo .logo-icon { width:36px; height:36px; background:var(--cream); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.work-page .nav-logo .logo-icon svg { width:22px; height:22px; }
.work-page .nav-logo .logo-text { display:flex; flex-direction:column; line-height:1.1; }
.work-page .nav-logo .logo-text .lt1 { font-family:'Cormorant Garamond',serif; font-size:1.4rem; font-weight:600; color:var(--white); letter-spacing:0.02em; }
.work-page .nav-logo .logo-text .lt2 { font-size:1.4rem; font-weight:600; color:var(--cream); letter-spacing:0.02em; }
.work-page .site-nav ul { list-style:none; display:flex; gap:2rem; align-items:center; }
.work-page .site-nav ul a { text-decoration:none; color:rgba(255,255,255,0.75); font-size:1.05rem; font-weight:400; letter-spacing:0.04em; transition:color 0.2s; }
.work-page .site-nav ul a:hover, .work-page .site-nav ul a.active { color:var(--cream); }
.work-page .nav-cta { padding:0.55rem 1.5rem; background:var(--cream); color:var(--navy) !important; font-weight:500 !important; font-size:0.8rem !important; letter-spacing:0.06em !important; }
.work-page .nav-cta:hover { background:var(--white) !important; }
.work-page .page-header { padding:9rem 4rem 5rem; background:linear-gradient(135deg,var(--dark) 0%,var(--navy) 60%,#1a2460 100%); display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:end; border-bottom:1px solid rgba(114,136,174,0.2); }
.work-page .sec-label { font-size:0.8rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--cream); margin-bottom:0.75rem; opacity:0.85; }
.work-page .page-header h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(2.5rem,5vw,4.5rem); font-weight:500; line-height:1.1; color:var(--white); }
.work-page .page-header p { font-size:1.1rem; color:rgba(255,255,255,0.55); line-height:1.85; font-weight:300; }
.work-page .video-preview { padding:2.5rem 4rem; background:var(--navy); display:flex; justify-content:center; border-bottom:1px solid rgba(114,136,174,0.12); }
.work-page .video-preview video { width:100%; max-width:620px; aspect-ratio:16/9; display:block; border:1px solid rgba(114,136,174,0.2); background:var(--dark); }
.work-page .section-wrap { padding:3.5rem 4rem; margin-bottom:0; }
.work-page .section-wrap.alt { background:var(--dark); }
.work-page .sec-title { font-family:'Cormorant Garamond',serif; font-size:2.75rem; font-weight:500; color:var(--white); margin-bottom:0.4rem; }
.work-page .sec-sub { font-size:1.1rem; color:rgba(255,255,255,0.45); font-weight:300; margin-bottom:1.75rem; }
/* Featured project card */
.work-page .carousel-container { position:relative; display:flex; flex-direction:column; align-items:center; gap:1.5rem; }
.work-page .carousel-wrapper { overflow:hidden; border:1px solid rgba(114,136,174,0.15); width:100%; }
.work-page .carousel { display:flex; transition:transform 0.3s ease; }
.work-page .carousel .featured-card { flex:0 0 100%; }
.work-page .carousel-nav { display:flex; gap:0.8rem; align-items:center; justify-content:center; }
.work-page .carousel-prev, .work-page .carousel-next { background:transparent; border:1px solid rgba(234,224,207,0.5); color:var(--cream); font-size:1.6rem; cursor:pointer; padding:0.4rem 0.8rem; width:2.2rem; height:2.2rem; display:flex; align-items:center; justify-content:center; transition:background 0.2s, border-color 0.2s; border-radius:3px; }
.work-page .carousel-prev:hover:not(:disabled), .work-page .carousel-next:hover:not(:disabled) { background:rgba(114,136,174,0.2); border-color:var(--cream); }
.work-page .carousel-prev:disabled, .work-page .carousel-next:disabled { opacity:0.3; cursor:not-allowed; }
.work-page .featured-card { display:grid; grid-template-columns:1.15fr 1fr; cursor:pointer; border:1px solid rgba(114,136,174,0.2); transition:all 0.3s; padding:0; overflow:hidden; }
.work-page .featured-card:hover { border-color:rgba(114,136,174,0.4); }
.work-page .featured-card:hover { border-color:rgba(234,224,207,0.3); }
.work-page .fc-img { position:relative; overflow:hidden; background:rgba(75,86,148,0.2); min-height:340px; }
.work-page .fc-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.5s ease; }
.work-page .featured-card:hover .fc-img img { transform:scale(1.03); }
.work-page .fc-overlay { position:absolute; inset:0; background:rgba(11,16,48,0); display:flex; align-items:center; justify-content:center; transition:background 0.3s; }
.work-page .featured-card:hover .fc-overlay { background:rgba(11,16,48,0.5); }
.work-page .fc-overlay span { color:var(--white); font-size:0.75rem; letter-spacing:0.22em; text-transform:uppercase; opacity:0; transition:opacity 0.3s; border:1px solid rgba(255,255,255,0.55); padding:0.55rem 1.6rem; }
.work-page .featured-card:hover .fc-overlay span { opacity:1; }
.work-page .fc-img .badge { position:absolute; top:1.25rem; left:1.25rem; z-index:1; padding:0.25rem 0.75rem; font-size:0.62rem; letter-spacing:0.1em; text-transform:uppercase; font-weight:500; }
.work-page .badge.done { background:rgba(100,180,80,0.15); color:#8dd96a; border:1px solid rgba(100,180,80,0.3); }
.work-page .badge.upcoming { background:rgba(114,136,174,0.18); color:var(--sky); border:1px solid rgba(114,136,174,0.4); }
.work-page .fc-info { padding:2.75rem; display:flex; flex-direction:column; justify-content:center; }
.work-page .fc-tag { font-size:0.75rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--sky); margin-bottom:0.85rem; }
.work-page .fc-info h3 { font-family:'Cormorant Garamond',serif; font-size:2.1rem; font-weight:500; color:var(--cream); margin-bottom:1rem; line-height:1.1; }
.work-page .fc-desc { font-size:0.98rem; color:rgba(255,255,255,0.5); line-height:1.8; font-weight:300; margin-bottom:0; }
.work-page .fc-render-note { font-size:0.75rem; color:rgba(255,255,255,0.28); font-style:italic; margin-top:0.5rem; }
.work-page .fc-specs { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1.5rem; margin-bottom:2rem; }
.work-page .fc-spec { display:flex; gap:1rem; align-items:baseline; }
.work-page .spec-label { font-size:0.7rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--sky); min-width:76px; flex-shrink:0; }
.work-page .spec-val { font-size:0.95rem; color:rgba(255,255,255,0.7); font-weight:300; }
.work-page .fc-status { font-size:1rem; color:var(--cream); margin-bottom:1rem; }
.work-page .fc-cta { align-self:flex-start; padding:0.65rem 1.75rem; background:transparent; border:1px solid rgba(234,224,207,0.35); color:var(--cream); font-size:0.75rem; letter-spacing:0.14em; text-transform:uppercase; cursor:pointer; font-family:'DM Sans',sans-serif; transition:background 0.2s, border-color 0.2s; }
.work-page .tgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; grid-auto-rows:1fr; }
.work-page .tcard { background:rgba(75,86,148,0.12); border:1px solid rgba(114,136,174,0.2); padding:2rem; display:flex; flex-direction:column; }
.work-page .stars { color:var(--cream); font-size:1.1rem; letter-spacing:0.12em; margin-bottom:1.25rem; }
.work-page .tcard blockquote { font-family:'Cormorant Garamond',serif; font-size:1.35rem; font-style:italic; line-height:1.7; color:rgba(255,255,255,0.8); margin-bottom:1.5rem; flex:1; }
.work-page .tcard blockquote::before { content:'\201C'; font-size:2rem; color:var(--cream); line-height:0; vertical-align:-0.4rem; margin-right:0.15rem; }
.work-page .t-author { display:flex; align-items:center; gap:0.75rem; flex-shrink:0; margin-top:auto; }
.work-page .t-av { width:38px; height:38px; border-radius:50%; background:var(--blue); display:flex; align-items:center; justify-content:center; font-size:1.05rem; flex-shrink:0; }
.work-page .t-name { font-size:1.1rem; font-weight:500; color:var(--cream); }
.work-page .t-loc { font-size:0.8rem; color:var(--sky); font-weight:300; }
#mo { display:none !important; position:fixed !important; top:0 !important; left:0 !important; right:0 !important; bottom:0 !important; background:rgba(11,16,48,0.94) !important; z-index:9999 !important; align-items:center !important; justify-content:center !important; padding:2rem !important; }
#mo.open { display:flex !important; visibility:visible !important; }
.modal { display:flex !important; flex-direction:column !important; background:var(--navy) !important; max-width:95vw !important; width:auto !important; height:90vh !important; overflow:hidden !important; position:relative !important; visibility:visible !important; }
.work-page .mc { display:flex; align-items:center; justify-content:flex-end; padding:1rem 1.5rem; background:rgba(17,24,68,0.9); border-bottom:1px solid rgba(114,136,174,0.3); color:rgba(255,255,255,0.7); font-size:1.5rem; cursor:pointer; z-index:5; font-family:'DM Sans',sans-serif; transition:background 0.15s, color 0.15s; flex-shrink:0; }
.work-page .mc:hover { background:var(--blue); color:var(--white); }
.work-page .modal-img { width:100%; height:70vh !important; background:rgba(75,86,148,0.15); display:flex !important; flex-direction:column !important; align-items:center; justify-content:center; position:relative; border-bottom:1px solid rgba(114,136,174,0.3); overflow:hidden !important; flex-shrink:0 !important; }
.work-page .modal-img > img { max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
.work-page .gallery-nav { background:rgba(17,24,68,0.9); padding:1.5rem; display:flex !important; align-items:center; justify-content:center; gap:2rem; z-index:10; flex-shrink:0; min-height:100px !important; }
.work-page .gallery-prev, .work-page .gallery-next { background:rgba(17,24,68,0.95); border:none; color:var(--cream); font-size:1.8rem; cursor:pointer; padding:0.5rem 0.8rem; min-width:2.2rem; min-height:2.2rem; display:flex !important; align-items:center; justify-content:center; transition:background 0.2s; border-radius:4px; }
.work-page .gallery-counter { color:var(--sky); font-size:0.9rem; min-width:4rem; text-align:center; }
.work-page .modal-body { display:none !important; }
.work-page .modal-body .tag { font-size:0.88rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--sky); margin-bottom:0.5rem; }
.work-page .modal-body h2 { font-family:'Cormorant Garamond',serif; font-size:1.9rem; font-weight:500; color:var(--cream); margin-bottom:0.75rem; }
.work-page .modal-body p { font-size:1rem; color:rgba(255,255,255,0.6); line-height:1.85; font-weight:300; margin-bottom:0.75rem; }
.work-page .modal-details { display:flex; gap:2rem; flex-wrap:wrap; margin-top:1.25rem; padding-top:1.25rem; border-top:1px solid rgba(114,136,174,0.2); }
.work-page .modal-details span { font-size:0.85rem; color:var(--sky); }
.work-page .modal-details span strong { color:var(--cream); font-weight:500; display:block; margin-bottom:0.1rem; font-size:0.88rem; }
.work-page footer { background:var(--dark); border-top:1px solid rgba(114,136,174,0.2); padding:2rem 4rem; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; }
.work-page footer nav { position:static; }

@media (max-width: 900px) {
  .work-page .site-nav { padding:1rem 1.5rem; }
  .work-page .site-nav .nav-toggle { display:block; }
  .work-page .site-nav ul { display:none; gap:0.35rem; align-items:stretch; }
  .work-page .site-nav.open ul { display:flex; }
  .work-page .page-header { grid-template-columns:1fr; padding:7rem 1.5rem 3rem; gap:1.5rem; }
  .work-page .video-preview { padding:1.5rem; }
  .work-page .section-wrap { padding:3.5rem 1.5rem; }
  .work-page .featured-card { grid-template-columns:1fr; }
  .work-page .fc-img { min-height:260px; }
  .work-page .fc-info { padding:1.75rem; }
  .work-page .fc-info h3 { font-size:1.65rem; }
  .work-page .tgrid { grid-template-columns:1fr; }
  .work-page footer { padding:2rem 1.5rem; flex-direction:column; text-align:center; }
  .work-page .mo { padding:0; align-items:flex-end; }
  .work-page .modal { max-height:92vh; border-bottom:none; }
}
