/* Study Wild — final editorial polish; shared across all five pages */
:root { --sw-content-width: 1224px; }
html { scroll-padding-top: 116px; }
.se-site, .se-site button, .se-site input, .se-site textarea { -webkit-font-smoothing: antialiased; }
.se-site a:focus-visible, .se-site button:focus-visible,
.se-site summary:focus-visible, .se-site input:focus-visible,
.se-site textarea:focus-visible, .se-site select:focus-visible {
  outline: 2px solid var(--ochre, #8a681d); outline-offset: 3px;
}
/* Better visual hierarchy, without enlarging the intentional small-cap labels. */
.se-site main .se-intro,
.se-site main .se-intro p { font-size: clamp(15px, 1.15vw, 17px); line-height: 1.78; }
.se-site main .se-value-card .sw-layout-widget-text-editor:not(.se-eyebrow),
.se-site main .se-value-card .sw-layout-widget-text-editor:not(.se-eyebrow) p,
.se-site main .se-step .sw-layout-widget-text-editor:not(.se-eyebrow),
.se-site main .se-step .sw-layout-widget-text-editor:not(.se-eyebrow) p { font-size: 15px; line-height: 1.75; }
.se-site main .se-checks .sw-layout-icon-list-text { font-size: 14px; line-height: 1.6; }
.se-site main .se-offer .se-offer-description,
.se-site main .se-offer .se-offer-description p { font-size: 15px !important; line-height: 1.7; }
.se-site main .se-offer .se-duration, .se-site main .se-start-price .se-text { font-size: 13px !important; line-height: 1.65; }
.se-site main .se-start-copy .se-text:not(.se-eyebrow),
.se-site main .se-start-copy .se-text:not(.se-eyebrow) p { font-size: 15px; line-height: 1.7; }
.se-site main .se-prose, .se-site main .se-prose p { font-size: 16px; line-height: 1.88; }
.se-site main .se-map .se-intro, .se-site main .se-map .se-intro p { font-size: 15px; line-height: 1.7; }
.se-site main .se-map .map-summary,
.se-site main .se-map .map-detail { font-size: 13px; line-height: 1.5; }
.se-site main .se-map .map-notes { font-size: 12px; line-height: 1.55; }
.se-site .se-button .sw-layout-button,
.se-site .se-header-inner .se-button .sw-layout-button { font-size: 14px; min-height: 48px; }
.se-site .se-link .sw-layout-button { min-height: 44px; }
.se-site .swe-menu a { font-size: 13px; }
.se-site main .se-offer .se-button .sw-layout-button { font-size: 14px; }
.se-site .se-footer-brand .se-text,
.se-site .se-footer-links .se-text { font-size: 13px; line-height: 1.7; }
.se-site .se-footer-contact .se-email h3 { overflow-wrap: anywhere; }

/* Keep document rhythm, content width, and touch targets consistent. */
.se-site main .se-section.e-con { padding-block: clamp(66px, 7vw, 104px); }
.se-site main .se-section-heading.e-con { gap: 20px; margin-bottom: 40px; }
.sw-polish-container { width: min(var(--sw-content-width), calc(100% - 112px)); margin-inline: auto; }
.sw-polish-eyebrow { font: 700 11px/1.5 var(--sans, Arial,sans-serif); letter-spacing: .17em; text-transform: uppercase; color: #8a681d; margin: 0 0 18px; }
.sw-polish-section-heading { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap: 60px; align-items:end; margin-bottom:35px; }
.sw-polish-section-heading h2 { font: 500 clamp(42px,4.5vw,64px)/1.05 var(--serif,Georgia,serif); letter-spacing:-.035em; color:#202720; }
.sw-polish-section-heading h2 em { font-style: italic; font-weight:400; color:#8a681d; }
.sw-polish-section-heading > p { font-size:16px; line-height:1.8; color:#62665f; max-width:450px; }
.sw-polish-actions { display:flex; justify-content:flex-start; margin-top:32px; }
.sw-polish-button { display:inline-flex; align-items:center; justify-content:space-between; gap:48px; min-height:54px; padding:14px 24px; background:#202720; color:#fff; border:1px solid #202720; font:600 14px/1.45 var(--sans,Arial,sans-serif); text-decoration:none; }
.sw-polish-button:hover { background:#3d493c; border-color:#3d493c; color:#fff; }
.sw-polish-button > span { font-size:19px; }

/* Homepage: a concise team teaser, not five duplicated full biographies. */
.sw-home-team { padding: clamp(70px,8vw,118px) 0; background:#f7f5ef; }
.sw-home-team-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:15px; }
.sw-home-person { min-width:0; background:#fffdfa; border:1px solid #dcded3; text-decoration:none; display:flex; flex-direction:column; color:#202720; transition:border-color .2s,transform .2s,box-shadow .2s; }
.sw-home-person:hover { color:#202720; border-color:#b9bbad; transform:translateY(-3px); box-shadow:0 15px 35px #20272013; }
.sw-home-person-photo { aspect-ratio:3/3.8; width:100%; background:#ecece6; overflow:hidden; }
.sw-home-person-photo img { width:100%; height:100%; object-fit:cover; object-position:center 30%; transition:transform .4s; }
.sw-home-person:hover img { transform:scale(1.035); }
.sw-home-person-copy { padding:19px 17px 6px; flex:1; }
.sw-home-person-copy p { margin:0 0 11px; color:#8a681d; text-transform:uppercase; letter-spacing:.09em; font-size:10px; line-height:1.5; font-weight:700; }
.sw-home-person-copy h3 { font:500 clamp(24px,2vw,31px)/1.04 var(--serif,Georgia,serif); letter-spacing:-.025em; margin:0 0 11px; }
.sw-home-person-copy > span { font-size:13px; color:#5d635c; line-height:1.5; }
.sw-home-person-arrow { margin:16px 18px 19px auto; font-size:21px; color:#8a681d; line-height:1; }

/* How we teach: practical example in place of duplicated prose. */
.sw-sample-section { background:#edf0e7; padding:clamp(75px,8vw,116px) 0; }
.sw-sample-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.sw-sample-grid article { background:#fffdfa; border:1px solid #dcded3; padding:clamp(22px,2.3vw,32px); min-width:0; }
.sw-sample-grid article > span { font:700 11px/1.5 var(--sans,Arial,sans-serif); color:#8a681d; letter-spacing:.13em; }
.sw-sample-grid article h3 { margin:28px 0 15px; font:500 clamp(29px,2.6vw,39px)/1.06 var(--serif,Georgia,serif); color:#202720; }
.sw-sample-grid article p { font:400 15px/1.75 var(--sans,Arial,sans-serif); color:#62665f; }

/* 3-stage form: readable input controls, consistent buttons and clear small print. */
.se-site .sw-contact-new .sw-contact-heading > p:not(.sw-contact-kicker) { font-size:16px; line-height:1.85; }
.se-site .sw-contact-new .sw-contact-email { font-size:14px; }
.se-site .sw-contact-new .sw-form-panel-intro p,
.se-site .sw-contact-new .sw-form-final-note p,
.se-site .sw-contact-new .sw-form-regulations p,
.se-site .sw-contact-new .sw-planner-intro { font-size:14px; line-height:1.75; }
.se-site .sw-contact-new .sw-form-field > span,
.se-site .sw-contact-new .sw-form-panel legend { font-size:15px; line-height:1.55; }
.se-site .sw-contact-new .sw-form-field small { font-size:13px; line-height:1.65; }
.se-site .sw-contact-new .sw-form-field input[type=text],
.se-site .sw-contact-new .sw-form-field input[type=email],
.se-site .sw-contact-new .sw-form-field input[type=tel],
.se-site .sw-contact-new .sw-form-field textarea { font-size:15px; }
.se-site .sw-contact-new .sw-form-choice-grid label,
.se-site .sw-contact-new .sw-form-choice-stack label,
.se-site .sw-contact-new .sw-form-consent { font-size:14px; line-height:1.6; }
.se-site .sw-contact-new .sw-form-button { font-size:14px; }
.se-site .sw-contact-new .sw-form-field textarea { resize:none; }
.se-site .sw-contact-new .sw-form-panel legend small,
.se-site .sw-contact-new .sw-form-field > span small { color:#777c70; font-size:13px; font-weight:400; }

/* Responsive measures: 2-column teaser on tablet, a single card on phones. */
@media(max-width:1070px){
 .sw-home-team-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .sw-sample-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px){
 .sw-polish-container { width:calc(100% - 38px); }
 .sw-polish-section-heading { grid-template-columns:1fr; gap:18px; margin-bottom:30px; }
 .sw-home-team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .sw-home-person-copy { padding:17px 13px 4px; }
 .sw-home-person-copy h3 { font-size:27px; }
 .sw-polish-button { width:100%; }
 .sw-sample-grid { gap:12px; }
 .se-site main .se-section.e-con { padding-block:66px; }
 .se-site .sw-contact-new .sw-form-choice-grid label,
 .se-site .sw-contact-new .sw-form-choice-stack label { padding:13px; }
}
@media(max-width:480px){
 .sw-home-team-grid { grid-template-columns:1fr 1fr; }
 .sw-home-person-photo { aspect-ratio:4/4.5; }
 .sw-home-person-copy h3 { font-size:24px; }
 .sw-home-person-copy > span { font-size:12px; }
 .sw-sample-grid { grid-template-columns:1fr; }
 .sw-sample-grid article h3 { margin-top:14px; }
 .se-site main .se-offer .se-offer-description,
 .se-site main .se-offer .se-offer-description p { font-size:15px!important; }
}
@media(prefers-reduced-motion:reduce){
 .sw-home-person, .sw-home-person-photo img { transition:none; }
}

.se-site .sw-form-submit-error { padding: 13px 16px; border: 1px solid #b74733; background:#fff7f2; color:#a23e2b; font-size:14px; line-height:1.6; }
.se-site .sw-contact-new .sw-form-submit-error[hidden] {display:none!important;}
@media(max-width:480px){
 .sw-home-team-grid .sw-home-person:last-child { grid-column:1 / -1; flex-direction:row; position:relative; min-height:205px; }
 .sw-home-team-grid .sw-home-person:last-child .sw-home-person-photo {width:44%; flex:0 0 44%; height:auto; aspect-ratio:auto;}
 .sw-home-team-grid .sw-home-person:last-child .sw-home-person-copy { padding:24px 16px; }
 .sw-home-team-grid .sw-home-person:last-child .sw-home-person-arrow {position:absolute;right:4px;bottom:2px;}
}
