/* A photographic working desk. Existing native controls and the single inquiry stay in charge. */
.idea-composer{--idea-paper:#f4f2ea;--idea-ink:#1e1e1e;--idea-orange:#c44328;--idea-line:#c6c5bd;--idea-muted:#585950;padding:clamp(3.5rem,7vw,7rem) 0;background:#fff;color:var(--idea-ink);scroll-margin-top:100px}
.idea-composer [hidden]{display:none!important}
.idea-composer .idea-heading{display:grid;grid-template-columns:1.12fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:end;margin-bottom:clamp(2rem,4vw,3.5rem)}
.studio-openings .idea-composer .idea-heading h2{font-size:clamp(2.1rem,3.8vw,3.75rem);line-height:1.14;letter-spacing:-.025em;margin:0;text-wrap:balance}
.idea-composer .idea-heading>p{max-width:45ch;font-size:1.0625rem;line-height:1.7;margin:0}
.idea-composer .idea-workbench{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:2.5rem clamp(2rem,4vw,4rem);align-items:start}
.idea-composer :is(.idea-format,.idea-space-picker){border:0;padding:0;margin:0;min-width:0}
.idea-composer .idea-format{grid-column:1/-1}
.idea-composer legend{display:flex;gap:.65rem;align-items:center;float:none;font-size:1.1875rem;font-weight:800;line-height:1.45;padding:0;margin:0 0 1rem;font-family:Manrope,sans-serif}
.idea-composer .idea-step-number{display:grid;place-items:center;flex:none;width:1.75rem;height:1.75rem;background:var(--idea-ink);color:#fff;border-radius:50%;font-size:.8125rem;line-height:1;font-variant-numeric:tabular-nums}
.idea-composer .idea-options{display:grid;gap:.75rem}
.idea-composer .idea-project-options{grid-template-columns:repeat(5,minmax(0,1fr))}
.idea-composer .idea-option{position:relative;min-width:0;cursor:pointer;background:var(--idea-paper);color:var(--idea-ink);border:1px solid transparent;border-radius:14px;transition:transform 180ms cubic-bezier(.16,1,.3,1),border-color 180ms ease-out}
.idea-composer .idea-option input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;z-index:2;cursor:pointer}
.idea-composer .idea-option:has(input:focus-visible){outline:3px solid var(--idea-ink);outline-offset:4px}
.idea-composer .idea-option:has(input:checked){background:var(--idea-orange);color:#fff;border-color:var(--idea-orange)}
.idea-composer .idea-project-option{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;align-items:start;gap:1.25rem .6rem;padding:1.15rem;min-height:112px;font-size:1rem;font-weight:800;line-height:1.4}
.idea-composer .idea-project-icon{grid-area:1/1;display:flex}
.idea-composer .idea-project-icon svg{width:25px;height:25px}
.idea-composer .idea-project-option [data-idea-label]{grid-area:2/1/3/-1;align-self:end}
.idea-composer .idea-choice-mark{display:grid;place-items:center;flex:none;width:22px;height:22px;border:1px solid currentColor;border-radius:50%;color:inherit}
.idea-composer .idea-choice-mark svg{width:15px;height:15px;visibility:hidden;stroke-width:2.2}
.idea-composer .idea-project-option .idea-choice-mark{grid-area:1/2}
.idea-composer .idea-option:has(input:checked) .idea-choice-mark svg{visibility:visible}
.idea-composer .idea-project-note{margin:.8rem 0 0;min-height:1.65em;font-size:.9375rem;line-height:1.65;color:var(--idea-muted)}
.idea-composer :is(.idea-controls,.idea-preview-column){min-width:0}
.idea-composer .idea-board{position:relative;padding:0;background:var(--idea-paper);color:var(--idea-ink);border-radius:16px;overflow:hidden}
.idea-composer .idea-print{position:relative;background:var(--idea-paper);color:var(--idea-ink)}
.idea-composer .idea-photo{display:grid;position:relative;aspect-ratio:3/2;width:100%;min-width:0;background:var(--idea-paper)}
.idea-composer .idea-photograph{grid-area:1/1;display:block;position:absolute;inset:0;min-width:0}
.idea-composer .idea-photograph picture{display:block;width:100%;height:100%}
.idea-composer .idea-photograph img{display:block;width:100%;height:100%;max-height:none;object-fit:contain;background:var(--idea-paper)}
.idea-composer .idea-photo-back{grid-area:1/1;display:flex;position:absolute;inset:0;align-items:center;justify-content:center;flex-direction:column;gap:1rem;padding:1.5rem;background:var(--idea-orange);color:#fff;text-align:center}
.idea-composer .idea-location-number{font-family:"Greater Theory",sans-serif;font-size:clamp(3.25rem,6.2vw,6rem);line-height:1.1;letter-spacing:-.025em}
.idea-composer .idea-photo-back p{margin:0;color:inherit;font-size:1rem;line-height:1.5}
.idea-composer .idea-caption{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.25rem;font-size:1.0625rem;font-weight:800;line-height:1.5}
.idea-composer button,.idea-entry{font-family:inherit}
.idea-composer svg,.idea-entry svg{width:21px;height:21px;flex:none;vertical-align:middle}
.idea-composer :is(.idea-flip,.idea-save,.idea-reset){display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.35rem 0;border:0;background:transparent;color:var(--idea-ink);font-size:.875rem;font-weight:700;line-height:1.5;text-decoration:underline;text-underline-offset:5px;cursor:pointer}
.idea-composer .idea-flip{flex:none}
.idea-composer .idea-stamp-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:0 1.25rem 1rem}
.idea-composer .idea-stamp-note{margin:0;max-width:31ch;font-size:.875rem;line-height:1.6;color:var(--idea-muted)}
.idea-composer .idea-stamp{position:relative;display:grid;place-items:center;flex:none;width:62px;height:62px;padding:0;border:0;border-radius:50%;background:transparent;color:#ad351d;transform:rotate(-8deg);cursor:pointer;white-space:nowrap;overflow-wrap:normal}
.idea-composer .idea-stamp>svg{position:absolute;inset:0;width:100%;height:100%;stroke:currentColor;stroke-width:1.6}
.idea-composer .idea-stamp>span{position:relative;font-family:"Greater Theory",sans-serif;font-size:.875rem}
.idea-composer[data-stamped="true"] .idea-stamp{background:var(--idea-orange);color:#fff}
.idea-composer .idea-preview-tools{display:flex;justify-content:flex-end;margin:.5rem .15rem 0}
.idea-composer .idea-save[aria-busy="true"]{cursor:progress;text-decoration-style:dotted}
.idea-composer .idea-field-help{font-size:.9375rem;line-height:1.6;margin:0 0 1.25rem;max-width:54ch}
.idea-composer .idea-room-options{grid-template-columns:repeat(2,minmax(0,1fr))}
.idea-composer .idea-room-option{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"photo photo" "copy mark";grid-template-rows:auto 1fr;gap:.85rem .4rem;padding:.5rem .5rem 1rem;align-items:start}
.idea-composer .idea-room-photo{display:block;grid-area:photo;position:relative;width:100%;aspect-ratio:3/2;min-width:0;background:var(--idea-paper);border-radius:9px;overflow:hidden}
.idea-composer .idea-room-photo picture{display:block;width:100%;height:100%}
.idea-composer .idea-room-photo img{display:block;width:100%;height:100%;object-fit:contain;border-radius:0;max-height:none}
.idea-composer .idea-room-copy{grid-area:copy;display:grid;gap:.3rem;min-width:0;padding:0 0 0 .4rem;font-size:1rem;font-weight:800;line-height:1.4}
.idea-composer .idea-room-description{display:block;font-size:.875rem;font-weight:500;line-height:1.55}
.idea-composer .idea-room-option .idea-choice-mark{grid-area:mark;width:20px;height:20px;margin:.1rem .3rem 0 0;border-radius:5px}
.idea-composer .idea-selection-help{display:flex;align-items:start;flex-wrap:wrap;gap:.25rem 1rem;margin:1rem 0 0}
.idea-composer .idea-selection-help p{flex:1 1 220px;margin:0;font-size:.875rem;line-height:1.65;color:var(--idea-muted)}
.idea-composer .idea-reset{font-size:.875rem;margin-top:-.5rem}
.idea-composer .idea-reset svg{width:17px;height:17px}
.idea-composer .idea-bottom{display:grid;gap:1.1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--idea-line)}
.studio-openings .idea-composer .idea-brief h3{font-family:Manrope,sans-serif;text-transform:none;letter-spacing:0;font-size:1.125rem;font-weight:800;line-height:1.4;margin:0 0 .5rem}
.idea-composer .idea-brief>p{font-size:.9375rem;line-height:1.7;margin:0;white-space:pre-line}
.idea-composer .idea-brief .idea-existing{margin-top:.75rem;font-size:.875rem;color:#853621}
.idea-composer .idea-actions{display:grid;gap:.6rem;min-width:0}
.idea-composer .idea-actions .button{width:100%;max-width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.25rem;min-height:60px;background:var(--idea-orange);color:#fff;border:0;border-radius:12px;white-space:normal;font-size:1rem;line-height:1.5;transition:transform 180ms cubic-bezier(.16,1,.3,1)}
.idea-composer .idea-action-help{font-size:.875rem;line-height:1.6;margin:0;color:var(--idea-muted)}
.idea-composer .idea-secondary{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1.5rem}
.idea-composer :is(.idea-direct,.idea-viewing){display:inline-flex;align-items:center;gap:.5rem;min-height:44px;color:var(--idea-ink);font-size:.9375rem;font-weight:700;text-decoration:underline;text-underline-offset:5px;line-height:1.6}
.idea-composer .idea-viewing{margin:0 1.25rem .75rem}
.idea-composer .idea-scope-note{margin:1rem 0 0;max-width:57ch;font-size:.875rem;line-height:1.65;color:var(--idea-muted)}
.idea-composer .idea-feedback{font-size:.9375rem;line-height:1.7;margin:1.5rem 0 0;max-width:70ch}
.idea-composer .idea-feedback:empty{display:none}
.idea-composer .idea-fallback{margin-top:1.5rem}
.idea-composer .idea-fallback p{max-width:58ch}
.idea-composer:not(.idea-ready) .idea-workbench{grid-template-columns:minmax(0,760px)}
.idea-composer :is(button,a):focus-visible{outline:3px solid var(--idea-ink);outline-offset:4px}
.idea-composer ::selection{background:var(--idea-ink);color:#fff}
.idea-entry{display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem}
#idea-inquiry-note{font-size:.9375rem;line-height:1.65;background:#f4f2ea;color:#1e1e1e;padding:1rem;margin:0 0 1rem}
@media(hover:hover){
 .idea-composer .idea-option:hover{border-color:var(--idea-ink);transform:translateY(-2px)}
 .idea-composer .idea-actions .button:hover{background:var(--idea-ink);color:#fff;transform:translateY(-2px)}
 .idea-composer :is(.idea-flip,.idea-save,.idea-direct,.idea-reset,.idea-viewing):hover{text-decoration-thickness:2px}
}
@media(max-width:1100px){
 .idea-composer .idea-workbench{gap:2rem}
 .idea-composer .idea-project-option{padding:1rem .8rem}
 .idea-composer .idea-room-copy{font-size:.9375rem}
}
@media(min-width:1200px) and (min-height:900px){
 .idea-composer .idea-preview-column{position:sticky;top:100px}
}
@media(max-width:959px){
 .idea-composer .idea-heading{grid-template-columns:1fr;gap:1.25rem}
 .idea-composer .idea-workbench{grid-template-columns:minmax(0,1fr);gap:1.75rem}
 .idea-composer .idea-heading>p{max-width:56ch}
 .idea-composer :is(.idea-preview-column,.idea-controls){width:100%;max-width:720px;justify-self:center}
 .idea-composer .idea-caption{font-size:1rem}
}
@media(max-width:600px){
 .idea-composer .idea-project-options{grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem}
 .idea-composer .idea-project-option{grid-column:span 2;padding:.8rem .7rem;min-height:104px;gap:1rem .3rem;font-size:.875rem}
 .idea-composer .idea-project-option:nth-child(n+4){grid-column:span 3}
 .idea-composer .idea-project-icon svg{width:23px;height:23px}
 .idea-composer .idea-choice-mark{width:19px;height:19px}
 .idea-composer .idea-project-note{font-size:.875rem;min-height:3.3em}
 .idea-composer legend{font-size:1.0625rem;gap:.6rem}
 .idea-composer .idea-photo{aspect-ratio:3/2}
 .idea-composer .idea-caption{padding:.65rem 1rem;align-items:flex-start;gap:.6rem}
 .idea-composer .idea-caption>span{padding-top:.5rem}
 .idea-composer .idea-flip{font-size:.8125rem;gap:.3rem}
 .idea-composer .idea-stamp-row{padding:0 1rem .8rem}
 .idea-composer .idea-stamp{width:54px;height:54px}
 .idea-composer .idea-stamp-note{font-size:.8125rem}
 .idea-composer .idea-room-options{gap:.6rem}
 .idea-composer .idea-room-option{padding:.35rem .35rem .85rem;gap:.7rem .3rem}
 .idea-composer .idea-room-copy{padding-left:.25rem;font-size:.9375rem}
 .idea-composer .idea-room-description{font-size:.8125rem}
 .idea-composer .idea-room-option .idea-choice-mark{width:18px;height:18px;margin-right:.2rem}
 .idea-composer .idea-location-number{font-size:3rem}
 .idea-composer .idea-photo-back{gap:.6rem;padding:1rem}
 .idea-composer .idea-photo-back p{font-size:.9375rem}
}
html[data-studio-large-type] .idea-composer :is(.idea-heading,.idea-workbench){grid-template-columns:minmax(0,1fr)}
html[data-studio-large-type] .idea-composer .idea-project-options{grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-studio-large-type] .idea-composer .idea-project-option{grid-column:auto;min-height:0;padding:1rem;font-size:1rem}
html[data-studio-large-type] .idea-composer .idea-project-option:last-child{grid-column:1/-1}
html[data-studio-large-type] .idea-composer .idea-project-note{min-height:0}
html[data-studio-large-type] .idea-composer .idea-photo{min-height:22rem}
html[data-studio-large-type] .idea-composer .idea-photo-back{position:relative;min-height:22rem}
html[data-studio-large-type] .idea-composer .idea-caption{flex-wrap:wrap}
html[data-studio-large-type] .idea-composer .idea-preview-column{position:static}
html[data-studio-large-type] .idea-composer .idea-stamp{width:4.5rem;height:4.5rem}
html[data-studio-large-type] .idea-composer .idea-choice-mark{width:1.25rem;height:1.25rem}
@media(max-width:800px){
 html[data-studio-large-type] .idea-composer :is(.idea-project-options,.idea-room-options){grid-template-columns:minmax(0,1fr)}
 html[data-studio-large-type] .idea-composer .idea-project-option{grid-column:auto;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto;align-items:center;gap:.65rem}
 html[data-studio-large-type] .idea-composer .idea-project-option [data-idea-label]{grid-area:1/2}
 html[data-studio-large-type] .idea-composer .idea-project-option .idea-choice-mark{grid-area:1/3}
}
@media(prefers-reduced-motion:reduce){.idea-composer :is(.idea-option,.idea-actions .button){transition:none;transform:none}}
