*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

        :root {
            --gold:       #c2b599;
            --gold-dark:  #a89070;
            --navy:       #2a4466;
            --navy-mid:   #344f78;
            --text:       #1c2535;
            --text-muted: #5a6678;
            --bg:         #F6F4EF;
            --bg-alt:     #EDEBE3;
            --border:     #DDD9D0;
            --font-serif: Georgia, 'Times New Roman', serif;
            --font-sans:  'Helvetica Neue', Arial, sans-serif;
        }

        html { scroll-behavior: smooth; }

        body {
            font-family: var(--font-sans);
            color: var(--text);
            background: var(--bg);
            line-height: 1.7;
            font-size: 16px;
        }

        /* ── Navigation ── */
        nav {
            position: fixed;
            top: 0; left: 0; right: 0;
            z-index: 100;
            background: var(--bg);
            padding: 0 6%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            height: 70px;
            border-bottom: 1px solid var(--border);
        }

        .nav-logo {
            display: flex;
            align-items: center;
            gap: 10px;
            cursor: pointer;
        }

        .nav-logo-text {
            font-family: var(--font-sans);
            font-size: 1rem;
            font-weight: 400;
            letter-spacing: 0.28em;
            color: var(--navy);
            text-transform: uppercase;
            line-height: 1;
        }

        .nav-links {
            display: flex;
            gap: 2.5rem;
            list-style: none;
        }

        .nav-links a {
            color: var(--text-muted);
            text-decoration: none;
            font-size: 0.78rem;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            transition: color 0.2s;
            cursor: pointer;
            padding-bottom: 3px;
            border-bottom: 2px solid transparent;
        }
        .nav-links a:hover { color: var(--navy); }
        .nav-links a.active { color: var(--navy); border-bottom-color: var(--gold); }
        .nav-language { border-left: 1px solid var(--gold); padding-left: 1rem; }
        .nav-links .nav-language a { color: var(--navy); }
        html[lang="nb"] .page-hero { overflow: hidden; }


        /* ── Pages ── */
        .page { padding-top: 70px; min-height: 100vh; }

        /* ── Grain texture (shared by all dark sections) ── */
        .hero::before,
        .page-hero::before,
        .cta-band::before {
            content: '';
            position: absolute;
            inset: 0;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.68' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='320' height='320' filter='url(%23grain)' opacity='0.15'/%3E%3C/svg%3E");
            background-repeat: repeat;
            background-size: 320px 320px;
            pointer-events: none;
            z-index: 0;
        }

        /* ── Hero ── */
        .hero {
            background: var(--navy);
            padding: 96px 6% 88px;
            position: relative;
            overflow: hidden;
        }
        .hero::after {
            content: '';
            position: absolute;
            top: -120px; right: -120px;
            width: 500px; height: 500px;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(194,181,153,0.06) 0%, transparent 68%);
            pointer-events: none;
        }
        .hero-inner { max-width: 780px; position: relative; z-index: 1; }

        .hero-brand {
            display: flex;
            align-items: center;
            gap: 14px;
            margin-bottom: 2.8rem;
        }
        .hero-brand-name {
            font-size: 0.88rem;
            letter-spacing: 0.28em;
            text-transform: uppercase;
            color: rgba(255,255,255,0.9);
            font-weight: 400;
            font-family: var(--font-sans);
        }
        .hero-brand-sub {
            font-size: 0.62rem;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: var(--gold);
            margin-top: 4px;
        }

        .hero-rule {
            width: 48px; height: 1px;
            background: var(--gold);
            margin-bottom: 2rem;
        }

        .hero h1 {
            font-family: var(--font-serif);
            font-size: clamp(2.2rem, 4.5vw, 3.6rem);
            font-weight: normal;
            color: #fff;
            line-height: 1.18;
            margin-bottom: 1.4rem;
        }

        .hero-sub {
            font-size: 1.05rem;
            color: rgba(255,255,255,0.65);
            max-width: 580px;
            line-height: 1.82;
            margin-bottom: 1rem;
        }
        .hero-sub2 {
            font-size: 0.93rem;
            color: rgba(255,255,255,0.5);
            max-width: 560px;
            line-height: 1.8;
            margin-bottom: 2.5rem;
        }

        /* ── Buttons ── */
        .btn {
            display: inline-block;
            padding: 0.82rem 2rem;
            font-size: 0.75rem;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            text-decoration: none;
            border: 1px solid var(--gold);
            color: var(--gold);
            transition: all 0.2s;
            cursor: pointer;
            background: transparent;
            font-family: var(--font-sans);
        }
        .btn:hover { background: var(--gold); color: var(--navy); }

        .btn-filled { background: var(--gold); color: var(--navy); font-weight: 500; }
        .btn-filled:hover { background: #d4c9b2; border-color: #d4c9b2; }

        .btn-navy { border-color: var(--navy); color: var(--navy); background: transparent; }
        .btn-navy:hover { background: var(--navy); color: #fff; }

        .btn + .btn { margin-left: 0.9rem; }

        /* ── Credentials strip ── */
        .credentials-strip {
            background: var(--bg-alt);
            border-bottom: 1px solid var(--border);
            padding: 22px 6%;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 2.2rem;
            flex-wrap: wrap;
        }
        .cred-item { font-size: 0.7rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--text-muted); }
        .cred-dot  { color: var(--gold); font-size: 1.1rem; line-height: 1; }

        /* ── Sections ── */
        section { padding: 80px 6%; }
        .section-inner { max-width: 1080px; margin: 0 auto; }

        .section-label {
            font-size: 0.66rem;
            letter-spacing: 0.26em;
            text-transform: uppercase;
            color: var(--gold-dark);
            margin-bottom: 1rem;
        }

        h2 {
            font-family: var(--font-serif);
            font-size: clamp(1.75rem, 3vw, 2.55rem);
            font-weight: normal;
            color: var(--navy);
            line-height: 1.22;
            margin-bottom: 1.2rem;
        }

        h3 {
            font-family: var(--font-serif);
            font-size: 1.18rem;
            font-weight: normal;
            color: var(--navy);
            margin-bottom: 0.65rem;
        }

        p { margin-bottom: 1rem; color: var(--text); }

        .lead-text { font-size: 1.07rem; line-height: 1.82; color: var(--text); margin-bottom: 1rem; }

        .divider { width: 38px; height: 2px; background: var(--gold); margin: 1.3rem 0; }

        /* ── Services grid ── */
        .services-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 1px;
            margin-top: 3rem;
            background: var(--border);
        }
        .service-card {
            background: var(--bg);
            padding: 2.2rem 1.8rem;
            cursor: pointer;
            transition: background 0.18s;
        }
        .service-card:hover { background: var(--bg-alt); }
        .card-rule { width: 28px; height: 2px; background: var(--gold); margin-bottom: 1.2rem; }
        .service-card h3 { font-size: 1rem; margin-bottom: 0.5rem; }
        .service-card p  { font-size: 0.86rem; color: var(--text-muted); margin: 0; line-height: 1.65; }

        /* ── Why grid ── */
        .why-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
            gap: 2.6rem;
            margin-top: 3rem;
        }
        .why-item h3 { font-size: 0.94rem; letter-spacing: 0.01em; margin-bottom: 0.42rem; }
        .why-item p  { font-size: 0.875rem; }

        /* ── Founder section ── */
        .founder-grid {
            display: grid;
            grid-template-columns: 280px 1fr;
            gap: 4.5rem;
            align-items: start;
        }
        .founder-photo {
            background: var(--bg-alt);
            border: 1px solid var(--border);
            aspect-ratio: 3/4;
            display: flex;
            align-items: center;
            justify-content: center;
            /* ── SWAP IN YOUR PHOTO ──
               Replace this block with:
               <img src="alexander-hallingstad.jpeg" alt="Alexander Hallingstad"
                    style="width:100%;height:100%;object-fit:cover;display:block;">
               and remove the placeholder text below. ── */
        }
        .founder-photo-label {
            font-size: 0.76rem;
            letter-spacing: 0.1em;
            color: var(--text-muted);
            text-align: center;
            padding: 1rem;
        }

        /* ── CTA band ── */
        .cta-band {
            background: var(--navy);
            padding: 80px 6%;
            text-align: center;
            position: relative;
            overflow: hidden;
        }
        .cta-band .section-label,
        .cta-band h2,
        .cta-band > p,
        .cta-band > a { position: relative; z-index: 1; }
        .cta-band .section-label { color: var(--gold); }
        .cta-band h2 { color: #fff; }
        .cta-band > p { color: rgba(255,255,255,0.58); max-width: 500px; margin: 0 auto 2rem; font-size: 0.96rem; }

        /* ── Page hero ── */
        .page-hero {
            background: var(--navy);
            padding: 76px 6% 60px;
            position: relative;
        }
        .page-hero::after {
            content: '';
            position: absolute;
            top: -80px; right: -80px;
            width: 380px; height: 380px;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(194,181,153,0.05) 0%, transparent 68%);
            pointer-events: none;
        }
        .page-hero-inner { max-width: 700px; position: relative; z-index: 1; }
        .page-hero h1 {
            font-family: var(--font-serif);
            font-size: clamp(1.9rem, 3.5vw, 2.9rem);
            font-weight: normal;
            color: #fff;
            line-height: 1.2;
            margin-bottom: 1rem;
        }
        .page-hero p { color: rgba(255,255,255,0.6); font-size: 1rem; max-width: 500px; margin: 0; }

        /* ── About layout ── */
        .about-grid {
            display: grid;
            grid-template-columns: 1fr 1.65fr;
            gap: 5rem;
            align-items: start;
        }
        .portrait-placeholder {
            background: var(--bg-alt);
            border: 1px solid var(--border);
            aspect-ratio: 3/4;
            display: flex;
            align-items: center;
            justify-content: center;
            /* ── SWAP IN YOUR PHOTO ──
               See .founder-photo comment above for instructions. ── */
        }

        /* ── Services list ── */
        .service-block {
            padding: 3.5rem 0;
            border-bottom: 1px solid var(--border);
            max-width: 740px;
        }
        .service-block:first-child { padding-top: 0; }
        .service-block:last-child  { border-bottom: none; }
        .service-block h3  { font-size: 1.28rem; margin-bottom: 0.9rem; }
        .service-block ul  { margin: 0.8rem 0 0 1.2rem; color: var(--text-muted); font-size: 0.9rem; line-height: 2.1; }

        /* ── Contact ── */
        .contact-grid {
            display: grid;
            grid-template-columns: 1fr 1.65fr;
            gap: 5rem;
            align-items: start;
        }
        .contact-info-block { margin-bottom: 2rem; }
        .contact-info-label { font-size: 0.66rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold-dark); margin-bottom: 0.4rem; }
        .contact-info-block a { color: var(--text); text-decoration: none; }
        .contact-info-block a:hover { color: var(--navy); }

        /* ── Form ── */
        .form-group { margin-bottom: 1.4rem; }
        label { display: block; font-size: 0.7rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 0.45rem; }
        input, textarea, select {
            width: 100%;
            padding: 0.82rem 0.95rem;
            border: 1px solid var(--border);
            background: #fff;
            font-family: var(--font-sans);
            font-size: 0.93rem;
            color: var(--text);
            transition: border-color 0.2s;
            outline: none;
            -webkit-appearance: none;
            border-radius: 0;
        }
        input:focus, textarea:focus, select:focus { border-color: var(--navy); }
        textarea { min-height: 128px; resize: vertical; }

        /* ── Footer ── */
        footer {
            background: var(--bg);
            padding: 34px 6%;
            border-top: 1px solid var(--border);
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 1rem;
        }
        .footer-logo { display: flex; align-items: center; gap: 10px; cursor: pointer; }
        .footer-logo-text { font-size: 0.82rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--navy); }
        .footer-copy { font-size: 0.75rem; color: var(--text-muted); }
        .footer-terms-link { font-size: 0.75rem; color: var(--text-muted); text-decoration: none; cursor: pointer; border-bottom: 1px solid transparent; transition: color 0.2s, border-color 0.2s; }
        .footer-terms-link:hover { color: var(--navy); border-bottom-color: var(--gold); }

        /* ── Terms page ── */
        .terms-page { max-width: 740px; margin: 0 auto; padding: 5rem 6% 6rem; }
        .terms-lang-toggle { display: flex; gap: 0.5rem; margin-bottom: 3rem; }
        .terms-lang-btn { font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; padding: 0.35rem 0.9rem; border: 1px solid var(--border); background: transparent; color: var(--text-muted); cursor: pointer; transition: all 0.2s; }
        .terms-lang-btn.active { background: var(--navy); color: #fff; border-color: var(--navy); }
        .terms-content { display: none; }
        .terms-content.active { display: block; }
        .terms-content h1 { font-family: var(--font-serif); font-size: 1.9rem; font-weight: normal; color: var(--navy); margin-bottom: 0.4rem; }
        .terms-content .terms-intro { font-size: 0.85rem; color: var(--text-muted); margin-bottom: 3rem; border-bottom: 1px solid var(--border); padding-bottom: 1.5rem; }
        .terms-section { margin-bottom: 2.2rem; }
        .terms-section h2 { font-family: var(--font-sans); font-size: 0.72rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-dark); margin-bottom: 0.8rem; }
        .terms-section p { font-size: 0.9rem; line-height: 1.8; color: var(--text); margin-bottom: 0.6rem; }
        .terms-footer-note { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--border); font-size: 0.78rem; color: var(--text-muted); }

        /* ── CV section ── */
        .cv-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 4rem; }
        .cv-list { margin-top: 0.5rem; }
        .cv-item { display: grid; grid-template-columns: 90px 1fr; gap: 1.2rem; padding: 1.2rem 0; border-bottom: 1px solid var(--border); }
        .cv-item:last-child { border-bottom: none; }
        .cv-year { font-size: 0.75rem; letter-spacing: 0.08em; color: var(--text-muted); padding-top: 0.15rem; }
        .cv-title { font-size: 0.92rem; font-weight: 600; color: var(--text); margin-bottom: 0.15rem; }
        .cv-org { font-size: 0.85rem; color: var(--navy); }
        .cv-note { font-size: 0.8rem; color: var(--text-muted); margin-top: 0.3rem; line-height: 1.5; }
        @media (max-width: 960px) { .cv-grid { grid-template-columns: 1fr 1fr; gap: 3rem; } }
        @media (max-width: 600px) { .cv-grid { grid-template-columns: 1fr; gap: 3rem; } }


        /* ── Utility ── */
        .bg-alt { background: var(--bg-alt); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
        .eyebrow { font-size: 0.68rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); margin-bottom: 1rem; }

        /* ── Mobile nav ── */
        .nav-toggle { display: none; background: none; border: none; cursor: pointer; padding: 4px; flex-direction: column; gap: 5px; }
        .nav-toggle span { display: block; width: 22px; height: 1.5px; background: var(--navy); }

        /* ── Responsive ── */
        @media (max-width: 900px) {
            .services-grid { grid-template-columns: repeat(2, 1fr); }
            .founder-grid  { grid-template-columns: 1fr; gap: 2.5rem; }
            .founder-photo { aspect-ratio: 4/3; max-width: 320px; }
        }
        @media (max-width: 860px) {
            .about-grid   { grid-template-columns: 1fr; gap: 2.5rem; }
            .contact-grid { grid-template-columns: 1fr; gap: 2.5rem; }
        }
        @media (max-width: 600px) {
            .services-grid { grid-template-columns: 1fr; }
            .nav-toggle    { display: flex; }
            .nav-links {
                display: none;
                position: absolute;
                top: 70px; left: 0; right: 0;
                background: var(--bg);
                border-bottom: 1px solid var(--border);
                flex-direction: column; gap: 0;
            }
            .nav-links.open { display: flex; }
            .nav-links li a { display: block; padding: 0.95rem 6%; border-bottom: 1px solid var(--border); border-left: none; }
            .btn + .btn { margin-left: 0; margin-top: 0.7rem; display: block; }
            section { padding: 60px 6%; }
        }

        /* ── SVG icon helper ── */
        .aurex-icon { flex-shrink: 0; }
    
        .nav-logo, .footer-logo, .service-card { text-decoration: none; }

/* ── Insights library and reusable article layout ── */
#page-insights .page-hero { overflow: hidden; }
.insights-library { max-width: 1080px; }
.insights-intro { max-width: 660px; color: var(--text-muted); }
.insight-card { max-width: 880px; margin-top: 2.8rem; padding: 2.4rem 2.6rem; border: 1px solid var(--border); border-top: 3px solid var(--gold); background: var(--bg-alt); }
.insight-kind { font-size: 0.7rem; letter-spacing: 0.13em; text-transform: uppercase; color: var(--navy); }
.insight-kind span { padding: 0 0.5rem; color: var(--gold-dark); }
.insight-card h3 { font-size: clamp(1.5rem, 2.6vw, 2rem); line-height: 1.35; max-width: 730px; }
.insight-card h3 a { color: inherit; text-decoration: none; }
.insight-card h3 a:hover { text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 5px; }
.insight-card > p:not(.insight-kind) { max-width: 650px; color: var(--text-muted); }
.insight-read { display: inline-block; margin-top: 0.6rem; color: var(--navy); text-decoration: none; border-bottom: 1px solid var(--gold); padding-bottom: 3px; font-size: 0.82rem; }
.insight-read span { padding-left: 0.5rem; }
.article-header { overflow: hidden; }
.article-header .page-hero-inner { max-width: 960px; margin: 0 auto; }
.article-header h1 { font-size: clamp(2rem, 3.6vw, 3.2rem); max-width: 920px; }
.article-back { display: inline-block; color: var(--gold); font-size: 0.75rem; text-decoration: none; border-bottom: 1px solid var(--gold); margin-bottom: 1.8rem; }
.article-header .article-category { margin-bottom: 1.2rem; font-size: 0.7rem; letter-spacing: 0.13em; text-transform: uppercase; color: var(--gold); }
.article-category span { padding: 0 0.5rem; }
.article-layout { display: grid; grid-template-columns: minmax(0, 740px) minmax(0, 240px); gap: 4rem; max-width: 1080px; margin: 0 auto; padding: 4.5rem 0 5rem; }
.article-content { min-width: 0; font-size: 1rem; line-height: 1.85; }
.article-content > p { margin-bottom: 1.35rem; }
.article-content .article-lead { font-size: 1.12rem; line-height: 1.85; }
.article-content h2 { margin: 3.2rem 0 1.2rem; font-size: clamp(1.65rem, 2.5vw, 2.15rem); scroll-margin-top: 100px; }
.article-content h3 { margin: 2rem 0 0.9rem; font-size: 1.3rem; line-height: 1.4; scroll-margin-top: 100px; }
.article-content a:not(.btn) { color: var(--navy); text-decoration-color: var(--gold-dark); text-underline-offset: 3px; }
.article-content a:focus-visible, .insight-card a:focus-visible, .article-toc a:focus-visible { outline: 2px solid var(--navy); outline-offset: 4px; }
.article-toc { align-self: start; position: sticky; top: 100px; border-top: 2px solid var(--gold); padding-top: 1.2rem; }
.article-toc ul { list-style: none; }
.article-toc li { margin-bottom: 0.8rem; }
.article-toc a { color: var(--text-muted); font-size: 0.82rem; line-height: 1.5; text-decoration: none; }
.article-toc a:hover { color: var(--navy); text-decoration: underline; text-decoration-color: var(--gold); }
.article-assistance { margin-top: 3.5rem; border-top: 2px solid var(--gold); padding: 2rem 2.2rem; background: var(--bg-alt); }
.article-assistance h2 { margin-top: 0; }
.article-assistance p { margin-bottom: 1.3rem; }
.article-assistance .btn { margin-top: 0.5rem; }

/* Editorial checklist for considerations within long-form guides. */
.article-checklist { list-style: none; margin: 1.5rem 0; padding: 0.3rem 1.4rem; border-left: 2px solid var(--gold); background: var(--bg-alt); }
.article-checklist li { position: relative; padding: 0.8rem 0 0.8rem 1rem; }
.article-checklist li + li { border-top: 1px solid var(--border); }
.article-checklist li::before { content: ''; position: absolute; left: 0; top: 1.45rem; width: 4px; height: 4px; background: var(--gold-dark); }

/* Reusable long-form lists and horizontally scrollable comparisons. */
.article-list { margin: 1.2rem 0 1.5rem; padding-left: 1.3rem; }
.article-list li { padding-left: 0.3rem; margin-bottom: 0.6rem; }
.article-list li::marker { color: var(--gold-dark); }
.article-table-scroll { overflow-x: auto; margin: 1.8rem 0 2rem; border-top: 2px solid var(--gold); }
.article-table-scroll:focus-visible { outline: 2px solid var(--navy); outline-offset: 4px; }
.article-comparison { width: 100%; min-width: 680px; border-collapse: collapse; font-size: 0.9rem; line-height: 1.65; }
.article-comparison th, .article-comparison td { padding: 1rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--border); }
.article-comparison thead th { background: var(--navy); color: var(--bg); font-weight: normal; font-family: var(--font-serif); font-size: 1rem; }
.article-comparison tbody th { width: 21%; color: var(--navy); font-weight: 600; }
.article-comparison tbody tr:nth-child(odd) { background: var(--bg-alt); }
@media (min-width: 901px) { .article-toc-long { max-height: calc(100vh - 120px); overflow-y: auto; } }

/* Diagram: successful exits remain separate from the optional appeal branch. */
.process-diagram { margin: 1.8rem 0 2rem; padding: 1.6rem 0; }
.process-caption { margin-bottom: 2rem; font-family: var(--font-serif); font-size: 1.1rem; color: var(--navy); }
.process-entry, .process-outcome-list, .process-appeal { list-style: none; margin: 0; padding: 0; }
.process-entry { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
.process-node { padding: 1rem 0.8rem; position: relative; font-family: var(--font-serif); font-size: 1rem; line-height: 1.45; color: var(--navy); text-align: center; }
.process-node small { display: block; margin-top: 0.5rem; font-family: var(--font-sans); font-size: 0.74rem; line-height: 1.55; color: var(--text-muted); }
.process-entry > li:not(:last-child)::after { content: ''; position: absolute; left: 100%; top: 50%; width: 24px; border-top: 1px solid var(--gold-dark); }
.process-entry > li:not(:last-child)::before { content: ''; position: absolute; left: calc(100% + 18px); top: calc(50% - 3px); width: 6px; height: 6px; border-right: 1px solid var(--gold-dark); border-top: 1px solid var(--gold-dark); transform: rotate(45deg); }
.process-response { border-bottom: 1px solid var(--gold); scroll-margin-top: 100px; }
.process-fork { position: relative; height: 42px; }
.process-fork::before { content: ''; position: absolute; right: 16%; top: 0; height: 16px; border-left: 1px solid var(--gold-dark); }
.process-fork span { position: absolute; left: 24%; right: 16%; top: 16px; border-top: 1px solid var(--gold-dark); }
.process-fork span::before, .process-fork span::after { content: ''; position: absolute; top: 0; width: 0; height: 25px; border-left: 1px solid var(--gold-dark); }
.process-fork span::before { left: 0; }
.process-fork span::after { right: 16%; }
.process-branches { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.process-label { margin-bottom: 0.9rem; text-align: center; font-family: var(--font-sans); font-size: 0.65rem; line-height: 1.6; letter-spacing: 0.09em; text-transform: uppercase; color: var(--navy); }
.process-outcomes { padding: 0 1rem; align-self: start; }
.process-success { border-left: 2px solid var(--gold); }
.process-outcome-list li + li { margin-top: 0.8rem; }
.process-loop { border-bottom: 1px dashed var(--gold); }
.process-return { display: block; margin-top: 0.6rem; font-family: var(--font-sans); font-size: 0.74rem; line-height: 1.5; }
.process-return::before { content: '↶ '; }
.process-alternative { text-align: center; padding: 0.55rem 0; font-size: 0.75rem; color: var(--text-muted); }
.process-appeal li + li { margin-top: 25px; }
.process-appeal li:not(:last-child)::after { content: ''; position: absolute; left: 50%; top: 100%; height: 25px; border-left: 1px solid var(--gold-dark); }
.process-appeal li:not(:last-child)::before { content: ''; position: absolute; left: calc(50% - 3px); top: calc(100% + 18px); width: 6px; height: 6px; border-right: 1px solid var(--gold-dark); border-bottom: 1px solid var(--gold-dark); transform: rotate(45deg); }
.process-court { border-bottom: 1px solid var(--gold); }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

@media (max-width: 1200px) { .article-layout { margin: 0 6%; } }
@media (max-width: 900px) {
    .article-layout { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; max-width: 740px; }
    .article-toc { position: static; grid-row: 1; }
    .article-toc ul { display: grid; grid-template-columns: 1fr 1fr; gap: 0.3rem 1.5rem; }
}
/* Five navigation destinations require the compact menu sooner than before. */
@media (max-width: 820px) {
    .nav-toggle { display: flex; }
    .nav-links { display: none; position: absolute; top: 70px; left: 0; right: 0; background: var(--bg); border-bottom: 1px solid var(--border); flex-direction: column; gap: 0; }
    .nav-links.open { display: flex; }
    .nav-links li a { display: block; padding: 0.95rem 6%; border-bottom: 1px solid var(--border); border-left: none; }
}
@media (max-width: 600px) {
    .insight-card { padding: 1.6rem 1.3rem; }
    .article-layout { padding-top: 2.5rem; padding-bottom: 3rem; }
    .article-toc ul { grid-template-columns: 1fr; }
    .article-assistance { padding: 1.6rem 1.2rem; }
    .process-diagram { padding: 1.1rem 0; }
    .process-entry { grid-template-columns: 1fr; }
    .process-entry > li:not(:last-child)::after { left: 50%; top: 100%; width: 0; height: 24px; border-top: 0; border-left: 1px solid var(--gold-dark); }
    .process-entry > li:not(:last-child)::before { left: calc(50% - 3px); top: calc(100% + 17px); border-top: 0; border-bottom: 1px solid var(--gold-dark); }
    .process-fork { height: 28px; }
    .process-fork::before { right: 50%; height: 28px; }
    .process-fork::after { content: ''; position: absolute; left: 0; right: 50%; bottom: 0; border-top: 1px solid var(--gold-dark); }
    .process-fork span { display: none; }
    .process-branches { grid-template-columns: 1fr; gap: 2rem; border-left: 1px solid var(--gold-dark); padding-left: 1rem; }
    .process-outcomes, .process-continuation { position: relative; }
    .process-outcomes::before, .process-continuation::before { content: ''; position: absolute; left: -1rem; top: 1.2rem; width: 1rem; border-top: 1px solid var(--gold-dark); }
}

        @media (max-width: 1060px) {
            .nav-toggle { display: flex; }
            .nav-links { display: none; position: absolute; top: 70px; left: 0; right: 0; background: var(--bg); border-bottom: 1px solid var(--border); flex-direction: column; gap: 0; }
            .nav-links.open { display: flex; }
            .nav-links li a { display: block; padding: 0.95rem 6%; border-bottom: 1px solid var(--border); border-left: none; }
            .nav-language { border-left: 0; padding-left: 0; }
        }
