body.page{min-height:100vh;display:flex;flex-direction:column}.wrap{max-width:1180px;margin:0 auto;width:100%}.pg{flex:1;padding:calc(72px + env(safe-area-inset-top,0px) + clamp(40px,7vw,96px)) clamp(20px,6vw,104px) clamp(40px,5vw,72px)}.pg h1{font-size:clamp(40px,4.6vw,68px);line-height:1;letter-spacing:-.045em;margin:0 0 24px;text-wrap:balance;max-width:16em}.pg .sub{font-size:clamp(18px,1.4vw,21px);line-height:1.55;color:var(--muted);max-width:34em;margin:0}.floor{position:relative;height:clamp(150px,20vw,300px);margin-top:-40px;pointer-events:none}.floor canvas{position:absolute;inset:0;width:100%;height:100%;display:block;-webkit-mask-image:linear-gradient(to right,transparent,#000 24px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(to right,transparent,#000 24px,#000 calc(100% - 24px),transparent)}.link-more{display:inline-flex;align-items:center;min-height:44px;color:var(--call);font-weight:700;font-size:16px}.link-more::after{content:"\00a0\2192"}@media (max-width:899px){.pg{padding:calc(64px + env(safe-area-inset-top,0px) + 36px) 16px 32px}.pg h1{font-size:clamp(34px,9.6vw,44px);margin-bottom:16px}.pg .sub{font-size:16px}}.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);grid-template-rows:auto 1fr;grid-template-areas:"intro form" "alt form";column-gap:clamp(40px,6vw,96px);align-items:start}.contact-intro{grid-area:intro}.form-card{grid-area:form}.contact-alt{grid-area:alt}.contact-intro h1{max-width:9em}.contact-alt{margin-top:clamp(36px,4vw,56px);padding-top:28px;border-top:1px solid var(--line);max-width:28em}.contact-alt h2{font-size:20px;line-height:1.25;letter-spacing:-.02em;font-weight:800;margin:0 0 8px}.contact-alt p{font-size:16px;line-height:1.55;color:var(--muted);margin:0 0 20px}.form-card{background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:clamp(22px,2.6vw,36px);box-shadow:0 30px 70px -48px rgba(16,13,16,.35);position:relative;z-index:1}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}.contact-form .full{grid-column:1/-1}.field label{display:block;font-size:14px;font-weight:700;margin:0 0 7px;color:var(--ink)}.field .opt{font-weight:500;color:var(--muted)}.field input:not([type="checkbox"]),.field select,.field textarea{width:100%;font:inherit;font-size:16px;line-height:1.4;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px 14px;min-height:48px;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}.field textarea{min-height:140px;resize:vertical}.field select{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px}.field select:invalid{color:var(--muted)}.field input:not([type="checkbox"]):hover,.field select:hover,.field textarea:hover{border-color:var(--cell)}.field input:not([type="checkbox"]):focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--call);box-shadow:0 0 0 3px rgba(111,77,249,.22)}.field [aria-invalid="true"]{border-color:#C8364B}.field .hint{font-size:13px;color:var(--muted);margin:6px 0 0;line-height:1.45}.field .err{font-size:13px;font-weight:600;color:#C8364B;margin:6px 0 0}.field .err:empty{display:none}.check{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start}.check input{width:24px;height:24px;margin:0;accent-color:var(--call);cursor:pointer}.check label{font-size:14px;line-height:1.5;color:var(--muted);font-weight:500;margin:0;cursor:pointer}.check label a{color:var(--call);font-weight:700}.check .err{grid-column:2}.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px}.form-actions .btn{min-width:180px}.form-actions .btn[disabled]{opacity:.6;cursor:progress}.form-status{font-size:14px;line-height:1.5;margin:0;color:var(--muted)}.form-status:empty{display:none}.form-status[data-kind="error"]{color:#C8364B;font-weight:600}.form-preview{font-size:13px;color:var(--muted);margin:0;line-height:1.45}.form-preview.on{color:var(--ink);font-weight:600}html:not(.js) .contact-form{display:none}.form-noscript{font-size:16px;line-height:1.55;color:var(--muted);margin:0}.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.done{outline:none}.done h2{font-size:clamp(24px,2.2vw,30px);letter-spacing:-.03em;line-height:1.15;margin:0 0 12px;font-weight:800}.done p{font-size:16px;line-height:1.55;color:var(--muted);margin:0 0 20px}:root[data-theme="dark"] .field [aria-invalid="true"],:root[data-theme="dark"] .field .err,:root[data-theme="dark"] .form-status[data-kind="error"]{border-color:#FF8A9A;color:#FF8A9A}@media (prefers-color-scheme:dark){:root:not([data-theme]) .field [aria-invalid="true"],:root:not([data-theme]) .field .err,:root:not([data-theme]) .form-status[data-kind="error"]{border-color:#FF8A9A;color:#FF8A9A}}:root[data-theme="dark"] .form-card{box-shadow:none}@media (prefers-color-scheme:dark){:root:not([data-theme]) .form-card{box-shadow:none}}@media (max-width:899px){.contact-grid{grid-template-columns:1fr;grid-template-rows:none;grid-template-areas:"intro" "form" "alt";row-gap:32px}.contact-alt{margin-top:0;padding-top:24px}.contact-form{grid-template-columns:1fr;gap:16px}.form-card{padding:20px 16px;border-radius:14px}.form-actions .btn{width:100%}}/*FIELDFIX: inputs shared the page bg (invisible) -> give them a visible surface + border in both themes, using background-color so the select arrow image is preserved*/.contact-form .field input:not([type="checkbox"]),.contact-form .field select,.contact-form .field textarea{background-color:#F5F6F8;border-color:#C9CDD2}:root[data-theme="light"] .contact-form .field input:not([type="checkbox"]),:root[data-theme="light"] .contact-form .field select,:root[data-theme="light"] .contact-form .field textarea{background-color:#F5F6F8;border-color:#C9CDD2}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .contact-form .field input:not([type="checkbox"]),:root:not([data-theme="light"]) .contact-form .field select,:root:not([data-theme="light"]) .contact-form .field textarea{background-color:#1C1920;border-color:#3C3646}}:root[data-theme="dark"] .contact-form .field input:not([type="checkbox"]),:root[data-theme="dark"] .contact-form .field select,:root[data-theme="dark"] .contact-form .field textarea{background-color:#1C1920;border-color:#3C3646}.contact-form .field input:not([type="checkbox"]):focus,.contact-form .field select:focus,.contact-form .field textarea:focus{border-color:var(--call)}