*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{--bg:#0C0A09;--surface:#1A1816;--surface2:#252220;--text:#F5F0EB;--text-muted:#A39E97;--primary:#B45309;--primary-light:#D97706;--accent:#F59E0B;--border:rgba(180,83,9,.2);--font-en:'Playfair Display',serif;--font-jp:'Noto Sans JP',sans-serif}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-jp);background:var(--bg);color:var(--text);line-height:1.9;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.sample-banner{position:fixed;top:0;left:0;right:0;background:var(--primary);color:#fff;text-align:center;font-size:11px;padding:7px;z-index:99999;letter-spacing:.5px}

/* Header */
header{position:fixed;top:28px;left:0;right:0;z-index:9998;background:rgba(12,10,9,.92);backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}
.header-inner{max-width:1100px;margin:0 auto;padding:16px 40px;display:flex;justify-content:space-between;align-items:center}
.logo{display:flex;align-items:baseline;gap:14px}
.logo-main{font-family:var(--font-en);font-size:22px;font-weight:700;color:var(--text);letter-spacing:1px}
.logo-sub{font-size:11px;color:var(--primary-light);letter-spacing:2px}
nav{display:flex;gap:28px;align-items:center}
nav a{font-size:.8rem;color:var(--text-muted);transition:color .3s;font-weight:400}
nav a:hover{color:var(--primary-light)}
.nav-cta{background:var(--primary);color:#fff !important;padding:8px 22px;border-radius:2px;font-weight:500}

/* Hero */
.hero{padding:180px 40px 120px;max-width:1100px;margin:0 auto}
.hero-label{font-family:var(--font-en);font-size:12px;color:var(--primary-light);letter-spacing:4px;text-transform:uppercase;margin-bottom:24px}
.hero h1{font-family:var(--font-en);font-size:clamp(36px,5vw,62px);font-weight:700;line-height:1.2;margin-bottom:20px;color:var(--text)}
.hero h1 em{font-style:normal;color:var(--primary-light)}
.hero-sub{font-size:1rem;color:var(--text-muted);max-width:560px;line-height:2;margin-bottom:40px}
.hero-stats{display:flex;gap:48px;margin-top:48px}
.stat-item .stat-num{font-family:var(--font-en);font-size:42px;font-weight:700;color:var(--primary-light)}
.stat-item .stat-label{font-size:.75rem;color:var(--text-muted);margin-top:4px}

/* Section */
section{padding:100px 40px}
.section-inner{max-width:1100px;margin:0 auto}
.section-label{font-family:var(--font-en);font-size:11px;color:var(--primary);letter-spacing:4px;text-transform:uppercase;margin-bottom:12px}
.section-title{font-family:var(--font-en);font-size:clamp(28px,3.5vw,42px);font-weight:700;margin-bottom:16px}
.section-desc{color:var(--text-muted);max-width:600px;margin-bottom:56px}

/* Practice Areas */
.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.practice-card{background:var(--surface);padding:40px 32px;transition:background .3s}
.practice-card:hover{background:var(--surface2)}
.practice-card h3{font-size:1.05rem;margin-bottom:12px;font-weight:600}
.practice-card p{font-size:.85rem;color:var(--text-muted);line-height:1.8}
.practice-num{font-family:var(--font-en);font-size:11px;color:var(--primary);margin-bottom:16px;letter-spacing:2px}

/* About */
.about-content{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.about-text h3{font-family:var(--font-en);font-size:28px;font-weight:700;margin-bottom:20px}
.about-text p{color:var(--text-muted);margin-bottom:16px;font-size:.92rem}
.about-profile{background:var(--surface);padding:48px;border-left:3px solid var(--primary)}
.about-name{font-size:1.2rem;font-weight:700;margin-bottom:4px}
.about-title{font-size:.8rem;color:var(--primary-light);margin-bottom:20px}
.about-bio{font-size:.85rem;color:var(--text-muted);line-height:2}

/* Strengths */
.strength-list{display:flex;flex-direction:column;gap:2px}
.strength-item{display:grid;grid-template-columns:80px 1fr;gap:40px;padding:40px;background:var(--surface);align-items:start}
.strength-item .s-num{font-family:var(--font-en);font-size:32px;font-weight:700;color:var(--primary)}
.strength-item h3{font-size:1.05rem;margin-bottom:8px;font-weight:600}
.strength-item p{font-size:.85rem;color:var(--text-muted);line-height:1.8}

/* Testimonials */
.testimonial-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px}
.testimonial-card{background:var(--surface);padding:40px}
.testimonial-card blockquote{font-size:.9rem;color:var(--text-muted);line-height:2;margin-bottom:20px;font-style:italic}
.testimonial-card .t-author{font-size:.8rem;color:var(--primary-light)}

/* FAQ */
.faq-list{display:flex;flex-direction:column;gap:2px}
.faq-item{background:var(--surface);overflow:hidden}
.faq-q{padding:24px 32px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-weight:500;font-size:.95rem}
.faq-q::after{content:'+';font-family:var(--font-en);font-size:20px;color:var(--primary);transition:transform .3s}
.faq-item.open .faq-q::after{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-item.open .faq-a{max-height:300px}
.faq-a p{padding:0 32px 24px;font-size:.85rem;color:var(--text-muted);line-height:1.9}

/* Contact */
.contact-section{background:var(--surface)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.contact-info h3{font-family:var(--font-en);font-size:28px;margin-bottom:20px}
.contact-info p{font-size:.85rem;color:var(--text-muted);margin-bottom:12px}
.contact-tel{font-family:var(--font-en);font-size:28px;font-weight:700;color:var(--primary-light);margin:24px 0}
.contact-form input,.contact-form textarea{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);padding:14px 18px;font-size:.9rem;font-family:var(--font-jp);margin-bottom:12px;border-radius:0}
.contact-form textarea{height:140px;resize:vertical}
.contact-form button{background:var(--primary);color:#fff;border:none;padding:16px 48px;font-size:.9rem;cursor:pointer;font-family:var(--font-jp);letter-spacing:1px;transition:background .3s}
.contact-form button:hover{background:var(--primary-light)}

/* Footer */
footer{padding:60px 40px;border-top:1px solid var(--border)}
.footer-inner{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}
.footer-logo{font-family:var(--font-en);font-size:16px;font-weight:700}
.footer-copy{font-size:.75rem;color:var(--text-muted)}

/* Responsive */
@media(max-width:768px){
.header-inner{padding:12px 20px}
nav{display:none}
.hero{padding:140px 20px 80px}
.hero-stats{flex-wrap:wrap;gap:24px}
section{padding:60px 20px}
.practice-grid{grid-template-columns:1fr}
.about-content{grid-template-columns:1fr;gap:40px}
.testimonial-grid{grid-template-columns:1fr}
.contact-grid{grid-template-columns:1fr;gap:32px}
.strength-item{grid-template-columns:1fr;gap:12px}
.footer-inner{flex-direction:column;gap:16px;text-align:center}
}
