﻿/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   AD71 Tax Consultancy â€” static/css/styles.css
   Dark theme Â· Burgundy red Â· MacBook glass nav
â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */


/* â”€â”€ GOOGLE FONTS â€” locally hosted â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   Downloaded from fonts.googleapis.com, served from static/fonts/
   No external requests needed at page load.
â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@font-face { font-family: 'Cairo'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/Cairo-400-normal-0.woff2') format('woff2'); unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1; }
@font-face { font-family: 'Cairo'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/Cairo-400-normal-1.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: 'Cairo'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/Cairo-400-normal-2.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: 'Cairo'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/Cairo-600-normal-0.woff2') format('woff2'); unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1; }
@font-face { font-family: 'Cairo'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/Cairo-600-normal-1.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: 'Cairo'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/Cairo-600-normal-2.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: 'Cairo'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/Cairo-700-normal-0.woff2') format('woff2'); unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1; }
@font-face { font-family: 'Cairo'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/Cairo-700-normal-1.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: 'Cairo'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/Cairo-700-normal-2.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: 'Cormorant Garamond'; font-style: italic; font-weight: 400; font-display: swap; src: url('../fonts/CormorantGaramond-400-italic-0.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: 'Cormorant Garamond'; font-style: italic; font-weight: 400; font-display: swap; src: url('../fonts/CormorantGaramond-400-italic-1.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 400; font-display: swap; src: url('../fonts/CormorantGaramond-400-italic-2.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: 'Cormorant Garamond'; font-style: italic; font-weight: 400; font-display: swap; src: url('../fonts/CormorantGaramond-400-italic-3.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: 'Cormorant Garamond'; font-style: italic; font-weight: 400; font-display: swap; src: url('../fonts/CormorantGaramond-400-italic-4.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: 'Cormorant Garamond'; font-style: italic; font-weight: 600; font-display: swap; src: url('../fonts/CormorantGaramond-600-italic-0.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: 'Cormorant Garamond'; font-style: italic; font-weight: 600; font-display: swap; src: url('../fonts/CormorantGaramond-600-italic-1.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 600; font-display: swap; src: url('../fonts/CormorantGaramond-600-italic-2.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: 'Cormorant Garamond'; font-style: italic; font-weight: 600; font-display: swap; src: url('../fonts/CormorantGaramond-600-italic-3.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: 'Cormorant Garamond'; font-style: italic; font-weight: 600; font-display: swap; src: url('../fonts/CormorantGaramond-600-italic-4.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: 'Cormorant Garamond'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/CormorantGaramond-400-normal-0.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: 'Cormorant Garamond'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/CormorantGaramond-400-normal-1.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/CormorantGaramond-400-normal-2.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: 'Cormorant Garamond'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/CormorantGaramond-400-normal-3.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: 'Cormorant Garamond'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/CormorantGaramond-400-normal-4.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: 'Cormorant Garamond'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/CormorantGaramond-500-normal-0.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: 'Cormorant Garamond'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/CormorantGaramond-500-normal-1.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/CormorantGaramond-500-normal-2.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: 'Cormorant Garamond'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/CormorantGaramond-500-normal-3.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: 'Cormorant Garamond'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/CormorantGaramond-500-normal-4.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: 'Cormorant Garamond'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/CormorantGaramond-600-normal-0.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: 'Cormorant Garamond'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/CormorantGaramond-600-normal-1.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/CormorantGaramond-600-normal-2.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: 'Cormorant Garamond'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/CormorantGaramond-600-normal-3.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: 'Cormorant Garamond'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/CormorantGaramond-600-normal-4.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: 'Cormorant Garamond'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/CormorantGaramond-700-normal-0.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: 'Cormorant Garamond'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/CormorantGaramond-700-normal-1.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/CormorantGaramond-700-normal-2.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: 'Cormorant Garamond'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/CormorantGaramond-700-normal-3.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: 'Cormorant Garamond'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/CormorantGaramond-700-normal-4.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: 'Plus Jakarta Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/PlusJakartaSans-400-normal-0.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: 'Plus Jakarta Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/PlusJakartaSans-400-normal-1.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: 'Plus Jakarta Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/PlusJakartaSans-400-normal-2.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: 'Plus Jakarta Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/PlusJakartaSans-400-normal-3.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: 'Plus Jakarta Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/PlusJakartaSans-500-normal-0.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: 'Plus Jakarta Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/PlusJakartaSans-500-normal-1.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: 'Plus Jakarta Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/PlusJakartaSans-500-normal-2.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: 'Plus Jakarta Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/PlusJakartaSans-500-normal-3.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: 'Plus Jakarta Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/PlusJakartaSans-600-normal-0.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: 'Plus Jakarta Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/PlusJakartaSans-600-normal-1.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: 'Plus Jakarta Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/PlusJakartaSans-600-normal-2.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: 'Plus Jakarta Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/PlusJakartaSans-600-normal-3.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: 'Plus Jakarta Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/PlusJakartaSans-700-normal-0.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: 'Plus Jakarta Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/PlusJakartaSans-700-normal-1.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: 'Plus Jakarta Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/PlusJakartaSans-700-normal-2.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: 'Plus Jakarta Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/PlusJakartaSans-700-normal-3.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: 'Tajawal'; font-style: normal; font-weight: 300; font-display: swap; src: url('../fonts/Tajawal-300-normal-0.woff2') format('woff2'); unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1; }
@font-face { font-family: 'Tajawal'; font-style: normal; font-weight: 300; font-display: swap; src: url('../fonts/Tajawal-300-normal-1.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: 'Tajawal'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/Tajawal-400-normal-0.woff2') format('woff2'); unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1; }
@font-face { font-family: 'Tajawal'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/Tajawal-400-normal-1.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: 'Tajawal'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/Tajawal-500-normal-0.woff2') format('woff2'); unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1; }
@font-face { font-family: 'Tajawal'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/Tajawal-500-normal-1.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: 'Tajawal'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/Tajawal-700-normal-0.woff2') format('woff2'); unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1; }
@font-face { font-family: 'Tajawal'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/Tajawal-700-normal-1.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 {
  --bg:          #0C0A08;
  --bg-mid:      #161210;
  --bg-card:     rgba(255,255,255,0.04);
  --bg-card-hov: rgba(255,255,255,0.07);
  --text:        #F0EBE5;
  --muted:       rgba(240,235,229,0.52);
  --line:        rgba(255,255,255,0.08);

  --red:         #96101F;
  --red-dark:    #730D18;
  --red-light:   #B8162A;
  --red-glow:    rgba(150,16,31,0.32);
  --red-soft:    rgba(150,16,31,0.12);

  --glass-bg:    rgba(12,10,8,0.65);
  --glass-bdr:   rgba(255,255,255,0.09);

  --shadow:      0 8px 40px rgba(0,0,0,0.32);
  --shadow-lg:   0 24px 80px rgba(0,0,0,0.44);

  --radius-xl:   28px;
  --radius-lg:   20px;
  --radius-md:   14px;
  --radius-sm:   8px;

  --container:   1200px;
}

/* â”€â”€ RESET â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

*,*::before,*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  margin: 0; min-width: 320px;
  font-family: "Plus Jakarta Sans", "Tajawal", sans-serif;
  color: var(--text); background: var(--bg);
  overflow-x: hidden;
}

/* Arabic: Tajawal provides the glyphs Rossanova doesn't cover */
:lang(ar), [dir="rtl"] {
  font-family: "Tajawal", "Cairo", sans-serif;
  letter-spacing: 0;
}

img  { display: block; max-width: 100%; }
a    { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }

#particles {
  position: fixed; inset: 0;
  pointer-events: none; z-index: 0;
  width: 100%; height: 100%;
}

.container {
  width: min(calc(100% - 40px), var(--container));
  margin: 0 auto; position: relative; z-index: 1;
}

/* â”€â”€ TOPBAR â€” MacBook glass â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.topbar {
  position: sticky; top: 0; z-index: 200;
  padding: 16px 0;
  transition: background 280ms ease, border-color 280ms ease,
              backdrop-filter 280ms ease, padding 280ms ease;
}

.topbar.is-scrolled {
  background: var(--glass-bg);
  backdrop-filter: blur(28px) saturate(160%);
  -webkit-backdrop-filter: blur(28px) saturate(160%);
  border-bottom: 1px solid var(--glass-bdr);
  padding: 12px 0;
}

.topbar.menu-open {
  background: var(--glass-bg);
  border-bottom: 1px solid var(--line);
}

.nav-row {
  display: flex; align-items: center;
  justify-content: space-between; gap: 16px;
}

/* â”€â”€ BRAND â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.brand {
  display: inline-flex; align-items: center;
  gap: 11px; flex-shrink: 0;
}

.brand-mark {
  width: 56px; height: 56px; flex-shrink: 0;
  display: grid; place-items: center;
  border-radius: var(--radius-sm);
  background: linear-gradient(145deg, var(--red-light), var(--red-dark));
  border: 1px solid var(--red-glow);
  box-shadow: 0 4px 18px var(--red-glow);
  transition: box-shadow 200ms ease;
  padding: 8px;
}

.brand:hover .brand-mark { box-shadow: 0 6px 26px var(--red-glow); }

.brand-mark img { width: 100%; height: 100%; object-fit: contain; }

.brand-copy { display: flex; flex-direction: column; gap: 1px; }

.brand-copy strong {
  font-size: 1.06rem; font-weight: 700;
  letter-spacing: 0.1em; line-height: 1; color: var(--text);
}

.brand-copy span { font-size: 0.76rem; color: var(--muted); letter-spacing: 0.04em; }

/* â”€â”€ DESKTOP NAV â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.nav-links {
  display: flex; align-items: center;
  gap: 2px; flex: 1; justify-content: center;
}

.nav-links a {
  display: inline-flex; align-items: center;
  height: 36px; padding: 0 14px; border-radius: 999px;
  font-size: 0.88rem; font-weight: 500; color: var(--muted);
  white-space: nowrap;
  transition: color 160ms ease, background 160ms ease;
}

.nav-links a:hover,
.nav-links a:focus-visible { color: var(--text); background: var(--bg-card-hov); }

.nav-links a.is-active {
  color: var(--text); background: var(--bg-card-hov); font-weight: 600;
}

.nav-actions { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }

.lang-switch {
  display: flex; align-items: center; gap: 2px;
  padding: 4px; border-radius: 999px;
  background: var(--bg-card); border: 1px solid var(--line);
}

.lang-pill {
  border: 0; border-radius: 999px; cursor: pointer;
  background: transparent; color: var(--muted);
  padding: 5px 11px; font-size: 0.78rem; font-weight: 500;
  transition: background 160ms ease, color 160ms ease;
}

.lang-pill.active { background: var(--bg-card-hov); color: var(--text); }

/* â”€â”€ PORTAL DROPDOWN â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.portal-wrap { position: relative; }

.portal-btn {
  width: 40px; height: 40px; border-radius: 50%;
  border: 1px solid var(--line);
  background: var(--bg-card);
  color: var(--muted); cursor: pointer;
  display: grid; place-items: center;
  transition: background 160ms ease, color 160ms ease, border-color 160ms ease;
  flex-shrink: 0;
}

.portal-btn:hover,
.portal-btn[aria-expanded="true"] {
  background: var(--bg-card-hov);
  color: var(--text);
  border-color: var(--glass-bdr);
}

.portal-menu {
  position: absolute; top: calc(100% + 12px); right: 0;
  min-width: 192px;
  background: var(--bg-mid);
  backdrop-filter: blur(24px) saturate(160%);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
  border: 1px solid var(--glass-bdr);
  border-radius: var(--radius-md);
  padding: 8px;
  box-shadow: var(--shadow-lg);
  z-index: 300;
  animation: dropIn 220ms cubic-bezier(0.22,1,0.36,1);
}

@keyframes dropIn {
  from { opacity: 0; transform: translateY(-8px) scale(0.97); }
  to   { opacity: 1; transform: translateY(0)    scale(1); }
}

.portal-divider {
  height: 1px; background: var(--line);
  margin: 6px 0;
}

.portal-item {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px; border-radius: var(--radius-sm);
  font-size: 0.88rem; font-weight: 500; color: var(--muted);
  transition: background 140ms ease, color 140ms ease;
  white-space: nowrap;
  /* support <button> elements */
  width: 100%; text-align: left; font-family: inherit;
  background: none; border: none; cursor: pointer;
}

.portal-item:hover { background: var(--bg-card-hov); color: var(--text); }

.portal-item svg { flex-shrink: 0; }

.portal-item.portal-register {
  color: var(--red);
}

.portal-item.portal-register:hover {
  background: var(--red-soft);
  color: var(--btn-text, #fff);
}

/* â”€â”€ HAMBURGER â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.nav-toggle {
  display: none;
  flex-direction: column; justify-content: center;
  align-items: center; gap: 5px;
  width: 42px; height: 42px; padding: 0;
  border: 1px solid var(--line); border-radius: var(--radius-sm);
  background: var(--bg-card); cursor: pointer; flex-shrink: 0;
  transition: background 180ms ease;
}

.nav-toggle:hover { background: var(--bg-card-hov); }

.nav-toggle span {
  display: block; width: 20px; height: 1.5px;
  background: var(--text); border-radius: 2px;
  transition: transform 260ms cubic-bezier(0.22,1,0.36,1),
              opacity 200ms ease, width 260ms ease;
  transform-origin: center;
}

.nav-toggle.is-open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.nav-toggle.is-open span:nth-child(2) { opacity: 0; width: 0; }
.nav-toggle.is-open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* â”€â”€ MOBILE NAV â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.mobile-nav {
  position: fixed; inset: 0; z-index: 199;
  background: var(--bg-mid);
  backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
  opacity: 0; visibility: hidden;
  transition: opacity 300ms ease, visibility 300ms ease;
}

.mobile-nav.is-open { opacity: 1; visibility: visible; }

.mobile-nav-inner {
  width: 100%; height: 100%;
  display: flex; flex-direction: column;
  justify-content: center; align-items: center;
  gap: 40px; padding: 100px 40px 60px;
}

.mobile-links { display: flex; flex-direction: column; align-items: center; gap: 4px; }

.mobile-link {
  display: block;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2.4rem, 7vw, 3.6rem);
  font-weight: 600; color: var(--text);
  letter-spacing: -0.01em; line-height: 1.2;
  padding: 6px 0; opacity: 0;
  transition: color 160ms ease, transform 160ms ease;
}

.mobile-link:hover { color: var(--red); transform: translateX(6px); }

.mobile-nav.is-open .mobile-link { opacity: 1; }
.mobile-nav.is-open .mobile-link:nth-child(1) { animation: mobileIn 380ms 60ms  cubic-bezier(0.22,1,0.36,1) both; }
.mobile-nav.is-open .mobile-link:nth-child(2) { animation: mobileIn 380ms 100ms cubic-bezier(0.22,1,0.36,1) both; }
.mobile-nav.is-open .mobile-link:nth-child(3) { animation: mobileIn 380ms 140ms cubic-bezier(0.22,1,0.36,1) both; }
.mobile-nav.is-open .mobile-link:nth-child(4) { animation: mobileIn 380ms 180ms cubic-bezier(0.22,1,0.36,1) both; }
.mobile-nav.is-open .mobile-link:nth-child(5) { animation: mobileIn 380ms 220ms cubic-bezier(0.22,1,0.36,1) both; }

@keyframes mobileIn {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

.mobile-footer {
  display: flex; flex-direction: column; align-items: center; gap: 12px;
  animation: mobileIn 380ms 260ms cubic-bezier(0.22,1,0.36,1) both;
}

.mobile-portal-links {
  display: flex; gap: 12px;
}

.mobile-portal-links a,
.mobile-portal-links button {
  font-size: 0.88rem; font-weight: 600; color: var(--muted);
  padding: 8px 16px; border-radius: 999px;
  border: 1px solid var(--line); background: none;
  font-family: inherit; cursor: pointer;
  transition: color 160ms ease, background 160ms ease;
}

.mobile-portal-links a:hover,
.mobile-portal-links button:hover { color: var(--text); background: var(--bg-card-hov); }
.mobile-portal-links .mobile-portal-register { color: var(--red); border-color: var(--red-soft); }
.mobile-portal-links .mobile-portal-register:hover { background: var(--red-soft); }

.mobile-cta { min-width: 220px; justify-content: center; }

/* â”€â”€ BUTTONS â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.btn {
  display: inline-flex; align-items: center;
  justify-content: center; gap: 8px;
  min-height: 46px; padding: 0 22px;
  border-radius: 999px; border: 1px solid transparent;
  font-size: 0.9rem; font-weight: 600; cursor: pointer;
  transition: transform 180ms ease, box-shadow 180ms ease,
              background 180ms ease, border-color 180ms ease, opacity 180ms ease;
  flex-shrink: 0;
}

.btn-lg { min-height: 52px; padding: 0 28px; font-size: 0.96rem; }
.btn-full { width: 100%; }

.btn:hover,.btn:focus-visible { transform: translateY(-1px); }
.btn:active { transform: translateY(0); opacity: 0.88; }

.btn-primary {
  background: linear-gradient(135deg, var(--red-light, #a61122) 0%, var(--red-dark, #6f0c18) 100%);
  color: var(--btn-text, #fff); box-shadow: 0 4px 20px var(--red-glow);
}
.btn-primary:hover { box-shadow: 0 8px 30px var(--red-glow); }

.btn-whatsapp {
  background: #25D366; color: #fff;
  box-shadow: 0 4px 16px rgba(37,211,102,0.30);
}
.btn-whatsapp:hover { background: #1ebe5c; box-shadow: 0 8px 24px rgba(37,211,102,0.45); color: #fff; }

.btn-glass {
  background: rgba(255,255,255,0.10);
  border-color: rgba(255,255,255,0.20);
  color: rgba(255,255,255,0.90);
  backdrop-filter: blur(8px);
}
.btn-glass:hover { background: rgba(255,255,255,0.18); border-color: rgba(255,255,255,0.36); }

.btn-outline-light {
  background: transparent;
  border-color: rgba(255,255,255,0.22);
  color: rgba(255,255,255,0.78);
}
.btn-outline-light:hover { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.40); color: #fff; }

.btn-outline {
  background: transparent; border-color: var(--line); color: var(--text);
}
.btn-outline:hover { border-color: var(--red); color: var(--red); }

.btn-ghost-red {
  background: var(--red-soft);
  border-color: rgba(150,16,31,0.28);
  color: var(--red);
}
.btn-ghost-red:hover { background: rgba(150,16,31,0.18); }

/* â”€â”€ SHARED SECTION â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.section { padding: 96px 0; position: relative; z-index: 1; }

.kicker {
  display: inline-block; margin-bottom: 12px;
  font-size: 0.7rem; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--red);
}

.section-head { max-width: 700px; margin-bottom: 48px; }
.section-head.centered { text-align: center; margin-left: auto; margin-right: auto; }

.section-head h2 {
  margin: 0 0 14px;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2.4rem, 4vw, 3.6rem);
  font-weight: 600; line-height: 1.1; letter-spacing: -0.01em;
}

.section-head p { color: var(--muted); line-height: 1.76; font-size: 0.96rem; margin: 0; }

/* â”€â”€ HERO â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.hero {
  position: relative;
  min-height: 100vh;          /* fallback */
  min-height: 100svh;         /* iOS Safari: excludes browser chrome */
  display: flex; flex-direction: column; overflow: hidden;
}

.hero-bg, .hero-overlay { position: absolute; inset: 0; }

/* both img and video must be stacked via absolute so they overlap */
.hero-bg img,
.hero-bg video {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 40%;   /* desktop / landscape */
}

/* portrait mobile: re-centre so skyline stays in frame */
@media (max-width: 600px) and (orientation: portrait) {
  .hero-bg img,
  .hero-bg video { object-position: center center; }
}

/* video starts invisible â€” poster image shows underneath until ready */
.hero-bg video {
  opacity: 0;
  transition: opacity 1.2s ease;
}
.hero-bg video.is-loaded { opacity: 1; }

/* honour reduced-motion: never show video, keep static image */
@media (prefers-reduced-motion: reduce) {
  .hero-bg video { display: none; }
}

.hero-overlay {
  background:
    linear-gradient(160deg, rgba(8,4,2,0.88) 0%, rgba(8,4,2,0.55) 44%, rgba(8,4,2,0.20) 72%, transparent 100%),
    linear-gradient(0deg, rgba(8,4,2,0.80) 0%, transparent 40%);
}

.hero-content {
  flex: 1; display: flex; flex-direction: column; justify-content: flex-end;
  padding-bottom: 80px; padding-top: 100px; position: relative; z-index: 2;
}

.hero-logo-wrap { margin-bottom: 32px; animation: heroUp 900ms cubic-bezier(0.22,1,0.36,1) both; }

.hero-logo-img { width: 100px; height: 100px; object-fit: contain; }

.eyebrow {
  display: inline-flex; align-items: center; gap: 10px; margin-bottom: 20px;
  font-size: 0.72rem; font-weight: 600; letter-spacing: 0.13em; text-transform: uppercase;
  color: rgba(255,255,255,0.52);
  animation: heroUp 900ms 80ms cubic-bezier(0.22,1,0.36,1) both;
}

.eyebrow-dot {
  width: 6px; height: 6px; border-radius: 50%; background: var(--red);
  box-shadow: 0 0 0 5px var(--red-soft); flex-shrink: 0;
}

.hero-content h1 {
  margin: 0;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(3.8rem, 8vw, 7rem);
  font-weight: 600; line-height: 1.02; color: #fff; letter-spacing: -0.02em;
  animation: heroUp 900ms 120ms cubic-bezier(0.22,1,0.36,1) both;
}

.hero-content h1 em { font-style: italic; color: rgba(255,255,255,0.52); }

.hero-sub {
  max-width: 48ch; margin: 20px 0 0;
  font-size: 1.02rem; line-height: 1.74; color: rgba(255,255,255,0.62);
  animation: heroUp 900ms 160ms cubic-bezier(0.22,1,0.36,1) both;
}

.hero-ctas {
  display: flex; gap: 12px; flex-wrap: wrap; margin-top: 32px;
  animation: heroUp 900ms 200ms cubic-bezier(0.22,1,0.36,1) both;
}

.hero-stats-bar {
  position: relative; z-index: 2;
  background: rgba(255,255,255,0.04);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid rgba(255,255,255,0.08); padding: 20px 0;
  animation: heroUp 900ms 280ms cubic-bezier(0.22,1,0.36,1) both;
}

.hero-stats-row { display: flex; align-items: center; gap: 0; flex-wrap: wrap; }

.hstat { flex: 1; text-align: center; padding: 8px 20px; }

.hstat strong {
  display: block;
  font-family: "Cormorant Garamond", serif;
  font-size: 2rem; font-weight: 600; color: #fff; line-height: 1;
}

.hstat span {
  display: block; margin-top: 4px;
  font-size: 0.68rem; font-weight: 500;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: rgba(255,255,255,0.42);
}

.hstat-sep { width: 1px; height: 36px; background: rgba(255,255,255,0.10); flex-shrink: 0; }

@keyframes heroUp {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* â”€â”€ UPDATES / CAROUSEL â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.updates-section { padding-top: 72px; padding-bottom: 72px; }

.updates-head {
  display: flex; align-items: flex-end;
  justify-content: space-between; gap: 24px;
  margin-bottom: 36px; flex-wrap: wrap;
}

.updates-head-left h2 {
  margin: 4px 0 8px;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2rem,3.5vw,3rem);
  font-weight: 600; line-height: 1.1;
}

.updates-head-left p { color: var(--muted); font-size: 0.93rem; margin: 0; }

.carousel-arrows {
  display: flex; gap: 8px; align-items: center; flex-shrink: 0;
}

.carousel-arrow {
  width: 40px; height: 40px; border-radius: 50%;
  border: 1px solid var(--line);
  background: var(--bg-card);
  color: var(--text); cursor: pointer;
  display: grid; place-items: center;
  transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
  flex-shrink: 0;
}

.carousel-arrow:hover { background: var(--bg-card-hov); border-color: var(--glass-bdr); }
.carousel-arrow:active { transform: scale(0.93); }
.carousel-arrow:disabled { opacity: 0.28; cursor: default; pointer-events: none; }

/* Carousel viewport clips overflow */
.carousel-viewport {
  overflow: hidden;
  position: relative;
}

.carousel-track {
  display: flex; gap: 20px;
  transition: transform 520ms cubic-bezier(0.22,1,0.36,1);
  will-change: transform;
}

/* Responsive card widths */
.update-card {
  flex: 0 0 calc(33.333% - 14px);
  border-radius: var(--radius-lg);
  background: var(--bg-card); border: 1px solid var(--line);
  overflow: hidden;
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.update-card:hover {
  transform: translateY(-4px); box-shadow: var(--shadow);
  border-color: var(--glass-bdr);
}

.update-icon-wrap {
  height: 120px; display: grid; place-items: center;
  color: var(--muted);
}

.update-icon-wrap[data-color="amber"] { background: rgba(245,158,11,0.10);  color: #d97706; }
.update-icon-wrap[data-color="green"]  { background: rgba(34,197,94,0.10);   color: #16a34a; }
.update-icon-wrap[data-color="blue"]   { background: rgba(59,130,246,0.10);  color: #2563eb; }
.update-icon-wrap[data-color="red"]    { background: var(--red-soft);        color: var(--red); }

.update-body { padding: 20px; }

.update-tag {
  display: inline-block; margin-bottom: 10px;
  font-size: 0.68rem; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--red); border: 1px solid var(--red-soft);
  padding: 3px 10px; border-radius: 999px;
}

.update-body h3 {
  margin: 0 0 10px;
  font-size: 1.0rem; font-weight: 600; line-height: 1.42; color: var(--text);
}

.update-body p { margin: 0; font-size: 0.88rem; color: var(--muted); line-height: 1.68; }

.update-link {
  display: inline-flex; align-items: center; gap: 4px;
  margin-top: 14px; font-size: 0.84rem; font-weight: 600; color: var(--red);
  transition: gap 180ms ease;
}
.update-link:hover { gap: 8px; }

/* Carousel dots */
.carousel-dots {
  display: flex; justify-content: center; align-items: center;
  gap: 8px; margin-top: 28px;
}

.carousel-dot {
  width: 8px; height: 8px; border-radius: 50%; padding: 0; border: none;
  background: var(--line); cursor: pointer;
  transition: background 220ms ease, transform 220ms ease, width 220ms ease;
  flex-shrink: 0;
}

.carousel-dot.is-active {
  background: var(--red); width: 24px; border-radius: 4px;
}

/* Carousel prev/next controls */
.carousel-controls {
  display: flex; align-items: center; justify-content: center;
  gap: 16px; margin-top: 32px;
}

.carousel-prev, .carousel-next {
  width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line);
  background: var(--bg-card); color: var(--muted); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: border-color 200ms ease, color 200ms ease, background 200ms ease;
  flex-shrink: 0;
}
.carousel-prev:hover, .carousel-next:hover {
  border-color: var(--red); color: var(--red); background: var(--red-soft);
}

@media (max-width: 1024px) {
  .update-card { flex: 0 0 calc(50% - 10px); }
}

@media (max-width: 640px) {
  .update-card { flex: 0 0 calc(100%); }
  .updates-head { flex-direction: column; align-items: flex-start; }
}

/* â”€â”€ CTA BANNER â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.cta-banner {
  background: linear-gradient(135deg, var(--red-dark) 0%, #0a0205 100%);
  border-top: 1px solid rgba(150,16,31,0.20);
  border-bottom: 1px solid rgba(150,16,31,0.20);
  padding: 56px 0; position: relative; z-index: 1;
}

.cta-banner-inner {
  display: flex; align-items: center;
  justify-content: space-between; gap: 32px; flex-wrap: wrap;
}

/* Force light text â€” this banner keeps a dark bg in both modes */
.cta-banner-text, .cta-banner-text h2, .cta-banner-text p { color: #F0EBE5; }
.cta-banner-text h2 {
  margin: 4px 0 0;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2rem,3.5vw,3rem);
  font-weight: 600; line-height: 1.1;
}

/* â”€â”€ ABOUT â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.about-section { background: linear-gradient(180deg, var(--bg) 0%, var(--bg-mid) 100%); }

.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }

.about-statement {
  margin: 0 0 24px;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 600; line-height: 1.26; letter-spacing: -0.01em; color: var(--text);
}

.about-statement em { font-style: italic; color: var(--muted); }
.about-left p { color: var(--muted); line-height: 1.78; font-size: 0.96rem; margin: 0 0 14px; }

.about-badges { display: flex; flex-direction: column; gap: 10px; margin-top: 28px; }

.about-badge {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 0.88rem; font-weight: 500; color: var(--muted);
}
.about-badge svg { color: var(--red); flex-shrink: 0; }

.about-right { display: flex; flex-direction: column; gap: 16px; }

.about-img-wrap {
  border-radius: var(--radius-lg); overflow: hidden;
  border: 1px solid var(--line); box-shadow: var(--shadow);
}
.about-img-wrap img { width: 100%; height: 260px; object-fit: cover; }

.about-cards { display: flex; flex-direction: column; gap: 12px; }

.about-mini-card {
  padding: 22px; border-radius: var(--radius-md);
  background: var(--bg-card); border: 1px solid var(--line);
  transition: background 200ms ease, border-color 200ms ease;
}
.about-mini-card:hover { background: var(--bg-card-hov); border-color: var(--glass-bdr); }

.mini-num {
  display: inline-block; margin-bottom: 10px;
  font-size: 0.68rem; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--red);
}
.about-mini-card h4 { margin: 0 0 8px; font-size: 1rem; font-weight: 600; color: var(--text); }
.about-mini-card p  { margin: 0; font-size: 0.88rem; color: var(--muted); line-height: 1.68; }

/* â”€â”€ SERVICES â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.services-section { background: var(--bg-mid); }

.services-section h2 {
  margin: 0 0 14px;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2.4rem, 4vw, 3.4rem);
  font-weight: 600; line-height: 1.1;
}

.service-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; }

.service-card {
  padding: 32px; border-radius: var(--radius-lg);
  background: var(--bg-card); border: 1px solid var(--line);
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease, background 220ms ease;
}

.service-card:hover {
  transform: translateY(-4px); box-shadow: var(--shadow);
  border-color: var(--glass-bdr); background: var(--bg-card-hov);
}

.service-top {
  display: flex; align-items: center;
  justify-content: space-between; gap: 8px; margin-bottom: 20px;
}

.service-num, .service-tag {
  display: inline-flex; align-items: center;
  min-height: 28px; padding: 0 12px; border-radius: 999px;
  font-size: 0.68rem; font-weight: 700;
  letter-spacing: 0.08em; text-transform: uppercase;
  border: 1px solid var(--line); color: var(--muted);
}

.service-icon { margin-bottom: 16px; color: var(--red); }

.service-card h3 { margin: 0 0 12px; font-size: 1.16rem; font-weight: 600; line-height: 1.36; color: var(--text); }
.service-card p  { margin: 0; color: var(--muted); line-height: 1.72; font-size: 0.92rem; }

.service-link {
  display: inline-flex; align-items: center; gap: 6px;
  margin-top: 20px; font-size: 0.88rem; font-weight: 600; color: var(--red);
  transition: gap 180ms ease, opacity 180ms ease;
}
.service-link:hover { gap: 10px; opacity: 0.80; }

/* â”€â”€ NUMBERS â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.numbers-section {
  background: linear-gradient(135deg, var(--bg) 0%, var(--bg-mid) 100%);
  border-top: 1px solid var(--red-soft);
  border-bottom: 1px solid var(--red-soft);
  padding: 64px 0; position: relative; z-index: 1;
}

.numbers-grid {
  display: flex; align-items: center;
  justify-content: center; gap: 0; flex-wrap: wrap;
}

.number-item { flex: 1; min-width: 160px; text-align: center; padding: 16px 24px; }

.number-item strong {
  display: block;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(3rem,5vw,5rem);
  font-weight: 600; color: var(--text); line-height: 1;
}

.number-item span {
  display: block; margin-top: 6px;
  font-size: 0.72rem; font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--muted);
}

.number-sep { width: 1px; height: 56px; background: var(--line); flex-shrink: 0; align-self: center; }

/* â”€â”€ MARQUEE â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.clients-section { overflow: hidden; }

.clients-head { margin-bottom: 48px; }

.clients-head h2 {
  margin: 4px 0 10px;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2rem, 3.5vw, 3rem);
  font-weight: 600; line-height: 1.1;
}

.clients-head p { color: var(--muted); font-size: 0.93rem; margin: 0; }

.marquee { overflow: hidden; position: relative; }

.marquee::before, .marquee::after {
  content: ''; position: absolute; top: 0; bottom: 0; width: 120px;
  z-index: 2; pointer-events: none;
}

.marquee::before { left:  0; background: linear-gradient(to right, var(--bg), transparent); }
.marquee::after  { right: 0; background: linear-gradient(to left,  var(--bg), transparent); }

.marquee-inner {
  display: flex; gap: 16px; width: max-content;
  animation: marqueeScroll 36s linear infinite;
}

.marquee:hover .marquee-inner { animation-play-state: paused; }

@keyframes marqueeScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

.logo-chip {
  min-width: 160px; height: 80px; flex-shrink: 0;
  display: grid; place-items: center; padding: 16px 24px;
  border-radius: var(--radius-md);
  background: var(--bg-card); border: 1px solid var(--line);
  transition: background 200ms ease;
}

.logo-chip:hover { background: var(--bg-card-hov); }

.logo-chip img {
  max-width: 110px; max-height: 36px; width: 100%;
  object-fit: contain;
  filter: var(--logo-filter, brightness(0) invert(1));
  opacity: var(--logo-opacity, 0.55);
  transition: opacity 200ms ease;
}

.logo-chip:hover img { opacity: 1; }

/* â”€â”€ TESTIMONIALS â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.testimonials-section { background: var(--bg-mid); }

.testimonials-section h2 {
  margin: 4px 0 0;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2rem, 3.5vw, 3rem);
  font-weight: 600; line-height: 1.1;
}

.testimonial-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 48px; }

.testimonial-card {
  padding: 32px; border-radius: var(--radius-lg);
  background: var(--bg-card); border: 1px solid var(--line);
  display: flex; flex-direction: column;
  transition: transform 220ms ease, box-shadow 220ms ease;
}
.testimonial-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }

.t-quote-mark {
  font-family: "Cormorant Garamond", serif;
  font-size: 5rem; line-height: 0.6; color: var(--red-soft);
  margin-bottom: 20px; font-style: normal;
}

.testimonial-card p { margin: 0; flex: 1; font-size: 0.94rem; line-height: 1.76; color: var(--muted); }

.t-author { display: flex; align-items: center; gap: 12px; margin-top: 24px; }

.t-avatar {
  width: 42px; height: 42px; border-radius: 50%; flex-shrink: 0;
  background: var(--red-soft); border: 1px solid var(--red-soft);
  display: grid; place-items: center;
  font-size: 0.8rem; font-weight: 700; color: var(--red);
}

.t-info strong { display: block; font-size: 0.9rem; font-weight: 600; color: var(--text); }
.t-info span   { display: block; font-size: 0.78rem; color: var(--muted); margin-top: 2px; }

/* â”€â”€ SHEIKH ZAYED â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.zayed-section {
  background: linear-gradient(135deg, var(--bg) 0%, var(--bg-mid) 100%);
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
  padding: 88px 0; position: relative; z-index: 1; overflow: hidden;
}

.zayed-section::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse at 60% 50%, rgba(150,16,31,0.08) 0%, transparent 60%);
  pointer-events: none;
}

.zayed-grid { display: grid; grid-template-columns: auto 1fr; gap: 72px; align-items: center; }

.zayed-portrait-frame {
  width: 240px; height: 320px; flex-shrink: 0;
  border-radius: var(--radius-xl) var(--radius-xl) var(--radius-xl) 0;
  overflow: hidden; border: 1px solid var(--line); box-shadow: var(--shadow-lg);
}

.zayed-portrait-frame img {
  width: 100%; height: 100%; object-fit: cover;
  filter: grayscale(1) contrast(1.1);
}

.zayed-arabic {
  margin: 0 0 16px;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.8rem,3vw,2.6rem);
  font-weight: 600; color: var(--muted);
  direction: rtl; text-align: right; letter-spacing: 0.02em;
}

.zayed-content blockquote {
  margin: 0 0 16px;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2.2rem,4vw,3.4rem);
  font-weight: 500; line-height: 1.2; letter-spacing: -0.01em;
  color: var(--text); font-style: italic; border: none; padding: 0;
}

.zayed-content cite {
  font-style: normal; font-size: 0.82rem; font-weight: 600;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--muted);
}

/* â”€â”€ PARTNERS â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.partners-section h2 {
  margin: 4px 0 10px;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2rem,3.5vw,3rem);
  font-weight: 600; line-height: 1.1;
}

.partners-grid { display: flex; flex-wrap: wrap; gap: 16px; }

.partner-tile {
  flex: 1 1 180px; padding: 24px; border-radius: var(--radius-md);
  background: var(--bg-card); border: 1px solid var(--line); text-align: center;
  transition: background 200ms ease, border-color 200ms ease;
}
.partner-tile:hover { background: var(--bg-card-hov); border-color: var(--glass-bdr); }
.partner-tile span  { display: block; font-size: 0.88rem; font-weight: 600; color: var(--text); margin-bottom: 4px; }
.partner-tile small { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--red); }

/* â”€â”€ WHY UAE â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.why-section {
  position: relative; overflow: hidden; padding: 100px 0; z-index: 1;
  background: #0e0b09; /* fallback when image is absent */
}

.why-bg { position: absolute; inset: 0; }
.why-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }

.why-overlay {
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgba(8,4,2,0.82) 0%, rgba(8,4,2,0.60) 55%, rgba(8,4,2,0.30) 100%),
    linear-gradient(180deg, rgba(8,4,2,0.35) 0%, rgba(8,4,2,0.55) 100%);
}

.why-content { position: relative; z-index: 2; }

.why-header { max-width: 600px; margin-bottom: 52px; }

.why-header h2 {
  margin: 4px 0 12px;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2.4rem,4vw,3.6rem);
  font-weight: 600; line-height: 1.1;
  color: #F0EBE5; /* always light â€” section bg is always dark */
}

.why-header p { color: rgba(240,235,229,0.65); font-size: 0.96rem; margin: 0; }

.why-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; max-width: 720px; }

.why-card {
  padding: 28px; border-radius: var(--radius-lg);
  background: rgba(12,8,6,0.55);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255,255,255,0.10);
  transition: background 220ms ease, border-color 220ms ease;
}
.why-card:hover { background: rgba(12,8,6,0.70); border-color: rgba(255,255,255,0.18); }

.why-num {
  display: block; margin-bottom: 10px;
  font-family: "Cormorant Garamond", serif;
  font-size: 2.4rem; font-weight: 700; color: var(--red); line-height: 1;
}

.why-card h4 { margin: 0 0 8px; font-size: 1.02rem; font-weight: 600; color: #F0EBE5; }
.why-card p  { margin: 0; font-size: 0.88rem; color: rgba(240,235,229,0.60); line-height: 1.68; }

/* â”€â”€ FAQ â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.faq-section { background: var(--bg-mid); }

.faq-layout { display: grid; grid-template-columns: 280px 1fr; gap: 80px; align-items: start; }

.faq-header h2 {
  margin: 4px 0 12px;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2rem,3.5vw,3rem);
  font-weight: 600; line-height: 1.1;
}
.faq-header p { color: var(--muted); font-size: 0.93rem; margin: 0; }

.faq-list { display: flex; flex-direction: column; }

.faq-item { border-bottom: 1px solid var(--line); }

.faq-q {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  width: 100%; text-align: left; padding: 22px 0;
  background: transparent; border: none; cursor: pointer;
  font-size: 1.0rem; font-weight: 600; color: var(--text);
  transition: color 160ms ease;
}
.faq-q:hover { color: var(--muted); }

.faq-icon {
  width: 28px; height: 28px; flex-shrink: 0; border-radius: 50%;
  border: 1px solid var(--line);
  display: grid; place-items: center;
  font-size: 1.2rem; color: var(--muted); line-height: 1;
  transition: transform 260ms ease, background 160ms ease, border-color 160ms ease, color 160ms ease;
}

.faq-q[aria-expanded="true"] .faq-icon {
  transform: rotate(45deg);
  background: var(--red-soft); border-color: rgba(150,16,31,0.30); color: var(--red);
}

.faq-a { padding: 0 0 20px; }
.faq-a p { margin: 0; color: var(--muted); line-height: 1.78; font-size: 0.94rem; }

/* â”€â”€ CONTACT â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.contact-section { background: linear-gradient(180deg, var(--bg-mid) 0%, var(--bg) 100%); }

.contact-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 72px; align-items: start; }

.contact-info h2 {
  margin: 8px 0 14px;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2.4rem,4vw,3.6rem);
  font-weight: 600; line-height: 1.1; color: var(--text);
}

.contact-info > p { color: var(--muted); line-height: 1.76; font-size: 0.95rem; margin: 0 0 28px; }

.contact-details { display: flex; flex-direction: column; gap: 14px; margin-bottom: 32px; }

.contact-detail {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 16px; border-radius: var(--radius-md);
  background: var(--bg-card); border: 1px solid var(--line);
}
.contact-detail svg { color: var(--red); flex-shrink: 0; margin-top: 2px; }
.contact-detail span   { display: block; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
.contact-detail strong { display: block; font-size: 0.9rem; font-weight: 600; color: var(--text); margin-top: 3px; }

.contact-cta-row { display: flex; gap: 12px; flex-wrap: wrap; }

.contact-form {
  padding: 36px; border-radius: var(--radius-xl);
  background: var(--bg-card); border: 1px solid var(--line);
}

.form-row { display: flex; gap: 14px; align-items: flex-start; }
.form-row label { flex: 1; min-width: 0; margin-top: 0 !important; }

.contact-form label + label,
.form-row + label,
.form-row + .label-select { margin-top: 14px; }
.form-row + * { margin-top: 14px; }

.contact-form label { display: block; width: 100%; }
.label-select { flex: 1; }

.contact-form label span {
  display: block; margin-bottom: 7px;
  font-size: 0.84rem; font-weight: 500; color: var(--muted);
}
.contact-form label em { color: var(--red); font-style: normal; }

.contact-form input,
.contact-form select,
.contact-form textarea,
.reg-form input,
.reg-form select,
.reg-form textarea,
.sreq-form input,
.sreq-form select,
.sreq-form textarea {
  width: 100%;
  background: var(--bg-card);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  color: var(--text); padding: 13px 16px;
  outline: none; font-size: 0.93rem;
  transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
  -webkit-appearance: none; appearance: none;
}

.contact-form select, .reg-form select, .sreq-form select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23888' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; padding-right: 40px;
  background-color: var(--bg-mid);
}
/* Native dropdown options inherit the select's background/color */
.contact-form option, .reg-form option, .sreq-form option {
  background: var(--bg-mid);
  color: var(--text);
}

.contact-form input::placeholder,
.contact-form textarea::placeholder,
.reg-form input::placeholder,
.reg-form textarea::placeholder,
.sreq-form input::placeholder,
.sreq-form textarea::placeholder { color: var(--muted); }

.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus,
.reg-form input:focus, .reg-form select:focus, .reg-form textarea:focus,
.sreq-form input:focus, .sreq-form select:focus, .sreq-form textarea:focus {
  border-color: var(--red);
  background: var(--bg-card-hov);
  box-shadow: 0 0 0 3px var(--red-soft);
}

.contact-form .btn { margin-top: 22px; position: relative; }

.btn-spinner {
  display: none; width: 18px; height: 18px;
  border: 2px solid rgba(255,255,255,0.3);
  border-top-color: #fff; border-radius: 50%;
  animation: spin 0.7s linear infinite;
}
.btn.is-loading .btn-label { opacity: 0; }
.btn.is-loading .btn-spinner { display: block; position: absolute; }

@keyframes spin { to { transform: rotate(360deg); } }

.form-note {
  margin: 14px 0 0; font-size: 0.78rem;
  color: var(--muted); line-height: 1.6; text-align: center;
}

/* â”€â”€ FOOTER â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.footer {
  background: var(--bg); border-top: 1px solid var(--line);
  padding: 0 0 40px; position: relative; z-index: 1;
}

.footer-inner {
  display: flex; align-items: center;
  justify-content: space-between; gap: 24px;
  padding-top: 40px; flex-wrap: wrap;
}

.footer-brand { display: flex; align-items: center; gap: 12px; }

.footer-logo-wrap {
  width: 36px; height: 36px; flex-shrink: 0;
  background: linear-gradient(145deg, var(--red-light), var(--red-dark));
  border-radius: 8px; display: grid; place-items: center; padding: 6px;
}
.footer-logo-wrap img { width: 100%; height: 100%; object-fit: contain; }

.footer-brand-text strong { display: block; font-size: 0.9rem; font-weight: 600; color: var(--text); }
.footer-brand-text span   { display: flex; align-items: center; gap: 6px; margin-top: 2px; font-size: 0.8rem; color: var(--muted); }

.footer-flag {
  height: 14px; width: auto; flex-shrink: 0;
  border-radius: 2px;
  box-shadow: 0 0 0 1px var(--line);
}

.footer-nav { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }

.footer-nav a {
  padding: 6px 12px; border-radius: 999px;
  font-size: 0.86rem; color: var(--muted);
  transition: color 160ms ease, background 160ms ease;
}
.footer-nav a:hover { color: var(--text); background: var(--bg-card-hov); }

.footer-contact-links { display: flex; flex-direction: column; gap: 4px; }
.footer-contact-links a { font-size: 0.85rem; color: var(--muted); transition: color 160ms ease; }
.footer-contact-links a:hover { color: var(--text); }

.footer-bottom {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding-top: 24px; margin-top: 32px; border-top: 1px solid var(--line); flex-wrap: wrap;
}
.footer-bottom p { margin: 0; font-size: 0.82rem; color: var(--muted); }

.footer-legal { display: flex; gap: 20px; }
.footer-legal a { font-size: 0.82rem; color: var(--muted); transition: color 160ms ease; }
.footer-legal a:hover { color: var(--muted); }

/* â”€â”€ REVEAL â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.reveal { opacity: 0; transform: translateY(24px); transition: opacity 700ms ease, transform 700ms ease; }
.reveal-delay { transition-delay: 150ms; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   REGISTER PAGE
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

.reg-page { min-height: 100vh; display: flex; flex-direction: column; }

.reg-topbar {
  position: sticky; top: 0; z-index: 200;
  padding: 14px 0;
  background: var(--glass-bg);
  backdrop-filter: blur(28px) saturate(160%);
  -webkit-backdrop-filter: blur(28px) saturate(160%);
  border-bottom: 1px solid var(--glass-bdr);
}

.reg-topbar-inner {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}

.reg-main {
  flex: 1; display: flex; flex-direction: column;
  align-items: center; justify-content: flex-start;
  padding: 56px 0 80px;
}

/* Step progress bar */
.step-progress {
  display: flex; align-items: center; gap: 0;
  margin-bottom: 52px; width: 100%; max-width: 560px;
}

.step-node {
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  flex: 1; position: relative;
}

.step-node:not(:last-child)::after {
  content: '';
  position: absolute; top: 18px; left: calc(50% + 22px);
  width: calc(100% - 44px); height: 2px;
  background: var(--line);
  transition: background 400ms ease;
}

.step-node.is-done::after { background: var(--red); }

.step-circle {
  width: 36px; height: 36px; border-radius: 50%;
  border: 2px solid var(--line);
  background: var(--bg-card);
  display: grid; place-items: center;
  font-size: 0.8rem; font-weight: 700; color: var(--muted);
  transition: border-color 280ms ease, background 280ms ease, color 280ms ease;
  flex-shrink: 0; position: relative; z-index: 1;
}

.step-node.is-active .step-circle {
  border-color: var(--red); background: var(--red-soft); color: var(--red);
}

.step-node.is-done .step-circle {
  border-color: var(--red); background: var(--red); color: #fff;
}

.step-label {
  font-size: 0.68rem; font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--muted); text-align: center; white-space: nowrap;
  transition: color 280ms ease;
}
.step-node.is-active .step-label, .step-node.is-done .step-label { color: var(--text); }

/* Register card */
.reg-card {
  width: 100%; max-width: 640px;
  background: var(--bg-card);
  border: 1px solid var(--line); border-radius: var(--radius-xl);
  padding: 44px;
}

.reg-step { display: none; }
.reg-step.is-active { display: block; animation: stepIn 360ms cubic-bezier(0.22,1,0.36,1) both; }

@keyframes stepIn {
  from { opacity: 0; transform: translateX(24px); }
  to   { opacity: 1; transform: translateX(0); }
}

.reg-step-title {
  margin: 0 0 8px;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.8rem,3vw,2.6rem);
  font-weight: 600; line-height: 1.1; color: var(--text);
}

.reg-step-sub { margin: 0 0 32px; font-size: 0.94rem; color: var(--muted); line-height: 1.68; }

.reg-form label { display: block; width: 100%; margin-top: 16px; }
.reg-form label:first-child { margin-top: 0; }

.reg-form label > span {
  display: block; margin-bottom: 7px;
  font-size: 0.84rem; font-weight: 500; color: var(--muted);
}
.reg-form label em { color: var(--red); font-style: normal; }

.reg-form .form-row { display: flex; gap: 14px; margin-top: 16px; }
.reg-form .form-row:first-child { margin-top: 0; }
.reg-form .form-row label { margin-top: 0; }

.reg-form .input-hint {
  font-size: 0.78rem; color: rgba(240,235,229,0.30); margin-top: 5px; display: block;
}

/* Service selection cards (step 2) */
.service-select-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 14px;
  margin-top: 8px;
}

.service-select-card {
  padding: 20px; border-radius: var(--radius-md);
  background: var(--bg-card); border: 2px solid var(--line);
  cursor: pointer; transition: border-color 180ms ease, background 180ms ease;
  display: flex; flex-direction: column; gap: 8px;
}

.service-select-card input[type="radio"] { display: none; }

.service-select-card:hover { border-color: rgba(255,255,255,0.22); background: var(--bg-card-hov); }

.service-select-card.is-selected {
  border-color: var(--red);
  background: var(--red-soft);
}

.service-select-card .ssc-icon { color: var(--red); }
.service-select-card h4 { margin: 0; font-size: 1rem; font-weight: 600; color: var(--text); }
.service-select-card p  { margin: 0; font-size: 0.82rem; color: var(--muted); line-height: 1.6; }

/* Document upload (step 3) */
.doc-requirements {
  padding: 16px; border-radius: var(--radius-md);
  background: var(--bg-card); border: 1px solid var(--line);
  margin-bottom: 24px;
}

.doc-requirements p {
  margin: 0 0 10px; font-size: 0.84rem; font-weight: 600; color: var(--text);
}

.doc-requirements ul {
  margin: 0; padding: 0 0 0 18px;
  font-size: 0.84rem; color: var(--muted); line-height: 1.9;
}

.upload-zone {
  border: 2px dashed rgba(255,255,255,0.14);
  border-radius: var(--radius-lg);
  padding: 36px 24px; text-align: center;
  cursor: pointer; transition: border-color 200ms ease, background 200ms ease;
  margin-top: 16px;
}

.upload-zone:hover,
.upload-zone.drag-over {
  border-color: rgba(150,16,31,0.54); background: var(--red-soft);
}

.upload-zone svg { color: var(--muted); margin: 0 auto 12px; }

.upload-zone p { margin: 0 0 4px; font-size: 0.92rem; font-weight: 500; color: var(--text); }
.upload-zone small { font-size: 0.78rem; color: var(--muted); }

.file-list { display: flex; flex-direction: column; gap: 8px; margin-top: 16px; }

.file-item {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; border-radius: var(--radius-sm);
  background: var(--bg-card); border: 1px solid var(--line);
  font-size: 0.86rem;
}

.file-item-name { flex: 1; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.file-item-size { color: var(--muted); font-size: 0.78rem; flex-shrink: 0; }

.file-remove {
  background: none; border: none; cursor: pointer;
  color: var(--muted); padding: 2px; line-height: 1;
  transition: color 160ms ease;
  flex-shrink: 0;
}
.file-remove:hover { color: var(--red); }

/* Confirmation (step 4) */
.confirm-summary {
  display: flex; flex-direction: column; gap: 12px; margin-bottom: 28px;
}

.confirm-row {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 14px; border-radius: var(--radius-sm);
  background: var(--bg-card); border: 1px solid var(--line);
}
.confirm-row span { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); min-width: 100px; flex-shrink: 0; padding-top: 2px; }
.confirm-row strong { font-size: 0.9rem; font-weight: 600; color: var(--text); flex: 1; }

/* Step navigation buttons */
.step-nav {
  display: flex; justify-content: space-between; align-items: center;
  gap: 12px; margin-top: 32px;
}

.step-nav-right { display: flex; gap: 12px; margin-left: auto; }

/* Success state */
.reg-success {
  text-align: center; padding: 32px 0;
}

.reg-success svg { margin: 0 auto 20px; color: var(--red); }

.reg-success h2 {
  margin: 0 0 12px;
  font-family: "Cormorant Garamond", serif;
  font-size: 2.4rem; font-weight: 600; color: var(--text);
}

.reg-success p { color: var(--muted); font-size: 0.96rem; line-height: 1.7; margin: 0 0 24px; }

/* â”€â”€ RESPONSIVE â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

@media (max-width: 1080px) {
  .about-grid, .contact-grid { grid-template-columns: 1fr; gap: 48px; }
  .testimonial-grid { grid-template-columns: 1fr 1fr; }
  .faq-layout { grid-template-columns: 1fr; gap: 40px; }
  .faq-header { max-width: 100%; }
  .service-grid { grid-template-columns: 1fr 1fr; }
  .zayed-grid { grid-template-columns: 1fr; gap: 48px; }
  .zayed-portrait-frame { width: 180px; height: 240px; margin: 0 auto; }
  .zayed-content { text-align: center; }
  .zayed-arabic { text-align: center; }
  .why-grid { grid-template-columns: 1fr 1fr; max-width: 100%; }
  .cta-banner-inner { flex-direction: column; text-align: center; }
  .cta-banner-inner .btn { align-self: center; }
}

@media (max-width: 768px) {
  .topbar { padding: 12px 0; }
  .container { width: min(calc(100% - 24px), var(--container)); }
  .nav-links, .nav-actions { display: none; }
  .nav-toggle { display: flex; }
  .hero-content h1 { font-size: clamp(3rem, 12vw, 5rem); }
  .hero-stats-row { justify-content: center; }
  .service-grid { grid-template-columns: 1fr; }
  .testimonial-grid { grid-template-columns: 1fr; }
  .numbers-grid { flex-direction: row; flex-wrap: wrap; }
  .number-sep { display: none; }
  .why-grid { grid-template-columns: 1fr; max-width: 480px; }
  .footer-inner { flex-direction: column; align-items: flex-start; gap: 20px; }
  .service-select-grid { grid-template-columns: 1fr; }
  .reg-card { padding: 28px 20px; }
}

@media (max-width: 600px) {
  .section { padding: 64px 0; }
  .hero-ctas { flex-direction: column; align-items: stretch; }
  .hero-stats-row { flex-wrap: wrap; justify-content: center; gap: 8px; }
  .hstat-sep { display: none; }
  .hstat { flex: 0 0 calc(50% - 8px); }
  .about-mini-card { padding: 18px; }
  .testimonial-grid { grid-template-columns: 1fr; }
  .faq-layout { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr; gap: 40px; }
  .form-row { flex-direction: column; }
  .contact-form { padding: 24px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .updates-head { flex-direction: column; align-items: flex-start; }
  .step-progress { gap: 0; }
  .step-label { display: none; }
  .reg-form .form-row { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation: none !important; transition: none !important; }
  .reveal { opacity: 1; transform: none; }
  .marquee-inner { animation: none; }
  .carousel-track { transition: none; }
  #particles { display: none; }
}

/* â”€â”€ AUTH MODAL â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.auth-backdrop {
  position: fixed; inset: 0; z-index: 900;
  background: rgba(4,2,1,0.82);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  display: grid; place-items: center; padding: 20px;
  opacity: 0; visibility: hidden;
  transition: opacity 260ms ease, visibility 260ms ease;
}
.auth-backdrop.is-open { opacity: 1; visibility: visible; }

.auth-modal {
  width: 100%; max-width: 460px;
  background: var(--bg-mid);
  border: 1px solid var(--glass-bdr);
  border-radius: var(--radius-lg);
  padding: 40px 40px 36px;
  position: relative;
  transform: scale(0.96) translateY(10px);
  transition: transform 300ms cubic-bezier(0.22,1,0.36,1);
  box-shadow: var(--shadow-lg), 0 0 0 1px var(--glass-bdr);
}
.auth-backdrop.is-open .auth-modal { transform: scale(1) translateY(0); }

.auth-close {
  position: absolute; top: 16px; right: 16px;
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--bg-card); border: 1px solid var(--line);
  color: var(--muted); cursor: pointer; display: grid; place-items: center;
  transition: background 160ms, color 160ms;
}
.auth-close:hover { background: var(--bg-card-hov); color: var(--text); }

.auth-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 24px; }
.auth-brand-mark {
  width: 32px; height: 32px; flex-shrink: 0;
  background: linear-gradient(145deg, var(--red-light), var(--red-dark));
  border-radius: 6px; display: grid; place-items: center; padding: 5px;
}
.auth-brand-mark img { width: 100%; height: 100%; object-fit: contain; }
.auth-brand-name { font-size: 0.88rem; font-weight: 600; color: var(--text); letter-spacing: 0.01em; }

.auth-tabs {
  display: flex; margin-bottom: 28px;
  border-bottom: 1px solid var(--line);
}
.auth-tab {
  flex: 1; padding: 10px 0;
  font-family: inherit; font-size: 0.9rem; font-weight: 600;
  color: var(--muted); background: none; border: none; cursor: pointer;
  border-bottom: 2px solid transparent; margin-bottom: -1px;
  transition: color 160ms, border-color 160ms;
}
.auth-tab.is-active { color: var(--text); border-bottom-color: var(--red); }
.auth-tab:hover:not(.is-active) { color: var(--text); }

.auth-panel { display: none; }
.auth-panel.is-active { display: block; }

.auth-heading {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.9rem; font-weight: 600;
  color: var(--text); margin: 0 0 4px; line-height: 1.1;
}
.auth-sub { font-size: 0.88rem; color: var(--muted); margin: 0 0 22px; }

.auth-form label { display: block; }
.auth-form label + label { margin-top: 14px; }
.auth-form-row { display: flex; gap: 12px; margin-bottom: 0; }
.auth-form-row label { flex: 1; min-width: 0; margin-top: 0 !important; }
.auth-form-row + label { margin-top: 14px; }

.auth-form label > span {
  display: block; margin-bottom: 7px;
  font-size: 0.84rem; font-weight: 500; color: var(--muted);
}
.auth-form label > span em { color: var(--red); font-style: normal; }

.auth-form input {
  width: 100%;
  background: var(--bg-card);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  color: var(--text); padding: 12px 15px;
  outline: none; font-size: 0.93rem; font-family: inherit;
  transition: border-color 160ms, background 160ms, box-shadow 160ms;
  -webkit-appearance: none; appearance: none;
}
.auth-form input::placeholder { color: var(--muted); }
.auth-form input:focus {
  border-color: var(--red);
  background: var(--bg-card-hov);
  box-shadow: 0 0 0 3px var(--red-soft);
}

.auth-form textarea {
  width: 100%;
  background: var(--bg-card);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  color: var(--text); padding: 12px 15px;
  outline: none; font-size: 0.93rem; font-family: inherit;
  transition: border-color 160ms, background 160ms, box-shadow 160ms;
  resize: vertical; min-height: 110px;
}
.auth-form textarea::placeholder { color: var(--muted); }
.auth-form textarea:focus {
  border-color: var(--red);
  background: var(--bg-card-hov);
  box-shadow: 0 0 0 3px var(--red-soft);
}

.auth-forgot { text-align: right; margin-top: 6px; margin-bottom: 14px; }
.auth-forgot a { font-size: 0.82rem; color: var(--muted); }
.auth-forgot a:hover { color: var(--text); }

.auth-submit { margin-top: 20px; }

.auth-error {
  background: rgba(150,16,31,0.12);
  border: 1px solid rgba(150,16,31,0.28);
  border-radius: var(--radius-md);
  padding: 10px 14px; margin-bottom: 14px;
  font-size: 0.86rem; color: rgba(230,120,120,0.95);
  display: none;
}
.auth-error.is-visible { display: block; }

.auth-footer-note {
  text-align: center; margin-top: 18px;
  font-size: 0.85rem; color: var(--muted);
}
.auth-footer-note a { color: var(--text); font-weight: 500; }
.auth-footer-note a:hover { color: var(--red-light); }

@media (max-width: 480px) {
  .auth-modal { padding: 28px 20px 24px; }
  .auth-form-row { flex-direction: column; gap: 0; }
  .auth-form-row label + label { margin-top: 14px; }
}

/* â”€â”€ CLIENT PORTAL PAGE â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.portal-page { min-height: 100vh; min-height: 100svh; background: var(--bg); }

.portal-topbar {
  position: sticky; top: 0; z-index: 200;
  background: var(--glass-bg);
  backdrop-filter: blur(28px) saturate(160%); -webkit-backdrop-filter: blur(28px) saturate(160%);
  border-bottom: 1px solid var(--line);
}
.portal-topbar-inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; padding: 16px 0;
}
.portal-user { display: flex; align-items: center; gap: 10px; }
.portal-avatar {
  width: 34px; height: 34px; border-radius: 50%; flex-shrink: 0;
  background: linear-gradient(135deg, var(--red), var(--red-dark));
  display: grid; place-items: center;
  font-size: 0.75rem; font-weight: 700; color: var(--btn-text, #fff); letter-spacing: 0.03em;
}
.portal-user-name { font-size: 0.88rem; font-weight: 500; color: var(--text); }
.portal-signout {
  padding: 7px 16px; border-radius: 999px;
  border: 1px solid var(--line); background: none;
  font-size: 0.82rem; font-family: inherit; color: var(--muted); cursor: pointer;
  transition: color 160ms, background 160ms, border-color 160ms;
}
.portal-signout:hover { color: var(--text); background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.20); }

.portal-welcome { padding: 56px 0 40px; border-bottom: 1px solid var(--line); }
.portal-welcome-inner {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap;
}
.portal-welcome h1 {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2.2rem, 5vw, 3.4rem);
  font-weight: 600; color: var(--text); margin: 8px 0 8px; line-height: 1.1;
}
.portal-welcome p { font-size: 0.96rem; color: var(--muted); margin: 0; max-width: 48ch; }

.portal-status-pills { display: flex; gap: 8px; flex-shrink: 0; flex-wrap: wrap; }
.portal-status-pill {
  display: flex; align-items: center; gap: 6px;
  padding: 6px 14px; border-radius: 999px;
  border: 1px solid var(--line); background: var(--bg-card);
  font-size: 0.82rem; color: var(--muted);
}
.portal-status-pill strong { color: var(--text); font-weight: 600; }

.portal-section { padding: 48px 0; }
.portal-section-head { margin-bottom: 28px; }
.portal-section-head h2 {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.7rem; font-weight: 600; color: var(--text); margin: 0 0 4px;
}
.portal-section-head p { font-size: 0.9rem; color: var(--muted); margin: 0; }

.portal-services-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px;
}
.portal-service-card {
  background: var(--bg-card); border: 1px solid var(--line);
  border-radius: var(--radius-lg); padding: 28px 24px;
  display: flex; flex-direction: column; gap: 14px;
  transition: border-color 240ms, background 240ms, transform 240ms;
}
.portal-service-card:hover {
  border-color: var(--red-glow);
  background: var(--bg-card-hov);
  transform: translateY(-3px);
}
.psc-icon {
  width: 44px; height: 44px; border-radius: 10px; flex-shrink: 0;
  background: var(--red-soft); display: grid; place-items: center; color: var(--red);
}
.psc-body { flex: 1; }
.psc-body h3 {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.15rem; font-weight: 600; color: var(--text); margin: 0 0 6px; line-height: 1.25;
}
.psc-body p { font-size: 0.83rem; color: var(--muted); margin: 0; line-height: 1.6; }
.psc-request {
  display: block; width: 100%; padding: 10px 16px;
  background: transparent; border: 1px solid var(--line);
  border-radius: var(--radius-md);
  font-family: inherit; font-size: 0.86rem; font-weight: 600;
  color: var(--muted); cursor: pointer;
  text-align: center; text-decoration: none;
  transition: border-color 160ms, color 160ms, background 160ms;
}
.psc-request:hover { border-color: var(--red); color: #fff; background: var(--red); }

.portal-requests-section { padding: 0 0 72px; border-top: 1px solid var(--line); padding-top: 48px; }
.portal-empty {
  text-align: center; padding: 60px 24px;
  border: 1px dashed var(--line); border-radius: var(--radius-lg);
}
.portal-empty-icon {
  width: 52px; height: 52px; border-radius: 50%;
  background: var(--bg-card);
  display: grid; place-items: center; margin: 0 auto 16px; color: var(--muted);
}
.portal-empty h3 {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.4rem; font-weight: 600; color: var(--text); margin: 0 0 6px;
}
.portal-empty p { font-size: 0.88rem; color: var(--muted); margin: 0; max-width: 34ch; margin-inline: auto; }

.portal-toast {
  position: fixed; bottom: 28px; left: 50%;
  transform: translateX(-50%) translateY(16px);
  background: var(--glass-bg); border: 1px solid var(--red-glow);
  border-radius: 999px; padding: 12px 24px;
  display: flex; align-items: center; gap: 10px;
  font-size: 0.9rem; color: var(--text);
  box-shadow: var(--shadow-lg);
  opacity: 0; transition: opacity 280ms, transform 280ms;
  pointer-events: none; z-index: 800; white-space: nowrap;
}
.portal-toast.is-visible { opacity: 1; transform: translateX(-50%) translateY(0); }
.portal-toast svg { color: var(--red); flex-shrink: 0; }

@media (max-width: 1024px) {
  .portal-services-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .portal-services-grid { grid-template-columns: 1fr; }
  .portal-welcome { padding: 32px 0 24px; }
  .portal-topbar-inner { padding: 12px 0; }
  .portal-welcome-inner { flex-direction: column; align-items: flex-start; gap: 16px; }
}

/* â”€â”€ SERVICE REQUEST PAGE â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.sreq-back {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 0.85rem; font-weight: 500; color: var(--muted);
  margin-bottom: 28px;
  transition: color 160ms;
}
.sreq-back:hover { color: var(--text); }
.sreq-back svg { transition: transform 160ms; }
.sreq-back:hover svg { transform: translateX(-3px); }

.sreq-header { padding: 40px 0 36px; border-bottom: 1px solid var(--line); margin-bottom: 40px; }
.sreq-header .kicker { margin-bottom: 8px; }
.sreq-header h1 {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 600; color: var(--text); margin: 8px 0 10px; line-height: 1.1;
}
.sreq-header p { font-size: 0.96rem; color: var(--muted); margin: 0; max-width: 56ch; }

.sreq-layout {
  display: grid; grid-template-columns: 1fr 340px; gap: 32px;
  align-items: start; padding-bottom: 80px;
}

.sreq-form label { display: block; }
.sreq-form label + label,
.sreq-form .form-row + label,
.sreq-form .form-row + .label-select { margin-top: 16px; }
.sreq-form label > span {
  display: block; margin-bottom: 7px;
  font-size: 0.84rem; font-weight: 500; color: var(--muted);
}
.sreq-form label > span em { color: var(--red); font-style: normal; }
.sreq-form .form-row label { margin-top: 0 !important; }

.sreq-section {
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 28px 28px 24px;
  margin-bottom: 20px;
}
.sreq-section-title {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.2rem; font-weight: 600; color: var(--text);
  margin: 0 0 20px; padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
  display: flex; align-items: center; gap: 10px;
}
.sreq-section-title svg { color: var(--red); flex-shrink: 0; }

.sreq-radio-group { display: flex; gap: 12px; flex-wrap: wrap; }
.sreq-radio-label {
  display: flex !important; align-items: center; gap: 8px;
  padding: 10px 16px; border-radius: var(--radius-md);
  border: 1px solid var(--line); background: rgba(255,255,255,0.04);
  cursor: pointer; font-size: 0.9rem; color: var(--muted);
  transition: border-color 160ms, color 160ms, background 160ms;
  margin-top: 0 !important; flex: 1; min-width: 140px;
}
.sreq-radio-label input[type="radio"] { display: none; }
.sreq-radio-label:hover { border-color: rgba(255,255,255,0.24); color: var(--text); }
.sreq-radio-label.is-checked {
  border-color: var(--red); background: var(--red-soft); color: var(--text);
}
.sreq-radio-dot {
  width: 16px; height: 16px; border-radius: 50%; flex-shrink: 0;
  border: 2px solid rgba(255,255,255,0.24);
  display: grid; place-items: center;
  transition: border-color 160ms;
}
.sreq-radio-label.is-checked .sreq-radio-dot { border-color: var(--red); }
.sreq-radio-dot::after {
  content: ""; width: 7px; height: 7px; border-radius: 50%;
  background: var(--red); opacity: 0; transform: scale(0);
  transition: opacity 160ms, transform 160ms;
}
.sreq-radio-label.is-checked .sreq-radio-dot::after { opacity: 1; transform: scale(1); }

/* doc hints sidebar */
.sreq-sidebar { position: sticky; top: 90px; }
.sreq-info-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg); padding: 24px;
  margin-bottom: 16px;
}
.sreq-info-card h4 {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.05rem; font-weight: 600; color: var(--text); margin: 0 0 14px;
}
.sreq-info-card ul {
  margin: 0; padding: 0; list-style: none;
  display: flex; flex-direction: column; gap: 8px;
}
.sreq-info-card li {
  display: flex; align-items: flex-start; gap: 8px;
  font-size: 0.84rem; color: var(--muted); line-height: 1.5;
}
.sreq-info-card li svg { flex-shrink: 0; color: #4caf72; margin-top: 1px; }

.sreq-timeline-card {
  background: rgba(150,16,31,0.06);
  border: 1px solid rgba(150,16,31,0.20);
  border-radius: var(--radius-lg); padding: 20px 24px;
}
.sreq-timeline-card h4 {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.05rem; font-weight: 600; color: var(--text); margin: 0 0 12px;
}
.sreq-timeline-step {
  display: flex; gap: 12px; margin-bottom: 12px; align-items: flex-start;
}
.sreq-timeline-step:last-child { margin-bottom: 0; }
.sreq-step-num {
  width: 22px; height: 22px; border-radius: 50%; flex-shrink: 0;
  background: var(--red); color: #fff;
  font-size: 0.72rem; font-weight: 700;
  display: grid; place-items: center;
}
.sreq-timeline-step p { font-size: 0.83rem; color: var(--muted); margin: 0; line-height: 1.5; }
.sreq-timeline-step strong { color: var(--text); display: block; margin-bottom: 2px; font-size: 0.85rem; }

/* success screen */
.sreq-success {
  display: none; text-align: center;
  padding: 80px 24px; max-width: 520px; margin: 0 auto;
}
.sreq-success.is-visible { display: block; }
.sreq-success-icon {
  width: 72px; height: 72px; border-radius: 50%;
  background: rgba(76,175,114,0.10);
  border: 1px solid rgba(76,175,114,0.24);
  display: grid; place-items: center; margin: 0 auto 24px;
  color: #4caf72;
}
.sreq-success h2 {
  font-family: "Cormorant Garamond", serif;
  font-size: 2.4rem; font-weight: 600; color: var(--text); margin: 0 0 12px;
}
.sreq-success p { font-size: 0.96rem; color: var(--muted); margin: 0 0 28px; line-height: 1.7; }
.sreq-success-meta {
  background: rgba(255,255,255,0.04); border: 1px solid var(--line);
  border-radius: var(--radius-lg); padding: 20px 24px;
  text-align: left; margin-bottom: 28px;
}
.sreq-success-meta-row {
  display: flex; justify-content: space-between; gap: 16px;
  font-size: 0.88rem; padding: 6px 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.sreq-success-meta-row:last-child { border-bottom: none; }
.sreq-success-meta-row span { color: var(--muted); }
.sreq-success-meta-row strong { color: var(--text); text-align: right; }

@media (max-width: 1024px) {
  .sreq-layout { grid-template-columns: 1fr; }
  .sreq-sidebar { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
}
@media (max-width: 640px) {
  .sreq-header { padding: 28px 0 24px; }
  .sreq-sidebar { grid-template-columns: 1fr; }
  .sreq-section { padding: 20px 16px; }
  .sreq-radio-group { flex-direction: column; }
  .sreq-radio-label { min-width: auto; }
}

/* â”€â”€ GALLERY SECTION â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.gallery-section { padding: 96px 0 80px; }

.gallery-head {
  display: flex; align-items: flex-end; justify-content: space-between;
  margin-bottom: 48px; flex-wrap: wrap; gap: 16px;
}

.gallery-card {
  flex: 0 0 calc(33.333% - 14px);
  border-radius: var(--radius-lg);
  overflow: hidden;
  cursor: pointer;
  position: relative;
  aspect-ratio: 4/3;
  background: var(--bg-card);
  border: 1px solid var(--line);
  transition: transform 240ms ease, box-shadow 240ms ease, border-color 240ms ease;
}
.gallery-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
  border-color: var(--glass-bdr);
}
.gallery-card img {
  width: 100%; height: 100%; object-fit: cover;
  display: block;
  transition: transform 500ms ease;
}
.gallery-card:hover img { transform: scale(1.06); }

.gallery-caption {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 28px 16px 14px;
  background: linear-gradient(transparent, rgba(0,0,0,0.72));
  font-size: 0.82rem; font-weight: 400; color: rgba(255,255,255,0.85);
  opacity: 0; transition: opacity 240ms ease;
}
.gallery-card:hover .gallery-caption { opacity: 1; }

@media (max-width: 1024px) {
  .gallery-card { flex: 0 0 calc(50% - 10px); }
}
@media (max-width: 640px) {
  .gallery-card { flex: 0 0 100%; }
}

/* Placeholder cards when no images uploaded */
.gallery-placeholder {
  flex: 0 0 calc(33.333% - 14px);
  aspect-ratio: 4/3;
  border-radius: var(--radius-lg);
  background: var(--bg-card);
  border: 1px dashed var(--line);
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,0.1); font-size: 2rem;
}

/* â”€â”€ GALLERY LIGHTBOX â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.gallery-lightbox {
  position: fixed; inset: 0; z-index: 9000;
  background: rgba(0,0,0,0.92);
  backdrop-filter: blur(8px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none;
  transition: opacity 260ms ease;
}
.gallery-lightbox.is-open {
  opacity: 1; pointer-events: all;
}

.lightbox-inner {
  position: relative;
  max-width: min(90vw, 1100px);
  max-height: 90vh;
  display: flex; flex-direction: column; align-items: center;
}

.lightbox-img {
  max-width: 100%; max-height: 80vh;
  border-radius: var(--radius-md);
  object-fit: contain;
  box-shadow: 0 32px 80px rgba(0,0,0,0.6);
  display: block;
}

.lightbox-caption {
  margin-top: 14px;
  font-size: 0.88rem; font-weight: 300; color: rgba(255,255,255,0.65);
  text-align: center; max-width: 640px;
  font-family: "Tajawal", sans-serif;
}

.lightbox-close {
  position: fixed; top: 20px; right: 24px;
  width: 42px; height: 42px; border-radius: 50%;
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.12);
  color: #fff; cursor: pointer; font-size: 1.1rem;
  display: flex; align-items: center; justify-content: center;
  transition: background 180ms ease;
  z-index: 1;
}
.lightbox-close:hover { background: rgba(255,255,255,0.16); }

.lightbox-arrow {
  position: fixed; top: 50%; transform: translateY(-50%);
  width: 48px; height: 48px; border-radius: 50%;
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.12);
  color: #fff; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background 180ms ease;
  z-index: 1;
}
.lightbox-arrow:hover { background: rgba(255,255,255,0.16); }
.lightbox-arrow.prev { left: 20px; }
.lightbox-arrow.next { right: 20px; }
.lightbox-arrow:disabled { opacity: 0.2; cursor: default; }

.lightbox-counter {
  position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%);
  font-size: 0.78rem; color: rgba(255,255,255,0.4);
  letter-spacing: 0.05em; z-index: 1;
}

@media (max-width: 640px) {
  .lightbox-arrow { width: 38px; height: 38px; }
  .lightbox-arrow.prev { left: 8px; }
  .lightbox-arrow.next { right: 8px; }
}

/* â”€â”€ SERVICE CARD IMAGE â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.service-card-img {
  height: 168px; margin: -32px -32px 24px; overflow: hidden;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}
.service-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* â”€â”€ PORTAL SERVICE CARD IMAGE + ACTIONS â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.psc-img {
  height: 140px; margin: -28px -24px 18px; overflow: hidden;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}
.psc-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.psc-actions { display: flex; gap: 8px; }
.psc-detail {
  flex: 1; padding: 9px 12px; background: transparent;
  border: 1px solid var(--line); border-radius: var(--radius-md);
  font-size: 0.82rem; font-weight: 500; color: var(--muted);
  text-align: center; text-decoration: none;
  transition: border-color 160ms, color 160ms;
}
.psc-detail:hover { border-color: var(--red); color: var(--red); }
.psc-request { flex: 1; }

/* â”€â”€ SERVICE DETAIL PAGE â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.svc-detail-hero {
  position: relative; height: 340px; overflow: hidden;
  background: var(--bg-mid);
}
.svc-detail-hero-no-img {
  height: 120px;
  background: linear-gradient(135deg, var(--bg-mid) 0%, var(--bg) 100%);
}
.svc-detail-hero img { width: 100%; height: 100%; object-fit: cover; display: block; }
.svc-detail-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.55) 100%);
}
.svc-detail-hero-no-img .svc-detail-hero-overlay { background: none; }

.svc-detail-wrap { padding: 40px 0 80px; }
.svc-detail-breadcrumb {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  font-size: 0.8rem; color: var(--muted); margin-bottom: 32px;
}
.svc-detail-breadcrumb a { color: var(--muted); text-decoration: none; }
.svc-detail-breadcrumb a:hover { color: var(--red); }
.svc-detail-breadcrumb span[aria-hidden] { opacity: 0.45; }

.svc-detail-layout {
  display: grid; grid-template-columns: 1fr 340px; gap: 48px; align-items: start;
}

.svc-detail-header {
  display: flex; align-items: center; gap: 20px; margin-bottom: 24px;
}
.svc-detail-icon {
  width: 56px; height: 56px; border-radius: 14px; flex-shrink: 0;
  background: var(--red-soft); display: grid; place-items: center;
  color: var(--red);
}
.svc-detail-icon svg { width: 28px; height: 28px; }
.svc-detail-header h1 {
  font-family: "Cormorant Garamond", serif;
  font-size: 2rem; font-weight: 700; color: var(--text); margin: 0; line-height: 1.15;
}

.svc-detail-desc { margin-bottom: 32px; }
.svc-detail-desc p { font-size: 1rem; color: var(--muted); line-height: 1.75; margin: 0; }

.svc-detail-docs {
  background: var(--bg-card); border: 1px solid var(--line);
  border-radius: var(--radius-lg); padding: 28px 28px 24px; margin-bottom: 32px;
}
.svc-detail-docs h3 {
  display: flex; align-items: center; gap: 10px;
  font-family: "Cormorant Garamond", serif;
  font-size: 1.05rem; font-weight: 600; color: var(--text); margin: 0 0 18px;
}
.svc-detail-docs h3 svg { color: var(--red); flex-shrink: 0; }
.svc-detail-doc-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.svc-detail-doc-list li {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: 0.9rem; color: var(--muted); line-height: 1.5;
}
.svc-detail-doc-list li svg { color: var(--red); flex-shrink: 0; margin-top: 3px; }

.svc-detail-timeline { margin-bottom: 24px; }
.svc-detail-timeline h3 {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.05rem; font-weight: 600; color: var(--text); margin: 0 0 20px;
}
.svc-detail-steps { display: flex; flex-direction: column; gap: 16px; }
.svc-step {
  display: flex; gap: 16px; align-items: flex-start;
}
.svc-step-num {
  width: 28px; height: 28px; border-radius: 50%; flex-shrink: 0;
  background: var(--red-soft); color: var(--red);
  display: flex; align-items: center; justify-content: center;
  font-size: 0.78rem; font-weight: 700; margin-top: 1px;
}
.svc-step strong { display: block; font-size: 0.9rem; color: var(--text); margin-bottom: 3px; }
.svc-step p { font-size: 0.83rem; color: var(--muted); margin: 0; line-height: 1.55; }

/* CTA sidebar */
.svc-cta-card {
  background: var(--bg-card); border: 1px solid var(--line);
  border-radius: var(--radius-lg); padding: 28px 24px; margin-bottom: 16px;
  position: sticky; top: 80px;
}
.svc-cta-card h3 {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.15rem; font-weight: 600; color: var(--text); margin: 0 0 8px;
}
.svc-cta-card p { font-size: 0.86rem; color: var(--muted); margin: 0 0 20px; line-height: 1.6; }
.svc-cta-btn {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%; padding: 12px 20px; border-radius: var(--radius-md);
  font-size: 0.9rem; font-weight: 600; text-decoration: none;
  cursor: pointer; transition: all 180ms ease;
}
.btn-outline.svc-cta-btn {
  background: transparent; border: 1px solid var(--line); color: var(--text);
}
.btn-outline.svc-cta-btn:hover { border-color: var(--red); color: var(--red); }
.svc-cta-divider {
  text-align: center; font-size: 0.78rem; color: var(--muted);
  margin: 12px 0; position: relative;
}
.svc-cta-divider::before, .svc-cta-divider::after {
  content: ''; position: absolute; top: 50%; width: 40%;
  height: 1px; background: var(--line);
}
.svc-cta-divider::before { left: 0; }
.svc-cta-divider::after { right: 0; }
.svc-cta-note {
  display: flex; align-items: center; gap: 6px;
  font-size: 0.75rem; color: var(--muted); margin-top: 14px;
}

.svc-contact-card {
  background: var(--bg-card); border: 1px solid var(--line);
  border-radius: var(--radius-lg); padding: 20px 24px;
}
.svc-contact-card h4 {
  font-size: 0.88rem; font-weight: 600; color: var(--text); margin: 0 0 12px;
}
.svc-contact-row {
  display: flex; align-items: center; gap: 9px;
  font-size: 0.86rem; color: var(--muted); text-decoration: none;
  padding: 7px 0; border-bottom: 1px solid var(--line); transition: color 150ms;
}
.svc-contact-row:last-child { border-bottom: none; }
.svc-contact-row:hover { color: var(--red); }
.svc-contact-row svg { flex-shrink: 0; }

/* â”€â”€ PER-REQUIREMENT DOCUMENT UPLOAD â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.doc-upload-row {
  border: 1px solid var(--line); border-radius: var(--radius-md);
  padding: 14px 16px; margin-bottom: 10px;
  background: var(--bg-card); transition: border-color 160ms;
}
.doc-upload-row:hover { border-color: var(--glass-bdr); }
.doc-upload-label {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; cursor: pointer;
}
.doc-upload-name {
  display: flex; align-items: center; gap: 8px;
  font-size: 0.88rem; font-weight: 500; color: var(--text); flex: 1;
}
.doc-upload-name svg { color: var(--red); flex-shrink: 0; }
.doc-upload-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 14px; border: 1px solid var(--line); border-radius: 6px;
  font-size: 0.8rem; font-weight: 600; color: var(--muted);
  cursor: pointer; flex-shrink: 0; transition: border-color 150ms, color 150ms;
  white-space: nowrap;
}
.doc-upload-btn:hover { border-color: var(--red); color: var(--red); }
.doc-upload-files {
  list-style: none; padding: 0; margin: 8px 0 0;
  display: flex; flex-direction: column; gap: 6px;
}
.doc-upload-file-item {
  display: flex; align-items: center; gap: 8px;
  font-size: 0.8rem; color: var(--muted); padding: 4px 0;
}
.doc-upload-file-item svg { flex-shrink: 0; color: var(--red); }
.doc-upload-file-item span:first-of-type { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Responsive */
@media (max-width: 900px) {
  .svc-detail-layout { grid-template-columns: 1fr; }
  .svc-cta-card { position: static; }
}
@media (max-width: 640px) {
  .svc-detail-hero { height: 220px; }
  .svc-detail-header h1 { font-size: 1.5rem; }
  .svc-detail-wrap { padding: 24px 0 60px; }
  .psc-actions { flex-direction: column; }
}

/* ── Announcement Banner ──────────────────────────────────── */
.site-banner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; padding: 10px 20px; font-size: 0.875rem; font-weight: 500;
  position: relative; z-index: 200;
}
.site-banner--promo { background: #b8730a; color: #fff; }
.site-banner--alert { background: var(--red, #96101F); color: #fff; }
.site-banner--info  { background: #0a6c8a; color: #fff; }
.site-banner-inner  {
  display: flex; align-items: center; gap: 1rem;
  flex: 1; justify-content: center; flex-wrap: wrap;
}
.site-banner-msg { line-height: 1.4; }
.site-banner-cta {
  background: rgba(255,255,255,0.22); color: inherit;
  border: 1px solid rgba(255,255,255,0.45); border-radius: 4px;
  padding: 3px 14px; text-decoration: none; font-size: 0.82rem;
  white-space: nowrap; transition: background .15s;
}
.site-banner-cta:hover { background: rgba(255,255,255,0.38); color: inherit; }
.site-banner-close {
  background: none; border: none; color: inherit; opacity: 0.65;
  cursor: pointer; font-size: 1rem; line-height: 1; padding: 4px 6px;
  flex-shrink: 0; transition: opacity .15s;
}
.site-banner-close:hover { opacity: 1; }

/* ── News & Updates Section ──────────────────────────────── */
.news-section { }
.news-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem;
  margin-top: 2.5rem;
}
.news-card {
  background: var(--bg-card); border: 1px solid var(--line);
  border-radius: 12px; overflow: hidden;
  transition: transform .2s, box-shadow .2s;
}
.news-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.news-card-img img { width: 100%; height: 180px; object-fit: cover; display: block; }
.news-card-body { padding: 1.25rem; }
.news-card-meta {
  display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem;
}
.news-tag {
  background: var(--red-soft); color: var(--red);
  font-size: 0.7rem; font-weight: 700; padding: 2px 10px;
  border-radius: 99px; text-transform: uppercase; letter-spacing: .5px;
}
.news-date { font-size: 0.78rem; color: var(--muted); }
.news-card-body h3 {
  font-size: 1rem; font-weight: 600; margin: 0 0 0.5rem;
  color: var(--text); line-height: 1.4;
}
.news-card-body p {
  font-size: 0.875rem; color: var(--muted); line-height: 1.6; margin: 0;
}
@media (max-width: 900px) { .news-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 580px) { .news-grid { grid-template-columns: 1fr; } }

.news-read-more {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 0.82rem; font-weight: 600; color: var(--red);
  text-decoration: none; margin-top: 0.875rem;
  transition: gap .2s;
}
.news-read-more:hover { gap: 10px; color: var(--red); }

/* ── News Detail Page ────────────────────────────── */
.news-detail-hero {
  height: 340px; position: relative; overflow: hidden;
  background: var(--bg-mid);
}
.news-detail-hero-no-img { height: 120px; }
.news-detail-hero img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.news-detail-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, transparent 40%, rgba(0,0,0,0.6));
}
.news-detail-wrap { padding: 40px 0 80px; }
.news-detail-layout {
  display: grid; grid-template-columns: 1fr 300px; gap: 2.5rem; align-items: start;
  margin-top: 2rem;
}
.news-detail-header { margin-bottom: 2rem; }
.news-detail-meta {
  display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem;
}
.news-detail-header h1 {
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 700; line-height: 1.25; color: var(--text); margin: 0;
}
.news-detail-body {
  color: var(--text); font-size: 1rem; line-height: 1.8;
}
.news-detail-body p  { margin: 0 0 1.25rem; }
.news-detail-body h2,
.news-detail-body h3 { margin: 2rem 0 0.75rem; color: var(--text); }
.news-detail-body ul,
.news-detail-body ol { padding-inline-start: 1.5rem; margin-bottom: 1.25rem; }
.news-detail-body li { margin-bottom: 0.4rem; }
.news-detail-body a  { color: var(--red); }
.news-detail-body strong { color: var(--text); }
.news-detail-sidebar { position: sticky; top: 100px; }
.news-detail-back {
  display: inline-flex; align-items: center; gap: 8px;
  margin-top: 2.5rem; color: var(--muted); font-size: 0.875rem;
  text-decoration: none; transition: color .15s;
}
.news-detail-back:hover { color: var(--text); }
@media (max-width: 900px) {
  .news-detail-layout { grid-template-columns: 1fr; }
  .news-detail-sidebar { position: static; }
  .news-detail-hero { height: 220px; }
}
