:root {
  --paper: #f7f2ea;
  --paper-deep: #efe6da;
  --ink: #3c321a;
  --ink-soft: #5f5443;
  --plum: #765467;
  --plum-deep: #5c3d4e;
  --rose: #c46d75;
  --rose-soft: #e5c5c5;
  --green: #65705f;
  --green-light: #e4e8df;
  --taupe: #b79a79;
  --line: rgba(60, 50, 26, .14);
  --serif: "DM Serif Display", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); line-height: 1.6; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }

.skip-link { position: absolute; left: 1rem; top: -5rem; padding: .7rem 1rem; background: var(--ink); color: #fff; z-index: 99; }
.skip-link:focus { top: 1rem; }
.section-shell { width: min(1180px, calc(100% - 3rem)); margin: 0 auto; }
.eyebrow { margin: 0 0 1rem; font-size: .72rem; font-weight: 700; letter-spacing: .16em; line-height: 1.2; text-transform: uppercase; color: var(--rose); }
.eyebrow span { margin: 0 .38rem; color: var(--ink); }
.centered { text-align: center; }
.section-title, h1, h2, h3 { font-family: var(--serif); font-weight: 400; line-height: .98; }
.section-title { margin: 0 auto 2.5rem; max-width: 730px; font-size: clamp(2.1rem, 4vw, 4.2rem); }

.site-header { min-height: 94px; padding: 1.15rem max(2rem, calc((100vw - 1180px)/2)); display: flex; align-items: center; gap: 2rem; border-bottom: 1px solid var(--line); background: rgba(247,242,234,.92); position: sticky; top: 0; z-index: 20; backdrop-filter: blur(14px); }
.brand-link { width: min(250px, 28vw); flex: 0 0 auto; }
.brand-link img { width: 100%; height: 58px; object-fit: contain; object-position: left center; }
.site-nav { margin-left: auto; display: flex; align-items: center; gap: 1.55rem; font-size: .75rem; font-weight: 600; letter-spacing: .04em; }
.site-nav > a:not(.nav-cta) { position: relative; }
.site-nav > a:not(.nav-cta)::after { content: ""; position: absolute; left: 0; bottom: -.45rem; width: 0; height: 1px; background: var(--rose); transition: width .22s ease; }
.site-nav > a:hover::after { width: 100%; }
.nav-cta, .button { display: inline-flex; align-items: center; justify-content: center; min-height: 43px; padding: .75rem 1.2rem; border-radius: 999px; border: 1px solid transparent; font-size: .74rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; transition: transform .2s ease, background .2s ease, color .2s ease; }
.nav-cta, .button-primary { background: var(--plum); color: #fff; }
.nav-cta:hover, .button-primary:hover { transform: translateY(-2px); background: var(--plum-deep); }
.button-secondary { border-color: var(--green); color: var(--green); }
.button-secondary:hover { background: var(--green); color: #fff; }
.menu-toggle { display: none; margin-left: auto; border: 0; background: transparent; cursor: pointer; }
.menu-toggle span { display:block; width: 23px; height: 2px; margin: 5px 0; background: var(--ink); }

.hero { min-height: 620px; padding-top: 4rem; padding-bottom: 4.5rem; display: grid; grid-template-columns: minmax(0, .88fr) minmax(430px, 1.12fr); align-items: center; gap: 2rem; }
.hero-copy { max-width: 505px; padding-top: 1.5rem; position: relative; z-index: 2; }
.hero h1 { margin: 0 0 1.5rem; font-size: clamp(3.5rem, 5.8vw, 6rem); letter-spacing: -.045em; }
.hero-lead { max-width: 490px; margin: 0; color: var(--ink-soft); font-size: 1rem; }
.hero-actions { display: flex; gap: .9rem; flex-wrap: wrap; margin-top: 2rem; }

/* Hero collage: faithful eight-card orbital movement, constrained to the visual column. */
.hero-visual { position: relative; min-height: 525px; overflow: hidden; isolation: isolate; }
.orbit-line { position: absolute; left: 50%; top: 50%; width: 390px; height: 390px; border: 1px solid rgba(118,84,103,.22); border-radius: 50%; transform: translate(-50%, -50%); pointer-events: none; }
.orbit-line-a { transform: translate(-50%, -50%) rotate(8deg) scaleX(1.08); }
.orbit-line-b { width: 350px; height: 350px; border-color: rgba(101,112,95,.2); transform: translate(-50%, -50%) rotate(-18deg) scaleY(.94); }
.image-orbit { position: absolute; width: 1px; height: 1px; left: 54%; top: 50%; transform: translate(-50%, -50%); }
.orbit-card { --radius: 177px; --tilt: 0deg; --delay: 0s; position: absolute; left: 0; top: 0; width: 124px; aspect-ratio: .79; overflow: visible; animation: card-orbit 24s linear infinite; animation-delay: var(--delay); }
.orbit-card::before { content:""; position:absolute; inset:0; overflow:hidden; border-radius: 18px; background: linear-gradient(145deg, #ddc2b1, #8a6759); box-shadow: 0 16px 28px rgba(45,31,25,.19); transform: translate(-50%, -50%) rotate(var(--tilt)); }
.orbit-card::after { content:""; position:absolute; inset:0; border-radius:18px; transform: translate(-50%, -50%) rotate(var(--tilt)); background: linear-gradient(140deg, rgba(255,255,255,.4), transparent 38%, rgba(0,0,0,.15)); pointer-events:none; }
.orbit-card span { position:absolute; left:-48px; bottom:-60px; z-index:1; width:96px; color: rgba(255,255,255,.88); font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; transform: rotate(var(--tilt)); pointer-events:none; }
.orbit-card:hover { z-index:5; }
.orbit-card:hover::before { box-shadow: 0 24px 40px rgba(45,31,25,.28); }
.card-1 { --tilt:-8deg; --delay:0s; background:linear-gradient(145deg,#d6bea9,#84685b); }
.card-2 { --tilt:9deg; --delay:-3s; background:linear-gradient(145deg,#f1dfcd,#7b8d6c); }
.card-3 { --tilt:8deg; --delay:-6s; background:linear-gradient(145deg,#6f8366,#2e4437); }
.card-4 { --tilt:-10deg; --delay:-9s; background:linear-gradient(145deg,#dfba7d,#a54b4c); }
.card-5 { --tilt:5deg; --delay:-12s; background:linear-gradient(145deg,#d7d6c0,#556454); }
.card-6 { --tilt:-12deg; --delay:-15s; background:linear-gradient(145deg,#e0b9ba,#6f5363); }
.card-7 { --tilt:9deg; --delay:-18s; background:linear-gradient(145deg,#c74d45,#562f30); }
.card-8 { --tilt:-11deg; --delay:-21s; background:linear-gradient(145deg,#c8d3df,#37639a); }
.card-9, .card-10 { display:none; }
.orbit-card::before { background: inherit; }
@keyframes card-orbit {
  from { transform: rotate(0deg) translateX(var(--radius)); }
  to { transform: rotate(360deg) translateX(var(--radius)); }
}

.values-strip { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); display: grid; grid-template-columns: repeat(4, 1fr); }
.values-strip > div { min-height: 144px; display: flex; align-items: center; gap: .85rem; padding: 1.35rem clamp(1rem, 2vw, 2rem); border-right: 1px solid var(--line); }
.values-strip > div:last-child { border-right: 0; }
.values-strip h2 { margin: 0 0 .4rem; font-size: 1.25rem; }
.values-strip p { margin: 0; font-size: .73rem; color: var(--ink-soft); line-height: 1.45; }
.value-icon, .topic-icon { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; border-radius: 50%; color: #fff; font-size: 1.25rem; }
.icon-plum { background: var(--plum); }.icon-green { background: var(--green); }.icon-rose { background: var(--rose); }.icon-taupe { background: var(--taupe); }

.two-column { padding: 7rem 0; display: grid; grid-template-columns: minmax(330px, .82fr) minmax(0, 1.18fr); align-items: center; gap: clamp(2rem, 6vw, 7rem); }
.about-copy { max-width: 600px; }
.about-copy h2, .reading-heading h2, .contact h2, .isabella-bridge h2 { margin: 0 0 1.45rem; font-size: clamp(2.5rem, 4.6vw, 4.6rem); letter-spacing: -.035em; }
.about-copy p { max-width: 595px; color: var(--ink-soft); }
.image-placeholder { position: relative; overflow: hidden; border-radius: 15px; min-height: 220px; background: linear-gradient(145deg, #d9c7b8, #8c7562); box-shadow: inset 0 0 0 1px rgba(255,255,255,.22); }
.image-placeholder::before { content:""; position:absolute; inset:0; background: linear-gradient(135deg, rgba(255,255,255,.3), transparent 45%, rgba(30,20,17,.18)); }
.image-placeholder span { position:absolute; z-index:1; left: 1rem; bottom: .85rem; padding: .35rem .55rem; font-size: .58rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; color:#fff; border:1px solid rgba(255,255,255,.45); background: rgba(60,40,32,.2); }
.image-placeholder-wide { min-height: 330px; }

.manifesto { margin-bottom: 7rem; padding: clamp(2rem, 5vw, 4rem); position: relative; overflow: hidden; display:grid; grid-template-columns: 110px minmax(0,1fr) 175px; gap: 1.3rem; align-items:center; border-radius: 16px; background: linear-gradient(104deg, #f1e3da 0%, #f8eee6 54%, #e8d3c9 100%); }
.manifesto::after { content:""; position:absolute; right:-150px; top:-190px; width:460px; height:460px; border:1px solid rgba(196,109,117,.22); border-radius:50%; }
.manifesto-number { align-self: start; color: var(--rose); font-family: var(--serif); font-size: 1.4rem; }
.manifesto blockquote { position:relative; z-index:1; margin: 0; font-family:var(--serif); font-size: clamp(2rem,3.4vw,3.8rem); line-height: 1.08; font-style: italic; }
.manifesto-close { position:relative; z-index:1; margin:1rem 0 0; color:var(--rose); font-weight:700; font-size:.75rem; letter-spacing:.09em; text-transform:uppercase; }
.manifesto-image { min-height: 205px; position:relative; z-index:1; }

.topics { padding: 1rem 0 7rem; }
.topic-grid { display:grid; grid-template-columns: repeat(6,1fr); gap: 1rem; }
.topic-card { min-height: 280px; padding: 1.35rem 1rem 1rem; display:flex; flex-direction:column; border:1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.18); transition: transform .2s ease, border-color .2s ease; }
.topic-card:hover { transform: translateY(-5px); border-color: rgba(118,84,103,.45); }
.topic-card h3 { margin: 1rem 0 .65rem; font-size: 1.45rem; }
.topic-card p { margin:0; font-size:.72rem; line-height:1.5; color:var(--ink-soft); }
.topic-card a, .article-card a, .text-link { margin-top:auto; padding-top:1.3rem; color:var(--rose); font-size:.67rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.topic-card a span, .article-card a span, .text-link span { margin-left:.25rem; }

.reading { padding: 0 0 7rem; }
.reading-heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2rem; }
.reading-heading > div { max-width: 745px; }
.reading-heading p:not(.eyebrow) { max-width:680px; margin-bottom:0; color:var(--ink-soft); }
.text-link { flex:0 0 auto; }
.article-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.article-card { min-width:0; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:13px; overflow:hidden; background:rgba(255,255,255,.2); }
.article-image { min-height:170px; border-radius:0; }
.article-card:nth-child(2) .article-image { background:linear-gradient(145deg,#d8dfcf,#65705f); }.article-card:nth-child(3) .article-image { background:linear-gradient(145deg,#dbc1b4,#8f4e50); }.article-card:nth-child(4) .article-image { background:linear-gradient(145deg,#eed2a8,#86634d); }
.article-card > div:last-child { flex:1; padding:1.05rem; display:flex; flex-direction:column; }
.article-card p { margin:0 0 .6rem; color:var(--rose); font-size:.62rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.article-card h3 { margin:0; font-size:1.35rem; line-height:1.08; }

.isabella-bridge { margin-bottom:7rem; padding: 1rem 1rem 1rem 1rem; position:relative; overflow:hidden; display:grid; grid-template-columns: 1fr 1.3fr; align-items:center; gap: clamp(1.5rem,4vw,4rem); border-radius:16px; background:#e9dfd1; }
.bridge-image { min-height:260px; }
.isabella-bridge > div:nth-child(2) { max-width:610px; padding: 2rem 2rem 2rem 0; position:relative; z-index:1; }
.isabella-bridge p:not(.eyebrow) { color:var(--ink-soft); }
.bridge-flower { position:absolute; width:200px; right:-50px; bottom:-58px; opacity:.25; }

.socials { padding-bottom:6rem; }
.socials-lead { max-width:650px; margin: -1.25rem auto 2rem; text-align:center; color:var(--ink-soft); }
.social-list { display:grid; grid-template-columns:repeat(6,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.social-list a { padding:1.2rem .5rem; text-align:center; border-right:1px solid var(--line); font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; transition:background .2s ease,color .2s ease; }
.social-list a:last-child { border-right:0; }.social-list a:hover { color:#fff; background:var(--plum); }

.contact { margin-bottom: 5rem; padding:clamp(2rem,5vw,4rem); display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2rem,5vw,6rem); border-radius:16px; background:linear-gradient(125deg,#efe8dc,#f7f0ea); }
.contact-copy { max-width:485px; }.contact-copy p:not(.eyebrow) { color:var(--ink-soft); }.contact-copy img { width:235px; margin-top:2rem; }
.contact-form { display:grid; gap:.85rem; }
.contact-form label { display:grid; gap:.4rem; font-size:.74rem; font-weight:700; }
.contact-form input, .contact-form textarea { width:100%; padding:.8rem; border:1px solid rgba(60,50,26,.24); border-radius:3px; color:var(--ink); background:rgba(255,255,255,.55); font:inherit; }
.contact-form input:focus, .contact-form textarea:focus { outline:2px solid rgba(118,84,103,.38); outline-offset:1px; }
.form-status { min-height:1.2rem; margin:0; font-size:.8rem; color:var(--plum); }

.site-footer { background:#3d2b2b; color:#fffaf4; padding:3rem max(2rem, calc((100vw - 1180px)/2)) 1rem; }
.footer-top { display:grid; grid-template-columns:240px 1fr 1.2fr; align-items:start; gap:2rem; padding-bottom:2.5rem; }
.footer-top img { width:220px; height:60px; object-fit:contain; object-position:left center; }.footer-top p { margin:0; max-width:230px; color:rgba(255,255,255,.75); font-size:.8rem; }.footer-links { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:1rem 1.25rem; font-size:.7rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }.footer-links a:hover { color:#f4cbd0; }.footer-bottom { padding-top:1rem; border-top:1px solid rgba(255,255,255,.16); display:flex; justify-content:space-between; gap:1rem; color:rgba(255,255,255,.62); font-size:.7rem; }.footer-bottom p { margin:0; }.footer-bottom a:hover { color:#fff; }

@media (max-width: 1020px) { .site-header { padding-inline:1.5rem; }.site-nav { gap:1rem; }.hero { grid-template-columns:1fr; padding-top:2.5rem; }.hero-copy { max-width:610px; }.hero-visual { min-height:460px; max-width:680px; width:100%; margin:0 auto; }.values-strip { grid-template-columns:repeat(2,1fr); }.values-strip > div:nth-child(2) { border-right:0; }.values-strip > div:nth-child(-n+2) { border-bottom:1px solid var(--line); }.topic-grid { grid-template-columns:repeat(3,1fr); }.article-grid { grid-template-columns:repeat(2,1fr); }.footer-top { grid-template-columns:1fr 1fr; }.footer-links { justify-content:flex-start; grid-column:1/-1; } }
@media (max-width: 760px) { .section-shell { width:min(100% - 2rem, 1180px); }.site-header { min-height:76px; padding: .75rem 1rem; }.brand-link { width:210px; }.brand-link img { height:48px; }.menu-toggle { display:block; }.site-nav { position:absolute; top:100%; left:0; right:0; display:none; flex-direction:column; align-items:stretch; gap:0; padding:.7rem 1rem 1rem; border-bottom:1px solid var(--line); background:var(--paper); }.site-nav.is-open { display:flex; }.site-nav a { padding:.8rem .35rem; }.site-nav > a:not(.nav-cta)::after { display:none; }.nav-cta { margin-top:.45rem; }.hero { min-height:auto; padding:3rem 0; }.hero h1 { font-size:clamp(3rem,14vw,4.7rem); }.hero-visual { min-height:400px; }.image-orbit { left:50%; }.orbit-line { width:315px; height:315px; }.orbit-line-b { width:280px; height:280px; }.orbit-card { --radius:138px; width:96px; }.values-strip { grid-template-columns:1fr; }.values-strip > div { border-right:0; border-bottom:1px solid var(--line); min-height:125px; }.values-strip > div:last-child { border-bottom:0; }.two-column, .contact, .isabella-bridge { grid-template-columns:1fr; }.two-column { padding:4.5rem 0; }.about-image { order:2; }.manifesto { margin-bottom:4.5rem; grid-template-columns:1fr; }.manifesto-number { display:none; }.manifesto-image { display:none; }.topics { padding-bottom:4.5rem; }.topic-grid { grid-template-columns:repeat(2,1fr); }.reading { padding-bottom:4.5rem; }.reading-heading { align-items:start; flex-direction:column; }.article-grid { grid-template-columns:1fr; }.isabella-bridge { margin-bottom:4.5rem; padding:1rem; }.isabella-bridge > div:nth-child(2) { padding:1.2rem .7rem 1.5rem; }.bridge-image { min-height:220px; }.social-list { grid-template-columns:repeat(2,1fr); }.social-list a { border-bottom:1px solid var(--line); }.social-list a:nth-child(2n) { border-right:0; }.contact { margin-bottom:3rem; }.footer-top { grid-template-columns:1fr; }.footer-links { grid-column:auto; }.footer-bottom { flex-direction:column; }.footer-top img { width:220px; } }
@media (max-width:420px) { .topic-grid { grid-template-columns:1fr; }.hero-visual { min-height:340px; }.orbit-card { --radius:112px; width:80px; padding:.45rem; }.orbit-line { width:258px; height:258px; }.orbit-line-b { width:230px; height:230px; } }