/* Typography and shared layout */
body{color:var(--text);background:var(--background);font-family:var(--font);font-size:var(--body);line-height:1.55}h1{font-size:var(--h1);line-height:1.02;font-weight:500;letter-spacing:-2px}h2{font-size:var(--h2);line-height:1.1;font-weight:500;letter-spacing:-1px}h3{font-size:var(--h3);line-height:1.2;font-weight:500}h4{font-size:var(--h4);line-height:1.3;font-weight:500}h5{font-size:var(--h5);font-weight:500}h6{font-size:var(--h6);font-weight:500;text-transform:uppercase}p{color:var(--text-secondary)}.container{width:min(calc(100% - (var(--gutter) * 2)),var(--container));margin-inline:auto}.eyebrow{display:inline-flex;align-items:center;gap:12px;margin-bottom:18px;font-size:var(--small);font-weight:500;letter-spacing:1.4px;text-transform:uppercase}.eyebrow::before{width:28px;height:1px;background:currentColor;content:""}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Buttons and links */
.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:0 24px;border:1px solid var(--text);font-size:12px;font-weight:500;letter-spacing:1px;text-transform:uppercase;transition:color var(--transition),background var(--transition),transform var(--transition)}.button:hover{transform:translateY(-2px)}.button--primary{color:var(--background);background:var(--text)}.button--primary:hover{color:var(--text);background:transparent}.text-link{display:inline-flex;align-items:center;gap:18px;padding:8px 0;border-bottom:1px solid var(--text);font-size:12px;font-weight:500;letter-spacing:1px;text-transform:uppercase}.text-link svg{width:17px;transition:transform var(--transition)}.text-link:hover svg{transform:translateX(5px)}.circle-link{width:38px;height:38px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;transition:color var(--transition),background var(--transition)}.circle-link:hover{color:var(--background);background:var(--text)}

/* Image placeholders: become real images automatically when matching JPGs exist */
.media{position:relative;overflow:hidden;background:linear-gradient(135deg,#d5d1c8,#777972)}.media::after{position:absolute;inset:0;display:grid;place-items:center;padding:20px;color:rgba(255,255,255,.78);font-size:11px;letter-spacing:1px;text-align:center;text-transform:uppercase;content:attr(data-placeholder)}.media img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity var(--transition),transform 600ms ease}.media.is-loaded::after{display:none}.media.is-loaded img{opacity:1}.media:hover img{transform:scale(1.025)}.color-list{display:flex;flex-wrap:wrap;gap:10px}.color-chip{width:22px;height:22px;padding:3px;border:1px solid transparent;border-radius:50%;background:transparent}.color-chip::after{display:block;width:100%;height:100%;border-radius:50%;background:var(--chip);content:""}.color-chip.is-active,.color-chip:hover{border-color:currentColor}

/* Breadcrumb */
.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-size:12px}.breadcrumb a{color:var(--text-secondary)}.breadcrumb a:hover{color:var(--text)}.breadcrumb svg{width:13px;color:var(--muted)}
