/* ============================================================
   MAJESTY TOURS Sri Lanka
   Cinematic interactive rebuild
   ============================================================ */
:root{
  --ink:#211a12;
  --paper:#f4ece0;
  --paper-2:#ece0cf;
  --forest:#4a6b39;
  --forest-deep:#33492a;
  --tea:#3f5536;
  --tea-deep:#2c3c26;
  --gold:#c9a227;
  --clay:#8a3b2e;
  --mist:#d9cdb9;
  --line:rgba(14,35,62,.16);
  --card-border:rgba(138,92,46,.14);
  --navy:#0e233e;
  --bg:oklch(96% .009 258);
  --bg-alt:oklch(93% .014 155);
  --text-muted:#4a4033;
  --text-mid:#6a5d4c;
  --display:"EB Garamond",Georgia,serif;
  --body:"Barlow",system-ui,sans-serif;
  --motion:1;
  --hero-dark:.55;
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--body);
  font-weight:300;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  font-kerning:normal;
  text-rendering:optimizeLegibility;
}
::selection{background:var(--forest);color:var(--paper)}

h1,h2,h3,h4{font-family:var(--display);font-weight:400;line-height:1.04;letter-spacing:-.01em;text-wrap:balance}
h1,h2,h3{font-optical-sizing:auto}
.serif-italic{font-style:italic;font-weight:400}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font-family:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}

/* ---------- SKIP LINK ---------- */
.skip-link{position:absolute;top:-100%;left:1rem;z-index:10002;background:var(--navy);color:var(--paper);padding:.6rem 1.4rem;border-radius:4px;font-family:var(--body);font-size:.85rem;text-decoration:none;transition:top .2s var(--ease)}
.skip-link:focus{top:1rem;outline:2px solid var(--gold);outline-offset:3px}
.field input:focus-visible,.field textarea:focus-visible{outline:none}

.wrap{max-width:1280px;margin:0 auto;padding:0 5vw}
.eyebrow{font-family:var(--body);font-weight:500;font-size:.8rem;letter-spacing:.28em;text-transform:uppercase;color:var(--forest-deep)}

/* ---------- CUSTOM CURSOR ---------- */
.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;border-radius:50%;pointer-events:none;z-index:10000;mix-blend-mode:normal;will-change:transform;transform:translate(-50%,-50%)}
.cursor-dot{width:22px;height:31px;background:none;border-radius:0;transition:opacity .3s;animation:srilanka-glow 2.4s ease-in-out infinite}
.cursor-dot path{paint-order:stroke fill;stroke:rgba(0,0,0,.45);stroke-width:36}
@keyframes srilanka-glow{0%,100%{filter:drop-shadow(0 0 2px rgba(255,255,255,.3))}50%{filter:drop-shadow(0 0 7px rgba(255,255,255,.75))}}
.cursor-ring{width:38px;height:38px;border:1.5px solid rgba(255,255,255,.55);opacity:.55;transition:transform .3s var(--ease),opacity .3s,background .3s,border-color .3s}
.cursor-ring.hot{transform:scale(1.63);opacity:.9;border-color:rgba(255,255,255,.9)}
.cursor-ring.hot.invert{background:rgba(201,162,39,.16)}
.cursor-label{position:fixed;top:0;left:0;transform:translate(-50%,-50%);pointer-events:none;z-index:10001;font-family:var(--body);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--paper);opacity:0;transition:opacity .25s}
.cursor-label.show{opacity:1}
@media (hover:none),(max-width:900px){.cursor-dot,.cursor-ring,.cursor-label{display:none!important}body{cursor:auto}}
body.has-cursor{cursor:none}
body.has-cursor a,body.has-cursor button,body.has-cursor .tour,body.has-cursor .gitem,body.has-cursor .pin{cursor:none}

/* scroll progress bar */
.scroll-prog{position:fixed;top:0;left:0;height:2px;width:100%;background:linear-gradient(90deg,var(--forest),var(--gold));z-index:1001;transform:scaleX(0);transform-origin:left;transition:transform .1s linear}

/* ---------- NAV ---------- */
header{position:fixed;top:0;left:0;right:0;z-index:1000;transition:all .5s var(--ease)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:1.6rem 5vw}
.nav.scrolled{padding:.85rem 5vw;background:oklch(96% .009 258 / 82%);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.logo{font-family:var(--display);font-size:1.45rem;letter-spacing:-.01em;display:flex;align-items:center;gap:.6rem}
.logo b{font-weight:500}
.logo .mark{width:32px;height:32px;flex:none;overflow:visible}
.logo .mark .stamp{transform-origin:20px 20px;animation:spin 28s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.logo-img{height:48px;width:auto;display:block;object-fit:contain}
.logo-img--light{display:block}
.logo-img--dark{display:none}
.nav.scrolled .logo-img--light{display:none}
.nav.scrolled .logo-img--dark{display:block}
.logo-img--footer{filter:brightness(0) invert(1)}
.logo-text{display:flex;flex-direction:column;gap:.15rem;line-height:1}
.logo-name{font-family:var(--display);font-size:1.25rem;font-weight:500;letter-spacing:.01em;color:var(--paper);transition:color .5s var(--ease)}
.logo-tagline{font-family:var(--body);font-size:.65rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:rgba(244,236,224,.65);transition:color .5s var(--ease)}
.nav.scrolled .logo-name{color:var(--navy)}
.nav.scrolled .logo-tagline{color:rgba(26,43,74,.5)}
.navlinks{display:flex;gap:2.4rem;align-items:center}
.navlinks a{font-size:.82rem;font-weight:400;letter-spacing:.06em;position:relative;padding:.2rem 0;color:rgba(244,236,224,.9);transition:color .5s var(--ease)}
.navlinks a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--gold);transition:.4s var(--ease)}
.navlinks a:not(.nav-cta):hover::after,.navlinks a.current::after{width:100%}
.navlinks a.current{color:var(--paper)}
.nav.scrolled .navlinks a:not(.nav-cta){color:var(--navy)}
.nav.scrolled .navlinks a.current{color:var(--forest-deep)}
.nav.scrolled .navlinks a:not(.nav-cta)::after{background:var(--forest)}
.nav-cta{border:1px solid rgba(244,236,224,.7);padding:.6rem 1.3rem!important;border-radius:40px;font-size:.78rem!important;letter-spacing:.08em!important;transition:.4s var(--ease);overflow:hidden;position:relative;white-space:nowrap;flex-shrink:0}
.nav.scrolled .nav-cta{border-color:var(--navy);color:var(--navy)}
.nav-cta span{position:relative;z-index:1}
.nav-cta::before{content:"";position:absolute;inset:0;background:rgba(244,236,224,.15);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);z-index:0}
.nav.scrolled .nav-cta::before{background:var(--navy)}
.nav-cta:hover{color:var(--paper)}
.nav-cta:hover::before{transform:scaleX(1)}
.nav.scrolled .nav-cta:hover{color:var(--paper)}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none}
.burger span{width:26px;height:1.5px;background:var(--paper);transition:.4s}
.nav.scrolled .burger span{background:var(--ink)}
.burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* ---------- HERO ---------- */
/* ---------- HERO LOADER ---------- */
.hero-loader{position:absolute;inset:0;z-index:20;background:var(--navy);display:flex;align-items:center;justify-content:center;transition:opacity .9s var(--ease);will-change:opacity}
.hero-loader.done{opacity:0;pointer-events:none}
.hero-loader-ring{width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(201,162,39,.2);border-top-color:var(--gold);animation:spin-ring 1s linear infinite}
@keyframes spin-ring{to{transform:rotate(360deg)}}

.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;padding-bottom:6vh;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-slide{position:absolute;inset:-12% 0;background-size:cover;background-position:center;will-change:transform,opacity;opacity:0;transition:opacity 1.8s cubic-bezier(.4,0,.2,1);transform:scale(1.08);animation:kenburns 26s ease-in-out forwards}
.hero-slide.active{opacity:1}
@keyframes kenburns{to{transform:scale(1.16) translateY(-2%)}}
.hero-slide[data-slide="0"]{background-color:#8a3b2e;background-image:url('https://commons.wikimedia.org/wiki/Special:FilePath/Sigiriya%20Fortress%2C%20Sri%20Lanka.jpg?width=2400');background-position:center 30%}
.hero-slide[data-slide="1"]{background-color:#2c3c26;background-image:url('https://commons.wikimedia.org/wiki/Special:FilePath/202312%20Nine%20Arches%20Bridge%2C%20Sri%20Lanka.jpg?width=2400');background-position:center 45%}
.hero-slide[data-slide="2"]{background-color:#3a2010;background-image:url('https://commons.wikimedia.org/wiki/Special:FilePath/Sri%20Lankan%20leopard%20(Panthera%20pardus%20kotiya)%20male.jpg?width=2400');background-position:center 25%}
.hero-slide[data-slide="3"]{background-color:#46402a;background-image:url('https://commons.wikimedia.org/wiki/Special:FilePath/Galle%20Fort.jpg?width=2400');background-position:center 60%}
.hero-slide[data-slide="4"]{background-color:#2f3a44;background-image:url('https://commons.wikimedia.org/wiki/Special:FilePath/Temple%20of%20the%20Tooth%2C%20Kandy.jpg?width=2400');background-position:center 40%}
.hero-slide[data-slide="5"]{background-color:#1f6b6b;background-image:url('https://commons.wikimedia.org/wiki/Special:FilePath/Unawatuna%20beach.jpg?width=2400');background-position:center 50%}
.hero-grad{position:absolute;inset:0;z-index:2;background:linear-gradient(105deg,rgba(33,26,18,.5) 0%,rgba(33,26,18,.1) 45%,transparent 70%)}
.hero-vignette{position:absolute;inset:0;z-index:3;background:linear-gradient(to bottom,rgba(33,26,18,.12) 0%,rgba(33,26,18,calc(var(--hero-dark))) 100%)}
.hero-inner{position:relative;z-index:5;width:100%}
.hero .eyebrow{color:var(--gold);margin-bottom:1.4rem}
.hero h1{font-size:clamp(3.2rem,7vw,6rem);color:var(--paper);text-shadow:0 2px 40px rgba(33,26,18,.35);max-width:14ch;font-weight:500}
.hero h1 .lt{display:inline-block;opacity:0;transform:translateY(118%) rotate(4deg);animation:rise calc(1s / var(--motion,1)) var(--ease) forwards}
@keyframes rise{to{opacity:1;transform:none}}
.hero-sub{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1.5rem;margin-top:2rem;opacity:0;animation:fade 1s ease forwards;animation-delay:1.1s}
.hero-sub p{color:var(--paper);max-width:40ch;font-size:1.06rem;font-weight:300}
@keyframes fade{to{opacity:1}}
.scroll-cue{display:flex;align-items:center;gap:.7rem;color:var(--paper);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase}
.scroll-cue .line{width:50px;height:1px;background:rgba(244,236,224,.5);position:relative;overflow:hidden}
.scroll-cue .line::after{content:"";position:absolute;inset:0;background:var(--gold);transform:translateX(-100%);animation:slide 2.4s infinite}
@keyframes slide{50%{transform:translateX(0)}100%{transform:translateX(100%)}}
.hero-meta{position:absolute;top:20vh;right:5vw;z-index:5;writing-mode:vertical-rl;font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--paper);opacity:0;animation:fade 1s ease forwards 1.4s}
.hero-tags{display:flex;gap:1.6rem;margin-top:1.6rem;opacity:0;animation:fade 1s ease forwards 1.3s;flex-wrap:wrap}
.hero-tags span{color:var(--paper);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:.5rem}
.hero-tags span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold)}

/* ---------- HERO SLIDE UI ---------- */
.hero-slide-ui{position:relative;z-index:6;display:flex;flex-direction:column;align-items:flex-start;gap:.85rem;pointer-events:none;margin-top:2rem;opacity:0;animation:fade 1s ease forwards;animation-delay:1.3s}
.hero-slide-label{font-family:var(--body);font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(244,236,224,.7);opacity:0;transform:translateY(6px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.hero-slide-label.visible{opacity:1;transform:none}
.hero-slide-dots{display:flex;gap:.55rem;pointer-events:auto}
.hsd{width:20px;height:2px;border-radius:2px;border:none;background:rgba(244,236,224,.35);cursor:pointer;padding:0;transition:background .4s var(--ease),width .4s var(--ease);position:relative}
.hsd.active{width:36px;background:var(--gold)}
.hsd.active::after{content:'';position:absolute;left:0;top:0;height:100%;width:0%;background:rgba(244,236,224,.5);border-radius:2px;animation:hsd-fill var(--slide-dur,7s) linear forwards}
@keyframes hsd-fill{to{width:100%}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:opacity .1s;animation:none!important}.hero-slide.active{animation:none!important;transform:scale(1.08)}.hsd.active::after{animation:none;width:100%}}
@media(max-width:900px){.hero-slide-label{display:none}.hero-slide-ui{bottom:3rem}}

/* ---------- DESTINATIONS STRIP ---------- */
.dest-strip{background:var(--navy);border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.dest-strip-inner{display:grid;grid-template-columns:repeat(6,1fr);max-width:var(--mw);margin:0 auto}
.dest-item{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1.6rem 1rem;border-right:1px solid rgba(255,255,255,.08);cursor:pointer;transition:background .3s;position:relative}
.dest-item:last-child{border-right:none}
.dest-item:hover{background:rgba(255,255,255,.04)}
.dest-item.active{background:rgba(255,255,255,.06)}
.dest-item.active::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold)}
.dest-item.active .dest-name{color:var(--gold)}
.dest-item.active .dest-icon{color:var(--gold);opacity:1}
.dest-num{font-family:var(--body);font-size:.65rem;font-weight:500;letter-spacing:.18em;color:var(--gold);text-transform:uppercase}
.dest-name{font-family:var(--display);font-size:1.1rem;font-style:italic;color:var(--paper);transition:color .3s}
.dest-item:hover .dest-name{color:var(--gold)}
.dest-icon{width:2.25rem;height:2.25rem;color:var(--paper);opacity:.7;flex-shrink:0;transition:color .3s,opacity .3s}
.dest-item:hover .dest-icon{color:var(--gold);opacity:1}
@media(max-width:700px){.dest-strip-inner{grid-template-columns:repeat(3,1fr)}.dest-item:nth-child(3){border-right:none}.dest-item:nth-child(n+4){border-top:1px solid rgba(255,255,255,.08)}}

/* ---------- SECTION SCAFFOLD ---------- */
section{position:relative}
.pad{padding:clamp(5rem,11vw,11rem) 0}
.sec-head{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end;margin-bottom:4rem}
.sec-head h2{font-size:clamp(2.4rem,5.5vw,4.6rem)}
.reveal{opacity:0;transform:translateY(42px);transition:calc(1s / var(--motion,1)) var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.1s}.reveal.d2{transition-delay:.2s}.reveal.d3{transition-delay:.3s}.reveal.d4{transition-delay:.4s}
/* word-by-word heading reveal */
.split .w{display:inline-block;overflow:hidden;vertical-align:top}
.split .w i{display:inline-block;font-style:inherit;transform:translateY(105%);transition:transform .9s var(--ease)}
.split.in .w i{transform:none}
.split.in .w:nth-child(2) i{transition-delay:.06s}
.split.in .w:nth-child(3) i{transition-delay:.12s}
.split.in .w:nth-child(4) i{transition-delay:.18s}
.split.in .w:nth-child(5) i{transition-delay:.24s}
.split.in .w:nth-child(6) i{transition-delay:.3s}

/* ---------- INTRO / ABOUT ---------- */
.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:5rem;align-items:center}
.intro .lead{font-family:var(--display);font-size:clamp(1.6rem,2.6vw,2.4rem);line-height:1.32;font-weight:300}
.intro .lead em{color:var(--forest-deep);font-style:italic}
.intro .body p{margin-bottom:1.2rem;color:#4a4033;text-wrap:pretty;max-width:62ch}
.sig{font-family:var(--display);font-style:italic;font-size:1.5rem;color:var(--tea-deep);margin-top:1.2rem}
.stat-row{display:flex;gap:2.5rem;margin-top:2.5rem;flex-wrap:wrap}
.stat b{font-family:var(--display);font-size:2.8rem;display:block;line-height:1;color:var(--tea-deep)}
.stat span{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--forest-deep)}

/* ---------- TOURS (expandable) ---------- */
.tours{background:var(--bg-alt)}
.tours .sec-head > p{color:#4a4033}
.tour{display:grid;grid-template-columns:auto 1fr auto auto;gap:2.5rem;align-items:center;padding:2.4rem 0;border-top:1px solid var(--line);cursor:pointer;transition:.5s var(--ease);position:relative;will-change:transform}
.tour-wrap:last-child .tour{border-bottom:1px solid var(--line)}
.tour .num{font-family:var(--display);font-size:1.1rem;color:var(--forest-deep);font-style:italic}
.tour .name{font-family:var(--display);font-size:clamp(1.8rem,4vw,3.4rem);transition:.5s var(--ease)}
.tour .tags{font-size:.78rem;letter-spacing:.06em;color:#6a5d4c;margin-top:.4rem}
.tour .meta{text-align:right;font-size:.82rem;color:#4a4033}
.tour .meta b{font-family:var(--display);font-size:1.5rem;display:block;color:var(--ink)}
.tour .toggle{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex:none;transition:.45s var(--ease);position:relative}
.tour .toggle::before,.tour .toggle::after{content:"";position:absolute;background:var(--navy);transition:.4s var(--ease)}
.tour .toggle::before{width:13px;height:1.5px}
.tour .toggle::after{width:1.5px;height:13px}
.tour:hover{transform:translateX(.75rem)}
.tour:hover .name{color:var(--forest);font-style:italic}
.tour:hover .toggle{border-color:var(--forest);background:var(--forest)}
.tour:hover .toggle::before,.tour:hover .toggle::after{background:var(--paper)}
.tour-wrap.open .tour .toggle::after{transform:scaleY(0)}
.tour-wrap.open .tour .toggle{background:var(--navy);border-color:var(--navy)}
.tour-wrap.open .tour .toggle::before{background:var(--paper)}
.tour-wrap.open .tour .name{color:var(--forest);font-style:italic}
.tour-detail{max-height:0;overflow:hidden;transition:max-height 600ms cubic-bezier(.4,0,.2,1)}
.tour-wrap.open .tour-detail{max-height:900px}
.tour-detail-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;padding:1rem 0 3rem;align-items:start}
.itin{display:flex;flex-direction:column;gap:0}
.day{display:grid;grid-template-columns:auto 1fr;gap:1.4rem;padding:1.1rem 0;border-bottom:1px dashed var(--line);opacity:0;transform:translateX(-16px);transition:.6s var(--ease)}
.tour-wrap.open .day{opacity:1;transform:none}
.tour-wrap.open .day:nth-child(2){transition-delay:.08s}
.tour-wrap.open .day:nth-child(3){transition-delay:.14s}
.tour-wrap.open .day:nth-child(4){transition-delay:.2s}
.tour-wrap.open .day:nth-child(5){transition-delay:.26s}
.day .dn{font-family:var(--display);font-style:italic;color:var(--forest-deep);font-size:.95rem;white-space:nowrap;padding-top:.15rem}
.day h4{font-family:var(--display);font-size:1.2rem;margin-bottom:.2rem}
.day p{font-size:.9rem;color:#4a4033}
.tour-detail .media{border-radius:6px;overflow:hidden;position:relative;aspect-ratio:4/5;box-shadow:0 24px 50px rgba(33,26,18,.22)}
.tour-detail .media .ph{position:absolute;inset:0;transform:scale(1.05);transition:transform 8s ease}
.tour-wrap.open .tour-detail .media .ph{transform:scale(1.14)}
.tour-detail .media .badge-cap{position:absolute;left:1rem;bottom:1rem;background:rgba(33,26,18,.6);backdrop-filter:blur(6px);color:var(--paper);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;padding:.5rem .9rem;border-radius:30px}
.detail-cta{display:inline-flex;align-items:center;gap:.6rem;margin-top:1.6rem;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--forest-deep);border-bottom:1px solid var(--forest-deep);padding-bottom:.25rem;transition:gap .3s}
.detail-cta:hover{gap:1.1rem}
/* floating hover thumb (desktop) */
.tour-thumb{position:fixed;width:260px;height:330px;border-radius:6px;overflow:hidden;pointer-events:none;opacity:0;transform:scale(.85) rotate(-4deg);transition:opacity .4s,transform .4s;z-index:60;box-shadow:0 30px 70px rgba(33,26,18,.4);top:0;left:0}
.tour-thumb.show{opacity:1;transform:scale(1) rotate(-3deg)}
.tour-thumb .ph{width:100%;height:100%}

/* ---------- INTERSTITIAL (new cinematic parallax) ---------- */
.interstitial{height:88vh;min-height:560px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--paper)}
.interstitial .par{position:absolute;inset:-14% 0;background-size:cover;background-position:center;will-change:transform}
.interstitial .par.bg{background-image:url('https://commons.wikimedia.org/wiki/Special:FilePath/Tea%20plantation%20in%20Sri%20Lanka.jpg?width=2000');background-color:#2c3c26}
.interstitial .scrim{position:absolute;inset:0;background:radial-gradient(circle at center,rgba(33,26,18,.25),rgba(33,26,18,.7))}
.interstitial .inner{position:relative;z-index:3;max-width:60rem;padding:0 5vw}
.interstitial .eyebrow{color:var(--gold)}
.interstitial blockquote{font-family:var(--display);font-style:italic;font-weight:300;font-size:clamp(1.9rem,4.4vw,3.6rem);line-height:1.2;margin-top:1.4rem}

/* ---------- MAP ---------- */
.map-sec{background:var(--tea-deep);color:var(--paper);overflow:hidden}
.map-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:4rem;align-items:center}
.map-grid h2{color:var(--paper);font-size:clamp(2.4rem,5vw,4.4rem)}
.map-grid p.intro-p{color:#cfdac6;margin-top:1.5rem;max-width:42ch}
.route-list{margin-top:2.4rem;display:flex;flex-direction:column;gap:.2rem}
.route-btn[data-route="culture"] .dot{background:#c9a227}
.route-btn[data-route="hill"] .dot{background:#7fae5e}
.route-btn[data-route="wild"] .dot{background:#d8954a}
.route-btn[data-route="coast"] .dot{background:#4aa3a0}
.route-btn[data-route="grand"] .dot{background:#e0703a}
.route-btn{display:flex;align-items:center;gap:1rem;background:none;border:none;color:var(--paper);font-family:var(--display);font-size:1.25rem;padding:.75rem 0;cursor:pointer;border-bottom:1px solid rgba(244,236,224,.12);transition:.4s var(--ease);text-align:left;width:100%}
.route-btn .dot{width:11px;height:11px;border-radius:50%;flex:none;transition:.4s;box-shadow:0 0 0 0 transparent}
.route-btn:hover,.route-btn.active{color:var(--gold);transform:translateX(.6rem)}
.route-btn.active .dot{box-shadow:0 0 0 5px rgba(201,162,39,.22)}
.route-btn small{margin-left:auto;font-family:var(--body);font-size:.72rem;letter-spacing:.1em;color:#9fb094;white-space:nowrap}
.route-meta{margin-top:1.6rem;min-height:2.6rem;color:#cfdac6;font-size:.92rem;opacity:0;transition:opacity .4s}
.route-meta.show{opacity:1}
.route-meta b{color:var(--gold);font-family:var(--display);font-style:italic}
.mapbox{position:relative;display:flex;justify-content:center}
.mapbox svg{width:100%;max-width:480px;height:auto;overflow:visible;filter:drop-shadow(0 30px 50px rgba(0,0,0,.35))}
.island{fill:#34492c;stroke:#6f8a5d;stroke-width:1.1;transition:fill .5s}
.island-inner{fill:none;stroke:rgba(127,174,94,.35);stroke-width:.6;stroke-dasharray:2 4}
.graticule{stroke:rgba(127,174,94,.13);stroke-width:.5}
.route-path{fill:none;stroke:var(--gold);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.route-path.show{opacity:1}
.travel-dot{fill:var(--paper);stroke:var(--gold);stroke-width:2;opacity:0;filter:drop-shadow(0 0 6px rgba(201,162,39,.9))}
.travel-dot.show{opacity:1}
.pin{cursor:pointer}
.pin .halo{fill:var(--gold);opacity:0;transform-box:fill-box;transform-origin:center}
.pin.on .halo{opacity:.25;animation:ping 1.8s var(--ease) infinite}
@keyframes ping{0%{transform:scale(.6);opacity:.5}100%{transform:scale(2.6);opacity:0}}
.pin .core{fill:var(--paper);stroke:var(--tea-deep);stroke-width:1;transition:.35s var(--ease)}
.pin.on .core{fill:var(--gold);r:5}
.pin:hover .core{fill:var(--gold)}
.city-label{fill:#cfdac6;font-family:var(--body);font-size:9.5px;letter-spacing:.04em;transition:.35s;pointer-events:none}
.pin.on + .city-label,.pin:hover + .city-label{fill:var(--paper);font-weight:500}
.compass{opacity:.5}
.compass text{fill:var(--gold);font-family:var(--display);font-style:italic;font-size:10px}
.compass line{stroke:var(--gold);stroke-width:.7}
/* map tooltip */
.map-tip{position:absolute;width:min(188px,calc(100vw - 2rem));background:var(--paper);color:var(--ink);border-radius:8px;overflow:hidden;box-shadow:0 24px 50px rgba(0,0,0,.4);opacity:0;transform:translateY(8px) scale(.96);transition:.3s var(--ease);pointer-events:none;z-index:30}
.map-tip.show{opacity:1;transform:none}
.map-tip .tip-img{height:106px;background-size:cover;background-position:center}
.map-tip .tip-body{padding:.7rem .9rem}
.map-tip .tip-body b{font-family:var(--display);font-size:1.05rem;display:block}
.map-tip .tip-body span{font-size:.76rem;color:#6a5d4c}

/* ---------- WHEN TO GO (new) ---------- */
.season{background:var(--bg)}
.season .sec-head > p{color:#4a4033}
.season-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:start}
.months{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:2rem}
.mo{flex:1 1 auto;min-width:60px;text-align:center;padding:.7rem .3rem;border:1px solid var(--line);border-radius:6px;cursor:pointer;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#6a5d4c;transition:.35s var(--ease);background:transparent}
.mo:hover{border-color:var(--forest);color:var(--forest-deep)}
.mo.active{background:var(--navy);color:var(--paper);border-color:var(--navy)}
.season-card{margin-top:2rem;border-radius:10px;overflow:hidden;border:1px solid var(--line);min-height:120px}
.season-readout{padding:.4rem 0}
.season-readout .reg{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.season-readout .reg:last-child{border-bottom:none}
.season-readout .reg .gauge{width:120px;height:6px;border-radius:6px;background:var(--paper-2);overflow:hidden;flex:none}
.season-readout .reg .gauge i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--tea),var(--gold));width:0;transition:width .7s var(--ease)}
.season-readout .reg .rn{font-family:var(--display);font-size:1.15rem;flex:1}
.season-readout .reg .rv{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:#6a5d4c;width:88px;text-align:right}
.season-aside .lead{font-family:var(--display);font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.34;font-weight:300}
.season-aside .verdict{margin-top:1.5rem;padding:1.2rem 1.4rem;background:oklch(42% .09 140 / 9%);border:1px solid oklch(42% .09 140 / 22%);border-radius:8px;font-size:.95rem}
.season-aside .verdict b{font-family:var(--display);font-style:italic;color:var(--forest-deep)}

/* ---------- GALLERY ---------- */
.gal-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem;flex-wrap:wrap;gap:1rem}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;grid-auto-rows:140px}
.gitem{overflow:hidden;border-radius:4px;cursor:pointer;position:relative}
.gitem .ph{width:100%;height:100%;transition:transform 600ms cubic-bezier(.2,.8,.2,1)}
.gitem:hover .ph{transform:scale(1.07)}
.gitem .cap{position:absolute;inset:0;display:flex;align-items:flex-end;padding:1rem;background:linear-gradient(transparent 45%,rgba(33,26,18,.66));color:var(--paper);font-family:var(--display);font-style:italic;font-size:1.05rem;opacity:0;transition:.5s}
.gitem:hover .cap{opacity:1}
.gitem .plus{position:absolute;top:1rem;right:1rem;width:34px;height:34px;border:1px solid rgba(244,236,224,.6);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--paper);opacity:0;transform:scale(.7);transition:opacity .3s var(--ease),transform 400ms var(--ease)}
.gitem:hover .plus{opacity:1;transform:none}
.g1{grid-column:span 5;grid-row:span 3}
.g2{grid-column:span 4;grid-row:span 2}
.g3{grid-column:span 3;grid-row:span 2}
.g4{grid-column:span 3;grid-row:span 2}
.g5{grid-column:span 4;grid-row:span 2}
.g6{grid-column:span 5;grid-row:span 2}

/* photo placeholders */
.ph{background-size:cover;background-position:center;background-color:#46402a}
.ph-sigiriya{background-image:url('https://commons.wikimedia.org/wiki/Special:FilePath/Sigiriya%20Fortress%2C%20Sri%20Lanka.jpg?width=1600');background-color:#8a3b2e}
.ph-tea{background-image:url('https://commons.wikimedia.org/wiki/Special:FilePath/Tea%20plantation%20in%20Sri%20Lanka.jpg?width=1600');background-color:#2c3c26}
.ph-leopard{background-image:url('https://commons.wikimedia.org/wiki/Special:FilePath/Sri%20Lankan%20leopard%20(Panthera%20pardus%20kotiya)%20male.jpg?width=1600');background-color:#3a2010}
.ph-beach{background-image:url('https://commons.wikimedia.org/wiki/Special:FilePath/Unawatuna%20beach.jpg?width=1600');background-color:#1f6b6b}
.ph-temple{background-image:url('https://commons.wikimedia.org/wiki/Special:FilePath/Dambulla%20Cave%20Temple.jpg?width=1600');background-color:#7a2f1f}
.ph-train{background-image:url('https://commons.wikimedia.org/wiki/Special:FilePath/202312%20Nine%20Arches%20Bridge%2C%20Sri%20Lanka.jpg?width=1600');background-color:#2c3c26}
.ph-stilt{background-image:url('https://commons.wikimedia.org/wiki/Special:FilePath/Stilts%20fishermen%20Sri%20Lanka%2002.jpg?width=1600');background-color:#5e3a1c}
.ph-gal{background-image:url('https://commons.wikimedia.org/wiki/Special:FilePath/Galle%20Fort.jpg?width=1600');background-color:#46402a}
.ph-elephant{background-image:url('https://commons.wikimedia.org/wiki/Special:FilePath/Sri%20Lankan%20elephant.jpg?width=1600');background-color:#3a3325}
.ph-kandy{background-image:url('https://commons.wikimedia.org/wiki/Special:FilePath/Temple%20of%20the%20Tooth%2C%20Kandy.jpg?width=1600');background-color:#2f3a44}

/* ---------- FLEET ---------- */
.fleet{background:var(--navy);color:var(--paper)}
.fleet .sec-head > p{color:#c3bbae}
.fleet h2{color:var(--paper);font-size:clamp(2.4rem,5vw,4.4rem)}
.fleet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3.5rem}
.vehicle{border:1px solid rgba(244,236,224,.16);border-radius:6px;padding:2rem;transition:.5s var(--ease);position:relative;overflow:hidden}
.vehicle::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(201,162,39,.14),transparent 60%);opacity:0;transition:.5s}
.vehicle:hover{background:rgba(244,236,224,.05);transform:translateY(-6px)}
.vehicle:hover::after{opacity:1}
.vehicle h3{font-size:1.7rem;color:var(--paper)}
.vehicle .cap-line{color:var(--gold);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin:.4rem 0 1.4rem}
.vehicle p{color:#c3bbae;font-size:.92rem}
.vehicle .ico{width:48px;height:48px;margin-bottom:1.4rem;stroke:var(--gold);fill:none;stroke-width:1.4}
.vehicle .ico .wheel{transform-origin:center;transform-box:fill-box}
.vehicle:hover .ico .wheel{animation:roll .9s linear infinite}
@keyframes roll{to{transform:rotate(360deg)}}

/* ---------- TESTIMONIAL ---------- */
.quote{text-align:center;max-width:62rem;margin:0 auto}
.quote .stars{color:var(--gold);letter-spacing:.3em;margin-bottom:1.8rem}
.q-track{display:grid}
.q-slide{grid-area:1/1;opacity:0;transition:opacity 500ms var(--ease);pointer-events:none}
.q-slide.active{opacity:1;pointer-events:auto}
.quote blockquote{font-family:var(--display);font-size:clamp(1.7rem,3.6vw,3rem);line-height:1.24;font-weight:300;font-style:italic}
.quote cite{display:block;margin-top:2rem;font-style:normal;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:var(--forest-deep)}
.q-nav{display:flex;gap:.6rem;justify-content:center;margin-top:2.4rem}
.q-nav button{width:9px;height:9px;border-radius:50%;border:none;background:var(--line);cursor:pointer;transition:.3s;padding:0}
.q-nav button.active{background:var(--forest);transform:scale(1.3)}
.review-badges{display:flex;gap:3rem;justify-content:center;margin-top:4rem;flex-wrap:wrap;align-items:center}
.badge{text-align:center}
.badge b{font-family:var(--display);font-size:2rem;display:block;color:var(--tea-deep)}
.badge span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#6a5d4c}

/* ---------- CTA ---------- */
.cta{background:var(--forest);color:var(--paper);text-align:center;overflow:hidden;position:relative}
.cta::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(244,236,224,.18),transparent 50%)}
.cta h2{color:var(--paper);font-size:clamp(2.8rem,7vw,6rem);max-width:18ch;margin:0 auto;position:relative}
.cta p{max-width:40ch;margin:1.5rem auto 2.6rem;font-size:1.1rem;position:relative}
.btn{display:inline-flex;align-items:center;gap:.7rem;background:var(--navy);color:var(--paper);padding:1.1rem 2.4rem;border-radius:50px;font-size:.86rem;letter-spacing:.08em;transition:.4s var(--ease);border:none;cursor:pointer;font-family:var(--body);position:relative}
.btn .arr{transition:transform .4s var(--ease)}
.btn:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(33,26,18,.3)}
.btn:hover .arr{transform:translateX(5px)}
.btn.ghost{background:transparent;border:1px solid var(--paper)}
.btn.ghost:hover{background:var(--paper);color:var(--forest-deep)}
.btn:active{transform:translateY(0) scale(0.97);box-shadow:0 4px 12px rgba(33,26,18,.2);transition-duration:80ms}
.chip:active{transform:scale(0.94);transition-duration:80ms}
.mo:active{transform:scale(0.96);transition-duration:80ms}
.nav-cta:active{transform:scale(0.96);transition-duration:80ms}

/* ---------- FORM ---------- */
.contact{background:var(--paper-2)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem}
.field{margin-bottom:1.6rem;position:relative}
.field label{display:inline-block;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:#6a5d4c;margin-bottom:.5rem;transition:color .25s var(--ease),transform .25s var(--ease),letter-spacing .25s var(--ease)}
.field:focus-within label{color:var(--forest-deep);transform:translateY(-2px);letter-spacing:.18em}
.field input,.field textarea,.field select{width:100%;background:transparent;border:none;border-bottom:1px solid var(--line);padding:.7rem 0;font-family:var(--body);font-size:1rem;color:var(--ink);transition:.4s}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--forest);border-bottom-width:2px;padding-bottom:calc(.7rem - 1px)}
.field.invalid input,.field.invalid textarea{border-color:var(--clay)}
.field.invalid label{color:var(--clay)}
.field .err{font-size:.74rem;color:var(--clay);margin-top:.4rem;height:0;opacity:0;overflow:hidden;transition:.3s}
.field.invalid .err{height:auto;opacity:1}
.field textarea{resize:vertical;min-height:80px}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.3rem}
.chip{padding:.5rem 1rem;border:1px solid var(--line);border-radius:30px;font-size:.82rem;cursor:pointer;transition:.3s var(--ease);background:transparent;color:#4a4033}
.chip:hover{border-color:var(--forest)}
.chip.sel{background:var(--navy);color:var(--paper);border-color:var(--navy)}
.hp{position:absolute;left:-9999px}
.contact-aside h3{font-size:2rem;margin-bottom:1.5rem}
.ci{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.4rem}
.ci svg{width:22px;height:22px;stroke:var(--forest-deep);fill:none;stroke-width:1.5;flex:none;margin-top:.2rem}
.ci b{display:block;font-family:var(--display);font-size:1.1rem}
.ci span{font-size:.9rem;color:#4a4033}
.form-success{text-align:center;padding:3rem 1rem;opacity:0;transform:scale(.95);transition:.5s var(--ease);display:none}
.form-success.show{display:block;opacity:1;transform:none}
.form-success .check{width:64px;height:64px;border-radius:50%;border:2px solid var(--tea);margin:0 auto 1.4rem;display:flex;align-items:center;justify-content:center}
.form-success .check svg{width:30px;height:30px;stroke:var(--tea);fill:none;stroke-width:2;stroke-dasharray:40;stroke-dashoffset:40;animation:dash .6s .2s var(--ease) forwards}
@keyframes dash{to{stroke-dashoffset:0}}
.form-success h3{font-size:2rem;margin-bottom:.6rem}
.form-success p{color:#4a4033}

/* ---------- FOOTER ---------- */
footer{background:var(--navy);color:var(--paper);padding:5rem 0 2.5rem}
footer .logo{color:var(--paper)}
footer .logo-name{color:var(--paper)}
footer .logo-tagline{color:rgba(244,236,224,.55)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;margin-bottom:4rem}
.foot-grid p{color:#9c9384;max-width:34ch;margin-top:1.2rem;font-size:.92rem}
.foot-col h4{font-family:var(--body);font-weight:500;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem}
.foot-col a{display:block;color:#c3bbae;font-size:.92rem;padding:.3rem 0;transition:.3s}
.foot-col a:hover{color:var(--paper);transform:translateX(.4rem)}
.foot-bot{display:flex;justify-content:space-between;border-top:1px solid rgba(244,236,224,.12);padding-top:2rem;font-size:.78rem;color:#9c9384;flex-wrap:wrap;gap:1rem}

/* ---------- WHATSAPP + COOKIE + LIGHTBOX ---------- */
.wa{position:fixed;bottom:26px;right:26px;width:58px;height:58px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:900;box-shadow:0 10px 30px rgba(37,211,102,.4);transition:.4s var(--ease);animation:pulse 2.6s infinite}
.wa:hover{transform:scale(1.1)}
.wa svg{width:30px;height:30px;fill:#fff}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
.cookie{position:fixed;bottom:20px;left:20px;max-width:min(340px,calc(100vw - 40px));background:var(--navy);color:var(--paper);padding:1.4rem;border-radius:8px;z-index:950;font-size:.84rem;box-shadow:0 20px 50px rgba(0,0,0,.3);transition:.5s var(--ease);transform:translateY(180%)}
.cookie.show{transform:none}
.cookie p{color:#c3bbae;margin-bottom:1rem}
.cookie button{background:var(--forest);color:var(--paper);border:none;padding:.5rem 1.2rem;border-radius:40px;cursor:pointer;font-family:var(--body);font-size:.8rem}
.lb{position:fixed;inset:0;background:rgba(20,15,10,.95);z-index:2000;display:none;align-items:center;justify-content:center;padding:5vw;flex-direction:column}
.lb.open{display:flex}
.lb .lb-stage{position:relative;width:min(82vw,1000px);height:min(72vh,680px)}
.lb .ph{position:absolute;inset:0;border-radius:6px;opacity:0;transition:.5s var(--ease)}
.lb .ph.active{opacity:1}
.lb .x{position:absolute;top:26px;right:34px;color:var(--paper);font-size:2rem;cursor:pointer;font-family:var(--display);width:48px;height:48px;border:1px solid rgba(244,236,224,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:.3s}
.lb .x:hover{background:rgba(244,236,224,.12)}
.lb .arrow{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border:1px solid rgba(244,236,224,.3);border-radius:50%;color:var(--paper);background:none;cursor:pointer;font-size:1.4rem;display:flex;align-items:center;justify-content:center;transition:.3s;z-index:5}
.lb .arrow:hover{background:rgba(244,236,224,.12)}
.lb .prev{left:2vw}.lb .next{right:2vw}
.lb .lb-cap{margin-top:1.4rem;color:var(--paper);font-family:var(--display);font-style:italic;font-size:1.1rem;text-align:center}
.lb .lb-count{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);color:rgba(244,236,224,.6);font-size:.78rem;letter-spacing:.2em}
@keyframes lb-edge{0%,100%{transform:translateY(-50%) translateX(0)}25%{transform:translateY(-50%) translateX(-5px)}75%{transform:translateY(-50%) translateX(5px)}}
.lb .arrow.edge-hit{animation:lb-edge .35s var(--ease)}

/* ---------- RESPONSIVE ---------- */
@media(max-width:900px){
  .navlinks{position:fixed;inset:0;background:var(--bg);flex-direction:column;justify-content:center;gap:2rem;transform:translateX(100%);transition:.5s var(--ease)}
  .navlinks.open{transform:none}
  .navlinks a{font-size:1.4rem;font-family:var(--display)}
  .burger{display:flex;z-index:1001}
  .intro,.map-grid,.contact-grid,.foot-grid,.sec-head,.season-grid,.tour-detail-inner{grid-template-columns:1fr;gap:2.5rem}
  .fleet-grid{grid-template-columns:1fr}
  .gallery{grid-template-columns:repeat(6,1fr);grid-auto-rows:120px}
  .g1,.g2,.g3,.g4,.g5,.g6{grid-column:span 3;grid-row:span 2}
  .tour{grid-template-columns:auto 1fr auto;gap:1.2rem;row-gap:.6rem}
  .tour .meta{grid-column:2/3;text-align:left}
  .tour-thumb,.hero-meta{display:none}
}
@media(max-width:560px){
  .tour{grid-template-columns:1fr auto}
  .tour .num{display:none}
  .stat b{font-size:2.2rem}
  .gallery{grid-template-columns:1fr 1fr;grid-auto-rows:180px}
  .g1,.g2,.g3,.g4,.g5,.g6{grid-column:span 1;grid-row:span 1}
  .logo-tagline{display:none}
  .lb .x{top:12px;right:12px}
}

/* ---------- GALLERY SECTION (dark) ---------- */
.gallery-sec{background:var(--navy)}
.gallery-sec .gal-head h2{color:var(--paper);font-size:clamp(2.4rem,5.5vw,4.6rem)}
.gallery-sec .gal-head p{color:oklch(95% .013 65 / 62%);max-width:30ch}

/* ---------- CONTACT SECTION (dark) ---------- */
.contact{background:var(--navy);color:var(--paper)}
.contact .sec-head{margin-bottom:3rem}
.contact .sec-head h2{color:var(--paper)}
.contact .field--when{margin-top:1.6rem}
.contact .field label{color:oklch(95% .013 65 / 55%)}
.contact .field:focus-within label{color:var(--gold)}
.contact .field input,.contact .field textarea,.contact .field select{color:var(--paper);border-bottom-color:oklch(95% .013 65 / 20%)}
.contact .field input::placeholder,.contact .field textarea::placeholder{color:oklch(95% .013 65 / 38%)}
.contact .field input:focus,.contact .field textarea:focus{border-color:var(--gold)}
.contact .field.invalid input,.contact .field.invalid textarea{border-color:var(--clay)}
.contact .chip{color:oklch(95% .013 65 / 62%);border-color:oklch(95% .013 65 / 18%);background:transparent}
.contact .chip:hover{border-color:var(--gold);color:var(--paper)}
.contact .chip.sel{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.contact .contact-aside h3{color:var(--paper)}
.contact .ci b{color:var(--paper)}
.contact .ci span{color:oklch(95% .013 65 / 62%)}
.contact .ci svg{stroke:var(--gold)}
.contact .form-success h3{color:var(--paper)}
.contact .form-success p{color:oklch(95% .013 65 / 65%)}

/* contact aside image card */
.contact-image-card{margin-top:2rem;height:200px;border-radius:8px;overflow:hidden;border:1px solid oklch(95% .013 65 / 15%)}
.contact-image-card .ph{width:100%;height:100%;display:flex;align-items:flex-end;padding:1rem}
.contact-image-card .ph span{color:var(--paper);font-family:var(--display);font-style:italic;font-size:.85rem}
