/* Plan Your Visit: scoped, factual visitor experience for Dharmonomics 2027. */
.visit-page{background:#f7f4ee}.visit-page .nav{position:relative;z-index:10;background:#f7f4ee}.visit-page .nav-links{position:relative;z-index:60}.visit-hero{position:relative;isolation:isolate;min-height:660px;overflow:hidden;background:#092941;color:#fff}.visit-hero__image{position:absolute;inset:0;background:url('assets/university-of-cyberjaya-campus.webp') center/cover no-repeat;filter:saturate(.74) contrast(1.03) brightness(.72);transform:scale(1.015)}.visit-hero__wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,23,40,.96) 0%,rgba(3,23,40,.88) 39%,rgba(3,23,40,.32) 70%,rgba(3,23,40,.18) 100%)}.visit-hero__content{position:relative;z-index:1;max-width:1150px;margin:0 auto;padding:110px 25px 170px}.visit-eyebrow{display:flex;align-items:center;gap:10px;font:700 12px var(--sans);letter-spacing:.13em;text-transform:uppercase;color:#e7c46f;margin:0}.visit-eyebrow span{opacity:.7}.visit-hero h1{max-width:760px;margin:18px 0 19px;font:700 clamp(3.7rem,6.8vw,6.95rem)/.91 var(--sans);letter-spacing:-.078em;color:#fff}.visit-hero__lede{max-width:540px;margin:0;font-size:18px;line-height:1.6;color:#e1e9ed}.visit-hero__actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:31px}.visit-quiet-link{display:inline-flex;gap:8px;align-items:center;color:#fff;font-weight:700;font-size:14px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.5);padding:7px 0}.visit-quiet-link:hover,.visit-inline-link:hover{color:#e7c46f}.visit-facts{position:absolute;right:max(25px,calc((100% - 1100px)/2));bottom:0;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);width:min(550px,48%);margin:0;border-left:1px solid rgba(255,255,255,.28);background:rgba(5,33,53,.78);backdrop-filter:blur(12px)}.visit-facts div{min-height:140px;padding:27px 23px;border-right:1px solid rgba(255,255,255,.28)}.visit-facts dt{margin:0 0 10px;color:#d5e7ee;font:700 10px var(--sans);letter-spacing:.12em;text-transform:uppercase}.visit-facts dd{margin:0;font:700 20px/1.13 var(--sans);letter-spacing:-.045em;color:#fff}.visit-intro{display:grid;grid-template-columns:.18fr .66fr .82fr;gap:32px;align-items:end;max-width:1150px;margin:0 auto;padding:112px 25px}.visit-intro__mark{align-self:start;color:#b79a61;font:700 12px var(--mono);letter-spacing:.12em;padding-top:12px}.visit-intro h2,.visit-path h2,.visit-updates h2,.visit-assurance h2{margin:0;font:700 clamp(2.75rem,5.1vw,5rem)/.98 var(--sans);letter-spacing:-.075em;color:#092941}.visit-intro .lead{max-width:370px;margin:24px 0 0;font-size:17px;line-height:1.65;color:#4e5d64}.venue-portrait{position:relative;margin:0}.venue-portrait:before{content:'';position:absolute;z-index:-1;inset:15px -15px -15px 15px;background:#dfaf43}.venue-portrait img{display:block;width:100%;min-height:370px;max-height:440px;object-fit:cover}.venue-portrait figcaption{margin-top:14px;font:700 11px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#58707b}.visit-path{max-width:none;padding:98px max(25px,calc((100% - 1100px)/2));background:#092941;color:#fff;display:grid;grid-template-columns:.73fr 1.27fr;gap:88px}.visit-path .kicker{color:#e4c574}.visit-path h2{color:#fff}.visit-steps{margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.26)}.visit-steps li{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:28px 0 29px;border-bottom:1px solid rgba(255,255,255,.26)}.visit-step__number{padding-top:5px;font:700 12px var(--mono);letter-spacing:.09em;color:#e4c574}.visit-steps h3{margin:0 0 7px;font:700 23px/1.1 var(--sans);letter-spacing:-.05em;color:#fff}.visit-steps p{max-width:500px;margin:0;color:#c8d6dc;font-size:14px;line-height:1.65}.visit-inline-link{display:inline-block;margin-top:13px;color:#fff;text-decoration:none;font:700 13px var(--sans);border-bottom:1px solid #e4c574;padding-bottom:3px}.visit-updates{max-width:1150px;margin:0 auto;padding:112px 25px 120px}.visit-updates__head{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;align-items:end;margin-bottom:45px}.visit-updates__head .kicker{grid-column:1/-1;margin:0}.visit-updates__head h2{max-width:590px}.visit-updates__head>p{max-width:420px;margin:0 0 5px;color:#52626b;font-size:16px;line-height:1.65}.visit-update-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.visit-update-card{min-height:275px;display:flex;flex-direction:column;padding:25px;background:#fff;border:1px solid #e2e3df}.visit-update-card__top{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#195a7d}.visit-update-card__top span{font-size:24px;line-height:1}.visit-update-card__top p{margin:0;font:700 10px var(--sans);letter-spacing:.1em;text-transform:uppercase}.visit-update-card h3{margin:61px 0 10px;font:700 23px/1.06 var(--sans);letter-spacing:-.055em;color:#092941}.visit-update-card>p{margin:0;color:#607078;font-size:13px;line-height:1.62}.visit-update-card--accent{background:#dfaf43;border-color:#dfaf43}.visit-update-card--accent .visit-update-card__top{color:#092941}.visit-update-card--accent>p{color:#26404b}.visit-assurance{display:grid;grid-template-columns:1.05fr .9fr auto;gap:42px;align-items:end;max-width:none;padding:75px max(25px,calc((100% - 1100px)/2));background:#e8edf0}.visit-assurance .kicker{margin-bottom:18px}.visit-assurance h2{max-width:500px;font-size:clamp(2.25rem,3.8vw,3.85rem)}.visit-assurance>p{max-width:390px;margin:0;color:#4c5b62;font-size:14px;line-height:1.7}.visit-assurance .button{white-space:nowrap}.visit-page :focus-visible{outline:3px solid #d79319;outline-offset:4px}.visit-page .button,.visit-page .visit-quiet-link,.visit-page .visit-inline-link{transition:color .18s ease,background-color .18s ease,border-color .18s ease,transform .18s ease}.visit-page .button:hover{transform:translateY(-2px)}.visit-update-card{transition:transform .22s ease,box-shadow .22s ease}.visit-update-card:hover{transform:translateY(-4px);box-shadow:0 15px 28px rgba(4,35,54,.12)}
@media (max-width:900px){.visit-hero{min-height:655px}.visit-hero__content{padding:87px 24px 205px}.visit-hero h1{font-size:clamp(3.5rem,11vw,5.9rem)}.visit-facts{right:24px;left:24px;width:auto}.visit-intro{grid-template-columns:.13fr .87fr;gap:19px;padding:78px 24px}.venue-portrait{grid-column:2}.visit-path{grid-template-columns:1fr;gap:42px;padding:75px 24px}.visit-updates{padding:80px 24px}.visit-update-grid{grid-template-columns:repeat(2,1fr)}.visit-assurance{grid-template-columns:1fr 1fr;padding:62px 24px}.visit-assurance .button{grid-column:1/-1;justify-self:start}}
@media (max-width:560px){.visit-page .nav{padding:0 18px}.visit-hero{min-height:675px}.visit-hero__image{background-position:57% center}.visit-hero__wash{background:linear-gradient(180deg,rgba(3,23,40,.82) 0%,rgba(3,23,40,.94) 70%,rgba(3,23,40,.98) 100%)}.visit-hero__content{padding:66px 20px 253px}.visit-eyebrow{font-size:10px;letter-spacing:.1em}.visit-hero h1{font-size:3.32rem;line-height:.92}.visit-hero__lede{font-size:16px}.visit-hero__actions{gap:15px;margin-top:26px}.visit-facts{right:20px;left:20px;grid-template-columns:1fr 1fr}.visit-facts div{min-height:105px;padding:17px}.visit-facts div:last-child{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.28)}.visit-facts dd{font-size:17px}.visit-intro{display:block;padding:62px 20px}.visit-intro__mark{display:none}.visit-intro h2{font-size:3.1rem}.visit-intro .lead{font-size:16px}.venue-portrait{margin-top:39px}.venue-portrait img{min-height:260px}.venue-portrait:before{inset:10px -10px -10px 10px}.visit-path{padding:66px 20px}.visit-path h2{font-size:3.15rem}.visit-steps li{grid-template-columns:44px 1fr;gap:12px}.visit-steps h3{font-size:21px}.visit-updates{padding:68px 20px}.visit-updates__head{display:block;margin-bottom:30px}.visit-updates__head h2{font-size:3rem;margin-bottom:18px}.visit-update-grid{grid-template-columns:1fr}.visit-update-card{min-height:230px}.visit-update-card h3{margin-top:43px}.visit-assurance{display:block;padding:56px 20px}.visit-assurance h2{font-size:3rem}.visit-assurance>p{margin:22px 0}.visit-assurance .button{width:100%}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.visit-page *, .visit-page *:before, .visit-page *:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.visit-page .button:hover,.visit-update-card:hover{transform:none}}
