/* Colors and sans-serif direction from 3dme.jp's published design tokens. */
:root{--paper:#fff;--white:#fff;--ink:#222;--muted:#666;--teal:#00897b;--teal-dark:#00695f;--line:#e6e6e6;--sage:#f1f1f1;--peach:#fbfbfb;--brand:#3fab9b;--sans:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;--serif:var(--sans)}
body{background:#fff;font-family:var(--sans);color:var(--ink)}h1,h2,h3{font-family:var(--sans);font-weight:700;letter-spacing:.02em}.site-header{background:#fffffff5;border-color:var(--line)}.hero{background:#fff}.hero h1 .highlight:after{background:#3fab9b33}.hero-original{transform:none;border-radius:12px}.hero-main>img,.memory-photo,.access-photo,.story-image{border-radius:16px}.btn{border-radius:999px;background:var(--teal);font-weight:700}.btn.outline{background:#fff;border-color:var(--teal);color:var(--teal)}.btn.outline:hover{background:#edf7f5}.location:before{background:var(--brand)}.fact-number,.step-number,.price-size,.story-number{font-family:var(--sans)}.proof,.experience,.faq{background:#fbfbfb}.memory,.access{background:#fff}.story-labels span{background:#f1f1f1;color:#444}.proof-stage-switch button[aria-pressed="true"]{background:var(--teal);border-color:var(--teal)}.viewer-start{border-radius:999px}.price-card{background:#fbfbfb;border-color:var(--line);border-radius:16px}.price-card:nth-child(2){background:#eef8f6;border-color:var(--brand)}.price-card:before{display:none}.type-selector{background:#f1f1f1;border-radius:999px}.type-selector button{border-radius:999px}.type-selector button[aria-pressed="true"]{background:var(--teal)}.step{border-color:var(--line)}.preview-note{background:#fff;border-color:var(--line);border-radius:12px}.final-cta{background:#3fab9b;color:#fff}.final-cta h2,.final-cta p,.final-cta .eyebrow,.final-cta .small{color:#fff}.final-cta .btn{background:#fff;color:#00695f}.final-cta .btn:hover{background:#f1f1f1}.final-cta:before,.final-cta:after{display:none}.site-footer{background:#f1f1f1}.mobile-booking{background:#fffffff7;border-color:var(--line)}
.social-section,.studio-section{padding:76px 0;background:#fbfbfb}.social-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.social-section .eyebrow,.studio-section .eyebrow{margin-bottom:12px}.section-description{font-size:16px;color:var(--muted);margin:20px 0;line-height:1.9}.social-account{display:block;color:var(--teal);font-size:22px;font-weight:700;margin:20px 0}.social-visual img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px}.social-visual figcaption{font-size:13px;color:var(--muted);margin-top:10px}.simulator-callout{display:grid;grid-template-columns:1fr auto;gap:18px 30px;align-items:center;border:2px solid var(--brand);border-radius:20px;padding:30px;margin-top:30px;background:#eef8f6}.simulator-callout h3{font-size:24px;margin:7px 0}.simulator-callout p{font-size:16px}.simulator-callout .eyebrow{font-size:12px}.simulator-callout .simulator-note{grid-column:1/-1;font-size:13px;color:var(--muted)}.simulator-callout .btn{font-size:15px;gap:8px}.studio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:32px}.studio-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;display:flex;flex-direction:column;align-items:flex-start}.studio-card h3{font-size:22px;margin-bottom:14px}.studio-address{font-size:16px;color:#666;margin-bottom:12px}.studio-subjects{font-size:14px;color:var(--teal);margin-bottom:22px}.studio-card .text-link{margin-top:auto;font-size:14px}.source-note{font-size:13px;color:#666;margin-top:24px}.source-note a{text-decoration:underline}.footer-right a{display:inline-block;margin-right:12px}
@media(max-width:760px){.social-section,.studio-section{padding:50px 0}.social-layout{grid-template-columns:1fr;gap:26px}.simulator-callout{grid-template-columns:1fr;padding:22px;gap:18px}.simulator-callout h3{font-size:22px}.simulator-callout .btn{width:100%;font-size:14px}.studio-grid{grid-template-columns:1fr}.studio-card{padding:24px}.section-description br{display:none}.social-account{font-size:20px}}
.catalog-columns{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:36px}.catalog-panel{--catalog-color:#00897b;min-width:0;border-block:10px solid var(--catalog-color);padding:20px 16px;background:#fff}.catalog-panel.pet{--catalog-color:#789719}.catalog-panel header{text-align:center}.catalog-panel h3{font-size:28px;color:var(--catalog-color)}.catalog-panel header p{font-size:14px;color:#666;margin-top:5px}.catalog-included{font-size:13px;text-align:center;padding:13px 8px;margin-top:16px;background:#f5f7f6;border:1px solid #e6e6e6}.catalog-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 14px;margin:34px 0}.catalog-item{position:relative;min-width:0;text-align:center}.catalog-photo{position:relative;padding-right:25px;height:174px;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid #ddd}.catalog-photo img{width:100%;height:100%;object-fit:contain}.catalog-measure{position:absolute;right:0;top:0;bottom:0;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:17px;font-weight:700;color:var(--catalog-color);border-right:1px dashed #aaa;padding-right:5px;background:#ffffffe6}.catalog-measure small{font-size:12px}.catalog-item h4{font-size:12px;line-height:1.6;margin:10px 0 6px;font-weight:500}.catalog-price{font-size:24px;font-weight:800;line-height:1.25;letter-spacing:-.04em;white-space:nowrap}.catalog-price small{display:block;font-size:12px;font-weight:400;letter-spacing:0;margin-top:5px}.catalog-badge{position:absolute;top:-23px;left:50%;transform:translateX(-50%);z-index:1;border-radius:20px;background:#e74c4c;color:white;white-space:nowrap;font-size:11px;padding:2px 8px}.catalog-notes{border:1px solid #ddd;padding:14px;font-size:14px}.catalog-notes summary{font-weight:700;cursor:pointer}.catalog-notes ul{padding-left:20px;margin-bottom:0}.catalog-notes li{margin-bottom:8px}.catalog-disclaimer{font-size:13px;color:#666;margin-top:22px}.catalog-tabs{display:flex;margin-top:28px;gap:8px}.catalog-tabs[hidden],.catalog-panel[hidden]{display:none}.catalog-tabs button{flex:1;padding:13px 8px;background:#f1f1f1;border-radius:999px;font-size:14px;font-weight:700}.catalog-tabs button[aria-pressed="true"]{background:#00897b;color:#fff}.catalog-tabs button[data-catalog="pet"][aria-pressed="true"]{background:#657e16}
@media(min-width:761px) and (max-width:1050px){.catalog-items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.catalog-columns{display:block;margin-top:20px}.catalog-panel{padding:20px 8px}.catalog-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 18px}.catalog-photo{height:190px}.catalog-panel h3{font-size:26px}.catalog-price{font-size:27px}.catalog-item h4{font-size:13px}}

/* Official production examples */
.official-cases{padding:72px 0 80px;background:#f5f8f7}.official-cases .section-description{margin:20px 0 30px}.official-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}.official-case{display:block;background:#fff;border-radius:16px;overflow:hidden;padding-bottom:22px;color:inherit;text-decoration:none}.official-case img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#fff}.official-case>span,.official-case h3,.official-case>p{display:block;margin:14px 20px 0}.official-case>span{font-size:11px;color:var(--teal)}.official-case h3{font-size:16px;line-height:1.7}.official-case>p{font-size:12px;color:var(--teal)}.official-case:focus-visible{outline:3px solid #00897b;outline-offset:4px}.cases-source{font-size:11px;color:#666;margin-top:25px}.cases-source a{text-decoration:underline}.faq-grid{grid-template-columns:1fr;gap:30px;max-width:1000px}.faq-intro{text-align:center}.faq-intro p{margin-top:14px}.faq-list summary{font-size:15px;padding-top:24px;padding-bottom:24px}.faq-answer{font-size:14px}.faq-list summary:after{content:"⌄"}.faq-list details[open] summary:after{content:"⌃"}
@media(max-width:700px){.official-cases{padding:52px 0}.official-case-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.official-case h3{font-size:13px}.official-case>span,.official-case h3,.official-case>p{margin-left:12px;margin-right:12px}.official-case>span{font-size:9px}.faq-list summary{font-size:13px}.faq-answer{font-size:12px}}

/* Clear size / price comparison */
.catalog-columns{gap:32px}.catalog-panel{border:1px solid #dbe7e3;border-top:5px solid #00897b;border-radius:16px;padding:26px;background:#fff;min-width:0}.catalog-panel.pet{border-top-color:#00897b}.catalog-panel header h3{color:#00897b}.catalog-included{font-size:12px;padding:12px;margin:20px 0}.rate-visual{margin:0;display:flex;align-items:center;gap:18px;background:#f5f8f7;border-radius:10px;overflow:hidden}.rate-visual img{width:42%;height:200px;object-fit:cover}.rate-visual figcaption{font-size:12px;color:#666;padding:12px}.rate-size-guide{font-size:13px;line-height:1.8;margin:20px 0 14px;color:#555;min-height:46px}.rate-table{width:100%;border-collapse:collapse;table-layout:fixed}.rate-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.rate-table thead{background:#edf5f2}.rate-table th,.rate-table td{padding:16px 12px;border-bottom:1px solid #dbe7e3}.rate-table th{text-align:left}.rate-table thead th{font-size:12px;font-weight:600}.rate-table thead th:first-child{width:31%}.rate-table thead th:last-child{text-align:right}.rate-table tbody th strong{font-size:23px;color:#00897b}.rate-table tbody th span{font-size:13px}.rate-table td{text-align:right}.rate-amount{white-space:nowrap;font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:0}.rate-amount small{display:inline;font-size:11px;font-weight:400;margin-left:4px;white-space:nowrap}.catalog-notes{margin-top:24px}.catalog-disclaimer{margin-bottom:30px}.simulator-callout{margin-top:30px}
@media(max-width:1050px) and (min-width:761px){.catalog-panel{padding:18px}.rate-amount{font-size:20px}.rate-table th,.rate-table td{padding:14px 8px}}
@media(max-width:760px){.catalog-panel{padding:18px}.rate-visual img{height:180px}.rate-size-guide{min-height:0}.rate-amount{font-size:24px}.rate-table th,.rate-table td{padding:16px 8px}.catalog-tabs{margin-bottom:18px}}
@media(max-width:360px){.rate-amount{font-size:20px}.rate-amount small{font-size:10px}.catalog-panel{padding:14px}}

.rate-visual img{object-fit:contain;height:250px;background:#eceeea}@media(max-width:760px){.rate-visual img{height:220px}}

/* Official 3DME wordmark, used without recoloring or distortion. */
.brand .official-brand-logo,.footer-brand .official-brand-logo{width:150px;height:auto;flex-shrink:0;object-fit:contain}.brand .brand-sub{margin:0;font-size:11px;letter-spacing:.05em}.footer-brand{display:flex;align-items:center;gap:16px}.footer-brand span{margin:0}@media(max-width:760px){.brand{gap:10px}.brand .official-brand-logo{width:115px}.brand .brand-sub{font-size:9px}.footer-brand .official-brand-logo{width:130px}}

/* Continuous mobile journey: every step remains visible. */
@media(max-width:760px){.proof-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:38px}.proof-step+.proof-step{border-top:1px solid #dbe7e3;padding-top:30px}.proof-step-title{font-size:20px}.proof-step-title span{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e6f4ef;font-size:14px}.social-visual img{object-position:50% 55%}}
.rate-visual img{aspect-ratio:1;object-fit:contain;height:auto}.social-visual img{object-fit:cover}
