body {
            background: #FDFBF7;
            color: #2D2A26;
            font-family: 'Outfit', sans-serif
        }

        .cross-pattern {
            background-image: linear-gradient(rgba(45, 42, 38, .03) 1px, transparent 1px), linear-gradient(90deg, rgba(45, 42, 38, .03) 1px, transparent 1px);
            background-size: 40px 40px
        }

        .card {
            background: #fff;
            border: 1px solid #E4D8C8;
            border-radius: 20px;
            transition: all 350ms cubic-bezier(.4, 0, .2, 1)
        }

        .card:hover {
            border-color: #8a9317/30;
            box-shadow: 0 8px 32px rgba(212, 96, 58, .07);
            transform: translateY(-2px)
        }

        .svc-card {
            background: #fff;
            border: 1.5px solid #E4D8C8;
            border-radius: 20px;
            transition: all 400ms cubic-bezier(.4, 0, .2, 1);
            cursor: pointer
        }

        .svc-card:hover,
        .svc-card.active {
            border-color: #8a9317;
            background: #FDF1EC
        }

        .svc-card .svc-list {
            max-height: 0;
            overflow: hidden;
            transition: max-height 500ms cubic-bezier(.4, 0, .2, 1), padding 300ms
        }

        .svc-card.active .svc-list {
            max-height: 600px
        }

        .svc-card .svc-chevron {
            transition: transform 300ms
        }

        .svc-card.active .svc-chevron {
            transform: rotate(180deg)
        }

        .faq-row {
            border-left: 3px solid transparent;
            transition: all 300ms
        }

        .faq-row:hover,
        .faq-row.active {
            border-left-color: #8a9317;
            background: #FDF1EC/50
        }

        .faq-body {
            max-height: 0;
            overflow: hidden;
            transition: max-height 450ms cubic-bezier(.4, 0, .2, 1)
        }

        .faq-body.open {
            max-height: 400px
        }

        .legal-tab {
            transition: all 250ms;
            position: relative
        }

        .legal-tab.active {
            color: #8a9317;
            background: #FDF1EC
        }

        .legal-tab.active::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 15%;
            right: 15%;
            height: 3px;
            background: #8a9317;
            border-radius: 3px 3px 0 0
        }

        .toast {
            transform: translateY(80px);
            opacity: 0;
            transition: all 400ms cubic-bezier(.4, 0, .2, 1)
        }

        .toast.show {
            transform: translateY(0);
            opacity: 1
        }

        .modal-overlay {
            opacity: 0;
            pointer-events: none;
            transition: opacity 300ms
        }

        .modal-overlay.show {
            opacity: 1;
            pointer-events: auto
        }

        .modal-content {
            transform: scale(.93) translateY(16px);
            transition: transform 350ms cubic-bezier(.4, 0, .2, 1)
        }

        .modal-overlay.show .modal-content {
            transform: scale(1) translateY(0)
        }

        input:focus,
        textarea:focus,
        select:focus {
            outline: none;
            border-color: #8a9317 !important;
            box-shadow: 0 0 0 3px rgba(212, 96, 58, .08)
        }

        .scroll-reveal {
            opacity: 0;
            transform: translateY(20px);
            transition: all 600ms cubic-bezier(.4, 0, .2, 1)
        }

        .scroll-reveal.visible {
            opacity: 1;
            transform: translateY(0)
        }

        .mesh-blob {
            position: absolute;
            border-radius: 50%;
            filter: blur(80px);
            opacity: .35
        }

        .zigzag-item:nth-child(even) .zigzag-inner {
            flex-direction: row-reverse
        }

        ::-webkit-scrollbar {
            width: 6px
        }

        ::-webkit-scrollbar-track {
            background: #FDFBF7
        }

        ::-webkit-scrollbar-thumb {
            background: #E4D8C8;
            border-radius: 3px
        }

        ::-webkit-scrollbar-thumb:hover {
            background: #8a9317
        }

        @media(max-width:768px) {
            .zigzag-item:nth-child(even) .zigzag-inner {
                flex-direction: row
            }
        }


/* Shared split-page layout */
.site-main { min-height: 55vh; }
.policy-page { padding: 7rem 1.5rem 6rem; }
.policy-page-inner { max-width: 56rem; margin: 0 auto; }
.policy-page .policy-card { max-width:100%; }
.policy-page .policy-copy { display:flex;flex-direction:column;gap:.75rem;font-size:.875rem;line-height:1.65;color:#7A7571; }
.policy-page .policy-copy p { margin:0; }
.policy-page .policy-copy strong { color:#2D2A26; }
.policy-page .policy-title { text-align:center;margin:0 auto 2.5rem; }
.policy-page .policy-title h1 { font-size:clamp(2rem,4vw,2.8rem);font-weight:800;color:#2D2A26; }
.page-intro { padding:8rem 1.5rem 2rem; }
.unsubscribe-page { min-height:65vh;padding:7rem 1.5rem 6rem;background:#FDFBF7;display:flex;align-items:center;justify-content:center; }
.unsubscribe-page .unsubscribe-card { width:min(100%,28rem); }
.unsubscribe-page .modal-content { transform:none; }
@media(max-width:640px){.policy-page{padding:5rem 1rem 4rem}.policy-page .policy-card{padding:1.25rem}.unsubscribe-page{padding:5rem 1rem 4rem}}
