:root{--red:#c1272d;--navy:#003063;--ink:#18232d;--muted:#53606b;--paper:#f7f5f0;--line:#d5d5ce;--white:#fff;--heading:'Poppins',Arial,sans-serif;--text:'Open Sans',Arial,sans-serif}
*{box-sizing:border-box}.icon-arrow{display:inline-block;width:1em;height:1em;vertical-align:-.12em}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--text);font-size:16px;line-height:1.75}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--heading);font-weight:500;line-height:1.22;letter-spacing:-.035em;color:var(--navy)}h1{font-size:clamp(2.25rem,5vw,4.5rem)}h2{font-size:clamp(1.75rem,3vw,2.65rem)}h3{font-size:1.2rem}a{color:var(--navy);text-underline-offset:5px;text-decoration-thickness:1px}a:hover{color:var(--red)}button,input,select{font:inherit}button,summary,select{cursor:pointer}img{display:block;max-width:100%;height:auto}button{border:0}a,button,summary,input,select{touch-action:manipulation}:focus-visible{outline:3px solid var(--red);outline-offset:5px}main:focus{outline:none}[hidden]{display:none!important}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.skip{position:fixed;left:16px;top:-100px;z-index:10;padding:12px 20px;background:white}.skip:focus{top:16px}.site-header{background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;min-height:118px}.brand{display:block;flex:0 0 176px}.brand img{width:176px;height:auto}.desktop-nav{display:flex;gap:30px;align-items:center}.desktop-nav a{text-decoration:none;font-size:.9rem;font-weight:600;padding:12px 0}.desktop-nav a[aria-current]{color:var(--red);box-shadow:0 2px 0 var(--red)}.mobile-nav{display:none}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--red);margin-bottom:20px}.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:65px;align-items:center;padding-block:64px 72px}.hero h1{font-size:clamp(2.7rem,5.2vw,4.8rem);line-height:1.13;letter-spacing:-.055em;margin-bottom:30px}.hero h1 em{font-style:normal;color:var(--red)}.lead{font-size:1.15rem;line-height:1.8;max-width:700px;color:var(--muted)}.hero .lead{max-width:540px;margin-bottom:30px}.button{display:inline-flex;align-items:center;gap:45px;background:var(--red);color:white;padding:15px 24px;text-decoration:none;font-weight:600;font-size:.95rem;min-height:54px}.button:hover{color:white;background:var(--navy)}.button span{font-size:1.35rem}.hero-credit{font-family:var(--heading);font-size:1.05rem;line-height:1.5;color:var(--navy);margin:-12px 0 26px}.hero-small{font-size:.8rem;margin-top:18px;color:var(--muted)}.hero-art{aspect-ratio:1;background:white;display:grid;place-items:center;position:relative;border-radius:50% 50% 0 0;overflow:hidden}.hero-art img{width:78%;height:78%;object-fit:contain;mix-blend-mode:multiply}.hero-figure figcaption{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:20px;padding-top:14px;gap:16px;font-size:.72rem}.hero-figure figcaption a{text-decoration:none}.intro-band{background:var(--navy);color:white;padding:40px 0}.intro-band>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:80px}.intro-band p{font-family:var(--heading);font-size:1.65rem;line-height:1.5}.intro-band div div{font-size:.92rem;line-height:1.9}.intro-band a{color:white;display:inline-block;margin-top:13px}.section{padding-block:72px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:34px}.section-heading .eyebrow{margin-bottom:10px}.text-link{font-size:.9rem;font-weight:600;white-space:nowrap}.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 26px}.card{min-width:0}.card-link{text-decoration:none;display:block}.card-image{aspect-ratio:4/3;background:#eeece6;overflow:hidden;margin-bottom:18px;border:1px solid #e7e5df}.card-image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .25s}.card-link:hover img{transform:scale(1.04)}.card-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:.66rem;text-transform:uppercase;letter-spacing:.07em;margin-bottom:9px}.card h3{font-size:1.1rem;line-height:1.45;letter-spacing:-.02em}.arrow{font-weight:400;color:var(--red)}.card-technique{font-size:.77rem;color:var(--muted);margin-top:9px}.status{font-size:.72rem;color:#75520c;background:#f1e8d4;padding:3px 9px;display:inline-block;margin-top:10px;border-radius:2px}.status.verified{background:#e2ebe4;color:#2e593b}.no-image{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;color:#596570}.no-image span:first-child{font-family:var(--heading);font-size:2rem;letter-spacing:-.05em}.no-image span:last-child{font-size:.75rem}.applications-teaser{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;margin-bottom:86px;background:#ede8df}.applications-teaser>img{width:100%;height:430px;object-fit:cover}.applications-teaser>div{padding:35px 55px 35px 0}.applications-teaser h2{font-size:3rem;margin-bottom:22px}.applications-teaser p:not(.eyebrow){margin-bottom:24px;font-size:.95rem}.site-footer{border-top:1px solid var(--line);padding:48px 0 22px}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr 1fr;gap:40px}.footer-brand{display:block;width:176px}.footer-brand img{width:176px;height:auto}.footer-name{font-family:var(--heading);font-size:2rem;font-weight:600;letter-spacing:-.07em;text-decoration:none;color:var(--ink)}.footer-name span{color:var(--red)}.footer-grid p,.footer-note{font-size:.8rem;color:var(--muted);margin-top:8px}.footer-grid nav{display:grid;align-content:start;gap:7px;font-size:.84rem}.footer-grid nav a{text-decoration:none}.footer-bottom{font-size:.7rem;color:var(--muted);border-top:1px solid var(--line);padding-top:18px;margin-top:35px}.page-heading{padding-top:60px;padding-bottom:40px}.page-heading h1{margin-bottom:22px}.intro-text{max-width:800px;color:var(--muted);font-size:1.05rem}.intro-text p+p{margin-top:13px}.catalog-section{padding-bottom:80px}.filters{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:16px;padding:24px;background:#eae7df;border-top:2px solid var(--navy)}.filters label{font-size:.75rem;font-weight:600;display:block;margin-bottom:8px}.filters input,.filters select{width:100%;min-width:0;min-height:48px;padding:9px 12px;border:1px solid #9fa7aa;border-radius:0;background:white;color:var(--ink);font-size:.84rem}.reset{grid-column:1/-1;justify-self:start;text-decoration:underline;text-underline-offset:4px;background:transparent;padding:0;color:var(--navy);font-size:.8rem;min-height:30px}.catalog-info{display:flex;justify-content:space-between;gap:25px;padding:24px 0;color:var(--muted);font-size:.77rem}.more{display:flex;margin:45px auto 0}.empty{padding:60px 0;font-size:1.2rem}.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;padding-top:28px;font-size:.8rem;color:var(--muted)}.motif-heading{padding:36px 0}.motif-heading h1{max-width:1000px;font-size:clamp(2rem,4vw,3.5rem)}.motif-heading .eyebrow{margin-bottom:12px}.motif-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start;margin-bottom:70px}.motif-visual figure>a{background:#efede7;display:block}.motif-visual img,.digital-visual img{width:100%;max-height:650px;object-fit:contain}.motif-visual img{mix-blend-mode:multiply}.motif-visual figcaption,.digital-visual figcaption,figcaption{font-size:.78rem;color:var(--muted);margin-top:14px;overflow-wrap:anywhere}.motif-visual figcaption p{margin-top:7px}.note{font-size:.78rem;border-left:2px solid var(--red);padding:4px 0 4px 16px;margin-top:25px;color:var(--muted)}.facts{margin:0 0 32px;display:grid;grid-template-columns:140px 1fr;column-gap:22px}.facts dt{font-size:.75rem;color:var(--muted);padding:12px 0;border-bottom:1px solid var(--line)}.facts dd{margin:0;font-size:.88rem;padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.prose{overflow-wrap:anywhere}.prose h2{font-size:1.5rem;margin:32px 0 16px}.prose h3{font-size:1.2rem;margin:25px 0 12px}.prose p{margin-bottom:18px}.prose li{margin-bottom:10px}.prose ul,.prose ol{padding-left:24px}.prose a{overflow-wrap:anywhere}.motif-content .prose{font-size:.92rem}.verification-date{font-size:.75rem;color:var(--muted);margin-top:28px}.back-link{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:25px 0 60px;font-size:.88rem}.image-unavailable{background:#eae7df;padding:65px 24px;text-align:center}.image-unavailable>span{font-size:3rem;font-family:var(--heading);color:var(--muted)}.image-unavailable a{font-size:.83rem}.article-page{padding-bottom:70px}.article-body{max-width:800px;margin-left:calc((100% - 800px)/2)}.article-body>h2:first-child{margin-top:0}.article-page .page-heading{max-width:1000px}.wide-figure{margin-bottom:45px}.wide-figure img{width:100%;max-height:550px;object-fit:cover}.archive-block{max-width:800px;margin:45px auto 0}.archive-block img{margin-top:25px;max-height:800px;width:auto;border:1px solid var(--line)}.digital-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;padding-bottom:85px}.digital-card{display:block;text-decoration:none}.digital-card>img{width:100%;height:340px;object-fit:contain;background:#eeece6;mix-blend-mode:multiply}.digital-card .eyebrow{margin-top:25px;margin-bottom:12px}.digital-card h2{font-size:1.8rem;margin-bottom:12px}.digital-card p:last-child{font-size:.9rem;color:var(--muted)}.digital-visual{background:#eeece6;padding:25px}.applications-body>section{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;padding-bottom:65px}.applications-body>section:nth-child(even)>figure{order:2}.applications-body img{width:100%;max-height:520px;object-fit:cover}.applications-body h2{margin-top:0;font-size:2rem}.applications-body>.development{max-width:800px;margin:0 auto 75px;padding-top:20px;border-top:1px solid var(--line)}
@media(min-width:1500px){.hero{gap:100px}}
@media(max-width:1050px){.wrap{width:calc(100% - 56px)}.desktop-nav{gap:19px}.desktop-nav a{font-size:.8rem}.header-inner{gap:25px}.brand{flex-basis:148px}.brand img{width:148px}.hero{gap:35px}.hero h1{font-size:3.5rem}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.featured{grid-template-columns:repeat(2,minmax(0,1fr))}.applications-teaser{gap:35px}.applications-teaser>div{padding-right:30px}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.article-body{margin-inline:auto}.motif-layout{gap:35px}.facts{grid-template-columns:110px 1fr}.digital-card>img{height:260px}}
@media(max-width:740px){.wrap{width:calc(100% - 40px)}.header-inner{min-height:90px;gap:20px;align-items:center;flex-wrap:wrap;padding-block:16px}.brand{flex-basis:142px}.brand img{width:142px}.desktop-nav{display:none}.mobile-nav{display:block;margin-left:auto}.mobile-nav summary{list-style:none;display:flex;gap:20px;align-items:center;font-size:.85rem;min-height:44px}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary span{color:var(--red);font-size:1.5rem}.mobile-nav[open]{width:100%;order:2;margin-top:8px}.mobile-nav[open] summary{justify-content:space-between;border-top:1px solid var(--line)}.mobile-nav nav{display:grid;gap:0}.mobile-nav nav a{display:block;padding:10px 0;text-decoration:none;border-bottom:1px solid var(--line);font-size:.92rem}.hero{grid-template-columns:1fr;padding-block:38px 40px;gap:34px}.hero h1{font-size:3.3rem;margin-bottom:22px}.eyebrow{font-size:.66rem;margin-bottom:17px}.lead{font-size:1rem}.hero .lead{margin-bottom:24px}.hero-art{max-width:400px;margin-inline:auto}.hero-figure figcaption{font-size:.65rem}.hero-small{font-size:.75rem}.intro-band{padding:32px 0}.intro-band>.wrap{grid-template-columns:1fr;gap:18px}.intro-band p{font-size:1.45rem}.intro-band div div{font-size:.86rem}.section{padding-block:44px}.section-heading{display:block;margin-bottom:25px}.section-heading .text-link{display:inline-block;margin-top:18px}.card-grid,.featured{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px}.card h3{font-size:.95rem}.card-meta{font-size:.57rem}.card-meta span:first-child{max-width:75%}.card-technique,.status{font-size:.66rem}.card-image{aspect-ratio:1;margin-bottom:12px}.applications-teaser{grid-template-columns:1fr;gap:0;margin-bottom:45px}.applications-teaser>img{height:300px}.applications-teaser>div{padding:30px}.applications-teaser h2{font-size:2.4rem}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-note{grid-column:1/-1}.footer-grid p{font-size:.72rem}.page-heading{padding-top:36px;padding-bottom:30px}.page-heading h1{font-size:2.5rem}.intro-text{font-size:.95rem}.filters{padding:18px;gap:16px 12px}.filters>div:first-child{grid-column:1/-1}.filters>div:last-of-type{grid-column:1/-1}.filters input,.filters select{font-size:.8rem;padding-inline:8px}.filters label{font-size:.7rem}.catalog-info{display:block;font-size:.71rem}.catalog-info p+p{margin-top:8px}.catalog-section{padding-bottom:45px}.motif-layout{grid-template-columns:1fr;gap:32px;margin-bottom:40px}.motif-heading{padding-block:28px}.motif-heading h1{font-size:2rem}.motif-visual img{max-height:450px}.facts{grid-template-columns:105px minmax(0,1fr);gap:0 14px}.facts dd{font-size:.83rem}.facts dt{font-size:.7rem}.prose{font-size:.93rem}.prose h2{font-size:1.4rem}.back-link{flex-direction:column;padding-bottom:35px}.digital-grid{grid-template-columns:1fr;gap:40px;padding-bottom:45px}.digital-card>img{height:350px}.digital-card .eyebrow{margin-top:20px}.applications-body>section{grid-template-columns:1fr;gap:25px;padding-bottom:40px}.applications-body>section:nth-child(even)>figure{order:0}.applications-body h2{font-size:1.7rem}.article-page{padding-bottom:40px}.article-body{margin:0}.wide-figure img{max-height:350px}.no-image span:first-child{font-size:1.65rem}.no-image span:last-child{font-size:.6rem}}
@media(max-width:400px){.card-grid:not(.featured){grid-template-columns:1fr}.card-grid:not(.featured) .card-image{aspect-ratio:4/3}.card-grid:not(.featured) h3{font-size:1.12rem}.hero h1{font-size:3rem}.footer-grid{grid-template-columns:1fr}.footer-note{grid-column:auto}.filters{grid-template-columns:1fr}.filters>div{grid-column:1!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
@media print{.site-header,.site-footer,.filters,.button,.back-link{display:none}.wrap{width:100%}.card-grid{grid-template-columns:repeat(3,1fr)}body{background:white}.motif-layout{display:block}.motif-visual img{max-height:350px}.prose a::after{content:' (' attr(href) ')';font-size:.8em}}
/* Patterns use the existing catalogue grid; ink colours must remain unchanged. */
.pattern-image img{mix-blend-mode:normal;padding:20px}.pattern-kind{display:inline-block;color:var(--red);font-size:.75rem;font-weight:700;margin-bottom:10px;text-transform:uppercase;letter-spacing:.08em}.pattern-stage{display:grid;place-items:center;padding:28px;min-width:0;aspect-ratio:1}.pattern-stage img{width:100%;height:100%;object-fit:contain;max-height:650px}.light{background:#fff}.dark{background:#20262c}.pattern-image.dark{border-color:#20262c}.card-sources{list-style:none;margin:12px 0 0;padding:0;font-size:.72rem;line-height:1.5}.card-sources li+li{margin-top:8px}.card-sources span{display:block;color:var(--muted);margin-top:2px}.pattern-filters{grid-template-columns:2fr 1fr}.pattern-dark{max-width:720px;margin:0 auto 40px}.pattern-dark h2{margin-bottom:24px}.variant-grid .pattern-stage{padding:20px}.section-intro{max-width:750px;margin-bottom:30px;color:var(--muted)}.patterns-teaser{border-top:1px solid var(--line)}.pattern-sources{border-top:1px solid var(--line);margin-top:28px}.pattern-card .card-image{aspect-ratio:1}.pattern-card h3{overflow-wrap:anywhere}
@media(max-width:740px){.pattern-stage{padding:18px}.pattern-filters{grid-template-columns:1fr}.pattern-kind{font-size:.68rem}.card-sources{font-size:.68rem}}

.invert-preview img{filter:invert(1)}

/* Three seamless ribbons, with the same exports as the pattern catalogue. */
.hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px}
.pattern-carousel{min-width:0}
.carousel-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:.68rem;color:var(--muted);margin-bottom:14px}
.carousel-pause{display:flex;align-items:center;gap:6px;white-space:nowrap;cursor:pointer;min-height:34px}
.carousel-pause input{accent-color:var(--red);width:16px;height:16px}
.carousel-mosaic{display:grid;gap:12px}
.carousel-window{overflow:hidden;padding:5px 0}
.carousel-track{display:flex;width:max-content;animation:pattern-ribbon 360s linear infinite}
.carousel-window:nth-child(2) .carousel-track{animation-duration:430s;animation-direction:reverse}
.carousel-window:nth-child(3) .carousel-track{animation-duration:310s}
.carousel-group{display:flex;gap:12px;padding-right:12px;position:relative}
.carousel-tile{flex:0 0 190px;width:190px;height:178px;padding:16px 15px 10px;display:flex;flex-direction:column;gap:8px;text-decoration:none;border-radius:3px;color:var(--navy)}
.carousel-tile.tile-wide{flex-basis:244px;width:244px}
.carousel-tile img{width:100%;height:128px;object-fit:contain;min-height:0;flex:1}
.carousel-tile>span{display:flex;justify-content:space-between;gap:8px;font-size:.6rem;line-height:1.25;white-space:nowrap;overflow:hidden}
.carousel-tile>span>span{margin-left:auto}
.tone-cream{background:#eee7d7}.tone-ochre{background:#dfb970}.tone-navy{background:var(--navy);color:#fff4db}.tone-red{background:var(--red);color:#fff4db}
.carousel-tile:hover{color:inherit;box-shadow:inset 0 0 0 2px currentColor}
.carousel-tile:focus-visible{outline:3px solid var(--navy);outline-offset:2px;box-shadow:inset 0 0 0 3px white}
.pattern-carousel:hover .carousel-track,.pattern-carousel:focus-within .carousel-track,.pattern-carousel:has(input:checked) .carousel-track{animation-play-state:paused}
@keyframes pattern-ribbon{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:1050px) and (min-width:741px){.hero{gap:28px}.hero h1{font-size:3.1rem}.carousel-controls{align-items:start;flex-direction:column;gap:0}.carousel-tile{height:170px}}
@media(max-width:740px){.hero{grid-template-columns:minmax(0,1fr);gap:28px}.carousel-controls{font-size:.61rem;gap:8px}.carousel-mosaic{gap:6px}.carousel-group{gap:9px;padding-right:9px}.carousel-tile{flex-basis:142px;width:142px;height:142px;padding:12px 10px 9px}.carousel-tile.tile-wide{flex-basis:178px;width:178px}.carousel-tile>span{font-size:.54rem}.carousel-track{animation-duration:290s}.carousel-window:nth-child(2) .carousel-track{animation-duration:350s}.carousel-window:nth-child(3) .carousel-track{animation-duration:250s}}
@media(prefers-reduced-motion:reduce),print{
  .carousel-pause{display:none}
  .carousel-mosaic{display:block;max-height:560px;overflow-y:auto;scrollbar-gutter:stable;padding:5px}
  .carousel-window,.carousel-track,.carousel-group{display:contents}
  .carousel-track{animation:none!important}
  .carousel-group[aria-hidden]{display:none}
  .carousel-mosaic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
  .carousel-tile,.carousel-tile.tile-wide{width:100%;height:160px;padding:12px 8px}
  .carousel-tile>span{white-space:normal;font-size:.57rem}
}
@media(prefers-reduced-motion:reduce) and (max-width:740px){.carousel-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));max-height:470px}}

/* Source galleries retain the full object and its individual attribution. */
.source-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px;margin-top:32px}.source-gallery img{height:200px;object-fit:contain}.gallery-figure img{mix-blend-mode:normal}.gallery-dialog{width:min(1100px,calc(100% - 32px));max-height:calc(100dvh - 32px);border:0;padding:24px;background:var(--paper);color:var(--ink);overflow:auto}.gallery-dialog::backdrop{background:rgb(0 0 0 / .8)}.gallery-dialog img{max-height:70dvh;width:100%;object-fit:contain}.gallery-dialog figcaption{max-width:800px;margin:16px auto 0}.gallery-close{display:block;margin:0 0 20px auto;padding:10px 18px;min-height:44px;background:var(--navy);color:white}.prose .pattern-sources ul{list-style:none;padding:0}.pattern-source{display:flex;align-items:center;gap:20px;text-decoration:none;padding-block:14px;border-bottom:1px solid var(--line)}.pattern-source img{width:140px;height:140px;flex:0 0 140px;object-fit:contain;background:#efede7}.pattern-source strong{font-weight:600;text-decoration:underline}.source-region,.source-cta{display:block;margin-top:6px;font-size:.8rem}.source-region{color:var(--muted)}
@media(max-width:740px){.source-gallery{gap:24px 16px}.source-gallery img{height:160px}.pattern-source{gap:14px}.pattern-source img{width:120px;height:120px;flex-basis:120px}.gallery-dialog{padding:18px}.gallery-dialog img{max-height:60dvh}}
