/**
 * Sassy Salon — interior pages (Despre, Hairstyle, Galerie, Tendințe, Contact), articles and the contact form.
 *
 * Source of truth: design/sassy-salon-mockup-complet.html ("SECONDARY PAGES" styles).
 * Builds on the tokens and shared elements of sassy.css; not loaded on the homepage.
 */

/* =========================================================================
 * 1. Rows and shared layout
 * ====================================================================== */

.ss-site .vc_row.ss-pad { padding-block: 130px; }
.ss-site .vc_row.ss-pad-sm { padding-block: 90px; }
.ss-site .ss-bg-alt { background: var(--ss-paper2); }

.ss-site .vc_row.ss-two-col { display: grid; grid-template-columns: 43% 1fr; gap: 12%; align-items: start; }

.ss-site .ss-page-index { font: 600 10px var(--ss-font-body); text-transform: uppercase; letter-spacing: .22em; color: var(--ss-accent); line-height: normal; }

.ss-site .ss-big-statement { font: 400 clamp(39px, 4.9vw, 76px)/1.12 var(--ss-font-head); letter-spacing: -.045em; margin: 0; }
.ss-site .ss-big-statement em { color: var(--ss-accent); }

.ss-site .ss-copy-stack { max-width: 550px; }
.ss-site .ss-copy-stack p,
.ss-site #content .ss-copy-stack .wpb_text_column p:last-child { color: var(--ss-muted); font-size: 14px; line-height: 2; margin: 0 0 21px; }
.ss-site .ss-mini-label { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; font-weight: 700; color: var(--ss-accent); line-height: normal; }
.ss-site .ss-tiny-rule { height: 1px; background: var(--ss-line); margin: 30px 0; }

/* =========================================================================
 * 2. Page hero (and Contact landing variant)
 * ====================================================================== */

.ss-site .ss-page-hero { display: grid; grid-template-columns: 52% 48%; min-height: 665px; }
.ss-site .ss-page-hero-text {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 100px clamp(25px, 5.8vw, 115px) 85px max(55px, calc((100vw - 1328px) / 2));
}
.ss-site .ss-page-hero-text::after { content: 'S'; position: absolute; right: 3%; bottom: -80px; font: 400 410px/.8 var(--ss-font-head); color: var(--ss-accent); opacity: .04; pointer-events: none; }
.ss-site .ss-page-hero h1 {
	position: relative;
	z-index: 1;
	color: inherit;
	font: 400 clamp(86px, 9vw, 150px)/.77 var(--ss-font-head);
	letter-spacing: -.072em;
	margin: 30px 0 40px;
}
.ss-site .ss-page-hero h1 em { display: block; color: var(--ss-accent); font-weight: 400; margin: 19px 0 0 25px; }
.ss-site .ss-page-hero p { position: relative; z-index: 1; font: 400 14px/1.9 var(--ss-font-body); color: var(--ss-muted); max-width: 380px; margin: 0 0 28px; }
.ss-site .ss-page-hero-text > a { position: relative; z-index: 1; }
.ss-site .ss-page-hero-media { position: relative; min-height: 640px; overflow: hidden; background: #ac998a; }
.ss-site .ss-page-hero-media > img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; filter: saturate(.73); }
.ss-site .ss-page-hero-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 60%, rgba(20, 15, 12, .38)); pointer-events: none; }
.ss-site .ss-page-hero-media > span { position: absolute; z-index: 1; bottom: 35px; left: 36px; color: #fff; letter-spacing: .15em; text-transform: uppercase; font-size: 10px; line-height: normal; }

/* Contact landing: cream background, wider copy column, no watermark or photo gradient. */
.ss-site .ss-page-hero--contact { grid-template-columns: 1fr 48%; min-height: 620px; background: var(--ss-paper2); }
.ss-site .ss-page-hero--contact .ss-page-hero-text { padding: 90px clamp(40px, 8vw, 130px); }
.ss-site .ss-page-hero--contact .ss-page-hero-text::after,
.ss-site .ss-page-hero--contact .ss-page-hero-media::after { content: none; }
.ss-site .ss-page-hero--contact h1 { font-size: clamp(85px, 10vw, 162px); letter-spacing: -.075em; margin: 30px 0 35px; }
.ss-site .ss-page-hero--contact h1 em { margin: 0 0 0 30px; }
.ss-site .ss-page-hero--contact p { max-width: 480px; margin: 14px 0; }
.ss-site .ss-page-hero--contact .ss-page-hero-media { min-height: 610px; background: #a19386; }
.ss-site .ss-page-hero--contact .ss-page-hero-media > img { filter: saturate(.7); }

/* =========================================================================
 * 3. Despre
 * ====================================================================== */

.ss-site .ss-about-visual-row { display: grid; grid-template-columns: 1.3fr .8fr; gap: 19px; height: 600px; }
.ss-site .ss-about-visual-row figure { position: relative; margin: 0; overflow: hidden; background: #a79c91; }
.ss-site .ss-about-visual-row img { width: 100%; height: 100%; max-width: none; object-fit: cover; filter: saturate(.72); }
.ss-site .ss-about-visual-row figcaption { position: absolute; bottom: 20px; left: 22px; font: italic 27px var(--ss-font-head); color: #fff; text-shadow: 0 2px 10px #0008; }

.ss-site .vc_row.ss-founder { display: grid; grid-template-columns: 45% 1fr; gap: 10%; align-items: center; }
.ss-site .ss-founder-media { display: grid; grid-template-columns: 1fr 40%; gap: 15px; min-height: 560px; align-items: end; }
.ss-site .ss-founder-media img:first-child { width: 100%; height: 560px; object-fit: cover; filter: saturate(.7); }
.ss-site .ss-founder-media img:nth-child(2) { width: 100%; height: 310px; object-fit: cover; filter: saturate(.8); }
.ss-site .ss-founder-copy .ss-title { font-size: clamp(64px, 6.5vw, 105px); line-height: .9; letter-spacing: -.065em; margin: 24px 0 27px; }
.ss-site .ss-founder-copy .ss-title em { display: block; color: var(--ss-accent); }
.ss-site .ss-founder-copy .ss-copy p { font-size: 13px; color: var(--ss-muted); line-height: 2; max-width: 540px; margin: 13px 0; }
.ss-site .ss-founder-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding-top: 20px; margin-top: 25px; border-top: 1px solid var(--ss-line); }
.ss-site .ss-founder-facts strong { display: block; font: 400 40px var(--ss-font-head); color: var(--ss-accent); }
.ss-site .ss-founder-facts span { font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--ss-muted); line-height: 1.5; }
.ss-site .ss-founder-link { margin-top: 33px; }

/* =========================================================================
 * 4. Hairstyle
 * ====================================================================== */

.ss-site .ss-service-editorial { display: grid; grid-template-columns: 47% 1fr; min-height: 580px; align-items: stretch; }
.ss-site .ss-service-editorial.reverse { grid-template-columns: 1fr 47%; }
.ss-site .ss-service-editorial.reverse .ss-service-image { order: 2; }
.ss-site .ss-service-editorial.reverse .ss-service-detail { order: 1; }
.ss-site .ss-service-image { position: relative; min-height: 540px; overflow: hidden; background: #b6a59a; }
.ss-site .ss-service-image img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; filter: saturate(.8); transition: transform .7s; }
.ss-site .ss-service-editorial:hover .ss-service-image img { transform: scale(1.04); }
.ss-site .ss-service-image span { position: absolute; left: 28px; bottom: 30px; color: #fff; letter-spacing: .17em; text-transform: uppercase; font-size: 10px; line-height: normal; text-shadow: 0 1px 9px #0008; }
.ss-site .ss-service-detail { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 80px clamp(45px, 8vw, 130px); }
.ss-site .ss-service-detail h2 { color: inherit; font: 400 clamp(60px, 6.4vw, 103px)/.91 var(--ss-font-head); letter-spacing: -.065em; margin: 26px 0; }
.ss-site .ss-service-detail h2 em { display: block; color: var(--ss-accent); }
.ss-site .ss-service-detail p { max-width: 460px; color: var(--ss-muted); font-size: 14px; line-height: 1.9; margin: 14px 0; }
.ss-site .ss-service-examples { display: flex; flex-wrap: wrap; gap: 9px; margin: 25px 0 32px; }
.ss-site .ss-service-examples span { border: 1px solid var(--ss-line); padding: 9px 13px; text-transform: uppercase; font-size: 9px; letter-spacing: .12em; color: var(--ss-muted); line-height: normal; }

.ss-site .ss-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; margin-top: 68px; }
.ss-site .ss-step { padding-top: 22px; border-top: 1px solid var(--ss-line); }
.ss-site .ss-step-num { font: 400 55px var(--ss-font-head); color: var(--ss-accent); }
.ss-site .ss-step h3 { color: inherit; font: 400 36px var(--ss-font-head); margin: 10px 0 13px; }
.ss-site .ss-step p { color: var(--ss-muted); font-size: 12px; line-height: 1.85; max-width: 325px; margin: 12px 0; }

.ss-site .ss-visual-banner { position: relative; height: 470px; overflow: hidden; background: #6a5447; display: grid; place-items: center; color: #fff; text-align: center; }
.ss-site .ss-visual-banner img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; filter: brightness(.48) saturate(.7); }
.ss-site .ss-visual-banner > div { position: relative; z-index: 2; padding: 35px; }
.ss-site .ss-visual-banner .ss-eyebrow,
.ss-site .ss-visual-banner h2 em { color: #ead1bf; }
.ss-site .ss-visual-banner h2 { color: inherit; font: 400 clamp(55px, 7.5vw, 115px)/.87 var(--ss-font-head); letter-spacing: -.05em; margin: 15px 0 27px; }
.ss-site .ss-visual-banner .ss-button { background: var(--ss-paper); color: var(--ss-ink); border-color: var(--ss-paper); }
.ss-site .ss-visual-banner .ss-button:hover { background: var(--ss-accent); border-color: var(--ss-accent); color: #fff; }

/* =========================================================================
 * 5. Centered intro (Galerie, Tendințe, articles)
 * ====================================================================== */

.ss-site .ss-center-intro { max-width: 980px; margin: 0 auto 60px; text-align: center; }
.ss-site .ss-center-intro h1,
.ss-site .ss-center-intro h2 { color: inherit; font: 400 clamp(78px, 10vw, 160px)/.8 var(--ss-font-head); letter-spacing: -.075em; margin: 26px 0; }
.ss-site .ss-center-intro h1 em,
.ss-site .ss-center-intro h2 em { color: var(--ss-accent); }
.ss-site .ss-center-intro p { max-width: 500px; margin: 22px auto 0; font-size: 13px; color: var(--ss-muted); line-height: 1.95; }

/* =========================================================================
 * 6. Galerie (portfolio layout of [ss_gallery])
 * ====================================================================== */

.ss-site .vc_row.ss-portfolio { padding-block: 95px 130px; }
.ss-site .ss-gallery-grid.ss-gallery-grid--full { grid-template-columns: repeat(4, 1fr); grid-auto-rows: 250px; gap: 16px; }
.ss-site .ss-gallery-grid--full .ss-gallery-item:nth-child(4) { grid-row: auto; }
.ss-site .ss-gallery-grid--full .ss-gallery-item:nth-child(1),
.ss-site .ss-gallery-grid--full .ss-gallery-item:nth-child(7) { grid-row: span 2; }
.ss-site .ss-gallery-grid--full .ss-gallery-item:nth-child(5) { grid-column: span 2; }
.ss-site .ss-gallery-grid.ss-gallery-grid--full.filtered { grid-auto-rows: 320px; }
.ss-site .ss-gallery-grid--full.filtered .ss-gallery-item:nth-child(n) { grid-row: auto; grid-column: auto; }
.ss-site .ss-gallery-grid--full .ss-gallery-item.ss-filter-in { animation: ss-filter-in .45s ease both; }
@keyframes ss-filter-in { from { opacity: 0; transform: scale(.97); } to { opacity: 1; transform: none; } }

.ss-site .ss-gallery-footer { padding-top: 42px; gap: 30px; }
.ss-site .ss-gallery-footer p { font-size: 12px; line-height: 1.8; color: var(--ss-muted); max-width: 430px; margin: 12px 0; }

/* =========================================================================
 * 7. Tendințe (journal) and articles
 * ====================================================================== */

.ss-site .ss-single a,
.ss-site .ss-single a:hover { color: inherit; text-decoration: none; }

.ss-site .ss-magazine-lead { display: grid; grid-template-columns: 1.15fr .85fr; gap: 22px; margin-bottom: 65px; min-height: 540px; }
.ss-site .ss-magazine-lead-image { position: relative; display: block; overflow: hidden; background: #917c6b; }
.ss-site .ss-magazine-lead-image img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; filter: saturate(.75); transition: transform .7s; }
.ss-site .ss-magazine-lead:hover .ss-magazine-lead-image img { transform: scale(1.03); }
.ss-site .ss-magazine-lead-text { background: var(--ss-paper2); padding: 70px 65px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.ss-site .ss-magazine-lead-text h2 { color: inherit; font: 400 clamp(56px, 5.5vw, 90px)/.92 var(--ss-font-head); letter-spacing: -.05em; margin: 28px 0; }
.ss-site .ss-magazine-lead-text p { font-size: 13px; color: var(--ss-muted); line-height: 1.9; max-width: 390px; margin: 0 0 35px; }

.ss-site .ss-editorial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ss-site .ss-editorial-card { display: flex; flex-direction: column; min-height: 530px; background: var(--ss-paper2); }
.ss-site .ss-editorial-media { display: block; overflow: hidden; }
.ss-site .ss-editorial-card img { width: 100%; height: 290px; max-width: none; object-fit: cover; filter: saturate(.72); transition: transform .7s; }
.ss-site .ss-editorial-card:hover img { transform: scale(1.04); }
.ss-site .ss-editorial-copy { display: flex; flex-direction: column; align-items: flex-start; flex: 1; padding: 30px; }
.ss-site .ss-editorial-copy > span { font-size: 10px; text-transform: uppercase; letter-spacing: .16em; color: var(--ss-accent); line-height: normal; }
.ss-site .ss-editorial-copy h3 { color: inherit; font: 400 39px/1 var(--ss-font-head); letter-spacing: -.035em; margin: 17px 0; }
.ss-site .ss-editorial-copy h3 a:hover,
.ss-site .ss-magazine-lead-text h2 a:hover { color: var(--ss-accent); }
.ss-site .ss-editorial-copy p { font-size: 12px; line-height: 1.8; color: var(--ss-muted); margin: 0 0 20px; }
.ss-site .ss-editorial-copy .ss-text-link { margin-top: auto; }

.ss-site .ss-pagination { display: flex; justify-content: center; gap: 22px; margin-top: 55px; font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.ss-site .ss-pagination .page-numbers { padding: 6px 2px; border-bottom: 1px solid transparent; color: var(--ss-muted); }
.ss-site .ss-pagination .page-numbers.current,
.ss-site .ss-pagination a.page-numbers:hover { color: var(--ss-ink); border-bottom-color: var(--ss-ink); }
.ss-site .ss-posts-empty { text-align: center; color: var(--ss-muted); font-size: 13px; }

.ss-site .ss-archive-strip { display: flex; gap: 55px; align-items: center; justify-content: space-between; margin-top: 75px; padding: 38px 0; border-top: 1px solid var(--ss-line); border-bottom: 1px solid var(--ss-line); }
.ss-site .ss-archive-strip strong { font: 400 38px var(--ss-font-head); }
.ss-site .ss-archive-strip span { font-size: 12px; line-height: 1.8; color: var(--ss-muted); max-width: 660px; }

/* Article page */
.ss-site .ss-single-header { padding-top: 95px; }
.ss-site .ss-single-intro { margin-bottom: 55px; }
.ss-site .ss-single-intro .ss-eyebrow a:hover { color: var(--ss-ink); }
.ss-site .ss-single-intro h1 { font-size: clamp(52px, 6.2vw, 98px); line-height: .95; letter-spacing: -.05em; }
.ss-site .ss-single-media { position: relative; height: 560px; margin: 0 auto; overflow: hidden; background: #917c6b; }
.ss-site .ss-single-media img { width: 100%; height: 100%; max-width: none; object-fit: cover; filter: saturate(.75); }
.ss-site .ss-article-content { max-width: 670px; margin: 75px auto 0; }
.ss-site .ss-article-content > * { margin: 0 0 24px; }
.ss-site .ss-article-content p,
.ss-site .ss-article-content li { font: 400 15px/1.95 var(--ss-font-body); color: var(--ss-muted); }
.ss-site .ss-article-content h2 { color: inherit; font: 400 clamp(38px, 4vw, 54px)/1 var(--ss-font-head); letter-spacing: -.035em; margin: 55px 0 22px; }
.ss-site .ss-article-content h3 { color: inherit; font: 400 34px/1.05 var(--ss-font-head); letter-spacing: -.02em; margin: 40px 0 16px; }
.ss-site .ss-article-content a { color: var(--ss-ink); text-decoration: underline; text-underline-offset: 4px; }
.ss-site .ss-article-content a:hover { color: var(--ss-accent); }
.ss-site .ss-article-content blockquote { margin: 45px 0; padding: 0 0 0 28px; border-left: 1px solid var(--ss-accent); font: italic 30px/1.25 var(--ss-font-head); color: var(--ss-ink); }
.ss-site .ss-article-content blockquote p { font: inherit; color: inherit; margin: 0; }
.ss-site .ss-article-content img { max-width: 100%; height: auto; }
.ss-site .ss-article-content em { font-style: italic; }
.ss-site .ss-single-footer { display: flex; justify-content: space-between; align-items: center; gap: 20px; max-width: 670px; margin: 55px auto 0; padding: 28px 0 130px; border-top: 1px solid var(--ss-line); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--ss-muted); }
.ss-site .ss-single-related { padding-block: 130px; }

/* =========================================================================
 * 8. Contact
 * ====================================================================== */

.ss-site .ss-contact-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 55px; padding: 80px 0; }
.ss-site .ss-contact-option { border-top: 1px solid var(--ss-line); padding-top: 28px; }
.ss-site .ss-contact-option > span { font-size: 10px; color: var(--ss-accent); letter-spacing: .19em; text-transform: uppercase; font-weight: 700; line-height: normal; }
.ss-site .ss-contact-option h3 { color: inherit; font: 400 34px var(--ss-font-head); margin: 18px 0 15px; }
.ss-site .ss-contact-option a,
.ss-site .ss-contact-option p { font-size: 13px; line-height: 1.9; color: var(--ss-muted); margin: 0; overflow-wrap: anywhere; }
.ss-site .ss-contact-option a:hover { color: var(--ss-accent); }

.ss-site .vc_row.ss-contact-split { display: grid; grid-template-columns: 1fr 1fr; gap: 10%; padding-bottom: 120px; }
.ss-site .ss-contact-form-panel .ss-title { font-size: clamp(62px, 6.4vw, 100px); line-height: .9; letter-spacing: -.06em; margin: 20px 0; }
.ss-site .ss-contact-form-panel .ss-form-intro p,
.ss-site #content .ss-contact-form-panel .ss-form-intro p:last-child { font: 400 12px/1.9 var(--ss-font-body); color: var(--ss-muted); margin: 12px 0 35px; }

/* WhatsApp booking panel (replaces the contact form). */
.ss-site .ss-contact-whatsapp { align-self: center; }
.ss-site .ss-whatsapp-actions { gap: 30px; margin-top: 4px; }
.ss-site .ss-whatsapp-hours p,
.ss-site #content .ss-whatsapp-hours p:last-child { margin: 34px 0 0; padding-top: 24px; border-top: 1px solid var(--ss-line); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--ss-muted); }

.ss-site .ss-map-visual { position: relative; min-height: 570px; background: #e6e0d6; overflow: hidden; }
.ss-site .ss-map-visual iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(1) contrast(.9); }
.ss-site .ss-map-sticker { position: absolute; z-index: 1; bottom: 25px; left: 25px; right: 25px; background: var(--ss-paper); padding: 23px 27px; box-shadow: 0 7px 24px #0001; }
.ss-site .ss-map-sticker strong { display: block; font: 400 30px var(--ss-font-head); margin-bottom: 8px; }
.ss-site .ss-map-sticker a { font-size: 11px; text-transform: uppercase; letter-spacing: .12em; text-decoration: underline; text-underline-offset: 4px; }

/* =========================================================================
 * 9. Responsive (mockup breakpoints)
 * ====================================================================== */

@media (max-width: 1180px) {
	.ss-site .ss-page-hero-text { padding-left: 45px; padding-right: 35px; }
	.ss-site .ss-page-hero h1 { font-size: clamp(78px, 8.3vw, 115px); }
	.ss-site .vc_row.ss-pad,
	.ss-site .ss-single-related { padding-block: 100px; }
	.ss-site .ss-service-detail { padding: 65px 55px; }
	.ss-site .ss-magazine-lead-text { padding: 50px 44px; }
}

@media (max-width: 890px) {
	.ss-site .ss-page-hero { grid-template-columns: 50% 50%; min-height: 530px; }
	.ss-site .ss-page-hero-text { padding: 65px 25px 65px 35px; }
	.ss-site .ss-page-hero h1 { font-size: clamp(66px, 9vw, 86px); }
	.ss-site .ss-page-hero-media { min-height: 540px; }
	.ss-site .vc_row.ss-founder { grid-template-columns: 49% 1fr; gap: 6%; }
	.ss-site .ss-founder-media { grid-template-columns: 1fr; min-height: 530px; }
	.ss-site .ss-founder-media img:first-child { height: 530px; }
	.ss-site .ss-founder-media img:nth-child(2) { display: none; }
	.ss-site .ss-service-editorial,
	.ss-site .ss-service-editorial.reverse { grid-template-columns: 50% 50%; }
	.ss-site .ss-service-detail { padding: 45px 30px; }
	.ss-site .ss-service-detail h2 { font-size: 65px; }
	.ss-site .ss-gallery-grid.ss-gallery-grid--full { grid-template-columns: repeat(3, 1fr); }
	.ss-site .ss-editorial-grid { grid-template-columns: 1fr 1fr; }
	.ss-site .ss-page-hero--contact { grid-template-columns: 1fr 48%; }
	.ss-site .ss-page-hero--contact .ss-page-hero-text { padding: 60px 35px; }
	.ss-site .ss-page-hero--contact h1 { font-size: 86px; }
	.ss-site .ss-contact-options { gap: 23px; }
}

@media (max-width: 640px) {
	.ss-site .ss-page-hero { display: flex; flex-direction: column; }
	.ss-site .ss-page-hero-text { padding: 77px 24px 65px; min-height: 475px; }
	.ss-site .ss-page-hero h1 { font-size: clamp(75px, 15vw, 110px); margin: 26px 0 30px; }
	.ss-site .ss-page-hero h1 em { margin-left: 15px; margin-top: 10px; }
	.ss-site .ss-page-hero-media { min-height: 455px; height: 455px; }
	.ss-site .vc_row.ss-pad,
	.ss-site .ss-single-related { padding-block: 75px; }
	.ss-site .vc_row.ss-pad-sm { padding-block: 60px; }
	.ss-site .vc_row.ss-two-col { grid-template-columns: 1fr; gap: 32px; }
	.ss-site .ss-big-statement { font-size: clamp(42px, 10vw, 63px); }
	.ss-site .ss-about-visual-row { height: 450px; gap: 10px; grid-template-columns: 1.4fr .7fr; }
	.ss-site .vc_row.ss-founder { display: flex; flex-direction: column; gap: 40px; align-items: stretch; }
	.ss-site .ss-founder-media { min-height: 450px; width: 100%; }
	.ss-site .ss-founder-media img:first-child { height: 450px; }
	.ss-site .ss-founder-copy .ss-title { font-size: 75px; }
	.ss-site .ss-service-editorial,
	.ss-site .ss-service-editorial.reverse { display: flex; flex-direction: column; }
	.ss-site .ss-service-editorial.reverse .ss-service-image,
	.ss-site .ss-service-editorial.reverse .ss-service-detail { order: initial; }
	.ss-site .ss-service-image { min-height: 400px; height: 400px; }
	.ss-site .ss-service-detail { padding: 54px 25px 70px; }
	.ss-site .ss-service-detail h2 { font-size: 75px; }
	.ss-site .ss-steps { grid-template-columns: 1fr; gap: 20px; margin-top: 40px; }
	.ss-site .ss-step { display: grid; grid-template-columns: 70px 1fr; column-gap: 15px; align-items: start; }
	.ss-site .ss-step h3 { margin-top: 6px; }
	.ss-site .ss-step p { grid-column: 2; }
	.ss-site .ss-visual-banner { height: 380px; }
	.ss-site .ss-center-intro h1,
	.ss-site .ss-center-intro h2 { font-size: clamp(72px, 15vw, 108px); }
	.ss-site .vc_row.ss-portfolio { padding-block: 75px; }
	.ss-site .ss-gallery-grid.ss-gallery-grid--full { grid-template-columns: 1fr 1fr; grid-auto-rows: 190px; gap: 9px; }
	.ss-site .ss-gallery-grid--full .ss-gallery-item:nth-child(5) { grid-column: span 1; }
	.ss-site .ss-gallery-grid.ss-gallery-grid--full.filtered { grid-auto-rows: 210px; }
	.ss-site .ss-gallery-footer .ss-text-link { margin-top: 0; }
	.ss-site .ss-magazine-lead { grid-template-columns: 1fr; gap: 0; }
	.ss-site .ss-magazine-lead-image { height: 350px; }
	.ss-site .ss-magazine-lead-text { padding: 55px 25px 60px; }
	.ss-site .ss-magazine-lead-text h2 { font-size: 65px; }
	.ss-site .ss-editorial-grid { grid-template-columns: 1fr; }
	.ss-site .ss-editorial-card { min-height: 0; }
	.ss-site .ss-editorial-card img { height: 330px; }
	.ss-site .ss-archive-strip { display: block; margin-top: 55px; }
	.ss-site .ss-archive-strip span { display: block; margin-top: 13px; }
	.ss-site .ss-single-header { padding-top: 70px; }
	.ss-site .ss-single-intro h1 { font-size: clamp(46px, 11vw, 64px); }
	.ss-site .ss-single-media { height: 350px; }
	.ss-site .ss-article-content { margin-top: 50px; }
	.ss-site .ss-single-footer { padding-bottom: 80px; }
	.ss-site .ss-page-hero--contact .ss-page-hero-text { padding: 80px 24px; min-height: 450px; }
	.ss-site .ss-page-hero--contact h1 { font-size: clamp(80px, 17vw, 113px); }
	.ss-site .ss-page-hero--contact .ss-page-hero-media { min-height: 410px; height: 410px; }
	.ss-site .ss-contact-options { grid-template-columns: 1fr; gap: 26px; padding: 60px 0; }
	.ss-site .vc_row.ss-contact-split { display: flex; flex-direction: column; gap: 60px; padding-bottom: 70px; align-items: stretch; }
	.ss-site .ss-contact-form-panel .ss-title { font-size: 75px; }
	.ss-site .ss-map-visual { min-height: 430px; }
}

@media (max-width: 390px) {
	.ss-site .ss-page-hero h1 { font-size: 68px; }
	.ss-site .ss-page-hero--contact h1 { font-size: 77px; }
}
