@font-face{font-family:"Misogi Serif";src:url("/assets/serif-jp.woff") format("woff");font-weight:400 600;font-display:swap}
:root{--paper:#f9f8f4;--ink:#222e29;--gold:#947740;--line:#d9d5cb;--serif:"Misogi Serif","Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:auto}figure,p,h1,h2,h3{margin:0}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #aa8036;outline-offset:7px}::selection{background:#bdaa7b;color:#fff}.skip{position:fixed;top:-100px;left:20px;padding:15px;background:#fff;z-index:20}.skip:focus{top:10px}.header{height:102px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:10;border-bottom:1px solid var(--line)}.brand{display:flex;gap:17px;align-items:center}.brand-mark{font-size:30px;border:1px solid var(--gold);width:49px;height:49px;border-radius:50%;display:grid;place-items:center;color:var(--gold);line-height:1}.brand strong{font-size:26px;font-weight:500;letter-spacing:.16em}.brand small{display:block;font-size:12px;letter-spacing:.16em;margin-top:5px}.desktop-nav{display:flex;align-items:center;gap:32px;font-size:14px;letter-spacing:.05em}.desktop-nav>a{padding:14px 0;position:relative}.desktop-nav>a:not(.nav-contact):after{content:"";position:absolute;bottom:5px;left:0;width:0;height:1px;background:var(--gold);transition:width .25s}.desktop-nav>a:hover:after{width:100%}.desktop-nav .nav-contact{padding:15px 23px;border:1px solid var(--line)}.nav-contact span{margin-left:20px;color:var(--gold)}.menu-toggle{display:none}.mobile-nav[hidden]{display:none}.hero{height:calc(100svh - 102px);min-height:580px;max-height:930px;position:relative;overflow:hidden;background:#28382d;color:white}.hero picture{position:absolute;inset:0}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:50% 48%;animation:photo-in 1.8s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,22,17,.2),rgba(7,19,13,.03) 35%,rgba(6,20,14,.43) 75%,rgba(9,23,17,.4)),linear-gradient(0deg,rgba(8,20,12,.58),transparent 38%)}.hero-frame{position:absolute;inset:25px;border:1px solid #ffffff45;pointer-events:none}.hero-title{position:absolute;right:15%;top:15%;display:flex;flex-direction:row-reverse;gap:32px;align-items:flex-start;animation:title-in 1.4s .1s both}.hero-title>p{writing-mode:vertical-rl;font-size:16px;letter-spacing:.35em;line-height:1.8;padding-top:8px}.hero h1{writing-mode:vertical-rl;font-size:clamp(46px,5.2vw,76px);font-weight:400;letter-spacing:.22em;line-height:1.6;text-shadow:0 2px 25px #14211866}.seal{font-size:16px;line-height:1.3;letter-spacing:.12em;border:1px solid #e4c5ac;padding:9px 6px;background:#803c31c4;align-self:flex-end;margin-bottom:7px;color:#fff3e3}.hero-bottom{position:absolute;bottom:55px;left:60px;right:60px;display:flex;align-items:center;justify-content:space-between;font-size:13px;letter-spacing:.12em}.english{font-family:Georgia,serif;font-size:12px;letter-spacing:.22em}.scroll-link{display:flex;align-items:center;gap:24px;font-size:14px}.scroll-link span{height:45px;width:45px;border:1px solid #ffffff60;border-radius:50%;display:grid;place-items:center}.hero-location{writing-mode:vertical-rl;letter-spacing:.22em}.quick-nav{display:grid;grid-template-columns:.65fr 1fr 1fr 1.25fr;border-bottom:1px solid var(--line);min-height:100px;align-items:center;padding:0 5%;font-size:15px}.quick-nav>a{border-left:1px solid var(--line);padding:10px 30px;display:flex;align-items:center;justify-content:space-between;gap:15px}.quick-nav>a:hover{color:var(--gold)}.quick-nav span:not(.quick-label){color:var(--gold);font-size:20px}.quick-label{letter-spacing:.25em;color:var(--gold)}.section{padding:140px 8%;position:relative}.section-number{position:absolute;top:50px;left:4%;font-size:14px;color:var(--gold);writing-mode:vertical-rl;letter-spacing:.2em}.section-number:after{content:"";display:inline-block;height:55px;width:1px;background:var(--line);margin-top:18px}.eyebrow{display:block;font-family:Georgia,serif;letter-spacing:.16em;font-size:12px;color:var(--gold);margin-bottom:26px}h2{font-size:clamp(30px,3vw,46px);font-weight:400;letter-spacing:.16em;line-height:1.6}p{line-height:2.2}.history{display:grid;grid-template-columns:1fr .88fr;gap:12%;align-items:center;padding-top:155px;padding-bottom:165px}.history-copy{padding:25px 0}.history-copy .eyebrow{margin-bottom:40px}.vertical-heading{writing-mode:vertical-rl;float:right;margin-left:44px;font-size:48px;letter-spacing:.3em}.history-text{font-size:17px;letter-spacing:.075em;padding-top:5px}.history-text p{line-height:2.6}.history-photo{position:relative;margin-right:20px}.history-photo:before{content:"";position:absolute;inset:27px -25px -27px 25px;border:1px solid #b6a27a;z-index:-1}.history-photo img{height:530px;object-fit:cover}.history-photo figcaption{position:absolute;right:-52px;top:0;writing-mode:vertical-rl;font-size:12px;letter-spacing:.18em;color:var(--gold)}.prayer{background:#eaece7;padding-top:120px;padding-bottom:100px}.prayer-intro{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-bottom:65px}.prayer-copy{padding-top:30px}.prayer-copy p{letter-spacing:.09em;line-height:2.25}.prayer-copy p+p{margin-top:20px}.text-link{display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid #a89b80;padding:18px 0;margin-top:30px;font-size:15px;line-height:1.8;transition:color .2s}.text-link span{font-family:var(--sans);font-size:21px;color:var(--gold)}.text-link:hover{color:var(--gold)}.prayer-gallery{display:grid;grid-template-columns:1fr 1fr .9fr;gap:24px;align-items:start}.prayer-gallery figure:nth-child(2){padding-top:65px}.prayer-gallery figure:nth-child(3){padding-top:130px}.prayer-gallery img{aspect-ratio:3/4;object-fit:cover}.prayer-gallery figure:nth-child(3) img{aspect-ratio:1.1;object-fit:cover}.cemetery{display:grid;grid-template-columns:.9fr 1fr;gap:13%;align-items:center;padding-top:160px;padding-bottom:160px}.cemetery-photo{background:#e5e3da;padding:20px}.cemetery-photo img{max-height:600px;object-fit:contain}.cemetery h2 span{display:block;font-size:25px;letter-spacing:.15em;margin-top:8px}.gold-rule{height:1px;width:50px;background:var(--gold);margin:35px 0}.cemetery-copy p{margin:20px 0;font-size:16px;letter-spacing:.03em}.signature{display:flex;justify-content:flex-end;align-items:center;gap:20px;padding-top:15px}.signature span{font-size:23px;letter-spacing:.15em}.access{background:#eaece7;display:grid;grid-template-columns:.78fr 1.25fr;gap:65px 10%;padding-top:120px;padding-bottom:80px}.access-heading p{font-size:16px;letter-spacing:.05em;margin-top:28px}.access-map{min-width:0}.access-map iframe{width:100%;height:440px;border:0;background:#d8ded4;filter:saturate(.55)}.contact-panel{grid-column:1/-1;border-top:1px solid #c8cbbf;border-bottom:1px solid #c8cbbf;padding:43px 0;display:grid;grid-template-columns:.8fr 1fr 1.1fr;gap:35px;align-items:center;scroll-margin-top:40px}.contact-panel .eyebrow{margin-bottom:12px}.contact-panel h3{font-size:22px;letter-spacing:.1em;font-weight:400}.contact-panel>a{display:flex;flex-direction:column;gap:12px;min-width:0}.contact-panel>a:hover{color:var(--gold)}.contact-panel small{font-size:13px;letter-spacing:.08em}.contact-phone span{font-size:30px;letter-spacing:.015em;white-space:nowrap}.contact-mail span{font-family:var(--sans);font-size:17px;overflow-wrap:anywhere}.contact-mail b{font-weight:400;margin-left:15px;color:var(--gold)}footer{background:var(--ink);color:#f5f1e7;padding:65px 8% 25px}.footer-main{display:flex;align-items:center;gap:40px;flex-wrap:wrap}.footer-brand{display:flex;align-items:center;gap:16px}.footer-brand strong{font-size:25px;letter-spacing:.12em;font-weight:400}.footer-brand .brand-mark{color:#d0ba87;border-color:#a48e60}.footer-main>p{font-size:14px;letter-spacing:.03em}.instagram{margin-left:auto;font-family:Georgia,serif;font-size:16px;letter-spacing:.05em}.instagram span{margin-left:28px;color:#cbb787}.footer-bottom{border-top:1px solid #ffffff24;margin-top:50px;padding-top:22px;display:flex;justify-content:space-between;align-items:center}.footer-bottom small{font-size:12px;color:#c4cabf;letter-spacing:.1em}.footer-bottom a{font-size:13px}.footer-bottom a span{margin-left:25px;color:#cbb787}.reveal{opacity:1;transform:none}.motion .reveal{animation:reveal-in 1s both;animation-timeline:view();animation-range:entry 0% entry 30%}@keyframes photo-in{from{transform:scale(1.035);opacity:.7}to{transform:scale(1);opacity:1}}@keyframes title-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes reveal-in{from{opacity:.4;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.section{padding-left:max(8%,calc((100vw - 1360px)/2));padding-right:max(8%,calc((100vw - 1360px)/2))}.header{padding-left:5%;padding-right:5%}}
@media(max-width:1100px){.desktop-nav{gap:20px}.brand strong{font-size:23px}.brand{gap:12px}.desktop-nav .nav-contact{padding:14px}.nav-contact span{margin-left:12px}.quick-nav{padding:0 3%;grid-template-columns:.45fr 1fr 1fr 1.2fr}.quick-nav>a{padding:10px 20px;font-size:14px}.section{padding-left:7%;padding-right:7%}.history{gap:8%}.history-photo img{height:470px}.contact-panel{grid-template-columns:1fr 1.2fr;gap:30px}.contact-panel>div{grid-row:span 2}.contact-panel>a{grid-column:2}.contact-mail span{font-size:17px}.footer-main{gap:25px}.footer-main>p{font-size:13px}}
@media(max-width:850px){.header{height:85px;padding:0 6%}.desktop-nav{display:none}.brand strong{font-size:24px}.brand small{font-size:12px}.brand-mark{width:43px;height:43px;font-size:27px}.menu-toggle{display:flex;flex-direction:column;gap:7px;background:none;border:0;padding:10px 2px;cursor:pointer;min-width:44px;align-items:center;color:var(--ink)}.menu-toggle>span{height:1px;width:27px;background:var(--ink);transition:transform .2s}.menu-toggle small{font-family:var(--sans);font-size:12px;letter-spacing:.08em}.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}.mobile-nav{position:absolute;top:85px;left:0;width:100%;padding:22px 7% 32px;background:var(--paper);box-shadow:0 15px 20px #14211820}.mobile-nav a{display:block;padding:17px 0;border-bottom:1px solid var(--line);font-size:17px;letter-spacing:.08em}.hero{height:calc(90svh - 85px);min-height:540px}.hero-title{right:12%;top:15%;gap:20px}.hero h1{font-size:58px}.hero-bottom{left:35px;right:35px;bottom:35px}.quick-nav{grid-template-columns:1fr 1fr 1fr;padding:0 4%;min-height:95px}.quick-label{display:none}.quick-nav>a{font-size:13px;padding:12px 16px;line-height:1.8}.quick-nav>a:first-of-type{border:0}.section{padding-top:100px;padding-bottom:100px}.section-number{top:25px}.history{gap:8%}.history-photo img{height:430px}.history-text{font-size:16px}.vertical-heading{float:none;writing-mode:horizontal-tb;margin:0 0 25px;font-size:38px}.history-copy .eyebrow{margin-bottom:12px}.history-text p{line-height:2.25}.history-photo figcaption{right:-45px}.prayer-intro{gap:5%}.prayer-gallery{gap:16px}.prayer-gallery figure:nth-child(2){padding-top:40px}.prayer-gallery figure:nth-child(3){padding-top:80px}.cemetery{gap:8%}.cemetery h2 span{font-size:22px}.cemetery-photo{padding:10px}.access{gap:45px 7%;grid-template-columns:1fr 1fr}.access-map iframe{height:410px}.footer-main>p{width:100%;order:3}.instagram{font-size:14px}}
@media(max-width:600px){html{scroll-padding-top:25px}.header{height:78px;padding:0 5%}.brand strong{font-size:22px}.brand small{letter-spacing:.08em;font-size:12px}.brand{gap:12px}.brand-mark{width:40px;height:40px;font-size:25px}.mobile-nav{top:78px}.hero{height:calc(88svh - 78px);min-height:510px;max-height:780px}.hero-photo{object-position:42% center}.hero-shade{background:linear-gradient(90deg,#14241915,#12251a20 30%,#10221b70 85%),linear-gradient(0deg,#091910a6,transparent 40%)}.hero-frame{inset:13px}.hero-title{right:12%;top:12%;gap:17px}.hero h1{font-size:50px;letter-spacing:.24em;line-height:1.5}.hero-title>p{font-size:13px;letter-spacing:.3em}.seal{font-size:13px;padding:7px 5px}.hero-bottom{left:28px;right:28px;bottom:33px}.english{font-size:12px;max-width:120px;line-height:1.8}.hero-location{display:none}.scroll-link{font-size:13px;gap:14px}.scroll-link span{width:38px;height:38px}.quick-nav{padding:0 5%;display:flex;align-items:stretch;flex-direction:column}.quick-nav>a{padding:17px 0;border-left:0;border-top:1px solid var(--line);font-size:14px}.quick-nav>a:first-of-type{border-top:0}.quick-nav>a span{font-size:19px}.section{padding:90px 7%}.section-number{left:4%;top:20px;font-size:12px}.section-number:after{height:25px;margin-top:10px}.eyebrow{font-size:12px;letter-spacing:.13em;margin-bottom:15px}h2{font-size:33px;letter-spacing:.12em}.history{display:flex;flex-direction:column;gap:40px;align-items:stretch}.history-copy{padding:0}.vertical-heading{writing-mode:vertical-rl;float:right;font-size:37px;margin:5px 0 20px 24px;letter-spacing:.3em}.history-copy .eyebrow{margin-bottom:26px}.history-text{font-size:16px;letter-spacing:.035em}.history-text p{line-height:2.45}.history-photo{margin:0 20px 15px 0}.history-photo img{height:auto;max-height:460px;object-fit:cover;aspect-ratio:4/5}.history-photo:before{inset:16px -16px -16px 16px}.history-photo figcaption{right:-37px}.prayer-intro{display:block;margin-bottom:38px}.prayer-copy{padding-top:28px}.prayer-copy p{font-size:16px;letter-spacing:.035em}.prayer-copy p+p{margin-top:12px}.text-link{margin-top:24px;font-size:14px;padding:16px 0;gap:15px}.prayer-gallery{grid-template-columns:1fr 1fr;gap:16px}.prayer-gallery figure:nth-child(2){padding-top:28px}.prayer-gallery figure:nth-child(3){grid-column:1/-1;padding-top:0;width:75%;margin:0 auto}.prayer-gallery figure:nth-child(3) img{aspect-ratio:645/484;object-fit:contain}.cemetery{display:flex;flex-direction:column-reverse;gap:36px;align-items:stretch}.cemetery h2 span{font-size:23px;display:inline-block;margin-left:15px}.gold-rule{margin:25px 0}.cemetery-copy p{margin:15px 0;font-size:16px}.signature{padding-top:10px}.signature span{font-size:22px}.cemetery-photo{padding:12px}.cemetery-photo img{max-height:none}.access{display:block}.access-heading h2 br{display:none}.access-heading h2{font-size:29px;letter-spacing:.06em}.access-heading p{margin-top:23px}.access-map{margin-top:35px}.access-map iframe{height:340px}.contact-panel{display:flex;flex-direction:column;align-items:stretch;gap:30px;margin-top:38px;padding:30px 0}.contact-panel h3{font-size:23px}.contact-panel>a{gap:8px}.contact-phone span{font-size:34px}.contact-mail span{font-size:17px}.contact-panel small{font-size:14px}.contact-panel .eyebrow{font-size:12px}.footer-main{gap:24px}.footer-brand strong{font-size:22px}.footer-main>p{font-size:13px;line-height:1.9}.instagram{font-size:14px;margin-left:0}.instagram span{margin-left:14px}footer{padding:45px 7% 25px}.footer-bottom{margin-top:30px;gap:20px}.footer-bottom a{font-size:12px}.footer-bottom a span{margin-left:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion .reveal{opacity:1;transform:none}}
@media print{.header,.quick-nav,.hero,.section-number,.access-map,.instagram,.footer-bottom a{display:none}.section{padding:30px;break-inside:avoid}.reveal{opacity:1!important;transform:none!important}body{background:#fff}a{color:#000}footer{background:#fff;color:#000}}

.cemetery-photos{position:relative;padding-bottom:130px}.cemetery-photos .cemetery-photo{padding:0;margin-right:25px}.cemetery-photos .cemetery-photo img{aspect-ratio:4/3;object-fit:cover}.priest-photo{width:42%;margin:-35px -8px 0 auto;position:relative;border:8px solid var(--paper);background:var(--paper)}.priest-photo img{aspect-ratio:3/4;object-fit:cover}.priest-photo figcaption{font-size:12px;text-align:center;letter-spacing:.03em;margin-top:10px;line-height:1.8}.cemetery-photos{padding-bottom:0}@media(max-width:600px){.cemetery-photos .cemetery-photo{margin-right:25px}.priest-photo{width:42%;margin-top:-35px}.priest-photo figcaption{font-size:12px}}
