/* Integration with existing Umbraco forms and retained content. */
.plain-layout { min-height: 100vh; }
.plain-layout-body { width: 100%; }
.header nav a[aria-current="page"] { color: var(--purple, #481858); text-decoration: underline; text-underline-offset: .4em; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid #825093; outline-offset: 5px; }
.cms-form .umbraco-forms-page { margin: 0; }
.cms-form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.cms-form .umbraco-forms-field { margin: 0 0 24px; }
.cms-form label { display: block; font-size: 14px; font-weight: 600; margin: 0 0 10px; }
.cms-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), .cms-form textarea, .cms-form select { width: 100%; background: white; border: 1px solid #d8d0dc; border-radius: 0; padding: 13px; height: auto; font: inherit; }
.cms-form textarea { min-height: 150px; }
.cms-form input[type="submit"], .cms-form button[type="submit"] { background: #481858 !important; color: white; border-radius: 7px !important; padding: 15px 24px; border: 0; cursor: pointer; }
.cms-form .field-validation-error, .cms-form .validation-summary-errors { color: #9c223a; display: block; font-size: 14px; margin-top: 8px; }
.archive-pagination { display:flex; flex-wrap:wrap; gap:12px; margin:40px 0 0; }
.archive-pagination a { border:1px solid #d8d0dc; padding:10px 16px; border-radius:4px; }
.archive-pagination a[aria-current="page"] { background:#481858; color:white; }
.legacy-content { padding:48px 0; }
@media(max-width:760px) { .cms-form {min-width:0;} .mobile-tabs {padding-bottom:max(8px,env(safe-area-inset-bottom));} body{padding-bottom:calc(84px + env(safe-area-inset-bottom));} }
@media(prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior:auto!important; animation-duration:0.01ms!important; transition-duration:0.01ms!important; } }

.team-avatar img { width:100%; height:100%; object-fit:cover; display:block; }


.cms-form .control-label, .cms-form .umbraco-forms-field-wrapper { width:100%; max-width:none; float:none; padding-left:0; padding-right:0; }
.cms-form .umbraco-forms-navigation [class*="col-"] { width:100%; margin-left:0; padding-left:0; padding-right:0; }
.cms-form .umbraco-forms-container { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.cms-form .umbraco-forms-field { grid-column:1 / -1; margin-bottom:4px; }
.cms-form .umbraco-forms-field.name, .cms-form .umbraco-forms-field.emailaddress, .cms-form .umbraco-forms-field.budget, .cms-form .umbraco-forms-field.timing { grid-column:auto; }
.cms-form .recaptcha2 > label { display:none; }
@media(max-width:600px) { .cms-form .umbraco-forms-container { grid-template-columns:1fr; } }

.studio-team h1 { font-size:clamp(2.6rem,6vw,4.8rem); line-height:1.05; letter-spacing:-.055em; }

.unified-journal .journal-post-image { width:100%; height:240px; object-fit:cover; margin-bottom:22px; }
.unified-journal .journal-post-card { min-width:0; }

.article-image-banner { padding:0; overflow:hidden; }
.article-image-banner img { width:100%; height:100%; object-fit:cover; }
.journal-richtext { min-width:0; overflow-wrap:anywhere; line-height:1.8; }
.journal-richtext h2, .journal-richtext h3, .journal-richtext h4 { scroll-margin-top:30px; }
.journal-richtext h3, .journal-richtext h4 { margin:1.5em 0 .75em; line-height:1.25; }
.journal-richtext img { max-width:100%; height:auto; }
.journal-richtext pre, .journal-richtext table { display:block; max-width:100%; overflow:auto; }
.journal-richtext ul, .journal-richtext ol { padding-left:1.6em; margin-block:1em; }
.journal-richtext blockquote { border-left:2px solid currentColor; padding-left:1.5em; }

.article-lead { border:0; position:relative; isolation:isolate; }
.article-lead > span:first-child { max-width:75%; position:relative; z-index:1; }
.article-lead .art-symbol { position:relative; z-index:1; }
.article-lead::before { content:""; position:absolute; width:240px; height:240px; border:1px solid currentColor; border-radius:50%; opacity:.16; right:-70px; top:-100px; }
.article-lead.palette-0 { background:#e5d9ed; color:#73538a; }
.article-lead.palette-1 { background:#f0ddd4; color:#91563f; }
.article-lead.palette-2 { background:#dbe4de; color:#496b54; }
.article-lead.palette-3 { background:#d8e5f3; color:#43658b; }
.article-lead.palette-4 { background:#f4e8bd; color:#826424; }
.article-lead.palette-5 { background:#f1d8e3; color:#914f6b; }
.article-lead.palette-6 { background:#d1eae7; color:#387773; }
.article-lead.palette-7 { background:#e0def4; color:#62538f; }
.article-lead-wrap .article-lead { height:350px; margin-bottom:0; }
.article-lead-wrap .art-symbol { font-size:225px; }
@media(max-width:800px) { .article-lead-wrap .article-lead { height:260px; } .article-lead-wrap .art-symbol { font-size:170px; } }
@media(max-width:600px) { .article-lead-wrap .article-lead { height:180px; } .article-lead-wrap .art-symbol { font-size:120px; } }

/* Repeat the demo's four rounded portrait shapes across the team grid. */
.team-grid > .team-member:nth-child(4n + 2) .team-avatar {
    background: #ececf3;
    border-radius: 50% 12% 50% 50%;
}
.team-grid > .team-member:nth-child(4n + 3) .team-avatar {
    background: #f3eee9;
    border-radius: 12% 50% 50%;
}
.team-grid > .team-member:nth-child(4n + 4) .team-avatar {
    background: #eeeaf4;
    border-radius: 50% 50% 50% 12%;
}
.team-grid .team-profile-link:hover .team-avatar { background: #e5daee; }

.portfolio-items { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px 28px; }
.portfolio-item-card { color:inherit; min-width:0; text-decoration:none; }
.portfolio-item-image { height:220px; background:#f3eff6; display:grid; place-items:center; margin-bottom:20px; overflow:hidden; }
.portfolio-item-image img { width:100%; height:100%; object-fit:contain; padding:20px; }
.portfolio-item-image>span { font:72px Georgia,serif; color:#73538a; }
.portfolio-item-card h3 { margin:10px 0; font-size:25px; }
.portfolio-item-card p { color:#6b6273; line-height:1.65; }
.portfolio-state { display:inline-block; border:1px solid #ded3e5; padding:6px 10px; font-size:12px; border-radius:3px; }
.portfolio-meta { display:flex; align-items:center; flex-wrap:wrap; gap:22px; margin-top:24px; }
.portfolio-cover img { display:block; width:100%; max-height:500px; object-fit:contain; background:#f5f1f7; }
.portfolio-details,.portfolio-detail-section { padding-block:48px; }
.portfolio-detail-section>img { display:block; width:100%; height:auto; margin-top:28px; }
.portfolio-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:28px; }
.portfolio-gallery img { width:100%; height:320px; object-fit:cover; }
@media(max-width:900px) { .portfolio-items { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .portfolio-items,.portfolio-gallery { grid-template-columns:1fr; } .portfolio-item-image { height:240px; } }
