:root{--bg:#f7f5f0;--cream:#ece6da;--sand:#e9dfd0;--brown:#88745f;--ink:#2f3d36;--forest:#344c41;--muted:#6d746c;--line:#d9d5ca;--serif:"Noto Serif TC","Songti TC",serif;--sans:"Noto Sans TC","Microsoft JhengHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.85}button,a{font:inherit}a{text-decoration:none;color:inherit}button{cursor:pointer}img{display:block;width:100%;height:auto}::selection{background:#a8b7a6;color:#17271d}em{font-style:normal;color:var(--brown)}:focus-visible{outline:3px solid #bc8d50;outline-offset:4px}.topline{height:30px;background:#354a40;color:#e1e5dc;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,88px);font-family:var(--sans);font-size:10px;letter-spacing:.19em}.topline span+span{letter-spacing:.11em}.header{height:94px;background:rgba(247,245,240,.95);border-bottom:1px solid #dfdacf;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,88px);position:sticky;top:0;z-index:50;backdrop-filter:blur(18px)}.brand{display:inline-flex;gap:13px;align-items:center;flex-shrink:0}.brand-seal{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--forest);color:var(--forest);font:500 26px var(--serif);line-height:1;position:relative}.brand-seal:after{content:"";position:absolute;inset:4px;border:1px solid rgba(52,76,65,.28)}.brand-copy{display:flex;flex-direction:column;line-height:1.3}.brand-copy strong{font:600 20px var(--serif);letter-spacing:.14em}.brand-copy small{font:500 9px var(--sans);letter-spacing:.22em;margin-top:8px;color:var(--brown)}.header nav{display:flex;align-items:center;gap:clamp(16px,2.7vw,43px)}.header nav a{white-space:nowrap;font-size:12px;font-weight:500;letter-spacing:.07em;transition:color .2s}.header nav a:hover,.footer a:hover{color:#b18b64}.header nav .nav-contact{border:1px solid #3b4c42;padding:11px 19px;border-radius:1px;display:flex;gap:18px;align-items:center}.header nav .nav-contact:hover{background:var(--forest);color:white}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:48% 52%;min-height:675px;overflow:hidden;background:#eee9de}.hero-copy{padding:clamp(65px,9vw,145px) 6% 25px clamp(28px,7vw,118px);position:relative;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{display:flex;align-items:center;gap:15px;font:500 11px var(--sans);color:#758276;letter-spacing:.22em}.small-line{height:1px;width:37px;background:#829188;display:block}.hero h1{font:500 clamp(38px,4.1vw,65px)/1.62 var(--serif);letter-spacing:.055em;margin:29px 0 16px;white-space:nowrap}.hero h1 em{color:#8e7257}.hero-copy>p{font:400 clamp(13px,1.06vw,16px)/2.2 var(--sans);color:#627066;letter-spacing:.075em;margin:0 0 39px}.hero-actions{display:flex;align-items:center;gap:31px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;font-size:12px;letter-spacing:.09em;font-weight:500;min-height:53px;padding:11px 21px;transition:background .25s,transform .25s,color .25s}.btn:hover{transform:translateY(-2px)}.btn-dark{background:var(--forest);color:#fff}.btn-dark:hover{background:#203a2d}.text-link{font-size:12px;padding:10px 0;border-bottom:1px solid #8d947e;letter-spacing:.06em}.text-link span{margin-left:16px}.hero-bottom{margin-top:auto;padding-top:55px;width:100%;display:flex;align-items:center;gap:12px;font:10px var(--sans);color:#8a8b82;letter-spacing:.13em}.hero-bottom span:last-child{margin-left:auto}.line-mark{width:27px;height:1px;background:#b7ad9c}.hero-visual{position:relative;min-height:625px;background:#a69680;overflow:hidden}.hero-photo{position:absolute;inset:0;background:#a99b82}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(32,35,31,.06),rgba(25,30,25,.1)),linear-gradient(0deg,rgba(29,33,28,.35),transparent 45%)}.hero-photo img{height:100%;object-fit:cover;filter:saturate(.67) brightness(.82);object-position:50% 50%}.photo-caption{position:absolute;bottom:32px;left:35px;z-index:3;color:#fff;font-size:10px;letter-spacing:.09em;background:rgba(31,48,40,.63);padding:6px 12px}.hero-arc{position:absolute;right:-54px;top:15%;width:180px;height:180px;border:1px solid rgba(255,255,255,.7);border-radius:50%;display:grid;place-items:center;color:white;font:500 15px/2 var(--serif);text-align:center;letter-spacing:.21em;transform:rotate(9deg)}.hero-note{position:absolute;right:45px;bottom:37px;display:flex;flex-direction:column;align-items:flex-end;color:#fff;z-index:2}.hero-note span:first-child{font:400 23px var(--serif);letter-spacing:.12em}.hero-note span:last-child{font:9px var(--sans);letter-spacing:.2em;margin-top:5px}.feature-strip{background:var(--forest);min-height:88px;color:#f0f1e8;display:flex;align-items:center;justify-content:center;gap:clamp(14px,3.3vw,65px);padding:19px 23px;flex-wrap:wrap}.feature-strip span{font-size:13px;letter-spacing:.16em}.feature-strip i{height:5px;width:5px;border:1px solid #b1b9aa;transform:rotate(45deg)}.section{padding:116px clamp(24px,7.3vw,118px);scroll-margin-top:90px}.section-meta{display:flex;align-items:center;justify-content:space-between;color:#7e877e;font:500 11px var(--sans);letter-spacing:.17em;margin-bottom:62px}.section-meta b{font-size:13px;color:#7c806e}.intro{padding-bottom:95px;background:#f7f5f0}.intro-grid{display:grid;grid-template-columns:54% 46%;align-items:start}.section-heading{font:500 clamp(30px,3.5vw,52px)/1.65 var(--serif);letter-spacing:.045em;margin:0;white-space:normal}.intro-grid .section-heading{font-size:clamp(34px,4vw,60px);line-height:1.72}.intro-right{max-width:500px;padding-top:11px}.intro-right .lead{font:400 18px/2.1 var(--serif);color:#334d3e;margin:0 0 22px;letter-spacing:.05em}.intro-right p:not(.lead){color:#74796f;font-size:14px;line-height:2.1}.underline-link{display:inline-flex;align-items:center;gap:70px;border-bottom:1px solid #526858;padding-bottom:8px;margin-top:23px;font:500 12px var(--sans)}.intro-numbers{margin-top:82px;padding-top:30px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.intro-numbers>div{display:flex;gap:18px;align-items:baseline;padding:4px 0 4px 44px;border-right:1px solid #dad7ce}.intro-numbers>div:first-child{padding-left:0}.intro-numbers>div:last-child{border:0}.intro-numbers strong{font:400 clamp(37px,5.1vw,70px) var(--serif);color:#4d6456;white-space:nowrap}.intro-numbers strong span{font:400 14px var(--serif);margin-left:4px}.intro-numbers>div>span{font-size:12px;color:#889087;letter-spacing:.06em}.spaces{background:#eeeae0}.section-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:51px}.section-head-row>p{font-size:13px;line-height:2.1;color:#7a8076;margin:0 0 7px}.eyebrow.accent{color:#987d63;margin-bottom:12px}.space-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:24px}.photo-holder{position:relative;overflow:hidden;background:#d7cbbb}.photo-holder img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.photo-holder:hover img{transform:scale(1.035)}.space-main .photo-holder{height:clamp(320px,35vw,540px)}.space-side .photo-holder{height:clamp(320px,35vw,540px)}.photo-ribbon{position:absolute;bottom:14px;left:14px;z-index:1;color:#4b5247;background:rgba(250,249,242,.86);font:11px var(--sans);padding:7px 12px}.space-describe{display:flex;justify-content:space-between;gap:25px;padding:20px 0 0}.space-describe small{font:500 10px var(--sans);letter-spacing:.13em;color:#987f67}.space-describe h3{font:500 19px/1.5 var(--serif);margin:8px 0 0}.space-describe>p{max-width:200px;line-height:1.9;margin:21px 0 0;color:#7d8278;font-size:12px}.amenities{margin-top:72px;padding-top:44px;border-top:1px solid #d5cdbd;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:44px}.amenity-icon{display:grid;place-items:center;font:400 28px Georgia,serif;color:#445949;border:1px solid #aab8a7;width:54px;height:54px;border-radius:50%;margin-bottom:22px}.amenity h3{font:500 17px var(--serif);margin:0 0 10px}.amenity p{font-size:12px;color:#7b8279;line-height:1.95;max-width:230px;margin:0}.quote-band{background:#3b5146;color:#f2eadc;text-align:center;padding:93px 20px 90px;position:relative}.quote-band:before,.quote-band:after{content:"✦";position:absolute;top:45%;color:#aab7a6;font-size:17px}.quote-band:before{left:12%}.quote-band:after{right:12%}.quote-en{font:10px var(--sans);letter-spacing:.32em;color:#aebbaa}.quote-band p{font:400 clamp(23px,2.7vw,37px)/1.85 var(--serif);letter-spacing:.13em;margin:19px 0 22px}.quote-band>span{font-size:10px;letter-spacing:.2em;color:#adbdaf}.discover{background:#f7f5f0}.attraction-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 23px}.attraction-feature{grid-column:span 2;display:grid;grid-template-columns:1.15fr 1fr}.attraction-card{min-width:0;background:#fffefa;display:flex;flex-direction:column;transition:box-shadow .3s,transform .3s}.attraction-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(60,60,46,.065)}.attraction-img{height:255px;background:#b3aa95;position:relative;overflow:hidden}.attraction-feature .attraction-img{height:100%;min-height:290px}.attraction-img:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.16),transparent 55%);pointer-events:none}.attraction-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.8);transition:transform .55s}.attraction-card:hover img{transform:scale(1.04)}.attraction-img>span{position:absolute;top:16px;left:16px;padding:6px 10px;background:rgba(252,248,240,.93);font:500 10px var(--sans);letter-spacing:.1em;z-index:1}.attraction-body{padding:21px 22px 24px;display:flex;align-items:flex-end;gap:12px;justify-content:space-between;flex:1}.attraction-feature .attraction-body{padding:27px 29px}.attraction-body small{color:#9a7f63;font-size:11px;letter-spacing:.15em}.attraction-body h3{font:500 22px var(--serif);margin:6px 0 12px;letter-spacing:.04em}.attraction-body p{font-size:12px;color:#7d8379;margin:0;line-height:2}.attraction-body>a{display:grid;place-items:center;border:1px solid #d0d6ce;width:34px;height:34px;flex-shrink:0;border-radius:50%;font-size:16px;color:#496250;transition:background .2s}.attraction-body>a:hover{background:#e2eae0}.attraction-note{color:#858e85;font-size:11px;display:flex;justify-content:flex-end;gap:12px;margin-top:26px}.attraction-note a{text-decoration:underline;text-underline-offset:4px}.itinerary{background:#eeeae0}.itinerary-layout{display:grid;grid-template-columns:38% 62%;border-top:1px solid #cbc7bb;border-bottom:1px solid #cbc7bb}.trip-tabs{border-right:1px solid #cbc7bb;display:flex;flex-direction:column}.trip-tabs button{display:flex;gap:15px;align-items:center;text-align:left;padding:31px 25px 31px 0;border:0;border-bottom:1px solid #d4cfc3;background:transparent;font:500 11px var(--sans);color:#859084;transition:color .25s}.trip-tabs button span{font:500 15px var(--serif);color:#586c5b;flex:1}.trip-tabs button b{font-size:19px;font-weight:400;opacity:.3}.trip-tabs button.active span,.trip-tabs button:hover span{color:#243d2e}.trip-tabs button.active b{opacity:1}.trip-callout{margin-top:auto;padding:42px 0 28px;color:#627063;font:400 17px/1.8 var(--serif)}.trip-callout span{display:block;color:#95826d;font:9px var(--sans);letter-spacing:.25em;margin-top:24px}.trip-content{padding:36px 0 34px clamp(38px,6vw,88px)}.trip-heading>span{color:#8f806d;font:500 10px var(--sans);letter-spacing:.22em}.trip-heading h3{font:500 26px var(--serif);margin:12px 0 27px}.trip-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:32px 30px;margin-bottom:36px}.trip-step{display:flex;gap:16px;align-items:flex-start}.step-num{font:400 24px Georgia,serif;color:#8ea18c;line-height:1.2}.trip-step small{display:block;color:#9a846c;font-size:10px}.trip-step h4{font:500 16px var(--serif);margin:3px 0 7px}.trip-step p{font-size:12px;line-height:1.85;color:#7e8479;margin:0}.btn-outline{border:1px solid #4d6152;color:#3e5443;min-width:202px}.btn-outline:hover{background:#dde7d9}.location{background:#f7f5f0}.location-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:8vw}.location-copy>p:not(.eyebrow){max-width:420px;color:#778178;font-size:13px;line-height:2.1;margin:27px 0 39px}.contact-detail{border-top:1px solid #d4d7cf;padding:15px 0 19px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.contact-detail small{font-size:10px;letter-spacing:.18em;color:#9b8268}.contact-detail strong{font:500 15px var(--serif)}.inline-copy{border:0;background:none;text-decoration:underline;text-underline-offset:5px;color:#6c7f72;font-size:11px;margin-top:3px;padding:0}.phone-big{font:400 25px var(--serif)}.location-copy>.btn{margin-top:24px;min-width:210px}.map-panel{align-self:center;background:#e6e6dc;border:1px solid #d2d4c8}.map-art{height:445px;position:relative;overflow:hidden;background:#e7e8df;background-image:linear-gradient(75deg,transparent 48%,#d3d9c9 49%,#d3d9c9 51%,transparent 52%),linear-gradient(22deg,transparent 39%,#e0d3bf 40%,#e0d3bf 43%,transparent 44%);background-size:270px 260px,320px 280px}.map-grid{position:absolute;inset:0;opacity:.57;background-image:linear-gradient(90deg,#d1d5c8 1px,transparent 1px),linear-gradient(#d1d5c8 1px,transparent 1px);background-size:80px 80px;transform:rotate(-13deg) scale(1.4)}.map-route{position:absolute;border:23px solid #f8f8f1;box-shadow:0 0 0 2px #cdd2c6;transform:rotate(-25deg)}.route-one{height:610px;width:240px;top:-80px;left:20%}.route-two{height:220px;width:690px;top:120px;left:-35%;transform:rotate(10deg)}.map-circle{position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(110,136,116,.11);top:36%;left:42%;transform:translate(-50%,-50%)}.map-pin{position:absolute;top:36%;left:42%;transform:translate(-50%,-50%);width:60px;height:60px;background:#3c5847;color:#f7f3e7;border-radius:50%;box-shadow:0 0 0 11px rgba(63,85,72,.16);display:grid;place-items:center;font:28px var(--serif)}.map-place{position:absolute;left:calc(42% + 44px);top:33%;background:#fffdf6;padding:12px 17px;box-shadow:0 6px 15px #0001;font:500 16px var(--serif);min-width:177px}.map-place small{font:10px var(--sans);display:block;color:#9a978a}.map-foot{position:absolute;right:22px;bottom:20px;letter-spacing:.16em;color:#718678;font-size:9px}.map-info{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;font-size:11px;color:#8a9185;gap:12px}.map-info a{color:#526e57}.contact-banner{padding:105px 30px 103px;text-align:center;background:#344b40;color:#f5f2e7;position:relative;overflow:hidden;isolation:isolate;scroll-margin-top:85px}.contact-banner>.eyebrow{justify-content:center;color:#becebb}.contact-banner h2{font:500 clamp(34px,4.5vw,61px)/1.65 var(--serif);letter-spacing:.08em;margin:16px 0 13px}.contact-banner h2 em{color:#d0b997}.contact-banner>p:not(.eyebrow){font-size:13px;color:#c3cec1;margin:0 0 28px}.contact-buttons{display:flex;align-items:center;justify-content:center;gap:12px}.btn-cream{background:#f2ede1;color:#344a3e}.btn-cream:hover{background:#fff}.btn-stroke{border:1px solid #d0d9c8;color:#fff}.btn-stroke:hover{background:#4c6356}.banner-decor{z-index:-1;position:absolute;top:15%;right:7%;font:400 360px/1 var(--serif);color:rgba(250,249,237,.038);pointer-events:none}.footer{background:#e7e0d4;padding:55px clamp(24px,7.3vw,118px) 25px;color:#48584b}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;align-items:start;padding-bottom:50px}.footer-top>p{font:400 14px/2 var(--serif);color:#788376;margin:1px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:13px 5px;justify-self:end;font-size:12px}.footer-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding-top:22px;border-top:1px solid #ccc9bd;color:#777e70;font-size:10px;line-height:1.9}.toast{position:fixed;z-index:200;bottom:22px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#2c4035;color:#fff;padding:12px 23px;box-shadow:0 10px 35px #0002;border-radius:4px;transition:opacity .25s,transform .25s;font-size:13px}.toast.show{opacity:1;transform:translate(-50%,0)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.reveal.revealed{opacity:1;transform:translateY(0)}
@media(max-width:1150px){.header{padding:0 28px}.header nav{gap:15px}.header nav a{font-size:11px}.header nav .nav-contact{padding:9px 12px;gap:8px}.hero-copy{padding-left:38px}.hero h1{font-size:43px}.section{padding:88px 5vw}.space-describe{flex-direction:column;gap:0}.space-describe>p{max-width:none;margin-top:7px}.attraction-grid{grid-template-columns:repeat(2,1fr)}.attraction-feature{grid-column:span 2}.intro-numbers>div{padding-left:20px;flex-direction:column;gap:0}.amenities{gap:23px}.location-grid{gap:5vw}}
@media(max-width:820px){html{scroll-padding-top:74px}.topline{height:26px;font-size:9px}.topline span:first-child{display:none}.topline span+span{width:100%;text-align:center}.header{height:72px;padding:0 22px}.brand-seal{width:40px;height:40px;font-size:23px}.brand-copy strong{font-size:17px}.brand-copy small{font-size:8px;margin-top:5px}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:42px;height:42px;border:1px solid #b9c0b5;background:transparent}.menu-toggle span{width:18px;height:1px;background:#314638;transition:transform .25s,opacity .25s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.header nav{display:none;position:absolute;top:72px;left:0;right:0;background:#f7f5f0;box-shadow:0 24px 24px #0001;border-top:1px solid #e4ded4;padding:18px 28px 25px;gap:0}.header nav.is-open{display:flex;flex-direction:column;align-items:stretch}.header nav a{border-bottom:1px solid #e2dfd6;font-size:14px;padding:11px 0}.header nav .nav-contact{border:0;margin-top:11px;padding:11px 0}.hero{display:flex;flex-direction:column}.hero-copy{padding:61px 28px 36px}.hero h1{font-size:clamp(34px,7vw,52px);line-height:1.75;white-space:normal}.hero-visual{height:480px;min-height:0}.hero-bottom{padding-top:48px}.feature-strip{justify-content:space-around;gap:13px}.feature-strip span{font-size:11px}.feature-strip i{display:none}.section{padding:72px 25px}.section-meta{margin-bottom:34px}.intro-grid,.location-grid{grid-template-columns:1fr;gap:24px}.intro-right{padding-top:0}.intro-numbers{margin-top:52px}.section-head-row{align-items:flex-start;flex-direction:column;gap:15px}.section-head-row>p{margin:0}.space-layout{grid-template-columns:1fr 1fr;gap:16px}.amenities{grid-template-columns:repeat(2,1fr);gap:30px}.itinerary-layout{grid-template-columns:1fr}.trip-tabs{border-right:0;border-bottom:1px solid #c9c8bc}.trip-tabs button{padding:18px 0}.trip-callout{display:none}.trip-content{padding:36px 0}.map-art{height:390px}.location-grid{gap:38px}.footer-top{grid-template-columns:1fr 1fr;gap:26px}.footer-links{justify-self:start}.footer-bottom{display:block}.footer-bottom span:last-child{display:block;margin-top:10px}}
@media(max-width:560px){.hero-copy{padding:45px 23px 23px}.eyebrow{font-size:9px;letter-spacing:.15em}.hero h1{font-size:36px;margin-top:23px}.hero-copy>p{font-size:12px;line-height:2.12}.hero-actions{gap:20px}.btn{min-height:49px;gap:14px;padding:11px 15px;font-size:11px}.hero-visual{height:385px}.hero-arc{width:135px;height:135px;right:-52px;font-size:11px}.hero-note{bottom:24px;right:20px}.hero-note span:first-child{font-size:17px}.hero-note span:last-child{font-size:7px}.photo-caption{left:16px;bottom:17px;font-size:8px;padding:5px 8px;max-width:65%}.hero-bottom{font-size:8px}.feature-strip{min-height:72px;padding:16px 14px;gap:12px}.feature-strip span{font-size:11px;letter-spacing:.03em}.section{padding:65px 21px}.section-heading,.intro-grid .section-heading{font-size:33px}.intro-right .lead{font-size:16px}.intro-numbers{grid-template-columns:repeat(3,1fr);gap:0}.intro-numbers>div{padding:0 8px;gap:5px}.intro-numbers>div:first-child{padding-left:0}.intro-numbers strong{font-size:37px}.intro-numbers strong span{font-size:11px}.intro-numbers>div>span{font-size:10px;line-height:1.6}.space-layout,.attraction-grid{grid-template-columns:1fr}.space-main .photo-holder,.space-side .photo-holder{height:275px}.space-side{margin-top:18px}.space-describe h3{font-size:17px}.amenities{gap:26px 18px;margin-top:43px;padding-top:31px}.amenity h3{font-size:15px}.amenity p{font-size:11px}.amenity-icon{width:47px;height:47px;margin-bottom:13px;font-size:23px}.quote-band{padding:70px 20px}.quote-band:before,.quote-band:after{display:none}.quote-band p{font-size:23px}.attraction-feature{grid-column:auto;display:flex}.attraction-feature .attraction-img{height:240px;min-height:0}.attraction-img{height:240px}.attraction-body,.attraction-feature .attraction-body{padding:18px}.attraction-body h3{font-size:19px}.attraction-note{display:block;font-size:10px;line-height:1.8}.attraction-note a{display:block}.trip-steps{grid-template-columns:1fr;gap:24px}.trip-heading h3{font-size:22px}.location-copy>p:not(.eyebrow){font-size:12px}.map-art{height:310px}.map-place{font-size:13px;min-width:125px;left:calc(42% + 27px)}.map-info{font-size:10px}.contact-banner{padding:78px 22px}.contact-banner h2{font-size:33px}.contact-banner>p:not(.eyebrow){font-size:12px}.contact-buttons{flex-direction:column;align-items:stretch;max-width:300px;margin:auto}.contact-buttons .btn{justify-content:space-between}.footer{padding:45px 22px 25px}.footer-top{grid-template-columns:1fr}.footer-links{grid-template-columns:repeat(4,1fr);width:100%;font-size:11px;gap:5px}.footer-bottom{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}

/* v2.0 - 實景相簿 */
.photo-gallery{background:#f0ede6}
.gallery-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 25px}
.gallery-filters button{padding:10px 17px;background:transparent;border:1px solid #c6c7bd;color:#515c4f;font-size:12px;letter-spacing:.04em;transition:background .2s,color .2s}
.gallery-filters button.active,.gallery-filters button:hover{background:var(--forest);border-color:var(--forest);color:#fff}
.gallery-filters button span{font:500 10px var(--sans);opacity:.6;margin-left:7px}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row;gap:15px}
.gallery-card{min-width:0;position:relative;display:block;border:0;padding:0;aspect-ratio:3/4;overflow:hidden;background:#cfc7bb;text-align:left;color:#fff;cursor:zoom-in}
.gallery-card.gallery-feature{grid-column:span 2;aspect-ratio:6/4}
.gallery-card[hidden]{display:none!important}
.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease;filter:saturate(.91)}
.gallery-card:hover img,.gallery-card:focus-visible img{transform:scale(1.055)}
.gallery-card:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(0deg,rgba(9,23,17,.7),transparent);pointer-events:none}
.gallery-caption{position:absolute;left:19px;right:15px;bottom:18px;z-index:2;display:flex;flex-direction:column;gap:3px}
.gallery-caption small{font:500 10px var(--sans);letter-spacing:.14em;color:#e4d5c2}
.gallery-caption b{font:500 17px var(--serif);letter-spacing:.05em;line-height:1.5;padding-right:30px}
.gallery-caption>span{position:absolute;right:2px;bottom:0;font-size:21px;font-weight:300}
.gallery-note{font-size:11px;color:#7b8277;line-height:1.9;margin:20px 0 0}
.photo-lightbox{border:0;background:#17201c;color:#fff;padding:12px 22px 18px;max-width:min(96vw,1060px);max-height:96vh;width:min(96vw,1060px);box-shadow:0 20px 100px rgba(0,0,0,.5);overflow:auto}
.photo-lightbox::backdrop{background:rgba(10,16,12,.88)}
.lightbox-top,.lightbox-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;font:12px var(--sans);letter-spacing:.04em}
.lightbox-top{padding:1px 0 12px}.lightbox-bottom{padding:12px 0 0}
.lightbox-top button,.lightbox-bottom button{border:1px solid #64786b;color:#fff;background:transparent;padding:8px 13px;font-size:12px}
.lightbox-top button:hover,.lightbox-bottom button:hover{background:#344d3c}
.photo-lightbox img{display:block;margin:auto;width:auto;max-width:100%;max-height:76vh;object-fit:contain}
@media (max-width:820px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-card.gallery-feature{grid-column:span 2;aspect-ratio:16/10}}
@media (max-width:560px){.gallery-filters{gap:7px}.gallery-filters button{font-size:11px;padding:8px 10px}.gallery-grid{gap:9px}.gallery-card{aspect-ratio:3/4}.gallery-card.gallery-feature{aspect-ratio:5/4}.gallery-caption{bottom:11px;left:11px;right:9px}.gallery-caption b{font-size:13px}.gallery-caption small{font-size:9px}.gallery-caption>span{font-size:16px}.photo-lightbox{padding:9px}.photo-lightbox img{max-height:73vh}}

/* v2.3 — 蕎禾旅宿官方 LINE 直接聯絡按鈕 */
.btn-line{background:#06c755;color:#fff;border:1px solid #06c755;white-space:nowrap}
.btn-line:hover{background:#05a84a;border-color:#05a84a;color:#fff}
.header nav .line-nav{border-color:#06b94e;background:#06c755;color:#fff}
.header nav .line-nav:hover{background:#05a84a;border-color:#05a84a;color:#fff}
.line-text{display:inline-flex;gap:13px;align-items:center;color:var(--forest);font-weight:600;font-size:clamp(19px,2vw,27px);border-bottom:1px solid currentColor;padding-bottom:6px}
.line-text:hover,.footer-line:hover{opacity:.75}
.footer-line{text-decoration:underline;text-underline-offset:3px}
.floating-line{position:fixed;right:21px;bottom:calc(23px + env(safe-area-inset-bottom,0px));z-index:100;display:inline-flex;align-items:center;gap:9px;background:#06c755;color:#fff;border-radius:999px;padding:10px 17px 10px 10px;box-shadow:0 10px 32px rgba(16,78,45,.25);font:600 13px var(--sans);letter-spacing:.03em;transition:transform .2s,background .2s}
.floating-line:hover{background:#05a84a;transform:translateY(-3px)}
.floating-line:focus-visible{outline:3px solid #203a2d;outline-offset:4px}
.floating-line-mark{width:37px;height:37px;border-radius:50%;background:#fff;color:#06ba4e;display:grid;place-items:center;font:800 10px var(--sans)}
@media(max-width:820px){.floating-line{right:12px;bottom:calc(13px + env(safe-area-inset-bottom,0px));padding:8px 12px 8px 8px}.floating-line-mark{width:34px;height:34px}.floating-line-label{font-size:11px}.hero-actions{flex-wrap:wrap;gap:14px}}
@media(max-width:560px){.hero-actions .btn{min-height:48px}.footer-links{grid-template-columns:repeat(3,minmax(0,1fr))}.floating-line-label{font-size:11px}}

/* v2.4: Guide discoverability and clear local context */
.seo-hero-context{font-size:13px!important;color:#665849!important;letter-spacing:.02em!important;margin:20px 0 4px!important}
.seo-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:34px}.seo-guide-card{background:#fdfcf9;box-shadow:0 7px 25px rgba(41,37,32,.06);min-width:0}.seo-guide-card img{width:100%;height:220px;object-fit:cover}.seo-guide-card>div{padding:22px}.seo-guide-card small{font-size:11px;letter-spacing:.1em;color:#877155}.seo-guide-card h3{font-size:20px;font-weight:600;margin:12px 0}.seo-guide-card p{line-height:1.8;font-size:14px;color:#625951}.seo-guide-card a{display:inline-block;color:#68543c;font-size:14px;margin-top:10px;text-underline-offset:5px}
@media(max-width:850px){.seo-guide-grid{grid-template-columns:1fr;gap:16px}.seo-guide-card{display:grid;grid-template-columns:40% 60%}.seo-guide-card img{height:100%;min-height:200px}.seo-guide-card>div{padding:20px}}@media(max-width:520px){.seo-guide-card{display:block}.seo-guide-card img{height:200px}.seo-guide-card>div{padding:19px}}
