/*
COLLARTIVE CONTACT PAGE v1.9
Only Contact page styling lives here. Global brand values are in style.css.
The form is browser native and prepares an email draft, not a hosted submission.
*/
.ct-hero { color:var(--white); background:var(--forest) url('../assets/patterns/grid-green-tile.svg') repeat; background-size:83px 83px; overflow:hidden; }
.ct-hero-layout { min-height:700px; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:6%; align-items:center; }
.ct-hero-copy { padding:105px 0 100px; }
.ct-eyebrow { display:inline-flex; align-items:center; gap:10px; padding:10px 12px; background:#fffaf4; color:var(--ink); font:800 11px var(--display); letter-spacing:.04em; }
.ct-dot { background:var(--blue); width:8px; height:8px; border-radius:50%; }
.ct-hero h1 { font:900 clamp(64px,7.7vw,124px)/.89 var(--display); letter-spacing:-.098em; margin:37px 0 28px; }
.ct-hero h1 span { color:var(--sun); }
.ct-pink-dot { color:var(--hot-pink); }
.ct-hero-copy > p { font-size:clamp(17px,1.5vw,20px); line-height:1.5; max-width:520px; font-weight:600; margin:0 0 30px; }
.ct-tiles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; transform:rotate(-2deg); }
.ct-tile { min-width:0; min-height:192px; padding:18px; border:2px solid var(--white); display:flex; flex-direction:column; justify-content:space-between; color:var(--ink); }
.ct-tile > span:first-child { font:900 10px var(--display); letter-spacing:.05em; }
.ct-tile strong { font:900 clamp(20px,2.1vw,33px)/.97 var(--display); letter-spacing:-.06em; overflow-wrap:anywhere; }
.ct-tile > span:last-child { align-self:flex-end; font-size:28px; line-height:.7; }
.ct-tile-pink { background:var(--pink); transform:rotate(-3deg); }
.ct-tile-sun { background:var(--sun); transform:rotate(2deg) translateY(16px); }
.ct-tile-blue { background:var(--blue); color:#fff; transform:rotate(1deg) translateX(10px); }
.ct-tile-mint { background:#d7e5b8; transform:rotate(-2deg) translateY(7px); }
.ct-hero-foot { border-top:1px solid rgba(255,255,255,.6); display:flex; justify-content:space-between; padding:14px max(25px,calc((100vw - var(--container))/2)); font:900 10px var(--display); letter-spacing:.12em; }
.ct-enquiry { background:var(--cream); }
.ct-form-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:start; gap:clamp(38px,6vw,100px); margin-top:44px; }
.ct-form-aside h2 { font:900 clamp(54px,6vw,93px)/.9 var(--display); letter-spacing:-.09em; margin:5px 0 25px; }
.ct-form-aside h2 span { color:var(--blue); }
.ct-form-aside > p { font-size:18px; line-height:1.55; font-weight:600; max-width:480px; }
.ct-aside-note { display:flex; gap:16px; border-top:2px solid var(--ink); margin-top:45px; padding-top:22px; align-items:center; max-width:480px; }
.ct-aside-note > span { color:var(--hot-pink); font:900 52px/1 var(--display); }
.ct-aside-note p { font-size:15px; font-weight:600; line-height:1.5; margin:0; }
.ct-form-panel { min-width:0; border:2px solid var(--ink); background:#fff; box-shadow:12px 12px 0 var(--pink); }
.ct-form-header { background:var(--sun); border-bottom:2px solid var(--ink); padding:19px 22px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; font:900 12px var(--display); }
.ct-form-header span { font:800 10px var(--body); }
#contactEnquiryForm { padding:26px 25px 30px; }
.ct-form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.ct-field { min-width:0; margin-bottom:20px; }
.ct-field label { display:block; margin:0 0 8px; font:800 13px var(--body); }
.ct-field label span { color:#a42043; }
.ct-field input,.ct-field select,.ct-field textarea { display:block; width:100%; min-width:0; font:500 15px/1.4 var(--body); color:var(--ink); background:var(--cream); border:1.5px solid var(--ink); border-radius:0; padding:13px 12px; }
.ct-field textarea { resize:vertical; min-height:130px; }
.ct-field input:focus,.ct-field select:focus,.ct-field textarea:focus { outline:3px solid var(--blue); outline-offset:2px; }
.ct-field input::placeholder,.ct-field textarea::placeholder { color:#697568; opacity:1; }
.ct-privacy-note { font-size:13px; line-height:1.5; margin:0 0 20px; color:#39453d; }
.ct-submit { display:flex; cursor:pointer; width:100%; justify-content:space-between; align-items:center; background:var(--forest); color:white; border:2px solid var(--forest); padding:18px 20px; font:900 13px var(--display); }
.ct-submit:hover,.ct-submit:focus-visible { background:var(--blue); border-color:var(--blue); }
.ct-submit span { font-size:22px; }
.ct-sending-note { font-size:12px; line-height:1.45; margin:13px 0 0; }
.ct-form-status { font-size:13px; line-height:1.45; font-weight:700; margin:10px 0 0; min-height:0; }
.ct-form-status:empty { display:none; }
.ct-direct { background-color:var(--sun); padding:100px 0; }
.ct-direct-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.83fr); gap:10%; align-items:end; }
.ct-direct h2 { font:900 clamp(56px,6.4vw,104px)/.9 var(--display); letter-spacing:-.09em; margin:35px 0 24px; }
.ct-direct h2 span { color:var(--blue); }
.ct-direct-layout > div:first-child > p { font-size:17px; line-height:1.55; font-weight:600; max-width:520px; }
.ct-direct-links { border-top:2px solid var(--ink); }
.ct-direct-links a { display:grid; grid-template-columns:1fr auto; row-gap:8px; align-items:center; border-bottom:2px solid var(--ink); padding:20px 5px; }
.ct-direct-links a > span:first-child { grid-column:1/3; font:900 10px var(--body); letter-spacing:.08em; }
.ct-direct-links strong { font:900 clamp(19px,2vw,31px)/1 var(--display); letter-spacing:-.05em; overflow-wrap:anywhere; }
.ct-direct-links a > span:last-child { font-size:24px; }
.ct-direct-links a:hover { color:var(--blue); }
.ct-direct-links > p { margin:15px 0 0; font-size:12px; line-height:1.5; }
@media(max-width:1120px) { .ct-hero-layout { gap:3%; } .ct-tile { min-height:158px; } .ct-tile strong { font-size:clamp(18px,2vw,27px); } }
@media(max-width:780px) { .ct-hero-layout,.ct-form-layout,.ct-direct-layout { grid-template-columns:1fr; } .ct-hero-copy { padding:85px 0 25px; } .ct-tiles { max-width:640px; width:100%; margin:20px auto 65px; } .ct-tile { min-height:170px; } .ct-form-aside h2 { font-size:clamp(55px,9.2vw,82px); } .ct-direct-layout { gap:30px; } }
@media(max-width:560px) { .ct-hero h1 { font-size:clamp(57px,13vw,78px); } .ct-hero-copy { padding:62px 0 10px; } .ct-hero-copy > p { font-size:16px; } .ct-hero-copy .button { width:100%; } .ct-tiles { gap:7px; margin-top:26px; margin-bottom:50px; transform:rotate(-1deg); } .ct-tile { min-height:138px; padding:12px; } .ct-tile strong { font-size:clamp(17px,5vw,25px); } .ct-tile > span:first-child { font-size:8px; } .ct-tile > span:last-child { font-size:23px; } .ct-hero-foot span:last-child { display:none; } .ct-form-aside h2 { font-size:clamp(46px,11vw,61px); } .ct-form-row { grid-template-columns:1fr; gap:0; } #contactEnquiryForm { padding:20px 17px 24px; } .ct-form-header { padding:16px; } .ct-direct { padding:70px 0; } .ct-direct h2 { font-size:clamp(49px,11.4vw,69px); } }
@media(prefers-reduced-motion:reduce) { .ct-tile { transform:none; } }

/* Responsive safety: prevent long form content from expanding the grid. */
.ct-form-layout > * { min-width:0; }
.ct-form-aside h2 { overflow-wrap:break-word; }
.ct-sending-note a { color:var(--blue); text-decoration:underline; font-weight:800; }

/* CONTACT 1.9.2 / Fallback if the visitor has no default email handler. */
.ct-copy-btn {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  cursor: pointer;
  border: 2px solid var(--ink);
  background: transparent;
  color: var(--ink);
  margin-top: 12px;
  padding: 15px 18px;
  font: 900 13px/1.2 var(--display);
}
.ct-copy-btn:hover, .ct-copy-btn:focus-visible { background: var(--sun); }
.ct-copy-fallback { width:100%; margin-top:12px; padding:13px; border:2px solid var(--ink); font: 13px/1.5 monospace; }
.ct-copy-fallback[hidden] { display: none; }
