/* Encompass identity and the 2027 catalog collection. */
:root { --paper:#fafaf8; --ink:#08274b; --muted:#596775; --line:#d8dde1; --gold:#bd8b37; --soft:#edf0f2; }
.site-header { background:#fff; }
.header-inner { height:106px; }
.brand { position:relative; display:block; width:208px; height:74px; overflow:hidden; flex-shrink:0; }
.brand img,.footer-main .brand img { position:absolute; max-width:none; width:226px; height:auto; top:-42px; left:-9px; filter:none; opacity:1; }
.announcement { background:#08274b; }
.announcement span { color:#c7d5e2; }
.button:hover { background:#154677; }
.button-outline:hover { background:var(--soft); }
.immersive-hero { position:relative; min-height:660px; height:calc(100svh - 138px); max-height:1100px; color:white; background:#071d36; isolation:isolate; overflow:hidden; }
.hero-background { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 60%; z-index:-2; }
.immersive-hero::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(1,15,36,.19),transparent 45%,rgba(2,12,25,.66)); }
.hero-content { width:min(1040px,calc(100% - 48px)); margin:auto; padding-top:58px; text-align:center; }
.hero-content .eyebrow { color:#e3ebf4; font-size:10px; letter-spacing:.2em; margin-bottom:20px; }
.hero-content h1 { font-size:clamp(60px,6.1vw,92px); line-height:1.04; letter-spacing:-.035em; font-weight:500; }
.hero-content>p:last-child { margin-top:20px; font-size:13px; color:#ecf0f5; }
.hero-actions { position:absolute; left:24px; right:24px; bottom:78px; display:flex; justify-content:center; gap:16px; }
.hero-actions .button { width:245px; min-height:52px; font-size:12px; gap:25px; }
.hero-primary { background:white; color:#08274b; border-color:white; }
.hero-primary:hover { background:#dde8f2; }
.hero-secondary { background:rgba(3,23,44,.52); color:white; border-color:#ffffffb3; }
.hero-secondary:hover { background:#08274b; }
.hero-bottom { position:absolute; bottom:23px; left:56px; right:56px; display:flex; justify-content:space-between; font-size:9px; letter-spacing:.09em; color:#dbe4ef; }
.hero-bottom a { color:white; }
.collection-ribbon { display:flex; flex-wrap:wrap; justify-content:center; gap:0; border-bottom:1px solid var(--line); padding:20px 25px; background:white; }
.collection-ribbon a { padding:3px 19px; font-size:11px; white-space:nowrap; border-right:1px solid var(--line); }
.collection-ribbon a:last-child { border:0; }
.collection-ribbon a:hover { text-decoration:underline; text-underline-offset:5px; }
.credentials { padding-top:33px; }
.collections-section { padding-top:72px; }
.collection-card { display:block; }
.collection-card>p { color:var(--muted); font-size:12px; }
.collection-name h3 { font-size:24px; }
.collection-image { aspect-ratio:1.25; background:#eceef0; }
.collection-grid { gap:40px 25px; }
.catalog-download { display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--line); padding:13px 0 0; margin-top:18px; font-size:11px; }
.catalog-download>span { font-size:9px; letter-spacing:.05em; }
.catalog-download:hover { color:#24689f; }
.lamps-feature { display:grid; grid-template-columns:230px 1fr; align-items:center; gap:50px; margin-top:45px; padding:24px; background:#eef1f4; }
.lamps-feature>img { width:230px; height:210px; object-fit:contain; background:#fff; }
.lamps-feature .eyebrow { margin-bottom:14px; font-size:9px; }
.lamps-feature h3 { font-size:34px; }
.lamps-feature div>p:not(.eyebrow) { margin-top:13px; font-size:13px; color:var(--muted); }
.lamps-feature .text-link { margin-top:15px; font-size:12px; }
.about-section { background:#08274b; }
.about-copy>p:not(.eyebrow) { color:#cbd7e4; }
.about-copy>.eyebrow { color:#e8c991; }
.about-points p { color:#c3d2e1; }
.about-points>div>span { color:#e3c58e; }
.cta-band { background:#e9eef3; }
.footer-main { background:#fff; }
.site-footer { background:#fff; }
.footer-main>div>a:not(.brand),.footer-main>div>p { font-size:11px; }
.footer-mexico>p { font-size:10px!important; margin-top:18px; margin-bottom:3px!important; }
.footer-mexico>h2+p { margin-top:0; }
.footer-mexico>a { margin-top:3px!important; }
.active-catalog-download { margin:-5px 0 27px; }
.active-catalog-download .text-link { font-size:11px; border:0; padding:0; }
.product-title { font-size:15px; line-height:1.5; font-weight:500; letter-spacing:-.015em; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.product-model { font-size:10px; color:var(--muted); margin-top:8px; }
.product-card .product-image { background:#fff; }
.product-card .product-cta { margin-top:9px; }
.page-gap { display:flex; align-items:center; padding:0 4px; }
.download-section { padding-top:35px; padding-bottom:55px; border-top:1px solid var(--line); }
.download-section>.eyebrow { margin-bottom:16px; }
.download-section>h2 { font-size:40px; }
.download-section>p:not(.eyebrow) { color:var(--muted); font-size:13px; margin-top:15px; }
.download-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:0 35px; margin-top:30px; }
.download-grid>a { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px 0; border-top:1px solid var(--line); font-size:16px; }
.download-grid>a>span:last-child { font-size:10px; flex-shrink:0; }
.download-grid small { display:block; margin-top:4px; font-size:10px; color:var(--muted); }
.download-grid>a:hover { color:#24689f; }
.detail-copy { padding-top:45px; }
.detail-copy h2 { font-size:27px; }
.detail-subcategory { margin-bottom:14px; padding-bottom:15px; }
.detail-reference { font-size:10px!important; color:var(--muted); margin-bottom:16px; }
.detail-specs { margin:10px 0 22px; font-size:11px; }
.detail-specs>div { display:grid; grid-template-columns:1fr 1.2fr; gap:15px; border-bottom:1px solid var(--line); padding:7px 0; }
.detail-specs dt { color:var(--muted); }
.detail-specs dd { margin:0; overflow-wrap:anywhere; }
.detail-gallery { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:20px; }
.detail-gallery:empty { display:none; }
.detail-gallery>button { padding:3px; border:1px solid var(--line); background:white; }
.detail-gallery>button[aria-pressed=true] { border-color:var(--ink); }
.detail-gallery img { width:54px; height:54px; object-fit:contain; }
.detail-image { align-self:start; position:sticky; top:0; min-height:0; height:500px; }
.detail-image img { height:100%; object-fit:contain; }
.office-featured address,.office-featured .office-location { color:#cad8e6; }
.office .fax { color:#c3d2e1; }
.office-heading .eyebrow { color:#e3c58e; }
.mexico-department { padding:20px 0; border-top:1px solid var(--line); }
.mexico-department:last-child { padding-bottom:0; }
.mexico-department h3 { font-size:17px; margin-bottom:12px; }
.mexico-department a { display:flex; align-items:center; gap:10px; margin-top:8px; font-size:13px; }
.mexico-department a svg { width:17px; height:17px; }
.inquiry-panel { scroll-margin-top:125px; }
@media(max-width:1100px) {
  .hero-content { padding-top:60px; }
  .hero-content h1 { font-size:77px; }
  .hero-bottom { left:32px; right:32px; }
  .collection-ribbon { padding:15px 20px; row-gap:10px; }
  .collection-ribbon a { padding-inline:12px; font-size:10px; }
  .collection-name h3 { font-size:21px; }
  .footer-main { gap:22px; grid-template-columns:1.1fr .65fr .95fr 1.2fr; }
}
@media(max-width:760px) {
  .header-inner { height:88px; }
  .brand { width:174px; height:63px; }
  .brand img,.footer-main .brand img { width:190px; top:-35px; left:-8px; }
  #main-nav { top:88px; }
  .immersive-hero { height:calc(100svh - 117px); min-height:610px; max-height:920px; }
  .hero-background { object-position:62% center; }
  .hero-content { padding-top:48px; width:calc(100% - 30px); }
  .hero-content .eyebrow { font-size:7px; letter-spacing:.15em; margin-bottom:20px; }
  .hero-content h1 { font-size:clamp(40px,10.8vw,73px); letter-spacing:-.04em; line-height:1.08; }
  .hero-content>p:last-child { font-size:11px; line-height:1.75; max-width:280px; margin:18px auto 0; }
  .hero-actions { bottom:72px; left:22px; right:22px; flex-direction:column; gap:12px; align-items:center; }
  .hero-actions .button { width:100%; max-width:310px; min-height:47px; font-size:11px; }
  .hero-bottom { left:22px; right:22px; bottom:22px; font-size:7px; letter-spacing:.04em; gap:20px; }
  .hero-bottom>span { max-width:150px; }
  .hero-bottom a { align-self:flex-end; white-space:nowrap; }
  .collection-ribbon { padding:18px 15px; gap:9px 0; }
  .collection-ribbon a { padding:2px 9px; font-size:9px; }
  .credentials { padding-top:25px; }
  .collections-section { padding-top:46px; }
  .collection-grid { gap:28px 16px; }
  .collection-name h3 { font-size:18px; }
  .collection-card>p { font-size:10px; line-height:1.7; min-height:51px; }
  .collection-image { aspect-ratio:.95; }
  .catalog-download { font-size:9px; padding-top:11px; margin-top:12px; gap:10px; }
  .catalog-download>span { font-size:8px; white-space:nowrap; }
  .lamps-feature { grid-template-columns:100px 1fr; gap:20px; padding:17px; margin-top:30px; }
  .lamps-feature>img { width:100%; height:165px; }
  .lamps-feature .eyebrow { font-size:7px; margin-bottom:10px; }
  .lamps-feature h3 { font-size:22px; }
  .lamps-feature div>p:not(.eyebrow) { font-size:10px; line-height:1.7; margin-top:10px; }
  .lamps-feature .text-link { font-size:9px; gap:10px; margin-top:10px; }
  .lamps-feature .text-link svg { width:16px; }
  .footer-main { grid-template-columns:1fr 1fr; }
  .footer-main>div:last-child { grid-column:1/-1; }
  .footer-main>div>a:not(.brand),.footer-main>div>p { font-size:11px; }
  .product-title { font-size:12px; line-height:1.5; }
  .product-model { font-size:9px; }
  .active-catalog-download .text-link { font-size:10px; }
  .download-section { padding-top:28px; padding-bottom:35px; }
  .download-section>h2 { font-size:32px; }
  .download-section>.eyebrow { font-size:9px; }
  .download-section>p:not(.eyebrow) { font-size:12px; }
  .download-grid { grid-template-columns:1fr; gap:0; margin-top:23px; }
  .download-grid>a { font-size:15px; padding:17px 0; }
  .detail-image { position:static; height:280px; }
  .detail-copy { padding-top:25px; }
  .detail-copy h2 { font-size:25px; }
  .inquiry-panel { scroll-margin-top:108px; }
}
@media(prefers-reduced-motion:no-preference) {
  .hero-content { animation:hero-enter .8s ease-out both; }
  @keyframes hero-enter { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
}
