/* Avorren v4 — copy-led extension of the July visual system */
.brand { font-size: 1.05rem; font-weight: 800; letter-spacing: -.035em; }
.v4-hero,.v4-page-hero,.v4-about-hero { max-width: var(--max); margin: auto; padding: clamp(5rem,10vw,10rem) var(--pad); }
.v4-hero { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr); gap:clamp(3rem,8vw,9rem); align-items:end; min-height:calc(100svh - 5rem); }
.v4-hero h1,.v4-page-hero h1,.v4-about-hero h1 { max-width:12ch; margin:0; font-size:clamp(4rem,8.8vw,10rem); line-height:.84; letter-spacing:-.082em; }
.v4-page-hero h1 { max-width:13ch; font-size:clamp(4rem,8vw,8.5rem); }
.v4-page-hero.compact { min-height:60svh; }
.v4-page-hero.compact h1 { font-size:clamp(5rem,11vw,11rem); }
.v4-page-hero.systems h1 { max-width:12ch; }
.v4-lede { max-width:55rem; margin:2rem 0 0; color:var(--ink-soft); font-size:clamp(1.08rem,1.55vw,1.45rem); }
.v4-hero .button-row,.v4-page-hero .button-row { margin-top:2.25rem; }
.v4-hero-ledger { border-top:1px solid var(--line); }
.v4-hero-ledger p { margin:0; padding:1.25rem 0; border-bottom:1px solid var(--line); color:var(--ink-soft); font-size:.88rem; }
.v4-hero-ledger p::before { content:'—'; margin-right:1rem; color:var(--rust); }
.v4-section { max-width:var(--max); margin:auto; }
.v4-door-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.v4-door-grid article { min-width:0; min-height:30rem; padding:clamp(1.5rem,4vw,4rem); border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; }
.v4-door-grid article>span,.v4-pattern-grid article>span { color:var(--rust); font-size:.68rem; font-weight:800; letter-spacing:.13em; }
.v4-door-grid h3 { max-width:8ch; margin:3rem 0 1rem; font-size:clamp(3rem,6vw,7rem); line-height:.88; letter-spacing:-.075em; }
.v4-door-grid p { max-width:38rem; color:var(--ink-soft); }
.v4-door-grid .text-link { max-width:100%; margin-top:auto; }
.v4-statement,.v4-close { padding:clamp(5rem,10vw,10rem) var(--pad); background:var(--night); color:var(--light); }
.v4-statement>*,.v4-close>* { max-width:var(--max); margin-left:auto; margin-right:auto; }
.v4-statement h2,.v4-close h2 { max-width:13ch; margin-top:0; margin-bottom:2rem; font-size:clamp(3.2rem,7vw,8rem); line-height:.88; letter-spacing:-.075em; }
.v4-statement>p:not(.eyebrow),.v4-close>p:not(.eyebrow) { max-width:54rem; color:#c9c1ca; font-size:clamp(1.05rem,1.4vw,1.3rem); }
.v4-close .button { margin-top:1rem; }
.v4-work-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(1rem,3vw,3rem); }
.v4-work-card { display:grid; grid-template-columns:minmax(10rem,.42fr) minmax(0,.58fr); gap:clamp(1.25rem,3vw,3rem); padding:clamp(1rem,2vw,2rem); border:1px solid var(--line); background:var(--surface); align-items:center; }
.v4-work-card h3 { margin:.4rem 0 1rem; font-size:clamp(2rem,3.4vw,4rem); line-height:.92; letter-spacing:-.06em; }
.v4-work-card p { color:var(--ink-soft); }
.device-frame { overflow:hidden; border:1px solid color-mix(in srgb,var(--ink) 28%,transparent); background:#0d0d0d; box-shadow:0 1.2rem 3rem color-mix(in srgb,var(--night) 16%,transparent); }
.device-frame img { display:block; width:100%; height:auto; }
.device-phone { max-width:19rem; margin:auto; padding:.42rem; border-radius:1.75rem; }
.device-phone img { border-radius:1.35rem; }
.device-desktop { padding:.45rem; border-radius:.75rem; }
.v4-founder { max-width:var(--max); margin:auto; display:grid; grid-template-columns:minmax(15rem,.65fr) minmax(0,1.35fr); gap:clamp(2rem,7vw,8rem); align-items:center; }
.v4-founder img,.v4-about-hero img { width:100%; aspect-ratio:4/5; object-fit:cover; filter:saturate(.82) contrast(1.04); }
.v4-founder h2 { max-width:13ch; margin:0 0 2rem; font-size:clamp(3rem,5.8vw,7rem); line-height:.88; letter-spacing:-.07em; }
.v4-price-list { border-top:1px solid var(--line); }
.v4-price-list article { display:grid; grid-template-columns:.55fr .3fr 1fr; gap:2rem; align-items:start; padding:1.35rem 0; border-bottom:1px solid var(--line); }
.v4-price-list h3,.v4-price-list p { margin:0; }
.v4-price-list strong { color:var(--rust); }
.v4-price-list p,.v4-note { color:var(--ink-soft); }
.v4-note { max-width:50rem; margin-top:2rem; }
.v4-artifact-feature,.v4-artifacts { max-width:var(--max); margin:auto; display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2rem,7vw,8rem); align-items:center; }
.v4-artifact-feature h2 { max-width:12ch; margin:0 0 1.5rem; font-size:clamp(3rem,5.4vw,6rem); line-height:.9; letter-spacing:-.07em; }
.artifact-frame { margin:0; padding:clamp(.75rem,2vw,1.5rem); border:1px solid var(--line); background:var(--surface); box-shadow:1rem 1rem 0 color-mix(in srgb,var(--rust) 13%,transparent); }
.artifact-frame img { display:block; width:100%; height:auto; }
.artifact-frame figcaption { margin-top:.75rem; color:var(--ink-soft); font-size:.7rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.v4-faq { border-top:1px solid var(--line); }
.v4-faq details { border-bottom:1px solid var(--line); padding:1.15rem 0; }
.v4-faq summary { cursor:pointer; font-size:clamp(1.25rem,2vw,2rem); font-weight:800; letter-spacing:-.03em; }
.v4-faq p { max-width:54rem; color:var(--ink-soft); }
.v4-pattern-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.v4-pattern-grid article { min-height:24rem; padding:clamp(1.5rem,3vw,3rem); border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.v4-pattern-grid h3 { margin:4rem 0 1rem; font-size:clamp(2rem,3.8vw,4.3rem); line-height:.92; letter-spacing:-.06em; }
.v4-pattern-grid p { color:var(--ink-soft); }
.v4-system-steps { max-width:var(--max); margin:3rem auto 0; border-top:1px solid #554b58; }
.v4-system-steps article { display:grid; grid-template-columns:.42fr 1fr; gap:2rem; padding:1.5rem 0; border-bottom:1px solid #554b58; }
.v4-system-steps strong { color:var(--rust-light); }
.v4-system-steps p { margin:0; color:#c9c1ca; }
.v4-two-column { display:grid; grid-template-columns:1fr 1fr; gap:clamp(3rem,8vw,9rem); }
.v4-two-column h2 { max-width:12ch; margin:0 0 1.5rem; font-size:clamp(2.8rem,4.5vw,5rem); line-height:.92; letter-spacing:-.065em; }
.v4-two-column p { color:var(--ink-soft); }
.v4-project-stack { display:grid; gap:clamp(5rem,10vw,10rem); }
.v4-project { display:grid; grid-template-columns:minmax(15rem,.42fr) minmax(0,1.58fr); gap:clamp(2rem,6vw,7rem); }
.v4-project h3 { margin:.4rem 0 1rem; font-size:clamp(3rem,5vw,6rem); line-height:.9; letter-spacing:-.07em; }
.project-copy { align-self:start; position:sticky; top:7rem; }
.project-copy p { color:var(--ink-soft); }
.project-visuals { display:grid; grid-template-columns:1fr minmax(9rem,.28fr); gap:1.25rem; align-items:start; }
.project-visuals details { grid-column:1/-1; border-top:1px solid var(--line); padding-top:1rem; }
.project-visuals summary { cursor:pointer; font-weight:800; }
.scroll-strip { max-height:38rem; overflow:auto; margin-top:1rem; border:1px solid var(--line); }
.scroll-strip img { width:100%; display:block; }
.v4-concept-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); }
.v4-concept-grid article { position:relative; display:grid; grid-template-columns:1fr minmax(8rem,.26fr); gap:1rem; align-items:start; }
.v4-concept-grid h3,.v4-concept-grid p,.v4-concept-grid .text-link { grid-column:1/-1; }
.v4-concept-grid h3 { margin:1rem 0 0; font-size:clamp(2.5rem,4vw,4.8rem); line-height:.9; letter-spacing:-.065em; }
.v4-concept-grid p { margin:0; color:var(--ink-soft); }
.concept-tag { position:absolute; z-index:2; top:.8rem; left:.8rem; padding:.45rem .6rem; background:var(--rust); color:white; font-size:.65rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.v4-process { max-width:var(--max); margin:auto; }
.v4-process ol { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.v4-process li { display:grid; grid-template-columns:5rem 1fr; gap:2rem; padding:clamp(2rem,4vw,4rem) 0; border-bottom:1px solid var(--line); }
.v4-process li>span { color:var(--rust); font-size:.68rem; font-weight:800; letter-spacing:.13em; }
.v4-process h2 { margin:0 0 1rem; font-size:clamp(2.8rem,5.5vw,6.5rem); line-height:.9; letter-spacing:-.07em; }
.v4-process p { max-width:54rem; color:var(--ink-soft); }
.v4-artifacts { grid-template-columns:1fr 1fr; }
.v4-care-grid { max-width:var(--max); margin:3rem auto 2rem; display:grid; grid-template-columns:1fr 1fr; gap:1px; background:#554b58; }
.v4-care-grid article { padding:2rem; background:var(--night); }
.v4-care-grid strong { color:var(--rust-light); }
.v4-about-hero { display:grid; grid-template-columns:1.3fr .7fr; gap:clamp(3rem,8vw,9rem); align-items:center; }
.v4-about-hero>div>p:last-child { max-width:52rem; color:var(--ink-soft); }
.v4-operating-list { margin:0; border-top:1px solid var(--line); }
.v4-operating-list div { display:grid; grid-template-columns:.45fr 1fr; gap:2rem; padding:1.35rem 0; border-bottom:1px solid var(--line); }
.v4-operating-list dt { font-weight:800; font-size:clamp(1.15rem,1.6vw,1.5rem); }
.v4-operating-list dd { margin:0; max-width:55rem; color:var(--ink-soft); }
.v4-contact-list { max-width:var(--max); margin:3rem auto 0; display:flex; flex-wrap:wrap; gap:1rem 2rem; }
.v4-contact-list a { color:var(--light); font-size:clamp(1.15rem,2vw,2rem); }

@media (max-width:900px){
  .v4-hero,.v4-about-hero,.v4-founder,.v4-artifact-feature,.v4-project { grid-template-columns:1fr; }
  .v4-hero { min-height:auto; }
  .v4-hero-ledger,.project-copy { position:static; }
  .v4-work-grid,.v4-two-column,.v4-concept-grid,.v4-artifacts { grid-template-columns:1fr; }
  .v4-price-list article { grid-template-columns:1fr .45fr; }
  .v4-price-list p { grid-column:1/-1; }
}
@media (max-width:620px){
  .v4-hero,.v4-page-hero,.v4-about-hero { padding-top:5rem; padding-bottom:5rem; }
  .v4-hero h1,.v4-page-hero h1,.v4-about-hero h1 { font-size:clamp(3.3rem,16vw,5.4rem); }
  .v4-door-grid,.v4-pattern-grid { grid-template-columns:1fr; }
  .v4-door-grid article { min-height:25rem; }
  .v4-work-card { grid-template-columns:1fr; }
  .v4-work-card .device-phone { max-width:14rem; }
  .v4-system-steps article,.v4-operating-list div { grid-template-columns:1fr; gap:.75rem; }
  .project-visuals { grid-template-columns:1fr; }
  .project-visuals .device-phone { max-width:14rem; }
  .v4-concept-grid article { grid-template-columns:1fr; }
  .v4-concept-grid .device-phone { max-width:13rem; }
  .v4-process li { grid-template-columns:2.5rem 1fr; gap:1rem; }
  .v4-care-grid { grid-template-columns:1fr; }
}
