:root{--ink:#171e36;--muted:#737775;--line:#dedfdb;--surface:#f5f6f3;--header-height:96px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #ad783e;outline-offset:6px}.skip-link{position:fixed;z-index:100;top:-100px;left:20px;padding:15px;background:#fff}.skip-link:focus{top:10px}.header{height:var(--header-height);position:sticky;top:0;z-index:20;background:rgba(255,255,255,.98);border-bottom:1px solid #f0f0f0}.header-inner{width:83%;max-width:1440px;height:100%;margin:auto;display:flex;align-items:center;gap:clamp(36px,6vw,100px)}.brand{display:block;position:relative;width:164px;height:96px;flex-shrink:0;overflow:hidden;transform:scale(.68);transform-origin:left center;margin-right:-32px}.brand img{position:absolute;width:1721px;height:914px;max-width:none;left:-144px;top:-14px}.nav{display:flex;align-items:center;gap:clamp(22px,2vw,34px);white-space:nowrap}.nav a{font-size:14px;padding:15px 0;position:relative}.nav a:after{content:"";position:absolute;bottom:7px;height:1px;background:currentColor;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .2s}.nav a:hover:after,.nav a[aria-current="location"]:after{transform:scaleX(1)}.header-actions{margin-left:auto;display:flex;align-items:center;gap:24px}.language{border:0;background:none;padding:12px;font-size:14px}.menu-toggle{display:none;background:none;border:0;width:40px;height:44px;padding:8px}.menu-toggle span{display:block;height:1px;background:var(--ink);margin:7px 0;transition:transform .2s}.hero{position:relative;height:calc(100svh - var(--header-height));min-height:580px;color:#fff;isolation:isolate}.hero-image,.hero-shade{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:center 48%;z-index:-2}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.13),transparent 65%),linear-gradient(0deg,rgba(0,0,0,.13),transparent 65%)}.hero-content{position:absolute;left:9.1%;top:45%;max-width:78%}.hero h1{font-size:clamp(54px,4.45vw,82px);line-height:1.03;letter-spacing:-1.6px;font-weight:700;margin:0 0 30px;white-space:pre-line}.button{min-width:238px;min-height:60px;display:inline-flex;align-items:center;justify-content:center;padding:14px 28px;border:2px solid;border-radius:99px;font-size:18px;font-weight:600;transition:background .2s,color .2s}.button-light{border-color:#fff;color:#fff}.button-light:hover{background:#fff;color:var(--ink)}.section{padding:110px 9.1%;scroll-margin-top:0}.section-tint{background:var(--surface)}.section-intro{text-align:center;margin:0 auto 72px}.eyebrow{font-size:13px;letter-spacing:2px;font-weight:600;line-height:1.6;display:block}h2{font-size:clamp(36px,3.5vw,54px);line-height:1.12;letter-spacing:-1.5px;font-weight:500;margin:19px 0 20px}h3{font-size:clamp(30px,2.8vw,44px);font-weight:400;letter-spacing:-1px;line-height:1.2;margin:22px 0;white-space:pre-line}p{font-size:17px;line-height:1.85;color:var(--muted);margin:0 0 28px}.statement{font-size:20px}.split-layout{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:9%}.image-space{min-height:360px;background:#e8ebe6;position:relative;display:flex;align-items:flex-end;padding:25px;aspect-ratio:1.4;overflow:hidden}.image-space:before{content:"";width:28px;height:1px;background:#a8afa4;position:absolute;top:50%;left:calc(50% - 14px)}.image-space:after{content:"";width:1px;height:28px;background:#a8afa4;position:absolute;top:calc(50% - 14px);left:50%}.placeholder-label{font-size:13px;letter-spacing:.3px;color:#697162}.section-copy{max-width:450px}.section-copy p{margin:28px 0}.text-link{font-size:16px;display:inline-flex;align-items:center;gap:44px;border-bottom:1px solid #899087;padding-bottom:13px;margin-top:10px}.text-link:hover{gap:55px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:40px}.section-heading h2{margin-bottom:0}.section-note{font-size:14px;color:var(--muted);padding-bottom:5px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.product-image{min-height:0;aspect-ratio:1/1.12;background:#e8ebe6}.product-image:nth-child(2){background:#e2e6df}.product-image:nth-child(3){background:#ebece6}.brands{text-align:center}.brand-feature{margin-top:56px;padding:60px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.wordmark{font-size:clamp(20px,2.8vw,40px);font-weight:700;letter-spacing:-1px;color:#111}.brand-feature p{margin:20px 0 0}.service-layout{grid-template-columns:1fr 1.15fr}.news-empty{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:36px 0;display:flex;align-items:center;gap:45px}.news-index{color:#93988e;font-size:14px;align-self:flex-start;padding-top:8px}.news-empty h3{font-size:28px;letter-spacing:-.6px;margin:0 0 12px}.news-empty p{margin:0}.news-empty>.eyebrow{margin-left:auto;white-space:nowrap;font-size:12px;color:var(--muted)}.support-section{padding:100px 9.1%;color:#fff;background:#202920}.support-inner{max-width:900px}.support-section h2{font-size:clamp(44px,5vw,72px);margin-top:24px}.support-section p{color:#c2c9bf;margin:26px 0 36px}
.contact-details{margin:26px 0 36px}
.support-section .contact-details p{margin:0}
.support-section .contact-details p+p{margin-top:8px}.support-section .button{font-size:14px;min-width:190px;min-height:52px}footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:38px 9.1%;font-size:13px;color:#737775}footer>a{color:#121512;font-size:15px;font-weight:700;letter-spacing:-.3px}.back-top{position:fixed;right:35px;bottom:35px;z-index:10;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:rgba(49,51,51,.78);color:#fff;backdrop-filter:blur(8px);transition:background .2s}.back-top:hover{background:#161c16}.back-top svg{width:25px;height:25px}
@media(min-width:1900px){.section{padding-left:max(9.1%,calc((100% - 1560px)/2));padding-right:max(9.1%,calc((100% - 1560px)/2))}}
@media(max-width:1150px){:root{--header-height:80px}.header-inner{width:88%;gap:36px}.brand{transform:scale(.6);transform-origin:left center;width:164px;margin-right:-48px}.nav{gap:22px}.nav a{font-size:14px}.hero{min-height:540px}.hero-content{left:8%;top:47%}.hero h1{font-size:62px}.section{padding:85px 8%}.split-layout{gap:6%}.image-space{min-height:300px}.product-image{min-height:0}.section-heading{align-items:start}.product-grid{gap:18px}}
@media(max-width:850px){:root{--header-height:68px}.header-inner{width:88%;gap:0}.brand{transform:scale(.52);margin-right:-70px}.header-actions{gap:16px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:var(--header-height);left:0;width:100%;background:white;padding:16px 6% 28px;box-shadow:0 18px 22px #0000000b}.nav.is-open{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.nav a{font-size:14px;border-bottom:1px solid #eee;padding:15px 0}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero{min-height:580px;max-height:860px}.hero-image{object-position:42% center}.hero-content{left:7%;top:auto;bottom:16%;max-width:88%}.hero h1{font-size:clamp(43px,7vw,64px);line-height:1.1}.hero-shade{background:linear-gradient(0deg,#0006,transparent 85%)}.button{min-width:190px;min-height:54px;font-size:15px}.section{padding:70px 7%}.section-intro{margin-bottom:45px}.split-layout{grid-template-columns:1fr;gap:36px}.section-copy{max-width:100%}.image-space{min-height:0}.product-grid{grid-template-columns:repeat(3,1fr);gap:14px}.product-image{padding:15px;aspect-ratio:.75}.placeholder-label{font-size:12px}.section-heading{display:block}.section-note{display:block;margin-top:18px}.service-layout .section-copy{order:2}.news-empty{gap:20px;flex-wrap:wrap}.news-empty>.eyebrow{margin-left:38px}.support-section{padding:75px 7%}.back-top{width:46px;height:46px;right:20px;bottom:20px}footer{padding:30px 7%;align-items:flex-start;flex-direction:column;gap:15px}}
@media(max-width:480px){.hero{min-height:540px}.hero h1{font-size:46px;letter-spacing:-1.2px}.hero-image{object-position:39% center}.product-grid{grid-template-columns:1fr}.product-image{aspect-ratio:1.3}.placeholder-label{font-size:13px}.section-copy h3{font-size:34px}.eyebrow{font-size:12px}h2{font-size:36px}.news-empty h3{font-size:25px}.news-empty>div{flex:1}.news-empty>.eyebrow{width:100%}.brand-feature{padding:40px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* User-supplied photography. Original files are preserved. */
.photo-frame{margin:0;overflow:hidden;background:#e8ebe6;aspect-ratio:4/3;min-width:0}
.photo-frame img{display:block;width:100%;height:100%;object-fit:cover}
.team-photo img{object-fit:contain}
.activity-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:62px;align-items:start}
.activity-photo{margin:0;min-width:0}
.activity-photo img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.activity-photo:nth-child(2) img{object-position:54% center}
.activity-photo:nth-child(4) img{object-position:70% center}
.activity-photo figcaption{font-size:14px;line-height:1.6;padding-top:16px;color:var(--ink)}
.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}
.news-card{min-width:0}
.news-card .photo-frame{margin-bottom:28px}
.news-card .film-photo img{object-position:center 40%}
.news-card h3{font-size:30px;margin:15px 0 12px;line-height:1.25}
.news-card p{margin-bottom:0}
@media(max-width:850px){.activity-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px;margin-top:40px}.news-grid{gap:24px}.news-card h3{font-size:26px}}
@media(max-width:560px){.news-grid{grid-template-columns:1fr;gap:40px}.activity-photo figcaption{font-size:14px}.news-card .photo-frame{margin-bottom:22px}}

/* Responsive refinements preserve the supplied hero design and its text layout. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
img{max-width:100%}.brand img{max-width:none}
.section-copy,.news-card,.product-grid>*,.split-layout>*{min-width:0}
.section-copy p,.news-card p,.contact-link{overflow-wrap:anywhere}
.language{min-width:44px;min-height:44px}.menu-toggle{width:44px;height:44px}
.contact-link{display:inline-block;min-height:44px;padding:8px 0;color:inherit;text-decoration:underline;text-underline-offset:5px}
[data-reveal]{transition:opacity .8s var(--motion-ease),transform .8s var(--motion-ease);transition-delay:var(--reveal-delay,0ms)}
[data-reveal].is-pending{opacity:0;transform:translateY(20px)}
[data-reveal].is-visible{opacity:1;transform:translateY(0)}
.button,.back-top,.nav a:after{transition:background .35s var(--motion-ease),color .35s var(--motion-ease),transform .45s var(--motion-ease)}
.photo-frame img,.activity-photo img{transition:transform .75s var(--motion-ease)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.news-card:hover .photo-frame img{transform:scale(1.025)}}
@media(max-width:600px){.section{padding:60px 6%}.product-grid{grid-template-columns:1fr;gap:22px}.product-image{aspect-ratio:1.3}.news-grid{grid-template-columns:1fr;gap:36px}.section-copy p,.news-card p{font-size:16px;line-height:1.8}.activity-gallery{gap:26px 16px}.activity-photo figcaption{font-size:14px}.back-top{width:44px;height:44px;right:16px;bottom:16px}.support-section{padding:64px 6%}.support-section h2{font-size:clamp(36px,10vw,48px)}footer{padding:26px 6%;gap:14px}}
@media(max-width:360px){.header-inner{width:90%}.header-actions{gap:4px}.activity-gallery{grid-template-columns:1fr}.section h2{font-size:32px}.section-copy h3{font-size:30px}.button{max-width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}[data-reveal].is-pending{opacity:1;transform:none}}
@media print{[data-reveal].is-pending{opacity:1;transform:none}}

/* Rebalance the five remaining navigation items and adjacent sections. */
@media(min-width:851px){.header-inner{display:grid;grid-template-columns:132px minmax(0,1fr) 132px;gap:clamp(24px,3vw,50px)}.nav{justify-content:center}.header-actions{justify-self:end;margin-left:0}}
.about{padding-bottom:0}

/* Supplied project evidence extends the existing responsive photo and news layouts. */
.community-record{text-align:left;margin-top:60px}.community-record>.activity-gallery{margin-top:28px}
/* Mission section: core value and long-term vision sit side by side under the wordmark band. */
.mission-outlook{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(26px,3.2vw,52px);margin-top:44px}
.mission-outlook p{margin:16px 0 0;font-size:16px;line-height:1.8}
@media(max-width:700px){.mission-outlook{grid-template-columns:1fr;gap:32px;margin-top:36px}}
.hearing-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
.hearing-gallery .activity-photo img{aspect-ratio:4/3;object-position:center}
.document-row{display:flex;align-items:center;justify-content:space-between;gap:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px 0;margin-top:48px}
.document-row>div{max-width:680px}.document-row h3{font-size:28px;margin:12px 0}.document-row p{margin-bottom:0}.document-row>.text-link{flex-shrink:0}
.news-card .photo-frame>a{display:block;width:100%;height:100%}.news-card .certificate-photo{background:#fff}.news-card .certificate-photo img{object-fit:contain}
.news-grid{row-gap:56px}.news-card>.text-link{margin-top:20px}
.activity-photo>a{display:block}.activity-photo a:focus-visible{outline-offset:3px}
@media(max-width:850px){.document-row{display:block}.document-row>.text-link{margin-top:22px}.hearing-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.hearing-gallery{grid-template-columns:1fr}.document-row{margin-top:36px}.community-record{margin-top:40px}}

/* About section: the long-form paragraphs run full width under the photo row. */
.about-prose{max-width:840px;margin-top:56px}
.about-prose p{margin:0 0 30px;font-size:17px;line-height:1.85}
.about-prose p:last-child{margin-bottom:0}
@media(max-width:850px){.about .section-copy p:last-child{margin-bottom:0}.about-prose{margin-top:24px}.about-prose p{font-size:16px;line-height:1.8}}

/* Products section: three product entries stacked, sharing the existing split layout. */
.product-list{display:grid;gap:clamp(56px,7vw,88px)}
.product-list .section-copy h3{margin-top:0}
.wearable-photo img{object-fit:contain}
/* Video product entry: 16:9 box so the 960x540 source is shown without cropping; caption sits outside the box. */
.video-frame{margin:0;min-width:0}
.video-box{aspect-ratio:16/9;overflow:hidden;background:#e8ebe6}
.video-box video{display:block;width:100%;height:100%;object-fit:cover}
.video-frame figcaption{font-size:14px;line-height:1.6;padding-top:16px;color:var(--ink)}
@media(max-width:850px){.product-list{gap:52px}}

/* Complete PDF pages: no cropping; additional pages stay collapsed for a compact homepage. */
.pdf-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;margin-top:40px;align-items:start}
.pdf-document{min-width:0}.pdf-page{margin:0}.pdf-page>a{display:block;background:#fff;border:1px solid var(--line)}
.pdf-page img{display:block;width:100%;height:auto}.pdf-page figcaption{font-size:14px;line-height:1.6;margin-top:14px}
.pdf-more{margin-top:18px}.pdf-more summary{cursor:pointer;padding:12px 0;font-size:15px;line-height:1.6;text-decoration:underline;text-underline-offset:4px}
.pdf-more summary:focus-visible{outline:3px solid #ad783e;outline-offset:4px}.pdf-page-list{display:grid;gap:28px;margin-top:20px}
@media(max-width:600px){.pdf-previews{grid-template-columns:1fr;gap:32px}}

/* Behind the lens: the filmmaking photographs grouped as one full-width feature. */
.lens-feature{margin-top:clamp(52px,6vw,84px);padding-top:clamp(38px,4vw,58px);border-top:1px solid var(--line)}
.lens-intro{max-width:640px}
.lens-intro h3{font-size:clamp(26px,2.6vw,34px);font-weight:400;letter-spacing:-.6px;line-height:1.2;margin:16px 0 0}
.lens-intro p{margin:18px 0 0;font-size:16px;line-height:1.8;color:var(--muted)}
.lens-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,34px);margin-top:clamp(30px,3.4vw,46px)}
.lens-photo{margin:0;min-width:0}
.lens-photo>a{display:block;aspect-ratio:4/3;overflow:hidden;background:#e8ebe6}
.lens-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .75s var(--motion-ease)}
.lens-photo:hover img{transform:scale(1.025)}
.lens-photo figcaption{font-size:14px;line-height:1.6;padding-top:16px;color:var(--ink)}
.lens-photo>a:focus-visible{outline:3px solid #ad783e;outline-offset:3px}
@media(max-width:700px){.lens-gallery{grid-template-columns:1fr;gap:30px}}

/* Keep text links compact, with an underline attached to the text and a usable tap area. */
.text-link{max-width:100%;min-height:44px;padding:8px 0;border-bottom:0;gap:16px;line-height:1.5;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;overflow-wrap:anywhere}
.text-link:hover{gap:16px}
@media(max-width:850px){
  /* Each product reads as a complete unit: heading and copy, then its own media. */
  .product-list .section-copy{order:0}
  .product-list .service-layout{gap:24px}
  .product-list .section-copy p{margin:18px 0}
  .product-list .section-copy p:last-of-type{margin-bottom:12px}
  .product-list .section-copy .text-link{margin-top:0}
  /* The contact section also retains its full-sized Back to top button. */
  .back-top{position:static;margin:0 6% 20px auto}
}
