@import url("https://fonts.googleapis.com/css2?family=Caveat:wght@500;700&family=Cormorant+Garamond:wght@300&family=LXGW+WenKai+TC:wght@300&display=swap");@font-face{font-family:ChenYu LuoYan Thin;src:url(/cherry/fonts/ChenYuluoyan-2.0-Thin.ttf) format("truetype");font-style:normal;font-weight:300;font-display:swap}:root{--bg:#f9f5f1;--bg-deep:#ece1d7;--surface:hsla(30,40%,96%,.7);--surface-strong:hsla(30,40%,96%,.92);--text:#2f2f2f;--muted:#6e625b;--line:rgba(120,4,53,.16);--accent:#780435;--accent-warm:#b88b60;--accent-deep:#4d0222;--taupe:#b6a99d;--earth-wash:rgba(120,4,53,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,PingFang TC,Noto Sans TC,sans-serif;background:linear-gradient(180deg,hsla(30,40%,96%,.96),hsla(30,40%,96%,.78)),radial-gradient(circle at top left,rgba(120,4,53,.09),transparent 34%),radial-gradient(circle at top right,rgba(184,139,96,.14),transparent 32%),var(--bg)}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Songti TC,"Noto Serif TC",serif;font-weight:600}.script{font-family:Segoe Script,Brush Script MT,cursive;font-style:italic}.site{width:min(1380px,calc(100% - 32px));margin:0 auto;padding:20px 0 44px}.topbar{--topbar-padding-x:max(16px,calc((100vw - 1380px) / 2));display:flex;justify-content:space-between;align-items:center;gap:16px;margin-inline:calc(var(--topbar-padding-x) * -1);padding:14px var(--topbar-padding-x) 18px;position:-webkit-sticky;position:sticky;top:0;z-index:20;background:transparent;border-bottom:1px solid transparent;box-shadow:none;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.topbar.is-scrolled{background:#780435;border-bottom-color:hsla(36,38%,92%,.22);box-shadow:0 14px 30px rgba(77,2,34,.22);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.topbar.is-scrolled .menu-toggle,.topbar.is-scrolled .nav a{color:#f8f2ea}.topbar.is-scrolled .nav a:hover{color:#e4d8ca}.brand{display:flex;align-items:center;z-index:2}.brand-logo{width:clamp(124px,10vw,168px);height:auto;display:block;border-radius:1px}.menu-toggle{display:none;align-items:center;gap:8px;padding:8px 0;border:0;background:transparent;color:var(--text);cursor:pointer;font:inherit}.menu-toggle__bar{display:block;width:18px;height:2px;background:currentColor;box-shadow:0 6px 0 currentColor,0 -6px 0 currentColor}.menu-toggle__label{font-size:.85rem;opacity:1}.nav{gap:clamp(22px,2.4vw,34px);font-family:LXGW WenKai TC,PingFang TC,Noto Sans TC,sans-serif;font-weight:300}.nav,.nav a{display:flex}.nav a{flex-direction:column;align-items:center;gap:6px;line-height:1}.nav__label{font-size:22px;font-weight:300;letter-spacing:.02em}.nav__subtitle{font-family:Cormorant Garamond,Times New Roman,serif;font-size:13px;font-weight:300;line-height:1.1;letter-spacing:.08em;opacity:.78}.nav a:hover{color:var(--accent)}#about,#contact,#home,#portfolio,#services{scroll-margin-top:96px}.button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;padding:0 20px;border-radius:2px;border:1px solid var(--line);transition:transform .16s ease,background .16s ease,color .16s ease}.button:hover{transform:translateY(-1px)}.button-solid{background:var(--accent);color:#fff;border-color:var(--accent)}.button-solid:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.button-ghost,.button-outline,.section-link{background:transparent}.hero{display:flex;flex-direction:column;gap:clamp(30px,4.4vw,56px);padding:20px 0 52px}.hero-intro{display:grid;grid-template-columns:minmax(0,.95fr) minmax(260px,.58fr);grid-gap:clamp(30px,4.6vw,70px);gap:clamp(30px,4.6vw,70px);align-items:center;max-width:1180px;margin:0 auto;padding:0 clamp(24px,4vw,56px)}.hero-portrait{position:relative;width:min(100%,420px);justify-self:end;min-height:clamp(360px,34vw,540px);padding:clamp(10px,1.2vw,16px);border-radius:999px 999px 4px 4px;background:linear-gradient(180deg,hsla(30,40%,96%,.86),hsla(37,33%,89%,.52)),var(--bg-deep);box-shadow:0 24px 42px rgba(77,2,34,.08),inset 0 0 0 1px rgba(120,4,53,.24)}.hero-portrait:after,.hero-portrait:before{content:"";position:absolute;pointer-events:none;border-radius:999px 999px 4px 4px}.hero-portrait:before{inset:0;border:1px solid rgba(120,4,53,.34)}.hero-portrait:after{inset:clamp(8px,1vw,13px);z-index:2;border:1px solid rgba(184,139,96,.52);box-shadow:inset 0 0 0 1px hsla(30,40%,96%,.42)}.hero-portrait .tinted-image{position:absolute;inset:clamp(10px,1.2vw,16px);overflow:hidden;border-radius:999px 999px 3px 3px}.hero-portrait .cover-image{object-position:center}.hero-copy{display:flex;flex-direction:column;justify-content:flex-start;max-width:100%;padding:0}.hero-script{margin:0 0 12px;color:var(--accent);font-size:1.2rem}h1{font-family:ChenYu LuoYan Thin,LXGW WenKai TC,Songti TC,"Noto Serif TC",serif;font-size:clamp(1.9rem,2.78vw,3.34rem);font-weight:400;line-height:1.45;margin-bottom:clamp(16px,2vw,24px);letter-spacing:.045em;text-align:justify;text-align-last:left;text-shadow:0 0 .01px currentColor}.hero-title-line{display:block}.hero-title-line+.hero-title-line{margin-top:.16em}.hero-title-en{margin-bottom:24px;color:var(--text);font-family:Caveat,Segoe Script,Brush Script MT,cursive;font-size:clamp(1.62rem,2.12vw,2.46rem);font-weight:500;line-height:1.32;letter-spacing:.004em;text-align:justify;text-align-last:left}.hero-text{max-width:34rem;font-size:1.02rem;line-height:1.9;color:var(--muted)}.hero-actions{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap}.hero-visual{position:relative;width:100%}.hero-image-frame{position:relative;height:clamp(420px,56vw,760px);min-height:0;overflow:hidden;border-radius:2px;background:linear-gradient(145deg,#efe4d8,var(--taupe))}.hero-tint,.tinted-image{position:absolute;inset:0}.hero-tint{cursor:default;background:#76052f}.hero-tint .tinted-image__photo{object-fit:contain;padding:clamp(32px,7vw,96px);filter:none}.hero-tint .tinted-image__wash{opacity:0}.hero-carousel{position:absolute;inset:0;overflow:hidden;background:var(--accent)}.hero-carousel__slide{position:absolute;inset:0;opacity:0;transform:scale(1.02);transition:opacity .9s ease,transform 3.6s ease}.hero-carousel__slide.is-active{opacity:1;transform:scale(1);z-index:1}.hero-carousel__image{object-fit:cover;object-position:center}.hero-carousel:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(47,47,47,.02),rgba(47,47,47,.14)),linear-gradient(90deg,rgba(120,4,53,.14),transparent 42%)}.hero-carousel__dots{position:absolute;left:50%;bottom:18px;z-index:3;display:flex;gap:10px;transform:translateX(-50%)}.hero-carousel__dot{width:9px;height:9px;padding:0;border:1px solid hsla(30,40%,96%,.82);border-radius:999px;background:hsla(30,40%,96%,.32);cursor:pointer;transition:width .18s ease,background .18s ease,border-color .18s ease}.hero-carousel__dot.is-active{width:28px;background:#f9f5f1;border-color:#f9f5f1}.tinted-image{overflow:hidden}.tinted-image__photo{object-fit:cover;object-position:center}.section{margin-top:22px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;gap:18px}.category-card{--category-accent:var(--accent);--image-wash:hsla(35,38%,63%,.42);overflow:hidden;border:1px solid var(--line);background:hsla(37,33%,89%,.84)}.category-card--new-chinese{--category-accent:var(--accent);--image-wash:rgba(139,70,58,.3)}.category-card--wedding{--category-accent:var(--accent-warm);--image-wash:rgba(154,102,113,.27)}.category-card--portrait{--category-accent:var(--taupe);--image-wash:rgba(110,88,73,.28)}.category-card--event{--category-accent:var(--accent);--image-wash:rgba(153,111,59,.28)}.category-card--family{--category-accent:#8b7355;--image-wash:rgba(108,119,76,.28)}.category-card--fashion{--category-accent:var(--accent-deep);--image-wash:rgba(126,91,120,.28)}.category-image{position:relative;min-height:380px;overflow:hidden;background:var(--bg-deep)}.about-photo .tinted-image,.category-image .tinted-image{position:absolute;inset:0}.category-photo,.cover-image{object-fit:cover;object-position:center}.category-image__label{position:absolute;left:18px;bottom:18px;z-index:2;font-size:1.15rem;letter-spacing:.08em;color:hsla(0,0%,100%,.94);text-shadow:0 2px 12px rgba(0,0,0,.35);pointer-events:none}.category-copy{padding:16px 18px 18px}.category-copy h2{margin-bottom:4px;font-size:1.3rem}.category-subtitle{margin-bottom:8px;color:var(--muted);font-size:.9rem}.category-description{margin-bottom:10px;line-height:1.7;color:var(--muted);font-size:.92rem}.category-link{font-size:.88rem;color:var(--category-accent)}.featured{margin-top:34px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}.section-head h2{margin-bottom:0;font-size:2rem}.eyebrow{margin:0 0 8px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.78rem}.section-link{padding:12px 16px;color:var(--accent-deep);white-space:nowrap}.marquee,.section-link{border:1px solid var(--line)}.marquee{overflow:hidden;background:rgba(120,4,53,.05);padding:14px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.marquee-track{display:flex;gap:14px;width:max-content;animation:marquee-scroll 42s linear infinite}.marquee.is-paused .marquee-track{animation-play-state:paused}@keyframes marquee-scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.marquee-item{flex:0 0 auto;width:220px;margin:0;aspect-ratio:3/4;overflow:hidden;border:1px solid var(--line);background:var(--bg-deep);cursor:pointer}.marquee-tint{position:relative;width:100%;height:100%}.marquee-fallback{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:14px;gap:14px}.work-placeholder{aspect-ratio:3/4;display:flex;align-items:flex-end;padding:16px;color:hsla(0,0%,100%,.88);background:linear-gradient(145deg,var(--accent-deep),var(--taupe));border:1px solid var(--line)}.featured-hint{margin:12px 0 0;color:var(--muted);font-size:.88rem}.about{display:grid;grid-template-columns:.9fr 1.05fr .9fr;grid-gap:16px;gap:16px;align-items:stretch;margin-top:34px}.about-photo{position:relative;min-height:380px;overflow:hidden;background:var(--bg-deep)}.about-copy,.about-photo{border:1px solid var(--line)}.about-copy{display:flex;flex-direction:column;justify-content:center;padding:28px 26px;background:linear-gradient(180deg,hsla(37,33%,89%,.72),hsla(36,23%,79%,.36)),var(--surface-strong)}.about-copy h2{font-size:2rem;margin-bottom:14px}.about-copy p{line-height:1.95;color:var(--muted)}.about-note{min-height:380px;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;color:#f8f5f0;background:linear-gradient(160deg,rgba(184,139,96,.26),rgba(77,2,34,.88)),var(--accent)}.about-note .eyebrow{color:hsla(0,0%,100%,.7)}.about-note p:last-child{max-width:14em;margin-bottom:0;font-family:Songti TC,"Noto Serif TC",serif;font-size:clamp(1.5rem,2.4vw,2.2rem);line-height:1.55}.button-outline{align-self:flex-start;margin-top:14px}.footer-section{margin-top:34px;padding:28px;display:grid;grid-template-columns:.75fr 1.35fr;grid-gap:24px;gap:24px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(120,4,53,.05),hsla(36,38%,92%,.82)),var(--surface-strong)}#services .footer-section{margin-top:0}.footer-intro .script{font-size:1.5rem;color:var(--accent);margin-bottom:8px}.footer-socials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;gap:18px}.footer-socials--pending{display:flex;align-items:center;min-height:110px;padding:20px;border:1px dashed var(--line);color:var(--muted)}.footer-socials--pending p{margin:0;line-height:1.8}.social-group__title{margin:0 0 12px;font-size:1rem;color:var(--accent-deep);letter-spacing:.08em}.social-group__items{display:flex;flex-direction:column;gap:12px}.social-card{display:flex;align-items:center;gap:14px;padding:12px;border:1px solid var(--line);background:hsla(37,33%,89%,.72);transition:transform .16s ease,border-color .16s ease}.social-card:hover{transform:translateY(-1px);border-color:rgba(120,4,53,.32)}.social-card__label{flex:1 1;font-size:.9rem;line-height:1.4}.social-card__qr{flex-shrink:0;padding:6px;border-radius:8px;border:1px solid var(--line);background:#f3ede4}.contact{margin-top:22px}.contact-card{padding:24px;border:1px solid var(--line);background:hsla(37,33%,89%,.86)}.site-footer{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.88rem}.back-to-top{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--surface)}@media (max-width:1100px){.hero-image-frame{height:clamp(360px,62vw,620px)}.hero-intro{grid-template-columns:minmax(0,1fr) minmax(240px,.58fr);gap:clamp(24px,4vw,42px);padding-inline:clamp(18px,4vw,38px)}.hero-portrait{width:min(100%,360px);min-height:clamp(330px,42vw,470px)}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.about{grid-template-columns:1fr 1fr}.about-photo-right{grid-column:span 2;min-height:280px}.about-note{grid-column:span 2;min-height:240px}.footer-section{grid-template-columns:1fr}.footer-socials{grid-template-columns:1fr 1fr}.marquee-fallback{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.site{width:min(100% - 20px,1380px)}.menu-toggle{display:inline-flex}.nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;padding:10px;border:1px solid var(--line);background:var(--surface-strong);z-index:5}.nav.is-open{display:flex}.nav a{padding:12px 10px;border-bottom:1px solid var(--line)}.topbar.is-scrolled .nav.is-open a{color:var(--text)}.topbar.is-scrolled .nav.is-open a:hover{color:var(--accent)}.nav a:last-child{border-bottom:none}.topbar{flex-wrap:wrap}.section-head{flex-direction:column;align-items:flex-start}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.category-image{min-height:260px}.about{grid-template-columns:1fr}.about-photo-right{grid-column:auto;min-height:240px}.about-note{grid-column:auto}.footer-socials{grid-template-columns:1fr}.social-card{flex-direction:row}.marquee-item{width:180px}.marquee-track{animation-duration:56s}.hero-copy{padding-right:0}.hero-intro{grid-template-columns:1fr;padding-inline:0}.hero-portrait{order:-1;justify-self:center;width:min(82vw,360px);min-height:min(108vw,480px)}.hero-image-frame{height:clamp(300px,68vw,520px)}h1{max-width:none}}@media (hover:none){.featured-hint:before{content:"（手機版）"}}