/* A clipboard, a sensible scope, and a place for the next idea. Homepage only. */
.home-detail-label { font:10px/1.5 var(--font-mono); letter-spacing:.13em; text-transform:uppercase; margin-bottom:20px; }


/* An orchard you recognise, with a very small breeze. The image is unchanged. */
.home-pricing { background:#f4efe5; }
.home-pricing>.grid { align-items:start; }
.home-pricing .h2 { font-size:clamp(36px,4.2vw,60px); line-height:1.05; max-width:15ch; text-wrap:balance; }
.home-pricing .pricing__range { font-size:clamp(24px,2.2vw,32px); line-height:1.2; color:#6840af; letter-spacing:-.025em; }
.home-pricing .body-l { max-width:24ch; font-size:21px; line-height:1.45; }
.home-pricing .pricing__tree { max-width:450px; }
.pricing__orchard { position:relative; }
.pricing__tree-art { position:relative; transform-origin:51% 85%; }
.home-pricing .pricing__tree img { width:100%; border-radius:0; background:transparent; mix-blend-mode:multiply; mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent),linear-gradient(0deg,transparent,#000 5%,#000 95%,transparent); mask-composite:intersect; }
.pricing__branch-lines { position:absolute; inset:0; width:100%; height:100%; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.orchard-branch { stroke:#fff5c9; stroke-width:4; opacity:0; stroke-dasharray:1; stroke-dashoffset:1; }
.orchard-apple { stroke:#fff0bf; stroke-width:4; opacity:0; transform-box:fill-box; transform-origin:center; }
.pricing__tree-note { position:absolute; right:-4px; bottom:9%; width:100px; font:italic 21px/1.05 var(--font-aside); color:#4b5337; transform:rotate(-9deg); }
.home-pricing .pricing__tree .fig { margin-top:12px; max-width:40ch; font:12px/1.6 var(--font-body); letter-spacing:0; text-transform:none; color:#5c5c59; }
.pricing__orchard[data-motion-ready] .pricing__tree-art { animation:orchard-breeze 8s ease-in-out infinite; animation-play-state:paused; }
.pricing__orchard[data-motion-ready] .orchard-branch { animation:orchard-grow 8s ease-in-out infinite; animation-play-state:paused; }
.pricing__orchard[data-motion-ready] .orchard-apple { animation:orchard-ripen 8s ease-in-out var(--apple-delay) infinite; animation-play-state:paused; }
[data-detail-motion][data-playing="true"] .pricing__tree-art,[data-detail-motion][data-playing="true"] .orchard-branch,[data-detail-motion][data-playing="true"] .orchard-apple { animation-play-state:running; }
@keyframes orchard-breeze { 0%,100%{transform:rotate(-.35deg)} 50%{transform:rotate(.45deg)} }
@keyframes orchard-grow { 0%,15%{opacity:0;stroke-dashoffset:1} 40%,55%{opacity:.5;stroke-dashoffset:0} 75%,100%{opacity:0;stroke-dashoffset:0} }
@keyframes orchard-ripen { 0%,35%,85%,100%{opacity:0;transform:scale(.94)} 50%,65%{opacity:.7;transform:scale(1.03)} }

/* Price explanations read as a considered list, not a wall of equal tiles. */
.home-pricing .home-price-list { display:block; counter-reset:none; border-top:2px solid var(--ink); }
.home-pricing .home-price-list li { display:grid; grid-template-columns:28px minmax(0,1fr); gap:0 18px; padding:26px 0; border:0; border-bottom:1px solid #0d102425; border-radius:0; background:transparent; }
.home-price-list__n { grid-row:1/3; margin-top:6px; font:10px/1 var(--font-mono); color:#725198; }
.home-price-list__body h3 { font:700 clamp(22px,2.1vw,30px)/1.1 var(--font-display); letter-spacing:-.03em; }
/* Each service links to its own page (1 Nov 2026): the look stays, the underline shows on hover. */
.home-price-list__body h3 a { color:inherit; text-decoration:none; }
@media (hover:hover) { .home-price-list__body h3 a:hover { text-decoration:underline; text-decoration-color:var(--violet); text-decoration-thickness:2px; text-underline-offset:.15em; } }
.home-price-list__body p { max-width:42ch; margin-top:12px; font:14px/1.65 var(--font-body); color:#575965; }
/* Tablets: the price rows run the full width, so the words use it too (Troy, 6 Oct 2026: no dead space). */
@media (max-width:1100px) { .home-price-list__body p { max-width:64ch; } }
.home-pricing .home-price-list .bands__price { grid-column:2; margin:15px 0 0; font:11px/1.4 var(--font-mono); letter-spacing:.015em; color:#50387a; }
.home-pricing .home-price-list li:last-child { background:#e4e4d3; margin:0 -18px; padding:26px 18px; border:0; }
.home-pricing .home-price-list li:last-child .bands__price { color:var(--ink); font:700 23px/1.2 var(--font-display); }
.home-pricing .small.sub { font-size:12px; line-height:1.65; color:#61616c; }
.home-price-note { border-left:2px solid #c5b4df; margin-top:28px; padding-left:20px; display:grid; gap:13px; }
.home-price-note p { font:400 17px/1.4 var(--font-aside); color:#5b506d; }

/* Five questions first. The remaining answers are still native HTML. */
.home-faq { min-width:0; }
.home-faq-more { margin-top:25px; }
.home-faq-more>summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:19px 21px; background:#c6ff3d; color:var(--ink); font:600 14px/1.4 var(--font-body); cursor:pointer; }
.home-faq-more>summary::-webkit-details-marker { display:none; }
.home-faq-more>summary:focus-visible { outline:2px solid #e0ceff; outline-offset:5px; }
.home-faq-more>summary>span:last-child { font-size:24px; line-height:1; }
.home-faq-more__open,.home-faq-more[open]>summary .home-faq-more__closed { display:none; }
.home-faq-more[open]>summary .home-faq-more__open { display:inline; }
.home-faq-more[open]>summary>span:last-child { transform:rotate(-90deg); }
.faq-section .home-faq__rest { counter-reset:question 5; margin-top:22px; }

/* A thought taking shape. Entirely decorative, never a substitute for the link. */
.home-invitation { min-height:760px; padding-block:68px 100px; background:#27154c; background-image:radial-gradient(ellipse at 50% 22%,#6044a241,transparent 58%); }
.home-invitation::before { width:120%; height:65%; top:37%; left:-10%; opacity:.45; }
.home-invitation::after { display:none; }
.home-invitation .display-xl { max-width:16ch; font-size:clamp(42px,6.8vw,94px); }
.home-invitation .home-detail-label { color:#d4c6ed; font-size:9px; margin-bottom:20px; }
.home-invitation .cta__dot { color:var(--lime); }
.home-invitation .btn { min-height:55px; gap:24px; background:var(--lime); color:var(--ink); }
.home-invitation .body-l { max-width:38ch; margin-inline:auto; }
.home-invitation .cta__who { font-size:12px; opacity:.75; }
.idea-brain { width:220px; margin:0 auto 15px; }
.idea-brain svg { overflow:visible; stroke-linecap:round; stroke-linejoin:round; }
.idea-brain__orbit { stroke:#c6adf2; stroke-width:1; opacity:.25; stroke-dasharray:2 6; }
.idea-brain__silhouette { fill:#443063; stroke:#ecddff; stroke-width:2.2; }
.idea-brain__fold { stroke:#c0a5e6; stroke-width:2; }
.idea-brain__thought { stroke:var(--lime); stroke-width:3; stroke-dasharray:.11 .89; stroke-dashoffset:1; opacity:0; }
.idea-brain__spark { stroke:var(--coral); stroke-width:2; transform-box:fill-box; transform-origin:center; }
.idea-brain__spark--two { stroke:var(--lime); }
.idea-brain__spark--three { fill:var(--lime); stroke:none; }
.idea-brain[data-motion-ready] .idea-brain__drawing { animation:brain-float 6s ease-in-out infinite; animation-play-state:paused; }
.idea-brain[data-motion-ready] .idea-brain__thought { animation:brain-thought 6s ease-in-out infinite; animation-play-state:paused; }
.idea-brain[data-motion-ready] .idea-brain__spark { animation:brain-spark 6s ease-in-out infinite; animation-play-state:paused; }
.idea-brain[data-motion-ready] .idea-brain__spark--two { animation-delay:-2s; }
.idea-brain[data-motion-ready] .idea-brain__spark--three { animation-delay:-4s; }
.idea-brain[data-playing="true"] .idea-brain__drawing,.idea-brain[data-playing="true"] .idea-brain__thought,.idea-brain[data-playing="true"] .idea-brain__spark { animation-play-state:running; }
@keyframes brain-float { 0%,100%{transform:translateY(0) rotate(-1deg)} 50%{transform:translateY(-5px) rotate(1deg)} }
@keyframes brain-thought { 0%,10%{opacity:0;stroke-dashoffset:1} 25%,70%{opacity:1} 85%,100%{opacity:0;stroke-dashoffset:0} }
@keyframes brain-spark { 0%,100%{transform:scale(.85);opacity:.45} 45%,60%{transform:scale(1.1);opacity:1} }

@media(max-width:900px) {
  .home-pricing .pricing__left { display:grid; grid-template-columns:1fr 1fr; column-gap:28px; }
  .home-pricing .pricing__left>.home-detail-label { grid-column:1/-1; }
  .home-pricing .pricing__left>.h2,.home-pricing .pricing__left>.pricing__range,.home-pricing .pricing__left>.body-l { grid-column:1; }
  .home-pricing .pricing__tree { grid-column:2; grid-row:2/5; align-self:center; margin:0; }
  .home-pricing .col-7-13 { margin-top:42px; }
  .home-pricing .home-price-list li { grid-template-columns:32px minmax(0,1fr) minmax(120px,.45fr); column-gap:20px; }
  .home-pricing .home-price-list .bands__price { grid-column:3; grid-row:1; margin-top:3px; text-align:right; }
  .home-pricing .home-price-list li:last-child { margin-inline:0; }
  .home-invitation { min-height:680px; }
}
@media(max-width:560px) {
  .home-pricing .pricing__left { display:block; }
  .home-pricing .h2 { max-width:15ch; font-size:clamp(36px,10.75vw,42px); }
  .home-pricing .pricing__range { font-size:27px; }
  .home-pricing .body-l { font-size:20px; }
  .home-pricing .pricing__tree { margin-top:25px; }
  .pricing__tree-note { font-size:19px; right:0; width:86px; }
  .home-pricing .col-7-13 { margin-top:28px; }
  .home-pricing .home-price-list li { grid-template-columns:23px minmax(0,1fr); gap:0 13px; padding:24px 0; }
  .home-pricing .home-price-list .bands__price { grid-column:2; grid-row:auto; margin-top:13px; text-align:left; }
  .home-pricing .home-price-list li:last-child { padding:24px 13px; }
  .home-price-list__body h3 { font-size:25px; }
  .home-price-list__body p { font-size:14px; }
  .home-faq-more>summary { padding:17px; font-size:13px; }
  .home-invitation { min-height:640px; padding-block:55px 76px; }
  .home-invitation .display-xl { font-size:clamp(40px,10.5vw,58px); max-width:12ch; }
  .home-invitation .body-l { font-size:16px; max-width:29ch; }
  .idea-brain { width:180px; margin-bottom:19px; }
}
html.reduce-motion [data-detail-motion] *,html.reduce-motion .home-faq .answer { animation:none!important; }
@media(prefers-reduced-motion:reduce) { [data-detail-motion] *,.home-faq .answer { animation:none!important; } }

/* Every heading italic in the same violet serif (1 Nov 2026). */
#process h2 em, #pricing h2 em { font-family:var(--font-aside); font-weight:400; color:#6b32c2; }
/* Real results, after the demos (Troy, 1 Nov 2026 plan): three numbers people can check on /work. */
.home-results .h2 em { font-family:var(--font-aside); font-weight:400; color:#6b32c2; }
.results-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:32px 0 0; padding:0; list-style:none; }
.results-row li { display:grid; gap:12px; align-content:start; padding:24px; border:1px solid #0d10241f; border-radius:22px; background:#fffaf3; }
.results-row b { width:fit-content; padding:4px 12px; border-radius:10px; background:var(--lime,#c6f432); font:800 clamp(34px,3.6vw,48px)/1.05 var(--font-display); letter-spacing:-.04em; }
.results-row span { color:#414154; font-size:16px; line-height:1.45; }
.results-note { margin-top:14px; font-size:13px; color:var(--muted); }
.home-results .btn-row { margin-top:24px; }
@media (max-width:760px) { .results-row { grid-template-columns:1fr; } }
