
/* ─────────────────────────────────────────────────────────────
   AISHITERU · the site
   Her rose and her red, both off her own files. No photograph
   anywhere — the word carries it. One breath across every page.
   ───────────────────────────────────────────────────────────── */
:root{
  --rose:#FAE1F5; --rose-lift:#FEF5FC; --rose-deep:#F2CBE8; --rose-deepest:#EFC0E3;
  --ink:#BD0006; --body:#5E1220; --body-soft:#8A2B3A;
  --display:Didot,"Bodoni 72","Playfair Display","Iowan Old Style",Palatino,Georgia,serif;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --breath:0; --breath2:0;
  --depth-door:.17; --depth-reading:.05;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0}
body{background:var(--rose);color:var(--body);font-family:var(--serif);
 font-size:17.5px;line-height:1.78;-webkit-font-smoothing:antialiased;overflow-x:clip}
body > *:not(.breath){position:relative;z-index:1}
/* the way through */
.top{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;
 gap:12px 24px;padding:clamp(18px,3.4vw,26px) clamp(20px,4vw,40px)}
.top a.mark{font-family:var(--display);color:var(--ink);text-decoration:none;
 font-size:clamp(17px,4.2vw,21px);letter-spacing:.04em;line-height:1}
.top nav{display:flex;flex-wrap:wrap;gap:4px clamp(14px,3vw,26px)}
.top nav a{font-size:clamp(13.5px,3.3vw,15px);color:var(--body-soft);text-decoration:none;
 padding-bottom:2px;border-bottom:1px solid transparent}
.top nav a:hover{color:var(--ink);border-bottom-color:var(--ink)}
.top nav a[aria-current]{color:var(--ink);border-bottom-color:rgba(189,0,6,.4)}
.foot{padding:clamp(40px,7vw,80px) clamp(20px,4vw,40px) clamp(46px,8vw,70px);
 border-top:1px solid rgba(189,0,6,.14);margin-top:clamp(40px,7vw,80px)}
.foot .in{max-width:1120px;margin:0 auto;display:flex;flex-wrap:wrap;gap:20px 40px;
 justify-content:space-between;align-items:flex-start}
.foot nav{display:flex;flex-direction:column;gap:7px}
.foot a{color:var(--body-soft);text-decoration:none;font-size:15px}
.foot a:hover{color:var(--ink)}
.foot .who{font-size:13.5px;color:var(--body-soft)}
.foot .say{font-family:var(--display);color:var(--ink);font-size:clamp(17px,4.2vw,22px);
 line-height:1.24;max-width:14ch;margin:0 0 8px}
/* ── AISHITERU · the home page ── */
:root{ --gold:#C39A3E; --gold-soft:rgba(195,154,62,.42); --jp:"Hiragino Mincho ProN",
  "Yu Mincho","Noto Serif JP","Songti SC",var(--display),serif; }
body > .grain,.page > .grain{position:fixed;z-index:0}
/* ── 品書 · the way through, kept out of the way ── */
.top{justify-content:space-between;align-items:center}
.top nav{display:none}
.shinagaki{display:flex;flex-direction:column;align-items:center;gap:7px;background:none;
 border:0;padding:6px 4px;cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent}
.shinagaki .bars{display:block;width:30px}
.shinagaki .bars i{display:block;height:1px;background:var(--ink);opacity:.85;margin:6px 0;
 transition:transform .5s cubic-bezier(.2,.8,.3,1),opacity .35s ease}
.shinagaki .jpword{font-family:var(--jp);color:var(--body-soft);font-size:12px;
 letter-spacing:.22em;line-height:1}
.menu-open .shinagaki .bars i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-open .shinagaki .bars i:nth-child(2){opacity:0}
.menu-open .shinagaki .bars i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
body > .veil{position:fixed;inset:0;z-index:40;background:var(--rose-lift);
 display:grid;place-items:center;padding:clamp(30px,8vw,70px) clamp(24px,7vw,60px);
 opacity:0;visibility:hidden;transition:opacity .55s ease,visibility .55s}
body > .veil,.page > .veil{position:fixed;z-index:40}
.menu-open .veil{opacity:1;visibility:visible}
.veil .ghost{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
 font-family:var(--jp);color:var(--ink);opacity:.05;font-size:min(96vw,700px);line-height:1;
 pointer-events:none}
.veil ol{position:relative;list-style:none;margin:0;padding:0;counter-reset:n;
 display:flex;flex-direction:column;gap:clamp(14px,3.4vw,22px)}
.veil li{opacity:0;transform:translateY(14px);
 transition:opacity .7s cubic-bezier(.3,0,.2,1),transform .9s cubic-bezier(.25,.8,.3,1)}
.menu-open .veil li{opacity:1;transform:none}
.veil li:nth-child(1){transition-delay:.10s}
.veil li:nth-child(2){transition-delay:.17s}
.veil li:nth-child(3){transition-delay:.24s}
.veil li:nth-child(4){transition-delay:.31s}
.veil li:nth-child(5){transition-delay:.38s}
.veil li:nth-child(6){transition-delay:.45s}
.veil a{display:flex;align-items:baseline;gap:clamp(12px,3vw,20px);text-decoration:none;
 font-family:var(--display);color:var(--ink);font-size:clamp(29px,8.2vw,54px);line-height:1.08}
.veil a .jp{font-family:var(--jp);font-size:.36em;color:var(--body-soft);letter-spacing:.1em}
.veil a:hover{opacity:.62}
.veil .say{position:absolute;left:0;bottom:clamp(-58px,-9vw,-40px);font-family:var(--display);
 color:var(--body-soft);font-size:clamp(14px,3.6vw,17px);font-style:italic}
@media(prefers-reduced-motion:reduce){
  .veil,.veil li{transition:none} .shinagaki .bars i{transition:none}}
body > .ent,.page > .ent{position:fixed;z-index:60}
/* ── the second screen is a ceremony, not a caption ─────────────
   The wedding line arrives, is held, then withdraws into the
   distance. Only then does the marriage stand up, and Life is
   written by hand. Her fonts, and Matri Pair's script.
   ─────────────────────────────────────────────────────────── */
:root{ --script:"Savoye LET","Allura",cursive; }
/* ═══ WHAT THE PARENT IMPOSES, AND WHAT THIS WORLD DOES INSTEAD ══
   lamoureux ships structure on ten class names AISHITERU also uses:
   foot · head · hero · in · mark · note · rows · sec · skip · top.
   Where a name means something different here, it is answered
   explicitly rather than left to the cascade. Nothing in the parent
   is edited — that belongs to the whole family.
   ═════════════════════════════════════════════════════════════ */
.foot p{font:inherit;letter-spacing:normal;text-transform:none;color:inherit}
.foot .say{font-family:var(--display);color:var(--ink);
 font-size:clamp(19px,4.6vw,26px);line-height:1.26;letter-spacing:.002em;
 text-transform:none;max-width:16ch;margin:0 0 10px;font-weight:400}
.foot .who{font-family:var(--serif);color:var(--body-soft);font-size:13.5px;
 letter-spacing:.04em;text-transform:none;font-weight:400;line-height:1.5}
.foot{text-align:left;background:transparent}
.foot .in{max-width:1120px;display:flex;gap:clamp(22px,5vw,60px)}
.top{position:static;background:transparent}
.top a.mark{width:auto;aspect-ratio:auto;background:none;
 font-family:var(--display);color:var(--ink)}
body > .ent{background:var(--rose-lift)}
body{background:var(--rose-lift)!important}
.c>.l,.c>.price,.c>p:not(.k):not(.h):not(.l):not(.mark):not(.pron){grid-column:2}
.c>.mark,.c>.pron{grid-column:1/-1}
.mark{font-family:var(--display);font-size:clamp(40px,7vw,96px);letter-spacing:.05em;line-height:1;color:var(--say);margin:0}
.mark span{display:inline-block;opacity:0;transform:translateY(.2em);filter:blur(5px);transition:opacity 1s ease,transform 1.2s cubic-bezier(.2,.7,.2,1),filter 1s ease}
.c.is-on .mark span{opacity:1;transform:none;filter:blur(0)}
@media(prefers-reduced-motion:reduce){.cur,.stg .glow,.stg__in>*,.mark span{transition:none}.stg__in>*,.mark span{opacity:1;transform:none;filter:none}.stg .glow{opacity:1}.band__t{animation:none}.rise{transition:none}}


/* AISHITERU — the front, 13 September evening. Her line is the opening. Pale pale pink from her own seal; her red; her four characters with her own meanings; her seal as a note at the foot. Nothing drawn, nothing over the writing. */
:root{--pink:#FFF3F6;--pink2:#FBE3EA;--red:#C8102E;--rose:#D9536A}
html{overflow-x:hidden}
body{background:#FFFFFF;color:var(--red);font-family:Jost,system-ui,sans-serif;font-weight:300;margin:0}
.a-cap{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:400;font-size:1.05rem;letter-spacing:0;text-transform:none;color:var(--red);margin:0;opacity:.85}
.a-serif{font-family:"Cormorant Garamond",serif;font-weight:400}

/* THE OPENING — the way Honour Her opens: whole photographs of couples, every kind, surfacing one after another on pale pink and drifting, slowly, while her line arrives in red. Never a crop of a face. */
.a-open{position:relative;min-height:100svh;overflow:hidden;display:grid;place-items:center;text-align:center;padding:14vh 6vw 12vh;background:radial-gradient(120% 80% at 50% 4%,#d21a56 0%,#b81d2a 46%,#8e0f34 100%)}
.a-cpl{position:absolute;left:var(--x);top:var(--y);width:var(--w);aspect-ratio:2/3;object-fit:cover;border-radius:0;opacity:0;pointer-events:none;filter:saturate(.92);transform:translateY(14px);transition:opacity 3.2s ease var(--d),transform 3.6s ease var(--d);-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 38%,rgba(0,0,0,.6) 56%,transparent 74%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 38%,rgba(0,0,0,.6) 56%,transparent 74%)}
.a-open.on .a-cpl{opacity:1;transform:none;animation:a-float var(--j,11s) ease-in-out calc(var(--d) + 3.4s) infinite alternate}
@keyframes a-float{from{transform:translateY(0)}to{transform:translateY(-16px)}}
.a-cpl--1{--x:2vw;--y:4vh;--w:11vw;--d:.3s;--j:12s}
.a-cpl--2{--x:16vw;--y:12vh;--w:9vw;--d:1.7s;--j:10s}
.a-cpl--3{--x:82vw;--y:5vh;--w:12vw;--d:1s;--j:13s}
.a-cpl--4{--x:69vw;--y:14vh;--w:9vw;--d:2.6s;--j:9.5s}
.a-cpl--5{--x:3vw;--y:44vh;--w:12vw;--d:3.4s;--j:11.5s}
.a-cpl--6{--x:85vw;--y:46vh;--w:11vw;--d:4.2s;--j:10.5s}
.a-cpl--7{--x:14vw;--y:70vh;--w:10vw;--d:5s;--j:12.5s}
.a-cpl--8{--x:74vw;--y:72vh;--w:11vw;--d:5.8s;--j:9s}
.a-cpl--9{--x:36vw;--y:2vh;--w:9vw;--d:6.6s;--j:11s}
.a-cpl--10{--x:52vw;--y:74vh;--w:10vw;--d:7.4s;--j:10s}
.a-cpl--11{--x:30vw;--y:76vh;--w:9vw;--d:8.2s;--j:12s}
.a-cpl--12{--x:56vw;--y:4vh;--w:9vw;--d:9s;--j:13s}
.a-cpl--13,.a-cpl--14,.a-cpl--15,.a-cpl--16{display:none}
.a-open__words{position:relative;z-index:2;max-width:24ch}
.a-open__cap{margin:0 0 2.2vh;opacity:0;transition:opacity 1.6s ease 1.2s;color:#FFD6E0}
.a-open.on .a-open__cap{opacity:1}
.a-open__line{margin:0;font-family:"Cormorant Garamond",serif;font-weight:400;font-size:clamp(1.5rem,3.2vw,2.4rem);line-height:1.25;color:#FFF3F6;text-shadow:none}
.a-open__line .w{display:inline-block;opacity:0;transform:translateY(.3em);transition:opacity 1.1s ease,transform 1.1s ease}
.a-open__line .w.on{opacity:1;transform:none}
.a-open__line em{font-style:italic;font-weight:400}
.a-open__two{margin-top:1.6vh}
@media(max-width:760px){
.a-open{padding:12vh 6vw 10vh}
.a-cpl--1{--x:2vw;--y:2vh;--w:32vw;--d:.3s}
.a-cpl--2{--x:35vw;--y:7vh;--w:30vw;--d:1.6s}
.a-cpl--3{--x:66vw;--y:2vh;--w:32vw;--d:2.9s}
.a-cpl--4{--x:-6vw;--y:32vh;--w:28vw;--d:4.2s}
.a-cpl--5{--x:78vw;--y:35vh;--w:28vw;--d:5.5s}
.a-cpl--6{--x:2vw;--y:70vh;--w:32vw;--d:6.8s}
.a-cpl--7{--x:35vw;--y:75vh;--w:30vw;--d:8.1s}
.a-cpl--8{--x:66vw;--y:69vh;--w:32vw;--d:9.4s}
.a-cpl--9,.a-cpl--10,.a-cpl--11,.a-cpl--12{display:none}
.a-open__words{max-width:16ch}}
@media(prefers-reduced-motion:reduce){.a-cpl{transition:none;opacity:.94;transform:none}.a-open.on .a-cpl{animation:none}}

/* SACRED — crisp on the pink: one line large, the rest stepping down */
.a-sacred{position:relative;padding:14vh 6vw 12vh;background:#FFFFFF;display:grid;justify-items:start}
.a-sacred__cap{margin:0 0 4vh}
.a-sacred__stage{display:grid;gap:1.6vh;max-width:30rem}
.a-sacred__say{margin:0;font-family:"Cormorant Garamond",serif;font-weight:400;font-size:clamp(1.1rem,1.8vw,1.4rem);line-height:1.28;color:var(--red);opacity:0;transform:translateY(8px);transition:opacity 1.2s ease calc(var(--i) * .8s),transform 1.2s ease calc(var(--i) * .8s)}
.a-sacred.on .a-sacred__say{opacity:1;transform:none}
.a-sacred__say:first-child{font-weight:400;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.2;margin-bottom:1.5vh;max-width:18ch}
.a-sacred__say:last-child{font-style:italic;font-size:clamp(1rem,1.5vw,1.2rem);margin-top:2.5vh;color:#8E0B24}

/* THE DAY AFTER — her red, pink letters, the pop */
.a-more{padding:16vh 6vw 14vh;text-align:center;background:var(--red);color:var(--pink)}
.a-more__line{margin:0 auto 5vh;font-family:"Cormorant Garamond",serif;font-weight:400;font-size:clamp(1.4rem,2.8vw,2.2rem);line-height:1.25;max-width:22ch;color:var(--pink)}
.a-more__go{display:inline-block;font:300 1rem/1.4 Jost,sans-serif;letter-spacing:.01em;text-transform:none;color:var(--pink);text-decoration:none;border-bottom:1px solid rgba(255,243,246,.7);padding-bottom:.15rem}
.a-seal{padding:6vh 6vw 12vh;display:grid;justify-items:center;gap:2vh}
.a-seal img{width:min(26vw,110px);height:auto;filter:drop-shadow(0 10px 24px rgba(184,16,47,.14))}
.a-seal p{margin:0;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.15rem;color:var(--red)}
@media(max-width:760px){.a-open__film{height:58svh}.a-open__film img{object-position:56% 32%}.a-sacred{padding:10vh 7vw}}
@media(prefers-reduced-motion:reduce){.a-open__film img{animation:none;transition:none;opacity:1;filter:none;transform:none}.a-open__line .w,.a-word__k,.a-word__line,.a-sacred__say{transition:none;opacity:1;transform:none}}

/* ─────────────────────────────────────────────────────────────
   AISHITERU · the site
   Her rose and her red, both off her own files. No photograph
   anywhere — the word carries it. One breath across every page.
   ───────────────────────────────────────────────────────────── */
:root{
  --rose:#FAE1F5; --rose-lift:#FEF5FC; --rose-deep:#F2CBE8; --rose-deepest:#EFC0E3;
  --ink:#BD0006; --body:#5E1220; --body-soft:#8A2B3A;
  --display:Didot,"Bodoni 72","Playfair Display","Iowan Old Style",Palatino,Georgia,serif;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --breath:0; --breath2:0;
  --depth-door:.17; --depth-reading:.05;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0}
body{background:var(--rose);color:var(--body);font-family:var(--serif);
 font-size:17.5px;line-height:1.78;-webkit-font-smoothing:antialiased;overflow-x:clip}

/* the breath — one clock, many depths */
.breath{position:fixed;inset:-24%;z-index:0;pointer-events:none}
.breath::before,.breath::after{content:"";position:absolute;inset:0}
.breath::before{background:radial-gradient(30% 30% at 37% 44%,rgba(255,251,254,.95) 0%,
  rgba(254,245,252,.5) 46%,rgba(250,225,245,0) 74%);
  opacity:calc(.34 + var(--breath) * var(--depth-reading))}
.breath::after{background:radial-gradient(30% 30% at 63% 52%,rgba(255,250,253,.92) 0%,
  rgba(254,245,252,.5) 46%,rgba(250,225,245,0) 74%);
  opacity:calc(.34 + var(--breath2) * var(--depth-reading))}
body > *:not(.breath){position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.breath{display:none}}

/* the way through */
.top{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;
 gap:12px 24px;padding:clamp(18px,3.4vw,26px) clamp(20px,4vw,40px)}
.top a.mark{font-family:var(--display);color:var(--ink);text-decoration:none;
 font-size:clamp(17px,4.2vw,21px);letter-spacing:.04em;line-height:1}
.top nav{display:flex;flex-wrap:wrap;gap:4px clamp(14px,3vw,26px)}
.top nav a{font-size:clamp(13.5px,3.3vw,15px);color:var(--body-soft);text-decoration:none;
 padding-bottom:2px;border-bottom:1px solid transparent}
.top nav a:hover{color:var(--ink);border-bottom-color:var(--ink)}
.top nav a[aria-current]{color:var(--ink);border-bottom-color:rgba(189,0,6,.4)}

.wrap{max-width:1120px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}
.doc{max-width:700px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}

.sec{padding:clamp(48px,8.5vw,110px) 0}
h1,h2,h3{font-family:var(--display);font-weight:400;color:var(--ink);margin:0}
.lede,.big,.mid{font-family:var(--display);color:var(--ink)}
.lede{font-size:clamp(28px,7vw,54px);line-height:1.16;max-width:18ch;margin:0 auto;
 text-align:center}
.big{font-size:clamp(25px,6.2vw,42px);line-height:1.16;max-width:19ch;margin:0 0 clamp(14px,2.4vw,22px)}
.mid{font-size:clamp(21px,5.2vw,30px);line-height:1.24;max-width:22ch;margin:0 0 clamp(12px,2vw,18px)}
p{margin:0 0 clamp(15px,2.4vw,20px);font-size:clamp(16.5px,4.1vw,18.5px);max-width:44ch}
p:last-child{margin-bottom:0}
.centre{text-align:center} .centre p{margin-left:auto;margin-right:auto}
a.act{display:inline-block;font-family:var(--display);color:var(--ink);text-decoration:none;
 font-size:clamp(19px,4.8vw,25px);border-bottom:1.5px solid var(--ink);padding-bottom:5px;
 margin-top:clamp(24px,4vw,38px)}
a.act:hover{opacity:.7}
.pron{display:block;font-style:italic;letter-spacing:.06em;color:var(--body-soft);
 font-size:clamp(13px,3.3vw,15.5px)}

.rows{max-width:780px;margin:clamp(24px,4vw,36px) auto 0;padding:0}
.rows li{list-style:none;padding:clamp(18px,3vw,28px) 0;border-top:1px solid rgba(189,0,6,.16)}
.rows li:last-child{border-bottom:1px solid rgba(189,0,6,.16)}
.rows h3{font-size:clamp(20px,5vw,28px);line-height:1.2;margin:0 0 6px}
.rows p{margin:0 0 8px;color:var(--body-soft);font-size:clamp(15.5px,3.9vw,17.5px)}
.rows .fee{margin:0;font-family:var(--display);color:var(--body);font-size:clamp(17px,4.2vw,21px)}


.foot{padding:clamp(40px,7vw,80px) clamp(20px,4vw,40px) clamp(46px,8vw,70px);
 border-top:1px solid rgba(189,0,6,.14);margin-top:clamp(40px,7vw,80px)}
.foot .in{max-width:1120px;margin:0 auto;display:flex;flex-wrap:wrap;gap:20px 40px;
 justify-content:space-between;align-items:flex-start}
.foot nav{display:flex;flex-direction:column;gap:7px}
.foot a{color:var(--body-soft);text-decoration:none;font-size:15px}
.foot a:hover{color:var(--ink)}
.foot .who{font-size:13.5px;color:var(--body-soft)}
.foot .say{font-family:var(--display);color:var(--ink);font-size:clamp(17px,4.2vw,22px);
 line-height:1.24;max-width:14ch;margin:0 0 8px}

.rise{transition:opacity 1.2s ease-out,transform 1.2s cubic-bezier(.2,.7,.3,1)}
.rise.held-back{opacity:0;transform:translateY(13px)}
.rise.seen{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rise,.rise.held-back{opacity:1;transform:none;transition:none}}

/* ── beats rather than blocks ── */
.body p, section p, main p{max-width:30ch}
@media(min-width:760px){.body p, section p, main p{max-width:36ch}}
p.beat{font-size:clamp(17.5px,4.6vw,20px);line-height:1.62;margin:0 0 clamp(20px,4.6vw,28px)}
p.big{font-family:var(--display);color:var(--ink);font-size:clamp(26px,7vw,42px);
 line-height:1.16;max-width:15ch;margin:clamp(30px,7vw,52px) 0}

/* ── the same world on every page ── */
:root{ --gold:#C39A3E; --gold-soft:rgba(195,154,62,.42);
  --jp:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP","Songti SC",var(--display),serif; }
.grain{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.05;
 background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>")}
body > .grain,.page > .grain{position:fixed;z-index:0}
.pageghost{position:fixed;left:50%;top:46%;transform:translate(-50%,-50%);z-index:0;
 font-family:var(--jp);color:var(--ink);line-height:1;opacity:.04;pointer-events:none;
 user-select:none;font-size:min(88vw,620px)}
body > .pageghost,.page > .pageghost{position:fixed;z-index:0}
.sec{position:relative}
.sec + .sec::before{display:none}
.lede{text-align:left;margin-left:0}
@media(min-width:760px){.lede{text-align:center;margin-left:auto}}
a.act{border-bottom-color:var(--gold)}
a.act:hover{border-bottom-color:var(--ink);opacity:1}
.doc p.beat:first-of-type{font-size:clamp(19px,4.9vw,22px);line-height:1.56}
@media(prefers-reduced-motion:reduce){.pageghost{display:none}}

/* ── an offer is a panel, never a paragraph ── */
.rows{display:grid;gap:clamp(16px,3vw,22px);max-width:780px;margin:clamp(28px,5vw,42px) auto 0}
.rows li{list-style:none;border:none;border-top:none;padding:clamp(22px,4.4vw,34px);
 background:linear-gradient(160deg,rgba(255,255,255,.72),rgba(255,255,255,.34));
 border-left:2px solid var(--gold);border-radius:2px;position:relative}
.rows li:last-child{border-bottom:none}
.rows h3{font-size:clamp(22px,5.6vw,30px);line-height:1.14;margin:0 0 10px}
.rows p{margin:0 0 10px;color:var(--body);font-size:clamp(16px,4vw,17.5px);max-width:38ch}
.rows .fee{margin:clamp(14px,2.6vw,20px) 0 0;font-family:var(--display);color:var(--ink);
 font-size:clamp(27px,7vw,40px);line-height:1;letter-spacing:.01em}
.rows .fee small{display:block;font-family:var(--serif);font-size:13px;letter-spacing:.1em;
 color:var(--body-soft);margin-top:8px;font-style:italic}

/* ── 品書 · the way through, kept out of the way ── */
.top{justify-content:space-between;align-items:center}
.top nav{display:none}
.shinagaki{display:flex;flex-direction:column;align-items:center;gap:7px;background:none;
 border:0;padding:6px 4px;cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent}
.shinagaki .bars{display:block;width:30px}
.shinagaki .bars i{display:block;height:1px;background:var(--ink);opacity:.85;margin:6px 0;
 transition:transform .5s cubic-bezier(.2,.8,.3,1),opacity .35s ease}
.shinagaki .jpword{font-family:var(--jp);color:var(--body-soft);font-size:12px;
 letter-spacing:.22em;line-height:1}
.menu-open .shinagaki .bars i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-open .shinagaki .bars i:nth-child(2){opacity:0}
.menu-open .shinagaki .bars i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.veil{position:fixed;inset:0;z-index:40;background:var(--rose-lift);
 display:grid;place-items:center;padding:clamp(30px,8vw,70px) clamp(24px,7vw,60px);
 opacity:0;visibility:hidden;transition:opacity .55s ease,visibility .55s}
body > .veil,.page > .veil{position:fixed;z-index:40}
.menu-open .veil{opacity:1;visibility:visible}
.veil .ghost{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
 font-family:var(--jp);color:var(--ink);opacity:.05;font-size:min(96vw,700px);line-height:1;
 pointer-events:none}
.veil ol{position:relative;list-style:none;margin:0;padding:0;counter-reset:n;
 display:flex;flex-direction:column;gap:clamp(14px,3.4vw,22px)}
.veil li{opacity:0;transform:translateY(14px);
 transition:opacity .7s cubic-bezier(.3,0,.2,1),transform .9s cubic-bezier(.25,.8,.3,1)}
.menu-open .veil li{opacity:1;transform:none}
.veil li:nth-child(1){transition-delay:.10s} .veil li:nth-child(2){transition-delay:.17s}
.veil li:nth-child(3){transition-delay:.24s} .veil li:nth-child(4){transition-delay:.31s}
.veil li:nth-child(5){transition-delay:.38s} .veil li:nth-child(6){transition-delay:.45s}
.veil a{display:flex;align-items:baseline;gap:clamp(12px,3vw,20px);text-decoration:none;
 font-family:var(--display);color:var(--ink);font-size:clamp(29px,8.2vw,54px);line-height:1.08}
.veil a .jp{font-family:var(--jp);font-size:.36em;color:var(--body-soft);letter-spacing:.1em}
.veil a:hover{opacity:.62}
.veil .say{position:absolute;left:0;bottom:clamp(-58px,-9vw,-40px);font-family:var(--display);
 color:var(--body-soft);font-size:clamp(14px,3.6vw,17px);font-style:italic}
@media(prefers-reduced-motion:reduce){
  .veil,.veil li{transition:none} .shinagaki .bars i{transition:none}}

/* ═══ WHAT THE PARENT IMPOSES, AND WHAT THIS WORLD DOES INSTEAD ══
   lamoureux ships structure on ten class names AISHITERU also uses:
   foot · head · hero · in · mark · note · rows · sec · skip · top.
   Where a name means something different here, it is answered
   explicitly rather than left to the cascade. Nothing in the parent
   is edited — that belongs to the whole family.
   ═════════════════════════════════════════════════════════════ */
.foot p{font:inherit;letter-spacing:normal;text-transform:none;color:inherit}
.foot .say{font-family:var(--display);color:var(--ink);
 font-size:clamp(19px,4.6vw,26px);line-height:1.26;letter-spacing:.002em;
 text-transform:none;max-width:16ch;margin:0 0 10px;font-weight:400}
.foot .who{font-family:var(--serif);color:var(--body-soft);font-size:13.5px;
 letter-spacing:.04em;text-transform:none;font-weight:400;line-height:1.5}
.foot{text-align:left;background:transparent}
.foot .in{max-width:1120px;display:flex;gap:clamp(22px,5vw,60px)}

.top{position:static;background:transparent}
.top a.mark{width:auto;aspect-ratio:auto;background:none;
 font-family:var(--display);color:var(--ink)}
.hero{min-height:0;display:block}
.sec{overflow:visible}
.sec::before{content:none}
.moment .in,.rite .in,.paper-in{max-width:1120px}
.rows{max-width:780px}

/* ═══ ONE LANGUAGE, EVERY PAGE ══════════════════════════════════
   Four parts and one rhythm — eyebrow, hairline, grand, aside.
   Small letterspaced capitals, a hairline, the line at full height,
   an italic sentence underneath. Two colours at full strength and
   air between everything. Handed over by the session that had been
   building this world alongside me; their names, kept as theirs.
   ═════════════════════════════════════════════════════════════ */
.eyebrow{display:block;font-family:var(--serif);color:var(--ink);
 font-size:clamp(10.5px,2.4vw,13px);letter-spacing:.6em;text-transform:uppercase;
 line-height:1.9;padding-left:.6em;margin:0}
.hair{display:block;width:clamp(38px,6vw,70px);height:1px;background:var(--ink);
 opacity:.45;margin:clamp(26px,5vw,52px) 0}
.centre .hair{margin-left:auto;margin-right:auto}
.grand{font-family:var(--display);color:var(--ink);
 font-size:clamp(40px,10.5vw,110px);line-height:.98;letter-spacing:.004em;margin:0}
.aside{font-family:var(--serif);font-style:italic;color:var(--ink);
 font-size:clamp(15px,3.6vw,22px);letter-spacing:.09em;line-height:1.6;
 margin:clamp(24px,5vw,44px) 0 0;max-width:34ch}

.moment,.paper,.declare{padding:clamp(84px,15vw,180px) clamp(28px,8vw,110px)}
.moment .say,.paper-say .say{font-family:var(--display);color:var(--ink);
 font-size:clamp(34px,9vw,88px);line-height:1.0;max-width:14ch;margin:0}
.moment .under,.paper-say .under{font-family:var(--serif);font-style:italic;
 color:var(--ink);font-size:clamp(15px,3.6vw,21px);letter-spacing:.06em;
 line-height:1.66;margin:clamp(26px,5vw,46px) 0 0;max-width:34ch}
.moment .go{margin:clamp(34px,6.4vw,62px) 0 0}
.moment .go a,.mclose .go a,.frame .go a{font-family:var(--serif);color:var(--ink);
 text-decoration:none;font-size:clamp(11px,2.5vw,13px);letter-spacing:.42em;
 text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:7px}
.chapter{padding:clamp(70px,12vw,150px) 24px clamp(10px,2vw,24px)}
.chapter p{font-family:var(--serif);color:var(--ink);font-style:normal;
 font-size:clamp(10.5px,2.4vw,13px);letter-spacing:.6em;text-transform:uppercase}
.close{padding:clamp(100px,17vw,220px) 28px clamp(84px,14vw,180px)}
.close .say{font-size:clamp(46px,12vw,130px);line-height:.98;max-width:11ch}
.declare .rom{font-family:var(--serif);font-size:clamp(10.5px,2.4vw,13px);
 letter-spacing:.6em;text-transform:uppercase;color:var(--ink)}
.declare .rom .pron{color:var(--ink);letter-spacing:.14em;font-size:.92em;
 text-transform:none;margin-top:10px}
.declare .note,.declare .rom{color:var(--ink)}

/* the same rhythm on the four pages that were plain documents */
.sec{padding:clamp(84px,15vw,180px) clamp(28px,8vw,110px)}
.sec .doc{max-width:1120px;margin:0 auto;padding:0}
.sec .lede,.sec h1.lede{font-family:var(--display);color:var(--ink);
 font-size:clamp(40px,10.5vw,110px);line-height:.98;max-width:14ch;
 text-align:left;margin:0}
.sec h2.big{font-family:var(--display);color:var(--ink);
 font-size:clamp(30px,7.6vw,64px);line-height:1.04;max-width:16ch;margin:0}
.sec h3{font-family:var(--serif);color:var(--ink);font-weight:400;
 font-size:clamp(10.5px,2.4vw,13px);letter-spacing:.6em;text-transform:uppercase;
 line-height:1.9;margin:0 0 clamp(18px,3.4vw,30px)}
.sec p.beat{font-family:var(--serif);font-style:italic;color:var(--ink);
 font-size:clamp(15px,3.6vw,21px);letter-spacing:.06em;line-height:1.66;
 max-width:34ch;margin:clamp(20px,4vw,34px) 0 0}
.sec .rows{display:grid;gap:clamp(30px,6vw,64px);margin:clamp(46px,8vw,90px) 0 0}
.sec .rows li{background:none;border:0;border-left:1px solid var(--ink);
 border-radius:0;padding:0 0 0 clamp(20px,4vw,34px)}
.sec .rows h3{margin-bottom:clamp(14px,2.6vw,22px)}
.sec .rows .fee{font-family:var(--display);color:var(--ink);
 font-size:clamp(34px,8.4vw,72px);line-height:1;margin:clamp(22px,4vw,36px) 0 0}
.sec .rows .fee small{font-family:var(--serif);font-style:italic;
 font-size:clamp(13px,2.8vw,15px);letter-spacing:.1em;margin-top:10px;
 color:var(--ink);opacity:.7;display:block}
.sec a.act{font-family:var(--serif);color:var(--ink);text-decoration:none;
 font-size:clamp(11px,2.5vw,13px);letter-spacing:.42em;text-transform:uppercase;
 border-bottom:1px solid var(--ink);padding-bottom:7px;
 margin-top:clamp(40px,7vw,72px);display:inline-block}


/* ── The Picture · one at a time, so nobody can hurry ── */
.reel{position:relative;z-index:1}
.frame{min-height:clamp(420px,80vh,760px);display:grid;place-items:center;
 padding:clamp(40px,9vw,90px) clamp(24px,7vw,48px);text-align:center}
.frame .line,.frame h1.line{margin:0;font-family:var(--display);color:var(--ink);
 font-size:clamp(28px,7.8vw,54px);line-height:1.16;max-width:19ch;text-wrap:balance}
.frame.soft .line{color:var(--body-soft);font-size:clamp(22px,6vw,38px);font-style:italic}
.frame.turn{background:#FFFDFE;min-height:0;padding:clamp(62px,13vw,140px) clamp(24px,7vw,48px);box-shadow:0 -1px 0 rgba(189,0,6,.10),0 1px 0 rgba(189,0,6,.10)}
.frame.turn .line{font-size:clamp(32px,9vw,64px);max-width:15ch}
.frame.last .line{max-width:16ch}
.frame .go{margin:clamp(34px,6vw,52px) 0 0}
.frame .go a{font-family:var(--display);color:var(--ink);text-decoration:none;
 font-size:clamp(18px,4.6vw,23px);border-bottom:1.5px solid var(--gold);padding-bottom:6px}
.frame .go a:hover{border-bottom-color:var(--ink)}
.js .frame > *{opacity:0;transform:translateY(18px) scale(.985);
 transition:opacity 1s cubic-bezier(.3,0,.2,1),transform 1.2s cubic-bezier(.25,.8,.3,1)}
.js .frame.here > *{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .frame{min-height:0;padding:clamp(30px,6vw,54px) 24px}
  .js .frame > *{opacity:1;transform:none;transition:none}}

/* ─────────────────────────────────────────────────────────────
   AISHITERU · the site
   Her rose and her red, both off her own files. No photograph
   anywhere — the word carries it. One breath across every page.
   ───────────────────────────────────────────────────────────── */
:root{
  --rose:#FAE1F5; --rose-lift:#FEF5FC; --rose-deep:#F2CBE8; --rose-deepest:#EFC0E3;
  --ink:#BD0006; --body:#5E1220; --body-soft:#8A2B3A;
  --display:Didot,"Bodoni 72","Playfair Display","Iowan Old Style",Palatino,Georgia,serif;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --breath:0; --breath2:0;
  --depth-door:.17; --depth-reading:.05;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0}
body{background:var(--rose);color:var(--body);font-family:var(--serif);
 font-size:17.5px;line-height:1.78;-webkit-font-smoothing:antialiased;overflow-x:clip}

/* the breath — one clock, many depths */
.breath{position:fixed;inset:-24%;z-index:0;pointer-events:none}
.breath::before,.breath::after{content:"";position:absolute;inset:0}
.breath::before{background:radial-gradient(30% 30% at 37% 44%,rgba(255,251,254,.95) 0%,
  rgba(254,245,252,.5) 46%,rgba(250,225,245,0) 74%);
  opacity:calc(.34 + var(--breath) * var(--depth-reading))}
.breath::after{background:radial-gradient(30% 30% at 63% 52%,rgba(255,250,253,.92) 0%,
  rgba(254,245,252,.5) 46%,rgba(250,225,245,0) 74%);
  opacity:calc(.34 + var(--breath2) * var(--depth-reading))}
body > *:not(.breath){position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.breath{display:none}}

/* the way through */
.top{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;
 gap:12px 24px;padding:clamp(18px,3.4vw,26px) clamp(20px,4vw,40px)}
.top a.mark{font-family:var(--display);color:var(--ink);text-decoration:none;
 font-size:clamp(17px,4.2vw,21px);letter-spacing:.04em;line-height:1}
.top nav{display:flex;flex-wrap:wrap;gap:4px clamp(14px,3vw,26px)}
.top nav a{font-size:clamp(13.5px,3.3vw,15px);color:var(--body-soft);text-decoration:none;
 padding-bottom:2px;border-bottom:1px solid transparent}
.top nav a:hover{color:var(--ink);border-bottom-color:var(--ink)}
.top nav a[aria-current]{color:var(--ink);border-bottom-color:rgba(189,0,6,.4)}

.wrap{max-width:1120px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}
.doc{max-width:700px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}

.sec{padding:clamp(48px,8.5vw,110px) 0}
h1,h2,h3{font-family:var(--display);font-weight:400;color:var(--ink);margin:0}
.lede,.big,.mid{font-family:var(--display);color:var(--ink)}
.lede{font-size:clamp(28px,7vw,54px);line-height:1.16;max-width:18ch;margin:0 auto;
 text-align:center}
.big{font-size:clamp(25px,6.2vw,42px);line-height:1.16;max-width:19ch;margin:0 0 clamp(14px,2.4vw,22px)}
.mid{font-size:clamp(21px,5.2vw,30px);line-height:1.24;max-width:22ch;margin:0 0 clamp(12px,2vw,18px)}
p{margin:0 0 clamp(15px,2.4vw,20px);font-size:clamp(16.5px,4.1vw,18.5px);max-width:44ch}
p:last-child{margin-bottom:0}
.centre{text-align:center} .centre p{margin-left:auto;margin-right:auto}
a.act{display:inline-block;font-family:var(--display);color:var(--ink);text-decoration:none;
 font-size:clamp(19px,4.8vw,25px);border-bottom:1.5px solid var(--ink);padding-bottom:5px;
 margin-top:clamp(24px,4vw,38px)}
a.act:hover{opacity:.7}
.pron{display:block;font-style:italic;letter-spacing:.06em;color:var(--body-soft);
 font-size:clamp(13px,3.3vw,15.5px)}

.rows{max-width:780px;margin:clamp(24px,4vw,36px) auto 0;padding:0}
.rows li{list-style:none;padding:clamp(18px,3vw,28px) 0;border-top:1px solid rgba(189,0,6,.16)}
.rows li:last-child{border-bottom:1px solid rgba(189,0,6,.16)}
.rows h3{font-size:clamp(20px,5vw,28px);line-height:1.2;margin:0 0 6px}
.rows p{margin:0 0 8px;color:var(--body-soft);font-size:clamp(15.5px,3.9vw,17.5px)}
.rows .fee{margin:0;font-family:var(--display);color:var(--body);font-size:clamp(17px,4.2vw,21px)}


.foot{padding:clamp(40px,7vw,80px) clamp(20px,4vw,40px) clamp(46px,8vw,70px);
 border-top:1px solid rgba(189,0,6,.14);margin-top:clamp(40px,7vw,80px)}
.foot .in{max-width:1120px;margin:0 auto;display:flex;flex-wrap:wrap;gap:20px 40px;
 justify-content:space-between;align-items:flex-start}
.foot nav{display:flex;flex-direction:column;gap:7px}
.foot a{color:var(--body-soft);text-decoration:none;font-size:15px}
.foot a:hover{color:var(--ink)}
.foot .who{font-size:13.5px;color:var(--body-soft)}
.foot .say{font-family:var(--display);color:var(--ink);font-size:clamp(17px,4.2vw,22px);
 line-height:1.24;max-width:14ch;margin:0 0 8px}

.rise{transition:opacity 1.2s ease-out,transform 1.2s cubic-bezier(.2,.7,.3,1)}
.rise.held-back{opacity:0;transform:translateY(13px)}
.rise.seen{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rise,.rise.held-back{opacity:1;transform:none;transition:none}}

/* ── beats rather than blocks ── */
.body p, section p, main p{max-width:30ch}
@media(min-width:760px){.body p, section p, main p{max-width:36ch}}
p.beat{font-size:clamp(17.5px,4.6vw,20px);line-height:1.62;margin:0 0 clamp(20px,4.6vw,28px)}
p.big{font-family:var(--display);color:var(--ink);font-size:clamp(26px,7vw,42px);
 line-height:1.16;max-width:15ch;margin:clamp(30px,7vw,52px) 0}

/* ── the same world on every page ── */
:root{ --gold:#C39A3E; --gold-soft:rgba(195,154,62,.42);
  --jp:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP","Songti SC",var(--display),serif; }
.grain{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.05;
 background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>")}
body > .grain,.page > .grain{position:fixed;z-index:0}
.pageghost{position:fixed;left:50%;top:46%;transform:translate(-50%,-50%);z-index:0;
 font-family:var(--jp);color:var(--ink);line-height:1;opacity:.04;pointer-events:none;
 user-select:none;font-size:min(88vw,620px)}
body > .pageghost,.page > .pageghost{position:fixed;z-index:0}
.sec{position:relative}
.sec + .sec::before{display:none}
.lede{text-align:left;margin-left:0}
@media(min-width:760px){.lede{text-align:center;margin-left:auto}}
a.act{border-bottom-color:var(--gold)}
a.act:hover{border-bottom-color:var(--ink);opacity:1}
.doc p.beat:first-of-type{font-size:clamp(19px,4.9vw,22px);line-height:1.56}
@media(prefers-reduced-motion:reduce){.pageghost{display:none}}

/* ── an offer is a panel, never a paragraph ── */
.rows{display:grid;gap:clamp(16px,3vw,22px);max-width:780px;margin:clamp(28px,5vw,42px) auto 0}
.rows li{list-style:none;border:none;border-top:none;padding:clamp(22px,4.4vw,34px);
 background:linear-gradient(160deg,rgba(255,255,255,.72),rgba(255,255,255,.34));
 border-left:2px solid var(--gold);border-radius:2px;position:relative}
.rows li:last-child{border-bottom:none}
.rows h3{font-size:clamp(22px,5.6vw,30px);line-height:1.14;margin:0 0 10px}
.rows p{margin:0 0 10px;color:var(--body);font-size:clamp(16px,4vw,17.5px);max-width:38ch}
.rows .fee{margin:clamp(14px,2.6vw,20px) 0 0;font-family:var(--display);color:var(--ink);
 font-size:clamp(27px,7vw,40px);line-height:1;letter-spacing:.01em}
.rows .fee small{display:block;font-family:var(--serif);font-size:13px;letter-spacing:.1em;
 color:var(--body-soft);margin-top:8px;font-style:italic}

/* ── 品書 · the way through, kept out of the way ── */
.top{justify-content:space-between;align-items:center}
.top nav{display:none}
.shinagaki{display:flex;flex-direction:column;align-items:center;gap:7px;background:none;
 border:0;padding:6px 4px;cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent}
.shinagaki .bars{display:block;width:30px}
.shinagaki .bars i{display:block;height:1px;background:var(--ink);opacity:.85;margin:6px 0;
 transition:transform .5s cubic-bezier(.2,.8,.3,1),opacity .35s ease}
.shinagaki .jpword{font-family:var(--jp);color:var(--body-soft);font-size:12px;
 letter-spacing:.22em;line-height:1}
.menu-open .shinagaki .bars i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-open .shinagaki .bars i:nth-child(2){opacity:0}
.menu-open .shinagaki .bars i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.veil{position:fixed;inset:0;z-index:40;background:var(--rose-lift);
 display:grid;place-items:center;padding:clamp(30px,8vw,70px) clamp(24px,7vw,60px);
 opacity:0;visibility:hidden;transition:opacity .55s ease,visibility .55s}
body > .veil,.page > .veil{position:fixed;z-index:40}
.menu-open .veil{opacity:1;visibility:visible}
.veil .ghost{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
 font-family:var(--jp);color:var(--ink);opacity:.05;font-size:min(96vw,700px);line-height:1;
 pointer-events:none}
.veil ol{position:relative;list-style:none;margin:0;padding:0;counter-reset:n;
 display:flex;flex-direction:column;gap:clamp(14px,3.4vw,22px)}
.veil li{opacity:0;transform:translateY(14px);
 transition:opacity .7s cubic-bezier(.3,0,.2,1),transform .9s cubic-bezier(.25,.8,.3,1)}
.menu-open .veil li{opacity:1;transform:none}
.veil li:nth-child(1){transition-delay:.10s} .veil li:nth-child(2){transition-delay:.17s}
.veil li:nth-child(3){transition-delay:.24s} .veil li:nth-child(4){transition-delay:.31s}
.veil li:nth-child(5){transition-delay:.38s} .veil li:nth-child(6){transition-delay:.45s}
.veil a{display:flex;align-items:baseline;gap:clamp(12px,3vw,20px);text-decoration:none;
 font-family:var(--display);color:var(--ink);font-size:clamp(29px,8.2vw,54px);line-height:1.08}
.veil a .jp{font-family:var(--jp);font-size:.36em;color:var(--body-soft);letter-spacing:.1em}
.veil a:hover{opacity:.62}
.veil .say{position:absolute;left:0;bottom:clamp(-58px,-9vw,-40px);font-family:var(--display);
 color:var(--body-soft);font-size:clamp(14px,3.6vw,17px);font-style:italic}
@media(prefers-reduced-motion:reduce){
  .veil,.veil li{transition:none} .shinagaki .bars i{transition:none}}

/* ── white breaks the rose on every page ── */
.sec:nth-of-type(3n+2){background:#FFFDFE;
 box-shadow:0 -1px 0 rgba(189,0,6,.09),0 1px 0 rgba(189,0,6,.09)}
.sec + .sec::before{display:none}
.doc > .lede,.doc > h1.lede{font-size:clamp(32px,8.8vw,62px);line-height:1.06;max-width:14ch;
 text-align:left;margin-left:0}
@media(min-width:760px){.doc > .lede{text-align:center;margin-left:auto}}
.doc > h2.big{font-size:clamp(27px,7.2vw,46px);line-height:1.1;max-width:16ch}
.doc > h3{font-size:clamp(21px,5.4vw,30px)}

/* ═══ WHAT THE PARENT IMPOSES, AND WHAT THIS WORLD DOES INSTEAD ══
   lamoureux ships structure on ten class names AISHITERU also uses:
   foot · head · hero · in · mark · note · rows · sec · skip · top.
   Where a name means something different here, it is answered
   explicitly rather than left to the cascade. Nothing in the parent
   is edited — that belongs to the whole family.
   ═════════════════════════════════════════════════════════════ */
.foot p{font:inherit;letter-spacing:normal;text-transform:none;color:inherit}
.foot .say{font-family:var(--display);color:var(--ink);
 font-size:clamp(19px,4.6vw,26px);line-height:1.26;letter-spacing:.002em;
 text-transform:none;max-width:16ch;margin:0 0 10px;font-weight:400}
.foot .who{font-family:var(--serif);color:var(--body-soft);font-size:13.5px;
 letter-spacing:.04em;text-transform:none;font-weight:400;line-height:1.5}
.foot{text-align:left;background:transparent}
.foot .in{max-width:1120px;display:flex;gap:clamp(22px,5vw,60px)}

.top{position:static;background:transparent}
.top a.mark{width:auto;aspect-ratio:auto;background:none;
 font-family:var(--display);color:var(--ink)}
.hero{min-height:0;display:block}
.sec{overflow:visible}
.sec::before{content:none}
.moment .in,.rite .in,.paper-in{max-width:1120px}
.rows{max-width:780px}

/* ═══ ONE LANGUAGE, EVERY PAGE ══════════════════════════════════
   Four parts and one rhythm — eyebrow, hairline, grand, aside.
   Small letterspaced capitals, a hairline, the line at full height,
   an italic sentence underneath. Two colours at full strength and
   air between everything. Handed over by the session that had been
   building this world alongside me; their names, kept as theirs.
   ═════════════════════════════════════════════════════════════ */
.eyebrow{display:block;font-family:var(--serif);color:var(--ink);
 font-size:clamp(10.5px,2.4vw,13px);letter-spacing:.6em;text-transform:uppercase;
 line-height:1.9;padding-left:.6em;margin:0}
.hair{display:block;width:clamp(38px,6vw,70px);height:1px;background:var(--ink);
 opacity:.45;margin:clamp(26px,5vw,52px) 0}
.centre .hair{margin-left:auto;margin-right:auto}
.grand{font-family:var(--display);color:var(--ink);
 font-size:clamp(40px,10.5vw,110px);line-height:.98;letter-spacing:.004em;margin:0}
.aside{font-family:var(--serif);font-style:italic;color:var(--ink);
 font-size:clamp(15px,3.6vw,22px);letter-spacing:.09em;line-height:1.6;
 margin:clamp(24px,5vw,44px) 0 0;max-width:34ch}

.moment,.paper,.declare{padding:clamp(84px,15vw,180px) clamp(28px,8vw,110px)}
.moment .say,.paper-say .say{font-family:var(--display);color:var(--ink);
 font-size:clamp(34px,9vw,88px);line-height:1.0;max-width:14ch;margin:0}
.moment .under,.paper-say .under{font-family:var(--serif);font-style:italic;
 color:var(--ink);font-size:clamp(15px,3.6vw,21px);letter-spacing:.06em;
 line-height:1.66;margin:clamp(26px,5vw,46px) 0 0;max-width:34ch}
.moment .go{margin:clamp(34px,6.4vw,62px) 0 0}
.moment .go a,.mclose .go a,.frame .go a{font-family:var(--serif);color:var(--ink);
 text-decoration:none;font-size:clamp(11px,2.5vw,13px);letter-spacing:.42em;
 text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:7px}
.chapter{padding:clamp(70px,12vw,150px) 24px clamp(10px,2vw,24px)}
.chapter p{font-family:var(--serif);color:var(--ink);font-style:normal;
 font-size:clamp(10.5px,2.4vw,13px);letter-spacing:.6em;text-transform:uppercase}
.close{padding:clamp(100px,17vw,220px) 28px clamp(84px,14vw,180px)}
.close .say{font-size:clamp(46px,12vw,130px);line-height:.98;max-width:11ch}
.declare .rom{font-family:var(--serif);font-size:clamp(10.5px,2.4vw,13px);
 letter-spacing:.6em;text-transform:uppercase;color:var(--ink)}
.declare .rom .pron{color:var(--ink);letter-spacing:.14em;font-size:.92em;
 text-transform:none;margin-top:10px}
.declare .note,.declare .rom{color:var(--ink)}

/* the same rhythm on the four pages that were plain documents */
.sec{padding:clamp(84px,15vw,180px) clamp(28px,8vw,110px)}
.sec .doc{max-width:1120px;margin:0 auto;padding:0}
.sec .lede,.sec h1.lede{font-family:var(--display);color:var(--ink);
 font-size:clamp(40px,10.5vw,110px);line-height:.98;max-width:14ch;
 text-align:left;margin:0}
.sec h2.big{font-family:var(--display);color:var(--ink);
 font-size:clamp(30px,7.6vw,64px);line-height:1.04;max-width:16ch;margin:0}
.sec h3{font-family:var(--serif);color:var(--ink);font-weight:400;
 font-size:clamp(10.5px,2.4vw,13px);letter-spacing:.6em;text-transform:uppercase;
 line-height:1.9;margin:0 0 clamp(18px,3.4vw,30px)}
.sec p.beat{font-family:var(--serif);font-style:italic;color:var(--ink);
 font-size:clamp(15px,3.6vw,21px);letter-spacing:.06em;line-height:1.66;
 max-width:34ch;margin:clamp(20px,4vw,34px) 0 0}
.sec .rows{display:grid;gap:clamp(30px,6vw,64px);margin:clamp(46px,8vw,90px) 0 0}
.sec .rows li{background:none;border:0;border-left:1px solid var(--ink);
 border-radius:0;padding:0 0 0 clamp(20px,4vw,34px)}
.sec .rows h3{margin-bottom:clamp(14px,2.6vw,22px)}
.sec .rows .fee{font-family:var(--display);color:var(--ink);
 font-size:clamp(34px,8.4vw,72px);line-height:1;margin:clamp(22px,4vw,36px) 0 0}
.sec .rows .fee small{font-family:var(--serif);font-style:italic;
 font-size:clamp(13px,2.8vw,15px);letter-spacing:.1em;margin-top:10px;
 color:var(--ink);opacity:.7;display:block}
.sec a.act{font-family:var(--serif);color:var(--ink);text-decoration:none;
 font-size:clamp(11px,2.5vw,13px);letter-spacing:.42em;text-transform:uppercase;
 border-bottom:1px solid var(--ink);padding-bottom:7px;
 margin-top:clamp(40px,7vw,72px);display:inline-block}

/* ── Eight Weeks, in the language of the entrance ── */
.moment.tall{min-height:0;padding-top:clamp(90px,13vh,160px);padding-bottom:clamp(90px,13vh,160px)}
.moment.end .say{max-width:12ch}
.moment .say.small{font-size:clamp(28px,6.4vw,60px);max-width:18ch}

.ways{display:grid;gap:clamp(30px,5vw,60px);margin:clamp(20px,4vw,40px) 0 0}
@media(min-width:860px){.ways{grid-template-columns:1fr 1fr;gap:clamp(40px,5vw,90px)}}
.way h2.sub{font-family:var(--display);color:var(--ink);font-weight:400;margin:0;
 font-size:clamp(26px,6.4vw,44px);line-height:1.06}
.way p{font-family:var(--serif);color:var(--ink);margin:clamp(16px,3vw,24px) 0 0;
 font-size:clamp(15.5px,3.6vw,18px);line-height:1.68;max-width:34ch}
.way .fee{font-family:var(--display);font-size:clamp(38px,9vw,72px);line-height:1;
 margin:clamp(22px,4vw,36px) 0 0;letter-spacing:.005em}
.way .fee small{display:block;font-family:var(--serif);font-style:italic;
 font-size:clamp(12px,2.6vw,14px);letter-spacing:.2em;margin-top:12px}

.ladder{list-style:none;margin:clamp(24px,4vw,44px) 0 0;padding:0;
 counter-reset:none;display:grid}
.ladder li{display:grid;grid-template-columns:auto 1fr;gap:clamp(16px,3vw,34px);
 align-items:baseline;padding:clamp(20px,3.4vw,32px) 0;
 border-top:1px solid rgba(189,0,6,.16)}
.ladder li:last-child{border-bottom:1px solid rgba(189,0,6,.16)}
.ladder .n{font-family:var(--serif);font-size:clamp(10.5px,2.2vw,12px);
 letter-spacing:.3em;opacity:.5}
.ladder p{margin:0;font-family:var(--display);color:var(--ink);
 font-size:clamp(24px,5.6vw,46px);line-height:1.12;max-width:20ch}

.lexicon{list-style:none;margin:clamp(34px,6vw,66px) 0 0;padding:0;display:grid;
 gap:clamp(30px,5vw,54px)}
@media(min-width:860px){.lexicon{grid-template-columns:1fr 1fr;gap:clamp(40px,5vw,72px)}}
.lexicon h2.sub{margin:0;font-family:var(--display);color:var(--ink);font-weight:400;
 font-size:clamp(21px,4.8vw,32px);line-height:1.1;letter-spacing:.04em}
.lexicon h2.sub .jp{display:block;font-family:var(--jp);font-size:.62em;
 letter-spacing:.06em;margin-top:6px;opacity:.75}
.lexicon p{margin:clamp(12px,2.4vw,18px) 0 0;font-family:var(--serif);color:var(--ink);
 font-size:clamp(15px,3.5vw,17.5px);line-height:1.66;max-width:32ch}


/* THE DAY AFTER — the page behind Want to know more. A magazine feature: white, air, one serif, small italic titles, a measured column. Her words, woven. No photograph until she brings one. */
:root{--red:#C8102E;--ink:#5A2531;--pink:#FFF3F6}
html{overflow-x:hidden}
body.page-id-10,body.page-id-10 > .ent{background:#FFFFFF!important}
body.page-id-10 .breath,body.page-id-10 .grain{display:none!important}
.d{max-width:38rem;margin:0 auto;padding-left:7vw!important;padding-right:7vw!important;box-sizing:border-box;font-family:Jost,system-ui,sans-serif;font-weight:300;color:var(--ink)}
.d-lead{padding:16vh 0 10vh}
.d p.d-kicker{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.05rem!important;color:var(--red);margin:0 0 2.4rem;opacity:.85}
.d-title{font-family:"Cormorant Garamond",serif;font-weight:400;font-size:clamp(1.7rem,3.6vw,2.6rem);line-height:1.2;color:var(--red);margin:0 0 2rem;max-width:20ch}
.d p.d-stand{font-family:"Cormorant Garamond",serif;font-size:clamp(1.2rem,2.1vw,1.45rem)!important;line-height:1.5;color:var(--ink);margin:0;max-width:34ch}
.d-sec{padding:7vh 0}
.d p.d-word{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.05rem!important;color:var(--red);margin:0 0 1.4rem;opacity:.85}
.d p.d-say{font-family:"Cormorant Garamond",serif;font-weight:400;font-size:clamp(1.55rem,2.8vw,2rem)!important;line-height:1.35;color:var(--red);margin:0 0 1.6rem;max-width:24ch}
.d p{font-family:Jost,system-ui,sans-serif;font-weight:300;font-size:1rem!important;line-height:1.75;margin:0 0 1.2rem;max-width:56ch;color:var(--ink)}
.d .d-kicker,.d .d-word,.d .d-say,.d .d-stand,.d-end p{font-family:"Cormorant Garamond",serif}
.d p:last-child{margin-bottom:0}
.d-red{background:var(--red);color:var(--pink);padding:12vh 0;margin-top:8vh}
.d-red .d{padding-left:7vw!important;padding-right:7vw!important}
.d-red .d-word,.d-red .d-say{color:var(--pink)}
.d-red p{color:var(--pink);opacity:.92}
.d-go{display:inline-block;margin-top:1.8rem;font:300 1rem/1.4 Jost,sans-serif;color:var(--pink);text-decoration:none;border-bottom:1px solid rgba(255,243,246,.7);padding-bottom:.15rem}
.d-end{padding:10vh 0 14vh;text-align:center}
.d.d-end p{margin:0 auto;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.1rem!important;color:var(--red)}
.d-in{opacity:0;transform:translateY(10px);transition:opacity 1.1s ease,transform 1.1s ease}
.d-in.on{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.d-in{opacity:1;transform:none;transition:none}}

/* ─────────────────────────────────────────────────────────────
   AISHITERU · the site
   Her rose and her red, both off her own files. No photograph
   anywhere — the word carries it. One breath across every page.
   ───────────────────────────────────────────────────────────── */
:root{
  --rose:#FAE1F5; --rose-lift:#FEF5FC; --rose-deep:#F2CBE8; --rose-deepest:#EFC0E3;
  --ink:#BD0006; --body:#5E1220; --body-soft:#8A2B3A;
  --display:Didot,"Bodoni 72","Playfair Display","Iowan Old Style",Palatino,Georgia,serif;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --breath:0; --breath2:0;
  --depth-door:.17; --depth-reading:.05;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0}
body{background:var(--rose);color:var(--body);font-family:var(--serif);
 font-size:17.5px;line-height:1.78;-webkit-font-smoothing:antialiased;overflow-x:clip}

/* the breath — one clock, many depths */
.breath{position:fixed;inset:-24%;z-index:0;pointer-events:none}
.breath::before,.breath::after{content:"";position:absolute;inset:0}
.breath::before{background:radial-gradient(30% 30% at 37% 44%,rgba(255,251,254,.95) 0%,
  rgba(254,245,252,.5) 46%,rgba(250,225,245,0) 74%);
  opacity:calc(.34 + var(--breath) * var(--depth-reading))}
.breath::after{background:radial-gradient(30% 30% at 63% 52%,rgba(255,250,253,.92) 0%,
  rgba(254,245,252,.5) 46%,rgba(250,225,245,0) 74%);
  opacity:calc(.34 + var(--breath2) * var(--depth-reading))}
body > *:not(.breath){position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.breath{display:none}}

/* the way through */
.top{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;
 gap:12px 24px;padding:clamp(18px,3.4vw,26px) clamp(20px,4vw,40px)}
.top a.mark{font-family:var(--display);color:var(--ink);text-decoration:none;
 font-size:clamp(17px,4.2vw,21px);letter-spacing:.04em;line-height:1}
.top nav{display:flex;flex-wrap:wrap;gap:4px clamp(14px,3vw,26px)}
.top nav a{font-size:clamp(13.5px,3.3vw,15px);color:var(--body-soft);text-decoration:none;
 padding-bottom:2px;border-bottom:1px solid transparent}
.top nav a:hover{color:var(--ink);border-bottom-color:var(--ink)}
.top nav a[aria-current]{color:var(--ink);border-bottom-color:rgba(189,0,6,.4)}

.wrap{max-width:1120px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}
.doc{max-width:700px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}

.sec{padding:clamp(48px,8.5vw,110px) 0}
h1,h2,h3{font-family:var(--display);font-weight:400;color:var(--ink);margin:0}
.lede,.big,.mid{font-family:var(--display);color:var(--ink)}
.lede{font-size:clamp(28px,7vw,54px);line-height:1.16;max-width:18ch;margin:0 auto;
 text-align:center}
.big{font-size:clamp(25px,6.2vw,42px);line-height:1.16;max-width:19ch;margin:0 0 clamp(14px,2.4vw,22px)}
.mid{font-size:clamp(21px,5.2vw,30px);line-height:1.24;max-width:22ch;margin:0 0 clamp(12px,2vw,18px)}
p{margin:0 0 clamp(15px,2.4vw,20px);font-size:clamp(16.5px,4.1vw,18.5px);max-width:44ch}
p:last-child{margin-bottom:0}
.centre{text-align:center} .centre p{margin-left:auto;margin-right:auto}
a.act{display:inline-block;font-family:var(--display);color:var(--ink);text-decoration:none;
 font-size:clamp(19px,4.8vw,25px);border-bottom:1.5px solid var(--ink);padding-bottom:5px;
 margin-top:clamp(24px,4vw,38px)}
a.act:hover{opacity:.7}
.pron{display:block;font-style:italic;letter-spacing:.06em;color:var(--body-soft);
 font-size:clamp(13px,3.3vw,15.5px)}

.rows{max-width:780px;margin:clamp(24px,4vw,36px) auto 0;padding:0}
.rows li{list-style:none;padding:clamp(18px,3vw,28px) 0;border-top:1px solid rgba(189,0,6,.16)}
.rows li:last-child{border-bottom:1px solid rgba(189,0,6,.16)}
.rows h3{font-size:clamp(20px,5vw,28px);line-height:1.2;margin:0 0 6px}
.rows p{margin:0 0 8px;color:var(--body-soft);font-size:clamp(15.5px,3.9vw,17.5px)}
.rows .fee{margin:0;font-family:var(--display);color:var(--body);font-size:clamp(17px,4.2vw,21px)}


.foot{padding:clamp(40px,7vw,80px) clamp(20px,4vw,40px) clamp(46px,8vw,70px);
 border-top:1px solid rgba(189,0,6,.14);margin-top:clamp(40px,7vw,80px)}
.foot .in{max-width:1120px;margin:0 auto;display:flex;flex-wrap:wrap;gap:20px 40px;
 justify-content:space-between;align-items:flex-start}
.foot nav{display:flex;flex-direction:column;gap:7px}
.foot a{color:var(--body-soft);text-decoration:none;font-size:15px}
.foot a:hover{color:var(--ink)}
.foot .who{font-size:13.5px;color:var(--body-soft)}
.foot .say{font-family:var(--display);color:var(--ink);font-size:clamp(17px,4.2vw,22px);
 line-height:1.24;max-width:14ch;margin:0 0 8px}

.rise{transition:opacity 1.2s ease-out,transform 1.2s cubic-bezier(.2,.7,.3,1)}
.rise.held-back{opacity:0;transform:translateY(13px)}
.rise.seen{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rise,.rise.held-back{opacity:1;transform:none;transition:none}}

/* ── beats rather than blocks ── */
.body p, section p, main p{max-width:30ch}
@media(min-width:760px){.body p, section p, main p{max-width:36ch}}
p.beat{font-size:clamp(17.5px,4.6vw,20px);line-height:1.62;margin:0 0 clamp(20px,4.6vw,28px)}
p.big{font-family:var(--display);color:var(--ink);font-size:clamp(26px,7vw,42px);
 line-height:1.16;max-width:15ch;margin:clamp(30px,7vw,52px) 0}

/* ── the same world on every page ── */
:root{ --gold:#C39A3E; --gold-soft:rgba(195,154,62,.42);
  --jp:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP","Songti SC",var(--display),serif; }
.grain{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.05;
 background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>")}
body > .grain,.page > .grain{position:fixed;z-index:0}
.pageghost{position:fixed;left:50%;top:46%;transform:translate(-50%,-50%);z-index:0;
 font-family:var(--jp);color:var(--ink);line-height:1;opacity:.04;pointer-events:none;
 user-select:none;font-size:min(88vw,620px)}
body > .pageghost,.page > .pageghost{position:fixed;z-index:0}
.sec{position:relative}
.sec + .sec::before{display:none}
.lede{text-align:left;margin-left:0}
@media(min-width:760px){.lede{text-align:center;margin-left:auto}}
a.act{border-bottom-color:var(--gold)}
a.act:hover{border-bottom-color:var(--ink);opacity:1}
.doc p.beat:first-of-type{font-size:clamp(19px,4.9vw,22px);line-height:1.56}
@media(prefers-reduced-motion:reduce){.pageghost{display:none}}

/* ── an offer is a panel, never a paragraph ── */
.rows{display:grid;gap:clamp(16px,3vw,22px);max-width:780px;margin:clamp(28px,5vw,42px) auto 0}
.rows li{list-style:none;border:none;border-top:none;padding:clamp(22px,4.4vw,34px);
 background:linear-gradient(160deg,rgba(255,255,255,.72),rgba(255,255,255,.34));
 border-left:2px solid var(--gold);border-radius:2px;position:relative}
.rows li:last-child{border-bottom:none}
.rows h3{font-size:clamp(22px,5.6vw,30px);line-height:1.14;margin:0 0 10px}
.rows p{margin:0 0 10px;color:var(--body);font-size:clamp(16px,4vw,17.5px);max-width:38ch}
.rows .fee{margin:clamp(14px,2.6vw,20px) 0 0;font-family:var(--display);color:var(--ink);
 font-size:clamp(27px,7vw,40px);line-height:1;letter-spacing:.01em}
.rows .fee small{display:block;font-family:var(--serif);font-size:13px;letter-spacing:.1em;
 color:var(--body-soft);margin-top:8px;font-style:italic}

/* ── 品書 · the way through, kept out of the way ── */
.top{justify-content:space-between;align-items:center}
.top nav{display:none}
.shinagaki{display:flex;flex-direction:column;align-items:center;gap:7px;background:none;
 border:0;padding:6px 4px;cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent}
.shinagaki .bars{display:block;width:30px}
.shinagaki .bars i{display:block;height:1px;background:var(--ink);opacity:.85;margin:6px 0;
 transition:transform .5s cubic-bezier(.2,.8,.3,1),opacity .35s ease}
.shinagaki .jpword{font-family:var(--jp);color:var(--body-soft);font-size:12px;
 letter-spacing:.22em;line-height:1}
.menu-open .shinagaki .bars i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-open .shinagaki .bars i:nth-child(2){opacity:0}
.menu-open .shinagaki .bars i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.veil{position:fixed;inset:0;z-index:40;background:var(--rose-lift);
 display:grid;place-items:center;padding:clamp(30px,8vw,70px) clamp(24px,7vw,60px);
 opacity:0;visibility:hidden;transition:opacity .55s ease,visibility .55s}
body > .veil,.page > .veil{position:fixed;z-index:40}
.menu-open .veil{opacity:1;visibility:visible}
.veil .ghost{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
 font-family:var(--jp);color:var(--ink);opacity:.05;font-size:min(96vw,700px);line-height:1;
 pointer-events:none}
.veil ol{position:relative;list-style:none;margin:0;padding:0;counter-reset:n;
 display:flex;flex-direction:column;gap:clamp(14px,3.4vw,22px)}
.veil li{opacity:0;transform:translateY(14px);
 transition:opacity .7s cubic-bezier(.3,0,.2,1),transform .9s cubic-bezier(.25,.8,.3,1)}
.menu-open .veil li{opacity:1;transform:none}
.veil li:nth-child(1){transition-delay:.10s} .veil li:nth-child(2){transition-delay:.17s}
.veil li:nth-child(3){transition-delay:.24s} .veil li:nth-child(4){transition-delay:.31s}
.veil li:nth-child(5){transition-delay:.38s} .veil li:nth-child(6){transition-delay:.45s}
.veil a{display:flex;align-items:baseline;gap:clamp(12px,3vw,20px);text-decoration:none;
 font-family:var(--display);color:var(--ink);font-size:clamp(29px,8.2vw,54px);line-height:1.08}
.veil a .jp{font-family:var(--jp);font-size:.36em;color:var(--body-soft);letter-spacing:.1em}
.veil a:hover{opacity:.62}
.veil .say{position:absolute;left:0;bottom:clamp(-58px,-9vw,-40px);font-family:var(--display);
 color:var(--body-soft);font-size:clamp(14px,3.6vw,17px);font-style:italic}
@media(prefers-reduced-motion:reduce){
  .veil,.veil li{transition:none} .shinagaki .bars i{transition:none}}

/* ── white breaks the rose on every page ── */
.sec:nth-of-type(3n+2){background:#FFFDFE;
 box-shadow:0 -1px 0 rgba(189,0,6,.09),0 1px 0 rgba(189,0,6,.09)}
.sec + .sec::before{display:none}
.doc > .lede,.doc > h1.lede{font-size:clamp(32px,8.8vw,62px);line-height:1.06;max-width:14ch;
 text-align:left;margin-left:0}
@media(min-width:760px){.doc > .lede{text-align:center;margin-left:auto}}
.doc > h2.big{font-size:clamp(27px,7.2vw,46px);line-height:1.1;max-width:16ch}
.doc > h3{font-size:clamp(21px,5.4vw,30px)}

/* ═══ WHAT THE PARENT IMPOSES, AND WHAT THIS WORLD DOES INSTEAD ══
   lamoureux ships structure on ten class names AISHITERU also uses:
   foot · head · hero · in · mark · note · rows · sec · skip · top.
   Where a name means something different here, it is answered
   explicitly rather than left to the cascade. Nothing in the parent
   is edited — that belongs to the whole family.
   ═════════════════════════════════════════════════════════════ */
.foot p{font:inherit;letter-spacing:normal;text-transform:none;color:inherit}
.foot .say{font-family:var(--display);color:var(--ink);
 font-size:clamp(19px,4.6vw,26px);line-height:1.26;letter-spacing:.002em;
 text-transform:none;max-width:16ch;margin:0 0 10px;font-weight:400}
.foot .who{font-family:var(--serif);color:var(--body-soft);font-size:13.5px;
 letter-spacing:.04em;text-transform:none;font-weight:400;line-height:1.5}
.foot{text-align:left;background:transparent}
.foot .in{max-width:1120px;display:flex;gap:clamp(22px,5vw,60px)}

.top{position:static;background:transparent}
.top a.mark{width:auto;aspect-ratio:auto;background:none;
 font-family:var(--display);color:var(--ink)}
.hero{min-height:0;display:block}
.sec{overflow:visible}
.sec::before{content:none}
.moment .in,.rite .in,.paper-in{max-width:1120px}
.rows{max-width:780px}

/* ═══ ONE LANGUAGE, EVERY PAGE ══════════════════════════════════
   Four parts and one rhythm — eyebrow, hairline, grand, aside.
   Small letterspaced capitals, a hairline, the line at full height,
   an italic sentence underneath. Two colours at full strength and
   air between everything. Handed over by the session that had been
   building this world alongside me; their names, kept as theirs.
   ═════════════════════════════════════════════════════════════ */
.eyebrow{display:block;font-family:var(--serif);color:var(--ink);
 font-size:clamp(10.5px,2.4vw,13px);letter-spacing:.6em;text-transform:uppercase;
 line-height:1.9;padding-left:.6em;margin:0}
.hair{display:block;width:clamp(38px,6vw,70px);height:1px;background:var(--ink);
 opacity:.45;margin:clamp(26px,5vw,52px) 0}
.centre .hair{margin-left:auto;margin-right:auto}
.grand{font-family:var(--display);color:var(--ink);
 font-size:clamp(40px,10.5vw,110px);line-height:.98;letter-spacing:.004em;margin:0}
.aside{font-family:var(--serif);font-style:italic;color:var(--ink);
 font-size:clamp(15px,3.6vw,22px);letter-spacing:.09em;line-height:1.6;
 margin:clamp(24px,5vw,44px) 0 0;max-width:34ch}

.moment,.paper,.declare{padding:clamp(84px,15vw,180px) clamp(28px,8vw,110px)}
.moment .say,.paper-say .say{font-family:var(--display);color:var(--ink);
 font-size:clamp(34px,9vw,88px);line-height:1.0;max-width:14ch;margin:0}
.moment .under,.paper-say .under{font-family:var(--serif);font-style:italic;
 color:var(--ink);font-size:clamp(15px,3.6vw,21px);letter-spacing:.06em;
 line-height:1.66;margin:clamp(26px,5vw,46px) 0 0;max-width:34ch}
.moment .go{margin:clamp(34px,6.4vw,62px) 0 0}
.moment .go a,.mclose .go a,.frame .go a{font-family:var(--serif);color:var(--ink);
 text-decoration:none;font-size:clamp(11px,2.5vw,13px);letter-spacing:.42em;
 text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:7px}
.chapter{padding:clamp(70px,12vw,150px) 24px clamp(10px,2vw,24px)}
.chapter p{font-family:var(--serif);color:var(--ink);font-style:normal;
 font-size:clamp(10.5px,2.4vw,13px);letter-spacing:.6em;text-transform:uppercase}
.close{padding:clamp(100px,17vw,220px) 28px clamp(84px,14vw,180px)}
.close .say{font-size:clamp(46px,12vw,130px);line-height:.98;max-width:11ch}
.declare .rom{font-family:var(--serif);font-size:clamp(10.5px,2.4vw,13px);
 letter-spacing:.6em;text-transform:uppercase;color:var(--ink)}
.declare .rom .pron{color:var(--ink);letter-spacing:.14em;font-size:.92em;
 text-transform:none;margin-top:10px}
.declare .note,.declare .rom{color:var(--ink)}

/* the same rhythm on the four pages that were plain documents */
.sec{padding:clamp(84px,15vw,180px) clamp(28px,8vw,110px)}
.sec .doc{max-width:1120px;margin:0 auto;padding:0}
.sec .lede,.sec h1.lede{font-family:var(--display);color:var(--ink);
 font-size:clamp(40px,10.5vw,110px);line-height:.98;max-width:14ch;
 text-align:left;margin:0}
.sec h2.big{font-family:var(--display);color:var(--ink);
 font-size:clamp(30px,7.6vw,64px);line-height:1.04;max-width:16ch;margin:0}
.sec h3{font-family:var(--serif);color:var(--ink);font-weight:400;
 font-size:clamp(10.5px,2.4vw,13px);letter-spacing:.6em;text-transform:uppercase;
 line-height:1.9;margin:0 0 clamp(18px,3.4vw,30px)}
.sec p.beat{font-family:var(--serif);font-style:italic;color:var(--ink);
 font-size:clamp(15px,3.6vw,21px);letter-spacing:.06em;line-height:1.66;
 max-width:34ch;margin:clamp(20px,4vw,34px) 0 0}
.sec .rows{display:grid;gap:clamp(30px,6vw,64px);margin:clamp(46px,8vw,90px) 0 0}
.sec .rows li{background:none;border:0;border-left:1px solid var(--ink);
 border-radius:0;padding:0 0 0 clamp(20px,4vw,34px)}
.sec .rows h3{margin-bottom:clamp(14px,2.6vw,22px)}
.sec .rows .fee{font-family:var(--display);color:var(--ink);
 font-size:clamp(34px,8.4vw,72px);line-height:1;margin:clamp(22px,4vw,36px) 0 0}
.sec .rows .fee small{font-family:var(--serif);font-style:italic;
 font-size:clamp(13px,2.8vw,15px);letter-spacing:.1em;margin-top:10px;
 color:var(--ink);opacity:.7;display:block}
.sec a.act{font-family:var(--serif);color:var(--ink);text-decoration:none;
 font-size:clamp(11px,2.5vw,13px);letter-spacing:.42em;text-transform:uppercase;
 border-bottom:1px solid var(--ink);padding-bottom:7px;
 margin-top:clamp(40px,7vw,72px);display:inline-block}

/* ── the same parts on every page ── */
.moment.tall{min-height:0;padding-top:clamp(90px,13vh,160px);padding-bottom:clamp(90px,13vh,160px)}
.moment .say.small{font-size:clamp(28px,6.4vw,60px);max-width:18ch}
.pair{display:grid;gap:clamp(30px,5vw,58px);margin:clamp(24px,4vw,44px) 0 0}
@media(min-width:860px){.pair{grid-template-columns:1fr 1fr;gap:clamp(40px,5vw,88px)}}
.pair h2.sub{margin:0;font-family:var(--display);color:var(--ink);font-weight:400;
 font-size:clamp(24px,5.6vw,40px);line-height:1.08}
.pair p{margin:clamp(14px,2.8vw,22px) 0 0;font-family:var(--serif);color:var(--ink);
 font-size:clamp(15.5px,3.6vw,18px);line-height:1.68;max-width:34ch}
.fee{font-family:var(--display);color:var(--ink);font-size:clamp(38px,9vw,72px);
 line-height:1;margin:clamp(22px,4vw,36px) 0 0}
.fee small{display:block;font-family:var(--serif);font-style:italic;
 font-size:clamp(12px,2.6vw,14px);letter-spacing:.2em;margin-top:12px}
.ladder{list-style:none;margin:clamp(24px,4vw,44px) 0 0;padding:0;display:grid}
.ladder li{display:grid;grid-template-columns:auto 1fr;gap:clamp(16px,3vw,34px);
 align-items:baseline;padding:clamp(20px,3.4vw,32px) 0;border-top:1px solid rgba(189,0,6,.16)}
.ladder li:last-child{border-bottom:1px solid rgba(189,0,6,.16)}
.ladder .n{font-family:var(--serif);font-size:clamp(10.5px,2.2vw,12px);
 letter-spacing:.3em;opacity:.5}
.ladder p{margin:0;font-family:var(--display);color:var(--ink);
 font-size:clamp(22px,5.2vw,42px);line-height:1.14;max-width:22ch}
.ladder .sub{font-family:var(--serif);font-size:clamp(15px,3.4vw,17px);
 line-height:1.66;margin-top:10px;max-width:32ch;display:block}

/* ─────────────────────────────────────────────────────────────
   AISHITERU · the site
   Her rose and her red, both off her own files. No photograph
   anywhere — the word carries it. One breath across every page.
   ───────────────────────────────────────────────────────────── */
:root{
  --rose:#FAE1F5; --rose-lift:#FEF5FC; --rose-deep:#F2CBE8; --rose-deepest:#EFC0E3;
  --ink:#BD0006; --body:#5E1220; --body-soft:#8A2B3A;
  --display:Didot,"Bodoni 72","Playfair Display","Iowan Old Style",Palatino,Georgia,serif;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --breath:0; --breath2:0;
  --depth-door:.17; --depth-reading:.05;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0}
body{background:var(--rose);color:var(--body);font-family:var(--serif);
 font-size:17.5px;line-height:1.78;-webkit-font-smoothing:antialiased;overflow-x:clip}

/* the breath — one clock, many depths */
.breath{position:fixed;inset:-24%;z-index:0;pointer-events:none}
.breath::before,.breath::after{content:"";position:absolute;inset:0}
.breath::before{background:radial-gradient(30% 30% at 37% 44%,rgba(255,251,254,.95) 0%,
  rgba(254,245,252,.5) 46%,rgba(250,225,245,0) 74%);
  opacity:calc(.34 + var(--breath) * var(--depth-reading))}
.breath::after{background:radial-gradient(30% 30% at 63% 52%,rgba(255,250,253,.92) 0%,
  rgba(254,245,252,.5) 46%,rgba(250,225,245,0) 74%);
  opacity:calc(.34 + var(--breath2) * var(--depth-reading))}
body > *:not(.breath){position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.breath{display:none}}

/* the way through */
.top{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;
 gap:12px 24px;padding:clamp(18px,3.4vw,26px) clamp(20px,4vw,40px)}
.top a.mark{font-family:var(--display);color:var(--ink);text-decoration:none;
 font-size:clamp(17px,4.2vw,21px);letter-spacing:.04em;line-height:1}
.top nav{display:flex;flex-wrap:wrap;gap:4px clamp(14px,3vw,26px)}
.top nav a{font-size:clamp(13.5px,3.3vw,15px);color:var(--body-soft);text-decoration:none;
 padding-bottom:2px;border-bottom:1px solid transparent}
.top nav a:hover{color:var(--ink);border-bottom-color:var(--ink)}
.top nav a[aria-current]{color:var(--ink);border-bottom-color:rgba(189,0,6,.4)}

.wrap{max-width:1120px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}
.doc{max-width:700px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}

.sec{padding:clamp(48px,8.5vw,110px) 0}
h1,h2,h3{font-family:var(--display);font-weight:400;color:var(--ink);margin:0}
.lede,.big,.mid{font-family:var(--display);color:var(--ink)}
.lede{font-size:clamp(28px,7vw,54px);line-height:1.16;max-width:18ch;margin:0 auto;
 text-align:center}
.big{font-size:clamp(25px,6.2vw,42px);line-height:1.16;max-width:19ch;margin:0 0 clamp(14px,2.4vw,22px)}
.mid{font-size:clamp(21px,5.2vw,30px);line-height:1.24;max-width:22ch;margin:0 0 clamp(12px,2vw,18px)}
p{margin:0 0 clamp(15px,2.4vw,20px);font-size:clamp(16.5px,4.1vw,18.5px);max-width:44ch}
p:last-child{margin-bottom:0}
.centre{text-align:center} .centre p{margin-left:auto;margin-right:auto}
a.act{display:inline-block;font-family:var(--display);color:var(--ink);text-decoration:none;
 font-size:clamp(19px,4.8vw,25px);border-bottom:1.5px solid var(--ink);padding-bottom:5px;
 margin-top:clamp(24px,4vw,38px)}
a.act:hover{opacity:.7}
.pron{display:block;font-style:italic;letter-spacing:.06em;color:var(--body-soft);
 font-size:clamp(13px,3.3vw,15.5px)}

.rows{max-width:780px;margin:clamp(24px,4vw,36px) auto 0;padding:0}
.rows li{list-style:none;padding:clamp(18px,3vw,28px) 0;border-top:1px solid rgba(189,0,6,.16)}
.rows li:last-child{border-bottom:1px solid rgba(189,0,6,.16)}
.rows h3{font-size:clamp(20px,5vw,28px);line-height:1.2;margin:0 0 6px}
.rows p{margin:0 0 8px;color:var(--body-soft);font-size:clamp(15.5px,3.9vw,17.5px)}
.rows .fee{margin:0;font-family:var(--display);color:var(--body);font-size:clamp(17px,4.2vw,21px)}


.foot{padding:clamp(40px,7vw,80px) clamp(20px,4vw,40px) clamp(46px,8vw,70px);
 border-top:1px solid rgba(189,0,6,.14);margin-top:clamp(40px,7vw,80px)}
.foot .in{max-width:1120px;margin:0 auto;display:flex;flex-wrap:wrap;gap:20px 40px;
 justify-content:space-between;align-items:flex-start}
.foot nav{display:flex;flex-direction:column;gap:7px}
.foot a{color:var(--body-soft);text-decoration:none;font-size:15px}
.foot a:hover{color:var(--ink)}
.foot .who{font-size:13.5px;color:var(--body-soft)}
.foot .say{font-family:var(--display);color:var(--ink);font-size:clamp(17px,4.2vw,22px);
 line-height:1.24;max-width:14ch;margin:0 0 8px}

.rise{transition:opacity 1.2s ease-out,transform 1.2s cubic-bezier(.2,.7,.3,1)}
.rise.held-back{opacity:0;transform:translateY(13px)}
.rise.seen{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rise,.rise.held-back{opacity:1;transform:none;transition:none}}

/* ── beats rather than blocks ── */
.body p, section p, main p{max-width:30ch}
@media(min-width:760px){.body p, section p, main p{max-width:36ch}}
p.beat{font-size:clamp(17.5px,4.6vw,20px);line-height:1.62;margin:0 0 clamp(20px,4.6vw,28px)}
p.big{font-family:var(--display);color:var(--ink);font-size:clamp(26px,7vw,42px);
 line-height:1.16;max-width:15ch;margin:clamp(30px,7vw,52px) 0}

/* ── the same world on every page ── */
:root{ --gold:#C39A3E; --gold-soft:rgba(195,154,62,.42);
  --jp:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP","Songti SC",var(--display),serif; }
.grain{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.05;
 background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>")}
body > .grain,.page > .grain{position:fixed;z-index:0}
.pageghost{position:fixed;left:50%;top:46%;transform:translate(-50%,-50%);z-index:0;
 font-family:var(--jp);color:var(--ink);line-height:1;opacity:.04;pointer-events:none;
 user-select:none;font-size:min(88vw,620px)}
body > .pageghost,.page > .pageghost{position:fixed;z-index:0}
.sec{position:relative}
.sec + .sec::before{display:none}
.lede{text-align:left;margin-left:0}
@media(min-width:760px){.lede{text-align:center;margin-left:auto}}
a.act{border-bottom-color:var(--gold)}
a.act:hover{border-bottom-color:var(--ink);opacity:1}
.doc p.beat:first-of-type{font-size:clamp(19px,4.9vw,22px);line-height:1.56}
@media(prefers-reduced-motion:reduce){.pageghost{display:none}}

/* ── an offer is a panel, never a paragraph ── */
.rows{display:grid;gap:clamp(16px,3vw,22px);max-width:780px;margin:clamp(28px,5vw,42px) auto 0}
.rows li{list-style:none;border:none;border-top:none;padding:clamp(22px,4.4vw,34px);
 background:linear-gradient(160deg,rgba(255,255,255,.72),rgba(255,255,255,.34));
 border-left:2px solid var(--gold);border-radius:2px;position:relative}
.rows li:last-child{border-bottom:none}
.rows h3{font-size:clamp(22px,5.6vw,30px);line-height:1.14;margin:0 0 10px}
.rows p{margin:0 0 10px;color:var(--body);font-size:clamp(16px,4vw,17.5px);max-width:38ch}
.rows .fee{margin:clamp(14px,2.6vw,20px) 0 0;font-family:var(--display);color:var(--ink);
 font-size:clamp(27px,7vw,40px);line-height:1;letter-spacing:.01em}
.rows .fee small{display:block;font-family:var(--serif);font-size:13px;letter-spacing:.1em;
 color:var(--body-soft);margin-top:8px;font-style:italic}

/* ── 品書 · the way through, kept out of the way ── */
.top{justify-content:space-between;align-items:center}
.top nav{display:none}
.shinagaki{display:flex;flex-direction:column;align-items:center;gap:7px;background:none;
 border:0;padding:6px 4px;cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent}
.shinagaki .bars{display:block;width:30px}
.shinagaki .bars i{display:block;height:1px;background:var(--ink);opacity:.85;margin:6px 0;
 transition:transform .5s cubic-bezier(.2,.8,.3,1),opacity .35s ease}
.shinagaki .jpword{font-family:var(--jp);color:var(--body-soft);font-size:12px;
 letter-spacing:.22em;line-height:1}
.menu-open .shinagaki .bars i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-open .shinagaki .bars i:nth-child(2){opacity:0}
.menu-open .shinagaki .bars i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.veil{position:fixed;inset:0;z-index:40;background:var(--rose-lift);
 display:grid;place-items:center;padding:clamp(30px,8vw,70px) clamp(24px,7vw,60px);
 opacity:0;visibility:hidden;transition:opacity .55s ease,visibility .55s}
body > .veil,.page > .veil{position:fixed;z-index:40}
.menu-open .veil{opacity:1;visibility:visible}
.veil .ghost{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
 font-family:var(--jp);color:var(--ink);opacity:.05;font-size:min(96vw,700px);line-height:1;
 pointer-events:none}
.veil ol{position:relative;list-style:none;margin:0;padding:0;counter-reset:n;
 display:flex;flex-direction:column;gap:clamp(14px,3.4vw,22px)}
.veil li{opacity:0;transform:translateY(14px);
 transition:opacity .7s cubic-bezier(.3,0,.2,1),transform .9s cubic-bezier(.25,.8,.3,1)}
.menu-open .veil li{opacity:1;transform:none}
.veil li:nth-child(1){transition-delay:.10s} .veil li:nth-child(2){transition-delay:.17s}
.veil li:nth-child(3){transition-delay:.24s} .veil li:nth-child(4){transition-delay:.31s}
.veil li:nth-child(5){transition-delay:.38s} .veil li:nth-child(6){transition-delay:.45s}
.veil a{display:flex;align-items:baseline;gap:clamp(12px,3vw,20px);text-decoration:none;
 font-family:var(--display);color:var(--ink);font-size:clamp(29px,8.2vw,54px);line-height:1.08}
.veil a .jp{font-family:var(--jp);font-size:.36em;color:var(--body-soft);letter-spacing:.1em}
.veil a:hover{opacity:.62}
.veil .say{position:absolute;left:0;bottom:clamp(-58px,-9vw,-40px);font-family:var(--display);
 color:var(--body-soft);font-size:clamp(14px,3.6vw,17px);font-style:italic}
@media(prefers-reduced-motion:reduce){
  .veil,.veil li{transition:none} .shinagaki .bars i{transition:none}}

/* ═══ WHAT THE PARENT IMPOSES, AND WHAT THIS WORLD DOES INSTEAD ══
   lamoureux ships structure on ten class names AISHITERU also uses:
   foot · head · hero · in · mark · note · rows · sec · skip · top.
   Where a name means something different here, it is answered
   explicitly rather than left to the cascade. Nothing in the parent
   is edited — that belongs to the whole family.
   ═════════════════════════════════════════════════════════════ */
.foot p{font:inherit;letter-spacing:normal;text-transform:none;color:inherit}
.foot .say{font-family:var(--display);color:var(--ink);
 font-size:clamp(19px,4.6vw,26px);line-height:1.26;letter-spacing:.002em;
 text-transform:none;max-width:16ch;margin:0 0 10px;font-weight:400}
.foot .who{font-family:var(--serif);color:var(--body-soft);font-size:13.5px;
 letter-spacing:.04em;text-transform:none;font-weight:400;line-height:1.5}
.foot{text-align:left;background:transparent}
.foot .in{max-width:1120px;display:flex;gap:clamp(22px,5vw,60px)}

.top{position:static;background:transparent}
.top a.mark{width:auto;aspect-ratio:auto;background:none;
 font-family:var(--display);color:var(--ink)}
.hero{min-height:0;display:block}
.sec{overflow:visible}
.sec::before{content:none}
.moment .in,.rite .in,.paper-in{max-width:1120px}
.rows{max-width:780px}

/* ═══ ONE LANGUAGE, EVERY PAGE ══════════════════════════════════
   Four parts and one rhythm — eyebrow, hairline, grand, aside.
   Small letterspaced capitals, a hairline, the line at full height,
   an italic sentence underneath. Two colours at full strength and
   air between everything. Handed over by the session that had been
   building this world alongside me; their names, kept as theirs.
   ═════════════════════════════════════════════════════════════ */
.eyebrow{display:block;font-family:var(--serif);color:var(--ink);
 font-size:clamp(10.5px,2.4vw,13px);letter-spacing:.6em;text-transform:uppercase;
 line-height:1.9;padding-left:.6em;margin:0}
.hair{display:block;width:clamp(38px,6vw,70px);height:1px;background:var(--ink);
 opacity:.45;margin:clamp(26px,5vw,52px) 0}
.centre .hair{margin-left:auto;margin-right:auto}
.grand{font-family:var(--display);color:var(--ink);
 font-size:clamp(40px,10.5vw,110px);line-height:.98;letter-spacing:.004em;margin:0}
.aside{font-family:var(--serif);font-style:italic;color:var(--ink);
 font-size:clamp(15px,3.6vw,22px);letter-spacing:.09em;line-height:1.6;
 margin:clamp(24px,5vw,44px) 0 0;max-width:34ch}

.moment,.paper,.declare{padding:clamp(84px,15vw,180px) clamp(28px,8vw,110px)}
.moment .say,.paper-say .say{font-family:var(--display);color:var(--ink);
 font-size:clamp(34px,9vw,88px);line-height:1.0;max-width:14ch;margin:0}
.moment .under,.paper-say .under{font-family:var(--serif);font-style:italic;
 color:var(--ink);font-size:clamp(15px,3.6vw,21px);letter-spacing:.06em;
 line-height:1.66;margin:clamp(26px,5vw,46px) 0 0;max-width:34ch}
.moment .go{margin:clamp(34px,6.4vw,62px) 0 0}
.moment .go a,.mclose .go a,.frame .go a{font-family:var(--serif);color:var(--ink);
 text-decoration:none;font-size:clamp(11px,2.5vw,13px);letter-spacing:.42em;
 text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:7px}
.chapter{padding:clamp(70px,12vw,150px) 24px clamp(10px,2vw,24px)}
.chapter p{font-family:var(--serif);color:var(--ink);font-style:normal;
 font-size:clamp(10.5px,2.4vw,13px);letter-spacing:.6em;text-transform:uppercase}
.close{padding:clamp(100px,17vw,220px) 28px clamp(84px,14vw,180px)}
.close .say{font-size:clamp(46px,12vw,130px);line-height:.98;max-width:11ch}
.declare .rom{font-family:var(--serif);font-size:clamp(10.5px,2.4vw,13px);
 letter-spacing:.6em;text-transform:uppercase;color:var(--ink)}
.declare .rom .pron{color:var(--ink);letter-spacing:.14em;font-size:.92em;
 text-transform:none;margin-top:10px}
.declare .note,.declare .rom{color:var(--ink)}

/* the same rhythm on the four pages that were plain documents */
.sec{padding:clamp(84px,15vw,180px) clamp(28px,8vw,110px)}
.sec .doc{max-width:1120px;margin:0 auto;padding:0}
.sec .lede,.sec h1.lede{font-family:var(--display);color:var(--ink);
 font-size:clamp(40px,10.5vw,110px);line-height:.98;max-width:14ch;
 text-align:left;margin:0}
.sec h2.big{font-family:var(--display);color:var(--ink);
 font-size:clamp(30px,7.6vw,64px);line-height:1.04;max-width:16ch;margin:0}
.sec h3{font-family:var(--serif);color:var(--ink);font-weight:400;
 font-size:clamp(10.5px,2.4vw,13px);letter-spacing:.6em;text-transform:uppercase;
 line-height:1.9;margin:0 0 clamp(18px,3.4vw,30px)}
.sec p.beat{font-family:var(--serif);font-style:italic;color:var(--ink);
 font-size:clamp(15px,3.6vw,21px);letter-spacing:.06em;line-height:1.66;
 max-width:34ch;margin:clamp(20px,4vw,34px) 0 0}
.sec .rows{display:grid;gap:clamp(30px,6vw,64px);margin:clamp(46px,8vw,90px) 0 0}
.sec .rows li{background:none;border:0;border-left:1px solid var(--ink);
 border-radius:0;padding:0 0 0 clamp(20px,4vw,34px)}
.sec .rows h3{margin-bottom:clamp(14px,2.6vw,22px)}
.sec .rows .fee{font-family:var(--display);color:var(--ink);
 font-size:clamp(34px,8.4vw,72px);line-height:1;margin:clamp(22px,4vw,36px) 0 0}
.sec .rows .fee small{font-family:var(--serif);font-style:italic;
 font-size:clamp(13px,2.8vw,15px);letter-spacing:.1em;margin-top:10px;
 color:var(--ink);opacity:.7;display:block}
.sec a.act{font-family:var(--serif);color:var(--ink);text-decoration:none;
 font-size:clamp(11px,2.5vw,13px);letter-spacing:.42em;text-transform:uppercase;
 border-bottom:1px solid var(--ink);padding-bottom:7px;
 margin-top:clamp(40px,7vw,72px);display:inline-block}

/* ── the promises, in the same language ── */
.moment.tall{min-height:0;padding-top:clamp(84px,12vh,150px);padding-bottom:clamp(84px,12vh,150px)}
.moment .say.small{font-size:clamp(26px,6vw,52px);max-width:20ch}
.rungs{list-style:none;margin:clamp(28px,5vw,52px) 0 0;padding:0;display:grid}
.rungs li{padding:clamp(24px,4vw,38px) 0;border-top:1px solid rgba(189,0,6,.16)}
.rungs li:last-child{border-bottom:1px solid rgba(189,0,6,.16)}
.rungs h2.sub{margin:0;font-family:var(--display);color:var(--ink);font-weight:400;
 font-size:clamp(22px,5.2vw,38px);line-height:1.08}
.rungs p{margin:clamp(12px,2.4vw,18px) 0 0;font-family:var(--serif);color:var(--ink);
 font-size:clamp(15.5px,3.6vw,18px);line-height:1.7;max-width:44ch}

/* the numbers are the most important thing on this page and they look it */
.urgent{margin:clamp(30px,5vw,54px) 0 0;padding:clamp(26px,4.6vw,44px);
 background:var(--ink);color:#FFF3F8;border-radius:2px}
.urgent .lead{margin:0 0 clamp(20px,3.4vw,30px);font-family:var(--display);
 font-size:clamp(20px,4.8vw,32px);line-height:1.2;max-width:22ch;color:#FFF3F8}
.urgent ul{list-style:none;margin:0;padding:0;display:grid;gap:clamp(16px,2.8vw,24px)}
.urgent li{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px clamp(14px,3vw,22px)}
.urgent b{font-family:var(--display);font-weight:400;font-size:clamp(30px,7.6vw,54px);
 line-height:1;letter-spacing:.02em;color:#FFF3F8}
.urgent span{font-family:var(--serif);font-style:italic;font-size:clamp(14px,3.2vw,17px);
 opacity:.85}

/* ─────────────────────────────────────────────────────────────
   AISHITERU · the site
   Her rose and her red, both off her own files. No photograph
   anywhere — the word carries it. One breath across every page.
   ───────────────────────────────────────────────────────────── */
:root{
  --rose:#FAE1F5; --rose-lift:#FEF5FC; --rose-deep:#F2CBE8; --rose-deepest:#EFC0E3;
  --ink:#BD0006; --body:#5E1220; --body-soft:#8A2B3A;
  --display:Didot,"Bodoni 72","Playfair Display","Iowan Old Style",Palatino,Georgia,serif;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --breath:0; --breath2:0;
  --depth-door:.17; --depth-reading:.05;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0}
body{background:var(--rose);color:var(--body);font-family:var(--serif);
 font-size:17.5px;line-height:1.78;-webkit-font-smoothing:antialiased;overflow-x:clip}

/* the breath — one clock, many depths */
.breath{position:fixed;inset:-24%;z-index:0;pointer-events:none}
.breath::before,.breath::after{content:"";position:absolute;inset:0}
.breath::before{background:radial-gradient(30% 30% at 37% 44%,rgba(255,251,254,.95) 0%,
  rgba(254,245,252,.5) 46%,rgba(250,225,245,0) 74%);
  opacity:calc(.34 + var(--breath) * var(--depth-reading))}
.breath::after{background:radial-gradient(30% 30% at 63% 52%,rgba(255,250,253,.92) 0%,
  rgba(254,245,252,.5) 46%,rgba(250,225,245,0) 74%);
  opacity:calc(.34 + var(--breath2) * var(--depth-reading))}
body > *:not(.breath){position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.breath{display:none}}

/* the way through */
.top{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;
 gap:12px 24px;padding:clamp(18px,3.4vw,26px) clamp(20px,4vw,40px)}
.top a.mark{font-family:var(--display);color:var(--ink);text-decoration:none;
 font-size:clamp(17px,4.2vw,21px);letter-spacing:.04em;line-height:1}
.top nav{display:flex;flex-wrap:wrap;gap:4px clamp(14px,3vw,26px)}
.top nav a{font-size:clamp(13.5px,3.3vw,15px);color:var(--body-soft);text-decoration:none;
 padding-bottom:2px;border-bottom:1px solid transparent}
.top nav a:hover{color:var(--ink);border-bottom-color:var(--ink)}
.top nav a[aria-current]{color:var(--ink);border-bottom-color:rgba(189,0,6,.4)}

.wrap{max-width:1120px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}
.doc{max-width:700px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}

.sec{padding:clamp(48px,8.5vw,110px) 0}
h1,h2,h3{font-family:var(--display);font-weight:400;color:var(--ink);margin:0}
.lede,.big,.mid{font-family:var(--display);color:var(--ink)}
.lede{font-size:clamp(28px,7vw,54px);line-height:1.16;max-width:18ch;margin:0 auto;
 text-align:center}
.big{font-size:clamp(25px,6.2vw,42px);line-height:1.16;max-width:19ch;margin:0 0 clamp(14px,2.4vw,22px)}
.mid{font-size:clamp(21px,5.2vw,30px);line-height:1.24;max-width:22ch;margin:0 0 clamp(12px,2vw,18px)}
p{margin:0 0 clamp(15px,2.4vw,20px);font-size:clamp(16.5px,4.1vw,18.5px);max-width:44ch}
p:last-child{margin-bottom:0}
.centre{text-align:center} .centre p{margin-left:auto;margin-right:auto}
a.act{display:inline-block;font-family:var(--display);color:var(--ink);text-decoration:none;
 font-size:clamp(19px,4.8vw,25px);border-bottom:1.5px solid var(--ink);padding-bottom:5px;
 margin-top:clamp(24px,4vw,38px)}
a.act:hover{opacity:.7}
.pron{display:block;font-style:italic;letter-spacing:.06em;color:var(--body-soft);
 font-size:clamp(13px,3.3vw,15.5px)}

.rows{max-width:780px;margin:clamp(24px,4vw,36px) auto 0;padding:0}
.rows li{list-style:none;padding:clamp(18px,3vw,28px) 0;border-top:1px solid rgba(189,0,6,.16)}
.rows li:last-child{border-bottom:1px solid rgba(189,0,6,.16)}
.rows h3{font-size:clamp(20px,5vw,28px);line-height:1.2;margin:0 0 6px}
.rows p{margin:0 0 8px;color:var(--body-soft);font-size:clamp(15.5px,3.9vw,17.5px)}
.rows .fee{margin:0;font-family:var(--display);color:var(--body);font-size:clamp(17px,4.2vw,21px)}


.foot{padding:clamp(40px,7vw,80px) clamp(20px,4vw,40px) clamp(46px,8vw,70px);
 border-top:1px solid rgba(189,0,6,.14);margin-top:clamp(40px,7vw,80px)}
.foot .in{max-width:1120px;margin:0 auto;display:flex;flex-wrap:wrap;gap:20px 40px;
 justify-content:space-between;align-items:flex-start}
.foot nav{display:flex;flex-direction:column;gap:7px}
.foot a{color:var(--body-soft);text-decoration:none;font-size:15px}
.foot a:hover{color:var(--ink)}
.foot .who{font-size:13.5px;color:var(--body-soft)}
.foot .say{font-family:var(--display);color:var(--ink);font-size:clamp(17px,4.2vw,22px);
 line-height:1.24;max-width:14ch;margin:0 0 8px}

.rise{transition:opacity 1.2s ease-out,transform 1.2s cubic-bezier(.2,.7,.3,1)}
.rise.held-back{opacity:0;transform:translateY(13px)}
.rise.seen{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rise,.rise.held-back{opacity:1;transform:none;transition:none}}

/* ── beats rather than blocks ── */
.body p, section p, main p{max-width:30ch}
@media(min-width:760px){.body p, section p, main p{max-width:36ch}}
p.beat{font-size:clamp(17.5px,4.6vw,20px);line-height:1.62;margin:0 0 clamp(20px,4.6vw,28px)}
p.big{font-family:var(--display);color:var(--ink);font-size:clamp(26px,7vw,42px);
 line-height:1.16;max-width:15ch;margin:clamp(30px,7vw,52px) 0}

/* ── the same world on every page ── */
:root{ --gold:#C39A3E; --gold-soft:rgba(195,154,62,.42);
  --jp:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP","Songti SC",var(--display),serif; }
.grain{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.05;
 background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>")}
body > .grain,.page > .grain{position:fixed;z-index:0}
.pageghost{position:fixed;left:50%;top:46%;transform:translate(-50%,-50%);z-index:0;
 font-family:var(--jp);color:var(--ink);line-height:1;opacity:.04;pointer-events:none;
 user-select:none;font-size:min(88vw,620px)}
body > .pageghost,.page > .pageghost{position:fixed;z-index:0}
.sec{position:relative}
.sec + .sec::before{display:none}
.lede{text-align:left;margin-left:0}
@media(min-width:760px){.lede{text-align:center;margin-left:auto}}
a.act{border-bottom-color:var(--gold)}
a.act:hover{border-bottom-color:var(--ink);opacity:1}
.doc p.beat:first-of-type{font-size:clamp(19px,4.9vw,22px);line-height:1.56}
@media(prefers-reduced-motion:reduce){.pageghost{display:none}}

/* ── an offer is a panel, never a paragraph ── */
.rows{display:grid;gap:clamp(16px,3vw,22px);max-width:780px;margin:clamp(28px,5vw,42px) auto 0}
.rows li{list-style:none;border:none;border-top:none;padding:clamp(22px,4.4vw,34px);
 background:linear-gradient(160deg,rgba(255,255,255,.72),rgba(255,255,255,.34));
 border-left:2px solid var(--gold);border-radius:2px;position:relative}
.rows li:last-child{border-bottom:none}
.rows h3{font-size:clamp(22px,5.6vw,30px);line-height:1.14;margin:0 0 10px}
.rows p{margin:0 0 10px;color:var(--body);font-size:clamp(16px,4vw,17.5px);max-width:38ch}
.rows .fee{margin:clamp(14px,2.6vw,20px) 0 0;font-family:var(--display);color:var(--ink);
 font-size:clamp(27px,7vw,40px);line-height:1;letter-spacing:.01em}
.rows .fee small{display:block;font-family:var(--serif);font-size:13px;letter-spacing:.1em;
 color:var(--body-soft);margin-top:8px;font-style:italic}

/* ── 品書 · the way through, kept out of the way ── */
.top{justify-content:space-between;align-items:center}
.top nav{display:none}
.shinagaki{display:flex;flex-direction:column;align-items:center;gap:7px;background:none;
 border:0;padding:6px 4px;cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent}
.shinagaki .bars{display:block;width:30px}
.shinagaki .bars i{display:block;height:1px;background:var(--ink);opacity:.85;margin:6px 0;
 transition:transform .5s cubic-bezier(.2,.8,.3,1),opacity .35s ease}
.shinagaki .jpword{font-family:var(--jp);color:var(--body-soft);font-size:12px;
 letter-spacing:.22em;line-height:1}
.menu-open .shinagaki .bars i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-open .shinagaki .bars i:nth-child(2){opacity:0}
.menu-open .shinagaki .bars i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.veil{position:fixed;inset:0;z-index:40;background:var(--rose-lift);
 display:grid;place-items:center;padding:clamp(30px,8vw,70px) clamp(24px,7vw,60px);
 opacity:0;visibility:hidden;transition:opacity .55s ease,visibility .55s}
body > .veil,.page > .veil{position:fixed;z-index:40}
.menu-open .veil{opacity:1;visibility:visible}
.veil .ghost{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
 font-family:var(--jp);color:var(--ink);opacity:.05;font-size:min(96vw,700px);line-height:1;
 pointer-events:none}
.veil ol{position:relative;list-style:none;margin:0;padding:0;counter-reset:n;
 display:flex;flex-direction:column;gap:clamp(14px,3.4vw,22px)}
.veil li{opacity:0;transform:translateY(14px);
 transition:opacity .7s cubic-bezier(.3,0,.2,1),transform .9s cubic-bezier(.25,.8,.3,1)}
.menu-open .veil li{opacity:1;transform:none}
.veil li:nth-child(1){transition-delay:.10s} .veil li:nth-child(2){transition-delay:.17s}
.veil li:nth-child(3){transition-delay:.24s} .veil li:nth-child(4){transition-delay:.31s}
.veil li:nth-child(5){transition-delay:.38s} .veil li:nth-child(6){transition-delay:.45s}
.veil a{display:flex;align-items:baseline;gap:clamp(12px,3vw,20px);text-decoration:none;
 font-family:var(--display);color:var(--ink);font-size:clamp(29px,8.2vw,54px);line-height:1.08}
.veil a .jp{font-family:var(--jp);font-size:.36em;color:var(--body-soft);letter-spacing:.1em}
.veil a:hover{opacity:.62}
.veil .say{position:absolute;left:0;bottom:clamp(-58px,-9vw,-40px);font-family:var(--display);
 color:var(--body-soft);font-size:clamp(14px,3.6vw,17px);font-style:italic}
@media(prefers-reduced-motion:reduce){
  .veil,.veil li{transition:none} .shinagaki .bars i{transition:none}}

/* ── white breaks the rose on every page ── */
.sec:nth-of-type(3n+2){background:#FFFDFE;
 box-shadow:0 -1px 0 rgba(189,0,6,.09),0 1px 0 rgba(189,0,6,.09)}
.sec + .sec::before{display:none}
.doc > .lede,.doc > h1.lede{font-size:clamp(32px,8.8vw,62px);line-height:1.06;max-width:14ch;
 text-align:left;margin-left:0}
@media(min-width:760px){.doc > .lede{text-align:center;margin-left:auto}}
.doc > h2.big{font-size:clamp(27px,7.2vw,46px);line-height:1.1;max-width:16ch}
.doc > h3{font-size:clamp(21px,5.4vw,30px)}

/* ═══ WHAT THE PARENT IMPOSES, AND WHAT THIS WORLD DOES INSTEAD ══
   lamoureux ships structure on ten class names AISHITERU also uses:
   foot · head · hero · in · mark · note · rows · sec · skip · top.
   Where a name means something different here, it is answered
   explicitly rather than left to the cascade. Nothing in the parent
   is edited — that belongs to the whole family.
   ═════════════════════════════════════════════════════════════ */
.foot p{font:inherit;letter-spacing:normal;text-transform:none;color:inherit}
.foot .say{font-family:var(--display);color:var(--ink);
 font-size:clamp(19px,4.6vw,26px);line-height:1.26;letter-spacing:.002em;
 text-transform:none;max-width:16ch;margin:0 0 10px;font-weight:400}
.foot .who{font-family:var(--serif);color:var(--body-soft);font-size:13.5px;
 letter-spacing:.04em;text-transform:none;font-weight:400;line-height:1.5}
.foot{text-align:left;background:transparent}
.foot .in{max-width:1120px;display:flex;gap:clamp(22px,5vw,60px)}

.top{position:static;background:transparent}
.top a.mark{width:auto;aspect-ratio:auto;background:none;
 font-family:var(--display);color:var(--ink)}
.hero{min-height:0;display:block}
.sec{overflow:visible}
.sec::before{content:none}
.moment .in,.rite .in,.paper-in{max-width:1120px}
.rows{max-width:780px}

/* ═══ ONE LANGUAGE, EVERY PAGE ══════════════════════════════════
   Four parts and one rhythm — eyebrow, hairline, grand, aside.
   Small letterspaced capitals, a hairline, the line at full height,
   an italic sentence underneath. Two colours at full strength and
   air between everything. Handed over by the session that had been
   building this world alongside me; their names, kept as theirs.
   ═════════════════════════════════════════════════════════════ */
.eyebrow{display:block;font-family:var(--serif);color:var(--ink);
 font-size:clamp(10.5px,2.4vw,13px);letter-spacing:.6em;text-transform:uppercase;
 line-height:1.9;padding-left:.6em;margin:0}
.hair{display:block;width:clamp(38px,6vw,70px);height:1px;background:var(--ink);
 opacity:.45;margin:clamp(26px,5vw,52px) 0}
.centre .hair{margin-left:auto;margin-right:auto}
.grand{font-family:var(--display);color:var(--ink);
 font-size:clamp(40px,10.5vw,110px);line-height:.98;letter-spacing:.004em;margin:0}
.aside{font-family:var(--serif);font-style:italic;color:var(--ink);
 font-size:clamp(15px,3.6vw,22px);letter-spacing:.09em;line-height:1.6;
 margin:clamp(24px,5vw,44px) 0 0;max-width:34ch}

.moment,.paper,.declare{padding:clamp(84px,15vw,180px) clamp(28px,8vw,110px)}
.moment .say,.paper-say .say{font-family:var(--display);color:var(--ink);
 font-size:clamp(34px,9vw,88px);line-height:1.0;max-width:14ch;margin:0}
.moment .under,.paper-say .under{font-family:var(--serif);font-style:italic;
 color:var(--ink);font-size:clamp(15px,3.6vw,21px);letter-spacing:.06em;
 line-height:1.66;margin:clamp(26px,5vw,46px) 0 0;max-width:34ch}
.moment .go{margin:clamp(34px,6.4vw,62px) 0 0}
.moment .go a,.mclose .go a,.frame .go a{font-family:var(--serif);color:var(--ink);
 text-decoration:none;font-size:clamp(11px,2.5vw,13px);letter-spacing:.42em;
 text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:7px}
.chapter{padding:clamp(70px,12vw,150px) 24px clamp(10px,2vw,24px)}
.chapter p{font-family:var(--serif);color:var(--ink);font-style:normal;
 font-size:clamp(10.5px,2.4vw,13px);letter-spacing:.6em;text-transform:uppercase}
.close{padding:clamp(100px,17vw,220px) 28px clamp(84px,14vw,180px)}
.close .say{font-size:clamp(46px,12vw,130px);line-height:.98;max-width:11ch}
.declare .rom{font-family:var(--serif);font-size:clamp(10.5px,2.4vw,13px);
 letter-spacing:.6em;text-transform:uppercase;color:var(--ink)}
.declare .rom .pron{color:var(--ink);letter-spacing:.14em;font-size:.92em;
 text-transform:none;margin-top:10px}
.declare .note,.declare .rom{color:var(--ink)}

/* the same rhythm on the four pages that were plain documents */
.sec{padding:clamp(84px,15vw,180px) clamp(28px,8vw,110px)}
.sec .doc{max-width:1120px;margin:0 auto;padding:0}
.sec .lede,.sec h1.lede{font-family:var(--display);color:var(--ink);
 font-size:clamp(40px,10.5vw,110px);line-height:.98;max-width:14ch;
 text-align:left;margin:0}
.sec h2.big{font-family:var(--display);color:var(--ink);
 font-size:clamp(30px,7.6vw,64px);line-height:1.04;max-width:16ch;margin:0}
.sec h3{font-family:var(--serif);color:var(--ink);font-weight:400;
 font-size:clamp(10.5px,2.4vw,13px);letter-spacing:.6em;text-transform:uppercase;
 line-height:1.9;margin:0 0 clamp(18px,3.4vw,30px)}
.sec p.beat{font-family:var(--serif);font-style:italic;color:var(--ink);
 font-size:clamp(15px,3.6vw,21px);letter-spacing:.06em;line-height:1.66;
 max-width:34ch;margin:clamp(20px,4vw,34px) 0 0}
.sec .rows{display:grid;gap:clamp(30px,6vw,64px);margin:clamp(46px,8vw,90px) 0 0}
.sec .rows li{background:none;border:0;border-left:1px solid var(--ink);
 border-radius:0;padding:0 0 0 clamp(20px,4vw,34px)}
.sec .rows h3{margin-bottom:clamp(14px,2.6vw,22px)}
.sec .rows .fee{font-family:var(--display);color:var(--ink);
 font-size:clamp(34px,8.4vw,72px);line-height:1;margin:clamp(22px,4vw,36px) 0 0}
.sec .rows .fee small{font-family:var(--serif);font-style:italic;
 font-size:clamp(13px,2.8vw,15px);letter-spacing:.1em;margin-top:10px;
 color:var(--ink);opacity:.7;display:block}
.sec a.act{font-family:var(--serif);color:var(--ink);text-decoration:none;
 font-size:clamp(11px,2.5vw,13px);letter-spacing:.42em;text-transform:uppercase;
 border-bottom:1px solid var(--ink);padding-bottom:7px;
 margin-top:clamp(40px,7vw,72px);display:inline-block}

/* ── the same parts on every page ── */
.moment.tall{min-height:0;padding-top:clamp(90px,13vh,160px);padding-bottom:clamp(90px,13vh,160px)}
.moment .say.small{font-size:clamp(28px,6.4vw,60px);max-width:18ch}
.pair{display:grid;gap:clamp(30px,5vw,58px);margin:clamp(24px,4vw,44px) 0 0}
@media(min-width:860px){.pair{grid-template-columns:1fr 1fr;gap:clamp(40px,5vw,88px)}}
.pair h3{margin:0;font-family:var(--display);color:var(--ink);font-weight:400;
 font-size:clamp(24px,5.6vw,40px);line-height:1.08}
.pair p{margin:clamp(14px,2.8vw,22px) 0 0;font-family:var(--serif);color:var(--ink);
 font-size:clamp(15.5px,3.6vw,18px);line-height:1.68;max-width:34ch}
.fee{font-family:var(--display);color:var(--ink);font-size:clamp(38px,9vw,72px);
 line-height:1;margin:clamp(22px,4vw,36px) 0 0}
.fee small{display:block;font-family:var(--serif);font-style:italic;
 font-size:clamp(12px,2.6vw,14px);letter-spacing:.2em;margin-top:12px}
.ladder{list-style:none;margin:clamp(24px,4vw,44px) 0 0;padding:0;display:grid}
.ladder li{display:grid;grid-template-columns:auto 1fr;gap:clamp(16px,3vw,34px);
 align-items:baseline;padding:clamp(20px,3.4vw,32px) 0;border-top:1px solid rgba(189,0,6,.16)}
.ladder li:last-child{border-bottom:1px solid rgba(189,0,6,.16)}
.ladder .n{font-family:var(--serif);font-size:clamp(10.5px,2.2vw,12px);
 letter-spacing:.3em;opacity:.5}
.ladder p{margin:0;font-family:var(--display);color:var(--ink);
 font-size:clamp(22px,5.2vw,42px);line-height:1.14;max-width:22ch}
.ladder .sub{font-family:var(--serif);font-size:clamp(15px,3.4vw,17px);
 line-height:1.66;margin-top:10px;max-width:32ch;display:block}

.sec{padding:clamp(80px,12vh,150px) clamp(28px,8vw,110px)}
.doc{max-width:1240px;margin:0}
.doc > .lede,.doc > h1.lede{font-family:var(--display);color:var(--ink);
 font-size:clamp(44px,12vw,120px);line-height:.96;max-width:12ch;text-align:left;margin:0}
.sec:nth-of-type(3n+2){background:var(--rose-lift)}

.reachwrap{display:block;margin:clamp(22px,4vw,36px) 0 clamp(18px,3vw,28px);max-width:34ch}
.reachwrap span{display:block;font-family:var(--serif);font-size:clamp(10.5px,2.4vw,12.5px);
 letter-spacing:.5em;text-transform:uppercase;color:var(--ink);margin-bottom:12px}
.reachwrap input{width:100%;font-family:var(--serif);font-size:clamp(16px,3.8vw,19px);
 color:var(--ink);background:rgba(255,255,255,.5);border:0;
 border-bottom:1px solid rgba(189,0,6,.34);padding:10px 2px;border-radius:0}
.reachwrap input::placeholder{color:rgba(189,0,6,.42);font-style:italic}
.reachwrap input:focus{outline:none;border-bottom-color:var(--ink);background:rgba(255,255,255,.8)}
#sendbtn[disabled]{opacity:.5;cursor:default}


.sentence{font-family:var(--display);color:var(--ink);line-height:1.5;
 font-size:clamp(24px,6.4vw,44px);margin:0 auto;max-width:20ch}
@media(min-width:760px){.sentence{max-width:22ch;line-height:1.45}}
.fill{display:inline-block;position:relative;min-width:5ch}
.sentence input{font:inherit;color:var(--ink);background:transparent;border:0;
 border-bottom:1px solid rgba(189,0,6,.38);padding:0 .12em 2px;width:100%;
 caret-color:var(--ink);text-align:center}
.sentence input:focus{outline:none;border-bottom-color:var(--ink)}
.sentence input::placeholder{color:rgba(189,0,6,.26)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
 clip-path:inset(50%);white-space:nowrap}
.datewrap .shown{display:none}
.datewrap.done{position:relative;min-width:0}
.datewrap.done .shown{display:inline-block;border-bottom:1px solid rgba(189,0,6,.38);
 padding:0 .12em 2px;white-space:nowrap}
.datewrap.done input{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:0;
 cursor:pointer}
.weeks{margin:clamp(40px,6vw,64px) auto 0;max-width:520px;opacity:0;transform:translateY(14px);
 transition:opacity 1.2s ease,transform 1.4s cubic-bezier(.2,.7,.3,1)}
.weeks.on{opacity:1;transform:none}
.weeks .head{margin:0 auto clamp(16px,2.6vw,24px);font-family:var(--display);color:var(--ink);
 font-size:clamp(19px,4.8vw,26px);line-height:1.28;text-align:center;max-width:none}
.ladder{list-style:none;margin:0;padding:0}
.ladder li{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:baseline;
 padding:10px 0;border-top:1px solid rgba(189,0,6,.14);font-size:clamp(14.5px,3.6vw,16.5px)}
.ladder li:last-child{border-bottom:1px solid rgba(189,0,6,.14)}
.ladder .n{font-family:var(--display);color:var(--ink);font-size:clamp(15px,3.8vw,18px);
 min-width:6.5ch}
.ladder .d{color:var(--body-soft);text-align:right;white-space:nowrap}
.ladder li.day .n,.ladder li.day .d{color:var(--ink)}
.closenote{margin:clamp(22px,3.6vw,32px) auto 0;max-width:28ch;text-align:center;
 font-family:var(--display);color:var(--ink);font-size:clamp(18px,4.4vw,24px);line-height:1.3}
.pick{margin:clamp(40px,6vw,64px) auto 0;max-width:620px;display:grid;gap:14px;opacity:0;
 transition:opacity 1.1s ease}
.pick.on{opacity:1}
@media(min-width:680px){.pick{grid-template-columns:1fr 1fr}}
.opt{text-align:left;background:rgba(255,255,255,.55);border:1px solid rgba(189,0,6,.24);
 border-radius:3px;padding:clamp(18px,3vw,24px);font:inherit;cursor:pointer;color:var(--body)}
.opt:hover{border-color:var(--ink)}
.opt[aria-pressed=true]{border-color:var(--ink);background:rgba(255,255,255,.85)}
.opt b{display:block;font-family:var(--display);font-weight:400;color:var(--ink);
 font-size:clamp(19px,4.6vw,24px);line-height:1.2;margin-bottom:5px}
.opt span{display:block;font-size:clamp(14.5px,3.5vw,16px);color:var(--body-soft);line-height:1.5}
.send{margin:clamp(34px,5vw,52px) auto 0;text-align:center;opacity:0;transition:opacity 1.1s ease}
.send.on{opacity:1}
.send button{font:inherit;font-family:var(--display);font-size:clamp(19px,4.8vw,26px);
 color:var(--ink);background:transparent;border:0;border-bottom:1.5px solid var(--ink);
 padding:0 3px 6px;cursor:pointer}
.after{margin:clamp(30px,5vw,44px) auto 0;max-width:26ch;text-align:center;
 font-family:var(--display);color:var(--ink);font-size:clamp(20px,5vw,28px);line-height:1.28;
 opacity:0;transition:opacity 1.3s ease}
.after.on{opacity:1}

/* ─────────────────────────────────────────────────────────────
   AISHITERU · the site
   Her rose and her red, both off her own files. No photograph
   anywhere — the word carries it. One breath across every page.
   ───────────────────────────────────────────────────────────── */
:root{
  --rose:#FAE1F5; --rose-lift:#FEF5FC; --rose-deep:#F2CBE8; --rose-deepest:#EFC0E3;
  --ink:#BD0006; --body:#5E1220; --body-soft:#8A2B3A;
  --display:Didot,"Bodoni 72","Playfair Display","Iowan Old Style",Palatino,Georgia,serif;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --breath:0; --breath2:0;
  --depth-door:.17; --depth-reading:.05;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0}
body{background:var(--rose);color:var(--body);font-family:var(--serif);
 font-size:17.5px;line-height:1.78;-webkit-font-smoothing:antialiased;overflow-x:clip}

/* the breath — one clock, many depths */
.breath{position:fixed;inset:-24%;z-index:0;pointer-events:none}
.breath::before,.breath::after{content:"";position:absolute;inset:0}
.breath::before{background:radial-gradient(30% 30% at 37% 44%,rgba(255,251,254,.95) 0%,
  rgba(254,245,252,.5) 46%,rgba(250,225,245,0) 74%);
  opacity:calc(.34 + var(--breath) * var(--depth-reading))}
.breath::after{background:radial-gradient(30% 30% at 63% 52%,rgba(255,250,253,.92) 0%,
  rgba(254,245,252,.5) 46%,rgba(250,225,245,0) 74%);
  opacity:calc(.34 + var(--breath2) * var(--depth-reading))}
body > *:not(.breath){position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.breath{display:none}}

/* the way through */
.top{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;
 gap:12px 24px;padding:clamp(18px,3.4vw,26px) clamp(20px,4vw,40px)}
.top a.mark{font-family:var(--display);color:var(--ink);text-decoration:none;
 font-size:clamp(17px,4.2vw,21px);letter-spacing:.04em;line-height:1}
.top nav{display:flex;flex-wrap:wrap;gap:4px clamp(14px,3vw,26px)}
.top nav a{font-size:clamp(13.5px,3.3vw,15px);color:var(--body-soft);text-decoration:none;
 padding-bottom:2px;border-bottom:1px solid transparent}
.top nav a:hover{color:var(--ink);border-bottom-color:var(--ink)}
.top nav a[aria-current]{color:var(--ink);border-bottom-color:rgba(189,0,6,.4)}

.wrap{max-width:1120px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}
.doc{max-width:700px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}

.sec{padding:clamp(48px,8.5vw,110px) 0}
h1,h2,h3{font-family:var(--display);font-weight:400;color:var(--ink);margin:0}
.lede,.big,.mid{font-family:var(--display);color:var(--ink)}
.lede{font-size:clamp(28px,7vw,54px);line-height:1.16;max-width:18ch;margin:0 auto;
 text-align:center}
.big{font-size:clamp(25px,6.2vw,42px);line-height:1.16;max-width:19ch;margin:0 0 clamp(14px,2.4vw,22px)}
.mid{font-size:clamp(21px,5.2vw,30px);line-height:1.24;max-width:22ch;margin:0 0 clamp(12px,2vw,18px)}
p{margin:0 0 clamp(15px,2.4vw,20px);font-size:clamp(16.5px,4.1vw,18.5px);max-width:44ch}
p:last-child{margin-bottom:0}
.centre{text-align:center} .centre p{margin-left:auto;margin-right:auto}
a.act{display:inline-block;font-family:var(--display);color:var(--ink);text-decoration:none;
 font-size:clamp(19px,4.8vw,25px);border-bottom:1.5px solid var(--ink);padding-bottom:5px;
 margin-top:clamp(24px,4vw,38px)}
a.act:hover{opacity:.7}
.pron{display:block;font-style:italic;letter-spacing:.06em;color:var(--body-soft);
 font-size:clamp(13px,3.3vw,15.5px)}

.rows{max-width:780px;margin:clamp(24px,4vw,36px) auto 0;padding:0}
.rows li{list-style:none;padding:clamp(18px,3vw,28px) 0;border-top:1px solid rgba(189,0,6,.16)}
.rows li:last-child{border-bottom:1px solid rgba(189,0,6,.16)}
.rows h3{font-size:clamp(20px,5vw,28px);line-height:1.2;margin:0 0 6px}
.rows p{margin:0 0 8px;color:var(--body-soft);font-size:clamp(15.5px,3.9vw,17.5px)}
.rows .fee{margin:0;font-family:var(--display);color:var(--body);font-size:clamp(17px,4.2vw,21px)}


.foot{padding:clamp(40px,7vw,80px) clamp(20px,4vw,40px) clamp(46px,8vw,70px);
 border-top:1px solid rgba(189,0,6,.14);margin-top:clamp(40px,7vw,80px)}
.foot .in{max-width:1120px;margin:0 auto;display:flex;flex-wrap:wrap;gap:20px 40px;
 justify-content:space-between;align-items:flex-start}
.foot nav{display:flex;flex-direction:column;gap:7px}
.foot a{color:var(--body-soft);text-decoration:none;font-size:15px}
.foot a:hover{color:var(--ink)}
.foot .who{font-size:13.5px;color:var(--body-soft)}
.foot .say{font-family:var(--display);color:var(--ink);font-size:clamp(17px,4.2vw,22px);
 line-height:1.24;max-width:14ch;margin:0 0 8px}

.rise{transition:opacity 1.2s ease-out,transform 1.2s cubic-bezier(.2,.7,.3,1)}
.rise.held-back{opacity:0;transform:translateY(13px)}
.rise.seen{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rise,.rise.held-back{opacity:1;transform:none;transition:none}}

/* ── beats rather than blocks ── */
.body p, section p, main p{max-width:30ch}
@media(min-width:760px){.body p, section p, main p{max-width:36ch}}
p.beat{font-size:clamp(17.5px,4.6vw,20px);line-height:1.62;margin:0 0 clamp(20px,4.6vw,28px)}
p.big{font-family:var(--display);color:var(--ink);font-size:clamp(26px,7vw,42px);
 line-height:1.16;max-width:15ch;margin:clamp(30px,7vw,52px) 0}

/* ── the same world on every page ── */
:root{ --gold:#C39A3E; --gold-soft:rgba(195,154,62,.42);
  --jp:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP","Songti SC",var(--display),serif; }
.grain{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.05;
 background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>")}
body > .grain,.page > .grain{position:fixed;z-index:0}
.pageghost{position:fixed;left:50%;top:46%;transform:translate(-50%,-50%);z-index:0;
 font-family:var(--jp);color:var(--ink);line-height:1;opacity:.04;pointer-events:none;
 user-select:none;font-size:min(88vw,620px)}
body > .pageghost,.page > .pageghost{position:fixed;z-index:0}
.sec{position:relative}
.sec + .sec::before{display:none}
.lede{text-align:left;margin-left:0}
@media(min-width:760px){.lede{text-align:center;margin-left:auto}}
a.act{border-bottom-color:var(--gold)}
a.act:hover{border-bottom-color:var(--ink);opacity:1}
.doc p.beat:first-of-type{font-size:clamp(19px,4.9vw,22px);line-height:1.56}
@media(prefers-reduced-motion:reduce){.pageghost{display:none}}

/* ── an offer is a panel, never a paragraph ── */
.rows{display:grid;gap:clamp(16px,3vw,22px);max-width:780px;margin:clamp(28px,5vw,42px) auto 0}
.rows li{list-style:none;border:none;border-top:none;padding:clamp(22px,4.4vw,34px);
 background:linear-gradient(160deg,rgba(255,255,255,.72),rgba(255,255,255,.34));
 border-left:2px solid var(--gold);border-radius:2px;position:relative}
.rows li:last-child{border-bottom:none}
.rows h3{font-size:clamp(22px,5.6vw,30px);line-height:1.14;margin:0 0 10px}
.rows p{margin:0 0 10px;color:var(--body);font-size:clamp(16px,4vw,17.5px);max-width:38ch}
.rows .fee{margin:clamp(14px,2.6vw,20px) 0 0;font-family:var(--display);color:var(--ink);
 font-size:clamp(27px,7vw,40px);line-height:1;letter-spacing:.01em}
.rows .fee small{display:block;font-family:var(--serif);font-size:13px;letter-spacing:.1em;
 color:var(--body-soft);margin-top:8px;font-style:italic}

/* ── 品書 · the way through, kept out of the way ── */
.top{justify-content:space-between;align-items:center}
.top nav{display:none}
.shinagaki{display:flex;flex-direction:column;align-items:center;gap:7px;background:none;
 border:0;padding:6px 4px;cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent}
.shinagaki .bars{display:block;width:30px}
.shinagaki .bars i{display:block;height:1px;background:var(--ink);opacity:.85;margin:6px 0;
 transition:transform .5s cubic-bezier(.2,.8,.3,1),opacity .35s ease}
.shinagaki .jpword{font-family:var(--jp);color:var(--body-soft);font-size:12px;
 letter-spacing:.22em;line-height:1}
.menu-open .shinagaki .bars i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-open .shinagaki .bars i:nth-child(2){opacity:0}
.menu-open .shinagaki .bars i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.veil{position:fixed;inset:0;z-index:40;background:var(--rose-lift);
 display:grid;place-items:center;padding:clamp(30px,8vw,70px) clamp(24px,7vw,60px);
 opacity:0;visibility:hidden;transition:opacity .55s ease,visibility .55s}
body > .veil,.page > .veil{position:fixed;z-index:40}
.menu-open .veil{opacity:1;visibility:visible}
.veil .ghost{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
 font-family:var(--jp);color:var(--ink);opacity:.05;font-size:min(96vw,700px);line-height:1;
 pointer-events:none}
.veil ol{position:relative;list-style:none;margin:0;padding:0;counter-reset:n;
 display:flex;flex-direction:column;gap:clamp(14px,3.4vw,22px)}
.veil li{opacity:0;transform:translateY(14px);
 transition:opacity .7s cubic-bezier(.3,0,.2,1),transform .9s cubic-bezier(.25,.8,.3,1)}
.menu-open .veil li{opacity:1;transform:none}
.veil li:nth-child(1){transition-delay:.10s} .veil li:nth-child(2){transition-delay:.17s}
.veil li:nth-child(3){transition-delay:.24s} .veil li:nth-child(4){transition-delay:.31s}
.veil li:nth-child(5){transition-delay:.38s} .veil li:nth-child(6){transition-delay:.45s}
.veil a{display:flex;align-items:baseline;gap:clamp(12px,3vw,20px);text-decoration:none;
 font-family:var(--display);color:var(--ink);font-size:clamp(29px,8.2vw,54px);line-height:1.08}
.veil a .jp{font-family:var(--jp);font-size:.36em;color:var(--body-soft);letter-spacing:.1em}
.veil a:hover{opacity:.62}
.veil .say{position:absolute;left:0;bottom:clamp(-58px,-9vw,-40px);font-family:var(--display);
 color:var(--body-soft);font-size:clamp(14px,3.6vw,17px);font-style:italic}
@media(prefers-reduced-motion:reduce){
  .veil,.veil li{transition:none} .shinagaki .bars i{transition:none}}

/* ── An AISHITERU Marriage · composed, and the ceremony as a sequence ── */
.mopen{position:relative;z-index:1;padding:clamp(50px,11vw,120px) clamp(24px,7vw,48px)
  clamp(30px,6vw,60px);max-width:1120px;margin:0 auto}
.mopen h1{margin:0;font-family:var(--display);color:var(--ink);font-weight:400;
 font-size:clamp(34px,9.4vw,74px);line-height:1.03;max-width:13ch;text-wrap:balance}
.mopen h1 em{display:block;font-style:normal;font-size:.52em;color:var(--body);
 line-height:1.16;margin-top:.34em;max-width:22ch}
.mopen .mid{margin:clamp(26px,5vw,40px) 0 0;font-family:var(--display);color:var(--body-soft);
 font-size:clamp(19px,4.8vw,26px);line-height:1.3;max-width:24ch;
 border-left:1px solid var(--gold);padding-left:clamp(14px,3.4vw,22px)}

.slab{position:relative;z-index:1;background:#FFFDFE;text-align:center;
 padding:clamp(58px,12vw,130px) clamp(24px,7vw,48px);
 box-shadow:0 -1px 0 rgba(189,0,6,.10),0 1px 0 rgba(189,0,6,.10)}
.slab p{margin:0 auto;font-family:var(--display);color:var(--ink);
 font-size:clamp(30px,8.4vw,60px);line-height:1.12;max-width:15ch;text-wrap:balance}

.rite{position:relative;z-index:1;padding:clamp(46px,10vw,110px) clamp(24px,7vw,48px)}
.rite .in{max-width:1120px;margin:0 auto;position:relative}
@media(min-width:860px){
  .rite .in{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(40px,7vw,110px)}
  .rite:nth-of-type(even) .in > *{grid-column:2}
  .rite:nth-of-type(odd)  .in > *{grid-column:1}
}
.rite .no{display:block;font-family:var(--jp);color:var(--gold);font-size:clamp(21px,5.4vw,30px);
 line-height:1;margin:0 0 clamp(12px,2.6vw,18px);letter-spacing:.12em}
.rite h2.sub{margin:0;font-family:var(--display);color:var(--ink);font-weight:400;
 font-size:clamp(26px,6.8vw,44px);line-height:1.1;max-width:16ch;text-wrap:balance}
.rite p{margin:clamp(14px,3vw,22px) 0 0;font-size:clamp(16.5px,4.2vw,19px);line-height:1.6;
 max-width:34ch;color:var(--body)}
.rite .ghost{position:absolute;right:-8%;top:50%;transform:translateY(-50%);
 font-family:var(--jp);color:var(--ink);opacity:.032;font-size:min(44vw,210px);line-height:1;
 pointer-events:none;z-index:-1}
.rite:nth-of-type(odd) .ghost{right:auto;left:-10%}
.riteband{position:relative;overflow:hidden}

.mclose{position:relative;z-index:1;text-align:center;padding:clamp(56px,12vw,130px) 24px}
.mclose p{margin:0 auto;font-family:var(--display);color:var(--ink);
 font-size:clamp(28px,7.6vw,52px);line-height:1.14;max-width:15ch}
.mclose .go{margin-top:clamp(30px,6vw,48px);font-size:clamp(17px,4.4vw,22px)}
.mclose .go a{font-family:var(--display);color:var(--ink);text-decoration:none;
 border-bottom:1.5px solid var(--gold);padding-bottom:6px}
.mclose .go a:hover{border-bottom-color:var(--ink)}

/* ═══ WHAT THE PARENT IMPOSES, AND WHAT THIS WORLD DOES INSTEAD ══
   lamoureux ships structure on ten class names AISHITERU also uses:
   foot · head · hero · in · mark · note · rows · sec · skip · top.
   Where a name means something different here, it is answered
   explicitly rather than left to the cascade. Nothing in the parent
   is edited — that belongs to the whole family.
   ═════════════════════════════════════════════════════════════ */
.foot p{font:inherit;letter-spacing:normal;text-transform:none;color:inherit}
.foot .say{font-family:var(--display);color:var(--ink);
 font-size:clamp(19px,4.6vw,26px);line-height:1.26;letter-spacing:.002em;
 text-transform:none;max-width:16ch;margin:0 0 10px;font-weight:400}
.foot .who{font-family:var(--serif);color:var(--body-soft);font-size:13.5px;
 letter-spacing:.04em;text-transform:none;font-weight:400;line-height:1.5}
.foot{text-align:left;background:transparent}
.foot .in{max-width:1120px;display:flex;gap:clamp(22px,5vw,60px)}

.top{position:static;background:transparent}
.top a.mark{width:auto;aspect-ratio:auto;background:none;
 font-family:var(--display);color:var(--ink)}
.hero{min-height:0;display:block}
.sec{overflow:visible}
.sec::before{content:none}
.moment .in,.rite .in,.paper-in{max-width:1120px}
.rows{max-width:780px}

/* ═══ ONE LANGUAGE, EVERY PAGE ══════════════════════════════════
   Four parts and one rhythm — eyebrow, hairline, grand, aside.
   Small letterspaced capitals, a hairline, the line at full height,
   an italic sentence underneath. Two colours at full strength and
   air between everything. Handed over by the session that had been
   building this world alongside me; their names, kept as theirs.
   ═════════════════════════════════════════════════════════════ */
.eyebrow{display:block;font-family:var(--serif);color:var(--ink);
 font-size:clamp(10.5px,2.4vw,13px);letter-spacing:.6em;text-transform:uppercase;
 line-height:1.9;padding-left:.6em;margin:0}
.hair{display:block;width:clamp(38px,6vw,70px);height:1px;background:var(--ink);
 opacity:.45;margin:clamp(26px,5vw,52px) 0}
.centre .hair{margin-left:auto;margin-right:auto}
.grand{font-family:var(--display);color:var(--ink);
 font-size:clamp(40px,10.5vw,110px);line-height:.98;letter-spacing:.004em;margin:0}
.aside{font-family:var(--serif);font-style:italic;color:var(--ink);
 font-size:clamp(15px,3.6vw,22px);letter-spacing:.09em;line-height:1.6;
 margin:clamp(24px,5vw,44px) 0 0;max-width:34ch}

.moment,.paper,.declare{padding:clamp(84px,15vw,180px) clamp(28px,8vw,110px)}
.moment .say,.paper-say .say{font-family:var(--display);color:var(--ink);
 font-size:clamp(34px,9vw,88px);line-height:1.0;max-width:14ch;margin:0}
.moment .under,.paper-say .under{font-family:var(--serif);font-style:italic;
 color:var(--ink);font-size:clamp(15px,3.6vw,21px);letter-spacing:.06em;
 line-height:1.66;margin:clamp(26px,5vw,46px) 0 0;max-width:34ch}
.moment .go{margin:clamp(34px,6.4vw,62px) 0 0}
.moment .go a,.mclose .go a,.frame .go a{font-family:var(--serif);color:var(--ink);
 text-decoration:none;font-size:clamp(11px,2.5vw,13px);letter-spacing:.42em;
 text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:7px}
.chapter{padding:clamp(70px,12vw,150px) 24px clamp(10px,2vw,24px)}
.chapter p{font-family:var(--serif);color:var(--ink);font-style:normal;
 font-size:clamp(10.5px,2.4vw,13px);letter-spacing:.6em;text-transform:uppercase}
.close{padding:clamp(100px,17vw,220px) 28px clamp(84px,14vw,180px)}
.close .say{font-size:clamp(46px,12vw,130px);line-height:.98;max-width:11ch}
.declare .rom{font-family:var(--serif);font-size:clamp(10.5px,2.4vw,13px);
 letter-spacing:.6em;text-transform:uppercase;color:var(--ink)}
.declare .rom .pron{color:var(--ink);letter-spacing:.14em;font-size:.92em;
 text-transform:none;margin-top:10px}
.declare .note,.declare .rom{color:var(--ink)}

/* the same rhythm on the four pages that were plain documents */
.sec{padding:clamp(84px,15vw,180px) clamp(28px,8vw,110px)}
.sec .doc{max-width:1120px;margin:0 auto;padding:0}
.sec .lede,.sec h1.lede{font-family:var(--display);color:var(--ink);
 font-size:clamp(40px,10.5vw,110px);line-height:.98;max-width:14ch;
 text-align:left;margin:0}
.sec h2.big{font-family:var(--display);color:var(--ink);
 font-size:clamp(30px,7.6vw,64px);line-height:1.04;max-width:16ch;margin:0}
.sec h3{font-family:var(--serif);color:var(--ink);font-weight:400;
 font-size:clamp(10.5px,2.4vw,13px);letter-spacing:.6em;text-transform:uppercase;
 line-height:1.9;margin:0 0 clamp(18px,3.4vw,30px)}
.sec p.beat{font-family:var(--serif);font-style:italic;color:var(--ink);
 font-size:clamp(15px,3.6vw,21px);letter-spacing:.06em;line-height:1.66;
 max-width:34ch;margin:clamp(20px,4vw,34px) 0 0}
.sec .rows{display:grid;gap:clamp(30px,6vw,64px);margin:clamp(46px,8vw,90px) 0 0}
.sec .rows li{background:none;border:0;border-left:1px solid var(--ink);
 border-radius:0;padding:0 0 0 clamp(20px,4vw,34px)}
.sec .rows h3{margin-bottom:clamp(14px,2.6vw,22px)}
.sec .rows .fee{font-family:var(--display);color:var(--ink);
 font-size:clamp(34px,8.4vw,72px);line-height:1;margin:clamp(22px,4vw,36px) 0 0}
.sec .rows .fee small{font-family:var(--serif);font-style:italic;
 font-size:clamp(13px,2.8vw,15px);letter-spacing:.1em;margin-top:10px;
 color:var(--ink);opacity:.7;display:block}
.sec a.act{font-family:var(--serif);color:var(--ink);text-decoration:none;
 font-size:clamp(11px,2.5vw,13px);letter-spacing:.42em;text-transform:uppercase;
 border-bottom:1px solid var(--ink);padding-bottom:7px;
 margin-top:clamp(40px,7vw,72px);display:inline-block}
