:root {
  color-scheme: light;
  --forest: #0f1d17;
  --forest-2: #16281f;
  --forest-3: #20382b;
  --parchment: #f1ebdb;
  --paper: #e8dfc8;
  --paper-light: #f7f3e8;
  --brass: #a98c55;
  --brass-soft: #c9b27f;
  --oxblood: #5b1f27;
  --ink: #18231b;
  --muted: #5f6258;
  --rule-light: rgba(169, 140, 85, 0.38);
  --rule-dark: rgba(201, 178, 127, 0.34);
  --serif: "Playfair Display", "Cormorant Garamond", "Palatino Linotype", Georgia, serif;
  --sans: "DM Sans", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --gutter: clamp(1.15rem, 5vw, 5.4rem);
  --max: 86rem;
  --ease: cubic-bezier(0.22, 0.68, 0, 1);
  --header-height: 5.25rem;
}

*, *::before, *::after { box-sizing: border-box; }
html { min-width: 320px; scroll-behavior: smooth; scroll-padding-top: 6rem; background: var(--forest); }
body {
  min-width: 320px; margin: 0; overflow-x: hidden;
  background: var(--parchment); color: var(--ink); font-family: var(--serif);
  font-size: 18px; line-height: 1.65; -webkit-font-smoothing: antialiased;
  transition: background-color 1.15s var(--ease), color 1.15s var(--ease);
}
body[data-theme="dark"] { background: var(--forest); color: var(--parchment); }
body[data-theme="light"] { background: var(--parchment); color: var(--ink); }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
img, svg { max-width: 100%; }
::selection { background: var(--brass-soft); color: var(--forest); }

.skip-link {
  position: fixed; z-index: 100; top: .65rem; left: .65rem; padding: .7rem 1rem;
  transform: translateY(-150%); background: var(--parchment); color: var(--forest);
  border: 1px solid var(--brass); font: 600 .9rem var(--sans); transition: transform .2s ease;
}
.skip-link:focus { transform: translateY(0); }
.noscript-note { padding: 1rem; background: var(--parchment); color: var(--forest); text-align: center; font: 500 1rem var(--sans); }

.site-header {
  position: fixed; z-index: 50; inset: 0 0 auto; height: var(--header-height); padding: 0 var(--gutter);
  display: flex; align-items: center; justify-content: space-between; gap: 2rem;
  border-bottom: 1px solid transparent; color: var(--parchment); background: rgba(15, 29, 23, .22);
  transition: height .45s var(--ease), background-color .65s var(--ease), border-color .65s var(--ease), color .65s var(--ease), box-shadow .45s ease;
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
.site-header[data-theme="light"] { color: var(--forest); background: rgba(241, 235, 219, .86); border-bottom-color: rgba(15, 29, 23, .09); }
.site-header.is-compact { height: 4.3rem; background: rgba(15, 29, 23, .93); border-color: var(--rule-dark); box-shadow: 0 10px 30px rgba(0,0,0,.09); }
.site-header[data-theme="light"].is-compact { background: rgba(241, 235, 219, .96); border-color: var(--rule-light); }
.wordmark { display: inline-flex; align-items: center; gap: .72rem; color: inherit; text-decoration: none; white-space: nowrap; }
.wordmark-mark {
  width: 2.55rem; height: 2.55rem; display: grid; place-items: center; border: 1px solid var(--brass);
  border-radius: 50%; color: var(--brass-soft); font: italic 1.4rem/1 var(--serif); position: relative;
}
.wordmark-mark::after { content: ""; position: absolute; inset: .2rem; border: 1px solid rgba(169,140,85,.35); border-radius: 50%; }
.wordmark-name { display: grid; gap: .04rem; font: 600 .77rem/1.2 var(--sans); letter-spacing: .2em; }
.wordmark-name i { font-size: .59rem; font-style: normal; font-weight: 400; letter-spacing: .39em; opacity: .78; }
.primary-nav { display: flex; align-items: center; gap: clamp(1.1rem, 2.2vw, 2.1rem); font: 500 .78rem/1 var(--sans); letter-spacing: .08em; }
.primary-nav a { padding: .75rem 0; position: relative; color: inherit; text-decoration: none; opacity: .88; transition: opacity .2s ease, color .2s ease; }
.primary-nav a:not(.nav-cta)::after { content: ""; position: absolute; bottom: .35rem; left: 0; width: 100%; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .32s var(--ease); opacity: .55; }
.primary-nav a:hover, .primary-nav a[aria-current="page"] { opacity: 1; }
.primary-nav a:hover::after, .primary-nav a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.primary-nav .nav-cta { display: inline-flex; align-items: center; gap: .8rem; min-height: 2.65rem; padding: 0 1.15rem; border: 1px solid var(--brass); color: var(--parchment); transition: background .3s ease, color .3s ease; }
.site-header[data-theme="light"] .primary-nav .nav-cta { color: var(--forest); }
.primary-nav .nav-cta:hover { background: var(--brass); color: var(--forest); }
.menu-toggle { display: none; width: 2.8rem; height: 2.8rem; color: inherit; border: 1px solid currentColor; background: transparent; align-items: center; justify-content: center; flex-direction: column; gap: .35rem; cursor: pointer; }
.menu-toggle span { display: block; width: 1.05rem; height: 1px; background: currentColor; transition: transform .25s ease; }
.menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3px) rotate(-45deg); }
body.nav-open { overflow: hidden; }
body.nav-open::before { content: ""; position: fixed; z-index: 49; inset: 0; background: rgba(7,14,10,.58); }

main { min-height: 55vh; outline: none; }
.page-wrap { overflow: clip; }
.container { width: min(var(--max), calc(100% - 2 * var(--gutter))); margin-inline: auto; }
.section { position: relative; padding: clamp(5.25rem, 9.5vw, 10.5rem) 0; }
.section-tight { padding: clamp(3.5rem, 6vw, 6.5rem) 0; }
.dark-section { background: var(--forest); color: var(--parchment); }
.light-section { background: var(--parchment); color: var(--ink); }
.paper-section { background: var(--paper); color: var(--ink); }
.section-kicker, .eyebrow, .micro-label, .meta-label {
  font: 600 .68rem/1.45 var(--sans); letter-spacing: .18em; text-transform: uppercase;
}
.section-kicker { display: flex; align-items: center; gap: .85rem; margin: 0 0 2rem; color: var(--brass); }
.section-kicker::before { content: ""; width: 2rem; height: 1px; background: currentColor; }
.dark-section .section-kicker { color: var(--brass-soft); }
.eyebrow { color: var(--brass-soft); margin: 0 0 1.1rem; }
.micro-label { font-size: .62rem; color: var(--muted); letter-spacing: .15em; }
.dark-section .micro-label { color: rgba(241,235,219,.63); }
.display, h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-weight: 400; }
.display { font: 400 clamp(3.1rem, 7.5vw, 7.8rem)/.98 var(--serif); letter-spacing: -.045em; }
h1 { font-size: clamp(2.8rem, 6.5vw, 6.8rem); line-height: 1.02; letter-spacing: -.04em; }
h2 { font-size: clamp(2.35rem, 5.2vw, 5.25rem); line-height: 1.03; letter-spacing: -.035em; }
h3 { font-size: clamp(1.7rem, 2.8vw, 2.7rem); line-height: 1.08; letter-spacing: -.025em; }
p { max-width: 68ch; }
.lede { font-size: clamp(1.08rem, 1.45vw, 1.35rem); line-height: 1.65; max-width: 47ch; color: rgba(241,235,219,.78); }
.light-section .lede, .paper-section .lede { color: #50564c; }
.italic { font-style: italic; color: var(--brass-soft); }
.light-section .italic, .paper-section .italic { color: var(--oxblood); }
.text-muted { color: var(--muted); }
.dark-section .text-muted { color: rgba(241,235,219,.66); }
.reading-width { max-width: 47rem; }
.page-intro { padding-top: calc(var(--header-height) + clamp(5rem, 10vw, 9rem)); padding-bottom: clamp(4.5rem, 8vw, 8rem); }
.page-intro-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(15rem,.75fr); gap: clamp(2rem,7vw,8rem); align-items: end; }
.page-intro h1 { max-width: 12ch; margin-bottom: 0; }
.page-intro .intro-copy { max-width: 36rem; color: rgba(241,235,219,.74); }
.page-intro.light-page .intro-copy { color: var(--muted); }
.page-index { position: absolute; right: var(--gutter); bottom: 2rem; font: .68rem var(--sans); color: rgba(201,178,127,.7); letter-spacing: .16em; }

.hero { min-height: min(920px, 100svh); display: grid; align-items: center; padding: calc(var(--header-height) + 4.8rem) 0 5.8rem; position: relative; isolation: isolate; background: radial-gradient(ellipse at 70% 35%, rgba(32,56,43,.72), transparent 48%), linear-gradient(118deg, var(--forest), #101f18 65%, #14261d); color: var(--parchment); }
.hero::before, .hero::after { content: ""; pointer-events: none; position: absolute; z-index: -1; }
.hero::before { inset: 1.3rem; border: 1px solid rgba(201,178,127,.26); }
.hero::after { inset: 1.8rem; border: 1px solid rgba(201,178,127,.11); }
.hero-grid { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(22rem,.88fr); align-items: center; gap: clamp(2rem,6vw,6.7rem); }
.hero-copy { padding-left: clamp(0rem,2vw,2rem); position: relative; z-index: 2; }
.hero h1 { max-width: 11ch; margin-bottom: 1.5rem; }
.hero h1 em { color: var(--brass-soft); font-weight: 400; }
.hero .lede { max-width: 43ch; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2.1rem; }
.button { display: inline-flex; min-height: 3.25rem; align-items: center; justify-content: center; gap: .85rem; padding: .8rem 1.25rem; border: 1px solid var(--brass); background: transparent; color: inherit; text-decoration: none; cursor: pointer; font: 600 .73rem/1.2 var(--sans); letter-spacing: .1em; transition: background .32s ease, border-color .32s ease, color .32s ease, transform .32s var(--ease); }
.button:hover { transform: translateY(-2px); background: var(--brass); color: var(--forest); }
.button:active { transform: translateY(0); }
.button-filled { background: var(--brass-soft); border-color: var(--brass-soft); color: var(--forest); }
.button-filled:hover { background: var(--parchment); border-color: var(--parchment); }
.button-light { color: var(--forest); }
.button-light:hover { color: var(--parchment); }
.text-link { display: inline-flex; align-items: center; gap: .75rem; font: 600 .73rem/1.3 var(--sans); letter-spacing: .1em; text-decoration: none; border-bottom: 1px solid var(--brass); padding: .2rem 0 .45rem; transition: gap .25s ease, color .25s ease; }
.text-link:hover { gap: 1.05rem; color: var(--brass-soft); }
.light-section .text-link, .paper-section .text-link { color: var(--forest); }
.light-section .text-link:hover, .paper-section .text-link:hover { color: var(--oxblood); }
.hero-meta { margin-top: 2.3rem; display: flex; gap: clamp(1rem,2.5vw,2.2rem); flex-wrap: wrap; color: rgba(241,235,219,.57); font: 500 .65rem/1.4 var(--sans); letter-spacing: .1em; text-transform: uppercase; }
.hero-meta span { display: inline-flex; gap: .55rem; align-items: center; }
.hero-meta span::before { content: ""; width: .32rem; height: .32rem; background: var(--brass); border-radius: 50%; }

.hero-art { min-height: 31rem; position: relative; display: grid; place-items: center; }
.art-frame { width: min(100%, 31rem); aspect-ratio: .78; position: relative; padding: 1rem; border: 1px solid rgba(201,178,127,.48); transform: rotate(1.5deg); }
.art-frame::before { content: ""; position: absolute; inset: .4rem; border: 1px solid rgba(201,178,127,.19); pointer-events: none; }
.art-canvas { position: absolute; inset: 1rem; background: linear-gradient(155deg, #e8dfc8, #c7b996 66%, #a98c55); overflow: hidden; color: var(--forest); }
.art-canvas::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(15,29,23,.08) 1px, transparent 1px), linear-gradient(rgba(15,29,23,.07) 1px, transparent 1px); background-size: 31px 31px; mask-image: linear-gradient(135deg, black, transparent 85%); }
.art-heading { position: absolute; z-index: 2; top: 10%; left: 9%; right: 9%; display: flex; justify-content: space-between; align-items: start; color: rgba(15,29,23,.7); font: 600 .53rem var(--sans); letter-spacing: .17em; text-transform: uppercase; }
.art-heading strong { font: italic 1rem var(--serif); text-transform: none; letter-spacing: 0; color: var(--forest); }
.arch-drawing { position: absolute; width: 75%; height: 72%; left: 12.5%; bottom: 8%; z-index: 1; }
.art-stamp { position: absolute; z-index: 3; bottom: 13%; right: 8%; width: 4.3rem; height: 4.3rem; display: grid; place-items: center; border: 1px solid var(--oxblood); border-radius: 50%; color: var(--oxblood); transform: rotate(-13deg); font: italic .75rem/1.15 var(--serif); text-align: center; }
.art-caption { position: absolute; right: -1.9rem; top: 20%; writing-mode: vertical-rl; color: var(--brass-soft); font: 600 .61rem var(--sans); letter-spacing: .19em; text-transform: uppercase; }
.art-index { position: absolute; left: -1.6rem; bottom: 16%; writing-mode: vertical-rl; transform: rotate(180deg); color: rgba(241,235,219,.53); font: .62rem var(--sans); letter-spacing: .16em; }
.hero-annotation { position: absolute; z-index: 3; left: -1.2rem; bottom: 5.6%; padding: .65rem .9rem; background: var(--forest-2); border: 1px solid rgba(201,178,127,.35); color: var(--parchment); font: 500 .6rem/1.4 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.hero-annotation b { color: var(--brass-soft); font-weight: 600; }
.corner { position: absolute; width: 1.3rem; height: 1.3rem; border-color: var(--brass); z-index: 4; }
.corner-tl { left: -.25rem; top: -.25rem; border-left: 1px solid; border-top: 1px solid; }
.corner-br { right: -.25rem; bottom: -.25rem; border-right: 1px solid; border-bottom: 1px solid; }
.hero-side-note { position: absolute; bottom: 2.4rem; left: var(--gutter); color: rgba(241,235,219,.45); font: .62rem var(--sans); letter-spacing: .16em; text-transform: uppercase; }
.hero-count { position: absolute; right: var(--gutter); bottom: 2.4rem; color: rgba(241,235,219,.45); font: .62rem var(--sans); letter-spacing: .16em; }

.craft-strip { border-block: 1px solid var(--rule-light); background: var(--paper); padding: 1.15rem 0; }
.craft-strip .container { display: flex; justify-content: space-between; gap: 1rem 2.2rem; flex-wrap: wrap; }
.craft-item { display: inline-flex; align-items: center; gap: .7rem; color: var(--forest); font: 500 .67rem/1.4 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.craft-item b { color: var(--brass); font: italic 1.15rem var(--serif); }

.section-heading { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(17rem,.85fr); gap: 3rem; align-items: end; margin-bottom: clamp(3rem,6.5vw,6rem); }
.section-heading h2 { max-width: 14ch; margin-bottom: 0; }
.section-heading p { margin: 0; color: var(--muted); max-width: 40ch; }
.dark-section .section-heading p { color: rgba(241,235,219,.69); }
.section-heading .section-kicker { grid-column: 1/-1; margin-bottom: -1.3rem; }
.service-list { border-top: 1px solid var(--rule-light); }
.service-row { display: grid; grid-template-columns: 4rem minmax(12rem,.8fr) minmax(15rem,1fr) 3rem; gap: clamp(1rem,3vw,3rem); align-items: center; padding: 1.65rem 0; border-bottom: 1px solid var(--rule-light); color: var(--forest); text-decoration: none; transition: padding .35s var(--ease), background .35s ease; }
.service-row:hover { padding-inline: .7rem; background: rgba(169,140,85,.075); }
.service-num { color: var(--oxblood); font: italic 1.3rem var(--serif); }
.service-row h3 { font-size: clamp(1.5rem,2.5vw,2.5rem); margin: 0; }
.service-row p { margin: 0; color: var(--muted); max-width: 44ch; font-size: .97rem; line-height: 1.55; }
.service-arrow { justify-self: end; color: var(--brass); font: 1.4rem var(--serif); transition: transform .25s ease; }
.service-row:hover .service-arrow { transform: translate(3px,-3px); }
.section-note { display: flex; align-items: center; gap: .85rem; margin-top: 1.7rem; color: var(--muted); font: .78rem/1.6 var(--sans); }
.section-note::before { content: ""; width: 1.4rem; height: 1px; background: var(--oxblood); flex: 0 0 auto; }

.featured { display: grid; grid-template-columns: minmax(0,1fr) minmax(17rem,.72fr); gap: clamp(3rem,8vw,8rem); align-items: center; }
.featured-art { min-height: 32rem; position: relative; display: grid; place-items: center; background: radial-gradient(circle at 50% 45%, #253c2d, var(--forest) 62%); border: 1px solid rgba(201,178,127,.26); }
.featured-art::before { content: ""; position: absolute; inset: .65rem; border: 1px solid rgba(201,178,127,.13); }
.browser-card { position: relative; width: min(80%, 35rem); min-height: 23rem; background: var(--parchment); color: var(--forest); box-shadow: 0 24px 70px rgba(0,0,0,.25); transform: rotate(-2.2deg); }
.browser-bar { height: 2.2rem; display: flex; align-items: center; gap: .35rem; padding: 0 .8rem; border-bottom: 1px solid rgba(15,29,23,.15); background: #e4dcc9; }
.browser-dot { width: .4rem; height: .4rem; border-radius: 50%; background: #b19d75; }
.browser-url { margin-left: auto; width: 38%; height: .42rem; border: 1px solid rgba(15,29,23,.2); border-radius: 1rem; }
.browser-body { padding: clamp(1.2rem,3vw,2.4rem); min-height: 20rem; display: grid; grid-template-columns: 1fr .86fr; gap: 1rem; align-items: center; position: relative; overflow: hidden; }
.browser-copy { position: relative; z-index: 1; }
.browser-copy span { font: 600 .5rem var(--sans); letter-spacing: .18em; text-transform: uppercase; }
.browser-copy h3 { font-size: clamp(1.7rem,3.5vw,3.1rem); line-height: .98; margin: .75rem 0; max-width: 9ch; }
.browser-copy p { color: #596053; font: .65rem/1.55 var(--sans); max-width: 22ch; }
.browser-button { width: 6.5rem; height: 1.8rem; background: var(--forest); display: grid; place-items: center; color: var(--parchment); font: 600 .43rem var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.browser-visual { min-height: 14rem; position: relative; background: linear-gradient(145deg, #d4c8aa, #96845c); overflow: hidden; }
.browser-visual::before { content: ""; position: absolute; width: 68%; height: 125%; left: 16%; top: -14%; border: 1px solid rgba(15,29,23,.62); border-radius: 48% 48% 0 0; background: linear-gradient(90deg,transparent 49%,rgba(15,29,23,.24) 50%,transparent 51%), linear-gradient(0deg,transparent 49%,rgba(15,29,23,.2) 50%,transparent 51%); }
.browser-visual::after { content: ""; position: absolute; inset: 15% 24% 0; border: 1px solid rgba(15,29,23,.45); background: linear-gradient(90deg,rgba(15,29,23,.1) 1px,transparent 1px),linear-gradient(rgba(15,29,23,.1) 1px,transparent 1px); background-size: 24px 24px; }
.concept-seal { position: absolute; right: 6%; bottom: 8%; width: 5rem; height: 5rem; border: 1px solid var(--brass-soft); border-radius: 50%; color: var(--brass-soft); display: grid; place-items: center; text-align: center; font: italic .7rem/1.2 var(--serif); transform: rotate(9deg); }
.featured-text .section-kicker { margin-bottom: 1.2rem; }
.featured-text h2 { font-size: clamp(2.5rem,4.8vw,4.8rem); margin-bottom: 1.2rem; }
.featured-text p { color: rgba(241,235,219,.7); max-width: 38ch; }
.featured-meta { margin: 2.3rem 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; border-top: 1px solid var(--rule-dark); border-bottom: 1px solid var(--rule-dark); padding: 1rem 0; }
.featured-meta span { display: grid; gap: .35rem; color: rgba(241,235,219,.86); font: .78rem var(--sans); }
.featured-meta b { color: var(--brass-soft); font-size: .58rem; font-weight: 500; letter-spacing: .15em; text-transform: uppercase; }

.cms-teaser { display: grid; grid-template-columns: minmax(0,.85fr) minmax(21rem,1.15fr); gap: clamp(2.5rem,7vw,7rem); align-items: center; }
.cms-teaser h2 { max-width: 10ch; }
.cms-teaser p { color: rgba(241,235,219,.72); }
.cms-interface { position: relative; border: 1px solid rgba(201,178,127,.5); padding: 1.2rem; background: rgba(22,40,31,.82); box-shadow: 20px 25px 65px rgba(0,0,0,.16); }
.cms-interface::before { content: "UKÁZKA ROZHRANÍ · KONCEPT"; position: absolute; top: -.8rem; left: 1.2rem; padding: .25rem .55rem; background: var(--forest); color: var(--brass-soft); font: 600 .55rem var(--sans); letter-spacing: .14em; }
.cms-window-top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .4rem .3rem 1rem; border-bottom: 1px solid var(--rule-dark); font: .66rem var(--sans); color: rgba(241,235,219,.74); }
.cms-window-top b { color: var(--parchment); font-weight: 500; }
.cms-window-body { display: grid; grid-template-columns: 7.5rem 1fr; min-height: 13rem; }
.cms-sidebar { padding: 1rem .7rem; border-right: 1px solid var(--rule-dark); display: grid; align-content: start; gap: .7rem; }
.cms-sidebar span { font: .57rem var(--sans); color: rgba(241,235,219,.56); }
.cms-sidebar span:first-child { color: var(--brass-soft); }
.cms-content { padding: 1rem 1rem 1rem 1.3rem; }
.cms-content small { font: .53rem var(--sans); letter-spacing: .14em; color: var(--brass-soft); }
.cms-content strong { display: block; margin: .4rem 0; font: 400 1.25rem/1.1 var(--serif); }
.fake-line { height: .34rem; margin: .45rem 0; background: rgba(241,235,219,.16); width: 85%; }
.fake-line.short { width: 58%; }
.cms-mini-button { display: inline-flex; margin-top: .8rem; padding: .5rem .65rem; color: var(--forest); background: var(--brass-soft); font: 600 .53rem var(--sans); letter-spacing: .08em; text-transform: uppercase; }
.cms-proof { margin-top: 1.8rem; display: flex; align-items: center; gap: 1rem; color: rgba(241,235,219,.63); font: .72rem/1.5 var(--sans); }
.cms-proof::before { content: "✓"; width: 1.7rem; height: 1.7rem; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid var(--brass); color: var(--brass-soft); }

.process-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--rule-light); }
.process-step { padding: 1.6rem clamp(.7rem,2vw,1.8rem) 1.5rem 0; border-bottom: 1px solid var(--rule-light); position: relative; }
.process-step:not(:last-child) { border-right: 1px solid var(--rule-light); }
.process-step:not(:first-child) { padding-left: clamp(.7rem,2vw,1.8rem); }
.process-index { display: block; color: var(--oxblood); font: italic 1.1rem var(--serif); margin-bottom: 2.8rem; }
.process-step h3 { font-size: clamp(1.35rem,2vw,1.9rem); margin-bottom: .65rem; }
.process-step p { color: var(--muted); font-size: .88rem; line-height: 1.55; margin-bottom: 0; }
.principle-line { margin-top: 4rem; display: flex; justify-content: space-between; gap: 2rem; align-items: center; padding-top: 1.2rem; border-top: 1px solid var(--rule-light); color: var(--muted); font: .72rem/1.5 var(--sans); }
.principle-line strong { color: var(--forest); font: italic 1.35rem var(--serif); }

.studio-callout { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(2rem,7vw,7rem); align-items: start; }
.studio-emblem { width: 8.5rem; height: 8.5rem; display: grid; place-items: center; position: relative; margin: .3rem auto; color: var(--brass); border: 1px solid var(--rule-light); border-radius: 50%; font: italic 3rem var(--serif); }
.studio-emblem::before, .studio-emblem::after { content: ""; position: absolute; border: 1px solid var(--rule-light); border-radius: 50%; inset: .42rem; }
.studio-emblem::after { inset: -.55rem; border-style: dashed; opacity: .7; }
.studio-copy h2 { max-width: 12ch; }
.studio-copy p { color: var(--muted); max-width: 52ch; }
.studio-signoff { margin-top: 2rem; display: flex; align-items: center; gap: 1rem; color: var(--forest); font: 500 .7rem var(--sans); letter-spacing: .1em; }
.studio-signoff::before { content: ""; width: 2rem; height: 1px; background: var(--brass); }

.contact-band { background: var(--oxblood); color: var(--parchment); position: relative; overflow: hidden; padding: clamp(4.5rem,8vw,8rem) 0; }
.contact-band::before { content: ""; position: absolute; width: 42rem; height: 42rem; right: -8rem; top: -24rem; border: 1px solid rgba(201,178,127,.25); border-radius: 50%; box-shadow: 0 0 0 2rem rgba(201,178,127,.06), 0 0 0 4rem rgba(201,178,127,.035); }
.contact-band-grid { position: relative; display: flex; justify-content: space-between; align-items: end; gap: 3rem; }
.contact-band h2 { max-width: 12ch; margin-bottom: 0; }
.contact-band p { color: rgba(241,235,219,.75); max-width: 36ch; }
.contact-band .button { flex: 0 0 auto; }

.site-footer { padding: 4rem var(--gutter) calc(1.4rem + env(safe-area-inset-bottom, 0px)); color: var(--parchment); background: var(--forest); }
.footer-top { max-width: var(--max); margin: 0 auto; display: flex; justify-content: space-between; align-items: end; gap: 2rem; padding-bottom: 3.1rem; border-bottom: 1px solid var(--rule-dark); }
.footer-top p { margin: 0; text-align: right; font-size: clamp(1.5rem,3vw,2.5rem); line-height: 1.1; }
.footer-top p em { color: var(--brass-soft); }
.wordmark-footer .wordmark-mark { width: 3rem; height: 3rem; }
.wordmark-footer .wordmark-name { font-size: .9rem; }
.footer-bottom { width: min(var(--max),100%); margin: 1.3rem auto 0; display: flex; justify-content: space-between; gap: 1rem 2rem; flex-wrap: wrap; color: rgba(241,235,219,.53); font: .63rem/1.5 var(--sans); }
.footer-note { color: rgba(201,178,127,.72); }

.page-main { min-height: 65vh; }
.page-main .page-intro { position: relative; }
.page-main .page-intro.dark-page { background: var(--forest); color: var(--parchment); }
.page-main .page-intro.light-page { background: var(--parchment); color: var(--forest); }
.page-main .page-intro.light-page .section-kicker { color: var(--oxblood); }
.page-main .page-intro.light-page .intro-copy { color: var(--muted); }
.page-section-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(16rem,.7fr); gap: 3rem; align-items: start; }
.detail-copy h2 { font-size: clamp(2.1rem,4vw,4rem); }
.detail-copy p { color: var(--muted); }
.detail-aside { padding: 1.5rem; border: 1px solid var(--rule-light); background: rgba(232,223,200,.34); }
.detail-aside strong { display: block; color: var(--oxblood); font: italic 1.3rem var(--serif); margin-bottom: .7rem; }
.detail-aside p { font: .84rem/1.6 var(--sans); color: var(--muted); margin-bottom: 0; }
.concept-card { display: grid; grid-template-columns: minmax(0,1fr) minmax(17rem,.8fr); gap: 2rem; padding: clamp(1.2rem,3vw,2.2rem); border: 1px solid var(--rule-light); background: rgba(22,40,31,.035); align-items: center; }
.concept-card h2 { font-size: clamp(2rem,4vw,3.8rem); max-width: 11ch; }
.concept-card p { color: var(--muted); }
.concept-card-art { min-height: 21rem; display: grid; place-items: center; background: var(--forest); position: relative; overflow: hidden; }
.concept-card-art::before { content: ""; position: absolute; width: 62%; height: 95%; top: 10%; border: 1px solid var(--brass-soft); border-radius: 48% 48% 0 0; background: linear-gradient(90deg,transparent 49%,rgba(201,178,127,.35) 50%,transparent 51%), linear-gradient(0deg,transparent 49%,rgba(201,178,127,.28) 50%,transparent 51%); }
.concept-card-art::after { content: "KONCEPT / 01"; position: absolute; bottom: 1rem; right: 1rem; color: var(--brass-soft); font: .58rem var(--sans); letter-spacing: .16em; }
.case-chapters { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--rule-light); border: 1px solid var(--rule-light); }
.case-chapter { padding: 1.5rem; background: var(--parchment); }
.case-chapter span { color: var(--oxblood); font: italic 1.05rem var(--serif); }
.case-chapter h3 { font-size: 1.45rem; margin: 1rem 0 .55rem; }
.case-chapter p { color: var(--muted); font-size: .86rem; line-height: 1.5; margin: 0; }
.service-detail { display: grid; grid-template-columns: 4.2rem minmax(0,1fr) minmax(14rem,.7fr); gap: clamp(1rem,3vw,3rem); padding: 2rem 0; border-top: 1px solid var(--rule-light); align-items: start; }
.service-detail:last-child { border-bottom: 1px solid var(--rule-light); }
.service-detail .service-num { font-size: 1.5rem; }
.service-detail h2 { font-size: clamp(1.9rem,3.7vw,3.6rem); margin: 0 0 .8rem; }
.service-detail p { color: var(--muted); margin: 0; }
.service-detail aside { padding-left: 1rem; border-left: 1px solid var(--rule-light); color: var(--muted); font: .82rem/1.55 var(--sans); }

.cms-workbench { display: grid; grid-template-columns: minmax(18rem,.84fr) minmax(0,1.16fr); gap: clamp(1.4rem,4vw,4rem); align-items: start; }
.editor-panel { padding: clamp(1rem,2.7vw,2rem); background: #e7dec9; border: 1px solid var(--rule-light); color: var(--forest); }
.editor-top { display: flex; justify-content: space-between; gap: 1rem; align-items: center; border-bottom: 1px solid var(--rule-light); padding-bottom: .9rem; margin-bottom: 1.3rem; }
.editor-top strong { font: 600 .71rem var(--sans); letter-spacing: .13em; text-transform: uppercase; }
.editor-top span { color: var(--oxblood); font: .62rem var(--sans); letter-spacing: .08em; }
.field { display: grid; gap: .45rem; margin: 1rem 0; }
.field label { font: 600 .65rem var(--sans); letter-spacing: .08em; }
.field input, .field textarea, .field select { width: 100%; border: 1px solid rgba(15,29,23,.3); border-radius: 0; padding: .72rem .78rem; background: var(--paper-light); color: var(--forest); outline: none; font: .88rem/1.45 var(--sans); }
.field textarea { min-height: 6.5rem; resize: vertical; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--oxblood); box-shadow: 0 0 0 2px rgba(91,31,39,.14); }
.editor-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.4rem; }
.editor-actions .button { min-height: 2.75rem; padding-inline: .85rem; font-size: .64rem; }
.editor-notice { min-height: 1.5rem; margin: .85rem 0 0; color: var(--forest-2); font: .7rem/1.45 var(--sans); }
.preview-panel { position: sticky; top: 6.5rem; border: 1px solid var(--rule-dark); background: var(--forest); color: var(--parchment); padding: clamp(1rem,2.5vw,1.8rem); }
.preview-label { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding-bottom: .9rem; border-bottom: 1px solid var(--rule-dark); color: var(--brass-soft); font: .61rem var(--sans); letter-spacing: .13em; text-transform: uppercase; }
.preview-browser { margin-top: 1rem; min-height: 21rem; background: var(--paper); color: var(--forest); position: relative; overflow: hidden; }
.preview-browser::after { content: ""; position: absolute; width: 44%; height: 80%; right: 5%; bottom: -15%; border: 1px solid rgba(15,29,23,.38); border-radius: 50% 50% 0 0; background: linear-gradient(90deg,transparent 49%,rgba(15,29,23,.18) 50%,transparent 51%), linear-gradient(0deg,transparent 49%,rgba(15,29,23,.16) 50%,transparent 51%); }
.preview-content { position: relative; z-index: 1; max-width: 70%; padding: 2.2rem 1.5rem; }
.preview-content small { font: 600 .55rem var(--sans); letter-spacing: .16em; text-transform: uppercase; }
.preview-content h3 { max-width: 8ch; font-size: clamp(1.8rem,3vw,3rem); margin: .8rem 0; }
.preview-content p { max-width: 28ch; font: .72rem/1.55 var(--sans); color: #4f564a; }
.preview-cta { display: inline-flex; padding: .6rem .75rem; margin-top: .4rem; background: var(--forest); color: var(--parchment); font: 600 .55rem var(--sans); letter-spacing: .08em; }
.preview-footnote { margin: .8rem 0 0; color: rgba(241,235,219,.59); font: .66rem/1.5 var(--sans); }

.contact-layout { display: grid; grid-template-columns: minmax(15rem,.75fr) minmax(0,1.25fr); gap: clamp(2rem,7vw,7rem); align-items: start; }
.contact-intro h2 { max-width: 10ch; }
.contact-intro p { color: var(--muted); }
.pending-card { margin-top: 2rem; padding: 1.1rem 1.2rem; border-left: 2px solid var(--oxblood); background: rgba(91,31,39,.06); font: .78rem/1.55 var(--sans); color: var(--muted); }
.enquiry-form { padding: clamp(1.2rem,3vw,2.25rem); border: 1px solid var(--rule-light); background: rgba(232,223,200,.35); }
.enquiry-form .field { margin: 0 0 1.15rem; }
.form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .9rem; }
.draft-output { margin-top: 1.1rem; }
.draft-output textarea { width: 100%; min-height: 11rem; padding: 1rem; border: 1px solid var(--rule-light); background: var(--paper-light); color: var(--forest); font: .85rem/1.6 var(--sans); }
.form-status { min-height: 1.45rem; margin: .7rem 0 0; color: var(--oxblood); font: .7rem/1.45 var(--sans); }

.error-panel { min-height: 66vh; display: grid; place-items: center; text-align: center; padding: 8rem var(--gutter) 5rem; background: var(--forest); color: var(--parchment); }
.error-panel .error-inner { max-width: 45rem; }
.error-number { color: var(--brass-soft); font: italic clamp(5rem,15vw,12rem)/.8 var(--serif); opacity: .8; }
.error-panel h1 { margin: 1.3rem auto; font-size: clamp(2.4rem,6vw,5rem); }
.error-panel p { color: rgba(241,235,219,.72); margin: 0 auto 1.8rem; }

.route-fade { animation: page-arrive .5s var(--ease) both; }
@keyframes page-arrive { from { opacity: .35; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.reveal { opacity: 1; transform: none; }
.js .reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.js .reveal.is-visible { opacity: 1; transform: none; }
.js .reveal[data-delay="1"] { transition-delay: .1s; }
.js .reveal[data-delay="2"] { transition-delay: .2s; }
.js .reveal[data-delay="3"] { transition-delay: .3s; }

:focus-visible { outline: 2px solid var(--brass-soft); outline-offset: 4px; }
.light-section :focus-visible, .paper-section :focus-visible, .editor-panel :focus-visible, .enquiry-form :focus-visible { outline-color: var(--oxblood); }

@media (max-width: 1050px) {
  .primary-nav { gap: 1.1rem; }
  .hero-grid { gap: 2rem; }
  .hero-art { min-height: 27rem; }
  .featured-art { min-height: 28rem; }
  .process-step { padding-right: 1rem; }
  .process-step:not(:first-child) { padding-left: 1rem; }
}
@media (max-width: 800px) {
  :root {
    --header-height: calc(4.7rem + env(safe-area-inset-top, 0px));
    --gutter: max(clamp(1.15rem, 5vw, 5.4rem), env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));
  }
  .site-header { gap: 1rem; }
  .site-header.is-compact { height: calc(4.3rem + env(safe-area-inset-top, 0px)); }
  .menu-toggle { display: flex; position: relative; z-index: 53; }
  .primary-nav { position: fixed; z-index: 52; top: 0; right: 0; bottom: 0; width: min(24rem, 86vw); padding: calc(var(--header-height) + 1rem) 1.5rem calc(1.25rem + env(safe-area-inset-bottom, 0px)); display: flex; align-items: stretch; justify-content: center; flex-direction: column; gap: .55rem; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; background: var(--forest); color: var(--parchment); border-left: 1px solid var(--rule-dark); box-shadow: -20px 0 55px rgba(0,0,0,.22); transform: translateX(105%); visibility: hidden; transition: transform .38s var(--ease), visibility .38s; }
  .primary-nav.is-open { transform: translateX(0); visibility: visible; }
  .primary-nav a { display: flex; align-items: center; width: 100%; min-height: 44px; padding: .65rem 0; font-size: .9rem; }
  .primary-nav .nav-cta { width: auto; min-height: 44px; margin-top: 1.2rem; padding: .65rem 1rem; justify-content: space-between; }
  .site-header[data-theme="light"] .primary-nav .nav-cta { color: var(--parchment); }
  .hero { min-height: auto; padding-top: calc(var(--header-height) + 5rem); padding-bottom: 6rem; }
  .hero-grid { grid-template-columns: minmax(0,1fr); gap: 1.4rem; }
  .hero-copy { max-width: 48rem; }
  .hero h1 { max-width: 12ch; }
  .hero-art { min-height: min(33rem,80vw); margin: 0 auto; width: min(100%, 34rem); }
  .art-frame { width: min(78%, 26rem); }
  .section-heading, .page-intro-grid { grid-template-columns: 1fr; gap: 1.4rem; }
  .section-heading .section-kicker { margin-bottom: -.6rem; }
  .section-heading h2 { max-width: 15ch; }
  .featured, .cms-teaser, .studio-callout, .page-section-grid, .contact-layout { grid-template-columns: 1fr; }
  .featured-text { order: -1; }
  .cms-teaser h2 { max-width: 14ch; }
  .studio-emblem { margin: 0 auto 1rem 0; }
  .contact-band-grid { align-items: start; flex-direction: column; }
  .service-detail { grid-template-columns: 3rem minmax(0,1fr); }
  .service-detail aside { grid-column: 2; }
  .cms-workbench { grid-template-columns: 1fr; }
  .preview-panel { position: static; }
}
@media (max-width: 800px) and (max-height: 560px) {
  .primary-nav { justify-content: flex-start; }
}
@media (max-width: 560px) {
  body { font-size: 17px; }
  .section:not(.section-tight) { padding-block: clamp(4rem, 11vw, 4.75rem); }
  .page-intro { padding-top: calc(var(--header-height) + clamp(2.75rem, 10vw, 3.5rem)); padding-bottom: clamp(3.25rem, 8vw, 3.75rem); }
  .wordmark-mark { width: 2.3rem; height: 2.3rem; }
  .wordmark-name { font-size: .69rem; }
  .hero { padding-top: calc(var(--header-height) + clamp(2rem, 8vw, 2.6rem)); padding-bottom: 4.5rem; }
  .hero::before { inset: .7rem; }
  .hero::after { inset: 1.05rem; }
  .hero h1 { font-size: clamp(2.65rem,13vw,4.5rem); }
  .hero-actions { gap: .65rem; }
  .hero-actions .button { flex: 1 1 auto; min-width: 9.5rem; padding-inline: .75rem; font-size: .68rem; }
  .hero-meta { gap: .7rem 1rem; font-size: .58rem; }
  .hero-art { min-height: min(21rem, 96vw); }
  .art-frame { width: min(75%, 21rem); }
  .art-caption { right: -1rem; font-size: .52rem; }
  .art-index { left: -.9rem; font-size: .53rem; }
  .hero-annotation { left: -.25rem; font-size: .51rem; }
  .hero-side-note { bottom: 1.5rem; font-size: .54rem; }
  .hero-count { bottom: 1.5rem; font-size: .54rem; }
  .craft-strip .container { display: grid; grid-template-columns: 1fr 1fr; }
  .craft-item { font-size: .59rem; }
  .service-row { grid-template-columns: 2rem minmax(0,1fr) 1.25rem; gap: .75rem; padding-block: 1.2rem; }
  .service-row p { grid-column: 2; grid-row: 2; font-size: .87rem; }
  .service-row h3 { grid-column: 2; font-size: 1.55rem; }
  .service-arrow { grid-column: 3; grid-row: 1 / span 2; }
  .service-num { align-self: start; padding-top: .2rem; }
  .featured-art { min-height: 24rem; }
  .browser-card { width: 84%; min-height: 18rem; }
  .browser-body { min-height: 15.8rem; padding: 1rem; gap: .4rem; }
  .browser-visual { min-height: 12rem; }
  .browser-copy p { font-size: .58rem; }
  .concept-seal { width: 4rem; height: 4rem; font-size: .6rem; }
  .cms-window-body { grid-template-columns: 5.2rem 1fr; }
  .cms-sidebar { padding-inline: .4rem; }
  .cms-content { padding-inline: .7rem; }
  .process-grid { grid-template-columns: 1fr 1fr; }
  .process-step { padding: 1.1rem .75rem 1.1rem 0; }
  .process-step:nth-child(2n) { border-right: 0; padding-left: .75rem; }
  .process-step:nth-child(2n+1) { border-right: 1px solid var(--rule-light); }
  .process-index { margin-bottom: 1.3rem; }
  .process-step h3 { font-size: 1.42rem; }
  .process-step p { font-size: .8rem; }
  .principle-line { align-items: start; flex-direction: column; gap: .5rem; }
  .footer-top { align-items: start; flex-direction: column; }
  .footer-top p { text-align: left; }
  .footer-bottom { display: grid; }
  .concept-card { grid-template-columns: 1fr; }
  .concept-card-art { min-height: 16rem; }
  .case-chapters { grid-template-columns: 1fr; }
  .case-chapter { padding: 1.1rem; }
  .service-detail { grid-template-columns: 2rem minmax(0,1fr); gap: .75rem; padding-block: 1.4rem; }
  .service-detail h2 { font-size: 1.8rem; }
  .service-detail aside { padding-left: .8rem; }
  .preview-content { max-width: 82%; padding: 1.5rem 1rem; }
  .preview-browser { min-height: 18rem; }
  .preview-browser::after { width: 38%; right: 2%; }
  .field input, .field textarea, .field select { font-size: 1rem; }
  .text-link { min-height: 44px; }
  .form-actions .button { width: 100%; }
  .footer-note { display: block; }
}
@media (max-width: 380px) {
  .hero-actions .button { flex-basis: 100%; min-width: 0; }
  .process-grid { grid-template-columns: 1fr; }
  .process-step, .process-step:not(:first-child) { padding: 1.2rem 0; border-right: 0; }
  .process-step:nth-child(n) { border-right: 0; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .js .reveal { opacity: 1; transform: none; }
}


/* V5 reference implementation, isolated from the site's other routes. */
.home-v5 {
  --green:#0B1712;--green2:#13251C;--green3:#1C3629;--parch:#F2ECDC;--parch2:#E5DAC0;--ink:#1B1A16;
  --brass:#A98C55;--brass2:#D2BC88;--oxblood:#5B1F27;--muted:#6C6A5E;
  --rule:rgba(169,140,85,.45);--ease:cubic-bezier(.25,.6,.2,1);--gut:clamp(24px,6vw,112px);
  --serif:"Cormorant Garamond","Garamond","Palatino Linotype",Georgia,serif;--cap:"Cinzel","Trajan Pro",Georgia,serif
}
.home-v5, .home-v5 * {box-sizing:border-box;margin:0}
.home-v5 {scroll-behavior:smooth}
.home-v5 {font-family:var(--serif);font-size:19px;line-height:1.7;background:var(--green);color:var(--parch);-webkit-font-smoothing:antialiased;overflow-x:hidden}
.home-v5 a {color:inherit}
.home-v5 :focus-visible {outline:1px solid var(--brass2);outline-offset:5px}
.home-v5 .sc {font-family:var(--cap);text-transform:uppercase;letter-spacing:.24em;font-size:.68em;font-weight:500}
.home-v5 .defs {position:absolute;width:0;height:0;overflow:hidden}
.home-v5::after {content:"";position:fixed;inset:0;pointer-events:none;z-index:60;opacity:.15;mix-blend-mode:soft-light;
 background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .5  0 0 0 0 .45  0 0 0 0 .3  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.home-v5 .foil {background:linear-gradient(100deg,#8a7040 0%,#ecdcae 22%,#a98c55 45%,#f5e8c1 62%,#8a7040 82%,#d2bc88 100%);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-style:italic;animation:v5-foil 12s ease-in-out infinite alternate}
@keyframes v5-foil {to{background-position:100% 0}}
.home-v5 .oxf {background:linear-gradient(100deg,#3f1218,#8a3340 50%,#4a161d);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-style:italic}
.home-v5 header {position:fixed;inset:0 0 auto 0;z-index:50;height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gut);transition:all .8s var(--ease);color:var(--parch)}
.home-v5 header.scrolled {height:70px;background:linear-gradient(var(--green),rgba(11,23,18,.94));border-bottom:1px solid var(--rule);box-shadow:0 18px 40px -18px rgba(0,0,0,.7)}
.home-v5 .logo {display:flex;align-items:center;gap:14px;text-decoration:none}
.home-v5 .logo svg {width:42px;height:42px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.5))}
.home-v5 .logo b {font-family:var(--cap);font-weight:500;font-size:13px;letter-spacing:.38em;text-shadow:0 -1px 0 rgba(0,0,0,.6)}
.home-v5 nav {display:flex;align-items:center;gap:38px;font-size:16px}
.home-v5 nav a:not(.btn) {text-decoration:none;position:relative;padding:8px 0;opacity:.88;font-family:var(--cap);font-size:11.5px;letter-spacing:.24em;text-transform:uppercase}
.home-v5 nav a:not(.btn)::after {content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--brass2);transform:scaleX(0);transition:transform .9s var(--ease)}
.home-v5 nav a:not(.btn):hover::after {transform:scaleX(1)}
.home-v5 .btn {display:inline-flex;align-items:center;gap:14px;min-height:52px;padding:0 36px;border:1px solid var(--brass);color:var(--parch);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(0,0,0,.2));text-decoration:none;font-family:var(--cap);font-size:12px;letter-spacing:.26em;text-transform:uppercase;position:relative;box-shadow:0 12px 22px -12px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.12);transition:transform .8s var(--ease),box-shadow .8s var(--ease)}
.home-v5 .btn::before {content:"";position:absolute;inset:4px;border:1px solid var(--rule)}
.home-v5 .btn::after {content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.28) 50%,transparent 65%);transform:translateX(-130%);transition:transform 1.2s var(--ease)}
.home-v5 .btn:hover {transform:translateY(-3px);box-shadow:0 22px 32px -14px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.18)}
.home-v5 .btn:hover::after {transform:translateX(130%)}
.home-v5 .btn.solid {background:linear-gradient(180deg,#e6d4a3,#b09457 55%,#9a7e45);color:#1a1408;text-shadow:0 1px 0 rgba(255,255,255,.4);border-color:#7f6636}
.home-v5 .btn.solid::before {border-color:rgba(26,20,8,.3)}
.home-v5 nav .btn {min-height:42px;padding:0 24px;font-size:11px}
@media(max-width:900px) {
.home-v5 nav a:not(.btn) {display:none}
}
.home-v5 .rv {opacity:0;translate:0 22px;transition:opacity 1.6s var(--ease),translate 1.8s var(--ease);transition-delay:var(--d,0s)}
.home-v5 .rv.in {opacity:1;translate:0 0}
.home-v5 .draw {transform:scaleX(0);transform-origin:left;transition:transform 2s var(--ease);transition-delay:var(--d,0s)}
.home-v5 .in.draw,
.home-v5 .in .draw {transform:scaleX(1)}
.home-v5 [data-depth] {will-change:transform}
.home-v5 .hero {position:relative;min-height:112svh;padding:170px var(--gut) 190px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,100px);align-items:center;overflow:hidden;background:linear-gradient(180deg,#16291f 0%,#0B1712 72%);isolation:isolate}
.home-v5 .layer {position:absolute;inset:-6% -4%;pointer-events:none}
.home-v5 .l-hall {z-index:-4;opacity:.62}
.home-v5 .l-hall svg {width:100%;height:100%}
.home-v5 .l-light {z-index:-3;background:radial-gradient(55% 55% at 74% 40%,rgba(232,208,156,.3),transparent 70%),radial-gradient(40% 35% at 14% 6%,rgba(210,188,136,.16),transparent 70%)}
.home-v5 .l-floor {z-index:-2;inset:auto -4% -2% -4%;height:36%;background:linear-gradient(180deg,transparent,rgba(0,0,0,.6) 70%)}
.home-v5 .l-floor::before {content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--rule),transparent)}
.home-v5 .dust {position:absolute;width:3px;height:3px;border-radius:50%;background:var(--brass2);opacity:.35;filter:blur(.6px);animation:v5-float 14s ease-in-out infinite alternate}
@keyframes v5-float {to{transform:translate3d(18px,-34px,0);opacity:.08}}
.home-v5 .vignette {position:absolute;inset:0;z-index:5;pointer-events:none;background:radial-gradient(120% 100% at 50% 40%,transparent 50%,rgba(0,0,0,.66) 100%)}
.home-v5 .frameline {position:absolute;inset:34px;z-index:4;pointer-events:none;border:1px solid var(--rule);box-shadow:inset 0 0 50px rgba(0,0,0,.5)}
.home-v5 .frameline::before {content:"";position:absolute;inset:7px;border:1px solid rgba(169,140,85,.18)}
.home-v5 .est {display:flex;align-items:center;gap:18px;color:var(--brass2);margin-bottom:40px}
.home-v5 .est i {flex:0 0 56px;height:1px;background:var(--brass)}
.home-v5 h1 {font-weight:500;font-size:clamp(3rem,6.4vw,7rem);line-height:1.02;letter-spacing:-.015em;max-width:11ch;text-shadow:0 -1px 0 rgba(0,0,0,.7),0 14px 40px rgba(0,0,0,.55)}
.home-v5 .orn {display:block;width:min(260px,60%);height:22px;margin:34px 0 30px;color:var(--brass2)}
.home-v5 .lede {max-width:44ch;font-size:clamp(1.15rem,1.5vw,1.35rem);color:rgba(242,236,220,.82);font-style:italic;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.home-v5 .cta {display:flex;flex-wrap:wrap;gap:16px;margin-top:46px}
.home-v5 .micro {margin-top:30px;color:rgba(242,236,220,.55);font-size:16px;font-style:italic}
.home-v5 .stage {position:relative;perspective:1700px}
.home-v5 .p3d {transform-style:preserve-3d;transition:transform 1.1s var(--ease);position:relative}
.home-v5 .plate {position:relative;padding:clamp(14px,1.5vw,22px);
  background:linear-gradient(135deg,#ead9a8 0%,#9a7e45 24%,#dcc691 46%,#7f6636 72%,#d0b77c 100%);
  box-shadow:0 2px 0 rgba(255,255,255,.4) inset,0 -2px 0 rgba(0,0,0,.35) inset,0 1px 1px rgba(0,0,0,.4),0 6px 8px rgba(0,0,0,.3),0 26px 32px -8px rgba(0,0,0,.45),0 64px 90px -20px rgba(0,0,0,.75)}
.home-v5 .plate::before {content:"";position:absolute;inset:7px;border:1px solid rgba(50,34,8,.55);box-shadow:0 0 0 1px rgba(255,255,255,.25),inset 0 0 0 3px rgba(255,255,255,.08)}
.home-v5 .plate::after {content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--gx,30%) var(--gy,20%),rgba(255,255,255,.42),transparent 45%);mix-blend-mode:soft-light}
.home-v5 .mat {background:linear-gradient(160deg,#f7f1e1,#e6dbc1);padding:clamp(16px,2.2vw,30px);box-shadow:inset 0 0 0 1px rgba(60,40,10,.3),inset 0 10px 24px rgba(60,40,10,.28),inset 0 -2px 0 rgba(255,255,255,.6)}
.home-v5 .shot {background:#fff;color:var(--ink);box-shadow:0 0 0 1px rgba(60,40,10,.4),0 2px 0 rgba(255,255,255,.5),inset 0 0 22px rgba(0,0,0,.12);container-type:inline-size;overflow:hidden}
.home-v5 .bar {display:flex;align-items:center;gap:6px;padding:1.6cqw 2cqw;border-bottom:1px solid #d9cfb2;background:linear-gradient(#fbf7ea,#f1e9d3)}
.home-v5 .bar i {width:1.3cqw;height:1.3cqw;border-radius:50%;background:#d4c9ab;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.home-v5 .bar span {margin-left:2cqw;flex:1;max-width:40%;font-family:var(--cap);font-size:1.5cqw;letter-spacing:.12em;color:#8b8468;background:#efe8d3;padding:.5cqw 1.6cqw;border-radius:2cqw;text-align:center;white-space:nowrap;overflow:hidden}
.home-v5 .mock {background:linear-gradient(170deg,#fbf7ec,#efe6cf)}
.home-v5 .mnav {display:flex;align-items:center;justify-content:space-between;padding:2.6cqw 4cqw;border-bottom:1px solid rgba(169,140,85,.35)}
.home-v5 .mnav b {font-family:var(--cap);font-weight:500;font-size:1.9cqw;letter-spacing:.3em}
.home-v5 .mnav span {font-family:var(--cap);font-size:1.25cqw;letter-spacing:.22em;color:#6d6650;display:flex;gap:2.6cqw}
.home-v5 .mnav em {font-style:normal;font-family:var(--cap);font-size:1.2cqw;letter-spacing:.2em;padding:.9cqw 2cqw;background:var(--green);color:var(--brass2)}
.home-v5 .mbody {display:grid;grid-template-columns:1.1fr 1fr;gap:3cqw;padding:5cqw 4cqw 4cqw;align-items:center}
.home-v5 .mbody small {font-family:var(--cap);font-size:1.2cqw;letter-spacing:.3em;color:var(--oxblood);text-transform:uppercase;display:block;margin-bottom:2cqw}
.home-v5 .mbody h4 {font-weight:500;font-size:5.6cqw;line-height:1.02;letter-spacing:-.015em}
.home-v5 .mbody h4 i {color:var(--oxblood)}
.home-v5 .mbody p {font-size:1.9cqw;line-height:1.45;color:#5b5848;margin-top:2.2cqw;max-width:34ch}
.home-v5 .mbody .mb {display:inline-block;margin-top:2.6cqw;font-family:var(--cap);font-size:1.2cqw;letter-spacing:.22em;padding:1.3cqw 3cqw;background:linear-gradient(#1c3629,#0b1712);color:var(--brass2);box-shadow:0 .6cqw 1.2cqw -.4cqw rgba(0,0,0,.5)}
.home-v5 .mart {position:relative;aspect-ratio:3/3.7;box-shadow:0 0 0 .5cqw #fff,0 0 0 .6cqw rgba(60,40,10,.45),0 1.6cqw 3cqw -1cqw rgba(0,0,0,.5)}
.home-v5 .mart svg {position:absolute;inset:0;width:100%;height:100%;display:block}
.home-v5 .mrow {display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(169,140,85,.35)}
.home-v5 .mrow div {padding:2.2cqw 4cqw;font-family:var(--cap);font-size:1.2cqw;letter-spacing:.2em;color:#6d6650;border-right:1px solid rgba(169,140,85,.35)}
.home-v5 .mrow div:last-child {border:0}
.home-v5 .mrow b {display:block;font-family:var(--serif);font-weight:500;font-size:2.4cqw;letter-spacing:0;color:var(--ink);margin-top:.5cqw}
.home-v5 .plaque {position:relative;margin:-6px auto 0;transform:translateZ(40px);width:max-content;max-width:90%;padding:8px 26px;background:linear-gradient(145deg,#ecdaa8,#9a7e45);color:#2b210e;font-family:var(--cap);font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;text-align:center;text-shadow:0 1px 0 rgba(255,255,255,.45);box-shadow:0 2px 0 rgba(0,0,0,.3),0 14px 20px -6px rgba(0,0,0,.65),inset 0 0 0 1px rgba(255,255,255,.4)}
.home-v5 .cast {position:absolute;left:8%;right:-4%;bottom:-36px;height:62px;background:radial-gradient(50% 50% at 50% 50%,rgba(0,0,0,.6),transparent 70%);filter:blur(14px);z-index:-1}
.home-v5 .back-plate {position:absolute;width:36%;right:-7%;top:-10%;z-index:-1;transform:rotate(4deg);filter:brightness(.7)}
.home-v5 .num {position:absolute;top:-38px;left:0;color:var(--brass2)}
.home-v5 .scroll {position:absolute;left:50%;bottom:150px;transform:translateX(-50%);color:var(--brass2);display:flex;flex-direction:column;align-items:center;gap:10px;z-index:6}
.home-v5 .scroll i {width:1px;height:38px;background:linear-gradient(var(--brass),transparent)}
@media(max-width:900px) {
.home-v5 .hero {grid-template-columns:1fr;padding-top:130px;padding-bottom:170px}
.home-v5 .scroll,
.home-v5 .back-plate {display:none}
.home-v5 .mbody {grid-template-columns:1fr}
.home-v5 .mnav span {display:none}
}
.home-v5 .sheet {position:relative;z-index:5;margin-top:-110px;background:linear-gradient(180deg,#f7f1e2,var(--parch) 30%,var(--parch2));color:var(--ink);box-shadow:0 -50px 90px -10px rgba(0,0,0,.78),0 -2px 0 var(--brass),0 -8px 0 -5px rgba(169,140,85,.6);overflow:hidden}
.home-v5 .sheet::before {content:"";position:absolute;left:0;right:0;top:0;height:150px;background:linear-gradient(180deg,rgba(0,0,0,.16),transparent);pointer-events:none}
.home-v5 .marble {position:absolute;inset:0;opacity:.13;mix-blend-mode:multiply;pointer-events:none}
.home-v5 .sheet .pad {padding:clamp(120px,14vw,210px) var(--gut) clamp(100px,12vw,180px);position:relative}
.home-v5 .rom {position:absolute;right:var(--gut);top:70px;font-size:clamp(7rem,18vw,18rem);line-height:.8;font-style:italic;color:transparent;-webkit-text-stroke:1px rgba(169,140,85,.4);pointer-events:none;user-select:none}
.home-v5 .numl {display:flex;align-items:center;gap:20px;color:var(--oxblood);margin-bottom:52px}
.home-v5 .numl i {flex:0 0 70px;height:1px;background:currentColor}
.home-v5 .spread {display:grid;grid-template-columns:repeat(12,1fr);gap:28px;align-items:end;position:relative}
.home-v5 .spread h2 {grid-column:1/span 7;font-weight:500;font-size:clamp(2.6rem,5.2vw,5.6rem);line-height:1.04;letter-spacing:-.015em;text-shadow:0 1px 0 rgba(255,255,255,.75)}
.home-v5 .spread p {grid-column:9/span 4;color:var(--muted);font-size:1.12rem;font-style:italic}
.home-v5 .orn.dk {color:var(--brass);margin:70px auto 0;width:min(320px,70%)}
.home-v5 .paths {margin-top:60px;display:grid;gap:20px;perspective:1200px}
.home-v5 .path {display:grid;grid-template-columns:84px 80px 1.1fr 1.5fr 36px;gap:28px;align-items:center;padding:36px 36px;text-decoration:none;position:relative;background:linear-gradient(180deg,#fbf6e8,#efe6cf);box-shadow:0 1px 0 #fff inset,0 0 0 1px rgba(169,140,85,.45),0 2px 3px rgba(60,40,10,.12),0 16px 26px -12px rgba(60,40,10,.32);transition:transform 1s var(--ease),box-shadow 1s var(--ease)}
.home-v5 .path::before {content:"";position:absolute;inset:6px;border:1px solid rgba(169,140,85,.32);pointer-events:none}
.home-v5 .path:hover {transform:translateY(-8px);box-shadow:0 1px 0 #fff inset,0 0 0 1px rgba(169,140,85,.65),0 4px 6px rgba(60,40,10,.14),0 36px 54px -18px rgba(60,40,10,.5)}
.home-v5 .path .n {font-style:italic;color:var(--oxblood);font-size:1.7rem}
.home-v5 .path svg.ic {width:64px;height:64px;color:var(--brass);filter:drop-shadow(0 1px 0 rgba(255,255,255,.8))}
.home-v5 .path h3 {font-weight:500;font-size:clamp(1.7rem,2.7vw,2.6rem);line-height:1.05;text-shadow:0 1px 0 rgba(255,255,255,.75)}
.home-v5 .path p {color:var(--muted);font-size:1.05rem}
.home-v5 .path .arr {color:var(--oxblood);transition:transform .9s var(--ease)}
.home-v5 .path:hover .arr {transform:translateX(8px)}
@media(max-width:900px) {
.home-v5 .spread h2,
.home-v5 .spread p {grid-column:1/-1}
.home-v5 .path {grid-template-columns:56px 1fr;padding:26px 20px;gap:16px}
.home-v5 .path svg.ic {display:none}
.home-v5 .path p,
.home-v5 .path .arr {grid-column:2}
.home-v5 .rom {opacity:.5}
}
.home-v5 .work {position:relative;z-index:4;margin-top:-60px;padding:clamp(150px,16vw,240px) var(--gut) clamp(110px,13vw,200px);background:radial-gradient(70% 50% at 50% 25%,rgba(210,188,136,.18),transparent 70%),repeating-linear-gradient(90deg,rgba(255,255,255,.012) 0 2px,transparent 2px 120px),linear-gradient(180deg,#13251C,#0B1712);overflow:hidden}
.home-v5 .work::before {content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(130% 90% at 50% 40%,transparent 45%,rgba(0,0,0,.62));z-index:3}
.home-v5 .meta {display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-bottom:16px;margin-bottom:96px;border-bottom:1px solid var(--rule);color:var(--brass2);position:relative;z-index:4}
.home-v5 .wall {position:relative;max-width:1260px;margin:0 auto;display:grid;grid-template-columns:repeat(12,1fr);gap:20px;align-items:center;z-index:2}
.home-v5 .w1 {grid-column:1/span 7;z-index:2}
.home-v5 .w2 {grid-column:8/span 5;margin-top:-90px;z-index:3}
.home-v5 .w3 {grid-column:3/span 4;margin-top:56px;z-index:1}
.home-v5 .plate-wrap {position:relative}
.home-v5 .lamp {position:absolute;left:50%;top:-62px;transform:translateX(-50%);width:44%;height:8px;background:linear-gradient(#ecdaa8,#7f6636);border-radius:6px;box-shadow:0 4px 8px rgba(0,0,0,.5);z-index:5}
.home-v5 .lamp::before {content:"";position:absolute;left:50%;top:8px;width:2px;height:22px;background:var(--brass);transform:translateX(-50%)}
.home-v5 .lamp::after {content:"";position:absolute;left:-14%;right:-14%;top:8px;height:430px;background:linear-gradient(180deg,rgba(240,218,164,.32),transparent 80%);clip-path:polygon(18% 0,82% 0,100% 100%,0 100%);pointer-events:none;filter:blur(8px)}
.home-v5 .w2 .plate {transform:rotate(1.2deg)}
.home-v5 .w3 .plate {transform:rotate(-1.6deg)}
.home-v5 .work h3 {font-weight:500;font-size:clamp(2rem,4vw,3.8rem);line-height:1.05;margin:130px auto 0;max-width:18ch;text-align:center;position:relative;z-index:4;text-shadow:0 -1px 0 rgba(0,0,0,.7),0 12px 30px rgba(0,0,0,.5)}
.home-v5 .work .sub {color:rgba(242,236,220,.72);max-width:50ch;margin:20px auto 0;text-align:center;font-style:italic;position:relative;z-index:4}
.home-v5 .tags {display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:30px;position:relative;z-index:4}
.home-v5 .tags span {padding:8px 20px;border:1px solid var(--rule);color:var(--brass2);background:rgba(0,0,0,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.home-v5 .tags .st {background:linear-gradient(var(--oxblood),#3f1218);border-color:var(--oxblood);color:var(--parch)}
.home-v5 .center {text-align:center;margin-top:38px;position:relative;z-index:4}
.home-v5 .link {display:inline-block;text-decoration:none;font-family:var(--cap);font-size:12px;letter-spacing:.26em;text-transform:uppercase;padding-bottom:7px;border-bottom:1px solid var(--brass)}
@media(max-width:900px) {
.home-v5 .wall {grid-template-columns:1fr}
.home-v5 .w1,
.home-v5 .w2,
.home-v5 .w3 {grid-column:1;margin-top:44px}
.home-v5 .w2 .plate,
.home-v5 .w3 .plate {transform:none}
.home-v5 .lamp {display:none}
}
.home-v5 footer {position:relative;z-index:5;margin-top:-70px;padding:clamp(120px,14vw,200px) var(--gut) 44px;text-align:center;color:var(--ink);background:linear-gradient(180deg,#f7f1e2,var(--parch) 40%,var(--parch2));box-shadow:0 -50px 90px -10px rgba(0,0,0,.8),0 -2px 0 var(--brass);overflow:hidden}
.home-v5 footer .crest {width:96px;height:96px;margin:0 auto 34px;filter:drop-shadow(0 10px 12px rgba(60,40,10,.35))}
.home-v5 footer h2 {font-weight:500;font-size:clamp(2.8rem,7vw,7.4rem);line-height:1.02;letter-spacing:-.02em;max-width:13ch;margin:0 auto;text-shadow:0 1px 0 rgba(255,255,255,.85),0 -1px 0 rgba(60,40,10,.15);position:relative}
.home-v5 footer .btn {margin-top:52px;color:var(--parch);background:linear-gradient(#1c3629,#0b1712);border-color:#0b1712;position:relative}
.home-v5 footer .btn:hover {background:linear-gradient(#7a2a34,var(--oxblood))}
.home-v5 footer small {display:block;margin-top:110px;color:var(--muted);font-size:15px;font-style:italic;position:relative}
@media(prefers-reduced-motion:reduce) {
.home-v5, .home-v5 *,
.home-v5 *::before,
.home-v5 *::after {animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
.home-v5 .rv,
.home-v5 .draw {opacity:1!important;transform:none!important}
.home-v5 [data-depth] {transform:none!important}
}

/* V5 reference photography, site-shell styling, and responsive refinements. */
body.is-home-v5 {
  --green:#0B1712; --green2:#13251C; --green3:#1C3629; --parch:#F2ECDC; --parch2:#E5DAC0; --ink:#1B1A16;
  --brass:#A98C55; --brass2:#D2BC88; --oxblood:#5B1F27; --muted:#6C6A5E; --rule:rgba(169,140,85,.45);
  --ease:cubic-bezier(.25,.6,.2,1); --gut:max(clamp(24px,6vw,112px),env(safe-area-inset-left,0px),env(safe-area-inset-right,0px));
  --serif:"Cormorant Garamond","Garamond","Palatino Linotype",Georgia,serif; --cap:"Cinzel","Trajan Pro",Georgia,serif;
  background:var(--green); color:var(--parch);
}
body.is-home-v5[data-theme="light"] { background:var(--parch); color:var(--ink); }
body.is-home-v5[data-theme="dark"] { background:var(--green); color:var(--parch); }
body.is-home-v5 .site-header {
  height:90px; padding:env(safe-area-inset-top,0px) var(--gut) 0; color:var(--parch);
  background:linear-gradient(180deg,rgba(11,23,18,.84),rgba(11,23,18,.38)); border-bottom-color:transparent;
  transition:height .8s var(--ease),background .8s var(--ease),border-color .8s var(--ease),box-shadow .8s var(--ease);
}
body.is-home-v5 .site-header[data-theme="light"] { color:var(--parch); background:linear-gradient(180deg,rgba(11,23,18,.84),rgba(11,23,18,.38)); border-bottom-color:transparent; }
body.is-home-v5 .site-header.is-compact,
body.is-home-v5 .site-header[data-theme="light"].is-compact { height:calc(70px + env(safe-area-inset-top,0px)); color:var(--parch); background:linear-gradient(var(--green),rgba(11,23,18,.96)); border-bottom-color:var(--rule); box-shadow:0 18px 40px -18px rgba(0,0,0,.7); }
body.is-home-v5 .wordmark { gap:12px; }
body.is-home-v5 .wordmark-mark { width:42px; height:42px; border-color:var(--brass); border-radius:50%; color:var(--brass2); font:italic 1.45rem/1 var(--serif); }
body.is-home-v5 .wordmark-name { display:block; font:500 13px/1.2 var(--cap); letter-spacing:.32em; text-shadow:0 -1px 0 rgba(0,0,0,.6); }
body.is-home-v5 .wordmark-name i { display:inline; font:inherit; letter-spacing:inherit; opacity:1; }
body.is-home-v5 .primary-nav { gap:clamp(1rem,2.2vw,2.35rem); font:500 11px/1.2 var(--cap); letter-spacing:.2em; text-transform:uppercase; }
body.is-home-v5 .primary-nav a:not(.nav-cta) { padding:12px 0; }
body.is-home-v5 .primary-nav a:not(.nav-cta)::after { bottom:4px; background:var(--brass2); }
body.is-home-v5 .primary-nav .nav-cta { min-height:42px; padding:0 20px; gap:12px; border-color:var(--brass); color:var(--parch); background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(0,0,0,.2)); font:500 10px/1.2 var(--cap); letter-spacing:.22em; }
body.is-home-v5 .primary-nav .nav-cta:hover { color:#1a1408; background:linear-gradient(180deg,#e6d4a3,#b09457 55%,#9a7e45); }
body.is-home-v5 .site-header[data-theme="light"] .primary-nav .nav-cta { color:var(--parch); }
body.is-home-v5 .site-header[data-theme="light"] .primary-nav .nav-cta:hover { color:#1a1408; }
body.is-home-v5 .menu-toggle { color:var(--parch); border-color:var(--brass); }
.home-v5 { position:relative; isolation:isolate; }
.home-v5 .l-photo { z-index:-5; inset:-2%; opacity:.33; }
.home-v5 .l-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 45%; filter:saturate(.62) contrast(1.06); }
.home-v5 .l-hall { z-index:-4; }
.home-v5 .hero { background:linear-gradient(180deg,rgba(19,37,28,.48),rgba(11,23,18,.86) 76%),linear-gradient(180deg,#16291f 0%,#0B1712 72%); }
.home-v5 .mart img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.76) sepia(.08) contrast(1.04); }
.home-v5 .shot > .art-image { display:block; width:100%; object-fit:cover; filter:saturate(.75) sepia(.1) contrast(1.04); }
.home-v5 .shot > .art-image.blueprint { aspect-ratio:4/3; object-position:center; }
.home-v5 .shot > .art-image.still { aspect-ratio:1/1; object-position:center; }
.home-v5 .v5-contact { position:relative; z-index:5; margin-top:-70px; padding:clamp(120px,14vw,200px) var(--gut) 44px; text-align:center; color:var(--ink); background:linear-gradient(180deg,#f7f1e2,var(--parch) 40%,var(--parch2)); box-shadow:0 -50px 90px -10px rgba(0,0,0,.8),0 -2px 0 var(--brass); overflow:hidden; }
.home-v5 .v5-contact > :not(.marble) { position:relative; }
.home-v5 .v5-contact .crest { display:block; width:96px; height:96px; margin:0 auto 34px; filter:drop-shadow(0 10px 12px rgba(60,40,10,.35)); }
.home-v5 .v5-contact h2 { max-width:13ch; margin:0 auto; font-weight:500; font-size:clamp(2.8rem,7vw,7.4rem); line-height:1.02; letter-spacing:-.02em; color:var(--ink); text-shadow:0 1px 0 rgba(255,255,255,.85),0 -1px 0 rgba(60,40,10,.15); }
.home-v5 .v5-contact .btn { margin-top:52px; color:var(--parch); background:linear-gradient(#1c3629,#0b1712); border-color:#0b1712; }
.home-v5 .v5-contact .btn:hover { background:linear-gradient(#7a2a34,var(--oxblood)); }
.home-v5 .v5-contact small { display:block; max-width:60ch; margin:90px auto 0; color:var(--muted); font-size:15px; font-style:italic; }
.home-v5 [data-depth] { will-change:transform; }
.home-v5 .p3d { will-change:transform; }
.home-v5 .estate-image { background:#e6dbc1; }

@media (max-width: 800px) {
  body.is-home-v5 .site-header { height:calc(78px + env(safe-area-inset-top,0px)); }
  body.is-home-v5 .site-header.is-compact { height:calc(68px + env(safe-area-inset-top,0px)); }
  body.is-home-v5 .primary-nav { background:var(--green); color:var(--parch); }
  body.is-home-v5 .primary-nav .nav-cta { color:var(--parch); }
  body.is-home-v5 .site-header[data-theme="light"] .primary-nav .nav-cta { color:var(--parch); }
  .home-v5 .hero { min-height:auto; padding-top:calc(128px + env(safe-area-inset-top,0px)); padding-bottom:150px; gap:2rem; }
  .home-v5 .hero > [data-depth]:first-of-type { max-width:58rem; }
  .home-v5 .stage { width:min(100%,52rem); margin:0 auto; }
  .home-v5 .scroll, .home-v5 .back-plate { display:none; }
  .home-v5 .mbody { grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); }
  .home-v5 .mbody h4 { font-size:clamp(1.2rem,5.5cqw,2.5rem); }
  .home-v5 .mbody p { font-size:clamp(.65rem,2cqw,1rem); }
  .home-v5 .sheet { margin-top:-78px; }
  .home-v5 .sheet .pad { padding:clamp(100px,15vw,150px) var(--gut) clamp(78px,12vw,125px); }
  .home-v5 .spread { gap:18px; }
  .home-v5 .spread h2, .home-v5 .spread p { grid-column:1/-1; }
  .home-v5 .spread h2 { font-size:clamp(2.6rem,8.2vw,4.8rem); }
  .home-v5 .path { grid-template-columns:56px minmax(0,1fr); padding:26px 20px; gap:12px 16px; }
  .home-v5 .path svg.ic { display:none; }
  .home-v5 .path p, .home-v5 .path .arr { grid-column:2; }
  .home-v5 .path .arr { grid-row:1; justify-self:end; }
  .home-v5 .rom { opacity:.38; }
  .home-v5 .work { margin-top:-38px; padding:clamp(105px,20vw,150px) var(--gut) clamp(78px,15vw,110px); }
  .home-v5 .meta { margin-bottom:52px; }
  .home-v5 .wall { grid-template-columns:minmax(0,1fr); max-width:42rem; gap:44px; }
  .home-v5 .w1, .home-v5 .w2, .home-v5 .w3 { grid-column:1; margin-top:0; }
  .home-v5 .w2 .plate, .home-v5 .w3 .plate { transform:none; }
  .home-v5 .lamp { display:none; }
  .home-v5 .work h3 { margin-top:78px; }
  .home-v5 .v5-contact { margin-top:-45px; padding-top:clamp(100px,16vw,150px); }
}
@media (max-width: 560px) {
  .home-v5 { font-size:17px; }
  .home-v5 .hero { padding-top:calc(112px + env(safe-area-inset-top,0px)); padding-bottom:120px; }
  .home-v5 .frameline { inset:14px; }
  .home-v5 .frameline::before { inset:5px; }
  .home-v5 h1 { max-width:10.5ch; font-size:clamp(3rem,13.3vw,4.2rem); }
  .home-v5 .est { margin-bottom:28px; gap:12px; font-size:.58em; }
  .home-v5 .est i { flex-basis:34px; }
  .home-v5 .lede { max-width:38ch; font-size:1.12rem; line-height:1.55; }
  .home-v5 .cta { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:30px; }
  .home-v5 .cta .btn { min-height:52px; padding:0 12px; justify-content:center; text-align:center; font-size:9px; letter-spacing:.14em; }
  .home-v5 .micro { margin-top:20px; font-size:14px; }
  .home-v5 .stage { width:calc(100% - 6px); }
  .home-v5 .num { top:-28px; font-size:.58em; }
  .home-v5 .plate { padding:12px; }
  .home-v5 .mat { padding:12px; }
  .home-v5 .mbody { grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:3cqw; padding:5cqw 4cqw; }
  .home-v5 .mbody h4 { font-size:5.3cqw; }
  .home-v5 .mbody small { font-size:1.55cqw; }
  .home-v5 .mbody p { font-size:1.9cqw; }
  .home-v5 .mbody .mb { font-size:1.35cqw; }
  .home-v5 .mnav b { font-size:2cqw; }
  .home-v5 .mnav em { font-size:1.4cqw; }
  .home-v5 .mrow div { padding:2.2cqw 2.2cqw; font-size:1.35cqw; }
  .home-v5 .mrow b { font-size:2.5cqw; }
  .home-v5 .plaque { padding:7px 15px; font-size:8px; letter-spacing:.18em; }
  .home-v5 .sheet { margin-top:-58px; }
  .home-v5 .sheet .pad { padding:90px var(--gut) 72px; }
  .home-v5 .numl { margin-bottom:34px; gap:12px; font-size:.58em; }
  .home-v5 .numl i { flex-basis:38px; }
  .home-v5 .spread h2 { font-size:clamp(2.4rem,11vw,3.65rem); }
  .home-v5 .spread p { font-size:1rem; }
  .home-v5 .orn.dk { margin-top:44px; }
  .home-v5 .paths { margin-top:38px; gap:13px; }
  .home-v5 .path { grid-template-columns:40px minmax(0,1fr); gap:10px 12px; padding:20px 15px; }
  .home-v5 .path h3 { font-size:clamp(1.45rem,7vw,1.9rem); }
  .home-v5 .path p { font-size:.91rem; line-height:1.5; }
  .home-v5 .path .n { font-size:1.3rem; }
  .home-v5 .work { margin-top:-28px; padding:92px var(--gut) 76px; }
  .home-v5 .meta { justify-content:flex-start; gap:9px 18px; margin-bottom:36px; font-size:.56em; }
  .home-v5 .wall { gap:38px; }
  .home-v5 .w1 .plate { padding:10px; }
  .home-v5 .work h3 { margin-top:62px; font-size:clamp(2rem,9vw,3rem); }
  .home-v5 .work .sub { font-size:1rem; }
  .home-v5 .tags { gap:8px; }
  .home-v5 .tags span { padding:7px 12px; font-size:.58em; }
  .home-v5 .v5-contact { margin-top:-32px; padding:90px var(--gut) 30px; }
  .home-v5 .v5-contact .crest { width:78px; height:78px; margin-bottom:25px; }
  .home-v5 .v5-contact h2 { font-size:clamp(2.6rem,12vw,4.3rem); }
  .home-v5 .v5-contact .btn { min-height:52px; margin-top:34px; }
  .home-v5 .v5-contact small { margin-top:58px; font-size:13px; }
}
@media (max-width: 380px) {
  .home-v5 .cta { grid-template-columns:1fr; }
  .home-v5 .stage { width:calc(100% - 10px); }
  .home-v5 .plate { padding:9px; }
  .home-v5 .mat { padding:9px; }
  .home-v5 .path { grid-template-columns:34px minmax(0,1fr); padding:18px 12px; }
  .home-v5 .path h3 { font-size:1.4rem; }
}
@media (max-width: 800px) and (max-height: 560px) {
  .home-v5 .hero { padding-top:calc(98px + env(safe-area-inset-top,0px)); padding-bottom:100px; }
  .home-v5 .scroll { display:none; }
  body.is-home-v5 .primary-nav { justify-content:flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .home-v5 .rv { translate:none!important; }
}

/* Digital work visuals: page design, CMS editing and responsive layouts. */
.home-v5 .l-photo { opacity:.16; }
.home-v5 .l-photo img { filter:grayscale(.72) sepia(.24) saturate(.55) brightness(.72) contrast(1.08) blur(1px); }
.home-v5 .mart { container-type:inline-size; overflow:hidden; }
.home-v5 .web-art {
  display:flex; flex-direction:column; justify-content:space-between; gap:5cqw; padding:7cqw;
  color:#f2ecdc; background:
    radial-gradient(85% 55% at 80% 76%,rgba(169,140,85,.26),transparent 70%),
    linear-gradient(145deg,#25382d,#111d16 68%,#0b1712);
}
.home-v5 .web-art::before { content:""; position:absolute; inset:5%; border:1px solid rgba(210,188,136,.32); pointer-events:none; }
.home-v5 .web-art-nav { display:flex; align-items:center; justify-content:space-between; padding-bottom:4cqw; border-bottom:1px solid rgba(210,188,136,.34); font-family:var(--cap); font-size:3.2cqw; letter-spacing:.18em; }
.home-v5 .web-art-nav b { font-weight:500; }
.home-v5 .web-art-nav span { color:#d2bc88; }
.home-v5 .web-art-nav i { margin-left:1.2cqw; font-style:normal; }
.home-v5 .web-art-copy { display:flex; flex-direction:column; align-items:flex-start; gap:3cqw; }
.home-v5 .web-art-copy small { color:#d2bc88; font:500 2.7cqw/1.4 var(--cap); letter-spacing:.14em; }
.home-v5 .web-art-copy strong { max-width:8ch; font:500 11cqw/.91 var(--serif); letter-spacing:-.03em; }
.home-v5 .web-art-copy em { color:#d2bc88; font-weight:400; }
.home-v5 .web-art-rule { width:24%; height:1px; background:#a98c55; }
.home-v5 .web-art-link { color:#e5dac0; font:500 2.7cqw/1.4 var(--cap); letter-spacing:.12em; }
.home-v5 .web-art-grid { display:grid; grid-template-columns:1fr 1fr; gap:3cqw; height:24%; }
.home-v5 .web-art-grid span { display:flex; align-items:flex-end; padding:3cqw; border:1px solid rgba(210,188,136,.35); background:linear-gradient(145deg,rgba(210,188,136,.18),rgba(11,23,18,.24)); }
.home-v5 .web-art-grid span:first-child { background:linear-gradient(145deg,rgba(169,140,85,.36),rgba(11,23,18,.25)); }
.home-v5 .web-art-grid i { color:#e5dac0; font:500 2.2cqw/1.2 var(--cap); letter-spacing:.09em; font-style:normal; }
.home-v5 .web-art-foot { color:rgba(242,236,220,.58); font:500 2.1cqw/1.3 var(--cap); letter-spacing:.12em; }
.home-v5 .dashboard-image { aspect-ratio:4/3; object-position:center; filter:saturate(.65) sepia(.1) contrast(1.05); }
.home-v5 .cms-art {
  aspect-ratio:4/3; container-type:inline-size; color:#24271f; background:#f3f0e7;
  box-shadow:inset 0 0 0 1px rgba(41,45,34,.12); font:400 2.5cqw/1.35 "DM Sans",Arial,sans-serif;
}
.home-v5 .cms-top { display:flex; height:15%; align-items:center; justify-content:space-between; padding:0 4%; color:#f2ecdc; background:#102019; font-size:2.8cqw; letter-spacing:.08em; }
.home-v5 .cms-top b { font:500 3cqw/1 var(--cap); letter-spacing:.12em; }
.home-v5 .cms-top b i { color:#d2bc88; font-style:normal; }
.home-v5 .cms-top span { color:#d2bc88; font-size:2cqw; letter-spacing:.1em; }
.home-v5 .cms-top span i { color:#96ad86; font-style:normal; }
.home-v5 .cms-body { display:grid; grid-template-columns:23% 1fr; min-height:85%; }
.home-v5 .cms-side { display:flex; flex-direction:column; gap:3%; padding:12% 9%; color:#e5dac0; background:#1b2a21; font-size:2.15cqw; }
.home-v5 .cms-side b { margin-bottom:7%; color:#d2bc88; font:500 2.1cqw/1.3 var(--cap); letter-spacing:.12em; }
.home-v5 .cms-side span { padding:6% 8%; border-radius:3px; }
.home-v5 .cms-side .selected { color:#f2ecdc; background:rgba(210,188,136,.18); }
.home-v5 .cms-editor { display:flex; flex-direction:column; gap:3%; padding:5% 6%; }
.home-v5 .cms-editor-head { display:flex; align-items:center; justify-content:space-between; gap:5%; margin-bottom:2%; }
.home-v5 .cms-editor-head div { display:flex; flex-direction:column; gap:2px; }
.home-v5 .cms-editor-head small { color:#7a786c; font-size:1.9cqw; letter-spacing:.12em; }
.home-v5 .cms-editor-head strong { font-size:3.6cqw; font-weight:500; }
.home-v5 .cms-editor-head > i { padding:1.5% 2.5%; border-radius:99px; color:#425a3d; background:#e3eadf; font-size:2cqw; font-style:normal; white-space:nowrap; }
.home-v5 .cms-editor label { color:#77766e; font-size:2cqw; }
.home-v5 .cms-field { min-height:12%; padding:2.5% 3%; border:1px solid #dedbcf; border-radius:3px; color:#55564e; background:#fffefa; font-size:2.2cqw; }
.home-v5 .cms-field-lines { display:flex; flex-direction:column; gap:10%; min-height:25%; }
.home-v5 .cms-field-lines i { display:block; width:86%; height:2px; background:#dcd9cf; }
.home-v5 .cms-field-lines i:nth-child(2) { width:68%; }
.home-v5 .cms-field-lines i:nth-child(3) { width:78%; }
.home-v5 .cms-editor-foot { display:flex; align-items:center; justify-content:space-between; gap:4%; margin-top:auto; color:#838176; font-size:1.8cqw; }
.home-v5 .cms-editor-foot b { padding:2% 3%; color:#f2ecdc; background:#1b2a21; font:500 1.9cqw/1.2 var(--cap); letter-spacing:.08em; }
.home-v5 .responsive-art {
  position:relative; display:flex; align-items:center; gap:5%; padding:8%; aspect-ratio:4/3; overflow:hidden;
  background:radial-gradient(90% 90% at 18% 12%,rgba(210,188,136,.23),transparent 70%),linear-gradient(145deg,#203328,#0b1712);
}
.home-v5 .responsive-desktop { width:72%; overflow:hidden; border:1px solid rgba(210,188,136,.6); border-radius:3px; background:#f2ecdc; box-shadow:0 7px 20px rgba(0,0,0,.35); }
.home-v5 .responsive-browser { display:flex; align-items:center; gap:1.5%; height:9%; min-height:10px; padding:0 3%; background:#e9e2d1; }
.home-v5 .responsive-browser i { width:2.3%; aspect-ratio:1; border-radius:50%; background:#bcae8c; }
.home-v5 .responsive-browser span { margin-left:8%; color:#777467; font:500 1.9cqw/1 var(--cap); letter-spacing:.08em; }
.home-v5 .responsive-site { aspect-ratio:1.2; color:#1b241d; background:#f6f0e1; }
.home-v5 .responsive-nav { display:flex; align-items:center; justify-content:space-between; padding:6% 7%; border-bottom:1px solid rgba(169,140,85,.34); font:500 2.1cqw/1.2 var(--cap); letter-spacing:.08em; }
.home-v5 .responsive-nav span { color:#6c6a5e; font-size:1.6cqw; }
.home-v5 .responsive-copy { display:flex; flex-direction:column; align-items:flex-start; gap:4%; padding:12% 9%; }
.home-v5 .responsive-copy small { color:#7b6740; font:500 1.7cqw/1.3 var(--cap); letter-spacing:.1em; }
.home-v5 .responsive-copy strong { font:500 7cqw/.95 var(--serif); }
.home-v5 .responsive-copy em { color:#5b1f27; font-weight:400; }
.home-v5 .responsive-copy > i { width:24%; height:1px; margin:4% 0; background:#a98c55; }
.home-v5 .responsive-copy > span { padding:2.6% 4%; color:#f2ecdc; background:#1b2a21; font:500 1.6cqw/1.2 var(--cap); letter-spacing:.06em; }
.home-v5 .responsive-phone { position:relative; width:29%; padding:2.5%; border:2px solid #c9b77e; border-radius:9cqw; background:#111b15; box-shadow:0 8px 18px rgba(0,0,0,.42); }
.home-v5 .phone-notch { position:absolute; z-index:2; top:2.2%; left:50%; width:32%; height:2%; transform:translateX(-50%); border-radius:0 0 2cqw 2cqw; background:#111b15; }
.home-v5 .phone-nav { display:flex; align-items:center; justify-content:space-between; padding:12% 7% 8%; color:#203127; background:#f6f0e1; font:500 2cqw/1 var(--cap); letter-spacing:.06em; }
.home-v5 .phone-nav span { font:400 3cqw/1 Arial,sans-serif; }
.home-v5 .phone-copy { display:flex; flex-direction:column; gap:5%; padding:10% 9% 14%; color:#1b241d; background:#f6f0e1; }
.home-v5 .phone-copy small { color:#7b6740; font:500 1.55cqw/1.2 var(--cap); letter-spacing:.08em; }
.home-v5 .phone-copy strong { font:500 5.5cqw/.96 var(--serif); }
.home-v5 .phone-copy em { color:#5b1f27; font-weight:400; }
.home-v5 .phone-copy i { width:28%; height:1px; margin:8% 0; background:#a98c55; }
.home-v5 .phone-copy span { align-self:flex-start; padding:4% 5%; color:#f2ecdc; background:#1b2a21; font:500 1.4cqw/1.2 var(--cap); letter-spacing:.04em; }
.home-v5 .phone-cards { display:grid; grid-template-columns:1fr 1fr; gap:4%; padding:0 8% 10%; background:#f6f0e1; }
.home-v5 .phone-cards i { height:9cqw; border:1px solid rgba(169,140,85,.4); background:linear-gradient(145deg,#d7c79f,#8f947d); }
.home-v5 .phone-cards i:last-child { background:linear-gradient(145deg,#b8bdad,#697868); }

/* Phone-first layout: one clear reading column and touch-sized actions. */
@media (max-width:800px) {
  body.is-home-v5 { --gut:max(18px,4.6vw,env(safe-area-inset-left,0px),env(safe-area-inset-right,0px)); }
  body.is-home-v5 .site-header { height:calc(72px + env(safe-area-inset-top,0px)); padding-inline:var(--gut); }
  body.is-home-v5 .site-header.is-compact { height:calc(64px + env(safe-area-inset-top,0px)); }
  body.is-home-v5 .wordmark { gap:9px; }
  body.is-home-v5 .wordmark-mark { width:36px; height:36px; font-size:1.25rem; }
  body.is-home-v5 .wordmark-name { font-size:10px; letter-spacing:.22em; }
  body.is-home-v5 .menu-toggle { width:46px; height:46px; }
  body.is-home-v5 .primary-nav a { min-height:48px; }
  body.is-home-v5 .primary-nav .nav-cta { min-height:52px; }
  .home-v5 { font-size:17px; }
  .home-v5::after { opacity:.08; }
  .home-v5 .hero { grid-template-columns:minmax(0,1fr); min-height:0; align-items:start; gap:34px; padding:calc(106px + env(safe-area-inset-top,0px)) var(--gut) 112px; }
  .home-v5 .hero-copy { order:0; width:100%; max-width:46rem; }
  .home-v5 .stage { order:1; width:100%; max-width:43rem; margin-inline:auto; }
  .home-v5 .hero h1 { max-width:11ch; font-size:clamp(2.8rem,11.8vw,4.4rem); line-height:.99; }
  .home-v5 .est { gap:10px; margin-bottom:28px; font-size:.59rem; letter-spacing:.13em; }
  .home-v5 .est i { flex-basis:30px; }
  .home-v5 .orn { width:min(210px,60%); margin:27px 0 23px; }
  .home-v5 .lede { max-width:38ch; font-size:1.05rem; line-height:1.55; }
  .home-v5 .cta { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; width:min(100%,25rem); margin-top:28px; }
  .home-v5 .cta .btn { width:100%; min-height:54px; justify-content:center; padding-inline:16px; font-size:10px; letter-spacing:.16em; }
  .home-v5 .micro { margin-top:18px; font-size:14px; }
  .home-v5 .stage { perspective:none; }
  .home-v5 .p3d { transform:none!important; transition:none; }
  .home-v5 .plate { padding:10px; }
  .home-v5 .mat { padding:9px; }
  .home-v5 .num { top:-29px; font-size:.57em; }
  .home-v5 .plaque { max-width:94%; padding:8px 14px; font-size:8px; letter-spacing:.15em; }
  .home-v5 .mbody { grid-template-columns:minmax(0,1fr); gap:14px; padding:16px 14px 14px; }
  .home-v5 .mbody small { margin-bottom:7px; font-size:8px; letter-spacing:.14em; }
  .home-v5 .mbody h4 { max-width:17ch; font-size:clamp(1.45rem,6.6vw,2rem); line-height:1; }
  .home-v5 .mbody p { margin-top:9px; font-size:12px; line-height:1.45; }
  .home-v5 .mbody .mb { margin-top:12px; padding:8px 11px; font-size:7px; letter-spacing:.12em; }
  .home-v5 .mart { width:100%; aspect-ratio:1.42; }
  .home-v5 .mrow { display:none; }
  .home-v5 .mnav { padding:11px 13px; }
  .home-v5 .mnav b { font-size:8px; letter-spacing:.17em; }
  .home-v5 .mnav span { display:none; }
  .home-v5 .mnav em { padding:7px 10px; font-size:7px; letter-spacing:.1em; }
  .home-v5 .bar { padding:7px 9px; }
  .home-v5 .bar i { width:6px; height:6px; }
  .home-v5 .bar span { margin-left:8px; font-size:7px; }
  .home-v5 .sheet { margin-top:-48px; }
  .home-v5 .sheet .pad { padding:83px var(--gut) 70px; }
  .home-v5 .rom { top:40px; opacity:.22; font-size:7rem; }
  .home-v5 .numl { gap:12px; margin-bottom:28px; font-size:.59rem; }
  .home-v5 .numl i { flex-basis:38px; }
  .home-v5 .spread { display:grid; grid-template-columns:minmax(0,1fr); gap:13px; }
  .home-v5 .spread h2 { grid-column:1; font-size:clamp(2.35rem,10.5vw,3.55rem); line-height:1.01; }
  .home-v5 .spread p { grid-column:1; font-size:1rem; line-height:1.55; }
  .home-v5 .orn.dk { margin-top:31px; }
  .home-v5 .paths { margin-top:32px; gap:12px; }
  .home-v5 .path { grid-template-columns:40px minmax(0,1fr); min-height:132px; gap:8px 12px; padding:19px 15px; }
  .home-v5 .path svg.ic { display:none; }
  .home-v5 .path h3 { grid-column:2; grid-row:1; align-self:end; padding-right:28px; font-size:clamp(1.38rem,6vw,1.75rem); }
  .home-v5 .path p { grid-column:2; grid-row:2; font-size:.91rem; line-height:1.45; }
  .home-v5 .path .n { grid-column:1; grid-row:1; align-self:center; font-size:1.35rem; }
  .home-v5 .path .arr { grid-column:2; grid-row:1; justify-self:end; align-self:center; min-width:38px; min-height:38px; display:grid; place-items:center; }
  .home-v5 .work { margin-top:-25px; padding:88px var(--gut) 72px; }
  .home-v5 .meta { display:grid; grid-template-columns:1fr; gap:5px; margin-bottom:34px; padding-bottom:13px; font-size:.63rem; letter-spacing:.14em; }
  .home-v5 .wall { grid-template-columns:minmax(0,1fr); max-width:42rem; gap:31px; }
  .home-v5 .w1, .home-v5 .w2, .home-v5 .w3 { grid-column:1; width:100%; margin:0; }
  .home-v5 .w2 .plate, .home-v5 .w3 .plate { transform:none; }
  .home-v5 .lamp, .home-v5 .scroll, .home-v5 .back-plate { display:none; }
  .home-v5 .work h3 { max-width:14ch; margin:49px auto 0; font-size:clamp(2.05rem,9vw,3.1rem); line-height:1.02; }
  .home-v5 .work .sub { max-width:36ch; margin-top:14px; font-size:.98rem; line-height:1.5; }
  .home-v5 .tags { gap:8px; margin-top:22px; }
  .home-v5 .tags span { padding:7px 11px; font-size:.62rem; letter-spacing:.11em; }
  .home-v5 .center { margin-top:26px; }
  .home-v5 .link { min-height:44px; display:inline-flex; align-items:center; font-size:10px; letter-spacing:.15em; }
  .home-v5 .v5-contact { margin-top:-28px; padding:87px var(--gut) 28px; }
  .home-v5 .v5-contact .crest { width:72px; height:72px; margin-bottom:25px; }
  .home-v5 .v5-contact h2 { max-width:12ch; font-size:clamp(2.4rem,10.4vw,4rem); line-height:1; }
  .home-v5 .v5-contact .btn { min-height:54px; margin-top:27px; padding-inline:19px; font-size:10px; }
  .home-v5 .v5-contact small { max-width:34ch; margin-top:47px; font-size:13px; line-height:1.5; }
  .home-v5 [data-depth], .home-v5 .p3d { will-change:auto; }
  .home-v5 .l-photo { opacity:.11; }
}
@media (max-width:560px) {
  .home-v5 .hero { gap:29px; padding-top:calc(99px + env(safe-area-inset-top,0px)); padding-bottom:94px; }
  .home-v5 .frameline { inset:12px; }
  .home-v5 .frameline::before { inset:4px; }
  .home-v5 h1 { max-width:10.5ch; font-size:clamp(2.75rem,12.2vw,4rem); }
  .home-v5 .web-art { gap:4cqw; padding:8cqw; }
  .home-v5 .web-art-copy strong { font-size:12cqw; }
  .home-v5 .cms-side { gap:4%; }
  .home-v5 .responsive-art { padding:6%; }
  .home-v5 .sheet .pad { padding-top:76px; padding-bottom:64px; }
  .home-v5 .path { min-height:126px; }
  .home-v5 .work { margin-top:-18px; padding-top:78px; padding-bottom:65px; }
  .home-v5 .wall { gap:26px; }
  .home-v5 .plate { padding:8px; }
  .home-v5 .mat { padding:7px; }
  .home-v5 .v5-contact { margin-top:-21px; padding-top:76px; }
  .home-v5 .v5-contact small { margin-top:40px; }
}
@media (max-width:380px) {
  body.is-home-v5 .wordmark-name { max-width:10ch; font-size:9px; }
  .home-v5 .hero { padding-inline:var(--gut); }
  .home-v5 .hero h1 { font-size:clamp(2.55rem,12vw,3.4rem); }
  .home-v5 .cta { grid-template-columns:minmax(0,1fr); width:100%; }
  .home-v5 .path { grid-template-columns:34px minmax(0,1fr); min-height:120px; padding:17px 12px; }
  .home-v5 .path h3 { font-size:1.38rem; }
  .home-v5 .cms-body { grid-template-columns:24% 1fr; }
}
@media (hover:none), (pointer:coarse) {
  .home-v5 .path:hover { transform:none; }
  .home-v5 .btn:hover { transform:none; }
}
