/*
 * Travel and Tourism Services — customer-facing page (/services/travel-tourism).
 * Ported from the client design docs/frontend-source/mahatej-travel-website.html: every class prefixed tv-, every rule scoped
 * under .tv-page so nothing reaches the shared header/footer or other pages.
 */
.tv-page{--ink:#12202B; --ink-soft:#2C3D4A; --parchment:#F6F1E3; --parchment-2:#ECE1C2; --brass:#A9752B; --brass-deep:#7C561D; --teal:#1F4A46; --teal-soft:#3C6864; --rule:#D9CBA3; --card:#FFFCF4; --white:#FFFFFF; --radius:2px; --maxw:1180px;}
.tv-page *{box-sizing:border-box;}
.tv-page{scroll-behavior:smooth;scroll-padding-top:calc(72px + env(safe-area-inset-top,0px));}
.tv-page{margin:0; background:var(--parchment); color:var(--ink); font-family:'Public Sans',system-ui,-apple-system,sans-serif; font-size:16px; line-height:1.6; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px); -webkit-font-smoothing:antialiased;}
.tv-page img, .tv-page svg{max-width:100%;display:block;}
.tv-page a{color:var(--teal);}
.tv-page h1, .tv-page h2, .tv-page h3, .tv-page h4{font-family:'Fraunces',Georgia,serif; font-weight:600; line-height:1.12; margin:0 0 .5em; color:var(--ink); letter-spacing:-0.01em;}
.tv-page p{margin:0 0 1em;max-width:66ch;}
.tv-page .tv-lead{font-size:1.15rem;color:var(--ink-soft);max-width:52ch;}
.tv-page .tv-container{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
.tv-page section{padding:88px 0;}
.tv-page .tv-section-tight{padding:64px 0;}
.tv-page :focus-visible{outline:2px solid var(--brass);outline-offset:3px;}
.tv-page .tv-route{display:flex;align-items:center;gap:10px;margin:0 0 40px;}
.tv-page .tv-route .tv-dots{flex:1;height:1px;background-image:radial-gradient(circle, var(--brass) 1.4px, transparent 1.6px);background-size:9px 1px;background-repeat:repeat-x;opacity:.75;}
.tv-page .tv-route .tv-mark{font-family:'Fraunces',serif;font-style:italic;font-size:.95rem;color:var(--brass-deep);white-space:nowrap;}
.tv-page header.tv-site{position:sticky;top:0;z-index:50; background:color-mix(in srgb, var(--parchment) 92%, transparent); backdrop-filter:blur(6px); border-bottom:1px solid var(--rule); padding-top:env(safe-area-inset-top,0px);}
.tv-page .tv-nav-inner{max-width:var(--maxw);margin:0 auto;padding:14px 28px; display:flex;align-items:center;justify-content:space-between;gap:20px;}
.tv-page .tv-brandmark{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);}
.tv-page .tv-brandmark svg{width:34px;height:34px;flex-shrink:0;}
.tv-page .tv-brandmark .tv-word{font-family:'Fraunces',serif;font-weight:600;font-size:1.28rem;letter-spacing:.01em;}
.tv-page .tv-brandmark .tv-word em{font-style:italic;color:var(--brass-deep);}
.tv-page nav.tv-links{display:flex;gap:26px;flex-wrap:wrap;}
.tv-page nav.tv-links a{color:var(--ink-soft);text-decoration:none;font-size:.94rem;font-weight:500;padding:4px 0;border-bottom:1px solid transparent;}
.tv-page nav.tv-links a:hover{color:var(--brass-deep);border-bottom-color:var(--brass-deep);}
.tv-page .tv-nav-cta{background:var(--ink);color:var(--parchment);padding:10px 18px;text-decoration:none;font-size:.9rem;font-weight:600;border-radius:var(--radius);white-space:nowrap;}
.tv-page .tv-nav-cta:hover{background:var(--brass-deep);color:var(--white);}
@media (max-width:900px){
  .tv-page nav.tv-links{display:none;}
}
.tv-page .tv-btn{display:inline-flex;align-items:center;gap:8px; padding:13px 24px;text-decoration:none;font-weight:600;font-size:.96rem; border-radius:var(--radius);border:1px solid transparent;cursor:pointer;}
.tv-page .tv-btn-primary{background:var(--brass);color:var(--white);}
.tv-page .tv-btn-primary:hover{background:var(--brass-deep);}
.tv-page .tv-btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink);}
.tv-page .tv-btn-ghost:hover{border-color:var(--brass-deep);color:var(--brass-deep);}
.tv-page .tv-btn-invert{background:var(--parchment);color:var(--ink);}
.tv-page .tv-btn-invert:hover{background:var(--brass);color:var(--white);}
.tv-page .tv-hero{padding:64px 0 96px;position:relative;overflow:hidden;}
.tv-page .tv-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;}
@media (max-width:880px){
  .tv-page .tv-hero-grid{grid-template-columns:1fr;}
}
.tv-page .tv-hero h1{font-size:clamp(2.4rem,5vw,3.9rem);}
.tv-page .tv-hero .tv-sub{font-family:'Fraunces',serif;font-style:italic;color:var(--brass-deep);font-size:1.2rem;margin-bottom:18px;display:block;}
.tv-page .tv-hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px;}
.tv-page .tv-badge-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px;}
.tv-page .tv-badge{border:1px solid var(--rule);padding:7px 13px;font-size:.82rem;color:var(--ink-soft);border-radius:20px;background:var(--card);}
.tv-page .tv-compass-wrap{display:flex;justify-content:center;align-items:center;}
.tv-page .tv-section-head{max-width:60ch;margin-bottom:48px;}
.tv-page .tv-section-num{font-family:'Fraunces',serif;font-style:italic;color:var(--brass-deep);font-size:1rem;}
.tv-page .tv-grid{display:grid;gap:22px;}
.tv-page .tv-grid-2{grid-template-columns:repeat(2,1fr);}
.tv-page .tv-grid-3{grid-template-columns:repeat(3,1fr);}
.tv-page .tv-grid-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:900px){
  .tv-page .tv-grid-3, .tv-page .tv-grid-4{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:620px){
  .tv-page .tv-grid-2, .tv-page .tv-grid-3, .tv-page .tv-grid-4{grid-template-columns:1fr;}
}
.tv-page .tv-card{background:var(--card);border:1px solid var(--rule);padding:26px;border-radius:var(--radius);}
.tv-page .tv-card h3{font-size:1.12rem;margin-bottom:8px;}
.tv-page .tv-card p{margin:0;color:var(--ink-soft);font-size:.95rem;}
.tv-page .tv-card .tv-tag{display:inline-block;font-size:.72rem;letter-spacing:.02em;color:var(--teal-soft);border:1px solid var(--teal-soft);padding:2px 9px;border-radius:20px;margin-bottom:12px;}
.tv-page .tv-value-list{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--rule);}
.tv-page .tv-value-list li{padding:18px 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:220px 1fr;gap:20px;}
.tv-page .tv-value-list li b{font-family:'Fraunces',serif;font-weight:600;font-size:1.02rem;}
.tv-page .tv-value-list li span{color:var(--ink-soft);font-size:.95rem;}
@media (max-width:700px){
  .tv-page .tv-value-list li{grid-template-columns:1fr;gap:4px;}
}
.tv-page .tv-chips{display:flex;flex-wrap:wrap;gap:10px;}
.tv-page .tv-chip{border:1px solid var(--rule);background:var(--card);padding:9px 16px;font-size:.88rem;border-radius:20px;color:var(--ink-soft);}
.tv-page .tv-timeline{border-left:1px solid var(--rule);margin-left:8px;padding-left:34px;display:grid;gap:34px;}
.tv-page .tv-timeline .tv-step{position:relative;}
.tv-page .tv-timeline .tv-step::before{content:"";position:absolute;left:-42px;top:2px;width:14px;height:14px;border-radius:50%; background:var(--parchment);border:2px solid var(--brass);}
.tv-page .tv-timeline .tv-step h4{font-size:1.02rem;margin-bottom:4px;}
.tv-page .tv-timeline .tv-step p{margin:0;color:var(--ink-soft);font-size:.93rem;}
.tv-page .tv-region{border-top:1px solid var(--rule);padding:30px 0;}
.tv-page .tv-region-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:14px;}
.tv-page .tv-region-head h3{margin:0;font-size:1.3rem;}
.tv-page .tv-region-head .tv-count{font-size:.82rem;color:var(--teal-soft);font-family:'Fraunces',serif;font-style:italic;}
.tv-page .tv-places{color:var(--ink-soft);font-size:.94rem;}
.tv-page .tv-pkg-table{width:100%;border-collapse:collapse;font-size:.92rem;}
.tv-page .tv-pkg-table th{text-align:left;font-family:'Fraunces',serif;font-weight:600;font-size:.85rem;color:var(--brass-deep);padding:10px 14px;border-bottom:1px solid var(--brass);white-space:nowrap;}
.tv-page .tv-pkg-table td{padding:14px;border-bottom:1px solid var(--rule);vertical-align:top;color:var(--ink-soft);}
.tv-page .tv-pkg-table tr td:first-child{color:var(--ink);font-weight:600;}
.tv-page .tv-table-scroll{overflow-x:auto;border:1px solid var(--rule);}
.tv-page .tv-band{background:var(--ink);color:var(--parchment);}
.tv-page .tv-band h2, .tv-page .tv-band h3, .tv-page .tv-band h4{color:var(--parchment);}
.tv-page .tv-band p, .tv-page .tv-band .tv-lead{color:#C9C1AC;}
.tv-page .tv-band .tv-card{background:#1B2A36;border-color:#33475740;color:var(--parchment);}
.tv-page .tv-band .tv-card p{color:#B9C4C2;}
.tv-page details.tv-qa{border-bottom:1px solid var(--rule);padding:18px 0;}
.tv-page details.tv-qa summary{cursor:pointer;font-weight:600;font-family:'Fraunces',serif;font-size:1.02rem;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;}
.tv-page details.tv-qa summary::-webkit-details-marker{display:none;}
.tv-page details.tv-qa summary::after{content:"+";font-family:'Public Sans',sans-serif;font-size:1.3rem;color:var(--brass-deep);flex-shrink:0;}
.tv-page details.tv-qa[open] summary::after{content:"–";}
.tv-page details.tv-qa .tv-a{margin-top:12px;color:var(--ink-soft);max-width:70ch;}
.tv-page details.tv-clause{border:1px solid var(--rule);border-radius:var(--radius);padding:14px 18px;margin-bottom:8px;background:var(--card);}
.tv-page details.tv-clause summary{cursor:pointer;font-weight:600;font-size:.94rem;list-style:none;display:flex;gap:12px;}
.tv-page details.tv-clause summary::-webkit-details-marker{display:none;}
.tv-page details.tv-clause summary::before{content:"›";color:var(--brass-deep);font-weight:700;transition:transform .15s ease;}
.tv-page details.tv-clause[open] summary::before{transform:rotate(90deg);}
.tv-page details.tv-clause p{margin:10px 0 0;color:var(--ink-soft);font-size:.9rem;}
.tv-page .tv-clause-grid{display:grid;gap:8px;grid-template-columns:1fr 1fr;}
@media (max-width:700px){
  .tv-page .tv-clause-grid{grid-template-columns:1fr;}
}
.tv-page .tv-notice{border:1px solid var(--brass);background:var(--parchment-2);padding:20px 24px;border-radius:var(--radius);margin-bottom:32px;}
.tv-page .tv-notice b{display:block;font-family:'Fraunces',serif;font-size:1rem;margin-bottom:6px;}
.tv-page .tv-notice p{margin:0;font-size:.92rem;color:var(--ink-soft);}
.tv-page .tv-form-wrap{background:var(--card);border:1px solid var(--rule);padding:40px;border-radius:var(--radius);}
.tv-page .tv-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media (max-width:700px){
  .tv-page .tv-form-grid{grid-template-columns:1fr;}
}
.tv-page .tv-field{display:flex;flex-direction:column;gap:6px;}
.tv-page .tv-field.tv-full{grid-column:1/-1;}
.tv-page .tv-field label{font-size:.85rem;font-weight:600;color:var(--ink);}
.tv-page .tv-field .tv-opt{font-weight:400;color:var(--ink-soft);font-size:.78rem;}
.tv-page .tv-field input, .tv-page .tv-field select, .tv-page .tv-field textarea{font-family:inherit;font-size:.95rem;padding:11px 12px;border:1px solid var(--rule);background:var(--parchment);color:var(--ink);border-radius:var(--radius);}
.tv-page .tv-field textarea{resize:vertical;min-height:90px;}
.tv-page .tv-field input:focus, .tv-page .tv-field select:focus, .tv-page .tv-field textarea:focus{outline:2px solid var(--brass);outline-offset:1px;border-color:var(--brass);}
.tv-page .tv-consent{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;color:var(--ink-soft);}
.tv-page .tv-consent input{margin-top:3px;}
.tv-page .tv-form-msg{margin-top:16px;font-size:.9rem;color:var(--teal-soft);display:none;}
.tv-page .tv-form-msg.tv-show{display:block;}
.tv-page .tv-check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
@media (max-width:700px){
  .tv-page .tv-check-grid{grid-template-columns:1fr;}
}
.tv-page .tv-check-card ul{margin:0;padding-left:0;list-style:none;display:grid;gap:9px;}
.tv-page .tv-check-card li{font-size:.92rem;color:var(--ink-soft);padding-left:26px;position:relative;}
.tv-page .tv-check-card li::before{content:"";position:absolute;left:0;top:3px;width:14px;height:14px;border:1.5px solid var(--brass);border-radius:3px;}
.tv-page footer{background:var(--ink);color:var(--parchment);padding:64px 0 40px;}
.tv-page footer h4{color:var(--parchment);font-size:1rem;}
.tv-page footer a{color:#C9C1AC;text-decoration:none;font-size:.9rem;}
.tv-page footer a:hover{color:var(--brass-deep);}
.tv-page .tv-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;}
@media (max-width:800px){
  .tv-page .tv-footer-grid{grid-template-columns:1fr 1fr;}
}
.tv-page .tv-footer-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.tv-page .tv-foot-bottom{border-top:1px solid #33475740;margin-top:48px;padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:.82rem;color:#8D8A78;}
.tv-page .tv-center{text-align:center;}
.tv-page .tv-mx-auto{margin-left:auto;margin-right:auto;}
.tv-page .tv-kicker{font-family:'Fraunces',serif;font-style:italic;color:var(--brass-deep);}

/* Integration resets: keep global site element styles out of the client design. */
.tv-page{display:block; overflow-x:clip}
.tv-page :where(h1,h2,h3,h4,h5){color:inherit; max-width:none}
.tv-page :where(a):hover,.tv-page :where(a):focus-visible{color:inherit}
.tv-page a.tv-division{display:block; text-decoration:none; color:inherit}
.tv-page .tv-policy-label{cursor:default}
html:has(.tv-page){scroll-padding-top:7rem}

/* Readability fix: in the client source, body text inside the dark .band sections inherits the dark ink colour
   (contrast about 1.4:1). Use the client's own light band text colour instead. */
.tv-page .tv-band :is(span,p,li,dd,td):not(.tv-mark):not(.tv-btn):not(.tv-count){color:#C9C1AC}
.tv-page .tv-opt{color:#6A6255}
