/* 1.7.1: larger menu, managed About page, visible editorial galleries and reveal effects. */
@media (min-width:1101px){
 .nav{gap:11px}
 .nav .ddd-wp-nav{gap:13px}
 .nav a,.nav .ddd-wp-nav a,.nav .header-cta{font-size:14px;font-weight:760}
 .head{gap:13px}
}
@media (min-width:801px) and (max-width:1100px){
 .nav a,.nav .ddd-wp-nav a,.nav .header-cta{font-size:15.4px}
 .nav{gap:8px}
 .nav .ddd-wp-nav{gap:8px}
}
@media (max-width:800px){
 .nav a,.nav .ddd-wp-nav a,.nav .header-cta{font-size:15.95px}
}
/* Heading reveals are added only below viewport, never hidden if JS is disabled. */
.ddd-heading-animate{opacity:.16;transform:translate3d(0,23px,0);filter:blur(2px);transition:opacity .73s ease-out,transform .73s cubic-bezier(.2,.7,.2,1),filter .65s ease-out;transition-delay:var(--ddd-stagger,0ms)}
.ddd-heading-animate.ddd-in-view{opacity:1;transform:none;filter:none}
.reveal-motion:not(.is-visible){opacity:.35;transform:translate3d(0,18px,0) scale(.985)}
.reveal-motion.is-visible{opacity:1;transform:none;transition-duration:.8s}
/* About page */
.ddd-about-page{background:#fff}
.ddd-about-banner{padding:64px 0 80px;background:radial-gradient(ellipse 55% 70% at 0% 18%,#ffebf2,transparent 90%),radial-gradient(ellipse 57% 85% at 100% 76%,#e1f5fb,transparent 90%),linear-gradient(120deg,#fffafc,#f4fbfd)}
.ddd-about-banner-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:55px;align-items:center}
.ddd-about-copy .eyebrow{font-weight:900;color:var(--pink);letter-spacing:.14em;margin-bottom:18px}
.ddd-about-copy h1{font-size:clamp(48px,5.5vw,82px);line-height:1.06;letter-spacing:-.065em;margin-bottom:28px}
.ddd-about-body{font-size:clamp(17px,1.45vw,20px);color:#476177;line-height:1.88}
.ddd-about-body p{margin:0 0 19px}
.ddd-about-body a{color:var(--pink);text-decoration:underline}
.ddd-about-body ul{padding-left:1.5em}
.ddd-about-photo{border:9px solid #fff;border-radius:34px;box-shadow:0 30px 66px rgba(36,67,85,.13);overflow:hidden;aspect-ratio:5/4;transform:rotate(1deg)}
.ddd-about-photo img{width:100%;height:100%;object-fit:cover}
.ddd-about-team{background:linear-gradient(135deg,#fff7fa,#f4fcfd)}
.ddd-about-team .section-head{text-align:center;margin-bottom:36px}
.ddd-about-team .team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ddd-about-team .person{text-align:center;background:#fff;border:1px solid #e9edf2;border-radius:26px;padding:30px 20px;box-shadow:0 14px 35px rgba(30,64,83,.06)}
.ddd-about-team .person .avatar{margin:0 auto 16px;width:130px;height:130px;border-radius:50%;background:#fff0f6;display:grid;place-items:center}
.ddd-about-team .person .avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.ddd-about-team .person h3{font-size:21px}
.ddd-about-team .person p{font-size:14px;color:#698196}
.ddd-about-person-detail{font-size:14px;line-height:1.65;color:#698196;margin-top:14px}
.ddd-about-person-detail p{margin:0 0 9px}
.ddd-about-team-empty{background:#fff;padding:25px;border-radius:18px;text-align:center;color:#698196}
/* Article photo gallery */
.ddd-article-gallery{border-radius:26px;max-width:100%;margin:26px 0 35px}
.ddd-article-gallery-stage{height:clamp(300px,44vw,590px);position:relative;display:flex;align-items:center;justify-content:center;background:#e8f3f7;border-radius:25px;overflow:hidden;box-shadow:0 18px 50px rgba(24,59,84,.1)}
.ddd-article-gallery-main{display:block;width:100%;height:100%;object-fit:contain;background:#e8f3f7}
.ddd-article-gallery-prev,.ddd-article-gallery-next,.ddd-article-gallery-expand{position:absolute;z-index:2;border:1px solid #f0f1f4;border-radius:50%;color:#172f43;background:rgba(255,255,255,.94);box-shadow:0 8px 25px rgba(17,36,53,.12);display:grid;place-items:center;width:46px;height:46px;font-size:34px;line-height:1;transition:transform .2s,background .2s}
.ddd-article-gallery-prev:hover,.ddd-article-gallery-next:hover,.ddd-article-gallery-expand:hover{transform:scale(1.07);background:white}
.ddd-article-gallery-prev{left:18px;top:calc(50% - 23px)}
.ddd-article-gallery-next{right:18px;top:calc(50% - 23px)}
.ddd-article-gallery-expand{top:15px;right:15px;width:39px;height:39px;font-size:23px}
.ddd-article-gallery-count{position:absolute;bottom:15px;right:17px;background:rgba(17,44,66,.82);color:white;border-radius:99px;padding:6px 14px;font-size:12px;font-weight:850;letter-spacing:.07em}
.ddd-article-gallery-caption{color:#748594;font-size:13px;line-height:1.5;margin:11px 2px}
.ddd-article-gallery-thumbs{display:flex;gap:10px;overflow-x:auto;padding:14px 2px 12px;scroll-snap-type:x proximity;scrollbar-width:thin}
.ddd-article-gallery-thumb{flex:0 0 102px;height:77px;position:relative;border:3px solid transparent;padding:0;border-radius:13px;background:#f0f4f5;overflow:hidden;opacity:.7;transition:opacity .2s,border .2s,transform .2s;scroll-snap-align:center}
.ddd-article-gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.ddd-article-gallery-thumb span{position:absolute;right:5px;bottom:5px;padding:1px 6px;background:#1b4054c7;color:white;font-size:10px;border-radius:6px}
.ddd-article-gallery-thumb:hover{opacity:1;transform:translateY(-2px)}
.ddd-article-gallery-thumb.is-active{opacity:1;border-color:var(--pink);box-shadow:0 6px 18px #eb0b551c}
.ddd-article-lightbox{position:fixed;z-index:99999;inset:0;width:min(96vw,1300px);max-height:95vh;border:0;border-radius:18px;padding:38px 65px 55px;background:#111e29;box-shadow:0 25px 100px #0008;color:#fff}
.ddd-article-lightbox::backdrop{background:rgba(9,25,37,.86)}
.ddd-article-lightbox-image{display:block;max-width:100%;height:calc(95vh - 130px);object-fit:contain;margin:auto}
.ddd-article-lightbox-close,.ddd-article-lightbox-prev,.ddd-article-lightbox-next{position:absolute;border:0;background:#fff;border-radius:99px;color:#1c3545;cursor:pointer;font-size:30px;line-height:1}
.ddd-article-lightbox-close{top:8px;right:10px;width:40px;height:40px}
.ddd-article-lightbox-prev,.ddd-article-lightbox-next{top:48%;width:43px;height:43px}
.ddd-article-lightbox-prev{left:9px}.ddd-article-lightbox-next{right:9px}
.ddd-article-lightbox-caption{text-align:center;font-size:13px;margin:13px 0;color:#e1eef2}
@media(max-width:840px){
 .ddd-about-banner{padding:36px 0 50px}
 .ddd-about-banner-grid{grid-template-columns:1fr;gap:25px}
 .ddd-about-photo{max-width:650px;aspect-ratio:16/10;transform:none}
 .ddd-about-team .team{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 .ddd-about-copy h1{font-size:52px}
 .ddd-about-team .team{grid-template-columns:1fr}
 .ddd-about-team .person .avatar{width:110px;height:110px}
 .ddd-article-gallery-stage{height:290px;border-radius:17px}
 .ddd-article-gallery-prev,.ddd-article-gallery-next{width:37px;height:37px;font-size:28px;top:calc(50% - 18px)}
 .ddd-article-gallery-prev{left:7px}.ddd-article-gallery-next{right:7px}
 .ddd-article-gallery-thumb{flex-basis:77px;height:60px;border-radius:10px}
 .ddd-article-lightbox{width:100vw;max-height:100vh;padding:48px 38px 45px;border-radius:0}
 .ddd-article-lightbox-image{height:calc(100vh - 126px)}
}
@media(prefers-reduced-motion:reduce){.ddd-heading-animate,.reveal-motion{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}}
body.calm-mode .ddd-heading-animate,body.calm-mode .reveal-motion{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}

/* Many selected photos keep their controls compact. */
.hero-slider-controls{max-width:min(320px,75vw);overflow-x:auto;scrollbar-width:none}
.hero-slider-controls::-webkit-scrollbar{display:none}
.hero-slider-controls .hero-slide-dot{flex:none}
