/* DR Architects — site layer. Page-level classes only; no new visual language.
   Everything here replaces an inline style from the design-system UI kit. */

/* The hidden attribute has to win over the component rules below it: .dr-menu and
   the filtered project cells both set display, which outranks the browser default
   for [hidden]. Without this the mobile menu shows on every screen and the
   project filter hides nothing. */
[hidden]{display:none !important}

/* Page openers */
.dr-page-h1{margin-top:var(--space-6);font-weight:var(--weight-light);font-size:var(--size-display-1);line-height:var(--leading-display);letter-spacing:var(--tracking-display);max-width:14ch}
.dr-page-h1--md{font-size:var(--size-display-2);max-width:18ch}
.dr-page-lead{font-size:var(--size-body-lg);line-height:var(--leading-body);color:var(--text-secondary);max-width:48ch}
.dr-hero-row{margin-top:var(--space-8)}
.dr-hero-media{margin-top:var(--space-8)}
.dr-hero-cta{justify-self:start}

/* Rhythm helpers */
.dr-mt-4{margin-top:var(--space-4)}
.dr-mt-5{margin-top:var(--space-5)}
.dr-mt-6{margin-top:var(--space-6)}
.dr-mt-7{margin-top:var(--space-7)}
.dr-mt-8{margin-top:var(--space-8)}
.dr-mt-9{margin-top:var(--space-9)}

/* Prose */
.dr-prose{font-size:var(--size-body);line-height:var(--leading-body);color:var(--text-secondary);max-width:var(--measure)}
.dr-prose--lg{font-size:var(--size-body-lg);color:var(--text-primary)}
.dr-h2{font-size:var(--size-title-2);line-height:var(--leading-tight)}
.dr-h3{font-size:var(--size-title-3)}

/* Section head (used where the component's own markup is inlined) */
.dr-sectionhead h2{margin-top:var(--space-5);font:var(--text-title)}
.dr-sectionhead p{font:var(--text-body-role);color:var(--text-secondary);max-width:var(--measure)}

/* Projects index */
.dr-projects-bar{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-6);margin-top:var(--space-8);padding-bottom:var(--space-4);border-bottom:var(--border-hair) solid var(--line-strong);flex-wrap:wrap}
.dr-projects-count{font-size:var(--size-caption);color:var(--text-muted);font-variant-numeric:tabular-nums}
.dr-empty{padding-block:var(--space-9);color:var(--text-muted);font-size:var(--size-body)}

/* Process CTA band */
.dr-cta-row{margin-top:var(--space-8);padding-top:var(--space-7);border-top:var(--border-hair) solid var(--line-strong);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-6);justify-content:space-between}
.dr-cta-row p{font-size:var(--size-title-3);max-width:30ch}

/* Journal */
.dr-journal-list{margin-top:var(--space-9);border-bottom:var(--border-hair) solid var(--line-rule)}
.dr-journal__tag{margin-bottom:var(--space-3)}
.dr-post-body{font-size:var(--size-body);line-height:var(--leading-body);max-width:var(--measure)}
.dr-post-body p{margin-block:0 var(--space-5)}
.dr-post-body h2{font-size:var(--size-title-2);margin-block:var(--space-8) var(--space-4)}
.dr-post-body h3{font-size:var(--size-title-3);margin-block:var(--space-7) var(--space-3)}
.dr-post-body ul,.dr-post-body ol{padding-inline-start:1.2em;margin-block:0 var(--space-5)}
.dr-post-body li{margin-bottom:var(--space-2)}
.dr-post-body img{margin-block:var(--space-6)}
.dr-post-body blockquote{margin:var(--space-7) 0;padding-inline-start:var(--space-5);border-inline-start:var(--border-strong) solid var(--line-strong);font-size:var(--size-title-3);line-height:1.5}

/* Contact */
.dr-form-actions{margin-top:var(--space-7)}
.dr-contact-note{margin-top:var(--space-6);font-size:var(--size-body-sm);line-height:var(--leading-body);color:var(--text-secondary);max-width:36ch}
.dr-sent{border-top:var(--border-strong) solid var(--line-strong);padding-top:var(--space-6)}
.dr-sent p:first-child{font-size:var(--size-title-2);line-height:var(--leading-tight)}
.dr-sent p+p{margin-top:var(--space-4);color:var(--text-secondary);line-height:var(--leading-body)}
.dr-formerr{border-top:var(--border-strong) solid var(--line-strong);padding-top:var(--space-4);margin-bottom:var(--space-6);font-size:var(--size-body-sm)}
.dr-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Office */
.dr-disciplines dd{font-size:var(--size-body-sm)}
.dr-team dd{font-size:var(--size-title-3)}

/* Project page */
.dr-projlead{margin-top:var(--space-6);font-size:var(--size-body-lg);line-height:var(--leading-body);max-width:var(--measure)}

/* Skip link */
.dr-skip{position:absolute;inset-inline-start:-9999px;top:0;z-index:100;background:var(--ink-0);color:var(--paper-0);padding:12px 20px;font-size:var(--size-body-sm)}
.dr-skip:focus{inset-inline-start:0}

/* Admin bar offset for the sticky header */
body.admin-bar .dr-header{top:32px}
@media(max-width:782px){body.admin-bar .dr-header{top:46px}}

/* Pagination (journal, archives) */
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;padding:9px 12px;border:var(--border-hair) solid var(--line-rule);font-size:var(--size-body-sm);color:var(--text-secondary);text-decoration:none;font-variant-numeric:tabular-nums}
.pagination .page-numbers:hover{border-color:var(--line-strong);color:var(--text-primary);text-decoration:none}
.pagination .page-numbers.current{background:var(--ink-0);border-color:var(--ink-0);color:var(--paper-0)}
.pagination .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* WordPress core alignment classes inside post bodies */
.dr-post-body .alignwide,.dr-post-body .alignfull{margin-inline:0}
.dr-post-body figure{margin:var(--space-7) 0}
.dr-post-body figcaption{margin-top:var(--space-3);font:var(--text-caption-role);color:var(--text-muted)}

/* ---------------------------------------------------------------------------
   Accessibility corrections to the design system.
   The system's own file is left untouched; these overrides sit on top of it.
   Each one is a contrast or hit-area fix, not a change of visual direction.
   --------------------------------------------------------------------------- */

/* --text-muted was #807B73: 3.86:1 on paper, under AA for 13px captions.
   #6E6961 is the same warm grey one step darker and reads 5.0:1. */
:root{--concrete-450:#6E6961;--text-muted:var(--concrete-450)}

/* Placeholder label sits on concrete-100, which needs a darker grey again. */
.dr-media__ph{color:var(--text-secondary)}

/* The step numerals are text, not decoration: 3:1 minimum for large type. */
.dr-step__n{color:var(--concrete-400)}

/* Nav links were 35px tall. The hit area reaches 44px without moving the rule. */
.dr-nav__link{padding-block:12px 8px}
.dr-burger{padding:11px 8px}
.dr-filter__btn{padding-block:12px}
.dr-journal{cursor:pointer}
.dr-card,.dr-arrowlink,.dr-btn,.dr-filter__btn{cursor:pointer}

/* ---------------------------------------------------------------------------
   Sections added after the first build, all inside the existing language:
   hairlines, square corners, no fills, no shadows.
   --------------------------------------------------------------------------- */

/* Discipline list: four rows, each one a link to its filtered archive */
.dr-fields-list{display:grid;grid-template-columns:1fr;border-top:var(--border-hair) solid var(--line-strong)}
.dr-fields-list a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) auto;gap:var(--space-6);align-items:baseline;padding-block:var(--space-6);border-bottom:var(--border-hair) solid var(--line-hairline);text-decoration:none;color:inherit}
.dr-fields-list a:hover{text-decoration:none}
.dr-fields-list a:hover .dr-fields-list__t{color:var(--text-link)}
.dr-fields-list a:hover .dr-fields-list__a{transform:translateX(-5px)}
.dr-fields-list__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-fields-list__d{font-size:var(--size-body-sm);color:var(--text-secondary);line-height:var(--leading-body);max-width:var(--measure)}
.dr-fields-list__a{transition:transform var(--duration-base) var(--ease-standard);color:var(--text-muted)}
@media(max-width:820px){
.dr-fields-list a{grid-template-columns:1fr;gap:var(--space-2);padding-block:var(--space-5)}
.dr-fields-list__a{display:none}
}

/* Compact five-step strip, the teaser for תהליך העבודה */
.dr-steps-mini{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--gutter);border-top:var(--border-hair) solid var(--line-strong);padding-top:var(--space-5)}
.dr-steps-mini__n{font:var(--text-label-role);letter-spacing:var(--tracking-label);color:var(--text-muted);font-variant-numeric:tabular-nums}
.dr-steps-mini__t{margin-top:var(--space-3);font-size:var(--size-body);line-height:var(--leading-tight)}
.dr-steps-mini__m{margin-top:var(--space-2);font:var(--text-caption-role);color:var(--text-muted)}
@media(max-width:1000px){.dr-steps-mini{grid-template-columns:repeat(3,1fr);gap:var(--space-6) var(--gutter)}}
@media(max-width:640px){.dr-steps-mini{grid-template-columns:1fr 1fr}}

/* Question and answer block */
.dr-faq{border-top:var(--border-hair) solid var(--line-strong)}
.dr-faq details{border-bottom:var(--border-hair) solid var(--line-hairline)}
.dr-faq summary{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-5);padding-block:var(--space-5);font-size:var(--size-title-3);cursor:pointer;list-style:none;transition:color var(--duration-fast) var(--ease-standard)}
.dr-faq summary::-webkit-details-marker{display:none}
.dr-faq summary:hover{color:var(--text-link)}
.dr-faq summary::after{content:"+";font-weight:var(--weight-light);font-size:22px;line-height:1;color:var(--text-muted);flex:none}
.dr-faq details[open] summary::after{content:"\2212"}
.dr-faq p{padding-bottom:var(--space-6);font-size:var(--size-body);line-height:var(--leading-body);color:var(--text-secondary);max-width:var(--measure)}

/* Closing call to action, on the dark ground */
.dr-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-6)}
.dr-cta h2{font-family:var(--font-display);font-weight:var(--weight-light);font-size:var(--size-title-1);line-height:var(--leading-title);letter-spacing:var(--tracking-title);max-width:20ch}
.dr-cta p{margin-top:var(--space-4);font-size:var(--size-body);line-height:var(--leading-body);color:var(--text-inverse-muted);max-width:44ch}

/* Card status chip, drawn on the image's lower corner */
.dr-card__state{position:absolute;inset-block-end:0;inset-inline-start:0;background:var(--ink-0);color:var(--paper-0);font:var(--text-label-role);letter-spacing:var(--tracking-label);text-transform:uppercase;padding:7px 12px}

/* Related projects row */
.dr-related{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-7) var(--gutter)}
@media(max-width:820px){.dr-related{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.dr-related{grid-template-columns:1fr}}

/* Two-column fact list, used for "what to bring" and "what happens next" */
.dr-notes{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-7) var(--space-8)}
.dr-notes h3{font:var(--text-label-role);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-secondary);padding-bottom:var(--space-3);border-bottom:var(--border-hair) solid var(--line-strong)}
.dr-notes ul{margin:var(--space-4) 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}
.dr-notes li{font-size:var(--size-body-sm);line-height:var(--leading-body);color:var(--text-secondary);padding-inline-start:1.1em;position:relative}
.dr-notes li::before{content:"·";position:absolute;inset-inline-start:0;color:var(--text-muted)}
@media(max-width:820px){.dr-notes{grid-template-columns:1fr;gap:var(--space-7)}}

/* Journal strip on the home page */
.dr-notes-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gutter);border-top:var(--border-hair) solid var(--line-strong)}
.dr-notes-strip a{display:block;padding-top:var(--space-5);text-decoration:none;color:inherit}
.dr-notes-strip a:hover{text-decoration:none}
.dr-notes-strip a:hover .dr-notes-strip__t{color:var(--text-link)}
.dr-notes-strip__d{font:var(--text-caption-role);color:var(--text-muted);font-variant-numeric:tabular-nums}
.dr-notes-strip__t{margin-top:var(--space-3);font-size:var(--size-title-3);line-height:var(--leading-tight);transition:color var(--duration-fast) var(--ease-standard)}
@media(max-width:820px){.dr-notes-strip{grid-template-columns:1fr}.dr-notes-strip a{border-bottom:var(--border-hair) solid var(--line-hairline);padding-bottom:var(--space-5)}}

/* Required marker and inline field error */
.dr-req{color:var(--text-primary)}
.dr-field__err{font:var(--text-caption-role);color:var(--text-primary);font-weight:var(--weight-medium)}

/* Filter row count reads as a live region, so it needs no extra styling */

/* ---------------------------------------------------------------------------
   Marquee band.
   The system version sets it at body-sm with two copies of the string. At that
   size the track is narrower than a desktop viewport, so the loop opened a gap
   and the band read as one stray line of small caps. Here it becomes display
   scale, and the markup carries four copies, which keeps the track wider than
   any viewport and lets the 50% translate land on an identical frame.
   --------------------------------------------------------------------------- */
.dr-marquee{padding-block:clamp(var(--space-5),4vw,var(--space-7));border-block-color:var(--line-rule)}
.dr-marquee__track{display:flex;width:max-content;animation-duration:120s}
.dr-marquee span{
	font-size:clamp(30px,5.4vw,78px);
	font-weight:var(--weight-light);
	line-height:1.08;
	letter-spacing:.03em;
	color:var(--concrete-400);
	white-space:pre;
}
@media(max-width:900px){.dr-marquee__track{animation-duration:70s}}
@media(max-width:560px){.dr-marquee__track{animation-duration:48s}}

/* ---------- breadcrumbs ---------- */
.dr-crumbs{margin-block-end:var(--space-5)}
.dr-crumbs ol{display:flex;flex-wrap:wrap;gap:0 8px;list-style:none;margin:0;padding:0;
  font-size:var(--size-caption);letter-spacing:.06em;color:var(--text-muted)}
.dr-crumbs li+li::before{content:"·";margin-inline-end:8px;color:var(--concrete-400)}
.dr-crumbs a{color:inherit;text-decoration:none;border-block-end:1px solid transparent;padding-block-end:1px}
.dr-crumbs a:hover{border-block-end-color:currentColor}
.dr-crumbs [aria-current]{color:var(--text-primary)}

/* ---------- footer: the about paragraph and the legal row ---------- */
.dr-footer__about{margin-block-start:var(--space-5);color:var(--text-inverse-muted);
  font-size:var(--size-body-sm);max-width:44ch;line-height:var(--leading-body)}
.dr-footer__about--sub{margin-block-start:var(--space-4);opacity:.78}
.dr-footer__legal{display:flex;flex-wrap:wrap;gap:0 var(--space-5);
  padding-block-start:var(--space-6);margin-block-start:var(--space-7);
  border-block-start:1px solid rgba(255,255,255,.12)}
.dr-footer__legal a{color:var(--text-inverse-muted);text-decoration:none;
  font-size:var(--size-body-sm);line-height:2;border-block-end:1px solid transparent}
.dr-footer__legal a:hover{color:var(--text-inverse);border-block-end-color:currentColor}

/* ---------- press ---------- */
.dr-press{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-7) var(--space-6)}
@media(max-width:1000px){.dr-press{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.dr-press{grid-template-columns:1fr}}
.dr-press__card{display:block;text-decoration:none;color:inherit}
.dr-press__card .dr-media{margin-block-end:var(--space-5)}
.dr-press__meta{display:flex;gap:10px;align-items:baseline;
  font-size:var(--size-caption);letter-spacing:.08em;color:var(--text-muted)}
.dr-press__outlet{color:var(--text-primary)}
.dr-press__when::before{content:"·";margin-inline-end:10px;color:var(--concrete-400)}
.dr-press__title{margin-block-start:var(--space-3);font-size:var(--size-title-3);
  font-weight:var(--weight-regular);line-height:var(--leading-title);letter-spacing:var(--tracking-title)}
.dr-press__quote{margin-block-start:var(--space-4);color:var(--text-secondary);
  font-size:var(--size-body-sm);line-height:var(--leading-body);max-width:44ch}
.dr-press__go{display:inline-block;margin-block-start:var(--space-4);
  font-size:var(--size-caption);letter-spacing:.08em;color:var(--text-muted)}
a.dr-press__card:hover .dr-press__title{text-decoration:underline;text-underline-offset:6px;
  text-decoration-thickness:1px;text-decoration-color:var(--concrete-400)}
a.dr-press__card:hover .dr-press__go{color:var(--text-primary)}
a.dr-press__card .dr-media img{transition:transform var(--duration-slow) var(--ease-standard)}
a.dr-press__card:hover .dr-media img{transform:scale(1.02)}
.dr-press__note{color:var(--text-muted);font-size:var(--size-body-sm);max-width:60ch}
.dr-press__note a{color:var(--text-primary)}
.dr-section--top0{padding-block-start:0}
