/* ct-garden.css: the landing is the approved garden.
   Generated by tools/build-landing.mjs from landing/APPROVED-landing-205.html; edit that file, not this file.
   Landing only: nothing here applies to a Circle or to Music Theory (every rule sits under main.site.ct-garden-on or .ct-garden). */

/* page: header (red rule + HORTUS SONI, About & Privacy) | garden | tool tiles. One window tall, no scrolling. */
html:not(#ctg) body main.site.ct-garden-on{grid-template-rows:48px minmax(0,1fr) auto!important;background:radial-gradient(circle at 58% 13%,#17141a 0,#080709 34%,#040405 65%,#020203)!important}
html:not(#ctg) body main.site.ct-garden-on>.hero,html:not(#ctg) body main.site.ct-garden-on>.manifesto,html:not(#ctg) body main.site.ct-garden-on>.closing,html:not(#ctg) body main.site.ct-garden-on>footer,html:not(#ctg) body main.site.ct-garden-on .trinityIntro,html:not(#ctg) body main.site.ct-garden-on .detail{display:none!important}
html:not(#ctg) body main.site.ct-garden-on>header.nav{border-bottom:1px solid #242127;background:#040405db}

/* the garden: the scene fills the middle row, bottom-anchored (preserveAspectRatio xMidYMax slice); the title sits top-left */
.ct-garden{position:relative;min-height:0;overflow:hidden}
.ct-garden .art{position:absolute;inset:0;width:100%;height:100%;display:block}
.ct-garden .ctg-copy{position:relative;z-index:1;padding:clamp(18px,4vh,44px) clamp(18px,2.4vw,40px)}
.ct-garden h1{margin:0;color:#fff;font:400 clamp(30px,3.6vw,56px)/1.05 Georgia,"Times New Roman",serif;letter-spacing:-.02em}
.ct-garden .ctg-lede{margin:10px 0 0;color:#e9e4da;font:400 clamp(14px,1.3vw,18px)/1.45 Georgia,"Times New Roman",serif}
html.ct-projector .ct-garden .ctg-lede{font-size:clamp(17px,1.6vw,22px)}
.ct-garden .art .stones ellipse{fill:#2a2620;stroke:#6b5a40;stroke-width:1.5}
.ct-garden .art .water{fill:#0a1519;stroke:#dfb954;stroke-width:3}
.ct-garden .art .ripple{fill:none;stroke:#dfb954;stroke-width:1.4;opacity:.28}
.ct-garden .art .pad{fill:#1c3024;stroke:#5d8a68;stroke-width:1.5}
.ct-garden .art .bloom{fill:#eca0c9}
.ct-garden .art .fish{fill:#0a1519;stroke:#dfb954;stroke-width:3.6;stroke-linecap:round;stroke-linejoin:round}
.ct-garden .art .hedge{fill:none;stroke:#18261d;stroke-width:11;stroke-linejoin:round}
.ct-garden .art .gravel{fill:none;stroke:#221e18;stroke-width:6;stroke-linejoin:round}
.ct-garden .art .steps{fill:none;stroke:#8ccdf7;stroke-width:1.6;stroke-linecap:round;stroke-dasharray:0 4.1}
.ct-garden .art .bloom-b{fill:#8ccdf7}
.ct-garden .art .paving{fill:#0f0d0b;stroke:#6b5a40;stroke-width:2;stroke-dasharray:3 6}
.ct-garden .art .clockbed{fill:#0d140f;stroke:#e9e1d1;stroke-width:3}
.ct-garden .art .clockring{fill:none;stroke:#3a5a45;stroke-width:1.2}
.ct-garden .art .fl{fill:#8fc59a}
.ct-garden .art .fl-big{fill:#e9e1d1}
.ct-garden .art .heart path{fill:none;stroke:#e9e1d1;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.ct-garden .art .hand{stroke:#c5a875;stroke-width:4;stroke-linecap:round}
.ct-garden .art .pivot{fill:#c5a875}
.ct-garden .art .rowbed{fill:#0e0d0b;stroke:#8fb8ff;stroke-width:2.5}
.ct-garden .art .furrow{stroke:#24382a;stroke-width:7;stroke-linecap:round}
.ct-garden .art .furrow-l{stroke:#5d8a68;stroke-width:1.2}
.ct-garden .art .stake{stroke:#c5a875;stroke-width:2;stroke-linecap:round}
.ct-garden .art .bud{fill:#ffd76a}
.ct-garden .art .head{fill:#3f7a4c;stroke:#a6d4a8;stroke-width:1.5}
.ct-garden .art .place{transition:filter .2s}
.scene-wrap .ct-garden .art{position:absolute;inset:0;width:100%;height:100%}
.ct-garden .art .moon-c{fill:#f1ece1;opacity:.85}
.ct-garden .art .stream{fill:none;stroke:#0f2a33;stroke-width:14;stroke-linecap:round}
.ct-garden .art .stream-hi{fill:none;stroke:#8ccdf7;stroke-width:1.5;stroke-dasharray:6 10;opacity:.45}
.ct-garden .art .pond{fill:#0a1a20;stroke:#24414b;stroke-width:2}
.ct-garden .art .pond-hi{fill:none;stroke:#8ccdf7;stroke-width:1;opacity:.18}
.ct-garden .art .fish-c{fill:none;stroke:#dfb954;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.ct-garden .art .roof{fill:#231b13;stroke:#8f7451;stroke-width:2.5;stroke-linejoin:round}
.ct-garden .art .wall{fill:#17120d;stroke:#8f7451;stroke-width:2.5}
.ct-garden .art .plank{stroke:#2c241a;stroke-width:1.5}
.ct-garden .art .doorway{fill:#050403;stroke:#8f7451;stroke-width:2}
.ct-garden .art .door-open{fill:#231b13;stroke:#8f7451;stroke-width:2;stroke-linejoin:round}
.ct-garden .art .win{fill:#dfb954;opacity:.32;stroke:#8f7451;stroke-width:2}
.ct-garden .art .inst .g-body{fill:#4f2c1c;stroke:#c5a875;stroke-width:6}
.ct-garden .art .inst .g-hole{fill:#050506;stroke:#d2b67c;stroke-width:4}
.ct-garden .art .inst .g-neck{fill:#775137;stroke:#c5a875;stroke-width:4}
.ct-garden .art .inst .g-str{stroke:#dfd3b7;stroke-width:2}
.ct-garden .art .handle{fill:none;stroke:#8f7451;stroke-width:3.5;stroke-linecap:round}
.ct-garden .art .steel{fill:none;stroke:#b9c3c8;stroke-width:2.2;stroke-linecap:round}
.ct-garden .art .blade{fill:#55636a;stroke:#b9c3c8;stroke-width:1.5;stroke-linejoin:round}
.ct-garden .art .can path{fill:#24402f;stroke:#8fc59a;stroke-width:2;stroke-linejoin:round}
.ct-garden .art .can .spout{fill:none}
.ct-garden .art .flute{stroke:#d7dade;stroke-width:3.5;stroke-linecap:round}
.ct-garden .art .holes{stroke:#3a3f44;stroke-width:2.4;stroke-linecap:round}
.ct-garden .art .trumpet path{fill:none;stroke:#d8bd7e;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.ct-garden .art .trumpet .bell{fill:#9a6b21;fill-opacity:.5}
.ct-garden .art .stick{stroke:#c5a875;stroke-width:3;stroke-linecap:round}
.ct-garden .art .float{animation:ctgFloatUp 14s ease-in-out infinite}
@keyframes ctgFloatUp{0%{transform:translateY(0);opacity:0}15%{opacity:.75}80%{opacity:.55}100%{transform:translateY(-90px);opacity:0}}
.ct-garden .art .door-heart{transform:translate(829px,326px) scale(.34)}
.ct-garden .art .door-heart path{fill:none;stroke:#e9e1d1;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;transform-box:view-box;transform-origin:50px 34px;animation:ctgHeartPump 1.08s infinite}
@keyframes ctgHeartPump{0%,35%,60%,100%{transform:scale(1)}9%{transform:scale(1.12)}18%{transform:scale(1)}26%{transform:scale(1.07)}}
.ct-garden .art .star{filter:drop-shadow(0 0 1.5px #fff) drop-shadow(0 0 6px #4cc9f0aa)}
.ct-garden .art .star{animation:ctgTwinkle 5.2s ease-in-out infinite}
.ct-garden .art .star.tw{animation-duration:3.8s}
@keyframes ctgTwinkle{0%,100%{opacity:1}40%{opacity:.35}55%{opacity:.95}70%{opacity:.4}}
.ct-garden .art .pins circle{fill:#fff;opacity:.35}
.ct-garden .art .sway{transform-box:fill-box;transform-origin:50% 100%;animation:ctgBreeze 6.5s ease-in-out infinite}
@keyframes ctgBreeze{0%,100%{transform:rotate(-2.5deg)}50%{transform:rotate(3deg)}}
.ct-garden .art .reed{fill:none;stroke:#3a5a45;stroke-width:2.5;stroke-linecap:round}
.ct-garden .art .grass{fill:none;stroke:#2f4a38;stroke-width:2;stroke-linecap:round}
.ct-garden .art .plant .stem{fill:none;stroke:#3f6a4c;stroke-width:2;stroke-linecap:round}
.ct-garden .art .plant .flower{fill:#eca0c9}
.ct-garden .art .bed-soil{fill:#1c160f;stroke:#6b5a40;stroke-width:1.5}
.ct-garden .art .ripple-c{fill:none;stroke:#8ccdf7;stroke-width:1;opacity:0;transform-box:fill-box;transform-origin:center;animation:ctgRipple 8.5s ease-out infinite}
.ct-garden .art .ripple-c.r2{animation-delay:-3.5s}
@keyframes ctgRipple{0%{transform:scale(.45);opacity:0}25%{opacity:.28}100%{transform:scale(1.65);opacity:0}}
@media (prefers-reduced-motion:reduce){.ct-garden .art .float{opacity:.6}.ct-garden .art .ripple-c{opacity:.2}.ct-garden .art .fish-swim,.ct-garden .art .star{animation:none!important}}
.ct-garden .art .fence path,.ct-garden .art .fence polyline{fill:none;stroke:#f6f2e8;stroke-width:1.6;stroke-linecap:round;opacity:.9}
.ct-garden .art .path-c .dirt{fill:none;stroke:#1d4a5a;stroke-width:24;stroke-linecap:round}
.ct-garden .art .path-c .dirt.b{stroke-width:18}
.ct-garden .art .path-c .stone{fill:#8ccdf7;stroke:#8ccdf7;stroke-width:1;opacity:1}
.ct-garden .art .arch path{fill:none;stroke:#e0c08a;stroke-width:3;stroke-linecap:round}
.ct-garden .art .arch .rose{fill:#ff5c8a}
.ct-garden .art .arch .rose.y{fill:#ffd166}
.ct-garden .art .bed-soil{fill:#5a3f26;stroke:#a07a4c;stroke-width:1.5}
.ct-garden .art .plant .stem,.ct-garden .art .veg .vstem{fill:none;stroke:#6fd27e;stroke-width:2;stroke-linecap:round}
.ct-garden .art .tomato{fill:#ff3b3b;stroke:#ffb3a8;stroke-width:1}
.ct-garden .art .calyx{fill:none;stroke:#6fd27e;stroke-width:1.6;stroke-linecap:round}
.ct-garden .art .carrot{fill:#ff8c1a;stroke:#ffc070;stroke-width:1}
.ct-garden .art .leafy{fill:#4caf50;stroke:#9be79f;stroke-width:1}
.ct-garden .art .reed{stroke:#5fae6e}
.ct-garden .art .grass{stroke:#4f9a5e}
.ct-garden .art .notes path{stroke-width:2.4;stroke-linecap:round}
.ct-garden .art .roof{fill:#4a3524;stroke:#e0c08a}
.ct-garden .art .wall{fill:#3b2c1e;stroke:#e0c08a}
.ct-garden .art .plank{stroke:#5a4632}
.ct-garden .art .door-open{fill:#5a4030;stroke:#e0c08a}
.ct-garden .art .doorway{fill:#1a120b;stroke:#e0c08a}
.ct-garden .art .win{fill:#ffd166;opacity:.6;stroke:#e0c08a}
.ct-garden .art .handle{stroke:#c89a5e}
.ct-garden .art .pond{fill:#0e2c38;stroke:#4cc9f0;stroke-opacity:.6}
.ct-garden .art .pond-hi{opacity:.3}
.ct-garden .art .stream{stroke:#1d4a5a}
.ct-garden .art .stream-hi{opacity:.75}
.ct-garden .art .fish-c{stroke:#ffd166}
@keyframes ctgFloatUp{0%{transform:translateY(0);opacity:0}12%{opacity:.7}85%{opacity:.55}100%{transform:translateY(-70px);opacity:0}}
.ct-garden .art .notes g g{filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 6px #ffffff66)}
.ct-garden .art .meadow .mstem{fill:none;stroke:#6fd27e;stroke-width:1.2;stroke-linecap:round}
@media (prefers-reduced-motion:reduce){.ct-garden .art .float{opacity:1}}
.ct-garden .art .fish-swim{animation:ctgFishSwim 9s ease-in-out infinite}
.ct-garden .art .fish-swim.f2{animation-duration:11s;animation-delay:-2.4s}
.ct-garden .art .fish-swim.f3{animation-duration:8.5s;animation-delay:-4.1s}
.ct-garden .art .fish-swim.f4{animation-duration:10.5s;animation-delay:-1.2s}
.ct-garden .art .fish-swim.f5{animation-duration:12s;animation-delay:-5.5s}
@keyframes ctgFishSwim{
  0%,100%{transform:translate(0px,0px)}
  25%{transform:translate(5px,-1.5px)}
  50%{transform:translate(9px,1px)}
  75%{transform:translate(3px,-1px)}
}
.ct-garden .art .sky-inf{fill:none;stroke-linecap:round;pointer-events:none}
.ct-garden .art .sky-inf.back{stroke:#4a6a88;stroke-width:22;opacity:.05}
.ct-garden .art .sky-inf.mid{stroke:#8ccdf7;stroke-width:16;opacity:.08}
.ct-garden .art .sky-inf.hi{stroke:#d8f0ff;stroke-width:6;opacity:.1}

/* tool tiles: the chooser's cards, drawn as in mockup C.
   George (204): sized for FIVE in one row. Build 205 fills that row: each tile is one fifth, five tiles meet the edges. */
html:not(#ctg) body main.site.ct-garden-on>.trinity{width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0!important;
  padding:12px clamp(18px,2.4vw,40px) clamp(14px,2.4vh,24px)!important;border-top:1px solid #211e23;background:#050506!important}
html:not(#ctg) body main.site.ct-garden-on .trinityGrid{display:flex!important;flex-wrap:nowrap!important;justify-content:center!important;gap:12px!important;
  max-width:1320px;margin:0 auto!important;padding:0!important;grid-template-columns:none!important}
html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a{--ctg-c:#fff;flex:0 0 calc((100% - 48px) / 5)!important;box-sizing:border-box!important;width:auto!important;min-width:0!important;max-width:none!important;
  height:clamp(150px,22vh,194px)!important;min-height:0!important;max-height:none!important;margin:0!important;
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:36px auto minmax(0,1fr) 32px!important;gap:6px!important;
  align-items:start!important;align-content:stretch!important;padding:12px 16px!important;border:1px solid #302d33!important;border-radius:0!important;
  background:#09090b!important;color:#fff!important;text-decoration:none!important;transform:none!important;box-shadow:none!important;transition:background .2s}
html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a.threes{--ctg-c:#dfb954}html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a.infinity{--ctg-c:#8ccdf7}html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a.rhythm{--ctg-c:#e9e1d1}html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a.ct-sl-card{--ctg-c:#ffd76a}html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a.ct-ws-card{--ctg-c:#c5a875}
html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a:hover,html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a:focus-visible{background:#18171c!important}
/* symbol row */
html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a .symbolBox{grid-row:1!important;width:56px!important;height:36px!important;margin:0!important;padding:0!important;border:0!important;background:none!important;color:var(--ctg-c)!important;display:block!important;justify-self:start!important}
html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a .symbolBox svg{display:block!important;width:56px!important;height:36px!important;overflow:visible!important}
html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a .symbolBox svg path{fill:none!important;stroke:currentColor!important;stroke-width:5!important;stroke-linecap:round!important;stroke-linejoin:round!important;opacity:1!important}
html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a .symbolBox svg .bloodDrop{display:none!important}
html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a .ct-sl-card-icon{grid-row:1!important;width:36px!important;height:36px!important;padding:0!important;display:grid!important;place-items:center!important;justify-self:start!important;
  border:1.5px solid #8fb8ff!important;border-radius:8px!important;background:#0f1a30!important;box-sizing:border-box!important}
html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a .ct-sl-card-icon .ct-sl-icon{width:22px!important;height:22px!important;color:var(--ctg-c)!important}
html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a .ct-ws-card-icon{grid-row:1!important;width:36px!important;height:36px!important;margin:0!important;padding:0!important;display:grid!important;place-items:center!important;justify-self:start!important;box-sizing:border-box!important;border:1.5px dashed #8f7451!important;border-radius:8px!important;background:#17120d!important;color:var(--ctg-c)!important}
html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a .ct-ws-icon{display:block!important;width:100%!important;height:100%!important;overflow:visible!important}
html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a .ct-ws-icon path{fill:none!important;stroke:currentColor!important;stroke-width:5!important;stroke-linecap:round!important;stroke-linejoin:round!important}
/* name row */
html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a>strong,html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a .ct-sl-card-body,html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a .ct-ws-card-body{grid-row:2!important;align-self:start!important;margin:0!important}
html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a .ct-sl-card-body,html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a .ct-ws-card-body{display:block!important}
html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a>strong,html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a .ct-sl-card-body strong,html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a .ct-ws-card-body strong{display:block!important;color:#fff!important;font:400 clamp(19px,1.8vw,26px)/1.15 Georgia,"Times New Roman",serif!important;letter-spacing:0!important;overflow-wrap:break-word}
html.ct-projector html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a>strong,html.ct-projector html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a .ct-sl-card-body strong,html.ct-projector html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a .ct-ws-card-body strong{font-size:clamp(23px,2.2vw,32px)!important}
html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a>small,html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a>span:not(.symbolBox):not(.module-start):not(.ct-sl-card-icon):not(.ct-sl-card-body):not(.ct-sl-card-start):not(.ct-ws-card-icon):not(.ct-ws-card-body):not(.ct-ws-card-start),html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a .ct-sl-card-body>:not(strong),html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a .ct-ws-card-body>:not(strong){display:none!important}
/* START row */
html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a .module-start,html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a .ct-sl-card-start,html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a .ct-ws-card-start{grid-row:4!important;align-self:stretch!important;justify-self:stretch!important;height:32px!important;min-height:0!important;box-sizing:border-box!important;
  display:grid!important;place-items:center!important;margin:0!important;padding:0!important;border:1px solid #ffffffb3!important;border-radius:4px!important;
  background:#15151b!important;color:#fff!important;font:900 12px/1 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;letter-spacing:.12em!important}
html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a:hover .module-start,html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a:focus-visible .module-start,html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a:hover .ct-sl-card-start,html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a:focus-visible .ct-sl-card-start,html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a:hover .ct-ws-card-start,html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a:focus-visible .ct-ws-card-start{border-color:#fff!important}

/* Reduce Motion: the garden stands still. The notes stay visible. */
@media (prefers-reduced-motion:reduce){
  .ct-garden,.ct-garden *,html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a,html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a *,html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a .symbolBox,html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a .ct-sl-card-icon,html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a .ct-ws-card-icon{animation:none!important;transition:none!important}
  .ct-garden .art .float{opacity:1}
  .ct-garden .art .ripple-c{opacity:.2}
}
@media (max-width:760px){html:not(#ctg) body main.site.ct-garden-on{grid-template-rows:48px minmax(300px,1fr) auto!important}html:not(#ctg) body main.site.ct-garden-on .trinityGrid{flex-wrap:wrap!important}html:not(#ctg) body main.site.ct-garden-on .trinityGrid>a{flex-basis:calc((100% - 12px) / 2)!important}}
