/* fonts loaded in each page's <head> */

  :root {
    --ivory:#fbf8f2;--ivory-deep:#f3ece0;
    --terracotta:#bf6233;--terracotta-light:#d4784a;
    --saffron:#e9a72c;--saffron-light:#f0c060;--saffron-deep:#d4890a;
    --navy:#283443;--navy-mid:#374b5e;
    --sage:#7c8a63;--sage-deep:#5f6e49;--blush:#e8c4b0;--leaf:#8ba06a;
    --text:#2c2218;--text-mid:#5a4a38;--text-light:#8a7a68;
    --border:rgba(191,98,51,0.16);--shadow:0 4px 32px rgba(44,34,24,0.10);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  body{background:var(--ivory);color:var(--text);font-family:'Jost',sans-serif;font-weight:300;min-height:100vh;}
  body.lang-hi .en{display:none;}
  body:not(.lang-hi) .hi{display:none;}
  .hi{font-family:'Tiro Devanagari Hindi','Cormorant Garamond',serif;}
  .sprig{display:block;margin:0 auto;width:54px;height:auto;opacity:.9;}
  .hero-photo-frame{width:clamp(200px,52vw,258px);aspect-ratio:4/5;margin:0 auto 24px;border-radius:130px 130px 14px 14px;overflow:hidden;border:2px solid var(--saffron);box-shadow:0 10px 44px rgba(0,0,0,.38);background:rgba(255,255,255,.04);}
  .hero-photo-frame img{width:100%;height:100%;object-fit:cover;display:block;}
  .hero{background:var(--navy);padding:30px 24px 52px;text-align:center;position:relative;overflow:hidden;}
  .hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 20% 50%,rgba(233,167,44,.13) 0%,transparent 60%),radial-gradient(ellipse 60% 80% at 80% 30%,rgba(191,98,51,.15) 0%,transparent 60%);pointer-events:none;}
  .lang-switch{position:relative;z-index:3;display:flex;justify-content:flex-end;gap:6px;max-width:960px;margin:0 auto 14px;}
  .lang-btn{background:transparent;border:1px solid rgba(240,192,96,.35);color:rgba(240,192,96,.75);font-family:'Jost',sans-serif;font-size:11px;letter-spacing:1.5px;padding:6px 14px;border-radius:20px;cursor:pointer;transition:all .2s;}
  .lang-btn:hover{border-color:var(--saffron-light);color:var(--saffron-light);}
  .lang-btn.active{background:var(--saffron);border-color:var(--saffron);color:var(--navy);font-weight:500;}
  .hero-inner{position:relative;z-index:2;}
  .hero-ornament{font-size:13px;letter-spacing:4px;text-transform:uppercase;color:var(--saffron);margin:8px 0 14px;opacity:.85;}
  .hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(38px,7vw,72px);font-weight:300;color:var(--ivory);line-height:1.1;}
  .hero h1 em{font-style:italic;color:var(--saffron-light);}
  .hero h1.hi{font-family:'Tiro Devanagari Hindi',serif;font-size:clamp(32px,6vw,60px);}
  .hero-sub{margin-top:14px;font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--blush);opacity:.85;}
  .hero-welcome{margin:24px auto 0;max-width:580px;font-family:'Cormorant Garamond',serif;font-size:clamp(15px,2.2vw,18px);font-style:italic;color:rgba(251,248,242,.74);line-height:1.75;font-weight:300;}
  .hero-welcome.hi{font-family:'Tiro Devanagari Hindi',serif;font-style:normal;}
  .divider-ornament{margin:26px auto 0;width:120px;height:1px;background:linear-gradient(90deg,transparent,var(--saffron),transparent);opacity:.5;}
  .nav-wrap{background:var(--navy-mid);position:sticky;top:0;z-index:100;box-shadow:0 2px 16px rgba(0,0,0,.2);}
  .nav-tabs{display:flex;overflow-x:auto;scrollbar-width:none;max-width:960px;margin:0 auto;padding:0 16px;gap:2px;}
  .nav-tabs::-webkit-scrollbar{display:none;}
  .nav-tab{padding:16px 18px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(251,248,242,.55);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;transition:all .2s;user-select:none;background:none;border-top:none;border-left:none;border-right:none;font-family:'Jost',sans-serif;font-weight:400;}
  body.lang-hi .nav-tab{font-family:'Tiro Devanagari Hindi',serif;text-transform:none;font-size:14px;}
  .nav-tab:hover{color:rgba(251,248,242,.85);}
  .nav-tab.active{color:var(--saffron-light);border-bottom-color:var(--saffron);}
  .nav-tab.planner-tab{color:rgba(191,98,51,.6);}
  .nav-tab.planner-tab.active{color:var(--terracotta-light);border-bottom-color:var(--terracotta);}
  .main{max-width:960px;margin:0 auto;padding:48px 24px 80px;}
  .tab-panel{display:none;}
  .tab-panel.active{display:block;}
  .section-header{margin-bottom:36px;padding-bottom:20px;border-bottom:1px solid var(--border);position:relative;}
  .section-header .eyebrow{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--terracotta);margin-bottom:8px;display:block;}
  body.lang-hi .section-header .eyebrow{font-family:'Tiro Devanagari Hindi',serif;text-transform:none;font-size:12px;}
  .section-header h2{font-family:'Cormorant Garamond',serif;font-size:clamp(26px,4vw,40px);font-weight:400;color:var(--navy);line-height:1.1;}
  body.lang-hi .section-header h2{font-family:'Tiro Devanagari Hindi',serif;}
  .section-header p{margin-top:10px;color:var(--text-mid);font-size:14px;line-height:1.6;max-width:560px;}
  body.lang-hi .section-header p{font-family:'Tiro Devanagari Hindi',serif;}
  .eyebrow-label{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--terracotta);display:block;margin-bottom:16px;}
  body.lang-hi .eyebrow-label{font-family:'Tiro Devanagari Hindi',serif;text-transform:none;font-size:13px;}
  .sub-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:36px;}
  .sub-tab{padding:9px 18px;border-radius:4px;border:1px solid var(--border);background:transparent;font-family:'Jost',sans-serif;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-mid);cursor:pointer;transition:all .2s;}
  body.lang-hi .sub-tab{font-family:'Tiro Devanagari Hindi',serif;text-transform:none;font-size:13px;}
  .sub-tab:hover{border-color:var(--terracotta);color:var(--terracotta);}
  .sub-tab.active{background:var(--navy);border-color:var(--navy);color:var(--saffron-light);}
  .sub-panel{display:none;}
  .sub-panel.active{display:block;}
  .legend{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:28px;padding:14px 18px;background:var(--ivory-deep);border-radius:8px;border:1px solid var(--border);}
  .legend-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-mid);}
  body.lang-hi .legend-item{font-family:'Tiro Devanagari Hindi',serif;}
  .legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
  .dot-indian{background:var(--saffron);}.dot-american{background:var(--navy);}.dot-logistics{background:var(--sage);}.dot-party{background:var(--terracotta-light);}
  .timeline{list-style:none;}
  .timeline-item{display:grid;grid-template-columns:80px 1fr;gap:0 20px;margin-bottom:4px;position:relative;}
  .timeline-item::after{content:'';position:absolute;left:80px;top:28px;bottom:-4px;width:1px;background:var(--border);}
  .timeline-item:last-child::after{display:none;}
  .tl-time{font-size:11px;letter-spacing:1px;color:var(--text-light);padding-top:14px;text-align:right;}
  body.lang-hi .tl-time{font-family:'Tiro Devanagari Hindi',serif;}
  .tl-card{background:white;border:1px solid var(--border);border-radius:8px;padding:14px 18px;margin-bottom:4px;position:relative;transition:box-shadow .2s;}
  .tl-card:hover{box-shadow:var(--shadow);}
  .tl-card::before{content:'';position:absolute;left:-1px;top:0;bottom:0;width:3px;border-radius:8px 0 0 8px;background:var(--terracotta);}
  .tl-card.indian::before{background:var(--saffron);}.tl-card.american::before{background:var(--navy);}.tl-card.logistics::before{background:var(--sage);}.tl-card.party::before{background:var(--terracotta-light);}
  .tl-title{font-size:14px;font-weight:500;color:var(--text);margin-bottom:3px;}
  body.lang-hi .tl-title{font-family:'Tiro Devanagari Hindi',serif;}
  .tl-desc{font-size:12.5px;color:var(--text-mid);line-height:1.55;}
  body.lang-hi .tl-desc{font-family:'Tiro Devanagari Hindi',serif;}
  .tl-tag{display:inline-block;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;padding:2px 8px;border-radius:10px;margin-top:6px;font-weight:500;}
  body.lang-hi .tl-tag{font-family:'Tiro Devanagari Hindi',serif;text-transform:none;}
  .tag-indian{background:rgba(233,167,44,.15);color:var(--saffron-deep);}
  .tag-american{background:rgba(40,52,67,.1);color:var(--navy-mid);}
  .tag-logistics{background:rgba(124,138,99,.14);color:var(--sage-deep);}
  .tag-party{background:rgba(191,98,51,.12);color:var(--terracotta);}
  .tag-all{background:rgba(191,98,51,.08);color:var(--terracotta);}
  .card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:36px;}
  .info-card{background:white;border:1px solid var(--border);border-radius:10px;padding:24px;position:relative;overflow:hidden;}
  .info-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--saffron),var(--terracotta));}
  .info-card-title{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--navy);margin-bottom:4px;}
  body.lang-hi .info-card-title{font-family:'Tiro Devanagari Hindi',serif;}
  .info-card-role{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--terracotta);margin-bottom:12px;}
  body.lang-hi .info-card-role{font-family:'Tiro Devanagari Hindi',serif;text-transform:none;}
  .info-card-body{font-size:13px;color:var(--text-mid);line-height:1.75;}
  body.lang-hi .info-card-body{font-family:'Tiro Devanagari Hindi',serif;}
  .info-card-body strong{color:var(--text);font-weight:500;}
  .outfit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:32px;}
  .outfit-card{background:white;border:1px solid var(--border);border-radius:8px;padding:20px;}
  .outfit-day{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--terracotta);margin-bottom:6px;}
  body.lang-hi .outfit-day{font-family:'Tiro Devanagari Hindi',serif;text-transform:none;}
  .outfit-title{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--navy);margin-bottom:10px;}
  body.lang-hi .outfit-title{font-family:'Tiro Devanagari Hindi',serif;}
  .outfit-item{font-size:12.5px;color:var(--text-mid);line-height:1.7;padding-left:12px;position:relative;margin-bottom:2px;}
  body.lang-hi .outfit-item{font-family:'Tiro Devanagari Hindi',serif;}
  .outfit-item::before{content:'—';position:absolute;left:0;color:var(--saffron);}
  .pack-section{margin-bottom:28px;}
  .pack-section h4{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--terracotta);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border);}
  body.lang-hi .pack-section h4{font-family:'Tiro Devanagari Hindi',serif;text-transform:none;}
  .pack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px;}
  .pack-item{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-mid);padding:5px 0;cursor:pointer;}
  body.lang-hi .pack-item{font-family:'Tiro Devanagari Hindi',serif;}
  .pack-check{width:16px;height:16px;border:1px solid var(--border);border-radius:3px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s;background:white;}
  .pack-check.checked{background:var(--sage);border-color:var(--sage);}
  .pack-check.checked::after{content:'✓';color:white;font-size:10px;}
  .pack-item.checked-item span{text-decoration:line-through;color:var(--text-light);}
  .pack-save-note{font-size:11px;color:var(--text-light);font-style:italic;margin-bottom:20px;padding:10px 14px;background:var(--ivory-deep);border-radius:6px;border-left:3px solid var(--saffron);}
  body.lang-hi .pack-save-note{font-family:'Tiro Devanagari Hindi',serif;font-style:normal;}
  .note-box{background:rgba(233,167,44,.08);border:1px solid rgba(233,167,44,.25);border-radius:8px;padding:16px 20px;margin-top:20px;font-size:13px;color:var(--text-mid);line-height:1.6;}
  body.lang-hi .note-box{font-family:'Tiro Devanagari Hindi',serif;}
  .note-box strong{color:var(--saffron-deep);}
  .faq-item{border:1px solid var(--border);border-radius:8px;margin-bottom:8px;overflow:hidden;background:white;}
  .faq-q{padding:16px 20px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:500;color:var(--text);transition:background .2s;user-select:none;}
  body.lang-hi .faq-q{font-family:'Tiro Devanagari Hindi',serif;}
  .faq-q:hover{background:var(--ivory-deep);}.faq-q.open{background:var(--ivory-deep);}
  .faq-arrow{font-size:12px;color:var(--terracotta);transition:transform .2s;flex-shrink:0;margin-left:12px;}
  .faq-q.open .faq-arrow{transform:rotate(180deg);}
  .faq-a{display:none;padding:0 20px 16px;font-size:13px;color:var(--text-mid);line-height:1.7;border-top:1px solid var(--border);}
  body.lang-hi .faq-a{font-family:'Tiro Devanagari Hindi',serif;}
  .faq-a.open{display:block;}
  .faq-category{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--terracotta);margin:28px 0 12px;display:block;}
  body.lang-hi .faq-category{font-family:'Tiro Devanagari Hindi',serif;text-transform:none;font-size:13px;}
  .ai-chat-wrap{background:white;border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-top:32px;}
  .ai-chat-header{background:var(--navy);padding:16px 20px;display:flex;align-items:center;gap:12px;}
  .ai-chat-header-dot{width:8px;height:8px;border-radius:50%;background:var(--saffron);animation:pulse 2s infinite;}
  @keyframes pulse{0%,100%{opacity:1;}50%{opacity:.4;}}
  .ai-chat-title{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--saffron-light);}
  body.lang-hi .ai-chat-title{font-family:'Tiro Devanagari Hindi',serif;text-transform:none;}
  .ai-chat-sub{font-size:11px;color:rgba(251,248,242,.5);margin-left:auto;}
  .ai-messages{padding:20px;min-height:180px;max-height:360px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;}
  .ai-msg{max-width:80%;padding:10px 14px;border-radius:10px;font-size:13px;line-height:1.6;}
  body.lang-hi .ai-msg{font-family:'Tiro Devanagari Hindi',serif;}
  .ai-msg.bot{background:var(--ivory-deep);color:var(--text);border-bottom-left-radius:2px;align-self:flex-start;}
  .ai-msg.user{background:var(--navy);color:var(--ivory);border-bottom-right-radius:2px;align-self:flex-end;}
  .ai-msg.thinking{color:var(--text-light);font-style:italic;}
  .ai-input-row{display:flex;gap:0;border-top:1px solid var(--border);}
  .ai-input{flex:1;padding:14px 18px;border:none;font-family:'Jost',sans-serif;font-size:13px;color:var(--text);background:white;outline:none;}
  body.lang-hi .ai-input{font-family:'Tiro Devanagari Hindi',serif;}
  .ai-input::placeholder{color:var(--text-light);}
  .ai-send{padding:14px 20px;background:var(--terracotta);color:white;border:none;font-family:'Jost',sans-serif;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:background .2s;white-space:nowrap;}
  .ai-send:hover{background:var(--terracotta-light);}.ai-send:disabled{background:var(--text-light);cursor:not-allowed;}
  .ai-api-notice{padding:12px 20px;background:rgba(233,167,44,.08);font-size:11px;color:var(--text-light);border-top:1px solid var(--border);text-align:center;}
  body.lang-hi .ai-api-notice{font-family:'Tiro Devanagari Hindi',serif;}
  .form-wrap{background:white;border:1px solid var(--border);border-radius:10px;padding:28px;margin-top:24px;}
  .form-wrap h3{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--navy);margin-bottom:6px;}
  body.lang-hi .form-wrap h3{font-family:'Tiro Devanagari Hindi',serif;}
  .form-wrap p{font-size:13px;color:var(--text-mid);margin-bottom:20px;line-height:1.6;}
  body.lang-hi .form-wrap p{font-family:'Tiro Devanagari Hindi',serif;}
  .form-row{margin-bottom:16px;}
  .form-label{display:block;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--terracotta);margin-bottom:6px;}
  body.lang-hi .form-label{font-family:'Tiro Devanagari Hindi',serif;text-transform:none;}
  .form-input,.form-textarea,.form-select{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:6px;font-family:'Jost',sans-serif;font-size:13px;color:var(--text);background:var(--ivory);outline:none;transition:border-color .2s;}
  .form-textarea{min-height:100px;resize:vertical;}
  .form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--terracotta);background:white;}
  .form-submit{padding:12px 28px;background:var(--terracotta);color:white;border:none;border-radius:6px;font-family:'Jost',sans-serif;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:background .2s;}
  .form-submit:hover{background:var(--terracotta-light);}
  .form-success{display:none;padding:14px 18px;background:rgba(124,138,99,.1);border:1px solid rgba(124,138,99,.3);border-radius:6px;font-size:13px;color:var(--sage-deep);margin-top:16px;}
  body.lang-hi .form-success{font-family:'Tiro Devanagari Hindi',serif;}
  .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  @media(max-width:560px){.form-grid{grid-template-columns:1fr;}}
  .planner-lock{text-align:center;padding:80px 24px;}
  .lock-icon{font-size:48px;margin-bottom:20px;opacity:.4;}
  .planner-lock h3{font-family:'Cormorant Garamond',serif;font-size:28px;color:var(--navy);margin-bottom:8px;}
  body.lang-hi .planner-lock h3{font-family:'Tiro Devanagari Hindi',serif;}
  .planner-lock p{font-size:13px;color:var(--text-mid);margin-bottom:28px;}
  body.lang-hi .planner-lock p{font-family:'Tiro Devanagari Hindi',serif;}
  .pw-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
  .pw-input{padding:11px 18px;border:1px solid var(--border);border-radius:6px;font-family:'Jost',sans-serif;font-size:14px;color:var(--text);background:white;outline:none;width:220px;transition:border-color .2s;}
  .pw-input:focus{border-color:var(--terracotta);}
  .pw-btn{padding:11px 24px;background:var(--terracotta);color:white;border:none;border-radius:6px;font-family:'Jost',sans-serif;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:background .2s;}
  .pw-btn:hover{background:var(--terracotta-light);}
  .pw-error{color:var(--terracotta);font-size:12px;margin-top:10px;display:none;}
  .planner-content{display:none;}
  .travel-table-wrap{overflow-x:auto;margin-top:24px;}
  .travel-table{width:100%;border-collapse:collapse;font-size:13px;}
  .travel-table th{background:var(--navy);color:var(--saffron-light);font-weight:400;font-size:10px;letter-spacing:2px;text-transform:uppercase;padding:12px 16px;text-align:left;white-space:nowrap;}
  .travel-table td{padding:12px 16px;border-bottom:1px solid var(--border);color:var(--text-mid);vertical-align:top;}
  .travel-table tr:hover td{background:var(--ivory-deep);}
  .travel-table td:first-child{font-weight:500;color:var(--text);}
  .badge{display:inline-block;font-size:9px;letter-spacing:1px;text-transform:uppercase;padding:2px 7px;border-radius:10px;}
  .badge.confirmed{background:rgba(124,138,99,.18);color:var(--sage-deep);}
  .badge.tbd{background:rgba(191,98,51,.1);color:var(--terracotta);}
  @media(max-width:600px){.timeline-item{grid-template-columns:58px 1fr;gap:0 12px;}.tl-time{font-size:10px;padding-top:13px;}.main{padding:32px 16px 60px;}.lang-switch{justify-content:center;}}

  /* LOGIN GATE */
  .gate{min-height:100vh;background:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 22px 60px;position:relative;overflow:hidden;text-align:center;}
  .gate::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 20% 40%,rgba(233,167,44,.14) 0%,transparent 60%),radial-gradient(ellipse 60% 80% at 80% 60%,rgba(191,98,51,.16) 0%,transparent 60%);pointer-events:none;}
  .gate-lang{position:absolute;top:18px;right:18px;z-index:3;display:flex;gap:6px;}
  .gate-inner{position:relative;z-index:2;max-width:440px;width:100%;}
  .gate .hero-photo-frame{margin-bottom:26px;}
  .gate-ornament{font-size:12px;letter-spacing:4px;text-transform:uppercase;color:var(--saffron);margin-bottom:12px;opacity:.85;}
  .gate h1{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,7vw,58px);font-weight:300;color:var(--ivory);line-height:1.1;}
  .gate h1 em{font-style:italic;color:var(--saffron-light);}
  .gate h1.hi{font-family:'Tiro Devanagari Hindi',serif;}
  .gate-sub{margin-top:12px;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--blush);opacity:.85;}
  .gate-welcome{margin:22px auto 0;font-family:'Cormorant Garamond',serif;font-size:16px;font-style:italic;color:rgba(251,248,242,.8);line-height:1.7;}
  .gate-welcome.hi{font-family:'Tiro Devanagari Hindi',serif;font-style:normal;}
  .gate-form{margin-top:30px;background:rgba(255,255,255,.05);border:1px solid rgba(240,192,96,.25);border-radius:14px;padding:26px 22px;}
  .gate-label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--saffron-light);margin-bottom:12px;display:block;}
  body.lang-hi .gate-label{font-family:'Tiro Devanagari Hindi',serif;text-transform:none;font-size:13px;}
  .gate-input{width:100%;padding:14px 16px;border:1px solid rgba(240,192,96,.35);border-radius:8px;background:rgba(251,248,242,.97);font-family:'Jost',sans-serif;font-size:16px;color:var(--text);outline:none;text-align:center;letter-spacing:1px;}
  .gate-input:focus{border-color:var(--saffron);}
  .gate-btn{width:100%;margin-top:12px;padding:14px;background:var(--saffron);color:var(--navy);border:none;border-radius:8px;font-family:'Jost',sans-serif;font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:500;cursor:pointer;transition:background .2s;}
  .gate-btn:hover{background:var(--saffron-light);}
  .gate-btn:disabled{opacity:.6;cursor:not-allowed;}
  .gate-hint{margin-top:16px;font-size:12.5px;color:rgba(251,248,242,.6);line-height:1.6;}
  body.lang-hi .gate-hint{font-family:'Tiro Devanagari Hindi',serif;}
  .gate-hint b{color:var(--saffron-light);font-weight:500;}
  .gate-error{margin-top:14px;font-size:13px;color:#f0a894;display:none;line-height:1.5;}
  body.lang-hi .gate-error{font-family:'Tiro Devanagari Hindi',serif;}

  /* logout / who's logged in */
  .session-bar{position:relative;z-index:3;max-width:960px;margin:0 auto;display:flex;justify-content:flex-end;align-items:center;gap:14px;padding:0 24px;font-size:12px;color:rgba(251,248,242,.7);}
  .session-who{color:var(--blush);}
  body.lang-hi .session-who{font-family:'Tiro Devanagari Hindi',serif;}
  .logout-btn{background:transparent;border:1px solid rgba(240,192,96,.3);color:rgba(240,192,96,.8);font-family:'Jost',sans-serif;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;padding:5px 12px;border-radius:16px;cursor:pointer;transition:all .2s;}
  body.lang-hi .logout-btn{font-family:'Tiro Devanagari Hindi',serif;text-transform:none;}
  .logout-btn:hover{border-color:var(--saffron-light);color:var(--saffron-light);}

  /* PERSONALIZED ITINERARY */
  .greeting-card{background:linear-gradient(135deg,rgba(233,167,44,.1),rgba(191,98,51,.08));border:1px solid var(--border);border-radius:12px;padding:26px 28px;margin-bottom:32px;}
  .greeting-card .eyebrow{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--terracotta);margin-bottom:8px;display:block;}
  body.lang-hi .greeting-card .eyebrow{font-family:'Tiro Devanagari Hindi',serif;text-transform:none;font-size:12px;}
  .greeting-card h2{font-family:'Cormorant Garamond',serif;font-size:clamp(24px,4vw,34px);color:var(--navy);font-weight:500;line-height:1.15;}
  body.lang-hi .greeting-card h2{font-family:'Tiro Devanagari Hindi',serif;}
  .greeting-note{margin-top:12px;font-family:'Cormorant Garamond',serif;font-size:17px;font-style:italic;color:var(--text-mid);line-height:1.6;}
  .greeting-guests{margin-top:10px;font-size:13px;color:var(--text-light);}
  .hh-section-label{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--terracotta);display:block;margin:36px 0 16px;}
  body.lang-hi .hh-section-label{font-family:'Tiro Devanagari Hindi',serif;text-transform:none;font-size:13px;}
  .hh-card{background:white;border:1px solid var(--border);border-radius:10px;padding:22px 24px;margin-bottom:16px;}
  .hh-card-title{font-family:'Cormorant Garamond',serif;font-size:19px;color:var(--navy);margin-bottom:6px;}
  body.lang-hi .hh-card-title{font-family:'Tiro Devanagari Hindi',serif;}
  .hh-card-body{font-size:13.5px;color:var(--text-mid);line-height:1.7;white-space:pre-line;}
  body.lang-hi .hh-card-body{font-family:'Tiro Devanagari Hindi',serif;}
  .hh-hotel-btn{display:inline-block;margin-top:12px;padding:9px 18px;background:var(--terracotta);color:white;border-radius:6px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;transition:background .2s;}
  .hh-hotel-btn:hover{background:var(--terracotta-light);}
  .no-events{background:var(--ivory-deep);border:1px solid var(--border);border-radius:10px;padding:22px;font-size:13.5px;color:var(--text-mid);line-height:1.6;}
  body.lang-hi .no-events{font-family:'Tiro Devanagari Hindi',serif;}
  .event-hidden{display:none;}


/* ============================================================
   TYPOGRAPHY REFRESH + MULTI-PAGE HEADER + PAGE LAYOUT
   (appended last so these rules win)
   ============================================================ */

/* Warmer, editorial type: EB Garamond for body, Cormorant for display.
   Softer labels — less of the uppercase-tracked look. */
body{font-family:'EB Garamond',Georgia,serif;font-weight:400;font-size:17.5px;line-height:1.7;color:var(--text);}
.hi{font-family:'Tiro Devanagari Hindi','EB Garamond',serif;}

/* dial back the "systematized" uppercase eyebrows into a gentle italic serif */
.section-header .eyebrow,.eyebrow-label,.hh-section-label,.faq-category,.info-card-role,.outfit-day,.greeting-card .eyebrow{
  font-family:'Cormorant Garamond',serif !important;text-transform:none !important;letter-spacing:.5px !important;
  font-style:italic;font-size:16px !important;color:var(--terracotta);font-weight:500;
}
.section-header h2,.greeting-card h2{letter-spacing:.2px;}
.tl-title,.info-card-title,.hh-card-title,.outfit-title,.form-wrap h3{letter-spacing:.2px;}
.tl-desc,.info-card-body,.hh-card-body,.faq-a,.section-header p,.note-box,.outfit-item{font-size:15.5px;line-height:1.75;}
.tl-tag{font-family:'Cormorant Garamond',serif;text-transform:none;letter-spacing:.3px;font-style:italic;font-size:13px;}
.faq-q{font-size:17px;font-weight:500;}

/* ---------- SHARED SITE HEADER (the sleek bar under the hero) ---------- */
#site-header{background:var(--navy);position:sticky;top:0;z-index:200;box-shadow:0 2px 20px rgba(0,0,0,.22);}
.site-header-inner{max-width:1040px;margin:0 auto;display:flex;align-items:center;gap:18px;padding:14px 22px;flex-wrap:nowrap;}
.site-brand{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--ivory);text-decoration:none;white-space:nowrap;letter-spacing:.3px;}
.site-brand:hover{color:var(--saffron-light);}
.site-brand .en em,.site-brand em{font-style:italic;color:var(--saffron-light);}
.site-nav{display:flex;align-items:center;gap:4px;margin-left:8px;flex:1;flex-wrap:wrap;}
.nav-link{font-family:'EB Garamond',serif;font-size:15.5px;color:rgba(251,248,242,.72);text-decoration:none;padding:8px 12px;border-radius:6px;white-space:nowrap;transition:all .18s;}
.nav-link:hover{color:var(--ivory);background:rgba(255,255,255,.06);}
.nav-link.active{color:var(--navy);background:var(--saffron);font-weight:500;}
.header-actions{display:flex;align-items:center;gap:12px;margin-left:auto;}
.header-actions .lang-switch{display:flex;gap:4px;margin:0;}
.header-actions .lang-btn{padding:5px 10px;font-size:12px;border-radius:14px;background:transparent;border:1px solid rgba(240,192,96,.3);color:rgba(240,192,96,.8);cursor:pointer;font-family:'EB Garamond',serif;}
.header-actions .lang-btn.active{background:var(--saffron);border-color:var(--saffron);color:var(--navy);}
.header-actions .logout-btn{background:transparent;border:1px solid rgba(240,192,96,.28);color:rgba(240,192,96,.82);font-family:'EB Garamond',serif;font-size:13px;padding:6px 14px;border-radius:16px;cursor:pointer;white-space:nowrap;transition:all .18s;}
.header-actions .logout-btn:hover{border-color:var(--saffron-light);color:var(--saffron-light);}
.nav-toggle{display:none;background:transparent;border:none;color:var(--saffron-light);font-size:22px;cursor:pointer;padding:4px 8px;margin-left:auto;}

@media(max-width:860px){
  .nav-toggle{display:block;order:3;}
  .site-nav{order:4;flex-basis:100%;flex-direction:column;align-items:stretch;gap:2px;margin:0;max-height:0;overflow:hidden;transition:max-height .25s ease;}
  .site-nav.open{max-height:520px;margin-top:10px;}
  .nav-link{padding:11px 12px;font-size:16px;}
  .header-actions{order:2;}
  .site-header-inner{flex-wrap:wrap;gap:10px;}
}

/* ---------- PAGE WRAPPER for the standalone content pages ---------- */
.subpage{background:var(--ivory);visibility:hidden;}
.page{max-width:900px;margin:0 auto;padding:52px 24px 90px;}
.page-title{font-family:'Cormorant Garamond',serif;font-size:clamp(30px,5vw,48px);font-weight:400;color:var(--navy);line-height:1.08;margin-bottom:8px;}
.page-title.hi{font-family:'Tiro Devanagari Hindi',serif;}
.page-lede{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:19px;color:var(--text-mid);line-height:1.6;margin-bottom:36px;max-width:620px;}
.page-lede.hi{font-family:'Tiro Devanagari Hindi',serif;font-style:normal;}
.page-divider{width:70px;height:2px;background:linear-gradient(90deg,var(--saffron),transparent);margin:0 0 34px;border:none;}
.placeholder-note{background:var(--ivory-deep);border:1px dashed var(--border);border-radius:10px;padding:26px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;color:var(--text-light);line-height:1.6;}
.placeholder-note.hi{font-family:'Tiro Devanagari Hindi',serif;font-style:normal;}

/* Home landing sections on index */
.home-hero-line{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(18px,3vw,24px);color:var(--text-mid);line-height:1.6;max-width:640px;margin:0 auto 8px;text-align:center;}
.section-toggle{display:none;}
.section-toggle.active{display:block;}

/* stop the page from jumping: no forced scroll on tab/section switch (handled in JS) */
html{scroll-behavior:auto;}
