/* ==========================================================================
   PAGES.CSS
   Brand:Gold Sawmill Ventures Inc. / Gran Linea Bebidas
   Location:1330 San Antonio Ave, Douglas, AZ 85607
   Niche:Retail Liquor Store & Arizona DLLC Series 9 Licence Compliance
   Engineering / Technical High-Contrast Editorial Design System
   
   TABLE OF CONTENTS:
   1. Page Hero & Editorial Headers
   2. Modular Front-Page Grid & Editorial Story Tiles
   3. Stages on a Drawn Line (Page Spines & Node Variations)
   4. Catalogue Architecture (Retail Provisions & Inventory)
   5. Licensing Architecture (Series 9 Acquisition & Annual Renewals)
   6. Operations & Governance (About Page Specs & 401(k) Records)
   7. Contact Desk & Dispatch Architecture (Location & Inquiry)
   8. Legal Architecture 1: Reading Column with Margin Notes (privacy.html)
   9. Legal Architecture 2: Tabbed Parts & Data Tables (cookies.html)
   10. Legal Architecture 3: Framed Document Card (terms.html)
   11. Diagnostic Error Terminal (404.html)
   12. Technical FAQ Accordions & Supplementary Controls
   13. Responsive Breakpoints & Device Verification (320px - 1920px)
   ========================================================================== */

.page-header {
   border-bottom:2px solid var(--ink);
   background-color:var(--ground);
   padding:var(--space-xl) 0 var(--space-lg);
   position:relative;
}

@media (max-width: 480px) {
   .page-header { padding-top:calc(var(--space-xl) + 1.5rem); }
}

.page-header-strip {
   display:flex;
   align-items:center;
   justify-content:space-between;
   gap:var(--space-sm);
   padding-bottom:var(--space-sm);
   margin-bottom:var(--space-md);
   border-bottom:1px solid var(--rule);
   flex-wrap:wrap;
}

@media (max-width: 480px) {
   .inquiry-terminal form button[type='submit'].btn-primary.btn-lg {
      width:100%;
      white-space:normal;
      padding:0.75rem 0.5rem;
   }
}

.page-header-coords {
   font-family:var(--rolu-c3c);
   font-size:var(--text-2xs);
   color:var(--muted);
   letter-spacing:var(--tracking-mono);
   display:flex;
   align-items:center;
   flex-wrap:wrap;
   gap:var(--space-xs);
}

.page-header-coords > * { min-width:0; }

.page-header-coords .signal-point {
   color:var(--signal);
   font-weight:700;
}

.page-header-meta {
   font-family:var(--rolu-c3c);
   font-size:var(--text-2xs);
   color:var(--ink);
   background-color:var(--surface);
   border:1px solid var(--rule);
   padding:0.25rem 0.65rem;
   display:inline-flex;
   align-items:center;
   gap:0.4rem;
}

.page-title {
   font-size:var(--text-display);
   line-height:var(--leading-tight);
   letter-spacing:-0.035em;
   margin-bottom:var(--space-sm);
   max-width:24ch;
}

.page-lead {
   font-size:var(--text-lg);
   line-height:var(--leading-snug);
   color:var(--ink);
   max-width:var(--shell-prose);
   text-wrap:pretty;
   font-weight:400;
}

.page-stats-bar {
   display:grid;
   grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
   gap:var(--space-md);
   margin-top:var(--space-lg);
   padding-top:var(--space-md);
   border-top:1px solid var(--rule);
}

.stat-metric {
   display:flex;
   flex-direction:column;
   gap:0.25rem;
}

.stat-label {
   font-family:var(--rolu-c3c);
   font-size:var(--text-2xs);
   color:var(--muted);

   text-transform:uppercase;
   letter-spacing:var(--tracking-mono);
}

.stat-value {
   font-family:var(--rolu-c3c);
   font-size:var(--text-xl);
   font-weight:700;
   color:var(--ink);
}

.stat-value.signal { color:var(--signal); }

.front-modular-section {
   padding:var(--space-2xl) 0;
   background-color:var(--ground);
   border-bottom:2px solid var(--ink);
}

.lead-story-tile {
   background-color:#fff;
   border:2px solid var(--ink);
   display:grid;
   grid-template-columns:1.25fr 1fr;
   align-items:stretch;
   position:relative;
   box-shadow:4px 4px 0 var(--ink);
   margin-bottom:var(--space-lg);
}

.lead-story-figure {
   margin:0;
   position:relative;
   background-color:var(--surface);
   border-right:1.5px solid var(--ink);
   overflow:hidden;

}

.lead-story-figure img {
   width:100%;
   height:100%;
   object-fit:cover;
   display:block;
}

.lead-story-content {
   padding:var(--space-xl);
   display:flex;
   flex-direction:column;
   justify-content:space-between;
   gap:var(--space-md);
}

.lead-story-header {
   display:flex;
   flex-direction:column;
   gap:var(--space-xs);

}

.lead-story-tag {
   font-family:var(--rolu-c3c);
   font-size:var(--text-2xs);
   font-weight:700;
   color:var(--signal);
   letter-spacing:var(--tracking-mono);
   text-transform:uppercase;
}

.lead-story-title {
   font-size:var(--text-2xl);
   line-height:var(--leading-tight);
}

.lead-story-copy {
   font-size:var(--text-base);
   line-height:var(--leading-normal);
   color:var(--ink);
}

.lead-story-footer {
   padding-top:var(--space-md);
   border-top:1px solid var(--rule);
   display:flex;
   justify-content:space-between;
   align-items:center;
   flex-wrap:wrap;
   gap:var(--space-sm);
}

.lead-story-specs {
   font-family:var(--rolu-c3c);
   font-size:var(--text-xs);
   color:var(--muted);
}

/* Secondary Editorial Tiles */
.secondary-story-tile {
   background-color:#fff;
   border:1.5px solid var(--ink);
   display:flex;
   flex-direction:column;
   height:100%;
   transition:transform var(--duration-fast) var(--ease-spring),
                     box-shadow var(--duration-fast) var(--ease-out);
}

.secondary-story-tile:hover {
   transform:translateY(-2px);
   box-shadow:4px 4px 0 var(--ink);
}

.secondary-story-figure {
   margin:0;
   border-bottom:1px solid var(--ink);
   position:relative;
   aspect-ratio:16 / 10;
   overflow:hidden;
   background-color:var(--surface);
}

.secondary-story-figure img {
   width:100%;
   height:100%;
   object-fit:cover;
}

.secondary-story-body {
   padding:var(--space-md);
   display:flex;
   flex-direction:column;
   flex-grow:1;
   gap:var(--space-xs);
}

.secondary-story-title {
   font-size:var(--text-lg);
   line-height:var(--leading-tight);
}

.secondary-story-copy {
   font-size:var(--text-sm);
   color:var(--ink);
   line-height:var(--leading-normal);
   flex-grow:1;
}

.secondary-story-meta {
   margin-top:var(--space-sm);
   padding-top:var(--space-xs);
   border-top:1px solid var(--rule);
   display:flex;
   justify-content:space-between;
   align-items:center;
   font-family:var(--rolu-c3c);
   font-size:var(--text-xs);
}

.secondary-story-price {
   font-weight:700;
   color:var(--signal);
}

/* Front-Page Technical Rail Components */
.rail-card {
   background-color:#fff;
   border:1px solid var(--rule);
   padding:var(--space-sm) var(--space-md);
   display:flex;
   flex-direction:column;
   gap:0.35rem;
}

.rail-card-label {
   font-family:var(--rolu-c3c);
   font-size:var(--text-2xs);
   color:var(--muted);
   text-transform:uppercase;
   letter-spacing:var(--tracking-mono);
}

.rail-card-title {
   font-family:var(--rolu-8b2);
   font-size:var(--text-sm);
   font-weight:700;
   color:var(--ink);
}

.rail-card-text {
   font-size:var(--text-xs);
   color:var(--ink);
   line-height:1.45;
}

.rail-pill-list {
   display:flex;
   flex-wrap:wrap;
   gap:0.35rem;
   margin-top:0.35rem;
}

.rail-pill {
   font-family:var(--rolu-c3c);
   font-size:var(--text-2xs);
   padding:0.15rem 0.45rem;
   background-color:var(--surface);
   border:1px solid var(--rule);
   color:var(--ink);
}

.drawn-section {
   padding:var(--space-3xl) 0;
   background-color:var(--ground);
   border-bottom:2px solid var(--ink);
   position:relative;
}

.drawn-section-header {
   margin-bottom:var(--space-2xl);
   padding-bottom:var(--space-md);
   border-bottom:2px solid var(--ink);
   display:flex;
   justify-content:space-between;
   align-items:flex-end;
   gap:var(--space-md);
   flex-wrap:wrap;
}

.drawn-section-title {
   font-size:var(--text-3xl);
   max-width:22ch;
}

.drawn-section-desc {
   font-size:var(--text-base);
   color:var(--muted);
   max-width:50ch;
   line-height:var(--leading-normal);
}

.line-container {
   position:relative;
   padding-left:3rem;
}

.line-container::before {
   content:"";
   position:absolute;
   top:1rem;
   bottom:1rem;
   left:20px;
   width:2px;
   background-color:var(--ink);
   z-index:var(--z-base);
}

.line-node {
   position:relative;
   margin-bottom:var(--space-2xl);
}

.line-node:last-child { margin-bottom:0; }

.line-node-marker {
   position:absolute;
   left:-3rem;
   top:0;
   width:42px;
   height:42px;
   background-color:#fff;
   border:2px solid var(--ink);
   display:flex;
   align-items:center;
   justify-content:center;
   z-index:var(--z-above);
   box-shadow:2px 2px 0 var(--ink);
   transition:background-color var(--duration-fast) var(--ease-out),
                     border-color var(--duration-fast) var(--ease-out),
                     color var(--duration-fast) var(--ease-out);
}

.line-node:hover .line-node-marker {
   background-color:var(--signal);
   border-color:var(--signal);
   color:#fff;
}

.line-node-marker .icon {
   width:1.15rem;
   height:1.15rem;
}

.line-node-card {
   background-color:#fff;
   border:1.5px solid var(--ink);
   padding:var(--space-lg);
   position:relative;
   box-shadow:3px 3px 0 var(--rule);
   transition:border-color var(--duration-fast) var(--ease-out),
                     box-shadow var(--duration-fast) var(--ease-out);
}

.line-node:hover .line-node-card {
   border-color:var(--ink);
   box-shadow:4px 4px 0 var(--ink);
}

.line-node-meta {
   display:flex;
   justify-content:space-between;
   align-items:center;
   gap:var(--space-xs);
   padding-bottom:var(--space-xs);
   margin-bottom:var(--space-sm);
   border-bottom:1px solid var(--rule);
   font-family:var(--rolu-c3c);
   font-size:var(--text-2xs);
   color:var(--muted);
   letter-spacing:var(--tracking-mono);
   text-transform:uppercase;
}

.line-node-heading {
   font-size:var(--text-xl);
   line-height:var(--leading-tight);
   margin-bottom:var(--space-xs);
}

/* Node Shape A: Short Crisp Sentence / Editorial Statement */
.node-shape-statement {
   font-size:var(--text-md);
   line-height:var(--leading-snug);
   color:var(--ink);
   font-weight:500;
   border-left:3px solid var(--signal);
   padding-left:var(--space-sm);
   background-color:var(--surface);
   padding-top:var(--space-xs);
   padding-bottom:var(--space-xs);
}

/* Node Shape B: Small Tabular Spec Grid */
.node-shape-specs {
   display:grid;
   grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
   gap:var(--space-xs);
   margin-top:var(--space-xs);
}

.node-spec-cell {
   background-color:var(--surface);
   border:1px solid var(--rule);
   padding:var(--space-xs) var(--space-sm);
   display:flex;
   flex-direction:column;
   gap:0.2rem;
}

.node-spec-key {
   font-family:var(--rolu-c3c);
   font-size:var(--text-2xs);
   color:var(--muted);
   text-transform:uppercase;
}

.node-spec-val {
   font-family:var(--rolu-c3c);
   font-size:var(--text-xs);
   font-weight:600;
   color:var(--ink);
}

/* Node Shape C: Curated Photograph with Precision Caption */
.node-shape-photo {
   margin-top:var(--space-sm);
   border:1.5px solid var(--ink);
   overflow:hidden;
}

.node-shape-photo img {
   width:100%;
   aspect-ratio:16 / 9;
   object-fit:cover;
   display:block;
}

.node-photo-caption {
   padding:0.55rem 0.85rem;
   background-color:var(--surface);
   border-top:1px solid var(--ink);
   display:flex;
   justify-content:space-between;
   align-items:center;
   flex-wrap:wrap;
   gap:var(--space-xs);
   font-family:var(--rolu-c3c);
   font-size:var(--text-xs);
   color:var(--ink);
}

.catalogue-control-bar {
   background-color:var(--surface);
   border-bottom:1.5px solid var(--ink);
   padding:var(--space-sm) 0;
   position:sticky;
   top:0;
   z-index:var(--z-above);
}

.catalogue-tabs {
   display:flex;
   gap:var(--space-xs);
   overflow-x:auto;
   scrollbar-width:none;
   -webkit-overflow-scrolling:touch;
}

.catalogue-tabs::-webkit-scrollbar { display:none; }

.cat-filter-btn {
   padding:0.45rem 0.85rem;
   min-height:38px;
   font-family:var(--rolu-c3c);
   font-size:var(--text-xs);
   font-weight:600;
   text-transform:uppercase;
   letter-spacing:var(--tracking-mono);
   background-color:#fff;
   border:1.5px solid var(--rule);
   color:var(--ink);
   cursor:pointer;
   white-space:nowrap;
   transition:background-color var(--duration-fast) var(--ease-out),
                     border-color var(--duration-fast) var(--ease-out),
                     color var(--duration-fast) var(--ease-out);
}

.cat-filter-btn:hover {
   border-color:var(--ink);
   background-color:var(--surface);
}

.cat-filter-btn:active { background-color:#e2e5ea; }

.cat-filter-btn.is-active {
   background-color:var(--ink);
   color:#fff;
   border-color:var(--ink);
}

.cat-filter-btn:focus-visible {
   outline:2px solid var(--signal);
   outline-offset:2px;
}

.catalogue-grid {
   display:grid;
   grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));
   gap:var(--space-lg);
   padding:var(--space-2xl) 0;
}

.catalogue-card {
   background-color:#fff;
   border:1.5px solid var(--ink);
   display:flex;
   flex-direction:column;
   position:relative;
   transition:transform var(--duration-fast) var(--ease-spring),
                     box-shadow var(--duration-fast) var(--ease-out);
}

.catalogue-card:hover {
   transform:translateY(-3px);
   box-shadow:4px 4px 0 var(--ink);
}

.catalogue-card-figure {
   margin:0;
   position:relative;
   aspect-ratio:4 / 3;
   overflow:hidden;
   border-bottom:1.5px solid var(--ink);
   background-color:var(--surface);
}

.catalogue-card-figure img {
   width:100%;
   height:100%;
   object-fit:cover;
   display:block;
}

.catalogue-badge-overlay {
   position:absolute;
   top:var(--space-xs);
   left:var(--space-xs);
   background-color:var(--ink);
   color:#fff;
   padding:0.2rem 0.5rem;
   font-family:var(--rolu-c3c);
   font-size:var(--text-2xs);
   font-weight:600;
   text-transform:uppercase;
   border:1px solid var(--ground);
}

.catalogue-card-body {
   padding:var(--space-md);
   display:flex;
   flex-direction:column;
   flex-grow:1;
   gap:var(--space-xs);
}

.catalogue-card-title {
   font-size:var(--text-lg);
   line-height:var(--leading-tight);
}

.catalogue-card-desc {
   font-size:var(--text-sm);
   color:var(--ink);
   line-height:var(--leading-normal);
   margin-bottom:var(--space-xs);
}

.catalogue-specs-matrix {
   border:1px solid var(--rule);
   background-color:var(--surface);
   margin:var(--space-xs) 0;
   font-family:var(--rolu-c3c);
   font-size:var(--text-2xs);
}

.cat-spec-row {
   display:flex;
   justify-content:space-between;
   padding:0.35rem 0.55rem;
   border-bottom:1px solid var(--rule);
}

.cat-spec-row:last-child { border-bottom:none; }

.cat-spec-key {
   color:var(--muted);
   text-transform:uppercase;
}

.cat-spec-val {
   font-weight:600;
   color:var(--ink);
}

.catalogue-card-footer {
   padding:var(--space-sm) var(--space-md);
   border-top:1.5px solid var(--ink);
   background-color:var(--ground);
   display:flex;
   justify-content:space-between;
   align-items:center;
   gap:var(--space-xs);
   flex-wrap:wrap;
}

.catalogue-card-price {
   font-family:var(--rolu-c3c);
   font-size:var(--text-sm);
   font-weight:700;
   color:var(--signal);
}

.licensing-grid {
   display:grid;
   grid-template-columns:repeat(2, 1fr);
   gap:var(--space-xl);
   margin:var(--space-2xl) 0;
}

.licence-offer-card {
   background-color:#fff;
   border:2px solid var(--ink);
   padding:var(--space-xl);
   position:relative;
   box-shadow:4px 4px 0 var(--ink);
   display:flex;
   flex-direction:column;
}

.licence-offer-card.featured {
   border-color:var(--signal);
   box-shadow:4px 4px 0 var(--signal);
}

.licence-offer-header {
   border-bottom:2px solid var(--ink);
   padding-bottom:var(--space-md);
   margin-bottom:var(--space-md);
}

.licence-offer-card.featured .licence-offer-header { border-bottom-color:var(--signal); }

.licence-category-tag {
   font-family:var(--rolu-c3c);
   font-size:var(--text-2xs);
   font-weight:700;
   color:var(--signal);
   text-transform:uppercase;
   letter-spacing:var(--tracking-mono);
}

.licence-offer-title {
   font-size:var(--text-2xl);
   line-height:var(--leading-tight);
   margin:var(--space-2xs) 0;
}

.licence-price-box {
   background-color:var(--surface);
   border:1px solid var(--rule);
   padding:var(--space-sm) var(--space-md);
   margin:var(--space-md) 0;
}

.licence-price-figure {
   font-family:var(--rolu-c3c);
   font-size:var(--text-2xl);
   font-weight:700;
   color:var(--ink);
}

.licence-price-figure.signal { color:var(--signal); }

.licence-price-note {
   font-family:var(--rolu-c3c);
   font-size:var(--text-xs);
   color:var(--muted);
   margin-top:0.2rem;
}

.licence-features-list {
   list-style:none;
   padding:0;
   margin:var(--space-md) 0;
   display:flex;
   flex-direction:column;
   gap:0.55rem;
   flex-grow:1;
}

.licence-features-list li {
   font-size:var(--text-sm);
   display:flex;
   align-items:flex-start;
   gap:0.45rem;
   line-height:1.4;
}

.licence-features-list .icon {
   color:var(--signal);
   margin-top:0.15rem;
   flex-shrink:0;
}

.quota-status-banner {
   background-color:var(--surface);
   border:2px solid var(--ink);
   padding:var(--space-md) var(--space-lg);
   margin:var(--space-xl) 0;
   display:flex;
   justify-content:space-between;
   align-items:center;
   flex-wrap:wrap;
   gap:var(--space-md);
}

.quota-status-content {
   display:flex;
   align-items:center;
   gap:var(--space-sm);
}

.quota-status-content .icon {
   width:2rem;
   height:2rem;
   color:var(--signal);
   flex-shrink:0;
}

.quota-text-title {
   font-family:var(--rolu-8b2);
   font-size:var(--text-base);
   font-weight:700;
}

.quota-text-desc {
   font-size:var(--text-xs);
   color:var(--muted);
   font-family:var(--rolu-c3c);
}

.about-hero-grid {
   display:grid;
   grid-template-columns:1.25fr 1fr;
   gap:var(--space-xl);
   align-items:center;
   padding:var(--space-2xl) 0;
   border-bottom:2px solid var(--ink);
}

.corporate-ledger-card {
   background-color:var(--surface);
   border:2px solid var(--ink);
   padding:var(--space-lg);
   box-shadow:4px 4px 0 var(--ink);
}

.ledger-header {
   border-bottom:1.5px solid var(--ink);
   padding-bottom:var(--space-xs);
   margin-bottom:var(--space-sm);
   display:flex;
   justify-content:space-between;
   align-items:center;
}

.ledger-title {
   font-family:var(--rolu-c3c);
   font-size:var(--text-xs);
   font-weight:700;
   text-transform:uppercase;
   letter-spacing:var(--tracking-mono);
   color:var(--ink);
}

.ledger-row {
   display:grid;
   grid-template-columns:140px 1fr;
   gap:var(--space-sm);
   padding:0.55rem 0;
   border-bottom:1px solid var(--rule);
   font-size:var(--text-xs);
}

@media (max-width: 480px) {
   .ledger-row {
      grid-template-columns:1fr;
      gap:0.2rem;
   }
}

.ledger-row:last-child { border-bottom:none; }

.ledger-label {
   font-family:var(--rolu-c3c);
   color:var(--muted);
   text-transform:uppercase;
}

.ledger-value {
   font-family:var(--rolu-c3c);
   font-weight:600;
   color:var(--ink);
}

.manager-profile-block {
   background-color:#fff;
   border:1.5px solid var(--ink);
   padding:var(--space-xl);
   margin:var(--space-2xl) 0;
   display:grid;
   grid-template-columns:1fr 1.5fr;
   gap:var(--space-xl);
   align-items:center;
}

.manager-figure {
   margin:0;
   border:1.5px solid var(--ink);
   background-color:var(--surface);
}

.manager-figure img {
   width:100%;
   aspect-ratio:4 / 3;
   object-fit:cover;
   display:block;
}

.manager-bio-header {
   display:flex;
   flex-direction:column;
   gap:0.25rem;
   margin-bottom:var(--space-sm);
   border-bottom:1px solid var(--rule);
   padding-bottom:var(--space-xs);
}

.manager-tenure-tag {
   font-family:var(--rolu-c3c);
   font-size:var(--text-2xs);
   font-weight:700;
   color:var(--signal);
   letter-spacing:var(--tracking-mono);
   text-transform:uppercase;
}

.contact-split-grid {
   display:grid;
   grid-template-columns:1fr 1.25fr;
   gap:var(--space-2xl);
   padding:var(--space-2xl) 0;
}

.trade-location-box {
   background-color:var(--surface);
   border:2px solid var(--ink);
   padding:var(--space-xl);
   display:flex;
   flex-direction:column;
   gap:var(--space-lg);
}

.contact-fact-group {
   display:flex;
   flex-direction:column;
   gap:0.35rem;
}

.contact-fact-label {
   font-family:var(--rolu-c3c);
   font-size:var(--text-2xs);
   font-weight:700;
   text-transform:uppercase;
   color:var(--signal);
   letter-spacing:var(--tracking-mono);
}

.contact-fact-value {
   font-family:var(--rolu-c3c);
   font-size:var(--text-base);
   font-weight:600;
   color:var(--ink);
   line-height:var(--leading-snug);
}

.contact-fact-value a {
   text-decoration:none;
   color:var(--ink);
}

.contact-fact-value a:hover { color:var(--signal); }

.hours-table {
   width:100%;
   border-collapse:collapse;
   font-family:var(--rolu-c3c);
   font-size:var(--text-xs);
   margin-top:0.35rem;
}

.hours-table td {
   padding:0.35rem 0;
   border-bottom:1px solid var(--rule);
}

.hours-table tr:last-child td { border-bottom:none; }

.no-map-notice {
   background-color:#fff;
   border:1px solid var(--rule);
   padding:var(--space-sm);
   font-family:var(--rolu-c3c);
   font-size:var(--text-2xs);
   color:var(--muted);
   line-height:1.45;
}

.no-map-notice a {
   color:var(--ink);
   font-weight:600;
}

.legal-margin-layout {
   padding:var(--space-2xl) 0;
   display:flex;
   flex-direction:column;
   gap:var(--space-2xl);
}

.margin-section {
   border-bottom:1.5px solid var(--rule);
   padding-bottom:var(--space-2xl);
}

.margin-section:last-child {
   border-bottom:none;
   padding-bottom:0;
}

.margin-section-heading {
   font-size:var(--text-2xl);
   margin-bottom:var(--space-md);
   padding-bottom:var(--space-xs);
   border-bottom:2px solid var(--ink);
}

.margin-paired-block {
   display:grid;
   grid-template-columns:2fr 1fr;
   gap:var(--space-xl);
   align-items:start;
   margin-bottom:var(--space-lg);
}

.margin-paired-block:last-child { margin-bottom:0; }

.legal-reading-col {
   font-size:var(--text-base);
   line-height:var(--leading-normal);
   color:var(--ink);
}

.legal-reading-col p { margin-bottom:var(--space-sm); }

.legal-margin-col { position:relative; }

.margin-note {
   background-color:var(--surface);
   border-left:3px solid var(--signal);
   border-top:1px solid var(--rule);
   border-right:1px solid var(--rule);
   border-bottom:1px solid var(--rule);
   padding:var(--space-sm);
   font-family:var(--rolu-c3c);
   font-size:var(--text-xs);
   line-height:var(--leading-snug);
   color:var(--ink);
}

.margin-note-tag {
   font-size:var(--text-2xs);
   font-weight:700;
   text-transform:uppercase;
   color:var(--signal);
   letter-spacing:var(--tracking-mono);
   display:block;
   margin-bottom:0.25rem;
}

.margin-note-meta {
   color:var(--muted);
   font-size:var(--text-2xs);
   margin-top:0.35rem;
   border-top:1px dashed var(--rule);
   padding-top:0.25rem;
}

/* Inline aside fallback for mobile viewports (hidden on desktop) */
.margin-note-inline { display:none; }

.tabbed-legal-layout { padding:var(--space-2xl) 0; }

.tabbed-container {
   border:2px solid var(--ink);
   background-color:#fff;
   box-shadow:4px 4px 0 var(--ink);
}

.tab-nav-bar {
   display:flex;
   background-color:var(--surface);
   border-bottom:2px solid var(--ink);
   overflow-x:auto;
   scrollbar-width:none;
   -webkit-overflow-scrolling:touch;
}

.tab-nav-bar::-webkit-scrollbar { display:none; }

.tab-trigger {
   padding:var(--space-md) var(--space-lg);
   font-family:var(--rolu-c3c);
   font-size:var(--text-xs);
   font-weight:600;
   text-transform:uppercase;
   letter-spacing:var(--tracking-mono);
   background:var(--surface);
   border:none;
   border-right:1px solid var(--rule);
   border-bottom:3px solid transparent;
   color:var(--ink);
   cursor:pointer;
   white-space:nowrap;
   min-height:48px;
   display:inline-flex;
   align-items:center;
   gap:var(--space-2xs);
   transition:background-color var(--duration-fast) var(--ease-out),
                     color var(--duration-fast) var(--ease-out),
                     box-shadow var(--duration-fast) var(--ease-out),
                     border-bottom-color var(--duration-fast) var(--ease-out);
}

.tab-trigger:hover {
   background-color:#fff;
   color:var(--signal);
   border-bottom-color:var(--signal);
   box-shadow:inset 0 -3px 0 var(--signal);
}

.tab-trigger:active {
   background-color:#e2e5ea;
   color:var(--signal-active);
   box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15);
}

.tab-trigger[aria-selected='true'] {
   background-color:#fff;
   color:var(--signal);
   border-bottom-color:var(--signal);
   font-weight:700;
   box-shadow:none;
}

.tab-trigger:focus-visible {
   outline:2px solid var(--signal);
   outline-offset:-2px;
}

.tab-panel {
   padding:var(--space-xl);
   display:none;
}

.tab-panel.is-active,
.tab-panel[aria-hidden='false'] { display:block; }

.tab-panel-title {
   font-size:var(--text-2xl);
   line-height:var(--leading-tight);
   margin-bottom:var(--space-sm);
   padding-bottom:var(--space-xs);
   border-bottom:1.5px solid var(--rule);
}

.tab-panel-prose {
   font-size:var(--text-base);
   line-height:var(--leading-normal);
   max-width:var(--shell-prose);
   margin-bottom:var(--space-lg);
}

.telemetry-matrix {
   border:1.5px solid var(--ink);
   background-color:var(--surface);
   margin:var(--space-lg) 0;
   padding:var(--space-md);
}

.telemetry-matrix-header {
   font-family:var(--rolu-c3c);
   font-size:var(--text-xs);
   font-weight:700;
   text-transform:uppercase;
   margin-bottom:var(--space-sm);
   color:var(--ink);
   display:flex;
   align-items:center;
   gap:var(--space-xs);
}

.telemetry-matrix-header .icon { color:var(--signal); }

.framed-doc-wrapper {
   padding:var(--space-3xl) 0;
   background-color:var(--surface);
}

.framed-doc-card {
   max-width:920px;
   margin:0 auto;
   background-color:#fff;
   border:1.5px solid var(--ink);
   box-shadow:0 4px 20px rgba(17, 19, 21, 0.08), 4px 4px 0 var(--ink);
   padding:clamp(1.5rem, 1rem + 3vw, 4rem);
   position:relative;
}

.doc-masthead {
   border-bottom:2px solid var(--ink);
   padding-bottom:var(--space-lg);
   margin-bottom:var(--space-2xl);
   display:flex;
   flex-direction:column;
   gap:var(--space-xs);
}

.doc-series-badge {
   font-family:var(--rolu-c3c);
   font-size:var(--text-2xs);
   font-weight:700;
   color:var(--signal);
   letter-spacing:var(--tracking-mono);
   text-transform:uppercase;
}

.doc-title {
   font-size:var(--text-3xl);
   line-height:var(--leading-tight);
}

.doc-meta-grid {
   display:grid;
   grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
   gap:var(--space-sm);
   margin-top:var(--space-sm);
   padding-top:var(--space-sm);
   border-top:1px solid var(--rule);
   font-family:var(--rolu-c3c);
   font-size:var(--text-2xs);
   color:var(--muted);
}

.doc-meta-item strong {
   display:block;
   color:var(--ink);
}

.doc-clause {
   margin-bottom:var(--space-2xl);
   padding-bottom:var(--space-xl);
   border-bottom:1px solid var(--rule);
}

.doc-clause:last-child {
   margin-bottom:0;
   padding-bottom:0;
   border-bottom:none;
}

.doc-clause-heading {
   font-family:var(--rolu-c3c);
   font-size:var(--text-md);
   font-weight:700;
   text-transform:uppercase;
   letter-spacing:var(--tracking-mono);
   color:var(--ink);
   margin-bottom:var(--space-sm);
   display:flex;
   align-items:baseline;
   gap:var(--space-xs);
}

.doc-clause-num { color:var(--signal); }

.doc-gabuaf8 {
   font-size:var(--text-base);
   line-height:var(--leading-normal);
   color:var(--ink);
}

.doc-gabuaf8 p { margin-bottom:var(--space-sm); }

.doc-clause-callout {
   background-color:var(--surface);
   border-left:3px solid var(--signal);
   padding:var(--space-md);
   margin:var(--space-md) 0;
   font-size:var(--text-sm);
   line-height:var(--leading-normal);
}

.diagnostic-terminal {
   padding:var(--space-3xl) 0;
   max-width:800px;
   margin:0 auto;
}

.diagnostic-box {
   background-color:#fff;
   border:2px solid var(--ink);
   box-shadow:6px 6px 0 var(--signal);
   padding:var(--space-2xl);
}

.diagnostic-header {
   border-bottom:2px solid var(--ink);
   padding-bottom:var(--space-sm);
   margin-bottom:var(--space-md);
   display:flex;
   justify-content:space-between;
   align-items:center;
   font-family:var(--rolu-c3c);
   font-size:var(--text-xs);
   color:var(--signal);
   font-weight:700;
}

.diagnostic-code {
   font-family:var(--rolu-c3c);
   font-size:clamp(3rem, 2rem + 4vw, 5.5rem);
   font-weight:700;
   color:var(--ink);
   line-height:1;
   margin-bottom:var(--space-xs);
}

.diagnostic-message {
   font-size:var(--text-lg);
   line-height:var(--leading-snug);
   margin-bottom:var(--space-md);
}

.diagnostic-log {
   background-color:var(--surface);
   border:1px solid var(--rule);
   padding:var(--space-md);
   font-family:var(--rolu-c3c);
   font-size:var(--text-xs);
   line-height:1.6;
   margin-bottom:var(--space-lg);
}

.faq-section {
   padding:var(--space-2xl) 0;
   border-bottom:2px solid var(--ink);
   background-color:var(--ground);
}

.faq-list {
   list-style:none;
   padding:0;
   margin:var(--space-lg) 0 0;
   border-top:1.5px solid var(--ink);
}

.faq-item { border-bottom:1px solid var(--rule); }

.faq-trigger {
   width:100%;
   padding:var(--space-md) 0;
   min-height:48px;
   background:transparent;
   border:none;
   display:flex;
   justify-content:space-between;
   align-items:center;
   gap:var(--space-md);
   text-align:left;
   cursor:pointer;
   font-family:var(--rolu-8b2);
   font-size:var(--text-lg);
   font-weight:700;
   color:var(--ink);
   transition:color var(--duration-fast) var(--ease-out);
}

.faq-trigger:hover { color:var(--signal); }

.faq-trigger:focus-visible {
   outline:2px solid var(--signal);
   outline-offset:2px;
}

.faq-trigger .icon-chevron {
   width:1.25rem;
   height:1.25rem;
   flex-shrink:0;
   color:var(--signal);
   transition:transform var(--duration-fast) var(--ease-spring);
}

.faq-trigger[aria-expanded='true'] .icon-chevron { transform:rotate(180deg); }

.faq-panel {
   padding:0 0 var(--space-md);
   font-size:var(--text-base);
   line-height:var(--leading-normal);
   color:var(--ink);
   max-width:var(--shell-prose);
}

.faq-panel[hidden] { display:none; }

/* Global Table Squeeze Fix */
.jezed0e {
   overflow-x:auto !important;
   -webkit-overflow-scrolling:touch;
}

.jezed0e > table { min-width:480px !important; }

@media (max-width: 1024px) {
   .lead-story-tile { grid-template-columns:1fr; }
   .lead-story-figure {
      border-right:none;
      border-bottom:1.5px solid var(--ink);
      aspect-ratio:16 / 9;
   }
   .licensing-grid { grid-template-columns:1fr; }
   .about-hero-grid { grid-template-columns:1fr; }
   .contact-split-grid { grid-template-columns:1fr; }
   .manager-profile-block { grid-template-columns:1fr; }
}

@media (max-width: 768px) {
   /* Legal Architecture 1: Mobile margin note relocation inline under paragraph */
   .margin-paired-block {
      grid-template-columns:1fr;
      gap:var(--space-sm);
   }
   .legal-margin-col {
      display:none; /* Desktop column hides */
   }
   .margin-note-inline {
      display:block; 
      background-color:var(--surface);
      border-left:3px solid var(--signal);
      border-top:1px solid var(--rule);
      border-right:1px solid var(--rule);
      border-bottom:1px solid var(--rule);
      padding:var(--space-xs) var(--space-sm);
      margin:var(--space-xs) 0 var(--space-md);
      font-family:var(--rolu-c3c);
      font-size:var(--text-xs);
      line-height:var(--leading-snug);
   }

   /* Legal Architecture 2: Tab list wraps into touch rows or accordion look */
   .tab-nav-bar {
      flex-direction:column;
      overflow-x:visible;
   }
   .tab-trigger {
      border-right:none;
      border-bottom:1px solid var(--rule);
      width:100%;
      justify-content:flex-start;
   }
   .tab-trigger[aria-selected='true'] {
      border-bottom-color:var(--rule);
      border-left:4px solid var(--signal);
   }

   .line-container { padding-left:2.25rem; }
   .line-container::before { left:12px; }
   .line-node-marker {
      left:-2.25rem;
      width:32px;
      height:32px;
   }
   .line-node-marker .icon {
      width:0.9rem;
      height:0.9rem;
   }
   .line-node-card { padding:var(--space-md); }

   /* Catalogue grid adjustments */
   .catalogue-grid {
      grid-template-columns:1fr;
      gap:var(--space-md);
   }

   .framed-doc-card {
      padding:var(--space-md);
      box-shadow:2px 2px 0 var(--ink);
   }
}

@media (max-width: 480px) {
   .page-header { padding:var(--space-xl) 0 var(--space-md); }
   .page-stats-bar {
      grid-template-columns:1fr;
      gap:var(--space-sm);
   }
   .lead-story-content { padding:var(--space-md); }
   .licence-offer-card { padding:var(--space-md); }
   .trade-location-box { padding:var(--space-md); }
   .diagnostic-box { padding:var(--space-md); }
}
