.ng-visual-story{--story-ink:#171717;--story-muted:#777;--story-gold:#c9a961;--story-line:#e8e3da;--story-dark:#111;color:var(--story-ink);font-family:'Vazirmatn','IRANSans',sans-serif;overflow:hidden}
.ng-visual-story__inner{max-width:1320px;margin:0 auto;padding:clamp(3rem,7vw,7rem) clamp(1rem,5vw,4rem)}
.ng-visual-story__masthead,.ng-visual-story__featured,.ng-visual-story__toolbar,.ng-visual-story__grid,.ng-visual-story__timeline,.ng-visual-story__footer{max-width:1320px;margin-left:auto;margin-right:auto}.ng-visual-story__masthead{padding:clamp(3rem,7vw,7rem) clamp(1rem,5vw,4rem)}.ng-visual-story__toolbar,.ng-visual-story__grid,.ng-visual-story__footer{margin-left:clamp(1rem,5vw,4rem);margin-right:clamp(1rem,5vw,4rem)}
.ng-visual-story__masthead{max-width:780px}
.ng-visual-story__eyebrow{color:var(--story-gold);font-size:.68rem;letter-spacing:.22em;margin:0 0 1rem;text-transform:uppercase; text-align:right;}
.ng-visual-story h1,.ng-visual-story h2,.ng-visual-story h3,.ng-visual-story p{margin-top:0}.ng-visual-story h1{font-size:clamp(2.5rem,6vw,5.8rem);font-weight:300;line-height:1.2;margin-bottom:1.5rem}.ng-visual-story h1 em,.ng-visual-story h2 em{color:var(--story-gold);font-style:normal}.ng-visual-story__intro{color:var(--story-muted);font-size:clamp(.95rem,1.5vw,1.1rem);line-height:2.1;max-width:650px}
.ng-visual-story__featured{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.7fr);background:var(--story-dark);color:#fff;margin-bottom:4rem;min-height:clamp(390px,42vw,590px)}
.ng-visual-story__featured-media{min-height:390px;position:relative;overflow:hidden}.ng-visual-story__preview,.ng-visual-story__card-media video,.ng-visual-story__card-media img{width:100%;height:100%;object-fit:cover;display:block}.ng-visual-story__preview{filter:saturate(.65);transition:transform 1.2s ease}.ng-visual-story__featured:hover .ng-visual-story__preview{transform:scale(1.04)}.ng-visual-story__featured-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent 65%)}
.ng-visual-story__play,.ng-visual-story__card-play{border:1px solid rgba(255,255,255,.65);background:rgba(255,255,255,.16);backdrop-filter:blur(10px);color:#fff;border-radius:50%;cursor:pointer;display:grid;place-items:center}.ng-visual-story__play{height:76px;width:76px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);font-size:1.2rem}.ng-visual-story__play:hover,.ng-visual-story__card-play:hover{background:var(--story-gold);border-color:var(--story-gold)}.ng-visual-story__featured-meta{display:flex;justify-content:space-between;position:absolute;inset:auto 2rem 1.5rem;font-size:.7rem;letter-spacing:.08em}.ng-visual-story__location{color:#ddd}.ng-visual-story__featured-copy{align-self:end;padding:clamp(2rem,4vw,4rem)}.ng-visual-story__kicker,.ng-visual-story__card-tag{color:var(--story-gold);font-size:.68rem;letter-spacing:.12em}.ng-visual-story__featured-copy h2{font-size:clamp(1.8rem,3vw,3.1rem);font-weight:300;line-height:1.6;margin:1rem 0}.ng-visual-story__featured-copy p:not(.ng-visual-story__kicker){color:#aaa;line-height:2}.ng-visual-story__text-action,.ng-visual-story__footer a,.ng-visual-story__lightbox-copy a{background:none;border:0;color:var(--story-gold);cursor:pointer;font:inherit;padding:0;text-decoration:none}.ng-visual-story__text-action span,.ng-visual-story__footer a span,.ng-visual-story__lightbox-copy a span{display:inline-block;margin-right:.7rem;transition:transform .3s}.ng-visual-story__text-action:hover span,.ng-visual-story__footer a:hover span,.ng-visual-story__lightbox-copy a:hover span{transform:translateX(-5px)}
.ng-visual-story__toolbar{align-items:center;border-top:1px solid var(--story-line);border-bottom:1px solid var(--story-line);display:flex;gap:1rem;justify-content:space-between;margin-bottom:2rem;padding:1rem 0}.ng-visual-story__filters{display:flex;flex-wrap:wrap;gap:.35rem}.ng-visual-story__filters button,.ng-visual-story__media-toggle button{background:transparent;border:1px solid transparent;color:#777;cursor:pointer;font:inherit;font-size:.75rem;padding:.65rem .8rem}.ng-visual-story__filters button:hover,.ng-visual-story__filters button.is-active{border-color:var(--story-gold);color:var(--story-ink)}.ng-visual-story__media-toggle{display:flex;border:1px solid var(--story-line);direction:ltr;flex-shrink:0}.ng-visual-story__media-toggle button{font-size:.9rem;min-width:38px}.ng-visual-story__media-toggle button.is-active{background:var(--story-gold);color:#fff}
.ng-visual-story__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.ng-visual-story__card{grid-column:span 4;background:#fff;cursor:pointer;min-width:0}.ng-visual-story__card--wide{grid-column:span 8}.ng-visual-story__card--tall{grid-row:span 2}.ng-visual-story__card-media{aspect-ratio:4/3;overflow:hidden;position:relative}.ng-visual-story__card--wide .ng-visual-story__card-media{aspect-ratio:16/9}.ng-visual-story__card-media img,.ng-visual-story__card-media video{transition:transform .8s ease}.ng-visual-story__card:hover img,.ng-visual-story__card:hover video{transform:scale(1.06)}.ng-visual-story__card-play{height:50px;width:50px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);opacity:0;transition:opacity .3s}.ng-visual-story__card:hover .ng-visual-story__card-play{opacity:1}.ng-visual-story__duration,.ng-visual-story__count{background:rgba(17,17,17,.8);bottom:.8rem;color:#fff;font-size:.68rem;padding:.35rem .55rem;position:absolute;left:.8rem}.ng-visual-story__card-copy{padding:1rem 1.1rem 1.4rem}.ng-visual-story__card-copy h3{font-size:1rem;font-weight:400;line-height:1.8;margin:.5rem 0}.ng-visual-story__card-copy p{color:#999;font-size:.72rem;margin:0}
.ng-visual-story__timeline{background:#171717;color:#fff;margin:4rem 0;padding:clamp(1.5rem,4vw,3rem);width:100%;max-width:none;box-sizing:border-box}.ng-visual-story__timeline-head{align-items:end;display:flex;justify-content:space-between}.ng-visual-story__timeline h2{font-size:clamp(1.4rem,3vw,2.5rem);font-weight:300;margin-bottom:2rem}.ng-visual-story__timeline-head>span{color:var(--story-gold);font-size:.9rem}.ng-visual-story__timeline input{accent-color:var(--story-gold);direction:rtl;width:100%}.ng-visual-story__timeline-labels{color:#999;display:flex;font-size:.72rem;justify-content:space-between;margin-top:.8rem}.ng-visual-story__timeline [data-story-milestone]{color:#bbb;font-size:.85rem;line-height:2;margin:1.5rem 0 0}
.ng-visual-story__footer{align-items:center;border-top:1px solid var(--story-line);display:flex;justify-content:space-between;padding-top:1.5rem;padding-bottom:2.5rem}.ng-visual-story__footer p{color:#888;font-size:.85rem}.ng-visual-story__lightbox{align-items:center;background:rgba(10,10,10,.96);display:flex;inset:0;justify-content:center;opacity:0;padding:clamp(1rem,5vw,5rem);pointer-events:none;position:fixed;transition:opacity .35s;visibility:hidden;z-index:1000}.ng-visual-story__lightbox.is-open{opacity:1;pointer-events:auto;visibility:visible}.ng-visual-story__lightbox-stage{height:min(65vh,720px);max-width:1000px;width:min(72vw,1000px)}.ng-visual-story__lightbox-stage img,.ng-visual-story__lightbox-stage video{border:1px solid rgba(201,169,97,.5);height:100%;object-fit:contain;width:100%}.ng-visual-story__lightbox-copy{color:#fff;max-width:310px;padding:2rem}.ng-visual-story__lightbox-copy h2{font-size:1.6rem;font-weight:300;line-height:1.7}.ng-visual-story__lightbox-copy p{color:#aaa;font-size:.85rem;line-height:2}.ng-visual-story__lightbox-close,.ng-visual-story__lightbox-nav{background:none;border:0;color:#fff;cursor:pointer;font-size:2rem;position:absolute}.ng-visual-story__lightbox-close{right:2rem;top:1.5rem}.ng-visual-story__lightbox-nav{top:50%;transform:translateY(-50%);font-size:1.5rem}.ng-visual-story__lightbox-nav--prev{left:2rem}.ng-visual-story__lightbox-nav--next{right:2rem}.ng-visual-story__lightbox-close:hover,.ng-visual-story__lightbox-nav:hover{color:var(--story-gold)}
@media (max-width:900px){.ng-visual-story__featured{grid-template-columns:1fr}.ng-visual-story__featured-copy{padding:2rem}.ng-visual-story__card,.ng-visual-story__card--wide{grid-column:span 6}.ng-visual-story__card--tall{grid-row:auto}.ng-visual-story__lightbox{display:block;overflow:auto}.ng-visual-story__lightbox-stage{height:55vh;width:100%}.ng-visual-story__lightbox-copy{max-width:none;padding:1.5rem 0}.ng-visual-story__lightbox-nav{top:27vh}}
@media (max-width:600px){.ng-visual-story__toolbar,.ng-visual-story__footer{align-items:stretch;flex-direction:column}.ng-visual-story__filters{display:grid;grid-template-columns:repeat(2,1fr)}.ng-visual-story__filters button{text-align:right}.ng-visual-story__media-toggle{align-self:flex-start}.ng-visual-story__card,.ng-visual-story__card--wide{grid-column:1/-1}.ng-visual-story__featured-meta{right:1rem;left:1rem}.ng-visual-story__timeline-labels{font-size:.62rem}.ng-visual-story__lightbox-close{right:1rem;top:.6rem}}
@media (prefers-reduced-motion:reduce){.ng-visual-story *,.ng-visual-story *::before,.ng-visual-story *::after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
.ng-visual-story__card-is-wide{grid-column:span 8}.ng-visual-story__card-is-tall{grid-row:span 2}.ng-visual-story__card-is-wide .ng-visual-story__card-media{aspect-ratio:16/9}.ng-visual-story__lightbox-nav-is-prev{left:2rem}.ng-visual-story__lightbox-nav-is-next{right:2rem}
@media (max-width:900px){.ng-visual-story__card-is-wide{grid-column:span 6}.ng-visual-story__card-is-tall{grid-row:auto}}
@media (max-width:600px){.ng-visual-story__card-is-wide{grid-column:1/-1}}

/* Gallery refinement: keep the editorial rhythm contained and direction-safe. */
.ng-visual-story__featured{display:block;min-height:clamp(460px,48vw,680px);position:relative;overflow:hidden}
.ng-visual-story__featured-media{inset:0;min-height:0;position:absolute}
.ng-visual-story__preview{filter:saturate(.72)}
.ng-visual-story__featured-shade{background:linear-gradient(90deg,rgba(12,12,12,.96) 0%,rgba(12,12,12,.78) 25%,rgba(201,169,97,.18) 46%,rgba(0,0,0,0) 72%)}
.ng-visual-story__featured-copy{bottom:0;display:flex;flex-direction:column;justify-content:flex-end;left:0;max-width:560px;min-height:100%;padding:clamp(2.5rem,6vw,6rem);position:absolute;top:0;width:42%;z-index:1}
.ng-visual-story__featured-copy p:not(.ng-visual-story__kicker){color:rgba(255,255,255,.78)}
.ng-visual-story__featured-meta{inset: auto 2rem 1.5rem;z-index:2}
.ng-visual-story__toolbar{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:999px;box-shadow:0 12px 32px rgba(25,22,16,.07);padding:.45rem .65rem}
.ng-visual-story__filters{align-items:center;gap:.2rem}
.ng-visual-story__filters button{border-radius:999px;color:#555;white-space:nowrap}
.ng-visual-story__filters button:hover,.ng-visual-story__filters button.is-active{background:#f4efe5;border-color:transparent;color:var(--story-ink)}
.ng-visual-story__media-toggle{border:0;gap:.15rem}
.ng-visual-story__media-toggle button{border-radius:50%;color:#777;min-height:36px;min-width:36px;padding:.4rem}
.ng-visual-story__media-toggle button.is-active{background:#f4efe5;color:var(--story-gold)}
.ng-visual-story__grid{align-items:stretch;gap:1.25rem;grid-auto-flow:row;grid-auto-rows:minmax(0,1fr);grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
.ng-visual-story__card,.ng-visual-story__card-is-wide{border:1px solid rgba(0,0,0,.06);box-shadow:0 10px 28px rgba(25,22,16,.04);display:flex;flex-direction:column;grid-column:auto;height:100%;overflow:hidden}
.ng-visual-story__card-is-tall{grid-row:auto}
.ng-visual-story__card-is-wide .ng-visual-story__card-media,.ng-visual-story__card-media{aspect-ratio:auto;flex:1 1 auto;min-height:0}
.ng-visual-story__card-copy{flex:0 0 auto}
.ng-visual-story__card-tag{color:#b89758;font-weight:600;letter-spacing:.1em}
.ng-visual-story__duration,.ng-visual-story__count{backdrop-filter:blur(8px);background:rgba(25,25,25,.58);border:1px solid rgba(255,255,255,.28);border-radius:4px;bottom:.8rem;left:.8rem;padding:.35rem .6rem}
.ng-visual-story__timeline{background:#f5f4f0;border:1px solid rgba(184,151,88,.2);color:var(--story-ink);margin:5rem 0 3rem;padding:clamp(2rem,5vw,4rem)}
.ng-visual-story__timeline input{display:block;margin-top:1rem}
.ng-visual-story__timeline-labels{color:#7a746b}
.ng-visual-story__timeline [data-story-milestone]{color:#5b554d;font-size:1rem;margin-bottom:2rem}
.ng-visual-story__milestones{border-top:1px solid rgba(184,151,88,.45);display:grid;gap:1.25rem;grid-template-columns:repeat(4,1fr);padding-top:1.25rem}
.ng-visual-story__milestone{align-items:center;display:flex;gap:.75rem;min-width:0;opacity:.58;transition:opacity .25s,transform .25s}
.ng-visual-story__milestone.is-active{opacity:1;transform:translateY(-4px)}
.ng-visual-story__milestone img{aspect-ratio:1;border:2px solid transparent;border-radius:50%;object-fit:cover;width:58px}
.ng-visual-story__milestone.is-active img{border-color:var(--story-gold)}
.ng-visual-story__milestone div{display:grid;gap:.25rem}
.ng-visual-story__milestone span{color:var(--story-gold);font-size:.68rem}
.ng-visual-story__milestone strong{font-size:.8rem;font-weight:500;line-height:1.6}
.ng-visual-story__cta{align-items:center;background:#f8f6f1;border:1px solid rgba(0,0,0,.06);display:flex;gap:2rem;justify-content:space-between;margin:0 clamp(1rem,5vw,4rem) 2.5rem;max-width:1320px;padding:clamp(2rem,4vw,3.5rem)}
.ng-visual-story__cta h2{font-size:clamp(1.35rem,2.3vw,2rem);font-weight:400;line-height:1.8;margin:0;max-width:720px}
.ng-visual-story__cta-actions{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:.7rem}
.ng-visual-story__cta-primary,.ng-visual-story__cta-secondary{border:1px solid var(--story-gold);padding:.8rem 1.1rem;text-decoration:none;white-space:nowrap}
.ng-visual-story__cta-primary{background:var(--story-gold);color:#fff}.ng-visual-story__cta-secondary{color:#8c6c32}
.ng-visual-story__cta-primary span,.ng-visual-story__cta-secondary span{margin-right:.55rem}
.ng-visual-story__footer{padding-top:1.75rem}
@media (max-width:900px){.ng-visual-story__featured-copy{max-width:620px;width:58%}.ng-visual-story__milestones{grid-template-columns:repeat(2,1fr)}.ng-visual-story__cta{align-items:flex-start;flex-direction:column}.ng-visual-story__cta-actions{width:100%}}
@media (max-width:600px){.ng-visual-story__featured{min-height:560px}.ng-visual-story__featured-copy{background:linear-gradient(0deg,rgba(12,12,12,.94),rgba(12,12,12,.25));justify-content:flex-end;max-width:none;padding:2rem;width:100%}.ng-visual-story__toolbar{align-items:stretch;border-radius:20px;flex-direction:column;padding:.7rem}.ng-visual-story__filters{display:grid;grid-template-columns:repeat(2,1fr)}.ng-visual-story__media-toggle{align-self:flex-start}.ng-visual-story__grid{grid-auto-rows:auto;grid-template-columns:1fr}.ng-visual-story__card,.ng-visual-story__card-is-wide{height:auto}.ng-visual-story__card-is-wide .ng-visual-story__card-media,.ng-visual-story__card-media{aspect-ratio:4/3;flex:none}.ng-visual-story__milestones{grid-template-columns:1fr 1fr}.ng-visual-story__milestone{align-items:flex-start;flex-direction:column}.ng-visual-story__cta{margin-left:1rem;margin-right:1rem}.ng-visual-story__cta-actions{align-items:stretch;flex-direction:column}.ng-visual-story__cta-primary,.ng-visual-story__cta-secondary{text-align:center}}
.ng-visual-story__lightbox-close{align-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.55);border-radius:50%;display:grid;height:3rem;justify-items:center;line-height:1;right:clamp(1rem,3vw,2rem);top:clamp(1rem,3vw,1.5rem);width:3rem;z-index:3}
.ng-visual-story__lightbox-close:hover,.ng-visual-story__lightbox-close:focus-visible{background:var(--story-gold);border-color:var(--story-gold);color:#fff;
outline:2px solid rgba(255,255,255,.55);outline-offset:3px}
.ng-visual-story__lightbox{z-index:10001}
/* ========================================================================== */
/* VISUAL STORY / CINEMATIC EDITORIAL V2                                     */
/* Additive layer only: no existing production rule above has been removed.   */
/* ========================================================================== */
.ng-visual-story{--story-cinema-ease:cubic-bezier(.22,1,.36,1);--story-cinema-soft:#f6f1e7}

/* Masthead — visibly editorial even before motion starts */
.ng-visual-story__masthead{position:relative; padding-top:clamp(5rem,10vw,9rem);padding-bottom:clamp(5rem,9vw,8rem)}
.ng-visual-story__masthead::after{content:"";position:absolute;right:clamp(1rem,5vw,4rem);bottom:clamp(2rem,4vw,3.5rem); height:1px;background:var(--story-gold);transform-origin:right}
.ng-visual-story__masthead h1{font-size:clamp(3.4rem,7.8vw,7.4rem);line-height:1.02;letter-spacing:-.035em;margin-bottom:2rem}
.ng-visual-story__masthead h1>span,.ng-visual-story__masthead h1>em{display:block;width:max-content;max-width:100%}
.ng-visual-story__masthead h1>em{margin-right:clamp(2.5rem,9vw,9rem);font-size:.82em}
.ng-visual-story__masthead .ng-visual-story__intro{max-width:720px;font-size:clamp(1rem,1.4vw,1rem);line-height:1.5}

/* Featured — larger cinematic canvas, not a conventional boxed banner */
.ng-visual-story__featured{--story-feature-scale:.94;--story-feature-radius:26px;--story-feature-media-scale:1.06;--story-feature-copy-x:0px;position:relative;display:block;max-width:1320px;min-height:clamp(560px,68vh,820px);overflow:hidden;border-radius:var(--story-feature-radius);transform:scale(var(--story-feature-scale));transform-origin:center center;isolation:isolate;background:#0c0c0c;box-shadow:0 34px 90px rgba(21,18,13,.12)}
.ng-visual-story__featured-media{position:absolute;inset:0;min-height:0;border-radius:inherit;overflow:hidden}
.ng-visual-story__featured-media>video{display:block;width:100%;height:100%;object-fit:cover;transform:scale(var(--story-feature-media-scale));filter:saturate(.78) contrast(1.03);will-change:transform}
.ng-visual-story__featured-shade{background:linear-gradient(90deg,rgba(9,9,9,.96) 0%,rgba(9,9,9,.82) 27%,rgba(9,9,9,.34) 52%,rgba(9,9,9,.02) 78%)}
.ng-visual-story__featured-copy{position:absolute;z-index:3;left:auto;right:0;top:0;bottom:0;width:min(46%,620px);max-width:none;min-height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(2.5rem,5vw,5.5rem);transform:translate3d(var(--story-feature-copy-x),0,0)}
.ng-visual-story__featured-copy h2{font-size:clamp(2rem,4vw,4.35rem);line-height:1.38}
.ng-visual-story__featured-meta{z-index:4}

/* Toolbar — editorial line, no pill-heavy treatment */
.ng-visual-story__toolbar{background:transparent;border:0;border-top:1px solid var(--story-line);border-bottom:1px solid var(--story-line);border-radius:0;box-shadow:none;padding:1.1rem 0;margin-top:clamp(3rem,6vw,5rem);margin-bottom:clamp(2.2rem,4vw,3.5rem)}
.ng-visual-story__filters{gap:clamp(.15rem,.8vw,.65rem)}
.ng-visual-story__filters button{position:relative;border:0!important;border-radius:0;background:transparent!important;padding:.75rem .72rem;color:#8b877f}
.ng-visual-story__filters button::after{content:"";position:absolute;right:.72rem;bottom:.15rem;height:1px;width:0;background:var(--story-gold);transition:width .4s var(--story-cinema-ease)}
.ng-visual-story__filters button:hover,.ng-visual-story__filters button.is-active{color:var(--story-ink);font-weight:600}
.ng-visual-story__filters button.is-active::after{width:calc(100% - 1.44rem)}
.ng-visual-story__media-toggle{border:1px solid var(--story-line);border-radius:999px;padding:.18rem;background:#fff}
.ng-visual-story__media-toggle button{border:0!important;border-radius:50%;background:transparent!important}
.ng-visual-story__media-toggle button.is-active{background:var(--story-cinema-soft)!important;color:var(--story-gold)}

/* Gallery — restore a deliberate 12-column editorial rhythm */
.ng-visual-story__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:auto;gap:clamp(1.35rem,2.2vw,2.4rem);align-items:stretch;overflow:visible}
.ng-visual-story__card,.ng-visual-story__card-is-wide{grid-column:auto;height:auto;display:flex;flex-direction:column;overflow:visible;border:0;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.06);transition:transform .55s var(--story-cinema-ease),box-shadow .55s ease}
.ng-visual-story__card:nth-child(1){grid-column:span 7}
.ng-visual-story__card:nth-child(2){grid-column:span 5;margin-top:clamp(2.5rem,7vw,7rem)}
.ng-visual-story__card:nth-child(3){grid-column:span 5}
.ng-visual-story__card:nth-child(4){grid-column:span 7;margin-top:clamp(2rem,5vw,5rem)}
.ng-visual-story__card:nth-child(5){grid-column:span 7}
.ng-visual-story__card:nth-child(6){grid-column:span 5;margin-top:clamp(2.5rem,7vw,7rem)}
.ng-visual-story__card-media,.ng-visual-story__card-is-wide .ng-visual-story__card-media{position:relative;flex:none;aspect-ratio:auto;min-height:clamp(310px,38vw,560px);overflow:hidden;background:#e9e4da}
.ng-visual-story__card:nth-child(2) .ng-visual-story__card-media,.ng-visual-story__card:nth-child(3) .ng-visual-story__card-media,.ng-visual-story__card:nth-child(6) .ng-visual-story__card-media{min-height:clamp(300px,34vw,500px)}
.ng-visual-story__card-media img,.ng-visual-story__card-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:none;transition:transform 1s var(--story-cinema-ease)}
.ng-visual-story__card-media::after{content:"";position:absolute;right:0;bottom:0;left:0;height:2px;background:linear-gradient(90deg,#b89758,var(--story-gold),#d6b875);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--story-cinema-ease);z-index:5;pointer-events:none}
.ng-visual-story__card:hover{transform:translateY(-10px);box-shadow:0 28px 60px rgba(25,22,16,.10)}
.ng-visual-story__card:hover .ng-visual-story__card-media img,.ng-visual-story__card:hover .ng-visual-story__card-media video{transform:scale(1.055);filter:none}
.ng-visual-story__card:hover .ng-visual-story__card-media::after{transform:scaleX(1)}
.ng-visual-story__card-copy{padding:1.35rem .2rem 1.7rem}
.ng-visual-story__card-copy h3{font-size:clamp(1rem,1.35vw,1.22rem);transition:color .3s ease}
.ng-visual-story__card:hover .ng-visual-story__card-copy h3{color:var(--story-gold)}

/* Timeline — larger architectural milestone field */
.ng-visual-story__timeline{--story-timeline-progress:0%;position:relative;margin-top:clamp(6rem,10vw,10rem);margin-bottom:clamp(4rem,8vw,7rem);padding:clamp(3rem,6vw,6rem) clamp(1.5rem,5vw,5rem);background:#f3f0e9;border:0;border-top:1px solid rgba(201,169,97,.42);border-bottom:1px solid rgba(201,169,97,.25)}
.ng-visual-story__timeline h2{font-size:clamp(2rem,4vw,4rem);line-height:1.45;max-width:920px}
.ng-visual-story__timeline input[type="range"]{appearance:none;-webkit-appearance:none;width:100%;height:2px;background:linear-gradient(to left,var(--story-gold) 0,var(--story-gold) var(--story-timeline-progress),#d9d3c8 var(--story-timeline-progress),#d9d3c8 100%);outline:0;margin-top:2rem}
.ng-visual-story__timeline input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--story-gold);border:5px solid #f3f0e9;box-shadow:0 0 0 1px var(--story-gold);cursor:pointer}
.ng-visual-story__timeline input[type="range"]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--story-gold);border:5px solid #f3f0e9;box-shadow:0 0 0 1px var(--story-gold);cursor:pointer}
.ng-visual-story__milestones{margin-top:2.2rem;padding-top:1.6rem}
.ng-visual-story__milestone img{width:72px;transition:transform .55s var(--story-cinema-ease),filter .45s ease,border-color .45s ease}
.ng-visual-story__milestone.is-active img{transform:scale(1.12);filter:saturate(1)}

/* CTA / footer — premium quiet finish */
.ng-visual-story__cta{position:relative;overflow:hidden;background:transparent;border:0;border-top:1px solid var(--story-gold);border-bottom:1px solid var(--story-line);padding-top:clamp(3rem,6vw,5rem);padding-bottom:clamp(3rem,6vw,5rem)}
.ng-visual-story__cta h2{font-size:clamp(1.7rem,3vw,3rem);font-weight:300;line-height:1.65}
.ng-visual-story__cta-primary,.ng-visual-story__cta-secondary{transition:transform .35s var(--story-cinema-ease),background .35s ease,color .35s ease}
.ng-visual-story__cta-primary:hover,.ng-visual-story__cta-secondary:hover{transform:translateY(-3px)}

/* Motion: content remains visible if JS fails; reveal is an overlay sweep, not opacity hiding. */
html.ng-story-motion .ng-visual-story__masthead .ng-visual-story__eyebrow,
html.ng-story-motion .ng-visual-story__masthead h1>span,
html.ng-story-motion .ng-visual-story__masthead h1>em,
html.ng-story-motion .ng-visual-story__masthead .ng-visual-story__intro{transform:translate3d(0,34px,0);opacity:.001}
html.ng-story-motion .ng-visual-story__masthead.is-story-inview .ng-visual-story__eyebrow,
html.ng-story-motion .ng-visual-story__masthead.is-story-inview h1>span,
html.ng-story-motion .ng-visual-story__masthead.is-story-inview h1>em,
html.ng-story-motion .ng-visual-story__masthead.is-story-inview .ng-visual-story__intro{transform:none;opacity:1;transition:transform 1s var(--story-cinema-ease),opacity .75s ease}
html.ng-story-motion .ng-visual-story__masthead.is-story-inview h1>span{transition-delay:.08s}
html.ng-story-motion .ng-visual-story__masthead.is-story-inview h1>em{transition-delay:.18s}
html.ng-story-motion .ng-visual-story__masthead.is-story-inview .ng-visual-story__intro{transition-delay:.32s}

/* Lightbox */
.ng-visual-story__lightbox{backdrop-filter:blur(10px);transition:opacity .45s ease,visibility .45s ease}
.ng-visual-story__lightbox-stage{transform:scale(.94) translateY(18px);opacity:0;transition:transform .7s var(--story-cinema-ease),opacity .45s ease}
.ng-visual-story__lightbox-copy{transform:translateY(24px);opacity:0;transition:transform .7s var(--story-cinema-ease) .1s,opacity .5s ease .1s}
.ng-visual-story__lightbox.is-open .ng-visual-story__lightbox-stage,.ng-visual-story__lightbox.is-open .ng-visual-story__lightbox-copy{transform:none;opacity:1}
.ng-visual-story__lightbox-stage.is-story-switching{opacity:.28;transform:scale(.985)}

@media (max-width:900px){
  .ng-visual-story__masthead h1{font-size:clamp(3rem,10vw,5.6rem)}
  .ng-visual-story__featured{min-height:620px;transform:none!important;border-radius:18px}
  .ng-visual-story__featured-copy{width:min(72%,620px)}
  .ng-visual-story__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ng-visual-story__card:nth-child(n){grid-column:span 1;margin-top:0}
  .ng-visual-story__card-media,.ng-visual-story__card-is-wide .ng-visual-story__card-media{min-height:360px}
}
@media (max-width:600px){
  .ng-visual-story__masthead{padding-top:4.5rem;padding-bottom:4rem}
  .ng-visual-story__masthead h1>em{margin-right:1.5rem}
  .ng-visual-story__featured{min-height:610px;border-radius:0}
  .ng-visual-story__featured-copy{width:100%;padding:2rem;background:linear-gradient(0deg,rgba(9,9,9,.95),rgba(9,9,9,.15))}
  .ng-visual-story__grid{grid-template-columns:1fr;gap:2rem}
  .ng-visual-story__card:nth-child(n){grid-column:1/-1}
  .ng-visual-story__card-media,.ng-visual-story__card-is-wide .ng-visual-story__card-media{min-height:0;aspect-ratio:4/3}
  .ng-visual-story__timeline h2{font-size:2rem}
}
@media (prefers-reduced-motion:reduce){
  html.ng-story-motion .ng-visual-story__masthead .ng-visual-story__eyebrow,
  html.ng-story-motion .ng-visual-story__masthead h1>span,
  html.ng-story-motion .ng-visual-story__masthead h1>em,
  html.ng-story-motion .ng-visual-story__masthead .ng-visual-story__intro{opacity:1;transform:none}
}

/* ========================================================================== */
/* VISUAL STORY / QUIET EDITORIAL V3                                          */
/* Calm-down patch on top of the approved V2 baseline. No structure removed. */
/* ========================================================================== */

/* More breathing room; fewer competing gestures. */
.ng-visual-story__masthead{max-width:1320px;width:100%;box-sizing:border-box;padding-top:clamp(4.5rem,8vw,7rem);padding-bottom:clamp(2.5rem,4.5vw,3.75rem)}
.ng-visual-story__masthead h1{font-size:clamp(2.8rem,4.15vw,5.2rem);line-height:1.06;max-width:768px}
.ng-visual-story__masthead h1>span,.ng-visual-story__masthead h1>em{display:inline;width:auto;max-width:none}
.ng-visual-story__masthead h1>em{margin-right:.18em}
.ng-visual-story__masthead .ng-visual-story__intro{max-width:none}
.ng-visual-story__masthead::after{width:clamp(54px,7vw,100px)}

/* Keep the hero cinematic, but visually quieter and less dominant. */
.ng-visual-story__featured{max-width:1320px;min-height:clamp(500px,58vh,700px);box-shadow:none}
.ng-visual-story__featured-copy{width:min(43%,560px);padding:clamp(2.4rem,4.5vw,4.5rem)}
.ng-visual-story__featured-copy h2{font-size:clamp(2rem,3.3vw,3.55rem)}

/* Filters become a single quiet editorial divider. */
.ng-visual-story__toolbar{margin-top:clamp(2.5rem,4vw,4rem);margin-bottom:clamp(3rem,5vw,5rem);padding:.9rem 0}
.ng-visual-story__filters button{padding:.65rem .6rem;font-size:.72rem}
.ng-visual-story__media-toggle{border-radius:0;border:0;padding:0;background:transparent;gap:.1rem}
.ng-visual-story__media-toggle button{border-radius:0!important;min-width:34px;min-height:34px}
.ng-visual-story__media-toggle button.is-active{background:transparent!important;color:var(--story-gold);box-shadow:inset 0 -1px 0 var(--story-gold)}

/* Gallery: calm two-column editorial grid. Same six cards, same order, no stagger. */
.ng-visual-story__grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(1.5rem,3vw,3rem);row-gap:clamp(3.5rem,6vw,6rem);align-items:start}
.ng-visual-story__card:nth-child(n),.ng-visual-story__card-is-wide,.ng-visual-story__card-is-tall{grid-column:span 1;grid-row:auto;margin-top:0}
.ng-visual-story__card,.ng-visual-story__card-is-wide{background:transparent;box-shadow:none;border:0;overflow:visible}
.ng-visual-story__card-media,.ng-visual-story__card-is-wide .ng-visual-story__card-media,.ng-visual-story__card:nth-child(2) .ng-visual-story__card-media,.ng-visual-story__card:nth-child(3) .ng-visual-story__card-media,.ng-visual-story__card:nth-child(6) .ng-visual-story__card-media{aspect-ratio:16/10;min-height:0;background:#ebe7df}
.ng-visual-story__card-media img,.ng-visual-story__card-media video{filter:none}
.ng-visual-story__card-copy{padding:1rem 0 0}
.ng-visual-story__card-copy h3{font-size:clamp(.98rem,1.1vw,1.12rem);line-height:1.8;margin:.35rem 0 .2rem}
.ng-visual-story__card-copy p{font-size:.7rem}
.ng-visual-story__card:hover{transform:translateY(-4px);box-shadow:none}
.ng-visual-story__card:hover .ng-visual-story__card-media img,.ng-visual-story__card:hover .ng-visual-story__card-media video{transform:scale(1.025)}
.ng-visual-story__card-media::after{height:1px}

/* Timeline: preserve all four milestones, reduce visual competition. */
.ng-visual-story__timeline{margin-top:clamp(6rem,9vw,9rem);margin-bottom:clamp(4rem,7vw,6rem);padding:clamp(2.8rem,5vw,4.5rem) clamp(1.5rem,5vw,5rem)}
.ng-visual-story__timeline h2{font-size:clamp(1.8rem,3.1vw,3rem);max-width:820px}
.ng-visual-story__milestones{gap:clamp(1rem,2vw,2rem);margin-top:1.8rem;padding-top:1.35rem}
.ng-visual-story__milestone img{width:54px}
.ng-visual-story__milestone.is-active img{transform:scale(1.04)}

/* CTA: quieter ending with smaller typographic contrast. */
.ng-visual-story__cta{padding-top:clamp(2.6rem,4vw,4rem);padding-bottom:clamp(2.6rem,4vw,4rem)}
.ng-visual-story__cta h2{font-size:clamp(1.55rem,2.4vw,2.35rem);max-width:680px}

@media (max-width:900px){
  .ng-visual-story__featured{min-height:580px}
  .ng-visual-story__featured-copy{width:min(68%,580px)}
  .ng-visual-story__grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.25rem;row-gap:3rem}
  .ng-visual-story__card-media,.ng-visual-story__card-is-wide .ng-visual-story__card-media{aspect-ratio:4/3;min-height:0}
}
@media (max-width:600px){
  .ng-visual-story__grid{grid-template-columns:1fr;row-gap:2.8rem}
  .ng-visual-story__card:nth-child(n){grid-column:1/-1}
  .ng-visual-story__card-media,.ng-visual-story__card-is-wide .ng-visual-story__card-media{aspect-ratio:4/3}
}

/* ========================================================================== */
/* VISUAL STORY / TIMELINE V39 — single sticky stage / runtime wrapper      */
/* Built from V32. Only .ng-visual-story__timeline is changed.               */
/* ========================================================================== */
@media (min-width:901px){
  .ng-visual-story__timeline{
    --story-timeline-progress:0%;
    --ng-timeline-header-clearance:156px;
    --ng-timeline-stage-height:620px;
    position:relative;
    min-height:0;
    height:auto;
    margin-top:clamp(6rem,9vw,9rem);
    margin-bottom:0;
    padding:0 clamp(1.5rem,5vw,5rem);
    overflow:visible!important;
    isolation:auto;
    background:linear-gradient(180deg,#f3f0e9 0%,#f6f3ed 100%);
    border-top:1px solid rgba(201,169,97,.42);
    border-bottom:1px solid rgba(201,169,97,.25);
  }
  .ng-visual-story__timeline-stage{
    position:sticky;
    top:var(--ng-timeline-header-clearance);
    z-index:0;
    width:100%;
    height:var(--ng-timeline-stage-height);
    min-height:0;
    max-height:var(--ng-timeline-stage-height);
    box-sizing:border-box;
    display:grid;
    grid-template-rows:auto auto auto auto minmax(0,1fr);
    align-content:stretch;
    padding:clamp(12px,1.8vh,20px) 0 clamp(10px,1.5vh,18px);
    overflow:hidden;
    -webkit-clip-path:inset(0 0 0 0);
    clip-path:inset(0 0 0 0);
    will-change:clip-path;
    background:linear-gradient(180deg,#f3f0e9 0%,#f5f2eb 60%,#f6f3ed 100%);
  }
  .ng-visual-story__timeline-head{position:relative;top:auto;z-index:auto;min-height:0;padding:0;background:none}
  .ng-visual-story__timeline-head .ng-visual-story__eyebrow{margin-bottom:.45rem}
  .ng-visual-story__timeline h2{margin:0 0 .45rem;font-size:clamp(1.8rem,3vw,3rem);line-height:1.3;max-width:920px}
  .ng-visual-story__timeline-head>span{display:inline-block;min-width:120px;text-align:left;will-change:transform,opacity}
  .ng-visual-story__timeline-head>span.is-story-year-roll{animation:ngStoryYearRollV39 .52s cubic-bezier(.22,.61,.36,1) both}
  .ng-visual-story__timeline input[type="range"]{
    position:relative;top:auto;z-index:auto;margin:.15rem 0 0;
    background:linear-gradient(to left,var(--story-gold) 0,var(--story-gold) var(--story-timeline-progress),#d9d3c8 var(--story-timeline-progress),#d9d3c8 100%);
  }
  .ng-visual-story__timeline-labels{position:relative;top:auto;z-index:auto;margin-top:.5rem}
  .ng-visual-story__timeline [data-story-milestone]{
    position:relative;top:auto;z-index:auto;max-width:780px;min-height:34px;margin:.5rem 0 .1rem;line-height:1.65;
    transition:opacity .28s ease,transform .5s cubic-bezier(.22,.61,.36,1);
  }
  .ng-visual-story__timeline [data-story-milestone].is-story-copy-switching{opacity:.08;transform:translateY(10px)}
  .ng-visual-story__milestones{
    position:relative;top:auto;z-index:auto;display:grid;grid-template-columns:1.9fr .7fr .7fr .7fr;
    gap:clamp(.7rem,1.3vw,1.2rem);min-height:0;height:100%;align-items:end;margin-top:.2rem;padding:.65rem 0 .1rem;
    border-top:1px solid rgba(184,151,88,.42);background:transparent;
    transition:grid-template-columns .75s cubic-bezier(.22,.61,.36,1);
  }
  .ng-visual-story__timeline[data-story-active="1"] .ng-visual-story__milestones{grid-template-columns:.7fr 1.9fr .7fr .7fr}
  .ng-visual-story__timeline[data-story-active="2"] .ng-visual-story__milestones{grid-template-columns:.7fr .7fr 1.9fr .7fr}
  .ng-visual-story__timeline[data-story-active="3"] .ng-visual-story__milestones{grid-template-columns:.7fr .7fr .7fr 1.9fr}
  .ng-visual-story__milestone{
    display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:stretch;gap:.45rem;min-width:0;min-height:0;
    opacity:.36;transform:translateY(5px);filter:saturate(.55);
    transition:opacity .5s ease,transform .72s cubic-bezier(.22,.61,.36,1),filter .5s ease;
  }
  .ng-visual-story__milestone img{
    display:block;width:100%;height:clamp(84px,12vh,116px);aspect-ratio:auto;border:1px solid rgba(184,151,88,.18);border-radius:14px;
    object-fit:cover;transform:scale(.985);filter:saturate(.72);
    transition:height .75s cubic-bezier(.22,.61,.36,1),transform .75s cubic-bezier(.22,.61,.36,1),filter .5s ease,border-color .45s ease;
    will-change:transform;
  }
  .ng-visual-story__milestone div{display:grid;gap:.12rem;padding-inline:.12rem}
  .ng-visual-story__milestone strong{font-size:.8rem;white-space:normal}
  .ng-visual-story__milestone.is-active{opacity:1;transform:translateY(-3px);filter:saturate(1)}
  .ng-visual-story__milestone.is-active img{height:clamp(138px,19vh,176px);border-color:rgba(184,151,88,.62);transform:scale(1);filter:saturate(1)}
  .ng-visual-story__milestone.is-story-entering img{animation:ngStoryMilestoneRevealV39 .8s cubic-bezier(.22,.61,.36,1) both}
  .ng-visual-story__timeline.is-story-timeline-finished .ng-visual-story__milestone.is-active{transform:translateY(-4px) scale(1.006)}
}
@media (min-width:901px) and (max-height:760px){
  .ng-visual-story__timeline h2{font-size:clamp(1.55rem,2.5vw,2.4rem);margin-bottom:.3rem}
  .ng-visual-story__timeline-head .ng-visual-story__eyebrow{margin-bottom:.25rem}
  .ng-visual-story__timeline [data-story-milestone]{margin-top:.25rem;min-height:28px;line-height:1.5}
  .ng-visual-story__milestones{padding-top:.4rem}
  .ng-visual-story__milestone img{height:72px}
  .ng-visual-story__milestone.is-active img{height:118px}
}
@keyframes ngStoryYearRollV39{0%{opacity:0;transform:translateY(16px)}55%{opacity:1;transform:translateY(-2px)}100%{opacity:1;transform:translateY(0)}}
@keyframes ngStoryMilestoneRevealV39{0%{opacity:.55;transform:scale(1.035)}100%{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion:reduce){
  .ng-visual-story__timeline-head>span,.ng-visual-story__timeline [data-story-milestone],.ng-visual-story__milestones,.ng-visual-story__milestone,.ng-visual-story__milestone img{animation:none!important;transition:none!important}
}

/* ========================================================================== */
/* VISUAL STORY / CTA V44 — navbar-safe quiet handoff                         */
/* Scoped only to the archive CTA; timeline and navbar behavior stay intact.  */
/* ========================================================================== */
.ng-visual-story__cta{
  --ng-cta-nav-safe:82px;
  box-sizing:border-box;
  isolation:isolate;
}
@media (min-width:901px){
  .ng-visual-story__cta{
    /* Give the fixed navigation a deliberate quiet band before CTA content. */
    padding-top:clamp(7rem,9vw,9rem);
    padding-bottom:clamp(4rem,6vw,5.5rem);
    scroll-margin-top:var(--ng-cta-nav-safe);
    will-change:clip-path;
  }
  .ng-visual-story__cta .ng-visual-story__eyebrow{margin-bottom:1.05rem}
}
@media (max-width:900px){
  .ng-visual-story__cta{--ng-cta-nav-safe:0px}
}

/* ========================================================================== */
/* VISUAL STORY / NAVBAR GUARD V3 — real header layer + fixed backdrop       */
/* Scope: only protects the site navbar while this visual-story page exists.  */
/* Navbar position/DOM are not changed.                                       */
/* ========================================================================== */
.ng-visual-story{
  --ng-story-nav-clearance:0px;
}
.ng-story-site-nav-guard{
  z-index:9000!important;
  isolation:isolate;
}
.ng-story-navbar-backdrop{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  height:0;
  background:#f6f3ed!important;
  pointer-events:none!important;
  z-index:8990!important;
}
@media (min-width:901px){
  .ng-visual-story__masthead{
    padding-top:max(clamp(4.5rem,8vw,7rem),calc(var(--ng-story-nav-clearance) + 2rem));
  }
}

/* ========================================================================== */
/* VISUAL STORY / RESPONSIVE PASS V16                                         */
/* Desktop remains unchanged. Only tablet/mobile behavior is simplified.      */
/* ========================================================================== */
@media (max-width:900px){
  /* Keep the masthead readable without changing the approved desktop layout. */
  .ng-visual-story__masthead{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    padding-left:clamp(1rem,4vw,2rem);
    padding-right:clamp(1rem,4vw,2rem);
  }
  .ng-visual-story__masthead h1{
    font-size:clamp(2.7rem,8vw,4.8rem);
    line-height:1.08;
  }

}

@media (max-width:600px){
  /* A one-line desktop title is allowed to wrap on narrow phones. */
  .ng-visual-story__masthead h1{
    white-space:normal;
    font-size:clamp(2.35rem,12vw,3.8rem);
    line-height:1.12;
  }
  .ng-visual-story__masthead h1>span,
  .ng-visual-story__masthead h1>em{
    display:inline;
    width:auto;
    max-width:100%;
  }

}

/* ========================================================================== */
/* VISUAL STORY / NAVBAR TEXT VISIBILITY FIX                                  */
/* Scope: gallery page only, through the nav classes already added by this    */
/* page. No navbar positioning, DOM, gallery layout or motion is changed.      */
/* ========================================================================== */
@media (min-width:901px){
.ng-story-site-nav-guard,
.ng-story-v43-nav-layer{
  color:#205043!important;
}

.ng-story-site-nav-guard a,
.ng-story-site-nav-guard button,
.ng-story-site-nav-guard [role="button"],
.ng-story-site-nav-guard .brand,
.ng-story-site-nav-guard .header-menu,
.ng-story-site-nav-guard .header-menu a,
.ng-story-site-nav-guard #site-menu,
.ng-story-site-nav-guard #site-menu a,
.ng-story-v43-nav-layer a,
.ng-story-v43-nav-layer button,
.ng-story-v43-nav-layer [role="button"],
.ng-story-v43-nav-layer .brand,
.ng-story-v43-nav-layer .header-menu,
.ng-story-v43-nav-layer .header-menu a,
.ng-story-v43-nav-layer #site-menu,
.ng-story-v43-nav-layer #site-menu a{
  color:#205043!important;
  opacity:1!important;
  visibility:visible!important;
}

.ng-story-site-nav-guard svg,
.ng-story-site-nav-guard svg *,
.ng-story-v43-nav-layer svg,
.ng-story-v43-nav-layer svg *{
  stroke:currentColor!important;
}

.ng-story-site-nav-guard svg [fill]:not([fill="none"]),
.ng-story-v43-nav-layer svg [fill]:not([fill="none"]){
  fill:currentColor!important;
}
}

/* ========================================================================== */
/* REAL SITE NAVBAR VISIBILITY FIX V10 — CHROME + FIREFOX                    */
/* CSS-only. Keeps the approved gallery motion and JS completely unchanged.   */
/* Targets the actual Nargoon header seen in production:                      */
/* header.header.navbar.navbar-expand-lg.fixed-top + #site-menu.header-menu.  */
/* ========================================================================== */
@media (min-width:901px){
  header.header.navbar.fixed-top{
    display:grid!important;
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    margin-top:0!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    translate:none!important;
    scale:none!important;
    rotate:none!important;
    filter:none!important;
    clip-path:none!important;
    -webkit-clip-path:none!important;
    pointer-events:auto!important;
    z-index:2147483000!important;
    isolation:isolate!important;
    background:#f6f3ed!important;
  }

  header.header.navbar.fixed-top > .brand,
  header.header.navbar.fixed-top > .nav-toggle,
  header.header.navbar.fixed-top > #site-menu.header-menu,
  header.header.navbar.fixed-top > .header-menu{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    translate:none!important;
    scale:none!important;
    rotate:none!important;
    filter:none!important;
    clip-path:none!important;
    -webkit-clip-path:none!important;
    pointer-events:auto!important;
  }

  /* Production header uses display:contents for the desktop menu wrapper. */
  header.header.navbar.fixed-top > #site-menu.header-menu{
    display:contents!important;
  }

  header.header.navbar.fixed-top .brand,
  header.header.navbar.fixed-top #site-menu a,
  header.header.navbar.fixed-top #site-menu button,
  header.header.navbar.fixed-top .nav-toggle{
    opacity:1!important;
    visibility:visible!important;
    color:#205043!important;
  }

  header.header.navbar.fixed-top svg{
    opacity:1!important;
    visibility:visible!important;
  }

}



/* ========================================================================== */
/* VISUAL STORY / CENTERED 1320 CONTAINER — TOOLBAR + GRID ONLY              */
/* ========================================================================== */
.ng-visual-story__toolbar,
.ng-visual-story__grid{
  width:min(1320px,calc(100% - 2rem));
  max-width:1320px;
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box;
}

/* ========================================================================== */
/* VISUAL STORY / RESPONSIVE SAFETY — 1320 CONTAINER                          */
/* Prevent masthead overflow on tablet/mobile; no desktop layout changes.     */
/* ========================================================================== */
@media (max-width:900px){
  .ng-visual-story__masthead h1{
    white-space:normal;
    overflow-wrap:anywhere;
  }
}

/* NARGOON / OUR JOURNEY — keep active date away from slider thumb.
   Only timeline heading text is affected; slider and scroll motion stay intact. */
@media (min-width: 901px) {
  .ng-visual-story__timeline .ng-visual-story__timeline-head > [data-story-year] {
    align-self: flex-start;
    margin-top: .55rem;
    margin-bottom: 0;
    padding-inline-start: 8px;
    position: relative;
    top: 0;
    flex-shrink: 0;
  }
}


/* NARGOON JOURNEY — Mobile editorial slide (cream / gold / charcoal ONLY)
   Scoped to gallery timeline at <=900px; desktop CSS untouched. */
.ng-story-mobile-controls{display:none}
@media (max-width:900px){
  .ng-visual-story__timeline{
    box-sizing:border-box!important;
    height:auto!important;
    min-height:0!important;
    margin-block:2.5rem 4rem!important;
    padding:clamp(25px,5vw,48px) clamp(16px,5vw,38px)!important;
    background:#f6f2ea!important;
    color:#201e1b!important;
    overflow:hidden;
  }
  .ng-visual-story__timeline-stage{position:relative!important;top:auto!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;clip-path:none!important;-webkit-clip-path:none!important;}
  .ng-visual-story__timeline-head{display:block!important;min-height:0!important;position:relative!important;margin-bottom:16px!important;}
  .ng-visual-story__timeline-head .ng-visual-story__eyebrow{color:#be994e!important;font-size:10px!important;letter-spacing:.16em!important;margin-bottom:10px!important;line-height:1.6!important;}
  .ng-visual-story__timeline h2{font-size:clamp(24px,4.4vw,34px)!important;line-height:1.55!important;margin:0!important;color:#24211d!important;}
  .ng-visual-story__timeline-head>[data-story-year]{display:block!important;position:static!important;transform:none!important;text-align:right!important;margin-top:12px!important;margin-bottom:0!important;color:#b58b3d!important;font-size:13px!important;font-weight:700!important;min-width:0!important;}
  .ng-visual-story__timeline input[data-story-timeline]{width:100%!important;display:block!important;position:static!important;margin:14px 0 8px!important;accent-color:#c9a961!important;}
  .ng-visual-story__timeline-labels{display:flex!important;justify-content:space-between!important;gap:4px!important;margin:0!important;font-size:clamp(9px,1.5vw,12px)!important;color:#797168!important;line-height:1.7!important;}
  .ng-visual-story__timeline-labels>span{min-width:0!important;text-align:center!important;}
  .ng-visual-story__timeline [data-story-milestone]{font-size:clamp(13px,2.1vw,16px)!important;line-height:2!important;color:#555047!important;margin:13px 0 20px!important;min-height:0!important;max-width:700px!important;}
  .ng-visual-story__milestones,
  .ng-visual-story__timeline[data-story-active] .ng-visual-story__milestones{
    display:block!important;position:relative!important;height:auto!important;min-height:0!important;
    grid-template-columns:none!important;border-top:1px solid #ded4c3!important;
    margin:0!important;padding:18px 0 0!important;background:none!important;
  }
  .ng-visual-story__milestone{display:none!important;opacity:0!important;filter:none!important;transform:none!important;}
  .ng-visual-story__milestone.is-active{
    display:flex!important;flex-direction:column!important;gap:11px!important;
    opacity:1!important;transform:none!important;filter:none!important;
  }
  .ng-visual-story__milestone img,
  .ng-visual-story__milestone.is-active img{
    display:block!important;width:100%!important;height:auto!important;
    aspect-ratio:16/9!important;object-fit:cover!important;border:0!important;
    border-radius:13px!important;transform:none!important;filter:none!important;
    box-shadow:0 14px 28px rgba(41,33,23,.12)!important;
  }
  .ng-visual-story__milestone div{display:flex!important;flex-direction:column!important;gap:4px!important;align-items:flex-start!important;padding:0 3px!important;}
  .ng-visual-story__milestone div span{color:#b58b3d!important;font-size:12px!important;}
  .ng-visual-story__milestone div strong{color:#24211d!important;font-weight:600!important;font-size:clamp(16px,2.6vw,21px)!important;line-height:1.7!important;}
  .ng-story-mobile-controls{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:15px!important;margin-top:16px!important;direction:rtl!important;}
  .ng-story-mobile-controls button{width:46px!important;height:46px!important;display:grid!important;place-items:center!important;border-radius:50%!important;border:1px solid #c9a961!important;background:#f6f2ea!important;color:#75613e!important;font:22px sans-serif!important;cursor:pointer!important;}
  .ng-story-mobile-controls button:hover,.ng-story-mobile-controls button:focus-visible{background:#c9a961!important;color:#fff!important;}
  .ng-story-mobile-count{color:#867b6a!important;font-size:13px!important;font-variant-numeric:tabular-nums!important;letter-spacing:.12em!important;}
}
@media(max-width:400px){
 .ng-visual-story__timeline{padding-inline:15px!important;}
 .ng-visual-story__timeline h2{font-size:23px!important;}
 .ng-visual-story__timeline-labels{font-size:9px!important;}
}


/* ================================================================
   NARGOON GALLERY — SHARED CONTENT AXIS / RESPONSIVE LARGE SCREENS
   1200 desktop · 1320 Full HD · 1440 2K · 1600 4K
   Preserve full-bleed section backgrounds, sticky timeline and mobile layout.
   ================================================================ */
.ng-visual-story {
  --ng-gallery-container:1200px;
  --ng-gallery-gutter:clamp(16px,3vw,40px);
}
@media (min-width:1920px){.ng-visual-story{--ng-gallery-container:1320px}}
@media (min-width:2560px){.ng-visual-story{--ng-gallery-container:1440px}}
@media (min-width:3840px){.ng-visual-story{--ng-gallery-container:1600px}}

/* A common centered width for real content, not full-screen backgrounds. */
.ng-visual-story .ng-visual-story__masthead,
.ng-visual-story .ng-visual-story__featured,
.ng-visual-story .ng-visual-story__toolbar,
.ng-visual-story .ng-visual-story__grid,
.ng-visual-story .ng-visual-story__footer,
.ng-visual-story .ng-visual-story__cta {
  box-sizing:border-box;
  width:min(var(--ng-gallery-container),calc(100% - 2 * var(--ng-gallery-gutter)));
  max-width:var(--ng-gallery-container);
  margin-left:auto;
  margin-right:auto;
}
/* The masthead may be narrower typographically, but its outer box aligns
   with every other section. It should not add another large side inset. */
.ng-visual-story .ng-visual-story__masthead {
  padding-left:0;
  padding-right:0;
}
/* Keep editorial CTA inner padding; avoid conflicts with legacy margins. */
.ng-visual-story .ng-visual-story__cta {
  margin-left:auto;
  margin-right:auto;
}
/* Full-bleed cream timeline remains full width; only its sticky content
   is centered at the same maximum width as the other sections. */
@media (min-width:901px){
  .ng-visual-story .ng-visual-story__timeline{
    width:100%;max-width:none;
    padding-left:var(--ng-gallery-gutter);
    padding-right:var(--ng-gallery-gutter);
  }
  .ng-visual-story .ng-visual-story__timeline-stage{
    box-sizing:border-box;
    width:100%;max-width:var(--ng-gallery-container);
    margin-left:auto;margin-right:auto;
  }
}
/* Tablet/mobile: maintain the existing slide treatment; unify side gutters. */
@media (max-width:900px){
  .ng-visual-story .ng-visual-story__masthead,
  .ng-visual-story .ng-visual-story__featured,
  .ng-visual-story .ng-visual-story__toolbar,
  .ng-visual-story .ng-visual-story__grid,
  .ng-visual-story .ng-visual-story__footer,
  .ng-visual-story .ng-visual-story__cta{
    width:calc(100% - 2 * var(--ng-gallery-gutter));
    max-width:none;
    margin-left:auto;margin-right:auto;
  }
  /* Retain full-bleed background of the mobile timeline. */
  .ng-visual-story .ng-visual-story__timeline{max-width:none;width:100%;}
}


/* GALLERY V2 — toolbar and gallery cards share exact centered content axis.
   Direct selectors: works even if CMS places toolbar outside .ng-visual-story. */
:root { --ng-gallery-content-max: 1200px; --ng-gallery-edge: clamp(16px, 3vw, 40px); }
@media (min-width: 1920px) { :root { --ng-gallery-content-max: 1320px; } }
@media (min-width: 2560px) { :root { --ng-gallery-content-max: 1440px; } }
@media (min-width: 3840px) { :root { --ng-gallery-content-max: 1600px; } }
.ng-visual-story__toolbar,
.ng-visual-story__grid,
.ng-visual-story__masthead,
.ng-visual-story__featured,
.ng-visual-story__footer,
.ng-visual-story__cta {
  box-sizing: border-box;
  width: min(var(--ng-gallery-content-max), calc(100% - (2 * var(--ng-gallery-edge)))) !important;
  max-width: var(--ng-gallery-content-max) !important;
  margin-inline: auto !important;
}
/* Preserve spacing originally intended for filters and gallery items. */
.ng-visual-story__toolbar { margin-block-start: clamp(2.5rem, 4vw, 4rem); margin-block-end: clamp(3rem, 5vw, 5rem); }
@media (max-width: 900px) {
  .ng-visual-story__toolbar,
  .ng-visual-story__grid,
  .ng-visual-story__masthead,
  .ng-visual-story__featured,
  .ng-visual-story__footer,
  .ng-visual-story__cta {
    max-width: none !important;
    width: calc(100% - 2 * var(--ng-gallery-edge)) !important;
  }
}

/* GALLERY AXIS FIX — masthead was inset by a second horizontal padding.
   Match its text edge to the toolbar / gallery grid without moving either. */
.ng-visual-story__masthead {
  padding-inline: 0 !important;
}
/* Decorative underline had its own offset; align it with the text edge. */
.ng-visual-story__masthead::after {
  right: 0 !important;
}



/* ==========================================================================
   NARGOON GALLERY — MOBILE FILTER TABS / GOLD OUTLINE
   Mobile-only refinement. Desktop layout and JavaScript behaviour unchanged.
   ========================================================================== */
@media (max-width:600px){
  .ng-visual-story__toolbar{
    background:transparent!important;
    border-top:1px solid var(--story-line)!important;
    border-bottom:1px solid var(--story-line)!important;
    border-radius:0!important;
    box-shadow:none!important;
    padding:1rem 0!important;
    gap:1rem!important;
  }

  .ng-visual-story__filters{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
    width:100%!important;
    align-items:stretch!important;
  }

  .ng-visual-story__filters button{
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    padding:10px 8px!important;
    border:1px solid #c6a16a!important;
    border-radius:5px!important;
    background:transparent!important;
    color:#918a80!important;
    font-family:inherit!important;
    font-size:clamp(11px,3vw,13px)!important;
    font-weight:400!important;
    line-height:1.7!important;
    text-align:center!important;
    white-space:normal!important;
    box-shadow:none!important;
    transition:color .2s ease,border-color .2s ease,font-weight .2s ease!important;
  }

  .ng-visual-story__filters button::after{
    display:none!important;
    content:none!important;
  }

  .ng-visual-story__filters button:hover,
  .ng-visual-story__filters button:focus,
  .ng-visual-story__filters button:focus-visible{
    background:transparent!important;
    color:#292722!important;
    border-color:#c6a16a!important;
    outline:none!important;
    box-shadow:none!important;
  }

  .ng-visual-story__filters button.is-active{
    background:transparent!important;
    color:#292722!important;
    border:1px solid #c6a16a!important;
    font-weight:700!important;
    box-shadow:none!important;
  }

  /* The fifth category gets a full row instead of a cramped half-width cell. */
  .ng-visual-story__filters button:last-child:nth-child(odd){
    grid-column:1/-1!important;
  }

  /* Keep the media-type icon controls visually unchanged. */
  .ng-visual-story__media-toggle{
    align-self:flex-start!important;
  }
}



/* ==========================================================================
   NARGOON GALLERY — MOBILE MEDIA ICONS ONLY
   This patch intentionally does not modify category tabs, toolbar layout,
   spacing, borders, backgrounds, or desktop styling.
   ========================================================================== */
@media (max-width: 600px) {
  .ng-visual-story__media-toggle [data-story-media] {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent;
  }

  .ng-visual-story__media-toggle [data-story-media]::before {
    content: "" !important;
    display: block !important;
    width: 19px !important;
    height: 19px !important;
    background: #77736c !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
  }

  /* All media — outlined diamond */
  .ng-visual-story__media-toggle [data-story-media="all"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.8 21.2 12 12 21.2 2.8 12 12 2.8Z' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M12 7.2 16.8 12 12 16.8 7.2 12 12 7.2Z' fill='none' stroke='black' stroke-width='1.2'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.8 21.2 12 12 21.2 2.8 12 12 2.8Z' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M12 7.2 16.8 12 12 16.8 7.2 12 12 7.2Z' fill='none' stroke='black' stroke-width='1.2'/%3E%3C/svg%3E") !important;
  }

  /* Video — clean triangular play icon, never an emoji */
  .ng-visual-story__media-toggle [data-story-media="video"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4.5 20 12 7 19.5Z' fill='black'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4.5 20 12 7 19.5Z' fill='black'/%3E%3C/svg%3E") !important;
  }

  /* Images — simple outlined photo icon */
  .ng-visual-story__media-toggle [data-story-media="image"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3.5' y='3.5' width='17' height='17' rx='1.5' fill='none' stroke='black' stroke-width='1.8'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.6' fill='black'/%3E%3Cpath d='m5 18 5.2-5.3 3.1 3 2.2-2.2 3.5 4.5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3.5' y='3.5' width='17' height='17' rx='1.5' fill='none' stroke='black' stroke-width='1.8'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.6' fill='black'/%3E%3Cpath d='m5 18 5.2-5.3 3.1 3 2.2-2.2 3.5 4.5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  }

  .ng-visual-story__media-toggle [data-story-media].is-active {
    color: transparent !important;
    background: transparent !important;
    box-shadow: inset 0 -2px 0 var(--story-gold, #c9a961) !important;
  }

  .ng-visual-story__media-toggle [data-story-media].is-active::before {
    background: var(--story-gold, #c9a961) !important;
  }

  .ng-visual-story__media-toggle [data-story-media]:focus-visible {
    outline: 1px solid var(--story-gold, #c9a961) !important;
    outline-offset: 1px !important;
  }
}
