/* A working botanical composition table, kept separate from the portfolio. */
.scene-enable{position:absolute;right:var(--side);bottom:114px;z-index:6;display:flex;gap:12px;align-items:center;min-height:44px;padding:10px 17px;border:1px solid rgba(238,238,222,.3);border-radius:40px;background:#092c23c9;color:var(--cream);font-size:11px}
.scene-enable .icon{width:16px;height:16px}
.studio-colors{position:absolute;left:38px;top:134px;z-index:5;display:flex;gap:8px}
#studioMount{inset:179px 0 95px}
.studio-colors button{display:flex;align-items:center;gap:9px;min-height:44px;padding:8px 15px;border:1px solid rgba(238,238,222,.25);border-radius:40px;font-size:11px;background:rgba(9,44,35,.45)}
.studio-colors button i{display:block;width:12px;height:12px;border-radius:50%;background:#eee8dc;border:1px solid rgba(255,255,255,.4)}
.studio-colors [data-studio-color="yellow"] i{background:#e3c02b}.studio-colors button.is-active{border-color:var(--gold);color:var(--gold)}
.composition-atelier{background:#e9eadd;padding-top:94px}
.atelier-layout{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(295px,1fr);gap:0;border:1px solid var(--line)}
.garden-stage{position:relative;min-height:650px;overflow:hidden;background:radial-gradient(ellipse at 52% 43%,#30503c 0,#163b2e 46%,#092c23 92%);color:var(--cream);isolation:isolate}
.garden-stage canvas,.garden-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.garden-poster{padding:20px 0;transition:opacity .45s}
.garden-stage canvas{opacity:0;touch-action:pan-y pinch-zoom;cursor:grab;transition:opacity .45s}
.garden-stage canvas:active{cursor:grabbing}
.garden-stage.is-ready canvas{opacity:1}.garden-stage.is-ready .garden-poster{opacity:0;pointer-events:none}
.garden-stage canvas:focus-visible{outline-offset:-7px;outline-color:var(--gold)}
.garden-stage-top,.garden-stage-bottom{position:absolute;left:30px;right:30px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;pointer-events:none}
.garden-stage-top{top:25px;font-size:9px;letter-spacing:.13em;color:#d4d5bf}
.garden-view-controls{display:flex;gap:0;pointer-events:auto;border:1px solid rgba(238,238,222,.26);border-radius:50px;padding:3px}
.garden-view-controls button{min-height:38px;padding:0 13px;font-size:10px;letter-spacing:0;border-radius:50px}
.garden-view-controls button[aria-pressed="true"]{background:var(--cream);color:var(--forest)}
.garden-stage-bottom{bottom:30px}
.garden-stage-bottom>div>span{font:italic 42px/1.1 var(--serif);letter-spacing:-.025em}
.garden-stage-bottom small{display:block;font-size:8px;letter-spacing:.13em;color:#c4cbb9;margin-top:10px}
.garden-orbit-mark{width:42px;height:42px;color:var(--gold);opacity:.8}
.garden-orbit-mark svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:.7}
.garden-enable{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;background:var(--cream);color:var(--forest);border:1px solid var(--gold);border-radius:40px;display:flex;align-items:center;justify-content:center;gap:18px;padding:14px 20px;min-height:48px;white-space:nowrap;font-size:12px;box-shadow:0 12px 45px #051e1840}
.garden-config{padding:34px 30px;background:var(--paper)}
.garden-config legend,.garden-quantity>label{font-size:9px;letter-spacing:.13em;color:var(--muted);margin-bottom:14px;display:block}
.palette-options>button{width:100%;display:flex;align-items:center;gap:13px;min-height:75px;text-align:left;border-bottom:1px solid var(--line);font-size:13px;padding:12px 0}
.palette-options>button small{display:block;font-size:10px;color:var(--muted);margin-top:3px}
.palette-swatch{display:flex;align-items:center;width:51px;flex:none;height:35px}
.palette-swatch i{width:27px;height:27px;border:2px solid var(--paper);border-radius:50%;background:#ece8d7;box-shadow:inset 0 0 0 1px #123b2410}
.palette-swatch i+i{margin-left:-14px}
.palette-swatch i:nth-child(2){background:#5e3373}.palette-swatch.sunlight i:last-child{background:#e2bb37}.palette-swatch.gold i{background:#e2bb37}.palette-swatch.gold i:nth-child(2){background:#463827}.palette-swatch.gold i:last-child{background:#ece8d7}
.palette-selected{margin-left:auto;width:22px;flex:none;color:var(--forest);opacity:0;transition:opacity .2s}.palette-selected .icon{width:19px;height:19px}.palette-options .is-active .palette-selected{opacity:1}
.palette-options>button.is-active>span:nth-child(2){font-weight:600}
.pattern-options{margin-top:28px}.pattern-options>div{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.pattern-options button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:78px;border:1px solid var(--line);font-size:10px;transition:background .2s,color .2s}
.pattern-options button svg{width:48px;height:26px;stroke:currentColor;stroke-width:1;fill:none}
.pattern-options button.is-active{background:var(--forest);color:var(--cream);border-color:var(--forest)}
.garden-quantity{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:27px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.garden-quantity>label{margin:0}.garden-quantity>div{display:flex;align-items:center;gap:7px}.garden-quantity input{width:88px;min-height:44px;border:0;border-bottom:1px solid var(--ink);background:transparent;color:var(--forest);font-size:18px;text-align:right;padding:7px 3px;appearance:textfield;-moz-appearance:textfield}.garden-quantity input::-webkit-inner-spin-button{appearance:none}.garden-quantity>div>span{font-size:11px;color:var(--muted)}
.garden-selection{padding-top:17px}.garden-selection>span{font:25px/1.2 var(--serif)}.garden-selection ul{list-style:none;padding:0;margin:12px 0 19px}.garden-selection li{display:grid;grid-template-columns:31px minmax(0,1fr) auto;gap:8px;align-items:center;font-size:10px;line-height:1.5;min-height:41px}.garden-selection img{width:31px;height:31px;object-fit:contain;mix-blend-mode:multiply}.garden-selection b{font-size:10px;font-weight:400;white-space:nowrap}.garden-config>.solid-button{width:100%;font-size:11px;padding:15px 18px;gap:12px;line-height:1.6}.garden-config>.solid-button .icon{width:18px;height:18px}
.garden-footnote{display:flex;justify-content:space-between;gap:28px;margin-top:17px;font-size:10px;color:var(--muted)}.garden-footnote>p:last-child{text-align:right}
@media(min-width:1700px){.garden-stage{min-height:740px}.garden-config{padding:45px}.palette-options>button{min-height:87px}}
@media(max-width:1100px){.atelier-layout{grid-template-columns:minmax(0,1.6fr) minmax(290px,1fr)}.garden-config{padding:27px 23px}.garden-stage-top,.garden-stage-bottom{left:23px;right:23px}.garden-stage-top{align-items:flex-start;flex-direction:column;gap:13px}.garden-stage{min-height:670px}.garden-stage-top>span{font-size:8px}.garden-stage-bottom>div>span{font-size:35px}}
@media(max-width:900px){.composition-atelier{padding-top:76px}.atelier-layout{display:block}.garden-stage{min-height:0;height:clamp(360px,86vw,600px)}.garden-stage-top{top:20px;flex-direction:row;align-items:center;gap:15px}.garden-stage-top,.garden-stage-bottom{left:20px;right:20px}.garden-stage-top>span{font-size:7px;max-width:130px;line-height:1.7}.garden-view-controls button{min-height:38px;font-size:9px;padding:0 10px}.garden-stage-bottom{bottom:22px}.garden-stage-bottom>div>span{font-size:34px}.garden-stage-bottom small{font-size:7px;margin-top:6px}.garden-orbit-mark{width:35px;height:35px}.garden-config{padding:26px 22px}.garden-config legend,.garden-quantity>label{font-size:10px}.palette-options>button{font-size:14px;min-height:74px}.palette-options>button small{font-size:11px}.palette-swatch{width:56px}.pattern-options button{min-height:85px;font-size:11px}.garden-quantity{margin-top:24px}.garden-quantity input{font-size:18px;width:100px}.garden-selection>span{font-size:29px}.garden-selection li{font-size:12px;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;min-height:45px}.garden-selection img{width:36px;height:36px}.garden-selection b{font-size:12px}.garden-config>.solid-button{font-size:12px;min-height:57px}.garden-footnote{display:block;font-size:11px;line-height:1.8}.garden-footnote>p:last-child{text-align:left;margin-top:4px}}
@media(max-width:900px){.studio-colors{left:24px;top:110px}.studio-colors button{font-size:10px;padding:8px 13px}#studioMount{inset:162px 0 125px}}
@media(max-width:370px){.garden-config{padding:24px 17px}.garden-stage-top,.garden-stage-bottom{left:17px;right:17px}.garden-stage-top>span{max-width:100px;font-size:6px}.garden-view-controls button{padding:0 8px}.garden-config>.solid-button{font-size:11px;padding:14px}.garden-selection li{font-size:11px;gap:7px}.garden-quantity>label{font-size:9px}}
@media(prefers-reduced-motion:reduce){.garden-stage canvas,.garden-poster{transition:none}}
html[data-motion="paused"] .garden-stage canvas,html[data-motion="paused"] .garden-poster{transition:none}
@media print{.garden-stage canvas,.garden-view-controls,.garden-enable{display:none!important}.garden-poster{opacity:1!important}.atelier-layout{display:block}.garden-stage{height:380px;min-height:0}.garden-config{break-inside:avoid}}
/* Comfortable handheld reading; input text also avoids iOS focus zoom. */
@media(max-width:900px){
 .section-heading p,.manifesto-aside p,.advantages p,.visits-heading p,.study-copy p,.service-layout>div>p,.service-list details>p{font-size:15px;line-height:1.85}
 .experience-copy p,.chapter-copy p{font-size:14px;line-height:1.75}
 .hero-cta,.chapter-copy .text-link{font-size:12px}
 .project-portrait strong{font-size:14px}.project-portrait small{font-size:9px}
 .product-info h3{font-size:13px}.product-info>span{font-size:9px}
 .catalog-footnote p,.garden-footnote{font-size:12px;line-height:1.85}
 .footer-top>p,.footer-top>div{font-size:14px}
 .product-detail-copy>p{font-size:15px}.order-item-name{font-size:13px}
 .form-grid input,.form-grid textarea,.form-grid select,.order-item input,.detail-quantity input{font-size:16px}
 .garden-view-controls button,.studio-controls button{min-height:44px}
 .studio-colors{top:111px}
}
@media(max-width:370px){.experience-copy p,.chapter-copy p{font-size:13px}.hero-cta{font-size:11px}.product-info h3{font-size:12px}}
@media(orientation:landscape) and (max-height:520px){.experience-copy p,.chapter-copy p{font-size:11px}}
.footer-contact{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:40px;border-bottom:1px solid var(--line);padding-bottom:54px;margin-bottom:58px}
.footer-contact .eyebrow{color:var(--muted);margin-bottom:21px;font-size:9px}
.footer-phone{font:clamp(39px,4.5vw,70px)/1.1 var(--serif);letter-spacing:-.025em;white-space:nowrap}
.footer-email{font-size:clamp(16px,1.6vw,25px);display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:12px 0;overflow-wrap:anywhere}
.footer-email .icon{width:20px;height:20px}.closing-phone{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:14px;font-size:14px;letter-spacing:.07em;color:var(--cream)}
.request-actions .request-share{grid-column:1/-1}.email-note a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.request-call{display:block;font-size:12px;padding:10px 0 20px;min-height:44px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){.footer-contact{display:block;padding-bottom:32px;margin-bottom:35px}.footer-contact>div+div{margin-top:25px}.footer-contact .eyebrow{font-size:9px;margin-bottom:15px}.footer-phone{font-size:clamp(31px,8.4vw,50px)}.footer-email{font-size:17px;padding:9px 0}.closing-phone{font-size:14px}.request-actions .outline-button{font-size:12px}.menu-dialog nav a{font-size:clamp(25px,6.2vw,40px);line-height:1.5;min-height:48px}}
@media(orientation:landscape) and (max-height:520px){
 .studio-dialog{width:100vw;height:100svh;max-width:100vw;max-height:100svh;margin:0}
 .studio-top{top:16px;left:22px;right:16px}.studio-top>div{width:31vw}
 .studio-top .eyebrow{font-size:7px;letter-spacing:.08em}.studio-top h2{font-size:26px;line-height:1;margin-top:9px}.studio-top h2 em{display:block;margin-top:3px}
 .studio-colors{left:22px;top:105px;gap:5px}.studio-colors button{min-height:44px;font-size:9px;padding:7px 10px;gap:6px}
 #studioMount{inset:18px 12px 18px 36%}
 .studio-bottom{left:22px;right:auto;bottom:16px;width:31vw;gap:8px;flex-direction:column-reverse;align-items:flex-start}
 .studio-bottom p{font-size:10px;line-height:1.6;text-align:left;max-width:none}
 .studio-controls{flex-wrap:wrap;gap:5px}.studio-controls button{min-height:44px;font-size:10px;padding:7px 11px}
}
