/* 真汐 · 归于真实，静如汐落 — 极简暖色主题 */
:root {
    --primary: #8B7355;
    --primary-light: #A6946E;
    --accent: #8B4A4A;
    --bg: #FAFAF5;
    --bg-alt: #F5F0EB;
    --bg-card: #FFFFFF;
    --text: #3D3226;
    --text-dim: #8B7E6F;
    --border: #E8E0D6;
    --radius: 6px;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Noto Serif SC','Source Han Serif SC','SimSun','STSong',Georgia,serif; background:var(--bg); color:var(--text); line-height:2; font-size:16px; }
a { color:var(--primary); text-decoration:none; transition:.2s; }
a:hover { color:var(--accent); }
.container { max-width:720px; margin:0 auto; padding:0 24px; }
.narrow { max-width:600px; }

/* Nav */
.nav { display:flex; align-items:center; justify-content:space-between; padding:20px 32px; position:sticky; top:0; z-index:100; background:rgba(250,250,245,.92); backdrop-filter:blur(12px); border-bottom:1px solid var(--border); }
.nav-brand { font-size:1.3rem; font-weight:700; color:var(--primary); letter-spacing:4px; }
.nav-links { display:flex; gap:24px; }
.nav-links a { font-size:.85rem; color:var(--text-dim); letter-spacing:1px; }
.nav-links a:hover, .nav-links a.active { color:var(--primary); }
@media(max-width:600px) { .nav { flex-direction:column; gap:12px; } .nav-links { gap:16px; } }

/* Hero */
.hero { position:relative; min-height:100vh; display:flex; align-items:center; justify-content:center; text-align:center; background:linear-gradient(160deg,#2C2418 0%,#3D3226 30%,#4A3F30 60%,#5C5040 100%); overflow:hidden; }
.hero-overlay { position:absolute; inset:0; background:radial-gradient(ellipse at 50% 80%,rgba(139,115,85,.15) 0%,transparent 60%); }
.hero-content { position:relative; z-index:1; padding:40px 24px; }
.hero-title { font-size:2.8rem; color:#F5F0EB; font-weight:400; letter-spacing:8px; margin-bottom:16px; line-height:1.4; }
.hero-sub { color:#A6946E; font-size:1rem; letter-spacing:4px; margin-bottom:48px; }
.hero-btns { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* Buttons */
.btn { display:inline-block; padding:14px 36px; border-radius:var(--radius); font-size:.9rem; font-weight:500; letter-spacing:2px; transition:.3s; cursor:pointer; border:none; font-family:inherit; }
.btn-primary { background:var(--primary); color:#fff; }
.btn-primary:hover { background:var(--primary-light); color:#fff; text-decoration:none; }
.btn-outline { background:transparent; color:#F5F0EB; border:1px solid rgba(245,240,235,.4); }
.btn-outline:hover { border-color:#F5F0EB; color:#fff; text-decoration:none; }
.btn-lg { padding:18px 48px; font-size:1rem; }
.btn-full { width:100%; text-align:center; }

/* Section */
.section { padding:64px 0; }
.section-alt { background:var(--bg-alt); }
.section-title { font-size:1.3rem; text-align:center; margin-bottom:32px; font-weight:400; letter-spacing:4px; color:var(--primary); }
.page-title { font-size:1.8rem; font-weight:400; letter-spacing:4px; text-align:center; color:var(--primary); margin-bottom:16px; }
.page-intro { text-align:center; color:var(--text-dim); font-size:.95rem; }

/* Values */
.values-section { background:var(--bg-alt); }
.values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; text-align:center; }
.value-card { padding:24px; }
.value-icon { font-size:2rem; margin-bottom:12px; }
.value-card h3 { font-size:1rem; font-weight:600; margin-bottom:8px; letter-spacing:2px; color:var(--primary); }
.value-card p { font-size:.85rem; color:var(--text-dim); line-height:1.8; }
@media(max-width:600px) { .values-grid { grid-template-columns:1fr; gap:24px; } }

/* Testimonials */
.testimonials-section { background:var(--bg); }
.testimonials-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.testimonial-card { padding:32px; background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); position:relative; }
.quote-mark { font-size:3rem; color:var(--border); line-height:1; position:absolute; top:12px; left:16px; font-family:Georgia,serif; }
.testimonial-text { font-style:italic; color:var(--text); font-size:.95rem; margin-bottom:12px; padding-top:8px; }
.testimonial-author { font-size:.8rem; color:var(--text-dim); }
@media(max-width:600px) { .testimonials-grid { grid-template-columns:1fr; } }

/* CTA */
.cta-section { background:var(--bg-alt); text-align:center; }
.cta-wrap { display:flex; flex-direction:column; align-items:center; gap:24px; }
.cta-text { font-size:1.2rem; letter-spacing:4px; color:var(--primary); }

/* Story */
.story-block p { margin-bottom:16px; text-indent:2em; }
.story-block .em { color:var(--primary); font-weight:500; }

/* Person */
.person-block { text-align:center; }
.person-text p { margin-bottom:12px; }
.person-text h2 { font-size:1.1rem; letter-spacing:3px; color:var(--primary); margin-bottom:24px; font-weight:400; }
.person-text .em { color:var(--accent); font-weight:500; }

/* Gallery */
.gallery-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.gallery-item { aspect-ratio:4/3; background:var(--bg-alt); border:1px solid var(--border); border-radius:var(--radius); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.gallery-placeholder { font-size:.85rem; color:var(--text-dim); letter-spacing:1px; }
@media(max-width:600px) { .gallery-grid { grid-template-columns:1fr; } }

/* Service Cards */
.service-cards { display:flex; flex-direction:column; gap:24px; }
.service-card { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); padding:32px; transition:.2s; }
.service-card:hover { box-shadow:0 2px 12px rgba(139,115,85,.08); }
.service-card.featured { border-left:3px solid var(--primary); }
.service-header { margin-bottom:12px; }
.service-tag { display:inline-block; font-size:.75rem; padding:3px 12px; border-radius:20px; background:var(--bg-alt); color:var(--text-dim); letter-spacing:1px; margin-bottom:8px; }
.tag-highlight { background:rgba(139,115,85,.1); color:var(--primary); }
.tag-deep { background:rgba(139,74,74,.08); color:var(--accent); }
.service-card h2 { font-size:1.2rem; font-weight:500; letter-spacing:2px; color:var(--text); }
.service-meta { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; font-size:.9rem; color:var(--text-dim); }
.service-price { font-size:1.3rem; font-weight:600; color:var(--primary); }
.service-card p { font-size:.9rem; color:var(--text-dim); line-height:1.9; margin-bottom:16px; }
.service-note { font-size:.8rem; color:var(--accent); padding-top:12px; border-top:1px solid var(--border); }
.service-footer { text-align:center; margin-top:40px; color:var(--text-dim); font-size:.9rem; }
.service-footer .em { color:var(--primary); font-weight:500; margin-top:8px; }

/* Notice Box */
.notice-box { background:var(--bg-card); border:1px solid var(--border); border-left:3px solid var(--primary); border-radius:var(--radius); padding:28px 32px; }
.notice-box h3 { font-size:1rem; letter-spacing:2px; color:var(--primary); margin-bottom:16px; font-weight:500; }
.notice-box ol { padding-left:20px; }
.notice-box li { margin-bottom:12px; font-size:.9rem; color:var(--text-dim); line-height:1.8; }
.notice-box strong { color:var(--text); }

/* Form */
.booking-form { max-width:480px; margin:0 auto; }
.form-group { margin-bottom:20px; }
.form-group label { display:block; font-size:.85rem; color:var(--text-dim); margin-bottom:6px; letter-spacing:1px; }
.form-group input, .form-group select, .form-group textarea { width:100%; padding:12px 14px; background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); font-size:.95rem; color:var(--text); font-family:inherit; transition:.2s; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline:none; border-color:var(--primary); box-shadow:0 0 0 3px rgba(139,115,85,.08); }
.form-group textarea { resize:vertical; }
.form-group select { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238B7E6F' fill='none' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; }

/* Location */
.location-block { text-align:center; }
.location-block p { margin-bottom:12px; }
.location-block .em { color:var(--primary); font-weight:500; }

/* FAQ */
.faq-list { display:flex; flex-direction:column; gap:12px; }
.faq-item { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; }
.faq-item summary { padding:20px 24px; font-weight:500; cursor:pointer; font-size:.95rem; letter-spacing:1px; list-style:none; display:flex; justify-content:space-between; align-items:center; }
.faq-item summary::after { content:'+'; color:var(--text-dim); font-size:1.2rem; transition:.2s; }
.faq-item[open] summary::after { content:'−'; }
.faq-item summary:hover { color:var(--primary); }
.faq-answer { padding:0 24px 20px; }
.faq-answer p { font-size:.9rem; color:var(--text-dim); line-height:1.9; }

/* Admin */
.admin-table { width:100%; border-collapse:collapse; font-size:.85rem; background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; }
.admin-table th { background:var(--bg-alt); padding:10px 12px; text-align:left; font-weight:600; font-size:.8rem; letter-spacing:1px; color:var(--text-dim); }
.admin-table td { padding:8px 12px; border-bottom:1px solid var(--border); color:var(--text); }
.admin-table tr:hover { background:rgba(139,115,85,.03); }

/* Footer */
.footer { text-align:center; padding:40px 0; border-top:1px solid var(--border); margin-top:0; }
.footer p { font-size:.75rem; color:var(--text-dim); letter-spacing:2px; }

/* Animations */
@keyframes fadeIn { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }
.hero-content { animation:fadeIn 1.2s ease-out; }
.section { animation:fadeIn .8s ease-out; }

@media(max-width:600px) {
    .hero-title { font-size:1.8rem; letter-spacing:4px; }
    .hero-sub { font-size:.85rem; }
    .btn { padding:12px 24px; font-size:.85rem; }
    .btn-lg { padding:14px 32px; }
    .service-card { padding:24px; }
    body { font-size:15px; }
}
