/* One form skin for the shared popup, homepage, services, and contact page. */
.inkstone-design form.ink-enquiry-form { color:var(--ink-green); }
.inkstone-design form.ink-enquiry-form .ink-enquiry-control { position:relative; min-width:0; }
.inkstone-design .ink-enquiry-control > .fa { position:absolute; top:18px; left:15px; z-index:1; width:18px; color:var(--ink-green); font:16px/1 FontAwesome!important; pointer-events:none; }
.inkstone-design form.ink-enquiry-form .ink-input { width:100%!important; min-height:52px!important; border:1px solid var(--ink-border)!important; border-radius:8px!important; background:var(--ink-ivory)!important; color:var(--ink-green)!important; font:400 14px/1.5 var(--ink-font-body)!important; padding:14px 16px 14px 44px!important; margin:0!important; box-shadow:none!important; }
.inkstone-design form.ink-enquiry-form textarea.ink-input { padding-bottom:30px!important; min-height:140px!important; resize:vertical; }
.inkstone-design form.ink-enquiry-form .ink-input:focus { outline:2px solid var(--ink-gold)!important; outline-offset:2px; border-color:var(--ink-gold-ink)!important; }
.inkstone-design form.ink-enquiry-form .ink-input::placeholder { color:var(--ink-muted)!important; opacity:1; }
.inkstone-design form.ink-enquiry-form label:not(.contact-attach):not(:has([type=checkbox])) { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:nowrap!important; }
.inkstone-design form.ink-enquiry-form .ink-enquiry-counter { position:absolute; right:14px; bottom:10px; color:var(--ink-muted); font:400 10px/1 var(--ink-font-body)!important; }
.inkstone-design form.ink-enquiry-form [type=submit] { display:flex!important; justify-content:center; align-items:center; gap:16px; width:100%!important; min-height:52px!important; padding:14px 24px!important; background:var(--ink-green)!important; color:var(--ink-on-dark)!important; border:1px solid var(--ink-green)!important; border-radius:999px!important; font:500 14px/1.5 var(--ink-font-body)!important; cursor:pointer; }
.inkstone-design form.ink-enquiry-form [type=submit]:hover { background:var(--ink-green-hover)!important; }
.inkstone-design .hp-inquiry-form,.inkstone-design form.sp-form { padding:32px!important; border:1px solid var(--ink-border); border-radius:16px; background:var(--ink-paper); }
.inkstone-design :is(.hp-inquiry-form,.sp-form) :is(.hp-form-actions p,.sp-form-actions p) { color:var(--ink-body)!important; font-size:12px!important; }
.inkstone-design :is(.hp-inquiry-form,.sp-form) :is(.hp-form-actions p,.sp-form-actions p) a { color:var(--ink-green)!important; }
.inkstone-design form.ink-enquiry-form :is(.hp-form-actions,.sp-form-actions) { display:flex; flex-direction:column; align-items:stretch; gap:16px; }
.inkstone-design form.ink-enquiry-form :is(.hp-form-actions,.sp-form-actions) p { text-align:center; margin:0; }
.ink-consultation-open { overflow:hidden!important; }
.inkstone-design .ink-consultation { position:fixed; inset:0; width:min(980px,calc(100vw - 40px)); max-width:none; max-height:calc(100dvh - 40px); margin:auto; padding:0; border:1px solid #d9b67660; border-radius:18px; background:var(--ink-paper); color:var(--ink-green); box-shadow:0 30px 100px #0006; overflow:auto; overscroll-behavior:contain; font-family:var(--ink-font-body); }
.ink-consultation:not([open]) { display:none; }
.ink-consultation::backdrop { background:#071b16aa; backdrop-filter:blur(5px); }
.ink-consultation-layout { display:grid; grid-template-columns:38% 62%; min-height:630px; }
.ink-consultation-story { position:relative; padding:30px 36px 160px; background:linear-gradient(180deg,#071b16bb,#071b16c9 65%,#071b1610),url('../images/footer/library-background.webp') left bottom/auto 100% no-repeat,var(--ink-green); color:var(--ink-on-dark); }
.ink-consultation-logo { display:block; width:150px; height:95px; object-fit:contain; filter:brightness(0) invert(.96); margin:-20px 0 -5px -4px; }
.ink-consultation-rule { width:30px; height:1px; background:var(--ink-gold); margin:14px 0 18px; }
.ink-consultation-story h2 { font:400 42px/1.02 var(--ink-font-heading); letter-spacing:-.025em; color:var(--ink-on-dark); margin:0 0 16px; }
.ink-consultation-story > p { font:400 13px/1.65 var(--ink-font-body); color:var(--ink-on-dark); margin:0 0 22px; }
.ink-consultation-story ul { display:grid; gap:16px; margin:0; padding:0; list-style:none; }
.ink-consultation-story li { display:flex; gap:14px; align-items:center; font:400 12px/1.5 var(--ink-font-body); }
.ink-consultation-story li > .fa { display:grid; place-items:center; flex:0 0 36px; height:36px; border:1px solid var(--ink-gold); border-radius:50%; color:var(--ink-gold); font-size:17px; }
.ink-consultation-story small { display:block; font-size:10px; color:var(--ink-body-on-dark); }
.ink-consultation-content { position:relative; padding:60px 44px 40px; background:var(--ink-ivory) url('../images/services/paper-texture.svg') center/700px; }
.ink-consultation-content::after { content:''; position:absolute; right:0; bottom:0; width:180px; height:180px; background:url('../images/services/gold-sprig.svg') right bottom/contain no-repeat; opacity:.16; pointer-events:none; }
.ink-consultation-content > *, .ink-consultation-content form { position:relative; z-index:1; }
.inkstone-design .ink-consultation-close { position:absolute; z-index:2; right:16px; top:16px; display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--ink-border); border-radius:50%; background:transparent; color:var(--ink-green); font:300 24px/1 var(--ink-font-body); cursor:pointer; }
.ink-consultation-close:hover { background:var(--ink-paper); }
.ink-consultation-eyebrow { display:flex; align-items:center; gap:12px; font:500 10px/1.6 var(--ink-font-body); text-transform:uppercase; letter-spacing:.1em; color:var(--ink-gold-ink); margin:0 0 12px; }
.ink-consultation-eyebrow::before { content:''; width:24px; height:1px; background:var(--ink-gold-ink); }
.ink-consultation-content > h2 { color:var(--ink-green); font:400 32px/1.15 var(--ink-font-heading); letter-spacing:-.025em; margin:0 0 12px; }
.ink-consultation-content > p:not(.ink-consultation-eyebrow) { color:var(--ink-body); font:400 13px/1.7 var(--ink-font-body); margin-bottom:28px; }
.ink-consultation-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-bottom:20px; }
.ink-consultation-message { grid-column:1/-1; }
.ink-consultation-privacy { display:block; color:var(--ink-muted); font:400 10px/1.6 var(--ink-font-body); text-align:center; margin:16px 0 0; }
.ink-consultation-privacy .fa { color:var(--ink-gold-ink); margin-right:6px; }
.ink-consultation-privacy a { color:var(--ink-green); text-decoration:underline; }
.ink-consultation :is(button,a):focus-visible { outline:2px solid var(--ink-gold-ink); outline-offset:3px; }
@media (max-width:767px) {
  .inkstone-design .ink-consultation { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); }
  .ink-consultation-layout { grid-template-columns:1fr; min-height:0; }
  .ink-consultation-story { display:none; }
  .ink-consultation-content { padding:54px 24px 28px; }
  .ink-consultation-content > h2 { font-size:30px; }
  .ink-consultation-fields { grid-template-columns:1fr; gap:12px; }
  .inkstone-design form.ink-enquiry-form .ink-input { font-size:16px!important; }
  .inkstone-design .hp-inquiry-form,.inkstone-design form.sp-form { padding:24px!important; }
}
@media (prefers-reduced-motion:reduce) {
  .ink-consultation *, .ink-enquiry-form * { transition:none!important; animation:none!important; }
}
