/* ============ TYPEWRITER v60 — 等宽打字机 米白纸+琥珀+墨黑 ============ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Courier Prime','Noto Sans Mono SC',monospace;color:#1a1a1a;background:#f6f1e3;background-image:repeating-linear-gradient(transparent 0,transparent 27px,rgba(0,0,0,.03) 28px);line-height:1.6;position:relative}
body::after{content:'';position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.08) 100%);z-index:1}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}
h1,h2,h3,h4{font-family:'Courier Prime','Noto Sans Mono SC',monospace;font-weight:700;line-height:1.3;color:#111}
.tw-wrap{max-width:1160px;margin:0 auto;padding:0 24px;position:relative;z-index:2}

/* header */
.tw-head{background:#f6f1e3;border-bottom:2px dashed #1a1a1a;position:sticky;top:0;z-index:100}
.tw-hin{display:flex;align-items:center;justify-content:space-between;height:68px}
.tw-logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px}
.tw-caret{color:#d97706;font-weight:700}
.tw-nav{display:flex;gap:20px;font-size:13px;font-weight:700}
.tw-nav a:hover{color:#d97706;background:#ffedc2}
.tw-cta{background:#1a1a1a;color:#f6f1e3!important;padding:8px 14px}
.tw-cta:hover{background:#d97706;color:#fff!important}
.tw-ham{display:none;font-weight:700;padding:6px 10px;border:2px solid #1a1a1a;font-size:13px}
.tw-mmenu{display:none;border-top:2px dashed #1a1a1a;padding:12px 24px}
.tw-mmenu.open{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700}
.tw-mmenu a{padding:8px 0;border-bottom:1px dashed #aaa}

/* hero terminal */
.tw-hero{padding:60px 0 80px}
.tw-hero .tw-wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.tw-term{background:#fbf7ea;border:2px solid #1a1a1a;box-shadow:6px 6px 0 rgba(217,119,6,.35);position:relative}
.tw-termbar{background:#1a1a1a;color:#f6f1e3;padding:8px 14px;display:flex;align-items:center;gap:8px;font-size:12px}
.tw-dot{width:12px;height:12px;border-radius:50%;background:#555}
.tw-r{background:#e5484d}
.tw-y{background:#f5a524}
.tw-g{background:#2da44e}
.tw-termbar em{margin-left:14px;font-style:normal;color:#ccc;flex:1;text-align:center}
.tw-termbody{padding:26px 28px;font-size:14px;line-height:1.8}
.tw-line{margin-bottom:4px}
.tw-ps{color:#d97706;font-weight:700;margin-right:8px}
.tw-out{color:#444;margin-bottom:2px;padding-left:22px;position:relative}
.tw-out::before{content:'//';position:absolute;left:0;color:#aaa;font-size:11px}
.tw-cursor{display:inline-block;width:10px;height:18px;background:#1a1a1a;animation:twBlink 1s steps(1) infinite;margin-left:2px;vertical-align:-3px}
@keyframes twBlink{50%{opacity:0}}
.tw-h1{font-size:36px;margin:18px 0 18px!important;line-height:1.3;color:#1a1a1a}
.tw-hcta{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.tw-btn{display:inline-flex;padding:10px 18px;background:transparent;color:#1a1a1a;border:2px solid #1a1a1a;font-weight:700;font-size:13px;font-family:inherit;transition:all .15s}
.tw-btn-fill{background:#1a1a1a;color:#f6f1e3}
.tw-btn-fill:hover{background:#d97706;border-color:#d97706}
.tw-btn:hover{background:#ffedc2;color:#1a1a1a}
.tw-btn-block{width:100%}
.tw-himg{display:flex;justify-content:center}
.tw-polaroid{background:#fbf7ea;border:2px solid #1a1a1a;padding:12px;padding-bottom:30px;transform:rotate(2deg);box-shadow:6px 6px 0 rgba(0,0,0,.18);position:relative}
.tw-polaroid img{width:100%;max-width:380px;height:320px;object-fit:cover;border:1px solid #1a1a1a}
.tw-polaroid p{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:11px;color:#888}

/* sections */
.tw-secpre{font-size:12px;color:#d97706;margin-bottom:8px;letter-spacing:1px}
.tw-h2{font-size:30px;margin-bottom:8px;letter-spacing:1px}
.tw-secdesc{font-size:13px;color:#888;margin-bottom:40px}

/* services */
.tw-svc{padding:60px 0;border-top:2px dashed #1a1a1a}
.tw-sgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.tw-sc{border:2px solid #1a1a1a;padding:20px;background:#fbf7ea;position:relative;transition:all .15s}
.tw-sc::before{content:'';position:absolute;top:0;left:0;width:0;height:0;border-top:14px solid #d97706;border-right:14px solid transparent}
.tw-sc:hover{transform:translate(-3px,-3px);box-shadow:5px 5px 0 #d97706}
.tw-sc-a{background:#ffedc2}
.tw-sc-k{font-size:11px;color:#888;margin-bottom:8px}
.tw-sc h3{font-size:15px;margin-bottom:10px;letter-spacing:.5px}
.tw-sc p{font-size:12px;color:#444;margin-bottom:12px;line-height:1.7}
.tw-smore{font-size:12px;color:#d97706;font-weight:700}
.tw-smore:hover{text-decoration:underline}

/* ivf code */
.tw-ivf{padding:60px 0;border-top:2px dashed #1a1a1a}
.tw-code{background:#1a1a1a;color:#f6f1e3;padding:28px 30px;margin-bottom:20px;overflow-x:auto;box-shadow:6px 6px 0 rgba(217,119,6,.35);border:2px solid #1a1a1a}
.tw-code pre{font-family:'Courier Prime','Noto Sans Mono SC',monospace;font-size:13px;line-height:1.9;white-space:pre}
.tw-c{color:#8b949e}
.tw-kw{color:#ff7b72}
.tw-prop{color:#79c0ff}
.tw-str{color:#a5d6ff}
.tw-warn{background:#ffedc2;border:2px dashed #d97706;padding:18px 22px;font-size:13px}
.tw-warn p{margin-bottom:4px}
.tw-warn b{color:#b45309}

/* process */
.tw-proc{padding:60px 0;border-top:2px dashed #1a1a1a}
.tw-steplist{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tw-steplist>div{border:2px solid #1a1a1a;padding:20px;background:#fbf7ea;position:relative}
.tw-steplist>div::after{content:'';position:absolute;bottom:-2px;left:-2px;right:-2px;height:6px;background:#d97706}
.tw-steplist>div span{display:inline-block;background:#1a1a1a;color:#ffedc2;font-size:12px;padding:4px 10px;margin-bottom:10px;font-weight:700}
.tw-steplist h4{font-size:15px;margin-bottom:8px}
.tw-steplist p{font-size:12px;color:#444;line-height:1.7}

/* faq */
.tw-faq{padding:60px 0;border-top:2px dashed #1a1a1a;background:#ffedc2}
.tw-faql{max-width:820px;margin:0 auto}
.tw-fq{background:#fbf7ea;border:2px solid #1a1a1a;margin-bottom:10px}
.tw-fq summary{list-style:none;padding:14px 18px;cursor:pointer;display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px}
.tw-fq summary::marker{display:none}
.tw-fq summary::-webkit-details-marker{display:none}
.tw-q{color:#d97706;font-weight:700;min-width:38px}
.tw-fq summary i{margin-left:auto;width:10px;height:10px;border-right:2px solid #1a1a1a;border-bottom:2px solid #1a1a1a;transform:rotate(45deg);transition:transform .2s}
.tw-fq[open] summary i{transform:rotate(-135deg)}
.tw-fq>div{padding:14px 18px;border-top:1px dashed #aaa;font-size:13px;line-height:1.8;display:flex;gap:10px}
.tw-a{color:#d97706;font-weight:700;flex-shrink:0}

/* news */
.tw-news{padding:60px 0;border-top:2px dashed #1a1a1a}
ul.article-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;list-style:none;margin:0;padding:0;width:100%;box-sizing:border-box}
ul.article-cards>li.article-card{min-width:0;width:auto;max-width:none;margin:0;float:none;box-sizing:border-box;background:#fbf7ea;border:2px solid #1a1a1a;padding:0;transition:all .15s;position:relative;overflow:visible}
ul.article-cards>li.article-card::before{content:'POST';position:absolute;top:-10px;left:12px;background:#d97706;color:#fff;font-size:10px;padding:2px 8px;font-weight:700;letter-spacing:1px;z-index:2}
ul.article-cards>li.article-card:hover{transform:translate(-3px,-3px);box-shadow:5px 5px 0 #d97706}
.article-card .card-thumb{width:100%;overflow:hidden;border-bottom:2px solid #1a1a1a}
.article-card .card-thumb img{display:block;width:100%;max-width:100%;height:170px;object-fit:cover;filter:sepia(.15)}
.article-card .card-body{padding:16px}
.article-card .card-title{overflow-wrap:anywhere;font-weight:700;font-size:14px;margin-bottom:8px;line-height:1.5}
.article-card .card-title a{color:#1a1a1a}
.article-card .card-title a:hover{color:#d97706}
.article-card .card-date{display:block;font-size:11px;color:#d97706;margin-bottom:8px;font-weight:700}
.article-card .card-summary{overflow-wrap:anywhere;font-size:12px;color:#555;line-height:1.7}

/* about */
.tw-about{padding:60px 0;border-top:2px dashed #1a1a1a}
.tw-ab-in{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:start}
.tw-ab-p{color:#888;font-size:12px;margin-bottom:8px}
.tw-ab-desc{font-size:14px;line-height:1.9;margin-bottom:18px}
.tw-ab-list li{padding:6px 0;font-size:13px;border-bottom:1px dashed #ccc;color:#333}
.tw-term-sm .tw-termbody{padding:20px}
.tw-term-sm-b{font-size:12px}
.tw-term-sm-b .tw-out{padding-left:18px;font-size:12px;margin-bottom:2px}
.tw-out-amber{color:#d97706!important;font-weight:700}
.tw-term-sm-b .tw-btn{margin-top:10px}

/* contact */
.tw-contact{padding:60px 0;border-top:2px dashed #1a1a1a;background:#ffedc2}
.tw-ct-in{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:start}
.tw-ct-l p{font-size:14px;line-height:1.9;margin-bottom:16px}
.tw-phone-line{font-size:18px;font-weight:700}
.tw-phone-line a{color:#d97706}
.tw-form{background:#fbf7ea;border:2px solid #1a1a1a;padding:26px;box-shadow:5px 5px 0 rgba(0,0,0,.2)}
.tw-form-p{font-size:11px;color:#888;margin-bottom:14px}
.tw-form label{display:block;font-size:12px;font-weight:700;margin-bottom:12px;color:#444}
.tw-f2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tw-form input,.tw-form select,.tw-form textarea{width:100%;padding:8px;border:2px solid #1a1a1a;background:#fff;font-family:'Courier Prime',monospace;font-size:13px;margin-top:4px;color:#1a1a1a}
.tw-form textarea{resize:vertical}

/* DETAIL */
.tw-bread{padding:24px 0 0;font-size:12px;color:#888}
.tw-bread a{color:#d97706}
.tw-detail{padding:20px 0 60px}
.tw-art{max-width:800px;margin:0 auto;background:#fbf7ea;border:2px solid #1a1a1a;padding:40px;box-shadow:6px 6px 0 rgba(217,119,6,.3);position:relative}
.tw-art::before{content:'';position:absolute;left:30px;right:30px;top:14px;border-top:1px dashed #ccc}
.tw-artpre{font-size:11px;color:#888;margin-bottom:12px}
.tw-ath{font-size:28px;line-height:1.3;margin-bottom:14px}
.tw-ameta{display:flex;gap:14px;flex-wrap:wrap;font-size:11px;color:#888;margin-bottom:20px;padding-bottom:12px;border-bottom:1px dashed #ccc}
.tw-asum{background:#ffedc2;border-left:4px solid #d97706;padding:14px 18px;font-size:14px;line-height:1.8;margin-bottom:22px}
.tw-afig{margin-bottom:24px}
.tw-afig img{width:100%;height:auto;border:2px solid #1a1a1a;filter:sepia(.1)}
.tw-afig figcaption{font-size:11px;color:#888;margin-top:8px}
.tw-abody{font-size:15px;line-height:1.9}
.tw-abody p{margin-bottom:16px}
.tw-abody h2,.tw-abody h3,.tw-abody h4{margin:24px 0 12px}
.tw-abody h2{font-size:22px}
.tw-abody h3{font-size:19px}
.tw-abody h4{font-size:16px}
.tw-abody img{width:100%;max-width:100%;height:auto;margin:14px 0;border:2px solid #1a1a1a}
.tw-abody ul,.tw-abody ol{padding-left:20px;margin-bottom:14px}
.tw-abody li{margin-bottom:6px}
.tw-adis{background:#ffedc2;border:2px dashed #d97706;padding:18px;margin-top:26px;font-size:13px}
.tw-adis p{margin-bottom:6px}
.tw-adis b{color:#b45309}
.tw-anav{margin:24px 0;padding:16px 0;border-top:1px dashed #ccc;border-bottom:1px dashed #ccc}
.tw-anav .tw-secpre{margin-bottom:10px}
.tw-atags{display:flex;gap:8px;flex-wrap:wrap}
.tw-atags a{padding:6px 12px;border:2px solid #1a1a1a;font-size:11px;font-weight:700;background:#fff}
.tw-atags a:hover{background:#d97706;color:#fff;border-color:#d97706}
.tw-act{display:flex;gap:10px;flex-wrap:wrap}

/* FOOTER */
.tw-foot{background:#1a1a1a;color:#ccc;padding:50px 0 0;border-top:4px solid #d97706}
.tw-ft-in{display:grid;grid-template-columns:1.7fr 1fr 1.3fr;gap:36px;padding-bottom:36px}
.tw-ft-logo .tw-caret{color:#d97706}
.tw-ft-logo b{color:#f6f1e3}
.tw-ft-d{font-size:12px;line-height:1.8;margin:14px 0 20px;color:#aaa;max-width:380px}
.tw-ft-h{font-size:11px;color:#d97706;margin-bottom:12px;letter-spacing:1px}
.tw-ft-c a{display:block;padding:4px 0;font-size:12px;color:#aaa}
.tw-ft-c a:hover{color:#ffedc2}
.tw-ft-r a{display:inline-block;margin:3px 6px 3px 0;font-size:11px;color:#888}
.tw-ft-r a:hover{color:#ffedc2}
.tw-ft-b{background:#111;padding:16px 0;font-size:11px}
.tw-ftb-in{display:flex;gap:20px;flex-wrap:wrap;justify-content:center}
.tw-ftb-in a{color:#d97706}

/* responsive */
@media (max-width:1024px){
  .tw-hero .tw-wrap{grid-template-columns:1fr}
  .tw-sgrid{grid-template-columns:repeat(2,1fr)}
  .tw-steplist{grid-template-columns:repeat(2,1fr)}
  .tw-ab-in,.tw-ct-in{grid-template-columns:1fr;gap:30px}
  .tw-ft-in{grid-template-columns:1fr 1fr}
}
@media (max-width:768px){
  .tw-nav{display:none}
  .tw-ham{display:block}
  .tw-hero{padding:34px 0 50px}
  .tw-h1{font-size:26px}
  .tw-h2{font-size:22px}
  .tw-svc,.tw-ivf,.tw-proc,.tw-faq,.tw-news,.tw-about,.tw-contact{padding:40px 0}
  .tw-sgrid{grid-template-columns:1fr}
  .tw-steplist{grid-template-columns:1fr}
  .tw-f2{grid-template-columns:1fr}
  .tw-art{padding:24px}
.tw-ath{font-size:22px}
  .tw-ft-in{grid-template-columns:1fr}
  .tw-ftb-in{flex-direction:column;align-items:center;text-align:center}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .tw-cursor{animation:none;opacity:1}
}
