/*
Theme Name: Erik Deci
Theme URI: https://erikdeci.com
Author: Erik Deci
Description: A dark editorial block theme for the Erik Deci creative archive.
 Version: 1.9.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: erik-deci
*/

:root {
  --ed-ink: #111214;
  --ed-panel: #191b1f;
  --ed-paper: #f5f2ec;
  --ed-bright: #e5e1d9;
  --ed-muted: #c8c4bc;
  --ed-accent: #391820;
  --ed-blue: #17202c;
  --ed-rule: #fff;
  --ed-wide: 1320px;
  --ed-content: 720px;
  --ed-serif: "Fraunces", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --ed-sans: "DM Sans", "Avenir Next", Avenir, system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { background: var(--ed-ink); scroll-behavior: smooth; }
body { margin: 0; background: var(--ed-ink); color: var(--ed-paper); font-family: var(--ed-sans); font-weight: 500; line-height: 1.65; overflow-x: hidden; }
img { max-width: 100%; height: auto; }
a { color: var(--ed-paper); text-decoration-thickness: 1px; text-underline-offset: .22em; }
a:hover { color: var(--ed-bright); }
:focus-visible { outline: 2px solid var(--ed-paper); outline-offset: 4px; }
::selection { background: var(--ed-accent); color: var(--ed-paper); }
h1,h2,h3,h4,h5,h6 { color: var(--ed-paper); font-family: var(--ed-serif); font-weight: 650; letter-spacing: -.035em; line-height: 1.02; }
.wp-site-blocks { overflow: clip; }
.wp-block-group.alignfull, .alignfull { width: 100%; }

.ed-site-header { position: sticky; top:0; z-index: 20; border-bottom: 1px solid var(--ed-rule); background: rgba(17,18,20,.96); backdrop-filter:blur(12px); }
.ed-header-inner { width: min(calc(100% - 40px), var(--ed-wide)); min-height: 80px; margin: auto; display: flex; align-items: center; gap: 36px; }
.ed-header-mark { flex:0 0 auto; margin:0!important; font-family:var(--ed-serif); font-size:30px; font-weight:650; letter-spacing:.08em; }
.ed-header-mark a { color:var(--ed-paper); text-decoration:none; }
.ed-header-links { display: flex; align-items: center; gap: 30px; flex: 1 1 auto; }
.ed-header-main-nav { margin-left: auto; }
.ed-header-main-nav .ed-mobile-subscribe { display: none!important; }
.ed-header-subscribe { border-left: 1px solid var(--ed-rule); padding-left: 30px; }
.ed-header-inner .wp-block-navigation__container { gap: 28px; }
.ed-header-inner .wp-block-navigation-item__content { color: var(--ed-bright); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-decoration: none; text-transform: uppercase; }
.ed-header-inner .wp-block-navigation-item__content:hover { color: var(--ed-paper); }

.ed-home-main { padding: 0!important; }
.ed-home-hero { position:relative; isolation:isolate; min-height: 65vh; width: 100%; display: flex; flex-direction: column; justify-content: flex-end; padding: 96px max(20px, calc((100% - var(--ed-wide))/2)) 72px; border-bottom: 1px solid var(--ed-rule); background:var(--ed-ink) url("assets/hero-img-0629.webp") center 42%/cover no-repeat; overflow:hidden; }
.ed-home-hero:before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(to top,var(--ed-ink) 0,rgba(17,18,20,.48) 55%,rgba(16,25,36,.45) 100%),rgba(18,31,46,.58); background-blend-mode:multiply; }
.ed-home-kicker,.ed-section-label { margin: 0 0 24px!important; color: var(--ed-bright)!important; font-size: 10px!important; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.ed-home-title { max-width: 1000px; margin: 0!important; font-size: clamp(4rem, 8vw, 6.5rem)!important; font-weight: 650!important; line-height: .9!important; }
.ed-home-intro { max-width: 650px; margin: 24px 0 0!important; color: var(--ed-bright)!important; font-family: var(--ed-serif)!important; font-size: clamp(1.2rem, 2vw, 1.55rem)!important; font-style:italic; line-height: 1.5!important; }
.ed-home-index { width: 100%; margin-top: 56px; padding-top: 16px; border-top: 1px solid var(--ed-rule); color: var(--ed-bright); font-size: 10px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.ed-home-work { width: min(calc(100% - 40px), var(--ed-wide)); margin: auto; padding: 72px 0 96px; border-bottom: 1px solid var(--ed-rule); }
.ed-home-work > .ed-section-label { margin-bottom: 64px!important; }
.ed-home-photography-wrap,.ed-home-projects-wrap { width: 100%; border-bottom: 1px solid var(--ed-rule); }
.ed-home-photography-wrap > .wp-block-group,.ed-home-projects-wrap > .wp-block-group { width: min(calc(100% - 40px),var(--ed-wide)); margin: auto; padding: 72px 0; }

.edc-stream { display: grid; gap: 64px; }
.edc-featured,.edc-stream-item,.edc-home-resurfaced { border-bottom: 1px solid var(--ed-rule); }
.ed-home-work .edc-featured,.ed-home-work .edc-stream-item,.ed-home-work .edc-home-resurfaced { border-bottom:0; }
.edc-featured { padding-bottom: 48px; }
.edc-stream-item { max-width: 900px; padding-bottom: 40px; }
.edc-stream-item .edc-kicker,.edc-card-meta { margin: 0 0 14px; color: var(--ed-bright); font-size: 10px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.edc-card-meta { display:flex; flex-wrap:wrap; gap:8px; }
.edc-stream-item h2 { margin: 0; font-size: clamp(2.7rem, 6vw, 5rem); }
.edc-stream-item h2 a,.edc-project-card h2 a { color: var(--ed-paper); text-decoration: none; }
.edc-stream-item h2 a:hover,.edc-project-card h2 a:hover { color: var(--ed-bright); }
.edc-card-excerpt,.edc-project-card p { max-width: 650px; margin: 22px 0 0; color: var(--ed-bright); font-size: 1.05rem; line-height: 1.7; }
.edc-recent-head { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.edc-recent-head .ed-section-label { margin-bottom:24px!important; }
.edc-recent-actions { display:flex; align-items:center; gap:18px; }
.edc-view-all { margin-bottom:24px; color:var(--ed-bright); font-size:10px; font-weight:700; letter-spacing:.16em; text-decoration:none; text-transform:uppercase; }
.edc-view-all:hover { color:var(--ed-paper); }
.edc-carousel-controls { display:flex; gap:10px; margin-bottom:24px; }
.edc-carousel-controls button { display:grid; place-items:center; width:42px; height:42px; padding:0; border:1px solid var(--ed-rule); border-radius:0; background:transparent; color:var(--ed-paper); cursor:pointer; }
.edc-carousel-controls button:hover { background:var(--ed-paper); color:var(--ed-ink); }
.edc-carousel-controls svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.5; }
.edc-recent-grid { display:flex; gap:24px; margin-right:calc((100vw - min(calc(100vw - 40px),var(--ed-wide)))/-2); padding-right:max(20px,calc((100vw - var(--ed-wide))/2)); overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
.edc-recent-grid::-webkit-scrollbar { display:none; }
.edc-recent-grid .edc-stream-item { flex:0 0 min(72vw,790px); max-width:none; min-height:360px; scroll-snap-align:start; transition:background-color .25s ease,border-color .25s ease; }
.edc-recent-grid .edc-stream-item:hover { background:rgba(255,255,255,.025); border-top-color:var(--ed-paper); }
.edc-home-recent .edc-stream-item { display:grid; grid-template-columns:minmax(230px,.9fr) minmax(260px,1fr); grid-template-rows:auto auto 1fr auto; gap:0 34px; min-height:340px; padding:22px 0 26px; border-top:1px solid var(--ed-rule); }
.edc-home-recent .edc-card-image { grid-column:1; grid-row:1 / span 4; display:block; min-height:100%; overflow:hidden; }
.edc-home-recent .edc-card-image img { display:block; width:100%; height:100%; min-height:294px; aspect-ratio:4/3; object-fit:cover; filter:grayscale(78%) contrast(1.08); transition:filter .45s ease,transform .7s ease; }
.edc-home-recent .edc-stream-item:hover .edc-card-image img { filter:grayscale(15%) contrast(1.04); transform:scale(1.025); }
.edc-home-recent .edc-kicker,.edc-home-recent .edc-card-meta { grid-column:2; grid-row:1; align-self:start; }
.edc-home-recent .edc-stream-item h2 { grid-column:2; grid-row:2; font-size:clamp(2.35rem,4vw,4rem); }
.edc-home-recent .edc-card-excerpt { grid-column:2; grid-row:3; }
.edc-card-location { display:inline-flex; align-items:center; gap:8px; width:fit-content; margin-top:20px; color:var(--ed-bright); font-size:10px; font-weight:700; letter-spacing:.13em; text-decoration:none; text-transform:uppercase; }
.edc-card-location:hover { color:var(--ed-paper); }
.edc-card-location svg { flex:0 0 auto; width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.5; }
.edc-home-recent .edc-card-location { grid-column:2; grid-row:4; }
.edc-home-recent .no-post-thumbnail { grid-template-columns:1fr; padding:34px; background:linear-gradient(145deg,var(--ed-panel),transparent); }
.edc-home-recent .no-post-thumbnail .edc-kicker,.edc-home-recent .no-post-thumbnail .edc-card-meta,.edc-home-recent .no-post-thumbnail h2,.edc-home-recent .no-post-thumbnail .edc-card-excerpt,.edc-home-recent .no-post-thumbnail .edc-card-location { grid-column:1; }
.edc-photo-strip { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(220px,1fr); gap: 1px; overflow-x: auto; background: var(--ed-rule); }
.edc-project-strip { display:block; }
.edc-photo-strip-item { min-width: 220px; margin: 0; background: var(--ed-ink); }
.edc-photo-strip-item img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; filter: grayscale(75%) contrast(1.08); }
.edc-photo-strip-item figcaption { padding: 14px; color: var(--ed-bright); font-size: 11px; }
.edc-photo-strip-item.is-titleless-photograph figcaption { font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.edc-project-card { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); gap:clamp(36px,6vw,80px); align-items:center; padding:0; }
.edc-project-card:first-child { border-left: 0; padding-left: 0; }
.edc-project-card img { display:block; width:100%; aspect-ratio: 16/9; object-fit:cover; filter: grayscale(70%) contrast(1.08) sepia(12%) hue-rotate(175deg); }
.edc-project-copy { padding-left:clamp(0px,3vw,42px); border-left:1px solid var(--ed-rule); }
.edc-project-status,.edc-project-follow { color:var(--ed-bright); font-size:10px!important; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }
.edc-project-follow { display:inline-block; margin-top:28px; text-decoration:none; }
.edc-project-card h2 { margin: 22px 0 0; font-size: 2.5rem; }
.edc-empty-state,.edc-onboarding { padding:30px 0; color:var(--ed-bright); border:0; }
.ed-home-newsletter-wrap { width:100%; padding:0 max(20px,calc((100% - var(--ed-wide))/2)); background:var(--ed-accent); border-bottom:1px solid var(--ed-rule); }
.ed-home-newsletter-wrap .edc-newsletter { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,1fr); column-gap:clamp(48px,8vw,120px); align-items:center; padding:72px 0; border:0; background:transparent; }
.edc-newsletter { padding: 56px; border: 1px solid var(--ed-rule); background: var(--ed-panel); }
.ed-home-newsletter-wrap .edc-newsletter h2,.ed-home-newsletter-wrap .edc-newsletter>p:not(.edc-privacy-note) { grid-column:1; }
.ed-home-newsletter-wrap .edc-newsletter .jetpack_subscription_widget,.ed-home-newsletter-wrap .edc-newsletter .wp-block-jetpack-subscriptions__container { grid-column:2; grid-row:1 / span 2; width:100%; }
.ed-home-newsletter-wrap .edc-newsletter .edc-privacy-note { grid-column:2; }
.edc-newsletter h2 { margin-top: 0; font-size: clamp(2rem,4vw,3.4rem); }
.edc-newsletter > p:not(.edc-privacy-note) { max-width: 720px; color: var(--ed-bright); font-size: 1.1rem; }
.edc-newsletter form { display: flex; gap: 12px; align-items: stretch; margin-top: 32px; }
.edc-newsletter form p { margin: 0; }
.edc-newsletter form > p:empty,.edc-newsletter #subscribe-email br,.edc-newsletter #subscribe-submit br { display:none; }
.edc-newsletter #subscribe-email { flex:1 1 auto; min-width:0; }
.edc-newsletter #subscribe-submit { flex:0 0 auto; display:flex; align-items:stretch; }
.edc-newsletter input[type=email],.edc-archive input[type=search],.edc-archive input[name=s] { min-height: 56px; padding: 14px 16px; border: 2px solid var(--ed-paper); border-radius: 0; background: var(--ed-paper); color: var(--ed-ink); font: inherit; }
.edc-newsletter input[type=email] { width: 100%; min-width: 260px; }
.edc-newsletter input[type=email]::placeholder { color: #555; opacity: 1; }
.edc-newsletter input[type=email]:focus { outline: 2px solid var(--ed-accent); outline-offset: 3px; }
.edc-newsletter button,.edc-newsletter input[type=submit],.edc-archive button { min-height: 56px; padding: 12px 20px; border: 1px solid var(--ed-paper); border-radius: 0; background: var(--ed-paper); color: var(--ed-ink); font: 700 12px var(--ed-sans); letter-spacing: .08em; text-transform: uppercase; cursor:pointer; }
.edc-newsletter button:hover,.edc-newsletter input[type=submit]:hover,.edc-archive button:hover { background: var(--ed-bright); }
.edc-privacy-note { font-size: .85rem; }
.edc-newsletter-compact { display:flex; flex-wrap:wrap; gap:5px; margin-top:64px; padding:20px 0; border-top:1px solid var(--ed-rule); border-bottom:1px solid var(--ed-rule); color:var(--ed-bright); font-family:var(--ed-serif); font-size:1.05rem; }
.edc-newsletter-compact a { color:var(--ed-paper); font-family:var(--ed-sans); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.ed-home-archive-links { width:100%; padding:40px max(20px,calc((100% - var(--ed-wide))/2)); border-bottom:1px solid var(--ed-rule); }
.ed-home-archive-links>.wp-block-group { gap:32px; }
.ed-home-archive-links p,.ed-home-archive-links a { margin:0; color:var(--ed-bright); font-size:10px; font-weight:700; letter-spacing:.16em; text-decoration:none; text-transform:uppercase; }

main.wp-block-group:not(.ed-home-main) { width: min(calc(100% - 40px), var(--ed-content)); margin: auto; padding-top: 96px!important; padding-bottom: 112px!important; }
.ed-about-layout { width:min(calc(100% - 40px),var(--ed-wide)); margin:auto; padding:96px 0 112px; }
.ed-about-layout>h1 { margin:0 0 48px; font-size:clamp(3.4rem,8vw,6rem); }
.ed-about-intro { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr); gap:clamp(48px,8vw,120px); align-items:start; }
.ed-about-intro .wp-block-post-content { max-width:68ch; }
.ed-about-portrait { margin:0; border:1px solid var(--ed-rule); background:var(--ed-panel); overflow:hidden; }
.ed-about-portrait img { display:block; width:100%; aspect-ratio:3/4; object-fit:cover; filter:saturate(.75) contrast(1.06); }
.ed-about-secondary { margin-top:64px; max-width:420px; }
.ed-about-secondary img { aspect-ratio:4/5; filter:grayscale(.55) contrast(1.08) brightness(.88); }
main.wp-block-group:not(.ed-home-main) > h1,.wp-block-query-title { margin: 0 0 48px; font-size: clamp(3.4rem, 8vw, 6rem); }
.wp-block-post-content { max-width: 68ch; color: var(--ed-bright); }
.wp-block-post-content p { margin: 0 0 1.5em; }
.wp-block-post-featured-image { margin: 40px 0; }
.wp-block-post-featured-image img { width:100%; }
.edc-public-category,.edc-meta { color: var(--ed-bright); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.edc-public-category { margin:0 0 18px; }
.edc-meta { margin: 22px 0 40px; }
.edc-related,.edc-post-navigation { margin-top: 72px; padding-top: 28px; border-top: 1px solid var(--ed-rule); }
.edc-related h2 { font-size: 2rem; }
.edc-related li { margin: 12px 0; }
.edc-post-navigation { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.edc-post-navigation a { display:flex; flex-direction:column; gap:8px; text-decoration:none; }
.edc-post-navigation a:last-child { text-align:right; }
.edc-post-navigation span { color:var(--ed-bright); font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.edc-post-navigation strong { font-family:var(--ed-serif); font-size:1.5rem; }
.edc-archive { display:grid; gap:36px; margin-top: 42px; }
.edc-archive form { display:flex; align-items:end; gap:12px; padding:18px 0; border-top:1px solid var(--ed-rule); border-bottom:1px solid var(--ed-rule); }
.edc-archive form label { color:var(--ed-bright); font-size:14px; }
.edc-archive .edc-stream-item { max-width:none; }
.edc-archive-edc_photography { grid-template-columns:repeat(2,minmax(0,1fr)); }
.edc-archive-edc_photography form,.edc-archive-edc_photography .edc-empty-state { grid-column:1/-1; }
.edc-archive-edc_photography .edc-stream-item { align-content:start; }
.edc-archive-edc_photography .edc-card-image img { display:block; width:100%; height:auto; max-height:760px; object-fit:contain; background:var(--ed-panel); }
.edc-archive-edc_photography .is-titleless-photograph .edc-card-meta { margin-top:16px; }
.edc-archive-edc_photography .is-titleless-photograph .edc-card-excerpt { margin-top:10px; font-family:var(--ed-serif); font-size:1.15rem; font-style:italic; }
.edc-media-embed { margin:0 0 36px; padding:24px 0; border-top:1px solid var(--ed-rule); border-bottom:1px solid var(--ed-rule); }
.edc-media-embed video,.edc-media-embed audio,.edc-media-embed iframe { display:block; width:100%; border:0; }

/* Archival layer: Daybook, Almanac, and generated Day Files. */
.ed-page-intro { max-width: 42rem; margin: -24px 0 52px; color: var(--ed-bright); font-family: var(--ed-serif); font-size: 1.25rem; font-style: italic; }
.ed-writing-sections { display:flex; gap:18px 28px; margin: -18px 0 64px; padding:16px 0; border-top:1px solid var(--ed-rule); border-bottom:1px solid var(--ed-rule); }
.ed-writing-sections a { color:var(--ed-bright); font-size:10px; font-weight:700; letter-spacing:.16em; text-decoration:none; text-transform:uppercase; }
.ed-writing-sections a:hover { color:var(--ed-paper); }
.ed-writing-daybook { margin:0 0 88px; padding:0 0 72px; border-bottom:1px solid var(--ed-rule); }
.ed-writing-daybook > .ed-section-label { margin-bottom:28px!important; }
.ed-daybook-single main, .ed-day-file-page main { position:relative; }
.ed-daybook-single main { display:flex; flex-direction:column; }
.ed-daybook-single .edc-public-category { order:0; }
.ed-daybook-single .edc-meta { order:1; max-width: 42rem; margin: 0 0 18px; color:var(--ed-bright); font-family:var(--ed-serif); font-size:1.35rem; letter-spacing:0; line-height:1.45; text-transform:none; }
.ed-daybook-single .wp-block-post-title { order:2; max-width: 760px; margin:0 0 52px; color:var(--ed-bright); font-size:clamp(1.7rem,4vw,2.7rem); font-style:italic; }
.ed-daybook-single .wp-block-post-featured-image { order:3; }
.ed-daybook-single .wp-block-post-content { order:4; }
.ed-daybook-single .edc-post-reactions, .ed-daybook-single .edc-related, .ed-daybook-single .edc-post-navigation, .ed-daybook-single .edc-newsletter, .ed-daybook-single .edr-responses { order:5; }
.ed-daybook-single .wp-block-post-content { max-width: 760px; }
.ed-daybook-single .wp-block-post-content > h2:first-child { margin-top:0; }
.ed-daybook-single .wp-block-post-content time, .edc-daybook time, .edc-day-file time { color:var(--ed-bright); font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.edc-daybook, .edc-day-file, .edc-almanac { width:100%; }
.edc-daybook > h2, .edc-day-file > h1, .edc-day-file > h2 { margin:0 0 26px; font-size:clamp(2.2rem,5vw,4.5rem); }
.edc-daybook-entry, .edc-day-file-entry { padding:30px 0; border-top:1px solid var(--ed-rule); }
.edc-daybook-entry:first-child, .edc-day-file-entry:first-child { border-top:0; padding-top:0; }
.edc-daybook-entry h2, .edc-daybook-entry h3, .edc-day-file-entry h2, .edc-day-file-entry h3 { margin:12px 0 16px; }
.edc-daybook-entry p, .edc-day-file-entry p { max-width:68ch; color:var(--ed-bright); }
.edc-daybook-moment { display:grid; grid-template-columns:minmax(90px,.22fr) minmax(0,1fr); gap:24px; }
.edc-daybook-moment + .edc-daybook-moment { margin-top:28px; padding-top:28px; border-top:1px solid var(--ed-rule); }
.edc-daybook-moment > .edc-daybook-time { color:var(--ed-paper); font:700 10px/1.4 var(--ed-sans); letter-spacing:.16em; text-transform:uppercase; }
.edc-day-file > .edc-section-label { margin-bottom:18px!important; }
.edc-day-file > h1 { margin:0 0 52px; padding-bottom:28px; border-bottom:1px solid var(--ed-rule); font-size:clamp(3rem,8vw,6rem); }
.edc-day-file-items { margin-top:0; }
.edc-day-file-items .edc-stream-item { max-width:none; }
.edc-day-file-items .edc-card-meta { order:0; }
.edc-day-file-items .edc-card-excerpt { max-width:68ch; }
.edc-daybook .edc-stream-item h2 { margin-top:14px; }
.edc-daybook .edc-stream-item h2 a { text-decoration:none; }
.edc-daybook .edc-card-subtitle { max-width:42rem; margin:10px 0 0; color:var(--ed-bright); font-family:var(--ed-serif); font-size:1.15rem; font-style:italic; }
.ed-writing-daybook .edc-stream-item h2 { margin-top:14px; }
.ed-writing-daybook .edc-stream-item .edc-card-subtitle { max-width:42rem; margin:10px 0 0; color:var(--ed-bright); font-family:var(--ed-serif); font-size:1.15rem; font-style:italic; }
.edc-almanac-year > nav { display:flex; flex-wrap:wrap; gap:10px 18px; margin:-34px 0 34px; }
.edc-almanac-year > nav a { color:var(--ed-bright); font-size:10px; font-weight:700; letter-spacing:.14em; text-decoration:none; text-transform:uppercase; }
.edc-almanac-year > nav a:hover { color:var(--ed-paper); }
.edc-almanac-calendar { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--ed-rule); }
.edc-almanac-month { min-width:0; padding:24px 18px; background:var(--ed-ink); }
.edc-almanac-month h2 { margin:0 0 18px; font-size:1.35rem; }
.edc-almanac-month .edc-almanac-weekdays, .edc-almanac-month > ol { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; margin:0; padding:0; list-style:none; }
.edc-almanac-weekdays { margin-bottom:8px!important; color:var(--ed-muted); font-size:9px; font-weight:700; letter-spacing:.08em; text-align:center; text-transform:uppercase; }
.edc-almanac-day-cell { min-height:34px; display:grid; place-items:center; color:var(--ed-muted); font-size:11px; }
.edc-almanac-day-cell.is-offset { min-height:34px; opacity:.22; }
.edc-almanac-day-cell.is-active a { position:relative; display:grid; place-items:center; width:100%; min-height:34px; border:1px solid var(--ed-rule); color:var(--ed-paper); font-weight:700; text-decoration:none; }
.edc-almanac-day-cell.is-active a::after { content:""; width:4px; height:4px; margin-top:2px; border-radius:50%; background:currentColor; }
.edc-almanac-day-cell.is-active a:hover, .edc-almanac-day-cell.is-active a:focus-visible { background:var(--ed-panel); }
.edc-almanac-partial-dates { margin-top:42px; padding-top:26px; border-top:1px solid var(--ed-rule); }
.edc-almanac-partial-dates h2, .edc-almanac-mobile-list h2 { margin:0 0 18px; font-size:1.7rem; }
.edc-almanac-partial-dates ul, .edc-almanac-mobile-list ul { margin:0; padding:0; list-style:none; }
.edc-almanac-partial-dates li { padding:12px 0; border-top:1px solid var(--ed-rule); color:var(--ed-bright); }
.edc-almanac-partial-dates a { color:var(--ed-paper); font-weight:700; }
.edc-almanac-mobile-list { display:none; }

.ed-footer { border-top: 1px solid var(--ed-rule); background: var(--ed-panel); }
.ed-footer-inner { width:min(calc(100% - 40px),var(--ed-wide)); margin:auto; }
.wp-block-navigation[aria-label="Footer navigation"] { width:100%; overflow-x:auto; scrollbar-width:none; }
.wp-block-navigation[aria-label="Footer navigation"]::-webkit-scrollbar { display:none; }
.wp-block-navigation[aria-label="Footer navigation"] .wp-block-navigation__container { width:max-content; max-width:none; flex-wrap:nowrap; gap:28px; white-space:nowrap; }
.ed-footer-nav-row { min-width:0; gap:28px; border-top:0; border-bottom:1px solid var(--ed-rule); overflow:hidden; }
.ed-footer-nav-row > .wp-block-navigation:first-child { min-width:0; flex:1 1 auto; overflow-x:auto; scrollbar-width:none; }
.ed-footer-nav-row > .wp-block-navigation:first-child::-webkit-scrollbar { display:none; }
.ed-footer-subscribe { flex:0 0 auto; padding-left:28px; border-left:1px solid var(--ed-rule); }
.wp-block-navigation[aria-label="Footer navigation"] .wp-block-navigation-item__content { color:var(--ed-bright); font-size:10px; font-weight:700; letter-spacing:.16em; text-decoration:none; text-transform:uppercase; }
.ed-footer-copy { max-width: 470px; padding: 64px 0; color:var(--ed-bright); }
.ed-footer-elsewhere { gap:28px; padding:38px 0; color:var(--ed-bright); font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.ed-footer-elsewhere p { margin:0; }
.ed-footer-elsewhere p:first-child { opacity:.65; }
.ed-footer-elsewhere a { color:var(--ed-bright); text-decoration:none; }
.ed-footer-elsewhere a:hover { color:var(--ed-paper); }
.ed-social-link { display:inline-flex; align-items:center; gap:9px; }
.ed-social-link svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.7; }
.ed-social-link svg .ed-social-fill { fill:currentColor; stroke:none; }
.ed-social-link svg.ed-x-icon { fill:currentColor; stroke:none; }
.ed-footer-bottom { justify-content:space-between; padding: 22px 0; border-top:1px solid var(--ed-rule); color:var(--ed-bright); font-size:10px; letter-spacing:.15em; text-transform:uppercase; }
.ed-footer-bottom p { margin:0; opacity:.6; }

@media (max-width: 900px) {
  .ed-header-inner { min-height:72px; }
  /* Keep the wrapper visible: WordPress renders the accessible menu toggle inside it. */
  .ed-header-links { display:flex; flex:0 0 auto; margin-left:auto; }
  .ed-header-main-nav { margin-left:auto; }
  .ed-header-subscribe { display:none; }
  .ed-header-main-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none; }
  .ed-header-main-nav .wp-block-navigation__responsive-container-open { display:flex; }
  .ed-header-main-nav .ed-mobile-subscribe { display: flex!important; }
  .ed-header-inner .wp-block-navigation__responsive-container.is-menu-open { padding:88px 20px 32px; background:var(--ed-ink); }
  .ed-header-inner .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items:flex-start!important; gap:20px!important; }
  .ed-header-inner .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-family:var(--ed-serif); font-size:2.2rem; letter-spacing:0; text-transform:none; }
}
@media (max-width: 680px) {
  .ed-header-inner,.ed-home-work,.ed-home-photography-wrap > .wp-block-group,.ed-home-projects-wrap > .wp-block-group,.ed-footer-inner { width: min(calc(100% - 32px),var(--ed-wide)); }
  .ed-home-hero { min-height: 72vh; padding:72px 16px 48px; }
  .ed-home-index { flex-direction:column; gap:8px; }
  .ed-home-work { padding:52px 0 68px; }
  .edc-recent-head { align-items:flex-end; }
  .edc-recent-actions { gap:12px; }
  .edc-carousel-controls { display:flex; }
  .edc-carousel-controls button { width:38px; height:38px; }
  .edc-view-all { margin-bottom:0; }
  .edc-recent-grid { display:flex; gap:16px; margin-right:-16px; padding-right:16px; overflow-x:auto; scroll-snap-type:x mandatory; }
  .edc-recent-grid .edc-stream-item { display:block; flex:0 0 88vw; min-height:0; padding:24px 18px 32px; border-top:1px solid var(--ed-rule); }
  .edc-home-recent .edc-card-image { display:block; min-height:0; }
  .edc-home-recent .edc-card-image img { width:100%; height:auto; min-height:0; }
  .edc-newsletter { padding:30px 22px; }
  .ed-home-newsletter-wrap { padding:0 16px; }
  .ed-home-newsletter-wrap .edc-newsletter { display:block; padding:54px 0; }
  .ed-home-newsletter-wrap .edc-newsletter .jetpack_subscription_widget { margin-top:34px; }
  .edc-newsletter form { flex-direction:column; }
  .edc-newsletter input[type=email] { min-width:0; }
  .edc-archive form { align-items:stretch; flex-direction:column; }
  .edc-newsletter input[type=email],.edc-newsletter input[type=submit],.edc-newsletter button { width:100%; }
  .edc-post-navigation { grid-template-columns:1fr; }
  .edc-post-navigation a:last-child { text-align:left; }
  .edc-project-card { grid-template-columns:1fr; }
  .edc-project-copy { padding:28px 0 0; border-left:0; border-top:1px solid var(--ed-rule); }
  .edc-archive-edc_photography { grid-template-columns:1fr; }
  .ed-about-layout { width:min(calc(100% - 32px),var(--ed-wide)); padding:72px 0 88px; }
  .ed-about-intro { grid-template-columns:1fr; gap:42px; }
  .ed-page-intro { margin-top:-20px; font-size:1.1rem; }
  .ed-writing-sections { margin-bottom:48px; }
  .ed-writing-daybook { margin-bottom:64px; padding-bottom:52px; }
  .ed-daybook-single .wp-block-post-title { font-size:clamp(3rem,15vw,5rem); }
  .ed-daybook-moment { grid-template-columns:1fr; gap:8px; }
  .edc-almanac-year > nav { margin-top:-28px; margin-bottom:28px; }
  .edc-almanac-calendar { display:none; }
  .edc-almanac-mobile-list { display:block; margin-top:28px; }
  .edc-almanac-mobile-list li { border-top:1px solid var(--ed-rule); }
  .edc-almanac-mobile-list a { display:flex; align-items:baseline; justify-content:space-between; gap:18px; padding:15px 14px; background:var(--ed-ink); color:var(--ed-paper); text-decoration:none; }
  .edc-almanac-mobile-list a:hover, .edc-almanac-mobile-list a:focus-visible { background:var(--ed-panel); }
  .edc-almanac-mobile-list a::before { content:"•"; margin-right:8px; color:var(--ed-paper); }
  .edc-almanac-mobile-list span { min-width:0; color:var(--ed-bright); font-size:11px; overflow-wrap:anywhere; text-align:right; }
  .edc-almanac-partial-dates { margin-top:36px; }
}
@media (prefers-reduced-motion:reduce) { *,*:before,*:after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; } }