:root{--ink:#1b1610;--ink-soft:#48402f;--ink-faint:#867a5f;--red:#a5341f;--red-deep:#87281a;--red-soft:#a5341f5c;--gold:#c29a44;--gold-bright:#dab45e;--gold-line:#c29a445c;--gold-grad:linear-gradient(135deg,#e0bd66,#b6882a);--paper:#f3e7d0;--paper-2:#ecdfc5;--card:#faf3e2;--hero-img:image-set(url(/images/hero-banner.webp) type("image/webp"), url(/images/hero-banner.jpg) type("image/jpeg"));--maxw:1200px;--read:760px;--nav-h:68px;--f-serif:"Songti TC","STSongti","STSong","Noto Serif TC","PingFang TC",serif;--f-sans:"PingFang TC","Heiti TC",-apple-system,"Segoe UI",sans-serif;--ease:cubic-bezier(.22,.61,.36,1);--t-label:.78rem;--t-sm:.94rem;--t-body:1.0625rem;--t-lead:1.19rem;--t-h4:1.19rem;--t-h3:1.34rem;--t-title:clamp(1.6rem,2.4vw,2.05rem);--t-hero:clamp(2.4rem,4.6vw,3.4rem);--sp-sec:clamp(4.5rem,9vh,7rem);--sp-head:clamp(2.75rem,5vw,3.75rem);--sp-el:1.5rem}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--f-sans);color:var(--ink);background:var(--paper);font-size:var(--t-body);letter-spacing:.01em;-webkit-font-smoothing:antialiased;line-height:1.9;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(24px,5vw,56px)}.reading{max-width:var(--read);margin-inline:auto}[data-reveal]{opacity:0;transition:opacity .8s var(--ease),transform .8s var(--ease);transform:translateY(26px)}[data-reveal].in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transition:none;transform:none}}.kicker{font-family:var(--f-sans);font-size:var(--t-label);letter-spacing:.28em;color:var(--red);font-weight:600;display:inline-block}.btn{font-family:var(--f-sans);letter-spacing:.06em;cursor:pointer;transition:.24s var(--ease);white-space:nowrap;border:1px solid #0000;border-radius:3px;padding:14px 30px;font-size:.96rem;display:inline-block}.btn-red{background:var(--red);color:#f7f0e2;font-weight:600;box-shadow:0 8px 22px -12px #9e3b2c99}.btn-red:hover{background:var(--red-deep);transform:translateY(-2px)}.btn-ink{border-color:var(--ink);color:var(--ink)}.btn-ink:hover{background:var(--ink);color:var(--paper)}.btn-ghost{border-color:var(--gold-line);color:var(--ink)}.btn-ghost:hover{border-color:var(--gold);background:#b08a3e14}.seal{border:2px solid var(--red);width:74px;height:74px;color:var(--red);text-align:center;font-family:var(--f-serif);letter-spacing:.06em;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:.92rem;font-weight:700;line-height:1.3;display:flex;transform:rotate(-4deg)}.band{padding:var(--sp-sec) 0;scroll-margin-top:var(--nav-h);position:relative}.band.tint{background:var(--paper-2)}.sec-head{text-align:center;max-width:640px;margin:0 auto var(--sp-head)}.sec-head .en{font-family:var(--f-sans);letter-spacing:.34em;color:var(--gold);text-transform:uppercase;margin-bottom:14px;font-size:.74rem;font-weight:600;display:block}.sec-head .line{background:var(--gold);opacity:.7;width:36px;height:1px;margin:20px auto 0}.sec-title{font-family:var(--f-serif);font-weight:600;font-size:var(--t-title);letter-spacing:.02em;color:var(--ink);line-height:1.5}.sec-intro{color:var(--ink-soft);font-size:var(--t-body);margin-top:16px;line-height:1.9}.closer{margin:var(--sp-head) auto 0;text-align:center;max-width:30ch;font-family:var(--f-serif);font-weight:500;font-size:var(--t-h3);color:var(--ink);line-height:1.75}nav{z-index:50;height:var(--nav-h);align-items:center;transition:background .3s,box-shadow .3s,backdrop-filter .3s;display:flex;position:fixed;top:0;left:0;right:0}nav.scrolled{backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--gold-line);background:#f4eddedb}nav .in{max-width:var(--maxw);justify-content:space-between;align-items:center;width:100%;margin:0 auto;padding:0 clamp(24px,5vw,56px);display:flex}nav .logo{font-family:var(--f-serif);letter-spacing:.12em;color:var(--ink);font-size:1.06rem;font-weight:700}nav .links{align-items:center;gap:19px;display:flex}nav .links a{color:var(--ink-soft);letter-spacing:.04em;white-space:nowrap;font-size:.9rem;transition:color .2s}nav .links a:hover{color:var(--red)}nav .links a.navcta{color:#fff;padding:9px 22px;font-size:.9rem}nav .social{align-items:center;gap:12px;margin-left:4px;display:flex}nav .social a{color:var(--ink-soft);transition:color .2s;display:flex}nav .social a:hover{color:var(--red)}nav .social svg{width:18px;height:18px;display:block}@media (width<=860px){nav .links a:not(.navcta),nav .social{display:none}}.hero{background:var(--paper);position:relative;overflow:hidden}.hero-photo{z-index:0;aspect-ratio:1915/821;background:var(--hero-img) center/cover no-repeat;width:100%;position:relative}.hero:after{content:"";z-index:1;background:radial-gradient(50% 44% at 50% 47%,#f3e7d080,#f3e7d01a 62%,#0000 78%);position:absolute;inset:0}.hero .wrap{z-index:2;padding-top:var(--nav-h);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.hero .col{text-align:center;max-width:640px;margin:0 auto}.hero .kicker{margin-bottom:26px}.hero h1{font-family:var(--f-serif);font-weight:700;font-size:var(--t-hero);letter-spacing:.03em;color:var(--ink);line-height:1.28}.hero h1 em{color:var(--red);font-style:normal}.hero .lede{max-width:44ch;color:var(--ink-soft);font-size:var(--t-body);margin:24px auto 0;line-height:1.95}.hero .cta-row{margin-top:var(--sp-head);flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;display:flex}.scrollcue{color:var(--ink-faint);letter-spacing:.3em;writing-mode:vertical-rl;align-items:center;gap:12px;font-size:.72rem;display:flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.scrollcue:after{content:"";background:linear-gradient(var(--gold),transparent);width:1px;height:40px;animation:cue 2s var(--ease) infinite}@keyframes cue{0%{opacity:.2;transform:scaleY(.4)}50%{opacity:1}to{opacity:.2;transform:scaleY(1)}}.grid-3{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.pcard{background:var(--card);border:1px solid var(--gold-line);transition:transform .3s var(--ease),box-shadow .3s var(--ease);border-radius:8px;padding:clamp(26px,2.6vw,34px)}.pcard:hover{transform:translateY(-4px);box-shadow:0 22px 40px -26px #3c281466}.pcard .n{font-family:var(--f-serif);color:var(--ink-faint);margin-bottom:14px;font-size:1.5rem;font-weight:600;line-height:1}.pcard h3{font-family:var(--f-serif);font-weight:600;font-size:var(--t-h3);color:var(--ink);margin-bottom:8px;line-height:1.5}.pcard p{color:var(--ink-soft);font-size:var(--t-body);line-height:1.9}.grid-2{grid-template-columns:repeat(2,1fr);gap:clamp(28px,4vw,56px) clamp(40px,6vw,88px);max-width:1040px;margin:0 auto;display:grid}.scard{border-top:1px solid var(--gold-line);padding-top:26px}.scard .mk{font-family:var(--f-serif);color:var(--gold);margin-bottom:14px;font-size:1.5rem;line-height:1}.scard h3{font-family:var(--f-serif);font-weight:600;font-size:var(--t-h3);color:var(--ink);margin-bottom:6px;line-height:1.5}.scard p{color:var(--ink-soft);font-size:var(--t-body);max-width:52ch;line-height:1.9}.grid-4{grid-template-columns:repeat(4,1fr);gap:18px;max-width:1080px;margin:0 auto;display:grid}.fcard{background:var(--card);border:1px solid var(--gold-line);text-align:center;transition:transform .3s var(--ease),box-shadow .3s var(--ease);border-radius:10px;padding:clamp(26px,2.4vw,32px)}.fcard:hover{transform:translateY(-4px);box-shadow:0 22px 40px -26px #3c281466}.fcard .ic{border:1px solid var(--red-soft);width:56px;height:56px;color:var(--red);font-family:var(--f-serif);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 18px;font-size:1.5rem;font-weight:700;display:flex}.fcard h3{font-family:var(--f-serif);font-weight:600;font-size:var(--t-h4);color:var(--ink);margin-bottom:10px;line-height:1.5}.fcard p{color:var(--ink-soft);font-size:var(--t-sm);line-height:1.85}.svc{grid-template-columns:repeat(2,1fr);gap:20px;max-width:900px;margin:0 auto;display:grid}.svc-card{border:1px solid var(--gold-line);background:var(--card);border-radius:8px;flex-direction:column;padding:clamp(30px,3.4vw,44px);display:flex;position:relative}.svc-card.feat{border-color:var(--red-soft)}.svc-card .tag{background:var(--red);color:#f7f0e2;letter-spacing:.14em;border-radius:999px;padding:4px 14px;font-size:.72rem;font-weight:600;position:absolute;top:-11px;left:clamp(30px,3.4vw,44px)}.svc-card h3{font-family:var(--f-serif);color:var(--ink);margin-bottom:4px;font-size:1.5rem;font-weight:700}.svc-card .price{font-family:var(--f-serif);color:var(--red);margin-bottom:2px;font-size:1.9rem;font-weight:700}.svc-card .price small{color:var(--ink-faint);font-size:.9rem;font-weight:400;font-family:var(--f-sans);margin-left:4px}.svc-card ol{counter-reset:s;border-top:1px solid var(--gold-line);flex:1;gap:14px;margin:22px 0 26px;padding-top:22px;list-style:none;display:grid}.svc-card li{counter-increment:s;color:var(--ink-soft);font-size:var(--t-body);grid-template-columns:auto 1fr;align-items:baseline;gap:14px;display:grid}.svc-card li:before{content:counter(s);font-family:var(--f-serif);color:var(--gold);border:1px solid var(--gold-line);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.95rem;font-weight:700;display:flex}.svc-card .btn{text-align:center;width:100%}.about{grid-template-columns:.85fr 1.15fr;align-items:start;gap:clamp(32px,5vw,64px);max-width:1060px;margin:0 auto;display:grid}.about .aside{top:calc(var(--nav-h) + 30px);position:sticky}.about .qcard{border:1px solid var(--gold-line);background:linear-gradient(180deg,#b08a3e0f,var(--card));border-radius:10px;padding:clamp(30px,3vw,42px)}.about .qcard .seal{margin-bottom:24px}.about .qcard q{font-family:var(--f-serif);quotes:none;color:var(--red);font-size:clamp(1.3rem,2.2vw,1.7rem);font-weight:700;line-height:1.62;display:block}.about .qcard .who{border-top:1px solid var(--gold-line);color:var(--ink);font-family:var(--f-serif);letter-spacing:.06em;margin-top:22px;padding-top:18px;font-size:1rem}.about .body .sub-k{font-family:var(--f-serif);color:var(--red);letter-spacing:.1em;margin:0 0 14px;font-size:1.02rem;font-weight:700}.about .body .blk{margin-bottom:34px}.about .body p{color:var(--ink-soft);font-size:var(--t-lead);margin-bottom:16px;line-height:2.1}.about .body p.lead{color:var(--ink);font-family:var(--f-serif);font-weight:500}.about .body b{color:var(--red);font-weight:700}.about .cta-row{margin-top:10px}.stars{color:var(--gold);letter-spacing:3px;text-align:center;margin-bottom:22px;font-size:1rem}.shots{grid-template-columns:repeat(2,1fr);gap:clamp(20px,3vw,36px);max-width:720px;margin:0 auto;display:grid}.shot{border:1px solid var(--gold-line);background:var(--card);border-radius:14px;margin:0;overflow:hidden;box-shadow:0 26px 54px -32px #3c28148c}.shot img{width:100%;display:block}.shot figcaption{text-align:center;font-family:var(--f-serif);color:var(--ink);letter-spacing:.08em;border-top:1px solid var(--gold-line);padding:15px 16px;font-size:1rem}.shot figcaption .st{color:var(--gold);letter-spacing:2px;margin-top:6px;font-size:.86rem;display:block}.shotnote{text-align:center;color:var(--ink-faint);letter-spacing:.04em;margin:0 auto 30px;font-size:.86rem}.steps{grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,28px);max-width:1040px;margin:0 auto;display:grid;position:relative}.step{text-align:center;position:relative}.step .dot{border:1px solid var(--red-soft);background:var(--card);width:56px;height:56px;color:var(--red);font-family:var(--f-serif);z-index:1;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;font-size:1.4rem;font-weight:800;display:flex;position:relative}.step:not(:last-child):after{content:"";background:var(--gold-line);height:1px;position:absolute;top:28px;left:calc(50% + 34px);right:calc(34px - 50%)}.step h4{font-family:var(--f-serif);font-weight:600;font-size:var(--t-h4);color:var(--ink);margin-bottom:10px}.step p{color:var(--ink-soft);font-size:var(--t-sm);max-width:24ch;margin:0 auto;line-height:1.85}.pricebar{text-align:center;border:1px solid var(--red-soft);background:#9e3b2c0a;border-radius:10px;max-width:640px;margin:clamp(48px,5vw,64px) auto 0;padding:26px}.pricebar b{font-family:var(--f-serif);color:var(--red);letter-spacing:.02em;margin-bottom:6px;font-size:1.34rem;font-weight:700;display:block}.pricebar span{color:var(--ink-soft);font-size:.98rem}.faq{max-width:var(--read);margin:0 auto}.faq details{border-bottom:1px solid var(--gold-line)}.faq summary{cursor:pointer;font-family:var(--f-serif);font-weight:600;font-size:var(--t-h3);color:var(--ink);padding:24px 44px 24px 0;list-style:none;transition:color .2s;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:hover{color:var(--red)}.faq summary:after{content:"＋";color:var(--red);transition:transform .3s var(--ease);font-size:1.3rem;font-weight:400;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.faq details[open] summary:after{content:"－"}.faq .ans{color:var(--ink-soft);font-size:var(--t-body);animation:fadein .4s var(--ease);padding:0 44px 28px 0;line-height:2}@keyframes fadein{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.linewrap{background:radial-gradient(ellipse 80% 100% at 50% 0%,#a5341f0f,transparent 60%),var(--paper-2)}.linebox{text-align:center;border:1px solid var(--gold-line);background:var(--card);border-radius:14px;max-width:660px;margin:0 auto;padding:clamp(34px,4vw,52px);box-shadow:0 26px 54px -34px #3c281480}.linebox .seal{margin:0 auto 24px}.linebox h2{font-family:var(--f-serif);color:var(--ink);margin-bottom:14px;font-size:clamp(1.5rem,2.6vw,2rem);font-weight:700;line-height:1.5}.linebox p{color:var(--ink-soft);font-size:var(--t-body);max-width:40ch;margin:0 auto;line-height:1.9}.linebox .qr{border:1px dashed var(--red-soft);width:172px;height:172px;color:var(--ink-faint);text-align:center;background:#ffffff73;border-radius:12px;justify-content:center;align-items:center;margin:28px auto 24px;padding:12px;font-size:.78rem;line-height:1.7;display:flex}.linebox .id{color:var(--ink-faint);letter-spacing:.06em;margin-top:18px;font-size:.9rem}.cform{max-width:var(--read);gap:18px;margin:0 auto;display:grid}.cform .row{gap:8px;display:grid}.cform label{color:var(--ink-soft);font-size:.9rem;font-family:var(--f-serif);letter-spacing:.04em}.cform label .req{color:var(--red);margin-left:4px}.cform input,.cform select,.cform textarea{font-family:var(--f-sans);color:var(--ink);background:var(--card);border:1px solid var(--gold-line);border-radius:6px;width:100%;padding:13px 15px;font-size:1rem;transition:border-color .2s}.cform input:focus,.cform select:focus,.cform textarea:focus{border-color:var(--red-soft);outline:none}.cform textarea{resize:vertical;min-height:120px}.cform .two{grid-template-columns:1fr 1fr;gap:18px;display:grid}.cform .btn{justify-self:center;margin-top:8px;padding:16px 46px;font-size:1.02rem}.cform .note{text-align:center;color:var(--ink-faint);letter-spacing:.02em;font-size:.82rem}@media (width<=640px){.cform .two{grid-template-columns:1fr}}footer{border-top:1px solid var(--gold-line);text-align:center;padding:40px 0}footer .logo{font-family:var(--f-serif);letter-spacing:.14em;color:var(--red);font-size:1.02rem;font-weight:700}footer .fsocial{justify-content:center;gap:18px;margin-top:16px;display:flex}footer .fsocial a{color:var(--ink-faint);transition:color .2s}footer .fsocial a:hover{color:var(--red)}footer .fsocial svg{width:20px;height:20px}footer p{color:var(--ink-faint);letter-spacing:.1em;margin-top:16px;font-size:.84rem}.mobcta{z-index:40;padding:12px 16px calc(12px + env(safe-area-inset-bottom));backdrop-filter:blur(12px);border-top:1px solid var(--gold-line);background:#f4eddef0;display:none;position:fixed;bottom:0;left:0;right:0}.mobcta a{text-align:center;display:block}@media (width<=960px){.about{grid-template-columns:1fr;gap:36px}.about .aside{position:static}.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.hero{display:block}.hero-photo{z-index:0;aspect-ratio:auto;background:var(--hero-img) 74% center/cover no-repeat;width:100%;height:42vh;min-height:280px;position:relative}.hero:after{display:none}.hero .wrap{padding:34px 22px 6px;display:block;position:static;inset:auto}.hero .col{text-align:center;max-width:none;margin:0 auto}.grid-3,.grid-2,.grid-4,.svc,.shots{grid-template-columns:1fr!important}.shots{max-width:360px}.steps{grid-template-columns:1fr;gap:8px}.step{text-align:left;grid-template-columns:auto 1fr;align-items:center;gap:2px 18px;padding:14px 0;display:grid}.step .dot{grid-area:1/1/3;margin:0}.step h4{grid-area:1/2;margin-bottom:2px}.step p{grid-area:2/2;max-width:none;margin:0}.step:not(:last-child):after,.scrollcue{display:none}.mobcta{display:block}footer{padding-bottom:90px}}
