/* A&T Foundation 2.0: site-wide, mobile-first corrections. Applied after Signature. */
:root {
  --atf-header: 78px;
  --atf-ink: #201d1a;
  --atf-bone: #f6f2eb;
  --atf-muted: #6f6559;
  --atf-accent: #98754c;
  --atf-line: #e5ddd1;
}
html { scroll-padding-top: calc(var(--atf-header) + 18px); }
body { max-width: 100%; overflow-x: clip; }
#content, main, article, section, .editor-content, .section-wrap, .page-hero__inner { min-width: 0; }
:where(h1, h2, h3, h4, p, a) { overflow-wrap: break-word; }
:where(.page-hero h1, .single-story__header h1, .editor-content h1, .atf-hero h1) { overflow-wrap: anywhere; text-wrap: balance; }
/* Site header always occupies space; avoid overlapping legacy page titles. */
.site-header { position: sticky; top: 0; }
.admin-bar .site-header { top: 32px; }
.site-header__inner { min-width: 0; }
.site-header__brand { min-width: 0; }
.site-header__brand .custom-logo { object-fit: contain; }
.page-hero { padding-block: clamp(40px, 6vw, 88px) !important; }
.page-hero h1 { font-size: clamp(2rem, 5.8vw, 5.1rem) !important; line-height: 1.1 !important; letter-spacing: -.045em !important; max-width: 15ch; }
.page-hero p { font-size: clamp(1rem, 2.1vw, 1.3rem); }
.page-hero::after { opacity: .38; }
.single-story__header { padding-top: clamp(40px, 6vw, 85px) !important; padding-bottom: 34px !important; }
.single-story__header h1 { font-size: clamp(2rem, 6vw, 5rem) !important; line-height: 1.1 !important; letter-spacing: -.045em !important; max-width: 100%; }
.single-story__body { padding-block: clamp(22px, 5vw, 66px) !important; }
.single-story__image img { display: block; width: 100%; height: auto !important; max-height: none; object-fit: contain; background: transparent; }
.editor-content { font-size: clamp(1rem, 1.65vw, 1.18rem) !important; line-height: 1.75; padding-block: clamp(22px, 4.8vw, 60px) !important; }
.editor-content h1 { font-size: clamp(2rem, 5vw, 3.6rem) !important; }
.editor-content h2 { font-size: clamp(1.7rem, 4.3vw, 3rem) !important; }
.editor-content h3 { font-size: clamp(1.3rem, 3vw, 2.1rem) !important; }
.editor-content :where(p, h1, h2, h3, blockquote) { max-width: 100%; }
.editor-content img, .single-story__body img, .atpw-collection img { height: auto !important; max-height: none !important; object-fit: contain !important; }
.editor-content iframe { width: 100%; max-width: 100%; min-height: 0 !important; height: auto; aspect-ratio: 16 / 9; }
.editor-content > * { max-width: 100%; }
/* Preserve the full composition of every gallery image; never crop people's faces. */
.editor-content .wp-block-gallery, .editor-content .wp-block-gallery.has-nested-images {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: clamp(12px, 1.5vw, 22px);
  row-gap: clamp(20px, 2vw, 34px);
  align-items: start;
  margin: clamp(24px, 4vw, 45px) auto;
}
.editor-content .wp-block-gallery > .wp-block-image,
.editor-content .wp-block-gallery.has-nested-images figure.wp-block-image,
.editor-content .wp-block-gallery.is-cropped figure.wp-block-image {
  display: block !important;
  align-self: start !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  flex: none !important;
  margin: 0 !important;
  aspect-ratio: auto !important;
  overflow: visible !important;
}
.editor-content .wp-block-gallery > .wp-block-image :where(a, figure),
.editor-content .wp-block-gallery.has-nested-images figure.wp-block-image a { display: block; width: 100%; height: auto !important; }
.editor-content .wp-block-gallery > .wp-block-image img,
.editor-content .wp-block-gallery.has-nested-images figure.wp-block-image img,
.editor-content .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image img {
  display: block !important;
  position: static !important;
  height: auto !important;
  max-height: none !important;
  width: 100% !important;
  min-width: 0 !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: 0 !important;
}
/* The Signature story cards previously used 1000x760 cropped thumbnails. */
.story-card__media, .story-card__media:hover { aspect-ratio: auto !important; height: auto !important; min-height: 0; overflow: hidden; background: #eee8df; }
.story-card__media img, .story-card__media:hover img { position: static !important; width: 100% !important; height: auto !important; max-height: none !important; object-fit: contain !important; transform: none !important; }
.story-card__title { overflow-wrap: anywhere; }
.story-grid { align-items: start; }
.search-form-wrap { margin-bottom: clamp(22px, 4vw, 45px); }
/* Original emoji-style arrow in action buttons becomes a typographic arrow. */
.button > span[aria-hidden="true"] { font-size: 0 !important; font-family: Arial, sans-serif !important; }
.button > span[aria-hidden="true"]::after { content: '\2192'; font-family: Arial, sans-serif; font-size: 19px !important; font-weight: 400; }
.button { max-width: 100%; white-space: normal !important; text-align: center; }
.closing-cta h2 { font-size: clamp(2.5rem, 5vw, 4.2rem); overflow-wrap: anywhere; }
.page-id-13 .closing-cta { display: none; }
/* Consistent real-content page system. */
.atf-hero { background: var(--atf-bone); border-bottom: 1px solid var(--atf-line); padding: clamp(54px, 8vw, 110px) 0; }
.atf-hero__inner { max-width: var(--wrap); }
.atf-eyebrow { display: block; font: 700 .7rem/1.5 var(--sans); text-transform: uppercase; letter-spacing: .21em; color: var(--atf-accent); }
.atf-hero h1 { font: 400 clamp(2.5rem, 7vw, 6.25rem)/1.04 var(--serif); max-width: 15ch; letter-spacing: -.045em; margin: 22px 0 22px; }
.atf-hero p { max-width: 40rem; font: 400 clamp(1.07rem, 1.9vw, 1.38rem)/1.65 var(--serif); color: var(--atf-muted); margin: 0; }
.atf-collection { padding-block: clamp(45px, 7vw, 88px) clamp(70px, 9vw, 130px); }
.atf-section-heading { margin-bottom: clamp(28px, 4.5vw, 56px); max-width: 48rem; }
.atf-section-heading h2 { font: 400 clamp(2rem, 4.7vw, 3.6rem)/1.14 var(--serif); letter-spacing: -.035em; margin: 18px 0 15px; }
.atf-section-heading p { max-width: 34rem; font: 400 1rem/1.75 var(--serif); color: var(--atf-muted); margin: 0; }
.atf-grid { columns: 3; column-gap: clamp(18px, 2vw, 30px); }
.atf-card { display: inline-block; width: 100%; margin: 0 0 clamp(30px, 3vw, 50px); vertical-align: top; break-inside: avoid; }
.atf-card__photo { display: block; width: 100%; background: #f0ebe3; overflow: hidden; }
.atf-card__photo img { display: block; width: 100%; height: auto !important; max-height: none !important; aspect-ratio: auto !important; object-fit: contain !important; transition: filter .25s ease; }
.atf-card__photo:hover img { filter: brightness(.95); }
.atf-card__copy { padding-top: 13px; }
.atf-card__date { font: 600 .7rem/1.4 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--atf-accent); }
.atf-card h3 { margin: 5px 0 0; font: 400 clamp(1.12rem, 1.65vw, 1.5rem)/1.3 var(--serif); letter-spacing: -.02em; overflow-wrap: anywhere; }
.atf-card h3 a:hover, .atf-link:hover { color: #886339; }
.atf-monogram { display: grid; place-items: center; min-height: 12rem; font: 400 3rem/1 var(--serif); color: #b5a18a; }
.atf-secondary { border-top: 1px solid var(--atf-line); margin-top: clamp(36px, 6vw, 80px); padding-top: clamp(30px, 5vw, 60px); }
.atf-secondary h2 { font: 400 clamp(1.8rem, 3.5vw, 2.65rem)/1.15 var(--serif); margin-bottom: 15px; }
.atf-secondary p { color: var(--atf-muted); }
.atf-link { display: inline-flex; max-width: 100%; overflow-wrap: anywhere; align-items: center; gap: 12px; color: #785636; border-bottom: 1px solid #a98a68; padding-bottom: 7px; font: 650 .79rem/1.5 var(--sans); letter-spacing: .035em; }
.atf-about { display: grid; grid-template-columns: minmax(220px,.6fr) minmax(0,1.4fr); gap: clamp(35px, 8vw, 100px); padding-block: clamp(60px, 8vw, 115px); }
.atf-about__number { display: flex; flex-direction: column; gap: 10px; border-top: 1px solid var(--atf-line); padding-top: 20px; }
.atf-about__number span { font: 400 clamp(4rem, 7vw, 7rem)/1 var(--serif); letter-spacing: -.06em; }
.atf-about__number small { font: 700 .68rem/1.6 var(--sans); letter-spacing: .17em; }
.atf-about__story h2 { font: 400 clamp(2.3rem, 4vw, 3.7rem)/1.1 var(--serif); margin: 18px 0 22px; }
.atf-about__story p { max-width: 45rem; font: 400 clamp(1rem, 1.5vw, 1.2rem)/1.85 var(--serif); color: #61594f; margin-bottom: 21px; }
.atf-about__story .atf-link { margin-top: 8px; }
.atf-contact { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: clamp(35px, 7vw, 90px); padding-block: clamp(40px, 7vw, 85px); }
.atf-contact__intro h2 { font: 400 clamp(2rem, 3.9vw, 3.2rem)/1.15 var(--serif); margin: 18px 0 26px; }
.atf-contact__intro p { font: 400 1.05rem/1.78 var(--serif); color: #62584c; }
.atf-contact__form { padding: clamp(19px, 3vw, 45px); background: #efebe4; }
.atf-films { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(25px, 4vw, 50px) clamp(18px, 3vw, 45px); }
.atf-film { min-width: 0; }
.atf-film__player { width: 100%; background: #171717; aspect-ratio: 16/9; }
.atf-film__player iframe { display:block; width: 100%; height: 100%; border: 0; aspect-ratio:16/9; }
.atf-film h3 { font: 400 1.3rem/1.35 var(--serif); margin: 13px 0 0; }
/* Tighten old pages not yet migrated, and avoid enormous blank intervals. */
.editor-content > :is(.wp-block-image, .wp-block-gallery, .wp-block-embed, p, h2) { margin-block: clamp(17px, 3vw, 36px); }
.editor-content > .et_pb_section, .editor-content .at-legacy-background { margin-block: clamp(18px, 3vw, 35px) !important; }
.atpw-collection { padding-block: 35px !important; }
/* Footer only refers to the Indian business. */
.site-footer__top { gap: clamp(20px, 4vw, 50px); }
.site-footer__nav :is(.nav__list,.footer-menu) { flex-wrap: wrap; }
.site-footer__nav a { white-space: normal !important; }
@media (max-width: 1020px) {
  .atf-grid { columns: 2; }
  .editor-content .wp-block-gallery, .editor-content .wp-block-gallery.has-nested-images { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .site-header__inner { gap: 14px; }
}
@media (max-width: 700px) {
  :root { --atf-header: 70px; }
  html { scroll-padding-top: 82px; }
  .section-wrap { width: min(calc(100% - 36px),var(--wrap)); }
  .site-header { height: 70px !important; }
  .site-header.is-scrolled { height: 66px !important; }
  .site-header__brand .custom-logo { max-height: 52px; max-width: 145px; }
  .site-nav { padding-top: max(105px, 15vh); }
  .site-nav .nav__list a { font-size: clamp(1.45rem, 6vw, 2.3rem); white-space: normal; }
  .page-hero { padding-block: 38px 43px !important; }
  .page-hero h1 { font-size: clamp(2rem, 9vw, 3.35rem) !important; line-height: 1.1 !important; margin: 14px 0; max-width: 100%; }
  .page-hero p { font-size: 1rem !important; }
  .page-hero::after { font-size: 35vw; bottom: 0; }
  .single-story__header { padding-top: 35px !important; padding-bottom: 25px !important; }
  .single-story__header h1 { font-size: clamp(1.85rem, 8.1vw, 3rem) !important; letter-spacing: -.035em !important; }
  .single-story__body { padding-block: 23px 42px !important; }
  .editor-content { font-size: 1rem !important; padding-block: 20px 35px !important; line-height: 1.72; }
  .editor-content h1, .editor-content h2, .editor-content h3 { margin: 22px 0 15px !important; }
  .editor-content iframe { min-height: 0 !important; }
  .editor-content .wp-block-gallery, .editor-content .wp-block-gallery.has-nested-images { grid-template-columns: 1fr; row-gap: 22px; }
  .atf-hero { padding-block: 44px 50px; }
  .atf-hero h1 { font-size: clamp(2.25rem, 10vw, 3.5rem); line-height: 1.09; margin: 17px 0 15px; max-width: 100%; }
  .atf-hero p { font-size: 1.05rem; }
  .atf-collection { padding-block: 35px 70px; }
  .atf-section-heading { margin-bottom: 25px; }
  .atf-section-heading h2 { font-size: clamp(1.85rem, 8vw, 2.55rem); }
  .atf-grid { columns: 1; }
  .atf-card { margin-bottom: 35px; }
  .atf-card h3 { font-size: 1.35rem; }
  .atf-about, .atf-contact { grid-template-columns: 1fr; gap: 25px; padding-block: 42px 68px; }
  .atf-about__number span { font-size: 4.5rem; }
  .atf-about__story h2, .atf-contact__intro h2 { font-size: clamp(2rem, 8vw, 2.7rem); }
  .atf-contact__form { padding: 22px 17px; }
  .atf-films { grid-template-columns: 1fr; }
  .closing-cta { padding-block: 60px !important; }
  .closing-cta h2 { font-size: clamp(2.1rem, 9vw, 3.3rem) !important; }
  .closing-cta .button { width: 100%; justify-content: space-between; }
  .site-footer__top { gap: 25px; }
  .site-footer__bottom { gap: 9px; }
  .button, .enquiry-form__send { padding: 14px 16px; }
}
@media (max-width: 380px) {
  .section-wrap { width: calc(100% - 28px); }
  .site-header__brand .custom-logo { max-width: 120px; }
  .atf-hero h1 { font-size: 2.17rem; }
}
@media (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
}
@media (max-width: 600px) {
  .admin-bar .site-header { top: 0; }
}
