#ptb-contact * { box-sizing: border-box; margin: 0; padding: 0; }
#ptb-contact {
--gold: #C9A84C;
--gold-light: #E2C97E;
--gold-dim: rgba(201,168,76,0.15);
--gold-border: rgba(201,168,76,0.35);
--cream: #F5F0E8;
--cream-muted: rgba(245,240,232,0.55);
--cream-dim: rgba(245,240,232,0.25);
--obsidian: #0A0A0A;
--panel-bg: #0f0f0f;
--input-bg: #1a1a1a;
--font-serif: 'Playfair Display', Georgia, serif;
--font-sans: 'DM Sans', system-ui, sans-serif;
--ease-out: cubic-bezier(0.23, 1, 0.32, 1);
font-family: var(--font-sans);
background: var(--panel-bg);
padding: 80px clamp(1.5rem, 5vw, 4rem);
border-top: 1px solid rgba(201,168,76,0.08);
}
/* ── Two-column inner ── */
#ptb-contact .ct-inner {
display: grid;
grid-template-columns: 1fr 1.2fr;
gap: 72px;
max-width: 1100px;
margin: 0 auto;
align-items: start;
}
/* ─────────────────────────────────────────────
LEFT COLUMN — Copy
───────────────────────────────────────────── */
#ptb-contact .ct-copy {
padding-top: 8px;
}
#ptb-contact .ct-eyebrow {
font-size: 0.62rem;
font-weight: 700;
letter-spacing: 0.22em;
text-transform: uppercase;
color: var(--gold);
margin-bottom: 20px;
display: flex;
align-items: center;
gap: 10px;
}
#ptb-contact .ct-eyebrow::before {
content: '';
width: 28px;
height: 1px;
background: var(--gold);
opacity: 0.5;
flex-shrink: 0;
}
#ptb-contact .ct-headline {
font-family: var(--font-serif);
font-size: clamp(1.9rem, 3.5vw, 2.8rem);
font-weight: 700;
line-height: 1.15;
color: var(--cream);
margin-bottom: 20px;
letter-spacing: -0.01em;
}
#ptb-contact .ct-headline em {
font-style: italic;
color: var(--gold);
}
#ptb-contact .ct-body {
font-size: 0.92rem;
line-height: 1.75;
color: var(--cream-muted);
margin-bottom: 36px;
max-width: 380px;
}
/* Direct contact items */
#ptb-contact .ct-direct-list {
list-style: none;
display: flex;
flex-direction: column;
gap: 16px;
margin-bottom: 36px;
}
#ptb-contact .ct-direct-item {
display: flex;
align-items: center;
gap: 12px;
}
#ptb-contact .ct-direct-icon {
width: 36px;
height: 36px;
border: 1px solid var(--gold-border);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
color: var(--gold);
}
#ptb-contact .ct-direct-icon svg {
width: 16px;
height: 16px;
stroke: currentColor;
fill: none;
stroke-width: 1.75;
stroke-linecap: round;
stroke-linejoin: round;
}
#ptb-contact .ct-direct-label {
font-size: 0.65rem;
font-weight: 600;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--cream-dim);
margin-bottom: 2px;
}
#ptb-contact .ct-direct-value {
font-size: 0.9rem;
color: var(--cream-muted);
}
#ptb-contact .ct-direct-value a {
color: var(--cream-muted);
text-decoration: none;
transition: color 0.2s;
}
#ptb-contact .ct-direct-value a:hover {
color: var(--gold);
}
/* License note */
#ptb-contact .ct-license {
font-size: 0.68rem;
color: var(--cream-dim);
line-height: 1.6;
border-top: 1px solid rgba(201,168,76,0.1);
padding-top: 20px;
}
/* ─────────────────────────────────────────────
RIGHT COLUMN — Form
───────────────────────────────────────────── */
#ptb-contact .ct-form-panel {
background: #141414;
border: 1px solid rgba(201,168,76,0.12);
padding: 40px 36px;
}
#ptb-contact .ct-form-title {
font-family: var(--font-serif);
font-size: 1.15rem;
font-weight: 700;
color: var(--cream);
margin-bottom: 24px;
padding-bottom: 16px;
border-bottom: 1px solid rgba(201,168,76,0.1);
}
/* Intent selector */
#ptb-contact .ct-intent-row {
display: flex;
gap: 0;
margin-bottom: 20px;
border: 1px solid rgba(201,168,76,0.2);
overflow: hidden;
}
#ptb-contact .ct-intent-radio {
position: absolute;
opacity: 0;
pointer-events: none;
width: 0;
height: 0;
}
#ptb-contact .ct-intent-btn {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
padding: 11px 8px;
background: transparent;
color: var(--cream-muted);
font-family: var(--font-sans);
font-size: 0.75rem;
font-weight: 500;
letter-spacing: 0.06em;
cursor: pointer;
transition: all 0.18s var(--ease-out);
user-select: none;
border-right: 1px solid rgba(201,168,76,0.15);
text-align: center;
}
#ptb-contact .ct-intent-btn:last-of-type {
border-right: none;
}
#ptb-contact .ct-intent-btn:hover {
color: var(--cream);
background: rgba(201,168,76,0.05);
}
#ptb-contact .ct-intent-btn.active {
background: rgba(201,168,76,0.12);
color: var(--gold);
font-weight: 600;
}
/* Field rows */
#ptb-contact .ct-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
margin-bottom: 12px;
}
#ptb-contact .ct-field {
display: flex;
flex-direction: column;
gap: 6px;
margin-bottom: 12px;
}
#ptb-contact .ct-field.no-mb { margin-bottom: 0; }
#ptb-contact .ct-label {
font-size: 0.65rem;
font-weight: 600;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--cream-dim);
}
#ptb-contact .ct-input,
#ptb-contact .ct-textarea {
background: var(--input-bg);
border: 1px solid rgba(201,168,76,0.18);
outline: none;
font-family: var(--font-sans);
font-size: 0.88rem;
color: var(--cream);
padding: 12px 14px;
width: 100%;
transition: border-color 0.2s;
-webkit-appearance: none;
}
#ptb-contact .ct-input::placeholder,
#ptb-contact .ct-textarea::placeholder {
color: rgba(245,240,232,0.22);
}
#ptb-contact .ct-input:focus,
#ptb-contact .ct-textarea:focus {
border-color: rgba(201,168,76,0.55);
}
#ptb-contact .ct-textarea {
resize: vertical;
min-height: 110px;
line-height: 1.6;
}
/* Submit */
#ptb-contact .ct-submit {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
background: var(--gold);
color: var(--obsidian);
font-family: var(--font-sans);
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.14em;
text-transform: uppercase;
border: none;
padding: 16px 24px;
cursor: pointer;
width: 100%;
margin-top: 20px;
transition: background 0.2s var(--ease-out);
}
#ptb-contact .ct-submit:hover { background: var(--gold-light); }
#ptb-contact .ct-submit:disabled { opacity: 0.6; cursor: not-allowed; }
/* Disclaimer */
#ptb-contact .ct-disclaimer {
font-size: 0.68rem;
color: rgba(245,240,232,0.25);
text-align: center;
margin-top: 12px;
line-height: 1.5;
}
/* Success */
#ptb-contact .ct-success {
display: none;
text-align: center;
padding: 40px 20px;
}
#ptb-contact .ct-success-check {
font-size: 2.2rem;
color: var(--gold);
margin-bottom: 16px;
line-height: 1;
}
#ptb-contact .ct-success-headline {
font-family: var(--font-serif);
font-size: 1.4rem;
font-weight: 700;
color: var(--cream);
margin-bottom: 10px;
}
#ptb-contact .ct-success-body {
font-size: 0.88rem;
color: var(--cream-muted);
line-height: 1.65;
}
/* ── Mobile ── */
@media (max-width: 860px) {
#ptb-contact .ct-inner {
grid-template-columns: 1fr;
gap: 48px;
}
#ptb-contact .ct-body { max-width: 100%; }
}
@media (max-width: 540px) {
#ptb-contact {
padding: 56px 18px 64px;
}
#ptb-contact .ct-form-panel {
padding: 28px 20px;
}
#ptb-contact .ct-row {
grid-template-columns: 1fr;
}
}