
/* Tropical Dreams Music — final navigation & accessibility refinements, 2026 */
:root{color-scheme:dark}
html{scroll-padding-top:95px}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid #ffb6d8!important;outline-offset:4px}
img{max-width:100%}
.portrait .portrait-foot{display:none!important}
.portrait.portrait--photo .portrait-photo{object-position:center 30%}
.tdm-mobile-nav{display:none}
@media(max-width:820px){
 html{scroll-padding-top:78px}
 body{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))}
 .tdm-mobile-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;inset:auto 0 0 0;z-index:2000;min-height:72px;padding:7px max(8px,env(safe-area-inset-right,0px)) calc(7px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));border-top:1px solid rgba(255,255,255,.2);background:rgba(15,10,25,.97);box-shadow:0 -9px 30px rgba(0,0,0,.42);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
 .tdm-mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:5px 0;border-radius:12px;min-width:0;min-height:56px;font:700 10.5px/1.2 system-ui,-apple-system,'Segoe UI',sans-serif;letter-spacing:.015em;text-decoration:none;color:#e1d7ec!important;transition:background-color .2s}
 .tdm-mobile-nav a svg{height:21px;width:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
 .tdm-mobile-nav a[aria-current="page"]{color:#ffc4e5!important;background:rgba(244,78,155,.15)}
 .tdm-mobile-nav a:active{background:rgba(244,78,155,.25)}
 .tdm-mobile-nav a span{display:block;white-space:nowrap}
 /* Portraits on mobile keep a square crop: no lost faces at top or bottom. */
 .portrait.portrait--photo,.portrait.erick-portrait,.portrait.brick-mason-portrait{aspect-ratio:1/1!important}
 .portrait.portrait--photo .portrait-photo{object-position:50% 30%}
 .portrait.erick-portrait .erick-photo,.portrait.brick-mason-portrait .brick-mason-photo{object-position:50% 30%}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* 2026-11-08 — Homepage heading: prevent cropped ascenders, descenders and Romanian diacritics. */
#heroTitle {
  font-size: clamp(44px, 5.5vw, 80px);
  line-height: 1.20;
  letter-spacing: -0.045em;
  overflow: visible;
  padding: .08em .03em .14em 0;
  margin: 20px 0 22px;
  text-wrap: pretty;
}
#heroTitle > span {
  display: block;
  line-height: 1.20;
  overflow: visible;
  padding: .04em 0 .15em;
}
#heroTitle > .gradient {
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media(max-width:760px) {
  #heroTitle {font-size: clamp(44px, 10.8vw, 68px); letter-spacing: -.04em;}
}
@media(max-width:360px) {
  #heroTitle {font-size: 42px;}
}
