/* ==========================================================================
   ARKIELLO theme styles
   Colour and font tokens come from theme.json (--wp--preset--*). Short aliases
   below keep component rules readable.
   ========================================================================== */
:root {
	--navy: var(--wp--preset--color--navy, #101827);
	--navy-2: var(--wp--preset--color--navy-deep, #0B111C);
	--charcoal: var(--wp--preset--color--charcoal, #182235);
	--ivory: var(--wp--preset--color--ivory, #F5F2EA);
	--paper: var(--wp--preset--color--paper, #FBF9F4);
	--white: var(--wp--preset--color--white, #FFFFFF);
	--gold: var(--wp--preset--color--gold, #C8A779);
	--bronze: var(--wp--preset--color--bronze, #7D5F36);
	--ink-soft: var(--wp--preset--color--ink-soft, #4A5468);
	--ivory-soft: var(--wp--preset--color--ivory-soft, #B9C0CD);
	--rule-dark: rgba(245, 242, 234, .12);
	--rule-light: #DDD6C6;
	--f-display: var(--wp--preset--font-family--display);
	--f-body: var(--wp--preset--font-family--body);
	--f-serif: var(--wp--preset--font-family--serif);
	--f-mono: var(--wp--preset--font-family--mono);
	--measure: 80rem;
	--gutter: clamp(16px, 4.5vw, 64px);
	--hdr-h: 4.75rem;
	--ease: cubic-bezier(.2, .7, .1, 1);
}

html { background: var(--navy); }
body { -webkit-font-smoothing: antialiased; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; border-radius: 2px; }
.is-light :focus-visible, .is-paper :focus-visible { outline-color: var(--bronze); }
:where([class*="ark-"]) :where(h1, h2, h3, h4, p, ul, ol) { margin-block: 0; }
:where([class*="ark-"]) h1, :where([class*="ark-"]) h2, :where([class*="ark-"]) h3 { text-wrap: balance; }
.screen-reader-text:not(:focus) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- layout primitives ---------- */
.ark-in { max-width: var(--measure); margin-inline: auto; padding-inline: var(--gutter); box-sizing: border-box; width: 100%; }
.ark-band { padding-block: clamp(5rem, 10vw, 8.5rem); }
.ark-band.is-light { background: var(--ivory); color: var(--navy); }
.ark-band.is-paper { background: var(--paper); color: var(--navy); }
.ark-band.is-dark { background: var(--navy); color: var(--ivory); }
.ark-prose { max-width: 46rem; }
.ark-prose > * + * { margin-block-start: 1.2em; }
.ark-prose h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); margin-block-start: 2em; letter-spacing: -.02em; }
.ark-prose h3 { font-size: 1.3rem; margin-block-start: 1.6em; }
.ark-prose a { color: var(--bronze); text-underline-offset: 3px; }

/* ---------- type ---------- */
.ark-eyebrow { font: 500 .72rem/1 var(--f-mono); letter-spacing: .18em; text-transform: uppercase; display: inline-flex; align-items: center; gap: .75rem; }
.ark-eyebrow::before { content: ""; width: 1.75rem; height: 1px; background: currentColor; opacity: .6; }
.is-light .ark-eyebrow, .is-paper .ark-eyebrow { color: var(--bronze); }
.is-dark .ark-eyebrow, .ark-hero .ark-eyebrow, .ark-cta .ark-eyebrow { color: var(--gold); }
h1 em, h2 em, h3 em, .ark-manifesto em { font-family: var(--f-serif); font-style: italic; font-weight: 300; letter-spacing: -.01em; }
.ark-tag { font: 500 .68rem/1 var(--f-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--bronze); }
.is-dark .ark-tag { color: var(--gold); }
.ark-confirm { font: 500 .66rem/1 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; padding: .2rem .35rem; border: 1px dashed currentColor; border-radius: 3px; }

/* ---------- buttons ---------- */
.wp-block-buttons.ark-ctas { display: flex; flex-wrap: wrap; gap: .75rem; }
.wp-block-button .wp-block-button__link { font: 600 .9rem/1 var(--f-body); padding: 1rem 1.35rem; border-radius: 2px; transition: background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease); white-space: nowrap; text-decoration: none; display: inline-flex; align-items: center; gap: .7rem; }
.wp-block-button .wp-block-button__link::after { content: "→"; transition: transform .35s var(--ease); }
.wp-block-button.is-style-line .wp-block-button__link::after { content: none; }
.wp-block-button .wp-block-button__link:hover::after { transform: translateX(4px); }
.wp-block-button.is-style-gold .wp-block-button__link { background: var(--gold); color: var(--navy); }
.wp-block-button.is-style-gold .wp-block-button__link:hover { background: var(--ivory); }
.wp-block-button.is-style-line .wp-block-button__link { background: transparent; color: var(--ivory); border: 1px solid rgba(245, 242, 234, .35); }
.wp-block-button.is-style-line .wp-block-button__link:hover { border-color: var(--gold); color: var(--gold); }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--navy); border: 1px solid var(--navy); }
.wp-block-button.is-style-outline .wp-block-button__link::after { content: "↗"; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--navy); color: var(--ivory); }
.wp-block-button.is-style-navy .wp-block-button__link { background: var(--navy); color: var(--ivory); }
.wp-block-button.is-style-navy .wp-block-button__link:hover { background: var(--bronze); }

/* ---------- header ---------- */
.ark-hdr { position: fixed; inset: 0 0 auto 0; z-index: 50; color: var(--ivory); transition: background .4s var(--ease), border-color .4s var(--ease); border-bottom: 1px solid transparent; }
body.admin-bar .ark-hdr { top: 32px; }
@media (max-width: 782px) { body.admin-bar .ark-hdr { top: 46px; } }
.ark-hdr.is-solid, .ark-hdr.is-open { background: var(--navy); border-bottom-color: var(--rule-dark); box-shadow: 0 10px 30px rgba(11, 17, 28, .25); }
.ark-hdr__bar { display: flex; align-items: center; justify-content: space-between; height: var(--hdr-h); gap: 1.5rem; }
.ark-logo { display: flex; color: var(--ivory); }
.ark-logo svg { height: 19px; width: auto; aspect-ratio: 734 / 104; }
.ark-nav { display: flex; align-items: center; gap: 2.1rem; font-size: .92rem; }
.ark-nav > a, .ark-navlink { color: inherit; text-decoration: none; opacity: .82; transition: opacity .2s; background: none; border: 0; font: inherit; cursor: pointer; padding: 0; }
.ark-nav > a:hover, .ark-navlink:hover, .ark-navlink[aria-expanded="true"], .ark-nav [aria-current="page"] { opacity: 1; }
.ark-nav [aria-current="page"] { box-shadow: 0 1px 0 var(--gold); }
.ark-navlink::after { content: "▾"; display: inline-block; margin-left: .35rem; font-size: .7em; transition: transform .3s; }
.ark-navlink[aria-expanded="true"]::after { transform: rotate(180deg); }
.ark-nav .ark-nav__cta { opacity: 1; border: 1px solid rgba(245, 242, 234, .35); padding: .75rem 1rem; border-radius: 2px; font-weight: 600; font-size: .85rem; transition: border-color .3s, color .3s; }
.ark-nav .ark-nav__cta:hover { border-color: var(--gold); color: var(--gold); }
.ark-menu-btn { display: none; background: none; border: 1px solid var(--rule-dark); color: var(--ivory); font: 500 .8rem/1 var(--f-mono); letter-spacing: .1em; padding: .7rem .85rem; border-radius: 2px; cursor: pointer; }
@media (max-width: 960px) { .ark-nav { display: none; } .ark-menu-btn { display: block; } }
.ark-mega { position: absolute; left: 0; right: 0; top: 100%; background: var(--navy); border-block: 1px solid var(--rule-dark); box-shadow: 0 30px 60px rgba(0, 0, 0, .35); }
.ark-mega__cols { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 2rem; padding-block: 2.25rem 2.5rem; }
.ark-menucol__h { font: 500 .68rem/1 var(--f-mono) !important; letter-spacing: .16em; text-transform: uppercase; color: var(--gold); margin: 0 0 1rem !important; }
.ark-menucol ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; }
.ark-menucol a { text-decoration: none; font-size: .92rem; color: var(--ivory-soft); transition: color .2s; }
.ark-menucol a:hover { color: var(--ivory); }
.ark-mega__all { grid-column: 1 / -1; padding-top: 1.25rem; border-top: 1px solid var(--rule-dark); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem; font-size: .9rem; color: var(--ivory-soft); }
.ark-mega__all a { color: var(--gold); }
.ark-mobile { position: fixed; inset: var(--hdr-h) 0 0 0; background: var(--navy); color: var(--ivory); overflow-y: auto; z-index: 49; padding-block: 1.5rem 3rem; }
body.admin-bar .ark-mobile { top: calc(var(--hdr-h) + 46px); }
.ark-mobile__in { display: grid; gap: 2rem; }
.ark-mobile__main { display: grid; gap: .25rem; }
.ark-mobile__main a { font: 600 1.75rem/1.3 var(--f-display); letter-spacing: -.02em; text-decoration: none; color: var(--ivory); }
.ark-mobile__cols { display: grid; gap: 1.75rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); }
.ark-mobile__cta { justify-self: start; background: var(--gold); color: var(--navy); font-weight: 600; padding: 1rem 1.35rem; border-radius: 2px; text-decoration: none; }

/* ---------- heroes ---------- */
.ark-hero { position: relative; background: radial-gradient(120% 90% at 85% 10%, #1B2740 0%, var(--navy) 55%, var(--navy-2) 100%); color: var(--ivory); overflow: hidden; isolation: isolate; }
.ark-hero__canvas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; }
.ark-hero:not(.ark-hero--home)::before { content: ""; position: absolute; right: -10%; bottom: -20%; width: min(60rem, 100vw); aspect-ratio: 2; z-index: -1; opacity: .55; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 400'%3E%3Cpath d='M0 380 C250 380 420 300 560 160 S760 30 800 20' fill='none' stroke='%23C8A779' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat center / contain; }
.ark-hero__in { padding-block: clamp(9rem, 18vw, 13rem) clamp(4rem, 8vw, 6rem); display: grid; gap: 2.5rem; }
.ark-hero:not(.ark-hero--home) .ark-hero__in { padding-block: clamp(8.5rem, 15vw, 11rem) clamp(3.5rem, 7vw, 5rem); gap: 2rem; }
.ark-hero__title { font-size: clamp(3rem, 9.2vw, 8.25rem) !important; font-weight: 700; letter-spacing: -.045em; line-height: .94 !important; max-width: 11ch; }
.ark-hero:not(.ark-hero--home) .ark-hero__title { font-size: clamp(2.6rem, 7vw, 6rem) !important; max-width: 14ch; }
.ark-hero__title em { color: var(--gold); font-size: 1.04em; letter-spacing: -.025em; }
.ark-hero__foot { display: grid; gap: 2rem; align-items: end; }
@media (min-width: 900px) { .ark-hero__foot { grid-template-columns: minmax(0, 34rem) auto; justify-content: space-between; } }
.ark-hero__lede { font-size: clamp(1.05rem, 1.4vw, 1.2rem); color: var(--ivory-soft); max-width: 34rem; }
.ark-hero__meta { display: flex; flex-wrap: wrap; gap: .5rem 2.5rem; padding-top: 2rem; border-top: 1px solid var(--rule-dark); font: 400 .78rem/1.5 var(--f-mono); letter-spacing: .06em; color: var(--ivory-soft); }
.ark-hero__meta strong { color: var(--ivory); font-weight: 500; }
.ark-crumbs { font: 400 .75rem/1 var(--f-mono); letter-spacing: .06em; color: var(--ivory-soft); }
.ark-crumbs a { text-decoration: none; }
.ark-crumbs a:hover { color: var(--gold); }
.ark-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: 1.5rem; padding-top: 2rem; border-top: 1px solid var(--rule-dark); }
.ark-facts > div { display: grid; gap: .35rem; }
.ark-facts__k { font: 400 .68rem/1.2 var(--f-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--gold); }
.ark-facts__v { font-weight: 500; font-size: .98rem; }
@media (prefers-reduced-motion: no-preference) {
	.ark-hero__in > * { animation: ark-rise 1s var(--ease) both; }
	.ark-hero__in > :nth-child(2) { animation-delay: .08s; }
	.ark-hero__in > :nth-child(3) { animation-delay: .2s; }
	.ark-hero__in > :nth-child(4) { animation-delay: .34s; }
	@keyframes ark-rise { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
}

/* ---------- section heads ---------- */
.ark-head { display: grid; gap: 1.5rem; margin-bottom: clamp(2.75rem, 6vw, 4.5rem); }
@media (min-width: 900px) { .ark-head { grid-template-columns: minmax(0, 1fr) minmax(0, 26rem); align-items: end; column-gap: 4rem; } .ark-head > .ark-eyebrow { grid-column: 1 / -1; } .ark-head > h2 { grid-column: 1; } }
.ark-head h2 { font-size: clamp(2.1rem, 5vw, 4.25rem); font-weight: 700; letter-spacing: -.035em; }
.ark-head h2 em { color: var(--bronze); }
.is-dark .ark-head h2 em { color: var(--gold); }
.ark-head > p:not(.ark-eyebrow) { color: var(--ink-soft); }
.is-dark .ark-head > p:not(.ark-eyebrow) { color: var(--ivory-soft); }

/* ---------- services index ---------- */
.ark-svc { border-top: 1px solid var(--navy); }
.ark-svc__row { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem 2rem; align-items: center; padding: clamp(1.4rem, 3vw, 2.1rem) 3.75rem clamp(1.4rem, 3vw, 2.1rem) 0; border-bottom: 1px solid var(--rule-light); }
@media (min-width: 900px) { .ark-svc__row { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); } }
.ark-svc__row::before { content: ""; position: absolute; left: 0; bottom: -1px; height: 1px; width: 0; background: var(--bronze); transition: width .7s var(--ease); }
.ark-svc__row:hover::before, .ark-svc__row:focus-within::before { width: 100%; }
.ark-svc__row::after { content: "→"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 3rem; height: 3rem; border: 1px solid var(--rule-light); border-radius: 50%; display: grid; place-items: center; font-size: .9rem; transition: background .35s var(--ease), border-color .35s, color .35s; }
.ark-svc__row:hover::after { background: var(--navy); border-color: var(--navy); color: var(--gold); }
.ark-svc__row h3 { font-size: clamp(1.5rem, 3.2vw, 2.6rem); font-weight: 600; letter-spacing: -.03em; transition: transform .5s var(--ease); }
.ark-svc__row:hover h3 { transform: translateX(.5rem); }
.ark-svc__row h3 a { text-decoration: none; }
.ark-svc__row h3 a::after { content: ""; position: absolute; inset: 0; }
.ark-svc__row p { color: var(--ink-soft); font-size: .98rem; max-width: 30rem; }
@media (max-width: 899px) { .ark-svc__row { grid-template-columns: minmax(0, 1fr); } }
.ark-also { margin-top: 2rem; font-size: .95rem; color: var(--ink-soft); }
.ark-also a { color: var(--navy); text-decoration-color: var(--gold); text-underline-offset: 5px; margin-left: 1.25rem; }

/* ---------- why ---------- */
.ark-why { display: grid; gap: clamp(3rem, 6vw, 6rem); }
@media (min-width: 980px) { .ark-why { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); } .ark-why__intro { position: sticky; top: 8rem; align-self: start; } }
.ark-why__intro { display: grid; gap: 2rem; align-content: start; }
.ark-manifesto { font: italic 300 clamp(1.9rem, 3.6vw, 3.1rem)/1.18 var(--f-serif) !important; letter-spacing: -.015em; color: var(--ivory); }
.ark-manifesto em { color: var(--gold); }
.ark-why__sig { font: 400 .78rem/1.5 var(--f-mono); letter-spacing: .06em; color: var(--ivory-soft); }
.ark-pillar { display: grid; gap: .6rem; padding: 2rem 0; border-top: 1px solid var(--rule-dark); }
@media (min-width: 640px) { .ark-pillar { grid-template-columns: 12rem minmax(0, 1fr); gap: 2rem; } }
.ark-pillar h3 { font-size: 1.2rem; font-weight: 600; color: var(--ivory); }
.ark-pillar p { color: var(--ivory-soft); }
.ark-pillar .ark-proof { margin-top: .75rem; font: 400 .75rem/1.5 var(--f-mono); letter-spacing: .04em; color: var(--gold); }

/* ---------- process steps ---------- */
.ark-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); position: relative; }
.ark-steps::before { content: ""; position: absolute; left: 0; right: 0; top: .55rem; height: 1px; background: var(--rule-light); }
.ark-steps__track { position: absolute; left: 0; top: .55rem; height: 1px; background: var(--bronze); width: var(--p, 0%); }
.ark-step { position: relative; padding: 2.5rem 1.25rem 0 0; display: grid; gap: .75rem; align-content: start; }
.ark-step::before { content: ""; position: absolute; top: .2rem; left: 0; width: .75rem; height: .75rem; border-radius: 50%; background: var(--paper); border: 1px solid var(--bronze); }
.ark-step.is-on::before { background: var(--bronze); }
.ark-step__n { font: 500 .72rem/1 var(--f-mono); letter-spacing: .14em; color: var(--bronze); }
.ark-step h3 { font-size: clamp(1.35rem, 2.2vw, 1.85rem); font-weight: 600; letter-spacing: -.025em; }
.ark-step p { font-size: .95rem; color: var(--ink-soft); }
.ark-step ul { padding: 0; list-style: none; display: grid; gap: .3rem; font: 400 .78rem/1.45 var(--f-mono); opacity: .8; }
@media (max-width: 899px) {
	.ark-steps { grid-template-columns: minmax(0, 1fr); }
	.ark-steps::before, .ark-steps__track { left: .37rem; right: auto; top: 0; bottom: 0; width: 1px; height: auto; }
	.ark-steps__track { height: var(--p, 0%); bottom: auto; }
	.ark-step { padding: 0 0 2.5rem 2.5rem; }
	.ark-step::before { top: .35rem; }
}

/* ---------- work cards ---------- */
.ark-work { display: grid; gap: 1.25rem; }
@media (min-width: 980px) { .ark-work { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ark-case { position: relative; border-radius: 4px; overflow: hidden; background: var(--charcoal); color: var(--ivory); display: grid; text-decoration: none; min-height: 28rem; }
.ark-case__shot { padding: 2.25rem 2.25rem 0; display: grid; align-items: end; min-height: 16rem; }
.ark-case__browser, .ark-case__logo { transform: translateY(1.25rem); transition: transform .8s var(--ease); border-radius: 6px 6px 0 0; }
.ark-case:hover .ark-case__browser, .ark-case:hover .ark-case__logo, .ark-case:focus-visible .ark-case__browser, .ark-case:focus-visible .ark-case__logo { transform: none; }
.ark-case__browser { background: var(--navy); border: 1px solid var(--rule-dark); border-bottom: 0; box-shadow: 0 -20px 60px rgba(0, 0, 0, .35); overflow: hidden; }
.ark-case__bar { display: flex; gap: .35rem; padding: .65rem .8rem; border-bottom: 1px solid var(--rule-dark); }
.ark-case__bar i { width: .5rem; height: .5rem; border-radius: 50%; background: var(--rule-dark); }
.ark-case__scr { padding: 1.75rem 1.5rem 3rem; display: grid; gap: .9rem; }
.ark-case__scr b { font: 700 clamp(1.3rem, 2.4vw, 2rem)/1 var(--f-display); letter-spacing: -.04em; }
.ark-case__scr b span { font: italic 300 1.05em var(--f-serif); color: var(--gold); }
.ark-case__ln { height: .4rem; border-radius: 2px; background: var(--rule-dark); }
.ark-case__logo { display: grid; place-items: center; background: var(--ivory); color: var(--navy); padding: 3.5rem 2rem; }
.ark-case__logo svg { width: min(100%, 20rem); height: auto; }
.ark-case__meta { padding: 2rem 2.25rem; display: grid; gap: .6rem; border-top: 1px solid var(--rule-dark); }
.ark-case__meta .ark-tag { color: var(--gold); }
.ark-case__meta h3 { font: 600 1.45rem/1.1 var(--f-display); letter-spacing: -.02em; margin: 0; }
.ark-case__meta p { color: var(--ivory-soft); font-size: .95rem; margin: 0; }
.ark-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: .75rem; }
.ark-metrics div { border-top: 1px solid var(--rule-dark); padding-top: .7rem; display: grid; gap: .2rem; }
.ark-metrics span { font: 400 .66rem/1.3 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ivory-soft); }
.ark-metrics b { font: 500 .85rem/1.3 var(--f-mono); color: var(--gold); }

/* ---------- industries ---------- */
.ark-ind { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); border-top: 1px solid var(--rule-light); }
.ark-ind > div { padding: 2rem 2rem 2rem 0; display: grid; gap: .6rem; border-bottom: 1px solid var(--rule-light); align-content: start; }
.ark-ind h3 { font-size: 1.3rem; font-weight: 600; letter-spacing: -.02em; }
.ark-ind p:not(.ark-tag) { color: var(--ink-soft); font-size: .95rem; }

/* ---------- latest posts ---------- */
.ark-posts.wp-block-latest-posts { display: grid; gap: 2rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); padding: 0; margin: 0; list-style: none; }
.ark-posts.wp-block-latest-posts li { margin: 0; display: grid; gap: 1rem; align-content: start; width: auto !important; }
.ark-posts .wp-block-latest-posts__featured-image { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 3px; background: var(--navy); }
.ark-posts .wp-block-latest-posts__featured-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.ark-posts li:hover .wp-block-latest-posts__featured-image img { transform: scale(1.04); }
.ark-posts .wp-block-latest-posts__post-title { font: 600 1.3rem/1.2 var(--f-display); letter-spacing: -.02em; text-decoration: none; transition: color .3s; }
.ark-posts .wp-block-latest-posts__post-title:hover { color: var(--bronze); }

/* ---------- service page parts ---------- */
.ark-incl { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); border-top: 1px solid var(--navy); }
.ark-incl > div { padding: 1.75rem 1.75rem 1.75rem 0; border-bottom: 1px solid var(--rule-light); display: grid; gap: .55rem; align-content: start; }
.ark-incl h3 { font-size: 1.2rem; font-weight: 600; letter-spacing: -.015em; }
.ark-incl p, .ark-incl ul { color: var(--ink-soft); font-size: .95rem; }
.ark-incl ul { padding-left: 1.1rem; display: grid; gap: .35rem; }
.ark-split { display: grid; gap: clamp(2.5rem, 5vw, 5rem); }
@media (min-width: 980px) { .ark-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.ark-split__intro { display: grid; gap: 1.25rem; align-content: start; }
.ark-split__intro h2 { font-size: clamp(2rem, 4vw, 3.25rem); font-weight: 700; letter-spacing: -.035em; }
.ark-split__intro h2 em { color: var(--bronze); }
.is-dark .ark-split__intro h2 em { color: var(--gold); }
.ark-ticks { list-style: none; padding: 0 !important; display: grid; gap: .9rem; }
.ark-ticks li { position: relative; padding-left: 2rem; }
.ark-ticks li::before { content: ""; position: absolute; left: 0; top: .6rem; width: .55rem; height: .55rem; border-radius: 50%; background: var(--gold); }
.is-dark .ark-ticks li { color: var(--ivory-soft); }
.is-dark .ark-ticks strong { color: var(--ivory); }
.ark-promise { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); }
.ark-promise > div { padding: 1.5rem; border: 1px solid var(--rule-dark); border-radius: 4px; display: grid; gap: .75rem; align-content: start; }
.ark-promise h3 { font-size: 1rem; font-weight: 600; letter-spacing: .02em; color: var(--gold); }
.ark-promise > div + div h3 { color: var(--ivory-soft); }
.ark-promise ul { padding-left: 1.1rem; display: grid; gap: .4rem; color: var(--ivory-soft); font-size: .95rem; }
.ark-faq { border-top: 1px solid var(--navy); }
.ark-faq .wp-block-details { border-bottom: 1px solid var(--rule-light); margin: 0; }
.ark-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 1.5rem; align-items: center; padding: 1.4rem 0; font: 600 clamp(1.05rem, 1.8vw, 1.3rem)/1.3 var(--f-display); letter-spacing: -.015em; }
.ark-faq summary::-webkit-details-marker { display: none; }
.ark-faq summary::after { content: "+"; font: 300 1.6rem/1 var(--f-body); color: var(--bronze); transition: transform .3s; }
.ark-faq details[open] summary::after { transform: rotate(45deg); }
.ark-faq details p { padding: 0 0 1.5rem; color: var(--ink-soft); max-width: 62ch; }
.ark-related { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); }
.ark-related > div { position: relative; display: grid; gap: .5rem; padding: 1.5rem; border: 1px solid var(--rule-light); border-radius: 4px; background: var(--white); transition: border-color .3s, transform .4s var(--ease); align-content: start; }
.ark-related > div:hover { border-color: var(--bronze); transform: translateY(-3px); }
.ark-related h3 { font-size: 1.1rem; font-weight: 600; }
.ark-related h3 a { text-decoration: none; }
.ark-related h3 a::after { content: ""; position: absolute; inset: 0; }
.ark-related p:not(.ark-tag) { font-size: .92rem; color: var(--ink-soft); }

/* ---------- about / founder ---------- */
.ark-story { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); }
.ark-story > div { padding: 2rem; border: 1px solid var(--rule-dark); border-radius: 4px; display: grid; gap: .8rem; align-content: start; }
.ark-story__letter { font: 700 3.25rem/1 var(--f-display); color: var(--gold); letter-spacing: -.04em; }
.ark-story h3 { font-size: 1.25rem; font-weight: 600; }
.ark-story p:not(.ark-story__letter) { color: var(--ivory-soft); font-size: .95rem; }
.ark-founder { display: grid; gap: 2.5rem; align-items: center; }
@media (min-width: 900px) { .ark-founder { grid-template-columns: minmax(0, 22rem) minmax(0, 1fr); } }
.ark-founder .wp-block-image img { aspect-ratio: 4 / 5; object-fit: cover; border-radius: 4px; width: 100%; }
.ark-portrait-placeholder { aspect-ratio: 4 / 5; background: linear-gradient(160deg, var(--charcoal), var(--navy)); border-radius: 4px; display: grid; place-items: center; color: var(--ivory-soft); font: 400 .75rem/1.5 var(--f-mono); text-align: center; padding: 1rem; }
.ark-founder__text { display: grid; gap: 1.1rem; }
.ark-founder__text h2 { font-size: clamp(2rem, 4vw, 3.25rem); font-weight: 700; letter-spacing: -.035em; }
.ark-founder__text p:not(.ark-eyebrow) { color: var(--ink-soft); max-width: 58ch; }
.ark-founder__links a { color: var(--bronze); font-weight: 600; text-underline-offset: 3px; }
.ark-chips { display: flex; flex-wrap: wrap; gap: .6rem; align-content: start; }
.ark-chips p { font: 500 .85rem/1 var(--f-body); padding: .75rem 1rem; border: 1px solid var(--rule-dark); border-radius: 99px; color: var(--ivory); }

.ark-founder .wp-block-image, .ark-portrait { margin: 0; }
.ark-portrait img { aspect-ratio: 4 / 5; object-fit: cover; border-radius: 4px; width: 100%; height: auto; display: block; }

/* ---------- services hub ---------- */
.ark-groups { display: grid; gap: 2rem; }
@media (min-width: 980px) { .ark-groups { grid-template-columns: 18rem minmax(0, 1fr); column-gap: 3rem; row-gap: 5rem; } }
.ark-grp__h { display: grid; gap: .75rem; align-content: start; }
.ark-grp__h h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 700; letter-spacing: -.03em; }
.ark-grp__h p:not(.ark-eyebrow) { color: var(--ink-soft); font-size: .95rem; }
.ark-groups .ark-svc__row h3 { font-size: clamp(1.25rem, 2.2vw, 1.75rem); }
.ark-groups .ark-svc__row { padding-block: 1.1rem; }

/* ---------- case study result ---------- */
.ark-final { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); }
.ark-final > div { display: grid; place-items: center; padding: 3.5rem 2rem; border-radius: 4px; }
.ark-final__light { background: var(--ivory); color: var(--navy); border: 1px solid var(--rule-light); }
.ark-final__dark { background: var(--navy); color: var(--ivory); }
.ark-final svg { width: min(100%, 22rem); height: auto; }
.ark-final__icon svg { width: 6rem; height: 6rem; }

/* ---------- contact ---------- */
.ark-contact { display: grid; gap: clamp(2.5rem, 5vw, 4.5rem); }
@media (min-width: 1000px) { .ark-contact { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); } }
.ark-booking { background: var(--navy); color: var(--ivory); border-radius: 4px; padding: 2rem; display: grid; gap: 1.1rem; align-content: start; }
.ark-booking h2, .ark-booking h3 { font-size: 1.5rem; font-weight: 600; letter-spacing: -.02em; }
.ark-booking .ark-eyebrow { color: var(--gold); }
.ark-contact__form { display: grid; gap: 1.1rem; align-content: start; }
.ark-contact__form h2 { font-size: clamp(1.8rem, 3.5vw, 2.6rem); letter-spacing: -.03em; }
.ark-contact__form h2 em { color: var(--bronze); }
.ark-contact__form a, .ark-contact__facts a, .ark-prose a { color: var(--bronze); text-underline-offset: 3px; word-break: break-word; }
.ark-form { display: grid; gap: 1.25rem; }
.ark-form__row { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); }
.ark-field { display: grid; gap: .45rem; }
.ark-field label { font: 600 .88rem/1.2 var(--f-body); color: var(--navy); }
.ark-field label span { font-weight: 400; color: var(--ink-soft); }
.ark-field input, .ark-field select, .ark-field textarea { font: 400 1rem/1.4 var(--f-body); color: var(--navy); background: var(--white); border: 1px solid #A39A86; border-radius: 3px; padding: .85rem .95rem; width: 100%; box-sizing: border-box; }
.ark-field textarea { min-height: 9rem; resize: vertical; }
.ark-field input:focus, .ark-field select:focus, .ark-field textarea:focus { outline: 2px solid var(--bronze); outline-offset: 1px; border-color: var(--bronze); }
.ark-field input:user-invalid, .ark-field select:user-invalid, .ark-field textarea:user-invalid { border-color: #9B2C2C; }
.ark-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ark-form__foot { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; justify-content: space-between; }
.ark-form__foot p { font-size: .85rem; color: var(--ink-soft); max-width: 28rem; margin: 0; }
.ark-form__submit { font: 600 .9rem/1 var(--f-body); background: var(--navy); color: var(--ivory); border: 0; border-radius: 2px; padding: 1rem 1.35rem; cursor: pointer; transition: background .3s; }
.ark-form__submit:hover { background: var(--bronze); }
.ark-contact__aside { display: grid; gap: 1.25rem; align-content: start; }
.ark-contact__facts { display: grid; gap: .3rem; padding: 1.5rem; border: 1px solid var(--rule-light); border-radius: 4px; background: var(--white); }
.ark-contact__facts .ark-facts__k { color: var(--bronze); margin-top: .7rem; }
.ark-contact__facts .ark-facts__k:first-child { margin-top: 0; }
.ark-booking p:not(.ark-eyebrow) { color: var(--ivory-soft); font-size: .95rem; }

/* ---------- closing CTA ---------- */
.ark-cta { background: var(--navy); color: var(--ivory); position: relative; overflow: hidden; isolation: isolate; }
.ark-cta::before { content: ""; position: absolute; right: -12%; top: 50%; width: min(70rem, 110vw); aspect-ratio: 2; transform: translateY(-50%); z-index: -1; opacity: .5; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 400'%3E%3Cpath d='M0 380 C250 380 420 300 560 160 S760 30 800 20' fill='none' stroke='%23C8A779' stroke-width='1.2'/%3E%3Cpath d='M0 380 C250 380 420 300 560 160 S760 30 800 20' fill='none' stroke='%23C8A779' stroke-width='18' stroke-opacity='.05'/%3E%3C/svg%3E") no-repeat center / contain; }
.ark-cta__in { padding-block: clamp(6rem, 12vw, 10rem); display: grid; gap: 2.25rem; justify-items: start; }
.ark-cta h2 { font-size: clamp(2.6rem, 7.5vw, 6.25rem); font-weight: 700; letter-spacing: -.045em; line-height: .95; max-width: 13ch; }
.ark-cta h2 em { color: var(--gold); }
.ark-cta p:not(.ark-eyebrow) { color: var(--ivory-soft); max-width: 36rem; }
.ark-cta .ark-small { font-size: .9rem; }
.ark-cta .ark-small a { color: var(--gold); text-underline-offset: 4px; }

/* ---------- footer ---------- */
.ark-ftr { background: var(--navy-2); color: var(--ivory-soft); font-size: .92rem; }
.ark-ftr__in { padding-block: 4.5rem 2.5rem; display: grid; gap: 3.5rem; }
.ark-ftr__cols { display: grid; gap: 2.5rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10.5rem), 1fr)); }
.ark-ftr .ark-menucol a { font-size: .9rem; }
.ark-ftr__brand p { margin-top: 1.25rem; max-width: 16rem; }
.ark-social { list-style: none; padding: 0; margin: 1.25rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.ark-social a { display: inline-flex; align-items: center; gap: .45rem; padding: .5rem .8rem; border: 1px solid var(--rule-dark); border-radius: 99px; font-size: .82rem; color: var(--ivory); text-decoration: none; transition: border-color .3s, color .3s; }
.ark-social a::after { content: "↗"; font-size: .75em; color: var(--gold); }
.ark-social a:hover { border-color: var(--gold); color: var(--gold); }
.ark-ftr__big { color: var(--ivory); opacity: .06; overflow: hidden; }
.ark-ftr__big svg { width: 100%; height: auto; display: block; }
.ark-ftr__legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; padding-top: 1.5rem; border-top: 1px solid var(--rule-dark); font: 400 .75rem/1.5 var(--f-mono); }
.ark-ftr__legal a { text-decoration: none; margin-left: 1rem; }
.ark-ftr__legal a:hover { color: var(--ivory); }

/* ---------- editor tweaks ---------- */
.editor-styles-wrapper .ark-hdr { position: relative; }
.editor-styles-wrapper .ark-hero__in > * { animation: none; }
