/* Bloom V2 — original botanical motion language.
   Keeps brand asset names/colors and progressive enhancement. */
.page-home{--garden-deep:#244c36;--garden-mid:#4f7b54;--garden-soft:#ddecd4;--garden-cream:#f6f7e9;--garden-orange:#dd8669}
.page-home .rd-hero{position:relative}
.page-home .rd-hero::after{content:"";position:absolute;right:-16%;top:-35%;width:53vw;height:53vw;border:1px dashed rgba(58,106,70,.13);border-radius:50%;pointer-events:none}
.page-home .rd-hero-copy h1{max-width:930px;text-wrap:balance}
.page-home .rd-hero-copy h1 em{position:relative;display:inline-block}
.page-home .rd-hero-copy h1 em::after{content:"";position:absolute;bottom:-.12em;left:0;width:100%;height:8px;max-width:430px;background:#dd987575;border-radius:100%;transform:scaleX(.15);transform-origin:left center;animation:bloom-underline 1.7s .4s cubic-bezier(.2,.7,.2,1) both}
@keyframes bloom-underline{to{transform:scaleX(1)}}
.page-home .rd-glow{animation-duration:10s;will-change:transform}
.page-home .rd-glass{transition:transform .5s cubic-bezier(.2,.75,.2,1),box-shadow .45s;transform:translate3d(var(--drift-x,0px),var(--drift-y,0px),0) rotate(var(--drift-angle,0deg))}
.page-home .rd-hero-visual:hover .rd-glass{box-shadow:0 30px 70px #35593830}
.page-home .rd-art-aura{overflow:hidden;isolation:isolate}
.page-home .bloom-hero-sprig{position:absolute;z-index:3;font:400 62px/1 Georgia,serif;color:#d18c64;text-shadow:0 8px 13px #946e4133;animation:sprig-float 8s ease-in-out infinite}
.page-home .sprig-a{top:10%;right:10%;font-size:68px}
.page-home .sprig-b{bottom:14%;left:11%;font-size:34px;color:#5f946f;animation-delay:-3s}
.page-home .sprig-c{top:18%;left:11%;font-size:28px;color:#84a583;animation-delay:-6s}
@keyframes sprig-float{50%{transform:translate(6px,-17px) rotate(26deg)}}
.page-home .rd-softcard{position:relative;overflow:hidden;border:1px solid #b6cbb2;box-shadow:0 15px 24px #3456380b;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-radius .35s}
.page-home .rd-softcard:before{content:"";position:absolute;width:230px;height:230px;top:-150px;right:-120px;border-radius:50%;background:#e8b59b73;transition:transform .5s ease}
.page-home .rd-softcard:hover:before,.page-home .rd-softcard:focus-visible:before{transform:scale(1.65)}
.page-home .rd-softcard:hover,.page-home .rd-softcard:focus-visible{transform:translateY(-10px);box-shadow:0 26px 42px #34563825;border-radius:46px 46px 75px 46px}
.page-home .rd-softcard:nth-child(2){background:#e5eddf}
.page-home .rd-softcard:nth-child(3){background:#edf1e0}
.page-home .rd-softcard:nth-child(4){background:#e1e9d9}
.page-home .rd-softcard .soft-icon{display:grid;place-items:center;width:96px;height:96px;flex:none;border-radius:50%;border:1px solid #9ebd9670;background:#f8f8ec9e;margin:18px 0 36px;transition:transform .4s}
.page-home .rd-softcard .soft-icon svg{display:block;width:48px;height:48px;flex:none;overflow:visible}
.page-home .rd-softcard:hover .soft-icon{transform:rotate(-18deg) scale(1.09)}
.page-home .rd-bottom-banner{border-top:1px solid #a5b89c;color:var(--garden-deep)}
.bloom-growth{background:#f7f7eb;color:#244531;position:relative;isolation:isolate;padding:0 clamp(22px,5.2vw,100px) clamp(85px,11vw,150px)}
.bloom-section-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0;border-top:1px solid #8eaa8d83;color:#476747}
.bloom-overline,.bloom-section-number,.bloom-eyebrow,.bloom-visual-chrome,.bloom-stage,.bloom-growth-caption,.bloom-panel-kicker,.bloom-code-more,.bloom-project-top,.bloom-project-footnote{font:700 10px/1.6 'DM Sans',Arial,sans-serif;letter-spacing:.13em}
.bloom-overline{display:inline-flex;align-items:center;gap:13px}
.bloom-seed{width:10px;height:15px;background:var(--garden-orange);border-radius:70% 0 70% 0;display:inline-block;transform:rotate(-35deg)}
.bloom-section-number{font-weight:600;opacity:.65}
.bloom-growth-grid{display:grid;grid-template-columns:1fr 1.04fr;gap:clamp(35px,6vw,110px);align-items:start;padding-top:clamp(75px,8vw,126px)}
.bloom-growth-copy{min-width:0}
.bloom-eyebrow{color:#698969;display:block;margin-bottom:21px}
.bloom-growth h2,.bloom-code h2{font:650 clamp(48px,5.5vw,98px)/1.02 'DM Sans',Arial,sans-serif;letter-spacing:-.066em;text-wrap:balance}
.bloom-growth h2 em,.bloom-code h2 em{font-style:normal;color:#508257}
.bloom-growth-intro{font:400 16px/1.8 'DM Sans',Arial,sans-serif;color:#57735a;max-width:540px;margin:30px 0 48px}
.bloom-stages{border-top:1px solid #9eb89a;display:grid}
.bloom-stage{color:#56745d;background:transparent;display:grid;grid-template-columns:47px 1fr 24px;gap:14px;text-align:left;align-items:center;border:0;border-bottom:1px solid #9eb89a;padding:23px 14px 23px 0;cursor:pointer;transition:background .3s,padding .3s}
.bloom-stage .stage-name{font:600 clamp(27px,2.6vw,42px)/1.06 'DM Sans',sans-serif;letter-spacing:-.05em;color:#294a32}
.bloom-stage .stage-symbol{font:400 28px 'DM Sans',sans-serif;transition:transform .3s}
.bloom-stage:hover,.bloom-stage[aria-selected=true]{padding-left:13px;background:#e1eddd}
.bloom-stage[aria-selected=true] .stage-symbol{transform:rotate(45deg);color:#ce7759}
.bloom-stage[aria-selected=true] .stage-name{color:#2c7144}
.bloom-growth-visual{position:relative;min-width:0;border:1px solid #b4c9ac;background:#eaf0dc;box-shadow:0 24px 60px #254a3020}
.bloom-visual-chrome{padding:15px 19px;display:flex;justify-content:space-between;gap:13px;border-bottom:1px solid #b7c9ae;color:#56745a;font-size:9px}
.bloom-live-dot{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#d8926c;box-shadow:0 0 12px #e1aa86}
.bloom-garden{height:475px;position:relative;overflow:hidden;display:grid;place-items:center;background:radial-gradient(circle at 55% 40%,#f8f8eb 0%,#e7efdb 75%)}
.bloom-garden:after{content:"";position:absolute;inset:auto -18% -90% -18%;height:115%;background:#d9e4ce;border-radius:50%;opacity:.65}
.garden-rings{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);height:420px;width:420px;z-index:0}
.garden-rings i{position:absolute;inset:0;border:1px dashed #8fae8c55;border-radius:50%;animation:garden-turn 30s linear infinite}
.garden-rings i:nth-child(2){inset:60px;animation-direction:reverse}
.garden-rings i:nth-child(3){inset:125px}
@keyframes garden-turn{to{transform:rotate(360deg)}}
.bloom-plant{width:min(430px,100%);height:420px;position:relative;z-index:2;overflow:visible;filter:drop-shadow(0 15px 9px #628e6030)}
.bloom-stem-path{stroke-dasharray:450;stroke-dashoffset:400;transition:stroke-dashoffset 1.2s cubic-bezier(.25,.7,.35,1)}
.bloom-garden[data-growth="0"] .bloom-stem-path{stroke-dashoffset:394}
.bloom-garden[data-growth="1"] .bloom-stem-path{stroke-dashoffset:240}
.bloom-garden[data-growth="2"] .bloom-stem-path{stroke-dashoffset:93}
.bloom-garden[data-growth="3"] .bloom-stem-path{stroke-dashoffset:0}
.plant-leaf{transform-box:fill-box;transform-origin:bottom right;transition:transform .7s cubic-bezier(.34,1.7,.3,1),opacity .5s;opacity:0;transform:scale(.01)}
.plant-leaf.leaf-two{transform-origin:bottom left}
.bloom-garden[data-growth="1"] .leaf-one,.bloom-garden[data-growth="2"] .leaf-one,.bloom-garden[data-growth="2"] .leaf-two,.bloom-garden[data-growth="3"] .plant-leaf{opacity:1;transform:scale(1)}
.plant-blossom{transform-box:fill-box;transform-origin:center center;opacity:0;transition:transform .9s cubic-bezier(.3,1.4,.25,1),opacity .6s;transform:translate(211px,88px) scale(.05)}
.bloom-garden[data-growth="3"] .plant-blossom{opacity:1;transform:translate(211px,88px) scale(1)}
.bloom-growth-caption{position:absolute;bottom:19px;left:25px;right:25px;display:flex;justify-content:space-between;color:#46624d;z-index:4}
.bloom-growth-caption strong{font-weight:800;font-size:15px}
.bloom-stage-panel{padding:32px 29px 35px;min-height:194px;background:#f5f7eb;border-top:1px solid #b7c9ae;outline-offset:-6px}
.bloom-panel-kicker{color:#c17b58}
.bloom-stage-panel h3{font:600 clamp(26px,3vw,39px)/1.1 'DM Sans',sans-serif;letter-spacing:-.05em;color:#294f38;margin:11px 0}
.bloom-stage-panel p{font:400 14px/1.8 'DM Sans',sans-serif;color:#536e55;max-width:560px;margin:0}
.bloom-code{background:#dfeadb;color:#25482f;padding:0 clamp(22px,5.2vw,100px) clamp(88px,10vw,145px)}
.bloom-code .bloom-section-top{border-color:#95b091}
.bloom-code-title{display:flex;align-items:end;justify-content:space-between;gap:35px;padding:clamp(75px,8vw,118px) 0 60px}
.bloom-code h2{max-width:980px}
.bloom-code-more{display:inline-flex;white-space:nowrap;gap:24px;justify-content:space-between;align-items:center;border-bottom:1px solid #457253;color:#335f40;padding-bottom:12px}
.bloom-code-more span{font-size:28px}
.bloom-project-garden{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.bloom-project{min-height:405px;position:relative;display:flex;flex-direction:column;padding:26px;overflow:hidden;border-radius:29px 29px 92px 29px;background:#eff3e5;border:1px solid #bdd0b6;color:#294d34;transition:transform .4s,box-shadow .35s}
.bloom-project:nth-child(2){background:#e9eedc;border-radius:92px 29px 29px 29px}
.bloom-project:nth-child(3){background:#f7f2e7;border-radius:29px 92px 29px 29px}
.bloom-project:hover,.bloom-project:focus-visible{transform:translateY(-9px);box-shadow:0 24px 50px #34563824}
.bloom-project-top{display:flex;justify-content:space-between;align-items:start;gap:15px}
.bloom-project-top>span:last-child{font:400 32px/1 'DM Sans',sans-serif;color:#cc7758}
.bloom-project-language{border:1px solid #a1b49f;padding:7px 11px;border-radius:40px}
.bloom-project-art{display:grid;place-items:center;flex:1;min-height:140px;color:#c98363;font:400 clamp(100px,12vw,190px)/1 Georgia,serif;transition:transform .5s}
.bloom-project:nth-child(2) .bloom-project-art{color:#6d9f74}
.bloom-project:hover .bloom-project-art{transform:rotate(16deg) scale(1.09)}
.bloom-project-content{display:grid;gap:13px;margin-top:auto}
.bloom-project-content strong{font:600 clamp(24px,2.7vw,43px)/1.04 'DM Sans',sans-serif;letter-spacing:-.06em;overflow-wrap:anywhere}
.bloom-project-content>span{font:400 13px/1.65 'DM Sans',sans-serif;color:#607862;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bloom-project-footnote{color:#56745a;margin-top:25px;opacity:.8}
.page-home .rd-footer-friendly{background:#edf3e8}
.page-home .rd-footer-friendly a:hover{color:#9b6249}
@media(max-width:1050px){
 .bloom-growth-grid{gap:40px}
 .bloom-growth h2,.bloom-code h2{font-size:clamp(46px,5.4vw,68px)}
 .bloom-code-title{display:block}
 .bloom-code-more{margin-top:26px}
 .bloom-project-garden{gap:11px}
 .bloom-project{padding:20px}
}
@media(max-width:780px){
 .bloom-growth{padding-inline:22px}
 .bloom-growth-grid{grid-template-columns:1fr;padding-top:58px}
 .bloom-growth h2,.bloom-code h2{font-size:clamp(49px,8vw,75px)}
 .bloom-growth-intro{margin:22px 0 34px}
 .bloom-growth-visual{max-width:670px;width:100%;margin-inline:auto}
 .bloom-garden{height:430px}
 .bloom-code{padding-inline:22px}
 .bloom-project-garden{grid-template-columns:repeat(2,minmax(0,1fr))}
 .bloom-project:last-child:nth-child(odd){grid-column:1/-1}
 .bloom-project{min-height:350px}
}
@media(max-width:550px){
 .page-home .rd-hero::after{width:90vw;height:90vw}
 .page-home .rd-art-logo{width:85px}
 .page-home .bloom-hero-sprig{font-size:25px}
 .page-home .sprig-a{font-size:35px}
 .bloom-section-top{flex-wrap:wrap;gap:6px;padding-block:15px}
 .bloom-section-number{font-size:9px}
 .bloom-overline{font-size:9px}
 .bloom-growth h2,.bloom-code h2{font-size:clamp(45px,11vw,58px)}
 .bloom-stage{padding-block:15px}
 .bloom-stage .stage-name{font-size:27px}
 .bloom-stage-panel{padding:23px 20px;min-height:205px}
 .bloom-garden{height:330px}
 .bloom-plant{height:310px}
 .garden-rings{height:300px;width:300px}
 .bloom-growth-caption{bottom:11px;left:14px;right:14px}
 .bloom-code-title{padding:60px 0 35px}
 .bloom-project-garden{grid-template-columns:1fr}
 .bloom-project:last-child:nth-child(odd){grid-column:auto}
 .bloom-project{min-height:295px}
 .bloom-project-art{min-height:110px;font-size:105px}
}
@media(max-width:360px){
 .bloom-growth h2,.bloom-code h2{font-size:42px}
 .bloom-stage-panel{min-height:235px}
}
@media(prefers-reduced-motion:reduce){
 .page-home .rd-glass,.page-home .rd-softcard,.bloom-stage,.bloom-project,.bloom-project-art,.plant-blossom,.plant-leaf,.bloom-stem-path,.garden-rings,.bloom-hero-sprig,.page-home .rd-glow,.page-home .rd-hero-copy h1 em::after{animation:none!important;transition:none!important}
 .page-home .rd-hero-copy h1 em::after{transform:scaleX(1)}
}
