.elementor-287 .elementor-element.elementor-element-c64c932{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:70px;--padding-bottom:70px;--padding-left:0px;--padding-right:0px;}.elementor-287 .elementor-element.elementor-element-c64c932:not(.elementor-motion-effects-element-type-background), .elementor-287 .elementor-element.elementor-element-c64c932 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://bookpublish.online/Gary/wp-content/uploads/2026/10/353b6120-a0f8-44d0-a5c1-d17ca5d0ce0d.webp");}.elementor-287 .elementor-element.elementor-element-c202273{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-287 .elementor-element.elementor-element-c202273.e-con{--align-self:center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-287 .elementor-element.elementor-element-98b9ac0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-287 .elementor-element.elementor-element-df2b1f5 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-287 .elementor-element.elementor-element-df2b1f5 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-287 .elementor-element.elementor-element-df2b1f5 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-287 .elementor-element.elementor-element-df2b1f5 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-287 .elementor-element.elementor-element-df2b1f5 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-287 .elementor-element.elementor-element-df2b1f5 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-287 .elementor-element.elementor-element-df2b1f5 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-287 .elementor-element.elementor-element-df2b1f5 .elementor-field-type-html{padding-bottom:0px;}.elementor-287 .elementor-element.elementor-element-df2b1f5 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-287 .elementor-element.elementor-element-df2b1f5 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-287 .elementor-element.elementor-element-df2b1f5 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-287 .elementor-element.elementor-element-df2b1f5 .elementor-button[type="submit"]{color:#ffffff;}.elementor-287 .elementor-element.elementor-element-df2b1f5 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-287 .elementor-element.elementor-element-df2b1f5 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-287 .elementor-element.elementor-element-df2b1f5 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-287 .elementor-element.elementor-element-df2b1f5 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-287 .elementor-element.elementor-element-df2b1f5 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-287 .elementor-element.elementor-element-df2b1f5 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-287 .elementor-element.elementor-element-df2b1f5{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-287 .elementor-element.elementor-element-ea602ea{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-287 .elementor-element.elementor-element-c64c932{--content-width:1400px;}.elementor-287 .elementor-element.elementor-element-c202273{--width:50%;}.elementor-287 .elementor-element.elementor-element-98b9ac0{--width:50%;}}/* Start custom CSS for container, class: .elementor-element-c64c932 *//* =========================================================
   GARY O'CALLAGHAN · SOLID
   CONTACT SECTION WITH FORM (Elementor)
   Forest, oak and cream palette from the Four Traits section.
   Works on the existing widgets. No HTML changes needed.
   Section class: creativesectionwithform
========================================================= */

.creativesectionwithform {
    --cf-cream: #f0e9dd;
    --cf-gold: #d19a55;
    --cf-gold-soft: #d0ad77;
    --cf-oak: #a96f37;
    --cf-forest: #12241b;
    --cf-forest-dark: #09130e;
    --cf-moss: #718267;
    --cf-sage: #9eaa91;
    --cf-serif: Georgia, "Times New Roman", serif;
    --cf-sans: Arial, sans-serif;

    position: relative;

    padding: clamp(64px, 7.5vw, 120px) 5% !important;

    overflow: hidden;

    color: var(--cf-cream) !important;

    /* wood grain, moss glow behind the form, oak rings bottom-left, forest base */
    background:
        repeating-linear-gradient(
            91deg,
            transparent 0 25px,
            rgba(231,198,148,.02) 26px,
            transparent 27px 55px
        ),
        radial-gradient(45% 60% at 80% 45%, rgba(121,149,112,.18), transparent 70%),
        radial-gradient(35% 45% at 12% 20%, rgba(209,154,85,.07), transparent 70%),
        repeating-radial-gradient(
            circle at 0% 100%,
            transparent 0 26px,
            rgba(209,154,85,.05) 26px 27px
        ),
        linear-gradient(135deg, #172d22 0%, #0d1c15 45%, #09130e 100%) !important;
}

.creativesectionwithform *,
.creativesectionwithform *::before,
.creativesectionwithform *::after {
    box-sizing: border-box;
}


/* =========================================================
   TWO COLUMNS: copy left, form right
========================================================= */

.creativesectionwithform > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;

    gap: clamp(36px, 5vw, 84px) !important;

    width: 100%;
    max-width: 1240px !important;

    margin: 0 auto !important;
    padding: 0 !important;
}

.creativesectionwithform > .e-con-inner > .e-con {
    min-width: 0;

    padding: 0 !important;
}

.creativesectionwithform > .e-con-inner > .e-con:first-child {
    flex: 1 1 46% !important;

    width: auto !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;

    gap: 0 !important;
}

.creativesectionwithform > .e-con-inner > .e-con:last-child {
    flex: 1 1 54% !important;

    width: auto !important;
}

.creativesectionwithform .elementor-widget {
    width: 100%;

    margin: 0 !important;
}


/* =========================================================
   HEADING (H1)
========================================================= */

.creativesectionwithform h1.elementor-heading-title {
    position: relative;

    margin: 0 !important;
    padding: 0 0 26px !important;

    color: var(--cf-cream) !important;

    font-family: var(--cf-serif) !important;
    font-size: clamp(36px, 4.2vw, 60px) !important;
    font-weight: 400 !important;
    font-style: normal !important;

    line-height: 1 !important;
    letter-spacing: -.035em !important;

    text-transform: none !important;

    /* cream fading into oak gold, like "ONE SOLID CORE." */
    background:
        linear-gradient(
            100deg,
            #f0e9dd 0%,
            #f0e9dd 45%,
            #d0ad77 80%,
            #a96f37 100%
        );

    -webkit-background-clip: text;
    background-clip: text;

    -webkit-text-fill-color: transparent;
}

/* oak line under the heading */

.creativesectionwithform h1.elementor-heading-title::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: 0;

    width: 130px;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            var(--cf-gold),
            rgba(209,154,85,.15),
            transparent
        );
}

/* diamond at the start of the line */

.creativesectionwithform h1.elementor-heading-title::before {
    content: "";

    position: absolute;

    left: 0;
    bottom: -3px;

    width: 6px;
    height: 6px;

    transform: rotate(45deg);

    background: var(--cf-gold);

    box-shadow: 0 0 12px rgba(209,154,85,.45);
}


/* =========================================================
   TEXT WIDGETS
========================================================= */

.creativesectionwithform .elementor-widget-text-editor,
.creativesectionwithform .elementor-widget-text-editor p {
    margin: 0 !important;

    color: rgba(240,233,221,.66) !important;

    font-family: var(--cf-sans) !important;
    font-size: 15px !important;
    font-weight: 400 !important;

    line-height: 1.85 !important;
}

.creativesectionwithform .elementor-widget-text-editor {
    margin-top: 24px !important;
}

/* second paragraph: shown as a quiet quote, like the trait taglines */

.creativesectionwithform .elementor-widget-text-editor + .elementor-widget-text-editor {
    margin-top: 24px !important;
    padding: 4px 0 4px 20px !important;

    border-left: 1px solid rgba(209,154,85,.55);
}

.creativesectionwithform .elementor-widget-text-editor + .elementor-widget-text-editor,
.creativesectionwithform .elementor-widget-text-editor + .elementor-widget-text-editor p {
    color: var(--cf-gold-soft) !important;

    font-family: var(--cf-serif) !important;
    font-size: clamp(18px, 1.5vw, 21px) !important;
    font-style: italic !important;
    font-weight: 400 !important;

    line-height: 1.5 !important;
}


/* =========================================================
   EMAIL (H4)
========================================================= */

.creativesectionwithform h4.elementor-heading-title {
    display: inline-flex;
    align-items: center;

    gap: 14px;

    max-width: 100%;

    margin: 32px 0 0 !important;
    padding: 9px 22px 9px 9px !important;

    border: 1px solid rgba(209,154,85,.32);
    border-radius: 60px;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.055),
            rgba(255,255,255,.018)
        );

    color: var(--cf-gold-soft) !important;

    font-family: var(--cf-sans) !important;
    font-size: 15px !important;
    font-weight: 500 !important;

    line-height: 1.3 !important;
    letter-spacing: .02em !important;

    text-transform: none !important;

    overflow-wrap: anywhere;

    transition: border-color .4s ease;
}

.creativesectionwithform h4.elementor-heading-title:hover {
    border-color: rgba(209,154,85,.55);
}

.creativesectionwithform h4.elementor-heading-title a {
    color: inherit !important;

    text-decoration: none !important;
}

/* "@" badge styled like the solid core badge */

.creativesectionwithform h4.elementor-heading-title::before {
    content: "@";

    flex: none;

    width: 40px;
    height: 40px;

    display: grid;
    place-items: center;

    border: 1px solid rgba(204,157,91,.45);
    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            #1d3528,
            #0f2118
        );

    box-shadow:
        0 0 0 5px rgba(195,146,78,.04),
        0 0 20px rgba(207,154,85,.15);

    color: #e6c28a;

    font-family: var(--cf-serif);
    font-size: 20px;
    font-style: italic;
    font-weight: 400;

    line-height: 1;
}


/* =========================================================
   FORM CARD
========================================================= */

.creativesectionwithform .elementor-widget-form {
    position: relative;

    padding: clamp(26px, 3.2vw, 44px) !important;

    overflow: hidden;

    border: 1px solid rgba(228,216,194,.12);
    border-radius: 2px;

    /* oak bar on top, then glass panel like the trait cards */
    background:
        linear-gradient(90deg, var(--cf-gold), var(--cf-oak) 45%, rgba(169,111,55,0)) top left / 100% 2px no-repeat,
        linear-gradient(135deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.02) 55%, rgba(9,19,14,.55) 100%);

    box-shadow:
        0 30px 60px rgba(0,0,0,.35),
        0 0 60px rgba(121,149,112,.08);

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    transition:
        border-color .5s ease,
        box-shadow .5s ease;
}

/* soft light in the top-right corner */

.creativesectionwithform .elementor-widget-form::before {
    content: "";

    position: absolute;

    top: -140px;
    right: -130px;

    width: 300px;
    height: 300px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(209,154,85,.16),
            transparent 70%
        );

    pointer-events: none;
}

.creativesectionwithform .elementor-widget-form > * {
    position: relative;
    z-index: 1;
}

/* card warms up while someone is typing */

.creativesectionwithform .elementor-widget-form:focus-within {
    border-color: rgba(207,154,85,.35);

    box-shadow:
        0 30px 60px rgba(0,0,0,.35),
        0 0 60px rgba(209,154,85,.1);
}

.creativesectionwithform .elementor-form-fields-wrapper {
    margin: 0 !important;

    row-gap: 20px;
}

.creativesectionwithform .elementor-field-group {
    margin: 0 !important;
    padding: 0 !important;
}


/* ---------- Labels ---------- */

.creativesectionwithform .elementor-field-label {
    display: block;

    margin: 0 0 9px !important;
    padding: 0 !important;

    color: rgba(219,190,145,.82) !important;

    font-family: var(--cf-sans) !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;

    line-height: 1.4 !important;
    letter-spacing: .22em !important;

    text-transform: uppercase !important;
}

.creativesectionwithform .elementor-mark-required .elementor-field-label::after {
    color: var(--cf-gold) !important;
}


/* ---------- Inputs and textarea ---------- */

.creativesectionwithform .elementor-field-textual {
    width: 100% !important;
    min-height: 52px !important;

    padding: 14px 16px !important;

    border: 1px solid rgba(240,233,221,.14) !important;
    border-radius: 2px !important;

    background: rgba(9,19,14,.55) !important;

    color: var(--cf-cream) !important;

    font-family: var(--cf-sans) !important;
    font-size: 15px !important;
    font-weight: 400 !important;

    line-height: 1.5 !important;

    box-shadow: none !important;

    transition:
        border-color .3s ease,
        box-shadow .3s ease,
        background .3s ease;
}

.creativesectionwithform textarea.elementor-field-textual {
    min-height: 140px !important;

    resize: vertical;
}

.creativesectionwithform .elementor-field-textual::placeholder {
    color: rgba(240,233,221,.34) !important;

    opacity: 1;
}

.creativesectionwithform .elementor-field-textual:hover {
    border-color: rgba(209,154,85,.42) !important;
}

.creativesectionwithform .elementor-field-textual:focus {
    border-color: var(--cf-gold) !important;

    background: rgba(9,19,14,.82) !important;

    box-shadow: 0 0 0 3px rgba(209,154,85,.16) !important;

    outline: none !important;
}

/* keep browser autofill on the dark forest style */

.creativesectionwithform .elementor-field-textual:-webkit-autofill {
    -webkit-text-fill-color: var(--cf-cream) !important;

    box-shadow: 0 0 0 1000px #0b1812 inset !important;
}


/* ---------- Select / checkbox (if added later) ---------- */

.creativesectionwithform .elementor-select-wrapper .select-caret-down-wrapper {
    color: var(--cf-gold) !important;
}

.creativesectionwithform select.elementor-field-textual option {
    background: #0d1c15;

    color: var(--cf-cream);
}

.creativesectionwithform .elementor-field-option input {
    accent-color: var(--cf-gold);
}

.creativesectionwithform .elementor-field-option label {
    color: rgba(240,233,221,.7) !important;

    font-family: var(--cf-sans) !important;
    font-size: 14px !important;
}


/* ---------- Send button ---------- */

.creativesectionwithform .e-form__buttons {
    margin-top: 6px !important;
}

.creativesectionwithform .elementor-button {
    position: relative;

    width: 100% !important;
    min-height: 54px !important;

    padding: 0 28px !important;

    overflow: hidden;

    border: 1px solid #d9a862 !important;
    border-radius: 2px !important;

    background:
        linear-gradient(
            135deg,
            #e0b06c 0%,
            #d19a55 50%,
            #a96f37 100%
        ) !important;

    color: #09130e !important;

    font-family: var(--cf-sans) !important;
    font-size: 12px !important;
    font-weight: 700 !important;

    line-height: 1 !important;
    letter-spacing: .18em !important;

    text-transform: uppercase !important;

    box-shadow:
        0 10px 30px rgba(0,0,0,.3),
        inset 0 1px 0 rgba(255,255,255,.3) !important;

    cursor: pointer;

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.creativesectionwithform .elementor-button .elementor-button-text {
    color: #09130e !important;
}

/* arrow after the label */

.creativesectionwithform .elementor-button .elementor-button-text::after {
    content: "→";

    display: inline-block;

    margin-left: 12px;

    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0;

    transition: transform .3s ease;
}

/* shine that crosses the button on hover */

.creativesectionwithform .elementor-button::before {
    content: "";

    position: absolute;

    top: -80%;
    left: -40%;

    width: 22%;
    height: 260%;

    transform: rotate(22deg);

    background: rgba(255,255,255,.25);

    transition: left .7s ease;
}

.creativesectionwithform .elementor-button:hover {
    transform: translateY(-3px);

    box-shadow:
        0 16px 36px rgba(0,0,0,.4),
        0 0 28px rgba(209,154,85,.3) !important;
}

.creativesectionwithform .elementor-button:hover::before {
    left: 125%;
}

.creativesectionwithform .elementor-button:hover .elementor-button-text::after {
    transform: translateX(5px);
}

.creativesectionwithform .elementor-button:focus-visible {
    outline: 2px solid var(--cf-gold-soft) !important;
    outline-offset: 3px;
}


/* ---------- Form messages (success, error) ---------- */

.creativesectionwithform .elementor-message {
    margin: 18px 0 0 !important;
    padding: 14px 16px !important;

    border: 1px solid rgba(209,154,85,.4);
    border-radius: 2px;

    background: rgba(209,154,85,.08);

    color: var(--cf-cream) !important;

    font-family: var(--cf-sans) !important;
    font-size: 14px !important;

    line-height: 1.6 !important;
}

/* success in moss green */

.creativesectionwithform .elementor-message.elementor-message-success {
    border-color: rgba(158,170,145,.45);

    background: rgba(113,130,103,.14);

    color: #dfe6d6 !important;
}

.creativesectionwithform .elementor-message.elementor-message-danger,
.creativesectionwithform .elementor-message.elementor-help-inline {
    border-color: rgba(201,112,88,.55);

    background: rgba(201,112,88,.1);

    color: #ecb5a3 !important;
}

.creativesectionwithform .elementor-message.elementor-help-inline {
    margin-top: 8px !important;
    padding: 8px 12px !important;

    font-size: 13px !important;
}


@media (prefers-reduced-motion: reduce) {

    .creativesectionwithform h4.elementor-heading-title,
    .creativesectionwithform .elementor-widget-form,
    .creativesectionwithform .elementor-field-textual,
    .creativesectionwithform .elementor-button,
    .creativesectionwithform .elementor-button::before,
    .creativesectionwithform .elementor-button .elementor-button-text::after {
        transition: none !important;
    }

}


/* =========================================================
   TABLET / MOBILE: copy on top, form below
========================================================= */

@media (max-width: 900px) {

    .creativesectionwithform > .e-con-inner {
        flex-direction: column !important;
        align-items: stretch !important;

        gap: 40px !important;

        max-width: 640px !important;
    }

    .creativesectionwithform > .e-con-inner > .e-con:first-child,
    .creativesectionwithform > .e-con-inner > .e-con:last-child {
        flex: 1 1 auto !important;

        width: 100% !important;
    }

}

@media (max-width: 560px) {

    .creativesectionwithform .elementor-widget-text-editor,
    .creativesectionwithform .elementor-widget-text-editor p {
        font-size: 15px !important;
        line-height: 1.7 !important;
    }

    .creativesectionwithform h4.elementor-heading-title {
        gap: 10px;

        padding: 7px 16px 7px 7px !important;

        font-size: 13px !important;
    }

    .creativesectionwithform h4.elementor-heading-title::before {
        width: 34px;
        height: 34px;

        font-size: 18px;
    }

    .creativesectionwithform .elementor-widget-form {
        padding: 24px 18px !important;
    }

}/* End custom CSS */