.contact-page{background:var(--color-canvas)}.contact-wrap{padding-block:clamp(2.5rem,5vw,4.5rem);background:linear-gradient(180deg,var(--linen-soft),var(--color-canvas) 28%)}.contact-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:1.75rem;align-items:start}.contact-aside{overflow:hidden;border:1px solid var(--color-line-soft);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md)}.contact-aside-copy{padding:2rem 1.85rem 1.5rem}.contact-aside-copy h2{margin-bottom:.85rem;font-size:clamp(1.5rem,2.8vw,1.95rem)}.contact-aside-copy p{margin:0;color:var(--color-text-muted);font-size:.96rem;line-height:1.85}.contact-direct{display:grid;gap:.6rem;padding:0 1.85rem 1.5rem}.contact-direct a{display:flex;align-items:center;gap:.85rem;padding:.9rem 1rem;border:1px solid var(--color-line-soft);border-radius:var(--radius-sm);background:var(--color-canvas);color:var(--color-text-strong);font-size:.92rem;font-weight:700;transition:border-color var(--t-base),background var(--t-base),transform var(--t-base)}.contact-direct a:hover{transform:translate(3px);border-color:var(--color-line-brand);background:var(--color-primary-wash);color:var(--color-primary)}.contact-direct span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary)}.contact-direct svg{width:16px;height:16px}.assurance-list{display:grid;gap:.7rem;padding:0 1.85rem 1.75rem}.assurance-row{display:grid;grid-template-columns:52px 1fr;gap:.9rem;align-items:center;padding:.9rem;border-radius:var(--radius-sm);background:var(--color-primary-wash)}.assurance-row>span{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--color-surface);color:var(--color-primary);font-size:.72rem;font-weight:800;letter-spacing:.02em;box-shadow:var(--shadow-xs)}.assurance-row h3{margin:0;font-family:var(--font-body);font-size:.95rem;font-weight:700;line-height:1.3}.assurance-row p{margin:.2rem 0 0;color:var(--color-text-muted);font-size:.85rem;line-height:1.55}.contact-photo{min-height:200px;background:linear-gradient(color-mix(in srgb,var(--brand-walnut) 12%,transparent),transparent),url(/images/bianca-f.webp) center / cover no-repeat}.contact-form-card{padding:clamp(1.5rem,3vw,2.25rem);border:1px solid var(--color-line-soft);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md)}.contact-form-head{margin-bottom:1.75rem;padding-bottom:1.35rem;border-bottom:1px solid var(--color-line-soft)}.contact-form-head h2{margin:0;font-size:clamp(1.45rem,2.6vw,1.85rem)}.contact-form-head p{margin:.5rem 0 0;color:var(--color-text-muted);font-size:.94rem}.contact-form{display:grid;gap:1.1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}.puppy-hint{margin:0;color:var(--color-text-muted);font-size:.8rem;line-height:1.6}.puppy-hint strong{color:var(--color-text-strong)}.contact-form select optgroup{color:var(--color-primary);font-weight:800;font-style:normal}.contact-form select option{color:var(--color-text-strong);font-weight:500}.btn-submit{min-height:52px;border:0;border-radius:var(--radius-pill);background:var(--color-primary);color:#fff;cursor:pointer;font-family:var(--font-body);font-size:.8rem;font-weight:800;letter-spacing:var(--tracking-wide);text-transform:uppercase;box-shadow:var(--shadow-brand);transition:background var(--t-base),transform var(--t-base)}.btn-submit:hover{background:var(--color-primary-hover);transform:translateY(-2px)}.location-note{margin-top:1.5rem;padding:1.35rem 1.5rem;border:1px dashed var(--color-line-brand);border-radius:var(--radius-md);background:var(--color-primary-wash)}.location-note h3{margin:0 0 .45rem;font-family:var(--font-display);font-size:1.1rem;font-weight:600}.location-note p{margin:0;color:var(--color-text-muted);font-size:.88rem;line-height:1.75}@media(max-width:940px){.contact-grid{grid-template-columns:1fr}.contact-photo{min-height:240px}}@media(max-width:560px){.form-row{grid-template-columns:1fr}.contact-aside-copy,.contact-direct,.assurance-list{padding-inline:1.25rem}}
