/* Shared Osmo rotation replaces the previous fill/scale hover choreography. */
.ys-rotate-control {position:relative!important}
.ys-rotate-control .ys-bc-fill,.ys-rotate-control .ys-bc-duplicate-text {display:none!important}
.ys-rotate-control .button__bg,.ys-rotate-control .button-alt__bg,
.ys-rotate-control:hover .button__bg,.ys-rotate-control:hover .button-alt__bg {transform:none!important;transition:none!important}
.ys-rotate-control .button__inner,.ys-rotate-control .button-alt__text-outer {transform:none!important;opacity:1!important;transition:none!important}
.ys-rotate-control .button-alt__text-wrap,.ys-rotate-control .button-alt__icon-wrap {overflow:hidden!important}
.ys-rotate-control:not(.button-alt) {overflow:hidden!important}
.ys-rotate-label {display:inline-grid!important;place-items:center;position:relative;vertical-align:middle;line-height:inherit;pointer-events:none}
.ys-rotate-label>.ys-rotate-text {display:flex;align-items:center;justify-content:center;gap:inherit;white-space:inherit;transform-origin:50% 1100%;transition:none!important}
.ys-rotate-label>.ys-rotate-text+span {position:absolute;inset:0;transform:rotate(-20deg)}
.ys-rotate-control .button__text,.ys-rotate-control .button-alt__text {overflow:visible!important}
.ys-rotate-control>.ys-rotate-label {width:100%}
.closing .contact>.ys-rotate-label {gap:inherit}
.ys-rotate-control:hover {translate:none!important;scale:none!important}
/* Distinguish the trigger without changing the measured bar geometry. */
.ys-navigation__toggle {background:#ded9cd!important;border-radius:calc(var(--osmo-unit) * .25)!important;outline:0}
.ys-navigation__toggle:hover {background:#d3cebf!important}
.ys-navigation.is-open .ys-navigation__toggle {background:#d3cebf!important}
.ys-navigation {transition:opacity .35s ease,visibility .35s}
body.ys-approved-intro-active .ys-navigation,
body:has([data-intro-home]):not(.ys-transition-ready) .ys-navigation {opacity:0;visibility:hidden;pointer-events:none}
/* The supplied social icons, shapes, clipping and 10-degree rotation. */
.ys-navigation__secondary {display:flex;flex-direction:column}
.ys-navigation__socials {display:flex;gap:4px;margin-top:auto;padding-top:32px}
.ys-osmo-social {display:grid!important;place-items:center!important;position:relative!important;overflow:hidden!important;width:40px!important;height:40px!important;flex-shrink:0;padding:10px!important;color:#082f62!important;background:#ded9cd!important;border:0!important;border-radius:2px!important;text-decoration:none!important;transition:none!important}
.ys-osmo-social[data-shape="round"] {border-radius:50%!important}
.ys-osmo-social__icon {display:block;width:20px;height:20px;position:relative;transform-origin:50% 1100%}
.ys-osmo-social__icon+span {position:absolute;transform:rotate(-10deg)}
.ys-osmo-social svg {display:block;width:100%;height:100%}
.ys-osmo-social:focus-visible {outline:2px solid #b9935b!important;outline-offset:4px}
.ys-footer-contact-actions {display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.ys-site-footer__brand-column>.ys-site-footer__socials {margin-top:24px!important}
.ys-site-footer__socials {gap:4px!important}
/* Contact card: breathing room, one centered action, no detached arrow. */
:is(.hero__logo-easter-egg,.ys-section-contact) .pop-up__overlay-inner {width:18em!important;max-width:calc(100vw - 40px)}
:is(.hero__logo-easter-egg,.ys-section-contact) .pop-up__overlay-content {padding:1.4em 1.5em!important;align-items:center;text-align:center}
:is(.hero__logo-easter-egg,.ys-section-contact) .pop-up__overlay-title {max-width:100%!important;margin:0 auto .6em!important;text-align:center;font-size:1.5em!important;line-height:1.05!important}
:is(.hero__logo-easter-egg,.ys-section-contact) .pop-up__overlay-content-action {display:flex!important;justify-content:center!important;width:100%;margin:0!important}
:is(.hero__logo-easter-egg,.ys-section-contact) .button-alt__icon-wrap {display:none!important}
:is(.hero__logo-easter-egg,.ys-section-contact) .button-alt__text-wrap {padding-inline:1.25em!important}
/* Keep existing card widths and media; give copy the hero glass treatment. */
.ys-demo-grid>.ys-demo-card:nth-child(n),.ys-fan-stage .ys-demo-card:nth-child(n) {--card:rgba(8,47,36,.55);padding:4px;box-sizing:border-box;border:1px solid rgba(255,255,255,.3);border-radius:12px;background:var(--card);color:#f7f3e9;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 16px 40px #082f6214;filter:none}
.ys-demo-grid .ys-demo-play,.ys-fan-stage .ys-demo-play {border-radius:7px;overflow:hidden}
.ys-demo-grid .ys-demo-copy,.ys-fan-stage .ys-demo-copy {background:transparent!important;padding:1.3rem 1.1rem 1rem;color:inherit}
.ys-demo-copy::before {display:none!important}
.ys-demo-copy h3 {color:inherit!important}
.ys-demo-grid .ys-demo-tagline {font-size:1rem;line-height:1.45;min-height:3em}
.ys-demo-grid .ys-demo-copy summary {font-size:.875rem;padding:.85rem 0 .25rem;line-height:1.4;list-style:none;display:flex;align-items:center;gap:8px}
.ys-demo-copy summary::-webkit-details-marker {display:none}
.ys-demo-grid .ys-demo-copy summary::before {content:'+';font-size:1.2em;width:.8em;flex-shrink:0}
.ys-demo-grid .ys-demo-copy details[open]>summary::before {content:'−'}
.ys-demo-grid .ys-demo-explanation {font-size:.95rem;line-height:1.55}
.ys-demo-grid .ys-demo-sticker,.ys-fan-stage .ys-demo-sticker {background:rgba(247,243,233,.92);color:#082f62;border-radius:4px;transform:none;padding:.45rem .7rem;font-size:.875rem;bottom:1rem}
.ys-demo-grid .ys-demo-collage {border-width:3px;border-radius:5px}
.ys-demo-grid .ys-demo-photo {filter:saturate(.9) contrast(1.035)}
.ys-demo-grid .ys-demo-play:focus-visible,.ys-demo-grid summary:focus-visible {outline:2px solid #f7f3e9}
/* Background options are previews until the user picks a direction. */
html[data-ys-approach-tone] #how-it-works {background:var(--ys-approach-bg)!important;color:var(--ys-approach-ink)!important}
html[data-ys-approach-tone="sand"] {--ys-approach-bg:#ead8bc;--ys-approach-ink:#082f62}
html[data-ys-approach-tone="green"] {--ys-approach-bg:#285640;--ys-approach-ink:#f7f3e9}
html[data-ys-approach-tone] #how-it-works :is(.flow__title,.ys-flow__eyebrow,.ys-flow__intro,.ys-flow__quote,.ys-flow__summary,.ys-flow__summary *) {color:var(--ys-approach-ink)!important}
html[data-ys-approach-tone] #how-it-works .flow__bg {display:none!important}
@media(max-width:767px){
 .ys-navigation__socials {padding-top:22px}
 .ys-footer-contact-actions {gap:16px}
 .ys-fan-stage .ys-demo-card:nth-child(n) {padding:4px;border-width:1px}
 .ys-fan-stage .ys-demo-copy {min-height:88px}
 .ys-fan-copy .ys-demo-copy {background:rgba(8,47,36,.55);backdrop-filter:blur(18px);color:#f7f3e9;border:1px solid #ffffff4d;border-radius:12px}
 .ys-fan-copy summary {list-style:none}
}
@media(prefers-reduced-motion:reduce){.ys-navigation{transition:none}}
/* Restore the original overlapping row without narrowing any card. */
@media(min-width:768px){
 .ys-photo-demo .ys-demo-grid {display:flex;max-width:1680px;width:100%;padding:3rem 7% 5rem!important;gap:0;align-items:flex-start}
 .ys-demo-grid>.ys-demo-card:nth-child(n) {flex:0 0 26.5%;width:26.5%;margin:0;display:flex;flex-direction:column}
 .ys-demo-grid>.ys-demo-card+.ys-demo-card {margin-left:-2%}
 .ys-demo-grid>.ys-demo-card:nth-child(n) {filter:grayscale(1);transition:filter .35s ease}
 .ys-demo-grid>.ys-demo-card.is-desktop-color {filter:grayscale(0)}
 .ys-demo-copy summary>.ys-rotate-label {width:auto;text-align:left}
 .ys-demo-grid .is-desktop-color[data-phase="2"] .ys-demo-photo--a {filter:saturate(.9) contrast(1.035)}
}
/* Twice-inspired left-to-right illumination: a mask reveals the bright title. */
.ys-demo-copy h3[data-ys-title] {position:relative;color:rgba(247,243,233,.35)!important}
.ys-demo-copy h3[data-ys-title]::after {content:attr(data-ys-title) / "";position:absolute;inset:0;color:#f7f3e9;clip-path:inset(0 100% 0 0);pointer-events:none}
:is(.is-desktop-color,.is-selected)>.ys-demo-copy h3[data-ys-title]::after {clip-path:inset(0)}
.ys-demo-copy h3.ys-title-reveal::after {animation:ys-title-light .95s cubic-bezier(.65,0,.35,1) both}
@keyframes ys-title-light {from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
@media(prefers-reduced-motion:reduce){.ys-demo-copy h3.ys-title-reveal::after{animation:none}.ys-demo-grid>.ys-demo-card:nth-child(n){transition:none}}

/* Keep the arrow outside the clipped text animation on every footer. */
.ys-site-footer__back-top.ys-rotate-control {overflow:visible!important;white-space:nowrap;flex-shrink:0;min-height:44px;line-height:1.3;gap:.75rem}
.ys-backtop-label {display:inline-flex;align-items:center;overflow:hidden;white-space:nowrap}
.ys-backtop-label .ys-rotate-label {width:auto;white-space:nowrap}
.ys-site-footer__back-top>.ys-backtop-icon {flex:0 0 44px;width:44px!important;height:44px!important;font-size:1.1rem;line-height:1}
@media(max-width:767px){.ys-backtop-label{display:none}.ys-site-footer__back-top.ys-rotate-control{gap:0}}
/* Layered, frosted hero glass; layout and card-selection motion remain unchanged. */
html[data-ys-palette] :is(.ys-demo-grid,.ys-fan-stage)>.ys-demo-card:nth-child(n) {
 background:linear-gradient(145deg,rgba(255,255,255,.17),rgba(255,255,255,0) 38%,rgba(8,35,28,.18)),color-mix(in srgb,var(--ys-brand-green,#598365) 86%,transparent)!important;
 border-color:rgba(255,255,255,.45);border-top-color:rgba(255,255,255,.68);
 backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(8,35,28,.15),0 18px 40px rgba(8,47,62,.14);
}
.ys-card-glass-photo {position:absolute;inset:32% -12% -12%;z-index:-1;pointer-events:none;background-size:cover;background-position:center;filter:blur(32px) saturate(.65);opacity:.32;mask-image:linear-gradient(transparent,#000 38%);-webkit-mask-image:linear-gradient(transparent,#000 38%)}
:is(.ys-demo-grid,.ys-fan-stage) .ys-demo-copy {
 background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(13,43,33,.34))!important;
 border-radius:0 0 7px 7px;border-top:1px solid rgba(255,255,255,.16);
}
:is(.ys-demo-grid,.ys-fan-stage) .ys-demo-copy::after {
 content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;
 background:linear-gradient(112deg,rgba(255,255,255,.085),transparent 26%,transparent 76%,rgba(255,255,255,.035));
}
:is(.ys-demo-grid,.ys-fan-stage) .ys-demo-copy :is(p,details){color:#faf7f0;text-shadow:0 1px 2px rgba(8,35,28,.18)}
html[data-ys-palette] .ys-fan-copy .ys-demo-copy {
 background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(13,43,33,.25)),color-mix(in srgb,var(--ys-brand-green,#598365) 92%,transparent)!important;
 backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%);
 border-color:rgba(255,255,255,.55);box-shadow:inset 0 1px 0 #ffffff24,0 12px 30px #082f6214;
}
