/* GC Construction — V8 interactive platform */
:root{--ink:#192321;--paper:#f5f3ee;--sand:#c9a87b;--muted:#737976;--line:#d9d7d0}*{box-sizing:border-box}html{scroll-behavior:smooth}.platform-body{background:var(--paper);color:var(--ink);font-family:'Manrope','DM Sans',Arial,sans-serif;line-height:1.55;margin:0}.platform-body button,.platform-body input,.platform-body select,.platform-body textarea{font:inherit}.platform-body button{cursor:pointer}.platform-body a{text-decoration:none}.platform-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px clamp(22px,5vw,90px);background:#f7f5f0;position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line)}.platform-brand{color:var(--ink);font-size:28px;font-weight:800;letter-spacing:-3px;white-space:nowrap}.platform-brand span{color:var(--sand)}.platform-brand small{font-size:10px;letter-spacing:3px;margin-left:9px;font-weight:600}.platform-nav nav{display:flex;gap:clamp(10px,2vw,35px);align-items:center}.platform-nav nav a{color:var(--ink);font-size:12px;letter-spacing:.04em}.platform-nav nav a:hover{color:#8d714b}.platform-lang,.platform-outline{background:transparent;border:1px solid #bcbdb7;padding:11px 17px;color:var(--ink)}.platform-hero,.portal-hero{min-height:510px;display:grid;grid-template-columns:1fr 1fr;background:#1d2726;color:#fff}.platform-hero-text,.portal-hero>div{padding:clamp(40px,6vw,110px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.platform-hero img,.portal-hero img{width:100%;height:100%;object-fit:cover;max-height:680px}.platform-overline{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:#ae997b}.platform-hero h1,.portal-hero h1{font-size:clamp(42px,5vw,78px);font-weight:400;line-height:1.1;letter-spacing:-.05em;margin:20px 0}.platform-body em{font-family:Georgia,serif;font-weight:400}.platform-hero p,.portal-hero p{max-width:530px;font-size:15px;color:#e1e0da;line-height:1.8}.platform-button{background:#c9aa7f;color:#17211e;border:0;display:inline-block;padding:17px 25px;margin-top:20px;font-size:12px;font-weight:700;letter-spacing:.07em;transition:transform .2s,background .2s}.platform-button:hover{transform:translateY(-2px);background:#e0c397}.platform-button.dark{background:#25312d;color:#fff}.platform-button.dark:hover{background:#425348}.platform-section{padding:clamp(55px,7vw,110px) clamp(22px,5vw,90px)}.platform-section-head{max-width:800px;margin-bottom:40px}.platform-section-head h2,.auth-copy h2,.platform-cta h2{font-size:clamp(34px,4vw,62px);font-weight:400;line-height:1.15;letter-spacing:-.045em;margin:17px 0}.platform-section-head p{color:#606862;font-size:15px;max-width:700px}.vision-layout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:32px;align-items:start}.vision-controls,.platform-form{display:grid;gap:22px}.vision-controls{padding:32px;background:#e9e6de;border:1px solid var(--line)}.vision-controls label,.platform-form label{display:grid;gap:9px;font-size:12px;font-weight:650;letter-spacing:.02em}.vision-controls select,.platform-form select,.platform-form input,.platform-form textarea{width:100%;background:#f8f7f3;border:1px solid #cac9c2;color:var(--ink);padding:12px;min-width:0}.vision-controls input[type=range]{width:100%;accent-color:#ab8a5d}.range-line{display:flex;gap:10px;align-items:center}.range-line output{font-size:14px;font-weight:700;white-space:nowrap}.check-line{display:flex;flex-wrap:wrap;gap:18px}.check-line label{display:flex;align-items:center;gap:8px}.check-line input{accent-color:#6b7869}.vision-stage{background:#fff;min-width:0}.stage-label,.stage-bottom{padding:14px 20px;display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.1em;color:#656a67}.vision-stage svg{width:100%;height:auto;display:block}.stage-bottom{border-bottom:1px solid var(--line)}.estimate{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:25px}.estimate small{display:block;color:#737a76;font-size:11px;letter-spacing:.05em}.estimate strong{display:block;font-size:clamp(28px,3vw,43px);letter-spacing:-.05em;margin-top:8px}.estimate p{font-size:11px;color:#777e78;line-height:1.65}.xray-section{background:#e9e7df}.xray-wrap{background:#f9f8f4;padding:22px}.xray-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.xray-tabs button,.auth-switch button{border:1px solid #c6c5be;background:transparent;padding:11px 17px;font-size:12px}.xray-tabs button.active,.auth-switch button.active{background:#25312d;color:white;border-color:#25312d}.xray-view{height:clamp(270px,46vw,650px);position:relative;overflow:hidden;background:#152a32}.xray-finished,.xray-overlay{position:absolute;inset:0}.xray-finished img{height:100%;width:100%;object-fit:cover}.xray-overlay{clip-path:inset(0 45% 0 0)}.xray-overlay svg{width:100%;height:100%;display:block}.xray-handle{position:absolute;top:0;bottom:0;left:55%;width:2px;background:#fff;transform:translateX(-50%);pointer-events:none}.xray-handle span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;background:#fff;width:47px;height:47px;display:grid;place-items:center;color:#25312d;font-size:22px;box-shadow:0 4px 15px #0005}.xray-slider-row{display:flex;align-items:center;gap:16px;padding:20px 2px 5px;font-size:11px}.xray-slider-row input{flex:1;accent-color:#a88963}.xray-description{font-size:14px;color:#4e5854;min-height:45px;margin:18px 0 0}.platform-cta{background:#202c29;color:#fff;padding:80px clamp(22px,5vw,90px)}.platform-cta>span{color:#bca17c;font-size:12px;letter-spacing:.2em}.platform-cta h2{max-width:850px}.platform-cta p{color:#c8cbc6}.platform-footer{padding:25px clamp(22px,5vw,90px);background:#141c1a;color:#bbb;font-size:12px;display:flex;justify-content:space-between}.platform-footer a{color:#fff}.portal-hero{min-height:340px}.portal-hero h1{font-size:clamp(40px,5vw,68px)}.portal-content{min-height:500px}.portal-status{margin-bottom:18px;font-size:13px;color:#3d6754}.portal-status.error{color:#9e3c36}.demo-banner{background:#e4d9c5;border-left:4px solid #b79565;padding:20px 25px;margin-bottom:35px}.demo-banner strong{font-size:12px;letter-spacing:.13em}.demo-banner p{font-size:13px;margin:7px 0 0;color:#555e59}.auth-shell{display:grid;grid-template-columns:1fr 1fr;gap:55px;max-width:1100px;margin:auto}.auth-copy p{max-width:500px;color:#737b76}.platform-form{padding:28px;background:#fff;border:1px solid var(--line)}.auth-switch{display:flex;gap:8px}.auth-switch button{flex:1}.form-note{font-size:11px;color:#737c75;line-height:1.5}.dashboard-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:30px}.dashboard-heading h2{font-size:clamp(28px,3vw,45px);font-weight:400;margin:8px 0}.dashboard-heading p{font-size:13px;color:#737b75}.admin-panel{padding:25px;background:#e8e5dc;margin-bottom:30px}.admin-panel h3{font-weight:500}.platform-form.compact{grid-template-columns:repeat(3,minmax(0,1fr));background:transparent;border:0;padding:10px 0 20px;align-items:end}.platform-form.compact .platform-button{margin:0}.project-grid-live{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-bottom:38px}.live-project{padding:27px;text-align:left;border:1px solid #d7d3c9;background:#fff;min-height:190px;display:flex;flex-direction:column;align-items:flex-start;color:var(--ink)}button.live-project:hover{border-color:#a88a60}.live-project h3{font-size:23px;font-weight:400;margin:13px 0 3px}.live-project p{font-size:12px;color:#737b75}.live-project strong{font-size:24px}.project-open{margin-top:auto;font-size:12px;color:#8c7758}.timeline-section{border-top:1px solid var(--line);padding-top:28px}.detail-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:25px}.detail-heading h3{font-size:clamp(25px,3vw,40px);font-weight:400;margin:10px 0}.detail-heading p{color:#737b75}.progress-ring{border:3px solid #c7aa7c;border-radius:50%;height:105px;width:105px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.progress-ring strong{font-size:24px}.progress-ring small{font-size:10px}.upload-form{max-width:760px;margin-bottom:30px;grid-template-columns:repeat(2,minmax(0,1fr))}.upload-form h3,.upload-form label:nth-of-type(2){grid-column:1/-1}.upload-form .platform-button{grid-column:1/-1}.updates-live{display:grid;gap:16px;max-width:900px}.update-card{background:#fff;border:1px solid var(--line);padding:25px}.update-head{display:flex;gap:15px;align-items:center;justify-content:space-between;flex-wrap:wrap}.update-head time{font-size:12px;color:#747b76}.update-head strong{font-size:20px}.update-card p{font-size:14px;white-space:pre-wrap}.update-image{width:100%;max-height:490px;object-fit:cover;margin-top:10px}.empty-state{color:#6c746e;padding:20px 0;font-size:14px}
@media(max-width:850px){.platform-nav{flex-wrap:wrap}.platform-nav nav{order:3;width:100%;overflow-x:auto;white-space:nowrap;padding-bottom:5px}.platform-hero,.portal-hero{grid-template-columns:1fr}.platform-hero img,.portal-hero img{height:300px}.platform-hero-text,.portal-hero>div{padding:50px 25px}.vision-layout,.auth-shell{grid-template-columns:1fr}.estimate{grid-template-columns:1fr}.platform-form.compact{grid-template-columns:1fr}.xray-wrap{padding:12px}.xray-tabs button{flex:1}.upload-form{grid-template-columns:1fr}.upload-form h3,.upload-form label:nth-of-type(2),.upload-form .platform-button{grid-column:auto}}

/* V9 / GC VISION AI */
.vision-ai-input{display:grid;gap:13px;border-top:1px solid #ccc8bd;padding-top:23px}.vision-eyebrow{font-size:10px;letter-spacing:.16em;color:#907650;font-weight:800}.vision-ai-input textarea{width:100%;resize:vertical;min-height:135px;border:1px solid #c8c6bf;background:#faf9f5;color:#1d2825;padding:13px;line-height:1.6}.vision-prompt-hint{text-align:right;font-size:10px;color:#757970;margin-top:-11px}.vision-consent{display:flex!important;flex-direction:row;align-items:flex-start;gap:10px!important;font-weight:400!important;line-height:1.6}.vision-consent input{margin-top:3px;accent-color:#8e7654}.vision-generate{width:100%;margin-top:0}.vision-generate:disabled{opacity:.55;cursor:wait;transform:none}.vision-ai-status{margin:0;color:#6c716b;font-size:11px;line-height:1.65}.vision-ai-status.error{color:#a04135}.vision-ai-status.success{color:#347255}.vision-visual{position:relative;aspect-ratio:980/620;background:#e1e0d8}.vision-visual svg,.vision-ai-image{width:100%;height:100%;object-fit:cover;display:block}.vision-ai-image[hidden],.vision-ai-actions[hidden],.vision-ai-placeholder[hidden]{display:none!important}.vision-ai-image{position:absolute;inset:0}.vision-ai-actions{display:flex;flex-wrap:wrap;gap:12px;padding:0 20px 18px}.vision-ai-actions a,.vision-ai-actions button{font-size:11px}.estimate-breakdown{margin-top:22px;display:grid;gap:9px}.estimate-breakdown>div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #e7e5df;padding-bottom:9px}.estimate-breakdown span{font-size:11px;color:#606963}.estimate-breakdown b{font-size:12px;text-align:right;white-space:nowrap}.estimate{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media(max-width:600px){.vision-visual{aspect-ratio:4/3}.estimate{grid-template-columns:1fr}}
.vision-dimensions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vision-dimensions input{width:100%;padding:12px;background:#f8f7f3;border:1px solid #cac9c2;color:#192321;min-width:0}

/* V10: explicit interactive portal preview */
.demo-login{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;background:#eae6dc;padding:clamp(24px,4vw,55px);margin-bottom:28px;border:1px solid #d6d0c2}
.demo-login[hidden]{display:none}.demo-login h2{font-size:clamp(27px,3vw,46px);font-weight:400;letter-spacing:-.04em;line-height:1.2;margin:12px 0}.demo-login p{color:#667069;font-size:13px;max-width:570px;line-height:1.8}.demo-login-actions{display:grid;gap:12px}.demo-login-actions button{text-align:center;min-height:50px}.demo-selected{border:2px solid #ad8958!important}
@media(max-width:750px){.demo-login{grid-template-columns:1fr}}

/* V11: HTML hidden attribute must override layout display rules. */
.platform-body [hidden] { display: none !important; }

/* V12: request-based online designer */
.vision-controls{gap:20px}.vision-ai-input input:not([type=checkbox]){width:100%;padding:12px;border:1px solid #cac9c2;background:#f8f7f3;color:#192321}.designer-contact-heading{padding-top:12px;border-top:1px solid #d2cfc5}.designer-contact-heading strong{font-size:17px;font-weight:600}.designer-contact-heading p{font-size:11px;color:#69736e;line-height:1.7;margin:7px 0 0}.designer-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.designer-save{margin-top:0;width:100%;font-size:12px}.vision-controls .vision-generate{font-size:12px;letter-spacing:0}.vision-ai-status{font-size:12px}.vision-controls .vision-consent{font-size:11px!important}.vision-controls input:focus-visible,.vision-controls textarea:focus-visible,.vision-controls select:focus-visible{outline:2px solid #a98c62;outline-offset:2px}

/* V13 — floor plan attachment */
.designer-plan-upload{display:grid;gap:11px;padding:18px;background:#f7f5ee;border:1px solid #d0c9ba;border-left:3px solid #b49a71}.designer-plan-upload label{gap:9px}.vision-controls .designer-plan-upload input[type=file]{width:100%;min-width:0;background:#fff;border:1px dashed #a9a99f;padding:13px;font-size:12px;cursor:pointer}.designer-plan-upload input[type=file]::file-selector-button{background:#293b34;border:0;color:#fff;padding:10px 12px;margin-right:12px;cursor:pointer}.designer-plan-status{margin:0;font-size:11px;line-height:1.5;color:#456c56;overflow-wrap:anywhere}.designer-plan-status.error{color:#a04135}.designer-plan-upload .form-note{margin:0}

/* V14: company details on the designer and client portal */
.gc-platform-contact{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;margin:0 0 15px;font-size:13px;line-height:1.8}
.gc-platform-contact a{color:inherit;text-decoration:underline;text-decoration-color:#c9aa7f;text-underline-offset:4px}
