.wryt-page-hero { padding-block: 5rem 3rem; }
.wryt-page-hero h1 { margin-block: 1.5rem; max-width: 20ch; text-wrap: balance; }
.wryt-page-hero .tag { display: block; }
.wryt-reading { max-width: 46rem; }
.wryt-reading p, .wryt-panel p { margin-block: 1rem; line-height: 1.7; }
.wryt-center { margin-inline: auto; text-align: center; }
.wryt-content-section { padding-block: 3rem; }
.wryt-section-heading { max-width: 50rem; margin: 0 auto 2.5rem; text-align: center; }
.wryt-section-heading .tag { display: block; margin-bottom: 1.25rem; }
.wryt-section-heading h2 { text-wrap: balance; }
.wryt-section-lead { text-align: center; max-width: 42rem; margin: -1rem auto 2.5rem; }
.wryt-studio-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.25rem; }
.wryt-outcome-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.25rem; }
.wryt-card { padding: 2rem; border-radius: 1.5rem; background: #f3f3f3; display: flex; flex-direction: column; align-items: flex-start; gap: 1.25rem; }
.wryt-card:nth-child(3n+2) { background: #edffc2; }
.wryt-card h3 { font-size: 1.65rem; line-height: 1.25; letter-spacing: -.04em; }
.wryt-card p { margin: 0; line-height: 1.65; }
.wryt-card .button { margin-top: auto; }
.wryt-card-number { font-family: monospace; font-size: .8rem; letter-spacing: .12em; }
.wryt-content-button { display: inline-flex; gap: .75rem; white-space: normal; align-items: center; text-align: center; font-size: .78rem; padding: .85rem 1.25rem; }
.wryt-panel { padding: 2.5rem; background: #f5f6f7; border-radius: 1.5rem; }
.wryt-panel h2 { max-width: 28ch; margin-bottom: 1.5rem; text-wrap: balance; }
.wryt-panel > p { max-width: 65ch; }
.wryt-capabilities { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem 2rem; padding-left: 1.25rem; margin-block: 1.5rem; }
.wryt-chips { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.5rem; }
.wryt-chips span { padding: .5rem .85rem; border-radius: 2rem; background: #efefef; font-size: .85rem; }
.wryt-draft-note { margin: 1rem; padding: 1rem 1.5rem; border: 1px solid #d3bd5f; border-radius: .75rem; background: #fff9dd; font-size: .85rem; }
.wryt-footer { margin: 1rem; padding-block: 3.5rem 1.5rem; background: #131313; border-radius: 1.5rem; }
.wryt-footer-top { display: grid; grid-template-columns: 1.2fr 1fr; gap: 4rem; }
.wryt-footer h2 { color: white; font-size: 2rem; margin-block: 1.5rem 1rem; }
.wryt-footer p { max-width: 40rem; color: #cecece; margin-bottom: 1.5rem; }
.wryt-footer-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-content: start; gap: 1rem; }
.wryt-footer-links a, .wryt-footer-bottom a { color: #d0d0d0; }
.wryt-footer-links a:hover { color: #d6fd70; }
.wryt-footer-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem; margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid #3a3a3a; font-size: .8rem; color: #bbb; }
[data-wryt-enquiry] { display: flex; flex-direction: column; gap: .85rem; }
[data-wryt-enquiry] .text-field { margin: 0 0 .5rem; width: 100%; min-height: 3rem; }
[data-wryt-enquiry] textarea { min-height: 10rem; resize: vertical; }
[data-wryt-enquiry] label { margin: 0; }
.sec_hero-contact h1 { font-size: clamp(2rem,3.2vw,3rem); }
.section_faq h1 { color: #131313; }
@media(max-width:991px) {
 .wryt-studio-grid, .wryt-outcome-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .wryt-footer-top { gap: 2rem; }
}
@media(max-width:767px) {
 .wryt-page-hero { padding-block: 3rem 1.5rem; }
 .wryt-content-section { padding-block: 2rem; }
 .wryt-studio-grid, .wryt-outcome-grid, .wryt-footer-top, .wryt-capabilities { grid-template-columns: 1fr; }
 .wryt-card, .wryt-panel { padding: 1.5rem; }
 .wryt-footer { padding-block: 2rem 1rem; }
}
[data-wryt-enquiry] input, [data-wryt-enquiry] select, [data-wryt-enquiry] textarea {
  display: block; width: 100%; padding: .85rem 1rem; border: 1px solid #c9c9c9;
  border-radius: .75rem; background: #fff; color: #131313; font: inherit;
}
[data-wryt-enquiry] input:focus, [data-wryt-enquiry] select:focus, [data-wryt-enquiry] textarea:focus { outline: 2px solid #2678ae; outline-offset: 2px; }
.hero-contact_left { justify-content: flex-start; gap: 2rem; }
.hero-contact_data { margin-top: 1rem; }

.wryt-newsletter { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid #ddd; }
[data-wryt-newsletter] { max-width: 34rem; display: grid; gap: 1rem; }
[data-wryt-newsletter] input[type="email"] { padding: .85rem 1rem; border: 1px solid #bbb; border-radius: .75rem; background: white; color: black; }
.wryt-optin { display: flex; align-items: flex-start; gap: .75rem; font-size: .85rem; line-height: 1.5; }
.wryt-optin input { margin-top: .25rem; flex-shrink: 0; }
/* Contact: wide introduction, compact enquiry form, and a separate direct-contact panel. */
.wryt-contact-page { padding-top: 2rem; }
.wryt-contact-intro { max-width: 62rem; margin-bottom: 2.5rem; }
.wryt-contact-intro h1 { max-width: 25ch; font-size: clamp(2rem,4vw,3.5rem); line-height: 1.15; text-wrap: balance; }
.wryt-contact-intro .text-base { max-width: 45rem; line-height: 1.65; }
.wryt-contact-page .hero-contact_layout { grid-template-columns: minmax(0,.8fr) minmax(0,1.6fr); align-items: start; gap: 1.25rem; }
.wryt-contact-page .hero-contact_left { height: auto; min-height: 0; padding: 2rem; gap: 1.5rem; }
.wryt-contact-page .hero-contact_data { margin: 0; gap: 1.75rem; }
.wryt-contact-page .hero-contact_data .spacer-medium { height: .5rem; }
.wryt-contact-page .hero-contact_data .text-lg { font-size: 1rem; line-height: 1.65; overflow-wrap: anywhere; }
.wryt-contact-page .hero-contact_right { min-width: 0; padding: 1.75rem; }
.wryt-contact-page .hero-contact_right .form-block { width: 100%; }
.wryt-contact-page [data-wryt-enquiry] { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; padding: 0; }
.wryt-form-field { display: flex; flex-direction: column; gap: .5rem; min-width: 0; }
.wryt-form-field label { font-size: .9rem; line-height: 1.5; }
.wryt-contact-page [data-wryt-enquiry] h2,
.wryt-contact-page .wryt-field-wide,
.wryt-contact-page [data-wryt-enquiry] > p,
.wryt-contact-page [data-wryt-enquiry] > button { grid-column: 1 / -1; }
.wryt-contact-page [data-wryt-enquiry] h2 { margin-bottom: .5rem; }
.wryt-contact-page [data-wryt-enquiry] .text-field { min-height: 3rem; margin: 0; font-size: .9rem; }
.wryt-contact-page [data-wryt-enquiry] textarea { min-height: 8rem; }
.wryt-contact-page [data-wryt-enquiry] > p { margin: 0; line-height: 1.6; }
.wryt-contact-page [data-wryt-enquiry] > button { justify-self: start; padding: .85rem 1.5rem; }
@media(max-width:991px) {
 .wryt-contact-page .hero-contact_layout { grid-template-columns: 1fr; }
 .wryt-contact-page .hero-contact_left { order: 2; }
 .wryt-contact-page .hero-contact_data { display: grid; grid-template-columns: 1fr 1fr; }
 .wryt-contact-page .hero-contact_data > div:last-child { grid-column: 1 / -1; }
}
@media(max-width:479px) {
 .wryt-contact-page { padding-top: 1rem; }
 .wryt-contact-intro { margin-bottom: 1.5rem; }
 .wryt-contact-page .hero-contact_right { padding: 1rem; }
 .wryt-contact-page .hero-contact_left { padding: 1.5rem; }
 .wryt-contact-page [data-wryt-enquiry], .wryt-contact-page .hero-contact_data { grid-template-columns: 1fr; }
 .wryt-contact-page [data-wryt-enquiry] > button { justify-self: stretch; }
}
.wryt-contact-intro { padding-inline: clamp(1.25rem, 3vw, 3rem); }
.wryt-contact-page .hero-contact_form { width: 100%; max-width: none; }
.wryt-contact-page .form_component { width: 100%; max-width: none; padding: 1.5rem; }
@media(min-width:480px) {
 .wryt-contact-page .wryt-form-field:has(#wryt-interest) { grid-column: auto; }
}
@media(max-width:479px) {
 .wryt-contact-page .form_component { padding: 1rem; }
}
.wryt-contact-page .hero-contact_layout { height: auto; min-height: 0; grid-template-rows: auto; }
.wryt-contact-page .hero-contact_left { grid-column: 1 !important; grid-row: 1 !important; }
.wryt-contact-page .hero-contact_right { grid-column: 2 !important; grid-row: 1 !important; }
@media(max-width:991px) {
 .wryt-contact-page .hero-contact_right { grid-column: 1 !important; grid-row: 1 !important; }
 .wryt-contact-page .hero-contact_left { grid-column: 1 !important; grid-row: 2 !important; }
}
/* Compact shared footer with primary navigation and separate policy links. */
.wryt-footer .wryt-footer-links { gap: .35rem 1.5rem; }
.wryt-footer .wryt-footer-links a { display: flex; align-items: center; min-height: 44px; font-size: .95rem; line-height: 1.4; letter-spacing: 0; text-transform: none; }
.wryt-footer .wryt-footer-bottom { gap: 1rem 1.5rem; align-items: center; }
.wryt-footer .wryt-footer-bottom a { letter-spacing: 0; overflow-wrap: anywhere; }
.wryt-footer-legal { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; }
.wryt-footer-legal a { display: inline-flex; align-items: center; min-height: 44px; }
@media(max-width:767px) {
 .wryt-footer .wryt-footer-links { gap: .25rem 1rem; }
 .wryt-footer .wryt-footer-bottom { margin-top: 1.75rem; padding-top: 1rem; gap: .5rem; flex-direction: column; align-items: flex-start; }
 .wryt-footer .wryt-footer-bottom > a { min-height: 44px; display: flex; align-items: center; }
 .wryt-footer-legal { gap: 1.25rem; }
}
/* Footer bottom: copyright and email together, policies in a separate row. */
.wryt-footer .wryt-footer-bottom { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .5rem 1.5rem; }
.wryt-footer .wryt-footer-bottom > span { grid-column: 1; }
.wryt-footer .wryt-footer-bottom > a { grid-column: 2; justify-self: end; }
.wryt-footer .wryt-footer-legal { grid-column: 1 / -1; justify-content: flex-end; }
@media(max-width:767px) {
 .wryt-footer .wryt-footer-bottom { grid-template-columns: minmax(0,1fr); text-align: center; justify-items: center; gap: .5rem; }
 .wryt-footer .wryt-footer-bottom > span,
 .wryt-footer .wryt-footer-bottom > a { grid-column: 1; justify-self: center; }
 .wryt-footer .wryt-footer-legal { justify-content: center; gap: 1.5rem; }
}
/* Copyright and policies share one baseline on desktop. */
.wryt-footer .wryt-footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 1rem 2rem; }
.wryt-footer .wryt-footer-legal { justify-content: flex-end; }
@media(max-width:767px) {
 .wryt-footer .wryt-footer-bottom { flex-direction: column; align-items: center; text-align: center; gap: .5rem; }
 .wryt-footer .wryt-footer-legal { justify-content: center; }
}
/* Keep the rounded footer inset from the white page edge, including the bottom. */
.main-wrapper:has(>.wryt-footer){padding-bottom:16px;background-color:#fff}
.main-wrapper>.wryt-footer{margin:16px 16px 0;border-radius:24px}
@media(max-width:767px){.main-wrapper:has(>.wryt-footer){padding-bottom:12px}.main-wrapper>.wryt-footer{margin:12px 12px 0;border-radius:24px}}
