
    :root {
      --paper: #fbfaf6; --white: #fff; --ink: #18392f; --text: #273f37;
      --muted: #65786f; --quiet: #8b9a93; --line: #e8e9e3; --peach: #ef8968;
      --peach-light: #fff0e9; --mint: #e5f2e8; --butter: #fff4d6;
      --radius: 23px; --shadow: 0 18px 60px rgba(32, 51, 42, .065);
      font-synthesis: none; -webkit-font-smoothing: antialiased;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { margin: 0; background: var(--paper); color: var(--text); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; font-size: 15px; }
    button, input, select { font: inherit; }
    button { cursor: pointer; }
    button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid var(--peach); outline-offset: 3px; }
    a { color: inherit; text-decoration: none; }
    .skip { position: absolute; left: 12px; top: -60px; padding: 12px; background: #fff; z-index: 100; }
    .skip:focus { top: 10px; }
    .container { max-width: 1216px; margin: auto; padding-left: 32px; padding-right: 32px; }
    .site-header { border-bottom: 1px solid rgba(29, 60, 48, .075); background: rgba(251,250,246,.94); backdrop-filter: blur(14px); position: sticky; top: 0; z-index: 30; }
    .header-inner { display: flex; min-height: 85px; align-items: center; justify-content: space-between; gap: 24px; }
    .brand { display: inline-flex; align-items: center; gap: 13px; color: var(--ink); min-width: 208px; }
    .brand-mark { height: 41px; width: 41px; border-radius: 14px; position: relative; flex: 0 0 auto; background: var(--ink); transform: rotate(-6deg); }
    .brand-mark::before { content: ''; position:absolute; inset: 8px; border: 2px dotted #faf9f3; border-radius: 40%; transform:rotate(22deg); }
    .brand-mark::after { content: ''; position:absolute; width: 7px; height:7px; background:var(--peach); border: 2px solid var(--ink); border-radius:50%; top: 3px; right: 5px; }
    .brand-lines { display:flex; flex-direction:column; gap:1px; }
    .brand-lines strong { font-size: 16px; letter-spacing: -.55px; line-height: 1.1; font-weight: 800; }
    .brand-lines small { letter-spacing: 2.6px; font-size: 9px; color: #819188; font-weight: 800; }
    .nav-links { display: flex; align-items: center; justify-content:center; gap: 33px; }
    .nav-links a { font-size: 13px; font-weight: 700; color: #52665d; padding: 10px 2px; }
    .nav-links a:hover { color: var(--peach); }
    .pill-button { background: var(--ink); border: 1px solid var(--ink); color: #fff; display:inline-flex; align-items: center; justify-content: center; gap: 11px; padding: 14px 22px; border-radius: 100px; font-weight: 800; font-size: 13px; white-space: nowrap; transition: transform .2s, background .2s; }
    .pill-button:hover { transform: translateY(-2px); background: #285545; }
    .pill-button svg { width: 17px; height: 17px; }
    .header-button { padding: 12px 19px; }
    .mobile-toggle { display: none; height: 44px; width: 44px; justify-content:center; align-items:center; background:transparent; border:1px solid var(--line); border-radius:14px; color:var(--ink); }
    .mobile-toggle svg { width: 21px; }
    .hero { display:grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); align-items: center; gap: 58px; padding-top: 62px; padding-bottom: 83px; }
    .eyebrow { display: inline-flex; align-items: center; gap: 9px; color: #596f62; letter-spacing: 2px; text-transform: uppercase; font-size: 10px; font-weight: 850; }
    .eyebrow .star { color: var(--peach); font-size: 25px; line-height: 1; }
    h1, h2, h3, p { margin-top: 0; }
    h1, h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
    h1 { color: var(--ink); font-size: clamp(51px, 5.1vw, 78px); line-height: 1.085; letter-spacing: -3.7px; margin: 23px 0 24px; }
    h1 em { color: var(--peach); font-weight: 400; font-style: italic; }
    .hero-copy { font-size: 15.5px; line-height: 1.95; color:#607169; max-width: 475px; margin-bottom: 29px; }
    .hero-actions { display:flex; align-items:center; flex-wrap: wrap; gap: 22px; }
    .text-action { display: inline-flex; align-items:center; gap: 8px; border: 0; background: none; color:var(--ink); font-size:13px; font-weight:850; padding: 11px 0; }
    .text-action:hover { color: var(--peach); }
    .hero-foot { margin-top:36px; display:flex; align-items:center; gap:10px; font-size: 11.5px; color:#839087; }
    .hero-foot span.dot { height: 4px; width:4px; background:#a0ada4; border-radius:100%; }
    .hero-scene { position: relative; min-height: 465px; display: flex; align-items:center; justify-content:center; }
    .hero-backdrop { background: #e5f0e8; position:absolute; inset: 26px 7px 18px 19px; border-radius: 45% 55% 45% 51% / 46% 38% 62% 54%; transform: rotate(-8deg); }
    .hero-backdrop::before { content:''; position: absolute; width: 64px; height:64px; border:2px solid rgba(28,70,50,.13); border-radius:50%; right: -2px; top: 27px; }
    .hero-backdrop::after { content:''; position: absolute; width: 18px; height:18px; background: #f0aa8f; border-radius:50%; left:11px; bottom: 36px; }
    .hero-paper { width: min(100%, 402px); background:#fff; border-radius: 8px; box-shadow: 0 28px 64px rgba(23,54,40,.12); transform: rotate(5deg); position:relative; padding: 19px 22px 16px; }
    .hero-paper-head, .hero-paper-foot { display:flex; justify-content:space-between; gap:9px; align-items: center; color: #83938b; font-size: 10px; font-weight: 800; letter-spacing:.75px; }
    .hero-paper-head .badge-outline { border:1px solid #d9e3dc; padding: 5px 8px; border-radius:4px; font-size:9px; }
    .hero-paper-art { min-height: 300px; display: flex; align-items:center; }
    .hero-paper-art svg { display:block; width:100%; height:auto; }
    .hero-paper-foot { border-top:1px solid #ecefe9; padding-top:14px; }
    .hero-seal { position:absolute; right: -19px; top: 12px; width:95px; height:95px; background: #f6bc87; border: 6px solid var(--paper); border-radius: 50%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; transform:rotate(14deg); color:#724427; box-shadow: 0 6px 18px rgba(80,48,21,.05); }
    .hero-seal strong { font-family: Georgia,serif; font-size:20px; line-height:1; }
    .hero-seal span { font-size: 9px; text-transform: uppercase; letter-spacing: 1px; font-weight: 900; margin-top:5px; }
    .hero-side-note { position:absolute; bottom: 0; left:0; padding: 10px 14px; font-family:Georgia,serif; font-style:italic; font-size: 15px; color: #536d59; transform:rotate(-7deg); }
    .steps-strip { display:grid; grid-template-columns:repeat(3,1fr); background: #fff; border:1px solid var(--line); border-radius: 19px; box-shadow: 0 10px 28px rgba(30,45,36,.02); padding: 24px 12px; margin-bottom: 90px; }
    .step-mini { display:flex; justify-content:center; gap:17px; padding: 3px 18px; align-items:center; border-right:1px solid var(--line); }
    .step-mini:last-child { border-right:0; }
    .step-num { font:italic 24px Georgia,serif; color:var(--peach); }
    .step-mini strong { display:block; font-size:13px; color:var(--ink); margin-bottom:4px; }
    .step-mini small { display:block; font-size:11px; color:#87948d; }
    .gallery-section { padding-bottom: 108px; scroll-margin-top:110px; }
    .section-topline { display:flex; align-items:center; gap:12px; color:var(--peach); letter-spacing:2.4px; font-size:10px; font-weight:850; margin-bottom:15px; }
    .section-topline::before { content:''; background:currentColor; height:2px; width:22px; }
    .gallery-heading { display:flex; justify-content:space-between; gap:28px; align-items:end; margin-bottom:30px; }
    h2 { color:var(--ink); letter-spacing:-1.9px; font-size:clamp(34px,3.7vw,49px); line-height:1.18; margin:0 0 13px; }
    .section-desc { color:#798a81; font-size: 13px; line-height:1.75; max-width:590px; margin-bottom:0; }
    .gallery-count { display:inline-flex; gap:8px; align-items:center; font-size:12px; color:#85948a; padding-bottom:6px; white-space:nowrap; }
    .gallery-count strong { color:var(--ink); font-size:13px; }
    .controls { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:28px; }
    .filters { display:flex; gap:9px; flex-wrap:wrap; }
    .filter { border:1px solid #e3e7df; background:#fff; border-radius:100px; padding:11px 16px; color:#63756b; font-size:11.5px; font-weight:750; transition:background .2s,color .2s,transform .2s; }
    .filter:hover { transform:translateY(-2px); }
    .filter[aria-pressed="true"] { background:var(--ink); color:white; border-color:var(--ink); }
    .controls-right { display:flex; gap:9px; align-items:center; }
    .searchbox { position:relative; }
    .searchbox svg { width:17px; height:17px; position:absolute; left:14px; top:50%; transform:translateY(-50%); fill:none; stroke:#87958e; stroke-width:2; }
    .searchbox input { border:1px solid #e1e7df; background:white; border-radius:100px; outline:0; padding:11px 13px 11px 38px; width:186px; font-size:12px; color:var(--ink); }
    .searchbox input:focus { border-color:#91b4a4; }
    .sort-select { background:white; border:1px solid #e1e7df; border-radius:100px; padding:10px 16px; color:#61766b; font-size:12px; max-width:150px; }
    .card-grid { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap:23px; }
    .puzzle-card { background:#fff; border-radius:20px; overflow:hidden; border:1px solid #e9eae4; box-shadow:0 10px 31px rgba(31,48,39,.024); transition:transform .25s,box-shadow .25s; min-width:0; }
    .puzzle-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); }
    .puzzle-card > button, .puzzle-card > a { border:0; width:100%; display:block; background:none; color:inherit; text-align:left; padding:0; }
    .puzzle-card .art-wrap { position:relative; aspect-ratio: 1.43 / 1; overflow:hidden; display:flex; align-items:center; justify-content:center; }
    .art-wrap::before { content:''; position:absolute; height:210px; width:210px; border-radius:50%; border:1px dashed rgba(39,70,57,.13); transform:translate(95px, -42px); }
    .art-wrap::after { content:''; position:absolute; width:10px; height:10px; border-radius:50%; background:rgba(239,137,104,.55); top:15%; left:15%; }
    .art-wrap svg { width:92%; max-height:94%; z-index:1; }
    .corner-badge { position:absolute; left:18px; top:18px; background:rgba(255,255,255,.87); border-radius:100px; padding:7px 11px; font-size:9px; font-weight:850; letter-spacing: .8px; z-index:2; color:#566c60; }
    .art-index { position:absolute; right:18px; bottom:16px; color:rgba(38,70,55,.45); font-family:Georgia,serif; font-style:italic; font-size:14px; z-index:2; }
    .card-body { padding:21px 22px 23px; }
    .card-category { text-transform:uppercase; color:#e18868; font-size:9px; font-weight:850; letter-spacing:1.7px; margin-bottom:9px; }
    .card-title-line { display:flex; align-items:center; justify-content:space-between; gap:8px; }
    .card-title { font:400 24px/1.16 Georgia,serif; letter-spacing:-.6px; margin:0; color:var(--ink); }
    .card-arrow { flex:0 0 35px; height:35px; width:35px; display:flex; justify-content:center; align-items:center; border-radius:50%; border:1px solid #e9eae3; color:var(--ink); transition:background .2s; }
    .puzzle-card:hover .card-arrow { background:var(--ink); color:#fff; }
    .card-arrow svg { width:16px; height:16px; }
    .card-description { font-size:11.5px; color:#849188; margin:8px 0 17px; line-height:1.45; }
    .card-meta { border-top:1px solid #edf0eb; padding-top:13px; display:flex; align-items:center; gap:12px; color:#7c8a81; font-size:10.5px; }
    .card-meta span { display:inline-flex; align-items:center; gap:5px; }
    .card-meta svg { width:13px; height:13px; }
    .empty-state { border:1px dashed #cbd9d1; border-radius:22px; text-align:center; padding:65px 20px; color:#667d70; background:#fff; }
    .empty-state strong { display:block; color:var(--ink); font-size:22px; font-family:Georgia,serif; font-weight:400; }
    .empty-state button { border:none; background:var(--ink); color:white; border-radius:100px; padding:11px 17px; margin-top:9px; }
    .gallery-after { display:flex; justify-content:center; align-items:center; gap:12px; font-size:12px; color:#839088; margin-top:30px; }
    .gallery-after svg { height:15px; width:15px; }
    .how-section { padding: 72px 0 95px; background:#edf3ee; border-top:1px solid #e6eae3; scroll-margin-top:80px; }
    .how-layout { display:grid; grid-template-columns: .78fr 1.22fr; gap:90px; align-items:center; }
    .how-copy p { font-size:13px; color:#76887d; max-width:370px; line-height:1.9; }
    .how-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; }
    .how-step { background:#fff; border-radius:18px; min-height:207px; padding:26px 20px; border:1px solid #e4eae5; }
    .how-icon { height:49px; width:49px; border-radius:15px; display:flex; align-items:center; justify-content:center; margin-bottom:20px; color:var(--ink); }
    .how-icon svg {height:24px; width:24px;}
    .how-step strong { display:block; font:400 22px Georgia,serif; color:var(--ink); margin-bottom:9px; }
    .how-step p { color:#829187; font-size:11px; line-height:1.65; margin:0; }
    .manifesto { padding-top:91px; padding-bottom:93px; display:flex; justify-content:center; text-align:center; }
    .manifesto-inner { max-width:760px; }
    .manifesto-spark { color:var(--peach); font-size:36px; display:block; margin-bottom:14px; }
    .manifesto h2 {font-size:clamp(35px,4vw,53px); margin-bottom:19px;}
    .manifesto p {line-height:1.9; font-size:13px; color:#819086; max-width:600px; margin:auto;}
    footer { border-top:1px solid var(--line); }
    .footer-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:120px; }
    .footer-inner .brand { transform:scale(.83); transform-origin:left center; }
    .footer-note { text-align:right; font-size:11px; line-height:1.9; color:#8b9b91; }
    .footer-note strong { color:#5e7467; }
    .modal { position:fixed; inset:0; z-index:80; overflow-y:auto; background:rgba(15,42,31,.57); padding:45px 22px; display:none; align-items:flex-start; justify-content:center; }
    .modal.is-open {display:flex;}
    .dialog { position:relative; background:var(--paper); width:min(960px,100%); border-radius:25px; padding:34px; box-shadow:0 35px 140px rgba(0,0,0,.19); }
    .dialog-close { position:absolute; top:17px; right:17px; height:37px; width:37px; border:1px solid var(--line); border-radius:50%; background:#fff; z-index:3; display:flex; align-items:center; justify-content:center; }
    .dialog-close svg {width:17px;height:17px;}
    .dialog-layout {display:grid;grid-template-columns:1.05fr .95fr; gap:36px;align-items:center;}
    .detail-picture { height:425px; border-radius:19px; display:flex;align-items:center;justify-content:center;position:relative; overflow:hidden; }
    .detail-picture svg { width:100%; max-height:100%; }
    .detail-picture-note {position:absolute;bottom:17px;left:20px;font-size:10px;font-weight:800;letter-spacing:1px;color:#718276;}
    .detail-heading {font:400 43px/1.16 Georgia,serif;color:var(--ink);letter-spacing:-1.4px;margin:12px 0 13px;}
    .detail-description {color:#728379;line-height:1.82;font-size:13px;margin-bottom:22px;}
    .detail-chips {display:flex;gap:7px;flex-wrap:wrap;margin-bottom:23px;}
    .detail-chips span {border:1px solid #e4e7df;background:white;padding:9px 11px;border-radius:100px;color:#698074;font-size:11px;font-weight:700;}
    .detail-actions {display:flex;gap:9px;flex-wrap:wrap;}
    .detail-actions button {flex: 1 1 auto; min-height:45px;}
    .light-button {display:inline-flex;align-items:center;justify-content:center;gap:7px;background:transparent;border:1px solid #d0dbd2;border-radius:100px;padding:12px 18px;color:var(--ink);font-size:12px;font-weight:800;}
    .light-button svg {height:16px;width:16px;}
    .detail-help {font-size:10px;color:#93a198;line-height:1.7;margin:16px 0 0;}
    .detail-reveal-note {display:none;color:var(--ink);background:#e7f2e9;border-radius:12px;padding:12px;margin-top:14px;font-size:11.5px;line-height:1.7;}
    .detail-reveal-note.is-visible {display:block;}
    .svg-dot {fill:#2f5b4b;}
    .svg-dot-start {fill:#e6795c;}
    .svg-num {font: 10px Arial,sans-serif;fill:#597264;paint-order:stroke;stroke:rgba(255,255,255,.7);stroke-width:1px;}
    .svg-reveal {fill:none;stroke:#245343;stroke-width:3.1;stroke-linecap:round;stroke-linejoin:round;transition:stroke-dashoffset 3s ease-in-out;}
    .svg-detail {fill:none;stroke:#597b6a;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .7s 2.15s;}
    .is-revealed .svg-detail {opacity:1;}
    #printSheet {display:none;}
    @media (max-width: 1050px) {
      .nav-links{gap:18px} .header-button{display:none} .hero{gap:25px}
      .controls{align-items:flex-start;flex-direction:column}.controls-right{width:100%;justify-content:flex-end}
      .how-layout{gap:35px}
    }
    @media (max-width: 760px) {
      .container{padding-left:21px;padding-right:21px}
      .header-inner{min-height:70px}.brand{min-width:0}.brand-mark{width:35px;height:35px;border-radius:12px}.brand-lines strong{font-size:14px}.brand-lines small{font-size:8px}
      .mobile-toggle{display:flex}.nav-links{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:13px 22px 23px;box-shadow:0 12px 20px rgba(0,0,0,.08);flex-direction:column;align-items:stretch;gap:4px}.nav-links.is-open{display:flex}.nav-links a{padding:12px 10px;border-bottom:1px solid var(--line)}
      .hero{grid-template-columns:1fr;padding-top:42px;padding-bottom:48px;gap:12px}
      h1{font-size:clamp(49px,9.4vw,70px);letter-spacing:-2.5px;margin:17px 0 15px}
      .hero-copy{font-size:14px;line-height:1.8;margin-bottom:19px}.hero-foot{margin-top:21px}
      .hero-scene{min-height:380px;max-width:475px;width:100%;margin:auto}.hero-paper{width:72%;min-width:248px;padding:14px 14px 12px}.hero-paper-art{min-height:250px}.hero-seal{width:76px;height:76px;right:-8px;top:24px;border-width:4px}.hero-seal strong{font-size:16px}.hero-side-note{font-size:12px}
      .steps-strip{margin-bottom:65px;padding:20px 8px}.step-mini{gap:8px;padding:3px 6px}.step-num{font-size:18px}.step-mini strong{font-size:11px}.step-mini small{font-size:9px}
      .gallery-heading{align-items:start}.gallery-count{padding-top:12px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.card-body{padding:15px 15px 17px}.card-title{font-size:20px}.card-description{font-size:10px;margin-bottom:11px}.card-arrow{width:29px;height:29px;flex-basis:29px}.card-meta{font-size:10px}.controls{gap:17px}
      .how-layout{grid-template-columns:1fr;gap:23px}.how-section{padding:58px 0}.how-copy p{max-width:600px}.how-step{min-height:170px;padding:20px 13px}.how-step strong{font-size:19px}
      .manifesto{padding:68px 20px}.footer-inner{min-height:120px}
      .dialog{padding:22px;border-radius:21px}.dialog-layout{grid-template-columns:1fr;gap:17px}.detail-picture{height:310px}.detail-heading{font-size:34px;margin:9px 0}.detail-description{margin-bottom:13px}.detail-chips{margin-bottom:16px}
    }
    @media (max-width: 470px) {
      .hero-actions{gap:14px}.pill-button{padding:12px 17px}.hero-scene{min-height:340px}.hero-paper{width:76%}.hero-paper-art{min-height:215px}
      .gallery-heading{display:block}.gallery-count{margin-top:6px}.filters{gap:7px}.filter{padding:9px 12px;font-size:10.5px}.controls-right{justify-content:space-between}.searchbox{flex:1}.searchbox input{width:100%;font-size:11px}.sort-select{width:126px;font-size:11px;padding:10px 8px}
      .card-grid{grid-template-columns:1fr;gap:17px}.puzzle-card .art-wrap{aspect-ratio:1.6}.card-body{padding:19px 20px}.card-title{font-size:24px}.card-description{font-size:11px}.card-meta{font-size:11px}
      .how-steps{grid-template-columns:1fr;gap:10px}.how-step{display:grid;grid-template-columns:50px 1fr;gap:0 16px;min-height:0;padding:19px}.how-step .how-icon{grid-row:1/span 2;margin:0}.how-step strong{margin:0 0 3px}.how-step p{grid-column:2}
      .footer-inner{align-items:start;flex-direction:column;justify-content:center;gap:0;padding-top:17px;padding-bottom:20px}.footer-note{text-align:left}
      .modal{padding:12px}.dialog{padding:17px}.detail-picture{height:255px}.detail-actions{flex-direction:column}
    }
    @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
    @media print {
      @page {size:A4 portrait;margin:0}
      html,body{background:#fff!important;color:#111!important;width:210mm;height:auto;margin:0!important;padding:0!important}
      body > .site-shell, body > .modal{display:none!important}
      #printSheet{display:block!important;width:210mm;min-height:297mm;padding:15mm 17mm 12mm;box-sizing:border-box;page-break-after:avoid;background:white;color:#111}
      #printSheet .print-head{display:flex;justify-content:space-between;border-bottom:1.5pt solid #333;padding-bottom:7mm;align-items:end}
      #printSheet .print-brand{font-family:Arial,sans-serif;font-size:10pt;letter-spacing:1.5pt;font-weight:bold}
      #printSheet .print-title{font:24pt Georgia,serif;margin:9mm 0 2mm}
      #printSheet .print-sub{font:9pt Arial,sans-serif;color:#555;margin:0}
      #printSheet .print-puzzle{height:180mm;display:flex;align-items:center;justify-content:center}
      #printSheet .print-puzzle svg{width:100%;height:auto;max-height:175mm}
      #printSheet .print-foot{font:8pt Arial,sans-serif;color:#666;border-top:1px solid #ddd;padding-top:5mm;display:flex;justify-content:space-between}
      #printSheet .svg-num{stroke:transparent;fill:#111;font-size:9px}
      #printSheet .svg-dot{fill:#111} #printSheet .svg-dot-start{fill:#111}
    }
  /* v0.3: preserve pastel cards with studio coordinate dots. */
.art-wrap svg .svg-dot,.hero-paper-art svg .svg-dot{fill:#375b4c;stroke:none}
.art-wrap svg .svg-dot-start,.hero-paper-art svg .svg-dot-start{fill:#ed8365;stroke:none}
.art-wrap svg .svg-num,.hero-paper-art svg .svg-num{fill:#516d5c;font:600 25px Arial,sans-serif;stroke:none}


/* WordPress/GeneratePress integration adjustments (v0.1). */
body.dtw-gallery { margin: 0; max-width: none; }
body.dtw-gallery .site-shell { overflow-x: clip; }
body.dtw-gallery .site-header { z-index: 40; }
body.admin-bar.dtw-gallery .site-header { top: 32px; }
body.dtw-gallery .container { width: 100%; max-width:1216px; }
body.dtw-gallery .site-header a, body.dtw-gallery .site-header button { text-decoration:none; }
body.dtw-gallery .site-shell h1, body.dtw-gallery .site-shell h2, body.dtw-gallery .site-shell h3 { margin-top:0; }
body.dtw-gallery .gallery-count { white-space:normal; }
.dtw-content-page { padding-top:65px; padding-bottom:120px; min-height:65vh; }
.dtw-content-page h1 { margin:0 0 32px; }
.dtw-content-page .entry-content { max-width:800px; font-size:16px; line-height:1.9; }
.dtw-content-page .entry-content a { color:#297e61; text-decoration:underline; }
.dtw-content-page .notfound-link { margin-top:28px; }
@media(max-width:782px) {body.admin-bar.dtw-gallery .site-header { top: 46px; }}
@media(max-width:600px){body.admin-bar.dtw-gallery .site-header { top: 0; }}

/* Specific enough to preserve the approved footer against parent GeneratePress rules. */
body.dtw-gallery .site-footer {background:var(--paper);color:var(--text);padding:0;border-top:1px solid var(--line);}
body.dtw-gallery .site-footer a {color:var(--ink);text-decoration:none;}

/* v0.1.2: preserve Studio/Nakseo worksheet preview ink; no green overrides. */
.dtw-worksheet-svg { display:block; overflow:hidden; }
.dtw-worksheet-svg .dtw-ws-labels text { paint-order:normal; stroke:none; }
