.ct-page { color: var(--ink); padding-bottom: 90px; }
.ct-hero { padding-top: 145px; padding-bottom: 52px; }
.ct-eyebrow,.ct-step { color: var(--gold-deep); font-size: 14px; letter-spacing: .13em; font-weight: 600; }
.ct-hero h1 { font-size: clamp(42px,5.2vw,74px); line-height: 1.06; max-width: 950px; margin: 22px 0; }
.ct-page p { font-size: 20px; line-height: 1.7; color: var(--muted); }
.ct-hero p { max-width: 780px; }
.ct-layout { display: grid; grid-template-columns: .85fr 1.3fr; gap: 28px; align-items: start; }
.ct-connect { position: relative; overflow: hidden; background: #12331f; border: 1px solid #c4a55355; color: #f7f6e9; padding: 40px; border-radius: 28px; }
.ct-connect::before { content: ''; position: absolute; width: 350px; height: 350px; right: -240px; top: -200px; border: 1px solid #e3c26355; border-radius: 50%; pointer-events: none; }
.ct-connect .ct-eyebrow { color: #e7c866; }
.ct-connect h2 { font-size: 36px; line-height: 1.15; color: inherit; margin: 24px 0 36px; }
.ct-contact-line { position: relative; display: block; border-top: 1px solid #d6bf7044; padding: 24px 24px 24px 0; }
.ct-contact-line span { display: block; font-size: 16px; color: #d4dfd1; margin-bottom: 10px; }
.ct-contact-line strong { font-size: 20px; font-weight: 500; color: #fff7df; overflow-wrap: anywhere; }
.ct-contact-line i { position: absolute; right: 0; top: 28px; font-size: 22px; color: #e7c866; font-style: normal; }
.ct-connect .ct-location { color: #d4dfd1; margin: 12px 0 28px; }
.ct-wa { display: inline-block; border: 1px solid #dfc05b; color: #f3d77c; padding: 14px 20px; border-radius: 50px; font-size: 20px; }
.ct-brand { margin-top: 68px; padding-top: 28px; border-top: 1px solid #d6bf7044; letter-spacing: .12em; color: #dfc05b; font-size: clamp(30px,3vw,48px); line-height: 1.2; }
.ct-brand span { font-size: 16px; }
.ct-form-card { padding: 40px; background: var(--paper); border: 1px solid var(--line); border-radius: 28px; box-shadow: 0 20px 50px var(--shadow); }
.ct-form-card h2 { font-size: 36px; line-height: 1.2; margin: 18px 0; }
.ct-form-card header p { margin-bottom: 28px; }
.ct-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.ct-wide { grid-column: 1/-1; }
.ct-fields { align-items: start; }
.ct-phone-hint { color: var(--muted); font-size: 14px; font-weight: 400; line-height: 1.5; }
.ct-page label { display: grid; gap: 10px; font-size: 20px; min-width: 0; }
.ct-page :is(input,select,textarea) { box-sizing: border-box; width: 100%; min-width: 0; border: 1px solid var(--line); background: var(--surface-2); color: var(--ink); border-radius: 12px; font: inherit; font-size: 20px; padding: 14px; }
.ct-page textarea { resize: vertical; line-height: 1.6; }
.ct-page :is(input,textarea)::placeholder { color: var(--muted); opacity: 1; }
.ct-page .ct-note { font-size: 16px; margin: 24px 0; }
.ct-submit,.ct-send a { display: inline-block; cursor: pointer; font: inherit; font-size: 20px; line-height: 1.5; border: 0; border-radius: 50px; padding: 15px 24px; background: #173e27; color: #fff; transition: background .2s,transform .2s; }
.ct-submit:hover,.ct-send a:hover { background: #285d3b; transform: translateY(-2px); }
.ct-result { margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--line); }
.ct-result h3 { font-size: 24px; line-height: 1.4; }
.ct-send { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 20px; }
.ct-page [hidden] { display: none !important; }
.ct-page :is(a,button,input,textarea,select):focus-visible { outline: 3px solid var(--gold-deep); outline-offset: 4px; }
.ct-page :is(h1,h2,h3,p,a,label) { overflow-wrap: anywhere; }
@media(max-width:1000px) { .ct-layout { grid-template-columns: 1fr; } .ct-brand { display: none; } .ct-connect { padding: 32px; } }
@media(max-width:600px) { .ct-hero { padding-top: 110px; padding-bottom: 28px; } .ct-fields { grid-template-columns: 1fr; } .ct-form-card,.ct-connect { padding: 24px; border-radius: 22px; } .ct-submit { width: 100%; } .ct-send { flex-direction: column; } .ct-send a { text-align: center; } }
@media(prefers-reduced-motion:reduce) { .ct-submit,.ct-send a { transition: none; } .ct-submit:hover,.ct-send a:hover { transform: none; } }
