/* NORA STUDIO PRINT - brand.css */
@font-face { font-family:'Nora Round'; src:url('./assets/nora-round.ttf') format('truetype'); font-weight:900; font-display:swap; }
@font-face { font-family:'Nora Sans'; src:url('./assets/nora-sans.ttf') format('truetype'); font-weight:400 700; font-style:normal; font-display:swap; }
:root {
  --brand-orange:#ff6500; --brand-cobalt:#1634e8; --brand-ink:#080808; --brand-paper:#ffffff; --brand-white:var(--brand-paper);
  --brand-cream:#fff8ed; --brand-muted:#4b4b52;
  --orange:var(--brand-orange); --cobalt:var(--brand-cobalt); --black:var(--brand-ink);
  --white:var(--brand-white); --cream:var(--brand-cream); --muted:var(--brand-muted);
  --font-display:'Nora Round',Arial,sans-serif; --font-body:'Nora Sans',Arial,sans-serif;
  --space-1:8px; --space-2:16px; --space-3:24px; --space-4:40px; --space-5:64px;
  --motion-fast:180ms; --motion-base:360ms; --motion-reveal:700ms;
  --ease-out:cubic-bezier(.2,.8,.2,1);
}
*,*::before,*::after { box-sizing:border-box; }
html { font-family:var(--font-body); line-height:1.5; color-scheme:light; }
body { font-size:16px; line-height:1.6; font-weight:400; font-family:var(--font-body); margin:0; padding:0; }
p { font-weight:400; }
h1,h2,h3 { font-family:var(--font-display); font-weight:900; }
caption,.visually-hidden-text,.product-description { color:var(--brand-muted); }
.brand small { font-family:var(--font-body); font-weight:600; color:var(--brand-ink); }
.gallery-intro { font-size:18px; line-height:1.6; max-width:70ch; }
.status { font-size:14px; color:var(--brand-muted); }
.hero-image figcaption,.card-image figcaption { font-size:13px; line-height:1.6; color:var(--brand-muted); font-family:var(--font-body); }
.card-photo { background-color:var(--brand-cream); }
.contact-section { background-color:var(--brand-cream); }
.filter-btn { min-height:46px; border:2px solid var(--brand-ink); border-radius:8px; background:transparent; }
.filter-btn.active,.filter-btn:hover { border-color:var(--brand-orange); background-color:var(--brand-orange); color:#080808; }
.product-card>a:not(.product-visual-link) { display:inline-flex; align-items:center; min-height:46px; border-radius:8px; font-family:var(--font-body); font-weight:600; margin-top:auto; }
.product-card>a.product-secondary-link { min-height:0; margin-top:8px; padding:4px 0; background:transparent; border-radius:0; text-decoration:underline; text-underline-offset:4px; }
:focus-visible { outline:4px solid var(--brand-cobalt); outline-offset:2px; }
.tile--orange :focus-visible { outline-color:var(--brand-paper); }

/* Contact */
.contact-section { background:var(--brand-cream); padding:64px; text-align:left; }
.contact-section .contact-inner { max-width:1487px; margin:0 auto; }
.contact-section .contact-layout { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:64px; align-items:start; }
.contact-section .contact-kicker { margin:0 0 18px; font:700 13px/1.4 var(--font-body); letter-spacing:.12em; }
.contact-section .contact-lead h2 { margin:0; max-width:12ch; font:900 clamp(44px, 5vw, 64px)/1.05 var(--font-display); }
.contact-section .contact-description { max-width:42ch; margin:24px 0 0; font:400 16px/1.6 var(--font-body); }
.contact-section .contact-info { display:grid; grid-template-columns:minmax(0, 1fr); gap:16px; }
.contact-section .contact-card { position:relative; display:grid; grid-template-columns:48px minmax(0, 1fr) 20px; align-items:start; gap:18px; min-height:160px; padding:24px; border-radius:20px; color:var(--brand-ink); background:var(--brand-white); text-decoration:none; }
.contact-section .contact-icon { display:grid; place-items:center; width:48px; height:48px; border-radius:14px; background:var(--brand-orange); }
.contact-section .contact-icon img { width:32px; height:32px; }
.contact-section .contact-arrow { width:20px; height:20px; }
.contact-section .contact-card-content { display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
.contact-section .contact-card-title { font:900 24px/1.2 var(--font-display); }
.contact-section .contact-handle { margin-top:3px; font:600 14px/1.4 var(--font-body); overflow-wrap:anywhere; }
.contact-section .contact-card-copy { margin-top:10px; font:400 16px/1.5 var(--font-body); }
.contact-section .contact-card-cta { margin-top:12px; font:700 14px/1.4 var(--font-body); text-decoration:underline; text-underline-offset:3px; }
.contact-section .contact-card--shopier { color:var(--brand-white); background:var(--brand-cobalt); }
.contact-section .contact-card--shopier .contact-icon { background:rgba(255,255,255,.18); }
.contact-section .contact-card--shopier .contact-icon img,.contact-section .contact-card--shopier .contact-arrow { filter:invert(1); }
.contact-section .contact-card:focus-visible { outline:4px solid var(--brand-cobalt); outline-offset:4px; }
.contact-section .contact-card--shopier:focus-visible { outline-color:var(--brand-white); outline-offset:-7px; }
.motion-on .contact-section .contact-card { transition:transform var(--motion-fast) var(--ease-out); }
.motion-on .contact-section .contact-card:hover { transform:translateY(-3px); }
.contact-section .contact-brand-row { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px 24px; margin-top:64px; padding-top:24px; border-top:1px solid rgba(8,8,8,.18); }
.contact-section .contact-brand { font:900 16px/1.4 var(--font-display); }
.contact-section .contact-categories { font:400 14px/1.4 var(--font-body); }
@media (max-width:768px) {
  .contact-section { padding:48px 22px 28px; }
  .contact-section .contact-layout { grid-template-columns:minmax(0, 1fr); gap:36px; }
  .contact-section .contact-card { padding:20px; gap:14px; }
  .contact-section .contact-brand-row { margin-top:48px; }
}
