/* Gemformia inquiry forms: a quiet studio palette, clear labels and generous touch targets. */
.quote-form.form-studio{--form-green:#153e35;--form-ink:#233c33;--form-line:#d7ded7;color:var(--form-ink);background:#fffefa;border:1px solid #dce1d6;border-radius:20px;box-shadow:0 18px 48px #0b2c2310;padding:36px;position:relative;min-width:0;overflow:hidden}
.quote-form.form-studio::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#b49b68,#dfd3b4 45%,#c6d6c7)}
.form-studio .form-heading{display:flex;align-items:flex-start;gap:18px;padding:0 0 25px;margin:0 0 26px;border-bottom:1px solid #e3e7de}
.form-studio .form-heading>div{min-width:0}.form-studio .form-heading .eyebrow{font:700 10px/1.6 var(--sans);letter-spacing:.13em;color:#68775f;margin:0 0 10px;display:block}
.form-studio .form-heading h2,.form-studio .form-heading h3{font-family:var(--sans);font-size:clamp(25px,2.4vw,34px);line-height:1.2;letter-spacing:-.035em;font-weight:650;color:#153e35;margin:0 0 10px}
.form-studio .form-heading h2 em{font-family:Georgia,serif;font-weight:400}
.form-studio .form-heading p:not(.eyebrow){color:#5c695e;font-size:14px;line-height:1.65;text-align:left;margin:0;max-width:46ch}
.form-emblem{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border:1px solid #d9dfcf;background:#f1f4eb;border-radius:14px;color:#7b734f}
.form-emblem svg{width:27px;height:27px;stroke:currentColor;stroke-width:1.1}
.form-studio .form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px;min-width:0}
.form-studio .form-fields label{display:block;min-width:0;margin:0;font:600 13px/1.5 var(--sans);color:#29483c}
.form-studio .field-label{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;min-height:20px}
.form-studio .optional{font-size:11px;font-weight:450;color:#67756a;margin-left:3px}.form-studio .field-required{color:#738265;font-size:13px}
.form-studio .field-phone,.form-studio .field-message{grid-column:1/-1}
.quote-form.form-studio input:not([type=hidden]):not([name=website]),.quote-form.form-studio textarea{background:#f7f8f3;border:1px solid #cad5ca;border-radius:9px;box-shadow:inset 0 1px 2px #153e3503;color:#20392f;width:100%;font:450 16px/1.55 var(--sans);padding:13px 15px;min-height:52px;margin:8px 0 0;transition:border-color .18s,box-shadow .18s,background .18s}
.quote-form.form-studio input::placeholder,.quote-form.form-studio textarea::placeholder{color:#748074;font-size:14px;opacity:1;font-weight:400}
.quote-form.form-studio textarea{min-height:132px;height:auto;resize:vertical;max-height:480px}
.quote-form.form-studio input:not([type=hidden]):hover,.quote-form.form-studio textarea:hover{border-color:#9eaf9e}
.quote-form.form-studio input:not([type=hidden]):focus,.quote-form.form-studio textarea:focus{outline:2px solid #3c6853;outline-offset:2px;background:#fff;box-shadow:0 0 0 5px #dfe9db66;border-color:#51755d}
.form-studio .inquiry-context-note{grid-column:1/-1;background:#edf2e8;border-left:2px solid #a9b990;border-radius:0 6px 6px 0;padding:9px 12px!important;font-size:12px!important;color:#486044!important;margin:0!important;line-height:1.6!important;overflow-wrap:anywhere}
.form-studio .form-footer{margin-top:18px;min-width:0}
.form-studio .form-required-note{font-size:11px;line-height:1.6;color:#69766a;margin:0 0 16px}
.form-studio .form-timing{border:0;border-top:1px solid #e2e7dc;border-bottom:1px solid #e2e7dc;margin:0 0 18px}
.form-studio .form-timing summary{padding:11px 0;font-size:12px;line-height:1.6;color:#486044;gap:15px;min-height:44px;display:flex;align-items:center;justify-content:space-between}
.form-studio .form-timing summary>span{font-size:20px;font-weight:400;line-height:1}.form-studio .form-timing[open] summary>span{transform:rotate(45deg)}
.form-studio .form-timing p{color:#5d6d60;font-size:12px;line-height:1.8;padding:0 12px 16px 0;margin:0}
.quote-form.form-studio .privacy-note{font-size:11px;line-height:1.75;color:#677468;margin:0 0 18px;max-width:none}
.form-studio .privacy-note a{text-decoration:underline;text-underline-offset:3px;color:#294e3c;font-weight:600}
.quote-form.form-studio .form-submit{width:100%;min-height:54px;border-radius:9px;padding:11px 13px 11px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;font:650 15px/1.5 var(--sans);color:#fff;background:#153e35;border:1px solid #153e35;box-shadow:0 5px 14px #153e3512;transition:background .2s,box-shadow .2s;grid-column:auto}
.quote-form.form-studio .form-submit:hover{background:#245a46;border-color:#245a46;transform:none;box-shadow:0 6px 20px #153e3520}
.form-studio .form-button-icon{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:50%;border:1px solid #ffffff50;background:#ffffff0d;font-size:19px;line-height:1}
.form-studio .form-submit:disabled .form-button-icon{font-size:0;border:2px solid #ffffff50;border-top-color:#fff;animation:form-spin .8s linear infinite;background:none}
.form-studio .form-status:empty{display:none!important}.form-studio .form-status:not(:empty){margin:14px 0 0;padding:12px 14px;border-radius:8px;background:#edf2e8;font-size:13px;line-height:1.7;color:#294e3c}.form-studio .form-status.error{background:#fff1ed;border:1px solid #e9c6bd;color:#8b3327}
.quote-form.form-studio .form-note{font-size:12px;line-height:1.8;color:#69766a;margin:17px 0 0;text-align:center}
.form-studio .form-note a{color:#294e3c;font-weight:650;display:inline-flex;align-items:center;gap:8px;text-decoration:underline;text-underline-offset:4px;padding:5px 0;min-height:36px}
.hero.hero-factory .hero-inquiry{padding:44px 6%;background:#f4f3ec}
#banner-inquiry-form.form-studio{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.6fr);gap:0 42px;max-width:1200px;margin:0 auto;padding:36px;align-items:start}
#banner-inquiry-form .banner-form-heading{grid-column:1;grid-row:1/4;display:flex;flex-direction:column;gap:22px;border:0;margin:0;padding:0}
#banner-inquiry-form .banner-form-heading h2{font-size:clamp(30px,2.8vw,40px);line-height:1.15;max-width:13ch}
#banner-inquiry-form .banner-form-heading .eyebrow{font-size:10px;line-height:1.7;letter-spacing:.09em;max-width:24ch}
#banner-inquiry-form>.inquiry-context-note{grid-column:2!important;grid-row:1;margin-bottom:18px!important}
#banner-inquiry-form .form-fields{grid-column:2;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#banner-inquiry-form .field-phone{grid-column:1/-1}
#banner-inquiry-form .field-message{grid-column:1/-1}
#banner-inquiry-form .form-fields textarea{min-height:110px;height:110px}
#banner-inquiry-form .form-footer{grid-column:2;grid-row:3}
.inquiry-section{align-items:start}
.inquiry-section #quote-form.form-studio{padding:36px;background:#fffefa;border:1px solid #dce1d6;border-radius:20px;margin-top:0}
#quote-form .form-heading .form-emblem{width:42px;height:42px;flex-basis:42px}
#quote-form .form-heading h3{font-size:29px}
.contact-panel:has(.form-studio){border:1px solid #d4dece;box-shadow:0 20px 70px #08251e33;border-radius:18px;background:#fffefa}
.contact-panel:has(.form-studio) .contact-panel-header{background:#153e35;border-bottom:1px solid #ffffff22;padding:22px 24px}
.contact-panel:has(.form-studio) .contact-panel-header h2{font-size:25px;letter-spacing:-.02em;margin-top:7px}
.contact-panel:has(.form-studio) .contact-panel-header p{color:#d9e3cf;font-size:10px;letter-spacing:.13em}
.contact-panel .contact-panel-close{width:36px;height:36px;border:1px solid #ffffff38;border-radius:50%;font-size:25px;display:grid;place-items:center;flex:0 0 36px}
.contact-panel #email-panel{padding:24px}
.contact-panel #email-panel .contact-panel-intro{font-size:13px;line-height:1.75;margin:0 0 20px;color:#566b5b}
#quick-inquiry-form.form-studio{display:block;padding:0;margin:0;background:none;border:0;border-radius:0;box-shadow:none;overflow:visible}
#quick-inquiry-form.form-studio::before{display:none}
#quick-inquiry-form .form-fields{grid-template-columns:1fr;gap:17px}
#quick-inquiry-form .form-fields textarea{min-height:108px}
#quick-inquiry-form .form-timing{margin-bottom:14px}
#quick-inquiry-form .privacy-note{font-size:10px;margin-bottom:16px}
@keyframes form-spin{to{transform:rotate(360deg)}}
@media(min-width:901px){.contact-panel:has(.form-studio){width:420px;max-height:calc(100dvh - 48px)}}
@media(max-width:1000px){#banner-inquiry-form.form-studio{gap:0 28px;padding:30px;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr)}#banner-inquiry-form .form-fields{grid-template-columns:1fr}#banner-inquiry-form .banner-form-heading h2{font-size:32px}.inquiry-section #quote-form.form-studio{padding:28px}.form-studio .form-fields{grid-template-columns:1fr}}
@media(max-width:700px){.hero.hero-factory .hero-inquiry{padding:28px 6% 34px}#banner-inquiry-form.form-studio{display:block;padding:26px 23px}#banner-inquiry-form .banner-form-heading{display:flex;flex-direction:row;gap:15px;padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid #e3e7de}#banner-inquiry-form .banner-form-heading h2{font-size:29px;max-width:none}#banner-inquiry-form .banner-form-heading .eyebrow{font-size:9px;max-width:none}#banner-inquiry-form>.inquiry-context-note{margin-bottom:20px!important}.quote-form.form-studio .form-heading .form-emblem{width:36px;height:36px;flex-basis:36px;border-radius:11px}.form-emblem svg{width:23px;height:23px}#banner-inquiry-form .form-fields{display:grid;grid-template-columns:1fr;gap:20px}#banner-inquiry-form .form-fields textarea{min-height:130px;height:130px}.inquiry-section #quote-form.form-studio{padding:28px 23px;margin-top:32px}#quote-form .form-heading{gap:14px}#quote-form .form-heading h3{font-size:26px}.form-studio .form-heading .eyebrow{font-size:9px}.form-studio .form-heading p:not(.eyebrow){font-size:13px}.form-studio .form-fields{grid-template-columns:1fr;gap:20px}.quote-form.form-studio input:not([type=hidden]):not([name=website]),.quote-form.form-studio textarea{font-size:16px;padding:13px 14px}.form-studio .form-fields label{font-size:13px}.form-studio .form-note a{min-height:44px}.contact-panel:has(.form-studio){width:calc(100vw - 48px);max-width:400px;max-height:calc(100dvh - 96px);right:0}.contact-panel #email-panel{padding:22px}.contact-panel:has(.form-studio) .contact-panel-header{padding:20px 22px}}
@media(max-width:360px){#banner-inquiry-form.form-studio,.inquiry-section #quote-form.form-studio{padding:24px 18px;border-radius:15px}#banner-inquiry-form .banner-form-heading{display:block}#banner-inquiry-form .form-emblem{margin-bottom:18px}#banner-inquiry-form .banner-form-heading h2{font-size:28px}#quote-form .form-heading{display:block}#quote-form .form-emblem{margin-bottom:16px}#quote-form .form-heading h3{font-size:25px}.quote-form.form-studio .form-submit{font-size:14px;padding-left:16px}.contact-panel #email-panel{padding:20px}}
@media(prefers-reduced-motion:reduce){.quote-form.form-studio input,.quote-form.form-studio textarea,.quote-form.form-studio .form-submit{transition:none}.form-studio .form-submit:disabled .form-button-icon{animation:none}}
#banner-inquiry-form .form-next{border-top:1px solid #dce2d4;padding-top:24px;margin-top:12px;width:100%}
#banner-inquiry-form .form-next .eyebrow{font-size:9px;letter-spacing:.08em;max-width:none;margin-bottom:17px}
.form-next ol{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:16px}.form-next li{display:flex;align-items:baseline;gap:13px;color:#345446;font-size:13px;line-height:1.7}.form-next li>span{font-family:Georgia,serif;font-size:13px;color:#8c805c}
#banner-inquiry-form .form-next>p:last-child{font-size:12px;color:#6a7765;line-height:1.9}
@media(max-width:700px){#banner-inquiry-form .form-next{display:none}}
