/* Inkorpse theme — gothic editorial presentation layer. Tokens come from theme.json. */
:root {
	--ink-bg: var(--wp--preset--color--obsidian);
	--ink-surface: var(--wp--preset--color--charcoal);
	--ink-line: var(--wp--preset--color--graphite);
	--ink-text: var(--wp--preset--color--ivory);
	--ink-muted: var(--wp--preset--color--mist);
	--ink-accent: var(--wp--preset--color--violet);
	--ink-ease: cubic-bezier(.2, .7, .2, 1);
	--ink-ornament: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 28'%3E%3Cg fill='none' stroke='%23a9a1b0' stroke-width='1' stroke-linecap='round'%3E%3Cpath d='M4 14h84'/%3E%3Cpath d='M152 14h84'/%3E%3Cpath d='M88 14c7 0 10-8 17-8 3 0 4 2 3 4'/%3E%3Cpath d='M152 14c-7 0-10-8-17-8-3 0-4 2-3 4'/%3E%3Cpath d='M88 14c7 0 10 8 17 8 3 0 4-2 3-4'/%3E%3Cpath d='M152 14c-7 0-10 8-17 8-3 0-4-2-3-4'/%3E%3C/g%3E%3Cpath d='M120 1.5l2.6 9.9 9.9 2.6-9.9 2.6-2.6 9.9-2.6-9.9-9.9-2.6 9.9-2.6z' fill='%239146ff'/%3E%3C/svg%3E");
}

html { scroll-behavior: smooth; scroll-padding-top: 5.5rem; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--ink-accent); color: #fff; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--ink-accent); outline-offset: 3px; }
img { max-width: 100%; height: auto; }

/* Subtle paper grain over the darkness (purely decorative) */
body::before {
	content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 0; opacity: .035;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.wp-site-blocks { position: relative; z-index: 1; }

/* Header ----------------------------------------------------------------- */
header.wp-block-template-part { position: sticky; top: 0; z-index: 100; }
.admin-bar header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { .admin-bar header.wp-block-template-part { top: 46px; } }
.ink-header { background: rgba(11,10,13,.72); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid transparent; transition: border-color .3s, background .3s; }
.is-scrolled .ink-header { border-bottom-color: var(--ink-line); background: rgba(11,10,13,.92); }
.ink-brand .wp-block-site-title a { text-decoration: none; color: var(--ink-text); }
.ink-brand__mark { margin: 0 !important; }
.ink-brand__mark img { display: block; filter: drop-shadow(0 0 12px rgba(145,70,255,.25)); }
.ink-nav a { text-decoration: none; color: var(--ink-muted); transition: color .2s; white-space: nowrap; }
/* Mid widths: keep the header on one line (sections stay reachable by scrolling). */
@media (min-width: 600px) and (max-width: 1180px) {
	.ink-nav .wp-block-navigation__container > .wp-block-navigation-item:nth-child(3),
	.ink-nav .wp-block-navigation__container > .wp-block-navigation-item:nth-child(4) { display: none; }
	.ink-nav .wp-block-navigation__container { gap: 1.1rem !important; }
}
@media (min-width: 600px) and (max-width: 820px) {
	.ink-nav .wp-block-navigation__container > .wp-block-navigation-item:nth-child(2),
	.ink-nav .wp-block-navigation__container > .wp-block-navigation-item:nth-child(5) { display: none; }
}
.ink-nav a:hover { color: var(--ink-text); }
.ink-nav .ink-nav__cta > a { color: #fff; background: var(--ink-accent); padding: .6rem 1.1rem; }
.ink-nav .ink-nav__cta > a:hover { background: var(--wp--preset--color--violet-deep); color: #fff; }
.ink-nav .ink-nav__account > a { color: var(--ink-text); }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--ink-bg) !important; color: var(--ink-text) !important; padding: 2rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { gap: 1.5rem; }
.wp-block-navigation__responsive-container.is-menu-open .ink-nav__cta > a { display: inline-block; }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { color: var(--ink-text); }

/* Typography helpers ------------------------------------------------------ */
.is-style-ink-eyebrow {
	font-family: var(--wp--preset--font-family--caps); font-size: .72rem !important; letter-spacing: .32em;
	text-transform: uppercase; color: var(--ink-accent); margin-bottom: .5rem !important;
}
.is-style-ink-eyebrow a { color: inherit; text-decoration: none; }
.is-style-ink-inscription { font-family: var(--wp--preset--font-family--caps) !important; letter-spacing: .3em; text-transform: uppercase; font-weight: 500; }
h1 em, h2 em { font-style: italic; color: var(--ink-accent); }
.ink-motto { color: var(--ink-text); }

/* Ornamental separator ---------------------------------------------------- */
hr.is-style-ink-ornament, .wp-block-separator.is-style-ink-ornament {
	border: 0 !important; height: 28px; width: 240px !important; max-width: 70%; margin: 1.75rem auto !important;
	background: var(--ink-ornament) center / contain no-repeat !important; opacity: 1 !important;
}

/* Buttons ------------------------------------------------------------------- */
.wp-block-button__link { transition: background .25s var(--ink-ease), border-color .25s var(--ink-ease), color .25s; }
.wp-block-button.is-style-ink-ghost .wp-block-button__link { background: transparent; color: var(--ink-text); border: 1px solid rgba(244,239,230,.35); }
.wp-block-button.is-style-ink-ghost .wp-block-button__link:hover { border-color: var(--ink-text); background: rgba(244,239,230,.06); color: var(--ink-text); }

/* Cards & frames ---------------------------------------------------------- */
.is-style-ink-card { border: 1px solid var(--ink-line); padding: clamp(1.25rem, 3vw, 2rem) !important; background: linear-gradient(180deg, rgba(255,255,255,.025), transparent); position: relative; }
.is-style-ink-card::before { content: ''; position: absolute; top: -1px; left: 50%; width: 40px; height: 2px; transform: translateX(-50%); background: var(--ink-accent); }
.is-style-ink-frame { border: 1px solid var(--ink-line); outline: 1px solid var(--ink-line); outline-offset: 6px; padding: 2rem !important; }

/* Gothic arch images ------------------------------------------------------ */
.wp-block-image.is-style-ink-arch { position: relative; margin: 0; }
.wp-block-image.is-style-ink-arch img { border-radius: 999px 999px 0 0; width: 100%; object-fit: cover; aspect-ratio: 4 / 5; display: block; }
.wp-block-image.is-style-ink-arch::after { content: ''; position: absolute; inset: -12px; border: 1px solid rgba(244,239,230,.18); border-radius: 999px 999px 0 0; pointer-events: none; }

/* Hero ---------------------------------------------------------------------- */
.ink-hero { position: relative; overflow: hidden; min-height: min(92vh, 980px); display: flex; align-items: center; }
.ink-hero > * { width: 100%; }
.ink-hero::before {
	content: ''; position: absolute; right: -10%; top: 50%; width: min(70vw, 900px); aspect-ratio: 1; transform: translateY(-50%);
	background: radial-gradient(closest-side, rgba(145,70,255,.18), transparent 70%); pointer-events: none;
}
.ink-hero__mark { margin-bottom: .75rem !important; }
.ink-hero__mark img { filter: drop-shadow(0 0 22px rgba(145,70,255,.35)); }
.ink-hero__title { margin-top: .25rem !important; letter-spacing: -.01em; }
.ink-hero__lead { max-width: 34rem; }
.ink-hero__note { margin-top: 1.5rem !important; }
.ink-hero__art { max-width: 520px; margin-left: auto !important; }
.ink-hero__art img { box-shadow: 0 40px 90px -40px rgba(227,57,63,.45); }
@media (max-width: 781px) {
	.ink-hero { min-height: auto; }
	.ink-hero__art { max-width: 380px; margin: 2rem auto 0 !important; }
}

/* Reveal on scroll ---------------------------------------------------------- */
.ink-reveal { opacity: 0; transform: translateY(18px); transition: opacity .9s var(--ink-ease), transform .9s var(--ink-ease); }
.ink-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .ink-reveal { opacity: 1; transform: none; transition: none; } }

/* Founder ------------------------------------------------------------------- */
.ink-founder { position: relative; }
.ink-founder__photo { max-width: 380px; margin: 0 auto !important; }
.ink-founder__note { border-left: 2px solid var(--ink-accent); padding-left: 1rem; }

/* Steps --------------------------------------------------------------------- */
.ink-steps { counter-reset: inkstep; gap: 1.25rem !important; margin-top: 2rem !important; }
.ink-step { counter-increment: inkstep; border-top: 1px solid var(--ink-line); padding-top: 1.25rem !important; position: relative; }
.ink-step::before { content: counter(inkstep, upper-roman); font-family: var(--wp--preset--font-family--caps); color: var(--ink-accent); letter-spacing: .2em; font-size: .8rem; display: block; margin-bottom: .5rem; }
.ink-step h3 { margin: 0 0 .4rem; }

/* FAQ ------------------------------------------------------------------------ */
.wp-block-details.is-style-ink-faq { border-bottom: 1px solid var(--ink-line); padding: 1.1rem 0; }
.wp-block-details.is-style-ink-faq summary { font-family: var(--wp--preset--font-family--display); font-size: 1.35rem; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.wp-block-details.is-style-ink-faq summary::-webkit-details-marker { display: none; }
.wp-block-details.is-style-ink-faq summary::after { content: '+'; color: var(--ink-accent); font-family: var(--wp--preset--font-family--body); transition: transform .3s; }
.wp-block-details.is-style-ink-faq[open] summary::after { transform: rotate(45deg); }
.wp-block-details.is-style-ink-faq p { color: var(--ink-muted); margin-top: .75rem; }

/* Footer ------------------------------------------------------------------- */
.ink-footer a { color: var(--ink-muted); text-decoration: none; }
.ink-footer a:hover { color: var(--ink-text); }
.ink-footer__links { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; font-size: .92rem; }
.ink-footer .wp-block-social-links { gap: .75rem; }

/* Pages --------------------------------------------------------------------- */
.ink-page .wp-block-post-content > * + * { margin-top: 1.25rem; }
.ink-piece__image img { width: 100%; height: auto; max-height: 90vh; object-fit: contain; background: var(--ink-surface); }
.ink-piece__terms { font-family: var(--wp--preset--font-family--caps); font-size: .7rem; letter-spacing: .2em; text-transform: uppercase; }
.ink-piece__terms a { color: var(--ink-muted); text-decoration: none; }
.ink-landing > .wp-block-post-content > .alignfull { margin-top: 0; margin-bottom: 0; }

/* Mobile gutters ------------------------------------------------------------ */
@media (max-width: 600px) {
	.wp-block-columns { gap: 2rem; }
	h1.wp-block-heading { word-break: normal; overflow-wrap: anywhere; }
}
