/* Photographs woven through the original rose-and-sage palette. */
.hero:after{
  inset:0 45% 0 0;
  width:auto;height:auto;
  background:linear-gradient(90deg,#ead6ca38 0%,#ead6ca12 62%,#ead6ca 100%),url('assets/motherhood-1200.webp') center 36%/cover no-repeat;
  opacity:.25;
  filter:saturate(.35);
  pointer-events:none;
}
.hero-description{color:#3f4d3d}
.hero-footnote{color:#46503e}
.introduction{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.65fr) minmax(0,.75fr);gap:3vw;align-items:center}
.introduction:before,.introduction:after{display:none}
.introduction-copy{position:relative;z-index:1;min-width:0}
.introduction h2{font-size:clamp(42px,4.15vw,68px)}
.intro-frame{padding:8px 8px 15px;background:#faf4e9;box-shadow:0 14px 28px #4c3f2912;position:relative}
.intro-frame img{aspect-ratio:3/4;object-fit:cover}
.intro-frame figcaption{font:25px/1.1 var(--script);color:#84634f;margin-top:12px}
.intro-frame-left{transform:rotate(-5deg);margin-top:-45px}
.intro-frame-right{transform:rotate(5deg);margin-top:75px}
.js-motion .intro-frame-left.reveal.visible{transform:rotate(-5deg)}
.js-motion .intro-frame-right.reveal.visible{transform:rotate(5deg)}
.experience-frame{margin-top:36px;max-width:470px}
.experience-frame img{aspect-ratio:3/2;object-fit:cover;outline:1px solid #d2b98670;outline-offset:7px}
.experience-frame figcaption{font:29px/1.15 var(--script);color:#e3bdab;margin-top:22px}
.service-body{display:grid;grid-template-columns:112px minmax(0,1fr);column-gap:22px;row-gap:14px;align-items:start;padding-left:35px;padding-right:0}
.service-photo{grid-row:span 2;aspect-ratio:3/4;object-fit:cover;object-position:50% 35%}
.service-body a{margin:0;justify-self:start;align-self:start}
.process-grid article{padding-top:0;border:0}
.process-photo{aspect-ratio:4/3;object-fit:cover;object-position:50% 30%;margin-bottom:25px}
.process-grid article:nth-child(2) .process-photo{object-position:50% 26%}
.process-grid article:nth-child(3) .process-photo{object-position:50% 44%}
.process-grid article>span{display:block;border-top:1px solid #b79d85;padding-top:18px}
.inquiry-frame{margin:35px 0 0;max-width:440px}
.inquiry-frame img{aspect-ratio:16/9;object-fit:cover;object-position:50% 25%;border:5px solid #f8f2e7;box-shadow:0 10px 25px #354b3012}
.inquiry-frame figcaption{font:28px/1.2 var(--script);color:#8c5c4e;margin-top:14px}
.inquiry-form-wrap{align-self:start}
@media(max-width:1100px){
  .introduction{grid-template-columns:minmax(0,.65fr) minmax(0,1.7fr) minmax(0,.65fr);gap:2.5vw;padding-left:35px;padding-right:35px}
  .introduction h2{font-size:43px}
  .intro-frame{padding:6px 6px 12px}
  .intro-frame figcaption{font-size:21px}
  .service-body{grid-template-columns:92px minmax(0,1fr);gap:13px;padding-left:0}
}
@media(max-width:850px){
  .introduction{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px 30px;padding-left:12vw;padding-right:12vw}
  .introduction-copy{grid-column:1/-1;grid-row:1}
  .introduction h2{font-size:52px}
  .intro-frame-left,.intro-frame-right{margin:0}
  .intro-frame-right{margin-top:30px}
  .intro-frame img{aspect-ratio:4/5}
  .service-body{grid-template-columns:82px minmax(0,1fr)}
}
@media(max-width:700px){
  .hero:after{inset:0 0 auto 0;width:100%;height:535px;background-position:center 30%;opacity:.23;mask-image:linear-gradient(#000 75%,transparent)}
  .introduction{padding:60px 30px 65px;gap:32px 20px}
  .introduction h2{font-size:46px}
  .intro-frame figcaption{font-size:22px;margin-top:9px}
  .intro-frame-left{margin-left:3px}
  .intro-frame-right{margin-right:3px;margin-top:22px}
  .experience{gap:35px}
  .experience-frame{margin:35px 7px 0}
  .experience-frame figcaption{font-size:27px}
  .service-body{grid-template-columns:100px minmax(0,1fr);column-gap:18px;padding-left:0}
  .service-body p{font-size:12px;line-height:1.8}
  .service-body a{font-size:10px}
  .process-grid{gap:35px}
  .process-photo{aspect-ratio:4/3;margin-bottom:20px}
  .process-grid h3{margin-top:15px}
  .inquiry-frame{margin-top:30px}
}
@media(max-width:370px){
  .hero:after{height:590px}
  .introduction{padding-left:25px;padding-right:25px;gap:28px 15px}
  .introduction h2{font-size:40px}
  .intro-frame figcaption{font-size:19px}
  .service-body{grid-template-columns:82px minmax(0,1fr);column-gap:13px}
}
