/* Campo 15 — a focused conversation, within the Campo material language. */
.contact-page{--signal:#d7ea40;--accent:#161616}
.contact-main{padding-bottom:90px}
.contact-breadcrumb{display:flex;align-items:center;gap:14px;font-size:13px;color:#77717e;border-bottom:1px solid var(--line);padding:18px 0 24px}
.contact-breadcrumb a:hover{color:var(--accent)}
.contact-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:clamp(65px,7vw,170px);padding-top:65px;align-items:start}
.contact-intro .eyebrow{font-size:12px}
.contact-intro h1{font-size:clamp(68px,5.5vw,112px);line-height:.99;letter-spacing:-.065em;font-weight:500;margin-top:28px}
.contact-intro h1 span{color:var(--accent)}
.contact-lead{font-size:clamp(21px,1.35vw,28px);line-height:1.45;letter-spacing:-.025em;max-width:510px;margin-top:35px}
.contact-description{font-size:18px;color:var(--muted);line-height:1.65;max-width:550px;margin-top:17px}
.contact-material{position:relative;height:255px;margin-top:38px;border-radius:10px;overflow:hidden;isolation:isolate;background:#a7b1ff;cursor:default}
.contact-material img{width:100%;height:100%;object-fit:cover;object-position:70% 55%;transform:scale(1.04)}
.contact-material-circle{position:absolute;width:220px;height:220px;border:1px solid #fff7;border-radius:50%;left:20%;top:15%;backdrop-filter:blur(12px);background:#f4f5ff13;box-shadow:inset 1px 1px 0 #fff3}
.request-panel{padding-top:1px;scroll-margin-top:32px}
.request-panel h2{font-size:clamp(32px,2.2vw,44px);line-height:1.13;letter-spacing:-.05em;font-weight:500}
.request-intro{color:var(--muted);font-size:18px;line-height:1.6;margin-top:17px}
.project-context{font-size:15px;line-height:1.5;margin-top:23px;padding:10px 0 10px 15px;border-left:3px solid var(--signal);color:#504858}
.project-context[hidden],.field-error[hidden],.request-status[hidden]{display:none}
.request-panel form{margin-top:36px}
.request-panel fieldset{margin:0;padding:0;border:0;min-width:0}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.request-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px 27px}
.form-field{min-width:0}
.form-field--wide{grid-column:1/-1;margin-top:7px}
.form-field label{display:block;font-size:16px;font-weight:550;margin-bottom:8px}
.form-field input,.form-field textarea,.form-field select{display:block;width:100%;min-width:0;border:0;border-bottom:1px solid #aaa5ae;border-radius:0;padding:10px 0 13px;color:var(--ink);background:transparent;font:400 18px/1.5 Manrope,Arial,sans-serif;transition:border-color .2s,background .2s;outline-offset:5px}
.form-field input{height:51px}
.form-field textarea{resize:vertical;min-height:138px;max-height:440px}
.form-field input:hover,.form-field textarea:hover,.form-field select:hover{border-color:#6e647b}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--accent);outline:2px solid var(--accent)}
.form-field input[aria-invalid=true],.form-field textarea[aria-invalid=true],.form-field select[aria-invalid=true]{border-color:#a02f48}
.form-field ::placeholder{color:#817a88;opacity:1}
.select-wrap{position:relative}
.select-wrap select{padding-right:30px;appearance:none;cursor:pointer;font-size:16px;height:51px}
.select-wrap svg{position:absolute;pointer-events:none;width:18px;height:18px;right:0;top:15px}
.field-error{font-size:14px;line-height:1.5;color:#a02f48;margin-top:9px}
.request-privacy{font-size:14px;color:#77717e;margin-top:22px}
.request-privacy a{text-decoration:underline;text-underline-offset:4px;color:#504858}
.request-privacy a:hover{color:var(--accent)}
.request-actions{margin-top:29px;border-top:1px solid #c9cbd1;padding-top:22px}
.preview-note{font-size:15px;color:#62646a;line-height:1.5}
.request-submit{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 0 13px;width:100%;margin-top:12px;border-bottom:1px solid var(--ink);font-size:19px;font-weight:550;text-align:left;transition:color .25s,border-color .25s}
.request-submit svg{width:48px;height:48px;padding:12px;border-radius:50%;background:var(--signal);color:var(--ink);transition:transform .35s,background .35s}
.request-submit:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}
.request-submit:hover:not(:disabled) svg{transform:translate(3px,-3px);background:#e0ed78}
.request-submit:disabled{opacity:.45;cursor:not-allowed}
.request-status{font-size:17px;line-height:1.6;margin-top:25px;padding:20px 23px;border-left:3px solid var(--accent);background:#f4f5ff;color:#161616}
.request-status[data-state=invalid]{border-color:#a02f48;background:#f7edef;color:#7c2338}
.request-status:focus{outline:2px solid var(--accent);outline-offset:5px}
.request-noscript{margin-top:20px;font-size:16px;padding:17px 20px;background:#f4f5ff;color:#504858}
.contact-next{display:flex;justify-content:space-between;gap:40px;align-items:center;border-top:1px solid var(--line);padding-top:32px;margin-top:75px}
.contact-next p{font-size:23px;line-height:1.45;letter-spacing:-.03em;color:#736c7a}
.contact-next strong{font-weight:500;color:var(--ink)}
.contact-next .text-link svg{border:1px solid #a7b1ff;border-radius:50%;width:34px;height:34px;padding:6px}
.contact-page .site-footer{margin-top:0}
@media(min-width:1900px){.contact-layout{padding-top:80px}.contact-intro h1{font-size:118px}.contact-material{height:280px;max-width:675px}.contact-description{font-size:20px}.request-panel form{margin-top:47px}.request-grid{gap:34px}.form-field label{font-size:18px}.form-field input,.form-field textarea{font-size:20px}.select-wrap select{font-size:18px}.request-intro{font-size:20px}.request-actions{margin-top:33px}.request-submit{font-size:21px}.preview-note{font-size:16px}.request-privacy{font-size:15px}}
@media(max-width:1100px){.contact-layout{gap:50px}.contact-intro h1{font-size:68px}.contact-lead{font-size:22px}.contact-description{font-size:17px}.request-grid{gap:26px 22px}.request-grid .form-field{grid-column:1/-1}.form-field--wide{margin-top:0}.contact-material{height:270px}.contact-material-circle{left:12%}.request-panel form{margin-top:28px}.request-panel h2{font-size:32px}.contact-next p{font-size:21px}}
@media(max-width:800px){.contact-main{padding-bottom:55px}.contact-layout{grid-template-columns:1fr;padding-top:38px;gap:38px}.contact-breadcrumb{padding:12px 0 19px}.contact-intro h1{font-size:clamp(54px,9.8vw,76px);line-height:1.03;margin-top:21px}.contact-intro h1 br:nth-child(2){display:none}.contact-intro h1 span:before{content:' '}.contact-lead{font-size:22px;max-width:560px;margin-top:26px}.contact-description{font-size:17px;max-width:560px;margin-top:12px}.contact-material{height:135px;margin-top:25px;max-width:none}.contact-material-circle{width:170px;height:170px;left:53%;top:-12%}.request-panel{padding-top:28px;border-top:1px solid var(--line)}.request-grid{grid-template-columns:1fr 1fr}.request-grid .form-field{grid-column:auto}.request-grid .form-field--wide{grid-column:1/-1}.contact-next{margin-top:50px;padding-top:25px;align-items:start;flex-direction:column;gap:25px}.request-submit{font-size:18px}.request-intro br{display:none}}
@media(max-width:520px){.contact-intro h1{font-size:54px}.contact-intro .eyebrow{font-size:10px}.contact-lead{font-size:20px}.contact-description{font-size:16px}.contact-layout{gap:34px}.request-panel h2{font-size:32px}.request-intro{font-size:16px}.request-grid{grid-template-columns:1fr;gap:24px}.request-panel form{margin-top:28px}.form-field label{font-size:15px}.form-field input,.form-field textarea{font-size:17px}.select-wrap select{font-size:16px}.request-privacy{font-size:13px}.preview-note{font-size:14px}.request-submit svg{width:43px;height:43px;padding:11px}.request-status{padding:18px;font-size:16px}.contact-next p{font-size:21px}.contact-next .text-link{font-size:14px}}
@media(prefers-reduced-motion:reduce){.request-submit svg{transform:none!important;transition:none!important}}
