/* 蘭城序 LCS Shared Styles v1.1 */
:root{
  --deep:#0f0d0b;
  --deep2:#1a1713;
  --champagne:#c9a96e;
  --champagne-lt:#e0c99a;
  --ivory:#f9f7f2;
  --stone:#8a8278;
  --border:rgba(201,169,110,.25);
  --hdr-h:72px;
  --ease:cubic-bezier(.4,0,.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{background:var(--deep);color:var(--ivory);font-family:'Noto Serif TC','Georgia',serif;-webkit-font-smoothing:antialiased}
.lcs-hdr{position:fixed;top:0;left:0;width:100%;z-index:900;transition:background .4s var(--ease),backdrop-filter .4s}
.lcs-hdr-inner{max-width:1280px;margin:0 auto;height:var(--hdr-h);display:flex;align-items:center;gap:2rem;padding:0 2rem}
.lcs-logo{font-size:1.35rem;letter-spacing:.15em;color:var(--champagne);text-decoration:none;flex:0 0 auto;transition:opacity .3s}
.lcs-logo:hover{opacity:.8}
.lcs-nav{display:flex;gap:2rem;margin-left:auto}
.lcs-nav a{color:rgba(249,247,242,.75);text-decoration:none;font-size:.85rem;letter-spacing:.1em;transition:color .3s;position:relative;padding-bottom:2px}
.lcs-nav a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--champagne);transition:width .3s var(--ease)}
.lcs-nav a:hover,.lcs-nav a.active{color:var(--champagne)}
.lcs-nav a.active::after,.lcs-nav a:hover::after{width:100%}
.lcs-cta-btn{margin-left:1.5rem;padding:.5rem 1.25rem;border:1px solid var(--champagne);color:var(--champagne);font-size:.8rem;letter-spacing:.12em;text-decoration:none;transition:background .3s,color .3s;flex:0 0 auto}
.lcs-cta-btn:hover{background:var(--champagne);color:var(--deep)}
.lcs-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.lcs-burger span{display:block;width:24px;height:2px;background:var(--ivory);transition:transform .3s,opacity .3s}
.lcs-hdr.scrolled{background:rgba(15,13,11,.92);backdrop-filter:blur(12px)}
.lcs-hdr.light{background:transparent}
.lcs-hero{position:relative;height:100vh;min-height:600px;display:flex;align-items:flex-end;overflow:hidden}
.lcs-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.08);transition:transform 8s var(--ease),opacity .8s}
.lcs-hero-bg.loaded{transform:scale(1)}
.lcs-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,13,11,.85) 30%,rgba(15,13,11,.25) 100%)}
.lcs-hero-body{position:relative;padding:4rem 2rem;max-width:1280px;margin:0 auto;width:100%}
.lcs-hero-sub{font-size:.75rem;letter-spacing:.25em;color:var(--champagne);text-transform:uppercase;margin-bottom:1rem}
.lcs-hero-h1{font-size:clamp(2.5rem,6vw,5rem);font-weight:300;letter-spacing:.08em;line-height:1.15;margin-bottom:1.5rem}
.lcs-hero-p{font-size:1rem;color:rgba(249,247,242,.7);max-width:480px;line-height:1.8;margin-bottom:2.5rem}
.lcs-scroll-hint{display:flex;align-items:center;gap:.75rem;font-size:.75rem;letter-spacing:.15em;color:var(--stone)}
.lcs-scroll-line{width:48px;height:1px;background:var(--champagne);animation:scrollPulse 2s ease-in-out infinite}
.lcs-page-hero{position:relative;display:flex;align-items:center;overflow:hidden}
.lcs-page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.lcs-page-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(15,13,11,.6),rgba(15,13,11,.75))}
.lcs-page-hero-body{position:relative;max-width:1280px;margin:0 auto;width:100%;padding:0 2rem}
.lcs-section{padding:6rem 2rem;max-width:1280px;margin:0 auto}
.lcs-section-full{padding:6rem 2rem;background:var(--deep2)}
.lcs-section-full .lcs-section{padding:0;margin:0 auto}
.lcs-label{font-size:.7rem;letter-spacing:.3em;color:var(--champagne);text-transform:uppercase;margin-bottom:1rem}
.lcs-h2{font-size:clamp(1.8rem,4vw,3rem);font-weight:300;letter-spacing:.06em;line-height:1.3;margin-bottom:1.5rem}
.lcs-lead{font-size:1rem;color:rgba(249,247,242,.7);line-height:1.9;max-width:600px}
.lcs-two-col{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.lcs-two-col.reverse{direction:rtl}
.lcs-two-col.reverse>*{direction:ltr}
.lcs-two-col-img{aspect-ratio:4/5;overflow:hidden}
.lcs-two-col-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.lcs-two-col-img:hover img{transform:scale(1.04)}
.lcs-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--border);border:1px solid var(--border)}
.lcs-stat{background:var(--deep);padding:2.5rem 1.5rem;text-align:center}
.lcs-stat-num{font-size:2.5rem;color:var(--champagne);letter-spacing:.05em;font-weight:300}
.lcs-stat-unit{font-size:.8rem;color:var(--champagne)}
.lcs-stat-label{font-size:.75rem;color:var(--stone);margin-top:.5rem;letter-spacing:.1em}
.lcs-features{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}
.lcs-feature{background:var(--deep);padding:2rem}
.lcs-feature-icon{font-size:1.5rem;margin-bottom:1rem;color:var(--champagne)}
.lcs-feature h3{font-size:.9rem;letter-spacing:.1em;margin-bottom:.75rem;font-weight:400}
.lcs-feature p{font-size:.85rem;color:var(--stone);line-height:1.8}
.lcs-gallery-preview{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,280px);gap:4px}
.lcs-gallery-preview .item:first-child{grid-row:span 2}
.lcs-gallery-preview .item img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease),filter .4s}
.lcs-gallery-preview .item:hover img{transform:scale(1.04);filter:brightness(1.1)}
.lcs-gallery-preview .item{overflow:hidden}
.lcs-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.lcs-gallery-grid .g-item{overflow:hidden;cursor:pointer;position:relative}
.lcs-gallery-grid .g-item:first-child{grid-row:span 2}
.lcs-gallery-grid .g-item img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;display:block;transition:transform .6s var(--ease)}
.lcs-gallery-grid .g-item:first-child img{aspect-ratio:unset;height:100%}
.lcs-gallery-grid .g-item:hover img{transform:scale(1.05)}
.lcs-gallery-grid .g-caption{position:absolute;bottom:0;left:0;right:0;padding:.75rem 1rem;background:linear-gradient(to top,rgba(15,13,11,.8),transparent);font-size:.75rem;letter-spacing:.1em;color:var(--ivory);opacity:0;transition:opacity .3s}
.lcs-gallery-grid .g-item:hover .g-caption{opacity:1}
.lcs-lightbox{display:none;position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.92);align-items:center;justify-content:center}
.lcs-lightbox.active{display:flex}
.lcs-lightbox-img{max-width:90vw;max-height:90vh;object-fit:contain}
.lcs-lightbox-close{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;color:var(--ivory);font-size:2rem;cursor:pointer;opacity:.7;transition:opacity .2s}
.lcs-lightbox-close:hover{opacity:1}
.lcs-lightbox-prev,.lcs-lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--ivory);font-size:2rem;cursor:pointer;opacity:.6;padding:1rem;transition:opacity .2s}
.lcs-lightbox-prev:hover,.lcs-lightbox-next:hover{opacity:1}
.lcs-lightbox-prev{left:1rem}
.lcs-lightbox-next{right:1rem}
.lcs-specs-table{width:100%;border-collapse:collapse;font-size:.9rem}
.lcs-specs-table th{text-align:left;padding:1rem 1.5rem;border-bottom:1px solid var(--border);color:var(--champagne);font-weight:400;letter-spacing:.1em;font-size:.8rem}
.lcs-specs-table td{padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.06);color:rgba(249,247,242,.8);line-height:1.7}
.lcs-specs-table tr:hover td{background:rgba(201,169,110,.05)}
.lcs-specs-dl{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border)}
.lcs-specs-dl dt,.lcs-specs-dl dd{background:var(--deep2);padding:1.25rem 1.5rem}
.lcs-specs-dl dt{font-size:.8rem;color:var(--champagne);letter-spacing:.1em}
.lcs-specs-dl dd{font-size:.9rem;color:rgba(249,247,242,.8)}
.lcs-contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;align-items:start}
.lcs-contact-item{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:flex-start}
.lcs-contact-icon{font-size:1rem;color:var(--champagne);flex:0 0 1.5rem;padding-top:.1rem}
.lcs-contact-item p{font-size:.9rem;color:rgba(249,247,242,.75);line-height:1.8}
.lcs-map-placeholder{margin-top:2rem;height:200px;background:rgba(255,255,255,.04);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.8rem;color:var(--stone);letter-spacing:.1em}
.lcs-form{background:rgba(255,255,255,.03);border:1px solid var(--border);padding:2.5rem}
.lcs-field{position:relative;margin-bottom:1.5rem}
.lcs-field input,.lcs-field select,.lcs-field textarea{width:100%;background:transparent;border:none;border-bottom:1px solid var(--border);padding:.75rem 0;color:var(--ivory);font-size:.9rem;font-family:inherit;outline:none;transition:border-color .3s}
.lcs-field input:focus,.lcs-field select:focus,.lcs-field textarea:focus{border-color:var(--champagne)}
.lcs-field select{-webkit-appearance:none;appearance:none}
.lcs-field select option{background:var(--deep2);color:var(--ivory)}
.lcs-field textarea{resize:vertical;min-height:100px}
.lcs-field label{position:absolute;top:.75rem;left:0;font-size:.85rem;color:var(--stone);letter-spacing:.05em;pointer-events:none;transition:all .25s}
.lcs-field input:focus+label,.lcs-field input:not(:placeholder-shown)+label,
.lcs-field select:focus+label,.lcs-field textarea:focus+label,.lcs-field textarea:not(:placeholder-shown)+label{top:-.9rem;font-size:.72rem;color:var(--champagne);letter-spacing:.12em}
.lcs-submit{width:100%;padding:.9rem;background:var(--champagne);color:var(--deep);border:none;font-size:.85rem;letter-spacing:.15em;cursor:pointer;transition:background .3s,transform .15s;margin-top:.5rem;font-family:inherit}
.lcs-submit:hover{background:var(--champagne-lt)}
.lcs-submit:active{transform:scale(.98)}
.lcs-submit.loading{opacity:.6;pointer-events:none}
.lcs-form-success{display:none;text-align:center;padding:2rem;color:var(--champagne);font-size:.9rem;letter-spacing:.1em}
.lcs-cta-band{padding:5rem 2rem;text-align:center;background:var(--deep2);border-top:1px solid var(--border)}
.lcs-cta-band h2{font-size:clamp(1.6rem,3vw,2.5rem);font-weight:300;letter-spacing:.08em;margin-bottom:1rem}
.lcs-cta-band p{color:rgba(249,247,242,.6);font-size:.9rem;margin-bottom:2rem}
.lcs-btn{display:inline-block;padding:.75rem 2.5rem;border:1px solid var(--champagne);color:var(--champagne);text-decoration:none;font-size:.85rem;letter-spacing:.15em;transition:background .3s,color .3s;margin:.5rem}
.lcs-btn:hover{background:var(--champagne);color:var(--deep)}
.lcs-btn.filled{background:var(--champagne);color:var(--deep)}
.lcs-btn.filled:hover{background:var(--champagne-lt)}
[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
[data-reveal].visible{opacity:1;transform:none}
@keyframes scrollPulse{0%,100%{opacity:.4;transform:scaleX(.6)}50%{opacity:1;transform:scaleX(1)}}
@keyframes pageIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.lcs-hero-body{animation:pageIn .9s var(--ease) .2s both}
@media(max-width:1024px){
  .lcs-two-col{grid-template-columns:1fr;gap:3rem}
  .lcs-two-col.reverse{direction:ltr}
  .lcs-stats{grid-template-columns:repeat(2,1fr)}
  .lcs-features{grid-template-columns:repeat(2,1fr)}
  .lcs-contact-grid{grid-template-columns:1fr}
  .lcs-specs-dl{grid-template-columns:1fr}
}
@media(max-width:768px){
  :root{--hdr-h:60px}
  .lcs-nav{display:none;position:absolute;top:var(--hdr-h);left:0;width:100%;background:rgba(15,13,11,.96);flex-direction:column;gap:0;padding:1rem 0}
  .lcs-nav.open{display:flex}
  .lcs-nav a{padding:1rem 2rem}
  .lcs-cta-btn{display:none}
  .lcs-burger{display:flex}
  .lcs-gallery-preview{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .lcs-gallery-preview .item:first-child{grid-row:span 1}
  .lcs-gallery-grid{grid-template-columns:1fr 1fr}
  .lcs-gallery-grid .g-item:first-child{grid-row:span 1}
  .lcs-stats{grid-template-columns:repeat(2,1fr)}
  .lcs-features{grid-template-columns:1fr}
  .lcs-section{padding:4rem 1.5rem}
  .lcs-specs-dl{grid-template-columns:1fr}
}


/* === 選項 B：細環形游標 === */
body:not(.wp-admin){cursor:none}
.lcs-cursor{
  position:fixed;
  width:24px;height:24px;
  border:1.5px solid rgba(249,247,242,.75);
  border-radius:50%;
  pointer-events:none;
  z-index:99999;
  transform:translate(-50%,-50%);
  transition:width .22s var(--ease),height .22s var(--ease),background .22s var(--ease),border-color .22s var(--ease),opacity .3s;
  will-change:transform;
}
.lcs-cursor.lcs-cursor--hover{
  width:14px;height:14px;
  background:var(--champagne);
  border-color:var(--champagne);
}
@media(hover:none){.lcs-cursor{display:none}}