:root{--paper:#f7f4ec;--ink:#2d2c28;--muted:#6f7067;--blue:#548f9c;--gold:#e8cd52;--line:#d7d3c8;--serif:"Noto Serif TC","Songti TC","PMingLiU",serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang TC","Microsoft JhengHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--serif);-webkit-font-smoothing:antialiased}body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.13;z-index:8;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23877c67' filter='url(%23n)' opacity='.25' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}p{line-height:1.95;margin:0 0 20px}h1,h2,h3{font-weight:500;margin:0}h2{font-size:clamp(30px,3.3vw,48px);letter-spacing:.09em;line-height:1.65}h3{font-size:23px;line-height:1.6;letter-spacing:.07em}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:6px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:fixed;left:20px;top:10px;background:var(--ink);color:white;padding:12px;z-index:30;transform:translateY(-150%)}.skip-link:focus{transform:none}.button{display:inline-flex;justify-content:center;align-items:center;gap:18px;min-height:50px;padding:12px 28px;border:1px solid transparent;letter-spacing:.14em;font-size:16px;transition:background .2s,color .2s,border-color .2s}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:#466971}.button-outline{border-color:var(--blue);color:var(--blue);background:transparent}.button-outline:hover{background:var(--blue);color:white}.text-link{display:inline-flex;align-items:center;gap:20px;letter-spacing:.08em;font-size:16px;line-height:1.5;padding:7px 0;border-bottom:1px solid #918e84}.text-link span{font-family:var(--sans);font-size:27px;line-height:20px;transition:transform .2s}.text-link:hover span{transform:translateX(5px)}.site-header{position:relative;display:flex;align-items:center;gap:32px;min-height:101px;padding:20px 5.2%;z-index:12;background:var(--paper);border-bottom:1px solid rgba(215,211,200,.3)}.wordmark{white-space:nowrap;font-family:"Kaiti TC","KaiTi","BiauKai",var(--serif);font-size:36px;letter-spacing:.12em;font-weight:600}.header-divider{height:40px;width:1px;background:#bdb8ad}.site-header nav{display:flex;align-items:center;gap:clamp(18px,2.3vw,40px)}.site-header nav a{font-size:16px;letter-spacing:.12em;white-space:nowrap;position:relative;padding:12px 0}.site-header nav a::after{content:"";height:1px;position:absolute;bottom:5px;left:0;width:0;background:var(--blue);transition:width .2s}.site-header nav a:hover::after{width:100%}.header-cta{margin-left:auto;white-space:nowrap;min-height:44px;padding:10px 24px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:61% 39%;height:min(48vw,760px);min-height:570px;position:relative;isolation:isolate;overflow:hidden}.hero-media{position:relative;overflow:hidden}.approved-photo{position:absolute;inset:0;overflow:hidden}.approved-photo img{max-width:none;position:absolute;width:165.21%;height:130.526%;left:0;top:-14.737%;object-fit:fill}.hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;padding:25px 8% 20px 3.8%;background:radial-gradient(ellipse at 110% 50%,#e7e2d52b,transparent 60%)}.hero-heading-wrap{display:flex;align-items:flex-end;position:relative;z-index:1;gap:20px}.hero h1{display:flex;flex-direction:row-reverse;gap:16px;font-family:"Kaiti TC","KaiTi","BiauKai",var(--serif);font-size:clamp(72px,6.4vw,108px);line-height:1.16;font-weight:500;letter-spacing:.04em}.hero h1 span{writing-mode:vertical-rl;white-space:nowrap;padding:0 12px}.hero h1 span+span{border-right:1px solid #b5afa3}.seal{color:#a33b2a;border:2px solid #a33b2a;border-radius:3px;font-size:14px;line-height:1.1;letter-spacing:.02em;padding:3px;transform:translateY(-9px);font-weight:700}.hero-services{font-size:clamp(13px,1.3vw,20px);letter-spacing:.14em;margin:28px 0 17px;white-space:nowrap}.hero-actions{display:flex;gap:22px;align-items:center;white-space:nowrap}.hero-actions .button{padding:12px 25px}.hero-actions .text-link{font-size:14px;gap:14px}.hero-arc{position:absolute;width:220px;height:80%;border:1px solid #8db0b8;border-radius:50%;right:-125px;top:-7%;transform:rotate(-10deg);z-index:-1}.hero-arc i{position:absolute;background:var(--gold);width:23px;height:23px;left:-11px;top:40%;border-radius:50%}.service-index{display:grid;grid-template-columns:repeat(3,1fr);padding:28px 5.2% 32px;border-bottom:1px solid var(--line)}.service-index a{display:flex;align-items:center;gap:24px;padding:0 28px;font-size:23px;letter-spacing:.18em;min-height:50px}.service-index a:first-child{padding-left:0}.service-index a:last-child{padding-right:0}.service-index a+a{border-left:1px solid #b7b2a7}.index-number{color:var(--blue);font-size:34px;letter-spacing:.03em}.service-index i{height:1px;background:#a29e94;flex:1}.index-arrow{font-family:var(--sans);font-size:21px;color:var(--blue);transition:transform .2s}.service-index a:hover .index-arrow{transform:translate(3px,-3px)}.section-shell{max-width:1330px;margin:auto;padding:100px 5.2%}.section-eyebrow{display:flex;align-items:center;gap:20px;font-size:14px;letter-spacing:.16em;color:var(--muted);margin-bottom:48px}.eyebrow-rule{height:1px;width:48px;background:var(--blue)}.latin-label{font:10px var(--sans);letter-spacing:.22em;color:var(--blue)}.small-heading{font-size:14px;letter-spacing:.15em;color:var(--blue);margin:0 0 18px;line-height:1.7}.about-grid{display:grid;grid-template-columns:.85fr 1fr;gap:10%;align-items:center}.about-portrait{position:relative;margin:0 0 30px 24px}.about-portrait img{width:100%;height:560px;object-fit:cover;object-position:50% 20%;filter:saturate(.84)}.portrait-label{position:absolute;writing-mode:vertical-rl;letter-spacing:.3em;left:-35px;top:0;color:var(--blue);font-size:13px}.portrait-corner{position:absolute;width:100px;height:100px;bottom:-20px;left:-20px;border-left:1px solid var(--blue);border-bottom:1px solid var(--blue);z-index:-1}.about-text h2{margin-bottom:30px}.about-text>p:not(.small-heading){font-family:var(--sans);font-size:16px;color:#64645c;line-height:2}.belief-note{display:flex;gap:25px;align-items:center;border-top:1px solid var(--line);margin-top:30px;padding:24px 0 16px}.belief-note>span{color:#a54530;border:1px solid #a54530;font-size:26px;padding:2px 9px}.belief-note p{margin:0;font-size:16px;letter-spacing:.08em}.ritual-section{background:#eeebe2;position:relative}.ritual-section::before{content:"";position:absolute;width:300px;height:300px;border:1px solid #c8c1ae;border-radius:50%;right:-180px;top:80px;clip-path:inset(0 180px 0 0)}.ritual-intro{display:grid;grid-template-columns:1fr .8fr;gap:12%;align-items:end;margin-bottom:55px}.section-lead{font-family:var(--sans);font-size:16px;line-height:2.1;color:#64645c;margin-bottom:6px}.ritual-list{display:grid;grid-template-columns:1fr 1fr;column-gap:55px;border-top:1px solid #c8c2b4}.ritual-list article{display:flex;gap:23px;align-items:flex-start;border-bottom:1px solid #c8c2b4;padding:32px 0}.service-no{font-size:29px;color:#9c8960}.ritual-list h3{font-size:21px;margin-bottom:12px}.ritual-list p{font-family:var(--sans);font-size:15px;color:#6b695f;margin:0;max-width:350px;line-height:1.9}.ritual-list article>a{font:24px var(--sans);color:var(--blue);padding:10px;align-self:center;margin-left:auto;flex-shrink:0;transition:transform .2s}.ritual-list article>a:hover{transform:translate(3px,-3px)}.section-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:30px}.section-bottom p{font-family:var(--sans);font-size:14px;color:var(--muted);margin:0}.section-title-row{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:55px}.section-title-row>p{font-family:var(--sans);color:var(--muted);font-size:15px;margin:0 0 10px;line-height:2}.service-editorial{display:grid;grid-template-columns:.18fr .85fr 1fr;gap:30px;padding:45px 0;border-top:1px solid var(--line);scroll-margin-top:40px}.service-editorial:last-child{border-bottom:1px solid var(--line)}.editorial-number span{font-size:28px;line-height:1.5;color:var(--blue)}.editorial-number i{display:block;background:var(--gold);width:5px;height:5px;border-radius:50%;margin-top:20px}.editorial-title h3{font-size:26px;margin-bottom:16px}.editorial-title .small-heading{font-size:12px;margin-bottom:10px}.service-tags{font-family:var(--sans);font-size:13px;color:var(--muted);letter-spacing:.05em}.editorial-copy p{font-family:var(--sans);font-size:16px;line-height:2;color:#68685f}.editorial-copy .text-link{font-size:14px}.process-section{background:#eaf0eb}.process-section .section-eyebrow{color:#67776c}.process-steps{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;gap:48px;margin:0}.process-steps li{border-top:1px solid #aab6ad;padding-top:24px}.step-number{display:flex;align-items:center;justify-content:space-between;font-size:34px;color:#73908c;margin-bottom:25px}.step-number>span{font-size:22px;font-weight:400;color:#b5c0b8}.process-steps h3{font-size:22px;margin-bottom:16px}.process-steps p{font-family:var(--sans);font-size:15px;color:#626e64;line-height:2;margin:0}.faq-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:9%;position:relative}.faq-intro .section-eyebrow{margin-bottom:30px}.faq-intro>p{font-family:var(--sans);font-size:15px;color:var(--muted);margin-top:20px}.faq-mark{display:block;font-size:110px;line-height:1.4;color:#e4dfd3;margin-left:80px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;display:flex;gap:24px;align-items:center;justify-content:space-between;padding:27px 0;font-size:17px;line-height:1.8;letter-spacing:.025em}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-family:var(--sans);font-size:22px;color:var(--blue);transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details>div{padding:0 30px 22px 0}.faq-list details p{font-family:var(--sans);font-size:15px;line-height:2;color:#6a695f;margin:0}.contact-section{background:#ece7db;position:relative;overflow:hidden}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center;position:relative;z-index:1;padding-top:85px;padding-bottom:85px}.contact-grid h2{font-size:clamp(30px,3.1vw,44px)}.contact-copy{font-family:var(--sans);font-size:15px;color:#6e6c62;margin:25px 0 0}.contact-action{text-align:center}.contact-action .button{font-family:var(--sans);font-size:17px;padding:24px 28px;width:100%;max-width:370px;justify-content:space-between;min-height:80px;letter-spacing:.05em}.line-icon{font-family:var(--sans);font-size:11px;font-weight:700;border:1px solid #d2d4c9;border-radius:6px;padding:4px 5px;letter-spacing:-.03em}.contact-action>p{font-family:var(--sans);font-size:13px;color:#6e6c62;margin:18px 0 0}.line-status{font-family:var(--sans);font-size:12px;line-height:1.7;margin:14px auto 0;max-width:340px;color:#737163}.line-status:target{outline:1px solid #9c8960;outline-offset:8px}.contact-orbit{position:absolute;right:-250px;top:-150px;height:600px;width:700px;border:1px solid #a9bdbe;border-radius:50%;transform:rotate(-25deg)}.contact-orbit i{position:absolute;top:130px;left:16px;width:18px;height:18px;background:var(--gold);border-radius:50%}.site-footer{padding:50px 5.2% 28px}.footer-top{display:flex;gap:40px;align-items:center;padding-bottom:35px;border-bottom:1px solid var(--line)}.footer-top .wordmark{font-size:31px}.footer-top p{font-size:15px;letter-spacing:.13em;color:var(--muted);margin:0}.back-top{margin-left:auto;font-size:13px;gap:15px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:25px;font-family:var(--sans);font-size:12px;color:var(--muted)}.footer-bottom>div{display:flex;gap:25px}.footer-bottom small{font-size:11px}.privacy-trigger{border:0;background:transparent;padding:0;color:inherit;font-size:12px}.privacy-trigger:hover,.footer-bottom a:hover{text-decoration:underline}dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:0;width:min(92vw,580px);max-height:85dvh}dialog::backdrop{background:#22282380;backdrop-filter:blur(5px)}.dialog-inner{padding:46px;position:relative}.dialog-close{position:absolute;right:12px;top:8px;background:none;border:0;color:var(--muted);font:28px var(--sans);padding:10px}.dialog-inner h2{font-size:30px;margin-bottom:20px}.dialog-inner>p:not(.small-heading){font-family:var(--sans);font-size:15px;color:var(--muted)}.dialog-inner .button{margin-top:10px}
.ritual-section{overflow:hidden}
@media(min-width:1600px){.hero-copy{padding-left:5%}.hero-services{font-size:20px}.hero-actions .text-link{font-size:16px}}
@media(max-width:1180px){.site-header{gap:22px;padding-left:4%;padding-right:4%}.wordmark{font-size:30px}.site-header nav{gap:17px}.site-header nav a{font-size:14px;letter-spacing:.05em}.header-cta{font-size:14px;padding:10px 16px}.hero{min-height:510px}.hero h1{font-size:6.7vw;gap:8px}.hero h1 span{padding:0 7px}.hero-copy{padding-left:0}.hero-services{font-size:13px;letter-spacing:.06em}.hero-actions{gap:14px}.hero-actions .button{padding:11px 17px;font-size:14px}.hero-actions .text-link{font-size:12px;gap:10px}.section-shell{padding-top:80px;padding-bottom:80px}.about-grid{gap:7%}.about-portrait img{height:520px}.contact-grid{gap:45px}.service-index a{gap:18px;font-size:20px}.index-number{font-size:30px}}
@media(max-width:900px){html{scroll-padding-top:80px}.site-header{min-height:82px;padding:17px 5%;gap:18px;flex-wrap:wrap}.header-divider{display:none}.site-header .wordmark{font-size:29px}.header-cta{margin-left:auto;min-height:40px;font-size:13px;padding:8px 15px}.menu-toggle{display:flex;position:relative;align-items:center;justify-content:center;flex-direction:column;gap:6px;order:4;width:36px;height:40px;border:0;background:none;padding:5px}.menu-toggle>span:not(.sr-only){height:1px;width:24px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}.site-header nav{display:none;order:5;width:100%;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--line);padding-top:10px}.site-header nav.is-open{display:flex}.site-header nav a{font-size:16px;padding:13px 2px}.hero{grid-template-columns:58% 42%;min-height:470px}.approved-photo img{width:165.21%}.hero h1{font-size:7.6vw;gap:8px}.hero-heading-wrap{gap:7px}.seal{font-size:11px;padding:2px}.hero-services{font-size:11px}.hero-actions{gap:15px;flex-wrap:wrap}.hero-actions .button{font-size:13px}.hero-actions .text-link{font-size:12px}.hero-copy{padding:30px 7% 30px 0}.service-index{padding:22px 5%}.service-index a{font-size:17px;gap:13px;padding:0 18px;letter-spacing:.1em}.service-index i{display:none}.index-number{font-size:26px}.index-arrow{margin-left:auto}.section-eyebrow{margin-bottom:35px}.section-shell{padding-left:6%;padding-right:6%}.about-grid{grid-template-columns:.8fr 1fr;gap:7%}.about-portrait img{height:480px}.about-text h2{font-size:30px}.about-text>p:not(.small-heading){font-size:14px}.belief-note{gap:15px}.belief-note p{font-size:13px}.ritual-intro{gap:8%;grid-template-columns:1fr 1fr}.ritual-intro h2{font-size:31px}.section-lead{font-size:14px}.ritual-list{column-gap:30px}.ritual-list article{gap:15px}.ritual-list h3{font-size:18px}.ritual-list p{font-size:14px}.service-editorial{grid-template-columns:.12fr .9fr 1fr;gap:20px}.editorial-title h3{font-size:22px}.editorial-copy p{font-size:14px}.service-tags{font-size:11px}.process-steps{gap:30px}.process-steps h3{font-size:19px}.process-steps p{font-size:14px}.faq-section{grid-template-columns:.7fr 1.3fr;gap:7%}.faq-list summary{font-size:15px}.faq-list details p{font-size:14px}.contact-grid{gap:35px}.contact-grid h2{font-size:31px}.contact-action .button{padding:20px;font-size:15px}.footer-top{gap:25px}.footer-bottom{flex-wrap:wrap}.footer-bottom small:last-child{width:100%}}
@media(max-width:640px){.site-header{gap:12px;padding:14px 6%;min-height:76px}.site-header .wordmark{font-size:26px;letter-spacing:.08em}.header-cta{min-height:37px;font-size:12px;padding:8px 12px}.menu-toggle{width:30px}.hero{height:auto;min-height:0;display:flex;flex-direction:column}.hero-copy{order:0;padding:32px 7% 30px;align-items:center;text-align:center;min-height:370px}.hero h1{font-size:52px;gap:14px;line-height:1.15}.hero h1 span{padding:0 15px}.hero-heading-wrap{gap:15px}.seal{font-size:11px;transform:translateY(-6px)}.hero-services{font-size:12px;letter-spacing:.16em;margin:22px 0 16px}.hero-actions{gap:23px;justify-content:center}.hero-actions .button{font-size:14px;padding:11px 22px}.hero-actions .text-link{font-size:12px}.hero-arc{right:-140px;top:-65px;height:390px;width:230px}.hero-media{order:1;width:100%;height:auto;aspect-ratio:960/760}.hero-media::after{content:"";position:absolute;inset:0 0 auto;height:20px;background:linear-gradient(var(--paper),transparent);pointer-events:none}.service-index{padding:16px 6%;gap:0;grid-template-columns:repeat(3,1fr)}.service-index a{padding:0 10px;gap:8px;min-height:45px;flex-wrap:wrap;justify-content:center;font-size:13px;letter-spacing:.04em}.service-index a:first-child{padding-left:0}.service-index a:last-child{padding-right:0}.index-number{font-size:21px}.index-arrow{display:none}.section-shell{padding:62px 7%}.section-eyebrow{font-size:12px;letter-spacing:.13em;gap:15px;margin-bottom:32px}.eyebrow-rule{width:30px}.latin-label{font-size:9px;letter-spacing:.14em}h2{font-size:30px;letter-spacing:.06em;line-height:1.65}.about-grid{display:flex;flex-direction:column;gap:48px}.about-portrait{width:calc(100% - 22px);max-width:390px;margin:0 0 0 22px;order:1}.about-portrait img{height:460px;object-position:50% 18%}.portrait-label{left:-29px;font-size:12px}.portrait-corner{bottom:-15px;left:-15px}.about-text{order:0}.about-text h2{font-size:30px;margin-bottom:25px}.about-text>p:not(.small-heading){font-size:15px}.small-heading{font-size:12px;margin-bottom:15px}.belief-note{margin-top:25px;padding:23px 0 18px;gap:22px}.belief-note p{font-size:15px}.about-text>.text-link{font-size:14px}.ritual-intro{display:block;margin-bottom:35px}.ritual-intro h2{font-size:30px;margin-bottom:24px}.section-lead{font-size:15px}.ritual-list{grid-template-columns:1fr}.ritual-list article{gap:20px;padding:27px 0}.ritual-list h3{font-size:21px;margin-bottom:9px}.ritual-list p{font-size:14px}.service-no{font-size:28px}.ritual-section::before{display:none}.section-bottom{flex-direction:column;align-items:flex-start;gap:16px;margin-top:27px}.section-bottom p{font-size:13px}.section-bottom .text-link{font-size:14px}.section-title-row{display:block;margin-bottom:34px}.section-title-row>p{margin-top:22px;font-size:14px}.service-editorial{grid-template-columns:36px 1fr;gap:15px;padding:30px 0}.editorial-number{grid-column:1;grid-row:1/3}.editorial-number span{font-size:24px}.editorial-title{grid-column:2}.editorial-title h3{font-size:23px;margin-bottom:10px}.editorial-title .small-heading{font-size:11px}.service-tags{font-size:12px;margin-bottom:0}.editorial-copy{grid-column:2}.editorial-copy p{font-size:14px;line-height:2;margin-bottom:15px}.editorial-copy .text-link{font-size:13px}.process-section .section-title-row>.text-link{margin-top:22px;font-size:14px}.process-steps{grid-template-columns:1fr;gap:28px}.process-steps li{display:grid;grid-template-columns:55px 1fr;gap:8px 18px;padding-top:25px}.step-number{grid-column:1;grid-row:1/3;display:block;font-size:29px;margin:0}.step-number>span{display:none}.process-steps h3{font-size:22px;margin-bottom:0}.process-steps p{font-size:14px}.faq-section{display:block}.faq-intro{position:relative}.faq-intro h2{font-size:30px}.faq-intro>p{font-size:14px;margin:20px 0 32px}.faq-mark{position:absolute;right:10px;top:40px;margin:0;font-size:90px;z-index:-1}.faq-list summary{font-size:15px;padding:23px 0;gap:18px}.faq-list details>div{padding-right:15px}.faq-list details p{font-size:14px}.contact-grid{display:block;padding:58px 7%}.contact-grid h2{font-size:29px;letter-spacing:.035em}.contact-copy{font-size:14px;margin-top:24px}.desktop-only{display:none}.contact-action{margin-top:33px;text-align:left}.contact-action .button{max-width:none;padding:22px 25px;min-height:70px;font-size:16px}.contact-action>p{font-size:12px;text-align:center}.line-status{text-align:center;font-size:11px}.contact-orbit{top:-170px;right:-400px;width:600px;height:600px}.site-footer{padding:38px 7% 25px}.footer-top{flex-wrap:wrap;gap:18px;padding-bottom:25px}.footer-top .wordmark{font-size:28px}.footer-top>p{order:3;width:100%;font-size:13px}.back-top{font-size:11px;gap:12px}.footer-bottom{gap:20px;padding-top:22px;align-items:flex-start}.footer-bottom>div{gap:18px;font-size:11px;flex-wrap:wrap}.footer-bottom small{font-size:10px}.privacy-trigger{font-size:11px}.dialog-inner{padding:38px 26px 28px}.dialog-inner h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Independent service pages */
.site-header nav a[aria-current=page]{color:var(--blue)}.site-header nav a[aria-current=page]::after{width:100%}.page-intro{background:#eeebe2;position:relative;overflow:hidden}.page-intro .section-shell{position:relative;padding-top:34px;padding-bottom:70px}.breadcrumbs{display:flex;gap:12px;align-items:center;font:12px var(--sans);color:var(--muted);margin-bottom:55px}.breadcrumbs a{border-bottom:1px solid #b6b2a8;padding-bottom:3px}.page-intro h1{font-size:clamp(38px,4.4vw,64px);line-height:1.65;letter-spacing:.1em;position:relative;z-index:1}.page-lead{max-width:570px;font:16px/2 var(--sans);color:#68685f;margin:25px 0 0;position:relative;z-index:1}.page-ornament{position:absolute;right:-90px;top:50px;width:350px;height:350px;border:1px solid #a5b9ba;border-radius:50%;transform:rotate(-25deg)}.page-ornament::before{content:"";width:19px;height:19px;background:var(--gold);border-radius:50%;position:absolute;left:22px;top:68px}.inner-page .ritual-section{background:var(--paper)}.home-intro-copy{max-width:430px;font:16px/2 var(--sans);color:var(--muted)}.home-intro-copy .text-link{font-family:var(--serif);color:var(--ink)}.home-page-links{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);gap:28px}.home-page-links>a{display:block;padding:28px 0 0;transition:color .2s}.home-page-links>a:hover{color:var(--blue)}.home-page-links .index-number{font-size:28px}.home-page-links h3{font-size:23px;margin:13px 0 18px}.home-page-links p{font:14px/2 var(--sans);color:var(--muted);min-height:84px}.home-page-links .text-link{font-size:13px;gap:15px}.reading-lead{max-width:800px;font:17px/2.1 var(--sans);color:#68685f;margin-bottom:45px}.reading-columns{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid var(--line);padding-top:35px}.reading-columns h3{margin-bottom:20px}.reading-columns p{font:16px/2 var(--sans);color:var(--muted);margin:0}.service-detail-pair{display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px solid var(--line)}.service-detail-pair article{padding:35px 0 10px}.service-detail-pair .service-no{display:block;margin-bottom:22px}.service-detail-pair h3{font-size:30px;margin-bottom:22px}.service-detail-pair article>p:not(.small-heading){font:16px/2 var(--sans);color:var(--muted)}.service-detail-pair .text-link{font-size:15px;margin-top:8px}.method-list{border-top:1px solid var(--line)}.method-list article{display:flex;gap:40px;padding:35px 0;border-bottom:1px solid var(--line)}.method-list .index-number{font-size:29px;min-width:55px}.method-list h3{font-size:25px;margin-bottom:12px}.method-list p{font:16px/2 var(--sans);color:var(--muted);margin:0}.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;border-top:1px solid var(--line);padding-top:35px}.topic-grid h3{font-size:23px;margin:22px 0 15px}.topic-grid p{font:15px/2 var(--sans);color:var(--muted)}.teaching-step-heading{margin-bottom:45px}
@media(max-width:900px){.page-intro .section-shell{padding-bottom:55px}.page-ornament{right:-150px;width:310px;height:310px}.home-page-links{grid-template-columns:repeat(2,1fr);row-gap:30px}.home-page-links p{min-height:56px}.home-intro-copy{max-width:340px;font-size:14px}.reading-columns{gap:35px}.service-detail-pair{gap:35px}.topic-grid{gap:25px}.topic-grid h3{font-size:20px}.topic-grid p{font-size:14px}}
@media(max-width:640px){.page-intro .section-shell{padding-top:25px;padding-bottom:45px}.breadcrumbs{font-size:11px;margin-bottom:38px}.page-intro h1{font-size:36px;letter-spacing:.06em;line-height:1.6}.page-lead{font-size:14px;margin-top:22px}.page-ornament{width:240px;height:240px;right:-190px;top:45px}.home-intro-copy{max-width:none;margin-top:24px}.home-page-links{gap:18px}.home-page-links h3{font-size:20px;margin:12px 0}.home-page-links p{font-size:13px;min-height:104px}.home-page-links .text-link{font-size:11px;gap:8px}.home-page-links .index-number{font-size:23px}.reading-lead{font-size:15px;margin-bottom:30px}.reading-columns{grid-template-columns:1fr;gap:28px;padding-top:28px}.reading-columns h3{font-size:22px;margin-bottom:13px}.reading-columns p{font-size:14px}.service-detail-pair{grid-template-columns:1fr;gap:15px}.service-detail-pair article+article{border-top:1px solid var(--line)}.service-detail-pair h3{font-size:27px;margin-bottom:18px}.service-detail-pair article>p:not(.small-heading){font-size:14px}.service-detail-pair .text-link{font-size:14px}.method-list article{gap:20px;padding:28px 0}.method-list .index-number{min-width:35px;font-size:25px}.method-list h3{font-size:22px}.method-list p{font-size:14px}.topic-grid{grid-template-columns:1fr;gap:0;padding-top:0}.topic-grid article{padding:27px 0;border-bottom:1px solid var(--line)}.topic-grid h3{font-size:23px;margin:15px 0 12px}.topic-grid p{margin:0}.teaching-step-heading{margin-bottom:30px}}

/* Official LINE brand asset, unaltered, with clear space. */
.contact-action .button-line{background:#fff;color:#252525;border:2px solid #06c755;padding:12px 24px;gap:14px;min-height:96px;letter-spacing:.02em}.contact-action .button-line:hover{background:#fff;border-color:#059d43;box-shadow:0 4px 16px #06c75520}.line-brand{display:flex;flex:0 0 72px;align-items:center;justify-content:center;width:72px;height:72px;padding:12px}.line-brand img{display:block;width:48px;height:48px;max-width:none;object-fit:contain}.button-line .line-label{flex:1;text-align:left;font-weight:600}.button-line>span:last-child{color:#252525}@media(max-width:640px){.contact-action .button-line{padding:10px 16px;gap:10px;min-height:96px;font-size:16px}}

/* Visible, accessible click-to-copy official account ID. */
.line-id-wrap{max-width:370px;margin:24px auto 0}.line-id-copy{width:100%;min-height:78px;display:grid;grid-template-columns:1fr auto;gap:6px 18px;align-items:center;padding:16px 20px;border:1px solid #06c755;border-radius:8px;background:#fff;color:#252525;text-align:left;font-family:var(--sans);transition:box-shadow .2s}.line-id-copy:hover{box-shadow:0 3px 12px #06c75520}.line-id-caption{font-size:12px;color:#59665b;letter-spacing:.04em}.line-id-value{grid-column:1;grid-row:2;font-size:24px;font-weight:700;letter-spacing:.035em;user-select:text;overflow-wrap:anywhere}.line-copy-label{grid-column:2;grid-row:1 / 3;font-size:13px;font-weight:600;color:#087c39;white-space:nowrap}.line-id-wrap .line-status{font-size:12px;line-height:1.8;margin:10px 0 0;min-height:22px;max-width:none}.line-id-copy:disabled{cursor:progress}@media(max-width:640px){.line-id-wrap{max-width:none;margin-top:20px}.line-id-value{font-size:23px}.line-id-copy{padding:15px 17px;gap:6px 10px}}

/* Compact copy control beside the official account label. */
.line-id-wrap{margin-top:18px}.line-id-copy{width:auto;max-width:100%;min-height:44px;display:inline-flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:10px 13px;border-color:#b8cebd;border-radius:5px;background:#ffffffa8}.line-id-caption{font-size:12px}.line-id-value{font-size:16px;letter-spacing:.015em}.line-copy-label{font-size:12px;margin-left:3px}.line-id-wrap .line-status{font-size:11px;margin-top:7px;min-height:20px}@media(max-width:640px){.line-id-wrap{margin-top:16px;text-align:center}.line-id-copy{min-height:44px;padding:9px 11px;gap:7px}.line-id-value{font-size:16px}}

.social-links{display:flex;justify-content:center;gap:22px;margin:18px auto 0;font:13px/1.6 var(--sans)}.social-links a{display:inline-flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid #b3b4a8;color:#52626b}.social-links a:hover{color:#1877f2;border-color:currentColor}

/* Original client certificate gallery; only on the About page. */
.certificates{padding-top:80px;padding-bottom:95px;border-top:1px solid var(--line);scroll-margin-top:100px}.certificate-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin:35px 0}.certificate-heading h2{font-size:36px;line-height:1.65;letter-spacing:.08em;margin:0}.certificate-heading p{font-size:14px;line-height:2;color:#72766b;margin:0}.certificate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}.certificate-card{min-width:0}.certificate-preview{position:relative;display:flex;align-items:center;justify-content:center;height:300px;padding:22px;background:#ede9df;border:1px solid #d8d2c4;overflow:hidden}.certificate-preview img{width:100%;height:100%;object-fit:contain;transition:transform .2s}.certificate-preview:hover{border-color:#548f9c}.certificate-preview:hover img{transform:scale(1.025)}.certificate-rotated img{position:absolute;width:244px;height:calc(100% - 44px);max-width:none;transform:rotate(-90deg);object-fit:contain}.certificate-rotated:hover img{transform:rotate(-90deg) scale(1.025)}.certificate-zoom{position:absolute;bottom:10px;right:10px;padding:5px 9px;background:#f7f4eced;font:11px/1.5 var(--sans);color:#456871}.certificate-caption{padding:15px 0 0}.certificate-meta{font:11px/1.7 var(--sans);color:#77776b;margin:0 0 6px}.certificate-caption h3{font-size:19px;letter-spacing:.04em;margin:0}.certificate-dialog{width:min(860px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:18px 22px;background:#f7f4ec;border:1px solid #b7b0a0;border-radius:5px;overflow:auto;box-sizing:border-box}.certificate-dialog::backdrop{background:#171c1ad9}.certificate-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.certificate-dialog-header h2{font-size:19px;margin:0;letter-spacing:.04em}.certificate-close{flex-shrink:0;width:44px;height:44px;border:1px solid #d4cebf;background:transparent;font-size:21px;color:#343f3c;cursor:pointer}.certificate-dialog-image{height:min(70dvh,760px);display:flex;align-items:center;justify-content:center;position:relative}.certificate-dialog-image img{display:block;width:100%;height:100%;object-fit:contain}.certificate-dialog-image.is-rotated img{position:absolute;width:min(70dvh,760px);height:min(76vw,790px);max-width:none;transform:rotate(-90deg)}.certificate-original{display:block;width:max-content;margin:14px auto 0;font:13px/1.8 var(--sans);text-decoration:underline;color:#456871}body:has(.certificate-dialog[open]){overflow:hidden}
@media(max-width:900px){.certificate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.certificate-heading h2{font-size:30px}}
@media(max-width:640px){.certificates{padding-top:48px;padding-bottom:55px}.certificate-heading{display:block;margin:24px 0}.certificate-heading h2{font-size:28px}.certificate-heading p{margin-top:15px;font-size:13px}.certificate-grid{grid-template-columns:1fr;gap:26px}.certificate-preview{height:310px}.certificate-rotated img{width:260px}.certificate-dialog{padding:12px;width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.certificate-dialog-header h2{font-size:16px}.certificate-dialog-image{height:65dvh}.certificate-dialog-image.is-rotated img{width:65dvh;height:calc(100vw - 50px)}.certificate-caption h3{font-size:19px}}
