:root{--white:#eaebe9;--taupe:#a09287;--khaki:#4f5138;--burgundy:#582729;--espresso:#27201c;--ink:#10121b;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans}*{box-sizing:border-box}html{background:var(--white);scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:var(--sans)}a{color:inherit}.site-shell{min-height:100svh;overflow:hidden;background:var(--white)}.site-nav{position:relative;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:76px;padding:0 clamp(24px,5vw,76px)}.site-nav a{text-decoration:none}.name{font-family:var(--serif);font-size:20px}.nav-links{display:flex;align-items:center;gap:clamp(18px,2.6vw,38px);font-size:14px}.nav-contact{border-bottom:1px solid currentColor;padding-bottom:3px}.hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);min-height:calc(100svh - 76px)}.copy{position:relative;z-index:4;display:flex;flex-direction:column;justify-content:center;padding:42px clamp(30px,5vw,76px) 82px}.eyebrow{margin:0 0 22px;color:var(--burgundy);font-size:12px;font-weight:650;letter-spacing:.14em;text-transform:uppercase}h1{max-width:780px;margin:0;font-family:var(--serif);font-size:clamp(48px,6.2vw,94px);font-weight:400;letter-spacing:-.045em;line-height:.93}.variant-title{font-size:clamp(48px,5.35vw,78px)}.mobile-title{display:none}.lead{max-width:610px;margin:30px 0 0;font-size:clamp(18px,1.6vw,23px);line-height:1.45}.format{display:flex;align-items:center;gap:9px;margin:24px 0 0;font-size:14px}.format:before{width:8px;height:8px;border-radius:50%;background:var(--khaki);content:''}.cta-row{display:flex;align-items:center;gap:22px;margin-top:32px}.cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:54px;padding:0 25px;border:1px solid var(--burgundy);border-radius:999px;color:var(--white);background:var(--burgundy);text-decoration:none}.micro{max-width:255px;margin:0;color:rgb(16 18 27 / 65%);font-size:12px;line-height:1.45}.image-panel{position:relative;min-height:610px;overflow:hidden}.image-panel:before{position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,rgb(39 32 28 / 9%),transparent 32%);content:'';pointer-events:none}.image-panel img{width:100%;height:100%;object-fit:cover;object-position:55% 45%}.photo-badge{position:absolute;z-index:4;left:22px;bottom:24px;max-width:275px;padding:12px 15px;color:var(--white);background:var(--espresso);font-size:11px;font-weight:600;letter-spacing:.12em;line-height:1.45;text-transform:uppercase}.palette-terracotta{--white:#fdf8f2;--taupe:#a8c2d1;--khaki:#829b9d;--burgundy:#963f2b;background:var(--white)}.palette-terracotta .photo-badge{color:#fdf8f2;background:#829b9d}.palette-terracotta .image-panel:before{background:linear-gradient(90deg,rgb(130 155 157 / 24%),transparent 38%)}.walk-image img{object-position:56% 50%}

.requests{position:relative;padding:clamp(72px,9vw,138px) clamp(24px,5vw,76px) clamp(76px,9vw,132px);color:var(--ink);background:#fdf8f2}.requests-heading{display:grid;grid-template-columns:minmax(150px,.55fr) minmax(0,1.45fr);gap:clamp(36px,7vw,110px);align-items:start}.section-label{margin:0;color:#963f2b;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.section-index{margin:18px 0 0;color:#829b9d;font-family:var(--serif);font-size:clamp(90px,8vw,118px);line-height:.82;letter-spacing:-.05em}.requests-intro{max-width:920px}.requests-intro h2{max-width:900px;margin:0;font-family:var(--serif);font-size:clamp(46px,5.6vw,82px);font-weight:400;letter-spacing:-.04em;line-height:.98}.requests-intro>p{max-width:760px;margin:30px 0 0;font-size:clamp(18px,1.6vw,23px);line-height:1.5}.requests-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(58px,7vw,96px);border-top:1px solid #4f5138;border-bottom:1px solid #4f5138}.request-card{min-height:330px;padding:28px clamp(22px,2.6vw,40px) 34px}.request-card:first-child{padding-left:0}.request-card+.request-card{border-left:1px solid #4f5138}.request-card>span{display:block;color:#829b9d;font-size:11px;font-weight:700;letter-spacing:.14em;line-height:normal}.request-card h3{max-width:360px;margin:34px 0 0;color:#963f2b;font-family:var(--serif);font-size:clamp(29px,2.35vw,38px);font-weight:600;line-height:1.04}.request-card p{max-width:390px;margin:24px 0 0;font-size:15px;line-height:1.65}.requests-note{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(36px,8vw,130px);margin-top:36px}.requests-note p{margin:0;font-size:14px;line-height:1.6}.requests-note p:first-child{font-weight:650}

@media(max-width:900px){.site-nav{min-height:66px}.nav-links a:not(.nav-contact){display:none}.hero{grid-template-columns:1fr}.copy{padding-top:54px;padding-bottom:54px}.image-panel{min-height:52svh}.desktop-title{display:none}.mobile-title{display:inline}.walk-image img{object-position:55% 50%}.requests-heading{grid-template-columns:1fr;gap:30px}.section-index{display:none}.requests-grid{grid-template-columns:1fr}.request-card{min-height:0;padding:30px 0 34px}.request-card+.request-card{border-top:1px solid #4f5138;border-left:0}.request-card h3,.request-card p{max-width:680px}.requests-note{grid-template-columns:1fr;gap:12px}}@media(max-width:600px){.site-nav{padding-inline:20px}.name{font-size:18px}.nav-contact{font-size:13px}h1{font-size:clamp(44px,13.5vw,62px);line-height:.96}.lead{margin-top:24px;font-size:18px}.cta-row{align-items:flex-start;flex-direction:column;gap:13px;margin-top:28px}.micro{max-width:290px}.copy{padding:44px 20px 48px}.image-panel{min-height:64svh}.photo-badge{left:16px;right:auto;bottom:16px;max-width:min(280px,calc(100% - 32px));padding:11px 13px;font-size:10px}.requests{padding:64px 20px 72px}.requests-intro h2{font-size:clamp(43px,12vw,58px)}.requests-intro>p{margin-top:24px;font-size:18px}.requests-grid{margin-top:48px}.request-card h3{margin-top:28px}}

.specialties{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);min-height:100svh;color:#10121b;background:#fdf8f2}.specialties-image{position:relative;min-height:720px;overflow:hidden;background:#829b9d}.specialties-image:after{position:absolute;inset:0;background:linear-gradient(90deg,transparent 68%,rgb(16 18 27 / 8%));content:'';pointer-events:none}.specialties-image img{width:100%;height:100%;object-fit:cover;object-position:50% 58%}.specialties-content{display:flex;flex-direction:column;justify-content:center;padding:clamp(70px,8vw,126px) clamp(30px,6vw,92px)}.specialties-heading h2{max-width:760px;margin:24px 0 0;font-family:var(--serif);font-size:clamp(44px,4.8vw,72px);font-weight:400;letter-spacing:-.04em;line-height:.98}.specialty-list{margin-top:clamp(48px,6vw,78px);border-top:1px solid #4f5138;border-bottom:1px solid #4f5138}.specialty-list article{padding:30px 0 34px}.specialty-list article+article{border-top:1px solid #4f5138}.specialty-number{display:block;margin-bottom:18px;color:#829b9d;font-size:11px;font-weight:700;letter-spacing:.14em}.specialty-list h3{margin:0;color:#963f2b;font-family:var(--serif);font-size:clamp(28px,2.35vw,38px);font-weight:600;line-height:1.05}.specialty-list p{max-width:690px;margin:20px 0 0;font-size:16px;line-height:1.65}.specialty-list a{display:inline-flex;margin-top:22px;border-bottom:1px solid currentColor;padding-bottom:4px;color:#10121b;font-size:14px;font-weight:650;text-decoration:none}.specialty-list a:hover{color:#963f2b}.specialties-cta{margin-top:clamp(32px,4vw,52px)}.specialties-cta>p{max-width:650px;margin:0;font-family:var(--serif);font-size:clamp(23px,2vw,31px);letter-spacing:-.02em;line-height:1.2}.specialties-cta .cta-row{margin-top:24px}.specialties-telegram{border-color:#4f5138;background:#4f5138}.specialties-telegram:hover{background:#27201c}.specialties-cta .micro{color:rgb(16 18 27 / 65%)}

@media(max-width:900px){.specialties{grid-template-columns:1fr}.specialties-image{min-height:62svh}.specialties-content{padding:72px 24px 82px}}@media(max-width:600px){.specialties-content{padding:64px 20px 72px}.specialties-heading h2{font-size:clamp(42px,12vw,58px)}.specialties-image{min-height:72svh}}

.specialties-telegram{border-color:#27201c;background:#27201c}.specialties-telegram:hover{border-color:#4f5138;background:#4f5138}.about{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);min-height:100svh;color:#10121b;background:#fdf8f2}.about-content{display:flex;flex-direction:column;justify-content:center;padding:clamp(76px,9vw,138px) clamp(30px,6vw,92px) clamp(82px,9vw,138px) clamp(24px,5vw,76px)}.about-label{margin:0;color:#4f5138;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.about h2{max-width:820px;margin:25px 0 0;color:#963f2b;font-family:var(--serif);font-size:clamp(46px,5vw,76px);font-weight:400;letter-spacing:-.04em;line-height:.98}.about-copy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,58px);margin-top:clamp(44px,5vw,70px);border-top:1px solid #4f5138;padding-top:28px}.about-copy p{margin:0;font-size:16px;line-height:1.68}.about-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:36px;background:#4f5138;border:1px solid #4f5138}.about-facts article{min-height:148px;padding:24px 26px 27px;background:#eaebe9}.about-facts span{color:#4f5138;font-family:var(--serif);font-size:22px}.about-facts p{margin:15px 0 0;font-size:13px;line-height:1.55}.about-photo{position:relative;min-height:760px;margin:0;overflow:hidden;background:#eaebe9}.about-photo img{width:100%;height:100%;object-fit:cover;object-position:64% 52%}.about-photo figcaption{position:absolute;right:22px;bottom:22px;padding:11px 14px;color:#10121b;background:#eaebe9;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}

@media(max-width:900px){.about{grid-template-columns:1fr}.about-content{padding:76px 24px 84px}.about-photo{min-height:72svh}.about-photo img{object-position:58% 48%}}@media(max-width:600px){.about-content{padding:66px 20px 72px}.about h2{font-size:clamp(42px,12vw,58px)}.about-copy,.about-facts{grid-template-columns:1fr}.about-copy{gap:24px}.about-photo{min-height:76svh}}

.education-list{margin-top:clamp(44px,5vw,72px);border-bottom:1px solid #4f5138}.education-list h3{margin:0 0 26px;color:#963f2b;font-family:var(--serif);font-size:clamp(28px,2.6vw,40px);font-weight:400}.education-list article{display:grid;grid-template-columns:minmax(112px,.28fr) minmax(0,1fr);gap:clamp(22px,4vw,58px);border-top:1px solid #4f5138;padding:24px 0 26px}.education-list time{color:#4f5138;font-family:var(--serif);font-size:clamp(22px,2vw,30px);line-height:1}.education-list article>div{position:relative;padding-left:21px}.education-list article>div:before{position:absolute;top:7px;left:0;width:9px;height:9px;border:1px solid #4f5138;border-radius:50%;background:#eaebe9;content:''}.education-list p{margin:0;font-size:14px;line-height:1.6}.education-list p+p{margin-top:10px}.about-photo{position:sticky;top:0;align-self:start;height:100svh;min-height:760px}

@media(max-width:900px){.about-photo{position:relative;height:auto;min-height:72svh}}@media(max-width:600px){.education-list article{grid-template-columns:1fr;gap:15px}.education-list article>div{padding-left:19px}.about-photo{min-height:76svh}}

.specialties-telegram{border-color:#4f5138;background:#4f5138}.specialties-telegram:hover{border-color:#27201c;background:#27201c}.about-cta{margin-top:clamp(42px,5vw,68px)}.about-cta>p{max-width:650px;margin:0;font-family:var(--serif);font-size:clamp(23px,2vw,31px);letter-spacing:-.02em;line-height:1.2}.about-cta .cta-row{margin-top:24px}.about-telegram{border-color:#27201c;background:#27201c}.about-telegram:hover{border-color:#4f5138;background:#4f5138}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:28px;border-top:1px solid #4f5138;padding:24px clamp(24px,5vw,76px) 27px;color:#10121b;background:#fdf8f2;font-size:12px}.site-footer p{margin:0}.site-footer a{border-bottom:1px solid #4f5138;padding-bottom:3px;text-decoration:none}.site-footer a:hover{color:#963f2b}.site-footer a:focus-visible{outline:2px solid #4f5138;outline-offset:4px}

@media(max-width:600px){.site-footer{align-items:flex-start;flex-direction:column;gap:14px;padding:24px 20px 28px}}

.specialties-image img{object-position:50% 68%;transform:scale(1.08);transform-origin:50% 68%}.about-photo img{object-position:64% 58%;transform:scale(1.06);transform-origin:64% 58%}

@media(max-width:900px){.about-photo img{object-position:60% 52%;transform:scale(1.04);transform-origin:60% 52%}}@media(max-width:600px){.specialties-image img{object-position:50% 62%;transform:scale(1.05);transform-origin:50% 62%}}

.about-side{position:sticky;top:0;align-self:start;min-width:0;background:#fdf8f2}.about-side .about-photo{position:relative;top:auto;align-self:auto;height:62svh;min-height:520px}.about-topics{padding:28px 28px 30px;border-bottom:1px solid #4f5138;background:#fdf8f2}.about-topics h3{margin:0 0 22px;color:#4f5138;font-family:var(--serif);font-size:clamp(27px,2.2vw,36px);font-weight:400}.about-topics ol{margin:0;padding:0;list-style:none}.about-topics li{display:grid;grid-template-columns:minmax(58px,.24fr) minmax(0,1fr);gap:clamp(16px,2vw,30px);border-top:1px solid #4f5138;padding:17px 0 18px}.about-topics li>span{color:#4f5138;font-family:var(--serif);font-size:clamp(20px,1.7vw,27px);line-height:1}.about-topics li>div{position:relative;padding-left:19px}.about-topics li>div:before{position:absolute;top:6px;left:0;width:8px;height:8px;border:1px solid #4f5138;border-radius:50%;background:#fdf8f2;content:''}.about-topics li p{margin:0;color:#10121b;font-size:14px;line-height:1.55}

@media(max-width:900px){.about-side{position:relative;top:auto}.about-side .about-photo{height:auto;min-height:72svh}.about-topics{padding:30px 24px 34px}.about-topics li{grid-template-columns:minmax(72px,.22fr) minmax(0,1fr)}.about-topics li p{font-size:15px}}
@media(max-width:600px){.about-side .about-photo{min-height:76svh}.about-topics{padding:28px 20px 32px}.about-topics h3{font-size:29px}.about-topics li{grid-template-columns:54px minmax(0,1fr);gap:13px;padding:18px 0 19px}.about-topics li p{font-size:14px}}

@media(max-width:600px){.hero h1,.requests-intro h2,.specialties-heading h2,.about h2{font-size:clamp(34px,8.8vw,42px)}}

@media(min-width:901px){.hero .variant-title,.requests-intro h2,.specialties-heading h2,.about h2{font-size:clamp(48px,4.6vw,60px)}}

/* Preserve the original heading palette independently of shared size rules. */
.hero .variant-title,
.requests-intro h2,
.specialties-heading h2{color:#10121b}

.request-card h3,
.specialty-list h3,
.about h2{color:#963f2b}

/* About: shared rows keep education and materials aligned on desktop. */
@media(min-width:901px){
  .about{
    grid-template-areas:
      "intro photo"
      "education materials"
      "cta .";
    align-items:start;
  }
  .about-content{
    grid-area:intro;
    justify-content:flex-start;
    padding-bottom:clamp(48px,5vw,72px);
  }
  .about-side{
    grid-area:photo;
    position:relative;
    top:auto;
    padding-top:clamp(126px,12vw,158px);
  }
  .about-side .about-photo{
    height:clamp(520px,62svh,680px);
  }
  .education-list{
    grid-area:education;
    width:auto;
    margin:0;
    padding:0 clamp(30px,6vw,92px) 0 clamp(24px,5vw,76px);
  }
  .about-topics{
    grid-area:materials;
    align-self:start;
    padding:0 clamp(30px,5vw,64px) 30px;
  }
  .about-cta{
    grid-area:cta;
    margin:clamp(42px,5vw,68px) clamp(30px,6vw,92px) clamp(82px,9vw,138px) clamp(24px,5vw,76px);
  }
}

@media(max-width:900px){
  .about{
    grid-template-areas:
      "intro"
      "photo"
      "education"
      "materials"
      "cta";
  }
  .about-content{grid-area:intro}
  .about-side{grid-area:photo}
  .education-list{grid-area:education;margin:64px 24px 0}
  .about-topics{grid-area:materials}
  .about-cta{grid-area:cta;margin:54px 24px 84px}
}

@media(max-width:600px){
  .education-list{margin-inline:20px}
  .about-cta{margin:48px 20px 72px}
  .about-side .about-photo{
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:1.12 / 1;
  }
}

/* Materials mirror the typography and palette of Education. */
.about-topics h3{
  margin:0 0 26px;
  color:#963f2b;
  font-size:clamp(28px,2.6vw,40px);
}
.about-topics li>span{
  font-size:clamp(22px,2vw,30px);
}
.about-topics li p{
  font-size:14px;
  line-height:1.6;
}

@media(max-width:600px){
  .about-topics h3{font-size:clamp(28px,2.6vw,40px)}
}

/* Match the offline-work photo caption to the hero photo badge. */
.about-photo figcaption{
  right:auto;
  left:22px;
  bottom:24px;
  max-width:275px;
  padding:12px 15px;
  color:#fdf8f2;
  background:#829b9d;
  font-size:11px;
  font-weight:600;
  letter-spacing:.12em;
  line-height:1.45;
}

@media(max-width:600px){
  .about-photo figcaption{
    left:16px;
    bottom:16px;
    max-width:min(280px,calc(100% - 32px));
    padding:11px 13px;
    font-size:10px;
  }
}

/* Accessibility and final responsive refinements. */
:root{--taupe:#665c55}
.palette-terracotta{--taupe:#829b9d;--khaki:#829b9d}
.section-index,
.request-card>span,
.specialty-number{color:#829b9d}
.palette-terracotta .photo-badge,
.about-photo figcaption{color:#fdf8f2;background:#829b9d}

.cta{
  transition:background-color .18s ease,border-color .18s ease,transform .18s ease;
}
.cta:hover{
  border-color:#74301f;
  background:#74301f;
  transform:translateY(-1px);
}
.cta:focus-visible{
  outline:3px solid var(--khaki);
  outline-offset:3px;
}

.nav-toggle{
  display:none;
  width:44px;
  height:44px;
  padding:10px;
  border:1px solid #4f5138;
  border-radius:50%;
  color:#10121b;
  background:transparent;
  cursor:pointer;
}
.nav-toggle span{
  display:block;
  width:20px;
  height:1px;
  margin:3px auto;
  background:currentColor;
  transition:transform .18s ease,opacity .18s ease;
}
.nav-toggle:focus-visible,
.site-nav a:focus-visible{
  outline:3px solid var(--khaki);
  outline-offset:3px;
}

@media(min-width:901px){
  .about{
    grid-template-areas:
      "intro photo"
      "education education"
      "materials materials"
      "cta .";
  }
  .about-topics{
    padding:clamp(54px,6vw,82px) clamp(24px,5vw,76px) clamp(62px,7vw,96px);
    border-bottom:1px solid #4f5138;
  }
  .about-topics ol{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    border-top:1px solid #4f5138;
    border-bottom:1px solid #4f5138;
  }
  .about-topics li{
    display:block;
    min-height:150px;
    padding:24px clamp(22px,3vw,42px) 28px;
    border-top:0;
  }
  .about-topics li:first-child{padding-left:0}
  .about-topics li+li{border-left:1px solid #4f5138}
  .about-topics li>span{display:block;margin-bottom:22px}
  .about-topics li>div{padding-left:19px}
}

@media(max-width:900px){
  .site-nav{z-index:20;background:var(--white)}
  .nav-toggle{
    display:block;
    flex:0 0 auto;
  }
  .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(4px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-4px) rotate(-45deg)}
  .nav-links{
    position:absolute;
    top:100%;
    right:20px;
    left:20px;
    display:none;
    align-items:stretch;
    flex-direction:column;
    gap:0;
    padding:8px 20px 12px;
    border-top:1px solid #4f5138;
    border-bottom:1px solid #4f5138;
    background:#fdf8f2;
    box-shadow:0 14px 28px rgb(16 18 27 / 10%);
  }
  .site-nav.menu-open .nav-links{display:flex}
  .nav-links a,
  .nav-links a:not(.nav-contact){
    display:block;
    padding:14px 4px;
    font-size:16px;
  }
  .nav-links a+a{border-top:1px solid rgb(79 81 56 / 38%)}
  .nav-contact{border-bottom:0}
}

@media(max-width:600px){
  .about-photo img{
    object-position:60% 32%;
    transform:none;
  }
}

@media(prefers-reduced-motion:reduce){
  .cta,
  .nav-toggle span{transition:none}
}

/* UX refinements, 2026-09-09. */
.skip-link{
  position:fixed;
  z-index:100;
  top:12px;
  left:12px;
  padding:11px 15px;
  color:#fdf8f2;
  background:#27201c;
  transform:translateY(-160%);
  transition:transform .18s ease;
}
.skip-link:focus{transform:translateY(0)}

.cta-row{
  align-items:flex-start;
  flex-direction:column;
  gap:10px;
}
.micro{
  max-width:330px;
  color:rgb(16 18 27 / 72%);
  font-size:13px;
  line-height:1.5;
}
.photo-badge,
.about-photo figcaption{
  font-size:12px;
  font-weight:650;
  letter-spacing:.05em;
  text-transform:none;
}

.education-list p{
  font-size:16px;
  line-height:1.62;
}
.education-details{border-top:1px solid #4f5138}
.education-details summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:60px;
  padding:18px 0;
  color:#10121b;
  font-size:16px;
  font-weight:650;
  cursor:pointer;
  list-style:none;
}
.education-details summary::-webkit-details-marker{display:none}
.education-details summary:after{
  content:'+';
  color:#963f2b;
  font-family:var(--serif);
  font-size:28px;
  font-weight:400;
  line-height:1;
}
.education-details[open] summary:after{content:'−'}
.education-details summary:focus-visible{
  outline:3px solid var(--khaki);
  outline-offset:4px;
}
.education-full-list{border-top:1px solid rgb(79 81 56 / 45%)}
.education-details .education-full-list article:first-child{border-top:0}

.materials-heading{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:24px;
}
.materials-status{
  margin:0 0 26px;
  color:#829b9d;
  font-size:13px;
  font-weight:650;
  letter-spacing:.04em;
}
.about-topics li p{font-size:15px}

.about-cta>.alternative-contact{
  margin:20px 0 0;
  max-width:620px;
  font-family:var(--sans);
  font-size:15px;
  letter-spacing:normal;
  line-height:1.6;
}
.alternative-contact a{
  border-bottom:1px solid currentColor;
  padding-bottom:2px;
  text-decoration:none;
}
.alternative-contact a:hover{color:#963f2b}
.alternative-contact a:focus-visible{
  outline:3px solid var(--khaki);
  outline-offset:4px;
}

/* Final palette and first-screen session details. */
.palette-terracotta{
  --taupe:#829b9d;
  --khaki:#829b9d;
}
.format{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  padding-left:17px;
}
.format:before{
  position:absolute;
  top:.55em;
  left:0;
}
.photo-badge,
.about-photo figcaption{
  text-transform:uppercase;
}
.palette-terracotta .photo-badge,
.about-photo figcaption{
  color:#fdf8f2;
  background:#829b9d;
}
.specialty-number,
.about-index,
.materials-status,
.materials-details>summary h3 span{
  color:#829b9d;
}

@media(min-width:901px){
  .about-topics{padding-bottom:clamp(42px,4vw,58px)}
  .about-cta{
    margin-top:0;
    margin-bottom:clamp(62px,6vw,88px);
  }
}

@media(max-width:900px){
  body.menu-open{overflow:hidden}
  .education-list p{font-size:15px}
}

@media(max-width:600px){
  .specialties-image{
    height:54svh;
    min-height:0;
  }
  .photo-badge,
  .about-photo figcaption{font-size:12px}
  .materials-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:0;
  }
  .materials-status{margin-top:-14px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .skip-link{transition:none}
}

/* About section: numbered heading and compact disclosure column. */
.about-heading{
  display:grid;
  grid-template-columns:minmax(112px,.32fr) minmax(0,1.68fr);
  gap:clamp(28px,4vw,54px);
  align-items:start;
}
.about-heading h2{
  margin:0;
  color:#27201c;
}
.about-index{
  margin-top:22px;
  color:#829b9d;
}

.disclosure-block{
  border-top:1px solid #4f5138;
  border-bottom:1px solid #4f5138;
}
.disclosure-block>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  min-height:88px;
  padding:22px 0 24px;
  color:#27201c;
  cursor:pointer;
  list-style:none;
}
.disclosure-block>summary::-webkit-details-marker{display:none}
.disclosure-block>summary h3{
  margin:0;
  color:#27201c;
  font-family:var(--serif);
  font-size:clamp(28px,2.6vw,40px);
  font-weight:400;
  line-height:1.12;
}
.disclosure-block>summary:after{
  flex:0 0 auto;
  content:'+';
  color:#963f2b;
  font-family:var(--serif);
  font-size:31px;
  font-weight:400;
  line-height:1;
}
.disclosure-block[open]>summary:after{content:'−'}
.disclosure-block>summary:focus-visible{
  outline:3px solid var(--khaki);
  outline-offset:4px;
}
.disclosure-block[open]>summary{border-bottom:1px solid rgb(79 81 56 / 45%)}
.education-list>.education-full-list{border-top:0}
.education-list>.education-full-list article:first-child{border-top:0}
.materials-details>summary h3 span{
  color:#829b9d;
  font-family:var(--sans);
  font-size:13px;
  font-weight:650;
  letter-spacing:.02em;
  white-space:nowrap;
}

@media(min-width:901px){
  .about{
    grid-template-areas:
      "intro photo"
      "education ."
      "materials ."
      "cta .";
  }
  .about-content{padding-bottom:clamp(52px,5vw,72px)}
  .education-list{
    margin:0 clamp(30px,6vw,92px) 0 clamp(24px,5vw,76px);
    padding:0;
  }
  .education-list article{
    grid-template-columns:140px minmax(0,1fr);
    gap:24px;
  }
  .about-topics{
    margin:clamp(30px,3vw,44px) clamp(30px,6vw,92px) 0 clamp(24px,5vw,76px);
    padding:0;
  }
  .about-topics ol{
    display:block;
    border-top:0;
    border-bottom:0;
  }
  .about-topics li{
    display:grid;
    grid-template-columns:68px minmax(0,1fr);
    gap:24px;
    min-height:0;
    padding:20px 0 22px;
    border-top:1px solid #4f5138;
  }
  .about-topics li:first-child{padding-left:0}
  .about-topics li+li{
    border-top:1px solid #4f5138;
    border-left:0;
  }
  .about-topics li>span{
    display:block;
    margin-bottom:0;
  }
  .about-topics li>div{padding-left:19px}
  .about-cta{
    margin-top:clamp(44px,4vw,60px);
    margin-bottom:clamp(66px,7vw,96px);
  }
}

@media(max-width:900px){
  .about-heading{
    grid-template-columns:1fr;
    gap:24px;
  }
  .about-heading h2{margin:0}
  .education-list{
    margin:58px 24px 0;
    padding:0;
  }
  .about-topics{
    margin:30px 24px 0;
    padding:0;
  }
  .about-topics ol{border-top:0}
}

@media(max-width:600px){
  .education-list{margin:50px 20px 0}
  .about-topics{margin:26px 20px 0}
  .disclosure-block>summary{
    min-height:80px;
    padding:20px 0 22px;
  }
  .disclosure-block>summary h3{font-size:28px}
  .materials-details>summary h3 span{
    display:block;
    margin-top:7px;
  }
}

/* Section 3: full-width heading, greeting/photo row and calmer information rhythm. */
.about-heading{
  grid-area:heading;
  grid-template-columns:minmax(150px,.55fr) minmax(0,1.45fr);
  gap:clamp(36px,7vw,110px);
  padding:clamp(76px,9vw,138px) clamp(30px,6vw,92px) clamp(36px,5vw,72px) clamp(24px,5vw,76px);
}
.about-heading .about-label{color:#963f2b}
.about-heading h2{
  max-width:1000px;
  color:#27201c;
  font-size:clamp(46px,5vw,72px);
  line-height:.98;
}
.about-title-break{display:block}

.about-copy{
  gap:clamp(28px,4vw,58px);
  margin-top:0;
  border-top:0;
  padding-top:0;
}
.about-copy>div{
  display:grid;
  gap:20px;
}
.about-copy p+p{margin-top:0}

.disclosure-block>summary{
  min-height:92px;
  padding:24px 0;
}
.disclosure-block>summary h3{color:#963f2b}
.education-full-list{
  position:relative;
  padding-top:22px;
  padding-bottom:10px;
}
.education-full-list:before{
  position:absolute;
  top:22px;
  bottom:10px;
  left:152px;
  width:1px;
  background:rgb(79 81 56 / 55%);
  content:'';
}
.education-list time{
  color:#27201c;
  font-weight:600;
}
.education-list article>div{color:rgb(16 18 27 / 74%)}

.about-practical{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  margin:0 0 30px;
  padding:16px 0 17px;
  border-top:1px solid #4f5138;
  border-bottom:1px solid #4f5138;
}
.about-practical p{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin:0;
  font-size:14px;
  line-height:1.45;
}
.about-practical strong{
  color:#963f2b;
  font-size:13px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}

@media(min-width:901px){
  .about{
    grid-template-areas:
      "heading heading"
      "intro photo"
      "education ."
      "materials ."
      "cta .";
  }
  .about-content{
    grid-area:intro;
    align-self:center;
    justify-content:center;
    padding:0 clamp(30px,6vw,92px) 0 clamp(24px,5vw,76px);
  }
  .about-side{
    grid-area:photo;
    position:relative;
    top:auto;
    align-self:start;
    padding-top:0;
  }
  .about-side .about-photo{
    height:clamp(560px,62svh,720px);
    min-height:560px;
  }
  .education-list{margin-top:clamp(56px,7vw,96px)}
  .education-full-list:before{left:152px}
}

@media(max-width:900px){
  .about{
    grid-template-areas:
      "heading"
      "intro"
      "photo"
      "education"
      "materials"
      "cta";
  }
  .about-heading{
    grid-template-columns:1fr;
    gap:24px;
    padding:76px 24px 38px;
  }
  .about-title-break{display:none}
  .about-heading h2{font-size:clamp(42px,12vw,58px)}
  .about-content{
    grid-area:intro;
    align-self:center;
    justify-content:center;
    padding:0 24px;
  }
  .about-side{
    grid-area:photo;
    position:relative;
    top:auto;
    padding-top:0;
  }
  .about-side .about-photo{
    height:54svh;
    min-height:0;
  }
  .education-full-list:before{display:none}
}

@media(max-width:600px){
  .about-heading{padding:66px 20px 0}
  .about-heading{padding-bottom:32px}
  .about-content{padding:0 20px}
  .about-side .about-photo{
    height:54svh;
    min-height:0;
    aspect-ratio:auto;
  }
  .about-practical{
    grid-template-columns:1fr;
    gap:14px;
    margin-bottom:28px;
  }
  .disclosure-block>summary{min-height:84px;padding:22px 0}
  .education-full-list{padding-top:18px}
}

/* Keep the meaning of the mobile photographs: show the whole cactus silhouette and the portrait context. */
@media(max-width:600px){
  .specialties-image{
    height:68svh;
    min-height:0;
  }
  .specialties-image img{
    object-position:50% 52%;
    transform:none;
  }
  .about-side .about-photo{
    height:64svh;
    min-height:0;
    aspect-ratio:auto;
  }
  .about-photo img{
    object-position:64% 50%;
    transform:none;
  }
}
