/* Fonts served from this site (from Google Fonts, SIL Open Font Licence): DM Sans and Playfair Display, latin and latin-ext. */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/dm-sans-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/dm-sans-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/dm-sans-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/dm-sans-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/dm-sans-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/dm-sans-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/playfair-display-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/playfair-display-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/playfair-display-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/playfair-display-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/playfair-display-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/playfair-display-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{
  --ground:#101010;
  --paper:#191919;
  --raised:#262422;
  --ink:#f6f5f2;
  --soft:#c9c3ba;
  --accent:#e9e5de;
  --serif:'Playfair Display',Georgia,serif;
  --sans:'DM Sans',Arial,sans-serif;
  --gap:12px;
  --m:24px;
  --s-display:clamp(84px,10.5vw,160px);
  --s-title:clamp(40px,3.6vw,56px);
  --s-head:clamp(30px,2.6vw,40px);
  --s-body:18px;
  --s-small:15px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font:400 var(--s-body)/1.6 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,p,figure,ul{margin:0;padding:0}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.02em}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
::selection{background:var(--accent);color:var(--ground)}

.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border:0;background:var(--accent);color:var(--ground);font:500 var(--s-small)/1 var(--sans);letter-spacing:.02em;text-decoration:none;cursor:pointer;transition:transform .25s var(--ease),background-color .25s}
.button:hover{background:#fff;transform:translateY(-2px)}
.button:active{transform:none}

/* page bar on inner pages */
.bar{margin:var(--m) var(--m) 0;background:var(--paper);min-height:84px;padding:0 clamp(24px,3vw,48px);display:flex;align-items:center;justify-content:space-between;gap:24px}
.bar .brand img{width:150px;height:auto}
.links{display:flex;gap:clamp(16px,2vw,32px);font-size:var(--s-small);list-style:none}
.links a{text-decoration:none;padding:10px 0;transition:opacity .2s}
.links a:hover{opacity:.65}
.links a[aria-current="page"]{text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px}
.links a.cta{display:inline-flex;align-items:center;min-height:42px;padding:0 18px;background:var(--accent);color:var(--ground);text-decoration:none}
.links a.cta:hover{opacity:1;background:#fff}
.home-bar{display:none}
.phone-photo{display:none}
.menu-toggle{display:none;border:0;background:none;color:var(--ink);font:500 var(--s-small)/1 var(--sans);padding:12px 0;cursor:pointer}

/* home: the split with the scrolling photograph */
.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);padding:var(--m) var(--m) 0}
.read{display:flex;flex-direction:column;gap:var(--gap)}
.read > section{background:var(--paper);padding:72px clamp(32px,5vw,88px)}
.stage{position:sticky;top:var(--m);height:calc(100svh - 2*var(--m));overflow:hidden;background:#000}
.stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity 1.6s ease,transform 6s ease-out}
.stage img.is-on{opacity:1;transform:scale(1)}
.stage-bar{position:absolute;left:0;right:0;bottom:0;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:var(--paper);font-size:var(--s-small);color:var(--soft)}
.stage-bar a{color:var(--ink);text-decoration:none}
.sheet{min-height:calc(100svh - 2*var(--m));display:flex;flex-direction:column;text-align:center;padding-top:32px!important}
.sheet .brand{align-self:center}
.sheet .brand img{width:clamp(160px,15vw,220px);height:auto}
.sheet .links{justify-content:center;flex-wrap:wrap;margin-top:20px;gap:6px 22px}
.sheet .links a.cta{min-height:0;padding:10px 0;background:none;color:var(--ink)}
.sheet .links a.cta:hover{background:none;opacity:.65}
.sheet-copy{min-height:calc(100svh - 300px);padding:48px 0 72px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.sheet-more{text-align:left;padding:72px 0 64px;max-width:52ch;margin:0 auto}
.sheet-more h2{font-size:var(--s-head);line-height:1.1;margin-bottom:28px}
.sheet-more p + p{margin-top:1.1em}
.sheet-more .first{font-weight:500;font-size:20px}
.text-link{text-underline-offset:6px;text-decoration-thickness:1px;padding:8px 0;display:inline-block}
.sheet .links a.cta{display:inline;min-height:0;padding:10px 0;background:none;color:var(--ink)}
.sheet h1{font-size:clamp(56px,5.4vw,92px);line-height:1;max-width:11ch}
.lead{margin:32px auto 40px;max-width:30ch;font-family:var(--serif);font-size:clamp(22px,1.8vw,28px);line-height:1.35}
.intro{padding-top:120px!important;padding-bottom:140px!important}
.intro h2,.panel h2{font-size:var(--s-head);line-height:1.1;margin-bottom:32px;max-width:20ch}
.intro p{max-width:46ch}
.intro p + p{margin-top:1.1em}
.intro .first{font-weight:500}
.intro .more{margin-top:40px!important;display:flex;flex-wrap:wrap;gap:12px}
.intro .more a{display:inline-flex;align-items:center;min-height:48px;padding:0 20px;background:var(--raised);text-decoration:none;font-size:var(--s-small);transition:background-color .2s,transform .2s var(--ease)}
.intro .more a:hover{background:#34312e;transform:translateY(-2px)}

/* four portrait pages */
.pages{margin:var(--gap) var(--m) 0;background:var(--paper);padding:72px clamp(32px,5vw,88px) 88px}
.pages-head{display:flex;justify-content:space-between;align-items:baseline;gap:32px;margin-bottom:36px}
.pages-head p{max-width:46ch;color:var(--soft)}
.pages.after{margin-top:var(--gap)}
.pages h2{font-size:var(--s-head)}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
.tile{position:relative;display:block;text-decoration:none;overflow:hidden;background:#000}
.tiles{align-items:start}
.tile img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;transition:transform .6s var(--ease),filter .4s}
.tile span{display:block;padding:18px 0 0;font:400 clamp(22px,1.8vw,28px)/1.2 var(--serif);background:var(--paper)}
.tile:hover img{transform:scale(1.04);filter:brightness(1.08)}

/* closing photograph */
.closing{position:relative;margin:var(--gap) var(--m) 0;height:90svh;min-height:560px;overflow:hidden}
.closing-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:20% 40%;filter:brightness(.8)}
.closing-copy{position:absolute;z-index:1;left:68%;right:5%;top:51%;transform:translateY(-50%);max-width:520px}
.closing-copy h2{font-size:clamp(32px,2.6vw,46px);line-height:1.1}
.closing-copy p{margin:20px 0 28px;max-width:40ch}

/* the split title (inner page heroes) */
.tear{height:160svh}
.tear-stage{position:sticky;top:0;height:100svh;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;margin:0 var(--m)}
.pane{width:100%;height:100%;object-fit:cover;filter:brightness(.62);will-change:transform}
.tear-title{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 16px;pointer-events:none}
.tear-title h1{pointer-events:auto;position:relative;font:700 var(--s-display)/.82 var(--sans);letter-spacing:-.04em;text-transform:uppercase;color:var(--ink)}
.tear-title .half{display:block;will-change:transform}
.tear-title .half.l{clip-path:inset(0 50% 0 0)}
.tear-title .half.r{position:absolute;inset:0;clip-path:inset(0 0 0 50%)}
.tear-title .half.r::before{content:attr(data-t)}
.tear-title p{margin-top:28px;font-size:var(--s-body)}
.tear-title .button{margin-top:28px;pointer-events:auto}
.tear-title.long h1{font-size:clamp(56px,6.4vw,104px)}

/* inner page panels */
.panel{margin:var(--gap) var(--m) 0;background:var(--paper);padding:120px clamp(32px,6vw,96px);display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.panel .text{justify-self:stretch;max-width:none}
.panel h2{max-width:10ch;margin:0;font-size:clamp(56px,6vw,96px);line-height:.98;letter-spacing:-.03em}
.panel .line{font:400 clamp(22px,1.8vw,28px)/1.4 var(--serif);max-width:none}
.panel .links-line{margin-top:24px;font-size:var(--s-body)}
.panel .links-line a{margin-right:20px}
.panel h2{margin-bottom:0}
.panel .text p{max-width:none}
.panel .text p + p{margin-top:1.1em}
.panel .text .button{margin-top:36px}

/* how a session works, and questions */
.detail{margin:var(--gap) var(--m) 0;background:var(--paper);padding:96px clamp(32px,6vw,96px);display:grid;grid-template-columns:7fr 5fr;gap:clamp(40px,6vw,96px);align-items:start}
.detail h2{font-size:var(--s-head);line-height:1.1;margin-bottom:28px}
.detail-text p{font-size:19px;max-width:60ch}
.detail-text p + p{margin-top:1.1em}
.faq-item + .faq-item{margin-top:28px}
.faq-item h3{font:400 22px/1.3 var(--serif);margin:0 0 8px}
.faq-item p{color:var(--soft);font-size:17px}

/* galleries */
.gallery{margin:var(--gap) var(--m) 0;columns:3;column-gap:var(--gap)}
.gallery img{width:100%;height:auto;margin-bottom:var(--gap);break-inside:avoid;transition:opacity .3s}
.gallery:hover img{opacity:.85}
.gallery img:hover{opacity:1}
.gallery.four{columns:4}
.gallery.bw img{filter:grayscale(1)}
.gallery.grid3{columns:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.gallery.grid3 img{margin:0;aspect-ratio:2/3;object-fit:cover;height:auto}
.stage-fit{background:#000}
.stage-fit img{object-fit:cover!important;object-position:50% 22%}
.legal{margin:var(--gap) var(--m) 0;background:var(--paper);padding:96px clamp(32px,6vw,96px)}
.legal > *{max-width:none}
.legal h1{font-size:var(--s-title);margin-bottom:36px}
.legal h2{font:400 26px/1.25 var(--serif);margin:48px 0 14px}
.legal p{margin:0 0 14px;color:var(--soft)}
.legal p strong,.legal li strong{color:var(--ink);font-weight:500}
.legal ul{margin:0 0 18px;padding-left:22px;color:var(--soft)}
.legal li{margin-bottom:8px}

/* letter (about) */
.letter{padding-top:120px!important;padding-bottom:140px!important}
.letter h1{font-size:var(--s-title);line-height:1.05;margin-bottom:40px}
.letter p{max-width:46ch}
.letter p + p{margin-top:1.1em}
.sign{margin-top:36px!important;font:400 22px/1.3 var(--serif)}
.role{margin-top:4px!important;font-size:var(--s-small);color:var(--soft)}

/* contact */
.contact h1{font-size:clamp(64px,7vw,120px);line-height:.98;margin-bottom:36px;letter-spacing:-.03em}
.contact h1 em{display:block;font-style:italic;color:var(--accent)}
.contact .statement{font:400 clamp(24px,2.1vw,32px)/1.35 var(--serif);margin-bottom:24px;max-width:30ch}
.contact > h2{font-size:var(--s-head);margin-top:72px}
.contact .direct{margin:44px 0 0;display:grid;grid-template-columns:auto 1fr;gap:18px 40px;align-items:baseline}
.contact .direct dd{font:400 22px/1.3 var(--serif)}
.contact .direct dd:last-child{font:400 var(--s-body)/1.4 var(--sans)}
.contact .direct dd a{text-decoration:none}
.contact .direct dd a:hover{text-decoration:underline}
.contact .direct dt{color:var(--soft);font-size:var(--s-small)}
.contact .direct dd{margin:0}
.steps{list-style:none;margin-top:32px!important;display:grid;gap:32px}
.steps h3{font:400 clamp(24px,2vw,30px)/1.2 var(--serif);margin:0 0 8px}
.steps p{color:var(--soft);font-size:17px;max-width:46ch}
form{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}
form h2{grid-column:1/-1;font-size:var(--s-head);margin-bottom:8px}
.field{display:flex;flex-direction:column;gap:8px;font-size:var(--s-small)}
.field.wide{grid-column:1/-1}
.field input,.field select,.field textarea{width:100%;min-height:50px;padding:12px 14px;border:1px solid #3a3734;background:var(--ground);color:var(--ink);font:400 16px/1.4 var(--sans)}
.field textarea{min-height:140px;resize:vertical}
.field input::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}
form .button{grid-column:1/-1;justify-self:start}
.form-note{grid-column:1/-1;font-size:var(--s-small);color:var(--soft)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.recaptcha-note{grid-column:1/-1;font-size:var(--s-small);color:var(--soft)}
.recaptcha-note a{text-decoration:underline;text-underline-offset:4px}
.grecaptcha-badge{visibility:hidden}
form .button:disabled{opacity:.6;cursor:wait}

/* footer line */
.foot{display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline;gap:24px;padding:72px var(--m) 30px;font-size:var(--s-small);color:var(--soft)}
.foot a{color:var(--ink);text-decoration:none;padding:8px 0}
.foot a:hover{text-decoration:underline}
.foot-links{display:flex;gap:24px}
.foot-end{text-align:right}
.foot-end a,.consent p a{text-decoration:underline;text-underline-offset:4px}

/* full-screen photo viewer */
.gallery img{cursor:zoom-in}
.lightbox{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;background:#080808}
.lightbox.open{display:flex}
.lb-lock,.lb-lock body{overflow:hidden}
.lb-img{max-width:min(92vw,1600px);max-height:84svh;width:auto;height:auto;object-fit:contain}
.lb-btn{position:absolute;border:0;background:var(--paper);color:var(--ink);font:500 var(--s-small)/1 var(--sans);min-width:48px;min-height:48px;padding:0 16px;cursor:pointer;transition:background-color .2s}
.lb-btn:hover{background:#34312e}
.lb-close{top:var(--m);right:var(--m)}
.lb-prev{left:var(--m);top:50%;transform:translateY(-50%);font-size:20px}
.lb-next{right:var(--m);top:50%;transform:translateY(-50%);font-size:20px}
.lb-count{position:absolute;bottom:var(--m);left:0;right:0;text-align:center;font-size:var(--s-small);color:var(--soft)}

/* cookie notice */
.consent{position:fixed;left:var(--m);right:var(--m);bottom:var(--m);z-index:40;background:var(--paper);padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:var(--s-small)}
.consent p{max-width:60ch}
.consent-actions{display:flex;gap:12px;align-items:center}
.consent .button{min-height:44px}
.consent-no{border:0;background:none;color:var(--ink);font:500 var(--s-small)/1 var(--sans);padding:12px 8px;cursor:pointer;text-decoration:underline;text-underline-offset:5px}

/* entrances */
.js .rise{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .rise.in{opacity:1;transform:none}

@media (max-width:900px){
  :root{--m:16px}
  .bar{margin:0;min-height:0;padding:16px var(--m);flex-wrap:wrap;row-gap:0}
  .bar.open .links{padding-top:8px}
  .bar .brand img{width:120px}
  .links a.cta{display:inline-flex;align-items:center;min-height:42px;padding:0 18px;background:var(--accent);color:var(--ground);text-decoration:none}
.links a.cta:hover{opacity:1;background:#fff}
  .menu-toggle{display:block;margin-left:auto}
  .bar > nav{flex-basis:100%}
  .bar .links{display:none;width:100%;flex-direction:column;gap:0;padding:0 0 16px}
  .bar.open .links{display:flex}
  .split{grid-template-columns:1fr;padding:0}
  .stage{order:-1;position:sticky;top:0;height:60svh;z-index:0}
  .stage-bar{display:none}
  .read{position:relative;z-index:1;gap:0}
  .read > section{padding:56px 24px}
  .sheet{min-height:auto;margin-top:0}
  .home-bar{display:flex}
  .phone-photo{display:block;order:1;width:100%;height:70svh;object-fit:cover;object-position:50% 25%;margin-top:var(--gap)}
  div.split .sheet > .brand,div.split .sheet > nav{display:none}
  div.split .stage{order:-1;position:relative;top:auto;height:62svh;margin-top:0}
  div.split .stage img{opacity:0!important;transition:none}
  div.split .stage img:first-child{opacity:1!important;transform:none}
  div.split .sheet{padding-bottom:40px!important}
  div.split .sheet-more{padding-bottom:0}
  .pane{object-position:var(--mpos,50% 30%)!important}
  .sheet-copy{padding:24px 0 24px;min-height:0}
  .sheet h1{font-size:clamp(38px,10vw,56px)}
  .sheet .links{font-size:14px}
  .button{width:100%}
  .intro{padding-top:72px!important;padding-bottom:96px!important}
  .closing{margin:var(--gap) 0 0;height:auto;min-height:0;overflow:visible;display:flex;flex-direction:column}
  .closing-photo{position:relative;height:min(70svh,460px);order:-1}
  .closing-copy{position:static;transform:none;padding:40px var(--m) 0;max-width:none}
  .closing-copy h2{font-size:clamp(30px,8vw,40px)}
  .tear{height:130svh}
  .tear-stage{margin:0}
  .tear-title h1{font-size:12vw}
  .tear-title.long h1{font-size:8.4vw}
  .tiles{grid-template-columns:1fr 1fr}
  .pages{margin:var(--gap) 0 0;padding:56px 24px 64px}
  .read p,.closing-copy p,.letter p,.panel .text p{max-width:none}
  .panel{margin:0;padding:72px 24px;grid-template-columns:1fr;gap:28px}
  .detail{margin:var(--gap) 0 0;padding:64px 24px;grid-template-columns:1fr;gap:48px}
  .detail-text p{font-size:18px}
  .panel .text{justify-self:start;max-width:none}
  .panel h2{font-size:clamp(44px,12vw,60px)}
  .gallery,.gallery.four{columns:2;margin:var(--gap) var(--m) 0;column-gap:8px}
  .gallery.grid3{grid-template-columns:1fr 1fr;gap:8px}
  .pages-head{display:block}
  .pages-head p{margin-top:12px}
  .sheet-more{padding:48px 0 24px}
  .contact h1{font-size:clamp(52px,15vw,72px)}
  .legal{margin:0;padding:64px 24px}
  .sheet .links a.cta{display:inline}
  .gallery img{margin-bottom:8px}
  .letter{padding-top:72px!important;padding-bottom:96px!important}
  form{grid-template-columns:1fr}
  .contact .direct{grid-template-columns:1fr;gap:4px 0}
  .contact .direct dd{font-size:19px;overflow-wrap:anywhere;margin-bottom:14px}
  .field input,.field select,.field textarea{min-width:0;max-width:100%}
  .lb-img{max-width:100vw;max-height:78svh}
  .lb-prev,.lb-next{top:auto;bottom:12px;transform:none}
  .foot{grid-template-columns:1fr;gap:8px;padding:56px var(--m) 24px}
  .foot-links{flex-wrap:wrap;gap:4px 20px}
  .foot-end{text-align:left}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .rise{opacity:1;transform:none;transition:none}
  .stage img{transition:opacity .2s;transform:none!important}
  .pane,.tear-title .half{transform:none!important}
}
