:root{--ink:#081433;--ink-soft:#3f5473;--blue:#0e41d9;--day:#f4f9ff;--amber:#ffb020;--error:#a12135;--font-body:'Hanken Grotesk',sans-serif;--font-display:'Bricolage Grotesque',sans-serif;--shadow:0 16px 50px rgba(8,20,51,.09)}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font:400 17px/1.6 var(--font-body);background:radial-gradient(ellipse at 0 0,#dceffc,transparent 55%),radial-gradient(ellipse at 100% 90%,#fff4dc,transparent 48%),var(--day);-webkit-font-smoothing:antialiased}a{color:var(--blue);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}::selection{background:#ffe0a0;color:var(--ink)}:focus-visible{outline:3px solid var(--blue);outline-offset:4px}input,textarea{caret-color:var(--blue)}[hidden]{display:none!important}.skip-link{position:absolute;left:16px;top:-100px;z-index:5;background:#fff;padding:12px}.skip-link:focus{top:12px}
.intake-nav{max-width:1180px;margin:16px auto 0;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 24px;background:rgba(255,255,255,.72);border-radius:999px;box-shadow:0 8px 32px rgba(8,20,51,.07)}.intake-nav img{display:block;max-width:100%;height:auto}.call-link{font-size:15px;font-weight:700;text-decoration:none;padding:9px 16px;border:1px solid #c7d4e6;border-radius:999px;white-space:nowrap}.call-link:hover{background:#e8f2ff}
.intake-layout{max-width:1180px;display:grid;grid-template-columns:350px minmax(0,1fr);gap:72px;margin:64px auto 80px;padding:0 24px}.intro{align-self:start;position:sticky;top:32px}.back-link{font-size:14px;color:var(--ink-soft)}h1,h2,legend{font-family:var(--font-display);letter-spacing:-.02em}h1{font-size:48px;font-weight:800;line-height:1.06;margin:24px 0;text-wrap:balance}h2{font-size:30px;line-height:1.2;margin:0 0 12px}p{margin:0 0 14px}.intro-lede{font-size:20px;line-height:1.5;color:var(--ink-soft);max-width:29ch}.intro-price{padding:24px 0;margin:24px 0;border-block:1px solid #cbd8e7;font-size:16px}.intro-price p{margin-bottom:6px}.intro-price strong{font-size:20px}.intro-price a{font-size:14px}.next-steps h2{font-size:21px}.next-steps ol{padding-left:24px;margin:14px 0 20px}.next-steps li{padding-left:5px;margin:0 0 12px}.next-steps li::marker{color:var(--blue);font-weight:700}.portfolio-note,.direct-contact{font-size:14px;color:var(--ink-soft)}.direct-contact{margin-top:26px}
.form-panel{min-width:0}.form-heading{margin-bottom:30px}.form-heading h2{font-size:36px}.form-heading p{color:var(--ink-soft);margin-bottom:6px}.required-note{font-size:13px}fieldset{min-width:0}
.form-section{--section-fill:#edf5ff;--section-line:#d1dfee;border:1px solid var(--section-line);border-radius:16px;background:var(--section-fill);padding:28px;margin:0 0 24px;display:flow-root}
.section-offer{--section-fill:#f0f2ff;--section-line:#d9ddef}
.section-budget{--section-fill:#fff7e7;--section-line:#e9dcc0}
.section-materials{--section-fill:#eef6f7;--section-line:#d0e1e4}
legend{float:left;width:100%;font-size:25px;line-height:1.25;font-weight:700;padding:0 0 20px;margin:0}
legend+*{clear:both}
.setup-note{font-size:14px;line-height:1.5;color:var(--ink-soft)}
.form-bottom{padding:4px 4px 0}
.success{background:#fff;border-radius:16px;padding:32px!important}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.field{margin:0 0 17px;min-width:0}.field:last-child{margin-bottom:0}.field-grid>.field:last-child{margin-bottom:17px}label{display:block;font-size:15px;font-weight:700;margin-bottom:7px}.optional{font-family:var(--font-body);font-size:13px;font-weight:400;letter-spacing:0;color:var(--ink-soft)}input,textarea,select{font:inherit;font-size:16px;color:var(--ink);width:100%;border:1px solid #9eaec3;border-radius:9px;background:#fff;padding:11px 12px;transition:border-color .15s,box-shadow .15s}input:hover,textarea:hover,select:hover{border-color:#61789a}input:focus,textarea:focus,select:focus{border-color:var(--blue);outline:2px solid var(--blue);outline-offset:1px}input::placeholder,textarea::placeholder{color:#64738a;opacity:1}textarea{resize:vertical;min-height:108px}select{min-height:49px;padding-right:30px}input:disabled{background:#edf2f8;color:#66738a}.checkbox-label{display:flex;align-items:center;gap:10px;font-weight:500;margin:10px 0 0;cursor:pointer}.checkbox-label input{width:20px;height:20px;flex:none;accent-color:var(--blue)}.section-help{font-size:15px;color:var(--ink-soft);margin:-8px 0 20px}.field-help{font-size:13px;color:var(--ink-soft);margin:7px 0 0}.field-error{font-size:13px;color:var(--error);margin:6px 0 0}.field-error:empty{display:none}[aria-invalid=true]{border-color:var(--error)}
.upload-area{position:relative;border:1.5px dashed #8ca6c9;border-radius:12px;text-align:center;padding:27px 20px;background:#f4f8fe;transition:background .15s,border-color .15s}.upload-area.dragging{background:#e2edff;border-color:var(--blue)}.upload-area:focus-within{outline:3px solid var(--blue);outline-offset:3px}.upload-area label{font-size:17px;color:var(--blue);margin:0 0 8px}.upload-area label span{font-weight:400;color:var(--ink-soft)}.upload-area input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-area p{font-size:13px;color:var(--ink-soft);margin:0}.file-list{list-style:none;padding:0;margin:12px 0 0}.file-list li{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #e3eaf2;font-size:14px}.file-info{min-width:0;flex:1}.file-name{display:block;overflow-wrap:anywhere}.file-size{font-size:12px;color:var(--ink-soft)}.remove-file{border:0;border-radius:6px;background:transparent;color:var(--blue);font:600 13px var(--font-body);padding:10px;min-height:42px;cursor:pointer}.remove-file:hover{background:#e8f2ff}.file-count{color:var(--ink-soft);font-size:13px;margin:8px 0 20px}.form-bottom>p{font-size:15px;color:var(--ink-soft)}.submit-button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;border:0;border-radius:999px;background:var(--blue);color:#fff;padding:13px 28px;font:700 17px var(--font-body);text-decoration:none;cursor:pointer;transition:background .18s,transform .18s}.submit-button:hover{background:#092d9e;transform:translateY(-1px)}.submit-button:active{transform:translateY(0)}.submit-button:disabled{cursor:wait;transform:none;background:#55698f}.privacy-note{font-size:12px!important;margin-top:16px!important}.notice,.form-error{padding:14px 16px;background:#fff3da;border-radius:10px;margin-bottom:22px;font-size:14px}.form-error{background:#fff0f1;color:#8b1a2d}.bot-field{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.upload-progress{margin:18px 0}.upload-progress label{font-weight:500;font-size:14px}progress{width:100%;height:8px;accent-color:var(--blue)}.success{padding:20px 0}.success-mark{width:52px;height:52px;border-radius:50%;background:#e1f3eb;color:#146441;display:grid;place-items:center;font-size:29px;font-weight:700;margin-bottom:24px}.success p{max-width:42ch;color:var(--ink-soft)}.receipt{font-size:13px;overflow-wrap:anywhere}.success .submit-button{margin-top:18px}.intake-footer{max-width:1180px;margin:0 auto;padding:20px 24px 36px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--ink-soft);font-size:13px}
@media(max-width:1000px){.intake-nav{margin-inline:16px}.intake-layout{grid-template-columns:290px minmax(0,1fr);gap:32px}h1{font-size:41px}.form-section{padding:24px}.field-grid{grid-template-columns:1fr}}
@media(max-width:760px){.intake-layout{grid-template-columns:1fr;gap:30px;margin-top:32px;padding:0 20px}.intro{position:static}.intro h1{font-size:40px;max-width:14ch;margin:18px 0}.intro-lede{max-width:45ch;font-size:18px}.intro-price{margin:18px 0;padding:18px 0}.next-steps{display:none}.direct-contact{margin-top:14px}.form-section{padding:24px 20px;margin-bottom:20px}legend{font-size:23px}.form-bottom{padding:4px 0 0}.form-heading h2{font-size:30px}.intake-nav{padding:12px 16px;gap:12px}.intake-nav img{width:130px}.call-link{font-size:13px;padding:7px 11px}.submit-button{width:100%}.intake-footer{padding-inline:20px}}
@media(max-width:380px){.intake-nav img{width:112px}.intake-nav{margin-inline:10px;padding-inline:12px}.call-link{font-size:12px;padding-inline:9px}.intake-layout{padding:0 14px}.form-section{padding:20px 16px}h1{font-size:36px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.intake-nav-links{display:flex;align-items:center;gap:20px}.intake-nav-links>a:first-child{font-size:15px;font-weight:700;text-decoration:none;padding-block:10px;min-height:44px}.intake-nav-links>a:first-child:hover{text-decoration:underline}
@media(max-width:760px){.intake-nav-links{gap:12px}.intake-nav-links>a:first-child{font-size:13px}.intake-page .intake-nav img{width:112px}.intake-page .intake-nav{gap:8px}.intake-page .call-link{padding-inline:10px}}
@media(max-width:380px){.intake-nav-links{gap:8px}.intake-page .intake-nav img{width:96px}.intake-page .call-link{font-size:12px;padding-inline:8px}}

/* Keep a useful contact path available before configuration and without JavaScript. */
.contact-options{background:rgba(255,255,255,.75);border:1px solid #d1dfee;border-radius:20px;padding:clamp(24px,3vw,42px)}
.contact-options>p{color:var(--ink-soft);max-width:55ch}
.contact-options h2{font-size:clamp(28px,2.7vw,38px);margin-bottom:20px}
.contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:28px 0 22px}
.contact-actions .call-link{display:inline-flex;align-items:center;justify-content:center;min-height:50px}
.contact-address{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;font-size:15px}
.contact-address>a{overflow-wrap:anywhere}
.copy-contact-email{min-height:44px;border:0;background:transparent;color:var(--blue);font:700 14px var(--font-body);cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.copy-contact-email:hover{text-decoration-thickness:2px}
.contact-status{font-size:13px!important;margin:12px 0;color:var(--ink-soft)}
.contact-status:empty{display:none}
.contact-next{border-top:1px solid #cbd8e7;margin-top:26px;padding-top:22px;font-size:15px}
@media(max-width:760px){.contact-actions>*{width:100%}.contact-options{padding:26px 22px}.contact-address{gap:0}}
