/* TOM v2 additions: same template, content upgrades.
   Loaded after the page styles. Sections: tap targets and text size, photo cards, method photos,
   footer, legal pages, Clarity booking page. */

/* ---------- tap targets (44px) and readable text (12px minimum) ---------- */
.back-home{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;font-size:14px}
.page-shortcuts{gap:8px;padding:8px 14px}
.page-shortcuts a{display:inline-flex;align-items:center;min-height:44px;padding:0 15px;font-size:13px}
.compact-link{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;font-size:13px}
.compact-actions a{min-height:56px}
.compact-actions small{font-size:12px;line-height:1.25}
.compact-page summary,.programme-details summary{display:flex;align-items:center;min-height:44px}
.compact-page .page-back{display:inline-flex;align-items:center;min-height:44px}
.compact-home .hello,.compact-page .eyebrow{font-size:12px}
.brandtag{font-size:12px}
.mini-stats div,.compact-course small,.report-note,.sample-report small,.sample-report .sample-row{font-size:12px}
.compact-course p{font-size:13px}
.compact-loop span{font-size:12px;display:flex;align-items:center;justify-content:center;min-height:36px}
.compact-visual-strip figcaption,.compact-shivir-photos figcaption{font-size:12px}
.compact-booking label,.compact-booking .opt .p,.compact-booking .f label em{font-size:12px}
.compact-booking .opt .rec{font-size:11px}
.compact-booking .chk span{display:flex;align-items:center;min-height:44px;font-size:12px}
.compact-booking .btn{min-height:46px;font-size:13px}
.compact-booking .consent label{display:inline-block;padding:10px 0}
.compact-booking #fConsent{width:24px;height:24px}
.guide-booking-intro{font-size:13px}
.hint{font-size:12px}
@media(max-width:760px){
  .compact-header:has(.back-home:not([hidden])) .brandtag{font-size:11px}
  .compact-header:has(.back-home:not([hidden])) .back-home{padding:0 11px;font-size:13px}
  .compact-actions a{font-size:13px}
  .compact-booking .opt .rec{font-size:11px;padding:3px 6px}
  .compact-booking .f label em{font-size:12px}
}
@media(max-width:350px){
  .compact-header:has(.back-home:not([hidden])) .brandtag{font-size:11px}
  .compact-header:has(.back-home:not([hidden])) .back-home{font-size:12px;padding:0 9px}
}

/* ---------- home ---------- */
.home-links a:last-child{grid-column:auto}
.clarity-cta{display:inline-flex;flex-direction:column;align-items:center;gap:2px;min-height:44px;padding:9px 18px;border-radius:18px;text-align:center;line-height:1.3}
.clarity-cta b{font-size:14px}
.clarity-cta small{font-size:12px;font-weight:600;opacity:.92;color:#eadcb4}
.compact-home .home-foot{font-size:12px;margin-top:12px}
@media(max-width:350px){.compact-home .home-foot{margin-top:8px}.clarity-cta small{font-size:12px}}

/* ---------- photo cards (Compare page): photo behind the card, lifted, pops in ---------- */
.compact-programmes.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.compact-programmes article.photo-card{position:relative;overflow:hidden;color:#fff;border:1px solid #d4b66d;
  background:linear-gradient(180deg,rgba(14,15,12,.5),rgba(14,15,12,.93) 78%),var(--ph) center/cover no-repeat;
  box-shadow:0 14px 34px rgba(25,20,8,.30),0 2px 0 rgba(255,236,170,.25) inset;display:flex;flex-direction:column;min-height:250px;
  transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s}
.compact-programmes article.photo-card:last-child{border:1px solid #d4b66d}
.photo-card h2{color:#fff1c9;font-size:22px}
.photo-card p,.photo-card li{color:#f2ecda;font-size:14px;line-height:1.5}
.photo-card p b{color:#f0d891}
.photo-card ul{flex:1;margin:8px 0 14px}
.photo-card .compact-link{align-self:flex-start}
.photo-card:hover,.photo-card:focus-within{transform:translateY(-7px) scale(1.015);box-shadow:0 22px 46px rgba(25,20,8,.42),0 0 0 1px #f0d891}
.pop .photo-card{animation:tomPop .62s cubic-bezier(.2,.8,.2,1) both}
.pop .photo-card:nth-child(2){animation-delay:.09s}.pop .photo-card:nth-child(3){animation-delay:.18s}
@keyframes tomPop{from{opacity:0;transform:translateY(26px) scale(.95)}to{opacity:1;transform:none}}
.sec-h{font-size:22px;margin:30px 0 12px}
@media(max-width:760px){.compact-programmes.two{grid-template-columns:1fr}.compact-programmes article.photo-card{min-height:0}}
@media(prefers-reduced-motion:reduce){.pop .photo-card{animation:none}.compact-programmes article.photo-card{transition:none}.photo-card:hover,.photo-card:focus-within{transform:none}}

/* ---------- method: photo beside every step, gallery ---------- */
.photo-list article{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:center;padding:10px 14px 10px 10px}
.photo-list .th{display:block;width:96px;height:84px;border-radius:12px;background-size:cover;background-position:center;border:1px solid #cfbd8a}
.photo-list article h2{margin:0 0 3px}
@media(min-width:761px){.photo-list article{grid-template-columns:132px 1fr;gap:18px}.photo-list .th{width:132px;height:98px}}
.compact-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.compact-gallery figure{margin:0;height:130px;border-radius:13px;background-position:center;background-size:cover;border:1px solid #b39a61;position:relative;overflow:hidden}
.compact-gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:18px 8px 7px;background:linear-gradient(transparent,#10120ff0);color:#fff1ce;font-size:12px;font-weight:750}
@media(max-width:760px){.compact-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-gallery figure{height:112px}}
.compact-shivir-photos figure{height:116px}
@media(max-width:760px){.compact-shivir-photos figure{height:96px}}
.compact-visual-strip{margin:18px 0}
.compact-visual-strip figure{height:116px}
@media(max-width:760px){.compact-visual-strip figure{height:96px}}
.compact-panel .panel-p{font-size:14px;line-height:1.62;margin:0 0 10px;color:#403c31}
.compact-panel h2{margin:0 0 8px}
.inline-link{color:#806127;font-weight:750;text-decoration:underline;text-underline-offset:3px}
.page-lead .inline-link,.report-note .inline-link{display:inline}

/* ---------- legal pages ---------- */
.legal{margin-top:6px}
.legal-h{font-size:19px;margin:24px 0 6px}
.legal-p,.legal-ul{font-size:14px;line-height:1.68;color:#403c31;margin:0 0 8px}
.legal-ul{padding-left:20px}
.legal-ul li{margin:6px 0}

/* ---------- footer ---------- */
.site-foot{max-width:920px;margin:0 auto;padding:14px 18px 26px;border-top:1px solid #d9cfb4;text-align:center;font-size:12px;line-height:1.55;color:#6b665a}
.site-foot nav{display:flex;flex-wrap:wrap;justify-content:center}
.site-foot nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;font-size:13px;font-weight:750;color:#806127}
.site-foot p{margin:2px 0 0}
body[data-page=home] .site-foot{color:#cfc6ae;border-top-color:#3d3829;position:relative}
body[data-page=home] .site-foot nav a{color:#ecd9a2}
body[data-page=mentorship] .site-foot,body[data-page=counselling] .site-foot,body[data-page=clarity] .site-foot{display:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Clarity booking page (same shell as Career Guidance) ---------- */
.clarity-only{display:none!important}
.seat[data-mode="clarity"] .clarity-only{display:inline!important}
.seat[data-mode="clarity"] p.clarity-only{display:block!important}
.seat[data-mode="clarity"] .ssb-txt{display:none!important}
.refline{margin:8px 0 12px;font-size:14px}.refline b{letter-spacing:.06em;color:#806127}
@media(max-width:760px){
 body[data-page="clarity"]{height:100svh;height:100dvh;min-height:0;overflow:hidden;padding-bottom:0;display:flex;flex-direction:column;width:100%}
 body[data-page="clarity"] .compact-header{position:relative;flex:none}
 body[data-page="clarity"] .page-shortcuts{flex:none}
 body[data-page="clarity"] #compactContent{display:none}
 body[data-page="clarity"] #bookingHost{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scroll-padding:16px;width:100%;max-width:100%;-webkit-overflow-scrolling:touch}
 body[data-page="clarity"] .compact-actions{position:relative;inset:auto;flex:none;width:100%;box-shadow:none;z-index:1}
}

/* ---------- audit fixes ---------- */
.inline-link{display:inline-block;padding:14px 3px;margin:-14px 0;line-height:1.3}
.compact-booking .chk span{min-width:44px;justify-content:center}
.compact-booking .opts legend,.compact-header:has(.back-home:not([hidden])) .brandtag{font-size:12px!important}
.compact-booking .opt .rec{font-size:12px!important;letter-spacing:0;padding:3px 7px}
.compact-booking #fConsent{width:30px;height:30px}
@media(max-width:760px){.compact-header:has(.back-home:not([hidden])) .brandtag{letter-spacing:.08em}}

@media(max-width:350px){.compact-actions .pw{display:none}.compact-actions a{min-height:52px;padding:6px}}
footer.site-foot{background:transparent;color:#6b665a;width:auto}
body[data-page=home] footer.site-foot{color:#cfc6ae}
.inline-link{padding:14px 0;margin:-14px 0}
@media(max-width:760px){.compact-booking .opt .rec{top:-13px;right:-2px;z-index:3;font-size:12px!important;padding:2px 6px}.compact-booking .opts{margin-top:20px}}

/* ---------- round 2 ---------- */
.page-back{display:flex;align-items:center;justify-content:center;min-height:48px;margin:26px auto 0;max-width:320px;border:1px solid #c4ab70;border-radius:99px;background:#fff;color:#806127;font-size:14px;font-weight:750;text-align:center}
.compact-booking>.page-back{margin:14px auto 24px;background:#fff7e0}
.course-link{display:flex;align-items:center;min-height:48px;margin:16px 0 0;padding:8px 16px;border:1px solid #c4ab70;border-radius:14px;background:#fff7e0;color:#6a5120;font-size:14px;font-weight:750}
.assign{display:grid;gap:10px;margin-top:6px}
.assign article{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;padding:12px;border:1px solid #d9c9a0;border-radius:13px;background:#fffdf6}
.assign i{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#e5ce96;color:#241b09;font:800 15px Georgia,serif;font-style:normal}
.assign h3{font-size:16px;margin:0 0 3px}.assign p{font-size:14px;line-height:1.55;margin:0;color:#403c31}
.compact-mentor h2{margin-top:0}
.compact-visual-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
.compact-visual-strip figure{height:104px}
@media(max-width:760px){.compact-visual-strip figure{height:84px}.compact-page h1{margin-bottom:10px}.compact-mentor p{margin:0 0 7px}}
.page-back,.compact-page .page-back{display:flex;width:100%;max-width:340px;margin-left:auto;margin-right:auto}

/* ---------- round 3 ---------- */
/* home: no tile is highlighted until it is touched */
.home-links a:first-child{background:linear-gradient(145deg,#1d211bea,#10140ef5);border-color:#baa26799;color:#f5e8c4;box-shadow:0 7px 18px #0003,inset 0 1px 0 #fff1}
.home-links a:first-child span{color:#dfc280}
.home-links a:hover,.home-links a:active,.home-links a:focus-visible{background:linear-gradient(135deg,#f6e8bb,#bc994e);border-color:#efdba6;color:#20190b;box-shadow:0 8px 28px #d1b26732}
.home-links a:hover span,.home-links a:active span,.home-links a:focus-visible span{color:#493719}
/* two back buttons side by side */
.back-row{display:flex;gap:10px;max-width:700px;margin:26px auto 0}
.back-row .page-back{flex:1 1 0;margin:0;max-width:none;min-width:0;padding:6px 8px;font-size:13px;line-height:1.25}
.compact-booking>.back-row{margin:14px auto 24px;padding:0 16px}
/* method: short assignments, synced loop and swipeable cards */
.assign p{font-size:14px;line-height:1.45}
.compact-loop.sync{display:flex;gap:7px;margin:4px 0 12px;animation:none}
.compact-loop.sync button{flex:1 1 0;min-width:0;min-height:44px;padding:0 4px;font:750 12px/1.2 inherit;font-family:inherit;border:1px solid #c7af70;border-radius:10px;color:#73581c;background:#faf6e7;cursor:pointer;transition:background .25s,color .25s,box-shadow .25s}
.compact-loop.sync button.on{background:#d9bc73;color:#20190a;box-shadow:0 0 15px #bc974c40}
.loop-track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding:4px 2px 12px;scrollbar-width:none}
.loop-track::-webkit-scrollbar{display:none}
.loop-card{flex:0 0 86%;scroll-snap-align:center;display:grid;grid-template-columns:104px 1fr;gap:14px;align-items:center;padding:12px;border:1px solid #cfbd8a;border-radius:16px;background:linear-gradient(135deg,#fff,#f7f4ec);box-shadow:0 9px 25px #4134190b;opacity:.72;transform:scale(.97);transition:opacity .3s,transform .3s,border-color .3s}
.loop-card.on{opacity:1;transform:none;border-color:#b99a4e;box-shadow:0 12px 28px #ac863a30}
.loop-card .th{display:block;width:104px;height:92px;border-radius:12px;background-size:cover;background-position:center;border:1px solid #cfbd8a}
.loop-card h3{font-size:18px;margin:0 0 3px}.loop-card p{font-size:14px;line-height:1.45;margin:0;color:#403c31}
@media(min-width:761px){.loop-card{flex-basis:380px}}
@media(prefers-reduced-motion:reduce){.loop-card,.compact-loop.sync button{transition:none}}
/* report page */
.excl{display:inline-block;margin:0 0 10px;padding:6px 12px;border-radius:8px;background:#fbf3d9;border:1px solid #c9971c;color:#6b4e0e;font-size:13px;font-weight:750;letter-spacing:.02em}
.rep-deck{position:relative;height:520px;margin:18px auto 8px;max-width:360px}
.leaf{position:absolute;left:0;right:0;background:#fff;border:1px solid #c9971c;border-radius:6px;box-shadow:0 10px 26px #1d150a26;padding:0 0 10px;cursor:pointer;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .3s;overflow:hidden;font-family:inherit;color:#1c2a40}
.leaf:focus-visible{outline:3px solid #c9971c;outline-offset:2px}
.leaf.top{z-index:3;top:46px;transform:none}
.leaf:not(.top){z-index:1;top:0;transform:scale(.95);transform-origin:top center;box-shadow:0 4px 12px #1d150a1c}
.lf-head{background:#0a1d37;color:#e8c46a;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.lf-brand{font-size:12px;letter-spacing:.08em;font-weight:700}
.lf-head b{font-size:12px;letter-spacing:.08em;color:#fff}
.lf-id{display:flex;gap:8px;padding:10px 12px 4px}
.lf-id span{flex:1 1 0;min-width:0;font-size:12px;color:#68645a;line-height:1.3}
.lf-id i{display:block;font-style:normal;font-size:14px;font-weight:750;color:#0a1d37;border-bottom:1px dashed #c9971c;padding:2px 0 3px;margin-top:2px}
.lf-sec{margin:8px 12px 0;padding:8px 10px;border-left:4px solid #c9971c;background:#faf6e7;border-radius:0 6px 6px 0}
.lf-sec.dark{background:#0a1d37;border-left-color:#e8c46a}
.lf-sec h4{margin:0 0 2px;font-size:14px;font-weight:750;color:#0a1d37;line-height:1.25}
.lf-sec p{margin:0;font-size:12.5px;line-height:1.4;color:#403c31}
.lf-sec.dark h4{color:#e8c46a}.lf-sec.dark p{color:#f3ead0}
.lf-foot{margin:10px 12px 0;font-size:12px;color:#68645a;text-align:right}
.deck-hint,.report-note{font-size:12.5px;color:#68645a;line-height:1.5;text-align:center;margin:6px 0}
.rep-tabs details{background:#fff;border:1px solid #c9971c;border-radius:12px;margin-bottom:8px;padding:0 14px}
@media(prefers-reduced-motion:reduce){.leaf{transition:none}}
@media(max-width:760px){.compact-report{gap:18px}}
@media(max-width:350px){.back-row{gap:8px}.back-row .page-back{font-size:12px}.loop-card{grid-template-columns:84px 1fr}.loop-card .th{width:84px;height:78px}}

/* booking: choose prompt + programme details card */
@keyframes tomBlink{0%,100%{opacity:1;box-shadow:0 0 0 0 #c9971c66}50%{opacity:.55;box-shadow:0 0 0 7px #c9971c00}}
.opts.unchosen legend{display:inline-block;padding:6px 12px;border-radius:99px;background:#c9971c;color:#1a1305;font-weight:800;animation:tomBlink 1.3s ease-in-out infinite}
.opts.unchosen .opt .box{border-color:#c9971c}
.programme-details[hidden]{display:none!important}
.programme-details{margin:8px 0 6px;border:1px solid #c9971c;border-radius:12px;background:#fbf3d9;color:#2a2210;font-size:13px;overflow:hidden}
.programme-details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:0 14px;font-weight:750;color:#6b4e0e;cursor:pointer}
.programme-details summary::-webkit-details-marker{display:none}
.programme-details summary i{width:9px;height:9px;border-right:2px solid #6b4e0e;border-bottom:2px solid #6b4e0e;transform:rotate(45deg);transition:transform .2s;margin-top:-4px}
.programme-details[open] summary i{transform:rotate(-135deg);margin-top:4px}
.programme-details .pd-body{padding:0 14px 10px}
.programme-details .pd-copy{display:block!important;margin:0;padding:0;background:none;border:0;box-shadow:none;color:inherit}
.programme-details .pd-copy h3,.programme-details .pd-copy strong{color:#6b4e0e}
.programme-details .pd-copy *{color:inherit}
.programme-details .pd-copy ul{margin:4px 0 0;padding-left:18px}
.programme-details .pd-copy p{margin:2px 0}
.programme-details .pd-copy #sumNone,.programme-details .pd-copy [style*="display: none"]{display:none!important}
/* footer social */
.site-foot .social{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 10px;margin:2px 0 6px}
.site-foot .soc{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 6px;font-size:13px;font-weight:750;color:#806127;text-decoration:none}
body[data-page=home] .site-foot .soc{color:#ecd9a2}
.site-foot .ico{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;flex:none}
.site-foot .ico.ig{background:linear-gradient(45deg,#f09433,#dc2743 55%,#bc1888)}
.site-foot .ico.wa{background:#25a244}
#seatBox.nochoice .seatbody{display:none}
.opt input:checked ~ .box{background:linear-gradient(180deg,#e9cf86,#c9a24a)!important;border-color:#fff2c4!important}
.opt input:checked ~ .box .n,.opt input:checked ~ .box .p,.opt input:checked ~ .box .d{color:#1a1305!important}
.opt input:checked ~ .box .n::after{content:" ✓"}

/* mentor heading */
.compact-page .mentor-name{font-size:21px;line-height:1.2;margin:0 0 8px}
.mentor-role{font-size:15px;line-height:1.45;color:#403c31;margin:0 0 10px!important}
.mentor-motto{margin:0!important;font-size:16px;line-height:1.4;font-weight:800;color:#15110a}
.mentor-motto span{color:#15110a}
.mentor-motto b{color:#8f6a0c;font-weight:800}
/* booking pages: picture background behind the whole page */
body[data-page=mentorship]::before,body[data-page=counselling]::before,body[data-page=clarity]::before{content:"";position:fixed;left:0;right:0;top:80px;bottom:0;z-index:-1;pointer-events:none;
 background:linear-gradient(180deg,rgba(12,11,8,.28) 0%,rgba(12,11,8,.55) 30%,rgba(12,11,8,.96) 52%,#15130d 100%),url("images/mentor-parade-band.jpg") center/cover no-repeat,#15130d}
body[data-page=mentorship],body[data-page=counselling],body[data-page=clarity]{background:#15130d}
body[data-page=mentorship]::after,body[data-page=counselling]::after,body[data-page=clarity]::after{content:"";position:fixed;left:0;right:0;margin:0 auto;bottom:86px;width:min(86vw,420px);height:48vh;z-index:-1;pointer-events:none;opacity:.85;
 background:url("images/hero-sword-salute.jpg") center top/cover no-repeat;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 35%,#000 78%,transparent 100%),linear-gradient(90deg,transparent 0,#000 22%,#000 78%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(180deg,transparent 0,#000 35%,#000 78%,transparent 100%),linear-gradient(90deg,transparent 0,#000 22%,#000 78%,transparent 100%);mask-composite:intersect}
.site-foot .ico svg{display:block}.site-foot .soc{line-height:1}
