:root {
  --black: #0a0a0a;
  --charcoal: #1c1c1c;
  --gold: #c6a15b;
  --gold-soft: rgba(198, 161, 91, 0.18);
  --white: #f7f7f7;
  --muted: #dddddd;
  --green: #2f6f55;
  --ink: #101010;
  --line: rgba(198, 161, 91, 0.26);
  --shadow: 0 28px 90px rgba(0, 0, 0, 0.22);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--white); color: var(--ink); font-family: "Manrope", Arial, sans-serif; overflow-x: hidden; }
body::selection { background: var(--gold); color: var(--black); }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
iframe { border: 0; }
.section-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.site-header { position: fixed; top: 18px; left: 50%; transform: translateX(-50%); z-index: 50; width: min(1180px, calc(100% - 40px)); min-height: 82px; padding: 10px 14px; display: flex; align-items: center; justify-content: space-between; gap: 22px; border: 1px solid rgba(247,247,247,.2); background: rgba(10,10,10,.28); color: #fff; backdrop-filter: blur(18px); transition: background 240ms ease, border-color 240ms ease, top 240ms ease, width 240ms ease, padding 240ms ease; }
.site-header.scrolled, .site-header.menu-open { top: 0; width: 100%; background: rgba(10,10,10,.96); border-color: rgba(198,161,91,.34); }
.brand { min-width: 210px; height: 62px; flex: 0 0 auto; display: flex; align-items: center; gap: 12px; padding: 7px 14px 7px 8px; overflow: hidden; background: rgba(255,255,255,.96); border: 1px solid rgba(198,161,91,.45); color: #0b0b0b; }
.brand-mark { width: 66px; height: 48px; flex: 0 0 66px; display: grid; place-items: center; overflow: hidden; background: #fff; }
.brand-mark img { width: 92px; height: 58px; object-fit: contain; transform: scale(1.42); transform-origin: center; }
.brand-text { display: grid; gap: 2px; line-height: 1; text-transform: uppercase; }
.brand-text strong { font-size: 14px; font-weight: 900; letter-spacing: .08em; }
.brand-text small { color: #5b5b5b; font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.nav-links { display: flex; align-items: center; gap: 24px; font-size: 13px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; }
.nav-links a { opacity: .86; transition: color 180ms ease, opacity 180ms ease; }
.nav-links a:hover, .nav-links a:focus-visible { color: var(--gold); opacity: 1; outline: none; }
.menu-toggle { display: none; width: 46px; height: 46px; border: 1px solid rgba(198,161,91,.42); background: transparent; color: #fff; cursor: pointer; align-items: center; justify-content: center; flex-direction: column; gap: 5px; }
.menu-toggle span { width: 21px; height: 2px; background: currentColor; transition: transform 180ms ease, opacity 180ms ease; }
.site-header.menu-open .menu-toggle span:first-child { transform: translateY(7px) rotate(45deg); }
.site-header.menu-open .menu-toggle span:nth-child(2) { opacity: 0; }
.site-header.menu-open .menu-toggle span:last-child { transform: translateY(-7px) rotate(-45deg); }
.button, .nav-cta { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 0 22px; border: 1px solid transparent; font-size: 13px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; transition: transform 220ms ease, background 220ms ease, border-color 220ms ease, color 220ms ease; }
.button:hover, .nav-cta:hover, .button:focus-visible, .nav-cta:focus-visible { transform: translateY(-2px); outline: none; }
.nav-cta, .button.gold { background: var(--gold); color: #080808; }
.button.ghost { border-color: rgba(247,247,247,.45); color: #fff; background: rgba(255,255,255,.04); }
.button.dark { background: #0a0a0a; color: #fff; }
.button.outline { border-color: var(--gold); color: var(--gold); background: transparent; }
.hero { position: relative; min-height: 100vh; display: grid; align-items: center; overflow: hidden; background: #080808; }
.hero-media { position: absolute; inset: 0; background-image: linear-gradient(90deg, rgba(0,0,0,.96), rgba(0,0,0,.58), rgba(0,0,0,.74)), url("assets/projects/project-07.jpg"); background-size: cover; background-position: center; transform: scale(1.04); animation: heroZoom 18s ease-in-out infinite alternate; }
.hero-content { position: relative; width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding-top: 80px; color: #fff; }
.eyebrow { margin: 0 0 18px; color: var(--gold); font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
h1, h2, h3 { margin: 0; font-family: "Cormorant Garamond", Georgia, serif; font-weight: 600; letter-spacing: 0; }
h1 { max-width: 900px; font-size: clamp(58px, 9vw, 132px); line-height: .86; text-transform: uppercase; color: #fff; text-shadow: 0 18px 60px rgba(0,0,0,.55); }
h2 { font-size: clamp(38px, 5.8vw, 82px); line-height: .94; }
h3 { font-size: clamp(28px, 3.5vw, 46px); line-height: 1; }
.hero-line { margin: 26px 0 0; color: var(--gold); font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(30px, 4vw, 58px); line-height: 1.02; }
.hero-copy { max-width: 610px; margin: 22px 0 0; color: rgba(247,247,247,.92); font-size: 18px; line-height: 1.75; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 36px; }
.scroll-indicator { position: absolute; left: 50%; bottom: 34px; width: 28px; height: 48px; border: 1px solid rgba(198,161,91,.7); transform: translateX(-50%); }
.scroll-indicator span { display: block; width: 4px; height: 10px; margin: 10px auto 0; background: var(--gold); animation: scrollDot 1.8s ease-in-out infinite; }
.about, .projects, .why, .team, .gallery, .site-visit, .contact { padding: 116px 0; }
.section-kicker { display: flex; align-items: center; gap: 14px; margin-bottom: 24px; color: var(--gold); text-transform: uppercase; font-size: 12px; font-weight: 800; letter-spacing: .16em; }
.section-kicker span { width: 70px; height: 1px; background: var(--gold); }
.section-kicker p { margin: 0; }
.about-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 70px; align-items: start; }
.about-copy p, .detail-copy p, .director-copy p, .contact-copy p { margin: 0 0 18px; color: #4f4f4f; font-size: 17px; line-height: 1.8; }
.value-grid { margin-top: 58px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(10,10,10,.12); border: 1px solid rgba(10,10,10,.12); }
.value-card { min-height: 230px; padding: 30px; background: #fff; transition: background 220ms ease, color 220ms ease, transform 220ms ease; }
.value-card:hover { background: var(--black); color: #fff; transform: translateY(-4px); }
.value-card strong, .why strong { display: block; margin-bottom: 16px; font-family: "Cormorant Garamond", Georgia, serif; font-size: 30px; line-height: 1; }
.value-card p, .why p { margin: 0; color: #666; line-height: 1.7; }
.value-card:hover p { color: rgba(247,247,247,.76); }
.director { padding: 126px 0; background: radial-gradient(circle at 14% 20%, rgba(198,161,91,.16), transparent 28%), var(--black); color: #fff; }
.director-shell { width: min(1280px, calc(100% - 40px)); margin: 0 auto; display: grid; grid-template-columns: .84fr 1.16fr; gap: 76px; align-items: center; }
.portrait-frame { min-height: 720px; padding: 18px; border: 1px solid var(--line); background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.02)); box-shadow: var(--shadow); }
.portrait-monogram { height: 100%; display: grid; place-items: center; background: linear-gradient(150deg, #262626, #0d0d0d 62%, rgba(198,161,91,.32)); }
.portrait-monogram span { color: var(--gold); font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(88px, 12vw, 180px); }
.director-copy h2 { font-size: clamp(52px, 7vw, 106px); }
.director-copy blockquote { margin: 30px 0; padding-left: 28px; border-left: 1px solid var(--gold); color: #fff; font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(29px, 3.3vw, 48px); line-height: 1.15; }
.director-copy p { color: rgba(247,247,247,.74); }
.signature { margin-top: 36px; color: var(--gold); font-family: "Cormorant Garamond", Georgia, serif; font-size: 42px; font-style: italic; }
.project-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.project-card { position: relative; overflow: hidden; background: #fff; border: 1px solid rgba(10,10,10,.1); box-shadow: 0 20px 55px rgba(0,0,0,.08); transition: transform 260ms ease, border-color 260ms ease, box-shadow 260ms ease; }
.project-card:hover { transform: translateY(-8px); border-color: var(--gold); box-shadow: 0 34px 80px rgba(0,0,0,.16); }
.project-card.featured { border: 1px solid var(--gold); }
.badge { position: absolute; z-index: 2; top: 18px; right: 18px; padding: 8px 12px; background: var(--gold); color: #090909; font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.project-image { height: 310px; background-size: cover; background-position: center; transition: transform 360ms ease; }
.project-card:hover .project-image { transform: scale(1.06); }
.image-one { background-image: url("assets/projects/project-01.jpg"); }
.image-two { background-image: url("assets/projects/project-02.jpg"); }
.image-three { background-image: url("assets/projects/project-03.jpg"); }
.project-body { padding: 30px; }
.project-body span { color: var(--gold); font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.project-body p { color: #5e5e5e; line-height: 1.7; }
.project-body a { color: var(--black); font-weight: 900; text-transform: uppercase; font-size: 12px; letter-spacing: .12em; }
.project-details, .testimonials { padding: 104px 0; background: var(--charcoal); color: #fff; }
.detail-shell { display: grid; grid-template-columns: .92fr 1.08fr; gap: 62px; align-items: center; }
.detail-copy p { color: rgba(247,247,247,.72); }
.amenity-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.amenity-grid span { min-height: 82px; display: flex; align-items: center; padding: 0 22px; border: 1px solid rgba(198,161,91,.32); color: #fff; background: rgba(255,255,255,.04); font-weight: 800; }
.why-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.why article { min-height: 280px; padding: 28px; border-top: 1px solid var(--gold); background: #fff; box-shadow: 0 18px 50px rgba(0,0,0,.06); }
.why b { display: block; margin-bottom: 58px; color: var(--gold); }
.stats { padding: 72px 0; background: #0a0a0a; color: #fff; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.stat { border-left: 1px solid var(--gold); padding-left: 22px; }
.stat strong { display: block; color: var(--gold); font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(52px, 7vw, 86px); line-height: .9; }
.stat span { color: rgba(247,247,247,.74); font-weight: 800; }
.team-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.team-card { min-height: 350px; padding: 18px; background: #fff; border: 1px solid rgba(10,10,10,.1); transition: transform 240ms ease, box-shadow 240ms ease; }
.team-card:hover { transform: translateY(-6px); box-shadow: 0 26px 70px rgba(0,0,0,.12); }
.team-portrait { height: 190px; display: grid; place-items: center; background: linear-gradient(145deg, #222, #111 64%, rgba(198,161,91,.46)); color: var(--gold); font-family: "Cormorant Garamond", Georgia, serif; font-size: 54px; }
.team-card h3 { margin-top: 22px; font-size: 30px; }
.team-card span { color: var(--gold); font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.team-card p { color: #666; line-height: 1.65; }
.masonry { columns: 3 260px; column-gap: 18px; }
.gallery-item { width: 100%; min-height: 260px; margin: 0 0 18px; border: 0; cursor: pointer; background-image: linear-gradient(rgba(0,0,0,.08), rgba(0,0,0,.42)), url("assets/projects/project-01.jpg"); background-size: cover; background-position: center; break-inside: avoid; transition: transform 220ms ease, filter 220ms ease; }
.gallery-item:hover { transform: scale(.985); filter: saturate(1.08); }
.gallery-item.tall { min-height: 420px; }
.gallery-item.wide { min-height: 330px; }
.testimonial-track { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.testimonial-track article { min-height: 260px; padding: 30px; border: 1px solid rgba(198,161,91,.26); background: rgba(255,255,255,.05); }
.testimonial-track p { margin: 0 0 28px; font-family: "Cormorant Garamond", Georgia, serif; font-size: 30px; line-height: 1.16; }
.testimonial-track span { color: var(--gold); font-weight: 800; }
.visit-card { display: grid; grid-template-columns: 1fr auto; gap: 36px; align-items: end; padding: 56px; background: #101010; color: #fff; box-shadow: var(--shadow); }
.visit-card address { margin-top: 24px; color: rgba(247,247,247,.72); font-style: normal; line-height: 1.8; }
.visit-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }
.contact { display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: start; }
.map-panel { margin-top: 34px; overflow: hidden; border: 1px solid rgba(198,161,91,.42); background: #0b0b0b; box-shadow: 0 18px 54px rgba(0,0,0,.12); }
.map-panel iframe { width: 100%; height: 330px; display: block; filter: grayscale(.2) contrast(1.04); }
.map-panel a { display: block; padding: 16px 18px; color: var(--gold); font-weight: 900; text-transform: uppercase; font-size: 12px; letter-spacing: .12em; }
.contact-form { padding: 32px; background: #fff; border: 1px solid rgba(10,10,10,.1); box-shadow: 0 24px 70px rgba(0,0,0,.1); }
.contact-form label { display: block; }
.contact-form span { display: block; margin-bottom: 8px; color: #3b3b3b; font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.contact-form input, .contact-form textarea, .contact-form select { width: 100%; margin-bottom: 18px; padding: 15px 16px; border: 1px solid rgba(10,10,10,.16); background: #fafafa; color: #111; outline: none; transition: border-color 180ms ease, box-shadow 180ms ease; }
.contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus { border-color: var(--gold); box-shadow: 0 0 0 4px var(--gold-soft); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.contact-form button { width: 100%; border: 0; cursor: pointer; }
.contact-form button:disabled { cursor: wait; opacity: .72; }
.hidden-field { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.field-error { display: block; margin: -10px 0 16px; color: #9f2f2f; font-size: 12px; font-weight: 800; }
.has-error input, .has-error textarea, .has-error select { border-color: #9f2f2f; box-shadow: 0 0 0 4px rgba(159,47,47,.1); }
.form-status { min-height: 22px; margin: 14px 0 0; color: #666; font-size: 14px; font-weight: 700; }
.form-status.success { color: var(--green); }
.form-status.error { color: #9f2f2f; }
.site-footer { padding: 54px max(20px, calc((100vw - 1180px) / 2)); display: grid; grid-template-columns: 1.1fr .8fr 1.2fr .7fr; gap: 28px; background: #060606; color: rgba(247,247,247,.72); }
.footer-logo { width: 158px; height: 74px; display: grid; place-items: center; overflow: hidden; margin-bottom: 14px; background: #fff; border: 1px solid rgba(198,161,91,.36); }
.footer-logo img { width: 150px; height: 96px; object-fit: contain; transform: scale(1.32); }
.site-footer nav, .social-links { display: grid; gap: 10px; }
.site-footer a { color: #fff; font-weight: 800; }
.site-footer address { font-style: normal; line-height: 1.7; }
.copyright { grid-column: 1 / -1; margin: 18px 0 0; padding-top: 20px; border-top: 1px solid rgba(198,161,91,.22); font-size: 13px; }
.reveal { opacity: 0; transform: translateY(28px); transition: opacity 760ms ease, transform 760ms ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
.lightbox { position: fixed; inset: 0; z-index: 100; display: none; place-items: center; padding: 28px; background: rgba(0,0,0,.86); color: #fff; }
.lightbox.open { display: grid; }
.lightbox p { max-width: 720px; padding: 44px; border: 1px solid var(--gold); background: #111; font-family: "Cormorant Garamond", Georgia, serif; font-size: 48px; text-align: center; }
.lightbox button { position: absolute; top: 24px; right: 24px; border: 1px solid var(--gold); background: transparent; color: #fff; padding: 10px 14px; cursor: pointer; }
@keyframes heroZoom { from { transform: scale(1.04); } to { transform: scale(1.11); } }
@keyframes scrollDot { 0% { transform: translateY(0); opacity: 1; } 100% { transform: translateY(18px); opacity: 0; } }
@media (max-width: 1080px) {
  .site-header { gap: 14px; }
  .brand { min-width: 184px; }
  .nav-links { gap: 16px; font-size: 12px; }
}
@media (max-width: 980px) {
  .menu-toggle { display: inline-flex; margin-left: auto; }
  .nav-links { display: none; order: 4; width: 100%; grid-template-columns: 1fr; gap: 0; padding-top: 10px; border-top: 1px solid rgba(198,161,91,.24); }
  .site-header.menu-open { flex-wrap: wrap; padding-bottom: 16px; }
  .site-header.menu-open .nav-links { display: grid; }
  .nav-links a { padding: 14px 4px; }
  .nav-cta { display: none; }
  .about-grid, .director-shell, .detail-shell, .contact, .visit-card { grid-template-columns: 1fr; }
  .value-grid, .why-grid, .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .project-grid, .team-grid, .testimonial-track { grid-template-columns: 1fr 1fr; }
  .portrait-frame { min-height: 520px; }
  .visit-actions { justify-content: flex-start; }
}
@media (max-width: 640px) {
  .section-shell, .hero-content, .director-shell { width: min(100% - 28px, 1180px); }
  .site-header { width: calc(100% - 24px); top: 12px; min-height: 70px; }
  .site-header.scrolled, .site-header.menu-open { width: 100%; }
  .brand { min-width: 0; width: auto; height: 54px; padding: 6px 10px 6px 6px; gap: 8px; }
  .brand-mark { width: 54px; height: 42px; flex-basis: 54px; }
  .brand-mark img { width: 80px; height: 50px; transform: scale(1.35); }
  .brand-text strong { font-size: 12px; }
  .brand-text small { font-size: 9px; }
  h1 { font-size: 48px; line-height: .92; }
  h2 { font-size: 42px; }
  .hero-actions, .form-row, .visit-actions { display: grid; grid-template-columns: 1fr; }
  .button { width: 100%; }
  .hero-content { padding-top: 104px; }
  .hero-copy { font-size: 16px; }
  .about, .projects, .why, .team, .gallery, .site-visit, .contact, .director, .project-details, .testimonials { padding: 72px 0; }
  .value-grid, .why-grid, .stats-grid, .project-grid, .team-grid, .testimonial-track { grid-template-columns: 1fr; }
  .amenity-grid { grid-template-columns: 1fr; }
  .portrait-frame { min-height: 430px; }
  .visit-card, .contact-form { padding: 26px; }
  .map-panel iframe { height: 280px; }
  .site-footer { grid-template-columns: 1fr; }
  .lightbox p { font-size: 34px; padding: 30px; }
}
@media (max-width: 390px) {
  .brand-text { display: none; }
  .brand { padding-right: 6px; }
  h1 { font-size: 43px; }
  .section-kicker { letter-spacing: .1em; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition-duration: .01ms !important; } }


/* Local Sitara image integration */
.hero-media { background-image: linear-gradient(90deg, rgba(0,0,0,.96), rgba(0,0,0,.58), rgba(0,0,0,.74)), url("assets/projects/project-07.jpg"); }
.portrait-frame { overflow: hidden; padding: 0; min-height: 720px; }
.portrait-frame img { width: 100%; height: 100%; min-height: 720px; object-fit: cover; object-position: center top; filter: saturate(.96) contrast(1.04); }
.image-one { background-image: url("assets/projects/project-01.jpg"); }
.image-two { background-image: url("assets/projects/project-02.jpg"); }
.image-three { background-image: url("assets/projects/project-03.jpg"); }
.team-portrait { aspect-ratio: 4 / 5; height: auto; overflow: hidden; background: #111; }
.team-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: var(--face-position, 50% 18%); transition: transform 260ms ease; }
.team-card:hover .team-portrait img { transform: scale(1.04); }
.gallery-item { position: relative; display: block; padding: 0; overflow: hidden; color: #fff; text-align: left; }
.gallery-item span { position: absolute; left: 18px; right: 18px; bottom: 18px; z-index: 1; color: #fff; font-size: 13px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; text-shadow: 0 2px 20px rgba(0,0,0,.75); }
.gallery-one { background-image: linear-gradient(rgba(0,0,0,.08), rgba(0,0,0,.46)), url("assets/projects/project-01.jpg"); }
.gallery-two { background-image: linear-gradient(rgba(0,0,0,.08), rgba(0,0,0,.46)), url("assets/projects/project-02.jpg"); }
.gallery-three { background-image: linear-gradient(rgba(0,0,0,.08), rgba(0,0,0,.46)), url("assets/projects/project-03.jpg"); }
.gallery-four { background-image: linear-gradient(rgba(0,0,0,.08), rgba(0,0,0,.46)), url("assets/projects/project-04.jpg"); }
.gallery-five { background-image: linear-gradient(rgba(0,0,0,.08), rgba(0,0,0,.46)), url("assets/projects/project-05.jpg"); }
.gallery-six { background-image: linear-gradient(rgba(0,0,0,.08), rgba(0,0,0,.46)), url("assets/projects/project-06.jpg"); }
.gallery-seven { background-image: linear-gradient(rgba(0,0,0,.08), rgba(0,0,0,.46)), url("assets/projects/project-07.jpg"); }
.gallery-eight { background-image: linear-gradient(rgba(0,0,0,.08), rgba(0,0,0,.46)), url("assets/projects/project-08.jpg"); }
.gallery-nine { background-image: linear-gradient(rgba(0,0,0,.08), rgba(0,0,0,.46)), url("assets/projects/project-09.jpg"); }
.gallery-ten { background-image: linear-gradient(rgba(0,0,0,.08), rgba(0,0,0,.46)), url("assets/projects/project-10.jpg"); }
.gallery-eleven { background-image: linear-gradient(rgba(0,0,0,.08), rgba(0,0,0,.46)), url("assets/projects/project-11.jpg"); }
.gallery-brand { background-image: linear-gradient(rgba(0,0,0,.08), rgba(0,0,0,.46)), url("assets/gallery/brand-collateral.jpg"); }
.lightbox figure { width: min(980px, calc(100vw - 44px)); margin: 0; border: 1px solid var(--gold); background: #111; box-shadow: var(--shadow); }
.lightbox img { width: 100%; max-height: 76vh; object-fit: contain; background: #050505; }
.lightbox figcaption { padding: 18px 22px; color: var(--gold); font-family: "Cormorant Garamond", Georgia, serif; font-size: 34px; text-align: center; }
@media (max-width: 980px) {
  .portrait-frame, .portrait-frame img { min-height: 560px; }
  .team-portrait { aspect-ratio: 4 / 5; }
}
@media (max-width: 640px) {
  .portrait-frame, .portrait-frame img { min-height: 460px; }
  .team-portrait { aspect-ratio: 4 / 5; }
  .lightbox figcaption { font-size: 26px; }
}
