/* Fonts served from this site (Inter and Playfair Display, both under the SIL
   Open Font License), 2026-10-10. Google Fonts' stylesheet held up the first
   paint by about a second (Lighthouse). Each file covers one script; the
   browser fetches only the ones a page uses. */
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/assets/fonts/inter-c428ca13a1.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/assets/fonts/inter-ec7f5af97c.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/assets/fonts/inter-085cd7907a.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/assets/fonts/inter-4609148e1a.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/assets/fonts/inter-1f53bf00fe.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/assets/fonts/inter-367ba69ac0.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/assets/fonts/inter-bec94a4daf.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/inter-c428ca13a1.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/inter-ec7f5af97c.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/inter-085cd7907a.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/inter-4609148e1a.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/inter-1f53bf00fe.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/inter-367ba69ac0.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/inter-bec94a4daf.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/inter-c428ca13a1.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/inter-ec7f5af97c.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/inter-085cd7907a.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/inter-4609148e1a.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/inter-1f53bf00fe.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/inter-367ba69ac0.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/inter-bec94a4daf.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/inter-c428ca13a1.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/inter-ec7f5af97c.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/inter-085cd7907a.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/inter-4609148e1a.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/inter-1f53bf00fe.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/inter-367ba69ac0.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/inter-bec94a4daf.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/inter-c428ca13a1.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/inter-ec7f5af97c.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/inter-085cd7907a.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/inter-4609148e1a.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/inter-1f53bf00fe.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/inter-367ba69ac0.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/inter-bec94a4daf.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/playfair-086315cb9d.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/playfair-34bbb70c54.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/playfair-6f0cf9d8cf.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/playfair-cf1a605bc3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/playfair-8e474e3e26.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/playfair-49f22872c0.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/playfair-74f6892108.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/playfair-fdd6c39166.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/playfair-8e474e3e26.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/playfair-49f22872c0.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/playfair-74f6892108.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/playfair-fdd6c39166.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

        :root {
            --black: #0a0a0a;
            --white: #fafafa;
            --grey-light: #e8e8e8;
            --grey-mid: #888;
            --grey-dark: #333;
            --accent: #c4a35a;
            --accent-dim: rgba(196, 163, 90, 0.15);
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
            font-size: 16px;
        }

        body {
            font-family: 'Inter', -apple-system, sans-serif;
            background: var(--black);
            color: var(--white);
            line-height: 1.6;
            -webkit-font-smoothing: antialiased;
        }

        /* NAV */
        nav {
            position: fixed;
            top: 0;
            width: 100%;
            padding: 1.5rem 3rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
            z-index: 100;
            background: rgba(10, 10, 10, 0.9);
            backdrop-filter: blur(20px);
            border-bottom: 1px solid rgba(255,255,255,0.05);
        }

        .nav-logo {
            font-family: 'Playfair Display', serif;
            font-size: 1.25rem;
            font-weight: 700;
            letter-spacing: 0.05em;
            color: var(--white);
            text-decoration: none;
        }

        .nav-links {
            display: flex;
            gap: 2rem;
            list-style: none;
        }

        .nav-links a {
            color: var(--grey-mid);
            text-decoration: none;
            font-size: 0.85rem;
            font-weight: 400;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            transition: color 0.3s;
        }

        .nav-links a:hover {
            color: var(--white);
        }

        /* HERO */
        .hero {
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding: 8rem 3rem 4rem;
            max-width: 900px;
        }

        .hero-top {
            display: flex;
            align-items: flex-start;
            gap: 3rem;
            margin-bottom: 2rem;
        }

        .hero-text {
            flex: 1;
        }

        .hero-photo {
            width: 180px;
            height: 180px;
            border-radius: 50%;
            object-fit: cover;
            border: 2px solid rgba(196, 163, 90, 0.3);
            flex-shrink: 0;
        }

        .hero-label {
            font-size: 0.75rem;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: var(--accent);
            margin-bottom: 2rem;
            font-weight: 500;
        }

        .hero h1 {
            font-family: 'Playfair Display', serif;
            font-size: clamp(2.5rem, 6vw, 4.5rem);
            font-weight: 500;
            line-height: 1.15;
            margin-bottom: 2rem;
        }

        .hero h1 em {
            font-style: italic;
            color: var(--accent);
        }

        .hero-sub {
            font-size: 1.15rem;
            color: var(--grey-mid);
            max-width: 600px;
            line-height: 1.8;
            margin-bottom: 3rem;
        }

        .hero-stats {
            display: flex;
            gap: 3rem;
            flex-wrap: wrap;
        }

        .stat {
            display: flex;
            flex-direction: column;
        }

        .stat-number {
            font-family: 'Playfair Display', serif;
            font-size: 2rem;
            font-weight: 700;
            color: var(--accent);
        }

        .stat-label {
            /* Capped, because the Life of Da Nang line ran the whole width of a
               laptop screen and read as one long grey rule (2026-09-23). */
            max-width: 34ch;
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.15em;
            color: var(--grey-mid);
            margin-top: 0.25rem;
        }

        /* HERO CTA */
        .hero-cta-row {
            display: flex;
            gap: 1rem;
            flex-wrap: wrap;
            margin-bottom: 4rem;
        }

        .hero-btn {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            padding: 1rem 2rem;
            border: 1px solid rgba(255,255,255,0.15);
            border-radius: 4px;
            color: var(--white);
            text-decoration: none;
            font-size: 0.9rem;
            letter-spacing: 0.05em;
            font-weight: 500;
            transition: all 0.3s;
        }

        .hero-btn:hover {
            border-color: var(--accent);
            background: var(--accent-dim);
        }

        .hero-btn.primary {
            background: var(--accent);
            border-color: var(--accent);
            color: var(--black);
            font-weight: 600;
        }

        .hero-btn.primary:hover {
            background: #d4b36a;
        }

        /* PRICING */
        .pricing-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 1.5rem;
            margin-top: 3rem;
        }

        .pricing-card {
            border: 1px solid rgba(255,255,255,0.08);
            padding: 2.5rem 2rem;
            border-radius: 6px;
            display: flex;
            flex-direction: column;
            transition: border-color 0.3s, transform 0.3s;
        }

        .pricing-card:hover {
            border-color: var(--accent);
            transform: translateY(-4px);
        }

        .pricing-card.featured {
            border-color: var(--accent);
            background: rgba(196,163,90,0.04);
            position: relative;
        }

        .pricing-tier {
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.2em;
            color: var(--accent);
            margin-bottom: 1rem;
        }

        .pricing-name {
            font-family: 'Playfair Display', serif;
            font-size: 1.5rem;
            margin-bottom: 1rem;
            color: var(--white);
        }

        .pricing-price {
            font-family: 'Playfair Display', serif;
            font-size: 2.5rem;
            font-weight: 700;
            color: var(--white);
            margin-bottom: 0.25rem;
        }

        .pricing-price-suffix {
            font-size: 0.85rem;
            color: var(--grey-mid);
            margin-bottom: 1.5rem;
        }

        .pricing-divider {
            width: 100%;
            height: 1px;
            background: rgba(255,255,255,0.08);
            margin: 1.5rem 0;
        }

        .pricing-features {
            list-style: none;
            margin-bottom: 2rem;
            flex-grow: 1;
        }

        .pricing-features li {
            color: var(--grey-mid);
            font-size: 0.9rem;
            padding: 0.4rem 0;
            display: flex;
            align-items: flex-start;
            gap: 0.6rem;
        }

        /* Check mark drawn in CSS, so no symbol font or emoji is involved. */
        .pricing-features li::before {
            content: '';
            width: 0.4rem;
            height: 0.75rem;
            margin: 0.3rem 0.2rem 0 0.15rem;
            border: solid var(--accent);
            border-width: 0 2px 2px 0;
            transform: rotate(45deg);
            flex-shrink: 0;
        }

        .pricing-cta {
            text-align: center;
            padding: 0.85rem 1.5rem;
            border: 1px solid rgba(255,255,255,0.2);
            border-radius: 4px;
            color: var(--white);
            text-decoration: none;
            font-size: 0.85rem;
            font-weight: 500;
            letter-spacing: 0.05em;
            transition: all 0.3s;
        }

        .pricing-cta:hover {
            border-color: var(--accent);
            background: var(--accent-dim);
        }

        .pricing-card.featured .pricing-cta {
            background: var(--accent);
            border-color: var(--accent);
            color: var(--black);
            font-weight: 600;
        }

        .pricing-card.featured .pricing-cta:hover {
            background: #d4b36a;
        }

        /* GUARANTEE */
        .guarantee-box {
            border: 1px solid var(--accent);
            background: rgba(196,163,90,0.04);
            padding: 3rem 2.5rem;
            border-radius: 6px;
            text-align: center;
            margin-top: 3rem;
        }

        /* Gold diamond drawn in CSS (replaces the old star character). */
        .guarantee-icon {
            width: 34px;
            height: 34px;
            margin: 0.5rem auto 1.75rem;
            border: 1px solid var(--accent);
            transform: rotate(45deg);
            position: relative;
        }

        .guarantee-icon::after {
            content: '';
            position: absolute;
            inset: 8px;
            background: var(--accent);
        }

        .guarantee-headline {
            font-family: 'Playfair Display', serif;
            font-size: 1.75rem;
            color: var(--white);
            margin-bottom: 1rem;
            line-height: 1.3;
        }

        .guarantee-text {
            color: var(--grey-mid);
            font-size: 1rem;
            line-height: 1.7;
            max-width: 650px;
            margin: 0 auto;
        }

        /* PROCESS */
        .process-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 2rem;
            margin-top: 3rem;
        }

        .process-step {
            text-align: left;
        }

        .process-number {
            font-family: 'Playfair Display', serif;
            font-size: 4rem;
            color: var(--accent);
            opacity: 0.4;
            line-height: 1;
            margin-bottom: 0.5rem;
        }

        .process-step h3 {
            font-family: 'Playfair Display', serif;
            font-size: 1.35rem;
            margin-bottom: 0.75rem;
            color: var(--white);
        }

        .process-step p {
            color: var(--grey-mid);
            font-size: 0.95rem;
            line-height: 1.7;
        }

        /* DEMOS GRID */
        .demos-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 1.5rem;
            margin-top: 3rem;
        }

        .demo-card {
            border: 1px solid rgba(255,255,255,0.08);
            border-radius: 6px;
            overflow: hidden;
            transition: all 0.3s;
            text-decoration: none;
            color: var(--white);
            display: flex;
            flex-direction: column;
            background: rgba(255,255,255,0.02);
        }

        .demo-card:hover {
            border-color: var(--accent);
            transform: translateY(-4px);
            background: rgba(196,163,90,0.04);
        }

        .demo-card-tag {
            font-size: 0.65rem;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            color: var(--accent);
            padding: 1.25rem 1.5rem 0;
        }

        .demo-card-name {
            font-family: 'Playfair Display', serif;
            font-size: 1.2rem;
            padding: 0.5rem 1.5rem 0;
            color: var(--white);
        }

        .demo-card-meta {
            font-size: 0.8rem;
            color: var(--grey-mid);
            padding: 0.5rem 1.5rem 1.5rem;
            line-height: 1.5;
        }

        .demo-card-arrow {
            border-top: 1px solid rgba(255,255,255,0.05);
            padding: 0.75rem 1.5rem;
            font-size: 0.75rem;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: var(--accent);
            margin-top: auto;
        }

        /* FAQ */
        .faq-list {
            margin-top: 3rem;
            max-width: 800px;
        }

        .faq-item {
            border-bottom: 1px solid rgba(255,255,255,0.08);
            padding: 1.5rem 0;
        }

        .faq-question {
            font-family: 'Playfair Display', serif;
            font-size: 1.15rem;
            color: var(--white);
            margin-bottom: 0.75rem;
        }

        .faq-answer {
            color: var(--grey-mid);
            font-size: 0.95rem;
            line-height: 1.75;
        }

        /* SECTIONS */
        section {
            padding: 3.5rem 3rem;
            max-width: 1100px;
            margin: 0 auto;
        }

        .section-label {
            font-size: 0.7rem;
            letter-spacing: 0.25em;
            text-transform: uppercase;
            color: var(--accent);
            margin-bottom: 1rem;
            font-weight: 500;
        }

        .section-title {
            font-family: 'Playfair Display', serif;
            font-size: clamp(1.75rem, 4vw, 2.5rem);
            font-weight: 500;
            margin-bottom: 2rem;
            line-height: 1.2;
        }

        /* ABOUT */
        .about-text {
            font-size: 1.1rem;
            color: var(--grey-mid);
            max-width: 700px;
            line-height: 1.9;
        }

        .about-text strong {
            color: var(--white);
            font-weight: 500;
        }

        /* WHAT I DO */
        .services-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 2rem;
            margin-top: 2rem;
        }

        .service-card {
            border: 1px solid rgba(255,255,255,0.08);
            padding: 2.5rem 2rem;
            border-radius: 4px;
            transition: border-color 0.3s, background 0.3s;
        }

        .service-card:hover {
            border-color: var(--accent);
            background: var(--accent-dim);
        }

        .service-card h3 {
            font-family: 'Playfair Display', serif;
            font-size: 1.25rem;
            margin-bottom: 1rem;
            font-weight: 500;
        }

        .service-card p {
            font-size: 0.9rem;
            color: var(--grey-mid);
            line-height: 1.7;
        }

        /* CASE STUDIES */
        .case-study {
            border: 1px solid rgba(255,255,255,0.08);
            border-radius: 4px;
            padding: 3rem;
            margin-bottom: 2rem;
            transition: border-color 0.3s;
        }

        .case-study:hover {
            border-color: rgba(255,255,255,0.15);
        }

        .case-label {
            font-size: 0.7rem;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: var(--accent);
            margin-bottom: 0.75rem;
            font-weight: 500;
        }

        .case-study h3 {
            font-family: 'Playfair Display', serif;
            font-size: 1.5rem;
            margin-bottom: 0.5rem;
            font-weight: 500;
        }

        .case-role {
            font-size: 0.85rem;
            color: var(--grey-mid);
            margin-bottom: 1.5rem;
        }

        .case-study p {
            font-size: 0.95rem;
            color: var(--grey-mid);
            line-height: 1.8;
            margin-bottom: 1rem;
        }

        .case-metrics {
            display: flex;
            gap: 2.5rem;
            margin-top: 1.5rem;
            padding-top: 1.5rem;
            border-top: 1px solid rgba(255,255,255,0.06);
            flex-wrap: wrap;
        }

        .metric {
            display: flex;
            flex-direction: column;
        }

        .metric-value {
            font-family: 'Playfair Display', serif;
            font-size: 1.5rem;
            font-weight: 700;
            color: var(--white);
        }

        .metric-label {
            font-size: 0.7rem;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: var(--grey-mid);
            margin-top: 0.15rem;
        }

        .case-image {
            width: 100%;
            height: 240px;
            object-fit: cover;
            border-radius: 4px;
            margin-bottom: 1.5rem;
            opacity: 0.9;
            transition: opacity 0.3s;
        }

        .case-study:hover .case-image {
            opacity: 1;
        }

        /* TIMELINE */
        .timeline {
            margin-top: 2rem;
        }

        .timeline-item {
            display: grid;
            grid-template-columns: 120px 1fr;
            gap: 2rem;
            padding: 2rem 0;
            border-bottom: 1px solid rgba(255,255,255,0.06);
        }

        .timeline-year {
            font-family: 'Playfair Display', serif;
            font-size: 1.1rem;
            color: var(--accent);
            padding-top: 0.25rem;
        }

        .timeline-content h3 {
            font-size: 1rem;
            font-weight: 600;
            margin-bottom: 0.25rem;
        }

        .timeline-content .tl-company {
            font-size: 0.85rem;
            color: var(--grey-mid);
            margin-bottom: 0.5rem;
        }

        .timeline-content p {
            font-size: 0.9rem;
            color: var(--grey-mid);
            line-height: 1.7;
        }

        /* SKILLS */
        .skills-grid {
            display: flex;
            flex-wrap: wrap;
            gap: 0.75rem;
            margin-top: 1.5rem;
        }

        /* Every skill tag is gold (owner, 2026-09-14). */
        .skill-tag {
            padding: 0.5rem 1.25rem;
            border: 1px solid var(--accent);
            background: var(--accent-dim);
            border-radius: 100px;
            font-size: 0.8rem;
            color: var(--accent);
            letter-spacing: 0.03em;
            transition: all 0.3s;
        }

        .skill-tag:hover {
            border-color: var(--accent);
            color: var(--accent);
        }

        .skill-tag.primary {
            border-color: var(--accent);
            color: var(--accent);
            background: var(--accent-dim);
        }

        /* CONTACT */
        .contact {
            text-align: center;
            padding: 3.5rem 3rem 5rem;
        }

        .contact .section-title {
            max-width: 600px;
            margin: 0 auto 1rem;
        }

        .contact-sub {
            color: var(--grey-mid);
            font-size: 1rem;
            margin-bottom: 3rem;
        }

        .contact-links {
            display: flex;
            justify-content: center;
            gap: 2rem;
            flex-wrap: wrap;
        }

        .contact-link {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.85rem 2rem;
            border: 1px solid rgba(255,255,255,0.15);
            border-radius: 4px;
            color: var(--white);
            text-decoration: none;
            font-size: 0.85rem;
            letter-spacing: 0.05em;
            transition: all 0.3s;
        }

        .contact-link:hover {
            border-color: var(--accent);
            background: var(--accent-dim);
        }

        .contact-link.primary {
            background: var(--accent);
            border-color: var(--accent);
            color: var(--black);
            font-weight: 600;
        }

        .contact-link.primary:hover {
            background: #d4b36a;
        }

        /* CONTACT FORM */
        .contact-form {
            max-width: 540px;
            margin: 0 auto 3rem;
            text-align: left;
        }

        .contact-form .field {
            margin-bottom: 1.25rem;
        }

        .contact-form label {
            display: block;
            font-size: 0.75rem;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: var(--grey-mid);
            margin-bottom: 0.5rem;
        }

        .contact-form input,
        .contact-form textarea {
            width: 100%;
            padding: 0.9rem 1rem;
            background: rgba(255,255,255,0.03);
            border: 1px solid rgba(255,255,255,0.15);
            border-radius: 4px;
            color: var(--white);
            font-family: 'Inter', -apple-system, sans-serif;
            font-size: 0.95rem;
            transition: border-color 0.3s, background 0.3s;
        }

        .contact-form input::placeholder,
        .contact-form textarea::placeholder {
            color: var(--grey-dark);
        }

        .contact-form input:focus,
        .contact-form textarea:focus {
            outline: none;
            border-color: var(--accent);
            background: rgba(196, 163, 90, 0.06);
        }

        .contact-form textarea {
            min-height: 130px;
            resize: vertical;
        }

        .contact-form .form-submit {
            width: 100%;
            padding: 1rem 2rem;
            background: var(--accent);
            border: 1px solid var(--accent);
            border-radius: 4px;
            color: var(--black);
            font-family: 'Inter', -apple-system, sans-serif;
            font-weight: 600;
            font-size: 0.9rem;
            letter-spacing: 0.05em;
            cursor: pointer;
            transition: background 0.3s;
        }

        .contact-form .form-submit:hover {
            background: #d4b36a;
        }

        .contact-form .form-submit:disabled {
            opacity: 0.5;
            cursor: default;
        }

        .form-status {
            margin-top: 1.25rem;
            text-align: center;
            font-size: 0.9rem;
            min-height: 1.2rem;
        }

        .form-status.success { color: var(--accent); }
        .form-status.error { color: #e07a5f; }

        .honeypot {
            position: absolute;
            left: -9999px;
            width: 1px;
            height: 1px;
            overflow: hidden;
        }

        .contact-or {
            color: var(--grey-dark);
            font-size: 0.75rem;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            margin-bottom: 1.75rem;
        }

        /* FOOTER */
        footer {
            text-align: center;
            padding: 2rem;
            font-size: 0.75rem;
            color: var(--grey-mid);
            border-top: 1px solid rgba(255,255,255,0.05);
        }

        /* RESPONSIVE */
        @media (max-width: 768px) {
            nav {
                padding: 1rem 1.5rem;
            }

            .nav-links {
                display: none;
            }

            .hero {
                padding: 7rem 1.5rem 3rem;
            }

            section {
                padding: 2.75rem 1.5rem;
            }

            .hero-top {
                flex-direction: column-reverse;
                align-items: center;
                text-align: center;
            }

            .hero-photo {
                width: 140px;
                height: 140px;
            }

            .hero-stats {
                gap: 2rem;
                justify-content: center;
            }

            .case-study {
                padding: 2rem 1.5rem;
            }

            .timeline-item {
                grid-template-columns: 1fr;
                gap: 0.5rem;
            }

            .contact {
                padding: 2.75rem 1.5rem 4rem;
            }
        }

        /* ============================================================
           ELEVATION LAYER  ·  world-class / tuxedo polish
           Reuses existing class names. Loaded last, so it refines.
           ============================================================ */

        :root{
            --black:#080808;
            --panel:rgba(255,255,255,0.025);
            --accent:#c8a45c;
            --accent-soft:#e6cf96;
            --hairline:rgba(255,255,255,0.07);
            --hairline-gold:rgba(200,164,92,0.30);
        }

        body{position:relative;background:var(--black);}
        /* soft gold light + fine grain for depth (the tuxedo sheen) */
        body::before{
            content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
            background:
              radial-gradient(55% 45% at 78% 8%, rgba(200,164,92,0.12), transparent 68%),
              radial-gradient(45% 40% at 6% 92%, rgba(200,164,92,0.07), transparent 70%);
        }
        body::after{
            content:'';position:fixed;inset:0;z-index:0;pointer-events:none;opacity:0.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='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
        }
        nav,section,footer,.divider{position:relative;z-index:1;}

        /* NAV refined + scrolled state */
        nav{padding:1.35rem 3rem;transition:padding .35s ease, background .35s ease, border-color .35s ease;border-bottom:1px solid var(--hairline);}
        nav.scrolled{padding:0.8rem 3rem;background:rgba(8,8,8,0.94);border-bottom-color:var(--hairline-gold);}
        .nav-logo{font-size:1.4rem;letter-spacing:0.12em;}
        .nav-links a{font-size:0.78rem;}
        .nav-links a.nav-cta{
            color:var(--accent);border:1px solid var(--hairline-gold);
            padding:0.55rem 1.15rem;border-radius:2px;
        }
        .nav-links a.nav-cta:hover{background:var(--accent);color:var(--black);border-color:var(--accent);}
        .nav-lang a{color:var(--accent) !important;font-weight:600;letter-spacing:0.12em;}

        /* HERO refined */
        .hero{max-width:1080px;margin:0 auto;min-height:100vh;justify-content:flex-start;padding:clamp(7.5rem,16vh,13rem) 3rem 5rem;}
        .hero-status{
            display:inline-flex;align-items:center;gap:0.55rem;
            font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--grey-light);
            border:1px solid var(--hairline-gold);padding:0.4rem 0.95rem;border-radius:100px;margin-bottom:1.75rem;
        }
        .hero-status .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:ping 2.4s ease-out infinite;}
        @keyframes ping{0%{box-shadow:0 0 0 0 rgba(200,164,92,0.55)}70%{box-shadow:0 0 0 8px rgba(200,164,92,0)}100%{box-shadow:0 0 0 0 rgba(200,164,92,0)}}
        .hero h1{font-size:clamp(2.85rem,6.6vw,5rem);letter-spacing:-0.015em;line-height:1.08;}
        .hero h1 em{
            font-style:italic;
            background:linear-gradient(100deg,var(--accent),var(--accent-soft) 42%,var(--accent) 72%);
            background-size:220% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
            animation:shimmer 7s linear infinite;
        }
        @keyframes shimmer{to{background-position:220% center}}
        .hero-photo{width:200px;height:200px;border:none;box-shadow:0 0 0 1px var(--hairline-gold),0 30px 70px -34px rgba(0,0,0,0.9);will-change:transform;transform-style:preserve-3d;}
        .hero-sub{font-size:1.2rem;color:var(--grey-light);line-height:1.85;}
        .hero-brands{display:flex;align-items:center;gap:0.85rem;flex-wrap:wrap;margin-bottom:2.75rem;}
        .hero-brands .hb-label{font-size:0.68rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--grey-mid);}
        .hero-brands a{color:var(--grey-light);text-decoration:none;font-size:0.9rem;border-bottom:1px solid var(--hairline-gold);padding-bottom:1px;transition:color .3s,border-color .3s;}
        .hero-brands a:hover{color:var(--accent);border-color:var(--accent);}
        .hero-brands .hb-sep{color:var(--grey-dark);}
        .hero-btn{border-radius:3px;transition:all .3s;}
        .hero-btn:hover{transform:translateY(-2px);}
        .hero-btn.primary{background:linear-gradient(180deg,#dcc079,var(--accent));box-shadow:0 12px 34px -14px rgba(200,164,92,0.55);}

        /* SECTION headers: the word alone. No number before it ("02 How it works"
           sat over steps 01 to 04) and no short line after it (owner, 2026-10-10:
           "remove dashes, they are AI thing"). A short line beside a label reads
           as an em dash. Do not add one back, here or on any other site. */
        .section-label{display:inline-flex;align-items:center;font-size:0.72rem;}
        .section-title{font-size:clamp(2rem,4.2vw,2.85rem);letter-spacing:-0.015em;line-height:1.15;}

        /* CARDS: sharper, richer, gold lift on hover */
        .service-card,.pricing-card,.demo-card,.case-study,.guarantee-box{
            border-radius:3px;background:linear-gradient(180deg,rgba(255,255,255,0.028),rgba(255,255,255,0.004));
        }
        .service-card,.pricing-card,.demo-card{transition:border-color .35s,transform .35s,box-shadow .35s,background .35s;}
        .service-card:hover,.pricing-card:hover,.demo-card:hover{
            border-color:var(--hairline-gold);
            box-shadow:0 26px 50px -30px rgba(200,164,92,0.4);
        }
        .pricing-card.featured{box-shadow:0 26px 60px -34px rgba(200,164,92,0.5);}
        .demo-card:hover{transform:translateY(-5px);}
        .pricing-price{font-size:2.7rem;}
        .skill-tag{transition:all .3s;}
        .skill-tag:hover{transform:translateY(-2px);}

        /* DIVIDER: hairline with a centered gold diamond */
        .divider{width:100%;max-width:1100px;height:auto;background:transparent;margin:1rem auto;display:flex;align-items:center;justify-content:center;gap:1.25rem;padding:0 3rem;}
        .divider::before,.divider::after{content:'';height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--hairline) 50%,transparent);}
        .divider span,.divider i{display:none;}
        .divider::after{background:linear-gradient(90deg,transparent,var(--hairline) 50%,transparent);}

        /* FORM submit + primary links: gold gradient */
        .contact-form .form-submit,.contact-link.primary,.pricing-card.featured .pricing-cta{
            background:linear-gradient(180deg,#dcc079,var(--accent));box-shadow:0 12px 34px -16px rgba(200,164,92,0.5);
        }

        /* FOOTER refined */
        footer{padding:3.5rem 2rem;border-top:1px solid var(--hairline);letter-spacing:0.08em;}

        /* SCROLL REVEAL */
        .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);}
        .reveal.in{opacity:1;transform:none;}
        @media (prefers-reduced-motion:reduce){.reveal{opacity:1 !important;transform:none !important}.hero h1 em{animation:none}.hero-status .dot{animation:none}}

        @media (max-width:768px){
            nav{padding:0.9rem 1.25rem;}
            nav.scrolled{padding:0.7rem 1.25rem;}
            .hero{padding:7rem 1.5rem 3rem;}
            .hero-brands{justify-content:center;}
            .divider{padding:0 1.5rem;margin:0.75rem auto;}
        }

        /* ---- TWO DOORS (home) ---- */
        .doors{max-width:1100px;margin:0 auto;padding:0 3rem;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;}
        .door{display:block;text-decoration:none;border:1px solid var(--grey-dark);padding:2.75rem 2.25rem;transition:border-color .3s,transform .3s,background .3s;position:relative;overflow:hidden;}
        .door:hover{border-color:var(--accent);transform:translateY(-4px);background:rgba(196,163,90,0.03);}
        .door-label{font-size:0.7rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--accent);margin-bottom:1.25rem;}
        .door h3{font-family:'Playfair Display',serif;font-size:1.85rem;line-height:1.2;color:var(--white);margin-bottom:0.9rem;font-weight:500;}
        .door p{color:var(--grey-mid);font-size:0.98rem;line-height:1.75;margin-bottom:1.5rem;}
        .door-meta{color:var(--grey-dark);font-size:0.8rem;letter-spacing:0.06em;margin-bottom:1.5rem;}
        .door-arrow{color:var(--accent);font-size:0.8rem;letter-spacing:0.18em;text-transform:uppercase;}
        @media(max-width:900px){.doors{grid-template-columns:1fr;padding:0 1.5rem;}}

        /* ---- OFFER LADDER ---- */
        .offer-list{max-width:820px;margin:0 auto;}
        .offer-row{display:flex;align-items:baseline;justify-content:space-between;gap:2rem;padding:1.5rem 0;border-bottom:1px solid rgba(255,255,255,0.07);}
        .offer-row:last-child{border-bottom:none;}
        .offer-row h3,.offer-row h4{font-size:1.05rem;color:var(--white);font-weight:500;margin-bottom:0.35rem;}
        .offer-row p{color:var(--grey-mid);font-size:0.92rem;line-height:1.65;margin:0;}
        .offer-price{color:var(--accent);font-size:0.85rem;letter-spacing:0.12em;text-transform:uppercase;white-space:nowrap;flex-shrink:0;}
        @media(max-width:700px){.offer-row{flex-direction:column;gap:0.6rem;}.offer-price{white-space:normal;}}

        /* ---- DEMO REVEAL ---- */
        .demos-more{display:none;}
        .demos-grid.demos-more.open{display:grid;}
        h4.demos-more.open{display:block;}
        .demo-toggle{display:block;margin:2rem auto 0;background:transparent;border:1px solid var(--grey-dark);color:var(--accent);font-family:inherit;font-size:0.78rem;letter-spacing:0.2em;text-transform:uppercase;padding:1rem 2.5rem;cursor:pointer;transition:border-color .3s,background .3s;}
        .demo-toggle:hover{border-color:var(--accent);background:rgba(196,163,90,0.05);}

        /* ---- PAGE INTRO (subpage hero) ---- */
        .page-intro{max-width:1100px;margin:0 auto;padding:11rem 3rem 3.5rem;}
        .page-intro h1{font-family:'Playfair Display',serif;font-size:clamp(2.4rem,5.5vw,4rem);line-height:1.08;font-weight:500;color:var(--white);margin-bottom:1.5rem;letter-spacing:-0.01em;}
        .page-intro h1 em{font-style:italic;color:var(--accent);}
        .page-intro p{color:var(--grey-mid);font-size:1.12rem;line-height:1.85;max-width:640px;}
        @media(max-width:900px){.page-intro{padding:8.5rem 1.5rem 3rem;}}

        /* ---- INLINE LINK ---- */
        .ilink{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(196,163,90,0.4);transition:border-color .3s;}
        .ilink:hover{border-color:var(--accent);}

        /* ---- PROOF STRIP ---- */
        .proof{max-width:1100px;margin:0 auto;padding:0 3rem;}
        .proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
        .proof-card{border:1px solid var(--grey-dark);padding:1.75rem;text-decoration:none;display:block;transition:border-color .3s;}
        .proof-card:hover{border-color:var(--accent);}
        .proof-card .pc-name{color:var(--white);font-size:1rem;font-weight:500;margin-bottom:0.4rem;}
        .proof-card .pc-desc{color:var(--grey-mid);font-size:0.85rem;line-height:1.6;}
        @media(max-width:900px){.proof{padding:0 1.5rem;}.proof-grid{grid-template-columns:1fr;}}

        /* ---- FOR BUSINESS (sales page) ---- */
        .cta-row{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-top:2.5rem;}
        .cta-row-left{justify-content:flex-start;}
        .cta-row .hero-btn{min-height:48px;justify-content:center;}
        .intro-facts{list-style:none;display:flex;flex-wrap:wrap;gap:0.6rem 1.75rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--hairline);max-width:760px;}
        .intro-facts li{color:var(--grey-light);font-size:0.8rem;letter-spacing:0.12em;text-transform:uppercase;display:flex;align-items:center;gap:0.6rem;}
        .intro-facts li::before{content:'';width:6px;height:6px;background:var(--accent);transform:rotate(45deg);flex-shrink:0;}
        .sub-head{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:500;color:var(--white);margin:3.5rem 0 0.75rem;}
        .sub-head + .demos-grid{margin-top:1.5rem;}
        .sub-head + .about-text{margin-bottom:0;}
        .sub-head-small{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:500;margin:3rem 0 1rem;color:var(--accent);}
        .clients-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));}
        .client-card{border-color:var(--hairline-gold);}
        .client-card .demo-card-name{font-size:1.5rem;}
        .client-card .demo-card-meta{font-size:0.95rem;color:var(--grey-light);padding-bottom:0.75rem;}
        .client-points{list-style:none;padding:0 1.5rem 1.5rem;}
        .client-points li{color:var(--grey-mid);font-size:0.88rem;line-height:1.5;padding:0.3rem 0;display:flex;gap:0.65rem;align-items:flex-start;}
        .client-points li::before{content:'';width:5px;height:5px;margin-top:0.55rem;background:var(--accent);transform:rotate(45deg);flex-shrink:0;}
        .client-card .demo-card-arrow{text-transform:none;letter-spacing:0.04em;font-size:0.85rem;}
        .lod-note{margin-top:4rem;}
        .cta-band{font-family:'Playfair Display',serif;font-size:1.5rem;text-align:center;color:var(--white);margin-top:4rem;}
        .cta-band + .cta-row{margin-top:1.5rem;}
        .pricing-solo{grid-template-columns:1fr;max-width:820px;margin:3rem auto 0;}
        .pricing-note{color:var(--grey-mid);font-size:0.82rem;line-height:1.6;margin-top:1.25rem;text-align:center;}
        .addon{max-width:820px;margin:3.5rem auto 0;}
        .addon-label{font-size:0.72rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--accent);margin-bottom:0.5rem;}
        #offer .guarantee-box{max-width:820px;margin:3.5rem auto 0;}
        h3.guarantee-headline{font-weight:500;}
        h3.faq-question{font-weight:500;}
        .footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:0.5rem 2rem;margin-bottom:1.25rem;}
        .footer-links a{color:var(--grey-light);text-decoration:none;font-size:0.78rem;letter-spacing:0.12em;text-transform:uppercase;padding:0.5rem 0;transition:color .3s;}
        .footer-links a:hover{color:var(--accent);}
        @media (max-width:768px){
            /* On the sales page, keep the main call to action and the language switch in the phone nav. */
            .page-business .nav-links{display:flex;gap:1rem;align-items:center;}
            .page-business .nav-links li{display:none;}
            .page-business .nav-links li.nav-li-cta,.page-business .nav-links li.nav-lang{display:list-item;}
            .page-business .nav-links a.nav-cta{display:inline-block;padding:0.7rem 0.9rem;}
            .page-business .nav-lang a{display:inline-block;padding:0.7rem 0.4rem;}
            .cta-row .hero-btn{flex:1 1 100%;}
            .clients-grid{grid-template-columns:1fr;}
            .sub-head{font-size:1.4rem;}
        }

/* PHONE NAV ON EVERY PAGE (2026-09-14). The 768px rule above hid the whole nav,
   so Home and Brands had no call to action and no language switch on a phone.
   Keep the call to action and the language switch visible everywhere. */
@media (max-width:768px){
    .nav-links{display:flex;gap:1rem;align-items:center;}
    .nav-links li{display:none;}
    .nav-links li.nav-li-cta,.nav-links li.nav-lang{display:list-item;list-style:none;}
    .nav-links a.nav-cta{display:inline-block;padding:0.7rem 0.9rem;}
    .nav-lang a{display:inline-block;padding:0.7rem 0.4rem;}
}

/* MOBILE AUDIT FIXES (2026-09-14). Kept at the end so they win over earlier rules. */
.door-meta{color:var(--grey-mid);}
.contact-or{color:var(--grey-mid);}
.contact-wa{display:flex;width:fit-content;margin:0 auto 2.5rem;min-height:48px;align-items:center;justify-content:center;}
.contact-form input,.contact-form textarea{font-size:1rem;border-color:rgba(255,255,255,0.34);}
.hero .hero-cta-row{margin:0 0 2.5rem;}
section[id]{scroll-margin-top:72px;}
.footer-links a{display:inline-block;padding:0.75rem 0;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
@media (max-width:900px){.doors,.proof{padding:0;}}
@media (max-width:768px){
    .hero-photo{width:120px;height:120px;}
    .hero-top{gap:1.5rem;margin-bottom:1.5rem;}
    .hero h1{font-size:2.25rem;}
    .hero-status,.hero-label{margin-bottom:1rem;}
    .hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem 1rem;}
    .hero-stats .stat:last-child{grid-column:1 / -1;}
    .door{padding:2rem 1.5rem;}
    .page-intro .cta-row .hero-btn{flex:1 1 calc(50% - .5rem);padding:.75rem .5rem;}
    .page-intro .cta-row .hero-btn:nth-child(3){display:none;}
    .hero h1 em{animation-iteration-count:2;}
    .hero-status .dot{animation-iteration-count:3;}
    nav,nav.scrolled{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(8,8,8,.96);}
}

/* Headings and stat numbers use lining figures: Playfair's default old-style
   0 reads as a small o ("con so o"), found by the vietnamese-reader on
   2026-10-10. Vietnamese headings get more line height, because stacked tone
   marks (ố, ế, ầ) ran into the line above at 1.1. */
:is(h1,h2,h3,.stat-number,.metric-value,.pricing-price){font-variant-numeric:lining-nums}
html[lang="vi"] :is(.hero h1,.page-intro h1,.section-title){line-height:1.3}

/* 2026-10-10 upgrade, from the design audit. Each rule was tested on the live
   pages at 320, 360, 390 and 1300 px before it was added here. */
nav{position:fixed;z-index:100;}  /* the grouped "nav,section{position:relative}" above had cancelled the fixed bar, so it scrolled away */
.hero{min-height:0;}  /* owner, 2026-10-10: "Too empty space". The hero filled a whole screen even after the buttons moved up */
.hero .hero-brands{margin-bottom:0;}
/* ONE SPACING RHYTHM for every section break (owner, 2026-10-10: "Too empty
   space" on the home page, then "big space" on Brands). A break is section
   padding, the hairline, section padding: 56 + 16 + 1 + 16 + 56 on a computer,
   44 + 12 + 1 + 12 + 44 on a phone. Before, a computer showed about 320 px of
   nothing between sections. Change the values where they are defined (section,
   .contact, .page-intro, .divider, .hero), never with a one-section override. */
.hero{padding-bottom:3.5rem;}
section > .case-study:last-child{margin-bottom:0;}  /* its 2rem made the Now and Before breaks 32 px bigger */
.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--grey-mid);}  /* was 1.5:1 */
.process-number{opacity:.65;}
.stat-label{text-transform:none;letter-spacing:0;font-size:.875rem;color:var(--grey-light);}
.hero-stats{margin-bottom:2.5rem;}
.hero{max-width:1100px;}
.doors,.proof{padding:0;}
#proof .about-text{margin-bottom:2rem;}
.demo-card:not(.client-card) .demo-card-name{padding-bottom:1rem;}
.clients-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
h1,h2,h3,h4,.cta-band{text-wrap:balance;}
.pricing-price{font-size:clamp(2rem,9vw,2.7rem);}
@media (min-width:769px){.hero-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;}}
@media (max-width:768px){
    .hero{padding-top:5.5rem;padding-bottom:2.75rem;}
    .hero h1{font-size:1.9rem;line-height:1.15;}
    .hero-photo{width:96px;height:96px;}
    .hero-cta-row{justify-content:center;}
    .hero-stats .stat:first-child{grid-column:1 / -1;}
    .page-intro{padding-top:6rem;}
    .page-intro h1{font-size:2rem;line-height:1.15;}
    .page-intro p{font-size:1.05rem;line-height:1.65;}
    .nav-logo{display:inline-flex;align-items:center;min-height:44px;min-width:44px;}
    .nav-lang a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;}
}

/* FULL ROOM STUDIO, 2026-10-12: the logo in the nav, no photo in the hero,
   and the Erosa photo carousel on /brands/. No short decorative lines. */
.nav-logo{display:inline-flex;align-items:center;}
.nav-logo-img{display:block;height:17px;width:auto;}
@media (max-width:768px){.nav-logo-img{height:13px;}}
.carousel{margin-top:2rem;}
.carousel-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.carousel-track::-webkit-scrollbar{display:none;}
.carousel-track:focus-visible{outline:1px solid var(--accent);outline-offset:4px;}
.carousel-track img{flex:0 0 auto;height:440px;width:auto;scroll-snap-align:start;border-radius:3px;}
@media (max-width:768px){.carousel-track img{height:360px;}}
.carousel-nav{display:flex;gap:10px;margin-top:14px;}
.carousel-btn{width:44px;height:44px;border:1px solid var(--hairline-gold);background:transparent;color:var(--accent);font-size:18px;line-height:1;cursor:pointer;border-radius:3px;transition:border-color .3s;}
.carousel-btn:hover{border-color:var(--accent);}
/* Phones: the badge in the nav, so "Get in touch" stays on one line; the
   carousel shows one whole photo at a time (the group shot is wide). */
.nav-logo-badge{display:none;width:36px;height:36px;}
@media (max-width:420px){.nav-logo-img{display:none;}.nav-logo-badge{display:block;}}
.carousel-track img{aspect-ratio:9/16;object-fit:cover;}
@media (max-width:768px){
  .carousel-track img{width:72%;height:auto;}
}
.case-image + .carousel{margin-top:0;}

/* TABLET NAV (2026-10-12). Between the phone layout and a wide screen the full
   Vietnamese nav did not fit: at 800px "Bắt đầu làm website" split over two
   lines and ran out of its border. Nav text never wraps, and until the full
   nav fits, tablets get the phone nav: logo, main button, language. */
.nav-links a{white-space:nowrap;}
@media (min-width:769px) and (max-width:900px){
    .nav-links{align-items:center;}
    .nav-links li{display:none;}
    .nav-links li.nav-li-cta,.nav-links li.nav-lang{display:list-item;list-style:none;}
}
/* The business pages carry four section links and the longest button. */
@media (min-width:769px) and (max-width:1000px){
    .page-business .nav-links{align-items:center;}
    .page-business .nav-links li{display:none;}
    .page-business .nav-links li.nav-li-cta,.page-business .nav-links li.nav-lang{display:list-item;list-style:none;}
}

/* THE TWO PLANS (2026-10-12). The For Business page sells the Monthly Plan
   and the Opening Plan side by side, the same plans as lifeofdanang.com. */
.pricing-plans{max-width:1040px;margin:3rem auto 0;align-items:stretch;}
.pricing-lead{color:var(--grey-light);font-size:0.95rem;line-height:1.6;margin-top:1rem;}
.pricing-plans .pricing-features li{line-height:1.6;}
.pricing-plans .pricing-note{text-align:left;}
