        /* ── Reset & base ── */
        *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

        :root {
            --sage:   #7a9e87;
            --sage-lt:#b8d1c0;
            --cream:  #f5f0e8;
            --warm:   #e8dfd0;
            --dark:   #2c3e35;
            --mid:    #4a6258;
            --accent: #c9a96e;
            --text:   #3a3a3a;
        }

        html { scroll-behavior: smooth; }

        body {
            font-family: 'Inter', sans-serif;
            background: var(--cream);
            color: var(--text);
            line-height: 1.7;
        }

        /* ── Header ── */
        header {
            background: var(--dark);
            padding: 2rem 3rem;
            text-align: center;
        }
        header a { text-decoration: none; color: white; }
        header h1 {
            font-family: 'Bodoni Moda', serif;
            font-size: clamp(1.8rem, 4vw, 3rem);
            font-weight: 600;
            letter-spacing: 0.04em;
            color: var(--cream);
            -webkit-text-stroke: 0.3px white;
        }
        header h2 {
            font-family: 'Inter', sans-serif;
            font-size: clamp(0.85rem, 1.5vw, 1rem);
            font-weight: 300;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: var(--sage-lt);
            margin-top: 0.4rem;
        }

        /* ── Hero / parallax ── */
        .hero {
            background: linear-gradient(160deg, var(--mid) 0%, var(--dark) 100%);
            padding: 5rem 3rem 4rem;
            text-align: center;
            position: relative;
            overflow: hidden;
        }
        .hero::before {
            content: '';
            position: absolute;
            inset: 0;
            background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
        }
        .hero h3 {
            font-family: 'Bodoni Moda', serif;
            font-size: clamp(1.6rem, 3.5vw, 2.6rem);
            color: var(--cream);
            font-style: italic;
            margin-bottom: 1.2rem;
            position: relative;
        }
        .hero h4 {
            font-size: clamp(0.9rem, 1.5vw, 1.05rem);
            font-weight: 300;
            color: var(--sage-lt);
            max-width: 680px;
            margin: 0 auto 2.5rem;
            position: relative;
        }

        /* ── Nav tabs ── */
        .nav-tabs {
            display: flex;
            justify-content: center;
            gap: 0.5rem;
            flex-wrap: wrap;
            position: relative;
        }
        .tab-btn {
            background: transparent;
            border: 1px solid rgba(255,255,255,0.3);
            color: var(--cream);
            font-family: 'Inter', sans-serif;
            font-size: 0.85rem;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            padding: 0.65rem 1.6rem;
            cursor: pointer;
            border-radius: 2px;
            transition: background 0.2s, border-color 0.2s, color 0.2s;
        }
        .tab-btn:hover,
        .tab-btn.active {
            background: var(--accent);
            border-color: var(--accent);
            color: var(--dark);
            font-weight: 600;
        }

        /* ── Content area ── */
        .content-area {
            max-width: 860px;
            margin: 0 auto;
            padding: 0 2rem 4rem;
        }

        /* ── Sections ── */
        .section-panel { display: none; padding: 3rem 0; }
        .section-panel.active { display: block; }

        .section-panel h2 {
            font-family: 'Bodoni Moda', serif;
            font-size: clamp(1.5rem, 3vw, 2.2rem);
            color: var(--dark);
            -webkit-text-stroke: 0.3px var(--dark);
            margin-bottom: 1.5rem;
            padding-bottom: 0.75rem;
            border-bottom: 2px solid var(--accent);
        }

        .section-panel p { margin-bottom: 1.2rem; font-size: 1rem; }

        /* subsection cards */
        .card {
            background: white;
            border-left: 4px solid var(--sage);
            border-radius: 4px;
            padding: 1.6rem 1.8rem;
            margin-bottom: 1.6rem;
            box-shadow: 0 2px 8px rgba(0,0,0,0.06);
        }
        .card h3 {
            font-family: 'Bodoni Moda', serif;
            font-size: 1.2rem;
            color: var(--mid);
            -webkit-text-stroke: 0.3px var(--mid);
            margin-bottom: 0.8rem;
        }
        .card p { margin-bottom: 0.8rem; }
        .card p:last-child { margin-bottom: 0; }

        /* toggle button */
        #toggleBtn {
            background: var(--dark);
            color: var(--cream);
            border: none;
            padding: 0.6rem 1.4rem;
            font-family: 'Inter', sans-serif;
            font-size: 0.85rem;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            cursor: pointer;
            border-radius: 2px;
            margin: 0.5rem 0 1.2rem;
            transition: background 0.2s;
        }
        #toggleBtn:hover { background: var(--mid); }

        #moreContent { display: none; }
        #moreContent.open { display: block; }

        /* services list */
        .services-list {
            list-style: none;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 1rem;
            margin-top: 1rem;
        }
        .services-list li {
            background: white;
            border: 1px solid var(--warm);
            border-top: 3px solid var(--sage);
            padding: 1.2rem 1.4rem;
            border-radius: 4px;
            font-size: 0.95rem;
            font-weight: 500;
            color: var(--mid);
            box-shadow: 0 2px 6px rgba(0,0,0,0.04);
        }

        /* FAQs */
        .faq-item {
            border-bottom: 1px solid var(--warm);
            padding: 1.3rem 0;
        }
        .faq-item:last-child { border-bottom: none; }
        .faq-item h4 {
            font-family: 'Bodoni Moda', serif;
            font-size: 1.05rem;
            color: var(--dark);
            margin-bottom: 0.6rem;
            font-style: italic;
        }

        /* ── Contact strip ── */
        .contact-strip {
            background: var(--dark);
            color: var(--cream);
            text-align: center;
            padding: 3rem 2rem;
        }
        .contact-strip h2 {
            font-family: 'Bodoni Moda', serif;
            font-size: 1.8rem;
            margin-bottom: 1.2rem;
            color: var(--accent);
        }
        .contact-strip p { margin-bottom: 0.5rem; font-size: 0.95rem; color: var(--sage-lt); }
        .contact-strip a { color: var(--accent); text-decoration: none; }
        .contact-strip a:hover { text-decoration: underline; }

        /* ── Footer ── */
        footer {
            background: #1c2820;
            color: rgba(255,255,255,0.35);
            text-align: center;
            padding: 1.2rem;
            font-size: 0.8rem;
            letter-spacing: 0.05em;
        }

        /* ── Fade-in animation ── */
        @keyframes fadeUp {
            from { opacity: 0; transform: translateY(16px); }
            to   { opacity: 1; transform: translateY(0); }
        }
        .section-panel.active { animation: fadeUp 0.35s ease both; }