:root{--navy:#172d49;--red:#9b2833;--ink:#1c2939;--muted:#526173;--line:#d7dde5;--paper:#f5f7fa}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.55 system-ui,sans-serif}button,input,a{touch-action:manipulation}button,input{font:inherit}button,a{transition:background .15s}a{color:var(--navy)}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b05b00;outline-offset:4px}header{background:var(--navy);color:white;border-bottom:5px solid var(--red)}.masthead{max-width:1440px;margin:auto;padding:26px 32px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{color:white;text-decoration:none;font:36px Georgia,serif}.brand span{font-weight:bold}.brand small{display:block;font:16px/1.6 system-ui,sans-serif;margin-top:5px}.contact{text-align:right;display:flex;gap:8px 20px;flex-wrap:wrap;justify-content:flex-end}.contact span{width:100%;font-size:16px;color:#dbe3ed}.contact a{color:white;font-weight:600}main{max-width:1440px;margin:auto;padding:32px}.intro{max-width:830px}.eyebrow{color:var(--red);font-size:14px;font-weight:750;letter-spacing:.12em;margin:0 0 10px}h1{font:42px/1.15 Georgia,serif;margin:0} .intro>p:last-child{color:var(--muted);margin:16px 0 28px}.browse{padding:22px;background:white;border:1px solid var(--line);border-radius:8px;margin-bottom:24px}.browse label{display:block;font-weight:650;margin-bottom:8px}input{width:100%;max-width:640px;border:1px solid #7b8797;padding:12px 16px;border-radius:5px;background:white}#categories{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}#categories button,#reset{border:1px solid var(--line);background:white;border-radius:5px;padding:9px 14px;color:var(--navy);min-height:44px}#categories button[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}.results{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px}.results p{margin:0;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}.card{display:flex;flex-direction:column;text-align:left;background:white;color:var(--ink);border:1px solid var(--line);border-radius:8px;overflow:hidden;padding:0;width:100%}.card:hover{border-color:var(--navy);box-shadow:0 4px 16px #172d491a}.card img{width:100%;height:210px;object-fit:contain;background:#edf0f4;padding:12px}.card-content{padding:16px;flex:1;display:flex;flex-direction:column}.card-category{font-size:14px;color:var(--muted);margin-bottom:8px}.card h2{font-size:17px;line-height:1.4;margin:0 0 16px;font-weight:600}.card-price{font-weight:750;margin-top:auto}footer{margin-top:40px;background:var(--navy);color:white;padding:32px;text-align:center}footer a{color:white;margin:0 12px}footer p{margin:8px 0;font-size:16px}.skip{position:absolute;top:-100px}.skip:focus{top:8px;left:8px;background:white;padding:12px;z-index:100}dialog{padding:0;width:min(1180px,94vw);max-height:92dvh;border:0;border-radius:10px;color:var(--ink);background:white}dialog::backdrop{background:#0b182bcc}.dialog-bar{position:sticky;top:0;z-index:2;background:white;border-bottom:1px solid var(--line);padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-bar>span{font-size:14px;letter-spacing:.1em;color:var(--muted)}button{min-height:44px}.dialog-bar button,#copy,.gallery-nav button{background:white;border:1px solid var(--line);border-radius:5px;padding:8px 14px;color:var(--navy)}.detail-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;padding:28px}.gallery{min-width:0}#photo{width:100%;height:440px;object-fit:contain;background:var(--paper)}.gallery-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:14px 0;font-size:16px}#photo-thumbs{display:flex;gap:10px;flex-wrap:wrap}#photo-thumbs button{padding:3px;background:white;border:2px solid transparent;border-radius:4px}#photo-thumbs button[aria-pressed=true]{border-color:var(--red)}#photo-thumbs img{width:64px;height:64px;object-fit:contain}.photo-note{font-size:15px;color:var(--muted)}h2#detail-title{font:30px/1.25 Georgia,serif;margin:0 0 16px}#price{font-size:26px;font-weight:750;margin:0 0 20px}.inquiry{display:flex;flex-direction:column;gap:10px}.primary,.secondary{padding:12px 18px;text-align:center;font-weight:650;text-decoration:none;border-radius:5px}.primary{background:var(--red);color:white}.secondary{border:1px solid var(--navy)}#description{white-space:pre-line}h3{font-size:19px;margin:24px 0 10px}.guarantee{padding:16px;border-left:3px solid var(--red);background:var(--paper);font-size:16px}[hidden]{display:none!important}@media(max-width:1100px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:850px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.masthead{align-items:flex-start;flex-direction:column}.contact{text-align:left;justify-content:flex-start}.detail-layout{grid-template-columns:1fr}#photo{height:360px}}@media(max-width:560px){body{font-size:17px}.masthead{padding:20px}.brand{font-size:32px}.brand small{font-size:14px}main{padding:24px 16px}h1{font-size:32px}.browse{padding:16px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card img{height:160px;padding:8px}.card-content{padding:12px}.card h2{font-size:16px}.card-category{font-size:14px}.card-price{font-size:17px}dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;border-radius:0}.dialog-bar{padding:12px 16px}.detail-layout{padding:18px;gap:20px}#photo{height:300px}.gallery-nav button{padding:8px;font-size:15px}#photo-count{white-space:nowrap}.contact a{font-size:16px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Keep both the document and viewport width consistent on short and long pages.
   Preserve the gutter when a modal locks scrolling; native overlay scrollbars
   retain their platform behavior. */
html{overflow-y:scroll;scrollbar-gutter:stable}
html:has(> body.modal-open){overflow-y:hidden}
/* Persistent catalog navigation keeps the collection within reach. */
.browse{position:sticky;top:0;z-index:10;padding:16px 22px;box-shadow:0 4px 12px #172d4910}
.browse-top{display:flex;align-items:center;gap:28px}.compact-brand{font:26px/1.2 Georgia,serif;white-space:nowrap;text-decoration:none}.compact-brand span{font-weight:bold}.search-field{flex:1;max-width:640px}.browse .search-field{margin:0}.search-field>span{display:block;font-size:14px;margin-bottom:4px}.search-field input{min-height:44px;padding:8px 12px}#categories{margin-top:12px;gap:8px}#categories button{font-size:16px;padding:7px 12px}.results{margin-top:10px;font-size:16px}.mobile-category{display:none}#browse-marker{scroll-margin-top:calc(var(--browse-height, 240px) + 24px)}.card{scroll-margin-top:calc(var(--browse-height, 240px) + 24px)}.dialog-bar>span{letter-spacing:0;font-size:18px;color:var(--navy);font-weight:650}
@media(max-width:650px){.browse{padding:12px;margin-bottom:18px}.browse-top{gap:12px;flex-wrap:wrap}.compact-brand{font-size:23px}.search-field{flex-basis:100%}.search-field>span{display:none}.mobile-category{display:flex!important;align-items:center;gap:12px;margin:10px 0 0!important;font-size:16px}.mobile-category select{min-width:0;flex:1;width:100%;font:inherit;padding:8px;border:1px solid #7b8797;border-radius:5px;background:white;color:var(--navy);min-height:44px}#categories{display:none}.results{font-size:14px;gap:8px}.results #reset{font-size:14px;padding:5px 8px}.dialog-bar>span{font-size:17px}}
@media(max-height:500px){.browse{position:relative}.card,#browse-marker{scroll-margin-top:16px}}
/* Desktop docking adds branding only after the masthead has scrolled away. */
.browse .mobile-category{display:none}
.dialog-bar>span{text-transform:uppercase;letter-spacing:.1em;font-weight:750}
@media(min-width:651px){
  .browse{top:44px;padding:22px;box-shadow:none}
  .browse-top{display:block}.compact-brand{display:none}
  .search-field>span{font-size:18px;margin-bottom:8px}.search-field input{padding:12px 16px}
  #categories{margin-top:18px;gap:9px}#categories button{font-size:18px;padding:9px 14px}
  .results{margin-top:16px}
  .browse.is-docked{border-radius:0 0 8px 8px;box-shadow:0 6px 16px #172d4926}
  .browse.is-docked .compact-brand{display:flex;align-items:center;position:absolute;top:-44px;left:-1px;right:-1px;height:44px;padding:0 22px;background:var(--navy);color:white;border-bottom:3px solid var(--red);font-size:24px}
  #browse-marker,.card{scroll-margin-top:calc(var(--browse-height, 240px) + 68px)}
}
@media(max-width:650px){.browse .mobile-category{display:flex}.browse.is-docked{border-radius:0 0 8px 8px}}
@media(max-height:500px){.browse.is-docked .compact-brand{display:none}}
/* Mobile shares the masthead transition, retaining the compact category select. */
@media(max-width:650px){
  .browse{top:44px}.browse-top{display:block}.compact-brand{display:none}
  .browse.is-docked .compact-brand{display:flex;align-items:center;position:absolute;top:-44px;left:-1px;right:-1px;height:44px;padding:0 12px;background:var(--navy);color:white;border-bottom:3px solid var(--red);font-size:23px}
  #browse-marker,.card{scroll-margin-top:calc(var(--browse-height, 240px) + 68px)}
}
@media(max-height:500px){.browse{top:0;position:relative}.browse.is-docked .compact-brand{display:none}#browse-marker,.card{scroll-margin-top:16px}}
/* A single persistent masthead owns the branding in both browsing states. */
header{position:sticky;top:0;z-index:20}
.browse{top:var(--header-height,140px)}
.browse .compact-brand,.browse.is-docked .compact-brand{display:none}
header.is-compact .masthead{padding-top:10px;padding-bottom:10px;flex-direction:row;align-items:center}
header.is-compact .brand{font-size:26px}
header.is-compact .brand small,header.is-compact .contact>span{display:none}
header.is-compact .contact{font-size:16px}
#browse-marker,.card{scroll-margin-top:calc(var(--header-height,140px) + var(--browse-height,240px) + 24px)}
@media(max-width:650px){
  .masthead{padding-left:16px;padding-right:16px}
  header.is-compact .brand{font-size:23px}
  header.is-compact .contact{display:none}
  .browse{top:var(--header-height,180px)}
}
@media(max-height:500px){header{position:relative}.browse{position:relative;top:0}#browse-marker,.card{scroll-margin-top:16px}}
.contact .call-label,.contact .email-desktop{display:inline;width:auto;font-size:inherit;color:inherit}
.contact .email-mobile{display:none}
@media(max-width:650px){
  .contact .call-label,.contact .email-desktop{display:none}
  .contact .email-mobile{display:inline;width:auto;font-size:inherit;color:inherit}
  header.is-compact .masthead{gap:8px}
  header.is-compact .brand{font-size:clamp(18px,5.4vw,23px)}
  header.is-compact .contact{display:flex;flex-direction:column;align-items:flex-end;gap:0;flex-shrink:0;line-height:1.5}
  header.is-compact .contact a{font-size:14px;min-height:26px;padding:2px 0}
  header.is-compact .contact .email-mobile{display:inline}
}
.result-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.view-toggle{display:flex;gap:4px}.view-toggle button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:8px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--navy)}.view-toggle button svg{fill:currentColor}.view-toggle button[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}.grid.images-only{grid-template-columns:repeat(8,minmax(0,1fr));gap:12px}.images-only .card-content{display:none}.images-only .card img{height:auto;aspect-ratio:1;object-fit:contain;padding:8px}.images-only .card{border-radius:5px}@media(max-width:1100px){.grid.images-only{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:850px){.grid.images-only{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:560px){.grid.images-only{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.result-actions{gap:6px}.results{flex-wrap:wrap}.results p{flex:1;min-width:130px}.images-only .card img{padding:5px}}
.card-visual{position:relative;display:block;width:100%;line-height:0}.thumbnail-price{display:none}.images-only .thumbnail-price{display:block;position:absolute;right:5px;bottom:5px;max-width:calc(100% - 10px);padding:4px 7px;border-radius:4px;background:#172d49ed;color:white;font-size:15px;line-height:1.3;font-weight:700;overflow-wrap:anywhere}.product-tags{position:absolute;top:6px;left:6px;right:6px;display:flex;flex-wrap:wrap;align-items:flex-start;gap:4px;pointer-events:none}.product-tag{max-width:100%;padding:4px 7px;border-radius:4px;background:var(--red);color:white;font-size:14px;line-height:1.3;font-weight:650;overflow-wrap:anywhere}
.detail-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.detail-tags:empty{display:none}.detail-tags .product-tag{font-size:16px;padding:5px 10px}
#categories .tag-filter{border-radius:24px;border-color:#267343;background:#edf7f0;color:#205f38}#categories .tag-filter::before{content:'#';margin-right:5px;font-weight:700}#categories .tag-filter[aria-pressed=true]{background:#267343;border-color:#267343;color:white}
.site-nav{max-width:1440px;margin:auto;padding:0 32px 12px;display:flex;flex-wrap:wrap;gap:4px 20px}.site-nav a{color:#e4eaf2;text-decoration:none;font-size:16px;min-height:44px;display:flex;align-items:center;border-bottom:2px solid transparent}.site-nav a:hover,.site-nav a[aria-current=page]{color:white;border-bottom-color:#e89da4}.page-content{max-width:1200px}.content-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.content-panel{background:white;border:1px solid var(--line);border-radius:8px;padding:28px;margin-bottom:24px}.content-columns .content-panel{margin-bottom:0}.content-panel h2{font:28px/1.25 Georgia,serif;margin:0 0 18px}.content-panel p:last-child{margin-bottom:0}.guarantee-panel{border-top:4px solid var(--red)}.inline-action{display:inline-block;margin-top:12px}.contact-list{margin:0}.contact-list dt{font-weight:650;margin-top:18px}.contact-list dt:first-child{margin-top:0}.contact-list dd{margin:4px 0 0;overflow-wrap:anywhere}.contact-note{display:block;color:var(--muted);font-size:15px}.ordering-steps{padding-left:24px}.ordering-steps li{padding-left:6px;margin-bottom:20px}.testimonials-list{columns:2;column-gap:24px}.testimonial{break-inside:avoid;margin:0 0 24px;padding:24px;background:white;border:1px solid var(--line);border-top:3px solid var(--red);border-radius:6px}.testimonial blockquote{margin:0}.testimonial blockquote p:first-child{margin-top:0}.testimonial figcaption{color:var(--navy);font-weight:650;margin-top:20px}.content-page main{scroll-margin-top:var(--header-height,200px)}@media(max-width:850px){.content-columns{grid-template-columns:1fr}.testimonials-list{columns:1}}@media(max-width:650px){.site-nav{padding:0 16px 8px;gap:0 14px}.site-nav a{font-size:14px}.content-panel{padding:20px}.content-panel h2{font-size:25px}.testimonial{padding:20px}.page-content{padding-top:24px}header.is-compact .site-nav{padding-bottom:4px}}
.menu-toggle{display:none}
@media(max-width:650px){
  /* Keep mobile geometry stable throughout scrolling on every page. */
  header .masthead,header.is-compact .masthead{padding:10px 12px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px}
  header .brand,header.is-compact .brand{font-size:clamp(17px,4.9vw,22px);white-space:nowrap}
  header .brand small,header .contact>span{display:none}
  header .contact,header.is-compact .contact{display:flex;flex-direction:column;align-items:flex-end;gap:0;flex-shrink:0;line-height:1.5}
  header .contact a,header.is-compact .contact a{font-size:13px;min-height:26px;padding:3px 0;white-space:nowrap}
  .menu-toggle{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;padding:8px;border:1px solid #718198;border-radius:5px;background:transparent;color:white}
  header .site-nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:8px 16px 12px;background:var(--navy);border-bottom:4px solid var(--red);box-shadow:0 8px 16px #172d4933}
  header.menu-open .site-nav{display:flex;flex-direction:column;gap:0}
  header .site-nav a{font-size:17px;min-height:48px;padding:8px 4px}
  header.is-compact .site-nav{padding-bottom:12px}
}
/* Header compaction must never move the document or its scroll anchor. */
header{position:fixed;top:0;left:0;right:0;width:100%;backface-visibility:hidden}
.header-space{overflow-anchor:none;flex-shrink:0}
@media(max-width:650px){
  header .site-nav a[aria-current=page]{border-bottom-color:transparent;background:#344e6e;border-radius:7px;padding-left:12px;padding-right:12px;color:white}
  header .site-nav a:hover{border-bottom-color:transparent;background:#293f5c;border-radius:7px}
  header .site-nav a[aria-current=page]:hover{background:#344e6e}
  header .site-nav{gap:4px}
}
@media(max-width:650px){
  /* Paint over the seam without changing sticky geometry between states. */
  .browse{backface-visibility:hidden}
  .browse::before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:2px;background:white;pointer-events:none}
}
.browse-space{height:0;overflow-anchor:none}
@media(max-width:650px) and (min-height:501px){
  .browse.is-docked{position:fixed;left:var(--browse-left,16px);width:var(--browse-width,calc(100% - 32px));top:var(--header-height,77px);transform:translateZ(0)}
}
.product-entry{position:relative;min-width:0;display:flex}.product-entry .card{height:100%}.favorite-button{position:absolute;top:7px;right:7px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;background:white;color:var(--red);box-shadow:0 2px 6px #172d4920}.favorite-button svg{fill:none;stroke:currentColor;stroke-width:1.7}.favorite-button[aria-pressed=true] svg{fill:currentColor}.product-tags{right:56px}.save-favorite{padding:12px 18px;background:white;border:1px solid var(--red);color:var(--red);border-radius:5px;font-weight:650}.save-favorite[aria-pressed=true]{background:#fbebed}#categories .favorites-filter{border-color:var(--red);color:var(--red)}#categories .favorites-filter[aria-pressed=true]{background:var(--red);color:white}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.news-article{max-width:850px}.news-letter img{display:block;width:100%;max-width:850px;height:auto;margin:20px auto}.news-letter figcaption,.archive-credit{color:var(--muted);font-size:16px}.news-letter{margin-left:0;margin-right:0}
/* Keep a generous touch target while exposing more of the photograph. */
.favorite-button{background:transparent;border:0;border-radius:0;box-shadow:none}
.favorite-button svg{width:26px;height:26px;overflow:visible;stroke-width:2;filter:drop-shadow(0 0 1px white) drop-shadow(0 0 1px white)}
.favorite-button:focus-visible{outline:3px solid #b05b00;outline-offset:1px;border-radius:4px}
.favorite-button svg{fill:white}
.favorite-button[aria-pressed=true] svg{fill:currentColor}
@media(max-width:650px){
  .product-tags{top:4px;left:4px;gap:3px}
  .product-tag{font-size:12px;padding:2px 4px;border-radius:3px}
  .images-only .thumbnail-price{font-size:13px;padding:2px 4px;right:4px;bottom:4px;border-radius:3px}
  .detail-tags{gap:4px;margin-bottom:10px}
  .detail-tags .product-tag{font-size:14px;padding:3px 6px}
}
/* Align the visible heart with the tags, rather than centering it in its hit area. */
.favorite-button{top:0;right:0;align-items:flex-start;justify-content:flex-end;padding:6px}
@media(max-width:650px){.favorite-button{padding:4px}}
.mobile-favorites{display:none}
@media(max-width:650px){.mobile-favorites{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:44px;height:44px;padding:6px 9px;font-size:16px;border:1px solid var(--red);border-radius:5px;background:white;color:var(--red)}.mobile-favorites[aria-pressed=true]{background:var(--red);color:white}}
#product-videos video{display:block;width:100%;height:auto;margin-top:18px;background:#000;border-radius:5px}
#gallery-video{display:block;width:100%;height:440px;object-fit:contain;background:#000}#photo-thumbs .video-thumbnail{position:relative}#photo-thumbs .video-thumbnail span{position:absolute;bottom:3px;left:3px;right:3px;background:#172d49ed;color:white;font-size:12px;line-height:1.5;text-align:center;border-radius:2px}@media(max-width:850px){#gallery-video{height:360px}}@media(max-width:560px){#gallery-video{height:300px}}
.photo-stage{position:relative}.hq-image{position:absolute;right:10px;bottom:10px;padding:8px 12px;background:#172d49ed;color:white;border:1px solid #ffffffaa;border-radius:5px;font-size:15px;line-height:1.4;text-decoration:none}.hq-image:hover{background:var(--navy)}@media(max-width:650px){.hq-image{right:6px;bottom:6px;padding:6px 9px;font-size:14px}}
.reagan-videos{max-width:900px}.video-embed{position:relative;aspect-ratio:16/9;background:#172d49;border-radius:5px;overflow:hidden}.video-embed iframe{display:block;width:100%;height:100%;border:0}.video-credit{color:var(--muted);margin-top:-6px}.video-links{margin:12px 0 0}
@media(max-width:650px){
  .browse-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:8px;align-items:center}
  .browse .search-field,.browse .mobile-category{min-width:0;width:100%;margin:0!important}
  .search-field input{height:44px;padding:8px 10px;font-size:16px}
  .browse .mobile-category select{height:44px;padding:8px;font-size:16px}
}
/* Original-site imagery ties the refreshed masthead to the ReaganCollector identity. */
header{background:linear-gradient(90deg,rgba(23,45,73,.89),rgba(23,45,73,.79)),url('assets/flag-background.jpg') center top/cover no-repeat,var(--navy)}
.brand{display:flex;align-items:center;gap:12px}.brand .brand-copy{font-weight:normal}.brand-portrait{display:block;width:auto;height:76px;object-fit:contain;flex-shrink:0}.brand .brand-copy>span{font-weight:bold}
header.is-compact .brand-portrait{height:42px}header.is-compact .brand{gap:9px}
@media(max-width:650px){header .brand,header.is-compact .brand{gap:6px;font-size:clamp(15px,4.4vw,19px)}header .brand-portrait,header.is-compact .brand-portrait{height:38px}.brand-copy{min-width:0}header{background-position:center top}}
@media(max-width:360px){header .masthead,header.is-compact .masthead{padding-left:8px;padding-right:8px;gap:6px}header .contact a,header.is-compact .contact a{font-size:12px}.menu-toggle{width:40px}.brand-portrait{height:34px}}
header{background-size:auto,auto 100%;background-position:center,left center}
@media(max-width:650px){header{background-position:center,left center}}
/* A light flag masthead above a navy navigation band echoes the original site. */
header{background:var(--navy);color:var(--navy)}
/* Align the masthead with the navigation using its available width, including
   the reserved scrollbar gutter, rather than viewport units. */
.masthead{max-width:none;background:#fff url('assets/flag-background.jpg') left center/auto 100% no-repeat;padding:16px max(32px,calc((100% - 1440px)/2 + 32px))}
.brand,.contact a{color:var(--navy)}.contact>span{color:#34465d}.brand{font-size:40px}.brand-portrait{height:104px}
header.is-compact .masthead{padding-top:8px;padding-bottom:8px}header.is-compact .brand-portrait{height:54px}
.site-nav{background:var(--navy);padding-top:4px;padding-bottom:8px}
.menu-toggle{color:var(--navy);border-color:#8190a3;background:#ffffffc9}
@media(max-width:650px){
  header{padding-bottom:6px}
  header .masthead,header.is-compact .masthead{padding:8px 12px;gap:8px}
  header .brand,header.is-compact .brand{font-size:clamp(15px,4vw,19px);gap:6px}
  header .brand-portrait,header.is-compact .brand-portrait{height:60px}
  header .site-nav{background:var(--navy)}
}
@media(max-width:360px){
  header .masthead,header.is-compact .masthead{padding-left:8px;padding-right:8px;gap:6px}
  header .brand-portrait,header.is-compact .brand-portrait{height:48px}
}
/* The navy band begins at the same shoulder proportion as the original header. */
header{--portrait-height:104px;--portrait-top:16px;--shoulder-line:calc(var(--portrait-top) + var(--portrait-height) * .56)}
header.is-compact{--portrait-height:48px;--portrait-top:8px}
.masthead{background-image:linear-gradient(to bottom,transparent 0,transparent var(--shoulder-line),var(--navy) var(--shoulder-line),var(--navy) 100%),url('assets/flag-background.jpg');background-size:100% 100%,auto 100%;background-position:left top,left center}
.brand{position:relative}.brand-copy{align-self:flex-end;color:white;line-height:1.2}
.brand small{position:absolute;left:calc(var(--portrait-height) * 85 / 130 + 12px);top:14px;color:var(--navy);white-space:nowrap}
.contact{align-self:flex-start}
header.is-compact .brand-copy{transform:translateY(5px)}
@media(max-width:650px){
  header,header.is-compact{--portrait-height:60px;--portrait-top:8px}
  header .brand-copy,header.is-compact .brand-copy{transform:none}
  header .contact,header.is-compact .contact{align-self:flex-start;line-height:1.35}
  header .contact a,header.is-compact .contact a{min-height:22px;padding:1px 0;background:#ffffffd9;border-radius:3px;padding-left:3px;padding-right:3px}
  .menu-toggle{align-self:flex-start}
}
@media(max-width:360px){header,header.is-compact{--portrait-height:48px;--portrait-top:8px}}
/* Match the original site's blue and lower the portrait's color break slightly. */
header{--navy:#2b2b72;--shoulder-line:calc(var(--portrait-top) + var(--portrait-height) * .56 + 4px)}
/* Raise the portrait and flag-to-blue boundary together by five pixels. */
header{--shoulder-line:calc(var(--portrait-top) + var(--portrait-height) * .56 - 1px)}
.brand-portrait{transform:translateY(-5px)}
@media(min-width:651px){
  header:not(.is-compact){--portrait-height:130px;--portrait-top:8px}
  header:not(.is-compact) .brand-portrait{height:130px}
  header:not(.is-compact) .masthead{padding-top:8px;padding-bottom:0}
}
/* Fill the masthead at every size without changing the shoulder-aligned blue band. */
.masthead{background-size:100% 100%,cover;background-position:left top,center top}
#zoom-viewer{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0;padding:0;background:#101a29;color:white;overflow:hidden}
#zoom-viewer[open]{display:flex;flex-direction:column}.zoom-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;background:var(--navy);flex-shrink:0}.zoom-heading h2{font-size:20px;margin:0 0 2px}.zoom-heading a{font-size:15px;color:white}.zoom-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.zoom-controls button{min-width:44px;min-height:44px;padding:8px 12px;border:1px solid #b9c5d5;border-radius:5px;background:white;color:var(--navy);font:inherit;cursor:pointer}.zoom-controls button:disabled{opacity:.5;cursor:default}.zoom-controls output{min-width:56px;text-align:center;font-size:16px}.zoom-help{margin:0;padding:8px 20px;color:#d6dfea;font-size:14px;flex-shrink:0}.zoom-status{padding:8px 20px;margin:0;font-size:16px}#zoom-stage{position:relative;flex:1;min-height:0;overflow:hidden;touch-action:none;user-select:none;outline-offset:-4px}#zoom-stage.is-zoomed{cursor:grab}#zoom-stage.is-zoomed:active{cursor:grabbing}#zoom-image{position:absolute;left:50%;top:50%;max-width:none;max-height:none;transform-origin:center;will-change:transform;pointer-events:none}button.hq-image{cursor:pointer;font-family:inherit;min-height:44px}@media(max-width:650px){.zoom-toolbar{padding:10px 12px;align-items:flex-start;gap:10px;flex-wrap:wrap}.zoom-heading{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px}.zoom-heading h2{font-size:18px;margin:0}.zoom-controls{width:100%;justify-content:space-between;gap:5px}.zoom-controls button{padding:8px 10px}.zoom-help{padding:8px 12px;font-size:13px}}
.zoom-photo-nav{display:flex;align-items:center;justify-content:center;gap:20px;padding:8px 20px;flex-shrink:0;background:var(--navy)}.zoom-photo-nav button{font:inherit;padding:8px 12px;min-height:44px;border:1px solid #b9c5d5;border-radius:5px;background:white;color:var(--navy)}.zoom-photo-nav button:disabled{opacity:.5;cursor:default}.zoom-photo-nav span{font-size:16px;white-space:nowrap}@media(max-width:650px){.zoom-photo-nav{gap:8px;padding:8px 12px;justify-content:space-between}.zoom-photo-nav button{font-size:14px;padding:8px}.zoom-photo-nav span{font-size:14px}}
/* One desktop toolbar leaves more space for the original photograph. */
.zoom-toolbar>.zoom-photo-nav{padding:0;background:transparent;gap:10px}.zoom-toolbar>.zoom-heading{flex-shrink:0}.zoom-toolbar>.zoom-controls{flex-shrink:0;flex-wrap:nowrap}
@media(min-width:1000px){.zoom-toolbar{gap:12px;padding:10px 16px}.zoom-toolbar .zoom-heading h2{font-size:18px}.zoom-toolbar .zoom-heading a{font-size:14px}.zoom-photo-nav button{font-size:15px}.zoom-photo-nav span{font-size:14px}}
@media(min-width:651px) and (max-width:999px){.zoom-toolbar{flex-wrap:wrap}.zoom-toolbar>.zoom-photo-nav{order:3;width:100%;justify-content:center}}
@media(max-width:650px){.zoom-toolbar>.zoom-photo-nav{order:3;width:100%;justify-content:space-between;padding-top:4px}}

#description.formatted{white-space:normal}#description.formatted p{margin:0 0 1em}#description.formatted ul,#description.formatted ol{padding-left:1.5em;margin:0 0 1em}

/* Collection browsing: a compact desktop filter rail and a wider product canvas. */
.collection-page #catalog{max-width:none;width:100%;padding:24px 28px 40px}
.collection-page #catalog .collection-layout>.intro{max-width:none;margin-bottom:24px}
.collection-page #catalog .collection-layout>.intro h1{font-size:clamp(28px,2.1vw,38px)}
.collection-page #catalog .collection-layout>.intro .eyebrow{font-size:12px;margin-bottom:6px}
.collection-page #catalog .collection-layout>.intro>p:last-child{max-width:1000px;margin:10px 0 0;font-size:16px;line-height:1.5}
.collection-layout{display:grid;grid-template-columns:232px minmax(0,1fr);grid-template-areas:". intro" ". controls" "filters products";column-gap:24px;row-gap:0;align-items:start}
.collection-layout>.intro{grid-area:intro}
.collection-layout>.browse{grid-area:filters}
.collection-layout>.results{grid-area:controls}
.collection-results{grid-area:products;min-width:0}
.collection-page .browse,.collection-page .browse.is-docked{position:sticky;top:var(--header-height,190px);left:auto;width:auto;max-height:calc(100dvh - var(--header-height,190px) - 16px);overflow-y:auto;overflow-x:hidden;margin:0;padding:12px 18px 0 0;background:transparent;border:0;border-right:1px solid var(--line);border-radius:0;box-shadow:none;transform:none}
.collection-page .browse::before{display:none}
.collection-page .browse-top{display:block}
.collection-page .compact-brand,.collection-page .browse .compact-brand{display:none!important}
.collection-page .search-field{max-width:none;margin:0}
.collection-page .search-field>span{display:block;font-size:14px;font-weight:700;margin-bottom:6px}
.collection-page .search-field input{min-height:40px;width:100%;padding:8px 10px;font-size:16px}
.collection-page #categories{display:flex;flex-direction:column;align-items:stretch;gap:3px;margin-top:14px}
.collection-page #categories button{width:100%;min-height:36px;padding:7px 10px;text-align:left;font-size:14px;line-height:1.35;border:1px solid transparent;border-left:3px solid transparent;border-radius:3px;background:transparent;color:var(--navy)}
.collection-page #categories button:hover{background:#e9edf3}
.collection-page #categories button[aria-pressed=true]{background:#e9edf3;border-left-color:var(--red);color:var(--red);font-weight:700}
.collection-page .filter-heading{margin:16px 0 6px;font:750 12px/1.4 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.collection-page .results{margin:0 0 14px;min-height:36px;gap:12px;align-items:center}
.collection-page .results p{font-size:14px;line-height:1.4;margin:0}
.collection-page .result-actions{gap:8px}
.collection-page .view-toggle button{width:36px;height:36px;min-height:36px;padding:6px}
.collection-page #reset{min-height:36px;padding:6px 10px;font-size:14px}
.collection-page .grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}
.collection-page .grid.images-only{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:14px}
.collection-page #browse-marker,.collection-page .card,.collection-page .product-entry{scroll-margin-top:calc(var(--header-height,190px) + 12px)}
@media(max-width:1100px) and (min-width:901px){
  .collection-layout{grid-template-columns:210px minmax(0,1fr);column-gap:20px}
  .collection-page #catalog{padding-left:20px;padding-right:20px}
}
@media(max-width:900px){
  .collection-page #catalog{padding:20px 16px 32px}
  .collection-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "filters" "controls" "products";column-gap:0}
  .collection-page .browse,.collection-page .browse.is-docked{position:sticky;top:var(--header-height,190px);z-index:10;max-height:none;overflow:visible;border:1px solid var(--line);border-radius:6px;background:white;margin:0 0 12px;padding:10px;left:auto;width:auto;transform:none}
  .collection-page .browse-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:8px;align-items:center}
  .collection-page .browse .search-field,.collection-page .browse .mobile-category{display:block!important;min-width:0;width:100%;margin:0!important}
  .collection-page .search-field>span{display:none}
  .collection-page .search-field input,.collection-page .mobile-category select{height:42px;min-height:42px;margin:0;width:100%;font-size:16px;padding:8px}
  .collection-page #categories{display:none}
  .collection-page .mobile-favorites{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:36px;min-height:36px;height:36px;padding:5px 8px;font-size:14px;border:1px solid var(--red);border-radius:5px;background:white;color:var(--red)}
  .collection-page .mobile-favorites[aria-pressed=true]{background:var(--red);color:white}
  .collection-page .grid.images-only{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
  .collection-page #browse-marker,.collection-page .card,.collection-page .product-entry{scroll-margin-top:calc(var(--header-height,190px) + var(--browse-height,64px) + 12px)}
}
@media(max-width:560px){
  .collection-page #catalog .collection-layout>.intro{margin-bottom:18px}
  .collection-page #catalog .collection-layout>.intro>p:last-child{font-size:15px}
  .collection-page .results{flex-wrap:wrap;gap:8px;margin-bottom:12px}
  .collection-page .results p{min-width:100px;flex:1}
  .collection-page .result-actions{gap:5px}
  .collection-page .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .collection-page .grid.images-only{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
}
@media(max-height:500px){.collection-page .browse,.collection-page .browse.is-docked{position:relative;top:auto;max-height:none}.collection-page #browse-marker,.collection-page .card,.collection-page .product-entry{scroll-margin-top:16px}}

.collection-page .search-field input,.collection-page .mobile-category select{font-weight:400}
@media(max-width:650px){.collection-page .masthead,.collection-page .site-nav{padding-left:12px;padding-right:12px}}
@media(max-width:360px){.collection-page .masthead,.collection-page .site-nav{padding-left:8px;padding-right:8px}}

/* Keep focus rings inside the scrollable filter rail so their left edge is not clipped. */
.collection-page .browse :focus-visible{outline-offset:-3px}

/* Desktop content shares the masthead/navigation's 1440px canvas and gutters. */
@media(min-width:901px){
  .content-page .page-content{max-width:1440px}
}

/* BEGIN Collection gutter layout trial — remove this block to revert. */
@media(min-width:901px){
  .collection-page #catalog{max-width:1440px;padding-left:32px;padding-right:32px}
  .collection-page .collection-layout{grid-template-areas:"intro intro" ". controls" "filters products"}
}
/* A 210px filter rail fits outside the shared content canvas on wide desktops.
   Smaller desktops retain the rail inside the canvas rather than clipping it. */
@media(min-width:1900px){
  .collection-page .collection-layout{
    grid-template-areas:". intro" ". controls" "filters products";
    width:calc(100% + 234px);
    margin-left:-234px;
    grid-template-columns:210px minmax(0,1fr);
    column-gap:24px;
  }
}
/* END Collection gutter layout trial */
