@import url('https://fonts.googleapis.com/css2?family=Archivo+Semi+Expanded:wght@500;600&family=Instrument+Sans:ital,wght@0,400;0,500;1,400;1,500&display=swap');

:root {
  --brown: #151310;
  --brown-soft: #151310;
  --bone: #f3efe7;
  --blue: #b8cbdc;
  --coral: #ff6f61;
  --white: #fffdf9;
  --line: rgba(53, 35, 31, .22);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--brown);
  background: var(--bone);
  font-family: "Instrument Sans", sans-serif;
  font-size: 17px;
  line-height: 1.6;
}

a { color: inherit; }
.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px clamp(22px, 5vw, 76px);
  background: rgba(244, 240, 233, .92);
  backdrop-filter: blur(16px);
  border-bottom: 0;
}
.logo {
  display: block;
  width: 112px;
  line-height: 0;
  text-decoration: none;
}
.logo img { display: block; width: 100%; height: auto; }
.nav { display: flex; gap: 28px; font-size: 14px; }
.nav a { text-decoration: none; border-bottom: 1px solid transparent; }
.nav a:hover,
.nav a:focus-visible,
.nav a[aria-current="page"] { border-bottom-color: var(--coral); }

.hero {
  min-height: 76vh;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  overflow: hidden;
}
.hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(72px, 10vw, 150px) clamp(26px, 7vw, 110px) 64px;
}
.eyebrow {
  margin: 0 0 18px;
  font-size: 13px;
  letter-spacing: .16em;
  text-transform: uppercase;
}
h1, h2, h3 {
  font-family: "Archivo SemiExpanded", sans-serif;
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -.035em;
}
h1 { margin: 0; max-width: 860px; font-size: clamp(56px, 8vw, 126px); }
h1 span { font-weight: 600; }
h1 em {
  font-family: "Instrument Sans", sans-serif;
  font-weight: 400;
  font-style: italic;
  letter-spacing: -.06em;
}
.hero-brand-logo {
  display: block;
  width: min(100%, 560px);
  height: auto;
}
.hero-statement {
  max-width: 700px;
  margin: 36px 0 0;
  font-size: clamp(23px, 2.4vw, 37px);
  line-height: 1.25;
}
.hero-note { margin-top: 70px; max-width: 520px; }
.hero-image {
  min-height: 540px;
  overflow: hidden;
}
.hero-image img { width: 100%; height: 100%; min-height: 540px; display: block; object-fit: cover; }
.hero-image.landscape img { object-position: 50% 64%; }
.hero-image.motion img { object-position: 54% 50%; }
.hero-image.light img { object-position: 44% 50%; }
.intro, .section, .cta, .course-grid {
  padding: clamp(72px, 9vw, 140px) clamp(26px, 10vw, 160px);
}
.intro {
  display: grid;
  grid-template-columns: .7fr 1.3fr;
  gap: clamp(34px, 8vw, 140px);
  background: var(--white);
}
.intro h2, .section h2 { margin: 0; font-size: clamp(37px, 5vw, 70px); }
.lead { margin-top: 0; font-size: clamp(20px, 2vw, 29px); line-height: 1.4; }
.text-column { max-width: 760px; }
.text-column p:first-child { margin-top: 0; }

.blue { background: var(--blue); }
.brown { background: var(--brown); color: var(--bone); }
.split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(40px, 9vw, 150px);
}
.service-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  padding: 1px;
  background: var(--line);
}
.service-card {
  display: flex;
  flex-direction: column;
  min-height: 520px;
  padding: clamp(34px, 5vw, 68px);
  background: var(--bone);
}
.service-card:nth-child(2) { background: var(--blue); }
.service-card:nth-child(3) { background: var(--brown); color: var(--bone); }
.service-card h2 { margin: 0 0 28px; font-size: clamp(35px, 4.2vw, 63px); }
.service-card p { max-width: 430px; }
.service-card .button { margin-top: auto; align-self: flex-start; }
.service-card:nth-child(3) .button { background: var(--bone); color: var(--brown); }
.list { padding: 0; margin: 32px 0 0; list-style: none; }
.list li { padding: 14px 0; border-top: 1px solid currentColor; }
.list li:last-child { border-bottom: 1px solid currentColor; }

.pullquote {
  padding: clamp(90px, 12vw, 180px) clamp(28px, 15vw, 240px);
  font-family: "Archivo Semi Expanded", sans-serif;
  font-size: clamp(34px, 5.7vw, 82px);
  line-height: 1.13;
  letter-spacing: -.04em;
}
.pullquote em { font-family: "Instrument Sans", sans-serif; font-weight: 400; }
.photo-break { margin: 0; height: min(72vh, 760px); overflow: hidden; background: var(--brown); }
.photo-break img { width: 100%; height: 100%; display: block; object-fit: cover; }
.photo-break.landscape img { object-position: 50% 62%; }
.pullquote span { border-bottom: 2px solid var(--brown); }

.course-grid {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: clamp(44px, 9vw, 150px);
}
.schedule { display: grid; gap: 16px; }
.schedule article {
  padding: 26px 0;
  border-top: 1px solid var(--line);
}
.schedule article:last-child { border-bottom: 1px solid var(--line); }
.schedule h3 { font-size: 23px; margin: 0 0 7px; }
.schedule p { margin: 0; }

.meta-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.meta-row div { padding: 28px; border-right: 1px solid var(--line); }
.meta-row div:last-child { border-right: 0; }
.meta-label { display: block; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; }
.meta-value { display: block; margin-top: 8px; font-size: 24px; }

.cta { display: flex; justify-content: space-between; align-items: end; gap: 40px; }
.cta h2 { max-width: 760px; margin: 0; font-size: clamp(40px, 6vw, 86px); }
.button {
  display: inline-block;
  padding: 15px 22px;
  background: var(--brown);
  color: var(--bone);
  text-decoration: none;
  font-weight: 500;
  white-space: nowrap;
}
.brown .button { background: var(--bone); color: var(--brown); }
.waitlist-note { max-width: 660px; margin: 18px 0 0; }
.footer {
  display: flex;
  justify-content: space-between;
  padding: 30px clamp(22px, 5vw, 76px);
  background: var(--brown);
  color: var(--bone);
  font-size: 14px;
}
.footer-logo { display: block; width: 104px; height: auto; }
.footer { align-items: center; gap: 20px; }
.footer-credit { font-size: 14px; font-weight: 400; opacity: 1; white-space: nowrap; }

/* Avalehe inimlikum katseversioon */
.home-human { background: var(--bone); }
.human-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr);
  min-height: 680px;
  padding: clamp(34px, 5vw, 74px) clamp(26px, 6vw, 92px) clamp(72px, 8vw, 120px);
  gap: clamp(38px, 7vw, 110px);
  align-items: end;
}
.human-hero-image { height: min(70vh, 690px); overflow: hidden; }
.human-hero-image img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 44% 50%; }
.human-hero-copy { padding-bottom: clamp(8px, 3vw, 48px); }
.human-hero h1 {
  max-width: 650px;
  font-size: clamp(38px, 3.8vw, 56px);
  line-height: 1.12;
}
.human-hero-copy > p:last-child { max-width: 520px; margin: 28px 0 0; font-size: clamp(18px, 1.3vw, 21px); line-height: 1.5; }
.human-intro {
  display: grid;
  grid-template-columns: minmax(120px, .42fr) minmax(0, 1.1fr);
  gap: clamp(36px, 8vw, 130px);
  padding: clamp(84px, 10vw, 150px) clamp(26px, 13vw, 210px);
  background: var(--white);
}
.human-intro > div { max-width: 760px; }
.human-intro h2, .human-ways h2 {
  margin: 0 0 32px;
  font-size: clamp(31px, 3vw, 44px);
  line-height: 1.15;
}
.human-intro h2 em, .human-ways h2 em, .closing-line em { font-family: "Instrument Sans", sans-serif; font-weight: 400; }
.human-lead { font-size: clamp(18px, 1.35vw, 22px); line-height: 1.5; }
.text-link {
  display: inline-block;
  margin-top: 18px;
  color: var(--brown);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  font-size: 15px;
}
.human-photo { width: min(78%, 1180px); height: min(68vh, 700px); margin: 0 0 0 auto; overflow: hidden; }
.human-photo img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 50% 48%; }
.human-ways {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: clamp(50px, 9vw, 150px);
  padding: clamp(90px, 11vw, 165px) clamp(26px, 9vw, 145px);
}
.human-ways-heading { align-self: start; position: sticky; top: 130px; }
.human-way-list article {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 20px;
  padding: 40px 0 48px;
  border-top: 1px solid var(--line);
}
.human-way-list article:last-child { border-bottom: 1px solid var(--line); }
.human-way-list article > span { padding-top: 8px; color: var(--coral); font-size: 14px; }
.human-way-list h3 { margin: 0 0 14px; font-size: clamp(25px, 2vw, 32px); line-height: 1.2; }
.human-way-list p { max-width: 610px; margin: 0; }
.human-closing {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: var(--blue);
}
.human-closing img { width: 100%; height: 100%; min-height: 530px; object-fit: cover; }
.human-closing > div { display: flex; flex-direction: column; justify-content: center; padding: clamp(60px, 8vw, 120px); }
.closing-line { max-width: 650px; margin: 18px 0 0; font-family: "Archivo SemiExpanded", sans-serif; font-size: clamp(29px, 2.8vw, 41px); line-height: 1.25; letter-spacing: -.025em; }

/* Foto-dominantne minimalistlik avalehe variant */
.minimal-hero {
  display: grid;
  grid-template-columns: 54% 46%;
  min-height: 440px;
  background: var(--white);
}
.minimal-hero-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 48px clamp(28px, 5vw, 76px);
}
.minimal-hero h1 { margin: 0; font-size: clamp(36px, 3.6vw, 54px); line-height: 1.14; }
.minimal-hero-copy > p:not(.eyebrow) { max-width: 540px; margin: 25px 0 19px; font-size: clamp(17px, 1.35vw, 21px); line-height: 1.5; }
.minimal-hero > img { width: 100%; height: 100%; min-height: 440px; object-fit: cover; object-position: 50% 66%; }
.minimal-opening { margin: 0; height: min(74vh, 760px); overflow: hidden; }
.minimal-opening img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 44% 50%; }
.minimal-intro {
  display: grid;
  grid-template-columns: .42fr 1fr;
  gap: clamp(40px, 9vw, 150px);
  padding: clamp(88px, 10vw, 145px) clamp(26px, 11vw, 175px);
  background: var(--white);
}
.minimal-intro > div { max-width: 760px; }
.minimal-intro h1 { margin: 0; font-size: clamp(36px, 3.6vw, 54px); line-height: 1.14; }
.minimal-intro > div > p { max-width: 650px; margin: 30px 0 0; font-size: clamp(18px, 1.3vw, 21px); }
.minimal-about {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(48px, 10vw, 170px);
  padding: clamp(90px, 11vw, 155px) clamp(26px, 11vw, 175px);
}
.minimal-about h2 { max-width: 560px; margin: 0; font-size: clamp(30px, 3vw, 43px); line-height: 1.18; }
.minimal-about > div:last-child { max-width: 570px; padding-top: 38px; }
.minimal-image { width: calc(100% - clamp(26px, 11vw, 175px)); height: min(68vh, 690px); margin: 0 0 0 auto; overflow: hidden; }
.minimal-image img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 50% 48%; }
.minimal-services { padding: clamp(92px, 11vw, 160px) clamp(26px, 11vw, 175px); }
.minimal-service-list { margin-top: 42px; border-top: 1px solid var(--line); }
.minimal-service-list a {
  display: grid;
  grid-template-columns: 1fr .65fr;
  align-items: baseline;
  gap: 30px;
  padding: 30px 0;
  border-bottom: 1px solid var(--line);
  text-decoration: none;
}
.minimal-service-list span { font-family: "Archivo SemiExpanded", sans-serif; font-size: clamp(25px, 2.2vw, 34px); font-weight: 500; }
.minimal-service-list small { font-size: 16px; }
.minimal-service-list a:hover span { font-style: italic; }
.minimal-end {
  padding: clamp(90px, 12vw, 170px) clamp(26px, 15vw, 235px);
  background: var(--blue);
}
.minimal-end p { max-width: 700px; margin: 0 0 38px; font-family: "Archivo SemiExpanded", sans-serif; font-size: clamp(29px, 3vw, 43px); line-height: 1.24; letter-spacing: -.025em; }
.minimal-end em { font-family: "Instrument Sans", sans-serif; font-weight: 400; }

/* Terviklik minimalistlik alamlehtede süsteem */
.minimal-site .site-header { position: relative; }
.minimal-site .nav { gap: 22px; }
.m-page-head {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  height: min(58vh, 560px);
  min-height: 460px;
  background: var(--white);
}
.m-page-head > div { display: flex; flex-direction: column; justify-content: center; padding: clamp(42px, 5vw, 76px) clamp(26px, 7vw, 105px); }
.m-page-head h1 { margin: 0; max-width: 650px; font-size: clamp(38px, 4vw, 58px); line-height: 1.08; overflow-wrap: normal; }
.m-page-head .m-long-title { font-size: clamp(34px, 3.45vw, 50px); white-space: nowrap; }
.m-page-head .m-long-word { display: inline-block; font-size: .75em; white-space: nowrap; }
.m-page-head .m-core-title { font-size: clamp(38px, 3.85vw, 56px); letter-spacing: -.045em; }
.m-core-title span { font-weight: 600; }
.m-core-title em { font-family: "Instrument Sans", sans-serif; font-weight: 400; font-style: italic; letter-spacing: -.055em; }
.m-page-head > div > p:last-child { max-width: 520px; margin: 28px 0 0; font-size: clamp(18px, 1.3vw, 21px); }
.m-page-head > img { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.m-copy {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: clamp(52px, 10vw, 170px);
  padding: clamp(88px, 11vw, 160px) clamp(26px, 12vw, 190px);
}
.m-copy aside { max-width: 370px; font-family: "Archivo SemiExpanded", sans-serif; font-size: clamp(25px, 2.3vw, 34px); line-height: 1.28; }
.m-copy > div { max-width: 690px; }
.m-copy > div p:first-child { margin-top: 0; }
.m-lead { font-size: clamp(19px, 1.4vw, 23px); line-height: 1.5; }
.m-list { display: grid; grid-template-columns: .55fr 1fr; gap: clamp(44px, 9vw, 140px); padding: clamp(82px, 10vw, 145px) clamp(26px, 12vw, 190px); background: var(--blue); }
.m-list ul { max-width: 730px; margin: 0; padding: 0; list-style: none; }
.m-list li { padding: 18px 0; border-top: 1px solid rgba(21,19,16,.28); }
.m-list li:last-child { border-bottom: 1px solid rgba(21,19,16,.28); }
.m-list-personal { background: var(--white); }
.kehas-peast-kehasse .m-list { background: var(--blue); }
.m-facts { display: grid; grid-template-columns: repeat(3, 1fr); padding: 0 clamp(26px, 8vw, 125px); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--bone); }
.kehas-peast-kehasse .m-facts { background: var(--white); }
.m-facts div { padding: 35px 25px; border-right: 1px solid var(--line); }
.m-facts div:last-child { border-right: 0; }
.m-facts small, .m-schedule small, .m-contact-links small { display: block; margin-bottom: 8px; font-size: 13px; letter-spacing: .13em; text-transform: uppercase; }
.m-facts span { font-size: 19px; }
.m-action { padding: clamp(88px, 11vw, 160px) clamp(26px, 15vw, 235px); background: var(--blue); }
.m-action p, .m-quote p { max-width: 760px; margin: 0 0 34px; font-family: "Archivo SemiExpanded", sans-serif; font-size: clamp(29px, 3vw, 43px); line-height: 1.24; letter-spacing: -.025em; }
.m-action em, .m-quote em, .m-page-head h1 em { font-family: "Instrument Sans", sans-serif; font-weight: 400; }
.m-schedule { padding: clamp(88px, 11vw, 155px) clamp(26px, 12vw, 190px); background: var(--brown); color: var(--bone); }
.m-schedule > div { margin-top: 38px; border-top: 1px solid rgba(243,239,231,.3); }
.m-schedule article { display: grid; grid-template-columns: 1fr 1fr; padding: 22px 0; border-bottom: 1px solid rgba(243,239,231,.3); }
.m-schedule article small { margin: 0; }
.m-schedule article span { font-size: 20px; }
.m-note { max-width: 650px; margin: 42px 0 0; }
.m-concepts { padding: clamp(88px, 11vw, 155px) clamp(26px, 12vw, 190px); background: var(--blue); }
.m-concept-rows { margin-top: 42px; border-top: 1px solid rgba(21,19,16,.28); }
.m-concept-rows article { display: grid; grid-template-columns: .62fr 1fr; gap: clamp(40px, 8vw, 120px); padding: 42px 0; border-bottom: 1px solid rgba(21,19,16,.28); }
.m-concept-rows h2 { margin: 0; font-size: clamp(27px, 2.5vw, 37px); }
.m-concept-rows p:first-child { margin-top: 0; }
.m-concept-rows p:last-child { margin-bottom: 0; }
.m-copy-white { background: var(--white); }
.m-copy-blue { background: var(--blue); }
.m-testimonial { padding: clamp(78px, 10vw, 135px) clamp(26px, 12vw, 190px); background: var(--white); }
.kehas-peast-kehasse .m-testimonial { background: var(--white); }
.m-testimonial blockquote { max-width: 900px; margin: 34px 0 0; font-family: "Archivo SemiExpanded", sans-serif; font-size: clamp(24px, 2.4vw, 35px); line-height: 1.3; letter-spacing: -.02em; }
.m-path { padding: clamp(88px, 11vw, 155px) clamp(26px, 12vw, 190px); }
.m-path ol { max-width: 900px; margin: 40px 0 0 auto; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.m-path li { display: grid; grid-template-columns: 58px 1fr; gap: 18px; padding: 19px 0; border-bottom: 1px solid var(--line); }
.m-path li span { color: var(--coral); font-size: 14px; }
.m-wide-image { width: calc(100% - clamp(26px, 12vw, 190px)); height: min(65vh, 670px); margin: 0 0 0 auto; overflow: hidden; }
.m-wide-image img { width: 100%; height: 100%; object-fit: cover; }
.m-quote { padding: clamp(90px, 11vw, 160px) clamp(26px, 15vw, 235px); background: var(--blue); }
.m-quote p { margin: 0; }
.m-contact { display: grid; grid-template-columns: 1fr .85fr; gap: clamp(55px, 11vw, 180px); padding: clamp(90px, 12vw, 175px) clamp(26px, 12vw, 190px); background: var(--white); }
.m-contact h1 { margin: 0 0 28px; font-size: clamp(38px, 4vw, 56px); }
.m-contact > div:first-child p:last-child { max-width: 570px; }
.m-contact-links { padding-top: 52px; }
.m-contact-links a, .m-contact-links > div { display: block; padding: 25px 0; border-top: 1px solid var(--line); text-decoration: none; }
.m-contact-links > *:last-child { border-bottom: 1px solid var(--line); }
.m-contact-links span { font-size: 21px; }
.m-contact-image { margin: 0; height: min(67vh, 700px); overflow: hidden; }
.m-contact-image img { width: 100%; height: 100%; object-fit: cover; object-position: 44% 50%; }

@media (max-width: 760px) {
  .site-header { align-items: flex-start; }
  .nav { gap: 12px; flex-direction: column; text-align: right; }
  .hero, .intro, .split, .course-grid, .service-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 420px; }
  .hero-copy { min-height: 560px; }
  .hero-image, .hero-image img { min-height: 430px; }
  .intro, .section, .cta, .course-grid { padding-left: 24px; padding-right: 24px; }
  .meta-row { grid-template-columns: 1fr; }
  .meta-row div { border-right: 0; border-bottom: 1px solid var(--line); }
  .meta-row div:last-child { border-bottom: 0; }
  .cta { align-items: flex-start; flex-direction: column; }
  .footer { gap: 18px; flex-direction: column; }
  .human-hero { grid-template-columns: 1fr; min-height: 0; padding: 28px 24px 72px; }
  .human-hero-image { height: 54vh; min-height: 400px; }
  .human-hero-copy { padding: 0; }
  .human-hero h1 { font-size: clamp(36px, 10vw, 46px); }
  .human-intro, .human-ways, .human-closing { grid-template-columns: 1fr; }
  .human-intro, .human-ways { padding: 78px 24px; }
  .human-photo { width: calc(100% - 24px); height: 58vh; min-height: 430px; }
  .human-ways-heading { position: static; }
  .human-closing img { min-height: 430px; }
  .human-closing > div { padding: 70px 24px; }
  .minimal-opening { height: 58vh; min-height: 430px; }
  .minimal-hero { grid-template-columns: 1fr; }
  .minimal-hero-copy { padding: 58px 24px 50px; }
  .minimal-hero h1 { font-size: clamp(34px, 9.5vw, 43px); }
  .minimal-hero > img { min-height: 0; height: 290px; }
  .minimal-intro, .minimal-about { grid-template-columns: 1fr; padding: 74px 24px; gap: 34px; }
  .minimal-intro h1 { font-size: clamp(34px, 9.5vw, 43px); }
  .minimal-about > div:last-child { padding-top: 0; }
  .minimal-image { width: calc(100% - 24px); height: 56vh; min-height: 420px; }
  .minimal-services { padding: 78px 24px; }
  .minimal-service-list a { grid-template-columns: 1fr; gap: 7px; }
  .minimal-end { padding: 82px 24px; }
  .minimal-site .site-header { align-items: flex-start; }
  .minimal-site .nav { gap: 10px; }
  .m-page-head, .m-copy, .m-list, .m-contact { grid-template-columns: 1fr; }
  .m-page-head { height: auto; min-height: 0; }
  .m-page-head > div { padding: 58px 24px; }
  .m-page-head h1 { font-size: clamp(35px, 10vw, 45px); }
  .m-page-head .m-long-title { font-size: clamp(30px, 8.6vw, 39px); }
  .m-page-head .m-core-title { font-size: clamp(32px, 9.1vw, 41px); }
  .m-page-head .m-long-word { font-size: clamp(27px, 7.5vw, 35px); }
  .m-page-head > img { min-height: 360px; height: 46vh; }
  .m-copy, .m-list, .m-contact { padding: 76px 24px; }
  .m-facts { grid-template-columns: 1fr; padding: 0; }
  .m-facts div { border-right: 0; border-bottom: 1px solid var(--line); }
  .m-facts div:last-child { border-bottom: 0; }
  .m-action, .m-quote, .m-schedule { padding: 78px 24px; }
  .m-concepts, .m-path { padding: 76px 24px; }
  .m-testimonial { padding: 74px 24px; }
  .m-concept-rows article { grid-template-columns: 1fr; gap: 22px; }
  .m-schedule article { grid-template-columns: .7fr 1fr; }
  .m-wide-image { width: calc(100% - 24px); height: 55vh; min-height: 420px; }
  .m-contact-links { padding-top: 0; }
  .m-contact-image { height: 56vh; min-height: 430px; }
}

/* Avalehe tihedam, toimetuslik paigutus. Alamlehtede mõõdud jäävad eraldi. */
.compact-home .minimal-hero {
  grid-template-columns: minmax(0, 54%) minmax(0, 46%);
  min-height: 0;
  height: clamp(410px, 37vw, 520px);
}
.compact-home .minimal-hero-copy {
  padding: 36px clamp(30px, 6vw, 96px);
}
.compact-home .minimal-hero h1 {
  max-width: 550px;
  font-family: "Archivo SemiExpanded", sans-serif;
  font-weight: 500;
  font-size: clamp(32px, 3vw, 43px);
  line-height: 1.17;
  letter-spacing: -.035em;
}
.compact-home .minimal-hero-copy > p:not(.eyebrow) {
  max-width: 510px;
  margin: 19px 0 17px;
  font-size: clamp(16px, 1.18vw, 18px);
  line-height: 1.55;
}
.compact-home .minimal-hero > img {
  min-height: 0;
  height: 100%;
  object-position: 50% 62%;
}
.compact-home .minimal-about {
  gap: clamp(42px, 7vw, 110px);
  padding: clamp(66px, 6vw, 90px) clamp(30px, 8vw, 126px);
}
.compact-home .minimal-about h2 { font-size: clamp(27px, 2.6vw, 37px); }
.compact-home .minimal-about > div:last-child { padding-top: 30px; }
.compact-home .minimal-image { height: clamp(340px, 39vw, 520px); }
.compact-home .minimal-services { padding: clamp(70px, 7vw, 104px) clamp(30px, 8vw, 126px); }
.compact-home .minimal-service-list { margin-top: 26px; }
.compact-home .minimal-service-list a { padding: 21px 0; }
.compact-home .minimal-service-list span { font-size: clamp(23px, 2vw, 29px); }
.compact-home .minimal-end { padding: clamp(70px, 7vw, 100px) clamp(30px, 12vw, 180px); }
.compact-home .minimal-end p { font-size: clamp(26px, 2.6vw, 36px); }
@media (max-width: 760px) {
  .compact-home .minimal-hero { grid-template-columns: 1fr; height: auto; }
  .compact-home .minimal-hero-copy { padding: 50px 26px 42px; }
  .compact-home .minimal-hero h1 { font-size: clamp(30px, 8vw, 40px); }
  .compact-home .minimal-hero > img { height: 310px; }
  .compact-home .minimal-about { padding: 64px 26px; gap: 23px; }
  .compact-home .minimal-about > div:last-child { padding-top: 0; }
  .compact-home .minimal-image { height: 350px; }
  .compact-home .minimal-services { padding: 68px 26px; }
  .compact-home .minimal-end { padding: 70px 26px; }
}

/* Portree kuulub tutvustuse juurde; selle mõõt järgib teksti, mitte ekraani kõrgust. */
.compact-home .minimal-about {
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.12fr) minmax(220px, .85fr);
  align-items: start;
  gap: clamp(28px, 3.5vw, 56px);
  padding-top: clamp(64px, 5.5vw, 84px);
  padding-bottom: clamp(64px, 5.5vw, 84px);
}
.compact-home .minimal-about > div:last-of-type { padding-top: 28px; }
.compact-home .minimal-about .minimal-image {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  margin: 0;
}
.compact-home .minimal-about .minimal-image img { object-position: 50% 45%; }
@media (max-width: 900px) {
  .compact-home .minimal-about { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .compact-home .minimal-about .minimal-image { grid-column: 2; width: min(100%, 310px); }
}
@media (max-width: 760px) {
  .compact-home .minimal-about { grid-template-columns: 1fr; gap: 20px; }
  .compact-home .minimal-about > div:last-of-type { padding-top: 0; }
  .compact-home .minimal-about .minimal-image {
    grid-column: 1;
    width: min(68%, 250px);
    margin: 14px 0 0 auto;
  }
}

/* Alamlehtede proportsioonid: loetav tekst, lühemad vahed ja mõõdukad fotod. */
.minimal-site:not(.compact-home) .m-page-head {
  grid-template-columns: minmax(0, 48%) minmax(0, 52%);
  height: clamp(340px, 31vw, 440px);
  min-height: 0;
}
.minimal-site:not(.compact-home) .m-page-head > div { padding: 34px clamp(32px, 5vw, 78px); }
.minimal-site:not(.compact-home) .m-page-head h1 { font-size: clamp(34px, 3.1vw, 46px); line-height: 1.16; }
.minimal-site:not(.compact-home) .m-page-head .m-long-title { font-size: clamp(32px, 3vw, 44px); }
.minimal-site:not(.compact-home) .m-page-head .m-one-line-title { font-size: clamp(32px, 3vw, 44px); white-space: nowrap; }
.minimal-site:not(.compact-home) .m-page-head .m-core-title { font-size: clamp(32px, 3vw, 44px); }
.minimal-site:not(.compact-home) .m-page-head > div > p:last-child { margin-top: 18px; font-size: 17px; line-height: 1.5; }
.minimal-site:not(.compact-home) .m-copy,
.minimal-site:not(.compact-home) .m-list,
.minimal-site:not(.compact-home) .m-concepts,
.minimal-site:not(.compact-home) .m-path,
.minimal-site:not(.compact-home) .m-schedule,
.minimal-site:not(.compact-home) .m-contact { padding: clamp(58px, 6vw, 84px) clamp(30px, 9vw, 136px); }
.minimal-site:not(.compact-home) .m-copy { gap: clamp(34px, 5vw, 75px); grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
.minimal-site:not(.compact-home) .m-copy aside { font-size: clamp(24px, 2.1vw, 30px); }
.minimal-site:not(.compact-home) .m-lead { font-size: clamp(18px, 1.35vw, 20px); }
.minimal-site:not(.compact-home) .m-list { gap: clamp(34px, 5vw, 75px); }
.minimal-site:not(.compact-home) .m-list li { padding: 13px 0; }
.minimal-site:not(.compact-home) .m-concept-rows { margin-top: 26px; }
.minimal-site:not(.compact-home) .m-concept-rows article { padding: 25px 0; gap: clamp(24px, 4vw, 60px); }
.minimal-site:not(.compact-home) .m-path ol { margin-top: 25px; }
.minimal-site:not(.compact-home) .m-schedule > div { margin-top: 26px; }
.minimal-site:not(.compact-home) .m-testimonial,
.minimal-site:not(.compact-home) .m-action,
.minimal-site:not(.compact-home) .m-quote { padding: clamp(58px, 6vw, 84px) clamp(30px, 11vw, 165px); }
.minimal-site:not(.compact-home) .m-testimonial blockquote { margin-top: 20px; font-size: clamp(22px, 2vw, 29px); }
.minimal-site:not(.compact-home) .m-action p,
.minimal-site:not(.compact-home) .m-quote p { font-size: clamp(25px, 2.5vw, 35px); }
.minimal-site:not(.compact-home) .m-facts div { padding: 25px 22px; }
.minimal-site:not(.compact-home) .m-wide-image {
  width: min(70%, 800px);
  height: auto;
  aspect-ratio: 3 / 2;
}
.minimal-site:not(.compact-home) .m-contact { gap: clamp(34px, 5vw, 72px); }
.minimal-site:not(.compact-home) .m-contact h1 { font-size: clamp(32px, 3vw, 44px); }
.minimal-site:not(.compact-home) .m-contact-links { padding-top: 20px; }
.minimal-site:not(.compact-home) .m-contact-links a,
.minimal-site:not(.compact-home) .m-contact-links > div { padding: 17px 0; }
.minimal-site:not(.compact-home) .m-contact-image { height: 340px; }
@media (max-width: 760px) {
  .minimal-site .site-header { align-items: center; flex-wrap: wrap; gap: 10px 20px; padding: 15px 22px; }
  .minimal-site .nav { flex-direction: row; flex-wrap: wrap; justify-content: flex-start; gap: 7px 16px; width: 100%; text-align: left; font-size: 13px; line-height: 1.35; }
  .minimal-site .logo { width: 92px; }
  .minimal-site:not(.compact-home) .m-page-head { grid-template-columns: 1fr; height: auto; }
  .minimal-site:not(.compact-home) .m-page-head > div { padding: 39px 24px 35px; }
  .minimal-site:not(.compact-home) .m-page-head h1 { font-size: clamp(31px, 8vw, 39px); }
  .minimal-site:not(.compact-home) .m-page-head .m-long-title,
  .minimal-site:not(.compact-home) .m-page-head .m-core-title { font-size: clamp(29px, 7.3vw, 37px); white-space: normal; }
  .minimal-site:not(.compact-home) .m-page-head .m-one-line-title { font-size: clamp(27px, 7.6vw, 35px); white-space: nowrap; }
  .minimal-site:not(.compact-home) .m-page-head .m-long-word { font-size: clamp(20px, 6.3vw, 28px); white-space: normal; overflow-wrap: anywhere; }
  .minimal-site:not(.compact-home) .m-page-head > img { height: clamp(210px, 55vw, 295px); min-height: 0; }
  .minimal-site:not(.compact-home) .m-copy,
  .minimal-site:not(.compact-home) .m-list,
  .minimal-site:not(.compact-home) .m-contact { grid-template-columns: 1fr; gap: 20px; }
  .minimal-site:not(.compact-home) .m-copy,
  .minimal-site:not(.compact-home) .m-list,
  .minimal-site:not(.compact-home) .m-concepts,
  .minimal-site:not(.compact-home) .m-path,
  .minimal-site:not(.compact-home) .m-schedule,
  .minimal-site:not(.compact-home) .m-contact,
  .minimal-site:not(.compact-home) .m-testimonial,
  .minimal-site:not(.compact-home) .m-action,
  .minimal-site:not(.compact-home) .m-quote { padding: 50px 24px; }
  .minimal-site:not(.compact-home) .m-copy aside { font-size: 24px; }
  .minimal-site:not(.compact-home) .m-list li { padding: 11px 0; }
  .minimal-site:not(.compact-home) .m-concept-rows article { grid-template-columns: 1fr; gap: 12px; padding: 22px 0; }
  .minimal-site:not(.compact-home) .m-concept-rows h2 { font-size: 26px; }
  .minimal-site:not(.compact-home) .m-facts div { padding: 19px 24px; }
  .minimal-site:not(.compact-home) .m-wide-image { width: 82%; height: auto; aspect-ratio: 4 / 3; min-height: 0; }
  .minimal-site:not(.compact-home) .m-contact-image { height: 230px; min-height: 0; }
}

/* Tutvustus on nüüd kaks tugevat pinda, ilma kitsa pildiveeruta. */
.compact-home .minimal-about {
  grid-template-columns: minmax(0, 1fr) minmax(0, .75fr);
  align-items: center;
  gap: clamp(48px, 8vw, 122px);
  padding: clamp(58px, 5vw, 74px) clamp(30px, 8vw, 126px);
}
.compact-home .minimal-about .about-copy { max-width: 580px; }
.compact-home .minimal-about .about-copy h2 { margin: 0 0 21px; font-size: clamp(30px, 2.65vw, 38px); }
.compact-home .minimal-about .about-copy > p:not(.eyebrow) { max-width: 520px; margin: 0 0 20px; font-size: 17px; line-height: 1.6; }
.compact-home .minimal-about .minimal-image {
  grid-column: auto;
  width: 100%;
  max-width: 420px;
  aspect-ratio: 1 / 1;
  margin: 0 0 0 auto;
}
@media (max-width: 760px) {
  .compact-home .minimal-about { grid-template-columns: 1fr; gap: 32px; padding: 56px 26px; }
  .compact-home .minimal-about .minimal-image { width: min(84%, 330px); aspect-ratio: 4 / 3; }
}

/* Avalehe fotodel on üks juhtroll: avapilt. Tutvustus on puhas tekstiplokk. */
.compact-home .minimal-about {
  display: grid;
  grid-template-columns: minmax(140px, .43fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(28px, 7vw, 100px);
  padding: clamp(64px, 6.5vw, 92px) clamp(30px, 10vw, 150px);
  background: var(--bone);
}
.compact-home .minimal-about > .eyebrow { margin: 7px 0 0; }
.compact-home .minimal-about .about-copy { max-width: 690px; }
.compact-home .minimal-services { background: var(--white); }
.compact-home .minimal-about .about-copy h2 { max-width: none; font-size: clamp(30px, 2.75vw, 39px); line-height: 1.2; }
.compact-home .minimal-about .about-copy h2 em,
.minimal-site .m-page-head h1 em {
  font-family: "Instrument Sans", sans-serif;
  font-weight: 400;
  font-style: italic;
}
.minimal-site h1 span,
.minimal-site .m-core-title span { font-weight: 500; }
.minimal-site .m-page-head .m-long-word { font-size: .74em; }
@media (max-width: 760px) {
  .compact-home .minimal-about { grid-template-columns: 1fr; gap: 19px; padding: 56px 26px; }
  .compact-home .minimal-about > .eyebrow { margin: 0; }
}
/* Minust-lehe teine foto vahetab suunda ega korda päise parempoolset pilti. */
.minimal-site:not(.compact-home) .m-wide-image { margin: 0 auto 0 clamp(30px, 9vw, 136px); }
@media (max-width: 760px) {
  .minimal-site:not(.compact-home) .m-wide-image { margin-left: 24px; }
}
/* Kadi päris käekiri lõpetab Minust-teksti väikese isikliku märgina. */
.minimal-site .m-signature { width: min(330px, 72%); margin: 25px 0 0 auto; }
.minimal-site .m-signature img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
@media (max-width: 760px) {
  .minimal-site .m-signature { width: min(300px, 78%); margin-top: 20px; }
}

.minimal-site .m-signature { width: min(380px, 76%); }
.minimal-site .m-signature img { mix-blend-mode: normal; }

.minimal-site .m-copy p:has(+ .m-signature) { margin-bottom: 0; }
.minimal-site .m-signature { width: min(210px, 48%); margin-top: -12px; }
@media (max-width: 760px) { .minimal-site .m-signature { width: min(190px, 52%); } }

/* Gutenberg adds figure and paragraph wrappers around the original images and links. */
.minimal-site .nav ul { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin: 0; padding: 0; list-style: none; }
.minimal-site .nav li { margin: 0; }
.minimal-site .minimal-hero > figure,
.minimal-site .m-page-head > figure { margin: 0; overflow: hidden; }
.minimal-site .minimal-hero > figure img,
.minimal-site .m-page-head > figure img { display: block; width: 100%; height: 100%; object-fit: cover; }
.minimal-site .minimal-hero > figure img { min-height: 440px; object-position: 50% 66%; }
.minimal-site .m-page-head > figure img { min-height: 0; }
.minimal-site .minimal-service-list > p { margin: 0; }
.minimal-site .minimal-service-list > p > a { display: grid; }
.minimal-site .m-contact-links > p { margin: 0; }
.minimal-site .m-contact-links > p > a { display: block; }
.minimal-site .m-contact-image img { display: block; }
@media (max-width: 760px) {
  .minimal-site .nav ul { gap: 12px; flex-direction: column; align-items: flex-end; }
  .minimal-site .minimal-hero > figure img { min-height: 0; height: 290px; }
  .minimal-site:not(.compact-home) .m-page-head > figure img { height: clamp(210px, 55vw, 295px); min-height: 0; }
}

.minimal-site .m-about-story p { margin: 0 0 18px; }
.minimal-site .m-about-story .m-intro { font-size: 18px; font-weight: 500; line-height: 1.55; }
.minimal-site .m-about-story p:has(+ .m-signature) { margin-bottom: 0; }

.minimal-site:not(.compact-home) .m-page-head.m-about-head h1 {
  max-width: 540px;
  font-family: "Instrument Sans", sans-serif;
  font-size: clamp(32px, 2.8vw, 38px);
  font-weight: 500;
  line-height: 1.22;
  letter-spacing: -.018em;
}
.minimal-site:not(.compact-home) .m-page-head.m-about-head > div > .m-about-intro {
  max-width: 510px;
  margin: 17px 0 0;
  font-size: 18px;
  line-height: 1.55;
}
@media (max-width: 760px) {
  .minimal-site:not(.compact-home) .m-page-head.m-about-head h1 { font-size: clamp(29px, 7.8vw, 35px); }
  .minimal-site:not(.compact-home) .m-page-head.m-about-head > div > .m-about-intro { font-size: 17px; }
}

.minimal-site .m-action,
.compact-home .minimal-end { text-align: center; }
.minimal-site .m-action p,
.compact-home .minimal-end p { margin: 0 auto 22px; }
.minimal-site .text-link { font-weight: 600; }
.minimal-site .m-action .text-link,
.compact-home .minimal-end .text-link {
  font-weight: 400;
  border-bottom: 1px solid var(--coral);
  padding-bottom: 0;
}
.minimal-site .m-action .text-link,
.compact-home .minimal-end .text-link { margin-top: 0; }
.minimal-site .m-list--neutral { background: var(--white); }

/* Avalehe tekstilingid samas kerges stiilis nagu alamlehtede lõpukutsed. */
.compact-home .minimal-hero-copy .text-link,
.compact-home .minimal-about .text-link { font-weight: 400; border-bottom: 1px solid var(--coral); padding-bottom: 0; }

/* The form follows the same restrained line and type system as the contact links. */
.kehas-contact-form { display: grid; gap: 16px; max-width: 560px; margin-top: 30px; }
.kehas-contact-form label { display: grid; gap: 6px; font-size: 15px; font-weight: 500; }
.kehas-contact-form input:not([type="hidden"]),
.kehas-contact-form textarea { display: block; width: 100%; padding: 11px 12px; border: 1px solid var(--line); border-radius: 0; background: var(--white); color: var(--brown); font: inherit; }
.kehas-contact-form textarea { resize: vertical; min-height: 120px; }
.kehas-contact-form input:focus-visible,
.kehas-contact-form textarea:focus-visible { outline: 2px solid var(--brown); outline-offset: 2px; }
.kehas-contact-form button { justify-self: start; margin-top: 4px; padding: 10px 0 4px; border: 0; border-bottom: 1px solid var(--coral); border-radius: 0; background: none; color: var(--brown); font: 500 17px "Instrument Sans", sans-serif; cursor: pointer; }
.kehas-contact-form button:hover { border-bottom-color: var(--brown); }
.kehas-contact-form .kehas-form-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.kehas-form-notice { margin-top: 22px; }
@media (max-width: 760px) { .kehas-contact-form { margin-top: 24px; } }

/* Unified finishing details for the WordPress block markup. */
.minimal-site .site-header .logo { background: none !important; height: auto !important; }
.minimal-site .site-header .logo img { display: block !important; width: 100%; height: auto; }
.minimal-site .nav .current-menu-item > a,
.minimal-site .nav .current_page_item > a { border-bottom: 1px solid var(--coral); }
.minimal-site .m-action { padding-top: clamp(34px, 3.5vw, 48px) !important; padding-bottom: clamp(34px, 3.5vw, 48px) !important; }
.minimal-site .m-action p { max-width: 880px; letter-spacing: -.01em; }
.minimal-site:not(.compact-home) .m-action p,
.compact-home .minimal-end p { font-size: clamp(25px, 2.5vw, 35px); max-width: 880px; letter-spacing: -.015em; }
.compact-home .minimal-end { padding-top: clamp(34px, 3.5vw, 48px); padding-bottom: clamp(34px, 3.5vw, 48px); }
.minimal-site .footer-logo { width: 88px; }
.minimal-site .m-action .text-link,
.compact-home .minimal-end .text-link,
.compact-home .minimal-hero-copy .text-link,
.compact-home .minimal-about .text-link { font-weight: 400; border-bottom: 1px solid var(--coral); text-decoration: none; }
.minimal-site .m-action .text-link strong,
.minimal-site .m-action p.kehas-link strong,
.compact-home .minimal-end .text-link strong { font-weight: 400; }
.minimal-site .m-action .text-link,
.compact-home .minimal-end .text-link { font-family: "Instrument Sans", sans-serif; font-size: 15px; font-weight: 400; letter-spacing: .006em; }
.minimal-site .m-action p.kehas-link { margin-bottom: 0; line-height: 1.45; }
@media (hover: hover) {
  .minimal-site .m-action .text-link:hover,
  .compact-home .minimal-end .text-link:hover,
  .compact-home .minimal-hero-copy .text-link:hover,
  .compact-home .minimal-about .text-link:hover { font-style: italic; }
}
.minimal-site .m-contact-links > .wp-block-group__inner-container > p,
.minimal-site .m-contact-links > .wp-block-group__inner-container > div { margin: 0; border-top: 1px solid var(--line); }
.minimal-site .m-contact-links > .wp-block-group__inner-container > :last-child { border-bottom: 1px solid var(--line); }
.minimal-site .m-contact-links > .wp-block-group__inner-container > p > a { display: block; padding: 17px 0; border: 0; }
.minimal-site .m-contact-links > .wp-block-group__inner-container > div { padding: 17px 0; }
.minimal-site .m-contact-links > .wp-block-group__inner-container { padding: 0; border: 0; }
.minimal-site .m-contact-links .wp-block-group p { margin: 0; }
.kehas-contact-form label { font-weight: 400; }
.kehas-contact-form button { font: 400 15px "Instrument Sans", sans-serif; padding: 0 0 1px; border-bottom: 1px solid var(--coral); }
@media (hover: hover) { .kehas-contact-form button:hover { font-style: italic; border-bottom-color: var(--coral); } }
@media (max-width: 760px) {
  .minimal-site .m-action { padding-top: 34px !important; padding-bottom: 34px !important; }
  .compact-home .minimal-end { padding-top: 34px; padding-bottom: 34px; }
  .footer-credit { white-space: normal; }
}
