/* The painting is complete: its leaf and rock silhouettes carry the edge. */
.hero.illustrated-hero{background:transparent;z-index:6;pointer-events:none}
.hero-stage{overflow:visible;background:none}
.hero-content{pointer-events:auto}
.hero-landscape{inset:100px 0 -180px}
.hero-landscape img{mask-image:none;-webkit-mask-image:none}
.hero-landscape:after{content:none}
#approach{margin-top:-350px;z-index:5}

/* Long cards hold at their lower edge, so every passage remains readable. */
.section-stack{position:relative;min-height:calc(var(--card-height,0px) + 180px)}
.section-stack+.section-stack{margin-top:-180px}
.section-card{position:sticky;top:var(--card-top,112px);border-radius:38px 38px 0 0;overflow:clip;box-shadow:0 -12px 34px #2937330b;border-top:1px solid #29373310}
.card-paper{background:var(--paper)}
.card-blue{background:#dfe9ec}
.card-ink{background:var(--ink)}
.card-pink{background:#f4e8e4}
.footer-stack{min-height:var(--card-height,0px);margin-top:-180px}
.service-case-link{display:flex;width:fit-content;max-width:100%;margin-top:23px;font-size:15px;padding:11px 20px;min-height:44px}
.service-story .text-link{display:block;width:fit-content}

/* A calendar composed in the same ink, paper and fine rules as the inquiry. */
.booking-request{border:0;border-top:1px solid var(--line);padding:23px 0 0;margin:8px 0 29px;min-width:0}
.booking-request>legend{font:27px var(--display);color:var(--wine);padding:0 14px 0 0}
.booking-toggle{display:flex;align-items:center;gap:12px;cursor:pointer;margin:8px 0 10px;font-size:17px}
.booking-toggle input{width:18px;height:18px;display:inline-block;margin:0;accent-color:var(--wine);cursor:pointer;flex:none}
.booking-toggle-mark{margin-left:auto;font-size:24px;line-height:1;transition:transform .3s ease;color:var(--wine)}
.booking-toggle:has(input:checked) .booking-toggle-mark{transform:rotate(45deg)}
.booking-hours{font-size:14px;line-height:1.65;color:var(--ink)}
.meeting-picker[hidden],.meeting-error[hidden]{display:none}
.meeting-picker{margin-top:22px}
.meeting-picker.is-animating{overflow:hidden}
.booking-intro{font-size:15px;line-height:1.65;margin-bottom:18px}
.booking-layout{display:grid;grid-template-columns:1fr;gap:20px}
.booking-calendar{background:#fcf8f299;border:1px solid #7a0e3526;border-radius:15px;padding:16px 14px}
.calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.calendar-heading h3{font-size:19px;font-family:var(--body);text-align:center;line-height:1.3}
.calendar-heading button{font-size:14px;border:0;background:transparent;color:var(--wine);padding:9px 6px;border-radius:7px}
.calendar-heading button:hover{background:#e8b9c839}
.calendar-heading button:disabled{opacity:.35;cursor:default}
.calendar-table{width:100%;table-layout:fixed;border-collapse:collapse;text-align:center}
.calendar-table th{font-size:14px;font-weight:400;padding:6px 0 12px;color:var(--wine)}
.calendar-table abbr{text-decoration:none}
.calendar-table td{padding:2px}
.calendar-day{display:block;width:100%;height:39px;border:1px solid transparent;background:transparent;color:var(--ink);border-radius:7px;font-size:15px;transition:background .2s,color .2s}
.calendar-day:not(:disabled):hover{background:#e8b9c84d}
.calendar-day:disabled{opacity:.3;cursor:default}
.calendar-day[aria-current=date]{border-color:#7a0e354d}
.calendar-day[aria-pressed=true]{background:var(--wine);color:var(--paper)}
.booking-times{border:0;padding:0;margin:0;min-width:0}
.booking-times legend{font-size:15px;margin-bottom:12px;padding:0}
.time-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.time-slot{position:relative;margin:0;min-width:0}
.time-slot input{position:absolute;width:1px;height:1px;opacity:0;margin:0;clip-path:inset(50%)}
.time-slot span{display:flex;justify-content:center;align-items:center;min-height:39px;padding:7px 3px;border:1px solid #7a0e3538;background:#fcf8f24d;border-radius:7px;font-size:14px;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s}
.time-slot input:checked+span{background:var(--wine);color:var(--paper);border-color:var(--wine)}
.time-slot input:focus-visible+span{outline:2px solid var(--wine);outline-offset:3px}
.time-slot input:not(:disabled)+span:hover{background:#e8b9c855}
.time-slot input:checked+span:hover{background:var(--wine)}
.time-slot input:disabled+span{opacity:.35;cursor:default}
.meeting-selection{border-top:1px solid var(--line);margin-top:20px;padding-top:14px;font-size:15px;color:var(--wine);line-height:1.6}
.meeting-error{font-size:15px;color:var(--wine);margin-top:10px}

/* Work is an intimate companion page, with the same type and navigation. */
.work-intro{padding:90px 0 72px;border-bottom:1px solid var(--line)}
.work-intro h1{font:400 clamp(48px,6vw,83px)/1.08 var(--display);color:var(--ink);margin:28px 0}
.work-intro h1 em{font-style:normal;color:var(--wine)}
.work-intro>p{font-size:23px;line-height:1.6;max-width:42ch}
.work-index{display:flex;gap:28px;flex-wrap:wrap;margin-top:32px}
.work-page .work{padding-top:80px}
.work-page .case-study{scroll-margin-top:115px}
.work-closing{display:flex;justify-content:space-between;align-items:center;gap:35px;border-top:1px solid var(--line);padding:75px 0 95px}
.header nav a[aria-current=page]{color:var(--wine)}
.header nav a[aria-current=page]:after{transform:scaleX(1)}
@media(max-width:800px){.hero-landscape{inset:130px -20% -160px}#approach{margin-top:-290px}.section-stack{min-height:calc(var(--card-height,0px) + 140px)}.section-stack+.section-stack,.footer-stack{margin-top:-140px}.footer-stack{min-height:var(--card-height,0px)}.section-card{border-radius:26px 26px 0 0}.work-intro{padding:65px 0 50px}}
@media(max-width:560px){.hero-landscape{inset:130px -45% -160px}.booking-calendar{padding:13px 8px}.calendar-day{height:36px}.time-slots{grid-template-columns:repeat(3,minmax(0,1fr))}.work-intro h1{font-size:48px}.work-intro>p{font-size:20px}.work-closing{align-items:flex-start;flex-direction:column;padding:50px 0 70px}.work-index{gap:18px}.work-page .work{padding-top:55px}}
@media(prefers-reduced-motion:reduce){.section-card{position:relative;top:auto}.section-stack{min-height:0}.section-stack+.section-stack,.footer-stack{margin-top:0}#approach{margin-top:0}.hero-stage{height:calc(var(--stage-height) + 180px)}.hero-landscape{height:calc(var(--stage-height) + 80px);bottom:auto}.hero-content{opacity:1}.illustrated-hero .hero-copy p,.illustrated-hero .hero-copy>.button{opacity:1}}
@media(max-width:800px) and (prefers-reduced-motion:reduce){.hero-stage{height:calc(var(--stage-height) + 160px)}.hero-landscape{height:calc(var(--stage-height) + 30px)}}
