:root {
  --ink: #251f22;
  --muted: #70676b;
  --paper: #ffffff;
  --soft: #fff5f6;
  --accent: #ef5b67;
  --accent-dark: #c93b4a;
  --line: #eadfe1;
  --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body { margin: 0; padding-top:76px; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
img, svg, video { max-width: 100%; }
.shell { width: min(1120px, calc(100% - 48px)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 140; top: 12px; left: 12px; padding: 10px 14px; border-radius: 6px; background: var(--ink); color: white; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.site-header { position:fixed; z-index:100; top:0; right:0; left:0; width:100%; border-bottom:1px solid color-mix(in srgb,var(--line) 68%,transparent); background:color-mix(in srgb,var(--paper) 78%,transparent); backdrop-filter:blur(14px) saturate(120%); -webkit-backdrop-filter:blur(14px) saturate(120%); }
.nav-wrap,.footer-inner { display:flex; align-items:center; justify-content:space-between; }
.nav-wrap { min-height:76px; }
.brand { display:inline-flex; align-items:center; gap:10px; flex-shrink:0; font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif; font-size:1.02rem; font-weight:700; letter-spacing:.105em; }
.brand-mark { position:relative; display:inline-block; width:32px; height:32px; flex:0 0 32px; background:url('/favicon.svg') center/100% 100% no-repeat; transform:scale(1.08); transform-origin:center; }
.brand-mark span { display:none; }
.site-nav { display:flex; align-items:center; gap:32px; }
.site-nav a { position:relative; padding-block:8px; color:#554b4f; font-size:.92rem; }
.site-nav a::after { position:absolute; right:0; bottom:3px; left:0; height:1px; background:var(--accent); content:""; transform:scaleX(0); transform-origin:right; transition:transform 180ms ease; }
.site-nav a:hover::after,.site-nav a:focus-visible::after { transform:scaleX(1); transform-origin:left; }
.site-nav .nav-join { padding:8px 14px; border:1px solid var(--accent); border-radius:999px; color:var(--accent-dark); }
.site-nav .nav-join::after { display:none; }
.menu-button { display:none; width:44px; height:44px; border:0; background:transparent; }
.hero { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr); gap:clamp(48px,8vw,116px); align-items:center; min-height:min(760px,calc(100vh - 76px)); min-height:min(760px,calc(100dvh - 76px)); padding-block:92px 106px; }
.eyebrow,.section-index,.card-tag,.status,.card-meta,.note-title { font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.eyebrow,.section-index { margin:0 0 28px; color:var(--accent-dark); }
.hero h1,.section h2,.work-card h3 { margin:0; font-family:var(--serif); font-weight:400; line-height:1.02; letter-spacing:-.035em; overflow-wrap:break-word; }
.hero h1 { max-width:800px; font-size:clamp(3.15rem,7.2vw,6.7rem); }
.hero h1 em { color:var(--accent); font-weight:inherit; }
.hero-lead { max-width:590px; margin:34px 0 32px; color:var(--muted); font-size:clamp(1.06rem,1.5vw,1.22rem); line-height:1.65; }
.hero-actions { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 22px; border:1px solid var(--accent); border-radius:999px; background:var(--accent); color:white; font-size:.92rem; font-weight:700; transition:background 160ms ease,border-color 160ms ease,transform 160ms ease; }
.button:hover,.button:focus-visible { border-color:var(--accent-dark); background:var(--accent-dark); transform:translateY(-2px); }
.text-link { color:var(--muted); font-size:.92rem; border-bottom:1px solid var(--line); }
.hero-note { padding:8px 0 0; border-top:2px solid var(--ink); min-width:0; }
.note-title { margin:0 0 8px; color:var(--accent-dark); }
.note-item { display:grid; grid-template-columns:1fr auto; gap:18px; align-items:start; padding:15px 0; border-bottom:1px solid var(--line); }
.note-item span { color:var(--ink); font-size:.94rem; }
.note-item strong { color:var(--muted); font-size:.82rem; font-weight:500; text-align:right; }
.section { padding-block:128px; scroll-margin-top:75px; }
.intro { display:grid; grid-template-columns:.6fr 1.4fr; gap:48px; border-top:1px solid var(--line); }
.intro-copy { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(40px,7vw,96px); min-width:0; }
.section h2 { font-size:clamp(2.6rem,5vw,5rem); }
.intro-copy > p { max-width:490px; margin:6px 0 0; color:var(--muted); font-size:1.08rem; line-height:1.75; }
.work { background:var(--soft); }
.section-heading { display:grid; grid-template-columns:.6fr 1.4fr; gap:48px; margin-bottom:60px; }
.work-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:16px; }
.work-card { display:flex; flex-direction:column; justify-content:space-between; min-width:0; min-height:360px; padding:30px; border:1px solid #ead8dc; border-radius:14px; background:white; }
.work-card--featured { background:var(--accent); color:white; }
.work-card--wide { grid-column:1 / -1; display:grid; grid-template-columns:.35fr 1fr .45fr; gap:40px; align-items:end; min-height:250px; }
.card-topline { display:flex; justify-content:space-between; gap:20px; }
.card-number,.card-tag,.card-meta { color:var(--muted); }
.work-card--featured .card-number,.work-card--featured .card-tag,.work-card--featured .card-meta,.work-card--featured p { color:rgba(255,255,255,.86); }
.status { padding:4px 9px; border-radius:999px; background:var(--soft); color:var(--accent-dark); white-space:nowrap; }
.work-card h3 { margin-bottom:18px; font-size:clamp(2.3rem,4vw,4rem); }
.work-card p { max-width:560px; margin:0; color:var(--muted); }
.card-meta { margin-top:32px !important; }
.join-cta { background:var(--accent); color:white; }
.join-cta .section-index { color:rgba(255,255,255,.78); }
.join-cta-inner { display:grid; grid-template-columns:.6fr 1.4fr; gap:48px; align-items:start; }
.join-cta h2 { max-width:760px; font-size:clamp(4rem,9vw,8.4rem); line-height:.9; }
.join-cta p:not(.section-index) { max-width:620px; margin:28px 0 40px; color:rgba(255,255,255,.88); font-size:1.1rem; }
.join-button { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:120px; padding:0 28px; border-top:1px solid rgba(255,255,255,.65); border-bottom:1px solid rgba(255,255,255,.65); font-family:var(--serif); font-size:clamp(2.8rem,7vw,6rem); line-height:1; transition:padding 160ms ease,background 160ms ease; }
.join-button:hover,.join-button:focus-visible { padding-inline:38px; background:rgba(255,255,255,.1); }
.join-button span { font-family:var(--sans); font-size:.42em; }
.contact { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:end; }
.contact-copy { padding-bottom:8px; min-width:0; }
.contact-copy > p { max-width:460px; margin:0 0 26px; color:var(--muted); font-size:1.08rem; }
.mail-link { display:flex; gap:16px; align-items:center; justify-content:space-between; padding:17px 0; border-bottom:1px solid var(--accent); color:var(--accent-dark); font-size:clamp(1rem,2vw,1.35rem); font-weight:650; overflow-wrap:anywhere; }
.mail-link span { flex-shrink:0; transition:transform 160ms ease; }
.mail-link:hover span,.mail-link:focus-visible span { transform:translate(3px,-3px); }
.site-footer { border-top:1px solid var(--line); }
.footer-inner { min-height:126px; gap:24px; color:var(--muted); font-size:.85rem; }
.brand--footer { color:var(--ink); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
:focus-visible { outline:3px solid rgba(239,91,103,.34); outline-offset:4px; }

@media (max-width:840px){
  .hero{grid-template-columns:1fr;min-height:auto;gap:48px}
  .hero-note{max-width:520px}
  .intro,.section-heading,.join-cta-inner{grid-template-columns:1fr;gap:16px}
  .intro-copy{grid-template-columns:1fr;gap:30px}
  .work-grid{grid-template-columns:1fr}
  .work-card--wide{grid-column:auto;display:flex;min-height:360px}
  .contact{grid-template-columns:1fr;gap:44px}
  .join-button{min-height:100px}
}

@media (max-width:620px){
  body{padding-top:68px}
  .shell{width:min(calc(100% - 32px),1120px)}
  .nav-wrap{min-height:68px}
  .brand{font-size:.94rem;letter-spacing:.09em}
  .brand-mark{width:30px;height:30px;flex-basis:30px;transform:scale(1.05)}
  .menu-button{display:grid;place-content:center;gap:7px;cursor:pointer;margin-right:-10px}
  .menu-button>span:not(.sr-only){width:22px;height:1px;background:currentColor;transition:transform 160ms ease}
  .menu-button[aria-expanded="true"]>span:nth-of-type(2){transform:translateY(4px) rotate(45deg)}
  .menu-button[aria-expanded="true"]>span:nth-of-type(3){transform:translateY(-4px) rotate(-45deg)}
  .site-nav:not(.join-nav){position:absolute;top:68px;right:0;left:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px 16px calc(18px + env(safe-area-inset-bottom));border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(12px) saturate(115%);-webkit-backdrop-filter:blur(12px) saturate(115%);box-shadow:0 12px 28px rgba(37,31,34,.06)}
  .site-nav:not(.join-nav).is-open{display:flex}
  .site-nav:not(.join-nav) a{padding:12px 0}
  .site-nav:not(.join-nav) .nav-join{margin-top:6px;text-align:center}
  .join-nav{display:flex;gap:16px;margin-left:auto}
  .join-nav a{font-size:.84rem;padding-block:10px}
  .hero{padding-block:58px 72px;gap:42px}
  .hero h1{font-size:clamp(2.35rem,11.8vw,3.7rem);line-height:.98;letter-spacing:-.04em}
  .hero-lead{margin:26px 0 28px;font-size:1rem;line-height:1.62}
  .hero-actions{align-items:flex-start;gap:15px}
  .eyebrow,.section-index{margin-bottom:20px}
  .note-item{grid-template-columns:1fr;gap:2px}
  .note-item strong{text-align:left}
  .section{padding-block:78px;scroll-margin-top:67px}
  .section-heading{margin-bottom:38px}
  .section h2{font-size:clamp(2.45rem,11vw,3.7rem)}
  .intro-copy>p,.contact-copy>p{font-size:1rem}
  .work-card{min-height:300px;padding:22px}
  .work-card h3{font-size:clamp(2.2rem,11vw,3.25rem)}
  .card-topline{gap:12px}
  .join-cta h2{font-size:clamp(3.2rem,16vw,4.8rem)}
  .join-cta p:not(.section-index){margin:22px 0 30px;font-size:1rem}
  .join-button{min-height:84px;padding-inline:0;font-size:clamp(2.6rem,17vw,4.6rem)}
  .join-button:hover,.join-button:focus-visible{padding-inline:8px}
  .mail-link{font-size:.98rem}
  .footer-inner{flex-direction:column;align-items:flex-start;justify-content:center;padding-block:30px;gap:12px}
  .footer-inner p{margin:0}
}

@media (max-width:390px){
  .shell{width:min(calc(100% - 24px),1120px)}
  .brand{gap:8px;font-size:.9rem}
  .brand-mark{transform:scale(1.03);transform-origin:center}
  .join-nav{gap:11px}
  .join-nav a{font-size:.78rem}
  .hero{padding-block:48px 64px}
  .hero h1{font-size:clamp(2.2rem,11.5vw,2.95rem)}
  .hero-actions{display:grid;grid-template-columns:1fr}
  .button{width:100%}
  .text-link{justify-self:start}
  .section{padding-block:68px}
  .work-card{min-height:280px;padding:20px}
  .status,.card-tag{font-size:.68rem;letter-spacing:.09em}
  .join-button{font-size:clamp(2.45rem,16vw,3.6rem)}
}

@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} *,*::before,*::after{transition-duration:.01ms !important} }
