/* roulang page: index */
:root{
            --ink:#18322e;
            --ink-soft:#35514b;
            --muted:#71817c;
            --paper:#fbfaf6;
            --sand:#f2eee5;
            --cream:#f7f3ea;
            --line:#dfe4dc;
            --orange:#dc7d47;
            --orange-dark:#b85e31;
            --teal:#2e6c62;
            --teal-deep:#153f39;
            --white:#fff;
            --radius-sm:10px;
            --radius-md:16px;
            --radius-lg:24px;
            --shadow:0 18px 50px rgba(29,54,47,.09);
            --shadow-soft:0 8px 24px rgba(29,54,47,.06);
            --container:1200px;
            --ease:all .25s ease;
        }
        *,*::before,*::after{box-sizing:border-box}
        html{scroll-behavior:smooth}
        body{
            margin:0;
            color:var(--ink);
            background:var(--paper);
            font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
            font-size:16px;
            line-height:1.75;
            -webkit-font-smoothing:antialiased;
        }
        a{color:inherit;text-decoration:none;transition:var(--ease)}
        a:focus-visible,button:focus-visible{outline:3px solid rgba(220,125,71,.45);outline-offset:4px}
        img{display:block;max-width:100%;height:auto}
        button{font:inherit;border:0;cursor:pointer}
        .container{width:min(var(--container),calc(100% - 48px));margin:0 auto}
        .eyebrow{
            display:inline-flex;
            align-items:center;
            gap:8px;
            color:var(--orange-dark);
            font-size:13px;
            font-weight:700;
            letter-spacing:.08em;
        }
        .eyebrow::before{content:"";width:28px;height:2px;background:var(--orange);display:inline-block}
        .section{padding:96px 0}
        .section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}
        .section-head h2{margin:10px 0 0;font-size:clamp(28px,3.2vw,40px);line-height:1.25;letter-spacing:-.03em}
        .section-head p{max-width:480px;color:var(--muted);margin:0}
        .site-header{
            position:sticky;top:0;z-index:20;
            background:rgba(251,250,246,.94);
            border-bottom:1px solid rgba(223,228,220,.85);
            backdrop-filter:blur(12px);
        }
        .nav-wrap{height:76px;display:flex;align-items:center;justify-content:space-between;gap:30px}
        .brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:19px;letter-spacing:-.03em;white-space:nowrap}
        .brand-mark{
            width:35px;height:35px;border-radius:11px;background:var(--teal);
            color:#fff;display:grid;place-items:center;font-size:14px;letter-spacing:-.08em;
        }
        .nav-list{display:flex;align-items:center;gap:8px;margin:0;padding:0;list-style:none}
        .nav-list a{display:block;padding:9px 15px;color:var(--ink-soft);font-size:14px;border-radius:9px}
        .nav-list a:hover,.nav-list a.active{color:var(--teal-deep);background:#eaf0e9}
        .nav-list a.active{font-weight:700}
        .nav-actions{display:flex;align-items:center;gap:12px}
        .btn{
            display:inline-flex;align-items:center;justify-content:center;gap:9px;
            min-height:46px;padding:0 21px;border-radius:10px;font-weight:700;font-size:14px;
            transition:var(--ease);border:1px solid transparent;
        }
        .btn-primary{color:#fff;background:var(--orange);box-shadow:0 8px 18px rgba(220,125,71,.18)}
        .btn-primary:hover{background:var(--orange-dark);transform:translateY(-2px);box-shadow:0 12px 24px rgba(184,94,49,.22)}
        .btn-outline{border-color:var(--line);color:var(--ink-soft);background:transparent}
        .btn-outline:hover{border-color:var(--teal);color:var(--teal);background:#f0f5ef}
        .menu-toggle{display:none;background:transparent;color:var(--ink);font-size:25px;width:44px;height:44px;border-radius:9px}
        .hero{
            min-height:660px;display:flex;align-items:center;position:relative;overflow:hidden;
            background:
                linear-gradient(90deg,rgba(20,47,42,.93) 0%,rgba(20,47,42,.78) 46%,rgba(20,47,42,.28) 100%),
                url('/assets/images/backpic/back-1.webp') center/cover no-repeat;
            color:#fff;
        }
        .hero::after{content:"";position:absolute;right:-120px;bottom:-180px;width:430px;height:430px;border:1px solid rgba(255,255,255,.12);border-radius:50%}
        .hero-content{position:relative;z-index:1;max-width:730px;padding:86px 0 110px}
        .hero .eyebrow{color:#f3b18b}
        .hero .eyebrow::before{background:#f3b18b}
        .hero h1{font-size:clamp(40px,5.5vw,68px);line-height:1.12;letter-spacing:-.055em;margin:20px 0 24px;max-width:720px}
        .hero p{font-size:18px;line-height:1.85;color:rgba(255,255,255,.8);max-width:600px;margin:0 0 34px}
        .hero-buttons{display:flex;flex-wrap:wrap;gap:13px}
        .hero .btn-outline{color:#fff;border-color:rgba(255,255,255,.4)}
        .hero .btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.12)}
        .hero-note{margin-top:25px;color:rgba(255,255,255,.58);font-size:13px}
        .info-strip{position:relative;margin-top:-46px;z-index:3}
        .info-grid{
            display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);
            border-radius:16px;box-shadow:var(--shadow);overflow:hidden
        }
        .info-item{padding:23px 25px;border-right:1px solid var(--line)}
        .info-item:last-child{border-right:0}
        .info-item strong{display:block;color:var(--teal);font-size:14px;margin-bottom:3px}
        .info-item span{display:block;color:var(--muted);font-size:13px}
        .entry-layout{display:grid;grid-template-columns:1.38fr .62fr;gap:22px}
        .main-entry{
            min-height:360px;position:relative;overflow:hidden;border-radius:var(--radius-lg);
            background:linear-gradient(120deg,rgba(21,63,57,.95),rgba(46,108,98,.72)),url('/assets/images/coverpic/cover-1.webp') center/cover;
            color:#fff;padding:42px;display:flex;flex-direction:column;justify-content:flex-end;
        }
        .main-entry::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,32,29,.75),transparent 70%)}
        .main-entry>*{position:relative;z-index:1}
        .main-entry h3{font-size:29px;margin:10px 0 8px;line-height:1.3}
        .main-entry p{color:rgba(255,255,255,.76);margin:0 0 23px;max-width:480px}
        .entry-side{display:grid;gap:22px}
        .side-card{padding:30px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;min-height:169px;display:flex;flex-direction:column;justify-content:space-between}
        .side-card.alt{background:var(--cream)}
        .side-icon{width:36px;height:36px;border-radius:10px;background:#eaf0e9;color:var(--teal);display:grid;place-items:center;font-weight:800}
        .side-card h3{font-size:19px;margin:15px 0 4px}
        .side-card p{font-size:14px;color:var(--muted);margin:0}
        .text-link{font-size:14px;color:var(--teal);font-weight:700;margin-top:15px}
        .text-link:hover{color:var(--orange-dark)}
        .category-section{background:var(--sand)}
        .category-tabs{display:flex;gap:10px;overflow:auto;padding-bottom:8px;border-bottom:1px solid #d8ddd4}
        .category-tabs a{white-space:nowrap;padding:11px 18px;border-radius:30px;color:var(--ink-soft);font-size:14px}
        .category-tabs a:hover,.category-tabs a.active{background:var(--teal);color:#fff}
        .category-feature{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;margin-top:34px}
        .category-image{height:290px;border-radius:var(--radius-lg);overflow:hidden;background:#d9ded7}
        .category-image img{width:100%;height:100%;object-fit:cover}
        .category-copy h3{font-size:28px;margin:12px 0 12px;line-height:1.3}
        .category-copy p{color:var(--muted);margin:0 0 22px}
        .label{display:inline-flex;padding:5px 10px;border-radius:6px;background:#e7eee5;color:var(--teal);font-size:12px;font-weight:700}
        .service-section{background:#fff}
        .service-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}
        .service-intro h2{font-size:38px;line-height:1.25;margin:13px 0 18px}
        .service-intro p{color:var(--muted);margin:0}
        .steps{border-top:1px solid var(--line)}
        .step{display:grid;grid-template-columns:62px 1fr;gap:18px;padding:23px 0;border-bottom:1px solid var(--line)}
        .step-num{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--cream);color:var(--orange-dark);font-weight:800}
        .step h3{font-size:18px;margin:0 0 4px}
        .step p{font-size:14px;color:var(--muted);margin:0}
        .notice-section{padding:70px 0;background:#eaf0e9}
        .notice-box{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:center}
        .notice-box h2{font-size:30px;line-height:1.3;margin:12px 0 0}
        .notice-list{display:grid;grid-template-columns:repeat(2,1fr);gap:17px 35px;margin:0;padding:0;list-style:none}
        .notice-list li{position:relative;padding-left:23px;color:var(--ink-soft);font-size:14px}
        .notice-list li::before{content:"";position:absolute;left:0;top:10px;width:8px;height:8px;border-radius:50%;background:var(--orange)}
        .faq-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:90px}
        .faq-intro h2{font-size:36px;line-height:1.3;margin:12px 0 18px}
        .faq-intro p{color:var(--muted)}
        .faq-list{border-top:1px solid var(--line)}
        .faq-item{border-bottom:1px solid var(--line)}
        .faq-question{width:100%;padding:20px 0;background:transparent;color:var(--ink);display:flex;justify-content:space-between;align-items:center;text-align:left;font-weight:700;font-size:16px}
        .faq-question span:last-child{font-size:23px;font-weight:400;color:var(--orange);transition:transform .25s}
        .faq-answer{display:none;color:var(--muted);font-size:14px;padding:0 40px 20px 0}
        .faq-item.open .faq-answer{display:block}
        .faq-item.open .faq-question span:last-child{transform:rotate(45deg)}
        .cta{padding:68px 0;background:var(--orange);color:#fff}
        .cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
        .cta h2{font-size:clamp(26px,3vw,38px);margin:0 0 8px;line-height:1.25}
        .cta p{margin:0;color:rgba(255,255,255,.78);font-size:14px}
        .cta .btn{background:#fff;color:var(--orange-dark)}
        .cta .btn:hover{background:#fff4ec;transform:translateY(-2px)}
        footer{background:var(--teal-deep);color:#fff;padding:55px 0 25px}
        .footer-top{display:flex;justify-content:space-between;gap:40px;padding-bottom:42px;border-bottom:1px solid rgba(255,255,255,.16)}
        .footer-brand{max-width:330px}
        .footer-brand .brand{color:#fff;margin-bottom:16px}
        .footer-brand p{color:rgba(255,255,255,.62);font-size:14px;margin:0}
        .footer-nav{display:flex;gap:65px}
        .footer-group h3{font-size:14px;margin:0 0 14px;color:#f2c3a5}
        .footer-group a{display:block;color:rgba(255,255,255,.7);font-size:13px;margin:7px 0}
        .footer-group a:hover{color:#fff}
        .footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:22px;color:rgba(255,255,255,.48);font-size:12px}
        .back-top{position:fixed;right:22px;bottom:22px;width:42px;height:42px;border-radius:50%;background:var(--teal);color:#fff;display:none;place-items:center;box-shadow:var(--shadow-soft);z-index:8}
        .back-top.show{display:grid}
        @media(max-width:980px){
            .nav-list{gap:0}.nav-list a{padding:9px 10px}
            .entry-layout,.service-layout,.faq-layout{grid-template-columns:1fr;gap:36px}
            .service-layout,.faq-layout{gap:45px}
            .notice-box{grid-template-columns:1fr;gap:24px}
        }
        @media(max-width:768px){
            .container{width:min(var(--container),calc(100% - 34px))}
            .section{padding:64px 0}
            .nav-wrap{height:68px}
            .menu-toggle{display:block}
            .nav-actions{margin-left:auto}
            .nav-list{
                position:absolute;top:68px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;
                padding:12px 17px 18px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--shadow-soft)
            }
            .nav-list.open{display:flex}
            .nav-list a{padding:13px 12px}
            .nav-actions .btn{min-height:42px;padding:0 14px}
            .hero{min-height:590px;background-position:58% center}
            .hero-content{padding:70px 0 95px}
            .hero h1{font-size:40px}
            .hero p{font-size:16px}
            .info-strip{margin-top:-30px}
            .info-grid{grid-template-columns:repeat(2,1fr)}
            .info-item{border-right:0;border-bottom:1px solid var(--line);padding:18px}
            .info-item:nth-child(odd){border-right:1px solid var(--line)}
            .info-item:nth-last-child(-n+2){border-bottom:0}
            .section-head{display:block;margin-bottom:27px}
            .section-head p{margin-top:14px}
            .category-feature{grid-template-columns:1fr;gap:24px}
            .category-image{height:230px}
            .service-intro h2,.faq-intro h2{font-size:29px}
            .notice-list{grid-template-columns:1fr}
            .cta-inner{display:block}
            .cta .btn{margin-top:23px;width:100%}
            .footer-top{display:block}
            .footer-nav{gap:45px;margin-top:30px}
            .footer-bottom{display:block}
            .footer-bottom span{display:block;margin-top:7px}
        }
        @media(max-width:480px){
            .brand{font-size:16px}.brand-mark{width:31px;height:31px}
            .nav-actions .btn{display:none}
            .hero h1{font-size:34px}
            .hero-buttons{display:grid}
            .hero-buttons .btn{width:100%}
            .main-entry{min-height:330px;padding:28px}
            .side-card{padding:24px}
            .info-item{padding:15px 12px}
            .info-item strong{font-size:13px}.info-item span{font-size:12px}
            .footer-nav{gap:25px}
        }

/* roulang page: category1 */
:root {
            --ink: #1d2925;
            --ink-soft: #53605b;
            --muted: #7f8983;
            --paper: #fbfaf6;
            --cream: #f3eee5;
            --mist: #eaf0eb;
            --line: #dce2dc;
            --orange: #d87542;
            --orange-dark: #b85c31;
            --teal: #285b52;
            --teal-deep: #173d37;
            --white: #ffffff;
            --radius-lg: 22px;
            --radius-md: 14px;
            --shadow-soft: 0 16px 38px rgba(30, 47, 41, .08);
            --shadow-hover: 0 20px 44px rgba(30, 47, 41, .14);
            --container: 1200px;
        }

        * { box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body {
            margin: 0;
            color: var(--ink);
            background: var(--paper);
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            font-size: 16px;
            line-height: 1.78;
            -webkit-font-smoothing: antialiased;
        }
        a { color: inherit; text-decoration: none; }
        img { display: block; max-width: 100%; }
        button { font: inherit; }
        :focus-visible {
            outline: 3px solid rgba(216, 117, 66, .45);
            outline-offset: 4px;
        }
        .container {
            width: min(var(--container), calc(100% - 48px));
            margin: 0 auto;
        }

        header {
            position: sticky;
            top: 0;
            z-index: 20;
            background: rgba(251, 250, 246, .94);
            border-bottom: 1px solid rgba(220, 226, 220, .8);
            backdrop-filter: blur(12px);
        }
        .header-inner {
            min-height: 78px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 32px;
        }
        .brand {
            display: inline-flex;
            align-items: center;
            gap: 11px;
            color: var(--teal-deep);
            font-weight: 800;
            letter-spacing: -.03em;
            white-space: nowrap;
        }
        .brand-mark {
            width: 38px;
            height: 38px;
            display: grid;
            place-items: center;
            color: var(--white);
            background: var(--orange);
            border-radius: 11px;
            font-size: 13px;
            letter-spacing: .04em;
        }
        .nav-list {
            display: flex;
            align-items: center;
            gap: 8px;
            margin: 0;
            padding: 0;
            list-style: none;
        }
        .nav-list a {
            position: relative;
            display: inline-flex;
            align-items: center;
            min-height: 44px;
            padding: 0 16px;
            color: var(--ink-soft);
            font-size: 14px;
            font-weight: 650;
            border-radius: 10px;
            transition: .25s ease;
        }
        .nav-list a:hover,
        .nav-list a.active {
            color: var(--teal-deep);
            background: var(--mist);
        }
        .nav-list a.active::after {
            content: "";
            position: absolute;
            left: 16px;
            right: 16px;
            bottom: 5px;
            height: 2px;
            background: var(--orange);
            border-radius: 3px;
        }
        .header-action { display: inline-flex; }
        .menu-toggle {
            display: none;
            width: 44px;
            height: 44px;
            border: 1px solid var(--line);
            border-radius: 10px;
            background: var(--white);
            color: var(--teal-deep);
            cursor: pointer;
        }

        .button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            min-height: 48px;
            padding: 0 21px;
            border: 1px solid transparent;
            border-radius: 10px;
            font-size: 14px;
            font-weight: 750;
            cursor: pointer;
            transition: transform .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease;
        }
        .button:hover { transform: translateY(-2px); }
        .button-primary {
            color: var(--white);
            background: var(--orange);
            box-shadow: 0 8px 20px rgba(216, 117, 66, .2);
        }
        .button-primary:hover { background: var(--orange-dark); box-shadow: 0 12px 25px rgba(216, 117, 66, .27); }
        .button-outline {
            color: var(--teal-deep);
            border-color: #b9c9c1;
            background: transparent;
        }
        .button-outline:hover { border-color: var(--teal); background: var(--mist); }
        .button-light {
            color: var(--teal-deep);
            background: var(--white);
        }

        .page-banner {
            position: relative;
            overflow: hidden;
            padding: 70px 0 76px;
            background:
                linear-gradient(90deg, rgba(23, 61, 55, .96), rgba(23, 61, 55, .78)),
                url("/assets/images/backpic/back-2.webp") center/cover no-repeat;
            color: var(--white);
        }
        .page-banner::after {
            content: "";
            position: absolute;
            width: 330px;
            height: 330px;
            right: -90px;
            top: -130px;
            border: 1px solid rgba(255,255,255,.18);
            border-radius: 50%;
        }
        .breadcrumb {
            position: relative;
            z-index: 1;
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 30px;
            color: rgba(255,255,255,.68);
            font-size: 13px;
        }
        .breadcrumb a:hover { color: var(--white); }
        .banner-grid {
            position: relative;
            z-index: 1;
            display: grid;
            grid-template-columns: minmax(0, 1fr) 330px;
            gap: 60px;
            align-items: end;
        }
        .eyebrow, .section-kicker {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            color: var(--orange);
            font-size: 12px;
            font-weight: 800;
            letter-spacing: .12em;
            text-transform: uppercase;
        }
        .eyebrow::before, .section-kicker::before {
            content: "";
            width: 25px;
            height: 2px;
            background: currentColor;
        }
        h1, h2, h3, p { margin-top: 0; }
        h1 {
            max-width: 780px;
            margin-bottom: 19px;
            font-size: clamp(34px, 5vw, 58px);
            line-height: 1.16;
            letter-spacing: -.055em;
        }
        .banner-copy {
            max-width: 720px;
            margin-bottom: 0;
            color: rgba(255,255,255,.76);
            font-size: 17px;
        }
        .status-panel {
            padding: 22px;
            border: 1px solid rgba(255,255,255,.18);
            border-radius: var(--radius-md);
            background: rgba(255,255,255,.08);
        }
        .status-panel strong {
            display: block;
            margin-bottom: 10px;
            color: var(--white);
            font-size: 16px;
        }
        .status-panel p {
            margin: 0;
            color: rgba(255,255,255,.68);
            font-size: 13px;
            line-height: 1.7;
        }
        .status-line {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 13px;
            color: #e8c39b;
            font-size: 13px;
            font-weight: 700;
        }
        .status-dot {
            width: 8px;
            height: 8px;
            background: #d8a36c;
            border-radius: 50%;
        }

        main section { padding: 92px 0; }
        .section-head {
            display: flex;
            justify-content: space-between;
            align-items: end;
            gap: 30px;
            margin-bottom: 35px;
        }
        .section-head h2 {
            max-width: 660px;
            margin: 10px 0 0;
            font-size: clamp(27px, 3vw, 39px);
            line-height: 1.25;
            letter-spacing: -.045em;
        }
        .section-intro {
            max-width: 520px;
            margin: 0;
            color: var(--ink-soft);
        }

        .feature {
            display: grid;
            grid-template-columns: 1.02fr .98fr;
            min-height: 400px;
            overflow: hidden;
            border: 1px solid var(--line);
            border-radius: var(--radius-lg);
            background: var(--white);
            box-shadow: var(--shadow-soft);
        }
        .feature-image {
            min-height: 400px;
            position: relative;
            background: var(--teal-deep);
        }
        .feature-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            opacity: .82;
        }
        .feature-image::after {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(135deg, rgba(23,61,55,.1), rgba(23,61,55,.72));
        }
        .image-note {
            position: absolute;
            z-index: 1;
            left: 28px;
            bottom: 24px;
            color: rgba(255,255,255,.84);
            font-size: 13px;
        }
        .feature-content {
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding: 48px;
        }
        .tag-row {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-bottom: 20px;
        }
        .tag {
            display: inline-flex;
            align-items: center;
            min-height: 28px;
            padding: 0 10px;
            border-radius: 7px;
            color: var(--teal);
            background: var(--mist);
            font-size: 12px;
            font-weight: 750;
        }
        .tag.warm { color: var(--orange-dark); background: #f9e9dc; }
        .feature h2 {
            margin-bottom: 14px;
            font-size: 31px;
            line-height: 1.3;
            letter-spacing: -.04em;
        }
        .feature-content p { color: var(--ink-soft); }
        .feature-content .button { align-self: flex-start; margin-top: 12px; }

        .browse-bar {
            display: flex;
            align-items: center;
            gap: 12px;
            overflow-x: auto;
            margin-bottom: 30px;
            padding-bottom: 8px;
            scrollbar-width: thin;
        }
        .filter {
            flex: 0 0 auto;
            min-height: 42px;
            padding: 0 16px;
            border: 1px solid var(--line);
            border-radius: 9px;
            color: var(--ink-soft);
            background: var(--white);
            font-size: 13px;
            font-weight: 700;
            cursor: pointer;
            transition: .2s ease;
        }
        .filter:hover, .filter.active {
            color: var(--white);
            border-color: var(--teal);
            background: var(--teal);
        }
        .content-list {
            border-top: 1px solid var(--line);
        }
        .content-item {
            display: grid;
            grid-template-columns: 116px minmax(0, 1fr) auto;
            gap: 25px;
            align-items: center;
            padding: 22px 0;
            border-bottom: 1px solid var(--line);
        }
        .content-thumb {
            width: 116px;
            height: 82px;
            overflow: hidden;
            border-radius: 11px;
            background: var(--cream);
        }
        .content-thumb img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        .content-info h3 {
            margin: 0 0 5px;
            font-size: 18px;
            line-height: 1.4;
        }
        .content-info p {
            max-width: 670px;
            margin: 0;
            color: var(--ink-soft);
            font-size: 14px;
        }
        .content-meta {
            margin-top: 8px;
            color: var(--muted);
            font-size: 12px;
        }
        .text-link {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            color: var(--orange-dark);
            font-size: 13px;
            font-weight: 800;
            white-space: nowrap;
        }
        .text-link::after { content: "→"; transition: transform .2s ease; }
        .text-link:hover::after { transform: translateX(4px); }

        .empty-state {
            display: flex;
            align-items: center;
            gap: 20px;
            margin-top: 30px;
            padding: 22px 25px;
            border: 1px dashed #c4d0c9;
            border-radius: var(--radius-md);
            background: #f6f8f4;
        }
        .empty-icon {
            width: 43px;
            height: 43px;
            flex: 0 0 43px;
            display: grid;
            place-items: center;
            color: var(--teal);
            border-radius: 12px;
            background: var(--mist);
            font-weight: 800;
        }
        .empty-state h3 { margin: 0 0 3px; font-size: 16px; }
        .empty-state p { margin: 0; color: var(--ink-soft); font-size: 13px; }

        .service-section { background: var(--cream); }
        .service-layout {
            display: grid;
            grid-template-columns: .8fr 1.2fr;
            gap: 80px;
            align-items: start;
        }
        .service-layout h2 {
            margin: 10px 0 15px;
            font-size: 35px;
            line-height: 1.25;
            letter-spacing: -.045em;
        }
        .service-layout > div > p { color: var(--ink-soft); }
        .steps { border-top: 1px solid #d8ddd6; }
        .step {
            display: grid;
            grid-template-columns: 54px 1fr;
            gap: 20px;
            padding: 22px 0;
            border-bottom: 1px solid #d8ddd6;
        }
        .step-number {
            color: var(--orange-dark);
            font-size: 14px;
            font-weight: 850;
        }
        .step h3 { margin: 0 0 4px; font-size: 18px; }
        .step p { margin: 0; color: var(--ink-soft); font-size: 14px; }

        .faq-layout {
            display: grid;
            grid-template-columns: .72fr 1.28fr;
            gap: 78px;
        }
        .faq-layout h2 {
            margin: 10px 0 14px;
            font-size: 34px;
            line-height: 1.28;
            letter-spacing: -.045em;
        }
        .faq-layout > div > p { color: var(--ink-soft); }
        .faq-list { border-top: 1px solid var(--line); }
        details { border-bottom: 1px solid var(--line); }
        summary {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 20px;
            min-height: 66px;
            cursor: pointer;
            list-style: none;
            font-weight: 750;
        }
        summary::-webkit-details-marker { display: none; }
        summary::after {
            content: "+";
            color: var(--orange-dark);
            font-size: 23px;
            font-weight: 400;
        }
        details[open] summary::after { content: "−"; }
        details p {
            max-width: 700px;
            margin: -4px 35px 19px 0;
            color: var(--ink-soft);
            font-size: 14px;
        }

        .notice {
            padding: 26px 30px;
            border-left: 4px solid var(--orange);
            border-radius: 0 var(--radius-md) var(--radius-md) 0;
            background: var(--mist);
        }
        .notice h2 { margin: 0 0 8px; font-size: 21px; }
        .notice p { margin: 0; color: var(--ink-soft); font-size: 14px; }

        .closing-cta {
            padding: 65px 0;
            color: var(--white);
            background: var(--teal);
        }
        .cta-inner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 35px;
        }
        .cta-inner h2 {
            margin: 0 0 7px;
            font-size: clamp(25px, 3vw, 35px);
            line-height: 1.3;
            letter-spacing: -.04em;
        }
        .cta-inner p { margin: 0; color: rgba(255,255,255,.72); font-size: 14px; }

        footer {
            padding: 58px 0 25px;
            color: rgba(255,255,255,.72);
            background: #172c28;
        }
        .footer-top {
            display: flex;
            justify-content: space-between;
            gap: 70px;
            padding-bottom: 42px;
        }
        footer .brand { color: var(--white); }
        .footer-brand { max-width: 380px; }
        .footer-brand p { margin: 19px 0 0; font-size: 13px; line-height: 1.8; }
        .footer-nav { display: flex; gap: 80px; }
        .footer-group { display: flex; flex-direction: column; gap: 9px; min-width: 120px; }
        .footer-group h3 {
            margin: 0 0 8px;
            color: var(--white);
            font-size: 14px;
        }
        .footer-group a { font-size: 13px; transition: color .2s ease; }
        .footer-group a:hover { color: #f0ad82; }
        .footer-bottom {
            display: flex;
            justify-content: space-between;
            gap: 20px;
            padding-top: 22px;
            border-top: 1px solid rgba(255,255,255,.13);
            color: rgba(255,255,255,.48);
            font-size: 12px;
        }

        @media (max-width: 900px) {
            .banner-grid, .service-layout, .faq-layout { grid-template-columns: 1fr; gap: 36px; }
            .status-panel { max-width: 430px; }
            .feature { grid-template-columns: 1fr; }
            .feature-image { min-height: 300px; }
            .service-layout { gap: 25px; }
        }
        @media (max-width: 768px) {
            .container { width: min(100% - 34px, var(--container)); }
            .header-inner { min-height: 68px; }
            .header-action { display: none; }
            .menu-toggle { display: block; }
            .nav-list {
                display: none;
                position: absolute;
                top: 68px;
                left: 0;
                right: 0;
                padding: 12px 17px 18px;
                background: var(--paper);
                border-bottom: 1px solid var(--line);
                box-shadow: var(--shadow-soft);
            }
            .nav-list.open { display: block; }
            .nav-list li, .nav-list a { width: 100%; }
            .nav-list a { justify-content: flex-start; }
            .nav-list a.active::after { left: 16px; right: auto; width: 26px; }
            .page-banner { padding: 50px 0 56px; }
            main section { padding: 64px 0; }
            .section-head { display: block; }
            .section-intro { margin-top: 14px; }
            .feature-content { padding: 30px 25px; }
            .content-item { grid-template-columns: 78px minmax(0, 1fr); gap: 16px; }
            .content-thumb { width: 78px; height: 68px; }
            .content-item .text-link { grid-column: 2; }
            .footer-top, .footer-bottom, .cta-inner { display: block; }
            .footer-nav { margin-top: 35px; gap: 45px; }
            .footer-bottom span { display: block; margin-top: 8px; }
            .cta-inner .button { margin-top: 23px; }
        }
        @media (max-width: 480px) {
            h1 { font-size: 35px; }
            .banner-copy { font-size: 15px; }
            .breadcrumb { margin-bottom: 22px; }
            .feature-image { min-height: 220px; }
            .section-head h2, .service-layout h2, .faq-layout h2 { font-size: 28px; }
            .empty-state { align-items: flex-start; padding: 18px; }
            .footer-nav { gap: 25px; }
            .footer-group { min-width: 105px; }
        }
