/* Alternating solid dark and light sections, with photography as the texture. */
:root {
  --canvas:#171918;
  --canvas-deep:#111719;
  --canvas-card:#232725;
  --parchment:#f0ece4;
  --hairline:#ffffff30;
}
body {
  background:var(--canvas);
}
.about,.workshops,.photography,.services,.founder,.contact,.testimonials {
  color:#f3f0e8;
}
.about {
  background:var(--parchment);
  color:#28271f;
}
.about::before {
  content:none;
}
.workshops {
  background:var(--canvas);
}
.photography {
  background:var(--parchment);
  color:#28271f;
}
.services {
  background:var(--canvas);
}
.founder {
  background:var(--parchment);
  color:#28271f;
}
.contact {
  background:var(--parchment);
  color:#28271f;
}
.testimonials {
  background:var(--canvas);
  color:#f3f0e8;
}
.section-top .eyebrow,.section-top .section-tail,.services .section-top .eyebrow {
  color:#d5bd94;
}
.section-top .rule,.about .section-top .rule,.services .section-top .rule {
  background:var(--hairline);
}
.workshops,.photography,.services,.founder,.contact,.testimonials {
  border-top:1px solid #ffffff1e;
}
.about .section-top .eyebrow,.photography .section-top .eyebrow,.founder .section-top .eyebrow,.contact .section-top .eyebrow {
  color:#806741;
}
.about .section-top .rule,.photography .section-top .rule,.founder .section-top .rule,.contact .section-top .rule {
  background:#ad967361;
}
.about .section-tail,.photography .section-tail,.founder .section-tail,.contact .section-tail {
  color:#6a6254;
}
.about .about-overline {
  color:#806741;
}
.about .about-copy h2 em {
  color:#8d6f45;
}
.about .about-intro-text,.about .about-note p {
  color:#4e5048;
}
.about .about-discover {
  color:#7b5d32;
  border-color:#9c7950;
}
.about .about-discover:hover {
  color:#30271b;
}
.about .about-note {
  border-color:#a88b65;
}
.about .about-note-no {
  color:#806741;
}
.about .about-note:first-child p {
  color:#2d2d25;
}
.about .about-photo-detail {
  border-color:var(--parchment);
}
.contact-copy p {
  color:#50584f;
}
.contact-methods a,.contact-methods a:last-child {
  border-color:#bdb8ab;
}
.contact-methods small,.contact-methods a>i:first-child {
  color:#8c7554;
}
.workshops .section-heading p {
  color:#bfc7c0;
}
.photography .section-heading p {
  color:#5e625b;
}
.photography .section-heading h2 em {
  color:#8d7046;
}
.site-header.scrolled {
  background:#181a19f4;
}
.brand {
  min-width:0;
}
.brand .brand-copy {
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  font-size:inherit;
  line-height:1;
  letter-spacing:normal;
  white-space:normal;
}
.brand-copy strong {
  color:#fff;
  font-family:'Poppins',Arial,sans-serif;
  font-size:1.7rem;
  line-height:1;
  letter-spacing:-.045em;
}
.brand-copy small {
  color:#d9bf90;
  font-family:'Poppins',Arial,sans-serif;
  font-size:.44rem;
  font-weight:700;
  line-height:1.35;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
.site-nav {
  gap:clamp(13px,1.55vw,27px);
}
.site-nav a {
  font-size:.66rem;
}
.site-nav .nav-contact {
  padding:11px 17px;
  border-color:#d4bd95;
  color:#171918;
  background:#e5d1ac;
}
.site-nav .nav-contact:hover {
  background:#f0dfbe;
  color:#171918;
}
/* About: editorial copy, overlapping photography, then two clear notes. */
.about-feature {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);
  gap:clamp(48px,7vw,115px);
  align-items:center;
}
.about-copy {
  max-width:660px;
  padding:25px 0;
}
.about-overline,.services-overline {
  display:block;
  color:#d7bf98;
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:25px;
}
.about-copy h2 {
  font-size:clamp(3.45rem,5.2vw,6.25rem);
  line-height:.97;
  margin:0 0 33px;
}
.about-copy h2 em {
  color:#dcc49e;
}
.about-intro-text {
  max-width:620px;
  color:#d7ddd6;
  font-size:clamp(1rem,1.12vw,1.12rem);
  line-height:1.86;
  margin:0 0 38px;
}
.about-discover {
  display:inline-flex;
  align-items:center;
  gap:35px;
  color:#e8cc9f;
  border-bottom:1px solid #e8cc9f;
  padding-bottom:8px;
  text-decoration:none;
  text-transform:uppercase;
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.15em;
  transition:gap .25s,color .25s;
}
.about-discover:hover {
  gap:47px;
  color:#fff;
}
.about-photo-stack {
  position:relative;
  padding:0 13% 15% 0;
  min-height:640px;
}
.about-photo-main {
  position:relative;
  height:600px;
  overflow:hidden;
  border:1px solid #d8c29b79;
  box-shadow:0 30px 55px #0005;
}
.about-photo-main::after,.about-photo-detail::after {
  content:"";
  position:absolute;
  inset:55% 0 0;
  background:linear-gradient(transparent,#000a);
  pointer-events:none;
}
.about-photo-main img,.about-photo-detail img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.about-photo-main img {
  object-position:center 50%;
}
.about-photo-detail {
  position:absolute;
  width:43%;
  height:40%;
  right:0;
  bottom:0;
  overflow:hidden;
  border:7px solid var(--canvas);
  box-shadow:0 22px 45px #0009;
}
.about-photo-stack span {
  position:absolute;
  z-index:1;
  left:18px;
  bottom:15px;
  color:#fff;
  text-transform:uppercase;
  font-size:.55rem;
  font-weight:700;
  letter-spacing:.16em;
  text-shadow:0 2px 6px #000b;
}
.about-photo-detail span {
  left:13px;
  bottom:10px;
  font-size:.46rem;
  line-height:1.5;
}
.about-notes {
  display:grid;
  grid-template-columns:1fr 1.25fr;
  gap:clamp(35px,5vw,90px);
  margin-top:clamp(65px,8vw,120px);
}
.about-note {
  border-top:1px solid #b9a17d;
  padding-top:27px;
}
.about-note-no {
  color:#d5bd94;
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.16em;
}
.about-note p {
  color:#c9d0c8;
  font-size:.96rem;
  line-height:1.82;
  margin:23px 0 0;
}
.about-note:first-child p {
  font-family:'Poppins',Arial,sans-serif;
  color:#eeeae0;
  font-size:clamp(1.5rem,2vw,2.2rem);
  line-height:1.28;
}
.about-quote {
  margin-top:clamp(65px,8vw,110px);
}
/* Services: one photographic banner and three self-contained practices. */
.services-header {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:40px;
  margin-bottom:42px;
}
.services-header h2 em {
  color:#dcc49e;
}
.services-header p {
  max-width:330px;
  color:#c7cec6;
  font-size:.91rem;
  line-height:1.7;
  margin:0 0 5px;
}
.services-image {
  position:relative;
  height:clamp(300px,33vw,470px);
  overflow:hidden;
  border:1px solid #ffffff36;
}
.services-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 44%;
  filter:brightness(.82);
}
.services-image::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#141918b9,transparent 60%),linear-gradient(0deg,#10151494,transparent 50%);
}
.services-image span {
  position:absolute;
  z-index:1;
  bottom:35px;
  left:35px;
  color:#fff;
  font-family:'Poppins',Arial,sans-serif;
  font-size:clamp(2rem,3.2vw,3.5rem);
  font-style:italic;
  text-shadow:0 2px 12px #000;
}
.service-cards {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
  margin-top:20px;
}
.service-card {
  min-width:0;
  height:100%;
  border:1px solid #ffffff35;
  background:var(--canvas-card);
  transition:border-color .25s,transform .25s,box-shadow .25s;
}
.service-card:hover {
  border-color:#d8bd9282;
  transform:translateY(-4px);
  box-shadow:0 18px 35px #0004;
}
.service-card summary {
  list-style:none;
  display:flex;
  flex-direction:column;
  min-height:470px;
  padding:clamp(25px,2.6vw,38px);
  cursor:pointer;
}
.service-card:not([open]) summary {
  height:100%;
}
.service-card summary::-webkit-details-marker {
  display:none;
}
.service-card-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#d9c194;
}
.service-number {
  font-size:.64rem;
  font-weight:700;
  letter-spacing:.18em;
}
.service-card-top i {
  font-size:1.1rem;
}
.service-card-title {
  display:block;
  font-family:'Poppins',Arial,sans-serif;
  font-size:clamp(1.8rem,2.5vw,2.7rem);
  line-height:1.04;
  margin:46px 0 17px;
  color:#f3eee4;
}
.service-card-summary {
  display:block;
  color:#bac3ba;
  font-size:.8rem;
  line-height:1.6;
}
.service-card-action {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  width:100%;
  margin-top:auto;
  padding-top:27px;
  color:#e0c89f;
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.service-card-action i {
  transition:transform .25s;
}
.service-card[open] .service-card-action i {
  transform:rotate(45deg);
}
.service-card-body {
  padding:0 clamp(25px,2.6vw,38px) 32px;
  border-top:1px solid #ffffff28;
}
.service-card-body p {
  color:#ced4ca;
  font-size:.84rem;
  line-height:1.75;
  margin:25px 0 0;
}
.services .questions {
  border-color:var(--hairline);
}
.questions-title h2 {
  color:#f2eee7;
}
.faq-answer {
  color:#cbd2c9;
}
/* The light enquiry form sits within the dark contact section. */
.contact-form {
  color:#22251f;
  background:#efeae0;
  border-color:#c8b99d;
  box-shadow:0 25px 60px #0005;
}
/* Founder portrait gets a quiet lift without obscuring the photography. */
.founder-portrait {
  overflow:hidden;
  border:1px solid #d5ba8b7d;
  box-shadow:0 24px 55px #0008,0 0 0 8px #ffffff08;
  transition:transform .45s,box-shadow .45s,border-color .45s;
}
.founder-portrait img {
  transition:transform .7s cubic-bezier(.2,.6,.2,1),filter .7s;
}
.founder-portrait:hover {
  transform:translateY(-7px);
  border-color:#dfc698;
  box-shadow:0 34px 72px #000b,0 0 0 8px #d8bc8e1b;
}
.founder-portrait:hover img {
  transform:scale(1.035);
  filter:contrast(1.05) saturate(1.06);
}
.founder-portrait span {
  z-index:2;
}
/* A warm Ladakh photograph marks the transition out of the contact section. */
.site-footer {
  background:#101719;
}
.footer-invite {
  min-height:clamp(350px,35vw,475px);
  padding-top:65px;
  padding-bottom:65px;
  border-top:3px solid #d0ad71;
}
.footer-invite > img {
  display:block;
  object-position:center 19%;
  filter:saturate(1.12);
}
.footer-invite::after {
  content:"";
  background:linear-gradient(90deg,#11191ce8 0%,#121b20b0 48%,#12191b54 100%);
}
.footer-invite h2 {
  font-size:clamp(3.25rem,5.35vw,6.7rem);
  line-height:1;
  white-space:nowrap;
  margin-bottom:35px;
}
.footer-invite h2 em {
  color:#e7c889;
}
.footer-kicker,.footer-invite-side {
  color:#e7c889;
}
.footer-invite-link {
  color:#f9f6ee;
  background:transparent;
  border-color:#d4b87f;
  box-shadow:none;
}
.footer-invite-link:hover {
  color:#111719;
  background:#d9bd84;
}
.footer-inner {
  background:#101719;
  border-top:1px solid #d0ad7159;
}
.footer-brand>a:first-child span {
  color:#f1dbac;
}
.footer-brand p {
  color:#d2c8b9;
}
.footer-brand .footer-mail {
  color:#edca88;
  border-color:#bd985c;
}
.footer-column h2 {
  color:#e5c385;
}
.footer-column a {
  color:#e8decf;
}
.footer-column a i {
  color:#d8b678;
}
.footer-column a:hover {
  color:#f4d499;
}
.footer-bottom {
  border-color:#ffffff50;
  color:#c8b79d;
}
.footer-bottom a {
  color:#e6c98d;
}

/* Plexify-inspired typography: confident Poppins headings and clear body copy. */
body,button,input,textarea,select {
  font-family:'Poppins',Arial,sans-serif;
}
h1,h2,h3,.section h2,.brand strong,.footer-brand>a:first-child,
.section-tail,.about-note:first-child p,.about-quote p,
.workshop-description,.services-image span,.service-card-title,.faq-row summary {
  font-family:'Poppins',Arial,sans-serif;
}
h1,h2,h3,.section h2 {
  font-weight:600;
  letter-spacing:-.045em;
}
.hero h1 {
  font-size:clamp(3.7rem,6.1vw,6.5rem);
  line-height:1.02;
  font-weight:700;
}
.hero h1 em,.section h2 em {
  font-weight:500;
}
.section h2 {
  font-size:clamp(2.8rem,4.4vw,4.8rem);
  line-height:1.1;
}
.brand strong,.footer-brand>a:first-child {
  font-weight:600;
}
.section-tail,.workshop-description,.services-image span {
  font-weight:500;
}
.about-note:first-child p {
  font-size:clamp(1.25rem,1.7vw,1.9rem);
  line-height:1.5;
  font-weight:500;
}
.about-quote p {
  font-size:clamp(1.45rem,2.3vw,2.5rem);
  line-height:1.45;
  font-weight:500;
}
.faq-row summary {
  font-size:clamp(1.2rem,1.7vw,1.65rem);
  font-weight:500;
  line-height:1.4;
}

/* Every page section alternates between a single light and dark surface. */
.photography .section-heading {
  border-color:#bfb7aa;
}
.photography .section-heading p {
  color:#5a5d56;
}
.founder-copy p {
  color:#535851;
}
.founder-stats {
  border-color:#bfb7aa;
}
.founder-stats strong {
  color:#896d45;
}
.founder-stats span {
  color:#5d625a;
}
.founder-portrait span {
  background:#f0ece4;
  color:#252820;
}
.contact-form {
  background:#f4f0e8;
}

/* Testimonials now precede the enquiry section in the alternating page rhythm. */
.testimonials .testimonials-overline,
.testimonials .testimonials-heading h2 em,
.testimonials .testimonial-meta span {
  color:#d5bd94;
}
.testimonials .testimonials-heading p {
  color:#bfc7c0;
}
.testimonials .testimonial-card {
  background:#202422;
  border-color:#ffffff30;
  box-shadow:0 18px 42px #0004;
}
.testimonials .testimonial-card:hover,
.testimonials .testimonial-card:focus-within {
  border-color:#d5bd94;
  box-shadow:0 25px 55px #0007;
}
.testimonials .testimonial-video {
  border-color:#ffffff30;
}
.testimonials .testimonial-meta {
  color:#dfe3dc;
}
.testimonials .testimonial-meta strong {
  color:#dfe3dc;
}

/* Expanding, color-shifting hero panes echo Sepia's image carousel. */
.hero-images {
  display:flex;
  gap:4px;
}
.hero-pane {
  min-width:0;
  flex:1 1 0;
  transition:flex-grow .75s cubic-bezier(.2,.7,.2,1),filter .6s ease;
}
.hero-pane img {
  filter:none;
  transition:transform 8s ease,opacity .55s ease,filter .6s ease;
}
.hero-vignette {
  display:none;
}
@media(hover:hover) and (min-width:1101px) {
  .hero-images:hover .hero-pane {
    flex-grow:.82;
    filter:none;
  }
  .hero-images .hero-pane:hover {
    flex-grow:1.45;
    filter:none;
  }
  .hero-images .hero-pane:hover img {
    filter:none;
  }
}

/* Image-led service cards keep their original color beneath readable copy. */
.service-card {
  overflow:hidden;
  background:#222624;
}
.service-card summary {
  position:relative;
  isolation:isolate;
  min-height:510px;
  overflow:hidden;
}
.service-card-media {
  position:absolute;
  inset:0;
  z-index:-2;
  overflow:hidden;
}
.service-card-media img {
  width:100%;
  height:100%;
  object-fit:cover;
  filter:none;
  transition:transform .85s cubic-bezier(.2,.65,.2,1),filter .65s ease;
}
.service-card summary::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,#0e15166b 0%,#0e151668 30%,#0c1112e8 100%);
  pointer-events:none;
}
.service-card-title {
  font-size:clamp(1.4rem,1.85vw,2.05rem);
  line-height:1.18;
  font-weight:600;
  margin:auto 0 18px;
  transition:transform .45s ease;
}
.service-card-summary {
  color:#f0f0ec;
  font-size:.83rem;
}
.service-card-action {
  color:#efd7a8;
  border-top:1px solid #ffffff5c;
  margin-top:28px;
  padding-top:20px;
}
.service-card-body {
  position:relative;
  z-index:1;
  background:#222624;
}
@media(hover:hover) {
  .service-card:hover .service-card-media img,
  .service-card:focus-within .service-card-media img {
    transform:scale(1.09);
    filter:none;
  }
  .service-card:hover .service-card-title,
  .service-card:focus-within .service-card-title {
    transform:translateY(-7px);
  }
  .service-card:hover {
    transform:translateY(-6px);
  }
}

/* Portfolio images stay in full color with a restrained hover zoom and label. */
.gallery-item img {
  filter:none;
  transition:transform .85s cubic-bezier(.2,.65,.2,1),filter .65s ease;
}
.gallery-item::before {
  content:"VIEW FRAME ↗";
  position:absolute;
  z-index:2;
  top:18px;
  right:18px;
  padding:8px 12px;
  background:#f0ece4;
  color:#191b19;
  font-size:.6rem;
  font-weight:700;
  letter-spacing:.1em;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .35s ease,transform .35s ease;
}
.gallery-item span {
  transition:transform .4s ease;
}
.gallery-item:hover img,.gallery-item:focus-visible img {
  transform:scale(1.1);
  filter:none;
}
.gallery-item:hover::before,.gallery-item:focus-visible::before {
  opacity:1;
  transform:none;
}
.gallery-item:hover span,.gallery-item:focus-visible span {
  transform:translateY(-7px);
}
.workshop-art img {
  filter:saturate(.78);
  transition:transform .8s cubic-bezier(.2,.65,.2,1),filter .6s ease;
}
.workshop-card:hover .workshop-art img,
.workshop-art:focus-visible img {
  transform:scale(1.065);
  filter:saturate(1.1);
}
/* Section content reveals on entry, with a small stagger across each grid. */
html.js [data-reveal] {
  opacity:0;
  transform:translateY(26px);
  transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1);
}
html.js [data-reveal].in-view {
  opacity:1;
  transform:none;
  animation:none;
}
html.js .service-card.in-view:hover {
  transform:translateY(-6px);
}
html.js .workshop-card:nth-child(2),
html.js .service-card:nth-child(2),
html.js .gallery-item:nth-child(2) {
  transition-delay:.08s;
}
html.js .workshop-card:nth-child(3),
html.js .service-card:nth-child(3),
html.js .gallery-item:nth-child(3) {
  transition-delay:.16s;
}

/* The footer stays legible against its one continuous photograph. */
.footer-invite h2 {
  font-size:clamp(2.8rem,4.5vw,5.5rem);
  font-weight:600;
  line-height:1.1;
  letter-spacing:-.055em;
}
.footer-invite h2 em {
  font-weight:500;
}
.footer-inner {
  padding-top:clamp(45px,5vw,72px);
}
@media(max-width:1060px) {
  .site-header {
    padding:0 22px;
  }
  .site-nav {
    gap:12px;
  }
  .site-nav a {
    font-size:.59rem;
  }
  .site-nav .nav-contact {
    padding:10px 12px;
  }
  .brand-copy small {
    max-width:265px;
    font-size:.39rem;
    white-space:normal;
  }
  .about-feature {
    gap:45px;
  }
  .about-photo-stack {
    min-height:530px;
  }
  .about-photo-main {
    height:500px;
  }
  .service-card summary {
    min-height:470px;
  }
}
@media(max-width:1100px) {
  .site-header {
    height:82px;
  }
  .brand {
    gap:9px;
  }
  .brand-copy strong {
    font-size:1.45rem;
  }
  .brand-copy small {
    max-width:230px;
    font-size:.37rem;
    line-height:1.35;
    letter-spacing:.055em;
  }
  .site-nav {
    top:82px;
  }
  .hero-images {
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .site-nav {
    gap:0;
  }
  .site-nav {
    background:#191b1a;
    box-shadow:0 22px 42px #0009;
  }
  .site-nav a {
    font-size:.77rem;
  }
  .site-nav .nav-contact {
    padding:13px 16px;
  }
  .about-feature {
    grid-template-columns:1fr;
    gap:45px;
  }
  .about-photo-stack {
    max-width:720px;
    min-height:0;
    padding-bottom:12%;
  }
  .about-photo-main {
    height:540px;
  }
  .about-notes {
    gap:40px;
  }
  .service-cards {
    grid-template-columns:1fr 1fr;
  }
  .service-card summary {
    min-height:460px;
  }
  .footer-invite h2 {
    white-space:normal;
  }
}
@media(max-width:620px) {
  .site-header {
    padding:0 16px;
  }
  .brand img {
    width:40px;
    height:40px;
  }
  .brand-copy strong {
    font-size:1.3rem;
  }
  .brand-copy small {
    max-width:190px;
    font-size:.34rem;
    letter-spacing:.04em;
  }
  .hero-images {
    display:block;
  }
  .about-copy {
    padding:0;
  }
  .about-copy h2 {
    font-size:clamp(3.2rem,12vw,4.3rem);
    margin-bottom:24px;
  }
  .about-intro-text {
    font-size:.96rem;
    line-height:1.75;
  }
  .about-photo-stack {
    padding-right:10%;
    padding-bottom:12%;
  }
  .about-photo-main {
    height:430px;
  }
  .about-photo-detail {
    width:45%;
    height:42%;
    border-width:5px;
  }
  .about-notes {
    grid-template-columns:1fr;
    gap:38px;
    margin-top:65px;
  }
  .about-note p {
    margin-top:15px;
  }
  .services-header {
    display:block;
    margin-bottom:27px;
  }
  .services-header p {
    margin-top:20px;
  }
  .services-image {
    height:300px;
  }
  .services-image span {
    left:22px;
    bottom:22px;
  }
  .service-cards {
    grid-template-columns:1fr;
    gap:12px;
  }
  .service-card summary {
    min-height:460px;
    padding:25px;
  }
  .service-card-title {
    margin:auto 0 13px;
    font-size:1.5rem;
  }
  .service-card-action {
    padding-top:23px;
  }
  .footer-invite {
    min-height:400px;
    padding:48px 22px 60px;
  }
  .footer-invite h2 {
    font-size:clamp(3.3rem,12.5vw,5.1rem);
    line-height:.95;
    white-space:normal;
  }
}
@media(prefers-reduced-motion:reduce) {
  .founder-portrait:hover,.founder-portrait:hover img,.service-card:hover {
    transform:none;
  }
  html.js [data-reveal] {
    opacity:1;
    transform:none;
    transition:none;
  }
  .hero-pane,.hero-pane img,.service-card-media img,.gallery-item img {
    transition:none;
  }
}

/* Compact layout pass: balanced section rhythm and denser content groups. */
.section {
  padding:clamp(52px,4.2vw,78px) clamp(22px,7vw,112px);
}
.section-top {
  margin-bottom:clamp(26px,2.5vw,34px);
}
.section-heading {
  margin-bottom:clamp(26px,2.5vw,34px);
}
.about-notes,
.about-quote {
  margin-top:clamp(44px,3.6vw,64px);
}

.workshops {
  padding-top:clamp(52px,4.2vw,78px);
  padding-bottom:clamp(52px,4.2vw,78px);
}

/* Services and FAQ share a tighter, modern editorial rhythm. */
.services {
  padding-top:clamp(52px,4.2vw,78px);
  padding-bottom:clamp(52px,4.2vw,78px);
}
.services-header {
  margin-bottom:28px;
}
.services-image {
  height:clamp(260px,27vw,380px);
}
.service-cards {
  gap:12px;
}
.service-card summary {
  min-height:420px;
}
.questions {
  margin-top:clamp(34px,3.2vw,48px);
  padding:clamp(28px,3vw,42px);
  grid-template-columns:minmax(250px,.62fr) minmax(0,1.38fr);
  gap:clamp(30px,5vw,70px);
  border:1px solid #ffffff2e;
  background:#1d211f;
}
.questions-title {
  position:relative;
  align-self:stretch;
  min-height:300px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  border:1px solid #ffffff2e;
  isolation:isolate;
}
.questions-title::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,#10161416 20%,#101614e8 100%);
}
.questions-title > img {
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .7s cubic-bezier(.2,.7,.2,1);
}
.questions-title:hover > img {
  transform:scale(1.035);
}
.questions-title-content {
  position:relative;
  z-index:2;
  padding:clamp(22px,2.5vw,34px);
}
.questions-title h2,
.services .questions-title h2 {
  margin:12px 0 0;
  font-size:clamp(1.9rem,2.7vw,2.8rem);
  line-height:1.12;
  white-space:nowrap;
}
.questions-title-content p {
  max-width:280px;
  margin:14px 0 0;
  color:#e4e6df;
  font-size:.82rem;
  line-height:1.6;
}
.questions-list {
  border-top:1px solid #ffffff3c;
}
.faq-row summary {
  padding:17px 0;
  font-size:clamp(1rem,1.25vw,1.25rem);
  line-height:1.35;
}
.faq-answer {
  max-width:760px;
  padding:0 34px 18px 0;
  font-size:.86rem;
  line-height:1.7;
}
.founder-visual {
  min-width:0;
}
.founder-read-more {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:42px;
  min-width:190px;
  margin-top:24px;
  padding:13px 18px;
  color:#28271f;
  border:1px solid #94754a;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.14em;
  text-decoration:none;
  text-transform:uppercase;
  transition:color .25s,background .25s,transform .25s;
}
.founder-read-more:hover {
  color:#f4f0e8;
  background:#806741;
  transform:translateY(-3px);
}
.founder-copy h2 {
  margin-bottom:24px;
}
.founder-copy p {
  margin-bottom:16px;
}
.founder-stats {
  margin-top:26px;
  padding-top:22px;
}

@media(max-width:1100px) and (min-width:621px) {
  .service-card:last-child {
    grid-column:1/-1;
  }
  .service-card:last-child summary {
    min-height:360px;
  }
}

@media(max-width:620px) {
  .section {
    padding:46px 20px;
  }
  .section-top {
    margin-bottom:26px;
  }
  .workshops,
  .services {
    padding-top:46px;
    padding-bottom:46px;
  }
  .services-image {
    height:260px;
  }
  .service-card summary {
    min-height:390px;
  }
  .questions {
    grid-template-columns:1fr;
    gap:20px;
    margin-top:34px;
    padding:20px;
  }
  .questions-title {
    min-height:240px;
  }
  .questions-title h2,
  .services .questions-title h2 {
    font-size:2rem;
    white-space:normal;
  }
  .faq-row summary {
    padding:15px 0;
    font-size:1rem;
  }
  .founder-read-more {
    width:100%;
    margin-top:18px;
  }
}
