/* Esthetica Turkey — design system (fonts + shared chrome/components) */
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/font-05.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/font-09.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;
}
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/font-08.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/font-10.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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/font-03.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/font-11.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/font-02.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/font-04.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/font-01.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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/font-07.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/font-06.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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/font-03.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/font-11.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/font-02.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/font-04.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/font-01.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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/font-07.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/font-06.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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/font-03.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/font-11.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/font-02.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/font-04.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/font-01.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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/font-07.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/font-06.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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/font-03.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/font-11.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/font-02.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/font-04.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/font-01.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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/font-07.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/font-06.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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/fonts/font-03.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/fonts/font-11.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/fonts/font-02.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/fonts/font-04.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/fonts/font-01.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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/fonts/font-07.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/fonts/font-06.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;
}

/* ============================================================
   Skinora Labs — Colors & Type
   Brand: AI-powered skin analysis + personalized skincare
   Logo gradient: #E91E63 (rose) → #9C27B0 (violet)
   ============================================================ */

/* ---------- Webfont ---------- */
/* Primary face: Inter (referenced in official logo SVG as
   "Inter, -apple-system, BlinkMacSystemFont, sans-serif") */
/* latin-ext */

/* latin */

/* latin-ext */

/* latin */

/* cyrillic-ext */

/* cyrillic */

/* greek-ext */

/* greek */

/* vietnamese */

/* latin-ext */

/* latin */

/* cyrillic-ext */

/* cyrillic */

/* greek-ext */

/* greek */

/* vietnamese */

/* latin-ext */

/* latin */

/* cyrillic-ext */

/* cyrillic */

/* greek-ext */

/* greek */

/* vietnamese */

/* latin-ext */

/* latin */

/* cyrillic-ext */

/* cyrillic */

/* greek-ext */

/* greek */

/* vietnamese */

/* latin-ext */

/* latin */

/* cyrillic-ext */

/* cyrillic */

/* greek-ext */

/* greek */

/* vietnamese */

/* latin-ext */

/* latin */

:root {
  /* ============================================================
     COLORS — Brand
     ============================================================ */
  --brand-rose-500:    #0E8A96;   /* primary teal (brand)    */
  --brand-rose-400:    #36AAB4;   /* lighter teal            */
  --brand-rose-50:     #E7F4F5;   /* teal tint bg            */
  --brand-violet-600:  #0A5360;   /* deep petrol             */
  --brand-violet-500:  #0C6675;
  --brand-violet-50:   #E3F0F1;   /* petrol tint bg          */

  /* Signature gradient — calm clinical teal → deep petrol */
  --brand-gradient:        linear-gradient(135deg, #13A1A8 0%, #0A5663 100%);
  --brand-gradient-soft:   linear-gradient(135deg, #E7F4F5 0%, #DCEDEF 100%);
  --brand-gradient-radial: radial-gradient(120% 100% at 20% 0%, #13A1A8 0%, #0A5663 70%);

  /* ============================================================
     COLORS — Neutral (cool-leaning, from logo's #8888B8)
     ============================================================ */
  --ink-1000: #0B0B1A;   /* near-black, headings on light   */
  --ink-900:  #151528;
  --ink-800:  #22223D;
  --ink-700:  #35355A;
  --ink-600:  #4B4B74;
  --ink-500:  #6B6B92;   /* body-secondary                  */
  --ink-400:  #8888B8;   /* from logo "LABS" tracking text  */
  --ink-300:  #B4B4D0;
  --ink-200:  #D8D8E8;
  --ink-100:  #ECECF4;
  --ink-50:   #F6F6FB;
  --ink-0:    #FFFFFF;

  /* ============================================================
     COLORS — Semantic (skin-analysis app context)
     ============================================================ */
  --safe:         #2BB673;   /* "Niacinamide · Safe"         */
  --safe-bg:      #E4F6EE;
  --caution:      #F59E0B;   /* "Retinol + AHA · Caution"    */
  --caution-bg:   #FEF3E0;
  --danger:       #E5484D;   /* conflicts / harmful combos   */
  --danger-bg:    #FDECEC;
  --info:         #5B6CFF;
  --info-bg:      #ECEEFF;

  /* Skin-score metric hues (acne/redness/pores/texture) */
  --metric-acne:     #F06292;
  --metric-redness:  #E5484D;
  --metric-pores:    #9C27B0;
  --metric-texture:  #5B6CFF;

  /* ============================================================
     SURFACES / FOREGROUNDS (semantic aliases)
     ============================================================ */
  --bg:         var(--ink-0);
  --bg-subtle:  var(--ink-50);
  --bg-muted:   var(--ink-100);
  --bg-inverse: var(--ink-1000);

  --fg-1:       var(--ink-1000);  /* primary text            */
  --fg-2:       var(--ink-600);   /* secondary text          */
  --fg-3:       var(--ink-400);   /* tertiary / labels       */
  --fg-on-brand:#FFFFFF;

  --border:         var(--ink-200);
  --border-strong:  var(--ink-300);
  --border-subtle:  var(--ink-100);

  /* ============================================================
     TYPE — Families
     ============================================================ */
  --font-sans:    "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-display: "Inter", -apple-system, BlinkMacSystemFont, sans-serif; /* tight tracking, 700 */
  --font-serif:   "Instrument Serif", "Times New Roman", serif; /* editorial accent */
  --font-mono:    ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;

  /* ============================================================
     TYPE — Scale (fluid, pixel-friendly)
     ============================================================ */
  --fs-display-xl: 72px;
  --fs-display-lg: 56px;
  --fs-display-md: 44px;
  --fs-h1:         36px;
  --fs-h2:         28px;
  --fs-h3:         22px;
  --fs-h4:         18px;
  --fs-body-lg:    18px;
  --fs-body:       16px;
  --fs-body-sm:    14px;
  --fs-caption:    13px;
  --fs-eyebrow:    12px;

  /* ============================================================
     SPACING
     ============================================================ */
  --sp-0: 0;
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-8: 32px;
  --sp-10: 40px;
  --sp-12: 48px;
  --sp-16: 64px;
  --sp-20: 80px;
  --sp-24: 96px;

  /* ============================================================
     RADIUS
     ============================================================ */
  --radius-xs: 6px;
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 20px;   /* default card                         */
  --radius-xl: 28px;   /* hero / large cards                   */
  --radius-2xl: 36px;
  --radius-pill: 999px;

  /* ============================================================
     ELEVATION / SHADOW
     Shadows are soft and cool-tinted; they feel like plastic
     phone bezels and dewy-skin glows, not harsh drop shadows.
     ============================================================ */
  --shadow-xs:   0 1px 2px rgba(20, 14, 40, 0.04);
  --shadow-sm:   0 2px 6px rgba(20, 14, 40, 0.06),
                 0 1px 2px rgba(20, 14, 40, 0.04);
  --shadow-md:   0 10px 24px rgba(20, 14, 40, 0.08),
                 0 2px 6px rgba(20, 14, 40, 0.04);
  --shadow-lg:   0 24px 48px rgba(20, 14, 40, 0.12),
                 0 4px 12px rgba(20, 14, 40, 0.06);
  --shadow-xl:   0 40px 80px rgba(20, 14, 40, 0.16);
  --shadow-glow: 0 16px 40px rgba(14, 138, 150, 0.30),
                 0 6px 16px rgba(10, 86, 99, 0.22);
  --shadow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.6);

  /* ============================================================
     MOTION
     ============================================================ */
  --ease-out-soft:  cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-in-out:    cubic-bezier(0.65, 0, 0.35, 1);
  --ease-spring:    cubic-bezier(0.34, 1.56, 0.64, 1);
  --dur-fast:   140ms;
  --dur-base:   220ms;
  --dur-slow:   380ms;

  /* ============================================================
     LAYOUT
     ============================================================ */
  --container:     1200px;
  --container-sm:  720px;
}

/* ============================================================
   BASE RESETS (lightweight — consumable via @import)
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }
html, body {
  margin: 0; padding: 0;
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  line-height: 1.55;
  color: var(--fg-1);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* ============================================================
   SEMANTIC TYPE TOKENS
   ============================================================ */
.t-display-xl,
h1.t-hero {
  font-family: var(--font-display);
  font-size: var(--fs-display-xl);
  line-height: 1.02;
  letter-spacing: -0.035em;
  font-weight: 800;
  color: var(--fg-1);
}
.t-display-lg {
  font-family: var(--font-display);
  font-size: var(--fs-display-lg);
  line-height: 1.05;
  letter-spacing: -0.03em;
  font-weight: 800;
}
.t-display-md {
  font-family: var(--font-display);
  font-size: var(--fs-display-md);
  line-height: 1.1;
  letter-spacing: -0.025em;
  font-weight: 700;
}

h1, .t-h1 {
  font-family: var(--font-display);
  font-size: var(--fs-h1);
  line-height: 1.15;
  letter-spacing: -0.02em;
  font-weight: 700;
  color: var(--fg-1);
  margin: 0 0 var(--sp-4);
}
h2, .t-h2 {
  font-family: var(--font-sans);
  font-size: var(--fs-h2);
  line-height: 1.2;
  letter-spacing: -0.015em;
  font-weight: 700;
  color: var(--fg-1);
  margin: 0 0 var(--sp-3);
}
h3, .t-h3 {
  font-family: var(--font-sans);
  font-size: var(--fs-h3);
  line-height: 1.3;
  letter-spacing: -0.01em;
  font-weight: 600;
  color: var(--fg-1);
  margin: 0 0 var(--sp-2);
}
h4, .t-h4 {
  font-family: var(--font-sans);
  font-size: var(--fs-h4);
  line-height: 1.35;
  font-weight: 600;
  color: var(--fg-1);
  margin: 0 0 var(--sp-2);
}

p, .t-body {
  font-size: var(--fs-body);
  line-height: 1.6;
  color: var(--fg-2);
  margin: 0 0 var(--sp-4);
}
.t-body-lg {
  font-size: var(--fs-body-lg);
  line-height: 1.55;
  color: var(--fg-2);
}
.t-body-sm {
  font-size: var(--fs-body-sm);
  line-height: 1.5;
  color: var(--fg-2);
}
.t-caption {
  font-size: var(--fs-caption);
  color: var(--fg-3);
  line-height: 1.4;
}
.t-eyebrow {
  font-size: var(--fs-eyebrow);
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--fg-3);
}
.t-serif {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.01em;
}
code, .t-mono {
  font-family: var(--font-mono);
  font-size: 0.92em;
}

/* ============================================================
   UTILITIES
   ============================================================ */
.gradient-text {
  background: var(--brand-gradient);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
          color: transparent;
}
.gradient-bg { background: var(--brand-gradient); color: var(--fg-on-brand); }

/* ============================================================
   Esthetica Turkey — Site components & layout
   Clinical / trustworthy white surfaces, cool ink neutrals,
   rose→violet gradient as a restrained signature accent.
   ============================================================ */

:root{
  --wa:#25D366;          /* whatsapp green */
  --wa-dark:#1da851;
  --header-h:84px;
  --teal:#15919B;        /* harmonising calm medical tone, derived from client mark */
  --teal-50:#E6F3F4;
}

html{scroll-behavior:smooth}
body{color:var(--fg-1);background:var(--bg);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
*{-webkit-tap-highlight-color:transparent}

/* ---------- Layout helpers ---------- */
.wrap{max-width:var(--container);margin:0 auto;padding:0 var(--sp-6)}
.wrap-sm{max-width:920px;margin:0 auto;padding:0 var(--sp-6)}
.section{padding:var(--sp-24) 0}
.section-sm{padding:var(--sp-16) 0}
@media(max-width:760px){
  .section{padding:var(--sp-16) 0}
  .section-sm{padding:var(--sp-12) 0}
  .wrap,.wrap-sm{padding:0 var(--sp-5)}
}

.center{text-align:center}
.eyebrow{font-size:var(--fs-eyebrow);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--brand-rose-500)}
.eyebrow.muted{color:var(--fg-3)}
.lead{font-size:var(--fs-body-lg);color:var(--fg-2);line-height:1.65}
.gradient-text{background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.serif-accent{font-family:var(--font-serif);font-style:italic;font-weight:400}

.section-head{max-width:680px;margin:0 0 var(--sp-12)}
.section-head.center{margin-left:auto;margin-right:auto}
.section-head h2{font-size:var(--fs-display-md);letter-spacing:-.025em;margin:var(--sp-3) 0 var(--sp-4)}
.section-head p{margin:0}
@media(max-width:760px){.section-head h2{font-size:var(--fs-h1)}}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:var(--sp-2);font-family:var(--font-sans);font-weight:600;font-size:var(--fs-body);line-height:1;border:none;cursor:pointer;border-radius:var(--radius-pill);padding:16px 26px;transition:transform var(--dur-fast) var(--ease-out-soft),box-shadow var(--dur-base) var(--ease-out-soft),background var(--dur-base);white-space:nowrap}
.btn svg{width:18px;height:18px}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--brand-gradient);color:#fff;box-shadow:var(--shadow-glow)}
.btn-wa{background:var(--wa);color:#fff;box-shadow:0 12px 28px rgba(37,211,102,.32)}
.btn-wa:hover{background:var(--wa-dark)}
.btn-dark{background:var(--ink-1000);color:#fff}
.btn-ghost{background:#fff;color:var(--fg-1);box-shadow:inset 0 0 0 1.5px var(--border-strong)}
.btn-ghost:hover{box-shadow:inset 0 0 0 1.5px var(--ink-400)}
.btn-light{background:rgba(255,255,255,.14);color:#fff;backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}
.btn-light:hover{background:rgba(255,255,255,.22)}
.btn-lg{padding:19px 32px;font-size:var(--fs-body-lg)}
.btn-block{width:100%;justify-content:center}

/* ---------- Header ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background var(--dur-base),box-shadow var(--dur-base),border-color var(--dur-base);border-bottom:1px solid transparent}
.topbar{background:var(--ink-1000);color:rgba(255,255,255,.85);font-size:var(--fs-caption)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:40px;gap:var(--sp-4)}
.topbar a{color:rgba(255,255,255,.85);transition:color var(--dur-fast);display:inline-flex;align-items:center;gap:6px}
.topbar a:hover{color:#fff}
.topbar .tb-social{display:flex;gap:var(--sp-4)}
.topbar .tb-left{display:flex;gap:var(--sp-5);align-items:center}
@media(max-width:760px){.topbar .tb-left .tb-hide{display:none}}

.navbar{transition:background var(--dur-base),box-shadow var(--dur-base);background:transparent}
/* transparent over hero (default) */
.site-header .brand img{filter:brightness(0) invert(1);transition:filter var(--dur-base)}
.site-header .nav-links>li>a{color:#fff}
.site-header .nav-links>li>a:hover{color:#fff;background:rgba(255,255,255,.16)}
.site-header .nav-toggle{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.35)}
.site-header .nav-toggle span{background:#fff}
/* solid on scroll */
.site-header.scrolled{background:#fff;box-shadow:var(--shadow-md);border-bottom-color:var(--border-subtle)}
.site-header.scrolled .topbar{display:none}
.site-header.scrolled .brand img{filter:none}
.site-header.scrolled .nav-links>li>a{color:var(--fg-1)}
.site-header.scrolled .nav-links>li>a:hover{color:var(--brand-rose-500);background:var(--brand-rose-50)}
.site-header.scrolled .nav-toggle{background:#fff;border-color:var(--border)}
.site-header.scrolled .nav-toggle span{background:var(--ink-900)}
.navbar .wrap{display:flex;align-items:center;justify-content:space-between;height:var(--header-h);gap:var(--sp-6)}
.brand{display:flex;align-items:center}
.brand img{height:42px;width:auto}
.nav-links{display:flex;align-items:center;gap:var(--sp-1);list-style:none;margin:0;padding:0}
.nav-links > li{position:relative}
.nav-links > li > a{display:flex;align-items:center;gap:5px;padding:10px 14px;font-size:var(--fs-body-sm);font-weight:600;color:var(--fg-1);border-radius:var(--radius-pill);transition:color var(--dur-fast),background var(--dur-fast);white-space:nowrap}
.nav-links > li > a:hover{color:var(--brand-rose-500);background:var(--brand-rose-50)}
.nav-links > li > a .chev{width:14px;height:14px;opacity:.5;transition:transform var(--dur-fast)}
.nav-links > li:hover > a .chev{transform:rotate(180deg)}
.nav-actions{display:flex;align-items:center;gap:var(--sp-3)}

/* dropdown */
.dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:280px;background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--sp-2);opacity:0;visibility:hidden;transform:translateY(8px);transition:all var(--dur-base) var(--ease-out-soft)}
.nav-links > li:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown a{display:flex;flex-direction:column;gap:2px;padding:11px 14px;border-radius:var(--radius-md);transition:background var(--dur-fast)}
.dropdown a:hover{background:var(--ink-50)}
.dropdown a strong{font-size:var(--fs-body-sm);font-weight:600;color:var(--fg-1)}
.dropdown a span{font-size:var(--fs-caption);color:var(--fg-3)}

.nav-toggle{display:none;width:46px;height:46px;border-radius:var(--radius-md);border:1px solid var(--border);background:#fff;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:4px}
.nav-toggle span{width:20px;height:2px;background:var(--ink-900);border-radius:2px;transition:all var(--dur-base)}

@media(max-width:1080px){
  .nav-links,.nav-actions .desk-only{display:none}
  .nav-toggle{display:flex}
}

/* mobile drawer */
.mobile-nav{position:fixed;inset:0;z-index:200;visibility:hidden;pointer-events:none}
.mobile-nav.open{visibility:visible;pointer-events:auto}
.mobile-nav .scrim{position:absolute;inset:0;background:rgba(11,11,26,.45);opacity:0;transition:opacity var(--dur-base)}
.mobile-nav.open .scrim{opacity:1}
.mobile-nav .panel{position:absolute;top:0;right:0;height:100%;width:min(380px,86vw);background:#fff;box-shadow:var(--shadow-xl);transform:translateX(100%);transition:transform var(--dur-slow) var(--ease-out-soft);overflow-y:auto;padding:var(--sp-6)}
.mobile-nav.open .panel{transform:translateX(0)}
.mobile-nav .panel .mhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-6)}
.mobile-nav .panel .mclose{width:44px;height:44px;border-radius:var(--radius-md);border:1px solid var(--border);background:#fff;font-size:22px;cursor:pointer;color:var(--fg-2)}
.maccord{border-bottom:1px solid var(--border-subtle)}
.maccord > a,.maccord > button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 4px;font-size:var(--fs-h4);font-weight:600;color:var(--fg-1);background:none;border:none;cursor:pointer;text-align:left;font-family:inherit}
.maccord .sub{display:none;padding:0 4px var(--sp-3)}
.maccord.open .sub{display:block}
.maccord .sub a{display:block;padding:9px 4px;font-size:var(--fs-body-sm);color:var(--fg-2)}
.maccord > button .plus{transition:transform var(--dur-base)}
.maccord.open > button .plus{transform:rotate(45deg)}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink-1000);color:rgba(255,255,255,.7)}
.site-footer a{color:rgba(255,255,255,.7);transition:color var(--dur-fast)}
.site-footer a:hover{color:#fff}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:var(--sp-12);padding:var(--sp-20) 0 var(--sp-16)}
.footer-brand img{height:40px;margin-bottom:var(--sp-5);filter:brightness(0) invert(1)}
.footer-brand p{color:rgba(255,255,255,.6);font-size:var(--fs-body-sm);max-width:32ch}
.footer-soc{display:flex;gap:var(--sp-3);margin-top:var(--sp-5)}
.footer-soc a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center}
.footer-soc a:hover{background:var(--brand-rose-500)}
.footer-soc svg{width:18px;height:18px}
.footer-col h5{color:#fff;font-size:var(--fs-body-sm);font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin:0 0 var(--sp-4)}
.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-3)}
.footer-col li{font-size:var(--fs-body-sm)}
.footer-contact li{display:flex;gap:10px;font-size:var(--fs-body-sm);margin-bottom:var(--sp-3);align-items:flex-start}
.footer-contact svg{width:18px;height:18px;flex:none;margin-top:2px;opacity:.7}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:var(--sp-6) 0;display:flex;justify-content:space-between;gap:var(--sp-4);font-size:var(--fs-caption);color:rgba(255,255,255,.5);flex-wrap:wrap}
@media(max-width:900px){.footer-top{grid-template-columns:1fr 1fr;gap:var(--sp-10)}}
@media(max-width:560px){.footer-top{grid-template-columns:1fr;gap:var(--sp-8)}}

/* ---------- Pills / chips / badges ---------- */
.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--radius-pill);font-size:var(--fs-body-sm);font-weight:600}
.pill-rose{background:var(--brand-rose-50);color:var(--brand-rose-500)}
.pill-glass{background:rgba(255,255,255,.16);color:#fff;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.25)}
.pill-soft{background:var(--ink-50);color:var(--fg-2);border:1px solid var(--border-subtle)}

/* ---------- Cards ---------- */
.card{background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:transform var(--dur-base) var(--ease-out-soft),box-shadow var(--dur-base)}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}

/* ---------- Trust / stat row ---------- */
.statline{display:flex;flex-wrap:wrap;gap:var(--sp-10) var(--sp-12)}
.stat .n{font-family:var(--font-display);font-size:var(--fs-display-md);font-weight:800;letter-spacing:-.03em;line-height:1}
.stat .l{font-size:var(--fs-body-sm);color:var(--fg-2);margin-top:6px}

/* ---------- Reveal animation ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease-out-soft),transform .7s var(--ease-out-soft)}
.reveal.in{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:.08s}
.reveal[data-d="2"]{transition-delay:.16s}
.reveal[data-d="3"]{transition-delay:.24s}
.reveal[data-d="4"]{transition-delay:.32s}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ---------- Forms ---------- */
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:var(--sp-4)}
.field label{font-size:var(--fs-body-sm);font-weight:600;color:var(--fg-1)}
.field input,.field select,.field textarea{font-family:inherit;font-size:var(--fs-body);color:var(--fg-1);background:#fff;border:1.5px solid var(--border);border-radius:var(--radius-md);padding:14px 16px;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brand-rose-400);box-shadow:0 0 0 4px var(--brand-rose-50)}
.field textarea{resize:vertical;min-height:110px}

/* ---------- Floating WhatsApp ---------- */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:90;display:flex;align-items:center;gap:10px;background:var(--wa);color:#fff;padding:14px 20px 14px 16px;border-radius:var(--radius-pill);box-shadow:0 14px 34px rgba(37,211,102,.4);font-weight:600;font-size:var(--fs-body-sm);transition:transform var(--dur-base);animation:wa-pop .5s var(--ease-spring) both}
.wa-float:hover{transform:scale(1.05)}
.wa-float svg{width:26px;height:26px}
.wa-float .lbl{white-space:nowrap}
@keyframes wa-pop{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}
@media(max-width:560px){.wa-float .lbl{display:none}.wa-float{padding:14px;right:16px;bottom:16px}}

/* ---------- Page hero (subpages) ---------- */
.page-hero{position:relative;padding:calc(var(--header-h) + var(--sp-20)) 0 var(--sp-16);min-height:460px;display:flex;align-items:center;color:#fff;overflow:hidden}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,26,.55),rgba(11,11,26,.82));z-index:1}
.page-hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.page-hero .inner{position:relative;z-index:2}
.page-hero h1{font-size:var(--fs-display-lg);letter-spacing:-.03em;margin:var(--sp-4) 0 var(--sp-4);color:#fff}
.page-hero p{max-width:60ch;color:rgba(255,255,255,.85);font-size:var(--fs-body-lg)}
.breadcrumb{display:flex;gap:8px;align-items:center;font-size:var(--fs-body-sm);color:rgba(255,255,255,.7)}
.breadcrumb a:hover{color:#fff}
@media(max-width:760px){.page-hero h1{font-size:var(--fs-h1)}}

/* ---------- Misc ---------- */
.divider{height:1px;background:var(--border-subtle)}
.icon-badge{width:56px;height:56px;border-radius:var(--radius-lg);display:grid;place-items:center;flex:none}
.icon-badge svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.icon-badge.grad{background:var(--brand-gradient-soft);color:var(--brand-rose-500)}
.icon-badge.dark{background:var(--ink-900);color:#fff}
.stroke-icon{stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* ============================================================
   Shared content components (subpages)
   ============================================================ */
/* two-column content */
.split2{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-16);align-items:center}
.split2.wide-media{grid-template-columns:.9fr 1.1fr}
.media-frame{border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);position:relative}
.media-frame img{width:100%;height:100%;object-fit:cover;display:block}
.media-frame.tall{aspect-ratio:4/5}
.media-frame.box{aspect-ratio:4/3}
@media(max-width:880px){.split2,.split2.wide-media{grid-template-columns:1fr;gap:var(--sp-10)}}

/* feature list (check rows) */
.feat-list{list-style:none;padding:0;margin:var(--sp-6) 0;display:grid;gap:var(--sp-4)}
.feat-list li{display:flex;gap:14px;align-items:flex-start}
.feat-list .fi{width:40px;height:40px;border-radius:var(--radius-md);background:var(--brand-gradient-soft);color:var(--brand-rose-500);display:grid;place-items:center;flex:none}
.feat-list .fi svg{width:20px;height:20px}
.feat-list b{display:block;font-size:var(--fs-body);color:var(--fg-1);margin-bottom:2px}
.feat-list p{margin:0;font-size:var(--fs-body-sm)}

/* method / option cards */
.opt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-6)}
.opt-grid.three{grid-template-columns:repeat(3,1fr)}
.opt-grid.four{grid-template-columns:repeat(4,1fr)}
.opt-card{background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform var(--dur-base) var(--ease-out-soft),box-shadow var(--dur-base);display:flex;flex-direction:column}
.opt-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.opt-card .oc-media{aspect-ratio:16/10;overflow:hidden}
.opt-card .oc-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out-soft)}
.opt-card:hover .oc-media img{transform:scale(1.05)}
.opt-card .oc-body{padding:var(--sp-6);flex:1;display:flex;flex-direction:column}
.opt-card .oc-icon{width:52px;height:52px;border-radius:var(--radius-lg);background:var(--brand-gradient-soft);color:var(--brand-rose-500);display:grid;place-items:center;margin-bottom:var(--sp-4)}
.opt-card .oc-icon svg{width:26px;height:26px}
.opt-card h3{font-size:var(--fs-h3);margin-bottom:var(--sp-2)}
.opt-card p{font-size:var(--fs-body-sm);margin:0 0 var(--sp-4)}
.opt-card .oc-meta{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:var(--sp-4);border-top:1px solid var(--border-subtle)}
.opt-card .oc-meta .price{font-weight:700;color:var(--fg-1)}
.opt-card .oc-meta .price small{font-weight:500;color:var(--fg-3);font-size:var(--fs-caption)}

/* video testimonial cards — branded gradient poster; the real <video> lazy-loads
   its src on first click (preload=metadata keeps the 122 MB off first paint) */
.vid-card{background:var(--brand-gradient-radial)}
.vid-card .vplay{opacity:1}

/* brand logo (real logo.webp). Header turns it white over the hero and full
   colour once scrolled, footer shows it white — those filters live on the
   .brand img / .footer-brand img rules above; here we only set per-context size. */
.brand{text-decoration:none}
.brand img{height:40px;width:auto}
.footer-brand img{height:38px;width:auto}
.mhead img{height:34px;width:auto}
