/* Five chapters, five compositions. The connecting thread remains continuous. */
.vertical-scene.composed{min-height:115svh;margin-top:0;padding:110px 6.2vw 100px;align-items:center;overflow:hidden}
.composed .vertical-shade{display:none}.composed .vertical-photo{border:0;box-shadow:none;inset:auto;will-change:auto}
.composed .vertical-photo img{width:100%;height:110%;padding:0;object-fit:cover;object-position:center;background:transparent}
.composed:after{display:none}.composed:before{top:auto;bottom:2%;font-size:clamp(160px,24vw,340px);opacity:.6}
.composed .vertical-copy{max-width:none}.composed .vertical-copy .lead{max-width:440px}.composed .vertical-number{bottom:32px}
.scene-0.composed{background:#eee7da;color:#292d27;padding-right:56%;min-height:110svh}
.scene-0 .vertical-copy{width:100%}.scene-0 .vertical-copy h2{font-size:clamp(3rem,5.5vw,5.8rem)}
.scene-0.composed .vertical-photo{right:8%;top:12%;width:36%;height:78%;border-radius:45% 45% 3px 3px!important;outline:1px solid #a88d67;outline-offset:15px}
.scene-0 .vertical-photo img{object-fit:cover;height:110%}
.scene-0 .eyebrow,.scene-2 .eyebrow,.scene-3 .eyebrow{color:#766549}
.scene-0 .lead,.scene-2 .lead,.scene-3 .lead{color:#5d6056}
.scene-0 .button,.scene-2 .button,.scene-3 .button{background:#29382f;color:#f7f0e1;border-color:#29382f}
.scene-0 .button:hover,.scene-2 .button:hover,.scene-3 .button:hover{background:#425247;color:white}
.approach-note{position:absolute;left:6.2%;bottom:8%;border-top:1px solid #b0a28b;padding-top:16px;width:29%;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}.approach-note p{font-family:Georgia,serif;font-size:1.5rem;letter-spacing:0;text-transform:none;margin:10px 0 0}
.scene-1.composed{background:#172a25;color:#fff4df;border-radius:5vw 5vw 0 0;min-height:120svh;align-items:flex-start;padding-top:13%}
.scene-1.composed .vertical-photo{left:6.2%;top:13%;width:54%;height:73%;border-radius:4px!important;clip-path:polygon(0 0,100% 0,100% 84%,84% 100%,0 100%)}
.scene-1 .vertical-photo img{object-position:55% center}
.scene-1 .vertical-copy{width:29%;margin-left:66%;position:relative}
.scene-1 .vertical-copy h2{font-size:clamp(2.7rem,4.1vw,4.6rem)}
.scene-1 .vertical-copy .lead{font-size:1rem}.scene-1 .vertical-copy .button{background:transparent;color:#fff4df;border-color:#af9975}
.dental-index{position:absolute;right:6.2%;bottom:14%;width:25.4%;display:grid;gap:0}.dental-index a{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #a2927055;padding:18px 0;color:#e9ddc7;font-size:.8rem;text-decoration:none}.dental-index a:hover{color:#fff}.image-caption{position:absolute;left:6.2%;bottom:9%;font-size:.65rem;text-transform:uppercase;letter-spacing:.16em;color:#d8cbb0}
.scene-2.composed{background:#e9d9ca;color:#36352d;min-height:140svh;align-items:flex-start;padding-top:100px;padding-bottom:80px}
.scene-2 .vertical-copy{width:75%;max-width:900px;margin:0 auto;text-align:center;z-index:3}.scene-2 .vertical-copy h2{font-size:clamp(3rem,6.3vw,6.5rem);margin:20px 0}.scene-2 .vertical-copy .lead{margin-left:auto;margin-right:auto;max-width:500px}
.scene-2.composed .vertical-photo{left:8%;bottom:7%;width:45%;height:54%;border-radius:50% 50% 4% 4%!important}
.scene-2 .vertical-photo img{object-position:65% center}
.aesthetic-detail{position:absolute;right:12%;bottom:11%;width:27%;height:38%;margin:0;transform:translateY(var(--detail-y,0px));z-index:2}.aesthetic-detail img{width:100%;height:100%;object-fit:cover;border-radius:3px}.aesthetic-detail figcaption{margin-top:15px;font-size:.65rem;text-transform:uppercase;letter-spacing:.16em}
.aesthetic-labels{position:absolute;left:60%;bottom:54%;display:flex;gap:18px;font-family:Georgia,serif;font-size:1.6rem;color:#776651}.aesthetic-labels span+span:before{content:'·';margin-right:18px}
.scene-3.composed{background:#f3eee4;color:#29382f;min-height:135svh;align-items:flex-start;padding-top:100px}
.scene-3 .vertical-copy{width:63%;max-width:800px}.scene-3 .vertical-copy h2{font-size:clamp(3rem,5vw,5.3rem)}.scene-3 .vertical-copy .lead{max-width:520px}
.scene-3.composed .vertical-photo{right:6.2%;bottom:7%;width:35%;height:63%;border-radius:4px!important}
.scene-3 .vertical-photo img{height:100%;object-fit:contain;object-position:center bottom;background:#ded6c7}
.team-portraits{position:absolute;left:6.2%;bottom:16%;width:45%;display:grid;grid-template-columns:repeat(3,1fr);gap:15px;z-index:3;align-items:start}.team-portraits a{display:block;text-decoration:none;color:#29382f}.team-portraits a:nth-child(2){margin-top:38px}.team-portraits a:nth-child(3){margin-top:76px}.team-portraits img{display:block;width:100%;height:210px;object-fit:contain;object-position:center bottom;background:#e2d7c7;border-radius:100px 100px 2px 2px}.team-portraits span{display:block;font-size:.65rem;margin-top:12px}.team-portraits a:hover img{background:#d1c2aa}
.scene-4.composed{background:#293d34;color:#f3ead8;min-height:105svh;padding-right:38%;align-items:flex-start;padding-top:120px}
.scene-4 .vertical-copy{width:100%;max-width:850px}.scene-4 .vertical-copy h2{font-size:clamp(3.5rem,6.9vw,7.2rem);line-height:1.02}.scene-4 .vertical-copy .lead{max-width:430px}
.scene-4.composed .vertical-photo{right:7%;bottom:15%;width:26vw;height:26vw;border-radius:50%!important;outline:1px solid #bfa67d;outline-offset:16px}
.scene-4 .vertical-photo img{object-fit:cover;height:110%;object-position:center}
.contact-strip{position:absolute;left:6.2%;right:6.2%;bottom:8%;display:flex;justify-content:space-between;gap:24px;border-top:1px solid #ceb78b66;padding-top:22px;font-size:.8rem;color:#e7d7b8}.contact-strip a{color:inherit;text-decoration:none}.contact-strip a:hover{text-decoration:underline}
@media(min-width:701px) and (max-width:1100px){.scene-0.composed{padding-right:52%}.scene-0.composed .vertical-photo{right:6%;width:37%;height:70%}.scene-1 .vertical-copy{width:33%;margin-left:64%}.dental-index{width:29%}.team-portraits img{height:150px}.scene-2 .vertical-copy h2{font-size:4rem}.scene-4 .vertical-copy h2{font-size:4.5rem}}
@media(max-width:700px){
 .vertical-scene.composed{min-height:0;padding:75px 25px 85px;display:flex;flex-direction:column;align-items:stretch;gap:30px;overflow:hidden}
 .composed .vertical-copy{width:100%;margin:0;max-width:none;order:0;text-align:left}.composed .vertical-copy h2{font-size:2.7rem;line-height:1.08}.composed .vertical-copy .lead{font-size:1rem}.composed .vertical-copy .button{font-size:.65rem}
 .composed .vertical-photo{position:relative;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:calc(100% - 18px)!important;margin:0;flex:none;order:1;z-index:0;height:440px!important}.composed .vertical-photo img{height:110%;padding:0}
 .composed .vertical-number{bottom:27px;left:25px}.composed:before{display:none}
 .scene-0.composed .vertical-photo{width:85%!important;align-self:center;height:400px!important;outline-offset:9px}.approach-note{position:relative;left:auto;bottom:auto;width:100%;order:2;margin-top:4px}
 .scene-1.composed{border-radius:32px 32px 0 0}.scene-1 .vertical-copy{width:100%}.scene-1.composed .vertical-photo{height:360px!important;width:100%!important}.dental-index{position:relative;right:auto;bottom:auto;width:100%;order:2}.image-caption{position:relative;left:auto;bottom:auto;order:3;margin-top:-15px}
 .scene-2.composed{gap:32px}.scene-2 .vertical-copy{text-align:center}.scene-2 .vertical-copy h2{font-size:2.9rem}.scene-2.composed .vertical-photo{width:80%!important;height:400px!important}.aesthetic-detail{position:relative;right:auto;bottom:auto;width:65%;height:250px;align-self:flex-end;order:2;margin-top:-80px;transform:none;z-index:2}.aesthetic-labels{position:relative;left:auto;bottom:auto;order:3;justify-content:center;font-size:1.25rem;margin-top:24px}
 .scene-3.composed .vertical-photo{height:440px!important;width:85%!important;align-self:flex-end}.scene-3 .vertical-photo img{height:100%}.team-portraits{position:relative;left:auto;bottom:auto;width:100%;order:2;gap:10px;margin:0 0 25px}.team-portraits img{height:145px}.team-portraits a:nth-child(2){margin-top:20px}.team-portraits a:nth-child(3){margin-top:40px}.team-portraits span{font-size:.58rem}
 .scene-4 .vertical-copy h2{font-size:3.4rem}.scene-4.composed .vertical-photo{width:230px!important;height:230px!important;align-self:center;outline-offset:10px}.contact-strip{position:relative;left:auto;right:auto;bottom:auto;order:2;display:grid;gap:16px;margin-top:18px}
 .composed .vertical-copy h2,.composed .vertical-copy .lead,.composed .vertical-copy .button,.composed .vertical-copy .eyebrow{translate:none}
 html[dir=rtl] .composed .vertical-copy{text-align:right}
}
@media(prefers-reduced-motion:reduce){.aesthetic-detail{transform:none}}
@media(min-width:701px){.scene-3.composed .vertical-photo{height:57%}.team-portraits{bottom:24%}}
.scene-3.composed .vertical-photo img{transform:none!important}

/* Give the thread room to weave between the individual portraits. */
.team-portraits{gap:24px}
.home-appointment{background:#eee7da;display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;padding:110px 8vw 120px;scroll-margin-top:84px;color:#29382f;position:relative}
.appointment-intro{padding-top:30px;position:relative}.appointment-intro h2{font-size:clamp(3.5rem,5.5vw,6rem);margin:28px 0}.appointment-intro .lead{max-width:440px;font-size:1.1rem}.appointment-intro .text-link{font-size:.85rem;display:inline-block;margin-top:22px}
.appointment-flourish{display:block;margin-top:65px;width:110px;height:150px;border:1px solid #aa936e;border-radius:60% 40% 50% 50%;rotate:25deg}
.home-appointment .form{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:24px;background:#f8f4ec;border:1px solid #cbbca7;padding:40px;border-radius:4px;box-shadow:none}
.home-appointment .form>h3,.home-appointment .form>.eyebrow,.home-appointment .form>p,.home-appointment .form>button{grid-column:1/-1;margin:0}
.home-appointment .form>h3{font-family:Georgia,serif;font-size:2rem}.home-appointment .form>p{font-size:.85rem;color:#67665a;line-height:1.6}.home-appointment .appointment-field{display:flex;flex-direction:column;gap:8px}.home-appointment .appointment-field:last-of-type{grid-column:1/-1}
.home-appointment .form label{font-size:.8rem;margin:0}.home-appointment .form input,.home-appointment .form select{width:100%;min-width:0;min-height:48px;margin:0;border:1px solid #c7bba7;background:#fffdf8;padding:12px;border-radius:0;color:#29382f}.home-appointment .form button{background:#293d34;border-color:#293d34;cursor:pointer}.home-appointment .form .form-status:empty{display:none}
.appointment-ready .appointment-intro{animation:appointment-rise .8s both}.appointment-ready .form{animation:appointment-rise .9s .15s both}
@keyframes appointment-rise{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.team-portraits{gap:18px}.home-appointment{grid-template-columns:1fr;gap:38px;padding:65px 25px 75px;scroll-margin-top:67px}.appointment-intro{padding-top:0}.appointment-intro h2{font-size:3.4rem}.appointment-flourish{display:none}.home-appointment .form{grid-template-columns:1fr;padding:24px 20px;gap:22px}.home-appointment .form .appointment-field{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.appointment-ready .appointment-intro,.appointment-ready .form{animation:none}}

@media(min-width:701px){.scene-3.composed{min-height:145svh}}

@media(min-width:701px) and (max-width:1000px){.home-appointment{grid-template-columns:1fr;gap:40px;padding:80px 7vw}.appointment-intro h2{font-size:4rem}.appointment-intro .lead{max-width:600px}.appointment-flourish{display:none}.home-appointment .form{padding:32px}}
