    :root {
      /* Palette — warm editorial */
      --bg:           #FAFAF7;
      --bg-warm:      #F2F2EC;
      --text:         #1C2B2B;
      --text-mid:     #3D5050;
      --text-light:   #6B7F7F;
      --accent:       #2E5FA3;
      --accent-light: #4074BC;
      --accent-pale:  #E6EEF8;
      --rule:         #D0D8D0;
      --surface:      #FFFFFF;
      --border:       #DDE5E0;

      --shadow-sm: 0 1px 4px rgba(28,43,43,0.07);
      --shadow-md: 0 4px 16px rgba(28,43,43,0.09);
      --shadow-lg: 0 12px 40px rgba(28,43,43,0.12);

      --radius: 4px;
      --radius-lg: 12px;
      --max-width: 1160px;

      --font-display: 'Fraunces', Georgia, serif;
      --font-body:    'Outfit', system-ui, sans-serif;
    }

    [data-theme="dark"] {
      --bg:           #111A1A;
      --bg-warm:      #182020;
      --text:         #EEF2F0;
      --text-mid:     #B8C8C4;
      --text-light:   #7A9490;
      --accent:       #5588CC;
      --accent-light: #6B9EE0;
      --accent-pale:  #1A2540;
      --rule:         #2A3838;
      --surface:      #1A2828;
      --border:       #2A3838;
      --shadow-sm: 0 1px 4px rgba(0,0,0,0.2);
      --shadow-md: 0 4px 16px rgba(0,0,0,0.25);
      --shadow-lg: 0 12px 40px rgba(0,0,0,0.35);
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; font-size: 16px; }

    body {
      background: var(--bg);
      font-family: var(--font-body);
      color: var(--text);
      line-height: 1.65;
      -webkit-font-smoothing: antialiased;
      transition: background-color 0.3s ease, color 0.3s ease;
    }

    .container {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 0 28px;
    }

    /* ─── NAV ──────────────────────────────────── */
    .main-nav {
      position: sticky; top: 0; z-index: 1000;
      background: rgba(250,250,247,0.38);
      backdrop-filter: blur(2px);
      -webkit-backdrop-filter: blur(12px);
      border-bottom: 1px solid transparent;
      transition: border-color 0.3s ease, background-color 0.3s ease;
      padding: 18px 0;
    }
    [data-theme="dark"] .main-nav { background: rgba(17,26,26,0.88); }
    .main-nav.scrolled { border-bottom-color: var(--rule); }
    .nav-inner { display: flex; justify-content: space-between; align-items: center; }

    .nav-logo {
      font-family: var(--font-display);
      font-weight: 600;
      font-size: 1.2rem;
      color: var(--text);
      text-decoration: none;
      letter-spacing: -0.01em;
    }
    .nav-logo span { color: var(--accent); }

    .main-nav ul { list-style: none; display: flex; gap: 32px; }
    .main-nav a {
      text-decoration: none;
      color: var(--text-light);
      font-weight: 500;
      font-size: 0.9rem;
      letter-spacing: 0.03em;
      text-transform: uppercase;
      transition: color 0.2s ease;
    }
    .main-nav a:hover, .main-nav a.active { color: var(--accent); }

    .nav-controls { display: flex; align-items: center; gap: 16px; }
    #theme-toggle {
      background: none; border: none; cursor: pointer;
      color: var(--text-light); padding: 4px;
      transition: color 0.2s ease;
    }
    #theme-toggle:hover { color: var(--accent); }
    #theme-toggle .moon { display: none; }
    #theme-toggle .sun { display: block; }
    [data-theme="dark"] #theme-toggle .moon { display: block; }
    [data-theme="dark"] #theme-toggle .sun { display: none; }

    /* ─── HERO ─────────────────────────────────── */
    .hero {
      position: relative;
      background: var(--bg);
      padding: 40px 0 72px;
      overflow: hidden;
    }

    /* Subtle geometric background texture */
    .hero::before {
      content: '';
      position: absolute;
      top: -120px; right: -80px;
      width: 600px; height: 600px;
      border-radius: 50%;
      border: 1px solid var(--rule);
      pointer-events: none;
      opacity: 0.6;
    }
    .hero::after {
      content: '';
      position: absolute;
      top: -40px; right: 80px;
      width: 380px; height: 380px;
      border-radius: 50%;
      border: 1px solid var(--rule);
      pointer-events: none;
      opacity: 0.4;
    }

    .hero-inner {
      position: relative; z-index: 1;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 64px;
      align-items: center;
    }

    .hero-eyebrow {
      display: inline-block;
      font-family: var(--font-body);
      font-size: 0.8rem;
      font-weight: 500;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: 20px;
    }

    .hero h1 {
      font-family: var(--font-display);
      font-size: clamp(2.6rem, 5vw, 3.8rem);
      font-weight: 300;
      line-height: 1.1;
      color: var(--text);
      letter-spacing: -0.02em;
      margin-bottom: 24px;
    }
    .hero h1 em {
      font-style: italic;
      font-weight: 400;
      color: var(--accent);
    }

    .hero-tagline {
      font-size: 1.1rem;
      color: var(--text-mid);
      max-width: 520px;
      line-height: 1.7;
      margin-bottom: 36px;
      font-weight: 400;
    }

    .hero-logo-col {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 12px;
    }
    .hero-logo-col img {
      width: 400px;
      height: auto;
      filter: drop-shadow(0 4px 16px rgba(42,107,97,0.15));
    }
    .logo-light { display: block; }
    .logo-dark  { display: none; }
    [data-theme="dark"] .logo-light { display: none; }
    [data-theme="dark"] .logo-dark  { display: block; }

    .hero-rule {
      width: 100%;
      height: 1px;
      background: var(--rule);
      margin-top: 60px;
    }

    /* ─── BUTTONS ──────────────────────────────── */
    .btn {
      display: inline-flex; align-items: center; gap: 8px;
      background: var(--accent);
      color: #fff;
      padding: 13px 28px;
      border-radius: var(--radius);
      text-decoration: none;
      font-weight: 500;
      font-size: 0.95rem;
      letter-spacing: 0.01em;
      border: none; cursor: pointer;
      transition: all 0.25s cubic-bezier(0.4,0,0.2,1);
    }
    .btn:hover {
      background: var(--accent-light);
      transform: translateY(-1px);
      box-shadow: var(--shadow-md);
    }
    .btn-outline {
      background: transparent;
      color: var(--accent);
      border: 1.5px solid var(--accent);
      padding: 12px 28px;
    }
    .btn-outline:hover {
      background: var(--accent-pale);
      transform: translateY(-1px);
    }

    /* ─── SECTIONS ─────────────────────────────── */
    section {
      padding: clamp(72px, 8vw, 100px) 0;
      opacity: 0;
      transform: translateY(24px);
      transition: opacity 0.6s ease, transform 0.6s ease;
    }
    section.visible { opacity: 1; transform: translateY(0); }

    .section-label {
      font-size: 0.75rem;
      font-weight: 500;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: 16px;
      display: block;
    }

    section h2 {
      font-family: var(--font-display);
      font-size: clamp(2rem, 4vw, 2.8rem);
      font-weight: 300;
      color: var(--text);
      line-height: 1.15;
      letter-spacing: -0.02em;
      margin-bottom: 32px;
    }
    section h2 em {
      font-style: italic;
      color: var(--accent);
    }

    /* ─── ABOUT ────────────────────────────────── */
    #about { background: var(--bg-warm); }

    .about-grid {
      display: grid;
      grid-template-columns: 1fr 340px;
      gap: 80px;
      align-items: start;
    }

    .about-text p {
      font-size: 1.05rem;
      color: var(--text-mid);
      line-height: 1.85;
      margin-bottom: 20px;
    }
    .about-text p:last-child { margin-bottom: 0; }
    .about-text strong { color: var(--accent); font-weight: 600; }

    .about-aside {
      position: sticky;
      top: 100px;
    }

    /* Photo placeholder */
    .photo-frame {
      width: 100%;
      aspect-ratio: 3/4;
      background: var(--accent-pale);
      border-radius: var(--radius-lg);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 12px;
      color: var(--accent);
      font-size: 0.85rem;
      font-weight: 500;
      letter-spacing: 0.04em;
      border: 2px dashed var(--accent-light);
      opacity: 0.7;
      margin-bottom: 24px;
    }
    .photo-frame svg { opacity: 0.5; }

    .aside-stat {
      padding: 20px 0;
      border-top: 1px solid var(--rule);
    }
    .aside-stat:last-child { border-bottom: 1px solid var(--rule); }
    .aside-stat .num {
      font-family: var(--font-display);
      font-size: 2.2rem;
      font-weight: 600;
      color: var(--accent);
      line-height: 1;
      margin-bottom: 4px;
    }
    .aside-stat .label {
      font-size: 0.85rem;
      color: var(--text-light);
    }

    /* ─── SERVICES ─────────────────────────────── */
    #services { background: var(--bg); }

    .services-list {
      margin-top: 48px;
      border-top: 1px solid var(--rule);
    }

    .service-item {
      display: grid;
      grid-template-columns: 80px 1fr 1fr;
      gap: 40px;
      padding: 48px 0;
      border-bottom: 1px solid var(--rule);
      transition: background 0.2s ease;
    }
    .service-item:hover { background: transparent; }

    .service-num {
      font-family: var(--font-display);
      font-size: 3rem;
      font-weight: 300;
      color: var(--accent-pale);
      line-height: 1;
      letter-spacing: -0.03em;
      transition: color 0.3s ease;
    }
    [data-theme="dark"] .service-num { color: var(--accent-pale); }
    .service-item:hover .service-num { color: var(--accent); }

    .service-heading {
      font-family: var(--font-display);
      font-size: 1.5rem;
      font-weight: 400;
      color: var(--text);
      line-height: 1.25;
      letter-spacing: -0.01em;
      margin-bottom: 8px;
    }
    .service-tag {
      font-size: 0.78rem;
      font-weight: 500;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--accent);
    }
    .service-body {
      font-size: 1rem;
      color: var(--text-mid);
      line-height: 1.8;
    }

    /* ─── TESTIMONIALS ─────────────────────────── */
    #testimonials { background: var(--bg-warm); display: none; }

    /* --- CONTACT FORM --- */
	
    #contact { background: var(--bg-warm); }
    .contact-container {
      display: grid; grid-template-columns: 1fr 1.2fr; gap: 100px;
      background: var(--surface); padding: 60px; border-radius: var(--radius-lg); border: 1px solid var(--border);
    }
    .form-group { margin-bottom: 24px; }
    .form-group label { display: block; font-size: 0.8rem; font-weight: 600; margin-bottom: 8px; text-transform: uppercase; }
    .form-group input, .form-group textarea {
      width: 100%; padding: 14px; border-radius: var(--radius); border: 1px solid var(--border);
      background: var(--bg); font-family: inherit; font-size: 1rem;
    }
    .form-group input:focus { outline: 2px solid var(--accent-pale); border-color: var(--accent); }

    /* ─── FOOTER ───────────────────────────────── */
    footer {
      background: var(--text);
      color: var(--text-light);
      padding: 10px 0;
      transition: background-color 0.3s ease;
    }
    [data-theme="dark"] footer { background: #080F0F; }

    .footer-inner {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 32px;
    }
    .footer-brand {
      font-family: var(--font-display);
      font-size: 1.1rem;
      font-weight: 600;
      color: #FAFAF7;
    }
    .footer-brand span { color: var(--accent); }
    footer p {
      font-size: 0.875rem;
      color: #6B8888;
    }
    .socials { display: flex; gap: 16px; }
    .socials a {
      display: flex; align-items: center; justify-content: center;
      width: 40px; height: 40px;
      border: 1px solid #2A3838;
      border-radius: 8px;
      color: #6B8888;
      text-decoration: none;
      transition: all 0.2s ease;
    }
    .socials a:hover { border-color: var(--accent); color: var(--accent); }

    /* ─── RESPONSIVE ───────────────────────────── */
    @media (max-width: 960px) {
	.hero-inner {
		display: flex;
		flex-direction: column-reverse; /* This flips the stack order */
		align-items: flex-start; /* Keeps text left-aligned */
		gap: 0px;
	 }

	 .hero-logo-col {
		align-items: flex-start; /* Matches the text alignment */
	 }

	 .hero-logo-col img {
		width: 240px; /* Scale it down slightly for mobile */
	 }
      .about-grid { grid-template-columns: 1fr; gap: 48px; }
      .about-aside { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
      .service-item { grid-template-columns: 56px 1fr; }
      .service-item > *:last-child { grid-column: 2; }
      .contact-container { grid-template-columns: 1fr; gap: 18px; padding: 20px; }
      .footer-inner { flex-direction: column; text-align: center; }
    }

    @media (max-width: 640px) {
      .main-nav ul { display: none; }
      .service-item { grid-template-columns: 1fr; gap: 12px; }
      .service-num { font-size: 2rem; }
      .contact-form-wrap { padding: 28px 20px; }
    }

    /* ─── FORM MESSAGE ─────────────────────────── */
    #form-message { margin-top: 14px; text-align: center; font-weight: 500; font-size: 0.95rem; }