/* DR Architects — design system, generated from the Claude Design export.
   tokens (fonts, colors, typography, spacing, elevation, motion, base) + components. */

/* Birzia — the office's Hebrew/Latin typeface. Files supplied by the client. */
@font-face{font-family:"Birzia";src:url("../fonts/Birzia-Light.woff2") format("woff2"),url("../fonts/Birzia-Light.woff") format("woff");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Birzia";src:url("../fonts/Birzia-Regular.woff2") format("woff2"),url("../fonts/Birzia-Regular.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Birzia";src:url("../fonts/Birzia-Medium.woff2") format("woff2"),url("../fonts/Birzia-Medium.woff") format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Birzia";src:url("../fonts/Birzia-Bold.woff2") format("woff2"),url("../fonts/Birzia-Bold.woff") format("woff");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Birzia";src:url("../fonts/Birzia-Black.woff2") format("woff2"),url("../fonts/Birzia-Black.woff") format("woff");font-weight:900;font-style:normal;font-display:swap}

/* Monochrome, drawn from the DR Architects mark: ink on paper, nothing else.
   The only chromatic value is a near-black slate used for links + focus. */
:root{
  /* Base — paper */
  --paper-0:#FFFFFF;
  --paper-1:#F7F5F1;
  --paper-2:#F1EEE8;
  --paper-3:#E7E3DB;

  /* Base — ink */
  --ink-0:#000000;
  --ink-1:#141414;
  --ink-2:#2B2B2B;

  /* Base — concrete (neutral greys, warm-leaning) */
  --concrete-100:#DAD6CE;
  --concrete-200:#C2BDB4;
  --concrete-300:#A39E95;
  --concrete-400:#807B73;
  --concrete-500:#5C5852;
  --concrete-600:#3D3A36;

  /* Base — slate (the single chromatic note) */
  --slate-500:#2C3742;
  --slate-600:#1E262E;

  /* Semantic — surfaces */
  --surface-page:var(--paper-1);
  --surface-raised:var(--paper-0);
  --surface-sunken:var(--paper-2);
  --surface-inverse:var(--ink-0);
  --surface-media:var(--concrete-100);

  /* Semantic — text */
  --text-primary:var(--ink-0);
  --text-secondary:var(--concrete-500);
  --text-muted:var(--concrete-400);
  --text-inverse:var(--paper-0);
  --text-inverse-muted:var(--concrete-300);
  --text-link:var(--slate-500);

  /* Semantic — lines */
  --line-hairline:var(--concrete-100);
  --line-rule:var(--concrete-200);
  --line-strong:var(--ink-0);
  --line-inverse:rgba(255,255,255,.22);

  /* Semantic — interactive */
  --action-fill:var(--ink-0);
  --action-fill-hover:var(--concrete-600);
  --action-text-on-fill:var(--paper-0);
  --action-quiet-hover:var(--paper-2);
  --focus-ring:var(--slate-500);
  --overlay-scrim:rgba(0,0,0,.62);
}

/* Birzia carries both Hebrew and Latin. Its Latin is unicase (caps-only forms),
   so Latin strings are always set in uppercase with open tracking. */
:root{
  --font-core:"Birzia","Assistant","Helvetica Neue",Arial,sans-serif;
  --font-display:var(--font-core);
  --font-mono:ui-monospace,"SFMono-Regular",Menlo,monospace;

  --weight-light:300;
  --weight-regular:400;
  --weight-medium:500;
  --weight-bold:700;
  --weight-black:900;

  /* Size ramp — architectural: a very large display step, then a quiet body range */
  --size-display-1:clamp(52px,7.2vw,116px);
  --size-display-2:clamp(38px,4.6vw,72px);
  --size-title-1:clamp(28px,3vw,44px);
  --size-title-2:clamp(22px,2.1vw,30px);
  --size-title-3:20px;
  --size-body-lg:19px;
  --size-body:17px;
  --size-body-sm:15px;
  --size-caption:13px;
  --size-label:12px;

  --leading-display:0.98;
  --leading-title:1.14;
  --leading-body:1.72;
  --leading-tight:1.35;

  --tracking-display:-0.02em;
  --tracking-title:-0.01em;
  --tracking-body:0;
  --tracking-label:0.16em;
  --tracking-latin:0.09em;

  /* Semantic roles */
  --text-display:var(--weight-light) var(--size-display-1)/var(--leading-display) var(--font-display);
  --text-title:var(--weight-regular) var(--size-title-1)/var(--leading-title) var(--font-core);
  --text-subtitle:var(--weight-regular) var(--size-title-2)/var(--leading-tight) var(--font-core);
  --text-body-role:var(--weight-regular) var(--size-body)/var(--leading-body) var(--font-core);
  --text-caption-role:var(--weight-regular) var(--size-caption)/var(--leading-tight) var(--font-core);
  --text-label-role:var(--weight-medium) var(--size-label)/1.2 var(--font-core);
}

/* 8px base, with a 4px half-step. Page rhythm is generous: sections breathe. */
:root{
  --space-0:0;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --space-6:32px;
  --space-7:48px;
  --space-8:64px;
  --space-9:96px;
  --space-10:128px;
  --space-11:180px;

  --gutter:24px;
  --page-margin:clamp(20px,5vw,88px);
  --section-gap:clamp(72px,10vw,168px);

  --measure-narrow:38ch;
  --measure:60ch;
  --measure-wide:74ch;

  --container-max:1560px;
  --container-text:820px;

  /* Corners: the brand is drawn with a square. Nothing rounds. */
  --radius-none:0;
  --radius-hair:1px;
  --border-hair:1px;
  --border-strong:2px;
}

/* There are no drop shadows in this system. Depth is expressed with hairlines,
   tonal surfaces and overlap. These two exist only for transient layers. */
:root{
  --shadow-none:none;
  --shadow-overlay:0 24px 64px rgba(0,0,0,.18);
  --shadow-menu:0 8px 24px rgba(0,0,0,.10);
  --blur-scrim:saturate(120%) blur(10px); /* @kind other */
}

/* Motion is slow, linear-ish and never bounces. Images fade; nothing slides far. */
:root{
  --ease-standard:cubic-bezier(.22,.61,.36,1); /* @kind other */
  --ease-entrance:cubic-bezier(.16,1,.3,1); /* @kind other */
  --duration-fast:140ms; /* @kind other */
  --duration-base:280ms; /* @kind other */
  --duration-slow:600ms; /* @kind other */
  --duration-reveal:900ms; /* @kind other */
  --hover-image-scale:1.03; /* @kind other */
}
@media (prefers-reduced-motion:reduce){:root{--duration-fast:0ms; /* @kind other */ --duration-base:0ms; /* @kind other */ --duration-slow:0ms; /* @kind other */ --duration-reveal:0ms; /* @kind other */ --hover-image-scale:1 /* @kind other */}}

/* Minimal resets + the RTL defaults every DR Architects surface starts from. */
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-page);color:var(--text-primary);font:var(--text-body-role);-webkit-font-smoothing:antialiased;text-wrap:pretty}
[dir="rtl"]{direction:rtl}
h1,h2,h3,h4{margin:0;font-weight:var(--weight-regular);letter-spacing:var(--tracking-title)}
p{margin:0}
img{display:block;max-width:100%}
a{color:var(--text-primary);text-decoration:none;text-underline-offset:.32em;text-decoration-thickness:1px;transition:color var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard)}
a:hover{color:var(--text-link);text-decoration:underline}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:var(--border-strong) solid var(--focus-ring);outline-offset:3px}
::selection{background:var(--ink-0);color:var(--paper-0)}
.dr-latin{text-transform:uppercase;letter-spacing:var(--tracking-latin)}
.dr-label{font:var(--text-label-role);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-secondary)}
.dr-rule{border:0;border-top:var(--border-hair) solid var(--line-rule);margin:0}

/* DR Architects — component classes. Square corners, hairline rules, no shadows. */

/* Container / layout */
.dr-container{max-width:var(--container-max);margin-inline:auto;padding-inline:var(--page-margin)}
.dr-container--text{max-width:var(--container-text)}
.dr-section{padding-block:var(--section-gap)}
.dr-section--tight{padding-block:var(--space-8)}
.dr-section--inverse{background:var(--surface-inverse);color:var(--text-inverse)}
.dr-section--inverse .dr-label,.dr-section--inverse .dr-eyebrow{color:var(--text-inverse-muted)}
.dr-split{display:grid;gap:var(--space-7) var(--space-8);grid-template-columns:1fr}
@media(min-width:900px){.dr-split{grid-template-columns:2fr 1fr}.dr-split--flip{grid-template-columns:1fr 2fr}}
.dr-sectionhead{display:grid;gap:var(--space-4);align-items:baseline;grid-template-columns:1fr}
@media(min-width:900px){.dr-sectionhead{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--space-8)}}

/* Eyebrow / label */
.dr-eyebrow{font:var(--text-label-role);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-secondary);display:flex;align-items:center;gap:var(--space-3)}
.dr-eyebrow::after{content:"";flex:1;height:1px;background:var(--line-rule)}
.dr-eyebrow--plain::after{display:none}

/* Button */
.dr-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);font-family:var(--font-core);font-weight:var(--weight-medium);font-size:var(--size-body-sm);letter-spacing:.02em;border:var(--border-hair) solid transparent;border-radius:var(--radius-none);cursor:pointer;background:none;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard);text-decoration:none}
.dr-btn--md{padding:14px 26px}
.dr-btn--sm{padding:9px 16px;font-size:var(--size-caption)}
.dr-btn--lg{padding:18px 36px;font-size:var(--size-body)}
.dr-btn--primary{background:var(--action-fill);color:var(--action-text-on-fill);border-color:var(--action-fill)}
.dr-btn--primary:hover{background:var(--action-fill-hover);border-color:var(--action-fill-hover);color:var(--action-text-on-fill)}
.dr-btn--secondary{border-color:var(--line-strong);color:var(--text-primary)}
.dr-btn--secondary:hover{background:var(--action-fill);color:var(--action-text-on-fill)}
.dr-btn--quiet{color:var(--text-primary);padding-inline:var(--space-3)}
.dr-btn--quiet:hover{background:var(--action-quiet-hover)}
.dr-btn--inverse{background:var(--paper-0);color:var(--ink-0);border-color:var(--paper-0)}
.dr-btn--inverse:hover{background:transparent;color:var(--paper-0)}
.dr-btn:disabled{opacity:.35;cursor:not-allowed}
.dr-btn__arrow{display:inline-block;transition:transform var(--duration-base) var(--ease-standard)}
.dr-btn:hover .dr-btn__arrow{transform:translateX(-4px)}

/* Text link with arrow */
.dr-arrowlink{display:inline-flex;align-items:center;gap:var(--space-3);font-size:var(--size-body-sm);font-weight:var(--weight-medium);color:var(--text-primary);padding-block:var(--space-2);border-bottom:var(--border-hair) solid var(--line-strong);text-decoration:none}
.dr-arrowlink:hover{text-decoration:none;color:var(--text-primary);border-bottom-color:var(--concrete-300)}
.dr-arrowlink span[data-a]{transition:transform var(--duration-base) var(--ease-standard)}
.dr-arrowlink:hover span[data-a]{transform:translateX(-5px)}
.dr-section--inverse .dr-arrowlink{color:var(--text-inverse);border-bottom-color:var(--line-inverse)}

/* Media frame */
.dr-media{position:relative;overflow:hidden;background:var(--surface-media);display:block}
.dr-media__fill{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform var(--duration-slow) var(--ease-standard)}
.dr-media__ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--surface-media);color:var(--text-muted);font:var(--text-caption-role);letter-spacing:.06em}
.dr-media__ph::before{content:"";position:absolute;inset:12px;border:1px solid rgba(0,0,0,.07)}
.dr-media__ph span{position:relative;padding:6px 12px}
.dr-media__cap{margin-top:var(--space-3);font:var(--text-caption-role);color:var(--text-muted)}

/* Project card */
.dr-card{display:block;text-decoration:none;color:inherit;group:card}
.dr-card:hover{text-decoration:none;color:inherit}
.dr-card:hover .dr-media__fill{transform:scale(var(--hover-image-scale))}
.dr-card:hover .dr-card__title{color:var(--text-link)}
.dr-card__meta{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-4);padding-top:var(--space-3);border-top:var(--border-hair) solid var(--line-strong)}
.dr-card__title{font-size:var(--size-title-3);font-weight:var(--weight-medium);letter-spacing:var(--tracking-title);transition:color var(--duration-fast) var(--ease-standard)}
.dr-card__sub{font-size:var(--size-body-sm);color:var(--text-secondary);margin-top:var(--space-1)}
.dr-card__year{font-size:var(--size-caption);color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}

/* Tag / filter */
.dr-tag{display:inline-flex;align-items:center;font-size:var(--size-caption);letter-spacing:.04em;padding:5px 12px;border:var(--border-hair) solid var(--line-rule);color:var(--text-secondary);background:transparent}
.dr-tag--solid{background:var(--ink-0);color:var(--paper-0);border-color:var(--ink-0)}
.dr-filter{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.dr-filter__btn{font-family:var(--font-core);font-size:var(--size-body-sm);padding:9px 18px;border:var(--border-hair) solid var(--line-rule);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}
.dr-filter__btn:hover{border-color:var(--line-strong);color:var(--text-primary)}
.dr-filter__btn[aria-pressed="true"]{background:var(--ink-0);border-color:var(--ink-0);color:var(--paper-0)}

/* Spec list */
.dr-specs{display:grid;gap:0;border-top:var(--border-hair) solid var(--line-strong)}
.dr-specs__row{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--space-4);padding-block:var(--space-3);border-bottom:var(--border-hair) solid var(--line-hairline)}
.dr-specs__k{font:var(--text-label-role);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);padding-top:3px}
.dr-specs__v{font-size:var(--size-body-sm);color:var(--text-primary);font-variant-numeric:tabular-nums}

/* Header */
.dr-header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--surface-page) 88%,transparent);backdrop-filter:var(--blur-scrim);border-bottom:var(--border-hair) solid var(--line-hairline)}
.dr-header__in{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);height:82px;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--page-margin)}
.dr-header--inverse{background:color-mix(in srgb,var(--ink-0) 88%,transparent);border-bottom-color:var(--line-inverse)}
.dr-nav{display:flex;align-items:center;gap:var(--space-6)}
.dr-nav__link{font-size:var(--size-body-sm);color:var(--text-secondary);padding-block:4px;border-bottom:var(--border-hair) solid transparent;text-decoration:none}
.dr-nav__link:hover{color:var(--text-primary);text-decoration:none;border-bottom-color:var(--line-strong)}
.dr-nav__link[aria-current="page"]{color:var(--text-primary);border-bottom-color:var(--line-strong)}
.dr-header--inverse .dr-nav__link{color:var(--text-inverse-muted)}
.dr-header--inverse .dr-nav__link:hover,.dr-header--inverse .dr-nav__link[aria-current="page"]{color:var(--text-inverse);border-bottom-color:var(--paper-0)}
.dr-burger{display:none;background:none;border:0;cursor:pointer;padding:8px;flex-direction:column;gap:5px}
.dr-burger i{display:block;width:22px;height:1px;background:currentColor}
@media(max-width:820px){.dr-nav{display:none}.dr-burger{display:flex}}

/* Footer */
.dr-footer{background:var(--surface-inverse);color:var(--text-inverse);padding-block:var(--space-9) var(--space-6)}
.dr-footer a{color:var(--text-inverse)}
.dr-footer a:hover{color:var(--text-inverse-muted)}
.dr-footer__grid{display:grid;gap:var(--space-8) var(--space-7);grid-template-columns:minmax(0,1.7fr) repeat(3,minmax(0,1fr));align-items:start}
@media(max-width:1000px){.dr-footer__grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.dr-footer__grid{grid-template-columns:1fr;gap:var(--space-7)}}
.dr-footer__col h4{font:var(--text-label-role);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-inverse-muted);margin-bottom:var(--space-5);padding-bottom:var(--space-3);border-bottom:var(--border-hair) solid var(--line-inverse)}
.dr-footer__list{display:flex;flex-direction:column;gap:var(--space-3);font-size:var(--size-body-sm)}
.dr-footer__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-9);padding-top:var(--space-4);border-top:var(--border-hair) solid var(--line-inverse);font-size:var(--size-caption);color:var(--text-inverse-muted)}

/* Forms */
.dr-field{display:flex;flex-direction:column;gap:var(--space-2)}
.dr-field__label{font:var(--text-label-role);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-secondary)}
.dr-input{font-family:var(--font-core);font-size:var(--size-body);color:var(--text-primary);background:transparent;border:0;border-bottom:var(--border-hair) solid var(--line-rule);padding:10px 0;border-radius:0;transition:border-color var(--duration-fast) var(--ease-standard)}
.dr-input::placeholder{color:var(--text-muted)}
.dr-input:hover{border-bottom-color:var(--concrete-300)}
.dr-input:focus{outline:none;border-bottom-color:var(--line-strong);border-bottom-width:var(--border-strong)}
.dr-input--area{resize:vertical;min-height:112px;line-height:var(--leading-body)}
.dr-field__hint{font:var(--text-caption-role);color:var(--text-muted)}
.dr-field--error .dr-input{border-bottom-color:var(--ink-0);border-bottom-width:var(--border-strong)}
.dr-field--error .dr-field__hint{color:var(--text-primary)}

/* Pagination between projects */
.dr-pagenav{display:flex;justify-content:space-between;gap:var(--space-5);border-top:var(--border-hair) solid var(--line-strong);padding-top:var(--space-5)}
.dr-pagenav__item{display:flex;flex-direction:column;gap:var(--space-2);text-decoration:none;max-width:46%}
.dr-pagenav__item:hover{text-decoration:none}
.dr-pagenav__item:hover .dr-pagenav__t{color:var(--text-link)}
.dr-pagenav__t{font-size:var(--size-title-3);transition:color var(--duration-fast) var(--ease-standard)}

/* Stat / figure block */
.dr-stat{display:flex;flex-direction:column;gap:var(--space-2)}
.dr-stat__n{font-family:var(--font-display);font-weight:var(--weight-light);font-size:var(--size-display-2);line-height:1;letter-spacing:var(--tracking-display);font-variant-numeric:tabular-nums}
.dr-stat__l{font-size:var(--size-body-sm);color:var(--text-secondary)}

/* Motion — scroll reveals (activated by assets/reveal.js) */
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity var(--duration-reveal) var(--ease-entrance),transform var(--duration-reveal) var(--ease-entrance);transition-delay:var(--reveal-delay,0ms)}
[data-reveal].is-in{opacity:1;transform:none}
[data-reveal="clip"]{transform:none;opacity:1;clip-path:inset(100% 0 0 0);transition:clip-path 1.15s var(--ease-entrance);transition-delay:var(--reveal-delay,0ms)}
[data-reveal="clip"].is-in{clip-path:inset(0 0 0 0)}
[data-reveal="line"]{opacity:1;transform:scaleX(0);transform-origin:right;transition:transform 1.2s var(--ease-entrance);transition-delay:var(--reveal-delay,0ms)}
[data-reveal="line"].is-in{transform:scaleX(1)}
@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1 !important;transform:none !important;clip-path:none !important}}

/* Motion — entrance mask for display type */
.dr-mask{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.1em;margin-bottom:-.1em}
.dr-mask>span{display:inline-block;transform:translateY(115%);animation:dr-rise 1.05s var(--ease-entrance) forwards;animation-delay:var(--rise-delay,0ms)}
@keyframes dr-rise{to{transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.dr-mask>span{transform:none;animation:none}}

/* Motion — scroll-driven image parallax (opt-in via .dr-media--px on a Media wrapper) */
@supports (animation-timeline: view()){
.dr-media--px .dr-media__fill,.dr-media--px .dr-media__ph{inset:-7% 0;animation:dr-px linear both;animation-timeline:view()}
@keyframes dr-px{from{transform:translateY(-3.5%)}to{transform:translateY(3.5%)}}
}
@media (prefers-reduced-motion:reduce){.dr-media--px .dr-media__fill,.dr-media--px .dr-media__ph{animation:none;inset:0}}

/* Motion — marquee band */
.dr-marquee{overflow:hidden;white-space:nowrap;direction:ltr;padding-block:var(--space-4);border-block:var(--border-hair) solid var(--line-hairline)}
.dr-marquee__track{display:inline-block;animation:dr-marquee 44s linear infinite;will-change:transform}
.dr-marquee:hover .dr-marquee__track{animation-play-state:paused}
.dr-marquee span{font-size:var(--size-body-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-latin);text-transform:uppercase;color:var(--text-secondary)}
@keyframes dr-marquee{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.dr-marquee__track{animation:none}}

/* Motion — scroll progress hairline */
.dr-progress{position:fixed;top:0;right:0;left:0;height:2px;background:var(--ink-0);transform:scaleX(0);transform-origin:right;z-index:60;pointer-events:none}

/* Quote */
.dr-quote{font-family:var(--font-display);font-weight:var(--weight-light);font-size:var(--size-title-1);line-height:1.32;letter-spacing:var(--tracking-title);max-width:var(--measure)}
.dr-quote__by{margin-top:var(--space-5);font:var(--text-caption-role);color:var(--text-secondary);letter-spacing:.06em}

/* Responsive layout grids (replace inline grids so breakpoints apply) */
.dr-cols2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-8);align-items:end}
@media(max-width:820px){.dr-cols2{grid-template-columns:1fr;gap:var(--space-6)}}
.dr-works{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-7) var(--gutter)}
.dr-works__a{grid-column:span 4}.dr-works__b{grid-column:span 2}
@media(max-width:900px){.dr-works{grid-template-columns:1fr 1fr}.dr-works__a,.dr-works__b{grid-column:span 2}}
@media(max-width:640px){.dr-works__a,.dr-works__b{grid-column:span 2}.dr-works{gap:var(--space-7) 0;grid-template-columns:1fr}}
.dr-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8) var(--gutter)}
@media(max-width:1000px){.dr-grid3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.dr-grid3{grid-template-columns:1fr}}
.dr-projhead{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--space-9);align-items:start}
@media(max-width:900px){.dr-projhead{grid-template-columns:1fr;gap:var(--space-7)}}
.dr-quotegrid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--space-9);align-items:start}
@media(max-width:820px){.dr-quotegrid{grid-template-columns:1fr;gap:var(--space-7)}}
.dr-imgpair{display:grid;grid-template-columns:1fr 1fr;gap:var(--gutter)}
@media(max-width:640px){.dr-imgpair{grid-template-columns:1fr;gap:var(--space-6)}}
.dr-formgrid{display:grid;grid-template-columns:1fr 1fr;gap:26px 32px}
@media(max-width:640px){.dr-formgrid{grid-template-columns:1fr}}
.dr-statrow{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-7)}
@media(max-width:640px){.dr-statrow{grid-template-columns:1fr;gap:var(--space-6)}}

/* Mobile menu overlay */
.dr-menu{position:fixed;inset:0;background:var(--ink-0);color:var(--paper-0);z-index:80;display:flex;flex-direction:column;padding:var(--page-margin);overflow:auto;animation:dr-fadein .32s var(--ease-standard)}
@keyframes dr-fadein{from{opacity:0}}
.dr-menu__close{align-self:flex-start;background:none;border:0;color:var(--paper-0);font-size:26px;line-height:1;cursor:pointer;padding:10px;margin-bottom:var(--space-7)}
.dr-menu nav{display:flex;flex-direction:column}
.dr-menu nav a{color:var(--paper-0);font-size:var(--size-title-1);font-weight:var(--weight-light);letter-spacing:var(--tracking-title);padding-block:var(--space-4);border-bottom:1px solid var(--line-inverse);text-decoration:none}
.dr-menu nav a:hover{color:var(--concrete-300);text-decoration:none}
.dr-menu__foot{margin-top:auto;padding-top:var(--space-7);font-size:var(--size-caption);color:var(--text-inverse-muted);display:flex;flex-direction:column;gap:var(--space-2)}

/* Process steps */
.dr-step{display:grid;grid-template-columns:130px minmax(0,1fr) minmax(0,1.5fr);gap:var(--space-6);padding-block:var(--space-7);border-top:var(--border-hair) solid var(--line-rule)}
@media(max-width:820px){.dr-step{grid-template-columns:1fr;gap:var(--space-4);padding-block:var(--space-6)}}
.dr-step__n{font-weight:var(--weight-light);font-size:var(--size-display-2);line-height:.9;letter-spacing:var(--tracking-display);color:var(--concrete-200);font-variant-numeric:tabular-nums}
.dr-step__t{font-size:var(--size-title-3);font-weight:var(--weight-medium)}
.dr-step__d{font-size:var(--size-body);line-height:var(--leading-body);color:var(--text-secondary);max-width:var(--measure)}
.dr-step__meta{margin-top:var(--space-3)}

/* Journal rows */
.dr-journal{display:grid;grid-template-columns:120px minmax(0,1.3fr) minmax(0,2fr) auto;gap:var(--space-6);align-items:baseline;padding-block:var(--space-6);border-top:var(--border-hair) solid var(--line-rule);text-decoration:none;color:inherit}
.dr-journal:hover{text-decoration:none;color:inherit}
.dr-journal:hover .dr-journal__t{color:var(--text-link)}
.dr-journal:hover .dr-journal__a{transform:translateX(-5px)}
.dr-journal__date{font-size:var(--size-caption);color:var(--text-muted);font-variant-numeric:tabular-nums}
.dr-journal__t{font-size:var(--size-title-2);font-weight:var(--weight-regular);line-height:var(--leading-tight);transition:color var(--duration-fast) var(--ease-standard)}
.dr-journal__x{font-size:var(--size-body-sm);color:var(--text-secondary);line-height:1.7;max-width:var(--measure)}
.dr-journal__a{transition:transform var(--duration-base) var(--ease-standard)}
@media(max-width:820px){.dr-journal{grid-template-columns:1fr;gap:var(--space-2)}.dr-journal__a{display:none}}

/* Small-screen rhythm */
@media(max-width:640px){
.dr-sectionhead{gap:var(--space-4)}
.dr-pagenav__item{max-width:100%}
.dr-footer__grid{gap:var(--space-7)}
.dr-specs__row{grid-template-columns:1fr;gap:var(--space-1)}
}
