@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600&family=Noto+Sans+JP:wght@300;400;500&display=swap');:root{--ink:#3e3935;--muted:#85796d;--paper:#faf8f5;--gold:#aa8c64}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-weight:300;line-height:2}h1,h2,h3,.brand,.quote{font-family:'Noto Serif JP',serif;font-weight:400}h1{font-size:clamp(2rem,5vw,4.3rem);line-height:1.65}h2{font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.65}h3{font-size:1.3rem}p{max-width:760px}a{color:inherit}header{background:#fffdfb;position:sticky;top:0;z-index:9;box-shadow:0 1px 8px #3020150d}header .top{max-width:1300px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:13px 22px}.brand{font-size:1.32rem;letter-spacing:.09em;text-decoration:none}nav{display:flex;gap:15px;flex-wrap:wrap;font-size:.76rem}nav a{text-decoration:none}nav a:hover{color:var(--gold)}main{min-height:65vh}.hero{position:relative;min-height:550px;display:grid;align-items:center;background:#ded6ca;overflow:hidden}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.48}.hero .hero-inner{position:relative;max-width:1180px;margin:auto;width:100%;padding:85px 32px;text-shadow:0 1px 15px #fff}.eyebrow{letter-spacing:.3em;text-transform:uppercase;color:#846c51;font-size:.76rem;font-weight:500}.wrap{max-width:1180px;margin:0 auto;padding:85px 25px}.intro{text-align:center}.intro p{margin:0 auto}.quote{font-size:clamp(1.3rem,3vw,2.3rem);line-height:2.1;text-align:center}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.card{text-decoration:none;background:white;padding-bottom:20px}.card img{width:100%;height:290px;object-fit:contain;background:#e8e0d7}.card .txt{padding:15px 22px}.card small{color:var(--gold);letter-spacing:.1em}.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.split img{width:100%;max-height:570px;object-fit:contain;background:#ece4db}.line{border-top:1px solid #ded6cd;padding:24px 0}.price{font-size:1.45rem;color:#94734d;font-family:'Noto Serif JP',serif}.btn{display:inline-block;text-decoration:none;background:#7c6654;color:white;padding:13px 30px;margin-top:22px;letter-spacing:.08em}.btn.secondary{background:transparent;border:1px solid #a68b72;color:#765e4a}.notice{border:1px solid #dfd1bf;padding:20px;background:#fffdf9;font-size:.87rem}.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.photos img{width:100%;height:320px;object-fit:contain;background:#e8e0d7}.footer{background:#eee8df;padding:45px 25px;text-align:center;font-size:.82rem}.footer p{margin:auto}.float{position:fixed;right:16px;bottom:17px;background:#637c5b;color:white;padding:11px 18px;text-decoration:none;border-radius:30px;z-index:10;box-shadow:0 4px 20px #0002}@media(max-width:850px){header .top{display:block}nav{overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;padding-top:10px;padding-bottom:5px}.cards{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.photos{grid-template-columns:repeat(2,1fr)}.hero{min-height:480px}}@media(max-width:520px){.cards,.photos{grid-template-columns:1fr}.wrap{padding:60px 20px}.hero .hero-inner{padding:65px 22px}.card img{height:340px}}
/* V3: mobile-first navigation and accessible photos */
@media(max-width:760px){header .top{display:block;padding:12px 14px}.brand{display:block;margin-bottom:7px}nav{display:flex;overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;gap:16px;padding-bottom:5px;scrollbar-width:thin}nav a{flex:none;font-size:.78rem}.hero{min-height:460px}.hero .hero-inner{padding:55px 20px}.wrap{padding:54px 18px}.cards{grid-template-columns:1fr 1fr;gap:10px}.card img{height:auto;aspect-ratio:4/5;object-fit:contain}.card .txt{padding:10px}.card h3{font-size:1rem}.split{grid-template-columns:1fr;gap:18px}.photos{grid-template-columns:1fr 1fr}.photos img{height:auto;aspect-ratio:4/5}.float{font-size:.8rem}}

/* V4 premium plan cards */
.v4grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.v4tile{border:1px solid #ddd3c7;padding:28px;background:#faf8f4}.v4tile h2{font-size:1.35rem;margin:0 0 14px}.v4tile p{line-height:1.9}.v4tile a{color:inherit;text-decoration:underline}.fineprint{font-size:.85rem;opacity:.75;line-height:1.8}.plan-v4{border-top:1px solid #e6dfd6}@media(max-width:700px){.v4grid{grid-template-columns:1fr}.v4tile{padding:20px}}
/* V5 preview */
.v5plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin:26px 0}.v5plan{background:#fff;border:1px solid #e6ddd2;padding:27px 22px;display:flex;flex-direction:column}.v5plan h3{font-size:1.17rem;line-height:1.6;margin:10px 0}.v5plan p{font-size:.87rem;line-height:1.9;flex:1}.v5plan .price{font-size:1.5rem}.v5plan .price small{display:block;font-size:.67rem;color:#85796d}.v5link{font-size:.84rem;color:#7c6654;text-decoration:none;border-top:1px solid #eee3d6;padding-top:12px}.v5caution{font-size:.79rem;line-height:1.8;color:#786a5f;background:#f2ece4;padding:14px 18px;margin-top:24px}.v5pricing{border-bottom:1px solid #e5ded5}@media(max-width:800px){.v5plans{grid-template-columns:1fr}.v5plan{padding:20px}}

/* V6 readability + accessible hamburger navigation */
:root{--ink:#292725;--muted:#625a52;--gold:#785735}
body{font-weight:400;line-height:1.85;font-size:16px}
p,li{line-height:1.9}nav a{font-size:1rem}small,.fineprint,.v5caution{font-size:.9rem;color:#554e47;opacity:1}
.eyebrow{color:#654b30;font-size:.82rem} .v5plan p{font-size:1rem}.v5link{font-size:.95rem}
.hero img{opacity:.3;filter:brightness(.8)}.hero{background:#e9e3db}.hero-inner{background:linear-gradient(90deg,#f9f6f0e8,#f9f6f05c);border-radius:6px}.hero .hero-inner{text-shadow:none}.hero h1,.hero p{color:#292725}
header .top{position:relative;gap:20px}.menu-toggle{display:flex;align-items:center;justify-content:center;gap:5px;flex-direction:column;flex:0 0 auto;min-width:58px;min-height:54px;background:#fff;border:1px solid #bfb2a2;border-radius:6px;color:#3c3027;cursor:pointer}.menu-toggle span{display:block;width:23px;height:2px;background:currentColor;border-radius:2px}.menu-toggle b{font-size:10px;letter-spacing:.1em;line-height:1.2;margin-top:3px}
header nav{display:none;position:absolute;top:100%;right:16px;left:16px;max-height:calc(100dvh - 85px);overflow-y:auto;flex-direction:column;flex-wrap:nowrap;gap:0;background:#fffdfb;padding:10px 20px;box-shadow:0 12px 30px #0002;border:1px solid #e5dbd0;border-radius:0 0 10px 10px;z-index:40;white-space:normal}
header nav.is-open{display:flex}header nav a{display:block;padding:11px 5px;border-bottom:1px solid #ece6dd;font-size:1rem;white-space:normal}header nav a[aria-current=page]{color:#765231;font-weight:700}
@media(max-width:850px){header .top{display:flex;align-items:center;justify-content:space-between;padding:10px 15px}.brand{display:inline-block;margin:0;font-size:1.18rem}header nav{overflow-y:auto;overflow-x:hidden;flex-wrap:nowrap;white-space:normal;padding:10px 20px;gap:0}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.cards{grid-template-columns:1fr}.hero{min-height:420px}.hero .hero-inner{padding:38px 22px}.hero h1{font-size:clamp(1.9rem,7vw,2.6rem)}.wrap{padding:48px 20px}.v5plan p{font-size:1rem}.card img{height:auto;aspect-ratio:4/5}}
.preview-banner{background:#fff3d9;color:#493822;border-bottom:1px solid #e8cf95;padding:11px 20px;font-size:.86rem;line-height:1.6;text-align:center;font-weight:500}
.sample-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.sample-grid figure{margin:0;background:#fff;border:1px solid #e8e2db}.sample-grid img{width:100%;height:260px;object-fit:contain;background:#eee9e3;display:block}.sample-grid figcaption{padding:8px 10px;font-size:.78rem;color:#61564a;text-align:center}.sample-photo{object-position:center}
@media(max-width:700px){.sample-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.sample-grid img{height:auto;aspect-ratio:4/5}.sample-grid figcaption{font-size:.7rem}}
@media(prefers-reduced-motion:no-preference){header nav a:hover{background:#f7f1ea}}

/* V7 editorial refinement */
:root{--ink:#292521;--muted:#625a51;--paper:#f8f6f2;--gold:#96714e}body{font-weight:400;line-height:1.85;letter-spacing:.015em}p,li{font-size:clamp(16px,1.15vw,18px)}.brand{font-weight:600}.hero{min-height:min(760px,86vh);background:#c8b8a7}.hero img{opacity:.36;filter:saturate(.7)}.hero-inner{background:linear-gradient(90deg,rgba(255,255,255,.66),transparent);border-radius:4px}.hero h1{font-size:clamp(2.3rem,5vw,5.2rem);font-weight:500;letter-spacing:.055em}.card{box-shadow:0 12px 35px rgba(48,33,22,.06);transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-4px);box-shadow:0 15px 38px rgba(48,33,22,.12)}.card img{height:350px;object-fit:cover}.card h3{font-weight:600}.preview-banner{font-size:13px!important;line-height:1.65!important}nav a{font-size:15px}small{font-size:13px}button,a{touch-action:manipulation}@media(max-width:700px){.wrap{padding:55px 20px}.hero{min-height:610px}.hero .hero-inner{padding:65px 24px}.card img{height:auto;aspect-ratio:4/5;object-fit:cover}.hero img{object-position:center}.cards{gap:16px}h2{font-size:clamp(1.6rem,6vw,2.2rem)}}

/* V9 shrine narrative */
.shrine-story{background:#f4efe8;border-radius:8px;margin-top:50px;margin-bottom:50px;padding-top:68px;padding-bottom:68px}.story-lead{max-width:780px;margin:0 auto 32px;line-height:2}.story-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.story-step{position:relative;background:#fff;padding:18px;border:1px solid #e4d9cb;border-radius:8px;box-shadow:0 8px 22px #37271b0a}.step-number{font-family:Georgia,serif;font-size:26px;color:#97734b}.step-icon{font-size:24px;position:absolute;right:20px;top:18px}.story-step img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#ede7df;border-radius:5px;margin:8px 0 12px}.story-step h3{font-size:20px;margin:5px 0}.story-step p{font-size:15px;line-height:1.85;margin:0}.story-note{font-size:13px!important;color:#5d5349;margin-top:24px}.shrine-story h2{font-weight:500;text-align:center}.shrine-story .eyebrow{text-align:center}@media(max-width:850px){.story-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.story-steps{grid-template-columns:1fr}.shrine-story{padding:42px 18px}.story-step img{max-height:300px}}

/* V11 THE STORY shared identity and cross-site navigation */
.brand{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.1}.brand-story{font-family:Arial,sans-serif;font-size:10px;letter-spacing:.27em;font-weight:600;color:#907756}.studio-nav{border-top:1px solid rgba(130,110,83,.22);margin-top:10px;padding-top:15px!important}.line-nav{font-weight:700!important}.studio-crosslink{background:#f2ede5;color:#332a23;padding:54px 20px;text-align:center}.studio-crosslink-inner{max-width:850px;margin:auto}.studio-crosslink h2{font-family:serif;font-weight:500;font-size:clamp(23px,3vw,36px);margin:0 0 14px}.studio-crosslink p{font-size:16px;line-height:1.8;margin:0 0 24px}.studio-crosslink-btn,.story-footer-links a{display:inline-block;text-decoration:none;border:1px solid #796447;padding:13px 22px;border-radius:3px;color:#423524;font-weight:600}.studio-crosslink-btn:hover,.story-footer-links a:hover{background:#e8dfd1}.story-footer-links{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:20px 0}.story-footer-links a{color:inherit;border-color:currentColor;font-size:14px}.story-footer-links .line-footer-link{background:#446a50;color:white;border-color:#446a50}@media(max-width:650px){.story-footer-links{flex-direction:column}.story-footer-links a{display:block}.studio-crosslink{padding:42px 20px}}

/* V12: photo matching, visual shrine flow and refined responsive editorial layout */
:root{--paper:#faf8f5;--ink:#292724;--gold:#896d4d}body{font-family:'Noto Sans JP',system-ui,sans-serif;line-height:1.85}h1,h2,h3{letter-spacing:.025em}.wrap{max-width:1200px}.card{border-radius:3px;overflow:hidden}.card img{object-fit:contain;background:#eee8e0}.hero img{opacity:.52;filter:none;object-position:center 40%}.hero-inner{background:linear-gradient(90deg,rgba(250,248,245,.93),rgba(250,248,245,.72) 56%,rgba(250,248,245,.05))}.story-step img{object-fit:contain;background:#f3ede5}.v12-mosaic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0 44px}.v12-mosaic figure{margin:0;background:#f2ede7;overflow:hidden}.v12-mosaic img{width:100%;aspect-ratio:4/3;object-fit:contain;display:block}.v12-mosaic figcaption{padding:10px 14px;font-size:12px;color:#65594d}.v12-flow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}.v12-flow-grid article{background:#fff;border:1px solid #e4d9cc;padding:16px}.v12-flow-grid img{width:100%;aspect-ratio:560/390;object-fit:contain}.v12-flow-grid h3{font-size:1.1rem}.v12-flow-grid p{font-size:15px}.v12-gallery h3{margin-top:48px;border-bottom:1px solid #dfd3c5;padding-bottom:12px}.v12-editorial{border-top:1px solid #e3d8cb}.preview-banner{font-weight:500}@media(max-width:760px){.v12-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v12-flow-grid{grid-template-columns:1fr 1fr;gap:10px}.v12-flow-grid article{padding:10px}.v12-flow-grid p{font-size:14px}.hero-inner{background:linear-gradient(90deg,rgba(250,248,245,.95),rgba(250,248,245,.7))}}@media(max-width:480px){.v12-flow-grid{grid-template-columns:1fr}.v12-mosaic img{aspect-ratio:3/4}.hero{min-height:500px}}

/* V13: native details navigation: reliable without JavaScript */
header .top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px}
.site-menu{position:static;flex:0 0 auto}
.site-menu summary{list-style:none;-webkit-tap-highlight-color:transparent;user-select:none}
.site-menu summary::-webkit-details-marker{display:none}
.site-menu summary::marker{content:""}
.site-menu summary:focus-visible{outline:3px solid #96714e;outline-offset:3px}
.site-menu[open] summary{background:#f2ede5}
.site-menu nav{display:none!important;position:absolute;top:100%;right:12px;left:12px;z-index:1000;max-height:calc(100dvh - 90px);overflow-y:auto;overflow-x:hidden;white-space:normal;flex-direction:column;gap:0;padding:12px 18px;background:#fffdfb;border:1px solid #e5dbd0;box-shadow:0 16px 36px #0003}
.site-menu[open] nav{display:flex!important}
.site-menu nav a{font-size:16px;display:block;flex:none;white-space:normal;padding:12px 6px}
@media(max-width:850px){header .top{display:flex!important;align-items:center;justify-content:space-between}.site-menu{margin-left:auto}.brand{margin:0!important}}
