/* Contact section — AMACIA architectural reference. */
#contact.contact-studio{position:relative;isolation:isolate;overflow:hidden;min-height:100svh;padding:160px 5.5% 34px;background:#eae7e1;color:#20201f;scroll-margin-top:0}
.contact-architecture{position:absolute;z-index:-2;inset:0 0 0 43%;background:url('../assets/contact/architecture.jpg') center/cover no-repeat}
#contact::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(90deg,#eae7e1 0%,#eae7e1 38%,rgba(234,231,225,.96) 44%,rgba(234,231,225,.05) 57%,transparent 70%)}
.contact-layout{max-width:1480px;margin:auto;display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(60px,10vw,180px);align-items:start}
.contact-eyebrow{display:block;color:#9d682e;text-transform:uppercase;letter-spacing:6px;font-size:14px;font-weight:750;margin-bottom:24px}
#contact-title{font-size:clamp(52px,5.15vw,86px);font-weight:650;line-height:.98;letter-spacing:-3.5px;margin:0 0 28px}
.contact-lead{max-width:490px;color:#66635f;font-size:20px;line-height:1.45}
.contact-gold-rule{width:52px;height:3px;background:#af7d43;margin:36px 0 55px}
.contact-purposes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:48px}
.contact-purpose{padding:0 18px;border-right:1px solid #cec9c1}
.contact-purpose:first-child{padding-left:0}.contact-purpose:last-child{border:0;padding-right:0}
#contact svg{width:30px;height:30px;flex-shrink:0}
.contact-purpose svg{display:block;margin-bottom:16px}
.contact-purpose h3{font-size:12px;text-transform:uppercase;letter-spacing:.25px;margin-bottom:4px;font-weight:650}
.contact-purpose p{font-size:12px;color:#635f5a;line-height:1.5}
.contact-details{display:grid;grid-template-columns:1.2fr 1.05fr 1fr;padding:30px 24px;margin-left:-24px;margin-right:-25px;gap:0;border:1px solid #ffffff20;border-radius:22px;background:rgba(223,218,209,.6);backdrop-filter:blur(18px)}
.contact-details>a,.contact-details>div{display:flex;align-items:flex-start;gap:12px;padding:0 18px;color:inherit;text-decoration:none;border-right:1px solid #cfc5b8;min-width:0}
.contact-details>:first-child{padding-left:8px}.contact-details>:last-child{border:0;padding-right:0}
.contact-details strong{display:block;font-size:14px;margin-bottom:4px;font-weight:650}
.contact-details span span{display:block;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.contact-details a:hover{color:#8f6233}
.contact-signature{display:flex;align-items:flex-end;gap:30px;color:#ac7a43;margin-top:38px}
.contact-signature p{font-family:'Snell Roundhand','Apple Chancery','Brush Script MT',cursive;font-style:italic;font-size:35px;line-height:1.15;transform:rotate(-7deg)}
.contact-signature p span{padding-left:16px}.contact-signature i{height:1px;background:#b8874f;width:40%;margin-bottom:6px}
.contact-form-column{padding-top:0}
.contact-motto{color:#f0e9df;font-size:16px;letter-spacing:5px;line-height:1.65;text-transform:uppercase;margin:0 10% 30px auto;width:max-content;text-shadow:0 1px 8px #0004}
.contact-motto span{display:block;width:40px;height:1px;background:#ded2c3;margin-top:20px}
.contact-form-card{background:linear-gradient(125deg,rgba(48,47,44,.97),rgba(28,29,27,.97));border:1px solid #ffffff42;border-radius:24px;padding:30px 36px 24px;box-shadow:0 25px 70px #0002;color:#f5f4f2;backdrop-filter:blur(18px)}
.contact-form-card h3{font-size:25px;line-height:1.25;font-weight:550;margin-bottom:8px}
.contact-form-intro{font-size:14px;color:#c9c6c1;line-height:1.5;margin-bottom:26px}
#contact-form{display:flex;flex-direction:column;gap:12px}
#contact-form input,#contact-form select,#contact-form textarea{display:block;width:100%;border:1px solid #ffffff24;border-radius:14px;background:#ffffff03;color:#eeebe6;font:inherit;font-size:14px;padding:15px 17px;box-shadow:none;transition:border-color .2s,box-shadow .2s;transform:none}
#contact-form input::placeholder,#contact-form textarea::placeholder{color:#c7c4bf;opacity:1}
#contact-form input,#contact-form select{min-height:50px}
#contact-form select{appearance:none;padding-right:40px;cursor:pointer;color-scheme:dark}
#contact-form select option{background:#292925;color:#eee}
.contact-select-wrap,.contact-message-wrap{position:relative}
#contact .contact-select-wrap svg{position:absolute;right:16px;top:17px;width:17px;height:17px;pointer-events:none}
#contact-form textarea{min-height:128px;resize:vertical;padding-bottom:34px;line-height:1.5}
#contact-counter{position:absolute;bottom:12px;right:17px;font-size:12px;color:#b8b2aa;pointer-events:none}
#contact-form :is(input,select,textarea):focus-visible{outline:0;border-color:#cb9b5e;box-shadow:0 0 0 3px #b8874f30}
#contact .contact-submit{border:0;display:flex;align-items:center;justify-content:center;gap:15px;border-radius:100px;background:#b8874f;color:#fff;font:inherit;font-size:14px;font-weight:600;padding:13px 22px;min-height:46px;cursor:pointer;margin-top:6px;transition:background .2s}
#contact .contact-submit svg{width:21px;height:21px}.contact-submit:hover{background:#a87539!important}
#contact a:focus-visible,#contact button:focus-visible{outline:3px solid #b8874f;outline-offset:5px}
.contact-delivery-note{font-size:12px;color:#c5c0b8;text-align:center;line-height:1.5;margin-top:4px}
.contact-form-status{font-size:12px;color:#e2c49e;line-height:1.5;text-align:center}.contact-form-status:empty{display:none}
.contact-colophon{display:flex;justify-content:flex-end;align-items:center;gap:22px;text-transform:uppercase;letter-spacing:1px;font-size:11px;color:#38332d;margin:46px auto 0;max-width:1480px}
.contact-colophon i{width:75px;height:1px;background:#51473e}
.contact-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.contact-in-view .nav-links a[href="#contact"]::after{width:100%;background:#b8874f}
body.contact-in-view .floating-whatsapp{visibility:hidden}
@media(max-width:1200px){.contact-layout{gap:50px;grid-template-columns:1.2fr 1fr}.contact-purpose{padding:0 10px}.contact-details{grid-template-columns:1fr;margin-right:0;gap:18px;padding:24px}.contact-details>a,.contact-details>div{border:0;padding:0}.contact-form-card{padding:28px}.contact-motto{margin-right:0}.contact-signature{margin-top:30px}}
@media(max-width:900px){#contact.contact-studio{padding:175px 6% 32px}.contact-layout{grid-template-columns:1fr;gap:38px;max-width:660px}.contact-architecture{inset:42% 0 0;background-position:center}#contact::before{background:linear-gradient(180deg,#eae7e1 0%,#eae7e1 40%,rgba(234,231,225,.85) 52%,rgba(234,231,225,.1) 75%)}#contact-title{font-size:clamp(48px,8vw,70px)}.contact-lead{max-width:540px}.contact-details{margin:0;grid-template-columns:1fr 1fr}.contact-details>:last-child{grid-column:1/-1}.contact-purposes{margin-bottom:30px}.contact-gold-rule{margin:28px 0 36px}.contact-signature{margin-top:30px}.contact-form-column{max-width:540px;width:100%;justify-self:center}.contact-motto{display:none}.contact-colophon{justify-content:center;flex-wrap:wrap;font-size:10px;gap:14px}.contact-colophon i{width:30px}}
@media(max-width:480px){#contact.contact-studio{padding:170px 6% 28px}#contact-title{font-size:47px;letter-spacing:-2px}.contact-lead{font-size:17px}.contact-purposes{grid-template-columns:1fr 1fr;gap:25px 0}.contact-purpose{padding:0 15px}.contact-purpose:nth-child(3){padding-left:0}.contact-purpose:nth-child(2){border:0}.contact-details{grid-template-columns:1fr;padding:24px}.contact-details>:last-child{grid-column:auto}.contact-signature p{font-size:29px}.contact-form-card{padding:25px 20px;border-radius:21px}.contact-form-card h3{font-size:24px}#contact-form input,#contact-form select,#contact-form textarea{font-size:16px}.contact-colophon{letter-spacing:.5px}}

/* Desktop contact uses available height, with a different composition on low
   screens. Minimum control sizes and intrinsic height take priority over fitting. */
@media (min-width: 1181px) {
  #contact.contact-studio {min-height: 100dvh; padding: var(--section-top) 5% var(--section-bottom); display: flex; flex-direction: column;}
  .contact-layout {max-width: 1850px; width: 100%; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(48px, 7vw, 150px); align-items: center;}
  .contact-eyebrow {margin-bottom: 16px;}
  #contact-title {font-size: clamp(2.8rem, min(5vw, 7.5dvh), 5.4rem); margin-bottom: 20px; letter-spacing: -.045em;}
  .contact-lead {font-size: clamp(1rem, 1.7dvh, 1.25rem); max-width: 540px;}
  .contact-gold-rule {margin: 24px 0 28px;}
  .contact-purposes {margin: 0 0 24px;}
  .contact-purpose {padding: 0 12px;}
  .contact-purpose svg {margin-bottom: 10px;}
  .contact-details {margin: 0; padding: 20px 16px; grid-template-columns: 1.2fr 1fr 1fr; gap: 0;}
  .contact-details > a,.contact-details > div {padding: 0 12px; gap: 8px;}
  .contact-details > :first-child {padding-left: 0;}
  .contact-details > :last-child {padding-right: 0;}
  #contact .contact-details svg {width: 24px; height: 24px;}
  .contact-signature {margin-top: 24px;}
  .contact-signature p {font-size: clamp(26px, 3.4dvh, 38px);}
  .contact-motto {font-size: 14px; margin-bottom: 20px; letter-spacing: 4px;}
  .contact-motto span {margin-top: 12px;}
  .contact-form-card {padding: clamp(22px, 3dvh, 38px);}
  .contact-form-intro {margin-bottom: 20px;}
  #contact-form {gap: 10px;}
  #contact-form input,#contact-form select {min-height: 46px; padding: 12px 15px;}
  #contact-form textarea {min-height: clamp(100px, 13dvh, 170px);}
  #contact .contact-select-wrap svg {top: 15px;}
  .contact-colophon {margin-top: 24px;}
}
@media (min-width: 1181px) and (max-height: 800px) {
  .contact-layout {align-items: start;}
  .contact-motto {display: flex; align-items: center; gap: 10px; width: auto; font-size: 12px; letter-spacing: 2px; margin: 0 0 14px;}
  .contact-motto br {display: none;}
  .contact-motto span {width: 28px; margin: 0;}
  .contact-purpose {display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 3px 8px; padding: 0 10px;}
  #contact .contact-purpose svg {width: 24px; height: 24px; grid-row: 1 / 3; margin: 0;}
  .contact-purpose h3 {font-size: 12px; grid-column: 1 / -1;}
  .contact-purpose p {grid-column: 1 / -1;}
  #contact .contact-purpose svg {grid-row: auto; margin-bottom: 3px;}
  .contact-details {padding: 16px 12px;}
  .contact-details > a,.contact-details > div {display: grid; grid-template-columns: 1fr; gap: 6px;}
  .contact-signature {margin-top: 18px;}
  .contact-form-card {padding: 22px 26px;}
  .contact-form-card h3 {font-size: 24px;}
  #contact-form {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px;}
  #contact-form > * {min-width: 0;}
  #contact-name,#contact-email {grid-column: auto;}
  #contact-form .contact-select-wrap,#contact-form .contact-message-wrap,#contact-form button,#contact-form > p {grid-column: 1 / -1;}
  #contact-form input,#contact-form select {min-height: 44px; padding: 10px 13px;}
  #contact-form textarea {min-height: 100px;}
  .contact-colophon {margin-top: 18px;}
}
@media (min-width: 1181px) and (max-height: 700px) {
  #contact-title {font-size: clamp(2.6rem, 7dvh, 3rem); margin-bottom: 14px;}
  .contact-eyebrow {margin-bottom: 10px;}
  .contact-gold-rule {margin: 18px 0;}
  .contact-purposes {margin-bottom: 18px;}
  .contact-form-card {padding: 20px;}
  .contact-form-intro {margin-bottom: 14px;}
  #contact-form textarea {min-height: 84px;}
  .contact-signature {margin-top: 12px;}
  .contact-colophon {margin-top: 10px;}
}
