/* ── Rigamonti Studio · Nyhetsbrev + lag-artiklar ── */
:root {
  --ink:#2A1610; --ink-deep:oklch(0.36 0.07 40); --accent:oklch(0.60 0.13 54); --accent-light:oklch(0.73 0.12 54);
  --paper:oklch(0.97 0.02 65); --rule:oklch(0.86 0.03 70); --white:oklch(0.99 0.008 80); --body:oklch(0.35 0.045 45); --muted:oklch(0.55 0.03 58);
  --font-script:'Allura',cursive; --font-display:'Cormorant Garamond',Georgia,serif;
  --font-italic:'EB Garamond',Georgia,serif; --font-sans:'Manrope',system-ui,sans-serif;
  --wrap:1240px;
}
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:var(--font-sans); color:var(--body); background:var(--paper); line-height:1.55; }
a { color:var(--accent); text-decoration:none; transition:color .2s; }
a:hover { color:var(--ink); }
.wrap { max-width:var(--wrap); margin:0 auto; padding:0 40px; }
@media (max-width:640px){ .wrap{ padding:0 24px; } }
.btn { display:inline-block; padding:16px 32px; font-family:var(--font-sans); font-size:12px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; background:var(--accent); color:var(--ink); transition:background .2s, transform .2s; }
.btn:hover { background:var(--ink); color:var(--paper); transform:translateY(-2px); }
.btn--light { background:var(--accent-light); color:var(--ink); }
.btn--light:hover { background:var(--paper); color:var(--ink); }

/* ── Standalone Studio header ── */
.sheader { position:fixed; top:0; left:0; right:0; z-index:50; background:var(--ink); backdrop-filter:blur(8px); border-bottom:1px solid rgba(255,255,255,0.08); }
.sheader__inner { max-width:var(--wrap); margin:0 auto; padding:14px 40px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
@media (max-width:640px){ .sheader__inner{ padding:12px 24px; } }
.slogo { position:relative; display:inline-flex; flex-direction:column; align-items:center; line-height:1; }
.slogo__r { position:absolute; top:50%; left:50%; transform:translate(-50%,-54%); font-family:var(--font-script); font-size:56px; line-height:1; color:rgba(223,184,119,0.20); pointer-events:none; }
.slogo__wordmark { font-family:var(--font-display); font-size:15px; font-weight:500; letter-spacing:0.30em; color:var(--paper); position:relative; z-index:1; }
.slogo__sub { font-family:var(--font-italic); font-style:italic; font-size:11px; color:var(--accent-light); margin-top:4px; position:relative; z-index:1; }
.snav { display:flex; gap:28px; align-items:center; }
@media (max-width:880px){ .snav__links{ display:none; } }
.snav__links { display:flex; gap:26px; }
.snav a { font-family:var(--font-sans); font-size:12px; font-weight:500; color:rgba(244,239,229,0.72); letter-spacing:0.06em; text-transform:uppercase; }
.snav a:hover { color:var(--accent-light); }
.snav a.active { color:var(--accent-light); }
.snav__back { font-family:var(--font-italic) !important; font-style:italic; text-transform:none !important; letter-spacing:0 !important; font-size:13px !important; color:var(--accent-light) !important; }

/* ── Hub hero ── */
.nhero { background:var(--ink); color:var(--paper); padding:160px 0 84px; position:relative; overflow:hidden; }
.nhero__r { position:absolute; right:-40px; top:50%; transform:translateY(-50%); font-family:var(--font-script); font-size:380px; line-height:0.8; color:rgba(223,184,119,0.07); pointer-events:none; }
.nhero__inner { position:relative; z-index:1; max-width:760px; }
.nhero__eyebrow { font-family:var(--font-italic); font-style:italic; font-size:16px; color:var(--accent-light); display:block; margin-bottom:22px; }
.nhero__title { font-family:var(--font-display); font-size:clamp(34px,5vw,60px); font-weight:500; line-height:1.06; letter-spacing:-0.015em; color:var(--paper); }
.nhero__title em { font-style:italic; color:var(--accent-light); }
.nhero__sub { font-family:var(--font-italic); font-style:italic; font-size:clamp(18px,2vw,22px); line-height:1.55; color:rgba(244,239,229,0.85); max-width:58ch; margin:26px 0 36px; }
.nhero__note { font-family:var(--font-sans); font-size:13px; color:rgba(244,239,229,0.6); margin-top:18px; }

/* ── Section base ── */
.sec { padding:92px 0; }
.sec--paper { background:var(--paper); }
.sec--white { background:var(--white); }
.sec__eyebrow { font-family:var(--font-italic); font-style:italic; font-size:15px; color:var(--accent); display:block; margin-bottom:16px; }
.sec__title { font-family:var(--font-display); font-size:clamp(30px,4vw,46px); font-weight:500; line-height:1.1; letter-spacing:-0.015em; color:var(--ink); max-width:22ch; }
.sec__title em { font-style:italic; color:var(--accent); }
.sec__lead { font-family:var(--font-italic); font-style:italic; font-size:clamp(18px,2vw,22px); line-height:1.6; color:var(--ink-deep); max-width:60ch; margin-top:22px; }

/* ── Three perspectives ── */
.persp { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--rule); border:1px solid var(--rule); margin-top:48px; }
@media (max-width:760px){ .persp{ grid-template-columns:1fr; } }
.persp__cell { background:var(--white); padding:36px 32px; }
.persp__tag { font-family:var(--font-italic); font-style:italic; font-size:15px; color:var(--accent); margin-bottom:10px; }
.persp__h { font-family:var(--font-display); font-size:23px; font-weight:500; color:var(--ink); margin-bottom:12px; }
.persp__p { font-family:var(--font-sans); font-size:15px; line-height:1.7; color:var(--body); }

/* ── Article list ── */
.narts { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--rule); border:1px solid var(--rule); margin-top:52px; }
@media (max-width:900px){ .narts{ grid-template-columns:1fr; } }
.nart { background:var(--white); padding:38px 34px; display:flex; flex-direction:column; transition:background .2s; }
.nart:hover { background:var(--paper); }
.nart__num { font-family:var(--font-italic); font-style:italic; font-size:14px; color:var(--accent); margin-bottom:16px; }
.nart__title { font-family:var(--font-display); font-size:24px; font-weight:500; line-height:1.18; color:var(--ink); margin-bottom:12px; }
.nart:hover .nart__title { color:var(--accent); }
.nart__excerpt { font-family:var(--font-sans); font-size:14.5px; line-height:1.65; color:var(--body); flex:1; }
.nart__meta { font-family:var(--font-sans); font-size:12px; letter-spacing:0.04em; color:var(--muted); margin-top:22px; }

/* ── Article page ── */
.art-hero { background:var(--ink); color:var(--paper); padding:160px 0 70px; position:relative; overflow:hidden; }
.art-hero__r { position:absolute; right:-30px; bottom:-90px; font-family:var(--font-script); font-size:340px; line-height:0.8; color:rgba(223,184,119,0.07); pointer-events:none; }
.art-hero__inner { position:relative; z-index:1; max-width:820px; margin:0 auto; padding:0 40px; }
@media (max-width:640px){ .art-hero__inner{ padding:0 24px; } }
.art-hero__cat { font-family:var(--font-italic); font-style:italic; font-size:15px; color:var(--accent-light); display:block; margin-bottom:18px; }
.art-hero__title { font-family:var(--font-display); font-size:clamp(30px,4.4vw,52px); font-weight:500; line-height:1.08; letter-spacing:-0.015em; color:var(--paper); }
.art-hero__meta { font-family:var(--font-sans); font-size:13px; color:rgba(244,239,229,0.7); margin-top:24px; }
.art-hero__meta strong { color:var(--paper); font-weight:600; }

.art-body { max-width:720px; margin:0 auto; padding:72px 40px 24px; }
@media (max-width:640px){ .art-body{ padding:52px 24px 16px; } }
.art-body .lead { font-family:var(--font-italic); font-style:italic; font-size:clamp(20px,2.4vw,26px); line-height:1.5; color:var(--ink-deep); margin-bottom:34px; }
.art-body p { font-family:var(--font-sans); font-size:17px; line-height:1.8; color:var(--body); margin-bottom:22px; }
.art-body h2 { font-family:var(--font-display); font-size:clamp(24px,3vw,32px); font-weight:500; line-height:1.2; color:var(--ink); margin:44px 0 16px; letter-spacing:-0.01em; }
.art-body ul { margin:0 0 24px; padding-left:0; list-style:none; }
.art-body ul li { font-family:var(--font-sans); font-size:17px; line-height:1.7; color:var(--body); padding-left:28px; position:relative; margin-bottom:14px; }
.art-body ul li::before { content:'\2713'; position:absolute; left:0; top:1px; color:var(--accent); font-weight:700; }
.art-body strong { color:var(--ink); font-weight:600; }
.art-body blockquote { margin:38px 0; padding:4px 0 4px 28px; border-left:3px solid var(--accent-light); }
.art-body blockquote p { font-family:var(--font-display); font-style:italic; font-size:clamp(22px,2.8vw,28px); line-height:1.4; color:var(--ink-deep); margin:0; }
.art-byline { max-width:720px; margin:0 auto; padding:0 40px; }
@media (max-width:640px){ .art-byline{ padding:0 24px; } }
.art-byline__inner { border-top:1px solid var(--rule); padding-top:24px; margin-top:20px; font-family:var(--font-italic); font-style:italic; font-size:16px; color:var(--muted); }

/* ── CTA ── */
.scta { background:var(--ink); color:var(--paper); padding:92px 0; text-align:center; position:relative; overflow:hidden; }
.scta__r { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); font-family:var(--font-script); font-size:300px; line-height:0.8; color:rgba(223,184,119,0.06); pointer-events:none; }
.scta__inner { position:relative; z-index:1; max-width:640px; margin:0 auto; padding:0 24px; }
.scta__title { font-family:var(--font-display); font-size:clamp(30px,4vw,46px); font-weight:500; color:var(--paper); line-height:1.12; letter-spacing:-0.015em; margin-bottom:16px; }
.scta__title em { font-style:italic; color:var(--accent-light); }
.scta__sub { font-family:var(--font-italic); font-style:italic; font-size:19px; color:rgba(244,239,229,0.82); margin-bottom:34px; line-height:1.5; }

.art-back { text-align:center; padding:8px 0 64px; background:var(--paper); }
.art-back a { font-family:var(--font-italic); font-style:italic; font-size:16px; color:var(--accent); }

/* ── Footer ── */
.sfooter { background:var(--ink); color:var(--paper); padding:44px 0; font-family:var(--font-sans); font-size:13px; }
.sfooter__inner { max-width:var(--wrap); margin:0 auto; padding:0 40px; display:flex; justify-content:space-between; gap:30px; flex-wrap:wrap; }
.sfooter p, .sfooter a { color:rgba(244,239,229,0.8); }
.sfooter a:hover { color:var(--accent-light); }

:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *, *::before, *::after { animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; } }
