:root{color-scheme:light;--paper:#f4eddf;--paper-deep:#ebe0ca;--ink:#241d14;--ink-soft:#6b5b46;--gold:#a87617;--gold-deep:#77500d;--line:#573f1b33;--white:#fffaf1;--shell:min(1180px, calc(100vw - 48px));--serif:"Songti SC", "Noto Serif CJK SC", "STSong", Georgia, serif;--sans:"PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{min-width:320px;color:var(--ink);background:var(--paper);font-family:var(--sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;line-height:1.7}::selection{color:var(--white);background:var(--gold-deep)}a{color:inherit;text-underline-offset:.28em}a:focus-visible{outline:2px solid var(--gold-deep);outline-offset:5px}img{max-width:100%;height:auto;display:block}.shell{width:var(--shell);margin-inline:auto}.skip-link{z-index:100;color:var(--white);background:var(--ink);padding:10px 16px;position:fixed;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:20;border-bottom:1px solid #77500d26;position:absolute;inset:0 0 auto}.header-inner{justify-content:space-between;align-items:center;gap:32px;min-height:78px;display:flex}.brand-link{color:var(--ink);align-items:center;gap:12px;text-decoration:none;display:inline-flex}.brand-mark{border:1px solid var(--gold);width:38px;height:38px;color:var(--gold-deep);letter-spacing:.08em;border-radius:50%;place-items:center;font-family:Georgia,serif;font-size:12px;display:grid}.brand-name{line-height:1.08;display:grid}.brand-name strong{font-family:var(--serif);letter-spacing:.12em;font-size:18px;font-weight:700}.brand-name small{color:var(--ink-soft);letter-spacing:.22em;margin-top:4px;font-family:Georgia,serif;font-size:9px}nav{align-items:center;gap:clamp(18px,3vw,40px);display:flex}nav a{min-height:44px;color:var(--ink-soft);align-items:center;font-size:14px;text-decoration:none;display:inline-flex;position:relative}nav a:after{background:var(--gold);content:"";transform-origin:100%;height:1px;transition:transform .24s;position:absolute;bottom:-7px;left:0;right:0;transform:scaleX(0)}nav a:hover{color:var(--ink)}nav a:hover:after{transform-origin:0;transform:scaleX(1)}nav .admin-link{min-height:40px;color:var(--gold-deep);background:#fffaf157;border:1px solid #77500d57;border-radius:999px;gap:8px;padding:0 15px;transition:border-color .2s,color .2s,background-color .2s}nav .admin-link:after{display:none}nav .admin-link:hover{border-color:var(--gold-deep);color:var(--white);background:var(--gold-deep)}.admin-link-arrow{font-family:Georgia,serif;font-size:16px;line-height:1}.hero{min-height:100dvh;padding:122px 0 72px;overflow:hidden}.hero-grid{grid-template-columns:minmax(0,.92fr) minmax(460px,1.08fr);align-items:center;gap:clamp(36px,7vw,104px);min-height:calc(100dvh - 194px);display:grid}.hero-copy{z-index:2;padding-left:clamp(0px,3vw,38px);position:relative}.hero-lead{color:var(--gold-deep);letter-spacing:.18em;margin:0 0 26px;font-size:15px}.hero h1{max-width:8.5em;font-family:var(--serif);letter-spacing:-.035em;margin:0;font-size:clamp(58px,6.4vw,92px);font-weight:600;line-height:1.08}.hero-description{max-width:35em;color:var(--ink-soft);margin:34px 0 24px;font-size:17px;line-height:1.9}.text-link{border-bottom:1px solid var(--gold);color:var(--gold-deep);padding-bottom:3px;font-size:14px;text-decoration:none;display:inline-block}.hero-brand{margin:0;position:relative}.hero-brand:before{z-index:-1;content:"";border:1px solid #a8761733;border-radius:50%;position:absolute;inset:10% -12% 5% 10%}.hero-brand img{mix-blend-mode:multiply;width:100%}.about-section{color:var(--paper);background:var(--ink);padding:clamp(92px,11vw,168px) 0}.about-grid{grid-template-columns:.72fr 1.28fr;align-items:start;gap:clamp(52px,10vw,144px);display:grid}.about-statement p{color:#d9ac4b;font-family:var(--serif);margin:0;font-size:clamp(50px,6vw,84px);line-height:1.22}.about-copy{max-width:700px}.about-copy h2,.services-intro h2,.contact-copy h2{font-family:var(--serif);letter-spacing:-.025em;margin:0;font-weight:600;line-height:1.35}.about-copy h2{max-width:12em;font-size:clamp(32px,4vw,52px)}.about-copy p{color:#cfc3b1;margin:32px 0 0;font-size:17px;line-height:2}.services-intro{padding:clamp(94px,10vw,150px) 0 clamp(64px,7vw,100px)}.services-intro .shell{grid-template-columns:minmax(0,1.15fr) minmax(320px,.65fr);align-items:end;gap:clamp(48px,8vw,120px);display:grid}.services-intro h2{max-width:14em;font-size:clamp(38px,5vw,68px)}.services-intro p{color:var(--ink-soft);margin:0 0 8px;font-size:16px;line-height:1.9}.services-overview{padding:0 0 clamp(96px,11vw,164px)}.services-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.service-card{padding:clamp(44px,6vw,78px) clamp(0px,4vw,56px)}.service-card+.service-card{border-left:1px solid var(--line)}.service-card:first-child{padding-left:0}.service-card:last-child{padding-right:0}.service-card h3{max-width:10em;font-family:var(--serif);letter-spacing:-.03em;margin:0;font-size:clamp(34px,4.2vw,56px);font-weight:600;line-height:1.2}.service-card>p{max-width:31em;color:var(--ink-soft);margin:26px 0 34px;line-height:1.9}.service-card ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:0;padding:0;list-style:none;display:grid}.service-card li{border-top:1px solid var(--line);color:var(--ink);font-family:var(--serif);padding:14px 0;font-size:17px;line-height:1.45}.closing-section{color:var(--paper);background:var(--gold-deep);padding:clamp(100px,13vw,190px) 0}.closing-grid{grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);align-items:end;gap:clamp(52px,9vw,132px);display:grid}.closing-title p{font-family:var(--serif);letter-spacing:-.04em;margin:0;font-size:clamp(58px,8vw,112px);font-weight:600;line-height:1.05}.contact-copy h2{font-size:clamp(28px,3vw,40px)}.contact-copy p{color:#eadbbd;margin:24px 0 0;font-size:15px;line-height:1.9}.domain-note{color:#fff7e8;letter-spacing:.08em;border-bottom:1px solid #f4eddf7a;margin-top:36px;padding-bottom:2px;font-family:Georgia,serif;font-size:14px;display:inline-block}.site-footer{color:#cfc3b1;background:var(--ink)}.footer-inner{justify-content:space-between;align-items:center;gap:36px;min-height:164px;display:flex}.footer-inner strong{color:var(--paper);font-family:var(--serif);font-size:17px;font-weight:600}.footer-inner p{margin:8px 0 0;font-size:13px}.footer-meta{justify-items:end;gap:8px;font-size:13px;display:grid}.footer-meta a:hover{color:var(--paper)}@media (width<=860px){:root{--shell:min(100% - 36px, 680px)}.hero{min-height:auto;padding:112px 0 80px}.hero-grid,.about-grid,.services-intro .shell,.services-grid,.closing-grid{grid-template-columns:1fr}.hero-grid{gap:42px;min-height:auto}.hero-copy{padding-left:0}.hero h1{font-size:clamp(50px,12vw,72px)}.hero-brand{width:min(100%,590px);margin-inline:auto}.about-grid{gap:58px}.about-statement p{font-size:clamp(48px,12vw,72px)}.services-intro .shell{align-items:start;gap:30px}.services-intro p{max-width:38em}.services-grid{border-bottom:0}.service-card,.service-card:first-child,.service-card:last-child{border-bottom:1px solid var(--line);padding:48px 0}.service-card+.service-card{border-left:0}.closing-grid{align-items:start}}@media (width<=560px){:root{--shell:calc(100% - 32px)}.header-inner{min-height:70px}.brand-mark{width:34px;height:34px}.brand-name small{display:none}nav{gap:12px}nav a{font-size:13px}nav .admin-link{min-height:38px;padding-inline:12px}.hero{padding-top:108px}.hero-lead{letter-spacing:.12em;margin-bottom:18px;font-size:13px}.hero h1{max-width:none;font-size:clamp(44px,13vw,58px)}.hero-description{margin-top:26px;font-size:16px}.about-copy p{font-size:16px}.services-intro h2{font-size:40px}.service-card h3{font-size:38px}.service-card ul{grid-template-columns:1fr}.closing-title p{font-size:clamp(52px,16vw,74px)}.footer-inner{flex-direction:column;align-items:flex-start;min-height:auto;padding:48px 0}.footer-meta{justify-items:start}}@media (width<=400px){nav .section-link{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
