/*
Theme Name: Proposal.tw
Theme URI: https://www.proposal.tw/
Author: ERP_NAS
Description: PROPOSAL.TW 求婚影音誌 — editorial proposal/wedding-planning theme ported from a Next.js design. WooCommerce-ready.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: proposaltw
*/



:root { --wine:#6f2638; --rose:#b55d6b; --blush:#f3e8e5; --cream:#f7f2ec; --ink:#24191b; --muted:#77686a; --line:#d9cac7; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Arial,"Noto Sans TC",sans-serif; }
button,input,select { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { color:inherit; }
a { color:inherit; text-decoration:none; }
.topbar { position:absolute; z-index:10; top:0; left:0; width:100%; height:86px; display:flex; align-items:center; padding:0 5vw; color:white; border-bottom:1px solid rgba(255,255,255,.2); }
.logo { display:flex; align-items:center; gap:9px; min-width:230px; }
.logo span { display:block; flex:none; width:58px; height:52px; overflow:hidden; color:transparent; background-image:url("assets/proposal-logo.png"); background-position:left center; background-repeat:no-repeat; background-size:214px auto; font-size:0; }
.logo b { font:22px Georgia,serif; letter-spacing:.5px; }
.logo i { padding-left:10px; border-left:1px solid currentColor; opacity:.65; font:normal 10px Arial; letter-spacing:2px; }
.topbar nav { display:flex; gap:34px; margin-left:auto; font-size:13px; }
.topbar nav a { opacity:.78; transition:.2s; }
.topbar nav a:hover { opacity:1; }
.mainnav { align-items:center; }
.dropdown { position:relative; padding:26px 0; }
.dropdown > button { display:flex; align-items:center; gap:7px; padding:0; border:0; color:white; background:transparent; opacity:.82; cursor:pointer; }
.dropdown > button span { font-size:11px; transition:.2s; }
.dropdown:hover > button,.dropdown:focus-within > button { opacity:1; }
.dropdown:hover > button span,.dropdown:focus-within > button span { transform:rotate(180deg); }
.dropdown-menu { position:absolute; top:76px; left:50%; width:270px; display:grid; padding:10px; border:1px solid rgba(255,255,255,.16); color:var(--ink); background:rgba(255,250,245,.98); box-shadow:0 22px 70px rgba(25,10,15,.25); opacity:0; pointer-events:none; transform:translate(-50%,8px); transition:.2s; }
.dropdown:hover .dropdown-menu,.dropdown:focus-within .dropdown-menu { opacity:1; pointer-events:auto; transform:translate(-50%,0); }
.dropdown-menu a { display:grid; gap:4px; padding:13px 14px; border-bottom:1px solid #eadedb; opacity:1!important; }
.dropdown-menu a:last-child { border-bottom:0; }
.dropdown-menu a:hover { background:var(--blush); }
.dropdown-menu b { color:var(--ink); font:15px Georgia,"Noto Serif TC",serif; }
.dropdown-menu small { color:var(--muted); font-size:9px; }
.header-actions { display:flex; align-items:center; gap:10px; margin-left:14px; }
.language-switcher { display:flex; align-items:center; gap:6px; padding:9px 11px; border:1px solid rgba(255,255,255,.38); border-radius:999px; color:rgba(255,255,255,.5); background:rgba(255,255,255,.08); font-size:9px; font-weight:bold; letter-spacing:1px; }
.language-switcher button { padding:0; border:0; color:inherit; background:transparent; cursor:pointer; }
.language-switcher button.active { color:white; }
.translation-engine,.goog-te-banner-frame,.goog-te-gadget,.goog-te-banner-frame.skiptranslate,#goog-gt-tt,.goog-tooltip,.goog-tooltip:hover { display:none!important; }
body { top:0!important; position:static!important; }
.skiptranslate iframe { display:none!important; }
.goog-text-highlight { background:none!important; box-shadow:none!important; }
.mobile-menu-button,.mobile-panel { display:none; }
.hero { position:relative; min-height:740px; height:96vh; overflow:hidden; background:#321f24; color:white; }
.hero-photo { position:absolute; inset:-2%; background:url("https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=2200&q=92") center 43%/cover; transform:scale(1.02); animation:heroKenBurns 18s cubic-bezier(.45,0,.55,1) infinite alternate; will-change:transform; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(31,13,19,.92) 0%,rgba(31,13,19,.5) 47%,rgba(31,13,19,.06) 75%),linear-gradient(0deg,rgba(31,13,19,.75),transparent 35%); }
.hero-copy { position:absolute; z-index:2; left:8vw; top:51%; width:min(650px,52vw); transform:translateY(-47%); animation:reveal .8s ease both; }
.overline,.section-label { margin:0 0 18px; color:var(--rose); font-size:10px; font-weight:bold; letter-spacing:3px; }
.overline { display:flex; align-items:center; gap:12px; color:#efc0c7; }
.overline span { width:34px; height:1px; background:#efc0c7; }
.hero h1 { margin:0; font:normal clamp(58px,6.7vw,108px)/.93 Georgia,"Noto Serif TC",serif; letter-spacing:-5px; }
.hero h1 em { color:#efc0c7; font-style:italic; }
.lead { max-width:530px; margin:26px 0 0; color:rgba(255,255,255,.74); font-size:15px; line-height:1.9; }
.hero-actions { display:flex; align-items:center; gap:28px; margin-top:34px; }
.cta { min-height:48px; padding:0 22px; border:0; color:white; background:var(--wine); cursor:pointer; transition:.25s; }
.hero-actions .cta { display:inline-flex; align-items:center; }
.cta:hover { background:#8d3449; transform:translateY(-2px); }
.ghost { padding:14px 0; border-bottom:1px solid rgba(255,255,255,.45); font-size:13px; }
.video-ghost { border:0; border-bottom:1px solid rgba(255,255,255,.45); color:white; background:transparent; cursor:pointer; }
.hero-story { position:absolute; z-index:2; right:5vw; bottom:64px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:15px; width:min(410px,36vw); padding:14px 17px; border:1px solid rgba(255,255,255,.22); background:rgba(44,20,27,.48); backdrop-filter:blur(12px); }
.hero-story button { position:relative; width:48px; height:48px; border:1px solid rgba(255,255,255,.7); border-radius:50%; color:white; background:transparent; cursor:pointer; }
.hero-story button span { margin-left:3px; }
.hero-story div { display:grid; gap:5px; }
.hero-story small,.hero-story i { color:rgba(255,255,255,.6); font-size:10px; font-style:normal; }
.hero-story b { font:16px Georgia,serif; }
.hero-count { position:absolute; z-index:2; left:8vw; bottom:49px; display:flex; align-items:center; gap:12px; }
.hero-count strong { font:34px Georgia,serif; }
.hero-count span { padding-left:12px; border-left:1px solid rgba(255,255,255,.35); color:rgba(255,255,255,.6); font-size:10px; line-height:1.5; }
.manifesto { display:flex; align-items:end; justify-content:space-between; gap:30px; padding:90px 8vw 80px; border-bottom:1px solid var(--line); }
.manifesto p { margin:0; color:#38272a; font:clamp(30px,3.7vw,56px)/1.28 Georgia,"Noto Serif TC",serif; letter-spacing:-2px; }
.manifesto span { color:var(--muted); font-size:10px; letter-spacing:2px; writing-mode:vertical-rl; }
.services { padding:100px 5vw; background:#fffaf5; }
.services-intro { display:grid; grid-template-columns:1.2fr .8fr; align-items:end; gap:7vw; margin-bottom:48px; }
.services-intro h2,.process h2,.contact h2 { margin:0; font:clamp(40px,4.8vw,68px)/1.04 Georgia,"Noto Serif TC",serif; letter-spacing:-3px; }
.services-intro > p { color:var(--muted); font-size:14px; line-height:1.9; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); }
.service-card { position:relative; min-height:330px; display:flex; flex-direction:column; justify-content:space-between; padding:26px; color:white; background-position:center; background-size:cover; isolation:isolate; overflow:hidden; }
.service-card:before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(35,14,20,.12),rgba(35,14,20,.93)); transition:.35s; }
.service-card:hover:before { background:linear-gradient(180deg,rgba(35,14,20,.03),rgba(35,14,20,.78)); }
.service-card > span { font:italic 16px Georgia,serif; }
.service-card small { color:#efb9c2; font-size:9px; letter-spacing:2px; }
.service-card h3 { margin:10px 0 8px; font:29px/1.1 Georgia,"Noto Serif TC",serif; }
.service-card p { margin:0; color:rgba(255,255,255,.62); font-size:11px; line-height:1.7; }
.service-card b { font-size:10px; letter-spacing:1px; }
.s1 { background-image:url("https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=1000&q=86"); }
.s2 { background-image:url("https://images.unsplash.com/photo-1519167758481-83f550bb49b3?auto=format&fit=crop&w=1000&q=86"); }
.s3 { background-image:url("https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=1000&q=86"); }
.s4 { background-image:url("https://images.unsplash.com/photo-1493238792000-8113da705763?auto=format&fit=crop&w=1000&q=86"); }
.s5 { background-image:url("https://images.unsplash.com/photo-1485846234645-a62644f84728?auto=format&fit=crop&w=1000&q=86"); }
.s6 { background-image:url("https://images.unsplash.com/photo-1492684223066-81342ee5ff30?auto=format&fit=crop&w=1000&q=86"); }
.shop { padding:100px 5vw; color:white; background:#211519; }
.shop-head { display:grid; grid-template-columns:1.2fr .8fr; align-items:end; gap:7vw; margin-bottom:48px; }
.shop-head .section-label { color:#e49aa6; }
.shop-head h2 { margin:0; font:clamp(40px,4.7vw,66px)/1.04 Georgia,"Noto Serif TC",serif; letter-spacing:-3px; }
.shop-head > p { color:rgba(255,255,255,.54); font-size:13px; line-height:1.9; }
.shop-layout { display:grid; grid-template-columns:1.1fr .9fr; gap:1px; background:rgba(255,255,255,.16); }
.shop-feature { position:relative; min-height:650px; display:flex; flex-direction:column; justify-content:space-between; padding:32px; background:url("assets/shop-hero.png") center/cover; isolation:isolate; overflow:hidden; }
.shop-feature:before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(34,14,20,.08),rgba(34,14,20,.92)); }
.shop-feature > span { align-self:start; padding:7px 9px; color:white; background:var(--wine); font-size:8px; letter-spacing:2px; }
.shop-feature small,.shop-card small { color:#efb3bd; font-size:9px; letter-spacing:2px; }
.shop-feature h3 { max-width:560px; margin:12px 0 20px; font:clamp(35px,4vw,58px)/1.06 Georgia,"Noto Serif TC",serif; letter-spacing:-2px; }
.shop-feature p { font-size:11px; letter-spacing:1px; }
.shop-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; }
.shop-card { position:relative; min-height:324px; display:flex; flex-direction:column; justify-content:space-between; padding:24px; color:white; background-position:center; background-size:cover; isolation:isolate; }
.shop-card:before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(32,14,19,.13),rgba(32,14,19,.94)); transition:.3s; }
.shop-card:hover:before { background:linear-gradient(180deg,rgba(32,14,19,.03),rgba(32,14,19,.82)); }
.shop-card > span { font:italic 14px Georgia,serif; }
.shop-card h3 { margin:8px 0; font:24px Georgia,"Noto Serif TC",serif; }
.shop-card p { margin:0; color:rgba(255,255,255,.58); font-size:10px; }
.shop-card b { font-size:9px; letter-spacing:1px; }
.shop-diy { background-image:url("https://images.unsplash.com/photo-1519167758481-83f550bb49b3?auto=format&fit=crop&w=900&q=84"); }
.shop-gear { background-image:url("https://images.unsplash.com/photo-1492684223066-81342ee5ff30?auto=format&fit=crop&w=900&q=84"); }
.shop-flower { background-image:url("https://images.unsplash.com/photo-1490750967868-88aa4486c946?auto=format&fit=crop&w=900&q=84"); }
.shop-trunk { background-image:url("https://images.unsplash.com/photo-1493238792000-8113da705763?auto=format&fit=crop&w=900&q=84"); }
.library { padding:88px 5vw 110px; }
.library-head { display:flex; align-items:end; justify-content:space-between; gap:30px; }
.library h2,.section-title h2,.newsletter h2 { margin:0; font:clamp(38px,4.5vw,66px)/1 Georgia,"Noto Serif TC",serif; letter-spacing:-3px; }
.searchbox { width:min(390px,35vw); display:flex; align-items:center; gap:10px; padding:0 4px 11px; border-bottom:1px solid #8c7d7f; }
.searchbox input { width:100%; border:0; outline:0; background:transparent; }
.searchbox button { border:0; background:none; cursor:pointer; }
.filter-row { display:flex; align-items:center; gap:20px; margin:38px 0 26px; }
.filters { display:flex; gap:7px; flex:1; overflow:auto; padding-bottom:3px; scrollbar-width:none; }
.filters button { padding:9px 15px; border:1px solid var(--line); border-radius:999px; color:var(--muted); background:transparent; white-space:nowrap; cursor:pointer; }
.filters button.active,.filters button:hover { color:white; background:var(--wine); border-color:var(--wine); }
.filter-row select { padding:8px 26px 8px 10px; border:0; border-bottom:1px solid var(--line); outline:0; background:transparent; }
.result-line { display:flex; align-items:center; gap:15px; margin-bottom:22px; color:var(--muted); font-size:11px; }
.result-line i { flex:1; height:1px; background:var(--line); }
.video-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:48px 18px; }
.video-card { position:relative; min-width:0; animation:revealUp .55s ease both; }
.video-card.large { grid-column:span 2; }
.thumbnail { position:relative; width:100%; aspect-ratio:16/10; padding:0; border:0; background:#241519; cursor:pointer; overflow:hidden; }
.video-card.large .thumbnail { aspect-ratio:2/1; }
.thumbnail-photo { position:absolute; inset:-3%; background-position:center; background-size:cover; transform:scale(1.025) translate3d(-.5%,0,0); animation:photoKenBurns 13s cubic-bezier(.45,0,.55,1) infinite alternate; animation-play-state:paused; will-change:transform; }
.thumbnail-photo.is-active { animation-play-state:running; }
.video-card:nth-child(3n+2) .thumbnail-photo { animation-duration:15s; animation-direction:alternate-reverse; }
.video-card:nth-child(3n) .thumbnail-photo { animation-duration:17s; }
.thumbnail:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(61,23,33,.02) 45%,rgba(19,12,13,.42)); transition:background .3s; }
.thumbnail:hover:after { background:linear-gradient(180deg,rgba(61,23,33,.02) 38%,rgba(19,12,13,.58)); }
.editor,.duration { position:absolute; z-index:1; }
.editor { top:12px; left:12px; padding:6px 8px; color:white; background:var(--wine); font-size:9px; letter-spacing:1px; }
.duration { right:10px; bottom:9px; padding:4px 6px; color:white; background:rgba(23,12,15,.75); font-size:10px; }
.round-play { position:absolute; z-index:2; top:50%; left:50%; display:grid; place-items:center; width:54px; height:54px; padding-left:4px; border:1px solid rgba(255,255,255,.8); border-radius:50%; color:white; background:rgba(60,24,34,.25); opacity:0; transform:translate(-50%,-40%); transition:.25s; }
.thumbnail:hover .round-play { opacity:1; transform:translate(-50%,-50%); }
.card-copy { display:flex; gap:15px; padding-top:16px; }
.card-copy > div { flex:1; min-width:0; }
.card-copy p { margin:0 0 7px; color:var(--rose); font-size:9px; font-weight:bold; letter-spacing:1.5px; }
.card-copy h3 { margin:0 0 7px; font:22px/1.2 Georgia,"Noto Serif TC",serif; }
.video-card.large .card-copy h3 { font-size:27px; }
.card-copy span { display:block; overflow:hidden; color:var(--muted); font-size:11px; white-space:nowrap; text-overflow:ellipsis; }
.card-copy button { align-self:start; width:34px; height:34px; border:1px solid var(--line); border-radius:50%; color:var(--wine); background:transparent; font-size:19px; cursor:pointer; }
.card-copy button.is-saved { color:white; background:var(--wine); }
.video-card > small { display:block; margin-top:10px; color:#9d8e90; font-size:9px; }
.empty { padding:90px; border:1px dashed var(--line); text-align:center; }
.empty b { font:30px Georgia,serif; }
.empty p { color:var(--muted); }
.collections { padding:100px 5vw; background:#26171b; color:white; }
.section-title { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:15px; margin-bottom:48px; }
.section-title .section-label { grid-column:1/-1; color:#d88c98; }
.section-title span { justify-self:end; max-width:390px; color:rgba(255,255,255,.55); font-size:13px; line-height:1.7; }
.collection-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.18); }
.collection { position:relative; min-height:390px; display:flex; flex-direction:column; justify-content:space-between; padding:30px; border:0; color:white; text-align:left; background-position:center; background-size:cover; cursor:pointer; isolation:isolate; }
.collection:before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(rgba(37,17,23,.16),rgba(37,17,23,.92)); transition:.3s; }
.collection:hover:before { background:linear-gradient(rgba(37,17,23,.04),rgba(37,17,23,.82)); }
.collection > span { font:italic 16px Georgia,serif; }
.collection small { color:#e6aab3; font-size:9px; letter-spacing:2px; }
.collection h3 { margin:10px 0; font:31px/1.1 Georgia,"Noto Serif TC",serif; }
.collection p { color:rgba(255,255,255,.55); font-size:11px; }
.collection b { font-size:10px; letter-spacing:1px; }
.c1 { background-image:url("https://images.unsplash.com/photo-1519167758481-83f550bb49b3?auto=format&fit=crop&w=1000&q=85"); }
.c2 { background-image:url("https://images.unsplash.com/photo-1511285560929-80b456fea0bc?auto=format&fit=crop&w=1000&q=85"); }
.c3 { background-image:url("https://images.unsplash.com/photo-1492684223066-81342ee5ff30?auto=format&fit=crop&w=1000&q=85"); }
.story-strip { display:grid; grid-template-columns:1.2fr .8fr; gap:8vw; padding:110px 8vw; background:var(--blush); }
.story-strip h2 { margin:0; font:clamp(40px,5vw,72px)/1.08 Georgia,"Noto Serif TC",serif; letter-spacing:-3px; }
.story-strip > p { align-self:center; color:var(--muted); font:16px/2 Arial; }
.stats { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); margin-top:20px; border-top:1px solid var(--line); }
.stats span { display:flex; align-items:baseline; gap:12px; padding-top:25px; color:var(--muted); font-size:11px; }
.stats b { color:var(--wine); font:42px Georgia,serif; }
.process { padding:100px 6vw; background:var(--cream); }
.process > div { max-width:800px; margin-bottom:50px; }
.process ol { display:grid; grid-template-columns:repeat(4,1fr); margin:0; padding:0; border-top:1px solid var(--line); list-style:none; }
.process li { min-height:230px; padding:25px 24px 20px 0; border-right:1px solid var(--line); }
.process li + li { padding-left:24px; }
.process li:last-child { border-right:0; }
.process li span { color:var(--rose); font:italic 17px Georgia,serif; }
.process li b { display:block; margin:52px 0 12px; font:22px Georgia,"Noto Serif TC",serif; }
.process li p { margin:0; color:var(--muted); font-size:11px; line-height:1.8; }
.contact { display:grid; grid-template-columns:.85fr 1.15fr; gap:7vw; padding:100px 7vw; color:white; background:var(--wine); }
.contact .section-label { color:#efb3bd; }
.contact-copy > p:not(.section-label) { max-width:460px; margin:28px 0; color:rgba(255,255,255,.62); font-size:13px; line-height:1.9; }
.contact-copy > div { display:flex; gap:12px; }
.contact-copy > div span { padding:7px 10px; border:1px solid rgba(255,255,255,.25); border-radius:999px; font-size:8px; letter-spacing:1px; }
.contact-form { display:grid; grid-template-columns:repeat(2,1fr); gap:26px 18px; padding-top:10px; }
.contact-form label { display:grid; gap:9px; color:rgba(255,255,255,.62); font-size:9px; letter-spacing:1.5px; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; padding:9px 0 13px; border:0; border-bottom:1px solid rgba(255,255,255,.36); border-radius:0; outline:0; color:white; background:transparent; }
.contact-form select { color:white; }
.contact-form select option { color:var(--ink); }
.contact-form input::placeholder,.contact-form textarea::placeholder { color:rgba(255,255,255,.43); }
.contact-form textarea { min-height:90px; resize:vertical; }
.contact-form .full { grid-column:1/-1; }
.submit { justify-self:start; grid-column:1/-1; padding:15px 23px; border:0; color:var(--wine); background:white; font-weight:bold; cursor:pointer; }
.form-success { align-self:center; padding:55px; border:1px solid rgba(255,255,255,.25); text-align:center; }
.form-success > span { display:grid; place-items:center; width:60px; height:60px; margin:0 auto 20px; border:1px solid white; border-radius:50%; font-size:24px; }
.form-success h3 { margin:0 0 10px; font:30px Georgia,serif; }
.form-success p { color:rgba(255,255,255,.6); font-size:12px; line-height:1.7; }
.form-success button { padding:10px 15px; border:1px solid rgba(255,255,255,.4); color:white; background:transparent; cursor:pointer; }
footer { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:30px; padding:54px 5vw 34px; background:#1c1114; color:white; }
footer p { color:rgba(255,255,255,.5); font-size:11px; }
footer div { display:flex; gap:25px; font-size:11px; }
footer small { grid-column:1/-1; padding-top:25px; border-top:1px solid rgba(255,255,255,.13); color:rgba(255,255,255,.35); }
.modal { position:fixed; z-index:100; inset:0; display:grid; place-items:center; padding:20px; background:rgba(22,10,14,.87); backdrop-filter:blur(9px); animation:fade .2s; }
.player { position:relative; width:min(930px,95vw); background:var(--cream); box-shadow:0 30px 100px #13080c; }
.close { position:absolute; z-index:3; right:14px; top:14px; width:38px; height:38px; border:0; border-radius:50%; color:white; background:rgba(30,14,18,.55); font-size:24px; cursor:pointer; }
.player-screen { aspect-ratio:16/8.2; display:grid; place-items:center; align-content:center; gap:10px; color:white; background-position:center; background-size:cover; }
.player-screen span { display:grid; place-items:center; width:76px; height:76px; padding-left:5px; border:1px solid white; border-radius:50%; font-size:20px; }
.player-screen p { font-size:11px; letter-spacing:2px; }
.player-copy { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:28px 32px; }
.player-copy small { color:var(--rose); font-size:9px; letter-spacing:1.5px; }
.player-copy h2 { margin:5px 0; font:32px Georgia,serif; }
.player-copy p { margin:0; color:var(--muted); font-size:12px; }
@keyframes reveal { from { opacity:0; transform:translateY(-42%); } }
@keyframes revealUp { from { opacity:0; transform:translateY(15px); } }
@keyframes fade { from { opacity:0; } }
@media(max-width:980px){
  .topbar nav{display:none}
  .header-actions{position:relative;z-index:3;margin-left:auto;gap:10px}
  .topbar.menu-open .language-switcher{color:var(--muted);border-color:var(--line);background:white}
  .topbar.menu-open .language-switcher button.active{color:var(--wine)}
  .topbar .logo{position:relative;z-index:3}
  .topbar.menu-open .logo{color:var(--ink)}
  .topbar.menu-open .logo span{filter:brightness(0) saturate(100%) invert(17%) sepia(29%) saturate(1306%) hue-rotate(296deg) brightness(84%) contrast(93%)}
  .mobile-menu-button{position:relative;z-index:3;width:45px;height:45px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:rgba(26,12,16,.15);cursor:pointer}
  .mobile-menu-button i{position:absolute;width:18px;height:1px;background:white;transition:.25s}
  .mobile-menu-button i:first-child{transform:translateY(-4px)}
  .mobile-menu-button i:last-child{transform:translateY(4px)}
  .mobile-menu-button.open{border-color:var(--line);background:white}
  .mobile-menu-button.open i{background:var(--wine)}
  .mobile-menu-button.open i:first-child{transform:rotate(45deg)}
  .mobile-menu-button.open i:last-child{transform:rotate(-45deg)}
  .mobile-panel{position:fixed;z-index:2;inset:0;height:100dvh;display:block;padding:112px 6vw 40px;color:var(--ink);background:var(--cream);overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-14px);transition:.28s}
  .mobile-panel.open{opacity:1;visibility:visible;transform:translateY(0)}
  .mobile-panel-head{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:24px;border-bottom:1px solid var(--line)}
  .mobile-panel-head span{color:var(--wine);font-size:10px;font-weight:bold;letter-spacing:2px}
  .mobile-panel-head small{color:var(--muted);font-size:10px}
  .mobile-panel details{border-bottom:1px solid var(--line)}
  .mobile-panel summary{display:grid;grid-template-columns:42px 1fr auto;align-items:center;padding:18px 0;list-style:none;font:26px Georgia,"Noto Serif TC",serif;cursor:pointer}
  .mobile-panel summary::-webkit-details-marker{display:none}
  .mobile-panel summary > span:first-child{color:var(--rose);font:italic 12px Georgia,serif}
  .mobile-menu-label{display:grid;gap:5px;color:var(--ink)}
  .mobile-menu-label small{color:var(--rose);font:600 10px Arial,sans-serif;letter-spacing:1.7px}
  .mobile-panel summary b{font:normal 22px Arial;transition:.2s}
  .mobile-panel details[open] summary b{transform:rotate(45deg)}
  .mobile-panel details > div{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;padding:0 0 14px 42px}
  .mobile-panel details a{padding:10px 0;color:var(--muted);font-size:13px}
  .mobile-contact{display:flex!important;align-items:center;justify-content:space-between;margin-top:22px;padding:15px 18px;color:white!important;background:var(--wine)}
  .mobile-contact > span{display:grid;gap:4px;font-size:12px}
  .mobile-contact small{color:rgba(255,255,255,.55);font-size:7px;letter-spacing:1.6px}
  .mobile-contact b{font:normal 18px Arial}
  .mobile-meta{display:flex;gap:9px;margin-top:24px}
  .mobile-meta span{padding:6px 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:8px;letter-spacing:1px}
  .services-intro,.shop-head{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.shop-layout{grid-template-columns:1fr}.shop-feature{min-height:520px}.video-grid{grid-template-columns:repeat(2,1fr)}.video-card.large{grid-column:span 2}.collection-grid{grid-template-columns:1fr}.collection{min-height:300px}.hero-copy{width:70vw}.process ol{grid-template-columns:repeat(2,1fr)}.process li:nth-child(2){border-right:0}.contact{grid-template-columns:1fr}footer{grid-template-columns:1fr auto}footer p{display:none}
}
@media(max-width:650px){.topbar{height:72px;padding:0 20px}.logo{min-width:0}.logo i{display:none}.logo b{font-size:17px}.header-actions{gap:7px}.language-switcher{padding:8px 9px}.language-switcher button:first-child{font-size:0}.language-switcher button:first-child:after{content:"中";font-size:9px}.mobile-panel{padding:94px 20px 28px}.mobile-panel-head{padding-bottom:16px}.mobile-panel-head small{display:none}.mobile-panel summary{grid-template-columns:34px 1fr auto;padding:15px 0;font-size:23px}.mobile-panel details > div{grid-template-columns:repeat(2,1fr);padding-left:34px;padding-bottom:10px}.hero{min-height:730px;height:94vh}.hero-photo{background-position:64% center}.hero-shade{background:linear-gradient(90deg,rgba(31,13,19,.88),rgba(31,13,19,.34)),linear-gradient(0deg,rgba(31,13,19,.83),transparent 48%)}.hero-copy{left:24px;top:44%;width:calc(100% - 48px)}.hero h1{font-size:48px;letter-spacing:-3px}.lead{font-size:13px}.hero-story{left:24px;right:auto;bottom:38px;width:calc(100% - 48px)}.hero-count{display:none}.manifesto{padding:65px 24px}.manifesto p{font-size:32px}.services{padding:68px 20px}.services-intro{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.service-card{min-height:300px}.shop{padding:68px 20px}.shop-layout,.shop-grid{grid-template-columns:1fr}.shop-feature{min-height:500px}.shop-card{min-height:280px}.library{padding:66px 20px 80px}.library-head{align-items:start;flex-direction:column}.searchbox{width:100%}.filter-row{align-items:end}.video-grid{grid-template-columns:1fr;gap:38px}.video-card.large{grid-column:span 1}.video-card.large .thumbnail,.thumbnail{aspect-ratio:16/10}.section-title{display:block}.section-title span{display:block;margin-top:18px}.collections{padding:70px 20px}.collection{min-height:330px}.story-strip{grid-template-columns:1fr;padding:75px 24px}.story-strip > p{font-size:14px}.stats{grid-template-columns:1fr;gap:15px}.stats span{padding-top:15px}.process{padding:70px 24px}.process ol{grid-template-columns:1fr}.process li,.process li + li{min-height:auto;padding:22px 0;border-right:0;border-bottom:1px solid var(--line)}.process li b{margin:24px 0 8px}.contact{grid-template-columns:1fr;padding:70px 24px}.contact-form{grid-template-columns:1fr}.contact-form .full,.submit{grid-column:1}.form-success{padding:35px 20px}footer{grid-template-columns:1fr;padding:45px 24px}footer div{flex-wrap:wrap}.player-copy{align-items:start;flex-direction:column}.player-screen{aspect-ratio:16/10}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Complete inner pages */
.subpage { min-height:100vh; background:#fffaf5; }
.page-hero { position:relative; min-height:650px; display:flex; align-items:end; padding:170px 8vw 86px; overflow:hidden; color:white; background-position:center; background-size:cover; isolation:isolate; }
.page-hero:before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(31,13,19,.9),rgba(31,13,19,.42) 60%,rgba(31,13,19,.15)),linear-gradient(0deg,rgba(31,13,19,.72),transparent 48%); }
.page-hero > div { width:min(790px,72vw); animation:revealUp .7s ease both; }
.page-hero h1 { margin:0; font:clamp(48px,6vw,86px)/1.02 Georgia,"Noto Serif TC",serif; letter-spacing:-4px; }
.page-hero > div > p:last-of-type { max-width:600px; margin:24px 0 30px; color:rgba(255,255,255,.72); font-size:14px; line-height:1.9; }
.page-hero .cta { display:inline-flex; align-items:center; }
.services-hero { background-image:url("https://images.unsplash.com/photo-1519167758481-83f550bb49b3?auto=format&fit=crop&w=2200&q=90"); }
.journal-hero { background-image:url("https://images.unsplash.com/photo-1511285560929-80b456fea0bc?auto=format&fit=crop&w=2200&q=90"); }
.shop-page-hero { background-image:url("assets/shop-hero.png"); background-position:center 55%; }
.about-hero { background-image:url("https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=2200&q=90"); }
.contact-hero { min-height:570px; background-image:url("https://images.unsplash.com/photo-1522673607200-164d1b6ce486?auto=format&fit=crop&w=2200&q=90"); }
.packages-hero { background-image:url("https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=2200&q=90"); background-position:center 52%; }
.trunk-hero { background-image:url("https://images.unsplash.com/photo-1493238792000-8113da705763?auto=format&fit=crop&w=2200&q=90"); background-position:center 58%; }
.decor-hero { background-image:url("assets/shop-hero.png"); background-position:center 55%; }
.diy-hero { background-image:url("https://images.unsplash.com/photo-1618221195710-dd6b41faaea6?auto=format&fit=crop&w=2200&q=90"); background-position:center 58%; }

.page-intro { display:grid; grid-template-columns:.32fr 1fr; gap:7vw; padding:100px 8vw; background:var(--cream); }
.page-intro h2,.page-section-head h2,.faq-section h2,.about-statement h2,.about-journal h2,.locations h2,.contact-aside h2 { margin:0; font:clamp(38px,4.7vw,66px)/1.08 Georgia,"Noto Serif TC",serif; letter-spacing:-3px; }
.page-intro > div { display:grid; grid-template-columns:1.15fr .85fr; align-items:end; gap:6vw; }
.page-intro > div > p { margin:0; color:var(--muted); font-size:14px; line-height:2; }
.page-section-head { display:flex; align-items:end; justify-content:space-between; gap:50px; margin-bottom:45px; }
.page-section-head > p { max-width:440px; margin:0; color:var(--muted); font-size:13px; line-height:1.9; }
.page-section-head > a { padding-bottom:8px; border-bottom:1px solid var(--wine); color:var(--wine); font-size:11px; font-weight:bold; }

.service-detail-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; padding:1px; background:#cbb9b7; }
.service-detail-grid article { position:relative; min-height:460px; display:flex; flex-direction:column; justify-content:space-between; padding:30px; color:white; background-position:center; background-size:cover; isolation:isolate; }
.service-detail-grid article:before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(31,13,19,.18),rgba(31,13,19,.94)); }
.service-detail-grid article > span { font:italic 16px Georgia,serif; }
.service-detail-grid small { color:#efb4bd; font-size:9px; letter-spacing:2px; }
.service-detail-grid h2 { margin:10px 0 12px; font:32px/1.08 Georgia,"Noto Serif TC",serif; }
.service-detail-grid p { margin:0 0 24px; color:rgba(255,255,255,.65); font-size:12px; line-height:1.8; }
.service-detail-grid a { display:inline-block; padding-bottom:7px; border-bottom:1px solid rgba(255,255,255,.5); font-size:10px; letter-spacing:1px; }
.packages { padding:110px 7vw; background:#fffaf5; }
.package-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.package-grid article { position:relative; padding:40px 34px; border:1px solid var(--line); background:var(--cream); }
.package-grid article.recommended { color:white; background:var(--wine); border-color:var(--wine); transform:translateY(-10px); box-shadow:0 22px 55px rgba(71,25,36,.18); }
.package-grid .recommended > span { position:absolute; right:20px; top:20px; padding:6px 8px; color:var(--wine); background:white; font-size:8px; letter-spacing:1.5px; }
.package-grid small { color:var(--rose); font-size:9px; font-weight:bold; letter-spacing:2px; }
.package-grid .recommended small { color:#f2b9c2; }
.package-grid h3 { margin:13px 0 18px; font:32px Georgia,"Noto Serif TC",serif; }
.package-grid .price { margin:0 0 24px; font:20px Georgia,serif; }
.package-grid ul { min-height:145px; margin:0 0 28px; padding:20px 0 0; border-top:1px solid var(--line); list-style:none; }
.package-grid .recommended ul { border-color:rgba(255,255,255,.25); }
.package-grid li { margin:0 0 12px; color:var(--muted); font-size:12px; }
.package-grid li:before { content:"✓"; margin-right:9px; color:var(--rose); }
.package-grid .recommended li { color:rgba(255,255,255,.72); }
.package-grid .recommended li:before { color:white; }
.package-grid a { display:inline-block; padding-bottom:7px; border-bottom:1px solid currentColor; font-size:11px; font-weight:bold; }
.faq-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; padding:105px 8vw; background:var(--blush); }
.faq-section details { border-bottom:1px solid var(--line); }
.faq-section summary { display:flex; justify-content:space-between; gap:20px; padding:22px 0; list-style:none; font:18px Georgia,"Noto Serif TC",serif; cursor:pointer; }
.faq-section summary::-webkit-details-marker { display:none; }
.faq-section summary span { color:var(--wine); font:22px Arial; transition:.2s; }
.faq-section details[open] summary span { transform:rotate(45deg); }
.faq-section details p { margin:0; padding:0 42px 22px 0; color:var(--muted); font-size:12px; line-height:1.9; }

.journal-library { padding:90px 5vw 110px; background:var(--cream); }
.journal-grid { grid-template-columns:repeat(3,1fr); }
.journal-collections { display:grid; grid-template-columns:.7fr 1.3fr; gap:6vw; padding:100px 6vw; color:white; background:#241519; }
.journal-collections h2 { margin:0; font:clamp(40px,4.8vw,66px)/1.08 Georgia,"Noto Serif TC",serif; letter-spacing:-3px; }
.mood-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:rgba(255,255,255,.18); }
.mood-grid button { min-height:220px; display:flex; flex-direction:column; justify-content:end; align-items:start; gap:15px; padding:28px; border:0; color:white; text-align:left; background:#382229; font:26px/1.2 Georgia,"Noto Serif TC",serif; cursor:pointer; transition:.25s; }
.mood-grid button:nth-child(2),.mood-grid button:nth-child(3) { background:#44242e; }
.mood-grid button:hover { background:var(--wine); }
.mood-grid span { color:rgba(255,255,255,.58); font:10px Arial; letter-spacing:1px; }

.shop-category-page { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; padding:1px; background:#cdbec0; }
.shop-category-item { position:relative; min-height:430px; display:flex; flex-direction:column; justify-content:space-between; padding:28px; color:white; background-position:center; background-size:cover; isolation:isolate; }
.shop-category-item:before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(28,12,17,.1),rgba(28,12,17,.94)); transition:.3s; }
.shop-category-item:hover:before { background:linear-gradient(180deg,rgba(28,12,17,.02),rgba(28,12,17,.8)); }
.shop-category-item > span { font:italic 16px Georgia,serif; }
.shop-category-item small { color:#efb3bd; font-size:8px; letter-spacing:2px; }
.shop-category-item h2 { margin:10px 0; font:31px/1.08 Georgia,"Noto Serif TC",serif; }
.shop-category-item p { max-width:360px; margin:0; color:rgba(255,255,255,.62); font-size:11px; line-height:1.8; }
.shop-category-item b { font-size:10px; letter-spacing:1px; }
.shop-space { background-image:url("https://images.unsplash.com/photo-1519167758481-83f550bb49b3?auto=format&fit=crop&w=1000&q=86"); }
.shop-hotel { background-image:url("https://images.unsplash.com/photo-1618221195710-dd6b41faaea6?auto=format&fit=crop&w=1000&q=86"); }
.shop-equipment { background-image:url("https://images.unsplash.com/photo-1492684223066-81342ee5ff30?auto=format&fit=crop&w=1000&q=86"); }
.shop-bouquet { background-image:url("https://images.unsplash.com/photo-1490750967868-88aa4486c946?auto=format&fit=crop&w=1000&q=86"); }
.shop-rear { background-image:url("https://images.unsplash.com/photo-1493238792000-8113da705763?auto=format&fit=crop&w=1000&q=86"); }
.shop-package { background-image:url("assets/shop-hero.png"); }
.featured-products { padding:110px 6vw; background:#fffaf5; }
.product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.product > div { aspect-ratio:4/5; margin-bottom:17px; background-position:center; background-size:cover; }
.product small { color:var(--rose); font-size:8px; letter-spacing:1.5px; }
.product h3 { margin:8px 0; font:22px Georgia,"Noto Serif TC",serif; }
.product p { margin:0; color:var(--muted); font-size:12px; }
.product-one > div { background-image:url("https://images.unsplash.com/photo-1519167758481-83f550bb49b3?auto=format&fit=crop&w=800&q=85"); }
.product-two > div { background-image:url("https://images.unsplash.com/photo-1519225421980-715cb0215aed?auto=format&fit=crop&w=800&q=85"); }
.product-three > div { background-image:url("https://images.unsplash.com/photo-1507501336603-6e31db2be093?auto=format&fit=crop&w=800&q=85"); }
.product-four > div { background-image:url("https://images.unsplash.com/photo-1490750967868-88aa4486c946?auto=format&fit=crop&w=800&q=85"); }
.shop-help { display:flex; align-items:end; justify-content:space-between; gap:50px; padding:90px 8vw; color:white; background:var(--wine); }
.shop-help h2 { margin:0; font:clamp(40px,4.8vw,66px)/1 Georgia,"Noto Serif TC",serif; }
.shop-help p:not(.section-label) { max-width:650px; color:rgba(255,255,255,.65); font-size:13px; line-height:1.9; }
.shop-help a { flex:none; padding:15px 20px; color:var(--wine); background:white; font-size:11px; font-weight:bold; }

.about-statement { display:grid; grid-template-columns:.25fr 1fr; gap:5vw; padding:110px 8vw; background:var(--cream); }
.about-statement h2 { grid-column:2; max-width:1050px; }
.about-statement > div { grid-column:2; display:grid; grid-template-columns:repeat(2,1fr); gap:5vw; max-width:860px; }
.about-statement > div p { color:var(--muted); font-size:14px; line-height:2; }
.values { display:grid; grid-template-columns:repeat(3,1fr); background:#d6c6c4; gap:1px; }
.values article { min-height:330px; padding:38px 4vw; background:#fffaf5; }
.values span { color:var(--rose); font:italic 16px Georgia,serif; }
.values h3 { margin:70px 0 10px; color:var(--rose); font-size:9px; letter-spacing:2px; }
.values b { display:block; font:28px Georgia,"Noto Serif TC",serif; }
.values p { color:var(--muted); font-size:12px; line-height:1.9; }
.about-journal { display:grid; grid-template-columns:.85fr 1.15fr; min-height:620px; color:white; background:#241519; }
.about-journal > div:first-child { align-self:center; padding:70px 7vw; }
.about-journal > div:first-child > p:not(.section-label) { color:rgba(255,255,255,.58); font-size:13px; line-height:2; }
.about-journal a { display:inline-block; margin-top:18px; padding-bottom:8px; border-bottom:1px solid white; font-size:11px; }
.about-film { min-height:520px; background:url("https://images.unsplash.com/photo-1485846234645-a62644f84728?auto=format&fit=crop&w=1400&q=88") center/cover; }
.locations { display:grid; grid-template-columns:.55fr 1.45fr; gap:7vw; padding:100px 7vw; background:var(--blush); }
.locations > div:last-child { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); }
.locations article { min-height:250px; padding:28px; background:var(--cream); }
.locations small { color:var(--rose); font-size:8px; letter-spacing:2px; }
.locations h3 { margin:18px 0 12px; font:25px Georgia,"Noto Serif TC",serif; }
.locations p,.locations span { color:var(--muted); font-size:11px; line-height:1.8; }
.locations span { display:block; }
.locations a { display:inline-block; margin-top:15px; padding-bottom:6px; border-bottom:1px solid var(--wine); color:var(--wine); font-size:10px; }

.contact-page-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:7vw; padding:110px 7vw; background:var(--cream); }
.contact-aside ul { margin:42px 0; padding:0; border-top:1px solid var(--line); list-style:none; }
.contact-aside li { display:flex; align-items:center; gap:15px; padding:17px 0; border-bottom:1px solid var(--line); color:var(--muted); font-size:12px; }
.contact-aside li span { color:var(--rose); font:italic 13px Georgia,serif; }
.contact-aside > div { display:grid; gap:7px; padding:25px; color:white; background:var(--wine); }
.contact-aside > div small { margin-top:10px; color:#efb3bd; font-size:8px; letter-spacing:2px; }
.contact-aside > div a { font:25px Georgia,serif; }
.contact-aside > div p { margin:0; color:rgba(255,255,255,.65); font-size:11px; }
.full-contact-form { display:grid; grid-template-columns:repeat(2,1fr); gap:27px 22px; padding:48px; background:white; box-shadow:0 22px 65px rgba(55,26,32,.08); }
.form-title { grid-column:1/-1; padding-bottom:22px; border-bottom:1px solid var(--line); }
.form-title small { color:var(--rose); font-size:8px; letter-spacing:2px; }
.form-title h2 { margin:8px 0; font:38px Georgia,"Noto Serif TC",serif; }
.form-title p { margin:0; color:var(--muted); font-size:11px; }
.full-contact-form label { display:grid; gap:9px; color:var(--muted); font-size:9px; font-weight:bold; letter-spacing:1px; }
.full-contact-form input,.full-contact-form select,.full-contact-form textarea { width:100%; padding:10px 0 13px; border:0; border-bottom:1px solid var(--line); border-radius:0; outline:0; color:var(--ink); background:transparent; }
.full-contact-form textarea { min-height:105px; resize:vertical; }
.full-contact-form .wide { grid-column:1/-1; }
.full-contact-form > button { justify-self:start; grid-column:1/-1; padding:15px 22px; border:0; color:white; background:var(--wine); font-weight:bold; cursor:pointer; }
.contact-page-success { align-self:start; padding:70px 45px; color:white; background:var(--wine); text-align:center; }
.contact-page-success > span { display:grid; place-items:center; width:65px; height:65px; margin:0 auto 22px; border:1px solid white; border-radius:50%; font-size:24px; }
.contact-page-success h2 { margin:0 0 15px; font:38px Georgia,"Noto Serif TC",serif; }
.contact-page-success p { color:rgba(255,255,255,.65); font-size:12px; line-height:1.9; }
.contact-page-success button { padding:11px 16px; border:1px solid rgba(255,255,255,.4); color:white; background:transparent; cursor:pointer; }
.meeting-inline-link { margin-top:12px!important; padding-top:17px; border-top:1px solid rgba(255,255,255,.25); font:600 10px Arial,sans-serif!important; letter-spacing:1px; }

/* Appointment booking */
.meeting-hero { min-height:610px; background-image:url("https://images.unsplash.com/photo-1522673607200-164d1b6ce486?auto=format&fit=crop&w=2200&q=90"); background-position:center 48%; }
.meeting-layout { display:grid; grid-template-columns:.7fr 1.3fr; gap:7vw; padding:110px 7vw; background:var(--cream); }
.meeting-aside { align-self:start; position:sticky; top:40px; }
.meeting-aside h2 { margin:0; font:clamp(38px,4.7vw,64px)/1.08 Georgia,"Noto Serif TC",serif; letter-spacing:-3px; }
.meeting-aside > p:not(.section-label) { margin:26px 0 36px; color:var(--muted); font-size:13px; line-height:1.9; }
.meeting-aside ol { margin:0; padding:0; border-top:1px solid var(--line); list-style:none; }
.meeting-aside li { display:grid; grid-template-columns:34px 1fr; gap:5px 12px; padding:18px 0; border-bottom:1px solid var(--line); }
.meeting-aside li span { grid-row:1/3; color:var(--rose); font:italic 12px Georgia,serif; }
.meeting-aside li b { font:17px Georgia,"Noto Serif TC",serif; }
.meeting-aside li small { color:var(--muted); font-size:9px; }
.meeting-note { margin-top:28px; padding:23px; color:white; background:var(--wine); }
.meeting-note small { color:#efb3bd; font-size:8px; letter-spacing:2px; }
.meeting-note p { margin:12px 0 0; color:rgba(255,255,255,.65); font-size:11px; line-height:1.8; }
.meeting-form { background:white; box-shadow:0 22px 65px rgba(55,26,32,.08); }
.meeting-step { padding:42px 46px; border-bottom:1px solid var(--line); }
.meeting-step-title { display:grid; grid-template-columns:40px 1fr; align-items:start; margin-bottom:30px; }
.meeting-step-title > span { padding-top:5px; color:var(--rose); font:italic 13px Georgia,serif; }
.meeting-step-title small { color:var(--rose); font-size:8px; letter-spacing:2px; }
.meeting-step-title h2 { margin:7px 0 0; font:32px Georgia,"Noto Serif TC",serif; }
.meeting-type-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.meeting-type-grid button { min-height:135px; display:flex; flex-direction:column; align-items:start; padding:17px; border:1px solid var(--line); color:var(--ink); text-align:left; background:#fffaf5; cursor:pointer; transition:.2s; }
.meeting-type-grid button:hover,.meeting-type-grid button.selected { border-color:var(--wine); background:var(--blush); }
.meeting-type-grid i { display:grid; place-items:center; width:22px; height:22px; margin-bottom:auto; border:1px solid var(--line); border-radius:50%; color:white; background:white; font:normal 11px Arial; }
.meeting-type-grid button.selected i { border-color:var(--wine); background:var(--wine); }
.meeting-type-grid b { font:17px Georgia,"Noto Serif TC",serif; }
.meeting-type-grid small { margin-top:6px; color:var(--muted); font-size:7px; letter-spacing:1px; }
.meeting-date { display:grid; gap:9px; color:var(--muted); font-size:9px; font-weight:bold; letter-spacing:1px; }
.meeting-date input { width:100%; min-height:52px; padding:0 14px; border:1px solid var(--line); color:var(--ink); background:#fffaf5; }
.meeting-times { margin-top:24px; }
.meeting-times > p { margin:0 0 12px; color:var(--muted); font-size:11px; }
.meeting-times > div { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.meeting-times button { min-height:48px; border:1px solid var(--line); background:white; cursor:pointer; transition:.2s; }
.meeting-times button:not(:disabled):hover,.meeting-times button.selected { border-color:var(--wine); color:white; background:var(--wine); }
.meeting-times button:disabled { color:#b8acad; background:#f4efeb; cursor:not-allowed; }
.meeting-error { display:block; margin-top:10px; color:#a52242; font-size:10px; }
.meeting-fields { display:grid; grid-template-columns:repeat(2,1fr); gap:26px 20px; }
.meeting-fields label { display:grid; gap:9px; color:var(--muted); font-size:9px; font-weight:bold; letter-spacing:1px; }
.meeting-fields input,.meeting-fields select,.meeting-fields textarea { width:100%; padding:10px 0 13px; border:0; border-bottom:1px solid var(--line); border-radius:0; outline:0; color:var(--ink); background:transparent; }
.meeting-fields textarea { min-height:95px; resize:vertical; }
.meeting-fields .wide { grid-column:1/-1; }
.meeting-submit { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:30px 46px 42px; }
.meeting-submit p { max-width:310px; margin:0; color:var(--muted); font-size:10px; line-height:1.7; }
.meeting-submit button { flex:none; min-height:50px; padding:0 23px; border:0; color:white; background:var(--wine); font-weight:bold; cursor:pointer; }
.meeting-confirmation { min-height:650px; display:grid; justify-items:center; align-content:center; padding:110px 24px; text-align:center; background:var(--cream); }
.confirmation-mark { display:grid; place-items:center; width:68px; height:68px; margin-bottom:26px; border:1px solid var(--wine); border-radius:50%; color:var(--wine); font-size:25px; }
.meeting-confirmation h2 { margin:0; font:clamp(42px,5vw,68px) Georgia,"Noto Serif TC",serif; }
.meeting-confirmation > p:not(.section-label) { max-width:560px; color:var(--muted); font-size:13px; line-height:1.9; }
.meeting-confirmation dl { width:min(720px,100%); display:grid; grid-template-columns:repeat(3,1fr); margin:35px 0; border:1px solid var(--line); }
.meeting-confirmation dl div { padding:22px; border-right:1px solid var(--line); }
.meeting-confirmation dl div:last-child { border-right:0; }
.meeting-confirmation dt { color:var(--rose); font-size:8px; letter-spacing:2px; }
.meeting-confirmation dd { margin:9px 0 0; font:17px Georgia,"Noto Serif TC",serif; }
.confirmation-actions { display:flex; gap:10px; }
.confirmation-actions a,.confirmation-actions button { min-height:46px; padding:0 18px; display:inline-flex; align-items:center; border:1px solid var(--wine); color:var(--wine); background:transparent; font-size:11px; cursor:pointer; }
.confirmation-actions a { color:white; background:var(--wine); }

@media(max-width:980px){
  .meeting-layout{grid-template-columns:1fr}
  .meeting-aside{position:static}
}

@media(max-width:650px){
  .meeting-hero{min-height:570px;background-position:58% center}
  .meeting-layout{padding:72px 20px}
  .meeting-step{padding:32px 20px}
  .meeting-step-title{grid-template-columns:30px 1fr;margin-bottom:24px}
  .meeting-step-title h2{font-size:27px}
  .meeting-type-grid{grid-template-columns:1fr}
  .meeting-type-grid button{min-height:94px}
  .meeting-times > div{grid-template-columns:repeat(2,1fr)}
  .meeting-fields{grid-template-columns:1fr}
  .meeting-fields .wide{grid-column:1}
  .meeting-submit{align-items:stretch;flex-direction:column;padding:25px 20px 32px}
  .meeting-submit button{width:100%}
  .meeting-confirmation{padding:100px 20px 70px}
  .meeting-confirmation dl{grid-template-columns:1fr}
  .meeting-confirmation dl div{border-right:0;border-bottom:1px solid var(--line)}
  .meeting-confirmation dl div:last-child{border-bottom:0}
}

.page-cta { padding:100px 8vw; color:white; background:var(--wine); text-align:center; }
.page-cta p { color:#efb3bd; font-size:9px; font-weight:bold; letter-spacing:3px; }
.page-cta h2 { margin:22px 0 34px; font:clamp(42px,5.5vw,76px)/1.06 Georgia,"Noto Serif TC",serif; letter-spacing:-3px; }
.page-cta a { display:inline-block; padding:15px 22px; color:var(--wine); background:white; font-size:11px; font-weight:bold; }

.package-options { padding:110px 6vw 125px; background:#fffaf5; }
.package-options-head { display:grid; grid-template-columns:.28fr 1fr .72fr; align-items:end; gap:5vw; margin-bottom:55px; }
.package-options-head h2 { margin:0; font:clamp(40px,4.8vw,66px)/1.06 Georgia,"Noto Serif TC",serif; letter-spacing:-3px; }
.package-options-head > p:last-child { margin:0; color:var(--muted); font-size:12px; line-height:1.9; }
.package-option-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.package-option { position:relative; min-height:440px; display:flex; flex-direction:column; padding:34px 30px; border:1px solid var(--line); background:var(--cream); }
.package-option:nth-child(-n+3) { background:white; }
.package-option.featured-package { color:white; background:var(--wine); border-color:var(--wine); }
.package-ribbon { position:absolute; right:18px; top:18px; padding:6px 9px; color:var(--wine); background:white; font-size:8px; letter-spacing:1px; }
.package-option-top { display:flex; align-items:center; justify-content:space-between; color:var(--rose); }
.package-option-top span { font:italic 17px Georgia,serif; }
.package-option-top small { font-size:8px; letter-spacing:2px; }
.featured-package .package-option-top { color:#efb4be; }
.package-option h3 { margin:50px 0 16px; font:29px/1.12 Georgia,"Noto Serif TC",serif; }
.package-price { display:flex; align-items:baseline; gap:12px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.featured-package .package-price { border-color:rgba(255,255,255,.25); }
.package-price strong { font:22px Georgia,serif; }
.package-price del { color:var(--muted); font-size:9px; }
.featured-package .package-price del { color:rgba(255,255,255,.5); }
.package-option > p { color:var(--muted); font-size:12px; line-height:1.85; }
.featured-package > p { color:rgba(255,255,255,.68); }
.package-option em { margin-top:auto; padding-top:18px; color:var(--rose); font-size:10px; font-style:normal; line-height:1.6; }
.featured-package em { color:#f0bdc5; }
.package-option-actions { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:22px; padding-top:18px; border-top:1px solid var(--line); }
.featured-package .package-option-actions { border-color:rgba(255,255,255,.25); }
.package-option-actions a { font-size:9px; font-weight:bold; }
.package-option-actions a:last-child { padding-bottom:5px; border-bottom:1px solid currentColor; }

.package-compare { padding:110px 7vw; background:var(--blush); }
.compare-scroll { overflow-x:auto; }
.package-compare table { width:100%; min-width:720px; border-collapse:collapse; background:#fffaf5; }
.package-compare th,.package-compare td { padding:20px 22px; border:1px solid var(--line); font-size:11px; text-align:center; }
.package-compare thead th { color:white; background:#2a181d; font-size:9px; letter-spacing:1px; }
.package-compare thead th:first-child,.package-compare tbody th { text-align:left; }
.package-compare tbody th { color:var(--ink); font:16px Georgia,"Noto Serif TC",serif; }
.package-compare td { color:var(--wine); font-weight:bold; }

.package-includes { display:grid; grid-template-columns:.72fr 1.28fr; gap:7vw; padding:115px 7vw; color:white; background:#241519; }
.package-includes h2,.package-addons h2 { margin:0; font:clamp(40px,4.8vw,66px)/1.07 Georgia,"Noto Serif TC",serif; letter-spacing:-3px; }
.include-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:rgba(255,255,255,.18); }
.include-grid article { min-height:225px; padding:27px; background:#352127; }
.include-grid span { color:#df929f; font:italic 14px Georgia,serif; }
.include-grid h3 { margin:46px 0 10px; font:23px Georgia,"Noto Serif TC",serif; }
.include-grid p { margin:0; color:rgba(255,255,255,.58); font-size:11px; line-height:1.8; }

.package-addons { display:grid; grid-template-columns:.82fr 1.18fr; gap:8vw; padding:110px 7vw; background:#fffaf5; }
.package-addons ul { display:grid; grid-template-columns:repeat(2,1fr); gap:0 35px; margin:0; padding:0; border-top:1px solid var(--line); list-style:none; }
.package-addons li { padding:18px 0; border-bottom:1px solid var(--line); color:var(--muted); font-size:12px; }
.package-addons li:before { content:"＋"; margin-right:12px; color:var(--wine); }

.trunk-benefits { display:grid; grid-template-columns:repeat(4,1fr); padding:0 6vw 115px; background:var(--cream); }
.trunk-benefits article { min-height:260px; padding:30px 28px; border:1px solid var(--line); border-right:0; background:#fffaf5; }
.trunk-benefits article:last-child { border-right:1px solid var(--line); }
.trunk-benefits span { color:var(--rose); font:italic 15px Georgia,serif; }
.trunk-benefits h3 { margin:70px 0 12px; font:24px Georgia,"Noto Serif TC",serif; }
.trunk-benefits p { margin:0; color:var(--muted); font-size:11px; line-height:1.8; }

.trunk-styles { padding:115px 6vw 130px; background:#fffaf5; }
.trunk-product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:48px 18px; }
.trunk-product-image { position:relative; aspect-ratio:4/5; margin-bottom:18px; background-position:center; background-size:cover; overflow:hidden; }
.trunk-product-image:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(28,12,17,.74)); }
.trunk-product-image span { position:absolute; z-index:1; left:16px; bottom:14px; color:white; font:italic 15px Georgia,serif; }
.trunk-product small { color:var(--rose); font-size:8px; letter-spacing:1.6px; }
.trunk-product h3 { margin:9px 0; font:24px Georgia,"Noto Serif TC",serif; }
.trunk-product > p { min-height:58px; margin:0 0 15px; color:var(--muted); font-size:11px; line-height:1.75; }
.trunk-product > b { display:flex; justify-content:space-between; gap:12px; padding-top:14px; border-top:1px solid var(--line); color:var(--wine); font:16px Georgia,serif; }
.trunk-product > b i { color:var(--muted); font:normal 9px Arial; }
.trunk-pink .trunk-product-image { background-image:url("https://images.unsplash.com/photo-1490750967868-88aa4486c946?auto=format&fit=crop&w=800&q=86"); }
.trunk-red .trunk-product-image { background-image:url("https://images.unsplash.com/photo-1519225421980-715cb0215aed?auto=format&fit=crop&w=800&q=86"); }
.trunk-gold .trunk-product-image { background-image:url("https://images.unsplash.com/photo-1507501336603-6e31db2be093?auto=format&fit=crop&w=800&q=86"); }
.trunk-flower .trunk-product-image { background-image:url("https://images.unsplash.com/photo-1507501336603-6e31db2be093?auto=format&fit=crop&w=800&q=86"); }
.trunk-black .trunk-product-image { background-image:url("https://images.unsplash.com/photo-1492684223066-81342ee5ff30?auto=format&fit=crop&w=800&q=86"); }
.trunk-star .trunk-product-image { background-image:url("https://images.unsplash.com/photo-1519608487953-e999c86e7455?auto=format&fit=crop&w=800&q=86"); }
.trunk-forest .trunk-product-image { background-image:url("https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=800&q=86"); }
.trunk-marry .trunk-product-image { background-image:url("https://images.unsplash.com/photo-1522673607200-164d1b6ce486?auto=format&fit=crop&w=800&q=86"); }

.trunk-story { display:grid; grid-template-columns:1.15fr .85fr; min-height:620px; color:white; background:#241519; }
.trunk-story-photo { min-height:520px; background:url("https://images.unsplash.com/photo-1493238792000-8113da705763?auto=format&fit=crop&w=1400&q=88") center/cover; }
.trunk-story > div:last-child { align-self:center; padding:70px 7vw; }
.trunk-story h2,.trunk-process h2,.trunk-shop-cta h2 { margin:0; font:clamp(40px,4.7vw,66px)/1.07 Georgia,"Noto Serif TC",serif; letter-spacing:-3px; }
.trunk-story > div:last-child > p:not(.section-label) { color:rgba(255,255,255,.6); font-size:13px; line-height:2; }
.trunk-story a { display:inline-block; margin-top:18px; padding-bottom:7px; border-bottom:1px solid white; font-size:10px; }

.trunk-process { padding:115px 6vw; background:var(--cream); }
.trunk-process > div { margin-bottom:48px; }
.trunk-process ol { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin:0; padding:0; background:var(--line); list-style:none; }
.trunk-process li { min-height:230px; padding:28px; background:#fffaf5; }
.trunk-process li span { color:var(--rose); font:italic 14px Georgia,serif; }
.trunk-process li b { display:block; margin:55px 0 10px; font:22px Georgia,"Noto Serif TC",serif; }
.trunk-process li p { margin:0; color:var(--muted); font-size:11px; line-height:1.8; }

.trunk-shop-cta { display:flex; align-items:end; justify-content:space-between; gap:60px; padding:95px 7vw; color:white; background:var(--wine); }
.trunk-shop-cta > div:first-child > p:not(.section-label) { max-width:680px; color:rgba(255,255,255,.65); font-size:12px; line-height:1.9; }
.trunk-shop-cta > div:last-child { flex:none; display:flex; gap:10px; }
.trunk-shop-cta a { padding:14px 18px; border:1px solid rgba(255,255,255,.4); font-size:10px; font-weight:bold; }
.trunk-shop-cta a:first-child { color:var(--wine); background:white; }

.decor-service-strip { display:grid; grid-template-columns:repeat(4,1fr); padding:0 6vw 115px; background:var(--cream); }
.decor-service-strip article { min-height:235px; padding:28px; border:1px solid var(--line); border-right:0; background:#fffaf5; }
.decor-service-strip article:last-child { border-right:1px solid var(--line); }
.decor-service-strip span { color:var(--rose); font:italic 14px Georgia,serif; }
.decor-service-strip b { display:block; margin:55px 0 10px; font:23px Georgia,"Noto Serif TC",serif; }
.decor-service-strip p { margin:0; color:var(--muted); font-size:11px; line-height:1.8; }
.commerce-products { padding:115px 6vw 125px; background:#fffaf5; }
.commerce-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:52px 18px; }
.commerce-photo { aspect-ratio:4/5; margin-bottom:18px; background-position:center; background-size:cover; }
.commerce-card small { color:var(--rose); font-size:8px; letter-spacing:1.5px; }
.commerce-card h3 { margin:8px 0; font:24px Georgia,"Noto Serif TC",serif; }
.commerce-card > p { min-height:58px; margin:0 0 14px; color:var(--muted); font-size:11px; line-height:1.75; }
.commerce-card > b { display:flex; justify-content:space-between; gap:12px; padding-top:14px; border-top:1px solid var(--line); color:var(--wine); font:16px Georgia,serif; }
.commerce-card > b span { color:var(--muted); font:normal 9px Arial; }
.all-products-link { display:block; width:max-content; margin:55px auto 0; padding:15px 20px; color:white; background:var(--wine); font-size:10px; font-weight:bold; }
.decor-a .commerce-photo,.diy-a .commerce-photo { background-image:url("https://images.unsplash.com/photo-1519167758481-83f550bb49b3?auto=format&fit=crop&w=800&q=86"); }
.decor-b .commerce-photo,.diy-b .commerce-photo { background-image:url("https://images.unsplash.com/photo-1519225421980-715cb0215aed?auto=format&fit=crop&w=800&q=86"); }
.decor-c .commerce-photo,.diy-c .commerce-photo { background-image:url("https://images.unsplash.com/photo-1522673607200-164d1b6ce486?auto=format&fit=crop&w=800&q=86"); }
.decor-d .commerce-photo,.diy-d .commerce-photo { background-image:url("https://images.unsplash.com/photo-1490750967868-88aa4486c946?auto=format&fit=crop&w=800&q=86"); }
.decor-e .commerce-photo,.diy-e .commerce-photo { background-image:url("https://images.unsplash.com/photo-1507501336603-6e31db2be093?auto=format&fit=crop&w=800&q=86"); }
.decor-f .commerce-photo,.diy-f .commerce-photo { background-image:url("https://images.unsplash.com/photo-1511285560929-80b456fea0bc?auto=format&fit=crop&w=800&q=86"); }
.decor-g .commerce-photo,.diy-g .commerce-photo { background-image:url("https://images.unsplash.com/photo-1507501336603-6e31db2be093?auto=format&fit=crop&w=800&q=86"); }
.decor-h .commerce-photo,.diy-h .commerce-photo { background-image:url("https://images.unsplash.com/photo-1492684223066-81342ee5ff30?auto=format&fit=crop&w=800&q=86"); }
.decor-scenes { display:grid; grid-template-columns:.58fr 1.42fr; gap:7vw; padding:110px 7vw; color:white; background:#241519; }
.decor-scenes h2,.diy-fit h2,.diy-checklist h2 { margin:0; font:clamp(40px,4.7vw,66px)/1.07 Georgia,"Noto Serif TC",serif; letter-spacing:-3px; }
.decor-scenes > div:last-child { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.18); }
.decor-scenes article { min-height:280px; padding:28px; background:#352127; }
.decor-scenes small { color:#df929f; font-size:8px; letter-spacing:2px; }
.decor-scenes h3 { margin:65px 0 12px; font:24px Georgia,"Noto Serif TC",serif; }
.decor-scenes p { color:rgba(255,255,255,.58); font-size:11px; line-height:1.8; }

.diy-fit { display:grid; grid-template-columns:.65fr 1.35fr; gap:7vw; padding:105px 7vw; color:white; background:#241519; }
.diy-fit > div:last-child { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.18); }
.diy-fit article { min-height:255px; padding:28px; background:#352127; }
.diy-fit span { color:#df929f; font:italic 14px Georgia,serif; }
.diy-fit article p { margin-top:75px; color:rgba(255,255,255,.66); font-size:12px; line-height:1.8; }
.diy-products { background:var(--cream); }
.diy-checklist { display:grid; grid-template-columns:.65fr 1.35fr; gap:7vw; padding:110px 7vw; background:#fffaf5; }
.diy-checklist ul { display:grid; grid-template-columns:repeat(2,1fr); gap:0 35px; margin:0; padding:0; border-top:1px solid var(--line); list-style:none; }
.diy-checklist li { display:grid; gap:8px; padding:19px 0; border-bottom:1px solid var(--line); }
.diy-checklist li b { font:18px Georgia,"Noto Serif TC",serif; }
.diy-checklist li span { color:var(--muted); font-size:11px; line-height:1.7; }

@media(max-width:980px){
  .page-intro > div{grid-template-columns:1fr}
  .service-detail-grid{grid-template-columns:repeat(2,1fr)}
  .package-grid{grid-template-columns:1fr}.package-grid article.recommended{transform:none}
  .faq-section{grid-template-columns:1fr}
  .journal-grid{grid-template-columns:repeat(2,1fr)}
  .journal-collections{grid-template-columns:1fr}
  .shop-category-page{grid-template-columns:repeat(2,1fr)}
  .product-grid{grid-template-columns:repeat(2,1fr)}
  .about-statement{grid-template-columns:1fr}.about-statement h2,.about-statement > div{grid-column:1}
  .about-journal{grid-template-columns:1fr}.about-film{min-height:430px}
  .locations{grid-template-columns:1fr}
  .contact-page-grid{grid-template-columns:1fr}
  .package-options-head{grid-template-columns:1fr}.package-option-grid{grid-template-columns:repeat(2,1fr)}
  .package-includes,.package-addons{grid-template-columns:1fr}
  .trunk-benefits{grid-template-columns:repeat(2,1fr)}.trunk-product-grid{grid-template-columns:repeat(2,1fr)}
  .trunk-story{grid-template-columns:1fr}.trunk-process ol{grid-template-columns:repeat(2,1fr)}
  .decor-service-strip,.commerce-grid{grid-template-columns:repeat(2,1fr)}
  .decor-scenes,.diy-fit,.diy-checklist{grid-template-columns:1fr}
}
@media(max-width:650px){
  .page-hero{min-height:610px;padding:140px 24px 62px;background-position:58% center}
  .page-hero > div{width:100%}.page-hero h1{font-size:45px;letter-spacing:-3px}
  .contact-hero{min-height:520px}.shop-page-hero{background-position:63% center}
  .page-intro{grid-template-columns:1fr;padding:72px 24px}.page-intro > div{gap:24px}
  .page-intro h2,.page-section-head h2,.faq-section h2,.about-statement h2,.about-journal h2,.locations h2,.contact-aside h2{font-size:38px}
  .page-section-head{align-items:start;flex-direction:column;gap:20px}
  .service-detail-grid{grid-template-columns:1fr}.service-detail-grid article{min-height:390px}
  .packages{padding:75px 20px}.package-grid article{padding:34px 26px}
  .faq-section{padding:75px 24px}
  .journal-library{padding:70px 20px 80px}.journal-grid{grid-template-columns:1fr}
  .journal-collections{padding:75px 20px}.mood-grid{grid-template-columns:1fr}.mood-grid button{min-height:170px}
  .shop-category-page{grid-template-columns:1fr}.shop-category-item{min-height:360px}
  .featured-products{padding:75px 20px}.product-grid{grid-template-columns:1fr;gap:38px}
  .shop-help{align-items:start;flex-direction:column;padding:70px 24px}.shop-help h2{font-size:43px}
  .about-statement{padding:75px 24px}.about-statement > div{grid-template-columns:1fr;gap:4px}
  .values{grid-template-columns:1fr}.values article{min-height:270px;padding:32px 24px}.values h3{margin-top:45px}
  .about-journal > div:first-child{padding:75px 24px}.about-film{min-height:330px}
  .locations{padding:75px 24px}.locations > div:last-child{grid-template-columns:1fr}
  .contact-page-grid{padding:75px 20px}.full-contact-form{grid-template-columns:1fr;padding:34px 22px}.form-title,.full-contact-form .wide,.full-contact-form > button{grid-column:1}
  .page-cta{padding:75px 24px}.page-cta h2{font-size:42px}
  .packages-hero{background-position:62% center}
  .package-options{padding:75px 20px}.package-options-head{gap:20px}.package-option-grid{grid-template-columns:1fr}.package-option{min-height:400px;padding:30px 24px}
  .package-compare{padding:75px 20px}.package-compare th,.package-compare td{padding:16px}
  .package-includes{padding:75px 20px}.include-grid{grid-template-columns:1fr}.include-grid article{min-height:205px}
  .package-addons{padding:75px 24px}.package-addons ul{grid-template-columns:1fr}
  .trunk-hero{background-position:62% center}.trunk-benefits{grid-template-columns:1fr;padding:0 20px 75px}.trunk-benefits article{min-height:220px;border-right:1px solid var(--line);border-bottom:0}.trunk-benefits article:last-child{border-bottom:1px solid var(--line)}.trunk-benefits h3{margin-top:45px}
  .trunk-styles{padding:75px 20px}.trunk-product-grid{grid-template-columns:1fr;gap:45px}.trunk-product > p{min-height:0}
  .trunk-story{grid-template-columns:1fr}.trunk-story-photo{min-height:350px}.trunk-story > div:last-child{padding:70px 24px}
  .trunk-process{padding:75px 20px}.trunk-process ol{grid-template-columns:1fr}.trunk-process li{min-height:205px}
  .trunk-shop-cta{align-items:start;flex-direction:column;padding:70px 24px}.trunk-shop-cta > div:last-child{width:100%;flex-direction:column}.trunk-shop-cta a{text-align:center}
  .decor-hero,.diy-hero{background-position:60% center}.decor-service-strip{grid-template-columns:1fr;padding:0 20px 75px}.decor-service-strip article{border-right:1px solid var(--line);border-bottom:0}.decor-service-strip article:last-child{border-bottom:1px solid var(--line)}
  .commerce-products{padding:75px 20px}.commerce-grid{grid-template-columns:1fr;gap:45px}.commerce-card > p{min-height:0}.all-products-link{width:100%;text-align:center}
  .decor-scenes,.diy-fit,.diy-checklist{padding:75px 20px}.decor-scenes > div:last-child,.diy-fit > div:last-child{grid-template-columns:1fr}.decor-scenes article,.diy-fit article{min-height:210px}.decor-scenes h3,.diy-fit article p{margin-top:45px}
  .diy-checklist ul{grid-template-columns:1fr}
}

/* Editorial rhythm — asymmetrical, image-led and intentionally spacious */
@media(min-width:981px){
  .manifesto{padding-top:125px;padding-bottom:115px}
  .manifesto p{max-width:1120px}
  .manifesto p:before{content:"MANIFESTO  /  001";display:block;margin-bottom:34px;color:var(--rose);font:9px Arial;letter-spacing:3px}

  .services{padding:135px 6vw 155px}
  .services-intro{grid-template-columns:.82fr 1.18fr;margin:0 0 82px}
  .services-intro h2{max-width:720px}
  .services-intro > p{max-width:400px;margin:0 6vw 10px auto}
  .service-grid{grid-template-columns:repeat(12,1fr);gap:26px 18px;background:transparent}
  .service-card{min-height:390px}
  .service-card:nth-child(1){grid-column:1/span 7;min-height:600px}
  .service-card:nth-child(2){grid-column:9/span 4;min-height:430px;margin-top:115px}
  .service-card:nth-child(3){grid-column:2/span 4;min-height:455px;margin-top:45px}
  .service-card:nth-child(4){grid-column:7/span 6;min-height:570px}
  .service-card:nth-child(5){grid-column:1/span 6;min-height:520px;margin-top:65px}
  .service-card:nth-child(6){grid-column:8/span 4;min-height:420px;margin-top:5px}
  .service-card h3{font-size:34px}

  .shop{padding:140px 6vw 165px}
  .shop-head{grid-template-columns:1.3fr .7fr;margin-bottom:72px}
  .shop-head > p{max-width:360px;margin-left:auto}
  .shop-layout{position:relative;grid-template-columns:1.24fr .76fr;gap:42px;background:transparent}
  .shop-feature{min-height:760px}
  .shop-grid{align-self:center;grid-template-columns:repeat(2,1fr);gap:18px;background:transparent;transform:translateX(-78px)}
  .shop-card{min-height:315px;box-shadow:0 20px 60px rgba(15,6,9,.28)}
  .shop-card:nth-child(2),.shop-card:nth-child(4){transform:translateY(42px)}

  .library{padding:135px 6vw 160px}
  .library-head{padding-right:5vw}
  .video-grid{grid-template-columns:repeat(12,1fr);gap:82px 22px;align-items:start}
  .video-card,.video-card.large{grid-column:span 4}
  .video-card.large{grid-column:1/span 8}
  .video-card.large + .video-card{grid-column:10/span 3;margin-top:135px}
  .video-card:nth-child(3){grid-column:2/span 4}
  .video-card:nth-child(4){grid-column:7/span 6;margin-top:-35px}
  .video-card:nth-child(5){grid-column:1/span 5;margin-top:30px}
  .video-card:nth-child(6){grid-column:8/span 4;margin-top:125px}
  .video-card:nth-child(7){grid-column:2/span 6}
  .video-card:nth-child(8){grid-column:9/span 3;margin-top:90px}
  .video-card:nth-child(9){grid-column:5/span 6}
  .video-card:nth-child(4n) .card-copy h3{font-size:29px}

  .collections{padding:135px 6vw 165px}
  .section-title{grid-template-columns:1.35fr .65fr;margin-bottom:75px}
  .collection-grid{grid-template-columns:repeat(12,1fr);gap:24px;background:transparent;align-items:start}
  .collection:nth-child(1){grid-column:1/span 5;min-height:590px}
  .collection:nth-child(2){grid-column:6/span 3;min-height:410px;margin-top:120px}
  .collection:nth-child(3){grid-column:9/span 4;min-height:520px;margin-top:28px}

  .story-strip{position:relative;grid-template-columns:1.35fr .65fr;padding:145px 9vw 135px}
  .story-strip > p{max-width:430px;margin-top:75px}
  .stats{width:78%;margin:85px 0 0 auto}
  .stats span:nth-child(2){transform:translateY(35px)}

  .process{padding:140px 7vw}
  .process > div{margin-left:8vw}
  .process ol{grid-template-columns:repeat(12,1fr);border-top:0;gap:20px}
  .process li,.process li + li{grid-column:span 3;min-height:320px;padding:28px 25px;border:1px solid var(--line)}
  .process li:nth-child(2),.process li:nth-child(4){transform:translateY(58px)}
  .process li b{margin-top:82px}

  .page-intro{grid-template-columns:2fr 10fr;padding:135px 8vw}
  .page-intro .section-label{writing-mode:vertical-rl;justify-self:start}
  .page-intro > div{grid-template-columns:1.35fr .65fr}
  .page-intro > div > p{max-width:390px;margin-left:auto}

  .service-detail-grid{grid-template-columns:repeat(12,1fr);gap:24px;padding:120px 6vw;background:#fffaf5;align-items:start}
  .service-detail-grid article{grid-column:span 4;min-height:460px}
  .service-detail-grid article:nth-child(1){grid-column:1/span 7;min-height:650px}
  .service-detail-grid article:nth-child(2){grid-column:9/span 4;margin-top:135px}
  .service-detail-grid article:nth-child(3){grid-column:2/span 4;margin-top:25px}
  .service-detail-grid article:nth-child(4){grid-column:7/span 6;min-height:590px}
  .service-detail-grid article:nth-child(5){grid-column:1/span 6;min-height:560px;margin-top:65px}
  .service-detail-grid article:nth-child(6){grid-column:8/span 4;margin-top:10px}

  .package-grid{grid-template-columns:repeat(12,1fr);align-items:start;gap:22px}
  .package-grid article{grid-column:span 4}
  .package-grid article:first-child{margin-top:75px}
  .package-grid article:last-child{margin-top:35px}
  .faq-section{grid-template-columns:5fr 7fr;padding-top:140px;padding-bottom:140px}

  .journal-library .journal-grid{grid-template-columns:repeat(12,1fr)}
  .journal-library .video-card:nth-child(1){grid-column:1/span 7}
  .journal-library .video-card:nth-child(2){grid-column:9/span 4;margin-top:115px}
  .journal-library .video-card:nth-child(3){grid-column:2/span 4}
  .journal-library .video-card:nth-child(4){grid-column:7/span 6;margin-top:-30px}
  .journal-library .video-card:nth-child(5){grid-column:1/span 5}
  .journal-library .video-card:nth-child(6){grid-column:8/span 4;margin-top:100px}
  .journal-library .video-card:nth-child(7){grid-column:2/span 6}
  .journal-library .video-card:nth-child(8){grid-column:9/span 3;margin-top:80px}
  .journal-library .video-card:nth-child(9){grid-column:5/span 6}
  .journal-collections{grid-template-columns:5fr 7fr;padding-top:145px;padding-bottom:145px}
  .mood-grid{grid-template-columns:repeat(12,1fr);gap:20px;background:transparent}
  .mood-grid button{grid-column:span 6;min-height:250px}
  .mood-grid button:nth-child(2),.mood-grid button:nth-child(4){transform:translateY(55px)}

  .shop-category-page{grid-template-columns:repeat(12,1fr);gap:24px;padding:120px 6vw;background:#fffaf5;align-items:start}
  .shop-category-item{grid-column:span 4}
  .shop-category-item:nth-child(1){grid-column:1/span 7;min-height:650px}
  .shop-category-item:nth-child(2){grid-column:9/span 4;margin-top:145px}
  .shop-category-item:nth-child(3){grid-column:2/span 4;margin-top:35px}
  .shop-category-item:nth-child(4){grid-column:7/span 6;min-height:560px}
  .shop-category-item:nth-child(5){grid-column:1/span 5;min-height:520px;margin-top:55px}
  .shop-category-item:nth-child(6){grid-column:8/span 4;margin-top:10px}
  .product-grid{grid-template-columns:repeat(12,1fr);align-items:start;gap:24px}
  .product{grid-column:span 3}
  .product:nth-child(1){grid-column:span 4}
  .product:nth-child(2){margin-top:95px}
  .product:nth-child(3){grid-column:span 3}
  .product:nth-child(4){grid-column:span 2;margin-top:52px}

  .about-statement{padding-top:145px;padding-bottom:145px}
  .values{grid-template-columns:repeat(12,1fr);gap:24px;padding:0 6vw 140px;background:#fffaf5;align-items:start}
  .values article{grid-column:span 4}
  .values article:nth-child(1){min-height:460px}
  .values article:nth-child(2){min-height:380px;margin-top:105px}
  .values article:nth-child(3){min-height:425px;margin-top:30px}
  .about-journal{grid-template-columns:5fr 7fr;margin:0 6vw 130px}
  .locations{grid-template-columns:4fr 8fr}
}

@media(min-width:651px) and (max-width:980px){
  .service-grid,.service-detail-grid,.shop-category-page{gap:16px;background:transparent}
  .video-grid{gap:55px 20px}
  .service-card:nth-child(even),.service-detail-grid article:nth-child(even),.shop-category-item:nth-child(even){transform:translateY(35px)}
  .collection-grid{grid-template-columns:repeat(2,1fr);gap:18px;background:transparent}
  .collection:nth-child(3){grid-column:1/-1;width:68%;margin:18px auto 0}
}

@media(max-width:650px){
  .manifesto p:before{content:"MANIFESTO  /  001";display:block;margin-bottom:24px;color:var(--rose);font:8px Arial;letter-spacing:2px}
  .service-grid,.service-detail-grid,.shop-category-page{gap:18px;padding:0 20px 70px;background:#fffaf5}
  .services .service-grid{padding:0}
  .service-card:nth-child(even),.service-detail-grid article:nth-child(even),.shop-category-item:nth-child(even){margin-left:34px}
  .service-card:nth-child(odd),.service-detail-grid article:nth-child(odd),.shop-category-item:nth-child(odd){margin-right:34px}
  .shop-layout{gap:18px;background:transparent}
  .shop-card:nth-child(even){margin-left:34px}
  .shop-card:nth-child(odd){margin-right:34px}
  .video-grid{gap:58px}
  .video-card:nth-child(even){margin-left:32px}
  .video-card:nth-child(odd){margin-right:20px}
  .collection-grid{gap:18px;background:transparent}
  .collection:nth-child(2){margin-left:32px}
  .collection:nth-child(1),.collection:nth-child(3){margin-right:22px}
  .stats span:nth-child(2){margin-left:32px}
  .process ol{gap:16px;border-top:0}
  .process li,.process li + li{padding:26px 22px;border:1px solid var(--line)}
  .process li:nth-child(even){margin-left:35px}
  .product:nth-child(even){margin-left:35px}
  .mood-grid button:nth-child(even){margin-left:30px}
}

/* Balanced editorial layout: one focal composition per section, calm supporting grids */
@media(min-width:981px){
  .service-grid{gap:22px}
  .service-card:nth-child(1){grid-column:1/span 7;min-height:590px}
  .service-card:nth-child(2){grid-column:8/span 5;min-height:500px;margin-top:70px}
  .service-card:nth-child(n+3){grid-column:span 3;min-height:370px;margin-top:28px}

  .shop-grid{transform:translateX(-54px)}
  .shop-card:nth-child(2),.shop-card:nth-child(4){transform:none}

  .video-card,.video-card.large{grid-column:span 4;margin-top:0}
  .video-card.large{grid-column:1/span 8}
  .video-card.large + .video-card{grid-column:9/span 4;margin-top:90px}
  .video-card:nth-child(n+3){grid-column:span 4;margin-top:0}

  .collection-grid{grid-template-columns:repeat(3,1fr);gap:22px}
  .collection:nth-child(1),.collection:nth-child(2),.collection:nth-child(3){grid-column:auto;min-height:440px;margin-top:0}
  .collection:nth-child(2){min-height:520px}

  .stats{width:100%;margin-top:70px}
  .stats span:nth-child(2){transform:none}

  .process > div{margin-left:0}
  .process ol{gap:0;border-top:1px solid var(--line)}
  .process li,.process li + li{grid-column:span 3;min-height:265px;padding:26px 24px 20px;border:0;border-right:1px solid var(--line)}
  .process li:last-child{border-right:0}
  .process li:nth-child(2),.process li:nth-child(4){transform:none}
  .process li b{margin-top:58px}

  .service-detail-grid article{grid-column:span 3;min-height:410px;margin-top:0}
  .service-detail-grid article:nth-child(1){grid-column:1/span 7;min-height:610px}
  .service-detail-grid article:nth-child(2){grid-column:8/span 5;min-height:500px;margin-top:70px}
  .service-detail-grid article:nth-child(n+3){grid-column:span 3;min-height:400px;margin-top:28px}

  .package-grid article:first-child,.package-grid article:last-child{margin-top:0}

  .journal-library .video-card{grid-column:span 4;margin-top:0}
  .journal-library .video-card:nth-child(1){grid-column:1/span 8}
  .journal-library .video-card:nth-child(2){grid-column:9/span 4;margin-top:85px}
  .journal-library .video-card:nth-child(n+3){grid-column:span 4;margin-top:0}
  .mood-grid button:nth-child(2),.mood-grid button:nth-child(4){transform:none}

  .shop-category-item{grid-column:span 3;min-height:390px;margin-top:0}
  .shop-category-item:nth-child(1){grid-column:1/span 7;min-height:610px}
  .shop-category-item:nth-child(2){grid-column:8/span 5;min-height:500px;margin-top:70px}
  .shop-category-item:nth-child(n+3){grid-column:span 3;min-height:390px;margin-top:28px}

  .product{grid-column:span 3;margin-top:0}
  .product:nth-child(1),.product:nth-child(2),.product:nth-child(3),.product:nth-child(4){grid-column:span 3;margin-top:0}

  .values article:nth-child(1),.values article:nth-child(2),.values article:nth-child(3){min-height:390px;margin-top:0}
}

@media(min-width:651px) and (max-width:980px){
  .service-card:nth-child(even),.service-detail-grid article:nth-child(even),.shop-category-item:nth-child(even){transform:none}
  .collection-grid{grid-template-columns:repeat(3,1fr)}
  .collection:nth-child(3){grid-column:auto;width:auto;margin:0}
}

@media(max-width:650px){
  .service-card:nth-child(even),.service-card:nth-child(odd),
  .service-detail-grid article:nth-child(even),.service-detail-grid article:nth-child(odd),
  .shop-category-item:nth-child(even),.shop-category-item:nth-child(odd),
  .shop-card:nth-child(even),.shop-card:nth-child(odd),
  .video-card:nth-child(even),.video-card:nth-child(odd),
  .collection:nth-child(1),.collection:nth-child(2),.collection:nth-child(3),
  .stats span:nth-child(2),.process li:nth-child(even),
  .product:nth-child(even),.mood-grid button:nth-child(even){margin-left:0;margin-right:0}
}

/* Equipment rental page */
.equipment-hero { background-image:url("https://images.unsplash.com/photo-1492684223066-81342ee5ff30?auto=format&fit=crop&w=2200&q=90"); background-position:center 58%; }
.equipment-uses { display:grid; grid-template-columns:repeat(3,1fr); padding:0 7vw 110px; background:var(--cream); }
.equipment-uses article { min-height:260px; padding:30px; border:1px solid var(--line); border-right:0; background:#fffaf5; }
.equipment-uses article:last-child { border-right:1px solid var(--line); }
.equipment-uses span { color:var(--rose); font:italic 15px Georgia,serif; }
.equipment-uses h3 { margin:70px 0 12px; font:26px Georgia,"Noto Serif TC",serif; }
.equipment-uses p { color:var(--muted); font-size:11px; line-height:1.8; }
.equipment-grid { grid-template-columns:repeat(4,1fr); }
.equip-a .commerce-photo { background-image:url("https://images.unsplash.com/photo-1574717024653-61fd2cf4d44d?auto=format&fit=crop&w=800&q=86"); }
.equip-b .commerce-photo { background-image:url("https://images.unsplash.com/photo-1489599849927-2ee91cede3ba?auto=format&fit=crop&w=800&q=86"); }
.equip-c .commerce-photo { background-image:url("https://images.unsplash.com/photo-1485846234645-a62644f84728?auto=format&fit=crop&w=800&q=86"); }
.equip-d .commerce-photo { background-image:url("https://images.unsplash.com/photo-1492684223066-81342ee5ff30?auto=format&fit=crop&w=800&q=86"); }
.equip-e .commerce-photo { background-image:url("https://images.unsplash.com/photo-1505373877841-8d25f7d46678?auto=format&fit=crop&w=800&q=86"); }
.equip-f .commerce-photo { background-image:url("https://images.unsplash.com/photo-1540575467063-178a50c2df87?auto=format&fit=crop&w=800&q=86"); }
.equip-g .commerce-photo { background-image:url("https://images.unsplash.com/photo-1501386761578-eac5c94b800a?auto=format&fit=crop&w=800&q=86"); }
.equipment-guide { display:grid; grid-template-columns:.7fr 1.3fr; gap:7vw; padding:110px 7vw; color:white; background:#241519; }
.equipment-guide h2,.equipment-categories h2 { margin:0; font:clamp(40px,4.7vw,66px)/1.07 Georgia,"Noto Serif TC",serif; letter-spacing:-3px; }
.equipment-guide ol { margin:0; padding:0; border-top:1px solid rgba(255,255,255,.2); list-style:none; }
.equipment-guide li { display:grid; grid-template-columns:55px 1fr; gap:18px; padding:22px 0; border-bottom:1px solid rgba(255,255,255,.2); }
.equipment-guide li span { color:#df929f; font:italic 14px Georgia,serif; }
.equipment-guide li b { font:21px Georgia,"Noto Serif TC",serif; }
.equipment-guide li p { margin:7px 0 0; color:rgba(255,255,255,.56); font-size:11px; line-height:1.7; }
.equipment-categories { display:grid; grid-template-columns:.65fr 1.35fr; gap:7vw; padding:110px 7vw; background:#fffaf5; }
.equipment-categories > div:last-child { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); }
.equipment-categories a { min-height:190px; display:flex; flex-direction:column; padding:24px; background:var(--cream); }
.equipment-categories a:last-child { grid-column:1/-1; min-height:160px; }
.equipment-categories a span { color:var(--rose); font:italic 13px Georgia,serif; }
.equipment-categories a b { margin-top:auto; font:21px Georgia,"Noto Serif TC",serif; }
.equipment-categories a small { margin-top:7px; color:var(--muted); font-size:9px; }

@media(max-width:980px){
  .equipment-grid{grid-template-columns:repeat(2,1fr)}
  .equipment-guide,.equipment-categories{grid-template-columns:1fr}
}
@media(max-width:650px){
  .equipment-hero{background-position:60% center}
  .equipment-uses{grid-template-columns:1fr;padding:0 20px 75px}
  .equipment-uses article{min-height:210px;border-right:1px solid var(--line);border-bottom:0}
  .equipment-uses article:last-child{border-bottom:1px solid var(--line)}
  .equipment-uses h3{margin-top:45px}
  .equipment-grid{grid-template-columns:1fr}
  .equipment-guide,.equipment-categories{padding:75px 20px}
  .equipment-categories > div:last-child{grid-template-columns:1fr}
.equipment-categories a:last-child{grid-column:1}
}

/* Cinematic motion system: selective, calm, and performance-safe */
::selection{background:rgba(164,29,60,.82);color:#fff}
:focus-visible{outline:2px solid #d7b46a;outline-offset:4px}
.skip-link{position:fixed;z-index:9999;top:12px;left:12px;padding:10px 16px;border-radius:999px;background:#fff;color:#171217;transform:translateY(-160%);transition:transform .18s ease}
.skip-link:focus{transform:translateY(0)}
.scroll-progress{position:fixed;z-index:9998;inset:0 0 auto;height:2px;pointer-events:none;background:linear-gradient(90deg,#8f1735,#d7b46a 62%,#f4e3b9);box-shadow:0 0 18px rgba(215,180,106,.42);transform:scaleX(0);transform-origin:left center}
.site-breadcrumb{position:absolute;z-index:30;top:100px;left:max(5vw,32px);display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.12em;color:rgba(255,255,255,.64)}
.site-breadcrumb a{color:inherit;text-decoration:none;transition:color .18s ease}
.site-breadcrumb a:hover{color:#fff}
.site-breadcrumb [aria-current="page"]{color:rgba(255,255,255,.92)}
.floating-inquiry{position:fixed;z-index:120;right:24px;bottom:24px;display:inline-flex;align-items:center;gap:16px;min-height:52px;padding:0 20px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(111,14,40,.9);box-shadow:0 14px 36px rgba(30,6,14,.3);color:#fff;font-size:13px;font-weight:650;letter-spacing:.08em;text-decoration:none;backdrop-filter:blur(16px);transition:transform .22s ease,background .22s ease,box-shadow .22s ease}
.floating-inquiry:hover{transform:translateY(-3px);background:rgba(132,18,49,.96);box-shadow:0 18px 42px rgba(30,6,14,.38)}
.floating-inquiry span:last-child{font-size:17px;color:#e8c980}
.reveal-target{opacity:0;transform:translateY(28px);transition:opacity .76s cubic-bezier(.22,1,.36,1),transform .76s cubic-bezier(.22,1,.36,1)}
.reveal-target.is-visible{opacity:1;transform:translateY(0)}
.hero,.page-hero{isolation:isolate}
.hero:after,.page-hero:after{position:absolute;z-index:-1;inset:0;pointer-events:none;content:"";background:radial-gradient(circle at 78% 32%,rgba(151,31,67,.18),transparent 34%),linear-gradient(120deg,rgba(9,7,12,.18),transparent 46%)}
@keyframes heroKenBurns{
  0%{transform:scale(1.025) translate3d(-.35%,0,0)}
  100%{transform:scale(1.085) translate3d(.75%,-.45%,0)}
}
@keyframes photoKenBurns{
  0%{transform:scale(1.025) translate3d(-.6%,0,0)}
  100%{transform:scale(1.105) translate3d(.8%,-.5%,0)}
}

@media(max-width:760px){
  .site-breadcrumb{top:80px;left:20px;font-size:10px}
  .floating-inquiry{right:16px;bottom:16px;min-height:46px;padding:0 16px;gap:12px;font-size:12px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal-target{opacity:1;transform:none}
}

/* ---- Generic fallback templates (page.php / single.php / index.php) ---- */
.generic-hero { position:relative; display:flex; align-items:end; min-height:340px; padding:150px 8vw 60px; color:#fff; background:linear-gradient(120deg,#3a1f27,#6f2638); }
.generic-hero .overline { color:#efc0c7; }
.generic-hero h1 { margin:0; font:clamp(38px,5vw,68px)/1.06 Georgia,"Noto Serif TC",serif; letter-spacing:-2px; }
.generic-wrap { max-width:820px; margin:0 auto; padding:70px 24px 110px; }
.generic-wrap .prose { color:#38272a; font-size:16px; line-height:1.95; }
.generic-wrap .prose h2 { margin:40px 0 14px; font:30px/1.2 Georgia,"Noto Serif TC",serif; color:var(--wine); }
.generic-wrap .prose h3 { margin:30px 0 10px; font:22px Georgia,"Noto Serif TC",serif; }
.generic-wrap .prose p { margin:0 0 20px; }
.generic-wrap .prose a { color:var(--wine); text-decoration:underline; }
.generic-wrap .prose img { max-width:100%; height:auto; }
.generic-wrap .prose ul,.generic-wrap .prose ol { padding-left:22px; margin:0 0 20px; }
.generic-wrap .prose blockquote { margin:0 0 20px; padding:6px 22px; border-left:3px solid var(--rose); color:var(--muted); }
.post-list { list-style:none; margin:0; padding:0; display:grid; gap:34px; }
.post-list li { padding-bottom:30px; border-bottom:1px solid var(--line); }
.post-list h2 { margin:0 0 10px; font:26px/1.25 Georgia,"Noto Serif TC",serif; }
.post-list h2 a { color:var(--ink); }
.post-list .post-meta { color:var(--rose); font-size:11px; letter-spacing:1.5px; margin-bottom:8px; }
.post-list p { color:var(--muted); font-size:14px; line-height:1.9; margin:0; }
.generic-more { display:inline-block; margin-top:10px; color:var(--wine); font-size:12px; font-weight:bold; border-bottom:1px solid var(--wine); padding-bottom:3px; }
.generic-nav { display:flex; justify-content:space-between; gap:20px; margin-top:60px; font-size:12px; }
.generic-nav a { color:var(--wine); font-weight:bold; }
