.content-page { background:radial-gradient(ellipse at 5% 0,#28352e,transparent 50%),#151a1b; }
.page-intro { padding:55px 5vw 65px; display:grid; grid-template-columns:1.25fr 1fr; gap:7vw; align-items:end; }
.page-intro h1,.about-hero h1 { margin:20px 0 0; font-size:clamp(65px,7vw,106px); line-height:1; letter-spacing:-.025em; }
.page-lead { color:var(--muted); font-size:17px; line-height:1.8; max-width:43ch; margin:0 0 7px; }
.reading-copy { color:var(--muted); font-size:15px; line-height:1.95; overflow-wrap:anywhere; }
.reading-copy p { margin:0 0 22px; }
.reading-copy h2 { font-size:40px; line-height:1.1; color:var(--paper); margin:0 0 26px; }
.trademark-mark { font-size:.45em; line-height:0; vertical-align:super; }
.material-intro { display:grid; grid-template-columns:1fr 1.1fr; align-items:start; gap:7vw; padding:10px 5vw 65px; }
.material-specimen { position:sticky; top:30px; padding:48px 28px 28px; background:linear-gradient(130deg,#303d36,#17201d); border:1px solid var(--line); }
.material-specimen img { width:100%; display:block; margin:35px 0 45px; }
.material-specimen .eyebrow { margin:0; font-size:9px; }
.material-intro .reading-copy p { font-size:14px; }
.material-intro .reading-copy>.eyebrow { font-size:10px; }
.pattern-section { padding:40px 5vw 60px; border-top:1px solid var(--line); }
.section-title { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:36px; }
.section-title h2 { font-size:clamp(38px,4vw,60px); line-height:1.05; margin:14px 0 0; }
.section-title>p { color:var(--muted); max-width:29ch; font-size:12px; }
.pattern-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 24px; }
.pattern-image { position:relative; display:flex; align-items:center; min-height:155px; background:linear-gradient(140deg,#334139,#1a2520); padding:24px 20px 35px; border:1px solid var(--line); }
.pattern-image:hover { background:#35483c; }
.pattern-image img { width:100%; height:100px; object-fit:contain; }
.pattern-image>span { position:absolute; right:14px; bottom:10px; color:var(--muted); font-size:10px; }
.pattern-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.pattern-heading h3 { font:400 28px/1.2 'Libre Caslon Display',Georgia,serif; margin:14px 0 9px; }
.pattern-heading>span { color:var(--muted); font-size:10px; }
.pattern-enquiry { color:var(--accent); font-size:11px; }
.availability-note { margin-top:35px; color:var(--muted); font-size:12px; }
#pattern-dialog { width:min(900px,94vw); border:1px solid var(--line); background:#17201d; color:var(--paper); padding:25px; }
#pattern-dialog::backdrop { background:#000c; backdrop-filter:blur(8px); }
.pattern-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.pattern-dialog-header h2 { font-size:38px; margin:0; }
.pattern-dialog-header button { font:inherit; font-size:12px; color:var(--paper); background:transparent; border:1px solid var(--line); padding:10px 14px; cursor:pointer; }
#pattern-large-image { width:100%; max-height:65vh; object-fit:contain; margin:35px 0 15px; }
.award-layout { display:grid; grid-template-columns:.8fr 1.5fr; gap:8vw; padding:0 5vw 60px; }
.award-summary { position:sticky; top:35px; align-self:start; border-top:1px solid var(--line); padding-top:25px; }
.large-number { display:block; font:120px/1 'Libre Caslon Display',Georgia,serif; color:var(--accent); }
.award-summary>p { font-size:14px; max-width:28ch; }
.muted { color:var(--muted); }
.award-summary .text-link { font-size:12px; gap:20px; }
.award-year { display:grid; grid-template-columns:95px 1fr; gap:30px; padding:26px 0; border-top:1px solid var(--line); }
.award-year h2 { margin:0; font-size:42px; color:var(--accent); }
.award-year ul { list-style:none; padding:0; margin:4px 0 0; }
.award-year li { color:var(--muted); font-size:14px; line-height:1.85; margin-bottom:12px; }
.events-notice { margin:0 5vw 45px; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px 25px; padding:20px 25px; border:1px solid var(--line); background:#25312a; }
.events-notice p { margin:0; color:var(--muted); font-size:12px; }
.events-notice>a { font-size:12px; color:var(--accent); }
.event-list { padding:0 5vw 50px; }
.event-card { display:flex; align-items:start; gap:40px; border-top:1px solid var(--line); padding:35px 0; }
.event-date { flex:0 0 105px; color:var(--accent); padding:0 20px 20px 0; }
.event-date span { display:block; font-size:10px; letter-spacing:.13em; }
.event-date strong { display:block; font:76px/1.15 'Libre Caslon Display',Georgia,serif; }
.event-copy { flex:1; min-width:0; }
.event-copy>.eyebrow { font-size:9px; margin:0 0 12px; }
.event-copy h2 { font-size:clamp(29px,3vw,42px); line-height:1.15; margin:0 0 20px; max-width:25ch; }
.event-venue { color:var(--accent); font-size:13px; max-width:55ch; }
.event-timing { font-size:12px; color:var(--muted); line-height:1.9; }
.event-copy .reading-copy { font-size:13px; }
.event-copy .reading-copy p { margin-bottom:8px; }
.event-photo { width:180px; flex-shrink:0; }
.event-photo img { width:100%; max-height:260px; object-fit:contain; }
.about-hero { display:grid; grid-template-columns:1.35fr .8fr; gap:8vw; align-items:center; padding:50px 5vw 75px; }
.about-hero .page-lead { margin-top:32px; max-width:49ch; font-size:16px; }
.about-hero figure { margin:0; max-width:350px; justify-self:end; }
.about-hero figure img { display:block; width:100%; height:auto; }
.about-hero figcaption { font-size:9px; letter-spacing:.18em; margin-top:18px; color:var(--muted); }
.about-story { display:grid; grid-template-columns:.8fr 1.4fr; gap:8vw; padding:55px 5vw 60px; border-top:1px solid var(--line); }
.about-story aside { align-self:start; position:sticky; top:35px; }
.story-quote { font:40px/1.2 'Libre Caslon Display',Georgia,serif; color:var(--accent); max-width:17ch; }
.about-story aside .text-link { gap:20px; font-size:12px; }
.about-text h2 { margin-top:42px; }
.about-text h2:first-child { margin-top:0; }
.page-cta { display:flex; align-items:center; justify-content:space-between; gap:30px; margin:0 5vw; padding:50px 0 60px; border-top:1px solid var(--line); }
.page-cta h2 { font-size:65px; margin:10px 0 0; line-height:1.1; }
@media(max-width:1000px) { .page-intro { gap:35px; }.material-intro,.about-story { gap:40px; }.pattern-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.award-layout { gap:45px; grid-template-columns:.65fr 1.4fr; }.event-card { gap:20px; }.event-date { flex-basis:75px; }.event-photo { width:130px; }.about-hero { gap:45px; grid-template-columns:1.1fr .8fr; } }
@media(max-width:680px) { .page-intro { display:block; padding:25px 6vw 35px; }.page-intro h1,.about-hero h1 { font-size:66px; }.page-intro .page-lead { margin-top:25px; font-size:15px; }.material-intro { display:flex; flex-direction:column; padding:0 6vw 40px; gap:30px; }.material-specimen { position:static; width:100%; padding:25px; }.material-specimen img { margin:10px 0 25px; }.pattern-section { padding:30px 6vw 40px; }.section-title { display:block; }.section-title>p { max-width:none; margin-top:20px; }.pattern-grid { gap:25px 15px; }.pattern-image { padding:15px 10px 30px; min-height:120px; }.pattern-image img { height:75px; }.pattern-heading h3 { font-size:25px; }.pattern-enquiry { font-size:10px; }.award-layout { display:block; padding:0 6vw 40px; }.award-summary { position:static; margin-bottom:35px; }.large-number { font-size:85px; }.award-year { grid-template-columns:70px 1fr; gap:20px; }.award-year h2 { font-size:35px; }.award-year li { font-size:13px; }.events-notice { margin:0 6vw 30px; padding:18px; }.event-list { padding:0 6vw 35px; }.event-card { flex-wrap:wrap; gap:20px; }.event-date { flex:0 0 48px; padding-right:0; }.event-date strong { font-size:58px; }.event-copy h2 { font-size:30px; }.event-photo { width:180px; margin-left:68px; }.about-hero { display:flex; flex-direction:column; align-items:stretch; gap:35px; padding:25px 6vw 40px; }.about-hero figure { max-width:300px; margin:auto; }.about-hero .page-lead { font-size:15px; }.about-story { display:block; padding:30px 6vw 40px; }.about-story aside { position:static; margin-bottom:45px; }.story-quote { font-size:36px; max-width:23ch; }.reading-copy { font-size:14px; }.reading-copy h2 { font-size:35px; }.page-cta { margin:0 6vw; padding:35px 0 45px; flex-wrap:wrap; }.page-cta h2 { font-size:56px; } }
@media(max-width:380px) { .pattern-grid { grid-template-columns:1fr; }.page-intro h1,.about-hero h1 { font-size:59px; } }
