.visual-builder-section .contact-form-panel {width:100%;max-width:none}
.project-builder {display:block;padding:0!important}
.builder-progress {display:flex;gap:8px;flex-wrap:wrap;padding:24px;background:#191916;border-top:1px solid #666}
.builder-progress button,.builder-edit {font:inherit;cursor:pointer;padding:10px 18px;border:1px solid #777;background:transparent;color:#fff}
.builder-progress button[aria-current="step"] {background:var(--accent);color:#141414;border-color:var(--accent)}
.builder-step {border:0;border-bottom:1px solid #c8c4bc;margin:0;scroll-margin-top:110px}
.builder-step>summary {display:flex;align-items:center;gap:24px;list-style:none;padding:28px 32px;cursor:pointer;background:#eeeae0}
.builder-step>summary::-webkit-details-marker {display:none}
.builder-step>summary strong {font-family:Sora,sans-serif;font-size:clamp(19px,2vw,25px);display:block}
.builder-step>summary small {display:block;margin-top:6px;color:#5b5852}
.step-number {font:700 28px 'IBM Plex Mono',monospace;color:#df4c12}
.step-indicator {margin-left:auto;font-size:30px}
.builder-step[open]>summary {background:#171714;color:#fff}
.builder-step[open]>summary small {color:#d6d2c9}
.builder-step[open] .step-indicator {transform:rotate(45deg);color:var(--accent)}
.builder-step-body {padding:32px}
.builder-help {max-width:850px;color:#5b5852;margin:0 0 24px}
.builder-fields {display:grid;grid-template-columns:1fr 1fr;gap:24px}
.builder-step-body label {display:block;font-weight:600;margin-top:20px}
.builder-step-body input:not([type=checkbox]):not([type=radio]),.builder-step-body select,.builder-step-body textarea {width:100%;padding:13px;border:1px solid #8f8a80;background:#fffdf7;color:#171714;font:inherit;margin-top:8px;box-sizing:border-box}
.builder-step-body textarea {min-height:120px}
.builder-step-body fieldset {border:0;padding:0;margin:0 0 28px;min-width:0}
.builder-step-body legend {font-weight:700;font-size:20px;margin-bottom:12px}
.builder-next {margin-top:28px}
.builder-choices {display:flex;gap:10px;flex-wrap:wrap}
.builder-choices label {margin:0;display:flex;align-items:center;gap:8px;border:1px solid #aaa69c;padding:12px 16px;cursor:pointer}
.builder-choices label:has(:checked) {background:#ffe0cd;border-color:#ee5b20}
.builder-design-controls {display:grid;grid-template-columns:1.3fr .8fr 1.3fr 1fr;gap:20px;align-items:center;background:#e7e2d7;padding:20px;margin-bottom:20px}
.builder-design-controls label {margin:0}
#palette-preview {display:flex;flex-wrap:wrap;gap:5px}#palette-preview span {height:38px;width:30px;border:1px solid #a19b8b}#palette-preview small {width:100%;font-size:11px}
#font-preview {font-size:38px}#font-preview small {display:block;font-size:13px}
.builder-gallery {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.concept-card {padding:0;text-align:left;border:2px solid #cdc7bb;cursor:pointer;background:#fffdf7;color:#171714;overflow:hidden;font:inherit;transition:transform .2s,box-shadow .2s}
.concept-card[aria-pressed=true] {border-color:#ec591f;box-shadow:0 0 0 2px #ec591f}
.concept-caption {display:block;padding:16px}.concept-caption strong {display:block;font-size:16px}.concept-caption small {display:block;font-size:13px;line-height:1.5;margin:8px 0;color:#656059}.concept-pick {font-size:13px;font-weight:700;color:#b53a0a}
.concept-preview {height:220px;background:var(--preview-bg);color:var(--preview-ink);padding:15px;overflow:hidden;box-sizing:border-box;pointer-events:none}
.mini-nav {display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid currentColor;padding-bottom:10px;font-size:10px}.mini-nav span {font-size:6px}.mini-main {padding-top:18px}.concept-preview h4 {font-size:23px;font-family:inherit;line-height:1.1;letter-spacing:-.04em;margin:0 0 10px;color:inherit}.concept-preview p {font-size:8px;line-height:1.5;margin:7px 0}.mini-cta {display:inline-block;background:var(--preview-accent);color:white;padding:7px;font-size:7px;margin-top:8px}
.mini-art {background:var(--preview-accent);min-height:70px;position:relative;overflow:hidden}.mini-art i {position:absolute;width:80%;aspect-ratio:1;border:18px solid var(--preview-bg);opacity:.65;border-radius:50%;top:25%;left:25%;transform:rotate(-20deg)}
.layout-split .mini-main {display:grid;grid-template-columns:1.1fr 1fr;gap:12px}.layout-split .mini-art {height:145px;border-radius:45% 45% 0 0}.layout-editorial .mini-main>small {display:block;font-size:6px;letter-spacing:.15em;margin-bottom:8px}.editorial-bottom {display:grid;grid-template-columns:1fr 1fr;gap:12px}.editorial-bottom .mini-art {min-height:45px}.layout-editorial h4 {font-size:29px}.mini-products {display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mini-products .mini-art {height:86px}.mini-products b {font-size:6px}.layout-shop h4 {font-size:18px;margin-bottom:15px}.mini-products>div:nth-child(2) .mini-art {opacity:.65}.mini-products>div:nth-child(3) .mini-art i {border-radius:0}
.layout-dashboard .mini-main {display:grid;grid-template-columns:60px 1fr;gap:14px}.layout-dashboard aside {font-size:7px;border-right:1px solid;padding-top:5px}.layout-dashboard h4 {font-size:17px}.mini-metrics {display:flex;gap:14px}.mini-metrics b {font-size:22px}.mini-metrics small {display:block;font-size:6px;font-weight:400}.mini-chart {display:flex;align-items:end;gap:8px;height:65px;margin-top:10px;border-bottom:1px solid}.mini-chart i {width:16%;background:var(--preview-accent);height:45%}.mini-chart i:nth-child(2){height:65%}.mini-chart i:nth-child(3){height:55%}.mini-chart i:nth-child(4){height:80%}.mini-chart i:nth-child(5){height:100%}
.mini-tiles {display:grid;grid-template-columns:1fr 1fr;gap:5px}.mini-tiles>div {padding:6px;min-height:42px}.mini-tiles b {font-size:8px}.mini-tiles .mini-art {min-height:42px}.layout-tiles h4 {font-size:22px}
#shortlist-status {font-weight:700;padding:18px 0;color:#a83b12;scroll-margin-top:110px}.concept-shortlist,.review-concepts {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.concept-shortlist article,.review-concepts article {border:1px solid #b8b0a3;background:#fffdf7}.concept-shortlist h4,.review-concepts h4 {font-size:16px;padding:14px;margin:0}.concept-shortlist button {background:none;border:0;text-decoration:underline;color:#a83b12;cursor:pointer;padding:0 14px 16px;font:inherit;font-size:13px}
.image-directions {display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.image-directions label {border:1px solid #b8b0a3;padding:12px;cursor:pointer;margin:0}.image-directions label:has(:checked) {outline:2px solid var(--accent)}.image-directions strong,.image-directions small {display:block;margin-top:8px}.image-directions small {font-weight:400;font-size:13px;color:#666}.image-direction {display:block;height:115px;background:#e4d9c7;position:relative;overflow:hidden;margin-top:12px}.image-direction i,.image-direction b {position:absolute;display:block}.people i {width:34px;height:34px;border-radius:50%;background:#bc8067;left:42%;top:15px}.people b {width:80px;height:90px;border-radius:45% 45% 0 0;background:#4b665c;left:25%;top:52px}.products i {width:45px;height:75px;background:#748f73;left:25%;top:25px;border-radius:10px}.products b {width:55px;height:55px;background:#d89550;left:50%;top:45px;border-radius:50%}.places {background:#bed0d8}.places i {width:160px;height:130px;background:#52786a;transform:rotate(35deg);top:65px;left:-20px}.places b {width:70px;height:70px;background:#e3c378;border-radius:50%;right:10px;top:10px}.graphics {background:#ddcfe5}.graphics i {width:85px;height:85px;border:20px solid #86699e;border-radius:50%;top:10px;left:20px}.graphics b {width:70px;height:70px;background:#e99b65;transform:rotate(30deg);top:55px;right:5px}
#brief-review dl {display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}#brief-review dl>div {border-bottom:1px solid #ccc4b7;padding:12px 0}#brief-review dt {font-weight:700}#brief-review dd {margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere}.builder-edit {color:#171714;margin-bottom:20px}.builder-step button:focus-visible,.builder-step summary:focus-visible,.builder-progress button:focus-visible {outline:3px solid #2467c9;outline-offset:4px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.concept-card:hover{transform:translateY(-4px);box-shadow:0 9px 20px #19191620}}
@media(max-width:1000px){.builder-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-design-controls{grid-template-columns:1fr 1fr}.image-directions{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.builder-step>summary{padding:20px 16px;gap:12px}.builder-step-body{padding:20px 16px}.builder-fields,.concept-shortlist,.review-concepts,#brief-review dl{grid-template-columns:1fr}.builder-gallery{grid-template-columns:1fr}.builder-progress{padding:16px;gap:6px}.builder-progress button{padding:8px;font-size:13px}.builder-design-controls{padding:12px;gap:12px}.image-directions{gap:10px}.step-number{font-size:22px}.concept-preview{height:230px}.builder-step>summary small{font-size:12px}.builder-step>summary strong{font-size:18px}}
body[data-page='web-development'] .visual-builder-section .contact-form-panel {background:#f4f2eb;color:#191916;border-color:var(--accent)}
.visual-builder-section .builder-step:not([open])>summary {color:#191916}
.visual-builder-section .builder-design-controls {color:#191916}
.visual-builder-section .builder-step-body {background:#f4f2eb;color:#191916}
/* The shared website page uses light helper text on dark panels; this form is light. */
body[data-page='web-development'] .visual-builder-section .builder-step-body .field-help,
body[data-page='web-development'] .visual-builder-section .builder-step-body .builder-help {color:#47443f}
body[data-page='web-development'] .visual-builder-section .builder-step-body .field-error {color:#a62216}
.builder-gallery {grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.concept-card {cursor:default;display:flex;flex-direction:column;border:1px solid #b6afa2}
.concept-card.is-selected {border:2px solid #c7430e;box-shadow:0 0 0 2px #c7430e}
.concept-card.is-muted {opacity:.42;filter:grayscale(1)}
.reference-enlarge {display:block;position:relative;width:100%;padding:0;border:0;background:#ddd8ce;cursor:zoom-in;color:#fff}
.reference-enlarge>span {position:absolute;right:12px;bottom:12px;background:#161616e8;padding:6px 10px;font-size:12px}
.reference-preview {aspect-ratio:4/3;overflow:hidden;background:#e7e2d9;display:grid;place-items:center;min-width:0}
.reference-preview img {display:block;width:100%;height:100%;object-fit:contain}
.reference-fallback {padding:30px;font-size:16px;color:#35312b;line-height:1.5}
.reference-fallback[hidden],.reference-preview img[hidden] {display:none}
.concept-card .concept-caption {padding:22px;display:flex;flex:1;flex-direction:column;align-items:start}
.concept-card .reference-award {font:600 11px 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:#635c52}
.concept-card .concept-caption h3 {font:700 clamp(21px,2vw,27px)/1.2 Sora,sans-serif;letter-spacing:-.03em;margin:10px 0;color:#191916}
.concept-card .concept-caption p {color:#47443f;font-size:15px;margin:0 0 16px;line-height:1.55}
.concept-card .concept-caption a {color:#953009;font-size:13px;text-decoration:underline;text-underline-offset:3px;margin-top:auto}
.builder-step-body .reference-choice {display:flex;align-items:center;gap:12px;border-top:1px solid #d6cfc2;padding-top:18px;width:100%;margin-top:20px;cursor:pointer;color:#191916}
.reference-choice input {appearance:auto;width:23px;height:23px;flex:none;accent-color:#c7430e;margin:0;cursor:pointer}
.reference-choice:has(input:disabled) {cursor:not-allowed}
.concept-shortlist:not(:empty) {margin-top:30px}
.reference-dialog {max-width:min(1000px,94vw);max-height:94vh;width:100%;padding:22px;border:2px solid #f26430;background:#f4f2eb;color:#171714;overflow:auto;box-sizing:border-box}
.reference-dialog::backdrop {background:#000c}
.reference-dialog form {display:flex;justify-content:flex-end;margin:0}
.reference-dialog button {font:inherit;padding:9px 16px;cursor:pointer;background:#191916;color:#fff;border:0}
.reference-dialog h3 {margin:10px 0 18px;font:700 25px Sora,sans-serif}
.reference-dialog .reference-preview {max-height:65vh;aspect-ratio:auto;background:#dedbd4}
.reference-dialog .reference-preview img {max-height:65vh;width:auto;max-width:100%;height:auto}
.reference-dialog a {display:block;margin-top:16px;color:#943009}
@media(max-width:650px){.builder-gallery{grid-template-columns:1fr}.concept-card .concept-caption{padding:18px}.reference-dialog{padding:14px}.reference-preview{aspect-ratio:4/3}}
.builder-meeting {padding:20px 0 24px}.builder-meeting p {max-width:720px}.builder-meeting .cta {margin-top:8px}
.builder-design-controls {grid-template-columns:1fr 1fr;align-items:start;gap:24px}
.builder-design-controls>label[hidden],#palette-preview,#font-preview {display:none!important}
.visual-picker-field {min-width:0}.picker-label {display:block;font-weight:700;margin-bottom:10px}
.visual-picker {position:relative;color:#191916;background:#fffdf7;border:1px solid #8f8a80}
.visual-picker>summary {min-height:88px;padding:12px 38px 12px 14px;list-style:none;cursor:pointer;position:relative}
.visual-picker>summary::-webkit-details-marker {display:none}
.picker-chevron {position:absolute;right:14px;top:35px}.picker-name {display:block;font:600 14px 'IBM Plex Sans',sans-serif;margin-bottom:7px}.picker-default {display:flex;align-items:center;min-height:60px}
.palette-strip {display:flex;width:100%;height:30px;border:1px solid #b7b0a3}.palette-strip i {flex:1;min-width:0;display:block}
.visual-picker-options {position:absolute!important;top:100%;left:-1px;right:-1px;z-index:20;max-height:360px;overflow:auto;background:#fffdf7;border:1px solid #8f8a80!important;box-shadow:0 14px 25px #19191630;margin:0!important;padding:8px!important}
.builder-step-body .visual-picker-options label {display:flex;gap:12px;align-items:center;margin:0;padding:12px;border-bottom:1px solid #e4ddce;cursor:pointer;font-weight:400}
.visual-picker-options label:has(:checked) {background:#fbe5d8}
.visual-picker-options input {width:18px;height:18px;flex:none;accent-color:#b74010}
.picker-option-content {display:block;flex:1;min-width:0}.font-option-example {display:block;font-size:23px;line-height:1.3;overflow-wrap:anywhere}
.visual-picker-options .sr-only {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.photo-email-panel {margin:24px 0;padding:24px;border:1px solid #d35b27;background:#fbe7db}.photo-email-panel h3 {font-size:24px;margin:0 0 12px}.photo-email-panel p {color:#47443f}.photo-email-panel strong {overflow-wrap:anywhere}
.budget-timing-fields .field {display:flex;flex-direction:column}.budget-timing-fields .field>label {margin-top:0}.budget-timing-fields .field>input,.budget-timing-fields .field>select {height:56px;margin-top:auto}.budget-timing-fields .field-error {min-height:20px}
@media(max-width:1000px){body[data-page='web-development'] .app-rocket-flow {align-items:center}body[data-page='web-development'] .app-rocket-flow .phase {width:min(100%,430px);box-sizing:border-box}body[data-page='web-development'] .app-rocket-flow .phase p {max-width:none}body[data-page='web-development'] .app-rocket-flow .method-connector {width:min(100%,430px)}}
@media(max-width:650px){.builder-design-controls{grid-template-columns:1fr}.visual-picker>summary{min-height:88px}.photo-email-panel{padding:18px}.budget-timing-fields .field>input,.budget-timing-fields .field>select{margin-top:8px}}
/* Compact visual browsing on phones; keep text entry comfortably full width. */
@media(max-width:650px){
 .visual-builder-section>.wrap{width:calc(100% - 24px)}
 .builder-step-body{padding:20px 12px}
 .builder-gallery,.concept-shortlist,.review-concepts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .concept-card .concept-caption{padding:12px}
 .concept-card .concept-caption h3{font-size:17px;line-height:1.3;overflow-wrap:anywhere}
 .concept-card .concept-caption p{font-size:13px;line-height:1.45;margin-bottom:10px}
 .concept-card .reference-award{font-size:10px;letter-spacing:0;overflow-wrap:anywhere}
 .concept-card .concept-caption a{font-size:12px;min-height:44px;display:flex;align-items:center;overflow-wrap:anywhere}
 .builder-step-body .reference-choice{gap:8px;font-size:13px;line-height:1.35;padding-top:10px;margin-top:10px;min-height:44px}
 .reference-enlarge>span{right:5px;bottom:5px;padding:4px 6px;font-size:10px}
 .image-directions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .image-directions label{padding:10px;min-width:0}
 .image-directions strong{font-size:15px;line-height:1.3}
 .image-directions small{line-height:1.4}
 .image-direction{height:100px}
 .concept-shortlist h4,.review-concepts h4{font-size:14px;padding:10px;overflow-wrap:anywhere}
 .concept-shortlist button{min-height:44px;padding:8px 10px}
 .builder-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:12px;gap:8px}
 .builder-progress button{min-height:44px;padding:8px 4px}
 .builder-step-body input:not([type=checkbox]):not([type=radio]),.builder-step-body select,.builder-step-body textarea{font-size:16px;min-width:0}
 .builder-fields>*{min-width:0}
 .builder-choices label{min-height:44px;box-sizing:border-box}
 .visual-picker-options{max-height:min(360px,50dvh);overscroll-behavior:contain}
 .visual-picker[open]{z-index:21}
 .builder-meeting .cta,.photo-email-panel .cta{max-width:100%;box-sizing:border-box;white-space:normal}
 .reference-dialog button{min-height:44px}
}
@media(max-width:359px){
 .builder-gallery,.concept-shortlist,.review-concepts{grid-template-columns:1fr}
}
