*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body{min-width:320px;min-height:100%;overflow-x:hidden}
body{
    --home-tb:var(--transition-base,.3s ease);
    --home-tf:var(--transition-fast,.2s ease);
    --spring:.4s cubic-bezier(.25,1,.5,1);
    color:var(--text-color,#111);
    background:var(--primary-background,#f0f2f5);
    font-family:var(--font-system,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
    font-size:clamp(1rem,.96rem + .2vw,var(--font-size-lg,1.14rem));
    line-height:var(--line-height-base,1.6);
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
    transition:background var(--home-tb),color var(--home-tb);
}
.home-body{
    min-height:100vh;
    background:
        radial-gradient(circle at top left,rgba(43,143,250,.12),transparent 34rem),
        radial-gradient(circle at 95% 15%,rgba(216,228,255,.55),transparent 28rem),
        var(--primary-background,linear-gradient(120deg,#fdfbfb 0%,#ebedee 100%));
}
:is(html.dark-mode,body.dark-mode){color-scheme:dark}
img,picture,svg,video,canvas{display:block;max-width:100%}
img{height:auto}
a{color:var(--link-color,#1a3c6e)}
a:hover{color:var(--link-hover-color,#313439)}
:focus-visible{outline:3px solid var(--border-color-focus,#2b8ffa);outline-offset:4px}
::selection{color:var(--text-on-accent,#fff);background:var(--accent-blue,#2b8ffa)}
/* Hide decorative <br> spacing around section headings. */
:is(.main-content,.ethics-main,.our-mission-main,.achievements-main,.working-hours)>br{display:none}

/* ---------- 02. PROGRESS BAR / SCROLLBAR / NETWORK BANNER ---------- */
#reading-progress-bar{
    position:fixed;
    inset:0 auto auto 0;
    z-index:var(--z-index-toast,500);
    width:0;
    height:clamp(.2rem,.3vw,.35rem);
    border-radius:0 var(--radius-pill,999px) var(--radius-pill,999px) 0;
    background:linear-gradient(90deg,var(--accent-blue,#2b8ffa),var(--accent-dark-blue,#1a3a6b));
    box-shadow:0 0 1rem rgba(43,143,250,.4);
    transition:width var(--home-tf);
}
::-webkit-scrollbar{width:.625rem}
::-webkit-scrollbar-track{background:var(--bg-surface-muted,#f5f7fa)}
::-webkit-scrollbar-thumb{
    border:.15rem solid var(--bg-surface-muted,#f5f7fa);
    border-radius:var(--radius-pill,999px);
    background:linear-gradient(180deg,var(--accent-blue,#2b8ffa),var(--accent-dark-blue,#1a3a6b));
}
::-webkit-scrollbar-thumb:hover{background:var(--accent-dark-blue,#1a3a6b)}
#network-status-banner{
    position:fixed;
    inset:clamp(.75rem,2vw,1.25rem) 50% auto auto;
    z-index:var(--z-index-toast,500);
    transform:translateX(50%);
    max-width:min(calc(100% - 2rem),38rem);
    padding:.75rem 1rem;
    border:var(--border-width-base,1.5px) solid var(--color-warning-dark,#b7770d);
    border-radius:var(--radius-pill,999px);
    color:var(--color-warning-dark,#b7770d);
    background:var(--color-warning-bg,#fef5e7);
    box-shadow:var(--box-shadow-md,0 4px 16px rgba(0,0,0,.18));
    font-family:var(--font-system,system-ui,sans-serif);
    font-size:var(--font-size-sm,.875rem);
    font-weight:var(--font-weight-semibold,600);
    text-align:center;
    transition:opacity var(--home-tb),transform var(--home-tb),visibility var(--home-tb);
}
.network-hidden{visibility:hidden;opacity:0;transform:translate(50%,-120%);pointer-events:none}

/* ---------- 03. MAIN LAYOUT / TYPOGRAPHY ---------- */
.main-content{
    --home-page-width:min(calc(100% - clamp(1rem,5vw,4rem)),var(--max-width-content,1100px));
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(1.25rem,3vw,2.25rem);
    width:var(--home-page-width);
    margin-inline:auto;
    padding-block:clamp(2rem,4vw,4.5rem) clamp(2rem,5vw,5rem);
    font-family:var(--primary-main-font,"DM Mono",monospace);
    text-align:center;
}
.main-content h1{
    position:relative;
    max-width:18ch;
    margin-inline:auto;
    padding-block-start:clamp(1rem,3vw,2rem);
    color:var(--text-strong,#111);
    font-family:var(--heading-font,"Cinzel",serif);
    font-size:clamp(2.5rem, 1.5rem + 5vw, 5rem);
    font-weight:var(--font-weight-semibold,600);
    letter-spacing:var(--letter-spacing-tight,-.01em);
    line-height:var(--line-height-tight,1.2);
    text-wrap:balance;
}
.main-content h1 strong{font-weight:inherit}
.main-content h1::after{
    content:"";
    display:block;
    width:clamp(5rem,16vw,10rem);
    height:.25rem;
    margin:clamp(.8rem,2vw,1.25rem) auto 0;
    border-radius:var(--radius-pill,999px);
    background:linear-gradient(90deg,transparent,var(--accent-blue,#2b8ffa),transparent);
}
.main-content h2,.working-hours h2,.internal-nav-links h3{
    display:inline-flex;
    flex-direction:column;
    align-items:center;
    gap:.55rem;
    margin:0;
    color:var(--text-strong,#111);
    font-family:var(--heading-font,"Cinzel",serif);
    font-size:clamp(1.35rem,1.08rem + 1.25vw,var(--font-size-3xl,1.75rem));
    font-weight:var(--font-weight-medium,500);
    line-height:var(--line-height-snug,1.4);
    letter-spacing:var(--letter-spacing-wide,.04em);
    text-align:center;
    text-wrap:balance;
}
.main-content h2::after,.working-hours h2::after,.internal-nav-links h3::after{
    content:"";
    width:clamp(3rem,12vw,6rem);
    height:.18rem;
    border-radius:var(--radius-pill,999px);
    background:var(--accent-gradient,linear-gradient(135deg,#d8e4ff 0%,#eef2f3 100%));
    box-shadow:0 0 0 1px var(--accent-blue-border,rgba(92,148,245,.35));
}
#meet{margin-top:clamp(.25rem,1vw,1rem)}

/* ---------- 04. SHARED CARD SYSTEM ---------- */
:is(.main-section-introduction,.box,.ethics-main,.our-mission-main,.achievements-main,.working-hours,.internal-nav-links){
    position:relative;
    isolation:isolate;
    width:100%;
    max-width:var(--max-width-content,1100px);
    overflow:hidden;
    border:var(--border-width-base,1.5px) solid var(--border-color-light,#eee);
    border-radius:clamp(1.1rem,2.4vw,var(--radius-lg,2rem));
    background:
        linear-gradient(180deg,var(--bg-overlay-focus,rgba(255,255,255,.97)),var(--bg-overlay,rgba(255,255,255,.72))),
        var(--card-bg,var(--card-gradient,#fff));
    box-shadow:var(--box-shadow-sm,0 2px 8px rgba(0,0,0,.12));
    transition:transform var(--home-tb),box-shadow var(--home-tb),border-color var(--home-tb),background var(--home-tb);
}
:is(.main-section-introduction,.box,.ethics-main,.our-mission-main,.achievements-main,.working-hours,.internal-nav-links)::before{
    content:"";
    position:absolute;
    inset:0 0 auto;
    z-index:-1;
    height:.35rem;
    background:linear-gradient(90deg,var(--accent-blue,#2b8ffa),var(--accent-blue-light,#d8e4ff),var(--accent-dark-blue,#1a3a6b));
}
:is(.main-section-introduction,.box,.ethics-main,.our-mission-main,.achievements-main,.working-hours,.internal-nav-links):hover{
    transform:translateY(-.15rem);
    border-color:var(--accent-blue-border,rgba(92,148,245,.35));
    box-shadow:var(--box-shadow-lg,0 8px 32px rgba(0,0,0,.25));
}
/* Per-card second background layer (replaces the old per-card overrides) */
.ethics-main{--card-bg:var(--box-background-image,#fff)}
.our-mission-main{--card-bg:var(--accent-gradient,#fff)}
:is(.working-hours,.internal-nav-links){--card-bg:var(--header-background,#fff)}

/* ---------- 05. INTRODUCTION SECTION ---------- */
#hide-z,.boxes{width:100%;max-width:var(--max-width-content,1100px)}
.main-section-introduction{display:flex;flex-direction:column;gap:clamp(.85rem,2vw,1.15rem);padding:clamp(1.1rem,3.5vw,2.5rem)}
:is(.main-section-introduction p,.intro-para){
    max-width:78ch;
    margin-inline:auto;
    color:var(--text-muted,#444);
    font-size:clamp(.98rem,.92rem + .32vw,var(--font-size-lg,1.14rem));
    line-height:var(--line-height-relaxed,1.75);
    text-align:center;
    text-wrap:pretty;
    overflow-wrap:anywhere;
}
.main-section-introduction a{
    color:var(--link-color,#1a3c6e);
    font-weight:var(--font-weight-semibold,600);
    text-decoration-thickness:.08em;
    text-underline-offset:.22em;
    transition:color var(--home-tf),text-decoration-color var(--home-tf);
}
.main-section-introduction a:is(:hover,:focus-visible){color:var(--link-hover-color,#313439);text-decoration-color:var(--accent-blue,#2b8ffa)}

/* ---------- 06. PROFILE CARD ---------- */
.box{
    display:grid;
    grid-template:"photo" "name" "bio" / minmax(0,1fr);
    gap:clamp(.95rem,2.5vw,1.75rem);
    align-items:center;
    padding:clamp(1rem,3vw,2.25rem);
}
.box picture{grid-area:photo;width:min(100%,24rem);margin-inline:auto}
.dp-image{
    width:min(100%,22rem);
    aspect-ratio:4/5.5;
    margin-inline:auto;
    object-fit:cover;
    object-position:center top;
    border:clamp(.22rem,.6vw,.35rem) solid var(--border-color-medium,#bdc3c7);
    border-radius:clamp(1.1rem,2.6vw,var(--radius-lg,2rem));
    background:var(--bg-surface-muted,#f5f7fa);
    box-shadow:var(--box-shadow-md,0 4px 16px rgba(0,0,0,.18));
    transition:transform var(--home-tb),box-shadow var(--home-tb),border-color var(--home-tb),filter var(--home-tb);
}
.dp-image:hover{
    transform:translateY(-.25rem) scale(1.015);
    border-color:var(--accent-blue-border-strong,rgba(12,180,226,.616));
    box-shadow:var(--box-shadow-lg,0 8px 32px rgba(0,0,0,.25));
}
.box p.img-para{
    grid-area:name;
    justify-self:center;
    width:fit-content;
    max-width:100%;
    padding:clamp(.55rem,1.5vw,.75rem) clamp(1rem,3vw,1.5rem);
    border:var(--border-width-thin,1px) solid var(--accent-blue-border,rgba(92,148,245,.35));
    border-radius:var(--radius-pill,999px);
    color:var(--text-strong,#111);
    background:var(--accent-gradient,linear-gradient(135deg,#d8e4ff 0%,#eef2f3 100%));
    box-shadow:var(--box-shadow-xs,0 1px 3px rgba(0,0,0,.08));
    font-family:var(--heading-font,"Cinzel",serif);
    font-size:clamp(1rem,.9rem + .5vw,var(--font-size-xl,1.25rem));
    font-weight:var(--font-weight-semibold,600);
    letter-spacing:var(--letter-spacing-wide,.04em);
    line-height:var(--line-height-snug,1.4);
    text-align:center;
    text-wrap:balance;
}
.img-para strong{font:inherit}
.box>p:not(.img-para){
    grid-area:bio;
    justify-self:center;
    width:100%;
    max-width:74ch;
    padding:clamp(1rem,2.6vw,1.65rem);
    border:var(--border-width-base,1.5px) solid var(--accent-blue-border,rgba(92,148,245,.35));
    border-radius:clamp(.95rem,2.2vw,var(--radius-md,1.5rem));
    color:var(--text-muted,#444);
    background:var(--bg-surface,#fff);
    font-size:clamp(.96rem,.9rem + .3vw,var(--font-size-md,1.1rem));
    line-height:var(--line-height-relaxed,1.75);
    text-align: justify;
    text-align-last: center;
    text-wrap:pretty;
    overflow-wrap:anywhere;
    transition:transform var(--home-tb),box-shadow var(--home-tb),border-color var(--home-tb);
}
.box>p:not(.img-para):hover{
    transform:translateY(-.1rem);
    border-color:var(--accent-blue-border-strong,rgba(12,180,226,.616));
    box-shadow:var(--box-shadow-md,0 4px 16px rgba(0,0,0,.18));
}

/* ---------- 07. ETHICS / MISSION / ACHIEVEMENTS ---------- */
:is(.ethics-main,.our-mission-main,.achievements-main){
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(1rem,2.5vw,1.5rem);
    padding:clamp(1.15rem,3vw,2.25rem);
    text-align:center;
}
/* Shared list reset (ethics/mission achievements + internal nav) */
:is(.ethics-main,.achievements-main) :is(ul,ol),.internal-nav-links ul{
    display:grid;
    width:100%;
    grid-template-columns:minmax(0,1fr);
    padding:0;
    margin:0;
    list-style:none;
}
:is(.ethics-main,.achievements-main) :is(ul,ol){gap:clamp(.75rem,1.8vw,1rem)}
.internal-nav-links ul{gap:clamp(.55rem,1.5vw,.85rem)}
:is(.ethics-main,.achievements-main) li{
    position:relative;
    min-height:100%;
    padding:clamp(.9rem,2vw,1.15rem) clamp(.95rem,2.5vw,1.35rem);
    border:var(--border-width-thin,1px) solid var(--border-color-light,#eee);
    border-radius:var(--radius-md,1.5rem);
    color:var(--text-muted,#444);
    background:var(--bg-surface,#fff);
    box-shadow:var(--box-shadow-xs,0 1px 3px rgba(0,0,0,.08));
    transition:transform var(--home-tb),box-shadow var(--home-tb),border-color var(--home-tb),background var(--home-tb);
}
:is(.ethics-main,.achievements-main) li::before{
    content:"";
    position:absolute;
    inset:.85rem auto .85rem 0;
    width:.22rem;
    border-radius:var(--radius-pill,999px);
    background:var(--accent-blue,#2b8ffa);
    opacity:.75;
}
/* Shared hover surface for all list items */
:is(.ethics-main li,.achievements-main li,.internal-nav-links li):hover{
    transform:translateY(-.12rem);
    border-color:var(--accent-blue-border,rgba(92,148,245,.35));
    background:var(--bg-surface-soft,#fafafa);
    box-shadow:var(--box-shadow-sm,0 2px 8px rgba(0,0,0,.12));
}
.internal-nav-links li:hover{transform:translateX(.25rem)}
:is(.ethics-main,.achievements-main,.our-mission-main) p{
    max-width:75ch;
    margin:0 auto;
    color:var(--text-muted,#444);
    font-size:clamp(.96rem,.9rem + .28vw,var(--font-size-md,1.1rem));
    line-height:var(--line-height-relaxed,1.75);
    text-wrap: balance;
    overflow-wrap:anywhere;
}
:is(.ethics-main,.our-mission-main) p{font-style:italic}
.our-mission-main p{padding-inline:clamp(0rem,2vw,1rem)}
.achievements-main{margin-bottom:clamp(.5rem,2vw,1.25rem)}
.achievements-main li p{max-width:62ch;}

/* ---------- 08. WORKING HOURS ---------- */
.working-hours{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(.6rem,1.8vw,1rem);
    width:min(calc(100% - clamp(1rem,5vw,4rem)),var(--max-width-narrow,900px));
    margin:0 auto clamp(5.5rem,11vw,8rem);
    padding:clamp(1.25rem,3.5vw,2.4rem);
    font-family:var(--nav-head-font,"Lexend Zetta",sans-serif);
    text-align:center;
}
.working-hours::after{
    content:"⚖";
    position:absolute;
    right:clamp(1rem,4vw,2rem);
    bottom:clamp(.7rem,2.5vw,1.25rem);
    color:var(--accent-blue,#2b8ffa);
    font-family:var(--heading-font,serif);
    font-size:clamp(2.5rem,8vw,5rem);
    line-height:1;
    opacity:.08;
    pointer-events:none;
}
.working-hours p{
    margin:0;
    color:var(--text-muted,#444);
    font-size:clamp(.85rem,.72rem + .45vw,var(--font-size-base,1rem));
    font-weight:var(--font-weight-normal,400);
    line-height:var(--line-height-relaxed,1.75);
    letter-spacing:var(--letter-spacing-tight,-.01em);
}
.working-hours p:first-of-type{color:var(--text-strong,#111);font-weight:var(--font-weight-semibold,600)}

/* ---------- 09. INTERNAL NAVIGATION LINKS ---------- */
.internal-nav-links{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(1rem,2vw,1.5rem);
    width:min(calc(100% - clamp(1rem,5vw,4rem)),var(--max-width,62rem));
    margin:clamp(1rem,3vw,2rem) auto;
    padding:clamp(1.25rem,3vw,2rem);
}
.internal-nav-links h3{font-size:clamp(1.1rem,.98rem + .7vw,var(--font-size-xl,1.25rem))}
.internal-nav-links li{
    position:relative;
    display:flex;
    align-items:flex-start;
    gap:.65rem;
    min-height:100%;
    padding:clamp(.8rem,2vw,1rem);
    border:var(--border-width-thin,1px) solid var(--border-color-light,#eee);
    border-radius:var(--radius-md,1.5rem);
    background:var(--bg-surface,#fff);
    box-shadow:var(--box-shadow-xs,0 1px 3px rgba(0,0,0,.08));
    transition:transform var(--home-tb),border-color var(--home-tb),background var(--home-tb),box-shadow var(--home-tb);
}
.internal-nav-links li::before{
    content:"→";
    flex:0 0 auto;
    color:var(--accent-blue,#2b8ffa);
    font-family:var(--primary-main-font,monospace);
    font-size:1rem;
    font-weight:var(--font-weight-bold,700);
    line-height:1.55;
}
.internal-nav-links a{
    min-width:0;
    color:var(--link-color,#1a3c6e);
    font-family:var(--font-system,system-ui,sans-serif);
    font-size:clamp(.92rem,.86rem + .22vw,1rem);
    line-height:var(--line-height-snug,1.4);
    text-decoration:none;
    overflow-wrap:anywhere;
    transition:color var(--home-tf);
}
.internal-nav-links a:is(:hover,:focus-visible){
    color:var(--service-link-hover-color,#0a1f40);
    text-decoration:underline;
    text-underline-offset:.25em;
}
.internal-nav-links a strong{
    color:var(--text-strong,#111);
    font-family:var(--nav-head-font);
    font-size:clamp(.7rem,1.3vw,.75rem);
    font-weight:var(--font-weight-semibold,600);
}

/* ---------- 10. DARK MODE (supports html.dark-mode & body.dark-mode) ---------- */
:is(html.dark-mode,body.dark-mode),
:is(html.dark-mode,body.dark-mode) .home-body{
    background:
        radial-gradient(circle at top left,rgba(43,143,250,.13),transparent 34rem),
        radial-gradient(circle at 95% 15%,rgba(122,170,255,.08),transparent 28rem),
        var(--primary-background,#121212);
}
:is(html.dark-mode,body.dark-mode) :is(.main-section-introduction,.box,.ethics-main,.our-mission-main,.achievements-main,.working-hours,.internal-nav-links){
    border-color:var(--border-color-default,#444);
    box-shadow:var(--box-shadow-md,0 4px 16px rgba(0,0,0,.5));
}
:is(html.dark-mode,body.dark-mode) :is(.box>p:not(.img-para),.ethics-main li,.achievements-main li,.internal-nav-links li){
    background:var(--bg-surface-soft,#252525);
    border-color:var(--border-color-default,#444);
}
:is(html.dark-mode,body.dark-mode) .dp-image{
    border-color:var(--accent-blue-border,rgba(92,148,245,.35));
    filter:saturate(.95) contrast(1.03);
}
:is(html.dark-mode,body.dark-mode) .box p.img-para{color:var(--text-strong,#fff);background:var(--accent-gradient,#2a2a2a)}
:is(html.dark-mode,body.dark-mode) .internal-nav-links a strong{color:var(--text-strong,#fff)}
:is(html.dark-mode,body.dark-mode) #network-status-banner{color:var(--color-warning-bg,#fef5e7);background:rgba(182,119,13,.22)}

/* ---------- 11. RESPONSIVE ---------- */
@media (min-width:42rem){
    :is(.main-section-introduction p,.intro-para){text-align:justify;}
    :is(.ethics-main,.achievements-main,.internal-nav-links) ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:56rem){
    .box{
        grid-template:"photo name" "photo bio" / minmax(16rem,.8fr) minmax(0,1.2fr);
        text-align:left;
    }
    .box picture{justify-self:center}
    .box p.img-para{justify-self:center;align-self:end}
    .box>p:not(.img-para){justify-self:stretch;text-align:justify;text-align-last: center;}
    .achievements-main ul{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:72rem){
    .main-content{gap:clamp(1.75rem,2.5vw,2.75rem)}
    .internal-nav-links ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:42rem){
    .home-body{
        background:
            radial-gradient(circle at top,rgba(43,143,250,.11),transparent 24rem),
            var(--primary-background,#f0f2f5);
    }
    .main-content{width:min(calc(100% - 1rem),var(--max-width-content,1100px));margin-top:3rem;padding-block-start:clamp(1.25rem,6vw,2rem)}
    :is(.main-section-introduction,.box,.ethics-main,.our-mission-main,.achievements-main,.working-hours,.internal-nav-links){border-radius:clamp(.95rem,5vw,1.35rem)}
    :is(.ethics-main,.achievements-main) li::before{inset-block:.8rem}
    .working-hours{width:min(calc(100% - 1rem),var(--max-width-narrow,900px));margin-bottom:5.75rem}
    .internal-nav-links{width:min(calc(100% - 1rem),var(--max-width,62rem))}
    .internal-nav-links li:hover{transform:translateY(-.1rem)}
}
@media (max-width:34rem){
    #network-status-banner{width:calc(100% - 1rem);border-radius:var(--radius-md,1.5rem)}
}
@media (hover:none){
    :is(.main-section-introduction,.box,.ethics-main,.our-mission-main,.achievements-main,.working-hours,.internal-nav-links,.dp-image):hover,
    :is(.box>p:not(.img-para),.ethics-main li,.achievements-main li,.internal-nav-links li):hover{
        transform:none;
    }
}
@media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{
        transition-duration:.01ms !important;
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
    }
}

/* ---------- 12. PRINT ---------- */
@media print{
    *,*::before,*::after{
        color:#000 !important;
        background:transparent !important;
        box-shadow:none !important;
        text-shadow:none !important;
    }
    .theme-toggle,.tc-consent-banner,.tc-modal,#cookie-overlay,.compactMenu,.menuBtn,
    .internal-nav-links,#reading-progress-bar,#network-status-banner{display:none !important}
    .home-body{background:#fff !important}
    .main-content,.working-hours{width:100% !important;margin:0 !important;padding:1rem 0 !important}
    .main-section-introduction,.box,.ethics-main,.our-mission-main,.achievements-main,.working-hours{
        border:1px solid #ccc !important;
        break-inside:avoid;
        page-break-inside:avoid;
    }
    .box{display:block}
    .dp-image{max-width:2.2in;margin:0 auto 1rem}
    a[href]::after{content:" (" attr(href) ")";font-size:.8em}
}

/* ---------- 13. FLOATING WHATSAPP BUTTON ---------- */
.waBook{
    position:fixed;
    right:2%;
    bottom:2%;
    z-index:999;
    filter:drop-shadow(0 4px 10px rgba(0,218,84,.3));
    transition:filter var(--spring),transform var(--spring);
}
.waBook:hover{filter:drop-shadow(0 6px 16px rgba(0,218,84,.55));transform:translateY(-2px)}
.WaChat{display:flex;flex-direction:column;align-items:center;gap:.15rem;text-decoration:none}
.waLogo{display:block;width:35px;height:35px;transition:transform var(--spring)}
.WaChat:hover .waLogo{transform:scale(1.1) rotate(-5deg)}
.WaChat span{
    padding-inline:4px;
    border:2px solid #fff;
    border-radius:1rem;
    background-color:#00da54;
    box-shadow:var(--box-shadow-sm);
    color:#0a0a0ae1;
    font-family:var(--hindi-font),sans-serif;
    font-size:.875rem;
    font-weight:200;
    white-space:nowrap;
}
  /* ---------- 14. FOOTER ---------- */
.downFooter{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:100%;
    height:auto;
    margin-top:clamp(2rem,5vw,3rem);
    padding-top:3rem;
    padding-bottom:clamp(1.5rem,4vw,2rem);
    background-color:rgba(161,175,222,.32);
    border-top:2px solid #c3cfe2;
    box-shadow:0 -2px 12px rgba(0,0,0,.08);
    transition:background var(--spring),border-color var(--spring),box-shadow var(--spring);
}
:is(html.dark-mode,body.dark-mode) .downFooter{
    background-color:rgba(20,30,50,.55);
    border-top-color:#333;
    box-shadow:0 -2px 12px rgba(0,0,0,.4);
}
.socialLink{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:clamp(.5rem,2vw,1rem)}
.socialLink p{
    margin:0;
    padding-bottom:2rem;
    font-family:var(--nav-head-font);
    font-size:var(--para-font-size);
    font-weight:300;
    transition:color var(--spring);
}
.socialIcons{display:flex;flex-direction:row;align-items:center;justify-content:center;flex-wrap:wrap;gap:clamp(1rem,3vw,1.5rem)}
.social-logo{
    width:28px;
    height:28px;
    object-fit:contain;
    filter:grayscale(15%);
    transition:transform var(--spring),filter var(--spring);
}
.socialIcons a:is(:hover,:focus) .social-logo{
    transform:scale(1.2) translateY(-3px);
    filter:grayscale(0%) drop-shadow(0 3px 6px rgba(0,0,0,.2));
}
.socialIcons a:focus-visible{outline:3px solid var(--accent-blue);outline-offset:4px;border-radius:4px}
.downFooter nav{display:grid;place-items:center;gap:clamp(.5rem, 2vw, 1.5rem);margin:clamp(2rem,1vw,.5rem) 0;}
.policy{
    padding:.3rem .6rem;
    border-radius:var(--radius-sm);
    color:var(--text-color);
    font-family:var(--nav-head-font);
    font-size:12px;
    font-weight:300;
    text-decoration:none;
    transition:color var(--spring),background var(--spring);
}
.policy:is(:hover,:focus){
    color:var(--service-link-hover-color);
    background:rgba(0,0,0,.05);
    text-decoration:underline;
    text-underline-offset:3px;
}
:is(html.dark-mode,body.dark-mode) .policy:hover{background:rgba(255,255,255,.05)}
.policy:focus-visible{outline:3px solid var(--accent-blue);outline-offset:3px}
.footerBottom{
    width:90%;
    margin-top:clamp(.5rem,2vw,1rem);
    padding-top:clamp(.25rem,1vw,.5rem);
    border-top:1px solid rgba(0,0,0,.1);
    text-align:center;
    transition:border-color var(--spring);
}
:is(html.dark-mode,body.dark-mode) .footerBottom{border-top-color:rgba(255,255,255,.08)}
.footerBottom p{
    margin:.5rem 0;
    padding:0;
    color:var(--text-muted);
    font-family:var(--nav-head-font);
    font-size:smaller;
    font-weight:300;
    line-height:1.65;
    transition:color var(--spring);
}

/* ---------- 15. NARROW-SCREEN SAFETY OVERRIDES (≤20rem / 320px) ---------- */
@media (max-width:20rem){
    html,body{min-width:0;width:100%}
    :is(.home-body,.main-content,.boxes,#hide-z,.working-hours,.internal-nav-links,.downFooter){width:100%;max-width:100%}
    .main-content{padding-inline:.5rem;gap:1rem}
    :is(.main-section-introduction,.box,.ethics-main,.our-mission-main,.achievements-main,.working-hours,.internal-nav-links){
        width:100%;
        max-width:100%;
        padding:.75rem;
        border-radius:.75rem;
    }
    .main-content h1{max-width:100%;padding-inline:.25rem;font-size:clamp(1.35rem,8vw,1.75rem);overflow-wrap:anywhere}
    :is(.main-content h2,.working-hours h2,.internal-nav-links h3){max-width:100%;font-size:clamp(1rem,6vw,1.25rem);overflow-wrap:anywhere}
    :is(.main-section-introduction p,.intro-para,.box>p:not(.img-para),.ethics-main p,.achievements-main p,.our-mission-main p,
         .working-hours p,.internal-nav-links a,.footerBottom p,.socialLink p){
        max-width:100%;
        overflow-wrap:anywhere;
        word-break:normal;
    }
    .box p.img-para{width:100%;max-width:100%;padding-inline:.5rem;overflow-wrap:anywhere}
    :is(.box picture,.dp-image){width:100%;max-width:100%}
    :is(.ethics-main,.achievements-main) :is(ul,ol),.internal-nav-links ul{grid-template-columns:minmax(0,1fr)}
    .internal-nav-links li{min-width:0;gap:.35rem;padding:.55rem;overflow-wrap:anywhere}
    .working-hours{margin-bottom:5.5rem}
    .working-hours::after{right:.5rem;bottom:.5rem;font-size:2.5rem}
    #network-status-banner{
        inset-inline:50%;
        width:calc(100% - 1rem);
        max-width:calc(100% - 1rem);
        padding:.5rem;
        font-size:.7rem;
        overflow-wrap:anywhere;
    }
    .breadcrumb-nav{width:calc(100% - 1rem);max-width:calc(100% - 1rem);margin-top:4rem;padding:.35rem;overflow:hidden}
    .breadcrumb-list{min-width:0;gap:.2rem;overflow:hidden}
    .breadcrumb-item,.breadcrumb-separator{min-width:0;font-size:.58rem;overflow-wrap:anywhere}
    .breadcrumb-item{overflow:hidden;text-overflow:ellipsis}
    .theme-toggle{
        left:.5rem;
        bottom:.5rem;
        width:44px;
        height:44px;
        font-size:1.15rem;
        touch-action:none;
        -webkit-tap-highlight-color:transparent;
    }
    .waBook{right:.5rem;bottom:.5rem}
    .waLogo{width:30px;height:30px}
    .WaChat span{max-width:calc(100vw - 1rem);overflow:hidden;text-overflow:ellipsis;font-size:.7rem}
    .downFooter{padding:2rem .5rem 1rem;overflow-wrap:anywhere}
    .downFooter nav,.socialIcons{width:100%;gap:.5rem}
    .policy{max-width:100%;padding-inline:.35rem;overflow-wrap:anywhere}
}
/* ---------- 16. EXTRA PROTECTION FOR 14.375rem / 230px ---------- */
@media (max-width:14.375rem){
    .main-content{padding-inline:.35rem}
    .main-content h1{font-size:1.25rem}
    :is(.main-content h2,.working-hours h2,.internal-nav-links h3){font-size:.95rem}
    :is(.main-section-introduction,.box,.ethics-main,.our-mission-main,.achievements-main,.working-hours,.internal-nav-links){padding:.6rem}
    .theme-toggle{left:.35rem;bottom:.35rem;width:40px;height:40px;font-size:1rem}
    .waBook{right:.35rem;bottom:.35rem}
    .waLogo{width:26px;height:26px}
    .WaChat span{display:none}
}
