:root{--paper:#f7f8f6;--ink:#293c39;--muted:#61706a;--line:#d9dfd9;--sage:#e7ece6;--lilac:#e8e3ed;--serif:'Yu Mincho','Hiragino Mincho ProN',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;font-size:14px;line-height:1.9}a{color:inherit;text-decoration:none}button,select{font:inherit;color:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.65}a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid #665778;outline-offset:5px}.notice{text-align:center;font-size:11px;letter-spacing:.09em;background:var(--sage);padding:7px 12px}header{display:flex;justify-content:space-between;align-items:center;max-width:1440px;margin:auto;padding:26px 6vw;border-bottom:1px solid var(--line)}.brand{font-family:var(--serif);font-size:29px;letter-spacing:.14em}.brand span{font:italic 17px Georgia;letter-spacing:.04em;margin-left:10px}nav{display:flex;gap:34px;align-items:center}nav a,.text-button{font-size:12px}.text-button{border:0;background:none;padding:0}#count{display:inline-grid;place-items:center;background:var(--sage);border-radius:50%;width:23px;height:23px;margin-left:6px}main{min-height:60vh}.hero{display:grid;grid-template-columns:44% 56%;min-height:600px;max-width:1440px;margin:auto}.hero-copy{padding:95px 4vw 70px 9vw;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero h1{font:400 clamp(30px,3.5vw,51px)/1.65 var(--serif);letter-spacing:.09em;margin:20px 0}.hero p{color:var(--muted);max-width:30em;font-size:13px}.hero-visual{position:relative;min-height:520px;background:#e6e7e4}.hero-visual img{width:100%;height:100%;position:absolute;object-fit:cover}.caption{position:absolute;bottom:18px;right:22px;font-size:10px;background:#f7f8f6dd;padding:3px 10px}.button{display:inline-block;border:1px solid var(--ink);background:var(--ink);color:white;padding:13px 28px;font-size:12px;letter-spacing:.08em;margin-top:20px}.button.light{background:transparent;color:var(--ink)}.intro{display:flex;justify-content:space-between;gap:32px;padding:70px 9vw 30px;align-items:end}.intro h2,h2{font:400 30px/1.6 var(--serif);letter-spacing:.08em;margin:0}.intro p{font-size:12px;color:var(--muted)}.collection{padding:0 9vw 95px;max-width:1440px;margin:auto}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:5px 0 30px}.chip{border:1px solid var(--line);background:transparent;padding:7px 18px;font-size:12px;border-radius:25px}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.product{display:block;text-align:left}.stone-image{position:relative;overflow:hidden;aspect-ratio:1;background:var(--sage)}.stone-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.product:hover img{transform:scale(1.035)}.stone-image.citrine img{filter:sepia(.5) saturate(.8);object-position:70% 50%}.stone-image.aqua img{filter:hue-rotate(30deg) saturate(.65);object-position:30% 40%}.product h3{font:400 20px var(--serif);margin:20px 0 7px}.product p{margin:0;font-size:12px;color:var(--muted)}.price{display:block;font-size:13px;margin-top:9px}.mini{font-size:11px;color:var(--muted)}.story{background:var(--sage);display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:70px 12vw}.story p{max-width:36em;color:var(--muted);font-size:13px}.story h2{font-size:31px}.detail{padding:55px 9vw 80px;max-width:1440px;margin:auto}.back{display:inline-block;font-size:12px;margin-bottom:30px;border-bottom:1px solid}.detail-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:7vw}.detail h1{font:400 36px/1.6 var(--serif)}.detail dl{display:grid;grid-template-columns:100px 1fr;font-size:12px;border-top:1px solid var(--line);padding-top:18px;margin-top:25px}.detail dt,.detail dd{margin:0;padding:6px 0}.detail select{margin-left:16px;padding:8px;background:transparent;border:1px solid var(--line)}.detail .price{font-size:22px}.demo-note{padding:17px;background:var(--sage);font-size:12px;margin:22px 0}.legal{max-width:760px;margin:65px auto;padding:0 25px 70px}.legal h1{font:400 34px var(--serif)}.legal dt{margin-top:20px}.legal dd{margin:0;color:var(--muted)}footer{padding:50px 9vw;border-top:1px solid var(--line)}footer p{font-family:var(--serif);font-size:14px}footer div{display:flex;gap:26px;flex-wrap:wrap;font-size:11px;margin:26px 0}footer small{font-size:10px;color:var(--muted)}dialog{border:0;padding:30px;width:min(540px,92vw);max-height:85dvh;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#1e302b66}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head h2{font-size:24px}.dialog-head button,.remove{background:none;border:0;font-size:12px}.bag-row{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:20px 0}.bag-row img{width:70px;height:70px;object-fit:cover}.bag-row p{margin:0;font-size:12px}.bag-row button{background:none;border:1px solid var(--line);padding:3px 10px}.total{display:flex;justify-content:space-between;margin:25px 0}.empty{padding:40px 0}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;font-size:12px;padding:12px 24px;opacity:0;pointer-events:none;z-index:5;max-width:90vw}#toast.visible{opacity:1}.oracle{background:#efedf2}.oracle .hero-copy{padding-top:65px}.oracle .hero-visual img{filter:saturate(.55);object-position:60%}.ritual{max-width:1000px;margin:auto;padding:65px 25px 90px;text-align:center}.ritual h2{font-size:30px}.ritual>p{font-size:13px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:40px 0}.oracle-card{min-height:240px;background:#f8f7f9;border:1px solid #d8d2df;padding:30px 15px;border-radius:100px 100px 2px 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.oracle-card .gem{font-size:43px;line-height:1.5;color:#8b7c9c}.oracle-card span:last-child{font-family:var(--serif);font-size:18px}.oracle-card:hover,.oracle-card[aria-pressed=true]{background:#e2dce9;border-color:#8b7c9c}.result{background:#f8f7f9;border-top:1px solid #b8adca;padding:35px;text-align:left;max-width:670px;margin:auto}.result h3{font:400 25px var(--serif)}.result p{font-size:14px}.result .mini{font-size:11px}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;z-index:10;background:white;padding:10px}@media(max-width:700px){header{padding:20px 6vw}.brand{font-size:25px}.brand span{font-size:14px;margin-left:4px}nav{gap:15px}nav a,.text-button{font-size:11px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:48px 8vw 42px}.hero h1{font-size:34px;margin:10px 0}.hero-visual{min-height:360px}.hero p{font-size:12px}.intro{padding:45px 7vw 22px;display:block}.intro h2{font-size:27px}.collection{padding:0 7vw 50px}.grid{grid-template-columns:repeat(2,1fr);gap:25px 16px}.product h3{font-size:17px;line-height:1.5}.product p,.price{font-size:11px}.story{display:block;padding:45px 8vw}.story h2{font-size:27px}.detail{padding:30px 7vw 50px}.detail-grid{display:block}.detail h1{font-size:29px}.cards{gap:10px}.oracle-card{min-height:180px;padding:20px 8px}.oracle-card span:last-child{font-size:14px}.oracle-card .gem{font-size:32px}.result{padding:25px}.ritual{padding:45px 6vw 65px}footer{padding:40px 7vw}.notice{font-size:9px}.oracle .hero-copy{padding-top:45px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* The shop takes its spacing from a quiet product gallery; the oracle keeps its existing layout. */
.store-view{background:#fff}.store-view header{position:relative;display:grid;grid-template-columns:1fr auto 1fr;padding:28px 4vw}.store-view header::before{content:'宝石のアトリエ';font-family:var(--serif);font-size:12px;letter-spacing:.14em}.store-view header .brand{font-size:31px;white-space:nowrap}.store-view header nav{justify-content:flex-end;gap:25px}.store-view .hero{max-width:none}.store-view .hero-copy{padding-left:8vw}.store-view .product h3{font-size:19px}.store-view .stone-image{background:#f8f8f8}.store-view .stone-image.citrine img,.store-view .stone-image.aqua img{filter:none;object-position:center}.detail{padding:28px 4vw 80px;max-width:1600px}.breadcrumbs{display:flex;justify-content:flex-start;gap:12px;font-size:10px;color:var(--muted);margin-bottom:30px}.detail-grid{grid-template-columns:minmax(0,1.35fr) minmax(310px,.8fr);gap:6vw;align-items:start}.gallery-main{border:0;background:#f9f9f9;padding:0;position:relative;width:100%;display:block}.gallery-main .stone-image{aspect-ratio:1.15}.gallery-main .stone-image img{object-fit:cover}.gallery-main .caption{display:none}.zoom-label{position:absolute;right:22px;bottom:20px;font-size:10px;letter-spacing:.08em}.gallery-disclaimer{text-align:center;margin:14px 0 24px}.gallery-thumbs{display:flex;align-items:center;gap:14px}.thumb{width:70px;height:70px;padding:0;border:1px solid var(--line);background:#f8f8f8;overflow:hidden}.thumb.active{border-color:var(--ink)}.thumb img{width:100%;height:100%;object-fit:cover}.thumb .close-view{transform:scale(1.7)}.detail-crop img{transform:scale(1.65)}.product-information{position:sticky;top:30px;padding:18px 0}.product-collection{margin:0 0 9px}.detail h1{font-size:35px;letter-spacing:.1em;margin:0 0 6px}.product-subtitle{font:400 17px var(--serif);margin:0}.product-summary{font-size:12px;color:var(--muted);margin:23px 0 28px;max-width:37em}.purchase-price{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:25px}.purchase-price>span:first-child{font-size:22px}.purchase-price .mini{font-size:10px}.quantity-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:13px 0}.quantity-row label{font-size:12px}.quantity-row select{border:0;margin:0;padding:5px 18px}.add-to-bag{display:flex;justify-content:center;gap:24px;width:100%;margin-top:0;padding:16px 15px;background:#21342f;border-color:#21342f}.purchase-caption{font-size:10px;color:var(--muted);margin:13px 0 26px}.product-accordions{border-top:1px solid var(--line)}.product-accordions details{border-bottom:1px solid var(--line);padding:15px 0}.product-accordions summary{font-size:12px;list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.product-accordions summary::after{content:'＋';font-size:16px}.product-accordions details[open] summary::after{content:'−'}.product-accordions p{font-size:11px;color:var(--muted);margin:16px 0 4px}.detail .product-accordions dl{font-size:11px;grid-template-columns:100px 1fr;border:0;padding:0;margin:12px 0 0}.detail .product-accordions dd{color:var(--muted)}.collection-back{margin:22px 0 0;font-size:11px}.detail-recommend{padding-top:110px;margin:auto;max-width:900px}.detail-recommend h2{text-align:center;font-size:26px;margin-bottom:40px}.detail-recommend .grid{grid-template-columns:repeat(2,1fr);gap:40px}.image-dialog{width:min(850px,94vw);padding:20px}.image-dialog>img{display:block;width:100%;max-height:72dvh;object-fit:contain}.image-close{display:block;margin-left:auto;border:0;background:transparent;font-size:12px;padding:8px}.image-dialog p{text-align:center}.checkout-button{width:100%;margin-top:0}.checkout-result{min-height:50vh}.checkout-result .back{display:block;width:max-content;margin-top:35px}@media(max-width:700px){.store-view header{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;padding:20px 6vw}.store-view header::before{display:none}.store-view header .brand{width:100%;text-align:center;font-size:27px}.store-view header nav{justify-content:center;gap:35px}.detail{padding:22px 6vw 50px}.breadcrumbs{gap:8px;margin-bottom:22px;font-size:9px}.detail-grid{display:block}.gallery-main .stone-image{aspect-ratio:1}.gallery-disclaimer{font-size:9px;margin:10px 0 16px}.gallery-thumbs{gap:10px}.thumb{width:54px;height:54px}.gallery-thumbs .mini{font-size:9px}.product-information{position:static;padding-top:35px}.detail h1{font-size:30px}.product-summary{margin:20px 0}.purchase-price{margin-bottom:20px}.purchase-price .mini{font-size:9px}.add-to-bag{font-size:11px;gap:17px}.detail-recommend{padding-top:60px}.detail-recommend h2{font-size:24px}.detail-recommend .grid{gap:16px}}
