/*
Theme Name: T—Arch
Theme URI: https://t-arch.pk
Author: Taimoor Ahmed + Architects
Description: Block theme for Taimoor Ahmed + Architects, Islamabad. Heavy, architectural, unhurried. Pairs with the T—Arch Core plugin.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: tarch
*/

/* ---------- tokens ---------- */
:root{
  --paper:var(--wp--preset--color--paper,#F3F0EB);
  --paper-deep:var(--wp--preset--color--paper-deep,#E9E4DC);
  --paper-light:var(--wp--preset--color--paper-light,#F7F5F1);
  --stone:var(--wp--preset--color--stone,#E4DFD7);
  --ink:var(--wp--preset--color--ink,#161514);
  --ink-soft:var(--wp--preset--color--ink-soft,#4A4641);
  --muted:var(--wp--preset--color--muted,#6B665E);
  --rule:var(--wp--preset--color--rule,#DAD5CC);
  --rule-strong:var(--wp--preset--color--rule-strong,#D3CDC3);
  --accent:var(--wp--preset--color--accent,#7E6049);
  --gutter:var(--wp--custom--gutter,clamp(28px,6vw,120px));
  --cg:var(--wp--custom--column-gap,clamp(16px,2.2vw,36px));
  --hdr:var(--wp--custom--header-height,88px);
  --ease-io:var(--wp--custom--ease--in-out,cubic-bezier(.86,0,.07,1));
  --ease-out:var(--wp--custom--ease--out,cubic-bezier(.25,1,.5,1));
  --adm:0px;
  --h-section:clamp(40px,5vw,84px);
}
body.admin-bar{--adm:32px}
@media (max-width:782px){body.admin-bar{--adm:46px}}
@media (max-width:760px){:root{--gutter:20px;--hdr:64px}}

/* ---------- base ---------- */
html{scroll-behavior:smooth}
body{margin:0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
*,*::before,*::after{box-sizing:border-box}
:where(.wp-site-blocks) :where(p,h1,h2,h3,h4,h5,h6,figure,ul,ol){margin:0}
:where(.wp-site-blocks){padding:0}
[id]{scroll-margin-top:calc(var(--hdr) + var(--adm))}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
input,textarea{font:inherit;color:inherit}
:focus-visible{outline:1px solid var(--ink);outline-offset:3px}
::selection{background:var(--ink);color:var(--paper)}
img{max-width:100%;height:auto}
body:not(.editor-styles-wrapper)::after{content:'';position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.06;mix-blend-mode:multiply;background-image:url('data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27160%27 height=%27160%27%3E%3Cfilter id=%27n%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%27.85%27 numOctaves=%273%27 stitchTiles=%27stitch%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url(%23n)%27/%3E%3C/svg%3E')}
body.single-tarch_project{background:var(--paper-light)}
.tarch-label{margin:0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.tarch-main{position:relative;z-index:2}

/* ---------- header ---------- */
.tarch-header{position:fixed;top:var(--adm);left:0;right:0;z-index:30;background:var(--paper);border-bottom:1px solid #E2DDD5;padding:0 var(--gutter);height:var(--hdr);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--cg);align-items:center;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.tarch-header .wp-block-site-title{grid-column:1 / span 2;justify-self:start;margin:0;font-weight:600;letter-spacing:.22em;font-size:13px;white-space:nowrap}
.tarch-header .wp-block-site-title a{color:inherit}
.tarch-header__tag{grid-column:3 / span 4;min-width:0;margin:0;font-weight:300;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink-soft)}
.tarch-header__right{grid-column:7 / span 6;min-width:0;display:flex;justify-content:flex-end;align-items:center;gap:clamp(14px,2.2vw,40px)}
.tarch-header__nav{font-size:12px}
.tarch-header__nav .wp-block-navigation__container{gap:clamp(14px,2.2vw,40px);flex-wrap:nowrap}
.tarch-header__nav .wp-block-navigation-item__content{padding:0;letter-spacing:.14em;text-transform:uppercase;font-size:12px}
.tarch-clock{display:none;margin:0;font-weight:300;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink-soft)}
@media (min-width:1101px){html.tarch-js .tarch-clock{display:block}}
body.single-tarch_project .tarch-header-wrap{display:none}

/* ---------- hero cycler ---------- */
.tarch-hero{height:100vh;min-height:720px;padding:calc(var(--hdr) + var(--adm) + 32px) var(--gutter) 0;display:grid;grid-template-rows:minmax(0,1fr) auto;position:relative}
.tarch-hero__frame{position:relative;overflow:hidden;background:var(--stone)}
.tarch-hero__slide{position:absolute;inset:0;overflow:hidden}
.tarch-hero__inner{position:absolute;inset:0}
.tarch-hero__link{display:block;width:100%;height:100%}
.tarch-hero__img{display:block;width:100%;height:100%;object-fit:cover}
.tarch-hero__empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;font-size:13px;color:var(--muted)}
html:not(.tarch-js) .tarch-hero__slide:not(:first-child),html.tarch-nomotion .tarch-hero__slide:not(.is-active){display:none}
html.tarch-js:not(.tarch-nomotion) .tarch-hero__slide:not(:first-child){clip-path:inset(100% 0 0 0)}
.tarch-hero__info{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--cg);padding:36px 0 44px;align-items:end}
.tarch-hero__titlecol{grid-column:1 / span 7;min-width:0}
.tarch-hero__meta{display:flex;gap:28px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:300;color:var(--muted);margin-bottom:18px}
.tarch-hero__meta>span:first-child{color:var(--accent)}
.tarch-hero__mask{overflow:hidden;padding-bottom:.14em;margin-bottom:-.14em}
.tarch-hero__title{margin:0;font-weight:300;font-size:clamp(44px,6.4vw,120px);line-height:.92;letter-spacing:-.05em;white-space:nowrap}
.tarch-hero__ctl{grid-column:9 / span 4;display:grid;gap:22px}
.tarch-hero__ctlrow{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;letter-spacing:.14em;font-variant-numeric:tabular-nums}
.tarch-hero__dots{display:flex;gap:14px}
.tarch-hero__dot{font-size:12px;letter-spacing:.1em;color:var(--muted);border-bottom:1px solid transparent;transition:color .8s,border-color .8s}
.tarch-hero__dot.is-on{color:var(--ink);border-bottom-color:var(--ink)}
.tarch-hero__since{color:var(--muted)}
.tarch-hero__bar{height:1px;background:var(--rule);position:relative;overflow:hidden}
.tarch-hero__bar>span{position:absolute;inset:0;background:var(--ink);transform-origin:left center;transform:scaleX(0)}

/* ---------- philosophy ---------- */
.tarch-phil{min-height:100vh;padding:28vh var(--gutter) 24vh;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--cg);align-content:center}
.tarch-phil__label{grid-column:1 / span 3;padding-top:1em}
.tarch-manifesto{grid-column:4 / span 9;margin:0;font-size:clamp(28px,3.6vw,60px);line-height:1.18;letter-spacing:-.028em;font-weight:300}
.tarch-words .tarch-w{display:inline-block;margin-right:.24em}
.tarch-principles{grid-column:4 / span 9;margin-top:20vh;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(20px,3vw,56px)}
.tarch-principle{border-top:1px solid var(--ink);padding-top:24px}
.tarch-principle__n{margin:0;font-size:12px;letter-spacing:.14em;color:var(--accent)}
.tarch-principle__t{margin:32px 0 12px;font-size:22px;letter-spacing:-.01em;font-weight:400;line-height:1.2}
.tarch-principle__d{margin:0;font-size:14px;line-height:1.7;font-weight:300;color:var(--muted);text-wrap:pretty}

/* ---------- works index ---------- */
.tarch-works{position:relative;z-index:3;background:var(--paper);border-top:1px solid var(--rule-strong);padding:12vh var(--gutter) 12vh}
.tarch-works__head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--cg);align-items:end}
.tarch-works__label{grid-column:1 / span 3;padding-bottom:.7em}
.tarch-works__h2{grid-column:4 / span 9;margin:0;font-weight:300;font-size:var(--h-section);line-height:1;letter-spacing:-.045em}
.tarch-works__count{font-size:14px;letter-spacing:.1em;font-weight:400;vertical-align:top;margin-left:14px;color:var(--accent);font-variant-numeric:tabular-nums}
.tarch-tools{position:sticky;top:calc(var(--hdr) + var(--adm));z-index:4;background:var(--paper);margin-top:7vh;padding:22px 0;border-bottom:1px solid var(--ink);display:flex;flex-wrap:wrap;gap:20px 40px;justify-content:space-between;align-items:center}
.tarch-chips{display:flex;flex-wrap:wrap;gap:8px}
.tarch-chip{display:flex;gap:8px;align-items:baseline;padding:10px 16px;border:1px solid #CFC9BF;background:transparent;color:var(--ink);font-size:11px;letter-spacing:.14em;text-transform:uppercase;transition:background .6s var(--ease-io),color .6s,border-color .6s}
.tarch-chip:hover{color:var(--ink);border-color:var(--ink)}
.tarch-chip.is-on,.tarch-chip.is-on:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.tarch-chip__c{font-size:10px;letter-spacing:.06em;opacity:.6;font-variant-numeric:tabular-nums}
.tarch-tools__r{display:flex;gap:36px;align-items:center}
.tarch-search{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--ink);padding:6px 0;margin:0}
.tarch-search label{display:flex;gap:12px;align-items:center}
.tarch-search__l{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.tarch-search input{width:180px;background:transparent;border:0;font-size:15px;font-weight:300;color:var(--ink);padding:0;-webkit-appearance:none;appearance:none;border-radius:0}
.tarch-search input::-webkit-search-cancel-button{display:none}
.tarch-seg{display:flex;border:1px solid var(--ink)}
.tarch-seg a{padding:10px 16px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;background:transparent;color:var(--ink);transition:background .6s var(--ease-io),color .6s}
.tarch-seg a.is-on,.tarch-seg a.is-on:hover{background:var(--ink);color:var(--paper)}
.tarch-works__body{transition:opacity .4s}
.tarch-works__body.is-loading{opacity:.45}
.tarch-rowgrid,.tarch-row{display:grid;grid-template-columns:72px minmax(0,5fr) minmax(0,3fr) minmax(0,2fr) 96px;column-gap:var(--cg)}
.tarch-rowgrid{padding:18px 0;border-bottom:1px solid var(--rule)}
.tarch-sorth{display:flex;gap:8px;justify-self:start;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.tarch-sorth:hover{color:var(--ink)}
.tarch-sorth.is-on{color:var(--ink)}
.tarch-sorth--end{justify-self:end}
.tarch-arrow{color:var(--accent)}
.tarch-row{width:100%;text-align:left;align-items:baseline;padding:30px 0;border-bottom:1px solid var(--rule);color:var(--ink);transition:background .6s var(--ease-io)}
.tarch-row:hover{background:#ECE8E1;color:var(--ink)}
.tarch-row__n{font-size:12px;letter-spacing:.12em;color:var(--accent);font-variant-numeric:tabular-nums}
.tarch-row__title{font-size:clamp(22px,2.2vw,36px);font-weight:300;letter-spacing:-.025em;line-height:1.05}
.tarch-row__locm{display:none;font-size:13px;letter-spacing:0;color:var(--muted);margin-top:6px}
.tarch-row__loc{font-size:14px;font-weight:300;color:var(--ink-soft)}
.tarch-row__type{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:300;color:var(--muted)}
.tarch-row__year{justify-self:end;font-size:13px;font-weight:300;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.tarch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:56px var(--cg);padding-top:48px}
.tarch-card{display:flex;flex-direction:column;gap:16px;min-width:0;color:var(--ink)}
.tarch-card:hover{color:var(--ink)}
.tarch-card__img{display:block;position:relative;aspect-ratio:4 / 5;overflow:hidden}
.tarch-card__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tarch-card__meta{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:300;color:var(--muted)}
.tarch-card__n{color:var(--accent)}
.tarch-card__title{display:block;font-size:22px;font-weight:300;letter-spacing:-.02em;line-height:1.1;margin-top:-6px}
.tarch-card__loc{display:block;font-size:13px;font-weight:300;color:var(--muted);margin-top:-8px}
.tarch-empty{padding:12vh 0;font-size:clamp(24px,2.4vw,40px);font-weight:300;letter-spacing:-.02em;color:var(--muted)}
.tarch-empty[hidden]{display:none}
.tarch-works__foot{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:56px}
.tarch-works__shown{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-variant-numeric:tabular-nums}
.tarch-more{display:flex;gap:14px;align-items:center;border-top:1px solid var(--ink);padding-top:16px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--ink)}
.tarch-more[hidden]{display:none}
.tarch-more span{color:var(--accent)}
.tarch-pv{position:fixed;left:0;top:0;z-index:80;pointer-events:none;width:300px;height:220px;overflow:hidden;opacity:0;background:var(--stone)}
.tarch-pv__layer{position:absolute;inset:0;opacity:0}
.tarch-pv__layer img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:899px),(pointer:coarse){.tarch-pv{display:none}}

/* ---------- studio ---------- */
.tarch-studio{position:relative;z-index:3;background:var(--paper);border-top:1px solid var(--rule-strong);min-height:100vh;padding:120px var(--gutter) 15vh;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--cg);align-items:stretch}
.tarch-studio__left{grid-column:1 / span 6;display:flex;flex-direction:column;gap:18px}
.tarch-studio__imgbox{position:relative;overflow:hidden;flex:1;min-height:520px;background:linear-gradient(180deg,#E4DFD7 0%,#D0CAC0 100%)}
.tarch-reveal-inner{position:absolute;inset:-6% 0}
.tarch-reveal-inner .wp-block-image{margin:0;height:100%}
.tarch-reveal-inner .wp-block-image img{display:block;width:100%;height:100%;object-fit:cover}
.tarch-studio__cap{margin:0;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:300}
.tarch-studio__right{grid-column:8 / span 5;display:flex;flex-direction:column;justify-content:space-between;gap:12vh}
.tarch-studio__h2{margin:40px 0 0;font-weight:300;font-size:clamp(36px,4.2vw,76px);line-height:1;letter-spacing:-.045em;text-wrap:balance}
.tarch-accent{color:var(--accent)}
.tarch-studio__p{margin:-6vh 0 0;font-size:15px;line-height:1.75;font-weight:300;color:var(--ink-soft);max-width:520px;text-wrap:pretty}
.tarch-studio__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(20px,3vw,48px)}
.tarch-colhead{margin:0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--ink);padding-top:18px}
.tarch-colhead--soft{border-top-color:var(--rule)}
.tarch-people{display:grid;gap:22px;margin-top:28px}
.tarch-person__n{margin:0;font-size:19px}
.tarch-person__r{margin:6px 0 0;font-size:13px;font-weight:300;color:var(--muted)}
.tarch-studio__col2{display:grid;gap:48px;align-content:start}
.tarch-services{display:grid;gap:12px;margin-top:28px;font-size:19px;font-weight:300}
.tarch-service{display:grid;grid-template-columns:40px 1fr}
.tarch-service__n{margin:0;font-size:12px;letter-spacing:.14em;color:var(--accent);padding-top:5px}
.tarch-service__t{margin:0}
.tarch-consult{display:grid;gap:14px;margin-top:24px;font-size:14px;font-weight:300;line-height:1.45}
.tarch-consult p{margin:0}

/* ---------- inquiry ---------- */
.tarch-inq{position:relative;z-index:3;background:var(--paper-deep);color:var(--ink);min-height:100vh;padding:12vh var(--gutter) 40px;display:flex;flex-direction:column}
.tarch-inq__head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--cg)}
.tarch-inq__label{grid-column:1 / span 3;padding-top:.9em;color:#5F5A53}
.tarch-inq__h2{grid-column:4 / span 9;margin:0;font-weight:300;font-size:var(--h-section);line-height:1;letter-spacing:-.045em}
.tarch-inq__body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--cg);row-gap:48px;margin-top:8vh;align-items:start;flex:1}
.tarch-inq__left{grid-column:1 / span 5}
.tarch-inq__right{grid-column:7 / span 6}
.tarch-mail{margin:0}
.tarch-mail a{display:inline-block;font-size:clamp(24px,2.6vw,44px);font-weight:300;letter-spacing:-.03em;border-bottom:1px solid var(--ink);padding-bottom:6px;color:var(--ink)}
.tarch-inq__p{margin:32px 0 0;font-size:15px;line-height:1.7;font-weight:300;color:#46423D;max-width:380px;text-wrap:pretty}
.tarch-inq__info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:10vh;font-size:14px;font-weight:300;line-height:1.65}
.tarch-inq__info p{margin:0}
.tarch-inq__info a{color:var(--ink)}
.tarch-inq__il{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#5F5A53;margin-bottom:14px!important}
.tarch-footbar{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--cg);margin-top:8vh;padding-top:24px;border-top:1px solid #CFC9BF;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#5F5A53}
.tarch-footbar p{margin:0}
.tarch-footbar a{color:#5F5A53}
.tarch-footbar a:hover{color:var(--accent)}
.tarch-footbar__c{grid-column:1 / span 5}
.tarch-footbar__s{grid-column:6 / span 3}
.tarch-footbar__t{grid-column:10 / span 3;justify-self:end}
.tarch-footer{background:var(--paper-deep);padding:40px var(--gutter)}
.tarch-footer .tarch-footbar{margin-top:0}
body.single-tarch_project .tarch-footer{background:var(--paper-light);border-top:1px solid #DED9D0}

/* ---------- inquiry form ---------- */
.tarch-form{display:grid;gap:56px}
.tarch-form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.tarch-field{display:grid;gap:10px;min-width:0}
.tarch-field__l{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#5F5A53}
.tarch-field input,.tarch-field textarea{width:100%;min-width:0;background:transparent;border:0;border-bottom:1px solid var(--ink);padding:8px 0 12px;font-size:20px;font-weight:300;color:var(--ink);border-radius:0}
.tarch-field textarea{resize:none;line-height:1.45}
.tarch-field input::placeholder,.tarch-field textarea::placeholder{color:#8C867D}
.tarch-commission{display:grid;gap:14px;border:0;padding:0;margin:0;min-width:0}
.tarch-ichips{display:flex;flex-wrap:wrap;gap:8px}
.tarch-ichip{position:relative;cursor:pointer}
.tarch-ichip input{position:absolute;opacity:0;width:1px;height:1px}
.tarch-ichip span{display:block;padding:10px 18px;border:1px solid var(--ink);font-size:13px;letter-spacing:.04em;background:transparent;color:var(--ink);transition:background .6s var(--ease-io),color .6s}
.tarch-ichip input:checked + span{background:var(--ink);color:var(--paper)}
.tarch-ichip input:focus-visible + span{outline:1px solid var(--ink);outline-offset:3px}
.tarch-form__bar{display:flex;justify-content:space-between;align-items:center;gap:24px}
.tarch-form__hint{font-size:13px;font-weight:300;color:#5F5A53}
.tarch-form__hint.is-error{color:#8A3B2B}
.tarch-submit{background:var(--ink);color:var(--paper);padding:20px 36px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:500}
.tarch-submit:hover{color:var(--paper);background:#2A2826}
.tarch-submit[disabled]{opacity:.5;cursor:default}
.tarch-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.tarch-sent{border-top:1px solid var(--ink);padding-top:32px}
.tarch-sent[hidden]{display:none}
.tarch-sent__t{font-size:clamp(28px,3vw,48px);font-weight:300;letter-spacing:-.03em;line-height:1.1}
.tarch-sent__n{font-size:15px;line-height:1.7;font-weight:300;color:#46423D;margin:20px 0 0;max-width:420px}

/* ---------- project detail ---------- */
.tarch-project{background:var(--paper-light)}
.tarch-dbar{position:sticky;top:var(--adm);z-index:5;background:var(--paper-light);border-bottom:1px solid #DED9D0;height:var(--hdr);padding:0 var(--gutter);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--cg);align-items:center;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.tarch-dbar__back{grid-column:1 / span 3;justify-self:start;display:flex;gap:14px;align-items:center}
.tarch-dbar__back span,.tarch-dbar__next span{color:var(--accent)}
.tarch-dbar__title{grid-column:4 / span 5;font-weight:300;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tarch-dbar__idx{grid-column:9 / span 2;font-weight:300;color:var(--muted);font-variant-numeric:tabular-nums}
.tarch-dbar__next{grid-column:11 / span 2;justify-self:end;display:flex;gap:14px;align-items:center}
.tarch-pgrid{padding:0 var(--gutter);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--cg);align-items:start}
.tarch-chapters{grid-column:1 / span 5;grid-row:1;min-width:0}
.tarch-chap{min-height:calc(100vh - var(--hdr));display:flex;flex-direction:column;justify-content:center;padding:10vh 0}
.tarch-chap--end{justify-content:flex-end;padding:12vh 0 10vh}
.tarch-chap__k{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:48px}
.tarch-chap__k span{color:var(--accent);margin-right:16px}
.tarch-chap__meta{display:flex;gap:24px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:300;color:var(--muted)}
.tarch-chap__meta .tarch-meta:first-child{color:var(--accent)}
.tarch-chap__mask{overflow:hidden;padding-bottom:.12em;margin-top:28px}
.tarch-chap__h1{margin:0;font-weight:300;font-size:clamp(48px,5.6vw,104px);line-height:.92;letter-spacing:-.05em;text-wrap:balance}
html.tarch-js:not(.tarch-nomotion) [data-o-line]:not([data-tarch-done]),html.tarch-js:not(.tarch-nomotion) .tarch-hero__title:not([data-tarch-done]){transform:translateY(110%)}
.tarch-chap__loc{display:flex;flex-wrap:wrap;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:300;margin-top:18px}
.tarch-chap__lead{margin:56px 0 0;font-size:clamp(20px,1.8vw,28px);line-height:1.35;letter-spacing:-.015em;font-weight:300;text-wrap:pretty}
.tarch-spec{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
.tarch-spec__i{border-top:1px solid var(--rule);padding:16px 0 28px}
.tarch-spec__k{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:300}
.tarch-spec__v{font-size:17px;font-weight:300;margin-top:10px;line-height:1.35}
.tarch-views{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tarch-views__i{position:relative;aspect-ratio:var(--ratio,4 / 3);background:var(--stone);overflow:hidden}
.tarch-views__i img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tarch-chap__note{margin:0;font-size:17px;line-height:1.8;font-weight:300;color:#3A3733;text-wrap:pretty}
.tarch-draws{display:grid;gap:16px;margin-top:32px}
.tarch-draws__i{background:#ECE8E1;padding:12px}
.tarch-draws__i img{display:block;width:100%;height:auto}
.tarch-chap__team{font-size:clamp(22px,2vw,32px);font-weight:300;letter-spacing:-.02em;line-height:1.35}
.tarch-chap__studio{font-size:13px;font-weight:300;color:var(--muted);margin-top:16px}
.tarch-panel{grid-column:6 / span 7;grid-row:1;position:sticky;top:calc(var(--hdr) + var(--adm) + 24px);height:calc(100vh - var(--hdr) - var(--adm) - 48px);min-height:min(480px,70vh);display:flex;flex-direction:column;gap:14px}
.tarch-panel__stage{position:relative;flex:1;overflow:hidden;background:var(--stone)}
.tarch-panel__item{position:absolute;inset:0;overflow:hidden}
.tarch-panel__inner{position:absolute;inset:0}
.tarch-panel__img{display:block;width:100%;height:100%;object-fit:cover}
.tarch-panel__img.is-contain{object-fit:contain}
html:not(.tarch-js) .tarch-panel__item:not(:first-child){display:none}
html.tarch-js:not(.tarch-nomotion) .tarch-panel__item:not(:first-child){clip-path:inset(100% 0 0 0)}
html.tarch-nomotion .tarch-panel__item:not(.is-on){display:none}
.tarch-panel__cap{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:300;color:var(--muted)}
.tarch-panel__cap span:last-child{font-variant-numeric:tabular-nums}
.tarch-next{display:block;width:100%;text-align:left;border-top:1px solid #DED9D0;min-height:44vh;padding:10vh var(--gutter);background:var(--paper-light);color:var(--ink)}
.tarch-next:hover{color:var(--ink)}
.tarch-next__l{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.tarch-next__t{display:block;font-weight:300;font-size:var(--h-section);line-height:1;letter-spacing:-.045em;margin-top:24px}
.tarch-next__t span{color:var(--accent)}
.tarch-single__content>*:not(.tarch-project):not(.tarch-dbar):not(.tarch-next){padding:4vh var(--gutter);max-width:100%}

/* ---------- generic pages ---------- */
.tarch-page{padding:calc(var(--hdr) + var(--adm) + 12vh) var(--gutter) 14vh;min-height:70vh}
.tarch-page__title{font-weight:300;font-size:var(--h-section);line-height:1;letter-spacing:-.045em;margin:0 0 6vh}
.tarch-page__content,.tarch-page__post{max-width:760px}
.tarch-page__post{font-size:clamp(22px,2.2vw,36px);font-weight:300;letter-spacing:-.025em;margin:5vh 0 12px}
.tarch-404__title{font-weight:300;font-size:var(--h-section)}
.tarch-404__text{font-size:18px;font-weight:300;max-width:520px}
.tarch-404__text a{border-bottom:1px solid var(--ink)}

/* ---------- motion states ---------- */
html.tarch-js:not(.tarch-nomotion) [data-rise]:not([data-tarch-done]),
html.tarch-js:not(.tarch-nomotion) .tarch-rise:not([data-tarch-done]),
html.tarch-js:not(.tarch-nomotion) [data-orise]:not([data-tarch-done]){opacity:0}
html.tarch-js:not(.tarch-nomotion) [data-reveal]:not([data-tarch-done]),
html.tarch-js:not(.tarch-nomotion) .tarch-reveal-v:not([data-tarch-done]),
html.tarch-js:not(.tarch-nomotion) .tarch-reveal-h:not([data-tarch-done]){clip-path:inset(100% 0 0 0)}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  [data-rise],.tarch-rise,[data-orise],[data-reveal],.tarch-reveal-v,.tarch-reveal-h,.tarch-hero__title,[data-o-line],.tarch-chap__h1{opacity:1!important;transform:none!important;clip-path:none!important}
}

/* ---------- cursor ---------- */
@media (pointer:fine){html.tarch-cursor,html.tarch-cursor *{cursor:none!important}}
.tc{position:fixed;left:0;top:0;z-index:90;pointer-events:none;width:0;height:0;opacity:0}
.tc__in{position:absolute;left:0;top:0}
.tc__disc{position:absolute;left:-22px;top:-22px;width:44px;height:44px}
.tc__disc i{position:absolute;background:#161514}
.tc__disc i:nth-child(1){left:0;width:17px;top:21.5px;height:1px}
.tc__disc i:nth-child(2){right:0;width:17px;top:21.5px;height:1px}
.tc__disc i:nth-child(3){top:0;height:17px;left:21.5px;width:1px}
.tc__disc i:nth-child(4){bottom:0;height:17px;left:21.5px;width:1px}
.tc__disc b{position:absolute;left:18px;top:18px;width:8px;height:8px;border:1px solid #161514}
.tc__frame{position:absolute;left:-42px;top:-42px;width:84px;height:84px;opacity:0;transform:scale(.4)}
.tc__frame i{position:absolute;width:14px;height:14px;border:0 solid #161514}
.tc__frame i:nth-child(1){left:0;top:0;border-left-width:1.5px;border-top-width:1.5px}
.tc__frame i:nth-child(2){right:0;top:0;border-right-width:1.5px;border-top-width:1.5px}
.tc__frame i:nth-child(3){left:0;bottom:0;border-left-width:1.5px;border-bottom-width:1.5px}
.tc__frame i:nth-child(4){right:0;bottom:0;border-right-width:1.5px;border-bottom-width:1.5px}
.tc__coord{position:absolute;left:16px;top:14px;font-size:10px;letter-spacing:.06em;font-variant-numeric:tabular-nums;color:#161514;white-space:nowrap;font-weight:400}
.tc__label{position:absolute;left:52px;top:-12px;padding:6px 10px;background:#161514;color:#F3F0EB;font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;white-space:nowrap;opacity:0}

/* ---------- page transition (View Transitions API) ---------- */
@view-transition{navigation:auto}
::view-transition-old(root){animation:tarch-vt-out 1.2s var(--ease-io) both}
::view-transition-new(root){animation:tarch-vt-in 1.2s var(--ease-io) both}
@keyframes tarch-vt-in{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes tarch-vt-out{from{transform:translateY(0);opacity:1}to{transform:translateY(-90px);opacity:.3}}
@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}

/* ---------- editor canvas ---------- */
.editor-styles-wrapper .tarch-header{position:relative;top:0}
.editor-styles-wrapper .tarch-hero{height:auto;min-height:60vh;padding-top:32px}
.editor-styles-wrapper .tarch-clock{display:block}

/* ---------- mobile ---------- */
@media (max-width:760px){
  .tarch-header{padding:0 20px;display:flex;justify-content:space-between}
  .tarch-header__tag{display:none}
  .tarch-header__nav .wp-block-navigation__container{gap:18px}
  .tarch-hero{height:100svh;min-height:600px;padding:calc(var(--hdr) + var(--adm) + 20px) 20px 0}
  .tarch-hero__info{display:flex;flex-direction:column;align-items:stretch;row-gap:20px;padding:24px 0 28px}
  .tarch-hero__title{white-space:normal;font-size:46px}
  .tarch-phil{display:flex;flex-direction:column;align-items:stretch;row-gap:28px;padding-top:16vh;padding-bottom:14vh;min-height:0}
  .tarch-principles{display:flex;flex-direction:column;row-gap:28px;margin-top:8vh}
  .tarch-works{padding-left:20px;padding-right:20px}
  .tarch-works__head{display:flex;flex-direction:column;align-items:stretch;row-gap:28px}
  .tarch-tools{padding:14px 0;gap:14px;margin-top:8vh}
  .tarch-tools__r{width:100%;gap:16px;justify-content:space-between}
  .tarch-search{flex:1;min-width:0}
  .tarch-search input{width:100%;min-width:0}
  .tarch-rowgrid,.tarch-row{grid-template-columns:32px minmax(0,1fr) auto;column-gap:12px}
  .tarch-row{padding:22px 0}
  .tarch-row__loc,.tarch-row__type,.tarch-sorth--hm{display:none}
  .tarch-row__locm{display:block}
  .tarch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 12px}
  .tarch-studio{display:flex;flex-direction:column;align-items:stretch;row-gap:56px;padding-top:96px;min-height:0}
  .tarch-studio__imgbox{min-height:56vh;flex:none}
  .tarch-studio__right{gap:40px}
  .tarch-studio__p{margin:0}
  .tarch-studio__cols{display:flex;flex-direction:column;row-gap:28px}
  .tarch-inq{padding-top:14vh;min-height:0}
  .tarch-inq__head,.tarch-inq__body,.tarch-footbar{display:flex;flex-direction:column;align-items:stretch;row-gap:28px}
  .tarch-inq__body{margin-top:8vh}
  .tarch-footbar__t{justify-self:start}
  .tarch-footer{padding:28px 20px}
  .tarch-form__row{display:flex;flex-direction:column;row-gap:28px}
  .tarch-dbar{height:64px;padding:0 20px;display:flex;justify-content:space-between}
  .tarch-dbar__title,.tarch-dbar__idx{display:none}
  .tarch-pgrid{display:flex;flex-direction:column;padding:0 20px}
  .tarch-panel{order:-1;top:calc(var(--hdr) + var(--adm));height:46vh;min-height:0;z-index:3;background:var(--paper-light);padding-top:12px}
  .tarch-chap{min-height:0;padding:8vh 0}
  .tarch-next{padding:14vh 20px}
  .tarch-page{padding-left:20px;padding-right:20px}
}
/* ---------- utilities ---------- */
.tarch-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tarch-rowgrid[hidden],.tarch-works [hidden],.tarch-inquiry [hidden]{display:none!important}

/* ---------- editor comfort ---------- */
.editor-styles-wrapper .tarch-phil{min-height:0;padding-top:10vh;padding-bottom:10vh}
.editor-styles-wrapper .tarch-works{padding-top:8vh;padding-bottom:8vh}
.editor-styles-wrapper .tarch-tools{position:static}
.editor-styles-wrapper .tarch-studio{min-height:0;padding-top:48px;padding-bottom:8vh}
.editor-styles-wrapper .tarch-inq{min-height:0;padding-top:10vh}
.editor-styles-wrapper .tarch-principles,.editor-styles-wrapper .tarch-studio__cols{row-gap:24px}

/* ---------- works header variants ---------- */
.tarch-works__solo{grid-column:4 / span 9;margin:0}
.tarch-works__head--nolabel .tarch-works__h2,.tarch-works__head--nolabel .tarch-works__solo{grid-column:1 / -1}
.tarch-works--nohead{padding-top:8vh}
.tarch-works--nohead .tarch-tools{margin-top:0}
@media (max-width:760px){.tarch-works__solo{grid-column:auto}}

/* ---------- works heading group ---------- */
.tarch-whead{position:relative;z-index:3;background:var(--paper);border-top:1px solid var(--rule-strong);padding:12vh var(--gutter) 0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--cg);align-items:end}
.tarch-whead__label{grid-column:1 / span 3;padding-bottom:.7em}
.tarch-whead>:not(.tarch-whead__label){grid-column:4 / span 9}
.tarch-whead__h2{margin:0;font-weight:300;font-size:var(--h-section);line-height:1;letter-spacing:-.045em}
.tarch-whead>p:not(.tarch-label){margin:24px 0 0;max-width:620px;font-size:15px;line-height:1.7;font-weight:300;color:var(--ink-soft)}
.tarch-whead + .tarch-works{border-top:0;padding-top:0}
.tarch-whead + .tarch-works .tarch-tools{margin-top:7vh}
body.post-type-archive-tarch_project .tarch-whead,body.tax-tarch_project_category .tarch-whead{border-top:0;padding-top:calc(var(--hdr) + var(--adm) + 8vh)}
.editor-styles-wrapper .tarch-whead{padding-top:6vh}
@media (max-width:760px){.tarch-whead{display:flex;flex-direction:column;align-items:stretch;row-gap:20px;padding:12vh 20px 0}.tarch-whead>:not(.tarch-whead__label){grid-column:auto}}

/* ---------- project page blocks ---------- */
html.tarch-js:not(.tarch-nomotion) .tarch-chap__h1:not([data-tarch-done]){transform:translateY(110%)}
.tarch-chap__h1{margin:0;font-weight:300;font-size:clamp(48px,5.6vw,104px);line-height:.92;letter-spacing:-.05em;text-wrap:balance}
.tarch-chap__lead .tarch-meta{display:block}
.tarch-chap__loc .tarch-meta + .tarch-meta::before{content:'—';margin:0 .7em}
.tarch-chap__team .tarch-meta,.tarch-chap__lead .tarch-meta{font-size:inherit}
.tarch-views--c1{grid-template-columns:minmax(0,1fr)}
.tarch-views--c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.tarch-views--c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.tarch-views--auto .tarch-views__i{aspect-ratio:auto}
.tarch-views--auto .tarch-views__i img{position:static;height:auto}
.tarch-views--contain .tarch-views__i{background:#ECE8E1;padding:12px}
.tarch-views--contain .tarch-views__i img{object-fit:contain}
.tarch-views--contain:not(.tarch-views--auto) .tarch-views__i img{position:static;height:100%}
.tarch-chap .tarch-views{margin-top:32px}
.tarch-chap__note + .tarch-views{margin-top:32px}
.tarch-edit-chapter{border:1px dashed #c9c4bb;padding:20px 24px;margin:16px 0;background:rgba(255,255,255,.35)}
.tarch-edit-chapter__head{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#6B665E;margin-bottom:16px;display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #DAD5CC;padding-bottom:8px}
.tarch-edit-chapter__head span{opacity:.75;text-transform:none;letter-spacing:0}
.tarch-edit-empty{font-size:12px;color:#8A8378;border:1px dashed #cfc9bf;padding:10px 12px}
.editor-styles-wrapper .tarch-chap__h1{font-size:clamp(36px,5vw,64px)}
/* tablet: keep two columns, a little narrower type */
@media (min-width:761px) and (max-width:1100px){
  .tarch-chapters{grid-column:1 / span 6}
  .tarch-panel{grid-column:7 / span 6}
  .tarch-chap__h1{font-size:clamp(40px,6vw,64px)}
  .tarch-views--c3,.tarch-views--c4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tarch-next__t{font-size:clamp(36px,6vw,64px)}
}
/* phones: stacked, plate pinned under the bar */
@media (max-width:760px){
  .tarch-chap__h1{font-size:clamp(38px,11vw,56px)}
  .tarch-views--c3,.tarch-views--c4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tarch-spec{grid-template-columns:minmax(0,1fr)}
  .tarch-chap--end{padding:6vh 0 8vh}
  .tarch-chap__meta{flex-wrap:wrap;gap:8px 20px}
  .tarch-dbar__back,.tarch-dbar__next{font-size:12px}
}
/* short landscape screens: let the plate use what height there is */
@media (min-width:761px) and (max-height:560px){
  .tarch-panel{min-height:0;height:calc(100vh - var(--hdr) - var(--adm) - 32px);top:calc(var(--hdr) + var(--adm) + 16px)}
  .tarch-chap{min-height:calc(100vh - var(--hdr))}
}
/* ---------- project template additions ---------- */
.tarch-spec__extras{display:contents}
.tarch-meta--body{display:block;font-size:17px;line-height:1.8;font-weight:300;color:#3A3733;max-width:62ch}
.tarch-meta--body p{margin:0 0 1em}
.tarch-meta--body p:last-child{margin-bottom:0}
@media (max-width:600px){body.admin-bar{--adm:0px}}
@media (max-width:760px){
  .tarch-pgrid{align-items:stretch}
  .tarch-chapters{grid-column:auto;width:100%;min-width:0}
  .tarch-panel{grid-column:auto;width:100%;height:38vh;min-height:200px;padding:12px 0 10px;border-bottom:1px solid #DED9D0;background:var(--paper-light);z-index:3}
  .tarch-panel__stage{min-height:0}
  .tarch-chap{padding:6vh 0}
  .tarch-chap--end{padding:5vh 0 8vh}
}