/* Editorial Garden. Scoped to services, project windows and process; no hero selectors. */
body.bonsai-dna .garden-kicker { color:var(--dna-teal); font:600 11px/1.6 var(--dna-body); text-transform:uppercase; letter-spacing:.15em; margin:0 0 18px; }
body.bonsai-dna .services { padding:100px 7%; gap:7%; grid-template-columns:.85fr 1.15fr; background:var(--dna-paper); }
body.bonsai-dna .service-intro { padding:32px 0 0; border:0; }
body.bonsai-dna .service-intro h2 { font-size:clamp(34px,3.3vw,48px); line-height:1.18; }
body.bonsai-dna .service-intro p { max-width:40ch; }
body.bonsai-dna .service-map { position:relative; padding:0 0 0 38px; display:flex; gap:0; counter-reset:service; }
body.bonsai-dna .service-map::before { content:""; position:absolute; left:8px; top:30px; bottom:45px; width:16px; border-left:1px solid var(--dna-line-strong); border-radius:40% 0 0 45%; pointer-events:none; }
body.bonsai-dna .service-map article:nth-of-type(n) { counter-increment:service; display:block; min-height:0; width:100%; margin:0; padding:26px 0 25px 42px; border:0; border-bottom:1px solid var(--dna-line); border-radius:0; background:transparent; box-shadow:none; transform:none; color:var(--dna-ink); }
body.bonsai-dna .service-map article::before { content:counter(service,decimal-leading-zero); position:absolute; inset:29px auto auto 0; width:auto; height:auto; color:var(--dna-teal); background:none; font:500 12px/1.4 var(--dna-body); letter-spacing:0; }
body.bonsai-dna .service-map article::after { content:""; position:absolute; left:-28px; top:36px; width:18px; height:8px; border-top:1px solid var(--dna-line-strong); border-radius:60% 0 0; pointer-events:none; }
body.bonsai-dna .service-map article .icon { display:none; }
body.bonsai-dna .service-map article h3 { margin:0 0 8px; color:var(--dna-ink); font:600 clamp(19px,1.65vw,24px)/1.3 var(--dna-body); }
body.bonsai-dna .service-map article h3 a { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:32px; }
body.bonsai-dna .service-map article h3 a::after { content:"↗"; position:static; opacity:1; transform:none; color:var(--dna-teal); font-size:22px; transition:transform .2s; }
body.bonsai-dna .service-map article p { color:var(--dna-muted); margin:0; font-size:14px; line-height:1.7; max-width:47ch; }
body.bonsai-dna .service-map article:hover { background:transparent; box-shadow:none; border-color:var(--dna-teal); }
body.bonsai-dna .service-map article:hover h3 a::after { transform:translate(2px,-2px); }
body.bonsai-dna .garden-projects { display:block; padding:0 6%; }
body.bonsai-dna .garden-project { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.5fr); align-items:center; gap:7%; padding:76px 0; border-bottom:1px solid var(--dna-line); }
body.bonsai-dna .garden-project[hidden] { display:none; }
body.bonsai-dna .garden-project:nth-child(even) { grid-template-columns:minmax(0,1.5fr) minmax(0,.75fr); }
body.bonsai-dna .garden-project:nth-child(even) .garden-project-copy { order:2; }
body.bonsai-dna .garden-project-copy h2 { margin:0 0 22px; font:500 clamp(30px,3.1vw,48px)/1.12 var(--dna-display); letter-spacing:-.045em; overflow-wrap:anywhere; }
body.bonsai-dna .garden-project-copy > p:not(.garden-kicker) { color:var(--dna-muted); font-size:15px; line-height:1.8; max-width:40ch; margin:0 0 28px; }
body.bonsai-dna .garden-project-link { display:inline-flex; align-items:center; gap:20px; min-height:44px; padding:7px 0; border-bottom:1px solid var(--dna-teal); color:var(--dna-deep); font:600 14px/1.5 var(--dna-body); }
body.bonsai-dna .garden-project-link:hover { color:var(--dna-teal); }
body.bonsai-dna .garden-window { margin:0; border:1px solid var(--dna-line); border-radius:6px; overflow:hidden; background:var(--dna-wash); box-shadow:0 16px 40px rgb(16 42 53 / 7%); }
body.bonsai-dna .garden-window-bar { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:12px 16px; color:var(--dna-muted); border-bottom:1px solid var(--dna-line); background:var(--dna-paper); font:400 10px/1.5 var(--dna-body); }
body.bonsai-dna .garden-window-bar>span:first-child { font-size:7px; letter-spacing:4px; color:#91aaa6; }
body.bonsai-dna .garden-window>a { display:block; }
body.bonsai-dna .garden-window img { display:block; width:100%; height:auto; max-width:100%; object-fit:contain; border:0; border-radius:0; transform:none; }
body.bonsai-dna .garden-project-media { min-width:0; }
body.bonsai-dna .garden-preview-toggle { display:flex; justify-content:space-between; gap:16px; align-items:center; background:transparent; border:0; border-bottom:1px solid var(--dna-line); color:var(--dna-teal); padding:12px 0; min-height:44px; font:500 12px/1.6 var(--dna-body); cursor:pointer; }
body.bonsai-dna .garden-preview-toggle[aria-expanded="true"] span { transform:rotate(45deg); }
body.bonsai-dna .garden-live { margin-top:16px; height:440px; border:1px solid var(--dna-line); overflow:hidden; }
body.bonsai-dna .garden-live iframe { width:100%; height:100%; border:0; display:block; background:var(--dna-paper); }
body.bonsai-dna .garden-preview-note { font:400 11px/1.6 var(--dna-body); color:var(--dna-muted); margin:8px 0 0; }
body.bonsai-dna .garden-live[hidden] + .garden-preview-note { display:none; }
body.bonsai-dna .garden-featured { background:var(--dna-wash); padding:72px 7%; }
body.bonsai-dna .garden-featured .garden-project { padding:16px 0 42px; border:0; }
body.bonsai-dna .cooperation-process { width:86%; max-width:1240px; padding:72px 0; margin:48px auto; border:0; border-radius:0; background:transparent; box-shadow:none; }
body.bonsai-dna .cooperation-process .page-section-head { grid-template-columns:.65fr 1.35fr; gap:5%; }
body.bonsai-dna .cooperation-process h2 { margin-top:0; font-size:clamp(34px,3.5vw,50px); }
body.bonsai-dna .garden-journey { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; padding:0; margin:56px 0 0; list-style:none; }
body.bonsai-dna .garden-journey li { position:relative; padding-top:22px; border-top:1px solid var(--dna-line-strong); }
body.bonsai-dna .garden-journey li:not(:last-child)::after { content:"→"; position:absolute; top:-16px; right:-29px; color:var(--dna-teal); font-size:20px; }
body.bonsai-dna .garden-journey span { color:var(--dna-teal); font-size:12px; }
body.bonsai-dna .garden-journey h3 { margin:14px 0 10px; font:600 20px/1.3 var(--dna-body); }
body.bonsai-dna .garden-journey p { margin:0; font-size:14px; line-height:1.7; color:var(--dna-muted); }
body.bonsai-dna :is(.garden-project,.services,.cooperation-process) :is(a,button):focus-visible { outline:2px solid var(--dna-teal); outline-offset:5px; }
@media(max-width:900px) {
 body.bonsai-dna .services { padding:64px 6%; gap:32px; grid-template-columns:1fr; }
 body.bonsai-dna .service-intro { padding:0; }
 body.bonsai-dna .service-map { max-width:100%; }
 body.bonsai-dna .garden-project { gap:5%; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); padding:48px 0; }
 body.bonsai-dna .garden-project:nth-child(even) { grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); }
 body.bonsai-dna .garden-project-copy h2 { font-size:30px; }
 body.bonsai-dna .garden-project-copy > p:not(.garden-kicker) { font-size:14px; }
 body.bonsai-dna .cooperation-process .page-section-head { grid-template-columns:1fr; gap:16px; }
 body.bonsai-dna .garden-journey { gap:24px; }
 body.bonsai-dna .garden-journey li:not(:last-child)::after { right:-23px; }
}
@media(max-width:600px) {
 body.bonsai-dna .service-intro p br { display:none; }
 body.bonsai-dna .services { padding:52px 6%; }
 body.bonsai-dna .service-map { padding-left:24px; }
 body.bonsai-dna .service-map::before { left:0; }
 body.bonsai-dna .service-map article { padding-left:34px; }
 body.bonsai-dna .service-map article::after { left:-24px; width:14px; }
 body.bonsai-dna .garden-project, body.bonsai-dna .garden-project:nth-child(even) { grid-template-columns:1fr; gap:28px; }
 body.bonsai-dna .garden-project:nth-child(even) .garden-project-copy { order:0; }
 body.bonsai-dna .garden-project-copy h2 { font-size:35px; }
 body.bonsai-dna .garden-featured { padding:52px 6%; }
 body.bonsai-dna .garden-journey { grid-template-columns:1fr; gap:0; margin-top:32px; }
 body.bonsai-dna .garden-journey li { border:0; border-left:1px solid var(--dna-line-strong); padding:0 0 30px 26px; }
 body.bonsai-dna .garden-journey li::before { content:""; position:absolute; top:8px; left:-4px; width:7px; height:7px; border-radius:50%; background:var(--dna-teal); }
 body.bonsai-dna .garden-journey li:not(:last-child)::after { display:none; }
 body.bonsai-dna .cooperation-process { padding:40px 0; }
}
