:root {
    --color-muted: #6d695a;
    --color-heading: #201d13;
    --color-text: #302d21;
    --color-link: #796515;
    --color-surface: #f3efe2;
    --color-border: #e4e1d2;
    --color-accent: #87711d;
    --color-bg: #fbf9f4;
    --color-accent-text: #ffffff;
}

.pta-feature {
    box-sizing: border-box;
    margin-bottom: 2em;
    overflow-wrap: break-word;
}

.pta-feature .pta-display-title {
    font-size: 2em;
    margin: 0 0 0.5em;
    line-height: 1.15;
}

.pta-feature .pta-summary {
    max-width: 60ch;
    font-size: 1.08em;
    margin: 0 0 1em;
}

.pta-feature img {
    max-width: 100%;
}

.pta-feature-cb {
    background: var(--color-accent);
    color: var(--color-accent-text);
}

.pta-feature-cb > .pta-content-width {
    align-items: center;
    gap: 1.5em;
    padding-bottom: 3em;
    padding-top: 3em;
    grid-template-columns: minmax(0,1fr);
    display: grid;
}

.pta-feature-cb .pta-display-title, .pta-feature-cb .pta-summary {
    color: var(--color-accent-text);
}

.pta-feature-cb figure {
    margin: 0;
}

.pta-feature-cb figure img {
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid var(--color-accent-text);
    width: 100%;
    display: block;
}

.pta-section-title h1 {
    font-size: 1.5em;
    margin: 0 0 1.25em;
    color: var(--color-heading);
}

.pta-content-width {
    padding-left: 1em;
    box-sizing: border-box;
    padding-right: 1em;
    max-width: 72em;
    margin: 0 auto;
}

.pta-columns {
    padding-bottom: 2.5em;
    padding-top: 1.5em;
}

.pta-content {
    min-width: 0;
}

.pta-left-col {
    margin-top: 2em;
    min-width: 0;
}

ul.pta-archive-list, ol.pta-archive-list {
    padding: 0;
    list-style: none;
    margin: 0;
}

.pta-story-title {
    font-family: "Raleway", Arial, sans-serif;
    font-size: 1.55em;
    margin: 0 0 0.4em;
    line-height: 1.25;
}

.pta-story-title a {
    text-decoration: none;
    color: var(--color-heading);
}

.pta-story-title a:hover {
    text-decoration: underline;
    color: var(--color-link);
}

.pta-byline {
    font-size: 0.85em;
    margin: 0 0 0.9em;
    color: var(--color-muted);
}

.pta-byline a {
    color: var(--color-muted);
}

.pta-copy img {
    max-width: 100%;
    height: auto;
}

.pta-copy h2:not(.pta-story-title), .pta-standfirst h2 {
    font-size: 1.15em;
    margin: 1.25em 0 0.5em;
}

.pta-copy h3, .pta-standfirst h3 {
    font-size: 1.02em;
}

.pta-entry-image {
    margin: 0 0 1em;
}

.pta-entry-image img {
    border-radius: 0.25em;
    height: auto;
    width: 100%;
    display: block;
}

.pta-lead-post .pta-story-title {
    font-size: 2.1em;
    line-height: 1.15;
}

.pta-lead-post {
    border-bottom: 3px solid var(--color-heading);
    margin-bottom: 2em;
    padding-bottom: 1.5em;
}

.pta-secondary-post {
    gap: 2em;
    margin-bottom: 2em;
    grid-template-columns: minmax(0,1fr);
    display: grid;
}

.pta-archive-list-bd {
    padding: 0;
    list-style: none;
    margin: 0;
}

.pta-archive-list-bd .pta-teaser-item {
    padding: 1.1em;
    background: var(--color-bg);
    box-shadow: 0 2px 10px rgba(0,0,0,.05);
    margin-bottom: 1.5em;
    border-radius: 0.5em;
    border: 1px solid var(--color-border);
}

.pta-archive-list-bd .pta-article-head {
    align-items: flex-start;
    gap: 1em;
    margin-bottom: 0.75em;
    display: flex;
}

.pta-archive-list-bd .pta-date-chip {
    padding: 0.35em 0.2em;
    background: var(--color-accent);
    flex: none;
    border-radius: 0.5em;
    text-align: center;
    line-height: 1.1;
    width: 3.6em;
    color: var(--color-accent-text);
}

.pta-archive-list-bd .pta-date-chip span:first-child {
    font-weight: 700;
    font-size: 1.5em;
    display: block;
}

.pta-archive-list-bd .pta-date-chip span:last-child {
    text-transform: uppercase;
    font-size: 0.7em;
    display: block;
}

.pta-widget {
    margin-bottom: 1.75em;
    font-size: 0.92em;
}

.pta-widget-title {
    font-family: "Raleway", Arial, sans-serif;
    border-bottom: 2px solid var(--color-accent);
    text-transform: none;
    padding-bottom: 0.35em;
    font-size: 1em;
    margin: 0 0 0.6em;
    color: var(--color-heading);
}

.pta-link-list {
    padding: 0;
    list-style: none;
    margin: 0;
}

.pta-link-list li, .pta-link-list > div {
    padding: 0.3em 0;
    border-bottom: 1px solid var(--color-border);
}

.pta-widget a {
    text-decoration: none;
    color: var(--color-link);
}

.pta-widget a:hover {
    text-decoration: underline;
}

.pta-entry-heading {
    font-family: "Raleway", Arial, sans-serif;
    font-size: 2.1em;
    margin: 0 0 0.5em;
    line-height: 1.2;
    color: var(--color-heading);
}

.pta-entry-info {
    font-size: 0.88em;
    margin: 0 0 1.5em;
    color: var(--color-muted);
}

.pta-entry-info a {
    color: var(--color-muted);
}

.pta-rich-text img {
    max-width: 100%;
    height: auto;
}

.pta-after-post {
    border-top: 1px solid var(--color-border);
    margin-top: 2.5em;
    padding-top: 1.5em;
}

.pta-contents {
    padding: 1em 1.25em;
    background: var(--color-surface);
    margin-bottom: 1.5em;
    border-radius: 0.25em;
}

.pta-contents p {
    margin: 0 0 0.4em;
}

.pta-author-box {
    padding: 1.25em;
    margin-bottom: 1.5em;
    border-radius: 0.25em;
    border: 1px solid var(--color-border);
}

.pta-author-box p {
    margin: 0 0 0.4em;
}

.pta-further h2 {
    font-size: 1.15em;
}

.pta-paginator {
    justify-content: space-between;
    gap: 1em;
    margin-top: 1.5em;
    display: flex;
    flex-wrap: wrap;
}

.pta-crumbs {
    font-size: 0.82em;
    margin: 0 0 1em;
    color: var(--color-muted);
}

.pta-crumbs a {
    color: var(--color-muted);
}

.pta-colophon {
    padding: 2em 0;
    border-top: 3px solid var(--color-heading);
    text-align: center;
    margin-top: 2em;
}

.pta-colophon .pta-link-list {
    padding: 0;
    justify-content: center;
    gap: 0.4em 1.2em;
    list-style: none;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
}

.pta-colophon a {
    color: var(--color-text);
}

.pta-credits {
    font-size: 0.8em;
    margin: 1em 0 0;
    color: var(--color-muted);
}

.pta-cta-row {
    padding: 0;
    gap: 0.75em;
    list-style: none;
    margin: 1em 0 0;
    display: flex;
    flex-wrap: wrap;
}

.pta-action {
    padding: 0.6em 1.1em;
    background: var(--color-accent);
    font-weight: 700;
    border-radius: 0.5em;
    text-decoration: none;
    border: 2px solid var(--color-accent);
    color: var(--color-accent-text);
    display: inline-block;
}

.pta-action-alt {
    background: var(--color-bg);
    color: var(--color-accent);
}

.pta-chips {
    padding: 0;
    gap: 0.5em;
    list-style: none;
    font-size: 0.85em;
    margin: 0.9em 0 0;
    display: flex;
    flex-wrap: wrap;
}

.pta-chips li, .pta-chips span {
    padding: 0.25em 0.65em;
    background: var(--color-surface);
    border-radius: 1em;
    border: 1px solid var(--color-border);
    color: var(--color-text);
}

.pta-hero-label {
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.8em;
    margin: 0 0 0.4em;
    letter-spacing: 0.08em;
    color: var(--color-muted);
}

.pta-list-header, h2.pta-list-header {
    margin: 0 0 1.5em;
}

.pta-list-header h2, h2.pta-list-header {
    margin-bottom: 0.35em;
    font-size: 1.9em;
}

.pta-list-header p {
    margin: 0;
    color: var(--color-muted);
}

.pta-list-summary {
    max-width: 70ch;
    margin: 0 0 1.5em;
}

.pta-widget div.pta-places {
    padding: 0.8em;
    background: var(--color-surface);
    gap: 0.4em 0.8em;
    border-radius: 0.25em;
    border: 1px dashed var(--color-border);
    display: flex;
    flex-wrap: wrap;
}

.pta-widget div.pta-places > span {
    align-items: center;
    gap: 0.35em;
    font-size: 0.88em;
    display: inline-flex;
}

.pta-widget div.pta-places .pta-node {
    background: var(--color-accent);
    border-radius: 50%;
    height: 0.55em;
    width: 0.55em;
    display: inline-block;
}

.pta-hello-card {
    box-sizing: border-box;
    max-width: 100%;
    margin: 1em 0;
}

.pta-hello-card .pta-inquiry {
    gap: 0.6em;
    grid-template-columns: minmax(0,1fr);
    display: grid;
}

.pta-hello-card .pta-field {
    gap: 0.2em;
    min-width: 0;
    display: grid;
}

.pta-hello-card label {
    font-weight: 600;
    font-size: 0.85em;
}

.pta-hello-card input[type=text], .pta-hello-card input[type=tel], .pta-hello-card textarea {
    padding: 0.5em 0.6em;
    background: var(--color-bg);
    box-sizing: border-box;
    font: inherit;
    border-radius: 0.25em;
    border: 1px solid var(--color-border);
    width: 100%;
    color: var(--color-text);
}

.pta-hello-card button {
    padding: 0.65em 1.1em;
    background: var(--color-accent);
    font-weight: 700;
    font: inherit;
    border-radius: 0.25em;
    cursor: pointer;
    border: 0;
    color: var(--color-accent-text);
}

.pta-hello-card .pta-phone-line {
    font-size: 0.9em;
    margin: 0.6em 0 0;
}

.pta-hello-card .pta-kicker-text {
    margin: 0 0 0.6em;
}

.pta-hello-card-boxed {
    padding: 1.25em;
    background: var(--color-bg);
    box-shadow: 0 10px 30px rgba(0,0,0,.14);
    border-radius: 0.5em;
    border: 1px solid var(--color-border);
    color: var(--color-text);
}

.pta-hello-card-inline {
    padding: 0.9em;
    background: var(--color-surface);
    border-radius: 0.5em;
    color: var(--color-text);
}

.pta-hello-card-tabbed {
    padding: 1em;
    background: var(--color-bg);
    border-top: 4px solid var(--color-accent);
    box-shadow: 0 6px 20px rgba(0,0,0,.1);
    color: var(--color-text);
}

.pta-hello-card .pta-segments {
    gap: 0;
    border-bottom: 1px solid var(--color-border);
    display: flex;
    flex-wrap: wrap;
}

.pta-hello-card .pta-segments input {
    position: absolute;
    height: 1px;
    opacity: 0;
    width: 1px;
}

.pta-hello-card .pta-segments label {
    padding: 0.45em 0.9em;
    border-bottom: 3px solid transparent;
    cursor: pointer;
    color: var(--color-muted);
}

.pta-hello-card .pta-segments input:checked + label {
    border-bottom-color: var(--color-accent);
    color: var(--color-heading);
}

.pta-hello-card-call {
    padding: 1em;
    background: var(--color-surface);
    border-radius: 0.5em;
    text-align: center;
    color: var(--color-text);
}

.pta-hello-card .pta-ring-us {
    padding: 0.9em 1.6em;
    background: var(--color-accent);
    font-weight: 700;
    border-radius: 999px;
    text-decoration: none;
    font-size: 1.25em;
    color: var(--color-accent-text);
    display: inline-block;
}

.pta-hello-card-two {
    padding: 1.1em;
    background: var(--color-bg);
    border-radius: 0.5em;
    border: 2px dashed var(--color-border);
    color: var(--color-text);
}

.pta-hello-card fieldset {
    padding: 0;
    gap: 0.5em;
    border: 0;
    margin: 0;
    min-width: 0;
    display: grid;
}

.pta-hello-card legend {
    font-size: 0.75em;
    letter-spacing: 0.08em;
    color: var(--color-muted);
}

.pta-hello-card details > summary {
    padding: 0.5em 1em;
    background: var(--color-heading);
    list-style: none;
    border-radius: 0.25em;
    cursor: pointer;
    margin: 0.3em 0;
    color: var(--color-bg);
    display: inline-block;
}

.pta-hello-card-compact {
    padding: 1em;
    background: var(--color-surface);
    border-radius: 0.5em;
    border: 1px solid var(--color-border);
    color: var(--color-text);
}

.pta-hello-card-float {
    padding: 1.1em;
    background: var(--color-bg);
    border-radius: 0.5em;
    border: 1px solid var(--color-border);
    color: var(--color-text);
}

.pta-hello-card-float .pta-field {
    position: relative;
    display: block;
}

.pta-hello-card-float input[type=text], .pta-hello-card-float input[type=tel], .pta-hello-card-float textarea {
    padding: 1.1em 0.6em 0.35em;
}

.pta-hello-card-float .pta-field label {
    pointer-events: none;
    font-weight: 400;
    top: 0.75em;
    position: absolute;
    transition: all .15s ease;
    left: 0.65em;
    margin: 0;
    color: var(--color-muted);
}

.pta-hello-card-float input:focus + label, .pta-hello-card-float input:not(:placeholder-shown) + label, .pta-hello-card-float textarea:focus + label, .pta-hello-card-float textarea:not(:placeholder-shown) + label {
    font-weight: 600;
    top: 0.2em;
    font-size: 0.7em;
    color: var(--color-accent);
}

.pta-about-posts {
    padding: 1em 1.15em;
    background: var(--color-surface);
    overflow-wrap: anywhere;
    border-radius: 0.5em;
    border: 1px solid var(--color-border);
    margin: 0 0 2em;
    border-left: 3px solid var(--color-accent);
}

.pta-about-posts p {
    margin: 0 0 0.5em;
}

.pta-about-posts ul, .pta-about-posts ol {
    padding-left: 1.25em;
    margin: 0;
}

.pta-about-posts li {
    margin: 0 0 0.35em;
}

.pta-article-head .pta-entry-info {
    margin: 0 0 1.25em;
}

.pta-logo {
    padding: 0.1em 0.5em;
    border: 2px solid currentColor;
}

.pta-action, .pta-ring-us, .pta-hello-card button, .pta-finder button {
    border-radius: 0;
}

.pta-copy a, .pta-rich-text a {
    border-bottom: 1px solid var(--color-accent);
    text-decoration: none;
}

.pta-entry-image img, .pta-rich-text img, .pta-copy img {
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
}

.pta-copy, .pta-rich-text {
    text-align: justify;
    hyphens: auto;
}

body {
    line-height: 1.5;
}

.pta-crumbs {
    padding: 0.35em 0.7em;
    border-radius: 0.25em;
    border: 1px solid var(--color-border);
}

.pta-contents {
    background: transparent;
    padding-left: 1em;
    border-left: 4px solid var(--color-accent);
}

.pta-copy blockquote, .pta-rich-text blockquote {
    padding: 1em;
    background: var(--color-accent);
    border-left: 0;
    color: var(--color-accent-text);
}

.pta-copy ul, .pta-rich-text ul {
    list-style-type: "\203A  ";
}

.pta-chips-b a {
    background: transparent;
    border-bottom: 2px solid var(--color-accent);
    border-radius: 0;
    border: 0;
}

.pta-archive.pta-card-grid {
    gap: 0.75em;
    grid-template-columns: minmax(0,1fr);
    display: grid;
}

.pta-archive.pta-card-grid > div {
    padding: 0.9em;
    border-radius: 0.5em;
    border: 1px solid var(--color-border);
}

.pta-archive.pta-card-grid a {
    text-decoration: none;
    display: block;
}

.pta-archive.pta-card-grid span {
    font-size: 0.85em;
    color: var(--color-muted);
    display: block;
}

.pta-paginator-more a {
    padding: 0.8em;
    background: var(--color-surface);
    font-weight: 700;
    border-radius: 0.5em;
    text-align: center;
    width: 100%;
    display: block;
}

@media (min-width: 800px) {
    .pta-feature .pta-display-title {
        font-size: 2.6em;
    }
    .pta-feature-cb > .pta-content-width {
        grid-template-columns: minmax(0,3fr) minmax(0,1fr);
    }
    .pta-feature-cb .pta-display-title {
        font-size: 3.4em;
        letter-spacing: -0.02em;
    }
    .pta-columns {
        align-items: start;
        grid-template-areas: "l m";
        column-gap: 2.25em;
        grid-template-columns: 17em minmax(0,1fr);
        display: grid;
    }
    .pta-content {
        grid-area: m;
    }
    .pta-left-col {
        grid-area: l;
        margin-top: 0;
    }
    .pta-secondary-post {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
    .pta-hello-card-inline .pta-inquiry {
        align-items: end;
        grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto;
    }
    .pta-archive.pta-card-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}
