/* ═══ XVIII National Sociology Conference — editorial design system ═══ */
:root{
  --paper:#F3EEE3;
  --paper-2:#ECE6D6;
  --ink:#1B1611;
  --ink-soft:#4A4238;
  --blood:#8A1E1A;
  --blood-deep:#5F130F;
  --ochre:#C97B2D;
  --hairline:rgba(27,22,17,.16);
  --hairline-light:rgba(243,238,227,.2);
  --serif:'Fraunces',Georgia,serif;
  --sans:'Archivo',Helvetica,sans-serif;
  --kn-serif:'Noto Serif Kannada','Fraunces',serif;
  --kn-sans:'Noto Sans Kannada','Archivo',sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:1rem;line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:2000;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");
}
body.lang-kn{font-family:var(--kn-sans)}
body.lang-kn .hero-title,body.lang-kn .display-h,body.lang-kn .hero-sub,body.lang-kn .d-date,
body.lang-kn .theme-overlay h3,body.lang-kn .lecture-t,body.lang-kn .venue-hall,body.lang-kn .archive-t,
body.lang-kn .lead-serif,body.lang-kn .brand-name{font-family:var(--kn-serif);font-style:normal!important}
body.lang-kn em{font-style:normal;color:var(--blood)}
body.lang-kn .section-dark em,body.lang-kn .marquee-band em{color:var(--ochre)}

::selection{background:var(--blood);color:var(--paper)}
img{max-width:100%;display:block}
a{color:inherit}
p{text-align:justify}

/* ── kickers & headings ── */
.kicker{
  font-family:var(--sans);font-weight:600;font-size:.93rem;letter-spacing:.24em;
  text-transform:uppercase;color:var(--blood);margin-bottom:1.4rem;text-align:left;
}
body.lang-kn .kicker{letter-spacing:.08em}
.light-k{color:var(--ochre)}
.mini-kicker{
  font-family:var(--sans);font-weight:600;font-size:.85rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--blood);margin-bottom:.6rem;text-align:left;
}
body.lang-kn .mini-kicker{letter-spacing:.06em}
.mini-kicker.light{color:var(--ochre)}
.display-h{
  font-family:var(--serif);font-weight:480;font-size:clamp(2.1rem,4.4vw,3.6rem);
  line-height:1.15;letter-spacing:-.01em;margin:0 0 1.4rem;text-align:left;
}
.display-h em{font-style:italic;color:var(--blood);padding-top:10px}
.display-h.light{color:var(--paper)}
.display-h.light em{color:var(--ochre)}
.lead-serif{font-family:var(--serif);font-size:clamp(1.15rem,1.6vw,1.45rem);line-height:1.5;font-weight:420}
.body-p{color:var(--ink-soft);font-size:1rem;max-width:62ch;text-align: justify;}
.light-p{color:rgba(243,238,227,.72)}

/* ── header ── */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:#ffffff;
  border-bottom:1px solid var(--hairline);transition:box-shadow .3s ease;
}
.site-header.scrolled{box-shadow:0 10px 40px -18px rgba(27,22,17,.28)}
.site-header .container{padding-top:1.15rem;padding-bottom:1.15rem}
.brand-logo{height:66px;width:auto}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-name{font-family:var(--serif);font-weight:560;font-size:1.45rem;color:var(--ink)}
.brand-sub{font-size:.82rem;letter-spacing:.18em;color:var(--ink-soft);font-weight:600;padding-top: 10px;}
.nav-lnk{
  font-size:1.06rem;font-weight:600;color:var(--ink);text-decoration:none;position:relative;padding:.2rem 0;white-space:nowrap;
}
.main-nav{gap:1.05rem!important}
.brand-name{white-space:nowrap}
.nav-lnk::after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:2px;background:var(--blood);transform:scaleX(0);transform-origin:right;transition:transform .35s cubic-bezier(.6,0,.2,1)}
.nav-lnk:hover::after{transform:scaleX(1);transform-origin:left}
.nav-lnk:hover{color:var(--blood)}
body.lang-kn .nav-lnk{font-size:1.02rem}
.btn-register{
  background:var(--blood);color:var(--paper);font-weight:600;font-size:1rem;text-decoration:none;
  padding:.55rem 1.5rem;display:inline-flex;align-items:center;border:1px solid var(--blood);
  transition:background-color .3s ease,color .3s ease;
}
.btn-register:hover{background:transparent;color:var(--blood)}
.lang-toggle{
  background:transparent;border:1px solid var(--blood);color:var(--blood);font-weight:600;
  font-size:.95rem;padding:.5rem 1.05rem;cursor:pointer;font-family:var(--kn-sans);
  transition:background-color .3s ease,color .3s ease;
}
.lang-toggle:hover{background:var(--blood);color:var(--paper)}
.menu-burger{background:none;border:0;width:42px;height:42px;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:6px;cursor:pointer}
.menu-burger span{display:block;height:2px;background:var(--ink);transition:transform .3s ease,opacity .3s ease}
.menu-burger.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-burger.open span:nth-child(2){opacity:0}
.menu-burger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.mobile-menu{
  position:fixed;top:0;left:0;right:0;z-index:990;background:var(--paper);
  padding-top:96px;border-bottom:1px solid var(--hairline);
  transform:translateY(-102%);transition:transform .45s cubic-bezier(.7,0,.2,1);
}
.mobile-menu.open{transform:translateY(0)}
.m-lnk{font-family:var(--serif);font-size:1.6rem;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--hairline);padding-bottom:.55rem}
.m-lnk:hover{color:var(--blood)}

/* ── hero ── */
.hero{padding:9.5rem 0 5rem;position:relative}
.hero-title{
  font-family:var(--serif);font-weight:470;font-size:clamp(1.5rem,3vw,2.5rem);
  line-height:1.5;letter-spacing:-.01em;margin:0 0 1.1rem;text-align:justify;
}
.hero-title em{font-style:italic;color:var(--blood)}
.hero-title .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}
.hero-title .wi{display:inline-block;will-change:transform}
.hero-sub{
  font-family:var(--kn-serif);font-size:clamp(2.25rem,2.75vw,1.95rem);line-height:1.75;
  color:var(--blood);font-weight:600;margin-bottom:1.3rem;
}
.hero-para{color:var(--ink-soft);font-size:1.15rem;max-width:56ch;margin-bottom:1.6rem}
.chip{
  display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--blood);
  padding:.45rem 1rem;font-size:.92rem;font-weight:500;background:rgba(255,255,255,.35);
}
.chip .ic{width:17px;height:17px;color:var(--blood)}
.btn-dark-hero{
  background:var(--ink);color:var(--paper);text-decoration:none;font-weight:600;font-size:.98rem;
  padding:.9rem 1.9rem;display:inline-flex;align-items:center;gap:.6rem;border:1px solid var(--ink);
  transition:background-color .3s ease,color .3s ease,transform .3s ease;
}
.btn-dark-hero:hover{background:transparent;color:var(--ink);transform:translateY(-2px)}
.btn-dark-hero.invert{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.btn-dark-hero.invert:hover{background:transparent;color:var(--paper)}
.btn-ghost-hero{
  background:transparent;color:var(--ink);text-decoration:none;font-weight:600;font-size:.98rem;
  padding:.9rem 1.9rem;display:inline-flex;align-items:center;border:1px solid var(--ink);
  transition:background-color .3s ease,color .3s ease,transform .3s ease;
}
.btn-ghost-hero:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}
.countdown{border-top:1px solid var(--hairline);padding-top:1.4rem;max-width:420px}
.cd-cell{display:flex;flex-direction:column}
.cd-num{font-family:var(--serif);font-size:2rem;font-weight:520;line-height:1}
.cd-lab{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin-top:.35rem}
.hero-visual{position:relative}
.arch-frame{
  position:relative;overflow:hidden;border-radius:280px 280px 10px 10px;
  border:1px solid var(--hairline);box-shadow:0 40px 80px -40px rgba(27,22,17,.45);
}
.arch-img{width:100%;height:clamp(380px,52vw,620px);object-fit:cover;transform:scale(1.12)}
.arch-logo{
  position:absolute;bottom:18px;left:50%;transform:translateX(-50%);height:64px;width:auto;
  background:rgba(243,238,227,.9);padding:6px;border-radius:50%;box-shadow:0 8px 24px rgba(0,0,0,.3);
}
.hero-badge{
  position:absolute;top:6%;left:-4%;background:var(--blood);color:var(--paper);border-radius:50%;
  width:132px;height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;box-shadow:0 18px 40px -14px rgba(95,19,15,.6);transform:rotate(-8deg);
}
.hb-top{font-family:var(--serif);font-size:1.7rem;font-weight:600;line-height:1}
.hb-sub{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;margin-top:.3rem;max-width:90px;line-height:1.4}

/* ── marquee ── */
.marquee-band{background:#17120D;color:var(--paper);overflow:hidden;padding:1.1rem 0;border-top:1px solid #17120D;border-bottom:1px solid #17120D}
.marquee-track{display:flex;width:max-content;animation:mq 60s linear infinite}
.mq-set{font-family:var(--serif);font-size:clamp(1.25rem,2.2vw,1.9rem);white-space:nowrap;padding-right:.5rem}
.mq-set b{font-style:italic;font-weight:480;color:var(--ochre)}
.mq-set i{font-style:normal;color:var(--blood);margin:0 .9rem;font-family:var(--sans)}
@keyframes mq{to{transform:translateX(-50%)}}

/* ── sections ── */
.section{padding:6.5rem 0}
.section-tint{background:var(--paper-2)}
.section-dark{background:#17120D;color:var(--paper)}

/* ── about ── */
.framed-img{position:relative;margin:0}
.framed-img img{width:100%;height:auto;border:1px solid var(--hairline)}
.framed-img figcaption{font-size:.8rem;color:var(--ink-soft);margin-top:.6rem;letter-spacing:.04em}
.arch-small img{border-radius:200px 200px 8px 8px}
.lecture-row{border:1px solid var(--hairline)}
.lecture-card{padding:1.6rem;border-right:1px solid var(--blood);background-color: #fff;}
.lecture-card:last-child{border-right:0}
.lecture-t{font-family:var(--serif);font-weight:520;font-size:1.15rem;line-height:1.35;margin-bottom:.8rem;text-align:left}
.lecture-s{font-size:1.25rem;margin:0;color:darkred;font-family:var(--serif);font-weight: 600;letter-spacing: 0.04em;}
.lecture-d{font-size:1rem;color:var(--ink-soft);}
@media(max-width:767px){.lecture-card{border-right:0;border-bottom:1px solid var(--hairline)}.lecture-card:last-child{border-bottom:0}}

/* ── themes ── */
.theme-card{position:relative;overflow:hidden;border:1px solid var(--hairline);cursor:default}
.theme-card img{width:100%;height:300px;object-fit:cover;transition:transform .8s cubic-bezier(.2,.6,.2,1);filter:saturate(.92)}
.theme-card.wide img{height:280px}
.theme-card:hover img{transform:scale(1.06)}
.theme-overlay{
  position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;
  padding:1.4rem;background:linear-gradient(to top,rgba(15,11,7,.82) 8%,rgba(15,11,7,.25) 55%,rgba(15,11,7,.05));
}
.theme-overlay h3{font-family:var(--serif);font-weight:480;font-size:1.45rem;line-height:1.25;color:var(--paper);margin:0;max-width:92%;text-align:left}

/* ── dates ── */
.date-list{border-top:2px solid var(--ink)}
.date-row{
  display:grid;grid-template-columns:60px 1fr 1fr;align-items:baseline;gap:1rem;
  padding:1.5rem 0;border-bottom:1px solid var(--hairline); 
}
.d-idx{font-size:1.15rem;color:var(--blood);font-weight:600;letter-spacing:.1em}
.d-date{font-family:var(--serif);font-size:clamp(1rem,2vw,1.9rem);font-weight:500}
.d-lab{color:var(--ink-soft);font-size:1.15rem;text-align:right}
@media(max-width:640px){.date-row{grid-template-columns:44px 1fr}.d-lab{grid-column:2;text-align:left}}

/* ── speakers ── */
/*.speaker-grid{border-top:1px solid var(--hairline-light);border-left:1px solid var(--hairline-light)}
.speaker-cell{padding:2rem 1.6rem;border-right:1px solid var(--hairline-light);border-bottom:1px solid var(--hairline-light)}
.speaker-cell h3{font-family:var(--serif);font-weight:440;font-size:1.5rem;color:rgba(243,238,227,.85);font-style:italic;margin:0;text-align:left}
*/

.speaker-grid{
    border-top:1px solid var(--hairline-light);
    border-left:1px solid var(--hairline-light);
}

.speaker-cell{
    padding:2rem 1.6rem;
    border-right:1px solid var(--hairline-light);
    border-bottom:1px solid var(--hairline-light);
}

.speaker-photo {
    width: 80%;
    height: 280px;

    background: #fff;              /* white background */
    overflow: hidden;

    border-radius: 180px 180px 0 0;
    border: 1px solid var(--hairline-light);

    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.speaker-photo img {
    width: 75%;                    /* reduce image width */
    height: 100%;                   /* reduce image height */

    object-fit: cover;
    object-position: center top;

    display: block;
}

/* Optional hover effect */
.speaker-cell:hover .speaker-photo img{
    transform:scale(1.04);
}

.speaker-cell h3{
    font-family:var(--serif);
    font-weight:460;
    font-size:1.65rem;
    color:rgba(243,238,227,.85);
    font-style:italic;
    margin:0;
    text-align:left;
}

.speaker-cell .subtitle{
  font-size: 1rem;
  font-weight: 500;
  color: #F8D830;
  padding-top:5px;
  text-align: left;
  font-family:'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
}

@media (max-width:767px){

    .speaker-cell{
        padding:1.5rem 1rem;
    }

    .speaker-photo{
        height:300px;
        border-radius:160px 160px 0 0;
    }

    .speaker-cell h3{
        font-size:1.35rem;
    }
}

/* ── fees ── */
.fee-table{width:100%;border-collapse:collapse;font-size:.95rem}
.fee-table th{
  text-align:left;font-weight:600;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:#fff;padding:.9rem .8rem;border-bottom:2px solid var(--ink);background-color: var(--blood);
}
.fee-table td{padding:1.05rem .8rem;border-bottom:1px solid var(--hairline);font-weight:500; background-color: #fff;}
.fee-now td{background:rgba(138,30,26,.06)}
.now-tag{
  background:var(--blood);color:var(--paper);font-size:.62rem;font-weight:700;letter-spacing:.14em;
  padding:.15rem .5rem;vertical-align:middle;margin-left:.4rem;
}
.pub-card{border:1px solid var(--hairline);padding:1.8rem;height:100%;background:rgba(255,255,255,.4)}
.pub-line{font-family:var(--serif);font-size:1.25rem;font-weight:500;margin:.2rem 0;text-align:left}
.pub-line span{font-family:var(--sans);font-size:.95rem;color:var(--ink-soft);font-weight:400}
.bank-card{background:var(--blood-deep);color:var(--paper);padding:1.8rem;height:100%}
.bank-item span{display:block;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:#fff;margin-bottom:.2rem}
.bank-item strong{font-family:var(--serif);font-size:1.15rem;font-weight:520}
.gform-link{
  display:inline-block;margin-top:2.2rem;font-family:var(--serif);font-size:1.15rem;font-style:italic;
  color:var(--blood);text-decoration:none;border-bottom:1px solid var(--blood);padding-bottom:.15rem;
  transition:opacity .3s ease;
}
.gform-link:hover{opacity:.65}

/* ── register ── */
.steps{list-style:none;padding:0;margin:0}
.steps li{display:flex;gap:1.2rem;padding:1.1rem 0;border-bottom:1px solid var(--hairline);align-items:baseline}
.steps span{font-family:var(--serif);font-size:1.5rem;color:var(--blood);font-weight:520}
.steps p{margin:0;color:var(--ink-soft)}
.last-date{margin-top:1.4rem;font-size:1.05rem;text-align:left}
.last-date strong{color:var(--blood)}
.reg-form{background:rgba(255,255,255,.45);border:1px solid var(--hairline);padding:2rem}
.f-label{display:block;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.4rem;text-align:left}
.f-input{
  width:100%;background:transparent;border:0;border-bottom:1px solid var(--hairline);
  padding:.55rem .1rem;font-size:1rem;color:var(--ink);border-radius:0;outline:none;
  transition:border-color .3s ease;font-family:inherit;
}
.f-input:focus{border-bottom-color:var(--blood)}
select.f-input{cursor:pointer}
.fee-display{font-family:var(--serif);font-size:1.15rem;padding-bottom:.4rem;text-align:left}
.fee-display strong{color:var(--blood);font-size:1.4rem;margin-left:.3rem}

/* ── papers ── */
.guide-card{border:1px solid var(--hairline);padding:1.8rem;background:rgba(255,255,255,.4);height:100%}
.guide-list{padding-left:1.1rem;margin:0;color:var(--ink-soft)}
.guide-list li{margin-bottom:.7rem;text-align:left}
.mail-link{font-family:var(--serif);font-size:1.25rem;color:var(--blood);text-decoration:none;border-bottom:1px solid var(--blood)}
.rc-card{border:1px solid var(--hairline);padding:1.3rem 1.4rem;height:100%;background:#fff;transition:border-color .3s ease,transform .3s ease}
.rc-card:hover{border-color:var(--blood);transform:translateY(-3px)}
.rc-card h3{font-family:var(--serif);font-weight:540;font-size:1.2rem;margin-bottom:.6rem;text-align:left}
.rc-links{display:flex;flex-direction:column;gap:.15rem}
.rc-links a{font-size:.88rem;color:var(--ink-soft);text-decoration:none;word-break:break-all}
.rc-links a:hover{color:var(--blood)}

/* ── gallery ── */
.video-frame{position:relative;padding-top:56.25%;border:1px solid var(--hairline);overflow:hidden;height:100%;min-height:280px}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.g-tile{position:relative;margin:0;overflow:hidden;border:1px solid var(--hairline)}
.g-tile img{width:100%;height:220px;object-fit:cover;transition:transform .8s cubic-bezier(.2,.6,.2,1)}
.g-tile.tall img{height:100%;min-height:200px}
.g-tile.wide-t img{height:240px}
.g-tile:hover img{transform:scale(1.05)}
.g-tile figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:.55rem .9rem;font-size:.82rem;color:var(--paper);
  background:linear-gradient(to top,rgba(15,11,7,.75),transparent);text-align:left;
}
.photo-credit{font-size:.8rem;color:var(--ink-soft);margin-top:1.2rem;text-align:left}
.archive-box{border:1px solid var(--hairline);padding:2.2rem;background:rgba(255,255,255,.4)}
.archive-t{font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2.2rem);font-weight:480;margin-bottom:.8rem;text-align:left}
.archive-t em{font-style:italic;color:var(--blood)}

/* ── venue ── */
.venue-hall{font-family:var(--serif);font-size:1.9rem;font-weight:520;margin-bottom:.6rem;text-align:left}
.venue-facts{margin-top:1rem;border-top:2px solid var(--ink)}
.vf-row{padding:1.2rem 0;border-bottom:1px solid var(--hairline)}
.vf-row h4{font-family:var(--serif);font-size:1.15rem;font-weight:560;margin-bottom:.3rem;text-align:left}
.vf-row p{margin:0;color:var(--ink-soft)}

/* ── committee ── */
.org-card{border:1px solid var(--hairline);padding:1.5rem;height:100%;background:rgba(255,255,255,.35);transition:border-color .3s ease,transform .3s ease}
.org-card:hover{border-color:var(--blood);transform:translateY(-3px)}
.org-card h3{font-family:var(--serif);font-size:1.25rem;font-weight:540;margin-bottom:.5rem;text-align:left}
.org-tel{font-size:.92rem;color:var(--ink-soft);text-decoration:none}
.org-tel:hover{color:var(--blood)}
.patron-box{border:1px solid var(--hairline);padding:1.8rem;background:rgba(255,255,255,.35)}
.patron span{display:block;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--blood);font-weight:600;margin-bottom:.25rem}
.patron strong{font-family:var(--serif);font-size:1.1rem;font-weight:540;display:block}
.patron em{font-style:normal;font-size:.85rem;color:var(--ink-soft)}
.retired-list{color:var(--ink-soft);line-height:2;text-align:justify}
.support-list{padding-left:1.1rem;color:var(--ink-soft)}
.support-list li{margin-bottom:.5rem;text-align:left}

/* ── footer ── */
.site-footer{background:#17120D;color:var(--paper);padding:3.5rem 0 2.5rem}
.footer-logo{height:52px;background:var(--paper);border-radius:50%;padding:4px}
.footer-brand{font-family:var(--serif);font-size:1.3rem;font-weight:540}
.footer-sub{font-size:.72rem;letter-spacing:.18em;color:rgba(243,238,227,.6)}
.footer-note{margin-top:2.4rem;padding-top:1.4rem;border-top:1px solid var(--hairline-light);font-size:.82rem;color:rgba(243,238,227,.55);text-align:left}

/* ── floating elements ── */
.social-rail{
  position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:900;
  display:flex;flex-direction:column;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);
  border:1px solid var(--hairline);border-left:0;border-radius:0 10px 10px 0;
  box-shadow:6px 6px 30px -12px rgba(27,22,17,.35);padding:.4rem 0;
}
.social-rail a{
  width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:var(--ink);
  transition:color .3s ease,transform .3s ease;
}
.social-rail a svg{width:20px;height:20px}
.social-rail a:hover{color:var(--blood);transform:translateX(3px)}
.float-register{
  position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:950;
  background:var(--blood);color:var(--paper);font-weight:700;font-size:1.05rem;text-decoration:none;
  padding:.85rem 2.6rem;border-radius:999px;box-shadow:0 14px 34px -10px rgba(95,19,15,.65);
  transition:transform .3s ease;
}
.float-register:hover{transform:translateX(-50%) translateY(-3px);color:var(--paper)}
.float-wa{
  position:fixed;bottom:18px;right:18px;z-index:950;display:flex;align-items:center;gap:.55rem;
  background:#25D366;color:#fff;text-decoration:none;font-weight:600;font-size:.95rem;
  padding:.7rem 1.3rem;border-radius:999px;box-shadow:0 14px 34px -10px rgba(18,140,86,.6);
  transition:transform .3s ease;
}
.float-wa:hover{transform:translateY(-3px);color:#fff}
.float-wa svg{width:22px;height:22px}
@media(max-width:767px){
  .float-wa span{display:none}
  .float-wa{padding:.85rem;bottom:auto;top:auto;bottom:86px}
  .social-rail a{width:38px;height:38px}
}
@media(max-width:991px){
  .hero{padding-top:8rem}
  .hero-badge{width:104px;height:104px;left:auto;right:4%;top:-3%}
  .hb-top{font-size:1.3rem}
  .section{padding:4.5rem 0}
  .brand-name{font-size:1.2rem}
  .brand-logo{height:46px}
  .arch-img{height:400px}
}

/* toast */
.toast-wrap{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);z-index:1200;pointer-events:none}
.app-toast{
  background:var(--ink);color:var(--paper);padding:.9rem 1.6rem;font-size:.95rem;font-weight:500;
  opacity:0;transform:translateY(14px);transition:opacity .35s ease,transform .35s ease;max-width:88vw;text-align:center;
}
.app-toast.show{opacity:1;transform:translateY(0)}

/* reveal defaults (JS animates in) */
[data-reveal]{opacity:0}
.no-js [data-reveal],body.reveals-done [data-reveal]{opacity:1}

.team-card {
    padding: 0 32px;
    border-right: 1px solid rgba(255,255,255,0.12);
}

.team-image {
    width: 100%;
    height: 280px;

    /* Arch shape */
    border-radius: 180px 180px 0 0;

    overflow: hidden;

    border: 1px solid rgba(255,255,255,0.12);
    background: #252321;
}

.team-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
    object-position: center;
}

.team-info {
    padding-top: 25px;
}

.team-role {
    color: #d9822b;
    font-size: 12px;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.team-info h3 {
    color: #fff;
    font-family: Georgia, serif;
    font-size: 21px;
    font-weight: 400;
    margin: 0;
}

.video-container {
    width: 100%;
    max-width: 900px;
    aspect-ratio: 16 / 9;
    margin: 0 auto;
}

.video-container iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}