:root{--text:#5a5550;--text-heading:#1c1917;--text-muted:#6e6862;--bg:#faf8f5;--bg-alt:#f0ece6;--border:#e0dbd4;--accent:#b5632a;--accent-hover:#9a5323;--accent-light:#b5632a14;--serif:"Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;--sans:"Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;font:20px/1.8 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#a8a098;--text-heading:#ede8e2;--text-muted:#9a9490;--bg:#0e0c0a;--bg-alt:#181614;--border:#2e2a26;--accent:#d4854a;--accent-hover:#e8a06a;--accent-light:#d4854a1a}}*,:before,:after{box-sizing:border-box}body{margin:0}h1,h2,h3{font-family:var(--serif);color:var(--text-heading);font-weight:600;line-height:1.4}a{color:inherit;text-decoration:none}#root{flex-direction:column;min-height:100svh;display:flex}.section{opacity:0;transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);transform:translateY(32px)}.section.revealed{opacity:1;transform:translateY(0)}.header{z-index:100;background:var(--bg);border-bottom:1px solid var(--border);position:fixed;top:0;left:0;right:0}.header-inner{justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;padding:20px 40px;display:flex}.logo{font-family:var(--serif);color:var(--text-heading);letter-spacing:.08em;font-size:22px;font-weight:600;transition:opacity .3s}.logo:hover{opacity:.6}.nav{gap:32px;display:flex}.nav a{letter-spacing:.08em;color:var(--text-heading);font-size:16px;transition:opacity .3s}.nav a:hover{opacity:.6}.nav-cta{background:var(--accent);letter-spacing:.04em;border-radius:4px;padding:10px 20px;font-size:14px;font-weight:600;transition:opacity .3s,transform .3s;color:#fff!important}.nav-cta:hover{transform:translateY(-1px);opacity:.88!important}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.hamburger span{background:var(--text-heading);border-radius:1px;width:24px;height:2px;transition:transform .3s,opacity .3s;display:block}.hamburger--open span:first-child{transform:rotate(45deg)translate(5px,5px)}.hamburger--open span:nth-child(2){opacity:0}.hamburger--open span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:120px 40px 80px;display:flex;position:relative}.hero-content{animation:1.2s cubic-bezier(.22,1,.36,1) forwards heroFadeIn}@keyframes heroFadeIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero-label{letter-spacing:.25em;text-transform:uppercase;color:var(--accent);margin:0 0 32px;font-size:14px;font-weight:500}.hero h1{letter-spacing:.04em;margin:0;font-size:clamp(36px,6vw,64px);font-weight:400;line-height:1.5}.hero-line{display:block}.hero-line--delayed{animation:1s cubic-bezier(.22,1,.36,1) .3s both heroLineIn}@keyframes heroLineIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.hero-rule{background:var(--accent);width:48px;height:1px;margin:40px auto;animation:.8s cubic-bezier(.22,1,.36,1) .6s both ruleExpand}@keyframes ruleExpand{0%{opacity:0;width:0}to{opacity:1;width:48px}}.hero-sub{color:var(--text-muted);margin:0;font-size:20px;line-height:2;animation:1s cubic-bezier(.22,1,.36,1) .8s both heroFadeIn}.hero-cta{letter-spacing:.04em;color:#fff;background:var(--accent);border-radius:4px;align-items:center;gap:10px;margin-top:40px;padding:18px 40px;font-size:17px;font-weight:600;transition:opacity .3s,transform .3s;animation:1s cubic-bezier(.22,1,.36,1) 1s both heroFadeIn;display:inline-flex}.hero-cta:hover{opacity:.88;transform:translateY(-2px)}.hero-cta svg{transition:transform .3s}.hero-cta:hover svg{transform:translate(4px)}.hero-trust{color:var(--text-muted);letter-spacing:.06em;margin:16px 0 0;font-size:13px;animation:1s cubic-bezier(.22,1,.36,1) 1.2s both heroFadeIn}.section{padding:100px 40px}.section-layout{grid-template-columns:280px 1fr;gap:60px;max-width:1100px;margin:0 auto;display:grid}.section-alt{background:var(--bg-alt)}.section-label-en{letter-spacing:.25em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;font-size:14px;font-weight:500;display:block}.section h2{letter-spacing:.06em;margin:0;font-size:36px;font-weight:400}.about-list{margin:0;padding:0}.about-row{border-bottom:1px solid var(--border);padding:20px 0;display:flex}.about-row:first-child{border-top:1px solid var(--border)}.about-row dt{letter-spacing:.08em;width:160px;color:var(--text-muted);flex-shrink:0;padding-top:2px;font-size:18px;font-weight:500}.about-row dd{color:var(--text-heading);margin:0;font-size:20px}.abt-detail{padding:0 40px 80px}.abt-detail-inner{max-width:900px;margin:0 auto}.abt-list{margin:0;padding:0}.abt-row{border-bottom:1px solid var(--border);padding:24px 0;transition:background .3s,padding-left .3s;display:flex}.abt-row:first-child{border-top:1px solid var(--border)}.abt-row:hover{background:var(--accent-light);padding-left:16px}.abt-row dt{letter-spacing:.08em;width:160px;color:var(--text-muted);flex-shrink:0;padding-top:2px;font-size:17px;font-weight:500}.abt-row dd{color:var(--text-heading);margin:0;font-size:19px;line-height:1.7}@media (width<=768px){.abt-detail{padding:0 24px 60px}.abt-row{flex-direction:column;gap:4px}.abt-row dt{width:auto}}.cred-numbers{grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:48px;display:grid}.cred-number-item{text-align:center;border:1px solid var(--border);border-radius:6px;padding:28px 16px;transition:border-color .3s}.cred-number-item:hover{border-color:var(--accent)}.cred-number{font-family:var(--serif);color:var(--accent);font-size:48px;font-weight:400;line-height:1}.cred-number-unit{color:var(--accent);margin-left:2px;font-size:20px}.cred-number-label{color:var(--text-muted);letter-spacing:.06em;margin-top:10px;font-size:14px;display:block}.cred-certs{grid-template-columns:repeat(2,1fr);gap:28px 40px;display:grid}.cred-group h3{color:var(--text-heading);border-bottom:1px solid var(--border);margin:0 0 10px;padding-bottom:8px;font-size:16px;font-weight:600}.cred-group ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.cred-group li{color:var(--text);font-size:15px;line-height:1.6}@media (width<=768px){.cred-numbers{grid-template-columns:repeat(3,1fr);gap:12px}.cred-number{font-size:36px}.cred-certs{grid-template-columns:1fr;gap:24px}}.services-grid{flex-direction:column;gap:0;display:flex}.service-card{border-bottom:1px solid var(--border);grid-template-rows:auto auto;grid-template-columns:48px 1fr;gap:0 20px;padding:32px 0;transition:background .3s;display:grid}.service-card:first-child{border-top:1px solid var(--border)}.service-card:hover{background:var(--accent-light);border-radius:4px;margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.service-index{font-family:var(--serif);color:var(--border);grid-row:1/-1;padding-top:4px;font-size:28px;font-weight:400;line-height:1;transition:color .3s}.service-card:hover .service-index{color:var(--accent)}.service-card h3{letter-spacing:.02em;margin:0 0 8px;font-size:24px;font-weight:600}.service-card p{color:var(--text);margin:0;font-size:18px;line-height:1.9}.contact-inner{text-align:center;max-width:1100px;margin:0 auto}.contact-inner h2{letter-spacing:.06em;margin:0 0 20px;font-size:36px;font-weight:400}.contact-text{color:var(--text);margin:0 0 48px;font-size:20px}.contact-form{text-align:left;flex-direction:column;gap:28px;max-width:560px;margin:0 auto;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--text-heading);letter-spacing:.04em;font-size:15px;font-weight:500}.form-group input,.form-group textarea{font-family:var(--sans);border:1px solid var(--border);background:var(--bg);color:var(--text-heading);border-radius:4px;padding:14px 16px;font-size:17px;line-height:1.6;transition:border-color .2s}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted);opacity:.6}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent);outline:none}.form-group textarea{resize:vertical;min-height:140px}.contact-button{border:1px solid var(--text-heading);color:var(--text-heading);font-family:var(--sans);letter-spacing:.04em;cursor:pointer;background:0 0;justify-content:center;align-self:center;align-items:center;gap:12px;padding:20px 48px;font-size:18px;font-weight:500;transition:all .3s;display:inline-flex}.contact-button:hover{background:var(--text-heading);color:var(--bg)}.contact-button svg{transition:transform .3s}.contact-button:hover svg{transform:translate(4px)}.contact-button:disabled{opacity:.5;cursor:not-allowed}.contact-email{color:var(--text-muted);margin:16px 0 0;font-size:14px}.contact-email a{color:var(--text-heading);text-underline-offset:3px;text-decoration:underline}.contact-email a:hover{color:var(--accent)}.form-message{text-align:center;margin:0;font-size:16px}.form-message--success{color:#2e7d32}.form-message--error{color:#c62828}@media (prefers-color-scheme:dark){.form-message--success{color:#66bb6a}.form-message--error{color:#ef5350}}.footer{border-top:1px solid var(--border);margin-top:auto}.footer-top{justify-content:space-between;gap:60px;max-width:1100px;margin:0 auto;padding:60px 40px 40px;display:flex}.footer-brand{flex-shrink:0}.footer-logo{font-family:var(--serif);color:var(--text-heading);letter-spacing:.08em;font-size:18px;font-weight:600;transition:opacity .3s}.footer-logo:hover{opacity:.6}.footer-desc{color:var(--text-muted);margin:12px 0 0;font-size:14px}.footer-links{gap:60px;display:flex}.footer-col-title{letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase;margin:0 0 14px;font-size:13px;font-weight:600}.footer-nav{flex-direction:column;gap:10px;display:flex}.footer-nav a{color:var(--text-heading);font-size:15px;transition:color .3s}.footer-nav a:hover{color:var(--accent)}.footer-address{color:var(--text-muted);font-size:14px}.footer-bottom{border-top:1px solid var(--border);max-width:1100px;margin:0 auto;padding:20px 40px}.footer-bottom p{color:var(--text-muted);letter-spacing:.04em;margin:0;font-size:14px}@media (width<=768px){.header-inner{padding:16px 20px}.hamburger{display:flex}.nav{background:var(--bg);border-bottom:1px solid var(--border);flex-direction:column;gap:0;padding:8px 0;display:none;position:absolute;top:100%;left:0;right:0}.nav--open{display:flex}.nav a{padding:14px 24px;font-size:17px;display:block}.nav a:hover{background:var(--accent-light);opacity:1}.hero{min-height:90svh;padding:100px 24px 60px}.hero-sub br{display:none}.section{padding:72px 24px}.section-layout{grid-template-columns:1fr;gap:32px}.about-row{flex-direction:column;gap:4px}.about-row dt{width:auto}.service-card{grid-template-columns:36px 1fr}.service-card:hover{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}.service-index{font-size:22px}.footer-top{flex-direction:column;gap:36px;padding:40px 24px 28px}.footer-links{gap:36px}.footer-bottom{padding:16px 24px}}.services-more{color:var(--accent);letter-spacing:.04em;align-items:center;gap:8px;margin-top:32px;font-size:16px;font-weight:500;transition:opacity .3s;display:inline-flex}.services-more:hover{opacity:.7}.services-more svg{transition:transform .3s}.services-more:hover svg{transform:translate(4px)}.trust-badges{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:20px;display:flex}.trust-badge{color:var(--text-muted);border:1px solid var(--border);letter-spacing:.04em;border-radius:100px;padding:6px 14px;font-size:13px;font-weight:500}.abt-message{padding:0 40px 60px}.abt-message-inner{max-width:900px;margin:0 auto}.abt-message h2{letter-spacing:.06em;border-bottom:1px solid var(--border);margin:0 0 24px;padding-bottom:16px;font-size:24px;font-weight:400}.abt-message-body p{color:var(--text);margin:0 0 16px;font-size:17px;line-height:2}.abt-message-body p:last-child{margin-bottom:0}@media (width<=768px){.abt-message{padding:0 24px 48px}}.srv-faq{padding:80px 40px}.srv-faq-inner{max-width:900px;margin:0 auto}.srv-faq h2{letter-spacing:.06em;margin:0 0 36px;font-size:28px;font-weight:400}.faq-list{flex-direction:column;display:flex}.faq-item{border-bottom:1px solid var(--border)}.faq-item:first-child{border-top:1px solid var(--border)}.faq-question{cursor:pointer;width:100%;font:inherit;color:var(--text-heading);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-size:17px;font-weight:500;transition:color .3s;display:flex}.faq-question:hover{color:var(--accent)}.faq-icon{color:var(--text-muted);flex-shrink:0;transition:transform .3s}.faq-item--open .faq-icon{color:var(--accent);transform:rotate(45deg)}.faq-answer{max-height:0;transition:max-height .4s cubic-bezier(.22,1,.36,1);overflow:hidden}.faq-item--open .faq-answer{max-height:300px}.faq-answer p{color:var(--text);margin:0;padding:0 0 20px;font-size:16px;line-height:1.9}@media (width<=768px){.srv-faq{padding:60px 24px}.nav-cta{text-align:center;margin:4px 12px 8px;display:block}}.page-reveal{opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(24px)}.page-visible{opacity:1;transform:translateY(0)}.page-hero{text-align:center;padding:160px 40px 100px;position:relative}.page-hero-inner{max-width:900px;margin:0 auto}.page-hero-label{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;font-size:13px;animation:.8s cubic-bezier(.22,1,.36,1) both pageFadeIn;display:block}.page-hero-line{background:var(--accent);width:1px;height:40px;margin:0 auto 28px;animation:.8s cubic-bezier(.22,1,.36,1) .2s both pageLineGrow}.page-hero h1{letter-spacing:.06em;margin:0 0 24px;font-size:clamp(32px,5vw,52px);font-weight:400;animation:.8s cubic-bezier(.22,1,.36,1) .4s both pageFadeIn}.page-hero-sub{color:var(--text-muted);margin:0;font-size:18px;line-height:2;animation:.8s cubic-bezier(.22,1,.36,1) .6s both pageFadeIn}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pageLineGrow{0%{opacity:0;height:0}to{opacity:1;height:40px}}.page-cta{background:var(--bg-alt);padding:80px 40px}.page-cta-inner{text-align:center;max-width:600px;margin:0 auto}.page-cta-lead{color:var(--text);margin:0 0 32px;font-size:22px}@media (width<=768px){.page-hero{padding:120px 24px 60px}.page-hero-sub br{display:none}.page-cta{padding:60px 24px}}.srv-hero{text-align:center;padding:160px 40px 100px;position:relative}.srv-hero-inner{max-width:900px;margin:0 auto}.srv-hero-label{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;font-size:13px;animation:.8s cubic-bezier(.22,1,.36,1) both srvFadeIn;display:block}.srv-hero-line{background:var(--accent);width:1px;height:40px;margin:0 auto 28px;animation:.8s cubic-bezier(.22,1,.36,1) .2s both srvLineGrow}.srv-hero h1{letter-spacing:.06em;margin:0 0 24px;font-size:clamp(32px,5vw,52px);font-weight:400;animation:.8s cubic-bezier(.22,1,.36,1) .4s both srvFadeIn}.srv-hero-sub{color:var(--text-muted);margin:0;font-size:18px;line-height:2;animation:.8s cubic-bezier(.22,1,.36,1) .6s both srvFadeIn}@keyframes srvFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes srvLineGrow{0%{opacity:0;height:0}to{opacity:1;height:40px}}.srv-target{background:var(--bg-alt);padding:80px 40px}.srv-target-inner{max-width:900px;margin:0 auto}.srv-target h2{letter-spacing:.06em;margin:0 0 36px;font-size:28px;font-weight:400}.srv-target-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.srv-target-item{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:flex-start;gap:14px;padding:20px 24px;transition:border-color .3s;display:flex}.srv-target-item:hover{border-color:var(--accent)}.srv-check{color:var(--accent);flex-shrink:0;margin-top:3px}.srv-target-item span{color:var(--text);font-size:17px;line-height:1.7}.srv-strength{padding:80px 40px}.srv-strength-inner{max-width:900px;margin:0 auto}.srv-strength h2{letter-spacing:.06em;margin:0 0 36px;font-size:28px;font-weight:400}.srv-strength-grid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.srv-strength-item{border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:4px;padding:32px 28px;transition:transform .3s,box-shadow .3s}.srv-strength-item:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000000f}.srv-strength-num{font-family:var(--serif);color:var(--accent);opacity:.5;margin-bottom:16px;font-size:28px;line-height:1;display:block}.srv-strength-item h3{color:var(--text-heading);margin:0 0 12px;font-size:20px;font-weight:600}.srv-strength-item p{color:var(--text);margin:0;font-size:16px;line-height:1.8}.srv-flow{background:var(--bg-alt);padding:80px 40px}.srv-flow-inner{max-width:900px;margin:0 auto}.srv-flow h2{letter-spacing:.06em;margin:0 0 36px;font-size:28px;font-weight:400}.srv-flow-steps{grid-template-columns:repeat(4,1fr);gap:0;display:grid;position:relative}.srv-flow-steps:before{content:"";background:var(--border);height:1px;position:absolute;top:28px;left:calc(12.5% + 16px);right:calc(12.5% + 16px)}.srv-flow-step{text-align:center;padding:0 12px;position:relative}.srv-flow-num{border:2px solid var(--accent);width:56px;height:56px;font-family:var(--serif);color:var(--accent);background:var(--bg-alt);z-index:1;border-radius:50%;justify-content:center;align-items:center;margin-bottom:20px;font-size:20px;display:inline-flex;position:relative}.srv-flow-step h3{color:var(--text-heading);margin:0 0 8px;font-size:18px;font-weight:600}.srv-flow-step p{color:var(--text-muted);margin:0;font-size:15px;line-height:1.7}.srv-detail{padding:80px 40px}.srv-detail-inner{flex-direction:column;gap:64px;max-width:900px;margin:0 auto;display:flex}.srv-card{border-top:1px solid var(--border);border-left:3px solid #0000;padding-top:40px;padding-left:0;transition:border-left-color .3s,padding-left .3s}.srv-card:hover{border-left-color:var(--accent);padding-left:20px}.srv-card-header{align-items:baseline;gap:20px;margin-bottom:24px;display:flex}.srv-card-num{font-family:var(--serif);color:var(--accent);font-size:32px;font-weight:400;line-height:1}.srv-card-header h2{letter-spacing:.02em;margin:0;font-size:28px;font-weight:600}.srv-card-desc{color:var(--text);margin:0 0 32px;font-size:18px;line-height:2}.srv-card-tags,.srv-card-scope{margin-bottom:24px}.srv-card-tags h3,.srv-card-scope h3{letter-spacing:.08em;color:var(--text-muted);margin:0 0 12px;font-size:15px;font-weight:500}.srv-card-tags ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.srv-card-tags li{border:1px solid var(--border);color:var(--text-heading);letter-spacing:.02em;border-radius:100px;padding:6px 14px;font-size:14px;transition:border-color .2s,background .2s}.srv-card-tags li:hover{border-color:var(--accent);background:var(--accent-light)}.srv-card-scope ul{flex-direction:column;gap:8px;margin:0;padding:0 0 0 20px;display:flex}.srv-card-scope li{color:var(--text);font-size:17px;line-height:1.8}.srv-card-cta{color:var(--accent);letter-spacing:.03em;align-items:center;gap:8px;margin-top:8px;font-size:15px;font-weight:600;transition:opacity .3s;display:inline-flex}.srv-card-cta:hover{opacity:.7}.srv-card-cta svg{transition:transform .3s}.srv-card-cta:hover svg{transform:translate(4px)}.srv-pricing{background:var(--bg-alt);padding:80px 40px}.srv-pricing-inner{max-width:900px;margin:0 auto}.srv-pricing h2{letter-spacing:.06em;margin:0 0 16px;font-size:28px;font-weight:400}.srv-pricing-note{color:var(--text-muted);margin:0 0 36px;font-size:16px;line-height:1.8}.srv-pricing-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.srv-pricing-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:32px 28px;transition:transform .3s,box-shadow .3s}.srv-pricing-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000000f}.srv-pricing-card--accent{border-color:var(--accent);position:relative}.srv-pricing-card--accent:before{content:"おすすめ";letter-spacing:.06em;color:#fff;background:var(--accent);border-radius:100px;padding:4px 14px;font-size:12px;font-weight:700;position:absolute;top:-12px;left:24px}.srv-pricing-card h3{color:var(--text-heading);margin:0 0 16px;font-size:18px;font-weight:600}.srv-pricing-price{align-items:baseline;gap:2px;margin-bottom:16px;display:flex}.srv-pricing-amount{font-family:var(--serif);color:var(--text-heading);font-size:40px;font-weight:400;line-height:1}.srv-pricing-unit{color:var(--text-muted);font-size:16px}.srv-pricing-card p{color:var(--text);margin:0;font-size:15px;line-height:1.8}@media (width<=768px){.srv-pricing{padding:60px 24px}.srv-pricing-grid{grid-template-columns:1fr;gap:20px}.srv-hero{padding:120px 24px 60px}.srv-hero-sub br{display:none}.srv-target,.srv-strength,.srv-flow,.srv-detail{padding-left:24px;padding-right:24px}.srv-target-grid{grid-template-columns:1fr}.srv-strength-grid{grid-template-columns:1fr;gap:20px}.srv-flow-steps{grid-template-columns:1fr;gap:32px}.srv-flow-steps:before{display:none}.srv-flow-step{text-align:left;align-items:flex-start;gap:20px;padding:0;display:flex}.srv-flow-num{flex-shrink:0;margin-bottom:0}.srv-flow-step h3{margin-top:6px}.srv-card:hover{padding-left:16px}.srv-card-header{flex-direction:column;gap:8px}.srv-card-header h2{font-size:22px}}.not-found{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;padding:160px 40px 80px;display:flex}.not-found-code{font-family:var(--serif);color:var(--border);margin:0 0 16px;font-size:80px;font-weight:400;line-height:1}.not-found h1{margin:0 0 16px;font-size:32px;font-weight:400}.not-found-text{color:var(--text-muted);margin:0 0 40px;font-size:18px}.not-found-fadein{animation:.8s cubic-bezier(.22,1,.36,1) both pageFadeIn}.not-found-fadein--d1{animation-delay:.15s}.not-found-fadein--d2{animation-delay:.3s}.not-found-fadein--d3{animation-delay:.45s}@media (width<=768px){.not-found{padding:120px 24px 60px}.not-found-code{font-size:60px}}.blog-list-section{padding:0 40px 100px}.blog-list-inner{flex-direction:column;gap:24px;max-width:1120px;margin:0 auto;display:flex}.blog-list-toolbar{justify-content:space-between;align-items:end;gap:24px;display:flex}.blog-list-summary{flex-direction:column;gap:6px;display:flex}.blog-list-label{letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:13px;font-weight:600}.blog-list-count{color:var(--text-heading);margin:0;font-size:20px;font-weight:500}.blog-search{flex-direction:column;gap:8px;min-width:min(100%,360px);display:flex}.blog-search-label{letter-spacing:.08em;color:var(--text-muted);font-size:13px;font-weight:600}.blog-search input{appearance:none;border:1px solid var(--border);background:var(--bg-alt);width:100%;font:inherit;color:var(--text-heading);border-radius:999px;padding:14px 18px}.blog-search input:focus{border-color:var(--accent);outline:2px solid #0000}.blog-tag-filter{flex-wrap:wrap;gap:10px;display:flex}.blog-tag-chip{appearance:none;border:1px solid var(--border);background:var(--bg-alt);color:var(--text-body);font:inherit;cursor:pointer;border-radius:999px;padding:9px 14px;font-size:14px;transition:border-color .2s,background .2s,color .2s}.blog-tag-chip:hover,.blog-tag-chip.is-active{border-color:var(--accent);background:var(--accent-light);color:var(--accent)}.blog-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px;display:grid}.blog-card{border:1px solid var(--border);background:var(--bg);border-radius:16px;flex-direction:column;min-height:300px;padding:32px 30px 28px;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s cubic-bezier(.22,1,.36,1),border-color .3s;display:flex;position:relative;overflow:hidden}.blog-card:before{content:"";background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 50%, transparent));opacity:.7;height:4px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.blog-card:hover{border-color:color-mix(in srgb, var(--accent) 24%, var(--border));transform:translateY(-6px);box-shadow:0 8px 24px #0f172a0f,0 24px 48px #0f172a0a}.blog-card:hover:before{opacity:1}.blog-card-meta{align-items:center;gap:12px;margin-bottom:20px;display:flex}.blog-card-date{letter-spacing:.06em;color:var(--text-heading);font-size:15px;font-weight:500}.blog-card-type{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);background:var(--accent-light);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700;line-height:1}.blog-card-title{letter-spacing:.01em;color:var(--text-heading);margin:0 0 12px;font-size:22px;font-weight:700;line-height:1.55}.blog-card-desc{color:var(--text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 20px;font-size:15px;line-height:1.8;display:-webkit-box;overflow:hidden}.blog-card-tags{flex-wrap:wrap;gap:8px;margin-top:auto;margin-bottom:20px;display:flex}.blog-card-tag{background:var(--bg-alt);color:var(--text-muted);border:1px solid var(--border);border-radius:6px;align-items:center;padding:5px 10px;font-size:13px;font-weight:500;line-height:1;transition:color .2s,border-color .2s;display:inline-flex}.blog-card:hover .blog-card-tag{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 30%, var(--border))}.blog-card-read{color:var(--accent);letter-spacing:.03em;border-top:1px solid var(--border);align-items:center;gap:8px;padding-top:16px;font-size:15px;font-weight:600;display:inline-flex}.blog-card-read svg{transition:transform .3s cubic-bezier(.22,1,.36,1)}.blog-card:hover .blog-card-read svg{transform:translate(5px)}.blog-empty{text-align:center;color:var(--text-muted);padding:60px 0;font-size:18px}.blog-post{max-width:740px;margin:0 auto;padding:120px 40px 48px}.blog-post-header{border-bottom:1px solid var(--border);margin-bottom:32px;padding-bottom:24px}.blog-post-date{letter-spacing:.12em;color:var(--text-muted);margin-bottom:16px;font-size:14px;display:block}.blog-post-header h1{letter-spacing:.02em;margin:0;font-size:clamp(28px,4vw,40px);font-weight:600;line-height:1.5}.blog-toc{background:var(--bg-alt);border:1px solid var(--border);border-radius:6px;margin-bottom:32px;padding:20px 24px}.blog-toc-title{letter-spacing:.08em;color:var(--text-muted);margin:0 0 12px;font-size:14px;font-weight:600}.blog-toc ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.blog-toc li a{color:var(--text-body);font-size:15px;line-height:1.6;transition:color .2s}.blog-toc li a:hover{color:var(--accent)}.blog-toc .blog-toc-sub{padding-left:16px}.blog-toc .blog-toc-sub a{color:var(--text-muted);font-size:14px}.blog-post-body h2{letter-spacing:.02em;border-bottom:1px solid var(--border);margin:36px 0 16px;padding-bottom:10px;font-size:26px;font-weight:600}.blog-post-body h3{letter-spacing:.02em;margin:28px 0 12px;font-size:22px;font-weight:600}.blog-post-body p{margin:0 0 18px;font-size:18px;line-height:1.9}.blog-post-body ul,.blog-post-body ol{flex-direction:column;gap:6px;margin:0 0 18px;padding-left:24px;display:flex}.blog-post-body li{font-size:18px;line-height:1.9}.blog-post-body strong{color:var(--text-heading);font-weight:600}.blog-post-body code{background:var(--bg-alt);border:1px solid var(--border);border-radius:4px;padding:2px 8px;font-family:SF Mono,Fira Code,Fira Mono,Menlo,monospace;font-size:.88em}.blog-post-body pre{background:var(--bg-alt);border:1px solid var(--border);border-radius:6px;margin:0 0 24px;padding:20px 24px;overflow-x:auto}.blog-post-body pre code{background:0 0;border:none;padding:0;font-size:15px;line-height:1.7}.blog-post-body blockquote{border-left:3px solid var(--accent);background:var(--accent-light);border-radius:0 4px 4px 0;margin:0 0 18px;padding:14px 20px}.blog-post-body blockquote p{color:var(--text-heading);margin:0}.blog-table-wrap{margin:0 0 24px;overflow-x:auto}.blog-post-body table{border-collapse:collapse;width:max-content;min-width:100%;font-size:16px;line-height:1.7}.blog-post-body th{color:var(--text-heading);background:var(--bg-alt);text-align:left;border-bottom:2px solid var(--border);white-space:nowrap;padding:10px 14px;font-weight:600}.blog-post-body td{border-bottom:1px solid var(--border);color:var(--text-body);vertical-align:top;padding:10px 14px}.blog-post-body tbody tr:last-child td{border-bottom:none}.blog-post-body a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.blog-post-body a:hover{opacity:.7}.blog-post-fadein{animation:.8s cubic-bezier(.22,1,.36,1) both pageFadeIn}.blog-post-fadein--d1{animation-delay:.15s}.blog-post-fadein--d2{animation-delay:.3s}.blog-post-cta{text-align:center;border-top:1px solid var(--border);max-width:740px;margin:0 auto;padding:48px 40px}.blog-post-cta-text{color:var(--text-heading);margin:0 0 28px;font-size:18px;font-weight:500;line-height:1.8}.blog-post-cta-button{letter-spacing:.04em;color:#fff;background:var(--accent);border-radius:999px;padding:14px 36px;font-size:16px;font-weight:600;transition:opacity .3s,transform .3s;display:inline-block}.blog-post-cta-button:hover{opacity:.85;transform:translateY(-2px)}.blog-post-cta-email{color:var(--text-muted);margin:14px 0 0;font-size:14px}.blog-post-cta-email a{color:var(--text-heading);text-underline-offset:3px;text-decoration:underline;transition:color .2s}.blog-post-cta-email a:hover{color:var(--accent)}.blog-post-back{max-width:740px;margin:0 auto;padding:0 40px 80px}.blog-back-link{color:var(--accent);letter-spacing:.04em;align-items:center;gap:8px;font-size:16px;font-weight:500;transition:opacity .3s;display:inline-flex}.blog-back-link:hover{opacity:.7}.blog-back-link svg{transition:transform .3s}.blog-back-link:hover svg{transform:translate(-4px)}@media (width<=768px){.blog-list-section{padding:0 24px 72px}.blog-list-toolbar{flex-direction:column;align-items:stretch}.blog-search{min-width:0}.blog-grid{grid-template-columns:1fr;gap:20px}.blog-card{min-height:auto;padding:24px 22px 22px}.blog-post{padding:120px 24px 48px}.blog-post-back{padding:0 24px 60px}.blog-post-cta{padding:36px 24px}.blog-post-cta-text{font-size:16px}.blog-post-body h2{font-size:22px}.blog-post-body h3{font-size:19px}}
