.tjg-hero {
  --tjg-pointer-x: 0px;
  --tjg-pointer-y: 0px;
  --tjg-scroll-y: 0px;
  --tjg-scroll-fade: 0;
  --tjg-spot-x: 68%;
  --tjg-spot-y: 54%;
  --tjg-spot-radius: 290px;
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  height: 100dvh;
  color: var(--tjg-white);
  background: var(--tjg-green-950);
  isolation: isolate;
  overflow: hidden;
}
.tjg-hero__visual { position:absolute; inset:0; z-index:-2; overflow:hidden; background:#07140f; }
.tjg-hero-layer { position:absolute; inset:-2.5%; width:105%; height:105%; transform:translate3d(calc(var(--tjg-pointer-x) * var(--tjg-depth, 0)), calc(var(--tjg-pointer-y) * var(--tjg-depth, 0) + var(--tjg-scroll-y) * var(--tjg-scroll-depth, 0)), 0) scale(var(--tjg-layer-scale, 1.035)); will-change:transform; }
.tjg-hero__picture, .tjg-hero__picture img { width:100%; height:100%; }
.tjg-hero__picture img { object-fit:cover; }
.tjg-hero__base { --tjg-depth:.22; --tjg-scroll-depth:.11; --tjg-layer-scale:1.07; filter:saturate(.72) brightness(.68) contrast(1.04); }
.tjg-hero__reveal {
  --tjg-depth:.37;
  --tjg-scroll-depth:.16;
  --tjg-layer-scale:1.055;
  opacity:.98;
  filter:saturate(1.1) brightness(1.02) contrast(1.05);
  -webkit-mask-image:radial-gradient(circle var(--tjg-spot-radius) at var(--tjg-spot-x) var(--tjg-spot-y), #000 0%, #000 38%, rgba(0,0,0,.84) 55%, rgba(0,0,0,.4) 74%, rgba(0,0,0,.08) 90%, transparent 100%);
  mask-image:radial-gradient(circle var(--tjg-spot-radius) at var(--tjg-spot-x) var(--tjg-spot-y), #000 0%, #000 38%, rgba(0,0,0,.84) 55%, rgba(0,0,0,.4) 74%, rgba(0,0,0,.08) 90%, transparent 100%);
}
.tjg-hero__video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .8s ease; }
.tjg-hero__video.is-playing { opacity:1; }
.tjg-hero__shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(2,12,8,.58) 0%,rgba(2,12,8,.14) 26%,rgba(2,12,8,.05) 52%,rgba(2,12,8,.7) 100%),linear-gradient(90deg,rgba(2,12,8,.24),transparent 35%,transparent 68%,rgba(2,12,8,.18)); pointer-events:none; }
.tjg-hero__light { position:absolute; inset:-12%; background:radial-gradient(ellipse at 76% 26%,rgba(255,231,171,.22),transparent 30%),linear-gradient(112deg,transparent 34%,rgba(231,199,131,.06) 49%,transparent 64%); mix-blend-mode:screen; pointer-events:none; }
.tjg-hero__grain { position:absolute; inset:0; opacity:.18; mix-blend-mode:soft-light; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E"); }
.tjg-hero__botanical { position:absolute; right:-7vw; top:18%; width:min(48vw,860px); opacity:.23; filter:drop-shadow(0 0 22px rgba(231,199,131,.12)); transform:translate3d(calc(var(--tjg-pointer-x) * .42), calc(var(--tjg-pointer-y) * .42 + var(--tjg-scroll-y) * .18), 0); pointer-events:none; }
.tjg-hero__particles { position:absolute; inset:0; pointer-events:none; }
.tjg-hero__particles span { position:absolute; width:2px; height:2px; border-radius:50%; background:var(--tjg-gold-300); box-shadow:0 0 11px rgba(240,216,150,.75); opacity:.34; animation:tjg-hero-drift 9s ease-in-out infinite; }
.tjg-hero__particles span:nth-child(1){left:14%;top:31%;animation-delay:-1s}.tjg-hero__particles span:nth-child(2){left:31%;top:67%;animation-delay:-4s}.tjg-hero__particles span:nth-child(3){left:58%;top:23%;animation-delay:-6s}.tjg-hero__particles span:nth-child(4){left:73%;top:61%;animation-delay:-2s}.tjg-hero__particles span:nth-child(5){left:88%;top:36%;animation-delay:-7s}.tjg-hero__particles span:nth-child(6){left:44%;top:48%;animation-delay:-3s}.tjg-hero__particles span:nth-child(7){left:82%;top:77%;animation-delay:-5s}.tjg-hero__particles span:nth-child(8){left:22%;top:19%;animation-delay:-8s}
@keyframes tjg-hero-drift { 0%,100%{transform:translate3d(0,0,0);opacity:.12} 50%{transform:translate3d(9px,-18px,0);opacity:.48} }

.tjg-hero__stage { position:relative; height:100%; display:flex; flex-direction:column; justify-content:space-between; padding-top:clamp(150px,18vh,210px); padding-bottom:clamp(54px,6.2vh,82px); }
.tjg-hero__content { width:min(100%,980px); margin-inline:auto; text-align:center; transform:translate3d(0, calc(var(--tjg-scroll-y) * .15), 0); opacity:calc(1 - var(--tjg-scroll-fade)); }
.tjg-hero__eyebrow { display:inline-flex; align-items:center; gap:10px; margin:0 0 22px; padding:9px 14px; border:1px solid rgba(255,255,255,.24); border-radius:999px; color:rgba(255,255,255,.84); background:rgba(4,18,13,.18); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); font-size:.72rem; font-weight:600; letter-spacing:.14em; line-height:1; text-transform:uppercase; box-shadow:inset 0 1px 0 rgba(255,255,255,.1); }
.tjg-hero__eyebrow span { width:6px; height:6px; border-radius:50%; background:var(--tjg-gold-400); box-shadow:0 0 0 5px rgba(231,199,131,.12); }
.tjg-hero h1 { margin:0; color:var(--tjg-white); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:clamp(3.25rem,7.6vw,8.4rem); font-weight:600; line-height:.89; letter-spacing:-.068em; text-shadow:0 8px 38px rgba(0,0,0,.2); }
.tjg-hero__title-line { display:block; }
.tjg-hero__title-line--one { white-space:nowrap; }
.tjg-hero__title-line--two { color:rgba(255,255,255,.64); font-weight:500; }
.tjg-hero__copy { max-width:700px; margin:28px auto 0; color:rgba(255,255,255,.84); font-size:clamp(1rem,1.25vw,1.22rem); line-height:1.62; text-shadow:0 3px 18px rgba(0,0,0,.22); }
.tjg-hero__actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:30px; }
.tjg-button--hero-primary, .tjg-button--hero-glass { min-height:54px; border-radius:999px; padding:14px 25px; }
.tjg-button--hero-primary { color:var(--tjg-green-950); border-color:var(--tjg-white); background:var(--tjg-white); box-shadow:0 12px 34px rgba(0,0,0,.14); }
.tjg-button--hero-primary:hover { color:var(--tjg-green-950); border-color:var(--tjg-gold-300); background:linear-gradient(115deg,#fff,var(--tjg-gold-300)); box-shadow:0 17px 42px rgba(0,0,0,.2); }
.tjg-button--hero-primary span { font-size:1rem; transition:transform var(--tjg-fast) var(--tjg-ease); }
.tjg-button--hero-primary:hover span { transform:translate(2px,-2px); }
.tjg-button--hero-glass { color:var(--tjg-white); border-color:rgba(255,255,255,.32); background:rgba(255,255,255,.045); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); box-shadow:inset 0 1px 0 rgba(255,255,255,.13); }
.tjg-button--hero-glass:hover { color:var(--tjg-white); border-color:rgba(255,255,255,.6); background:rgba(255,255,255,.1); box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 14px 30px rgba(0,0,0,.12); }

.tjg-hero__lower { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:end; gap:28px; }
.tjg-liquid-glass { position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.045); background-blend-mode:luminosity; backdrop-filter:blur(15px); -webkit-backdrop-filter:blur(15px); box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 18px 50px rgba(0,0,0,.08); }
.tjg-liquid-glass:before { content:""; position:absolute; inset:0; border-radius:inherit; padding:1px; background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,.08) 28%,transparent 50%,rgba(255,255,255,.16)); -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; }
.tjg-hero__location-card { display:flex; align-items:flex-start; gap:13px; max-width:470px; padding:17px 19px; border-radius:18px; }
.tjg-hero__location-mark { flex:0 0 auto; margin-top:5px; color:var(--tjg-gold-300); font-size:.66rem; box-shadow:0 0 0 6px rgba(231,199,131,.08); border-radius:50%; }
.tjg-hero__location-card strong { display:block; color:#fff; font-size:.84rem; line-height:1.4; }
.tjg-hero__location-card p { margin:5px 0 0; color:rgba(255,255,255,.63); font-size:.76rem; line-height:1.45; }
.tjg-hero__trust { justify-self:end; display:grid; gap:8px; min-width:320px; margin:0; padding:17px 20px; border-radius:18px; list-style:none; }
.tjg-hero__trust li { display:flex; align-items:center; gap:9px; margin:0; color:rgba(255,255,255,.79); font-size:.78rem; font-weight:500; line-height:1.35; }
.tjg-hero__trust li span { color:var(--tjg-gold-300); }
.tjg-hero__interaction-hint { align-self:center; display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.55); font-size:.69rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; }
.tjg-hero__interaction-hint span { width:38px; height:1px; background:linear-gradient(90deg,transparent,var(--tjg-gold-300)); animation:tjg-hint-pulse 2.1s ease-in-out infinite; }
@keyframes tjg-hint-pulse { 0%,100%{opacity:.25;transform:scaleX(.7)} 50%{opacity:1;transform:scaleX(1)} }
.tjg-hero__edge { position:absolute; z-index:4; left:-2%; right:-2%; bottom:-1px; height:42px; background:var(--tjg-white); clip-path:ellipse(57% 62% at 50% 100%); transform:translateY(55%); }

.tjg-js .tjg-hero.has-animation-enabled:not(.is-ready) .tjg-hero__base { transform:translate3d(0,0,0) scale(1.13); }
.tjg-js .tjg-hero.has-animation-enabled .tjg-hero__base { transition:transform 1.9s cubic-bezier(.16,1,.3,1),filter .8s ease; }
.tjg-js .tjg-hero.has-animation-enabled:not(.is-ready) .tjg-hero__eyebrow,
.tjg-js .tjg-hero.has-animation-enabled:not(.is-ready) .tjg-hero__title-line,
.tjg-js .tjg-hero.has-animation-enabled:not(.is-ready) .tjg-hero__copy,
.tjg-js .tjg-hero.has-animation-enabled:not(.is-ready) .tjg-hero__actions,
.tjg-js .tjg-hero.has-animation-enabled:not(.is-ready) .tjg-hero__lower { opacity:0; transform:translateY(24px); filter:blur(9px); }
.tjg-js .tjg-hero.has-animation-enabled .tjg-hero__eyebrow,
.tjg-js .tjg-hero.has-animation-enabled .tjg-hero__title-line,
.tjg-js .tjg-hero.has-animation-enabled .tjg-hero__copy,
.tjg-js .tjg-hero.has-animation-enabled .tjg-hero__actions,
.tjg-js .tjg-hero.has-animation-enabled .tjg-hero__lower { transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1),filter .9s cubic-bezier(.16,1,.3,1); }
.tjg-js .tjg-hero.has-animation-enabled .tjg-hero__eyebrow { transition-delay:.18s; }
.tjg-js .tjg-hero.has-animation-enabled .tjg-hero__title-line--one { transition-delay:.29s; }
.tjg-js .tjg-hero.has-animation-enabled .tjg-hero__title-line--two { transition-delay:.41s; }
.tjg-js .tjg-hero.has-animation-enabled .tjg-hero__copy { transition-delay:.55s; }
.tjg-js .tjg-hero.has-animation-enabled .tjg-hero__actions { transition-delay:.66s; }
.tjg-js .tjg-hero.has-animation-enabled .tjg-hero__lower { transition-delay:.78s; }
.tjg-js .tjg-hero.has-animation-enabled.is-ready .tjg-hero__eyebrow,
.tjg-js .tjg-hero.has-animation-enabled.is-ready .tjg-hero__title-line,
.tjg-js .tjg-hero.has-animation-enabled.is-ready .tjg-hero__copy,
.tjg-js .tjg-hero.has-animation-enabled.is-ready .tjg-hero__actions,
.tjg-js .tjg-hero.has-animation-enabled.is-ready .tjg-hero__lower { opacity:1; transform:none; filter:blur(0); }
.tjg-hero.is-paused .tjg-hero__particles span,
.tjg-hero.is-paused .tjg-hero__interaction-hint span { animation-play-state:paused; }

@media (max-width:1100px) {
  .tjg-hero { --tjg-spot-radius:230px; }
  .tjg-hero__stage { padding-top:140px; padding-bottom:52px; }
  .tjg-hero h1 { font-size:clamp(3.5rem,8.4vw,6.4rem); }
  .tjg-hero__lower { grid-template-columns:1fr 1fr; }
  .tjg-hero__interaction-hint { display:none; }
  .tjg-hero__trust { min-width:0; }
}
@media (max-width:760px) {
  .tjg-hero { min-height:90svh; height:auto; --tjg-scroll-y:0px!important; --tjg-scroll-fade:0!important; }
  .tjg-hero__stage { min-height:90svh; padding-top:132px; padding-bottom:42px; }
  .tjg-hero__base { filter:saturate(.86) brightness(.72) contrast(1.03); }
  .tjg-hero__reveal { opacity:.78; -webkit-mask-image:linear-gradient(#000,#000); mask-image:linear-gradient(#000,#000); filter:saturate(1.03) brightness(.98); }
  .tjg-hero__shade { background:linear-gradient(180deg,rgba(2,12,8,.66),rgba(2,12,8,.2) 30%,rgba(2,12,8,.18) 56%,rgba(2,12,8,.84)); }
  .tjg-hero__botanical { right:-38%; top:26%; width:105vw; opacity:.14; }
  .tjg-hero__particles { display:none; }
  .tjg-hero__content { margin-top:auto; margin-bottom:auto; }
  .tjg-hero__eyebrow { margin-bottom:18px; padding:8px 11px; font-size:.62rem; letter-spacing:.1em; }
  .tjg-hero h1 { font-size:clamp(2.65rem,11.8vw,5.1rem); line-height:.91; letter-spacing:-.064em; }
  .tjg-hero__copy { max-width:560px; margin-top:22px; font-size:.98rem; line-height:1.55; }
  .tjg-hero__actions { margin-top:24px; }
  .tjg-hero__actions .tjg-button { width:auto; min-width:min(100%,245px); }
  .tjg-hero__lower { display:block; margin-top:34px; }
  .tjg-hero__location-card { max-width:none; padding:15px 16px; }
  .tjg-hero__trust { display:none; }
  .tjg-hero__edge { height:30px; }
}
@media (max-width:480px) {
  .tjg-hero__stage { padding-top:116px; }
  .tjg-hero h1 { font-size:clamp(2.4rem,11.7vw,4.3rem); }
  .tjg-hero__actions { display:grid; }
  .tjg-hero__actions .tjg-button { width:100%; }
  .tjg-hero__location-card p { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  .tjg-hero { --tjg-pointer-x:0px!important; --tjg-pointer-y:0px!important; --tjg-scroll-y:0px!important; --tjg-scroll-fade:0!important; }
  .tjg-hero__base,.tjg-hero__reveal,.tjg-hero__botanical,.tjg-hero__content { transform:none!important; }
  .tjg-hero__reveal { -webkit-mask-image:linear-gradient(#000,#000); mask-image:linear-gradient(#000,#000); opacity:.72; }
  .tjg-hero__particles,.tjg-hero__interaction-hint { display:none; }
  .tjg-js .tjg-hero.has-animation-enabled .tjg-hero__eyebrow,
  .tjg-js .tjg-hero.has-animation-enabled .tjg-hero__title-line,
  .tjg-js .tjg-hero.has-animation-enabled .tjg-hero__copy,
  .tjg-js .tjg-hero.has-animation-enabled .tjg-hero__actions,
  .tjg-js .tjg-hero.has-animation-enabled .tjg-hero__lower { opacity:1; transform:none; filter:none; transition:none; }
}

/* Hero media visibility and example-led composition — v1.1.1 */
.tjg-hero{background:#04120d}
.tjg-hero__visual{z-index:0;background-color:#07140f;background-repeat:no-repeat;background-size:cover}
.tjg-hero__base{z-index:0;filter:saturate(.82) brightness(.74) contrast(1.04)}
.tjg-hero__reveal{z-index:1;filter:saturate(1.08) brightness(1.04) contrast(1.04)}
.tjg-hero__video{z-index:2}
.tjg-hero__light,.tjg-hero__shade,.tjg-hero__grain,.tjg-hero__botanical,.tjg-hero__particles{z-index:3}
.tjg-hero__light,.tjg-hero__shade,.tjg-hero__grain,.tjg-hero__particles{position:absolute}
.tjg-hero__stage{z-index:5;padding-top:clamp(205px,23vh,258px);padding-bottom:clamp(46px,5.5vh,70px)}
.tjg-hero__shade{background:linear-gradient(180deg,rgba(2,12,8,.52) 0%,rgba(2,12,8,.1) 32%,rgba(2,12,8,.12) 58%,rgba(2,12,8,.72) 100%),linear-gradient(90deg,rgba(2,12,8,.22),transparent 38%,transparent 70%,rgba(2,12,8,.14))}
.tjg-hero__content{width:min(100%,1080px)}
.tjg-hero h1{font-size:clamp(3.65rem,7.6vw,8.45rem);line-height:.88;letter-spacing:-.071em}
.tjg-hero__copy{max-width:730px}
.tjg-hero__edge{z-index:7}
@media(max-width:1180px){.tjg-hero__stage{padding-top:clamp(152px,19vh,190px)}}
@media(max-width:760px){
  .tjg-hero{min-height:94svh;height:auto}
  .tjg-hero__stage{min-height:94svh;padding-top:132px;padding-bottom:38px}
  .tjg-hero__base{filter:saturate(.9) brightness(.76) contrast(1.03)}
  .tjg-hero__shade{background:linear-gradient(180deg,rgba(2,12,8,.58),rgba(2,12,8,.18) 32%,rgba(2,12,8,.2) 58%,rgba(2,12,8,.82))}
}

/* Editorial two-line headline refinement — v1.1.1 */
@media(min-width:1181px){
  .tjg-hero__stage{padding-top:clamp(250px,27vh,292px)}
  .tjg-hero__content{width:min(100%,1240px)}
  .tjg-hero h1{font-size:clamp(3.7rem,7vw,7.7rem)}
  .tjg-hero__title-line{white-space:nowrap}
}

/* Headline lockup correction — v1.1.2 */
.tjg-hero__title-line--one{white-space:nowrap}
@media (max-width:760px){
  .tjg-hero h1{font-size:clamp(2.35rem,11.8vw,4.2rem)}
}
