.contact-page{background:var(--surface-grey);color:var(--ink)}.contact-page .arrow{display:inline-block}.contact-main{padding-block:var(--space-section)}.contact-layout{grid-template:"title form""direct form""place form"".form"1fr/minmax(0,.38fr) minmax(0,.62fr);align-items:start;gap:0 clamp(2rem,5vw,5rem);max-width:1320px;display:grid}.contact-title{margin:0 0 var(--space-lead);font-size:var(--type-hero);letter-spacing:-.055em;text-transform:uppercase;grid-area:title;font-weight:700;line-height:.92}.contact-info{margin:0}.contact-info-direct{grid-area:direct}.contact-info-place{grid-area:place}.contact-info>div{border-top:1px solid var(--line-on-light);padding-block:.65rem}.contact-info-place>div:last-child{border-bottom:1px solid var(--line-on-light)}.contact-info dt{color:var(--ink-muted);font-size:var(--type-meta);letter-spacing:var(--tracking-meta);text-transform:uppercase;margin-bottom:.15rem;font-weight:700;line-height:1.3}.contact-info dd{margin:0;font-size:1rem;line-height:1.45}.contact-info dd a{overflow-wrap:anywhere;min-height:44px;transition:color var(--motion-fast) ease;align-items:center;gap:.45rem;font-weight:700;display:inline-flex}.contact-info dd a:hover,.contact-info .arrow{color:var(--action)}.contact-phone{letter-spacing:-.02em;font-size:clamp(1.35rem,1.1rem + .8vw,1.75rem)}.contact-hours{margin:0;padding:0;list-style:none}.contact-hours li{padding-block:.1rem}.contact-info address{font-style:normal}.contact-map-link{font-size:.92rem;min-height:44px!important}.contact-phone-hours{display:none}.form-demo{background:var(--surface-paper);color:var(--ink);padding:.85rem 1rem;font-size:.92rem;line-height:1.45}.form-demo strong{color:var(--action);margin-bottom:.25rem;display:block}.form-demo p{margin:0}.contact-form-panel{border:1px solid var(--line-on-light);border-top:3px solid var(--action);background:var(--surface-white);border-radius:6px;grid-area:form;min-width:0;padding:clamp(1.25rem,2.4vw,2.25rem);box-shadow:0 1px 2px #2b2b2b0a,0 12px 32px -18px #2b2b2b2e}.contact-form-panel form{gap:1rem;display:grid}.branch-picker,.branch-fields{border:0;min-width:0;margin:0;padding:0}.branch-fields[hidden]{display:none!important}#contact-form:has(input[name=tipus][value=particular]:checked) .branch-fields[data-branch=empresa],#contact-form:has(input[name=tipus][value=empresa]:checked) .branch-fields[data-branch=particular],[data-branch-text=empresa]{display:none}#contact-form:has(input[name=tipus][value=empresa]:checked) [data-branch-text=empresa]{display:inline}#contact-form:has(input[name=tipus][value=empresa]:checked) [data-branch-text=particular]{display:none}.description-box{position:relative}.description-hint{color:var(--palette-dark);font:400 1rem/1.4 var(--font-sans);pointer-events:none;display:none;position:absolute;inset:calc(.55rem + 1px) calc(.8rem + 1px) auto}.description-box:has(textarea:placeholder-shown) .description-hint{display:block}#contact-form[data-enhanced] .description-hint{display:none}.branch-picker legend{margin-bottom:.4rem;padding:0;font-size:.86rem;font-weight:700}.branch-picker legend span,.field label span[aria-hidden=true]{color:var(--action)}.branch-options{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.branch-option{cursor:pointer;min-width:0;display:block;position:relative}.branch-option input{z-index:1;width:18px;height:18px;accent-color:var(--action);margin:0;position:absolute;top:50%;left:.9rem;translate:0 -50%}.branch-option>span{border:1px solid var(--line-on-light);background:var(--surface-paper);min-height:48px;transition:border-color .18s ease, background-color .18s ease, scale .16s var(--motion-ease);border-radius:4px;flex-wrap:wrap;align-items:baseline;gap:0 .35rem;padding:.7rem .9rem .7rem 2.6rem;line-height:1.3;display:flex}.branch-option strong{font-size:1rem}.branch-option small{color:var(--ink-muted);font-size:.88rem}.branch-option input:checked+span{border-color:var(--action);background:var(--palette-white);box-shadow:inset 0 0 0 1px var(--action)}.branch-option input:focus-visible+span{outline:3px solid var(--action);outline-offset:2px}.branch-option:hover>span{border-color:var(--action)}.branch-option:active>span{scale:.985}.field-grid{grid-template-columns:1fr 1fr;gap:.85rem 1rem;display:grid}.field{flex-direction:column;min-width:0;display:flex}.field-full,.field-grid:has(>.field-company[hidden]) .field-name,#contact-form:has(input[name=tipus][value=particular]:checked) .field-name{grid-column:1/-1}.field label{margin-bottom:.3rem;font-size:.86rem;font-weight:700;line-height:1.3}.field input,.field select,.field textarea{border:1px solid var(--palette-mid);background:var(--palette-white);width:100%;min-height:46px;color:var(--ink);font:400 1rem/1.4 var(--font-sans);color-scheme:light;border-radius:4px;outline:none;padding:.55rem .8rem;display:block}.field textarea{resize:vertical;min-height:112px}.field input::placeholder,.field textarea::placeholder{color:var(--palette-dark);opacity:1}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--action);box-shadow:inset 0 0 0 1px var(--action)}.field input[aria-invalid=true],.field select[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--palette-accent)}.field-error{color:var(--palette-accent);margin:.3rem 0 0;font-size:.84rem;font-weight:700;line-height:1.3}.upload-area{border:1px dashed var(--palette-mid);background:var(--surface-paper);border-radius:4px;flex-flow:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.6rem .8rem}#contact-form:has(input[name=tipus][value=empresa]:checked) .upload-area{border-style:solid}.upload-area .field-error{flex-basis:100%}.form-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.upload-text{flex-wrap:wrap;align-items:baseline;gap:0 .5rem;min-width:0;display:flex}.upload-area .upload-text label{margin:0;font-size:.92rem}.upload-text>span{color:var(--ink-muted);font-size:.86rem}.upload-control{flex-wrap:wrap;align-items:center;gap:.4rem .9rem;min-width:0;display:flex}.upload-control input{opacity:0;width:1px;height:1px;position:absolute}.upload-button{border:1px solid var(--action);background:var(--palette-white);min-height:44px;color:var(--action);cursor:pointer;transition:background-color .16s ease, color .16s ease, scale .16s var(--motion-ease);border-radius:4px;align-items:center;padding:.5rem .85rem;font-size:.88rem;font-weight:700;display:inline-flex;margin:0!important}.upload-control input:focus-visible+.upload-button{outline:3px solid var(--action);outline-offset:3px}.upload-button:active{scale:.97}.file-name{min-width:0;color:var(--ink-muted);overflow-wrap:anywhere;font-size:.84rem}.form-extra{border-top:1px solid var(--line-on-light)}.form-extra summary{min-height:48px;color:var(--ink);cursor:pointer;align-items:center;gap:.6rem;font-size:.92rem;font-weight:700;list-style:none;display:flex}.form-extra summary::-webkit-details-marker{display:none}.form-extra summary:before{border:1px solid var(--action);width:20px;height:20px;color:var(--action);content:"+";border-radius:3px;flex:none;place-items:center;font-size:1rem;font-weight:400;line-height:1;display:grid}.form-extra[open] summary:before{content:"−"}.form-extra summary:focus-visible{outline:3px solid var(--action);outline-offset:2px}.form-extra-grid{padding-bottom:.5rem}.field-subgrid{display:contents}.form-privacy{border-top:1px solid var(--line-on-light);color:var(--palette-dark);padding:.8rem 0;font-size:.86rem;line-height:1.45}.form-privacy-info{color:#2b2b2bb8;margin:.45rem 0 .7rem calc(20px + .6rem);font-size:.75rem;line-height:1.45}.form-privacy-title{color:inherit;margin:0 0 .15rem;font-size:.75rem;font-weight:600}.form-privacy-info strong{font-weight:600}.form-privacy .form-privacy-info a,.form-privacy .form-privacy-note a{color:inherit;font-weight:600}.form-privacy-info p{margin:0 0 .3rem}.form-privacy-info p:last-child{margin-bottom:0}.form-privacy ul{margin:0 0 .4rem;padding-left:1.1rem;list-style:outside}.form-privacy a{color:var(--action);text-underline-offset:.2em;font-weight:700;text-decoration:underline}.field-consent label{min-height:44px;color:var(--ink);cursor:pointer;align-items:flex-start;gap:.6rem;margin:0;padding-top:.3rem;font-size:.9rem;font-weight:600;line-height:1.4;display:flex}.field-consent:last-child label{font-weight:400}.field-consent input{width:20px;height:20px;accent-color:var(--action);flex:none;margin:0}.field-consent input:focus-visible{outline:3px solid var(--action);outline-offset:2px}.form-privacy-note{color:#2b2b2bb8;margin:.2rem 0 0 calc(20px + .6rem);font-size:.75rem}.form-finish{align-items:center;display:flex}.form-finish button{background:var(--action);min-width:220px;min-height:50px;color:var(--palette-white);font:700 1rem var(--font-sans);cursor:pointer;transition:background-color .18s ease, scale .16s var(--motion-ease);border:0;border-radius:4px;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.1rem;display:flex}.form-finish button:hover:not(:disabled){background:var(--action-hover)}.form-finish button:not(:disabled):active{scale:.97}.form-finish button:disabled{background:var(--palette-dark);cursor:not-allowed}.form-status{border-left:4px solid var(--action);background:var(--surface-paper);margin:0;padding:.8rem 1rem;font-size:.95rem;line-height:1.45}.form-status[data-state=error]{border-left-color:var(--palette-accent);background:var(--palette-white)}.contact-place{padding-block:var(--space-section);border-top:1px solid var(--line-on-light);background:var(--surface-paper)}.place-grid{grid-template-columns:minmax(0,.38fr) minmax(0,.62fr);align-items:center;gap:1.25rem clamp(2rem,5vw,5rem);max-width:1320px;display:grid}.place-info{flex-direction:column;align-items:flex-start;gap:.4rem;display:flex}.place-info h2{font-size:var(--type-h4);letter-spacing:-.01em;text-transform:uppercase;margin:0 0 .2rem;font-weight:700;line-height:1.15}.place-info address{font-style:normal;font-weight:700;line-height:1.45}.place-info p{color:var(--ink-muted);margin:0;font-size:.95rem;line-height:1.5}.place-info>a{border-bottom:1px solid var(--action);min-height:44px;color:var(--action);transition:scale .16s var(--motion-ease);align-items:center;gap:.6rem;font-weight:700;display:inline-flex}.place-info>a:active{scale:.97}.place-map{border:1px solid var(--line-on-light);background:var(--palette-light);border-radius:6px;height:clamp(220px,20vw,280px);position:relative;overflow:hidden}.place-map-facade{text-align:center;background:linear-gradient(118deg, transparent 47.6%, #fffffff2 47.6% 50.4%, transparent 50.4%), linear-gradient(24deg, transparent 61.5%, #ffffffe6 61.5% 63%, transparent 63%), linear-gradient(162deg, transparent 30%, #ffffffbf 30% 31.2%, transparent 31.2%), repeating-linear-gradient(0deg, transparent 0 47px, #2b2b2b0e 47px 48px), repeating-linear-gradient(90deg, transparent 0 47px, #2b2b2b0e 47px 48px), var(--palette-light);flex-direction:column;justify-content:center;align-items:center;gap:.6rem;padding:1.25rem;display:flex;position:absolute;inset:0}.place-map-pin{background:var(--action);border-radius:50% 50% 50% 0;width:24px;height:24px;position:relative;rotate:-45deg;box-shadow:0 6px 14px #2b2b2b38}.place-map-pin:after{background:var(--palette-white);content:"";border-radius:50%;position:absolute;inset:7px}.place-map-enhanced{flex-direction:column;align-items:center;gap:.5rem;display:flex}.place-map-enhanced[hidden]{display:none}.place-map-load{background:var(--action);min-height:46px;color:var(--palette-white);font:700 .95rem var(--font-sans);cursor:pointer;transition:background-color .18s ease, scale .16s var(--motion-ease);border:0;border-radius:4px;align-items:center;gap:1rem;padding:.6rem 1rem;display:inline-flex}.place-map-load:hover{background:var(--action-hover)}.place-map-load:active{scale:.97}.place-map-load:focus-visible{outline:3px solid var(--action);outline-offset:3px}.place-map-note{max-width:40ch;color:var(--palette-dark);background:#ffffffd9;margin:0;padding:.3rem .6rem;font-size:.8rem;line-height:1.4}.place-map iframe{opacity:0;border:0;width:100%;height:100%;transition:opacity .32s;position:absolute;inset:0}.place-map.is-loaded iframe{opacity:1}.place-map.is-loading .place-map-enhanced{opacity:.55;pointer-events:none}@media (hover:hover) and (pointer:fine){.contact-page .arrow{transition:translate .22s var(--motion-ease)}.contact-page a:hover .arrow,.form-finish button:not(:disabled):hover .arrow{translate:3px -3px}.upload-button:hover{background:var(--action);color:var(--palette-white)}}@media (prefers-reduced-motion:no-preference){.branch-fields:not([hidden]){transition:opacity .24s var(--ease-out-strong), translate .24s var(--ease-out-strong)}@starting-style{.branch-fields:not([hidden]){opacity:0;translate:0 6px}}.field-error:not([hidden]),.form-status:not([hidden]){transition:opacity .18s ease, translate .18s var(--ease-out-strong)}@starting-style{.field-error:not([hidden]),.form-status:not([hidden]){opacity:0;translate:0 -3px}}}@media (prefers-reduced-motion:reduce){.branch-option>span,.place-map iframe,.place-map-load,.upload-button,.form-finish button{transition:none}}@media (width<=900px){.contact-layout,.place-grid{grid-template-columns:1fr}.contact-layout{grid-template-rows:auto;grid-template-areas:"title""direct""form""place"}.contact-info-direct{margin-bottom:1.25rem}.contact-phone-hours{max-width:34ch;color:var(--ink-muted);margin:.25rem 0 .3rem;font-size:.92rem;line-height:1.45;display:block}.contact-info-direct>div:last-child{border-bottom:1px solid var(--line-on-light)}.contact-info-place{margin-top:1.5rem}}@media (width<=900px) and (width>=561px){.contact-info{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 1rem;display:grid}.contact-info-direct>div,.contact-info-place>div{border-bottom:1px solid var(--line-on-light)}}@media (width<=560px){.contact-info-direct>div{padding-block:.3rem}.contact-info-direct dd a{min-height:44px}.field-grid,.branch-options,.form-finish{grid-template-columns:1fr}.form-finish button{width:100%;min-width:0}.upload-area{flex-direction:column;align-items:flex-start}.place-map{height:200px}}@media (width<=380px){.contact-page .header-phone{display:none}}
