        :root{ --ease:cubic-bezier(0.32,0.72,0,1); }
        body{ background-color:#0E1412; color:#F4F1EA; font-family:'Manrope',sans-serif; }
        h1,h2,h3,h4,h5,h6{ font-family:'Playfair Display',serif; letter-spacing:-0.01em; }

        /* film grain: fixed, never on scrolling content */
        body::after{
            content:""; position:fixed; inset:0; z-index:60; pointer-events:none; opacity:.035;
            background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
        }

        .eyebrow{
            font-family:'Manrope',sans-serif; font-size:11px; text-transform:uppercase;
            letter-spacing:0.22em; color:#C9A24B; display:flex; align-items:center; gap:12px;
        }
        .eyebrow::before{ content:''; display:block; width:24px; height:1px; background-color:#C9A24B; }

        .double-bezel{
            position:relative; border:1px solid rgba(244,241,234,0.09); border-radius:20px;
            background:linear-gradient(162deg,#1C251F 0%,#141B18 100%);
            box-shadow:inset 0 1px 0 rgba(255,255,255,0.06), 0 40px 80px -52px rgba(0,0,0,0.95);
            overflow:hidden;
        }
        .lift{ transition:transform .55s var(--ease), box-shadow .55s var(--ease), border-color .55s var(--ease); will-change:transform; }
        .lift:hover{ transform:translateY(-6px); border-color:rgba(201,162,75,0.28);
            box-shadow:inset 0 1px 0 rgba(255,255,255,0.07), 0 60px 90px -50px rgba(0,0,0,0.98); }
        .step-num{ font-family:'Playfair Display',serif; line-height:1; font-size:clamp(3.4rem,5.5vw,4.8rem);
            color:transparent; -webkit-text-stroke:1px rgba(201,162,75,0.55);
            transition:color .5s var(--ease), -webkit-text-stroke-color .5s var(--ease); }
        .group:hover .step-num{ color:rgba(201,162,75,0.14); -webkit-text-stroke-color:rgba(201,162,75,0.85); }
        .btn-primary, .btn-secondary{ will-change:transform; }
        .glass-pill{
            background:rgba(24,33,29,0.8); backdrop-filter:blur(12px);
            border:1px solid rgba(244,241,234,0.1); border-radius:9999px;
            box-shadow:0 25px 50px -12px rgba(0,0,0,0.5);
        }

        .btn-primary{
            background-color:#245C43; color:#F4F1EA; border-radius:9999px; padding:12px 24px;
            font-family:'Manrope',sans-serif; font-weight:500;
            transition:background-color .4s var(--ease), transform .4s var(--ease);
            display:inline-flex; align-items:center; gap:8px;
        }
        .btn-primary:hover{ background-color:#2F7A57; }
        .btn-primary:active{ transform:scale(.98); }
        .btn-primary .icon-chip{ transition:transform .45s var(--ease); }
        .btn-primary:hover .icon-chip{ transform:translateX(3px) translateY(-1px); }

        .btn-secondary{
            background-color:transparent; color:#F4F1EA; border:1px solid #C9A24B; border-radius:9999px;
            padding:12px 24px; font-family:'Manrope',sans-serif; font-weight:500;
            transition:background-color .4s var(--ease), transform .4s var(--ease);
            display:inline-flex; align-items:center; gap:8px;
        }
        .btn-secondary:hover{ background-color:rgba(201,162,75,0.1); }
        .btn-secondary:active{ transform:scale(.98); }

        .icon-chip{
            display:inline-flex; align-items:center; justify-content:center;
            width:32px; height:32px; border-radius:50%;
            background-color:rgba(244,241,234,0.05); border:1px solid rgba(244,241,234,0.1);
        }
        .gold-italic{ color:#C9A24B; font-style:italic; }

        .svc-item{ transition:padding-left .4s var(--ease); }
        .svc-item:hover{ padding-left:6px; }

        .accordion-content{ display:grid; grid-template-rows:0fr; opacity:0; transition:grid-template-rows .4s var(--ease), opacity .4s var(--ease); }
        .accordion-content > div{ overflow:hidden; min-height:0; }
        .accordion-item.active .accordion-content{ grid-template-rows:1fr; opacity:1; }
        .accordion-item .material-symbols-outlined{ transition:transform .35s var(--ease); }
        .accordion-item.active .material-symbols-outlined{ transform:rotate(45deg); }

        /* scroll reveal: progressive enhancement (content visible without JS) */
        .js .reveal{ opacity:0; transform:translateY(34px); filter:blur(6px); transition:opacity .9s var(--ease), transform .9s var(--ease), filter .9s var(--ease); }
        .js .reveal.is-visible{ opacity:1; transform:none; filter:none; }

        /* floating WhatsApp */
        .wa-fab{
            position:fixed; right:24px; bottom:24px; z-index:55; width:58px; height:58px; border-radius:9999px;
            background:#245C43; display:grid; place-items:center; color:#F4F1EA;
            box-shadow:0 18px 40px -14px rgba(0,0,0,.8), inset 0 1px 0 rgba(255,255,255,.12);
            transition:transform .4s var(--ease), background .4s var(--ease);
        }
        .wa-fab:hover{ background:#2F7A57; transform:translateY(-3px) scale(1.04); }
        .note-pill{
            display:inline-flex; align-items:center; gap:8px; margin-top:24px; font-size:13px; color:#C9A24B;
            background:rgba(201,162,75,0.10); border:1px dashed rgba(201,162,75,.4); border-radius:9999px; padding:9px 18px;
        }
        /* image fallback so a slow/missing photo shows charcoal, never white */
        .img-frame{ background:#18211D; }

        /* mobile menu */
        .mobile-menu{ opacity:0; pointer-events:none; transition:opacity .4s var(--ease); }
        .mobile-menu.open{ opacity:1; pointer-events:auto; }
        .mobile-menu a{ opacity:0; transform:translateY(16px); transition:opacity .5s var(--ease), transform .5s var(--ease); }
        .mobile-menu.open a{ opacity:1; transform:none; }
        .mobile-menu.open a:nth-child(1){ transition-delay:.06s }
        .mobile-menu.open a:nth-child(2){ transition-delay:.12s }
        .mobile-menu.open a:nth-child(3){ transition-delay:.18s }
        .mobile-menu.open a:nth-child(4){ transition-delay:.24s }
        .mobile-menu.open a:nth-child(5){ transition-delay:.30s }
        .burger span{ transition:transform .4s var(--ease), opacity .3s var(--ease); }
        .burger.open span:nth-child(1){ transform:translateY(5px) rotate(45deg); }
        .burger.open span:nth-child(2){ opacity:0; }
        .burger.open span:nth-child(3){ transform:translateY(-5px) rotate(-45deg); }

        /* form success */
        .form-success{ display:none; }
        .form-sent .form-success{ display:block; }
        .form-sent .form-fields{ display:none; }

/* mobile: prevent horizontal overflow from decorative/absolute elements */
html, body { overflow-x: hidden; max-width: 100%; }
