/* Enhancements are phone-scoped; the approved desktop composition stays intact. */
.sjhm-viewer-meta{display:none}
@media(max-width:700px){
 .se26-home{--sjhm-heading:clamp(36px,9.6vw,44px)}
 .se26-home .sjhf-header.se26-header{--sjhf-header:72px;height:72px}
 .se26-home{--se-header:72px;--sjhf-header:72px}
 .se26-home .se26-hero{padding-bottom:76px!important;align-items:end}
 .se26-home .se26-hero-copy{padding-bottom:0!important;position:relative;z-index:2}
 .se26-home #se26-title{font-size:clamp(52px,14.6vw,66px);line-height:1.04;max-width:11ch;letter-spacing:-.035em;text-wrap:balance}
 .se26-home .sjh20-hero-subtitle{font-size:20px;line-height:1.5;max-width:24ch;margin-top:23px;text-wrap:pretty}
 .se26-home .se26-hero-media video{translate:0 var(--sjhm-hero-shift,0px);scale:1.065;object-position:center top}
 .se26-home .se26-hero-shade{background:linear-gradient(0deg,#061d17eb 0%,#061d1799 34%,#061d1714 85%)}
 .se26-home .se26-hero:after{display:none}
 .se26-home #our-story{padding-block:56px!important;gap:25px!important}
 .se26-home :is(#se26-intro-title,#se26-work-title,#se26-approach-title,#se26-atmosphere-title,#se26-partners-title,#se26-contact-title){font:400 var(--sjhm-heading)/1.12 var(--se-serif)!important;letter-spacing:-.025em!important;max-width:none!important;text-wrap:balance}
 .se26-home #our-story .sjh20-subtitle{font-size:22px;line-height:1.4;max-width:23ch;margin-top:17px}
 .se26-home #our-story>div:last-child>p,.se26-home #our-approach .se26-section-copy>p,.se26-home .se26-atmosphere-intro>p,.se26-home .se26-contact-row p{font-size:17px;line-height:1.7}
 .se26-home #selected-events.sjhso-section{padding-block:52px 60px!important}
 .se26-home #selected-events .sjhso-heading{display:block;margin-bottom:30px}
 .se26-home #selected-events .sjhso-all{justify-content:flex-start;gap:20px;width:fit-content;margin-top:16px;font-size:13px;min-height:40px}
 .se26-home #selected-events .sjhso-list{gap:38px}
 .se26-home #selected-events .sjhso-event{display:block;padding:0;margin:0;width:100%;color:inherit;text-decoration:none}
 .se26-home #selected-events .sjhso-photo{width:100%;aspect-ratio:1.34;margin:0;border-radius:3px 3px 0 0;clip-path:none!important;opacity:1!important}
 .se26-home #selected-events .sjhso-drift{inset:0;transform:none!important}
 .se26-home #selected-events .sjhso-caption{box-sizing:border-box;width:100%;margin:0!important;padding:23px 22px 25px;border-radius:0 0 3px 3px;box-shadow:none;opacity:1!important;transform:none!important}
 .se26-home #selected-events .sjhso-venue{font:400 12px/1.5 var(--se-sans);letter-spacing:.015em;margin:0 0 10px}
 .se26-home #selected-events h3{font:400 clamp(27px,7.4vw,32px)/1.15 var(--se-serif);letter-spacing:-.025em}
 .se26-home #selected-events .sjhso-word{opacity:1!important;transform:none!important;transition:none}
 .se26-home #selected-events .sjhso-description{font:400 16px/1.65 var(--se-sans);margin-top:14px;max-width:none}
 .se26-home #selected-events .sjhso-link{margin-top:20px;min-height:32px;font-size:13px}
 .se26-home #our-approach{padding-block:54px}
 .se26-home #our-approach .se26-what-heading{padding-bottom:30px;gap:25px}
 .se26-home #our-approach .se26-journey-grid{gap:30px}
 .se26-home #our-approach .se26-journey-chapter h3{font-size:28px}
 .se26-home #our-approach .se26-journey-chapter>p{font-size:17px!important;line-height:1.7}
 .se26-home .se26-atmosphere-intro{padding-block:48px 30px;gap:24px}
 .se26-home .se26-atmosphere-intro h2{max-width:12ch!important}
 .se26-home #atmosphere .sjhb-gallery{padding-bottom:32px}
 .se26-home #atmosphere .sjhb-controls{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between}
 .se26-home #atmosphere .sjhb-progress{order:0;flex:1;min-width:48px;max-width:none;margin:0}
 .se26-home #atmosphere .sjhb-buttons{gap:7px}
 .se26-home #atmosphere .sjhb-buttons button{min-height:44px;min-width:44px}
 .se26-home #atmosphere .sjhb-buttons button[data-bento-pause]{min-width:72px;font-size:11px}
 /* A reserved, stable 80svh card: the title leads, the quote is subordinate. */
 .se26-home #partner-words{box-sizing:border-box;height:80svh;min-height:0!important;max-height:80svh;padding-block:30px!important;overflow:hidden}
 .se26-home #partner-words .se26-partner-layout{height:100%;min-height:0;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr);gap:24px!important}
 .se26-home .se26-partner-heading{display:block;position:static;min-height:0;padding:0}
 .se26-home .se26-partner-heading .se26-eyebrow{font-size:10px;letter-spacing:.13em;margin:0 0 12px}
 .se26-home #se26-partners-title{max-width:12ch!important;font-size:36px!important;line-height:1.1!important}
 .se26-home .se26-partner-heading>.se26-link{display:none}
 .se26-home .se26-partner-stage{height:100%;min-height:0!important;display:grid!important;grid-template-rows:minmax(0,1fr) 44px;gap:18px;align-self:stretch}
 .se26-home .se26-testimonials{height:100%!important;min-height:0!important;max-height:none!important;overflow:hidden}
 .se26-home .se26-testimonials blockquote{inset:0;box-sizing:border-box;height:100%;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:18px;align-content:stretch;padding:0;margin:0;border:0}
 .se26-home .se26-testimonials blockquote[hidden]{display:none!important}
 .se26-home .se26-testimonials blockquote>p{font:400 var(--se-quote-size,21px)/1.5 var(--se-serif)!important;letter-spacing:0;min-height:0;height:100%;margin:0;align-self:start;align-content:start;overflow:auto;overscroll-behavior:auto;scrollbar-width:thin;padding-right:4px}
 .se26-home .se26-testimonials blockquote footer{margin:0;padding:0;border:0;min-height:40px}
 .se26-home .se26-testimonials blockquote footer strong{font:500 12px/1.5 var(--se-sans);color:#e5eadd;max-width:30ch}
 .se26-home .se26-partner-controls{height:44px;margin:0;padding:0;border:0;align-items:center;gap:8px}
 .se26-home .se26-quote-picker{gap:0}
 .se26-home .se26-quote-picker button{width:28px;min-width:28px;height:44px;padding:0}
 .se26-home .se26-quote-picker button:after{display:none}
 .se26-home .se26-partner-controls>div:last-child{display:flex;gap:8px}
 .se26-home .se26-partner-controls .se26-icon-button{width:44px;height:44px;min-width:44px;outline-offset:3px}
 /* A purpose-built, safe-area aware phone photo viewer. */
 .se26-home .sjhb-lightbox{box-sizing:border-box;inset:0;width:100%;height:100dvh;max-height:100dvh;margin:0;padding:max(18px,env(safe-area-inset-top)) 18px max(20px,env(safe-area-inset-bottom));background:#09271ff7;grid-template-rows:auto minmax(0,1fr) auto;gap:20px;overflow:hidden}
 .se26-home .sjhb-lightbox[open]{display:grid}
 .se26-home .sjhb-lightbox-top{height:auto;min-height:48px;display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:20px}
 .se26-home .sjhb-lightbox-top p{font:400 13px/1.5 var(--se-sans);padding:0;margin:0;color:#e2e8dc;max-width:27ch}
 .se26-home .sjhb-lightbox-top button{width:44px;height:44px;padding:0;border:1px solid #ffffff40;border-radius:50%;font-size:0;position:relative}
 .se26-home .sjhb-lightbox-top button:before,.se26-home .sjhb-lightbox-top button:after{content:'';position:absolute;left:13px;top:20px;width:16px;height:1px;background:currentColor;transform:rotate(45deg)}
 .se26-home .sjhb-lightbox-top button:after{transform:rotate(-45deg)}
 .se26-home .sjhb-lightbox>img{width:100%;height:100%;min-height:0;max-height:none;margin:0;border-radius:3px;object-fit:contain;touch-action:pan-y pinch-zoom}
 .se26-home .sjhb-lightbox-controls{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:18px;padding:0}
 .se26-home .sjhb-lightbox-controls button{width:48px;height:48px;border-color:#ffffff40}
 .sjhm-viewer-meta{display:block;text-align:center;font:400 11px/1.6 var(--se-sans);letter-spacing:.03em;color:#c0cebe}
 .sjhm-viewer-meta strong{display:block;font-size:13px;font-weight:500;color:#fff;letter-spacing:.1em}
 /* Light shimmer is deliberately visible, without washing out the contact copy. */
 .se26-home #contact{min-height:560px;padding-block:100px 58px}
 .se26-home .se26-contact-row{gap:28px!important}
 .se26-home .se26-contact-row>div{margin-top:0!important}
 .se26-home .se26-contact-row .se26-link{margin-top:24px;min-height:48px}
 .se26-home #contact .sjhf21-bokeh{width:100%;height:240px;max-height:240px;mask-image:linear-gradient(90deg,#000 65%,transparent),linear-gradient(#000 40%,transparent)}
 .se26-home #contact .sjhf21-bokeh i{width:clamp(38px,var(--s),72px);animation-name:sjhm-bokeh-glow;filter:blur(1.8px)}
 /* Compact two-column footer: brand/address left, destinations right. */
 .se26-home .sjhf-footer{padding-block:36px 20px!important}
 .se26-home .sjhf-footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:24px 22px;align-items:start}
 .se26-home .sjhf-footer-brand{display:block;min-width:0}
 .se26-home .sjhf-footer .sjhf-logo{width:min(150px,100%)!important;margin-bottom:22px}
 .se26-home .sjhf-footer address,.se26-home .sjhf-footer p{font-size:12px;line-height:1.65}
 .se26-home .sjhf-footer p{margin-top:18px}
 .se26-home .sjhf-footer .sjhn-endorsement.sjh20-endorsement{font-size:14px!important;line-height:1.5!important;margin-top:18px!important}
 .se26-home .sjhf-footer h2{font-size:25px;line-height:1.2;margin-bottom:15px}
 .se26-home .sjhf-footer-links{grid-template-columns:minmax(0,1fr);gap:14px}
 .se26-home .sjhf-footer-links>nav{gap:0}
 .se26-home .sjhf-footer-links a{font:400 13px/1.4 var(--se-sans);display:flex;align-items:center;min-height:36px;padding-block:6px}
 .se26-home .sjhf-social{grid-column:1/-1!important;display:flex;flex-direction:row;gap:10px;flex-wrap:wrap;padding:0!important}
 .se26-home .sjhf-social a{width:38px;height:38px}
 .se26-home .sjhf-footer-settings{margin-top:22px;gap:8px 16px;flex-wrap:wrap;border-top:1px solid #123f3418;padding-top:12px}
 .se26-home .sjhf-footer-settings button,.se26-home .sjhf-footer-settings label{font-size:11px}
}
@keyframes sjhm-bokeh-glow{0%,100%{opacity:.1;transform:scale(.96)}40%{opacity:.45;transform:translate3d(2px,-2px,0) scale(1.04)}72%{opacity:.18;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.se26-home .se26-hero-media video{translate:none!important;scale:1!important}.se26-home #contact .sjhf21-bokeh{display:none}}
.se26-motion-reduced .se26-hero-media video{translate:none!important;scale:1!important}
/* Clear phone-sized brand lockup; independent of the shared desktop size. */
@media(max-width:700px){
 .se26-home .sjh-family-intro .sjh-family-lockup{--sjh-mark-size:clamp(48px,14.4vw,62px)!important;--sjh-word-width:calc(var(--sjh-mark-size) * 2.75)!important;--sjh-lockup-gap:10px!important}
 .se26-home .sjh-family-intro .sjh-family-mark{width:var(--sjh-mark-size)!important;height:var(--sjh-mark-size)!important;flex:0 0 var(--sjh-mark-size)!important}
 .se26-home .sjh-family-intro .sjh-family-word{width:var(--sjh-word-width)!important;max-width:none!important;flex:0 0 var(--sjh-word-width)!important}
 /* Only the decoded image crossfades. Cards never blink or translate as a whole. */
 .se26-home #selected-events .sjhso-event{opacity:1!important;translate:none!important;animation:none!important}
 .se26-home #selected-events .sjhso-photo,.se26-home #selected-events .sjhso-drift{clip-path:none!important;opacity:1!important;transition:none!important;animation:none!important}
 .se26-home #selected-events .sjhso-photo img{transform:none!important;scale:1!important;transition:opacity .7s cubic-bezier(.22,1,.36,1)!important}
 .se26-home #selected-events .sjhp-skeleton{transition:opacity .7s cubic-bezier(.22,1,.36,1),visibility .7s!important}
 /* Avoid intersecting mask layers on Safari; keep the shimmer in a bounded corner. */
 .se26-home #contact .sjhf21-bokeh{width:min(100%,470px);height:210px;max-height:210px;z-index:1;mask-image:none!important;-webkit-mask-image:none!important;mix-blend-mode:screen;overflow:hidden;pointer-events:none}
 .se26-home #contact .sjhf21-bokeh i{width:clamp(46px,var(--s),82px);background:radial-gradient(circle at 45% 42%,#fff2ca 0%,#f1ca81d1 48%,#d8aa551a 70%,transparent 77%);box-shadow:inset 0 0 3px 1px #ffe9b54d;filter:blur(2.2px);animation-name:sjhm-bokeh-visible;animation-duration:calc(var(--d,7s) * .72)}
 .se26-home #contact .sjhf21-bokeh i:nth-child(1){--x:3%;--y:8%}
 .se26-home #contact .sjhf21-bokeh i:nth-child(2){--x:17%;--y:-7%}
 .se26-home #contact .sjhf21-bokeh i:nth-child(3){--x:33%;--y:19%}
 .se26-home #contact .sjhf21-bokeh i:nth-child(4){--x:46%;--y:0%}
 .se26-home #contact .sjhf21-bokeh i:nth-child(5){--x:62%;--y:28%}
 .se26-home #contact .sjhf21-bokeh i:nth-child(6){--x:76%;--y:-8%}
 .se26-home #contact .sjhf21-bokeh i:nth-child(7){--x:86%;--y:14%}
 .se26-home #contact .sjhf21-bokeh i:nth-child(8){--x:-4%;--y:53%}
 .se26-home #contact .sjhf21-bokeh i:nth-child(9){--x:25%;--y:52%}
 .se26-home #contact .sjhf21-bokeh i:nth-child(10){--x:69%;--y:55%}
}
@keyframes sjhm-bokeh-visible{0%,100%{opacity:.14;transform:translate3d(0,0,0) scale(.9)}38%{opacity:.84;transform:translate3d(7px,-5px,0) scale(1.11)}72%{opacity:.27;transform:translate3d(-4px,3px,0) scale(.98)}}
@media(min-width:701px){.se26-home #contact .sjhf21-bokeh i{background:radial-gradient(circle at 45% 42%,#fff2ca 0%,#f1ca81bd 48%,#d8aa551a 70%,transparent 77%);animation-name:sjhm-bokeh-visible;animation-duration:calc(var(--d,7s) * .72)}}
.sjhm-menu-toggle{display:none;border:0;background:none;color:#123f34;min-height:48px;padding:8px 0 8px 16px;font:500 15px/1.4 'DM Sans',Arial,sans-serif;cursor:pointer;align-items:center;gap:11px}
.sjhm-menu-toggle:after{content:'';width:18px;height:10px;border-block:1px solid currentColor}
.sjhm-menu{box-sizing:border-box;position:fixed;inset:calc(var(--se-header,72px) + 12px) 12px auto;width:calc(100% - 24px);max-width:520px;max-height:calc(100dvh - var(--se-header,72px) - 28px);margin:0 0 0 auto;padding:20px;border:1px solid #123f3418;border-radius:5px;background:#faf8f4;color:#123f34;box-shadow:0 24px 80px #041e174d;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;font-family:'DM Sans',Arial,sans-serif}
.sjhm-menu *{box-sizing:border-box}
.sjhm-menu::backdrop{background:#071d189e;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.sjhm-menu-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.sjhm-menu-top p{font:400 12px/1.5 var(--se-sans);color:#67776a;letter-spacing:.015em;margin:0}
.sjhm-menu-top p span{display:block;font:400 24px/1.2 var(--se-serif);color:#123f34;letter-spacing:-.02em;margin-top:2px}
.sjhm-menu-close{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:1px solid #123f342b;border-radius:50%;font:300 29px/1 var(--se-sans);color:#123f34;background:transparent;cursor:pointer}
.sjhm-menu-media{display:grid;grid-template-columns:1.35fr 1fr;align-items:end;gap:10px;margin:0 0 20px}
.sjhm-menu-photo{position:relative;overflow:hidden;isolation:isolate;display:block;width:100%;height:150px;padding:0;border:0;border-radius:3px;background:#24483c;color:#fff;text-align:left;cursor:pointer}
.sjhm-menu-detail{height:122px}
.sjhm-menu-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#031b18bd,transparent 70%);z-index:1}
.sjhm-menu-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 35%;transition:scale 1s cubic-bezier(.22,1,.36,1)}
.sjhm-menu-photo:hover img{scale:1.04}
.sjhm-menu-photo span{position:absolute;left:12px;bottom:12px;right:10px;z-index:2;font:500 12px/1.4 var(--se-sans)}
.sjhm-menu nav{display:grid;gap:2px}
.sjhm-menu nav button{position:relative;display:block;width:100%;min-height:52px;padding:8px 0;border:0;border-radius:0;background:none;text-align:left;color:#123f34;font:400 29px/1.25 var(--se-serif);letter-spacing:-.025em;cursor:pointer;transition:color .3s ease}
.sjhm-menu nav button:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:#123f3414}
.sjhm-menu nav button:hover{color:#63816e}
.sjhm-menu-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:22px 0 2px}
.sjhm-menu-bottom p{font:400 11px/1.6 var(--se-sans);color:#67776a;margin:0}
.sjhm-menu-cta{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:18px;min-height:48px;padding:12px 17px;border:1px solid #123f34;border-radius:2px;background:#123f34;color:#faf8f4;font:500 13px/1.4 var(--se-sans);white-space:nowrap;cursor:pointer}
.sjhm-menu-cta:before{content:'';position:absolute;inset:0;background:#315e4a;translate:0 101%;transition:translate .4s cubic-bezier(.22,1,.36,1);z-index:-1}
.sjhm-menu-cta:hover:before{translate:0 0}
.sjhm-menu-cta span{font-size:20px;font-weight:400}
.se26-home .sjhm-menu .sjhm-menu-cta,.se26-home .sjhm-menu .sjhm-menu-cta span,.se26-home .sjhm-menu .sjhm-menu-photo span{color:#faf8f4!important}
.se26-home .sjhm-menu .sjhm-menu-cta{font:500 13px/1.4 var(--se-sans)!important;min-height:48px!important}
.se26-home .sjhm-menu .sjhm-menu-close{border-radius:50%!important;font:300 29px/1 var(--se-sans)!important}
.sjhm-menu button:focus-visible,.sjhm-menu-toggle:focus-visible{outline:2px solid #63816e;outline-offset:4px}
@media(max-width:900px){.se26-home .sjh20-header .sjhm-menu-toggle{display:inline-flex;margin-left:auto}.se26-home .sjh20-header #sjhf21-nav{display:none!important}}
@media(min-width:901px){.sjhm-menu{display:none}}
@media(max-width:360px){.sjhm-menu{padding:17px}.sjhm-menu-photo{height:112px}.sjhm-menu-detail{height:94px}.sjhm-menu nav button{font-size:26px;min-height:48px}.sjhm-menu-bottom{padding-top:18px}.sjhm-menu-cta{gap:10px;padding-inline:13px}}
@media(prefers-reduced-motion:reduce){.sjhm-menu *{transition:none!important}.se26-home #contact .sjhf21-bokeh{display:none!important}}
.se26-motion-reduced #contact .sjhf21-bokeh{display:none!important}

/* Decorative arrows are geometry, never platform emoji glyphs. */
.se26-home .sjh-ui-arrow{display:inline-block!important;width:1em!important;height:1em!important;flex:0 0 1em;fill:none!important;stroke:currentColor!important;stroke-width:1.4;vertical-align:-.12em;overflow:visible;pointer-events:none}
.se26-home .sjh-ui-arrow path{fill:none!important;stroke:inherit;stroke-width:inherit;stroke-linecap:round;stroke-linejoin:round}


/* The approved poster stays underneath until video playback is confirmed. */
.se26-home .se26-hero-media{background-image:var(--se-hero-poster);background-size:cover;background-position:center top}
.se26-home .se26-hero-media video[data-sjhm-film]{opacity:0!important;transition:opacity .55s ease!important}
.se26-home .se26-hero-media video[data-sjhm-visible]{opacity:1!important}
@media(prefers-reduced-motion:reduce){.se26-home .se26-hero-media video[data-sjhm-film]{opacity:0!important;transition:none!important}}
.se26-motion-reduced .se26-hero-media video[data-sjhm-film]{opacity:0!important}
